{"report_id":"f1caa7a8-7d4f-4fec-93ef-814db979dcac","version":0,"status":"done","tags":[],"date":"2026-07-27T03:34:29Z","url":{"schema":"https","addr":"agilitetrade.com/","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":0,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"final":{"url":{"schema":"https","addr":"agilitetrade.com/","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"title":"Agilite Trade Limited | Homepage","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":"","last_seen":"","times_seen":0,"resource_available":false,"data":null}},"submit":{"url":{"schema":"https","addr":"agilitetrade.com/","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":0,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"tags":null,"meta":null},"settings":{"access":"public","device_type":"desktop","expires_at":"2027-08-31T03:34:29Z","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":1}},"detection":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null},"summary":[{"fqdn":"jnn-pa.googleapis.com","ip":{"addr":"172.217.117.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":2,"received_data":1197,"sent_data":1220,"comment":"","tags":null,"fingerprints":null},{"fqdn":"fonts.googleapis.com","ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":313,"first_seen":"2012-05-23T12:41:44Z","last_seen":"2026-07-26T22:23:14.439231Z","alert_count":0,"request_count":1,"received_data":6232,"sent_data":505,"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":"agilitetrade.com","ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"domain_registered":"2026-04-22","domain_rank":0,"first_seen":"2026-07-27T03:07:06.063956Z","last_seen":"2026-07-27T03:07:06.063956Z","alert_count":70,"request_count":70,"received_data":3842808,"sent_data":37455,"comment":"","tags":null,"fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"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":"JivoChat","description":"JivoChat is a live chat solution for websites offering customizable web and mobile chat widgets.","website":"https://www.jivosite.com","common_platform_enumeration":"","icon":"JivoChat.png","categories":["Live chat"]},{"name":"Bootstrap","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":"FancyBox","description":"FancyBox is a tool for displaying images, html content and multi-media in a Mac-style 'lightbox' that floats overtop of web page.","website":"https://fancyapps.com/fancybox","common_platform_enumeration":"","icon":"FancyBox.svg","categories":["JavaScript libraries"]},{"name":"WOW","description":"Reveal CSS animation as you scroll down a page.","website":"https://www.delac.io/WOW","common_platform_enumeration":"","icon":"","categories":["JavaScript frameworks","Web frameworks","JavaScript graphics"]},{"name":"jQuery UI","description":"jQuery UI is a collection of GUI widgets, animated visual effects, and themes implemented with jQuery, Cascading Style Sheets, and HTML.","website":"https://jqueryui.com","common_platform_enumeration":"cpe:2.3:a:jquery:jquery_ui:*:*:*:*:*:*:*:*","icon":"jQuery UI.svg","categories":["JavaScript libraries"]},{"name":"parallax.js","description":"Simple parallax scrolling effect.","website":"https://github.com/pixelcog/parallax.js","common_platform_enumeration":"","icon":"","categories":["JavaScript libraries"]},{"name":"jQuery","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"]}]},{"fqdn":"www.youtube.com","ip":{"addr":"142.251.150.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":8,"received_data":3658898,"sent_data":9882,"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":"www.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":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":3591,"comment":"","tags":null,"fingerprints":null},{"fqdn":"www.google.com","ip":{"addr":"142.251.155.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":2,"received_data":64047,"sent_data":1045,"comment":"","tags":null,"fingerprints":null},{"fqdn":"widgets.cryptocompare.com","ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"domain_registered":"2013-11-03","domain_rank":1460618,"first_seen":"2017-01-31T09:13:32Z","last_seen":"2026-07-23T13:35:03.953134Z","alert_count":0,"request_count":1,"received_data":0,"sent_data":547,"comment":"","tags":null,"fingerprints":null},{"fqdn":"translate-pa.googleapis.com","ip":{"addr":"172.217.113.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":32349,"sent_data":572,"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":10,"received_data":428499,"sent_data":5704,"comment":"","tags":null,"fingerprints":null},{"fqdn":"translate.googleapis.com","ip":{"addr":"142.250.178.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"domain_registered":"2005-01-25","domain_rank":6317,"first_seen":"2012-05-31T07:21:21Z","last_seen":"2026-07-20T14:48:05.930258Z","alert_count":0,"request_count":5,"received_data":200668,"sent_data":2941,"comment":"","tags":null,"fingerprints":null},{"fqdn":"static.cryptohopper.com","ip":{"addr":"172.66.153.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2017-07-09","domain_rank":0,"first_seen":"2021-05-14T04:16:20Z","last_seen":"2026-07-25T06:07:51.262846Z","alert_count":0,"request_count":3,"received_data":149667,"sent_data":1968,"comment":"","tags":null,"fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}]},{"fqdn":"www.cryptohopper.com","ip":{"addr":"172.66.153.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2017-07-09","domain_rank":1263380,"first_seen":"2017-12-20T12:36:53Z","last_seen":"2026-07-25T06:07:51.550254Z","alert_count":0,"request_count":5,"received_data":142899,"sent_data":3124,"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":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"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":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}]},{"fqdn":"translate.google.com","ip":{"addr":"142.250.178.110","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":77723,"sent_data":1090,"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":1,"received_data":53310,"sent_data":553,"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":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"115b3cd49c739440787a505ab2ee1fa0","sha1":"3f1da71d9f392fd05f503b9c37140524df25c91b","sha256":"b36d3c52f42742303976f7fa86f396d248d2fe7b0f3b3e18c092577e621a0e0c","sha512":"78e25ce66f42fd5b77614cbad4c7ffc671997f0f317882289e9da969621935ea0110b6910e2b693a99736a7403f1e43f54c02d76485d8fd7fe72bda1265d4a6c","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000c00000000300000000000000","size":2,"data":"","first_seen":"2023-03-10T22:24:54Z","last_seen":"2026-07-27T05:15:37.061891Z","times_seen":1804,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a78c5c832247d38a96a1d593f639a2f8","sha1":"5f0015f64b3fa0c1cf637e590267ba3b24120422","sha256":"70af5859b85dd4f8bae68a68aca5782a1795821b1cdd307c803d62f76ed1859f","sha512":"effa7fe575fe0f5f3c2a7d8a377f6bc00f909e1e47ec5a6e93f6f16ffd0bf227e506ee3da11dae805d30c1e01b690cacbfb4e891f973bb5cc1daf9cd7a08daab","ssdeep":"","tlshash":"ab7000083e08a0080a2238a000ab00280022000032808a00808002a00c3200e802280a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.087327Z","last_seen":"2026-07-27T05:15:37.06307Z","times_seen":432,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7bfa335530acd41b8967a37e1c3e076c","sha1":"bdd8d14050dd0955829601ee023b1d449a9dd9b6","sha256":"ef226bb136cc66226cb2c478dc58478eb1fde25b90960098b4b48eaa64465b23","sha512":"feeca3580d39cf46c2d2f6719da557fdafd0278ce21b7e2710aefe013293c853c0ddafc3045baa1fc2ccc483191b5d89d47cedb49a52e3c55012e4718affa3ed","ssdeep":"","tlshash":"97c02bc49d5110548141e0bda13e215a30cab1031c200e10d730c2eb7c357d4100f74f","size":138,"data":"","first_seen":"2026-07-25T07:02:54.178036Z","last_seen":"2026-07-27T05:15:37.092511Z","times_seen":429,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"d94eb39b7c5996a928c1d97e2d336207","sha1":"63d8851850a208fd85df769e5ccadcc4474859fe","sha256":"ea73e902e70b18a2f35dd009e26fcf9c68771ff4060e21c60533c90291328a25","sha512":"36bcc6c512fff73197bfea984000d3f197ae09de13dbc39397c2812b3f5b9e8da2d6ebead97520615c83ac480fa2c07701fba86a4a659c3114b29b9c889dbb34","ssdeep":"","tlshash":"c7100000000000000000000000000000c0000c00000000000000000300000000000000","size":2,"data":"","first_seen":"2023-03-26T06:16:09Z","last_seen":"2026-07-27T05:15:37.009629Z","times_seen":1105,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.259964Z","times_seen":295349,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.260591Z","times_seen":259182,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.261217Z","times_seen":17154,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"d97c233326f830ef98993715b4667af5","sha1":"6fb87b334e6b5b8c0f35de94536c53e175ea4111","sha256":"310216d315293556ee4f1b925fac5a5643287290230b39ac8f1e5dc0a5daae5e","sha512":"cf960f22667b539d228053ac9ab85dc238432cb8cc09854c09c6346290d004f1cf2c1daca9a5bd0d7bc674d1e37b1758ca8923064e990f1c99b28f4a8d74f037","ssdeep":"768:I1YhGD4UPXHwUPDi7kmaR2lJjuuuYMdmq97SyY/v1M6LnB8MlhdDRwa2gq8ee/Dc:WvQSo/MFzYVM6bB9lhnq7","tlshash":"4d7362240868a8729893a547deb9ff3e9cf806390bc9966dbdb7d35c01ec6610d9f413","size":78987,"data":"","first_seen":"2026-07-27T03:34:40.977705Z","last_seen":"2026-07-27T03:34:40.977705Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.26659Z","times_seen":110753,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.269196Z","times_seen":17135,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.270549Z","times_seen":257240,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-27T05:15:37.016527Z","times_seen":1434,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-27T05:15:37.017103Z","times_seen":1449,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-27T05:16:58.475963Z","times_seen":364,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.279629Z","times_seen":253906,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"fb40dfb49ac6a021108de6fd4b6de686","sha1":"9ac460c7529854a00a769512fb88011a80a5dbac","sha256":"1f8b8dba83e18ffee49bed6c4881a65e9d03d9213f0027bee3acb969ad7b429a","sha512":"70eba1387f9cfee8d17b978732c6248e711503d9758545ba048e79981bae401019ba4093367ee7983a4b1618f9afce7eb5c99fd5a2d7d5b4c6155766c96f3185","ssdeep":"768:m6ScKo239AOQLAyfFYdObsCOawJAEZf+TdGDhw9wZWPuX0O0PEa:n2tAOQLAKFYgbpBWAEZf+ADhw9SAuX0Z","tlshash":"e9f2e094c3acc4e320803f546b2cbe6d45395a35a06aced87bd754852cee667d03dace","size":36610,"data":"","first_seen":"2026-07-27T03:34:40.986698Z","last_seen":"2026-07-27T03:34:40.986698Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"f7b67e5ddedca0af86e4682a3493e960","sha1":"c13e1d45d39eb86cf4b19342ff22967904c4b18c","sha256":"f2e4ebe403b4e6c7f7ba119bd8cfb4a77ad3e18d287bba3ebe8a7b8f0f2f2bdf","sha512":"0075638da9e48682da78d499b3f1db8408a098c3f26ac10639ff7331cc091fed2314cbd833d9119988405b2f5fa70481d5cf5030ec329743e7ea1cf5395aa39a","ssdeep":"","tlshash":"43a0222bc028c00b0038003000833002e02883b08800a02c030b020830e800bffc888a","size":62,"data":"","first_seen":"2023-12-21T08:21:38Z","last_seen":"2026-07-27T06:00:16.695145Z","times_seen":5773,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/js/main-slider-script.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"introduction_type":"scriptElement","is_inline":false,"md5":"3ef00d9c2cccb40752190c8889825976","sha1":"493ed6985224e2b1e0b8efa9c562c6d19299554e","sha256":"3080f520baf47b18d6ed3664101032fbac74f059fcbf40a2d904174186570030","sha512":"cfab2544b981c98f97caf51a1e446f4243f895df6c8135b3a853b85d72be026277a167e7b93d7e5aa4d6c48ca9f789a3ffb996bcf88a2d20aee26e1afd95f1d5","ssdeep":"","tlshash":"455121274951846a4a33432bcb185600f5a3471f3607a897ffbc9375af33519528abee","size":3111,"data":"","first_seen":"2024-12-04T10:10:15.800604Z","last_seen":"2026-07-27T05:05:33.532941Z","times_seen":12,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.cryptohopper.com/widgets/js/script?_=1785123232107","fqdn":"www.cryptohopper.com","domain":"cryptohopper.com","tld":"com"},"ip":{"addr":"172.66.153.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"8499c3b86de4df25542c2f9f78d8a79c","sha1":"3942a2674cb09241e3598eb3d6403e3d2c2b09ff","sha256":"d67aaeb25ce9e34bdc18b2d3ba099086b1c3e5f3cda04edebcb14f826e5a78e4","sha512":"2a7103879757369f94970215e8e1d51255a567118cdefa1147396499dfe093175ddd63b579e790d1df3d4c2dd4ff4043ebeccd917124c6635654adf928d6daba","ssdeep":"768:DPFqnpKxIFoN7jGS9yp8TaA/ME0pwKfID8gXATtIpEmR7/7Scrni6NFDjdmyXRs0:RqnpKxIFoN7jGoaAUEyTOPncyXRsYxuK","tlshash":"54c20919f640b4bb027762aab43f5316326779e676020450a06dd9f17efcd882337f6a","size":26729,"data":"","first_seen":"2023-03-08T06:37:48Z","last_seen":"2026-07-27T05:16:33.138468Z","times_seen":585,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"053fbccf1e17390f7a9adc3521ed7696","sha1":"e3d25d9c529549b5e8c066fe1e3390a03cff30a3","sha256":"5bebf4b6615a6aa6aea024a979423e3c35ed65dca89cec752afe3c5fa0262789","sha512":"8df25f0190b67780e3fe3549184050dd91e162ba06815e92e63f89fe1f07f1259f9ee294a4efde8b498c4c99dd2300947201d7859c913c85021d7b84107588cf","ssdeep":"","tlshash":"8890028430426c102202d0612a9a69b6d175448020199164f05510443921059505bd0c","size":49,"data":"","first_seen":"2026-07-25T07:02:54.198206Z","last_seen":"2026-07-27T05:15:37.07755Z","times_seen":435,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"37051dbe85a36239dda2c2d0af9b328a","sha1":"7d1741c1823eedcb9f90cf15bcec255ce4270c98","sha256":"ad7fece7cc20e7af63da127ccd71979b14b7d02c60526deb52e1e985c4f92c76","sha512":"d6443268e97958dbba496787bfab4ae71709996624ece68f1f89b66a6ee7273997f95e2cbc5c78df367005531d51eb9cc1a9296bced3259271c76314f4e3b962","ssdeep":"","tlshash":"bfa0223c3c383002320a2c20088b82cae0202330f0880802c020cc8220fb20c830ae3b","size":71,"data":"","first_seen":"2026-07-25T07:02:54.078023Z","last_seen":"2026-07-27T05:15:37.025592Z","times_seen":436,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"d3789a3f91258fcf605452196e19c21c","sha1":"f468a49ed14aa61cc199cac1759cb76160b266ff","sha256":"fa37be71bea1abe989546295b5d10f6a34598aa7ce90cfed1f870131e8e30c9e","sha512":"b93e82af199ae63f26b48b71e93f5f5c7be0c5efe33aad59dcd1109142d79d988b24ba63c4c0a5731a1d2a852fe817da47371412bc5cc8579078e4c5eebb0669","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000c000000000c0000000000000","size":2,"data":"","first_seen":"2023-03-07T21:37:56Z","last_seen":"2026-07-27T05:15:37.07594Z","times_seen":837,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/plugins/revolution/js/extensions/revolution.extension.navigation.min.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"introduction_type":"scriptElement","is_inline":false,"md5":"020c9da0283aebff8fb8ea67e3331868","sha1":"d192e2e9538833c8f18f279e04cb1801450dd215","sha256":"6eec26458665f2ff755d8d9d752baf709166660fb8e5389c9fbe939df23ea2f1","sha512":"5448480d1be53db60d47d5fc75bfd56129e9083cacd3a3e0b912ed20f00c7bb2469be0066f8d9a2baff266729f12bf558260ff1431d31e79eca7fb71fa787b8e","ssdeep":"384:chOObjBeYJfz3zX3SWcN12H2DFQ9j6IDumFu7jaWIyUBj3RX2E:cIObR3zXpcN12H2DqZ9iA9QE","tlshash":"52c2a8a976903cab5473667bc16a40b532728a357307ae6078efa6f0057ccd913e7e4c","size":26101,"data":"","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-07-27T05:37:05.203046Z","times_seen":1620,"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.74","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-27T05:17:12.549661Z","times_seen":1374,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"79563e90630af3525dff01b6638b0886","sha1":"68d2ad23b5e1102797ff78d3d0d55d97ba75c268","sha256":"9e507a6dfbf98393bbf23d487af7f1c5b2e8ea0635e3f0cddeac3a9a090a3dbe","sha512":"c11c66b5e92dce18ce4e6c7c9d956d09afd5a734c046f8fe645653931de1db0ef639567724e65e48f05bd922a78fa1547c86996fd5de1a62573c4cc2f46d2300","ssdeep":"","tlshash":"c710000000000000000000000000000000003000300000000000000003000000000000","size":2,"data":"","first_seen":"2023-03-11T15:36:04Z","last_seen":"2026-07-27T05:15:37.077069Z","times_seen":898,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f69a3704d7f533aa4245e6bf79aaf7f0","sha1":"11e5a704728320de77d28101f21079c644136b4c","sha256":"adb064ad7f04d21017f0801899a3867082ed16d71583c6cc7756f30beb9363ff","sha512":"d12fd361ad1905660b2bc871f8d172acac2972e2cb3c4930db744248f12624d3f6410618ed13d6b45e6881d90f82078db0e2178f55b8ae4b151994ecb9ebbcfb","ssdeep":"","tlshash":"27d09730e9010300b22c1ca230a1dfe700a0c4073e00e8268a698dec08f8202c056aec","size":243,"data":"","first_seen":"2026-07-25T07:02:54.142504Z","last_seen":"2026-07-27T05:15:37.025092Z","times_seen":448,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"63a7a928200fbecbaab566892f269b4c","sha1":"c71a636656586ecbfe05e9a5cfd5dd020f6fef61","sha256":"364b13b094815ae8cd606830efaae5f3f5be1e799ec75ec3bb301e1e1444aac4","sha512":"4b94f4c7820ccfc5b0ad57c2b4e2b7aec3aa7ed0e2e7b35d2e1f19b60b070eb4deec3cb87b3169bf47077f0f1c7d5d880950e8cb0f07e3428d524a0489a01ca4","ssdeep":"","tlshash":"8fc08cca89c8da99a01060ce34d3e009a368a9283a83f908d11ed1c46a40ad8e4ad47f","size":158,"data":"","first_seen":"2026-07-25T07:02:54.118953Z","last_seen":"2026-07-27T05:15:37.023582Z","times_seen":433,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9485c8ae181348af0537aeb02376d77f","sha1":"67b0b7f7f914e89f6e0c6651049d5e58063eaf96","sha256":"77724e449ce352c6bb493ce82b91d7ed6b93156928d311f67cc1c57481e6c2f9","sha512":"037ffde473310d2491e664f6fba33b747a956c19bf99420da07bbde6ffbe4ca768da17177bb1643630ff6ae1448ffe79ce1613d08dbea8d610d7d51161950d1b","ssdeep":"","tlshash":"c2d02b8eec5b8595f966e9ca40766d29e0589802ec789cc11527c55261d4a195832cb3","size":266,"data":"","first_seen":"2026-07-25T07:02:54.116193Z","last_seen":"2026-07-27T05:15:37.004893Z","times_seen":432,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"aac1259dfa2c6c5ead508f34e52bb990","sha1":"8ccb8a3f7ac5bd9c4f1ab74cb453f7f32903fb1b","sha256":"27a26bca625b223971909dd88fc93faeb050dc5b34d91c0871661740dcfb9d18","sha512":"2a404c9768dc86190bcc7c98645afa7b6f74488371b974d14da48d7379b2cfae6c8c5bc878ed17d0f9f4c4e62138bfe416cf9a1be31eab07e062c0f5f55ef811","ssdeep":"","tlshash":"c71000000000000c0000000000000000300000000000000000000000000c0000000000","size":2,"data":"","first_seen":"2023-03-10T08:44:37Z","last_seen":"2026-07-27T05:15:37.084285Z","times_seen":1065,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c3787754c9ab0b54c83fc20e994fd71e","sha1":"79836961d0829dd4343389004c5f3bd806adeb6b","sha256":"725f4326baec82abc6db3f2144c45f09d47264f86f9fbc21a9825a9e73a7368a","sha512":"8d62d1275f3fe42a18d23ee3f8dfc60eca479b3eef7c05ad6181f2aa36b8c5ba1e937408474d57a33a742058c55f7c3f805a0b48f1f3162596be217a76e9d538","ssdeep":"","tlshash":"a8b01224242de61233322ef180131d2c603a4406425f590ec04de5c0033c0cb40475ef","size":97,"data":"","first_seen":"2026-07-25T07:02:54.156202Z","last_seen":"2026-07-27T05:15:37.021339Z","times_seen":430,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"df4ecf2995d9a4760b6fe2b232d66a91","sha1":"21dfc49632cd521980c8fd611315a62037b83142","sha256":"1d0ddd4ea3351d60237f5374532c094863db8fee5d00fdbb477612c30630d16e","sha512":"3f1e696cd9e7f7b05b35195d7967fa6fe8332b9e921ed3077b855283e083ddb38d878f6509353e11b40c8e9f2e2799dd820e790ec46ebe93a9da31576028c336","ssdeep":"","tlshash":"9ee07d68664571642f929e46868eba88d68a404dc071c9022629d0c00c745e4903de81","size":305,"data":"","first_seen":"2026-07-25T07:02:54.190462Z","last_seen":"2026-07-27T05:15:37.050016Z","times_seen":430,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"644dc335ba482697b43192f5bde84d9c","sha1":"fca03ed806772ffcb1cbe9621bdf964719ef1569","sha256":"76e4392222a281443de945105b1deb3a14a6b53bb350ad127d42f13f5a81ee21","sha512":"8be06ff06adc228081ce796af04e081862bdd46ee0a4388d6f8a928c423eec8e167eb52e2a40ed444812fcc4fef2774349c253e0aea07ffbc1df69ec478869a3","ssdeep":"","tlshash":"6e7000083c082000a22238e0080b200a002300080000ae0000c008800c3220aa02a82b","size":22,"data":"","first_seen":"2026-07-25T07:02:54.150082Z","last_seen":"2026-07-27T05:15:37.007017Z","times_seen":431,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"cadb00a60a3fda71b0a59c1eaa577422","sha1":"81bbc75ee8276e534256b7a30dff2b86c5e0c893","sha256":"834021cef72202c07f1e4b770a7cbf84adf11afa2f1527353f4b35cfe558e977","sha512":"437459289997803a93a4e734fc87ee0896b6fc58ad8971d9898488ca77f0305953f17bebe1ee4f0dd90c0987266edfd1241bff7d32c08f3bb103129b1b1bcfbf","ssdeep":"","tlshash":"08a0228c2880afcc00be3a28222fb00030a03032028c083c03328000af3008c30c03fe","size":65,"data":"","first_seen":"2026-07-25T07:02:54.119796Z","last_seen":"2026-07-27T05:15:37.039091Z","times_seen":430,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.525914Z","times_seen":167048,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.5769Z","times_seen":184186,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.cryptohopper.com/widgets/js/script","fqdn":"www.cryptohopper.com","domain":"cryptohopper.com","tld":"com"},"ip":{"addr":"172.66.153.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"8499c3b86de4df25542c2f9f78d8a79c","sha1":"3942a2674cb09241e3598eb3d6403e3d2c2b09ff","sha256":"d67aaeb25ce9e34bdc18b2d3ba099086b1c3e5f3cda04edebcb14f826e5a78e4","sha512":"2a7103879757369f94970215e8e1d51255a567118cdefa1147396499dfe093175ddd63b579e790d1df3d4c2dd4ff4043ebeccd917124c6635654adf928d6daba","ssdeep":"768:DPFqnpKxIFoN7jGS9yp8TaA/ME0pwKfID8gXATtIpEmR7/7Scrni6NFDjdmyXRs0:RqnpKxIFoN7jGoaAUEyTOPncyXRsYxuK","tlshash":"54c20919f640b4bb027762aab43f5316326779e676020450a06dd9f17efcd882337f6a","size":26729,"data":"","first_seen":"2023-03-08T06:37:48Z","last_seen":"2026-07-27T05:16:33.138468Z","times_seen":585,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/plugins/revolution/js/extensions/revolution.extension.layeranimation.min.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"introduction_type":"scriptElement","is_inline":false,"md5":"c8447797a143c1450fc568df80d84644","sha1":"5a53d554a8bb9ed2806ca5c334908b23c9ad4bb0","sha256":"6867ff7eec8e29d555e5bfcadc9e19f04d1e3a34de99255647f9ca573536b7ef","sha512":"ce076a2702f1c93dff9a90dfc01bca938763e0b3fd331988a865553f5a90f865d8441a05e54110eaac359b8278ed11abad48a3b43a96c3717f911fd746825764","ssdeep":"384:/xzdbsv52ydfPEnYpF5BzJCP0bRjB6Y3tsq4dtS1YD2JQu/BDY8+wEGNc8zOluDk:jwpFDO+tsq4dtLsQEBDYHPGNm6GV+UfH","tlshash":"3543eac6ea102ce551ab8145d1bf44593220ffb8b10285f1fd56a49a1a4cf8621ebf7f","size":56000,"data":"","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-07-27T05:37:05.276061Z","times_seen":1548,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f0a14387aa464f863985b6a6bef1d093","sha1":"51a4a9443e6f007f24b04c914d2721b2730ef3d4","sha256":"5d99f2d91f27190245664e4b3f6f485a27e025b4be90857bcafe11ad8e51111e","sha512":"8d05c11c4010e655a48e74dc053f3b5cac9072e3236bddb482312cc9a5c65db32ccb40274919820c6ace897bad2eeb88d4816605a149d1fa22561eb5a23edb61","ssdeep":"","tlshash":"1480000c3e082800000238a0000bc008c83200020800880000ce008c8c3b00e022282a","size":26,"data":"","first_seen":"2026-07-25T07:02:54.137523Z","last_seen":"2026-07-27T05:15:36.99967Z","times_seen":444,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.549339Z","times_seen":266185,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"ac74e3f51cb94709e1948a70433bdfc5","sha1":"76d121cd4e0c881523d60b8dafc1b3589ae5b2b9","sha256":"a217633e7706a1bd9a42b4bd78d98f44f81e614d34e42aa97562232e0a0ad14e","sha512":"d002a88da3d454e2fac7bdbe5704290b8c7c6d1eb2375744991a1514e9fe83cfe43438c67667d42aa12f2de01cada231171ec95288d671df022d4a7f4d1eb06d","ssdeep":"","tlshash":"2990028430426c102202e0612a9a69b6d175448020199164f0951044392545d505bd0c","size":51,"data":"","first_seen":"2026-07-25T07:02:54.16226Z","last_seen":"2026-07-27T05:15:37.05996Z","times_seen":431,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"908d5ccda6d90aab1d372185818e11c6","sha1":"917ea62d00a3e75d9b87d9a831eb81c24db4441f","sha256":"c9a8ffb3a00f63b1c983f1445fccea9aa101fe4d579aa885f7b1d8ab8e488faa","sha512":"868bb8a092222b3a369569f020417d22a4567faf3da65a85a2fa6492b812e961407d92f563bd02ec1c190d70a200301a36c9575386d779d98659d38ea7ecf40e","ssdeep":"","tlshash":"4cb092c8abc2a0625441958a413eba59f3e4bdc22706247ae052ac1aa4a470e40bf25b","size":118,"data":"","first_seen":"2026-07-25T07:02:54.17899Z","last_seen":"2026-07-27T05:15:37.069521Z","times_seen":433,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"1750e9b76f54961545a1edf5b6bd9a5f","sha1":"9bdfc833f7e055821fae1f547e0abec9ee9b9718","sha256":"358ccf6ccf547b6106792de57295c558115f2ba6f5764c19a638c992bf90aeb4","sha512":"62c097d4b1fa74b247955132f63bb4b06f2ff9fb5074d68382f0f7d3233f82bf1a62b3153497ea23bb745f3c9ecb3c50602bc9484759a6b8b74939944750dcae","ssdeep":"","tlshash":"0fe07db0258123422174df79f0f3120430e172c67e48ac8f51256b429e388d1142353b","size":316,"data":"","first_seen":"2026-07-25T07:02:54.202304Z","last_seen":"2026-07-27T05:15:37.003465Z","times_seen":430,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"59ce6228ddf62be7f8aefab2518b85de","sha1":"900ad9ac49e0c31c073d6f6d90b1f4a96cc6fd70","sha256":"8ff18c08cbe337e7e73e5fa2906915a48539b24a7fad20153b95bce97834aaac","sha512":"dc9152b4e22f588df140c33a6635b551d942579445ef185f0fa62fd31dd807fdc9bd23ce42e0a3ff8872a4ca6e9e2942f9f76a727cbb74ea049a513e9a8a309b","ssdeep":"","tlshash":"f1c080447556b1ffd6426482c05f151562550705d9549a06d3a054e02e349899091f2d","size":166,"data":"","first_seen":"2026-07-25T07:02:54.079559Z","last_seen":"2026-07-27T05:15:37.049129Z","times_seen":444,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"introduction_type":"scriptElement","is_inline":true,"md5":"16a75382bcd30f1786f8066ca4d958ae","sha1":"84557c563ce8a59e2f55271bd21a0d163899fe87","sha256":"5fe6235332df68a67105e2bd8aa827babc2b70793cf25cbbe9ea87f6ca0823bd","sha512":"65fe74d002ea34846d56f97130729c72e1c172f2391ba65f797eba38fc2010c7f26921b6d97bf87092aebaded4b23d87d485585ecf19a070abd96cc1c6b65ad2","ssdeep":"","tlshash":"1dd01207b070054f04a6f006e3aa19cdb178850b053e1d24378e90db3ff2f9c234d5a4","size":221,"data":"","first_seen":"2026-06-26T06:01:48.680671Z","last_seen":"2026-07-27T03:34:41.009236Z","times_seen":4,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"introduction_type":"scriptElement","is_inline":true,"md5":"3acc6a45f4d0036a96060c07a30fbd5f","sha1":"caf57d3685d0a8dec9b88c8145bf42de373e24af","sha256":"ac0c8e2fe874744e41ab5b903e90726e948cc0567cf912dbea70b5427515b87c","sha512":"21a1243b6b2451a6e05c438906a2924dace22e67bfbe6d010624481c47c0086a710006dc6026cb00d7e481e4d79ea500b7d4fc6ce168a081cc55533dd1152734","ssdeep":"","tlshash":"3d11fe1a4c4796f0b596200c0b3fa01430e61257220ec854fc8cd59d0f61ede49aede8","size":859,"data":"","first_seen":"2026-06-26T06:01:48.681647Z","last_seen":"2026-07-27T05:05:34.00455Z","times_seen":7,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"introduction_type":"scriptElement","is_inline":true,"md5":"1008f142877ddc611c08e4b4f190c283","sha1":"1f2c20f26454e1ff451ccc20fe5823effa913d42","sha256":"8f506b1c20eb32505d6a5c09987c9f2d9f813882f49e6ade9a30a9a091c172f4","sha512":"a5f9bfc19e56c5642f71df97173f85f5f9366269587b4fc9a4e26868c06ca48edd01489a5ed4e6e46c06191ca8c1c870850eb5e4afdbafe54ebff1f89131d65a","ssdeep":"","tlshash":"cd3188bd5762058ab0eae7c3fd1251ca14f4e15fd602ed053e0c16945fc662aa1a8978","size":1723,"data":"","first_seen":"2026-06-26T06:01:48.682635Z","last_seen":"2026-07-27T05:05:34.006381Z","times_seen":7,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"introduction_type":"scriptElement","is_inline":true,"md5":"817ddf883506f3d4d0f9a706fc1d2faf","sha1":"da2e85b50cea164509bff9b988cbac1336aa33fb","sha256":"265e4e2f5b64b812469ad343ae24d2523ebd0b3c1c57c54e004d725c6bff1eda","sha512":"d8250a1a03e26e50860f8a10e648f1a471d5b31ea7e2332c62079a6408057fd17b57a5123d518f5724850c2c8ab0bde01c5860de8e168be383e5a2b4d03f7a0f","ssdeep":"","tlshash":"45f097b215b37b301a7dde02f1a234024187c535bdb834686a74738751b628cb3f9823","size":491,"data":"","first_seen":"2026-07-27T03:07:13.393777Z","last_seen":"2026-07-27T03:34:41.011329Z","times_seen":2,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:15:37.00293Z","times_seen":64684,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"83a77a8fa8101ab38a74167392abf2af","sha1":"ecad96d097ab2adb9729e0b0c5f8063e6445e4c7","sha256":"7e8c17ebc1c4489f3752972cf347c83e9eaf85dea4b84c375746377e5216d9d3","sha512":"f2250fb803e1cab98bdeabfe1cf415d3c7a2f3daf7d4d2e650196e709a5aff915427825b1f5e403dcefd704b290b091b69cb1fb437f6e5f69c7a1023a23f0c5a","ssdeep":"","tlshash":"c71000000000000c00000000000000000000000000000000000000000000000c000000","size":2,"data":"","first_seen":"2023-03-26T05:54:38Z","last_seen":"2026-07-27T05:15:37.074752Z","times_seen":7642,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:15:37.044401Z","times_seen":75492,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"92eb5ffee6ae2fec3ad71c777531578f","sha1":"e9d71f5ee7c92d6dc9e92ffdad17b8bd49418f98","sha256":"3e23e8160039594a33894f6564e1b1348bbd7a0088d42c4acb73eeaed59c009d","sha512":"5267768822ee624d48fce15ec5ca79cbd602cb7f4c2157a516556991f22ef8c7b5ef7b18d1ff41c59370efb0858651d44a936c11b7b144c48fe04df3c6a3e8da","ssdeep":"","tlshash":"c700000000000003c00000300000000000000000000000000003000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:11:47Z","last_seen":"2026-07-27T05:12:07.343569Z","times_seen":80662,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"4f15bb2d5bb35eef8ed5691a49a89add","sha1":"93dc792cd6f66b017de508d1653d257572b336ef","sha256":"92e207c292ff65d3a04f6cb843c69816f6a1520ba0907168e313bfe2f983c80d","sha512":"cab6a3bfc63b8a7d457b211a2f223bb58cfc2385f4a6a33d7f48812b4747bf0a0d7abfe7979388ed3e467ea5c6d65c688f7ab189a7f3ce0abd21958f9c6f8b5d","ssdeep":"","tlshash":"e6d02ecbb1c0378ab8a66cf4f2b34a0438a322243b8080ec803a36581fe05c8d903d25","size":282,"data":"","first_seen":"2026-07-25T07:02:54.086465Z","last_seen":"2026-07-27T05:15:37.045441Z","times_seen":432,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e4728480e2fb7f7ad5c9fda4ae9a24a7","sha1":"d271c64c26f1980b5bcba96d21ac5cadb06e7977","sha256":"8222c16f8274ee37719a8d83f2aefe2259e820728e881bfc83430f3c5336f732","sha512":"d5c34af2fb42a8ebf58500129c2cbbec60704cc1e3275f93dfc44dccd3b3487456bb20ed56bb7e4138e86530d9f61b4cfd2e791b5e0d857c87336a50ed923bea","ssdeep":"","tlshash":"e8d09706b91480223932382302628e07e4a2e8475df3a452a18acdc945f1944805d919","size":241,"data":"","first_seen":"2026-07-25T07:02:54.165069Z","last_seen":"2026-07-27T05:15:37.079807Z","times_seen":431,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"65cfbef4976ed897962f8aab52c2e7dd","sha1":"5002f4eb74d361e916cd01adcce97615bb98a93c","sha256":"7ffca58a18354a6fafd52f93908f56bade386cd0181cabc22dde999e040843c9","sha512":"af6eaa50caa0889f6d7d19ae675e875be4d2577826cade64399694acd9a3c494bd35791cc47de33782b2fd996ce97b638289cad79915949a891f5e885da04ddc","ssdeep":"","tlshash":"141154b6393fd032c2e924a6d846ee7a42d08449926210b50fb332c437f6e9cd11ad54","size":1012,"data":"","first_seen":"2026-07-25T07:02:54.112569Z","last_seen":"2026-07-27T05:15:37.048456Z","times_seen":432,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.524878Z","times_seen":182639,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.290326Z","times_seen":184834,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.531378Z","times_seen":174834,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/plugins/revolution/js/extensions/revolution.extension.migration.min.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"introduction_type":"scriptElement","is_inline":false,"md5":"020c9da0283aebff8fb8ea67e3331868","sha1":"d192e2e9538833c8f18f279e04cb1801450dd215","sha256":"6eec26458665f2ff755d8d9d752baf709166660fb8e5389c9fbe939df23ea2f1","sha512":"5448480d1be53db60d47d5fc75bfd56129e9083cacd3a3e0b912ed20f00c7bb2469be0066f8d9a2baff266729f12bf558260ff1431d31e79eca7fb71fa787b8e","ssdeep":"384:chOObjBeYJfz3zX3SWcN12H2DFQ9j6IDumFu7jaWIyUBj3RX2E:cIObR3zXpcN12H2DqZ9iA9QE","tlshash":"52c2a8a976903cab5473667bc16a40b532728a357307ae6078efa6f0057ccd913e7e4c","size":26101,"data":"","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-07-27T05:37:05.203046Z","times_seen":1620,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"d224d956791813697309740c0fbcd15e","sha1":"2418655004b5f0f64a6e4075cb8ac4b53444421d","sha256":"48c035187614ea92c5bf66cec55cf8a9a0a30eaabd1bfd51234d0d5e44c93d65","sha512":"c1005f866f7b788b9fd04d3374ef4405bbadde272bf42c4bd0f8cf942bf1e9f6ebd13d50284f2eb5da4e5fd783c16dd4ef54f7e24e8eaf62496d2e744ffe13eb","ssdeep":"","tlshash":"ea8000083e08ae00800238a0280bc008c832003a0c20880000c800a80cbe02e020282a","size":26,"data":"","first_seen":"2026-07-25T07:02:54.182324Z","last_seen":"2026-07-27T05:15:37.055482Z","times_seen":444,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b5b6fee0a4d21f85dce9a49e0e9a9036","sha1":"34f9d5791d070ae880424d2e4c6c2b578271cac0","sha256":"123cbe058700145f7b9e0d18298653a900ac9389207b3b95c4a98fbec94401ab","sha512":"16b1868151143dfcb7805ad1d5a183bb7c99d79eeb35b3bb38b1d2110c7bd387c1222be2c121764afaacd7c74b503cd59fe5813f1d5d99c7d207ea7c57095e5f","ssdeep":"","tlshash":"52a0120076447c0116112c79c2260545b0511a0b54906401c10596c102705890113ce7","size":79,"data":"","first_seen":"2026-07-25T07:02:54.173327Z","last_seen":"2026-07-27T05:15:37.08965Z","times_seen":439,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"41cffca8e35a84d3f88f9a25719e1bcd","sha1":"7dc2fe5ff12a7a0748d95c710eaf05536eaf88e7","sha256":"c950106fab05530dced5c2d95d8c8b0082afb6c2434895b968e7e8a208b8f3f0","sha512":"1d6080e041f9cd50074d23dfb1b15d5197813d1c0668dd6a2cea31f264f590029644e6912d6e1beef5931bb634ad4fbac05e1c5dc3d2f9eed4b217a58dd989cf","ssdeep":"","tlshash":"74e026c771603759d0585eb4e27317053c62a081ab4889e9b236f60aabe49ad35e3806","size":338,"data":"","first_seen":"2026-07-25T07:02:54.168496Z","last_seen":"2026-07-27T05:15:37.024621Z","times_seen":438,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"afb0fced528eaac5fe170b763cda5975","sha1":"8f0d85954d44c90a2fc59b8cc9297ea972774185","sha256":"9206ef16552ccd926e4421fe6ef369cbc40add64488b7e3d88350e3588a35c34","sha512":"67f6f6d5f810fc0fe5fe606415d86bc4efb11ca6df92a8d6b6d8280d1e4d731ea24b038f7525a6ac5084fac9f78f13d835e0679a1d0e3cba751465bafbcf4211","ssdeep":"","tlshash":"c71000000000000000000000c000000000000000000000000000000000300000000000","size":2,"data":"","first_seen":"2023-03-10T12:52:28Z","last_seen":"2026-07-27T05:15:37.006336Z","times_seen":527,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"ac6dfa045179132aefaf73bbae961f84","sha1":"5b4a09943ab49ca1438497710be50b54077e9374","sha256":"18437a515c82285b4cbdaf60b46bdcd426eb4514c03ebef4e2e4a3caa0f75497","sha512":"df27138801c468c597084ae71e58544c6d3b95e9d57d3bb003339aa035e1e04eb7b85932f01573eba17613500cd7bf65d9de52570fd0dcd3f409dc5286d5f155","ssdeep":"","tlshash":"a6b012185c0835193f336ce99117681ed0b0dd06c4b4b90d8004d5d402a404e5051cbf","size":94,"data":"","first_seen":"2026-07-25T07:02:54.141577Z","last_seen":"2026-07-27T05:15:37.020775Z","times_seen":433,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"56d477e14d3afb1ffba04e085eba7834","sha1":"640b4d7232aba3b4b3f243b10228f7bd6bb27aff","sha256":"21220562832a31cb34cf0cc2cfcf17728feac102affc17e2e97d7e405c224f06","sha512":"389a61bfa0b427630b58c48dd7c72c4206a76c88e6743d446674a84c0cddfdd12b8fa66086bdf5c900937cc837841b85f9c2f47f6a03237c552af2c5766ec936","ssdeep":"","tlshash":"82d02bfb5811c06ffc27059213335dc910d2f20dd5993f9ab6b2b1a4392000c70d54c7","size":283,"data":"","first_seen":"2026-07-25T07:02:54.126205Z","last_seen":"2026-07-27T05:15:37.086974Z","times_seen":432,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9087bfb5987e012165369f31c80da771","sha1":"e4b912603b7a38d385bb3770f3d3c3574c4c7d09","sha256":"17b51df2b060b946881ffe59fc2d1cd01fc09a7c7d40c7b4dcce2526e10308df","sha512":"df59e3a180757201879e376cbb16a70c6f55dd732e6eda3f9809868bcf9fe2eb2e73a288192394cc3b9736832423672db4a13a3f1fa1aaa8ac37d3374c01b356","ssdeep":"","tlshash":"28e026c771613759d0585eb4e27317053c62a081ab4889e9b236f60aabe49ad35e3816","size":340,"data":"","first_seen":"2026-07-25T07:02:54.191647Z","last_seen":"2026-07-27T05:15:37.080424Z","times_seen":432,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/plugins/revolution/js/extensions/revolution.extension.carousel.min.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"introduction_type":"scriptElement","is_inline":false,"md5":"54aac3fc68b283e8ad22894408ae47a2","sha1":"8164c126f5b57e1ebf04b7440cce2e3aae7e5ba9","sha256":"6180c6c38c4e3b9ac75b0c51215dcf0d6aa5b62757be3d993df8a28ca17a8820","sha512":"35d94cffaa30b5bde92cf0400ccd3c7b309215a6d486dac7f46249ed949fe7a1ea21ab81cd48253a9fa740d2be063b7e4ec7d90051cff7b7b435d2c789766e41","ssdeep":"192:euN8q7sZ9sfpCfQcwaxXTZTn1WUCfl8YafSutLZgO:mqIypeQsZWqf9","tlshash":"13f1628460153daf0652b349966680f953fc294c672be8647cff7165085cacd027feee","size":7607,"data":"","first_seen":"2023-03-07T01:02:47Z","last_seen":"2026-07-27T05:48:54.324317Z","times_seen":1643,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"909822438f3880445c5535efb48b46d9","sha1":"00685c680d8f0bfb3dda3154539bb972552fd921","sha256":"894963ac612d3c872d00cfc1a926c6f034036e99512409f06342bff53d723689","sha512":"ce5816d0da41ef048fbcd158120239337d58bf594db8b7deff493beb436c5319220f1b01ea03fd9f4b755b4fd43155f23271e1e27078167041feb5c9a784699f","ssdeep":"","tlshash":"f9c08cd873b61824c2809a73a03b46a1a88ba69c98094440e220f9a9763030d082faa5","size":156,"data":"","first_seen":"2026-07-25T07:02:54.13346Z","last_seen":"2026-07-27T05:15:37.019659Z","times_seen":436,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"06940d1ec461f6967164c26d60cbaefc","sha1":"2dd63cac632d95db488d6221109b5f3f932c9999","sha256":"c9f3959e3d485cc26bd83a108824fe7039921005faa810892c704386b9572acd","sha512":"4abc10cb04a87ffa25293243f9bb9d4498d4a1acebe89e239cdc92058d9f491da6b5de3ea698c856e62b3153c7d006aa340ee50912e29f019752453976fce2bb","ssdeep":"","tlshash":"ebb01224281de61233322ef080131d2c603b4402424f551ec44ce5c2032c0ce80475eb","size":96,"data":"","first_seen":"2026-07-25T07:02:54.115267Z","last_seen":"2026-07-27T05:15:37.078657Z","times_seen":437,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"accb66f0ecd826aac89065990e1da97f","sha1":"3c5339881a1720deed325383e8c3839b7748d254","sha256":"ca68fe3f50735b174e950c34f54dc1f4469d57f94c55f259174e8ee730ea86c4","sha512":"52408933e4d4f3fc5069da409f56adaa898366c9c2b71abc013277b38aba5e7dcac15868ffef3495cc1a64af8cbe1bdd7dcf79691ec2b15ac2eb8a3fa76f3370","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000300000000000000000000300000","size":2,"data":"","first_seen":"2023-03-10T23:00:59Z","last_seen":"2026-07-27T05:15:37.08367Z","times_seen":2774,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"30ba2015f57e9fb9a3b395a597ce8f96","sha1":"bea3fe0a47418c0192788fd73b50c3b7f930a3c9","sha256":"f684f5f4f99665c48ebf89434434309281912ca6ae3283b246db5b9b0725e75a","sha512":"3db38cab3bcbb8c7595c8f0d00363bd335a59959c9d266a84b8679341c9c2f9fb4d1f89ae7679bf1c2cde13f1da7f2ec0043e4b1fbc8abdea754c06b095746e3","ssdeep":"","tlshash":"c71000000000000000003000000000030000000c000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-12T15:19:25Z","last_seen":"2026-07-27T05:15:37.058502Z","times_seen":1016,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"bd0bcbfeaf7651b34de78f94db256e9a","sha1":"d5d4133262a2d4536708007fd3d58db921c73a6b","sha256":"7c4c4985dc2c7739b2b78d4608b572981a8394702ca5cef9773fe555ff0eafd3","sha512":"4d4b6a8f7b6d27a5d6e269d4b9a804986a2fdddd08cc47ed5cb726e993749117dafe9300281cf36c5065dd89063cd7c09e39e2851bb7626184be44b33d3237a8","ssdeep":"","tlshash":"faa022203e00ee02a32328cc023b2c08f20a8002c0000c8fc03ef3c00330bc023028fa","size":77,"data":"","first_seen":"2026-07-25T07:02:54.183264Z","last_seen":"2026-07-27T05:15:37.039968Z","times_seen":438,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c2fd98c678db6a4e592fc1fce467a095","sha1":"23d71a1dee6fdcdb530042f8de4c7ab53166f476","sha256":"ce773908bfcad90b99b630fe30a23d2abf23d0530137862b34afd9426fc37f4e","sha512":"4cfdbe3278dfe3b25ee1d5b7c5e2b6136e0813ed126409b436ff14b98ff511e7849897d572bb20701f90c207a7d1a474166b8a3c01bcaa87f87836674926e582","ssdeep":"","tlshash":"14b012187d04e4376302347960230d04e151080342818c0b800ed8c047701cb00104bf","size":91,"data":"","first_seen":"2026-07-25T07:02:54.158231Z","last_seen":"2026-07-27T05:15:37.085349Z","times_seen":432,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"04349b75733f9a34b4021b587765005c","sha1":"6070a8a928fcfb84d659883893b6917e124ca898","sha256":"86d8798669d148db9b83305e628958589e0a0699eb4c5176a49445d3f4b45eb6","sha512":"951d0dbaee27fba356c6b0b3be78b59f088d48efe1d065da056b3c37633ccf9c7ef5932f08f294d5b5411fa7dad37f6cd9f9191bbce94af7c6e76e69eefa4cd3","ssdeep":"","tlshash":"a731a99f53b50938c5c0cffd41af066248f16115ad074c1f7e01eae54928553aeb1afb","size":1536,"data":"","first_seen":"2026-07-25T07:02:54.188598Z","last_seen":"2026-07-27T05:15:37.032657Z","times_seen":430,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"316d406bec14ed278d88b29656ec9700","sha1":"bd547102264254e2beef20bde9dbb4a76930c603","sha256":"c20bceec8e69ac1e4c2e4e22bd2c3676487f19b8676151449558633b99b47e86","sha512":"46f1ff723d384eba48d0384e861d729824711cc28520de2cb5defc92c4db58aeff67b8349ad7d2d75368507cad41580169a73a544a2fd0364b326442be72360e","ssdeep":"","tlshash":"42c08c1814a2983a3224acc3b08f910234c528110104406483ad8031b73044aad380a9","size":145,"data":"","first_seen":"2026-07-25T07:02:54.099906Z","last_seen":"2026-07-27T05:15:37.026856Z","times_seen":429,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"21af29eb4a2661cde1ec2e23d5bfacd6","sha1":"7d2873f1d5edec0591009cb7c58ac0a8583acbeb","sha256":"355b175012ceed0b8437fb62d9e30416e770998561d266f70691acd8f7022641","sha512":"421539d8e4b532816aa4e443242637ff1e64519e1131ca733adb76acb7defa95088078a829c848c79f3e0c98c5065c0179d868360023547dad53797f81cee06d","ssdeep":"","tlshash":"f1c0122f63c0433609d3a2c4128f2716420991093ed51dae985663b81c3a0476068d25","size":190,"data":"","first_seen":"2026-07-25T07:02:54.080469Z","last_seen":"2026-07-27T05:15:37.060444Z","times_seen":432,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"39d2592bac0eccdff1e94886f4472629","sha1":"35d3462c7a93c0264610efd6ac970e5d47ca7792","sha256":"24677b8b077f1fc6144a4e59498483aa30800bd1ba610a984f65b357cb198479","sha512":"5c9b66a1781728f08b8b4f9493c68ed5af9382c90f72cc5869f2a07f1837e50ffa4719273c1445bc025454171a535cf621e8f29a6630c32f07843708331409f2","ssdeep":"","tlshash":"88b012247c08fc22ab212c7841120d197120c04354a784d7d02ce3c00339186300b593","size":98,"data":"","first_seen":"2026-07-25T07:02:54.143979Z","last_seen":"2026-07-27T05:15:37.091083Z","times_seen":432,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.411316Z","times_seen":172713,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/js/wow.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"introduction_type":"scriptElement","is_inline":false,"md5":"11ac4d7173a68c50169addca2ef1b827","sha1":"621284d032a248c41753e995680fc30089bd374c","sha256":"dd90fdb6538987fe7975bd43803b1c7d8d62912a371c788caec32d016e09dca8","sha512":"658888b9d89577b55798fc56451f9458ba9b4885573a96480fd9bd480cb59854769964da9a5f54feba19ba66fa6df44c79203d35f1d6d9cafd84886c58e233a4","ssdeep":"96:3GqKWTAKHF/suCdaOVEE1FnePgJqg4SImYad6Q:y30suCYOVEE7ne4JqgpIwdh","tlshash":"bbd175c9b7467036d79ba1f6873f0145a23a19acb008047cb7e984e57d348699237f38","size":6300,"data":"","first_seen":"2023-03-07T12:02:41Z","last_seen":"2026-07-27T05:19:19.722089Z","times_seen":5257,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.408806Z","times_seen":133984,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"288f4801942ba7fe2e468ad22eb3b34c","sha1":"93c816901b3435f6f5cf6b2bd92e6727e442a895","sha256":"3f0ed40e2c3c5964be4eedf2e9176f9987135e03e131c9e4faa1334b3d0f179b","sha512":"118664d8321242dd85ca89acfa377dca6520b707e6efe6ffa76f2d06facc829277bda47b5889021d70cd3f1a9a382ca7fbe5e41502906853f7527222f9a33659","ssdeep":"","tlshash":"c9e0c05d611b7411b0c03cd1d5cf1498f0f42236c5ce0c1d8375d4c012a2ced569cf19","size":348,"data":"","first_seen":"2026-07-25T07:02:54.136642Z","last_seen":"2026-07-27T05:15:37.059515Z","times_seen":437,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"da3f5f8741b5de980662d730df73f871","sha1":"896f82c86f77ec8f6696a162f44345d84f4b302e","sha256":"da48bc39846fb2dfb11eac0208ab64b9f8b2f12fc89e9832b61d63d68935138b","sha512":"4c5197263ad82b11b501108b4da2d7f9ed721fff7146f15e294451be9611cbce7e079ec7a8204d358379003f85061b186fa8f851e271c05119b44ce405066b04","ssdeep":"","tlshash":"84a022203e20ee02b3232ace023b2c08f2088002c0000c0fc03ef3c00330bc223028fa","size":78,"data":"","first_seen":"2026-07-25T07:02:54.111523Z","last_seen":"2026-07-27T05:15:37.072519Z","times_seen":431,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.492664Z","times_seen":82369,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7121a3428492966c83430108c81b0128","sha1":"faa54a8131b597a6b972810794c8ac848b67b351","sha256":"6ece104aeb4ca53d9261705afb936cd0bebf554bd318f77613325b124a234c24","sha512":"8f54791b217786c95592d4411cc15e5cfdc7432d5db0617f60ce69a260cee1e7fd968b441bc4a2e40cdd6af24c25051881dc4b934bb3458a152b4503d52e13a1","ssdeep":"","tlshash":"c710000000000000000000000000000000000003000000000000000000000000300300","size":2,"data":"","first_seen":"2023-03-07T23:42:40Z","last_seen":"2026-07-27T05:15:37.04388Z","times_seen":2538,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/js/appear.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"introduction_type":"scriptElement","is_inline":false,"md5":"5a457d262e3c32d25c003ca412ee7fe6","sha1":"b08e23c986259073419a7068fcd36296a91b1ae4","sha256":"46fb2235bcf84086a9b939ae509ecacc01bb31c68ba94e6473e31d8adebec3eb","sha512":"826945d028efc7a9f95c22c5f4d34dfab6704b75f45e7d6fc2e93e2b42f7078aaf7b8508f9155b36dd15ca759a765fff3b4550f17e3b187e79285f63de455d53","ssdeep":"48:3l3Xwqhd24ayV+zFLAPftUIeohhR9zIreFfFoBSxMEh1u1cq6KjD4W7j9:V3XWz1zFkmDo7R9cr+YSpTocqBksj9","tlshash":"7391db4a759b2ab54877722a9f2fa20cd721513b1202c21138eede6c2f71c50a197fdc","size":4379,"data":"","first_seen":"2023-03-07T12:02:41Z","last_seen":"2026-07-27T05:27:08.975874Z","times_seen":4035,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"eb7194ac9d6f5a83b6c7cae43038d2ef","sha1":"9b1cfda44cba767b72373d6df56249b565efb634","sha256":"eb2bf66d92707acd8be84dbfcca1376c2562c4ec94a4d87babbbe67f4d125aae","sha512":"7ae1e7cb8edf692da592a8ddc798f6f564f5ea0d6fd6919ee5c86ca95d983d15e707615cb6ff6623c0951e0eca8a4852f1d8d8596f985ba3e214feb47bfcb886","ssdeep":"","tlshash":"6390025969497099203710e0425e292640d2c40065544041961494f65434b17d531c6a","size":57,"data":"","first_seen":"2026-07-25T07:02:54.098994Z","last_seen":"2026-07-27T05:15:37.007669Z","times_seen":431,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"bfb05b64541b797fbc56b1ceab0d0707","sha1":"ff5eea3714de9fa65254f3722ee63ff9718b4cd8","sha256":"9a3032ec6f3b482ef8f786196f5fec31ee55139f79eec40f1ef9e5d487f68c37","sha512":"ef42e661cb08389b03f24f5e884fc11c24a95d58110d3bd963a916d449cc80e06554ef4863d18aa0b14c12c0004f03f3b244442f4adcc9cd895ea236dd283ff7","ssdeep":"","tlshash":"687000083c282000a22238e0080b2008002308080080a80000c000820c3200e203280a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.15521Z","last_seen":"2026-07-27T05:15:37.033143Z","times_seen":430,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f9f2d672039ed5d04839b769ad71e1b0","sha1":"9a86054ee3627014bb2f372f939ff22772a90aa5","sha256":"ef099fcece6eeca3777d0d4a6ac606beb557e08dcd95cf93d0d42a0334329c10","sha512":"52923fb4476412cf751131a95f749956c1a4c83641935695522af4434c3c42047820db169481885cb549e9a6a8c5ffbbc6ac49ad08f246612debd54bd3ee68e8","ssdeep":"","tlshash":"c71000000000000000000000000000c0000c0000000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-08T15:11:30Z","last_seen":"2026-07-27T05:15:37.030249Z","times_seen":2641,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/plugins/revolution/js/jquery.themepunch.tools.min.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"introduction_type":"scriptElement","is_inline":false,"md5":"a748a9e56b2c639013c770506f1fd529","sha1":"537edd9b364ac005df2d1c57be873945b2fecdf6","sha256":"6eabb193731278713f4208ea84b8c7334c3dfc98f01cb074778280e1df536e62","sha512":"ade8062894443994d5dc96497426dde1e238adfb9600aab7b3713ce804934aca5e12ae3267d961268ac8a146bd06754aa110006964af95e9394dfb1ea5b825b8","ssdeep":"1536:iQpnayKBPfF5aknBDU0KsIu5XOKvITONqvUejr3P99cN7H98rYx5s14/gCsBMXw7:iJfFYoDU0xVqvUejbs7dCYdInBwD0a+","tlshash":"96b329ca35517022859622a5517f0643723bdcbab4098d3cf548d9ed3e2cc8921bffba","size":110563,"data":"","first_seen":"2023-03-07T01:03:49Z","last_seen":"2026-07-27T05:21:44.294958Z","times_seen":5135,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/js/bootstrap.min.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"introduction_type":"scriptElement","is_inline":false,"md5":"8c237312864d2e4c4f03544cd4f9b195","sha1":"253711c6d825de55a8360552573be950da180614","sha256":"d5fd173d00d9733900834e0e1083de86b532e048b15c0420ba5c2db0623644b8","sha512":"e18a5959736a9ceef67b40daf7964c519c678d680bbda8d2c7679281f5d349a286c99b96ca24e7a8e64ce987d372d74ae12da7255c606ccfe27ac13a35b5a3d2","ssdeep":"768:b8lBD27UwlNBMl9/qahC2+jS1g8ep0skCXFXflcKGf3Z1RQ:oe78+S1Klvla3ZrQ","tlshash":"f5f29606b23031a107dfb1e5515b020b72396a6ee90690bc78b9dae53db9c48717bf3d","size":35951,"data":"","first_seen":"2023-03-07T01:02:08Z","last_seen":"2026-07-27T05:05:33.53888Z","times_seen":10576,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.google.com/js/th/b8qXrFAu9PHVrGqMZi2nqKm9TUNPrrzEh40PAl-6oVo.js","fqdn":"www.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.251.155.119","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"443622910d8e7fe75010d4a41f533e07","sha1":"9774250436c6d11ce6978a2f57e620b1b86098c1","sha256":"6fca97ac502ef4f1d5ac6a8c662da7a8a9bd4d434faebcc4878d0f025fbaa15a","sha512":"8ce4ae6fb3b48726d2ac7dd7f8bcfb87df79adfc89c666d8278594d86648345411b78b003967291c4125ebbf78a2af3c7dd7dfdb100899ecea73c8ad8bd8b7a5","ssdeep":"1536:jN7w3cPBzlUowT2cm9iXFHDYzcmNkBfXoLz:RtyokXFHDSH","tlshash":"ce532acf72d2b73559e269e6105f410a62fe940a4c85186fba10f6f42a70d4b903bf7e","size":62519,"data":"","first_seen":"2026-07-25T07:02:54.064057Z","last_seen":"2026-07-27T05:15:36.990389Z","times_seen":469,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f09564c9ca56850d4cd6b3319e541aee","sha1":"c3156e00d3c2588c639e0d3cf6821258b05761c7","sha256":"4ae81572f06e1b88fd5ced7a1a000945432e83e1551e6f721ee9c00b8cc33260","sha512":"2ddcd5fd66f62c38135603defc728493bc9012c9ea6abc8a9823165792136513b2c53722d2a79c0d6ea31467308bbb49eb217d151d79baf4b2085f487d0abfae","ssdeep":"","tlshash":"c700000000000300c00000300000000000000000000000000000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:15:12Z","last_seen":"2026-07-27T05:15:37.000142Z","times_seen":57623,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.29232Z","times_seen":56249,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9a2a6b16da447c1060cd4a5c09dc8a1c","sha1":"fbe9678c38ea75b2e7379a3bc99ec154f8339330","sha256":"5e778835b3f9e816a452ab0f9acd9459861522e6eb9f61f1c9e60fdc8d9e64cc","sha512":"0808cbb678605f7f165e7bd536f3c2f0c25dc06211624161d1209d80074d262e63db1c4ce941f6da3374566ed577862582f561ae623f28000c61877b25a7c317","ssdeep":"","tlshash":"c4e0c274241450de4a47304a908d7fcc791a86ca3d483b6aa09180d1a72cb9b636dc38","size":301,"data":"","first_seen":"2026-07-25T07:02:54.177153Z","last_seen":"2026-07-27T05:15:37.042857Z","times_seen":431,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"fe63e72e58f232e831ebaa50436cd976","sha1":"3eb05a9376004c39c93288d95443d7f967c4d383","sha256":"fe4765abdb60dbb4296984f65320d7fa3f3047b70c94c2cd7737a9edb867a57b","sha512":"b39b8a0ffad610e40cd8116a7d35d709a6f3bed7ac49e980e5e2f26218cdaca4629af6047a9e7a7bc8857ee6fcd6da93808f9aaf4c26de44ecefc2fd92a87ef5","ssdeep":"","tlshash":"36f0ebb65a0180c490b39deb6e7f3a3f61866aa7b58110814393d725939c1d2300deed","size":546,"data":"","first_seen":"2026-07-25T07:02:54.125329Z","last_seen":"2026-07-27T05:15:37.005599Z","times_seen":430,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/_/translate_http/_/js/k=translate_http.tr.no.scrnY6Q2_yw.O/am=BIAABw/d=1/rs=AN8SPfq1KlUFqeiFvBMudduzGtb39QWXuw/m=el_conf","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"introduction_type":"scriptElement","is_inline":false,"md5":"1833830743382d130652becb9f498826","sha1":"9408cb757bf3964ac68d17c1ac2dfc1cdfc963a4","sha256":"c07d5b91b890e3483e1800910322977007748ed06c18f09f68a3b0f7611b0023","sha512":"f522799bf698caab0e73f467345ad34b6d3ac423522726bd914c37ec2e17801206ef2e672b03dcdafdd029ca7616fc1e09594a8da18bbd649b51925ce20ffccf","ssdeep":"1536:XWjLpxIZnZzYOwRUSfl26KKZkXtmqR6Y06ECitwNWF0:XDD4U6KKZgtBgtCiT0","tlshash":"1273b88cb6a5b4658363f4b5412f000eb23b58adf8484cadb288d8e1adf5949453bf7d","size":75428,"data":"","first_seen":"2026-07-27T03:02:41.147556Z","last_seen":"2026-07-27T04:01:29.26053Z","times_seen":121,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"static.cryptohopper.com/widgets/assets/public/js/jquery-3.3.1.min.js","fqdn":"static.cryptohopper.com","domain":"cryptohopper.com","tld":"com"},"ip":{"addr":"172.66.153.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"378087a64e1394fc51f300bb9c11878c","sha1":"0c3192b500a4fd550e483cf77a49806a5872185b","sha256":"4fe68fa216176e6d1f4580e924bafecc9f519984ecc06b1a840a08b0d88c95de","sha512":"9a2c70516ea0c8c37c7f072f214de0afd5ddeb643c6b5d3fa8ade3ef8d2ce40bdf8b1b1194bad296e9075562701ee7dae48b18144b1cd2d735328be5a3accbe6","ssdeep":"1536:aLiBdiaWLOczCmZx6+VWuGzQNOzdn6x2RZd9SEnk9HB96c9Yo/NWLbVj3kC6ta:+kn6x2xe9NK6nC6E","tlshash":"208319dd72c6b06247ab71ba00bf550bf2361999684d4410f129e4eabc74b4e823bf7d","size":86929,"data":"","first_seen":"2023-03-07T01:03:32Z","last_seen":"2026-07-27T05:15:10.116545Z","times_seen":5751,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c498f21d596cab179eb2e5de92013857","sha1":"8a29a189198796bd164fc566e952884b07496fbe","sha256":"cd5e183ec113a6429535157117bb1ddc54f96b68728ca66921d74b20f8e4c15c","sha512":"4904d4f49e94e06750ba6c2783c51d29ee20d33aab48ea66ed7cb33796e8225b927b0de33aaa23af79e583f48e5d32db88b8ccab4053d59cf0ac4bfd93236c57","ssdeep":"","tlshash":"e770000a3c08a000a22238e008cb2088002300080000a80000c000800cb200e202280a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.145555Z","last_seen":"2026-07-27T05:15:37.054852Z","times_seen":437,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"8019a2b7d49c53a548a55f046b75eb57","sha1":"4db451122874d00f6b6fc751e5545823a75b818a","sha256":"e313eabc79a57bc0506d61fce96ce2b6dd9cd635130b8c8d029fe24db01ce844","sha512":"e945ce874884b5d67375a48bf9169e85c9f19519dcd646eeced82292b23f9174af233c378fa483ed79a04fef47ea55c9fe0f8ec71a2bfb18c714efe75c3a112f","ssdeep":"","tlshash":"38c08ce873b61824c2809ab3a03b46a1a88ba69c98094440e220f9a9763030d082faa5","size":158,"data":"","first_seen":"2026-07-25T07:02:54.159204Z","last_seen":"2026-07-27T05:15:37.063525Z","times_seen":431,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b2c033e81e5f5f3d63beba88712ff6ad","sha1":"98f27a412fcc1ba29098c5d60e0577a19d2d2db9","sha256":"bea6c2d06c730cbcc0383d0be45269737019dbd4e40dab4c786861a9c82baa8f","sha512":"6fd35b35256ea2ee673f840880503a5102921fdeafea46e81d91e200506905861eabf9dc5a7640bb37d0645e5a68febbd3a4d15c26db7ed405794c8865f0632c","ssdeep":"","tlshash":"84d0a7049119108386346d5bc282dfafe59184433e01d81b299c49ec16fc957e5b98a5","size":240,"data":"","first_seen":"2026-07-25T07:02:54.154377Z","last_seen":"2026-07-27T05:15:37.05703Z","times_seen":449,"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.150.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-27T05:15:37.071903Z","times_seen":1351,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"08a4415e9d594ff960030b921d42b91e","sha1":"1f444844b1ca616009c2b0e3564fecc065872b5b","sha256":"27a84712e4b22c415fc544d55cdee82327a829f96d03329457f76ebf9af4dcaa","sha512":"2c9fbb3f289c28bcec752f021d36c3a14b86140bd82942b06c0838931ce5999c1fd0b297b9bdb24aa145fc0244b7f3824c838d26ff7c222ad7663ddfb2c066b4","ssdeep":"","tlshash":"c71000000000000000000000000c0000000030000000000000c0000000000000000000","size":2,"data":"","first_seen":"2023-03-10T01:16:47Z","last_seen":"2026-07-27T05:15:37.086436Z","times_seen":1988,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:14:35.576533Z","times_seen":110035,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.467697Z","times_seen":155051,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.397554Z","times_seen":245643,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"64e1e1cbe1ca8e88ef3a838a3e7b57d6","sha1":"5498d9b96ed2832e04a90c4ac2ab71f869b2bfdc","sha256":"0510eddd781102030eb8860671503a28e6a37f5346de429bdd47c0a37c77cc7d","sha512":"44ee2764491048592021ece402fc174f9f4d95cf25dd7227e1029cfdfbc6f574f811fac940495ee0db71db3714c70d7ee27c142876e4a191a0fda92a2e93073d","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000000000000000300000000c00","size":2,"data":"","first_seen":"2023-03-10T03:04:09Z","last_seen":"2026-07-27T05:15:37.04492Z","times_seen":1216,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"89124fc63620d83761110bc7e1ba5df9","sha1":"7caa348e5a262dfbebc80293ec34cc3d7e03216b","sha256":"8e1dbf14ae83c99040ff15a1b7c612b72e5847b9d3ef4948fa2a29ddace9971d","sha512":"876865b27affb00d47d87210ce6c7e84373650fbd0a0917fd1fcf949a36b4c5b61c367ebe7aa5c96389499247ff223206dd14fdd197222c9dc22a8c8b19ced44","ssdeep":"","tlshash":"c71000000000000000000000000000000000c000000000000000000000000000300000","size":2,"data":"","first_seen":"2023-03-10T23:00:59Z","last_seen":"2026-07-27T05:15:37.068508Z","times_seen":512,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f58a7d86186e19db84e783bc06177a55","sha1":"8002a6aa19ad59d43ccc8b32ff7c6d561f9e1259","sha256":"41cd1e4850b992f8c433a1a085a6585a8e79ff96413f11e360a6743babd8cb93","sha512":"be81de332fa854c02257328706e95326c7aac28318d95e5f910a68f7b74bda38161de6fe6040a2d41ede8941285d69e4e4b22554f2fe5f6a1bd2473a4b4dd366","ssdeep":"","tlshash":"42e0c05d611b7411b0c03cd1d5cf1498f0f42236c5ce0c1d8375d4c412a2ced569cf19","size":350,"data":"","first_seen":"2026-07-25T07:02:54.088205Z","last_seen":"2026-07-27T05:15:37.027824Z","times_seen":435,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"130c787f212b30dec62fe9d1f64adf89","sha1":"0fe829cf5728aa8f881b127725d34bff3e703f22","sha256":"50560cc380f1458be9737fd2ee27daea8b9426db77b4b38ce5554e4a651ad09d","sha512":"650a479f750fa63552a1eb884acdc1d5a0ff7136389e396a8c311804d6490e8657b6ac81855d1d7633a27309f79c578d0a4927e35cded386db1808d1e5d8e017","ssdeep":"","tlshash":"fbf02d135782b7b2d04a560b50cf628806b2c032ec5acc8f1a33e2b40cb888a209af85","size":621,"data":"","first_seen":"2026-07-25T07:02:54.169445Z","last_seen":"2026-07-27T05:15:37.065508Z","times_seen":428,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c11d89c2ca93836ea343a05338bd670f","sha1":"62a6ad7f8271078933dcd08d5424e2393bb5da8b","sha256":"5b399a3e0eebfecdf232a414d8d0557d3eaed3041a5641a639e715c63586aaad","sha512":"f7855d7cc1bb2478457e1a465962dd6c7a86607759e9e70be7c3ae6c1eb28484222e8e51d876d28696dc1882c733ff396797d143eb074648d45c6274a8eed8c9","ssdeep":"","tlshash":"9a8004041c04d00c01511d5530df10cc045310d731100554141441c55c773451101d3c","size":34,"data":"","first_seen":"2026-07-25T07:02:54.181325Z","last_seen":"2026-07-27T05:15:37.042375Z","times_seen":420,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/plugins/revolution/js/extensions/revolution.extension.actions.min.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"introduction_type":"scriptElement","is_inline":false,"md5":"90131555d6a196c1562a38bf8899bbe8","sha1":"f50367c2d0c711c703aff1d5550fa947c2ce1f14","sha256":"9bb2c6711f94d39796fe68fb53fa36d22b02b6b7de3759ea55176149f6023c03","sha512":"71ef0d9e205fd6cae62f58e06270eda43f7d0ded1546b1832f7f65395f4d574b4dc21deeeadf2836edee1205dc0dcabef2a39c906bdb7c4dfc255e65251abe61","ssdeep":"192:PhPa5+8MkuLnm8ZbYl+zWJc2VJS/gcBVl1h:4Behi2fz5","tlshash":"6002a346f201acff4467a5aae82b12d27170759ca206ade4f067f5a86c3cb5205c77ec","size":8287,"data":"","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-07-27T05:37:05.179069Z","times_seen":1127,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"771f01104d905386a134a676167edccc","sha1":"51af17721bd7b84218774f9064fe481c033d0b1c","sha256":"46874106f9ac7f3b68a422895aa223e1ea5ed0db860f179f6362cb166c65f8ca","sha512":"0c85b6b14d917b941d01903af93ca93b97b7112355ba3f19f0ac2e243427be9905abb48f24a6dd6c6a72c140bbbc7ed7d231609425b0f132375b0f990ccef8cf","ssdeep":"","tlshash":"c7100000000000000000000000000000000000000000000000030000c00000000c0000","size":2,"data":"","first_seen":"2023-03-07T01:20:09Z","last_seen":"2026-07-27T05:15:37.056531Z","times_seen":1737,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"11721f4fe0fa20af0333c7eda891ca0f","sha1":"372c3c93f86eb46b9afffaebbf49c82cf42fa466","sha256":"ef2a3319810f3ae9cd5948f3229bc195d7b1558846487473b21a842f9d1b503b","sha512":"0f12b9a1099d5be03aa05cb2c7fda09fcd3d47094ee1973d5beb44d6651729d7c7d719af6b57981f3a39f9024ee36e549167a21724929930e62271547ec0e3c0","ssdeep":"","tlshash":"c7100000000c00c0000000000000000000000000000000000000000000000000300000","size":2,"data":"","first_seen":"2023-03-08T06:14:19Z","last_seen":"2026-07-27T05:15:37.032145Z","times_seen":2824,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"86649f7e1c723028d2f82b2c50600d69","sha1":"d054d66e4c26951897c16eb69e57f9803279cdbf","sha256":"7c890a86937b21a7c49e2b3888877244c5442926548497319e537f237e78ef13","sha512":"82625c492170b8a8bc520d8e53c837ff8b7f02e4dd0e442c24edf74abdae64db605c53ef7171b7083f234b32d79179662aada511875ce13842c04185e8111905","ssdeep":"","tlshash":"c3d022072187ddb6a2729804030afa15b0ff100b0e262606f3c885026734b8cc262997","size":212,"data":"","first_seen":"2026-07-25T07:02:54.167434Z","last_seen":"2026-07-27T05:15:37.092041Z","times_seen":435,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"fa317cda84211445676c1cddaaae7c0e","sha1":"56c4706fd639682e3b4522c810eee9ea11f2d38b","sha256":"2740769e28e35690a4f400ce64b425de677a1dc517b2859219e883c874e4a664","sha512":"a6c704bc3492435fa28ff4a72847e656af3f982f8988c051b3d48959f553a38a54e5606c50fbcf73af0300faa637f2b3bbe311484f190131207b31b4a7939008","ssdeep":"","tlshash":"c1c08c4a588022263b707d80c0ba192cb354096b109e8f0f8c2ee3943320f62c00643f","size":155,"data":"","first_seen":"2026-07-25T07:02:54.082992Z","last_seen":"2026-07-27T05:15:37.084803Z","times_seen":429,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"93dddbbea2419c0820cae293f64a56a7","sha1":"fec37c7f501f1834dcfed04edd754ab32b0661a9","sha256":"ca0f37dbe01b74a05d3b263e0f9b36a99e44350031baabb6c14c7d2d0f869d83","sha512":"e3f524dc1b1210369142abc7c52aca7bebb9edfdfb9237ebb03aae85d1a1403d2884e0062a7fae21d29207f237868efc1295460052c4ebc7860958d0102f88a5","ssdeep":"","tlshash":"0f9002c53c4456153662ac61402e44059165860e24a294829916e2940732b99850242b","size":57,"data":"","first_seen":"2026-07-25T07:02:54.19501Z","last_seen":"2026-07-27T05:15:37.079243Z","times_seen":431,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e3853dd21d7b37c8e001cbeb80def269","sha1":"22eab5e6d95c0a758b5105a2ca285550e4ddf4c0","sha256":"739c47988f1b9658cc13de9f615b8e5dcd2976ae3baf5442f36d6cdb7646b1a2","sha512":"186172b3a889c4e9dc3598d3d92d43b10144f04dcf14ecb3bcc6b6d6f45448caa601ab93a2b550bd7bf82f6a1905efccb9cabc88da9b70873a953a5ee0fe8660","ssdeep":"","tlshash":"4ef02d4235828222c02270af50bb60ce00b2c261af6b8e4e8a3292d15cea48a40c6f89","size":627,"data":"","first_seen":"2026-07-25T07:02:54.196783Z","last_seen":"2026-07-27T05:15:37.023066Z","times_seen":431,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"49342302f3a1bf591d537268aaa3db97","sha1":"1e27d4dce5d9e78a557d902e2f9255d8f1d567e4","sha256":"217a194b2b1e9e205f2ce02d68f3d346218cf59e0ffb48dfa0f2331ed11232c4","sha512":"4214bf7801e5a15a9af9e231ca3cdb1bd8a05eb81f603da3351e3def46477af2f9a3543cd8f1cc0e19df81303618c01c3b4bd820b4f45d8be5c11a1e0f0e067f","ssdeep":"","tlshash":"59a0120074447c0116112c75c2260584b0511a0b50902401810596c002705895113ce7","size":79,"data":"","first_seen":"2026-07-25T07:02:54.160135Z","last_seen":"2026-07-27T05:15:37.004156Z","times_seen":431,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"53f90a23c820f4d35aad5e1fc69c3631","sha1":"adfd381939291c573a7f091f1a486b30a9598190","sha256":"c43f747e9a95c0f6b4b687850f9ddb61fc6791213cfa3bf2c08f7358c1fc93c7","sha512":"757f13afbfba4457e7c08c0ed2cc31146c8174b5b9c42a6e86d3703078d5819a577f061397bdb28f87ddd8f3dfabb09be6cc1623d83644ba6e2d1df26c15e18b","ssdeep":"","tlshash":"f1a0220c288f2032b202bc2280323c08a32f2003e8a0ec0e0028c2c20b30a8e020303f","size":72,"data":"","first_seen":"2026-07-25T07:02:54.130379Z","last_seen":"2026-07-27T05:15:37.064046Z","times_seen":444,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"6e6b4e7c1a45993ae64f9aaa4672f019","sha1":"81ed544bb4656d12c73eff1d5fe3911a080f8c51","sha256":"4da86e48d9b22ffccb648bc40fa2df935429b12e5903bdeb308b218615df64b6","sha512":"5b788fd445160f1aa102912f67fc8b92f90f2f78e16690e093896b972e1a73c2ee56f3fa14c6c7261cb3aeccedcf2433d7cc65db8d881b09554b01640d3a9faf","ssdeep":"","tlshash":"158000883e08aa0c000238a0000bc008c83202022a02880000c820800c3a00e030282a","size":26,"data":"","first_seen":"2026-07-25T07:02:54.185612Z","last_seen":"2026-07-27T05:15:37.008324Z","times_seen":430,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.402707Z","times_seen":278606,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.448333Z","times_seen":207677,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"6b74d263b2f181bb8c759bdb049f2cca","sha1":"f4ee289de7015e0faac2be30edb6240a6d7c6139","sha256":"e5a9bf69c1f1f7fa5574037a92b8b3dfc6ba7b0479d1d9e7347d39a0bdc41753","sha512":"10bbf90be8836779b50b0da8ce0f1773f474e604cc0d10101267cf42c41ab78d27a2609f824a3493b235650ac7bff8777cc297feb6a000dd7b6aacaaab88597c","ssdeep":"","tlshash":"527000083c08a200022238a2e0ab00280022000022808a0080c000a00c3200ab00a80a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.203661Z","last_seen":"2026-07-27T05:15:37.029304Z","times_seen":436,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b16d224a9cf9b154c238a00f6ce89562","sha1":"bf90040361427079f596e6a8daa5c6ce789e6d2d","sha256":"8d1320cfe03ab58ca10d024104587c313b2e9dbd142122d973f29c92637aed23","sha512":"4bfdbc6f94a21a7a7955caa00d6f05f6faada48c56a5e7a72f4e70bbe9c6ce01e2f76a8699e4d035e9981d03a5ab940122be0ac7bdbd6ec7405a17d7e5f37605","ssdeep":"","tlshash":"7d31a99f13b50938c5c0cffd41af066248f16115ad074c1f7e01eae54928553aeb1afb","size":1534,"data":"","first_seen":"2026-07-25T07:02:54.139431Z","last_seen":"2026-07-27T05:15:37.054186Z","times_seen":437,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"3943450e225c6a2fdea1effade0ebd89","sha1":"56469df750b12b2c1ed5849865f5ede8381f153e","sha256":"ea43a462245af07a2916cdf93717d019f698edf00b308541c18dbc4983efc01c","sha512":"853b34dfcfbeb6d4c932a655b3487a87a75bfb08c079e7422078d4e2ec1c151513adaa5414c3ae267e19e2161852123fef5136402b378595e19b0139bfb0bf17","ssdeep":"","tlshash":"2ec08c090b0dd3a6038a6a94610a43aba15184ca7e611c28ab40e0c2e68e5054066a1e","size":149,"data":"","first_seen":"2026-07-25T07:02:54.138561Z","last_seen":"2026-07-27T05:15:37.070186Z","times_seen":436,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"4e5784c2f559c1f257d3fe1adff1b994","sha1":"a8bb93b81e79497dcbaea5f08618abe3e13614d5","sha256":"9abd5bd5bc72c038c0276119bd897de57b661a0e4b0d9849758dd698f4b11d10","sha512":"a66be2c2557a5eae52f07ea28edae7acf52d9ab08345204fc42a161d1c474ac05d43323229367c9eaffc197970a47846353096695ff79bb6fc820a804c268af4","ssdeep":"","tlshash":"19c02b08746220f04a43ce395fbfc804a05c62511720128c216274c80c80a94607308d","size":137,"data":"","first_seen":"2026-07-25T07:02:54.148131Z","last_seen":"2026-07-27T05:15:37.090165Z","times_seen":435,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"2da41093c5101c915eba4d7ce7b0703d","sha1":"be67856563d898a7b733742a56b7c24e76f6c12b","sha256":"861a8f8ff3b790a4f6c9a8fbca93e201d714e26ee74a051cc77d25e79ef5f581","sha512":"c78400c6cb9ba66626b3f922da612a3663809ccf26a7b35521a117ee56b1f69fde071301026b99a7976cd6794a76568b7bb46065da5f4d0f23946c850b6a0e24","ssdeep":"","tlshash":"a70110862cf902b6b2d176612be37a2800f8b0476d082418e205e6a096564c2000adcb","size":684,"data":"","first_seen":"2026-07-25T07:02:54.184161Z","last_seen":"2026-07-27T05:15:37.078148Z","times_seen":440,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9818af84da6f96579e99ed315f69e0c5","sha1":"7ecf16ebb75bea5bc8309fbecd3e3df799ab4371","sha256":"dfa3bde638cb08d781f46d978f471fe535a642cb24d408bcc486a67c819cc4e4","sha512":"1a5cf2ca1f7c50defc0af583f15e3d2b0e392e8886d39ce5b6d213ee8e01ee3c1131a901b393f05cb8c9ea412fc2598cdbf33dd895e2d284fb9c7dc6ca080aa1","ssdeep":"","tlshash":"c71000000000000000000c000000000000000000000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-26T11:55:44Z","last_seen":"2026-07-27T05:15:37.066958Z","times_seen":2092,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0ee7840c65fd232997d06d9430eb3cd3","sha1":"d7b08c1b33e71fb050eda8eb76673e4ad9a8e2e7","sha256":"b1934a6c0e3ad971de0f6acb755aa575707e156d75224d0d6290a0f1d9fb6329","sha512":"f49fc43de4c5e49b7b4f81a3de77f3a6642f44ed070ae82a48e541a680b4992dee7b43218235a23384d386adddaca5a463a723470e778006b84dbe309db5e215","ssdeep":"","tlshash":"61e020a4b60370c596a67c844417db33f1b8b6180864679335a9f85cbc15507929bf35","size":347,"data":"","first_seen":"2026-07-25T07:02:54.163257Z","last_seen":"2026-07-27T05:15:37.066003Z","times_seen":431,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"42397e761d6e41735413532880049e6f","sha1":"95f740d93be57eaa0388e50ea79e4ce0bc32a47c","sha256":"76354f8202dcb3bd872442c0934f9c7e5e9f61540f27727a42a5eb594e9143ea","sha512":"37cf8e6de170216c3bb26136f48d90eb71bc4bd34d7b8e59991083fe5c79b32d4f12a4412445f5f115a748693f51a2d3528d3f2e8b169ebcb1b4a87c2124f9b3","ssdeep":"","tlshash":"8aa024451fc0173071c174f015070010450d107dd37444d54075dcd00c34fcd3441117","size":82,"data":"","first_seen":"2026-07-25T07:02:54.195903Z","last_seen":"2026-07-27T05:15:37.000891Z","times_seen":430,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"8f864596ce900ef8ea4ca545c494f469","sha1":"f4ddf398cb04de405ad5fe6682875f897ec3618a","sha256":"9b69366b29431e28f2d1f6956a292b05b661d370863c2ca358aef6bcbf8ee20c","sha512":"43565da547b0e86e9da5b14b2303045d2a4b6fc136d3137b08cd62861e187c283b0a7ccd4b7005ab0c347b6eca15d9b77de8bcf396e5ee0e3d974f9aeb7e8051","ssdeep":"1536:T9w3cPpzlUowL2cm9ibFHDYzcmNGBfXoLL:hFyoybFHDQf","tlshash":"8a631acef2d2a73555e269f6105f410a62fe9006cc85182fba15f6f42a70d4b903bf7a","size":68076,"data":"","first_seen":"2026-07-27T03:34:41.062Z","last_seen":"2026-07-27T03:34:41.062Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"0cb2ca5238ca9b85cbde05a0c6a96a2d","sha1":"e7a5d39e6f8c5139be41d138aeb818c7b5c789ba","sha256":"65cdc6799de01f75bae65d4915b26836b836cc17ab7614020fa97a1d96992d6e","sha512":"c76c6a2b76b731648ebe5b1ed2a0f02a6b803cd96721d39dd9022ea67cfc21c068cff19624d10f4fea8058e486b4138084c49a0d85113008a8f828be99dc79f8","ssdeep":"","tlshash":"c710000000000300000000000000000000000000000000000000000000000000000000","size":2,"data":"","first_seen":"2023-03-10T12:37:25Z","last_seen":"2026-07-27T05:15:37.047934Z","times_seen":6697,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"22fb59e0e0cdacc10fb7f1ad105606ed","sha1":"c6b3878cffd44663b546b12c26af899b037a4a53","sha256":"34469a749ff4f676f6d6a4d95bd641b9f9078810647dd3f14ac9e2aca1045513","sha512":"c39750c2a29c1873c338aba8a3bbd078bec533900b4ed5e1e46a17a8daf2b90c1999a8ea60da594bc411f49f60bb33f525f29d47990d0d6575b9231ba0ccf370","ssdeep":"","tlshash":"65d097c46bbb982c4984ce2b403311319049a21c8e080c50b230fb3bf7a075b243b0c1","size":229,"data":"","first_seen":"2026-07-25T07:02:54.072496Z","last_seen":"2026-07-27T05:15:37.064509Z","times_seen":437,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.544Z","times_seen":234946,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.463208Z","times_seen":201671,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/plugins/revolution/js/extensions/revolution.extension.kenburn.min.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"introduction_type":"scriptElement","is_inline":false,"md5":"2384ef0e1aa89244caa1e4821ee50bee","sha1":"7416c32035abca45b2d02062193d8a1a99b9e028","sha256":"40d3265afb721403e925443bc7fc2b1acd13150f5bc06f6018669a06a4c59ce4","sha512":"0cd638938bcf7b84aa2067e23bf0797bebc4a08d5978356f190337756768b2f5cda9d65daeb7094fa7fa97f0d76861fb66802e643c2c8c7d6150b5f4a95b5e51","ssdeep":"","tlshash":"8d7142d220166c5e4ca3a39295ef17c663f1ed2835039c1c9772b5802eccd1e28bbb5d","size":3754,"data":"","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-07-27T05:37:05.21776Z","times_seen":891,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/js/script.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"introduction_type":"scriptElement","is_inline":false,"md5":"143599f368e9863ebd6acd60ef5cb513","sha1":"55b27328a8118de387c4ed2713dfdf4ea3c473b1","sha256":"a4e542b5e0d3ac8510daee9e43809c96fc948933145689b6ef12f8c341dc8d57","sha512":"0befc4068c99a195cf906405eaebe1a7742c71d37e72927c0092a71353273fd7bfaf16703058a7476bc48847f4ca7b203f2d6fed47d537703a0332a791d7b33a","ssdeep":"192:HDT8+9o1g7mIwpaDYfvVRXhkaDu36Ls4DURPM4W7BTfJN71LC4TKkageHjRrz2ac:HLT4oDY1RXiGgv6JXTYRdtW","tlshash":"7e4200d0b3ac95bf56fb3252957d9500aeacc43ac04160faf5fe302c57e874e22a5a4d","size":12925,"data":"","first_seen":"2024-12-04T10:10:15.807605Z","last_seen":"2026-07-27T05:05:33.654621Z","times_seen":12,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"382df8f48d5107dd2a96921030e79c0e","sha1":"19bd60f0b2ee5dd0d3ba977e9a464d03cf135682","sha256":"5893dbf7b9a7496a0d79489a22f335b0d20530e25f0b95656b206bf44d9bc139","sha512":"31f04d2c5e1759fe8774b17908257fc5e07199b54c7ff483008d92ee115393e249d0e8ae814a57758638a7ef3169a4a485812762f2efbc92be6cf307780f7741","ssdeep":"","tlshash":"f8b092191f6d822948a4760c66ab478ab8f8045299005c15b300648816a8e84009ae2a","size":109,"data":"","first_seen":"2026-07-25T07:02:54.150949Z","last_seen":"2026-07-27T05:15:37.038534Z","times_seen":442,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"97893f46e7e13ef37b4c2e0ac60d85ca","sha1":"9c93b4599fe3df75fb3326420f7805a0b572eb98","sha256":"e5b564a7a4059dccb9c20cd678603a6f30c5f3db3af9b421e7f87eb37b030337","sha512":"973fb08ee51bb939b314a5dca3d67e39b8d27d209f5328a9c6fc3e4d7a716b29098e81824ac0c15f9a9a98d070fe09176399f78f1828080c5d9142c9835453f4","ssdeep":"","tlshash":"c710000000000000000000000000000000000000000000000000000000000000000c00","size":2,"data":"","first_seen":"2023-10-13T15:09:37Z","last_seen":"2026-07-27T05:15:37.080977Z","times_seen":1914,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"32efc8291438b62ef493347e387cca0c","sha1":"cfde2c91f018e6df9094980266806f07d5595723","sha256":"6ea6f07e03fc88bb1c49cd7c10e57e591028e47da7ba7ee2587f34d1b9f3cc54","sha512":"81c67ce5df3bff4092525e1994a46a1798ac52f794c0a30e12fc4b3571bfa81a6d69a60144d8ed3246fe8e42b72a49108992bc01ab56c0b35f5e6c41782c4b5b","ssdeep":"","tlshash":"73e0c0197b572073a1b6288650062fcd6a682c4668c9788bd222794008acdc3544dc42","size":329,"data":"","first_seen":"2026-07-25T07:02:54.071637Z","last_seen":"2026-07-27T05:15:37.026328Z","times_seen":432,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e1469a0c2dc2156f9a727d0ed640ac13","sha1":"ba1dd0fe89c6bf92a6a0f1dfc9336ec0c722f494","sha256":"12854497ac91b3bf315b127a6c446692fb3c10bd1dcd87c3d60a592f63083cc2","sha512":"0cced30914a00cca9185467b9de158e890ae36123087ab40ce5ab41f2ff3ff858178f42c2810106003fad52d94dbebf96e5e47c7d3935f2cb2ebffe7ab387b94","ssdeep":"","tlshash":"6c0110862cf902b7b2d176612be37a2800f8b0476d082418e205e6a096564c2000adcb","size":686,"data":"","first_seen":"2026-07-25T07:02:54.118078Z","last_seen":"2026-07-27T05:15:37.046901Z","times_seen":430,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"85667210a9ca3aaa44be54eb3274f280","sha1":"f69565032aaeb8d28ca4ca0daea8784dc01baf70","sha256":"0ba3ef12c7fadaef9ac42ea9cd42db694e3a5d2f64c6d21c2690ec7649bdad85","sha512":"e04c814490d64e8424e9cd097247cc4ce5ef616c21619b8b6f35b81cc47ac3f4504d94e7ec0a8bc45c8d5fd0deea6427a7c1c5d34c0841b6ec1d9e0b785c0570","ssdeep":"","tlshash":"23a0120074447c0116112c75c2260544b0511a0b50902401810996c002705890113ce7","size":79,"data":"","first_seen":"2026-07-25T07:02:54.208693Z","last_seen":"2026-07-27T05:15:37.070706Z","times_seen":439,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"834dec29a06aa1149f778035ffade82d","sha1":"cc71686d432a1236d2cab595573ea9498de75463","sha256":"4f36b2c33e2478b4d3ba77a2d6ee222f79ddda0c54ed27e41f3fe2cd7a62d318","sha512":"48c414ee31ecc55c83cb5b925daaaba737aca1cf332cc37dec593c919fcf0175118fefd24df9e42662593abe95e078e5c9a09ac2502aefc496e0df715b6d590a","ssdeep":"","tlshash":"26d02ecbb1c0378ab8a66cf4f2b34a0438a322243b8080e8803a36580fe05c8d903d25","size":280,"data":"","first_seen":"2026-07-25T07:02:54.194101Z","last_seen":"2026-07-27T05:15:37.046421Z","times_seen":437,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"b6a20c0d9da44983aefc2889595774b7","sha1":"a6b83289561646aee8a972f7631e8e92f56cda48","sha256":"2fdd1b9481f875ab3ee4f5d37d4f77142929c0cdf6ced65060f0aa2aed4984a5","sha512":"9baedb500c9f00af4ff8fb892caba990a86a6042c868841f50f6b10c277d8c0566f5ce7049164e86e2bccaa0a786567e18bfb5f3ca7845b5ac65123f207b110c","ssdeep":"","tlshash":"66c022cc7b2b0c088352d9ba107b0566d86ac92cd94c8761d811fb16b92a25a087bba9","size":194,"data":"","first_seen":"2026-07-25T07:02:54.124398Z","last_seen":"2026-07-27T05:15:37.065029Z","times_seen":431,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"58cf531c1b4e5d67b0c780ff6899d969","sha1":"9e997fb73f7026136c3201510d77658d59407ded","sha256":"16d4dd67cf8a92581836f38ae1673f2fb1d7d97e0f913eaa6e7e102be59cc123","sha512":"b1961e02be4ed40fd3ccf43025f087eb7528a808a4349b7a97525a0b07f298ff35062c61bf5c5758027ef410cfa58aacfdaed05ca47e4bc93ef17feeff4817f9","ssdeep":"","tlshash":"eba0220c3c083002320b2cb0888b82cbc0202330e0080802c032c08222f3a0c830be3b","size":72,"data":"","first_seen":"2026-07-25T07:02:54.187451Z","last_seen":"2026-07-27T05:15:37.028323Z","times_seen":431,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a7f8d6710421b13561d798da885286d4","sha1":"40bbf372af2386d0230d48c56680b364196e5238","sha256":"01233f22b0adbeec53c41f6c10babce298647c9c6c5c6ced4c143a2a88d18f4e","sha512":"86969e257ca8c46c346e574182d16d97936c58fac9d836ab3b8850d964753e8fd0b3a9f5b703cc23db2f982c8ca5b56f7b2a54ab7ce90178cd8c29a05724eb22","ssdeep":"","tlshash":"79f0e1c9b392146536ec934ebddf4d613cb16158413c512da7a066f104a06d5a8edf53","size":585,"data":"","first_seen":"2026-07-25T07:02:54.206377Z","last_seen":"2026-07-27T05:15:37.041431Z","times_seen":430,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"f3c46dd141ed0afa02a1b3049bab0729","sha1":"0f9b6e8412fa13b27e3af2816a112bb28a04a735","sha256":"4962a69b03ce9dced7bd2f588eead880ca97dc93d3fd354fc911d8b6b815d11b","sha512":"006dc0d7d1ead7ff5d5cf02082d1aaebb3dfc2a9a046c9d60bddadfcb9e0ac4702e9868970fb61a9af4bf366d76a03d09a264adf462e9414296dd0d749c136f3","ssdeep":"","tlshash":"9ac08c090b0dd3a6038a6a94610a43aba15284cabe615c28ab40e0c2e68e6054066a1e","size":151,"data":"","first_seen":"2026-07-25T07:02:54.100897Z","last_seen":"2026-07-27T05:15:37.02248Z","times_seen":429,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"cb8abb683722cea7fb115342abc554ef","sha1":"776b83217d825a68ed51f891fb2d360c233eb726","sha256":"139ffca75e64693ada18ad987a1d7881947ff41ed7784d3dcf349f5915124464","sha512":"7fceeb9ba20bab9484738d20748f7a935aca6ab7d869417d3629d2db9884afba198b09c6fdca26a84d90d6fa5676000775da441daf4e9940fc687e476ae54a67","ssdeep":"","tlshash":"9fd097c46bbb982c4984ce2b40331131d049a21c8e080c50b230fb3bf7a075b243b0d1","size":231,"data":"","first_seen":"2026-07-25T07:02:54.205479Z","last_seen":"2026-07-27T05:15:37.011563Z","times_seen":430,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"13d618642764d2b6960367a857576c87","sha1":"8a7893b1545d1dfa2ebee469c2ee8ddd0a0c0b7d","sha256":"45428e1193fa8edd3f86d91bf4fb01b486cd6c1290d013f948c732adf7fb8875","sha512":"ae679fdd05e738532172c82f852d19e014f49f54e805eb49694cf0849c98278864afe9d8cbf2d19fa29c5fa73aa5143aeb3d012d841915597b5af30af9c77ba3","ssdeep":"","tlshash":"707000083c08a000822238a000ab00280022000022808a8080a000a00c3280a800288a","size":22,"data":"","first_seen":"2026-07-25T07:02:54.077156Z","last_seen":"2026-07-27T05:15:37.088571Z","times_seen":436,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"cbce5f030ab9bcb5d5a13f3094ed0c14","sha1":"a8dabb19b3be950bce6159811f80596a5bd78b54","sha256":"22d532f2907a94e1755ff7183e34abaed0e92f01415b2c98b71e860af2af3020","sha512":"d8d914e21a56a18b2bf24d25cf9df74cd94c4a9fdbad963cfd1eb90080d01d6cdafd27712026ecf692d43cfc977a8abf44d969e2d299d204b4da9263b9dc7036","ssdeep":"","tlshash":"e07000283c08e800022238a000bb02280222000022808a00808080a00c3200a800282e","size":22,"data":"","first_seen":"2026-07-25T07:02:54.179802Z","last_seen":"2026-07-27T05:15:37.087506Z","times_seen":432,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"a5f3c6a11b03839d46af9fb43c97c188","sha1":"a7ee38bb7be4fc44198cb2685d9601dcf2b9f569","sha256":"86be9a55762d316a3026c2836d044f5fc76e34da10e1b45feee5f18be7edb177","sha512":"dddb9ec4c4ac04a2559d9b711eaa8e35475db3c4d6a7a06dde785dc83f3ed121710cb512733c8095ff346fc8601e7a73ecb53fac752010116e692b1ce73c8e59","ssdeep":"","tlshash":"c700000000000000c00000300000000000000000000000000000000c00000000000000","size":1,"data":"","first_seen":"2023-03-07T01:02:19Z","last_seen":"2026-07-27T05:15:10.327851Z","times_seen":86106,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/plugins/revolution/js/extensions/revolution.extension.parallax.min.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"introduction_type":"scriptElement","is_inline":false,"md5":"aaf7e95e34f292b1a098887db6cf9ee3","sha1":"e00d5e9a3dca546921b83d15a0cb7a9261467027","sha256":"149d1060d155832cca22142423c095866d6b03277f372ebc1967ecdf579a435b","sha512":"824a519d23ccf5819ec06039fb8ab8b9a43679052bfd7d644b7c5c596b7a9ed5f51e1fbc82b2558db2c3314a2a4982c8f54154ea1bd0338bed5675a7dda76d16","ssdeep":"192:BcLK1q1e1XfU9dciEK5FKw0Vm7Wgput9mHJnGN82PbZ7:n1q1e1Xf4+KL6m7WgpAmHUNVPbZ7","tlshash":"7432d95a6e2028f640f3132cf9ad45d273228572e5068d41f9e6f9b9566ce9c037abcc","size":10931,"data":"","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-07-27T05:37:05.242283Z","times_seen":1180,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/plugins/revolution/js/extensions/revolution.extension.video.min.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"introduction_type":"scriptElement","is_inline":false,"md5":"02bf3ed4a0eaebfb8eccd78d58acb3c1","sha1":"d24d3cf3002ad0f2d1aa3d17b9d330e8bb343712","sha256":"8c31c97858196d93a06ad02300c31b25acbb40b1b6e63c11c77ac6644f0cff01","sha512":"bf443cd79b8e5460dbca4a5e3369df02e8fc1b0fa687fd482a5e85ffb5ab7da584a545ece35fa9e5e4ca9e1cd87270b7a11700396974e5797301366ff615c765","ssdeep":"384:ZJf1dVyV0HW8Tn5rk4kcpNWpVbwhqASaR6R/fl1WkZtqjVM1e48ENrLHMHzA9bn+:1dVyV02A5pU6AASag+RjVh4xwzAEUS1J","tlshash":"5cb2c867f50418a5c419f9969daf115132b1fa7de0058ef068f7e2b41f3ce8220daade","size":24211,"data":"","first_seen":"2023-03-07T13:53:39Z","last_seen":"2026-07-27T05:16:16.829694Z","times_seen":532,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/js/owl.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"introduction_type":"scriptElement","is_inline":false,"md5":"54428880ec8df798ac3d666f5113c7ff","sha1":"9e43e74b8677f39e87f1b11be4d536c618b14bb3","sha256":"0402874ff311f284b18af9e4c453ee5bf0916a3b7335f0be52dcb54a1a31338b","sha512":"abceb872c8942d366a533c0c572e0e6e31d1b428ad2bc6fa1e746fd31811b6f8dfcd77814723adf44e1a8585436b511097576159b8eab40706b025e3158eda24","ssdeep":"1536:/PLoreUScogMjVNPP8aLMBJk8u9hKt1o619IYj1oJ0SQIOZ:/fHNPP/qJ9BoC9XplIOZ","tlshash":"e48383c5f36c261b422a31785e9e23ce713d412ad91118af7ca4e9dc28d546c836eff9","size":85303,"data":"","first_seen":"2023-03-07T01:10:42Z","last_seen":"2026-07-27T05:05:33.730765Z","times_seen":4576,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"e25b5a6d5b2365cb579d486a6acba51b","sha1":"6f513d7efbf5cd1176677d41c82b897b8006217b","sha256":"81799c32d53294ca91ef92a976a6501f0a7c8c424aa44278c8f06c0f71e0eb52","sha512":"d0b8a9b323c125a111082164ec638c05109a1b0add4136f4a0b69c99b680579b4755177a7c586a92f295bd1882b7eb8e41eb6bac406ef90d4257805cfb82308f","ssdeep":"","tlshash":"e9e07db0258123422174df79f0f3120430e072c67e48ac8f51256b428e388c1142353b","size":314,"data":"","first_seen":"2026-07-25T07:02:54.113702Z","last_seen":"2026-07-27T05:15:37.075345Z","times_seen":436,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"553043d48d6dd80a787af64045a49e96","sha1":"e63956e5e0aa636885b9ed763d13ab9fdd1ecc29","sha256":"1984338e5b6994ef452ccc065e0cbad0892b40e3ae8938d3bde4f6a76e660975","sha512":"6754bfc75e8a2d15fb5e7f309524e2b22812ff1d97cd7b18508495ab00c590eb64ced78dd0bff9aae3a5902fc2fd215cd73b76864004a441d2239777a547c631","ssdeep":"","tlshash":"8ad02bfb5811c06ffc23059213335dc910d2f20cd5993f9ab5b2b1a4392000c70d54c7","size":281,"data":"","first_seen":"2026-07-25T07:02:54.176272Z","last_seen":"2026-07-27T05:15:37.05286Z","times_seen":438,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9af69e91e9a0e1650ac23ca1a06d9a03","sha1":"1a26706289f10c0bd07fcca5b37e9cd1f31742ce","sha256":"b5f92e34f5614aa40d35166769b90304819bc552ad045006a56b2672ea5e635a","sha512":"23ce7998bc81e6515eb7c1d416ff1e22fe067aaf6d5348bd66654a5c6d9d65e89276e08da1431693589b7566ebdd95651132e2d6ed6ad3cc765532482f5c5d3c","ssdeep":"","tlshash":"67d023de54545753a25515f39009d6154307504f52f8cf5bd11198b414d64074087b11","size":213,"data":"","first_seen":"2026-07-25T07:02:54.07392Z","last_seen":"2026-07-27T05:15:37.02025Z","times_seen":446,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"506062df458617a6bfdd35a3fbd41c54","sha1":"7e7395752c17ceee179c6a6ac0cdc54a44401c6b","sha256":"a7e4c6a4faba5d54fbf9e416b44f1e4c26d60946ee542ea3510b95b0c146e6a4","sha512":"e0aa46183e606b4bd2eac6695caecce85498b80a41894bc26fd6dfa2a7db92c78f9e69349df0daf41d79df5a8d1f95c5aef07047e4231252f0eaa123daf3d096","ssdeep":"","tlshash":"cff08bd487010de8b201bce92deb3464927f89133c503009ba12a21a5234f4d945b82d","size":540,"data":"","first_seen":"2026-07-25T07:02:54.146382Z","last_seen":"2026-07-27T05:15:37.081509Z","times_seen":433,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c2d0b50c5f3341004fc9eb0180fbedbf","sha1":"a61e5ec146c93a860130cb8da7142fa3d1026a4b","sha256":"9c8b8d8ede5390dffefadd3c93c2cba6763f91fa72ec56525f683cd02667344d","sha512":"862f887b9b3c5580acb5d98a1e3c047e6c07f5fdb963069083a16c1b6a8380f5af6fa58d032da5b3756a57de86cfc388c7c7f96a9dbd5f0e0214407796ce8e38","ssdeep":"","tlshash":"0ad05b40ab0ae553904e3cd7c69ed9251a9155672112c01171216074d4735e487467a1","size":260,"data":"","first_seen":"2026-07-25T07:02:54.164149Z","last_seen":"2026-07-27T05:15:37.057509Z","times_seen":430,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"25607f1ffaa7d1ff142e22e0e8ae6779","sha1":"207c150da361f4c91b20acad7c60918a9818305c","sha256":"8495a59d9339a0440ffe0861eaf8f3248dc31cd6f5e5447e07d6e6d376b2002c","sha512":"5a76b2517dfa3140c30a7a50b1d6f4d49ccf641725897a7d2f2131e4638d97279de45263ebb59371c7dc55e1204c94afd08eaf294e6cffb62e94580ea47223a0","ssdeep":"","tlshash":"6ad05eeb6b0f267900d33d34090b0a546a56c401ecca14e59711b8dc4f5460b40f3d2e","size":242,"data":"","first_seen":"2026-07-25T07:02:54.140729Z","last_seen":"2026-07-27T05:15:37.071234Z","times_seen":433,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"796a99cad1a6610a7fa68e368d72cb4d","sha1":"b484b5b4973974c40859b0bcdc09c6c87a9a659c","sha256":"d61a50f46cd94e534153820f129c90bcab530e78f08cf2f179b008fac3c6f3dd","sha512":"76e33f7b2eac4d092754e12c149ce663195bad3173c574ddbd997bbc8a75594e868ace5263bfbb32aa2d38fe74918ef36242241498935df9df6535aecdaa7fb7","ssdeep":"","tlshash":"69d022072287ddb6a2729804030afa15b0ff100b0f262a06f3c885026734b8cc262a97","size":214,"data":"","first_seen":"2026-07-25T07:02:54.074862Z","last_seen":"2026-07-27T05:15:37.041924Z","times_seen":430,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.417301Z","times_seen":189117,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.457615Z","times_seen":77568,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.520541Z","times_seen":338672,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"5206560a306a2e085a437fd258eb57ce","sha1":"c9ee5681d3c59f7541c27a38b67edf46259e187b","sha256":"de5a6f78116eca62d7fc5ce159d23ae6b889b365a1739ad2cf36f925a140d0cc","sha512":"40422e2733a73dec2f9aac48e2ab48d3b2fdcdc1e3a88bc7ea855227e62c029246da1dd49dd057bb8a8b796b3b2a6f60d9d8a85de53df597e422b2f68c54cfb6","ssdeep":"","tlshash":"c70000000000000cc00000300000000000000000000000000000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T12:04:13Z","last_seen":"2026-07-27T05:15:37.029763Z","times_seen":68591,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"207c220e7119b0530724dc731f2361b4","sha1":"7aa18fcb217183a72060d380ee0150133518dee3","sha256":"645011bcb7ff4bb41b4ecb04213d43dbbf54fef13631581a2a59f7c167aa18fa","sha512":"9c0f5f4d4d2cba1b9b96427bc6a014a81fa6fc98815e7fc6370ef28c0b65d196a6d55fc7d9ccb9125455f8eab715e16847eec069e146de094aefb9e753f21fa3","ssdeep":"","tlshash":"80c022c87b2b0c088352d9ba107b0526d86ac928d94c8760d811fb16a92a25a087bb99","size":192,"data":"","first_seen":"2026-07-25T07:02:54.165992Z","last_seen":"2026-07-27T05:15:37.090608Z","times_seen":435,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.290992Z","times_seen":173862,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.407513Z","times_seen":171599,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/plugins/revolution/js/extensions/revolution.extension.slideanims.min.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"introduction_type":"scriptElement","is_inline":false,"md5":"8cc105dfeffdc03367dcbe7ea3ef264a","sha1":"9aa2e656e163d9a3ea622b4897974884583e4cac","sha256":"80a9123891e91ebbb1c06a2d2c79533155a8f17c51ac09013efa57bc007f303a","sha512":"bd11bf18cac33ab7a76618c84aedbaf123d050b4f9bbeedf5ba560e81b514a7e169f95d89afeebe3a28227ed453ae0f8afd43d774be2d3e59b88c31b27cfe08a","ssdeep":"384:Ky1KpMxWR1zy40Islk/4EfoXdOM8w706DvCQ41b0zouFwhq1Tdo+2sb3AB8kNv1A:KsIslkQEfoXdOM8w7HvfzoiHRBm4","tlshash":"a8d2ebebaa265c6290532142c3a54d192168ce36fd32aeda33d6d0f506c305d37fafd6","size":29401,"data":"","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-07-27T05:37:05.261078Z","times_seen":1647,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/js/widget.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"introduction_type":"scriptElement","is_inline":false,"md5":"df575bc616bea3142f70a780e2b9cf31","sha1":"4e260c27385c932a000c3b9d62ae0b1c3a6b153a","sha256":"ec7e2a41be92b6a9406e6b1ce0a778258c7cb5727563c7c30732e412bce31136","sha512":"0a3c8232ed1e7ae87af9f0f80b6997db16a9248438b84a8dd5da524589bc70f9064b2751214d438b5438084579b39143288b9a5f2c9c7f87306dfb6566a3fb2e","ssdeep":"3072:aT59ZiEOcCc9/7x34NYD8OumJH5G/+Gzhq:Y59gEOcCoh4NVmJA/+Cq","tlshash":"e0141bcdb192f06247a721b4006f460bf279285d640e4898f268e8e9bd7cd5e617bf7c","size":208839,"data":"","first_seen":"2024-12-04T10:10:15.812801Z","last_seen":"2026-07-27T05:05:33.682021Z","times_seen":19,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.cryptohopper.com/widgets/js/script?_=1785123232108","fqdn":"www.cryptohopper.com","domain":"cryptohopper.com","tld":"com"},"ip":{"addr":"172.66.153.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"8499c3b86de4df25542c2f9f78d8a79c","sha1":"3942a2674cb09241e3598eb3d6403e3d2c2b09ff","sha256":"d67aaeb25ce9e34bdc18b2d3ba099086b1c3e5f3cda04edebcb14f826e5a78e4","sha512":"2a7103879757369f94970215e8e1d51255a567118cdefa1147396499dfe093175ddd63b579e790d1df3d4c2dd4ff4043ebeccd917124c6635654adf928d6daba","ssdeep":"768:DPFqnpKxIFoN7jGS9yp8TaA/ME0pwKfID8gXATtIpEmR7/7Scrni6NFDjdmyXRs0:RqnpKxIFoN7jGoaAUEyTOPncyXRsYxuK","tlshash":"54c20919f640b4bb027762aab43f5316326779e676020450a06dd9f17efcd882337f6a","size":26729,"data":"","first_seen":"2023-03-08T06:37:48Z","last_seen":"2026-07-27T05:16:33.138468Z","times_seen":585,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.546734Z","times_seen":175965,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.298065Z","times_seen":207341,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/js/jquery-ui.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"introduction_type":"scriptElement","is_inline":false,"md5":"8ec0db1cb8ed2395c5df4e11be0d86e9","sha1":"d91e3c65e262d7e0021a926d228b9f6ad9aef4a9","sha256":"97bca2a8204372f21c29bc2d6ceeb192eab0719f1d154e1073f04acd8d2f0064","sha512":"0bbe5fd8a7991d8f0bb43a0dff3bc1130f5e2514524fcca9dc4662815155644d44a550ba2ffd92e86177c024d28319dc28a39d007c01bfde6bdbfe3d429c8f71","ssdeep":"12288:BEebHeg/md/AHhsncaL8ata+3XIdCgTf9kDUUB:EoHhsncaL8ata+3XIBf9kDUUB","tlshash":"66b4c7d5334f226f86ea3359983a9289e63dc075d202807d789d58dd25a8c2843b7ffd","size":539425,"data":"","first_seen":"2023-03-07T12:02:47Z","last_seen":"2026-07-27T05:44:01.826172Z","times_seen":1222,"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.150.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-27T05:16:58.366925Z","times_seen":351,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"57cec4137b614c87cb4e24a3d003a3e0","sha1":"23eb4d3f4155395a74e9d534f97ff4c1908f5aac","sha256":"18f5384d58bcb1bba0bcd9e6a6781d1a6ac2cc280c330ecbab6cb7931b721552","sha512":"4921de1edb2ecc8ca3a22823705194b902cfa471675f2d1ae8bf67d0c7b060a7c192e36ffca9f1a0d90ac2dbbdaf429ee1ec97e160eb00dc80b07000935304f3","ssdeep":"","tlshash":"c700000000000000c00030300000000000000000000000000000000300000000000000","size":1,"data":"","first_seen":"2023-03-07T01:02:06Z","last_seen":"2026-07-27T05:15:37.053526Z","times_seen":45423,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"952ddc5ca686660c54f7b74840982b4b","sha1":"fe05b5837e28143d2981f9a67a56e565a7982be7","sha256":"9baacdd193c5a18c5a01ecf248bf7a316f7927c345ee3ec94fdce802d458718e","sha512":"a652cf3cc48705bc2b0fcbb449a0a61fcf31f30ad0feab7697a10c6c0e6485353c815048a9570763d74cddcb857fe49973ced6de10bc5f8239c7671fbe1881e0","ssdeep":"","tlshash":"d5c02b08746220f04e43ce395fbfc804a05c62511720128c216274c80c80a94607308d","size":139,"data":"","first_seen":"2026-07-25T07:02:54.186501Z","last_seen":"2026-07-27T05:15:37.040467Z","times_seen":433,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.556694Z","times_seen":173902,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.453985Z","times_seen":207374,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.414745Z","times_seen":186602,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/js/jquery.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"introduction_type":"scriptElement","is_inline":false,"md5":"adb784ef9dc257b32965a5da7ee82a8b","sha1":"7a41c488d820ea08231d1d393e5f4daed4d25041","sha256":"8e09aa31f396ea41d698f437dc5fc7125e931d400eb2873f5b68ef78c1e6f3a6","sha512":"bc8fcdf5a4645443c394b0d1b7222b2e2321a4558cd39cfac18c88aa1abc44d4317a94a26b0f8444f6700197fe2a90d2812c42fb1f85fc5ae33069343579d4df","ssdeep":"1536:fYE1JVoiB9JqZdXXe2pD3PgoIiulrUn6Z6a4tfOR7WpfWBZPBJda4w9W3qG9a98Q:u4J+rlfOhWpgCW6G9a98HrU","tlshash":"1383c6d9b2d6706297b734b850bf410bb17a98dab44c8c60f059d4e47eb4a8e507bf2c","size":85580,"data":"","first_seen":"2023-03-07T01:20:21Z","last_seen":"2026-07-27T05:57:49.9419Z","times_seen":2148,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.cryptohopper.com/widgets/js/script?_=1785123232109","fqdn":"www.cryptohopper.com","domain":"cryptohopper.com","tld":"com"},"ip":{"addr":"172.66.153.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"8499c3b86de4df25542c2f9f78d8a79c","sha1":"3942a2674cb09241e3598eb3d6403e3d2c2b09ff","sha256":"d67aaeb25ce9e34bdc18b2d3ba099086b1c3e5f3cda04edebcb14f826e5a78e4","sha512":"2a7103879757369f94970215e8e1d51255a567118cdefa1147396499dfe093175ddd63b579e790d1df3d4c2dd4ff4043ebeccd917124c6635654adf928d6daba","ssdeep":"768:DPFqnpKxIFoN7jGS9yp8TaA/ME0pwKfID8gXATtIpEmR7/7Scrni6NFDjdmyXRs0:RqnpKxIFoN7jGoaAUEyTOPncyXRsYxuK","tlshash":"54c20919f640b4bb027762aab43f5316326779e676020450a06dd9f17efcd882337f6a","size":26729,"data":"","first_seen":"2023-03-08T06:37:48Z","last_seen":"2026-07-27T05:16:33.138468Z","times_seen":585,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"c97f06046b55e8dae6a537ed7ae34fef","sha1":"84149880d516a37ca62c27e982f46d830b79caa8","sha256":"131b8b1c3193add0da6e1bc7b54e66e599b02037f372eb68ae1086fe443811f4","sha512":"8cd93216b1b29a3b9551a054b4c950e750d68749d9f6a2c8d7ddec13ec6894949d80c67cd339cd50916de026e15fc81727f9725ae127a9d6604b5989a711fa8f","ssdeep":"","tlshash":"6ef0dc0d48fd83769ac44dc290d33c0ccb0806071cc2610f7a49fb7032632b78497e64","size":485,"data":"","first_seen":"2026-07-25T07:02:54.134293Z","last_seen":"2026-07-27T05:15:37.06243Z","times_seen":431,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"ded6cb7b021faf2355497e718ed7afc0","sha1":"fde446763014ad7c5b2045c021bdfe8ca139fd5d","sha256":"096a45acd89683278277589df946866fc34365c96212f1a60f42b143e5ffb28c","sha512":"160406cdfc444d63df42a6cff7c879049902401b95442e7ce2b82ccbac11aee8f6dbb1eb8382e2d8d21257925b51718eea4518fc53f8161654c3d8eef36546a9","ssdeep":"","tlshash":"25d02ba5b1061051f77079a19262d8989992d6cb2af1cdeb442c41400dbfe045875b14","size":283,"data":"","first_seen":"2026-07-25T07:02:54.081421Z","last_seen":"2026-07-27T05:15:37.091558Z","times_seen":430,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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-07-27T05:12:07.419904Z","times_seen":190615,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/plugins/revolution/js/jquery.themepunch.revolution.min.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"introduction_type":"scriptElement","is_inline":false,"md5":"edd0a8f07cc892d86518ad62642dcab0","sha1":"e8ddc925c3ebaa77f120932e1acf3b680e84df51","sha256":"5bf19de4a1e69b7b3cce947da22702f074c0963192bf9eb3ea9210ac07c52f67","sha512":"e980a77cc13ada7ac28eaaa1db1a4c738aaf959cb7bfcaa68390e7e7500fd1218ef7bb4368102b69a8cb7bf4968d01207cd58ba6e5770599388d022fb656c1aa","ssdeep":"1536:gCnzw4tqc78qdVSrk8cheMxtWd9YidEQ8Mv3xVgnufnQuh2VLc7iKiFn2+9arAI+:gCnzXF7TdVSrk8VMmNsLciKB+9qOd","tlshash":"51530b64be10347694bb2265e03f8615b2b15c37eb02c4a0e5d7587c6be8d89236ff8c","size":64896,"data":"","first_seen":"2023-03-07T12:05:18Z","last_seen":"2026-07-27T05:21:44.297627Z","times_seen":2091,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"7fc56270e7a70fa81a5935b72eacbe29","sha1":"6dcd4ce23d88e2ee9568ba546c007c63d9131c1b","sha256":"559aead08264d5795d3909718cdd05abd49572e84fe55590eef31a88a08fdffd","sha512":"21b4f4bd9e64ed355c3eb676a28ebedaf6d8f17bdc365995b319097153044080516bd083bfcce66121a3072646994c8430cc382b8dc543e84880183bf856cff5","ssdeep":"","tlshash":"c700000030000c00c0000030000000000000c000000000000000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:15:06Z","last_seen":"2026-07-27T05:14:35.6246Z","times_seen":74449,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"db0e667538ab4e563e08c53acdc8adca","sha1":"7b00a8cb6da0a073775af7b8536d09fa244594ec","sha256":"b57608c5537f1c358fa12ec9a41449489847678d160fc29bea540ebfe93b1af5","sha512":"0388191a568e959e0ee4d19304a222bd647c874b02cbbe7a589757c47da8277ca1e7afb02a3eb9803a1fdf3220bae8875aad1d8f8fd624284f0fcd32abbcfeff","ssdeep":"","tlshash":"f9c0c000f44cc39725933c2f0d41873e801b120384320c030301d8cd0833beee245f60","size":180,"data":"","first_seen":"2026-07-25T07:02:54.18944Z","last_seen":"2026-07-27T05:15:37.068959Z","times_seen":433,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"16c0e822a412e900773f94265229b860","sha1":"3f7b94f3942f43c81bf6104a63328a04122f46ef","sha256":"b15fdefcf464539466ed442882025a3860330cb62ac4613d91e8a94448850155","sha512":"662eed3905e417a9d5d68d7a9aef8c7eb97df1e6c03ad095fe7bc3f29a7820cd4b4611afd58f3ac95a91b71d7c45daeebcddd1ed5092d85b6d678b40b7fbe88f","ssdeep":"","tlshash":"60a024005c0c45013713315144370c0750d11107f0f44d0f430dc05017305050744333","size":75,"data":"","first_seen":"2026-07-25T07:02:54.207231Z","last_seen":"2026-07-27T05:15:37.066484Z","times_seen":430,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"44bf5c64c6735cce0a08dc88b60c8c6f","sha1":"535d023f637348f46cc0ea7ac22013ea735792c8","sha256":"c4e020335577dd132cf8e746b5706e3659087f1c2b850bcd322696d0cf844ba8","sha512":"b222003356ac2e43191663d9669a05c99300681d85d130dcd7052295abb788ab8802faee52e4099d9fab9850d10e6739c2ffc33f6ed27bf9ae3cc29e9ec72352","ssdeep":"","tlshash":"049022a03ca2300000003200800f0330a3032883e08802c28000a8aa2c3000808c0000","size":56,"data":"","first_seen":"2026-07-27T03:34:41.100053Z","last_seen":"2026-07-27T03:34:41.100053Z","times_seen":1,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/js/jquery.fancybox.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"introduction_type":"scriptElement","is_inline":false,"md5":"6e11711058a9459a94d5a19b26a78135","sha1":"76792d5913afe035b6ccbac585b0b5e70b33aa76","sha256":"7b99eee1db728472aaa8452017a0d755f488e8d647cc0f62baf45f8ff65b95ba","sha512":"6ecbe997bc6e82fa7976a98e291ec31e043de23f0f5d06834fcc809cde8d0c3ffa0e96c734dfc0b0fbc313e405eac603540913794bb3a9a86ac56db5d2ab868a","ssdeep":"1536:26iljQs+4wETv0qwF/fwUsjuFR4amerr3txU0Me7/pby+mHWgGbAdKfW7WP83RSp:2NoETcqwF3wO/VUbZZr7WP83RSD6E3t","tlshash":"f3e3968a67bd112589333129ab8f705eb57e8423a10dd9263cad53481fc13a943f5fee","size":154104,"data":"","first_seen":"2023-03-07T12:02:41Z","last_seen":"2026-07-27T05:36:37.745062Z","times_seen":3430,"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.150.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-27T05:15:36.961391Z","times_seen":888,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"61e9c06ea9a85a5088a499df6458d276","sha1":"e2415cb7f63df0c9de23362326ad3c37a9adfc96","sha256":"fcb5f40df9be6bae66c1d77a6c15968866a9e6cbd7314ca432b019d17392f6f4","sha512":"61037724a2fb00a12fa8a53ada233f54ff7fc6ee02048e579b83a127ce79fc03906c35b5307beb18a3cf5021fe031ae6587448d4d60a082d73252fe2e2f4ae7f","ssdeep":"","tlshash":"c700000000000000c00000300000000000c00000000000000000000000000000000000","size":1,"data":"","first_seen":"2023-03-07T01:02:14Z","last_seen":"2026-07-27T05:12:07.404438Z","times_seen":79691,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"9e6f21901550fc1605fc3b7bb6220df5","sha1":"2c9aa881509ef9f0bdc5a0e496b852467b52bd1a","sha256":"d68cf2832956cf0a7b5ce50801e57f1a4aa9c959d170ef458bc12ee7a8e26f5f","sha512":"fe48c482cef77538444ec38384fc51fd461c90e228bcc2be17c1558ea1937e26eee63a2ea7fd01969aa1132b1413d738bc023fc6ea286b151dd8f8267278ad12","ssdeep":"","tlshash":"6ca0120074447c0116112c75c2260548f0511a0b50902401810596c002705890113ce7","size":79,"data":"","first_seen":"2026-07-25T07:02:54.172421Z","last_seen":"2026-07-27T05:15:37.059013Z","times_seen":439,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"introduction_type":"eval","is_inline":false,"md5":"673a875cd33f946c7fb234078db0d89f","sha1":"f1cecf9e970522a619b72e66a124dbf89737b06f","sha256":"e4d6fedd18866f7aa5469a8b90a348fec071f4b82598152a7aac6419edc3ac3b","sha512":"da7502389b64be9c9f1ce98b8976e58b6f1e897b5afd9af08fba27f6d70d01021e08f621eec1d589e2ffe0bd67e8610fd8936fb35623d28eb443631414c11e87","ssdeep":"","tlshash":"c71000c000000003000000000000000000000000000000000000000000000000300000","size":2,"data":"","first_seen":"2023-03-08T06:14:19Z","last_seen":"2026-07-27T05:15:37.067469Z","times_seen":2308,"alerts":{"ids":null,"analyzer":null,"urlquery":null}}],"eval":null,"write":null,"console":[{"level":"log","text":"Bitcoin Widgets: === Build 28 ===","filename":"https://agilitetrade.com/js/widget.js","line_number":6,"column_number":31178},{"level":"log","text":"Bitcoin Widgets: Initialize. Looking for target elements","filename":"https://agilitetrade.com/js/widget.js","line_number":6,"column_number":31178},{"level":"warn","text":"Bitcoin Widgets: No target elements found! Cannot create widgets.","filename":"https://agilitetrade.com/js/widget.js","line_number":6,"column_number":31178}]},"http":[{"url":{"schema":"https","addr":"agilitetrade.com/plugins/revolution/js/extensions/revolution.extension.carousel.min.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.592Z","timestamp":1785123231592,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /plugins/revolution/js/extensions/revolution.extension.carousel.min.js HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Wed, 22 Apr 2026 17:27:52 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 2466\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":7607,"size_decoded":2789,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (7370), with CRLF line terminators","md5":"54aac3fc68b283e8ad22894408ae47a2","sha1":"8164c126f5b57e1ebf04b7440cce2e3aae7e5ba9","sha256":"6180c6c38c4e3b9ac75b0c51215dcf0d6aa5b62757be3d993df8a28ca17a8820","sha512":"35d94cffaa30b5bde92cf0400ccd3c7b309215a6d486dac7f46249ed949fe7a1ea21ab81cd48253a9fa740d2be063b7e4ec7d90051cff7b7b435d2c789766e41","ssdeep":"192:euN8q7sZ9sfpCfQcwaxXTZTn1WUCfl8YafSutLZgO:mqIypeQsZWqf9","tlshash":"13f1628460153daf0652b349966680f953fc294c672be8647cff7165085cacd027feee","first_seen":"2023-03-07T01:02:47Z","last_seen":"2026-07-27T05:48:54.324317Z","times_seen":1643,"resource_available":true,"data":"LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogKiBSRVZPTFVUSU9OIDUuNCBFWFRFTlNJT04gLSBDQVJPVVNFTA0KICogQHZlcnNpb246IDEuMi4xICgxOC4xMS4yMDE2KQ0KICogQHJlcXVpcmVzIGpxdWVyeS50aGVtZXB1bmNoLnJldm9sdXRpb24uanMNCiAqIEBhdXRob3IgVGhlbWVQdW5jaA0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KIWZ1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0Ijt2YXIgYj1qUXVlcnkuZm4ucmV2b2x1dGlvbixjPXthbGlhczoiQ2Fyb3VzZWwgTWluIEpTIixuYW1lOiJyZXZvbHV0aW9uLmV4dGVuc2lvbnMuY2Fyb3VzZWwubWluLmpzIixtaW5fY29yZToiNS4zLjAiLHZlcnNpb246IjEuMi4xIn07alF1ZXJ5LmV4dGVuZCghMCxiLHtwcmVwYXJlQ2Fyb3VzZWw6ZnVuY3Rpb24oYSxkLGgsaSl7cmV0dXJuInN0b3AiIT09Yi5jb21wYXJlX3ZlcnNpb24oYykuY2hlY2smJihoPWEuY2Fyb3VzZWwubGFzdGRpcmVjdGlvbj1mKGgsYS5jYXJvdXNlbC5sYXN0ZGlyZWN0aW9uKSxlKGEpLGEuY2Fyb3VzZWwuc2xpZGVfb2Zmc2V0X3RhcmdldD1qKGEpLHZvaWQodm9pZCAwIT09aT9nKGEsaCwhMSwwKTp2b2lkIDA9PWQ/Yi5jYXJvdXNlbFRvRXZhbFBvc2l0aW9uKGEsaCk6ZyhhLGgsITEpKSl9LGNhcm91c2VsVG9FdmFsUG9zaXRpb246ZnVuY3Rpb24oYSxjKXt2YXIgZD1hLmNhcm91c2VsO2M9ZC5sYXN0ZGlyZWN0aW9uPWYoYyxkLmxhc3RkaXJlY3Rpb24pO3ZhciBlPSJjZW50ZXIiPT09ZC5ob3Jpem9udGFsX2FsaWduPyhkLndyYXB3aWR0aC8yLWQuc2xpZGVfd2lkdGgvMi1kLnNsaWRlX2dsb2JhbG9mZnNldCkvZC5zbGlkZV93aWR0aDooMC1kLnNsaWRlX2dsb2JhbG9mZnNldCkvZC5zbGlkZV93aWR0aCxoPWIuc2ltcChlLGEuc2xpZGVhbW91bnQsITEpLGk9aC1NYXRoLmZsb29yKGgpLGo9MCxrPS0xKihNYXRoLmNlaWwoaCktaCksbD0tMSooTWF0aC5mbG9vcihoKS1oKTtqPWk+PS4zJiYibGVmdCI9PT1jfHxpPj0uNyYmInJpZ2h0Ij09PWM/azppPC4zJiYibGVmdCI9PT1jfHxpPC43JiYicmlnaHQiPT09Yz9sOmosaj0ib2ZmIj09PWQuaW5maW5pdHk/aDwwP2g6ZT5hLnNsaWRlYW1vdW50LTE/ZS0oYS5zbGlkZWFtb3VudC0xKTpqOmosZC5zbGlkZV9vZmZzZXRfdGFyZ2V0PWoqZC5zbGlkZV93aWR0aCwwIT09TWF0aC5hYnMoZC5zbGlkZV9vZmZzZXRfdGFyZ2V0KT9nKGEsYywhMCk6Yi5vcmdhbmlzZUNhcm91c2VsKGEsYyl9LG9yZ2FuaXNlQ2Fyb3VzZWw6ZnVuY3Rpb24oYSxiLGMsZCl7Yj12b2lkIDA9PT1ifHwiZG93biI9PWJ8fCJ1cCI9PWJ8fG51bGw9PT1ifHxqUXVlcnkuaXNFbXB0eU9iamVjdChiKT8ibGVmdCI6Yjtmb3IodmFyIGU9YS5jYXJvdXNlbCxmPW5ldyBBcnJheSxnPWUuc2xpZGVzLmxlbmd0aCxpPSgicmlnaHQiPT09ZS5ob3Jpem9udGFsX2FsaWduP2Eud2lkdGg6MCwwKTtpPGc7aSsrKXt2YXIgaj1pKmUuc2xpZGVfd2lkdGgrZS5zbGlkZV9vZmZzZXQ7Im9uIj09PWUuaW5maW5pdHkmJihqPWo+ZS53cmFwd2lkdGgtZS5pbm5lcm9mZnNldCYmInJpZ2h0Ij09Yj9lLnNsaWRlX29mZnNldC0oZS5zbGlkZXMubGVuZ3RoLWkpKmUuc2xpZGVfd2lkdGg6aixqPWo8MC1lLmlubmVyb2Zmc2V0LWUuc2xpZGVfd2lkdGgmJiJsZWZ0Ij09Yj9qK2UubWF4d2lkdGg6aiksZltpXT1qfXZhciBrPTk5OTtlLnNsaWRlcyYmalF1ZXJ5LmVhY2goZS5zbGlkZXMsZnVuY3Rpb24oZCxoKXt2YXIgaT1mW2RdOyJvbiI9PT1lLmluZmluaXR5JiYoaT1pPmUud3JhcHdpZHRoLWUuaW5uZXJvZmZzZXQmJiJsZWZ0Ij09PWI/ZlswXS0oZy1kKSplLnNsaWRlX3dpZHRoOmksaT1pPDAtZS5pbm5lcm9mZnNldC1lLnNsaWRlX3dpZHRoPyJsZWZ0Ij09Yj9pK2UubWF4d2lkdGg6InJpZ2h0Ij09PWI/ZltnLTFdKyhkKzEpKmUuc2xpZGVfd2lkdGg6aTppKTt2YXIgaj1uZXcgT2JqZWN0O2oubGVmdD1pK2UuaW5uZXJvZmZzZXQ7dmFyIGw9ImNlbnRlciI9PT1lLmhvcml6b250YWxfYWxpZ24/KE1hdGguYWJzKGUud3JhcHdpZHRoLzIpLShqLmxlZnQrZS5zbGlkZV93aWR0aC8yKSkvZS5zbGlkZV93aWR0aDooZS5pbm5lcm9mZnNldC1qLmxlZnQpL2Uuc2xpZGVfd2lkdGgsbj0iY2VudGVyIj09PWUuaG9yaXpvbnRhbF9hbGlnbj8yOjE7aWYoKGMmJk1hdGguYWJzKGwpPGt8fDA9PT1sKSYmKGs9TWF0aC5hYnMobCksZS5mb2N1c2VkPWQpLGoud2lkdGg9ZS5zbGlkZV93aWR0aCxqLng9MCxqLnRyYW5zZm9ybVBlcnNwZWN0aXZlPTEyMDAsai50cmFuc2Zvcm1PcmlnaW49IjUwJSAiK2UudmVydGljYWxfYWxpZ24sIm9uIj09PWUuZmFkZW91dClpZigib24iPT09ZS52YXJ5X2ZhZGUpai5hdXRvQWxwaGE9MS1NYXRoLmFicygxL01hdGguY2VpbChlLm1heFZpc2libGVJdGVtcy9uKSpsKTtlbHNlIHN3aXRjaChlLmhvcml6b250YWxfYWxpZ24pe2Nhc2UiY2VudGVyIjpqLmF1dG9BbHBoYT1NYXRoLmFicyhsKTxNYXRoLmNlaWwoZS5tYXhWaXNpYmxlSXRlbXMvbi0xKT8xOjEtKE1hdGguYWJzKGwpLU1hdGguZmxvb3IoTWF0aC5hYnMobCkpKTticmVhaztjYXNlImxlZnQiOmouYXV0b0FscGhhPWw8MSYmbD4wPzEtbDpNYXRoLmFicyhsKT5lLm1heFZpc2libGVJdGVtcy0xPzEtKE1hdGguYWJzKGwpLShlLm1heFZpc2libGVJdGVtcy0xKSk6MTticmVhaztjYXNlInJpZ2h0IjpqLmF1dG9BbHBoYT1sPi0xJiZsPDA/MS1NYXRoLmFicyhsKTpsPmUubWF4VmlzaWJsZUl0ZW1zLTE/MS0oTWF0aC5hYnMobCktKGUubWF4VmlzaWJsZUl0ZW1zLTEpKToxfWVsc2Ugai5hdXRvQWxwaGE9TWF0aC5hYnMobCk8TWF0aC5jZWlsKGUubWF4VmlzaWJsZUl0ZW1zL24pPzE6MDtpZih2b2lkIDAhPT1lLm1pblNjYWxlJiZlLm1pblNjYWxlPjApaWYoIm9uIj09PWUudmFyeV9zY2FsZSl7ai5zY2FsZT0xLU1hdGguYWJzKGUubWluU2NhbGUvMTAwL01hdGguY2VpbChlLm1heFZpc2libGVJdGVtcy9uKSpsKTt2YXIgbz0oZS5zbGlkZV93aWR0aC1lLnNsaWRlX3dpZHRoKmouc2NhbGUpKk1hdGguYWJzKGwpfWVsc2V7ai5zY2FsZT1sPj0xfHxsPD0tMT8xLWUubWluU2NhbGUvMTAwOigxMDAtZS5taW5TY2FsZSpNYXRoLmFicyhsKSkvMTAwO3ZhciBvPShlLnNsaWRlX3dpZHRoLWUuc2xpZGVfd2lkdGgqKDEtZS5taW5TY2FsZS8xMDApKSpNYXRoLmFicyhsKX12b2lkIDAhPT1lLm1heFJvdGF0aW9uJiYwIT1NYXRoLmFicyhlLm1heFJvdGF0aW9uKSYmKCJvbiI9PT1lLnZhcnlfcm90YXRpb24/KGoucm90YXRpb25ZPU1hdGguYWJzKGUubWF4Um90YXRpb24pLU1hdGguYWJzKCgxLU1hdGguYWJzKDEvTWF0aC5jZWlsKGUubWF4VmlzaWJsZUl0ZW1zL24pKmwpKSplLm1heFJvdGF0aW9uKSxqLmF1dG9BbHBoYT1NYXRoLmFicyhqLnJvdGF0aW9uWSk+OTA/MDpqLmF1dG9BbHBoYSk6ai5yb3RhdGlvblk9bD49MXx8bDw9LTE/ZS5tYXhSb3RhdGlvbjpNYXRoLmFicyhsKSplLm1heFJvdGF0aW9uLGoucm90YXRpb25ZPWw8MD9qLnJvdGF0aW9uWSotMTpqLnJvdGF0aW9uWSksai54PS0xKmUuc3BhY2UqbCxqLmxlZnQ9TWF0aC5mbG9vcihqLmxlZnQpLGoueD1NYXRoLmZsb29yKGoueCksdm9pZCAwIT09ai5zY2FsZT9sPDA/ai54LW86ai54K286ai54LGouekluZGV4PU1hdGgucm91bmQoMTAwLU1hdGguYWJzKDUqbCkpLGoudHJhbnNmb3JtU3R5bGU9IjNEIiE9YS5wYXJhbGxheC50eXBlJiYiM2QiIT1hLnBhcmFsbGF4LnR5cGU/ImZsYXQiOiJwcmVzZXJ2ZS0zZCIscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGgsail9KSxkJiYoYS5jLmZpbmQoIi5uZXh0LXJldnNsaWRlIikucmVtb3ZlQ2xhc3MoIm5leHQtcmV2c2xpZGUiKSxqUXVlcnkoZS5zbGlkZXNbZS5mb2N1c2VkXSkuYWRkQ2xhc3MoIm5leHQtcmV2c2xpZGUiKSxhLmMudHJpZ2dlcigicmV2b2x1dGlvbi5uZXh0c2xpZGUud2FpdGluZyIpKTtlLndyYXB3aWR0aC8yLWUuc2xpZGVfb2Zmc2V0LGUubWF4d2lkdGgrZS5zbGlkZV9vZmZzZXQtZS53cmFwd2lkdGgvMn19KTt2YXIgZD1mdW5jdGlvbihhKXt2YXIgYj1hLmNhcm91c2VsO2IuaW5mYmFja3VwPWIuaW5maW5pdHksYi5tYXhWaXNpYmxlYmFja3VwPWIubWF4VmlzaWJsZUl0ZW1zLGIuc2xpZGVfZ2xvYmFsb2Zmc2V0PSJub25lIixiLnNsaWRlX29mZnNldD0wLGIud3JhcD1hLmMuZmluZCgiLnRwLWNhcm91c2VsLXdyYXBwZXIiKSxiLnNsaWRlcz1hLmMuZmluZCgiLnRwLXJldnNsaWRlci1zbGlkZXNsaSIpLDAhPT1iLm1heFJvdGF0aW9uJiYoIjNEIiE9YS5wYXJhbGxheC50eXBlJiYiM2QiIT1hLnBhcmFsbGF4LnR5cGU/cHVuY2hncy5Ud2VlbkxpdGUuc2V0KGIud3JhcCx7cGVyc3BlY3RpdmU6MTIwMCx0cmFuc2Zvcm1TdHlsZToiZmxhdCJ9KTpwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYi53cmFwLHtwZXJzcGVjdGl2ZToxNjAwLHRyYW5zZm9ybVN0eWxlOiJwcmVzZXJ2ZS0zZCJ9KSksdm9pZCAwIT09Yi5ib3JkZXJfcmFkaXVzJiZwYXJzZUludChiLmJvcmRlcl9yYWRpdXMsMCk+MCYmcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEuYy5maW5kKCIudHAtcmV2c2xpZGVyLXNsaWRlc2xpIikse2JvcmRlclJhZGl1czpiLmJvcmRlcl9yYWRpdXN9KX0sZT1mdW5jdGlvbihhKXt2b2lkIDA9PT1hLmJ3JiZiLnNldFNpemUoYSk7dmFyIGM9YS5jYXJvdXNlbCxlPWIuZ2V0SG9yaXpvbnRhbE9mZnNldChhLmMsImxlZnQiKSxmPWIuZ2V0SG9yaXpvbnRhbE9mZnNldChhLmMsInJpZ2h0Iik7dm9pZCAwPT09Yy53cmFwJiZkKGEpLGMuc2xpZGVfd2lkdGg9Im9uIiE9PWMuc3RyZXRjaD9hLmdyaWR3aWR0aFthLmN1cldpblJhbmdlXSphLmJ3OmEuYy53aWR0aCgpLGMubWF4d2lkdGg9YS5zbGlkZWFtb3VudCpjLnNsaWRlX3dpZHRoLGMubWF4VmlzaWJsZWJhY2t1cD5jLnNsaWRlcy5sZW5ndGgrMSYmKGMubWF4VmlzaWJsZUl0ZW1zPWMuc2xpZGVzLmxlbmd0aCsyKSxjLndyYXB3aWR0aD1jLm1heFZpc2libGVJdGVtcypjLnNsaWRlX3dpZHRoKyhjLm1heFZpc2libGVJdGVtcy0xKSpjLnNwYWNlLGMud3JhcHdpZHRoPSJhdXRvIiE9YS5zbGlkZXJMYXlvdXQ/Yy53cmFwd2lkdGg+YS5jLmNsb3Nlc3QoIi50cC1zaW1wbGVyZXNwb25zaXZlIikud2lkdGgoKT9hLmMuY2xvc2VzdCgiLnRwLXNpbXBsZXJlc3BvbnNpdmUiKS53aWR0aCgpOmMud3JhcHdpZHRoOmMud3JhcHdpZHRoPmEudWwud2lkdGgoKT9hLnVsLndpZHRoKCk6Yy53cmFwd2lkdGgsYy5pbmZpbml0eT1jLndyYXB3aWR0aD49Yy5tYXh3aWR0aD8ib2ZmIjpjLmluZmJhY2t1cCxjLndyYXBvZmZzZXQ9ImNlbnRlciI9PT1jLmhvcml6b250YWxfYWxpZ24/KGEuYy53aWR0aCgpLWYtZS1jLndyYXB3aWR0aCkvMjowLGMud3JhcG9mZnNldD0iYXV0byIhPWEuc2xpZGVyTGF5b3V0JiZhLm91dGVybmF2PzA6Yy53cmFwb2Zmc2V0PGU/ZTpjLndyYXBvZmZzZXQ7dmFyIGc9ImhpZGRlbiI7IjNEIiE9YS5wYXJhbGxheC50eXBlJiYiM2QiIT1hLnBhcmFsbGF4LnR5cGV8fChnPSJ2aXNpYmxlIiksInJpZ2h0Ij09PWMuaG9yaXpvbnRhbF9hbGlnbj9wdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYy53cmFwLHtsZWZ0OiJhdXRvIixyaWdodDpjLndyYXBvZmZzZXQrInB4Iix3aWR0aDpjLndyYXB3aWR0aCxvdmVyZmxvdzpnfSk6cHVuY2hncy5Ud2VlbkxpdGUuc2V0KGMud3JhcCx7cmlnaHQ6ImF1dG8iLGxlZnQ6Yy53cmFwb2Zmc2V0KyJweCIsd2lkdGg6Yy53cmFwd2lkdGgsb3ZlcmZsb3c6Z30pLGMuaW5uZXJvZmZzZXQ9InJpZ2h0Ij09PWMuaG9yaXpvbnRhbF9hbGlnbj9jLndyYXB3aWR0aC1jLnNsaWRlX3dpZHRoOjAsYy5yZWFsb2Zmc2V0PU1hdGguYWJzKGMud3JhcC5wb3NpdGlvbigpLmxlZnQpLGMud2luZGhhbGY9alF1ZXJ5KHdpbmRvdykud2lkdGgoKS8yfSxmPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG51bGw9PT1hfHxqUXVlcnkuaXNFbXB0eU9iamVjdChhKT9iOnZvaWQgMD09PWE/InJpZ2h0IjphfSxnPWZ1bmN0aW9uKGEsYyxkLGUpe3ZhciBnPWEuY2Fyb3VzZWw7Yz1nLmxhc3RkaXJlY3Rpb249ZihjLGcubGFzdGRpcmVjdGlvbik7dmFyIGg9bmV3IE9iamVjdCxpPWQ/cHVuY2hncy5Qb3dlcjIuZWFzZU91dDpnLmVhc2luZztoLmZyb209MCxoLnRvPWcuc2xpZGVfb2Zmc2V0X3RhcmdldCxlPXZvaWQgMD09PWU/Zy5zcGVlZC8xZTM6ZSxlPWQ/LjQ6ZSx2b2lkIDAhPT1nLnBvc2l0aW9uYW5pbSYmZy5wb3NpdGlvbmFuaW0ucGF1c2UoKSxnLnBvc2l0aW9uYW5pbT1wdW5jaGdzLlR3ZWVuTGl0ZS50byhoLGUse2Zyb206aC50byxvblVwZGF0ZTpmdW5jdGlvbigpe2cuc2xpZGVfb2Zmc2V0PWcuc2xpZGVfZ2xvYmFsb2Zmc2V0K2guZnJvbSxnLnNsaWRlX29mZnNldD1iLnNpbXAoZy5zbGlkZV9vZmZzZXQsZy5tYXh3aWR0aCksYi5vcmdhbmlzZUNhcm91c2VsKGEsYywhMSwhMSl9LG9uQ29tcGxldGU6ZnVuY3Rpb24oKXtnLnNsaWRlX2dsb2JhbG9mZnNldD0ib2ZmIj09PWcuaW5maW5pdHk/Zy5zbGlkZV9nbG9iYWxvZmZzZXQrZy5zbGlkZV9vZmZzZXRfdGFyZ2V0OmIuc2ltcChnLnNsaWRlX2dsb2JhbG9mZnNldCtnLnNsaWRlX29mZnNldF90YXJnZXQsZy5tYXh3aWR0aCksZy5zbGlkZV9vZmZzZXQ9Yi5zaW1wKGcuc2xpZGVfb2Zmc2V0LGcubWF4d2lkdGgpLGIub3JnYW5pc2VDYXJvdXNlbChhLGMsITEsITApO3ZhciBlPWpRdWVyeShhLmxpW2cuZm9jdXNlZF0pO2EuYy5maW5kKCIubmV4dC1yZXZzbGlkZSIpLnJlbW92ZUNsYXNzKCJuZXh0LXJldnNsaWRlIiksZCYmYi5jYWxsaW5nTmV3U2xpZGUoYS5jLGUuZGF0YSgiaW5kZXgiKSl9LGVhc2U6aX0pfSxoPWZ1bmN0aW9uKGEsYil7cmV0dXJuIE1hdGguYWJzKGEpPk1hdGguYWJzKGIpP2E+MD9hLU1hdGguYWJzKE1hdGguZmxvb3IoYS9iKSpiKTphK01hdGguYWJzKE1hdGguZmxvb3IoYS9iKSpiKTphfSxpPWZ1bmN0aW9uKGEsYixjKXt2YXIgYyxjLGQ9Yi1hLGU9Yi1jLWE7cmV0dXJuIGQ9aChkLGMpLGU9aChlLGMpLE1hdGguYWJzKGQpPk1hdGguYWJzKGUpP2U6ZH0saj1mdW5jdGlvbihhKXt2YXIgYz0wLGQ9YS5jYXJvdXNlbDtpZih2b2lkIDAhPT1kLnBvc2l0aW9uYW5pbSYmZC5wb3NpdGlvbmFuaW0ua2lsbCgpLCJub25lIj09ZC5zbGlkZV9nbG9iYWxvZmZzZXQpZC5zbGlkZV9nbG9iYWxvZmZzZXQ9Yz0iY2VudGVyIj09PWQuaG9yaXpvbnRhbF9hbGlnbj9kLndyYXB3aWR0aC8yLWQuc2xpZGVfd2lkdGgvMjowO2Vsc2V7ZC5zbGlkZV9nbG9iYWxvZmZzZXQ9ZC5zbGlkZV9vZmZzZXQsZC5zbGlkZV9vZmZzZXQ9MDt2YXIgZT1hLmMuZmluZCgiLnByb2Nlc3NpbmctcmV2c2xpZGUiKS5pbmRleCgpLGY9ImNlbnRlciI9PT1kLmhvcml6b250YWxfYWxpZ24/KGQud3JhcHdpZHRoLzItZC5zbGlkZV93aWR0aC8yLWQuc2xpZGVfZ2xvYmFsb2Zmc2V0KS9kLnNsaWRlX3dpZHRoOigwLWQuc2xpZGVfZ2xvYmFsb2Zmc2V0KS9kLnNsaWRlX3dpZHRoO2Y9Yi5zaW1wKGYsYS5zbGlkZWFtb3VudCwhMSksZT1lPj0wP2U6YS5jLmZpbmQoIi5hY3RpdmUtcmV2c2xpZGUiKS5pbmRleCgpLGU9ZT49MD9lOjAsYz0ib2ZmIj09PWQuaW5maW5pdHk/Zi1lOi1pKGYsZSxhLnNsaWRlYW1vdW50KSxjKj1kLnNsaWRlX3dpZHRofXJldHVybiBjfX0oalF1ZXJ5KTs="}},"time_used":53,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":49,"receive":4,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/roboto/v27/KFOmCnqEu92Fr1Mu4mxP.ttf","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://agilitetrade.com/","date":"2026-07-27T03:33:51.863Z","timestamp":1785123231863,"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/v27/KFOmCnqEu92Fr1Mu4mxP.ttf 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: gzip, deflate, br, zstd\r\nOrigin: https://agilitetrade.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.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\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\ntiming-allow-origin: *\r\ncontent-length: 68223\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:57:24 GMT\r\nexpires: Thu, 22 Jul 2027 13:57:24 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Tue, 21 Sep 2021 23:13:53 GMT\r\ncontent-type: font/ttf\r\nvary: Accept-Encoding\r\nage: 394587\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":109880,"size_decoded":69081,"mime_type":"font/ttf","magic":"TrueType Font data, 22 tables, 1st \"GDEF\", 50 names, Microsoft, language 0x409, Copyright 2011 Google Inc. All Rights Reserved.RobotoRegularVersion 3.004; 2020Roboto-Regularhtt","md5":"1cc3f7a18aae3121cee7ebe978615862","sha1":"b637e3b2afaf10841c910e6991ba70d93e9d0082","sha256":"2878849254354dd711a82ee3f253f448f38364385ba5ef51fd252a116f470068","sha512":"8947236768648f1b77c2bd24a61b38a7a901680131f547c0c6c74ad7b2bd515337f5abc588c9ebaa34a6e1f89fb497a033f69305d662bf2f6986770644fb24a8","ssdeep":"1536:B5HW/kb+kE84IuEX9QWk4ITVSxt8IevuABJh1mdcmjvBdr7evuxGdXwR+WtKP2PA:BekbnE84A0tzLwTr77tFHyI30I87r04j","tlshash":"73b35b13e7619dc7c0417bb941f24e9950b62ca96f6a232f761e313bfe723d69c10a60","first_seen":"2023-05-09T12:08:08Z","last_seen":"2026-07-27T05:05:33.719824Z","times_seen":60,"resource_available":false,"data":"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AHQAQwBvAG4AZABlAG4AcwBlAGQAIABSAGUAZwB1AGwAYQByAEMAbwBuAGQAZQBuAHMAZQBkACAATQBlAGQAaQB1AG0AQwBvAG4AZABlAG4AcwBlAGQAIABTAGUAbQBpAEIAbwBsAGQAQwBvAG4AZABlAG4AcwBlAGQAIABCAG8AbABkAEMAbwBuAGQAZQBuAHMAZQBkACAARQB4AHQAcgBhAEIAbwBsAGQAQwBvAG4AZABlAG4AcwBlAGQAIABCAGwAYQBjAGsAQwBvAG4AZABlAG4AcwBlAGQATgBvAHIAbQBhAGwAUgBvAG0AYQBuAFIAbwBiAG8AdABvAFIAbwBtAGEAbgAtAFQAaABpAG4AUgBvAGIAbwB0AG8AUgBvAG0AYQBuAC0ARQB4AHQAcgBhAEwAaQBnAGgAdABSAG8AYgBvAHQAbwBSAG8AbQBhAG4ALQBMAGkAZwBoAHQAUgBvAGIAbwB0AG8AUgBvAG0AYQBuAC0AUgBlAGcAdQBsAGEAcgBSAG8AYgBvAHQAbwBSAG8AbQBhAG4ALQBNAGUAZABpAHUAbQBSAG8AYgBvAHQAbwBSAG8AbQBhAG4ALQBTAGUAbQBpAEIAbwBsAGQAUgBvAGIAbwB0AG8AUgBvAG0AYQBuAC0AQgBvAGwAZABSAG8AYgBvAHQAbwBSAG8AbQBhAG4ALQBFAHgAdAByAGEAQgBvAGwAZABSAG8AYgBvAHQAbwBSAG8AbQBhAG4ALQBCAGwAYQBjAGsAUgBvAGIAbwB0AG8AUgBvAG0AYQBuAC0AQwBvAG4AZABlAG4AcwBlAGQAVABoAGkAbgBSAG8AYgBvAHQAbwBSAG8AbQBhAG4ALQBDAG8AbgBkAGUAbgBzAGUAZABFAHgAdAByAGEATABpAGcAaAB0AFIAbwBiAG8AdABvAFIAbwBtAGEAbgAtAEMAbwBuAGQAZQBuAHMAZQBkAEwAaQBnAGgAdABSAG8AYgBvAHQAbwBSAG8AbQBhAG4ALQBDAG8AbgBkAGUAbgBzAGUAZABSAGUAZwB1AGwAYQByAFIAbwBiAG8AdABvAFIAbwBtAGEAbgAtAEMAbwBuAGQAZQBuAHMAZQBkAE0AZQBkAGkAdQBtAFIAbwBiAG8AdABvAFIAbwBtAGEAbgAtAEMAbwBuAGQAZQBuAHMAZQBkAFMAZQBtAGkAQgBv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Sv90/2b/Zv9e/17/ZP9u/3X/d/93/3kKhae90vEBAQH25ABA/2CBv4Y8BQQEBgYGBAUFBQYGBgYJCAsEAgH//v7+AAMEBgkKCgoLCwgFBQYHBwcGBQQFBgYFBQoKCgoJBwcGBwQEAoMDAQIAC4GAAP6DBAMDAwIChgICAgGDFgEBAQIBAAEBAAEDAgIA/f3+/f39/f//gQb/AAEAAQIBgwT//v39/oQU/v39/v7+/v39/v39/fz8/Pr+////gyP//fz8+/v7+/v7/f3+/f39/f39/f79/f36+vr7/Pz8/Pz9/f6DA//+APuBAAGCC////f39/f7//////4EF/v7/////gwj///7+/v7+/f6BEQICAgMDAwMCAgICAgD//////4QEAQICAgGDAAWBEQEBAQABAAECAgIBAgEA/gEB/4ITAQEBAAICAgICAwEBAQIBAQECAQGCAf//hA7///8BAAICAQEBAQIDAP6BD///AP/8+vj4+Pn7/P3+/v6BBv39/f39/f+CHf/+/fz9+/z7/QACAgQFCAgIBwcFBAQDAP/+//7+/4MEAQEBAf+DAIAFACgAEQADABEAAgAQAAAADUABwADAAAAAAAAAD0AFAADAAEAAAAAAB8rK0SAoKADugYADxUBA1IQHHh4RxMPDANaBgAPMn5/QhAcCAgH+//8AAYGAAv4BAYUD////AYWAAwL+/gGEAgEBAYMAAoGAA/75+f6EAIAGACwANgADADYAAgAdAAQANQAAADNAAcAAwAAAAAAAADRABQAAwABAAAAAABkODg7uybbDr6CRi4uLi4uLkaCvw7bJ7g4AooEX8PrNsr/e7Ds3D+jg/PAMBeC8uwAOJi4Vgxnz8/Pm3uf9FRgoOUZGRkY5KBgV/efe5vMAFoEX7gD16eHd26+zxNz2AO74Ey1DShQTDgf6gxn8/Pzx38e6t8PZ6vT09PTq2cO3usff8fwAxoGbGf///wIFCAcJCQgHBgYGBgcICQkHCAUC/wAKgRb///7+/v//AgMB/////wAB//79AAECAYSCE//+/f38/Pz8/f39/f38/Pz9/f7/gQD8gYAKAQICAQEB/v//AQGCAwEBAgKBAv///4OCEwIDBAICAgICAgICAgICAgICBAMCgQAEgQL/AAGBBf7/+vr9/4EK/wABAwYGAQH/AP+DgAYALAA2AAMANgAC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AQEBAQEBhgj//wACAwMDAgGDgAYALAATAAMAEwACABQABAATAAAAEkABwADAAAAAAAAADEAFAADAAEAAAAAACMnJoy9P//8A4oGAAEaBAWJihAgoKGPCiebmACSBgAC0gQGUlIRB/3P/cwHZ4kD/fQIICABA/3SBiggKCggBAv//AAmBgAACgQEDA4QE+vr9AP6CAPuBgAD+gQH9/YSBAAGHgAD7gQH4+ISABgAsAJAAAwCIAAIAXQAEAH0AAAB7QAHAAMAAAAAAAAB0QAUAAMAAQAAAAAAX9fX08/X19PPz8/f6+fXw8fV4eFAU9deYQv9w/3D/cByZ1/URTnjt7evu8/j8+/v7+/fy6+ntcHBKEPLTmkL/d/93/3cHmtPzEUtwAOKBAvHy+YIl+fLx8O3n5OTk6fDoAB0sLCwdAOjOrZ6enq3OCQgOFBQUDggJCQSCEQQJESlOYmJiTysR+drLy8va+YM/Pj42IhMF8OTk5O79DRMfMz6lpcHzEzZkfX19ZjYT8L+lQkI5JBMF7+Li4u4EEiE3QqqqyPgSLl16enpdLhP5yQKqACSBAgcB/oI6/gEHDxUTEBAQFBIeCd/FxcXfCR44WmxsbFo49u7t8PDw7e72/QEBAQEB/efSrZWVlarP5/4gMjIyIP6DQf9v/28NhKW5zvAEBAT55cq6pYNC/2//ef95DIqous3q+/v76sy6p4pC/3n/dv92DIinus3s/v7+7M67qIhC/3b/fv9+DI+qu8zm9fX15cu6qY9A/36AQP90gb+EBgkJBgUFBAKDBQECAwYICYEvAQIDAwYHBwcGBQUEAgAJCQgFAwMA////AAIDBQkJBAQDAwMEBQYGBgYEAwQDBAAJgYAA/4QM/wD//v////////4AAYIJAQD+//79/f3+/4ICAQEBgwABggABgQYBAgMDAwMBgQT//v7+/4QF/Pz8/f7+hBv//v79/Pz////+/v79/f39/v7+/v7//Pz8/f3+gxf//v79/Pz///7+/f39/f39/f7+/v//APuBAQEBhQYBAQEAAQEBgRkBAP//////AAECAwMDAwMC//8A////AP///4QP/////v39/f7//wABAgICAYQK////AAEBAQEBAQGDBf///v7//4EFAQICAgEBgQT//v///4cB//+BA/////+CBAEBAQEBggH+/4MAAYUjAQEBAgICAgICAQIA/vz8/P4AAgQICAgICAT//v//////////hA///vz5+Pj4+fz+AAMEBAQDhIAGACwAdwADAH0AAgBTAAQAbQAAAHRAAcAAwAAAAAAAAG5ABQAAwABAAAAAADr7CAUiS2tra2thSBbv2LGUg4ODlLHV6RlNYWJeJiYhFwwHExYNAwMDBgX669vX3+np6enSu7fZCPkA4oEph4eHjKbkHfYVPlhjY2NJIPfn1LKYiYmJqtPx7/Hg2eLt7e3n5Ofx8/j8ggsdNjEQsJCKpc7u7u6DD/7/w5uhtra2tsvsECA4YHpCAIgAiACIJ39qTDcn/dS2sbu7wtDn+QIB9uzs7PwSIyMPFzRQUFBQIebB0QX+ACSBOF9fXzH2zNEfAs+rlpaWnK3M5vIRMENDQzMV6c2Ak7jX6urq3NLa8PP5/QEBARYmGvrJn46lze7u7oME5N/GoolD/37/fv9+/34Qhpivv8zj8/v7+/PkzsCulIND/3z/fP93/3cQg5axwM/p+wQEBPrnzr+tk4BE/3b/dv92/3b/fgWOqMrf5QBA/3SBvDoDAQICAgEBAQECAQMDBAUEBQUFBQUGBgQEBAICBgYEBQMEAwD+////AAIDBAcHCAgICAgJCQcEAQEACYEF/Pz8/P3/gRIBAgICAgIBAf////7+/f39/gABgQL///+MCwECAgH+/fz9/v///4Mk/////v7////////+/v79/f39/f39/f3+/v////39/f7+//8A/4MR//7+/fz7+/v7+/v7/P3//wD7gSMEBAQDAwD/AP/+/v39/f7/AAECAgMDAwMCAQABAQIBAQEBAQGBAgEBAYML//7//wICAwIBAQEBg4EIAQEB/v7+/v/+gQABgQMBAQEBgQX///7+/v+BBv8BAQEBAP+GDAIA//39/f0AAwQD//+DKAgICAUC//0CAfz5+Pj4+fr9/wEDBQcHBwYD//35+v3+//////7+////gwsCAgH///38/f7///+DAIAGACwADAADAAoAAgAHAAQACiAAAAhAAcAAwAAAAAAAAAZgBQAAwABAAAAAAALv8wBA/3yBgABPgwMMCwB3gYAAq4MDBQMA7oGFAgEBAgECCQH6AIIA/IGAAAKDAQABgAD6gAYALAAJAAMACwACAAcABAAJAAAAB0ABwADAAAAAAAAACUAFAADAAEAA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gQcCAgMDAwMDAoME/f3///+BNP318fHx7/Dv8PHw8PDv7/Dw8fDw8fHx9vr/AP38/f////379/fv7/gBAQEB/////v/+/QD+gQsCAgMEBgcJBgH+/v+GFv///fr4+Pj6/f7/AwkNDwwJBgQCBgcEgwsBAgMDBQYJCQkJCAWDgAYALAAKAAMACgACAAsABAAKAAAACkABwADAAAAAAAAAD2AFAADAAEAAAAAFBAECAgICBLxE+gUCgQBogQRtzE/zRoEAj4EBrrZC/1kAC/9khAQHAQn+CIEABIEE/P/7AfyBAP2BBAMABQICA//+AP6AAPeBAIAGACwAMAADADAAAgA7AAQAMAAAACxAAcAAwAAAAAAAACtABQAAwABAAAAAABd88vLyAhIRFyUtLS2kpKTF9xEqXHx8ACWBgQL+//+CAv///oEI/uS1mZmZteT+gxebOjo6Pi8P+OTe3t5/f39fLA/yvZubACGBgQIiHAuCAgscIoEIIjpdcXFxXToig0T/YP9Y/1j/WP9sDZCnveL29vbu7u7bu6eTQv9z/2D/YIBA/06BgQLY2OyCAuzY2IEC2NjsggLs2NiDCAMICAgHBQMC/4ILBgYGBgUDAwIDAwAHgYEIAgEA/v7+AAECgQgCAf77+/v+AQKDB/77+/v8/f7/gwv9/f39/v7+/v7+APyBgQH//4QB//+BCP//AgMDAwL//4MI/v/////+/wD+hgf+///9/v4A/YGBAgICAYICAQICgQgCBQcJCQkHBQKDAIAGACwAFwADABkAAgAVAAQAFAAAABRAAcAAwAAAAAAAABRABQAAwABAAAAAAAQCPqijBUD/cAWwqgwGAK+BALGEALGGAheZUUIAgQAYAJUFGxmt3wAygQB6hAB6hgCuQf9f/1YHrbUFt7C4DgBA/2SBjQsEBQ0IAwcIBwP/AA2BAP2EAP2GC/79+fv+/fz7/gEA+oEAAoQAAoYL/goB//73AgICAQABgQAIhAAIhoAGACwANgADAD0AAgAsAAQALAAAACxAAcAAwAAAAAAAAChABQAAwABAAAAAAAUDOujrtg5A/3wExNooAE9AAJoKFOw61RIGXiEkACaBAJKBQACZgkD/foJA/32EAJKBQACZhAaXmLloajZ1QACEgAGt2UH/QP9SBewXxSExj0H/W/9LAv8A24FA/syBQAEagkD+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5IGTEQcH/v7+/gACBQUFBQUCAP4ABYGDAQICggYCAgIDAwMCgwH9/YQG//39/f39/4IA/oGDAf7/ggb//v39/f39gwMBAf//ggEBAYIBAQGCAAKBgwv+AAMDAwH//fr6+v2DAIAGACwAOQADAEAAAgAjAAQAOgAAADlAAcAAwAAAAAAAADlABQAAwABAAAAAAB8opKSkn52iorSztbK1v+APKCgkJAzuz7i4uM/uDCQA04GICgOioJmZmbfnADMdggYdM0dkZGRHgx/mfn5+WRz66OLNzNPP19zi5ubg4BAuS3t7e0suEOAAQIGBAl4/FoIV/QBqampqampmXvgTMTExE/jbvLy824Mf9+3t7fkNGx4oKyooIBsP//f3+vr18e3o6Ojt8fX6AOGBoR/8BwcHBQQDAwECAgICAwL//Pz+/v8CAwUFBQMC//4AAoGHCwEC/v39/f3+/wACAoIGAgICAwMDAoMHAf7+/v7+//+CAv///4EPAQEBAQD///7+/v//AAEA/4GHC///AgMDAwMCAQD+/4IG//79/f39/YMV/gEBAQADBAUDBAUEAwMCAP7+/////4QC////g4ECBQMBhBMHBwgICAcGBf4AAwMDAf/9+vr6/YMAgAYALAAjAAMAKQACABYABAAcAAAAHUABwADAAAAAAAAAGUAFAADAAEAAAAAABJubHx++QP97CdzXt1NAvYCsALuBhAAGQACJAeudgQFc4YQDbGzV1UIAiwCNAJ8EGyvZyyxAAMUCcwBSgQABgQUBANLu/yiBAen1hAzw8Pn5gNfx9NuNh9nUQP97gACNgZEPBQX+/goHAwQGAQMGCAsACoGEAwEEAP6BAAKFAf39gQv7/P///v/+/vz6APuBhAP//AEDgQH+AYSBCv///wH+AQL+/wH/hIQD/vwBBIEB/QGEAIAGACwACQADAAkAAgAJAAQACQAAAAhAAcAAwAAAAAAAAAlABQAAwABAAAAAAAWZmR0dALSBhwVtbdXVAEGBhwXt7ff3AOSBhwUHB/7+AAWBhwH9/YIA/oGHBQEB//8AAoGHgAYALABtAAMAbAACAFcABABhAAAAXUABwADAAAAAAAAAVkAFAADAAEAAAAAAKJOTFhadsuv0//7r193e2dTU1FdXV0QmFgLgxrXWLTZCQzYnIhwYFxcXQwCbAJsAmwCIB2laNwjq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sKCGRP92/2z/bP9s/3YPiaO0wt30AQH5+ezYwLSghEP/df91/3X/egWHoLPE4fSCA/fn0ABA/2WBv6U/BQUFBQQEBAQFBQYFAQD///8AAQIEBgkLCwQEBAMEBQYFBQUFBgcHCAkKDAwMDAkGAwMDBQcHBwYFBAQFCQkLCyMLCggGBAQC//7+BwcHBQQEBAMDAwMDAwIBAQAB////AAIDAAmBAwIBAQGCGQECAwICAQEBAQD///////////8BAwQEBAMBggX//v7+/v6CAgECAoUM//3+/v7+//7//////4cI//39/f39/v//gQkBAwMCAQABAP//hQz9/f3+/v7+/v79/f7/hT/+/fz7+vr+/v7+/f39/f39/f38/Pz7+vr6+vv7/P7+/f39/f39/f39/Pv6+vr6+/v8/f7/AAEB/f39/f7+/v7+B/7+/v//////hAP//gD7gQ7+AQEBAP////7+/v7+//+KBv/9/f39/v+BEAECAgICAQEA/////v4B////ggsCAQICAgICAQEBAAGHEAECAwMDAwICAQEA//7/////gwECAYMCAgIBgwD/gQEBAYYF/wAB/wEBggD/hwIBAQGBDAEBAQEBAf7+/wABAQGBBP///v//gwcBAP//AP///4MN/////////////v7+/wGDA//+AP+BEgEFBQQDAgL//v38/P39/v7+//+DHAEBAf/6+Pj4+v3/AAIEBQUFBQQEBAMCAQEB/f3/gSsBBAUGBgYHBQUEBAMDAwMDAwICAgIFCAoLCwsJBgQCAgEA///+/////wABAYMAgAUAKAA2AAMAPwACADMAAAAzQAHAAMAAAAAAAAA1QAUAAMAAQAAAAAAZSUkxE/Td3d30EzFJV1dAIQPr6+sDIUBXADGBFzIc////HDJGY2NjRjQeAQEBHjRIZWVlSIMP+vocJCxNTU0sJBz6UlJ1fEQAhQClAKUApQCFA3x1UgBAAJyBF/oFFBQUBfrt3d3d7fwHFhYWB/zv39/f74MP/f39AAEDAwMBAP39+/v8/YQE/fz7AP2BFwMB////AQMDAgICAwMCAQEBAgMDAgICA4MQAgIBAQD///8AAQECAgICAQGCBQEBAgIAAYEB/v+CCP/+/f39/f3+/4IG//79/f39/YME/v79//+CEf///f77+/r8/f39/f38+vsA+oEX/wABAQEA//38/Pz9/wACAgIA//78/Pz+gwCABQAoAIMAAwCIAAIAgQAAAHVAAcAAwAAAAAAAAIJABQAAwABAAAAAAD9iBAQVJjE7QEBAQDsxJhUEBGJiQSYU9+fn5+f3FCZBYuTk7v8THypAUlxcXFJAKh8T/+7kHx8gHx8fHx8gICAgCSAfHx8fHyAfADmBMxISEhISEhISEu7u7u7u7u7u7g45OTkiAO4SAd/JycnwAPTdy8DAwMvd9AAMIzVAQEA1IwyXP/P9/fz6+ff39/f39/n6/P398/P3+vwAAgICAgD8+vfzAQEA/vv6+fb19PT09fb5+vv+AAH6+vr6+vr6+vr7+/sH+vr6+vr6+vqDM/7+/v7+/v7+/gICAgICAgEBAf77+/v9AQL+AAMFBQUBAAEEBgcHBwYEAQD+/fv6+vr7/f6MBAEBAQEBhQD7gQv+/v39/f39/f39/v6BOPv7/P7/AQICAgIB//78+wICAgD//f38+/v7+/v8/f3/AAIC/f39/v7+/f7+/v7+/v79/f7+/f0A/oEeAQEBAQEBAQEB////////////AQMDAwIA/wH//v7+/oEI////////////gQYBAQEBAQEBmAACgwcBAQEBAQEBAYMEAgIBAQGFGgEBAQL/////AAEBAgICAgICAgEBAQD//wEBAYIIAQEBAQEBAQEBggMBAQABgR7///////////8AAQEBAQEBAQH//v7+/gAB/wACAgICggYBAgICAgEBggb//v7+/v//mAD9gQv////+/v7+/v7///+BEf39/v8AAQEBAQEBAP/+/QEBAYEk///+/v7+/v7+////AAEB/////////////v7+//////////8A/oEP////////////AAEBAQEBAYEN//7+/v8AAf8AAQICAgGBBwECAgICAgEBgQf//v7+/v7//5eABgAsAGoAAwBqAAIAOgAEAGAAAABVQAHAAMAAAAAAAABQQAUAAMAAQAAAAAAzPj4+LQvzy5qaBQUB+fPo2dLS0tLT0j0+JycB6cGoqKjG7/8YJycsLSEVFRQVFRUVDQEA7oEx//8ZQFZWVjMM///////////////////87ygoKCMK7tOtra3B3esoHgz////37u3t7++DBu7u7vDz9vuBKvT09PX29/n6+vr6+vru7vHx9ff8////+/f18fDw8PDx8/Pz8/Pz8/P1APWBMf///fr4+Pj6/v//////////////////+wH7+/v8/gEDBgYGBAIB/Pz+////AQEBAQEBgzOrq6uywMrc8PD5+e3Yyr+toqKioqCep6uoqMbT5/Hx8eLRyLWqqqaptcfS5fn5+e3WxgCYgZYA/Z0pAgICAgQEBQYGAQEBAgQEBggICAgJCAMCBAQCAwMFBQUEBAMEBAQDAwIBhAQBAgQABoEX//8BAgMDAwEA//////////////////8ChRD///39/f3/AAMCAP///////4YI///////+/v39gh7///79/Pz8/Pz8///+/v7+/v7+/v7////+/v7+/v//hAP//gD9gYEF//79/f3/jwQB/////4EIAQICAgEBAf7/gwABgQIBAQGDCP39/f4AAQEEBIMKAQEBAgICAgEB/v2CBgECAwMDAgGBBv////////+DBP8AAQABgYEI//7+/v7/////iwUBAP7+/v+BBAECAgIBgQH//42ABgAsAAoAAwAKAAIABwAEAAoAAAAKQAHAAMAAAAAAAAAHYAUAAMAAQAAAAAAALIEAyIEB39+DA9suAF2BAQMDgwP6zACXgYUD/gMACYEBAwODAwH+APuBAf//gwEAAQD/AAEAgAYALAAMAAMADAACABAgBAAMAAAADEABwADAAAAAAAAADEAFAADAAEAAAAAFBAECAgICBNX71VjfBD3QFOwABAP/A/T3BPsE/gIAAAiCggEBgoKKigBA/3iBiwQI/wgCCAQC/QH/AAT7APv/+wT+Av8BAAQBAAH9AQT+Af8BAACABQAoAKQAAwCrAAIAkQAAAIFAAcAAwAAAAAAAAINgBQAAwABAAAAAAD8rBQUrO1NgYGBXQCv7+1FRKygZCwsLER8rKysrKysrKyIM+/v7+/z7+1FRUFBQUEDc3Of3DBgjOUtVVVVLOSMYGQz359wYGBgYGBgYGBkZGRkZGBgYGBgYGABAgT8XF8/Pztz4DRoxPz8/CQn39/f5/wYGCAoLChcXFxcXF+rq7PcJCQkJCQkJCQn3DBcA9N3LwMDAy930AAwjNUBAA0A1IwyXP/n9/eHn7/Pz8/T2+f//9fX5+fv9/f38+/n5+fn5+fn5+vz//////v//9fX19fX19wICAf/8+/r39vX19fb3+vsZ/P8BAvv7+/v7+/v7+/z8/Pv7+/v7+/v7AP+BP/7+BAQDAQD//vz7+/v//wEBAf34+Pj8/////v7+/v7+FxcLAf///////////wH//gABBAYHBwcGBAEA/v37+voD+vv9/owEAQEBAQGFEv3///39/Pv7+/v8/QEB/f39/v6DP//9/f39/f39/f7/AQEBAQABAf38/Pz8/P0CAgEBAP///v39/f39/v//AAEBAv///////////v7+/v7///////8C/wD9gQwBAf7+/v4A/wABAgIChQIBAQGBCf8AAQEBAQEB/v6MCgEA////////////gQYBAQEBAQEBmAABgQgBAgICAgICAQGBAwICAQGECgEBAQEBAQEBAQH/hgkCAgICAgIC////gQgBAQICAgICAgGCAv///5QAAYEF//8CAgIBgQ3//v7+/v//AQEBAQD//4MH////////AQGCE///////////AQD/AAEBAgICAgIBggb//v7+/v7/mCwrAAMBAQEBAQEBAwIBAgQBCQEBBwQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBARUY/wD+/f39/f3+Af7//wD//wAB/v7+/gEBAYEJ///+/v7+/v7//4EEAQEB//4I/wECAgEA//7+hAL/AgKCAf//gQcBAgICAgIBAYEH//7+/v7+//+BAIAGACwACAADAAgAAgAKIAQABwAAAAhAAcAAwAAAAAAAAAhABQAAwABAAAAAAwIBAgICjfWAAlD3AAI9Jn8C7g0AAAWkpP//AKaBhwIMAAwAAoEC+wD6Av4BAAIDAAEC/QEAgAUAKAA+AAMAPgACADYAAAApQAHAAMAAAAAAAAA7QAUAAMAAQAAAAAAdGRkTCgYB+PPz8/gBBgoTGdTU7wYdNzc3HQbv1AASgRsTDgX///8FDhMYIScnJyEYE/vf39/7EytISEgrgx37+wENFBsmLS0tJhsUDQH7GRkXFBEODg4RFBcZADGBG+rw+v////rw6uTb1tbW2+Tq7O/v7+vq6ebm5umDBf7+/v8A/4QS/wD//v4CAgEA/v////4AAQIA/4GCAv///4MEAQEBAQGCAv///4EEAgICAgKDjwL///+BAwEBAQGBAP+DAP+FFP////////////8AAQEBAP///v7+/4Md////////AP///wD//////wICAP///v7+//8AAgD+gQH+/4ML///+/v79/f39/v7/ggb///79/f3+gwCABgAsABAAAwAZIAIAGCAEABggAAAYYAHAAMAAAAAAAAAPQAUAAMAAQAAAAAcGAAIDAgECAwbn568g8vLuAc4wgQKd/gAHBgACAwICAgIG8/MmqAndCAZ3AEIaAHEAAEH/dv92BQkJubnBwUH/ev96gkD/fIGPBwYBAgICAgICBgoABwEKAQgBA/2CAf4ABwYBAgICAgICBvsA/P/8APwB/gKCAQMABgEBAgEBAf8EB/8EAgmBAIAGACwAQAADAEAAAgAiAAQAPwAAAEBAAcAAwAAAAAAAADpABQAAwABAAAAAAB7g4BcXGSMyOjo6GPLTrKwUFA0A9ufX0dHRzNHekgDpgRyu/f291eH1BxIvTExMLRQUDQP9/f0EDBEVEQ4UroMeDg7x8e7j2tnZ2fAAHTU18vL1+fgFExoaGhkK9FMAEYEAL4EZJxUJAfzz5tHR0d7v7/P8AQEBAPnx6ufn4S+DHqysAgLUzMG8vLzM2+z9/QYG++jbz72zs7O7ydD4ALSBoB4GBv//AgEBAQEBAQMDBAT+/gACAwQGCAgIBwQFBgAEgRX8/v79///+/v8AAQEBAP//AP/+/v7+ggP////8gx79/QEB/////////v7//v4BAQEA//78/Pz8/f39/QD9gQUCAQECAQGBB//+/v7+/v//gQoBAQEA////////AoMJAQH//wD//////4ECAQICgQABggcBAQEBAgEBAYMABIECBAIBgQj//vz8/P7///+EBv/+/v7+/gSDgAYALABuAAMAbAACADkABABtAAAAZkABwADAAAAAAAAAXEAFAADAAEAAAAAANQT3DzJEREQj/9+vrxcXEgkC+ejd3d3e4OQEBATk3t7i4uLs/QYMERERqqrfASJKSkozDfcA6YEK3Nzc6wMOJ0xMTCOBJv79/f39/P8DBQUDAwMe9/f39PL09/v9/f39+vf31a2trcvr/RMeHoM1CxID7uPj4/oIHjMz8PD7BQMNHSYmJhcQGwsLCxsJEicnJxwMAgT56+swMBwOAOTk5PAEEgARgRYPDw8H+/Tf0dHR6fv7AwUBAQEA//7z9oII9P///w4SAgEBgg3/BhISIzAwMCQSCPr09IM16N3Rwrm5ucra6Pz8BAT55drOu7GxsbzP3Ojo6NzNua6urrnN2eT5Bwf//+rZyLe3t8HS3QC0gbcmAwMDAgICAgADAwUF//8AAgIDBQcHBwUEBAMDAwQEBQYGBgUDAgIBgQQEBAEDA4IEAQIDAASBCv7+/v8AAQEBAQEBgRH//v7+/v///wD///////////+BEv/+/v7+/wD///z9/f3+/f3///+DA/////+DHf///v4BAQD///79/f39/P3+/////v78/f39/f7//4IE/v7+//+CBP///wD9gQIBAQGBBf///v7+/4EIAQEBAQEBAP//gwD/ggEBAYEEAQEBAQGCCQICAgICAQEA//+DGQEBAP/////+/wECAv///wEBAAEBAQEBAAEBggABhAIBAQGCAQICgQT//f39/oUOAgICAQD//fz8/P7//wABgwL///+DAP6CAgECAYUMAQICAwUFBQQCAf/+/oMAgAUAKAATAAMADgACAA4AAAANQAHAAMAAAAAAAAAOQAUAAMAAQAAAAAABA/5A/2EBqgBA/32BAByBAByDBd/jaF0AMoEA7IEA7IMFAQAJBAAHgQABgQABg4ED/P4A/YEA/4EA/4MFAQEDAgADgQD/gQD/gwCABgAsADwAAwBCAAIALgAEADcAAAAzQAHAAMAAAAAAAAAzQAUAAMAAQAAAAAAgTsvLP04wHh4ZDPTi2bObqtmMjJ231OH8GyswEIyMEADYgYcGAQEBAQEgdkAAyQrs7Nq+qp+fn7DN74cA+UEAkgCSDfv5/UREPjYxMzk8OTpKQQCDAIMId2VRSi0OAP3qQQCDAIMB6gBAAJmBjA0LHy0CAiZSaXBwcGBCGYcAhEH/fP98AoSEhEH/fP98F4OTrL7L5fb59vDw6NrJv62ViYT48PD4AED/dIGiIAMJCQMDBAYGBgUFBQYFBQMEBwcGBQUGBAUEBAEHBwEACoGIEAEBAQECBQj////+/Pz8/P7/iB3++/v+/v79/f39/f39/f3+//39/f39/v79/f4A/f2BAPuBjAz//PoBAQECAwMDAwIBiAv9/v79/f79/f3+//+BBAIBAAEBggf///7+/gABAYEA/oGMDf///wEBAwYHCAgIBwUCh4AGACwABgADABMgAgATIAQAEyAAABNgAcAAwAAAAAAAAAZABQAAwABAAAAABAMAAgkDA8FFH8iDAA41CgoODg8ODg4PDg41AP+BkAAOmaGhtc/yBAQE8s+1mQCQgZAADgcDAwQB/v39/f4BBAcACoGQAA78///+/wABAQEA//78APyBkAMB/f4Dg4AGACwAHQADACMAAgARAAQAGQAAAB1AAcAAwAAAAAAAABpABQAAwABAAAAAAA0fHwXkw6mpqcPkBR8AwYEK6dGxsbHS6QAfHx+EBPb2JD9aQgCGAIYAhgVaPyT2AHuBC9TtDQ0N7dS6mJiYuoMN9/fy7uvm5ubr7vL3ANyBjw3//wEEBQUFBQUEAf8ABoEG///9/f3//4gNAQH///79/f3+//8BAP6BgAkBAgICAQEA////hIEA/4EF////////hAv/AQMDAwH//fn5+fyDgAYALAAtAAMALgACABkABAAnAAAAJ0ABwADAAAAAAAAAJkAFAADAAEAAAAAAFQKys7zLy8vLzNTd3eUHJCQkGw4IAO6BgQbp7PHt8fj9gQjGxs/i8PsGDA6DFd1ZWlhXV1dOPCEQEPzZw8PDytXdAD6BEwoKAgIBAvnr4NvbKiomHBQNBAD/gxX88/Xq2NjY3+r7Bgf/7eHh4ej2/wDagZcQ/gQDBAUFBQQFAwEDAgH///+DAAOBgQL/AP+FCP7+////AAEAAYOAC/7+/v7+/v7//////4cA/oGBBgEBAQEBAAGBCAICAgEBAQD//4OAAgEBAYQEAQEBAQGDAwEBAP6BEAEBAQEBAQEA//7+BAQDAgEBhgCABgAsABQAAwAUAAIADAAEABMgAAATQAHAAMAAAAAAAAAPQAUAAMAAQAAAAAAIwsIoKAgIywDpgQb//f12XhL/gwgwMOzsFBQvABGBAP2BA7zR9/2DCM/P19f//9AAtIGKBQQBAgIBAgQFAQAGBAT+Av//AAP+/v//gQL+AP2BgAQBAf3+/4QBAQGBAv//AYOCAvr8/4SABgAsAE4AAwBOAAIAKQAEAEYAAABFQAHAAMAAAAAAAABDQAUAAMAAQAAAAAAlGRkZD/7z6NjOzs7O2Ojz/g8ZrKysutjzCys7Ozs7LAvz27ysAO6BI+0RDAT///8EDBHt8/v////78xHt3b2qqqq93e0RIkJWVlZCIoMl+/v7/P7/AQMEBAQEAwH//vz7BwcHBgL//Pn39/f3+fz/AgYHAAeBIwH9/v///////v0BAQD///8AAf0BAwQGBgYEAwH9/Pn4+Pj5/IMl/Pz88NvLvKebm5ubp7zL2/D88/Pz69nLvaujo6OjrL3L2evzAJaBp4MhAgQGBggICAgHBgQCAQAHBwcFBAQEBAMDAwMDBAQEBQcAB4GDAv///4MG/////////4EG//79/f3+/4EGAgIDAwMCAoODC//+/v38/Pz8/f7+/4ET/v7+/v7+///////////+/v7+APyBgAH//4QD//8AAYQSAQABAgMDAwMDAgEA//79/f3+/4Mj//////8AAQEBAQEBAQEB////AwMDAgIBAf/+/v7+/wEBAQIDg4AB//+EAf//hwD/gQUBAgICAgGBBv/+/v7+/v+DgAUAIAAHAAMABwACAAcABAAHAAAAB0ABwADAAAAAAAAAAwnOAMGBhQP0NABegYUD/M4AmIGFAwEGAAqBhYAC/QD7gYWABgAsAAgAAwAIAAIACgAEAAgAAAAIYAHAAMAAAAAAAAAIQAUAAMAAQAAAAAAENPzVAN+BhgQHCr8A0IGGA/7TkwBA/z6BhgT9BAcAC4GGAgECAgH8+oEE/gEDAAKBhgCABgAsAAkgAwAMIAIACyAEAAkgAAAEQAHAAMAAAAAAAAAEQAUAAMAAQAAAAAIBAgIABP0hxwCvgYYABA705wDMgYAACIQAA9oBiQBA/zeBhgAEA/8LAA6BhgH7+IEBAgSBAIAGACwACwADAAgAAgANAAQACwAAAAhgAcAAwAAAAAAAAAhgBQAAwABAAAAAAAQfBfsA+YGBAP2DBEEp+wBggYYAuUD/fAH5AED/KoGGBAMHAgAMgYEA/4MCAQEDAf36gQIBAAQB/v2BgAYALABiAAMAcwACADMABABeAAAAXEABwADAAAAAAAAAXEAFAADAAEAAAAAALzm1tcne4c6zpKSktdfvFTM4Ore3xN3vAhsoKCgfITA+QDnFxd37GjExMRr73cUAxoEtDw8lQ1xpXD8T79ewmJiYu+r///f8BQUFCAP3AQMFDhILBzFGY2NjRjEc////HIMDDnN0f0cAjwCWAJEAlQCdAJ0AnQCIFVs2JP3i5H18ak4+LxQFBQUCBg0QDw1BAJ8AnwhvUTQEBAQ0UW9AAJ+AAEqBLc7O18jD2Nvl+QslTGNjY1lGOjoWAAEBAQIIEQ314+bl18vBpYKCgqXB3QEBAd2DL8vBwsTM1d/v+vr679rKuqaampGRobrK3PUDAwP459vTzMu9vcPGy8/Pz8vGw70AloGxL/8IBwUFBQUFBQUFBQQFBAMDAwoJBwcFAv/9/f3///7+//8HBwUEAQEBAQEEBQcACIGBFgEDAwMDAgD+/v38/Pz9/////wECAgIBhA8BAQEAAgMCAgIDAgH///8Bg4Ab/fz9/v7+/v7+/v7+/v7+/v77/Pz9/v8AAQEBAYQE/f3+/v+CBf///v0A/IEQ/////v39/v8AAQIDAwMDAgGCFQH/////AAEBAP///wD//v39/f39/v+CAP+DAP2BCP/+/v4A/////4Ef//7///8A/wD//v////8A/v39/f3//////f7+/v3///+DE/39/Pv7/P39/wECBgcHBwYEBAQChBABAQEA//7+/f37+fb29vn7/YIA/YMAgAYALAAeAAMANSACADogBAAzIAAAL2ABwADAAAAAAAAAMmAFAADAAEAAAAAQDwABAQEBAgIBAgICAgIDAgIP+Z9BQfuQ7pCQkBSQkJGQngBlgwJIzp6CAtAyYoEQDwABAQEBAgICAgECAwIBAgMAJUAAwg0fjevk2+Tlbtfl5OXlDAD3gwPoRwBwgQS6KgCQAABA/3oBAgxD/3//eP9z/3MB29tP/vn++f9u/27/cv9o/3L/e/8Q/xD/dP90/wP/A/94/3iAQP8GgZwREAABAQEBAgICAgEBAQMCAgICEAgE/QUGDQMTDQ0QBhIPEg0QAAKDAwL9AP2CAgP9A4EPDgABAQEDAgICAQIDAgICAg78/gL++f72+fn99/n2+fcA/YID/gIAA4EC/gL9gRAPAAECAQICAgIBAgEBAgICAw///QEABQIEBQL/AAUFBQUDAP2CA/4FAAiCBAT8APgAAIAGACwAHgADABYAAgARAAQAFgAAABZAAcAAwAAAAAAAABZABQAAwABAAAAAAAm5CQm5IiHR0gDXgUf/Mf7b/tz/Mf8x/zH+3P7bgwkm3Nwm2dkjIwD3gQf4NDP4+PgzNIMG/gSIgoMA+kD/fYBA/3+BiwkEAAUJBf0BCgAKgQf6+Pf6+vr3+IMJ/wD9+/0B//sA+4EHBggIBgYGCAiDAwIBAAKBAwEBAAKBBwUKCgUFBQoKg4AGACwAbAADAHIAAgBVAAQAagAAAGdAAcAAwAAAAAAAAF1ABQAAwABAAAAAADW7wA0FxcXFytXi6ez2AAkODg4OBvrt6ePZ0MnFTk5ORTQc/OnOqJCGhoaGjZuy0+kBJkBOANOBCOsSEus/wdfw/III/vbp0sE/KhEEghsCChcuwT89RlRkbm5uXko9P8HDuq2dk5OTo7bDgybcKOeZQUFBNiUUDQT06N/a2tra4u8BDRMgLjpBm5ubpbjU+A0hSmtDAIAAgACAAIAKc1s+HQ3yyKqbAAGBCAL+/gLvEA0IA4IIAgQJDhDv8vn9ghv++/fyEO/dwamZkZGRnrbZ7xAkQVlob29vY0wog0D/TgHt+EX/WP9P/0//T/9b/3IOkqa20ef3/v7+/vLbu6eXSf98/2b/V/9P/1f/V/9X/17/a/9/Dpinutfq9fX19e/hzramk0L/dv9i/1eAQP9Ogbc1DAT/BwwMDAwKCAcGBAIBAQEBAQECBAUHCQoMDAcHBwcHBgYFBgcICAgICAcICAcHBwcGBwALgYAGAQEAAv7+/4MH/wD//v4CAQGDGwEAAQH+AgIDAwIDAwMDAwIC/v7+/f39/f39/f6DDfn+APz5+fn6+/z9/f//hCL//v79/fv7+fn9/f39/f39/f39/f39/f39/f39/f39/f0A+oEHAf//Af4CAgGDBwEAAQEC/v7/gxv/AP/+Av7+/v3+/f39/f3+/gICAgMDAwMDAwMCgwMDAQAChRABAAEBAQEBAQEBAQEBAQEBAYQQAQEBAQECAgEBAQEAAgEBAQGDAAGBBgH//wH+AgKGBQEBAv7//4Qa//7+Av79+/n49/f3+Pr9/gIDBQcICQkJCAUDg4AGACwANwADADcAAgAvAAQANgAAADVAAcAAwAAAAAAAADdABQAAwABAAAAAABshnp4h1vvv3tbW1t7v+56e+xxFWVlZRRz7igAJgYMV7Ozs8PkABg8UFBSzs7PN8gARNU1NTYMbzmdnztcYMFBhYWFQMBhnZxj82MjIyNj8GGkAOIGDFSMjIxsMAPTk3NzcSUlJMhAA7822traDBvTr6/TxsJhE/3j/aP9o/2j/eAWYsPLysJlE/33/cf9x/3H/fQOZsO8AQP9lgZ0b/gYG/gIEBwoKCgoKBwQGBgQEAwICAgMEBAcAB4GDDv///wABAP8AAQEB/f39/4IDAQMDA4OAGv39AP/+/fz7+/v8/f39/f3+//7+/v/+/v0A/IGDAgEBAYMH/////wICAgGBBP///v7+g4AaAgIAAv///////////wEB//8A/v7+AP//AQD+gYMEAwMDAgGBDv/+/v4GBgYEAgD//Pr6+oOABgAsAHoAAwCSAAIATgAEAHEAAAB1QAHAAMAAAAAAAABzQAUAAMAAQAAAAAA7lpYYGBgK9uHYup+Xl5eanaCgoKavtry8vKywzsrGwsGwtdDZ6Rk/Pz85MSkjIyMbEgoKCvbe2MeplgDdgQAfgTYfEP3y7e3t8AgoMT08JAkC+vb08ez5Af///wIKEKadnZ2dueb+ChkdGxAJGiYqMDo2QU5OTko2g0EAlACUB/v7+wglU3N+TwCeALYAtgC2AMAAzQDXANcA1wDJALMAnACOAI4AjgCGHWAyNkdSUGJdQ0Yg/vf39wUaMD4+PjAgEhISIDZEYEEAgwCUgABwgQDtgRbz9/8EBwcH+eXc5P4UGg8jNDc0MTMtFYIc9+3rTVNtbW1aQjkvIBQKAPsF/ezd3sKmm5ubtNqDFPHx+fn58uXSxbijlJSUmqGnp6ebiUT/dv9q/2r/av98C5ilrsLS19PMs6aXgEP/c/9z/3P/fxCRo6+vr6mjnZ2dqLnD0ebxAED/a4G9OwYGAQEBAgMEBggJCgoKCgoKCgoKCgsLCwsLCggIBgUEBgcFBgcFAwMDAwICAgICAwMEBAQGBwYGBQYACYGEAP+GCgECAQEA////////gQz///8BAgH9/f7+/v7+gRABAQEBAAECAgICAgICAgICAoMB/f2DNf79/fz6+/v7+/v7+/v7+/r6+vr6+/z8/f7+/f39/Pz9/v7+/v7+/v7+//3+/v79/f7+/f0A+4EA/4EG//8BAAEBAYEF///+/v//ggQBAQEA/4MI//8DAwMDAwIBgRD///////////7+/v7+/v7+/4OBHf///////v4A/v////7+/f39/f7//v7+AAEBAQEA/4EOAf8B//39/f79/f39/f/+gwMBAQD/gQD+gQD+gQD/gRMBAQEBAP79/f4AAQECAwMDBAQDAYIM////BwcICAgHBQMDAoQK//78/fz6+fn5+vyDgAYALAC/AAMAxgACAIwABACxAAAAq0ABwADAAAAAAAAAokAFAADAAEAAAAAAP0BAQDIQ8s6gi4sODgj/9vLm0MPDwzAw/NKhjIyMpM/p+wkNEBbt8PcEDg4PDg4ODAgA/AUTJjI5OTk5NjAnIhUGBf78/Pz5+UIAgACAAIAWYzgiDurPwcHBwcna8wX5Dhbz5uf6AAWBgQcgTGJiYk0mC4oj+k9PTzQH7M+tnp6enpuWkhcTCAEBAfzy7Oru9fr6AQH++fHsggH//4EeBhIjLE9P+Pj5GUliYmJTOBUA7NzAq5+fn562FAH7AYMH4ODg8hcxS3hBAJIAkg/4+P8OJjZLZnNzc+PmNlF1QgCHAIcAhz96YU8+Gfrm5R4gJi0zHP7u7u74CiQ25+Te2NbW1tbQ0uoIBgoSGRkZ9PSJiYmd1AgXOVpvb29vZE0sFgDr9wj1AdXRg4AM7dGplJSUrdXs7fL5/YIn/PPtABPT09PlAhQjP1JSUkMrEwr+/wABAQEGDhQUFBQTEwEB+/Ll3YYe//79/MHBBgYB67mUlJSnxuwA3fktVm1tbUtF//H0AYMJkpKSnLHB0uv4+IEm9+fQwbCXiYmJjo7A1e/8/Pzx3MzBrJySkYmNnrnM3vgFBQX869HAQv9J/1v/dgWIkpKSkohI/3T/Wv9L/zz/JP8T/wr/Cv8KAYyMR/8U/xT/FP8g/zj/S/9a/3AFgImJiYmCSf9z/1r/Sf83/x7/FP8P/xX/JP86gED/EoG/oi4DAwMDBAQFBwgI//8AAgMEBQkKCgoEBAQFBgYGBgYEBQQFBgYGBgYGBAIC/////4EvAwQIBgUEAgICAgIFCAgJDA4PDw8HBwYGBgcICAgJCQgICAgIBwkICwoMDg0NCgANgYEHAQIDAwMCAP+KI/8DAwMDAf/+/f39/f3+/v0BAQEBAQEBAP///////wEBAQD//4oLAwP//wABAgMDAwIBgQn///79/Pz8/f4BgQABgwn+/v7+/v7+/v39gh3//v79+/v7+/7+/v39/f39/f7+/v7+/v78/P3+//+FL//++/z8/f7+/v7+/fz8+/r6+fn5/f39/f39/Pz8+/z7+/v7+/v7+/v6+vn5+fsA+oGBBv/+/f39/v+LBAH+/v7/gQoBAgMDAwMDAwP//4QGAQEBAQEBAYMBAQGBAQEBgxv////+/gEBAQD+/f39/v4AAQECAgMDAwMCAv//hQz+/v7+//8BAQEBAQEBgQn///7/////////gwf///7+/wABAYMC/wD/ggUB////Af+BBP//////ihH///8AAQD/AP///////////wGBAwEBAgKDgAr//fr4+Pj6/f///4YT/wAB/Pz8/gECBAYHBwcGBQQD//+DBwEBAgIBAQEBgwH//oga///7+wEBAP/6+Pj4+fz/AP4BBAYICAgGBQD/hYAGACwAcgADAHMAAgBbAAQAcgAAAGtAAcAAwAAAAAAAAGdABQAAwABAAAAAADpTLjEb++Pj4+Pr+w8bICctLy8vJhwYGxotQUFnZ1s+EO/Wuq6srKy61gAbK0hcZ2dnZ2dmXQNCby8A7oEGavzj2uXx7ocp/v39/fju5+fn+/3i2OYLLUVFRTUcBP3rybCioqKux+oA7gwvQ1j8Yi7JgzrkFhsmMDY2NjYqFfrr4NHIw8PDurO5yMjJ0t2rq7PC2Ob+KEhaWlpMMAfr3cOrnZ2dnaKyzgHa1f0A3YEKqv4BBgsSFzotGAiGJvv18e/v7/r03d7Uu6SWlpalwegADTBUbGxsXkYlEhf+28Cv4ev99IMD3tu/lkX/ev9t/23/bf9t/3YOiKCvv9vu+fn5793EtKKCRP9u/27/cv9y/3oOiqO0w9ro7+/v5ta/r6GNRP9+/3b/dv92/3YChaLIQP92AcLGQP96gED/a4G8E/8AAgUJCgoKCgoHBQMCAP7+/v7/gSQBAgQEBAQEAwQEBAYGBgUFBQYFAwIEAwMEBAQEBAH/Bv78BgAJgQYE//7+////hgz/AP/+//7/////AAEBghoCAwMDAgH//v7//v7+/v7+/wD/AAECA/8DAv6DDgEA//79+/v7+/z9/v///4Yk///9/f3+/v/+/v39/f7+/v79/f7+/v7+/v7+/v8AAfwAAf0A+4EF/QECAgEBiR0BAQABAQEBAQEAAQEB//7+/v7+//8BAgECAgICAgGBCAEA//39Af3/AoME/f79/v+HCf///////wABAQGBEP/+/////wABAgIBAQEBAQD/gQH//4QH//7//f3/AAGBCfkAAQICAgIEAwGIBP//////gR3///78+vn5+fr8/wACBAcICAgHBQICAv/9+/n//f+EAIAGACwAPgADAD4AAgAmAAQAPgAAADtAAcAAwAAAAAAAADZABQAAwABAAAAAAB0CAgICQ0MpCOfNzc3nCClDQ0MpCOfNzc3nCClDAPWBG9JWVtLt1LW1tdTtBCMjIwQT+9vb2/wTKkpKSiqDHSMj9fW8vOoFIExMTCAF6ry8vOoFIExMTCAF6rwA/YEbF9vbF/QMKCgoDPTavb292vsULy8vFPvhxcXF4YNB/2n/aRoJCb+/urazrq6us7e6v7+/urazrq6us7e6vwBA/26Bnx0ICP7+AQECBQYFBQUGBQIBAQECBQYFBQUGBQIBAAmBgAEDA4EW/v////4A/wEBAf8AAf///wEAAgICAgKDAfz8gwj+/v39/f39/v6CCP7+/f39/f3+/oEA/IEUAf39AQEBAgICAQEA////AP8AAQEBgQT//v7+/4MB//+DAP+BAv///4EA/4IA/4YA/4EAAYEbAv39AgACBAQEAgD++/v7/v8BAwMDAf/9+/v7/YOABgAsAGwAAwBoAAIARwAEAFMAAABVQAHAAMAAAAAAAABKQAUAAMAAQAAAAAAZzMwICPv7+/z58enh2NbW1tbW1tng6fH5/PtC/3j/eP94EYuq0ukAKEhZWVlZSCj/6dKqikD/eIAA2IEICvb2CvcKDAkEggcECQwK9/X3/IIY/Pf1Cvfnx62enp6tx+f3Chk4UmJiYlI4GYMjDg7Y2NnZ2dnd6fcFERUVFRUVFREE9+rc2dlxcXFdOg734LSSQ/99/33/ff99CZK14PcOOl1xAPeBBwr29goB/wEBhAYBAf8BAP//ghj//wD/ARU6WWxsbFk6FQH/6sSmlJSUpsTqg0D/fwvp84kGBgb758u6qo1F/3r/b/9v/2//b/96EI6pusvn+wb9/f3048q6qpGBQ/93/3f/d/93CICSqrrJ4vT9AED/dIGzMQoDAAb///8AAgQGBwoKCgoKCgoIBwQDAQD/BwcHBgUFBAQEAgMDAwMDBAYGBwYHBwAKgZABAQGEAQEBgQj//v39/f39/v+BCAECAwMDAwMCAYMD+/8A/YMP//79/Pz7+/v7+/v8/f3+/4EX/f39/f79/f3+/////////v79/f79/QD7gYMDAQEA/4QD/wABAYoIAQICAwMDAwIBgQj///39/f39//+DDAEBAQEBAQEBAQEBAQGGDwEBAQEBAQMDAwMCAQEBAf+FBwEBAgMDAwACgYUB//+EAf//jAgCBQcICAgHBQKBCP77+fj4+Pn7/oOABgAsAGUAAwBhAAIARgAEAFMAAABUQAHAAMAAAAAAAABWQAUAAMAAQAAAAAAxkZEVFb+/v8DDyM3Z5ejn5ubs8OvczsjCv79CQkI5KRIF5cGysLCwr7zV9QUTKTlCAMWBgwQCAvz7/YIC8MqJQf9XAJ8CczcRghgDBgYCAh1DW2ZmZlM7LTK6sqagnp6eqcDngzFjY8rKISEhIyQjISY5SVBLS1BIOCciIyMiIYqKipq66AUVM1Brd3dmSS4TBeq9nIoA4YGDBAQEBAMBggcSKDYx3Nnk84IYAQIDBATyzK2YmJintbmuX1tdZWxsbFo9GIMD8PD5+UP/dP90/3T/fQ+NpbXD2+z2+fn26trEtqeORP99/3T/ff99/30RhJGntcbc6vHz8/Hn2MO1p5KEQP99gED/dYGzMQgI/v4LCwsLCgkHBgQEAwICAgIDBAYHCAoLBAQEAwQEBAQFBQUFBQQFBQMDAgMDBAAJgYwG/vv6BQQCAYgSAgQEBAQDAwMD/v39/f39/f3+/4MB/f2BLfv7+/v7/Pz9/v/////////+/fz8+/v+/v7+/v7+/v3+/v7+/v7+/v7+/v7+APuBiwcBAQMF/P3+/4gS/v79/f3+/v/+AgMDAwMDAwMCAYMBAQGBDwEBAQEBAgECAP7///////+BAAGBBQEBAQEBAYEB/wGDAQEBgQb///8AAQADgYYAAYMHAQMFB/v8/v+HE/78+vj4+Pr7+/sHBwcHCAgICAUCg4AGACwACQADAAkAAgAJAAQACQAAAAhAAcAAwAAAAAAAAAVABQAAwABAAAAAAAWWlhkZAJuBhwV5eeDgAE2BhwXv7/f3AOeBhwUGBv7+AAaBhwH9/YIA/YGHhAACgYeABgAsAGAAAwB1AAIAVAAEAGEAAABcQAHAAMAAAAAAAABTQAUAAMAAQAAAAAAj4ez+Bwf/7OHMq5KEhISEkqrM4ecDBwf+7OHq+QIHBwcHAvjqgQWgoJycJyeBB6CgCgqgoACwgQH//4EHaWlhYWFNLgyBB/fWtZ6enpiXjAH/mYEAmYMGyjExygBoaIQJPDs4ODg5OzxObEUAgQCMAIwAjACMAIEXa048Ozk4ODg7PCwS//T09PT+Eix1dXBwQQDGAMYFKCh3d3BwQQCCAIIDcHAAKoEB//+BB5OSk5OTo7/ngQcZQV5tbW1tbYECAQEBhwH/cYEAcYMGMMjIMACPj4QCr6GGQf96/3oPhqGvwNzw+vr6+vDcwK+ihUH/ev96DIahr8Hg9gICAgL24MJF/vT+9P9//3//ef95AYKCR/8E/wT/f/9//vT+9P9//3+AQP78gbc1BwcHBwcGBgcHBgYGBgYGBQUFBQUHBwcHBQUFAgD/////AAIEDg4MDAwMBAQNDQwMDg4MDAARgQH//4EHAwMEBAQDAQGBB////v39/fz9iwL///2BAP2DBv8CAv8ABASEHP38/f39/f7+/v39/f39/f39/v7+/f39/fz8/f//gxT///35+fr6+vr9/fn5+vr5+fr6APeBgwf9/f39/f7//4EHAQECAwMDAwOLAgEAA4EAA4MGAv7+AgD9/YSBCP/+/v7/AAEA/4MA/oEI///+/v7/////hgMB//39gQX+/v39/f2BAfz8ggACgYMH+Pj4+Pj5/P6BBwIFBwgICAgIjQAJgQAJgwYE/PwEAPf3hIAGACwAwAADALwAAgCbAAQAowAAAKVAAcAAwAAAAAAAAIlABQAAwABAAAAAABNBV2lpZWVlZWBbV1pENTg/Pz8aGkMAwgDCAMIAnihuWj0Q8eHh4eH4FzdBUV1iNiou+/v7/v768unj5Ofn5+fk5Ony+v/++0L/d/93/3cRjK/b8ggzVmpqampWMwjy27CMQP93gABAgQUBAf758eyCAf//gSILGSUoT0/u7vUZSWJiYlM4FQDs3MCrn5+fpLYK9gH3CgwJBIIjBAkMCvf1+P0BAQH9+PUK9+fHrp+fn67H5/cKGThSYmJiUjgZgxPEuq2loqKiopaSp8jHz9vl5eW0tEP/VP9U/1T/bSihyNT5Hzk5OTkvHAHy79bo7+C76+vr7fUFEyAvNzo6Ojo3MCATBvXt60IAggCCAIIRcFEqE/vTtKKioqK01PwTKlJxQACCgADxgQkBAQIA+fHr6/H6giEDBP/4wcH9/f3quZSUlKC31+vxDjtcbW1tVUT09QEB/wEBhAMBAf8BggIBAQGCFf8BFTpabW1tWjoVAf/qxKaUlJSmxOqDav8t/zv/Vv9q/3b/dv92/3b/a/9X/zz/Lf8f/wb+9f7r/uv+6/9w/3D+8/7z/vP/Af8b/y3/PP9T/2T/bf9t/23/bf9k/1L/O/8t/xj+//72/vL++/8YCAYGBvrmy7qpjEX/ef9u/27/bv9u/3kPjam6y+b6Bvz8/PPiyrqpkEX/f/92/3b/dv92/38Hkaq6yuP0/ABA/vSBv5o/CQcDAgEBAQECBAYGCAwLDAwMBwcHBwcIBwYGCAkJCQkJCAkICQgKCgwMC////wACAwQGCQgICAgICAcFAwIBABj/CAgIBgUDAwQEAwMDAwMDBAUEBAQGCAALgQUBAQEA//+IDQEAAwP//wEBAwMDAwIBgQv///79/Pz8/f4A/gGMCAEBAQEBAQEBAYEI//79/Pz8/f7/gQgBAgMDAwMDAgGDKvv8/v///////v39/fz6+vr6+vz8/f39/f38/Pz7+/v7+/v7/Pz8+/v6+vqDDv/+/v38+/v7+/v7/P39/oIX/f39/f39/v7+/v7+/v7+/v39/f39/QD6gYMBAQGCAAGCIf/////+/gEBAQD+/f39/v4AAQECAgMDAwMCAgABAAEBAP+EBf8AAQEAAYUAAYEIAQIDAwMDAwIBgQj//v39/f39//+DgSj+/v7+/v7+/////wD/////AQH+/v7+////AP///////v79/v/+/f7/AZIAAYEEAgICAgGDBv//////AP+CBAEBAgD+gYEFAQEA////hgP///v7gRP//vr4+Pj6+/3/AAEFBwgICAcG/4MB//+EAf//jBMCBQcICAgIBQEA//78+fj4+Pn8/4MAgAYALAAaAAMAGwACAA4ABAAXAAAAF0ABwADAAAAAAAAAFkAFAADAAEAAAAAACZeJid+6lu7u3wBA/1iBCO0LCwsmCwsO7YMAVkEApgCmBzctJLi4BQBGgYAG+PX11PX1+4QK0aurttTy/PzXAKmBjAoHCgoHBgYBAQUADYGABv///wL//wGEBfz7+/39/YEC/gD6gQABggD/gQH/AYMAAYIGAgICAgEAA4EAAYIE/f///wGDgAUAKAA6AAMAOgACADIAAAAsYAHAAMAAAAAAAAA4QAUAAMAAQAAAAAAb+fnu2s25oaGhrMDN4PnMzM3Nzc7Ozs3NzcwAnIEZ5dzNw8PD2eXu/gcHB/Tl3eTk5N/l6+fn5+uDG/7+/wMHDhERERAMBwH+FBQKBwX7+/sFBwoUAPWBGY2KiIiIiIqNkJOSkpKTjY6YmJiQjYqBgYGKgxsBAQEDAwUGBgYFBAMCAQICAwMDAgICAwMDAgAFgYED//7+/oYA/4EC////ggL///+EDg0AAQEBAgEBAgEBAQEBDYIK///+/v/+//8A//4FAQECAgIBgQX///8AAQCCCAICAwMDAwMCAoENAQECAgMCAgICAgIBAASBGfn6+vr6+vr6+vr5+fn5+vr7+/v6+vn5+fn5gwCABgAsADwAAwA6AAIAHwAEADcAAAA6QAHAAMAAAAAAAAA6QAUAAMAAQAAAAAAa4JqapbbCv7q2sa+nmZnf39XDuMHIycnL0+AAQP9rgRnY4/UPHBwcJTE6Ojo8LCYU9eLi4trNxcXFyIMb+jc3Ni8oLSgfGR0oNDT19ff9BQEGDhMPBfoAFoEZHx8fEQEBAf369vb2CgsPDRspKSktMTU1NSCDG6mfn6ezvMXP2OLp8fz8Bgb+8enh1szDvLSpAKaBnRsFCgoJCQYGBwYGBgUGBgEBAgMFBQUFBAUHBQALgYMVAQEBAQICAgICAAIBAQEBAQD//v7+/4Mb/Pv7+/z8/P39/f7+/v7////+/f3+/v39/PwA+oEZAQEA///////+/v7+/////wABAQEBAQICAgGDgAMDAwMCgRECAgMDAgMDAgICAwICAQECAgKBAASBGQMDAgD//////v7+/v//AQECBAQEBAQEBAQDgwCAAwAYAAUABAAFAAAABUABwADAAAAAAAAAgACBgYOAAAeBg4AA/IGDgAMAGAAFAAQABQAAAAVAAcAAwAAAAAAAAIAA5YGDgAABgYOAAP+Bg4ABAAgABQAEAIAA/4GDgAYALAANIAMACAACAAgABAAIAAAACEABwADAAAAAAAAACEAFAADAAEAAAAADAgECAgMCAAIDAvr67ALkRgACJfCyArcnAEL/X//+/1SCAggDCgIC/wAC+wD7Av4BAAL+AQMC+wMAgAYALAANIAMACAACAAgABAAIAAAACEABwADAAAAAAAAACEAFAADAAEAAAAADAgECAgMCAAIDAt3d2gLkRgACDMbGArcnAEL/OQAO/y6CAg0EDQIC/wAC+gD5Av4BAAICAwMC+wMAgAYALAAgAAMAHAACABAABAAcAAAAGUABwADAAAAAAAAAGkAFAADAAEAAAAAABQQEBPbYwEH/fP99BIODgwCmgQpfTk8wCv4nL0lNX4MMCwsLFx4VP05LS0sAZYEK4QoQFxcUDRYXBuGDDAMDA//48+3z+/v7APWBjgwBAQEBAgQHCAcHBwAFgQoEAgICAQABAQMDBIODCP/+/f39/f0A/oEK/f39/v8A///+/v2DggkBAAEDBAMDAwABgQH9/4EGAQEAAQD//YOABgAsABsAAwAbAAIAEAAEABsAAAAZQAHAAMAAAAAAAAAbQAUAAMAAQAAAAAAMlJSUosHYHRsWFhYApoGACBkYNl1pQDkeGoQMRUVFOTQ8EgMHBwcAWIGACNzVzs7S2dDQ4IQM8fHx9f0BCAH6+voA9YGODAYGBgYDBP39////AAWBgAgBAQIDAwEBAAGEB/39/f3+/wEBgwD+gYAI///+/f3+/gD/hAMCAgICgQb//v7+/gABgYAI/v79/Pv8/Pz+hIAGACwAHAADAB4AAgAQAAQAHAAAABlAAcAAwAAAAAAAABpABQAAwABAAAAAAAyCgoKQr8YLCQUFBQCUgQouFRQyWWU9NhoWLoMLZGJiVlFZLyAaGhoAQACUgQpD7+jh4eXt5OPzQ4MM9vb2+gIGDQb+/v4A+IGODAYGBgYDAv7+AQEBAAaBAAKBBwECAgICAAICgwb9/f39/v8BhAD9gQr////+/f3+/gD//4MDAgICAoEE/v7///+DCgP///79/P39/QADg4AGACwACwADAAkAAgAHAAQABwAAAAdAAcAAwAAAAAAAAAdABQAAwABAAAAAAADyQP9xgED/IIGFAv8jAEAAl4GFAwHjANiBhQMBCwAQgYWAAvsA+IGFAwEFAASBhQCABgAsAAsAAwAJAAIABwAEAAcAAAAHQAHAAMAAAAAAAAAHQAUAAMAAQAAAAAAA9ED/d4BA/xqBhQICOQBAAJWBhYAC4wDXgYUDAQkAEIGFgAL7APiBhQMBAwAFgYUAgAYALAA8AAMAPAACABsABAAyAAAAMUABwADAAAAAAAAAMkAFAADAAEAAAAAACoKCgpCvxgsJBQUFRf8F/wX/Bf8T/zL/SQWOjIiIiABA/x+BFe4VGD1qeE9DHxbu7hUYPWp4T0MfFu6DCmRiYlxcZS8gGhoaRQClAKQApACYAJIAmwVmV1xcXABAAKqBFRfv6eHg5Ovh4fMXF+/p4eDk6+Hh8xeDF/b29voCBg0G/v7+2tra3+fr8evj4+MA24GZFwYGBgYDAv7+AQEBDw8PDQoLBwYICAgADoEA/4EIAQMFAwICAv//gQcBAwUDAgIC/4MH/f39/f7/AQGCDPn5+fn6+/39/Pz8APqBAAGBCP/9/P7+//8BAYEH//38/v7//wGDAwICAgKBEf7+////BgUFBQMCAQEBAQEABIEVAv/+/fz7/f3+/wIC//79/Pv9/f7/AoMAgAUAKAAiAAMAIgACACEAAAAeQAHAAMAAAAAAAAAcQAUAAMAAQAAAAAAPEBAQ/evaxsbGxtnr/BAAyIEN49jHsrKyxtjj9AkJCfSDD/z8/BgtRV9fX19FLhj8AEOBDfr2CiEhIQr2+ubQ0NDmgwL///+BBQIDAwMDAoEC/wACgYAI/f7+/v7+/QD/ggD/g4MH//////////+CAP+BDQEBAgICAgIBAQH///8Bg4UG/////////4EAAYGBBAEEBAQBgQT//f39/4OABgAsAAgAAwAMAAIACgAEAAgAAAAIQAHAAMAAAAAAAAAIYAUAAMAAQAAAAAAEIu2/AI2BhgEHO0AAhIBAANmBhgP6vIEAQP9fgYYE/gYLABCBhgQB/fsA+IGGAgEABAH+/oEAgAYALAAXAAMAGQACAA8ABAASAAAAGUABwADAAAAAAAAAFEAFAADAAEAAAAAAAbiUggGUuIMA9YEJ9wkJCfcJHBwJCYMBKkSBA+pEKuqCACSBCd7c3Nze3Nvb3NyDC8j4AwPU+MjUAwMAx4GNAQYGgQMCBgYCggAFgYUBAQGFAf39gQP//f3/ggD+gQkB////Af//////gwECAoIBAgKGCf/+/v7//v7+/v6DAIAGACwAFgADABoAAgAPAAQAFAAAABVAAcAAwAAAAAAAABNgBQAAwABAAAAAAAsQNMfHyBDIx8c0APWBABKCAhL394YL89gdHTPzMx0d2AAGgQna3Nzc2t3d3NzcgwsD08nJ+AP4ycnTAMeBjQj/AAQEA/8DBASBAAWBAAGCAAGIgQb+/v8A//7+gQD+gQD/ggL/AQGGBQQBAgEEAYADAQABAAT+/v3+/oAGACwADgADAA4AAgAJAAQADAAAAA5AAcAAwAAAAAAAAA5ABQAAwABAAAAAAAXKygUFAOaBAxQU8fGDBQgI09MA5IED/v4LC4MFkQIJlwCXgYcFCAIABgAHgQEBAYUF/P8B/QD8gQP//wEBgwUBAgECAAGBA///AQGDgAUAIAAHAAMABQACAAUABAAGIAAABUABwADAAAAAAAAAgQDpgQD9g4EAEYGEgQC0gYQBAAIABICBAP2BhACABgAsAGEAAwBmAAIAPwAEAFgAAABUQAHAAMAAAAAAAABKQAUAAMAAQAAAAAAc/f3//+vw+v8AAgMEBAQEAwEA/vnv6//+/fzfr4xD/3n/ef95/3kMjK7fwMDp6cDA6ekA4oEQmZmZmQD//////fju5h0UCQOEFWdnZ2dnXUkuHebXvKWZ1xwc1+UqKuWDG09ELiQ7NiskGQX06urq6vcPMUVAQDskMklZYXJFAIEAiQCJAIkAiQCCC3NdQED390BA9/cAJIErcnJubgEBAQEB/ffs5PX1+Pz//////5KQjo6On7vh9eT7LVdyFvT0FgLe3gKDAZKIQ/93/2//b/93DYmSpcXb6Ojo6NzEppKJQ/94/2//b/92FImSo8DV39/f39TAo5aWCQmWlgkJAED/dIGvJQUHBgcICAcHBgMCAQEBAQIEBAYHCQgHCQYGBwcICQkJCQgHBggIgQEICIIACYEM/f39/QD//////v7//4EAAYUUAwMDAwMDAgEA///+/v3+AQH+AAEBhCX9/fz7+/v8/P3+///////+/v39/Pz7+/z8/P39/Pz8/Pz8/P38/IEB/PyCAPuBAwMDAwOGAQEBgQD/hRX9/f39/f7+/wABAQIDAwL//wIB/v4Bgwf+/v///////4gU/v7///////7+AP//AQEBAQH//wEBgQEBAYUDCQkJCYUA/4EB//+GFff39/f3+Pv9//8ABAcJA///AwH+/gGDAIAGACwAKwADAC0gAgAkAAQAKgAAAChAAcAAwAAAAAAAAClABQAAwABAAAAAABYmJg0N9fUYGO0NLgMDERH7+x4eBwcA3oGAACqBADmDAMODARgYgQEYGIQODQEBAQECAgEBAgICAgICDStWNmIpbUYtZDVRBBQSC8D6+sT6ACgA+t3+3YFB/3D/cAeJkqystbWqjUL/cv9n/2cIw8Pe3ufnAgIAQP9hgZgSBgYGBAYGAgIHBgUHBwEBAwP//4IACoGAAAGBAAODAP6DAQICgQECAoQQ/f39/f39///9/f38/P////+EAPuBgAD+gQD+gwACgwH//4EB//+EFP39/f/+/v7+/f79/f3+/v7+/////4OAAPuBAPyDAAODAf39gQH9/YSABgAsAA0gAwAIAAIACAAEAAgAAAAIQAHAAMAAAAAAAAAIQAUAAMAAQAAAAAMCAQICAwIAAgMC+/v8AuRGAAIL380CtycAQv91//r/bYICBwIIAgL/AAL8//wC/gEAAv8BAgL7AwCABgAsADEAAwA8AAIAIAAEADAAAAAvQAHAAMAAAAAAAAAuQAUAAMAAQAAAAAAasDMzMyEA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/v7///+CAP2Bkgb////+/v7/gwQBAgICAYSMEf////8A/v7+/v//AAICAgICAYEC//7+gwIB//+EA///AQGEEgH/AP/9/Pz8/f8A/wEDBQUFBAGDgAYALABpAAMAbAACADkABABnAAAAY0ABwADAAAAAAAAAXEAFAADAAEAAAAAANQT3DzJEREQj/9+vrxcXEgkC+ejd3d3e4OQEBATk3t7i4uLs/QYMERERqqrfASJKSkozDfcA6YEN39/f7gYRKk9PTyYDAwGEDwIGCAgGBgYh+vr69/X3+v6DDP36+tiwsLDO7gAWISGDNQsSA+7j4+P6CB4zM/Dw+wUDDR0mJiYXEBsLCwsbCRInJyccDAIE+evrMDAcDgDk5OTwBBIAEYEWDw8PB/v039HR0en7+wMFAQEBAP/+8/aCCPT///8OEgIBAYIN/wYSEiMwMDAkEgj69PSDNejd0cK5ubnK2uj8/AQE+eXazruxsbG8z9zo6Ojczbmurq65zdnk+QcH///q2ci3t7fB0t0AtIG3JgMDAwICAgIAAwMFBf//AAICAwUHBwcFBAQDAwMEBAUGBgYFAwICAYEEBAQBAwOCBAECAwAEgQL///+BCAIDAwMDAwICAYQPAQEBAQEBAQH///8AAQD//4QL///9/v7+////AQEBgwP/////gx3///7+AQEA///+/f39/fz9/v////7+/P39/f3+//+CBP7+/v//ggT///8A/YEMAQEBAP////7+/v///4YK/////////wEBAQGBAQEBgwwBAQECAgICAgEB////gxkBAQD//////v8BAgL///8BAQABAQEBAQABAYIAAYQCAQEBggECAoEE//39/f6FDgICAgEA//38/Pz+//8AAYMC////gwD+ggIBAgGFDAECAgMFBQUEAgH//v6DAIAGACwAGgADABoAAgARAAQAGgAAABpAAcAAwAAAAAAAABdABQAAwABAAAAAAA319QULMuMas87ONjYA6YED0SIi3IEBYNGHDQcHCADiF+A1IyPf3wARgQMj8/MegQHHI4cNpqYJCsa/zf++vsbGALSBjw0EBAD+AwYBAwQEAQEABIED/wIC/oEBA/+HDf39AQH//f/+/f3//wD9gQMB//8BgQH9AYeBCf//AAH/AQEB//+DAwP//wKBAfsDhwCABgAsAEkAAwBJAAIAJwAE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//39/f8AAQIEBQUFBAL//4QC////hA7///79/Pz8/v8AAQMDAwGDAIAGACwAYgADAGQAAgA0AAQAYQAAAFdAAcAAwAAAAAAAAEpABQAAwABAAAAAADD6/hQwPT09PS0J7tazoKCgstHmBis7OiIjGwwECAgEBAQA9u3o3tfX19fd6PX9+QDpgRmwsLDSABPvDjlPT084FQPzz7e3t9b/DiUVBYIEBwoCAQGCCQIGCPD7AgL///+DMAoJ69vg4ODg8QcQHjI9PT01JRoQ9+Th+P338/0C/vf39wQQEAURJSUlJQz18wsKABGBLigoKAry/Q794tLS0tzs9fwRIiIiFv7rDwb9+/v78O35+/8BAQEPEf743dTl+fn5gzD08NzEubm5ucLS3Ob2////9+fd0cG4uLS1wNLe6v0HBwf86dzOu7GxsbG4yN/w9AC0gbITAQMDAwICAgIBAwMFBQUFBQQEAwKBFwEDAwIDAgIA////AQMEBQcICAgIBwUEAoEABIED/v7+/4ET/gACAwMDAgICAf/9/f3/AAEBAgGCAwEBAAGDCQEBAf////////+DgSr//////////////v7+/v7+///////+/v7//wABAQEBAP/+/vz8/Pz8/P3/ggD9gQ0CAgIBAP8BAP/+/v7+/4EIAQICAgEA////hAH//4QE////AQGIgRcBAf/////+/wABAQEBAQEBAP/+/gD//v6PAgEBAYUXBAQEAf//AQD+/Pz8/f8AAQIDAwMD//8BgQT//////4UGAgH/AP3+/4YAgAUAIAAFAAMABQACAAUABAAFAAAABUABwADAAAAAAAAAgQDpgYSBABGBhIEAtIGEgQAEgYSBAP2BhIAFACAABQADAAUAAgAFAAQABQAAAAVAAcAAwAAAAAAAAIEA6YGEgQARgYSBALSBhIEABIGEgQD9gYSABQAgAAUAAwAFAAIABQAEAAUAAAAFQAHAAMAAAAAAAACBAOmBhIEAEYGEgQC0gYSBAASBhIEA/YGEgAUAIAAFAAMABQACAAUABAAFAAAABUABwADAAAAAAAAAgQDpgYSBABGBhIEAtIGEgQAEgYSBAP2BhIAFACAABQADAAUAAgAFAAQABQAAAAVAAcAAwAAAAAAAAIEA6YGEgQARgYSBALSBhIEABIGEgQD9gYSABQAgAAUAAwAFAAIABQAE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YAUAAMAAQAAAAAIBAQIBOwIB/QABBu4B9AAAgAGxAED/boGFAQADAAeAAIIA/IGFAQABAP0A/wCABgAsAAYAAwAGAAIACiAEAAYAAAAGYAHAAMAAAAAAAAAHYAUAAMAAQAAAAAIBAQIBRQIB/QAB7O4B9AAAgAHdAED/boGFAf4HAf8AAQADAPyAAQABAP4A/wCABgAsAAYAAwAGAAIACiAEAAYAAAAIYAHAAMAAAAAAAAAHYAUAAMAAQAAAAAIBAQIB5QIB/QABxO4B9AAAgAGxAED/boGFAQUHAf8AAIAC/QD8gYUBAAEAAgD/AIAGACwABgADAAYAAgAIIAQABgAAAAZgAcAAwAAAAAAAAAdgBQAAwABAAAAAAgEBAgH+6QH9AAHMPgH0AACAAukA04GFAQEDAf8AAQADAP6AAQABAAIA/wCABgAsAAYAAwAGAAIACCAEAAYAAAAGYAHAAMAAAAAAAAAHYAUAAMAAQAAAAAIBAQIBMOkB/QABCj4B9AAAgALpANOBhQH+AwH/AAEAAwD+gAEAAQD+AP8AgAYALAAGAAMABgACAAggBAAGAAAACGABwADAAAAAAAAAB2AFAADAAEAAAAACAQECATrpAf0AAfA+AfQAAIACFQDTgYUB/QMB/wAAgAICAP6BhQEAAQD/AP8AgAYALAAGAAMABgACAAggBAAGAAAACGABwADAAAAAAAAAB2AFAADAAEAAAAACAQECAdrpAf0AAcg+AfQAAIAC6QDTgYUBBAMB/wAAgAL+AP6BhQEAAQADAP8AgAYALAAGAAMABgACAAogBAAGAAAABmABwADAAAAAAAAAB2AFAADAAEAAAAACAQECAUv0ARMAAejpAfYAAIABzABA/0CBhQH/CwH+AAEAAwD6gAEAAQD/AP8AgAYALAAGAAMABgACAAogBAAGAAAACGABwADAAAAAAAAABkAFAADAAEAAAAACAQECAerTARsAAawFAf0AAIABpwBA/06BhQEGCwH8AACAAv0A+oGFAQQCAf8AgAYALAAGAAMABgACAAogBAAGAAAACGABwADAAAAAAAAABmAFAADAAEAAAAACAQECARzTARsAAeoFAf0AAIABpwBA/06BhQEDCwH8AACAAv4A+oGFAQADAAKAgAYALAAGAAMABgACAAogBAAGAAAABmABwADAAAAAAAAABkAFAADAAEAAAAACAQECASbTARsAAdAFAf0AAIAB0wBA/06BhQECCwH8AACCAPqBhQEBAgH/AIAGACwABgADAAYAAgAKIAQABgAAAAZgAcAAwAAAAAAAAAZABQAAwABAAAAAAgEBAgEs0wEmAAHlBQH0AACAAdMAQP9OgYUBAQsB/AABAAMA+oABAQIB/gCABgAsAAYAAwAGAAIACiAEAAYAAAAIYAHAAMAAAAAAAAAGQAUAAMAAQAAAAAIBAQIBxtMBGwABqAUB/QAAgAGnAED/ToGFAQgLAfwAAIAC/AD6gYUBBQIB/wCABgAsAAYAAwAGAAIACiAEAAYAAAAGYAHAAMAAAAAAAAAGYAUAAMAAQAAAAAIBAQIBJyUBCAABtiEB/wAAgAGlAED/ToGFAQEGAf4AAQADAPyAAIIA/YGFgAYALAAGAAMABgACAAogBAAGAAAABmABwADAAAAAAAAACGAFAADAAEAAAAACAQECAVklAQgAAfQhAf8AAIABpQBA/06BhQH+BgH+AAEAAwD8gACAAvwA/YGFgAYALAAGAAMABgACAAogBAAGAAAACGABwADAAAAAAAAACGAFAADAAEAAAAACAQECAWMlAQgAAdohAf8AAIAB0QBA/06BhQH9BgH+AACAAgIA/IGFAIAC/QD9gYWABgAsAAYAAwAGAAIACiAEAAYAAAAIYAHAAMAAAAAAAAAGYAUAAMAAQAAAAAIBAQIBAyUBCAABsiEB/wAAgAGlAED/ToGFAQQGAf4AAIAC/QD8gYUBAAMA/YCABgAsAAogAwAHAAIACQAEAAUAAAAFQAHAAMAAAAAAAAAHQAUAAMAAQAAAAAACAQECATH5Af4AgAIHADiBhYABswBA/2WBhYIAB4GFggD8gYWAAv0A/oGFgAYALAAGAAMACCACAAogBAAGAAAACGABwADAAAAAAAAACGAFAADAAEAAAAACAQECAQTfAf8AAIACgADmgYUAgAG3AED/e4GFAQQKAf8AAIAC/gD7gYUAgAIEAAKBhYAGACwACiADAAcAAgAJAAQABiAAAAVAAcAAwAAAAAAAAAVABQAAwABAAAAAAAIBAQIBNt8B/wCAAr4A5oGFgAG3AED/e4GFAQADAAqAggD7gYWCAAKBhQCABgAsAAYAAwAIIAIACiAEAAYAAAAGYAHAAMAAAAAAAAAGYAUAAMAAQAAAAAIBAQIBQN8B/wAAgAKkAOaBhQCAAeMAQP97gYUB/woB/wABAAMA+4ABAAMAAoCABgAsAAYAAwAGAAIACiAEAAYAAAAGYAHAAMAAAAAAAAAGYAUAAMAAQAAAAAIBAQIBRt8BCgABueYB9wAAgAHjAED/e4GFAf8KAf8AAQADAPuAAQADAAKAgAYALAAGAAMACiACAAogBAAGAAAACGABwADAAAAAAAAACGAFAADAAEAAAAACAQECAeDfAf8AAIBA/3yAAOaBhQCAAbcAQP97gYUBBgoB/wAAgAL9APuBhQCAAgUAAoGFgAYALAAGAAMABgACAAogBAAGAAAABmABwADAAAAAAAAACWAFAADAAEAAAAACAQECATDfAfQAAczmAXIAAIABtwBA/3uBhQEBCgEBAAEAAwD7gACCAAKBgAAHgwCABgAsAAcAAwAKIAIABwAEAAcAAAAFQAHAAMAAAAAAAAAGYAUAAMAAQAAAAACAAjAA34GFAgEBAgEE+QEKAIACxACCgYWAAgIACIGFggD7gYUBAAEA/oAAgAYALAAGAAMABgACAAggBAAIIAAACGABwADAAAAAAAAABmAFAADAAEAAAAACAQECAQvKAf4AAZAeAQEAAIACuQCCgYUAgAICABOBhQCAAv4A+4GFAIAAA4OFgAUAIAAGAAMABgACAAggBAAGIAAABmABwADAAAAAAAACAQECAT3KAf4AAc4eAQEAAIACuQCCgYUBAAMAE4AAggD7gYWABQAgAAYAAwAGAAIACCAEAAggAAAGYAHAAMAAAAAAAAIBAQIBR8oB/gABtB4BAQAAgALlAIKBhQCAAv4AE4GFAQADAPuAgAYALAAGAAMABgACAAggBAAIIAAACGABwADAAAAAAAAABmAFAADAAEAAAAACAQECAefKAf4AAYweAQEAAIACuQCCgYUAgAIEABOBhQCAAv0A+4GFAIAAA4OFgAYALAAGAAMABgACAAggBAAGAAAABmABwADAAAAAAAAABkAFAADAAEAAAAACAQECAd6bAeoAAdhNAe0AAIAC8wDngYUBAQcBAQABAAMA/IABAwIB/wCABgAsAAYAAwAGAAIACCAEAAYAAAAGYAHAAMAAAAAAAAAGQAUAAMAAQAAAAAIBAQIBEJsB6gABFk0B7QAAgALzAOeBhQH+BwEBAACCAPyBhQH/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"}},"time_used":80,"timings":{"blocked":-1,"dns":2,"connect":30,"send":0,"wait":22,"receive":26,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/generate_204?ovv2uA","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.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/HPoJhVNSHdk","date":"2026-07-27T03:33:53.156Z","timestamp":1785123233156,"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?ovv2uA 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/HPoJhVNSHdk\r\nCookie: __Secure-YNID=20.YT=eV2loe5TarhFqlUVIFSBpQRjn_v_TMVcG01J09SodanGw26pe2dVmqat59lQtaocVbsKCUdYA2q0kVVJHaHa9N9qE5YhzDAFJQp29wsoORZgohQgznu7SrhEUnX94RyA0yb-3RoDyd_XlJ57nkHAh3eV9Qsd7xxb3SBcbYT3hiAHoZZc6KPloe5Gpy8oMzE5FJaQ-X8NI0e8ilwJcaR3NFRYY9cFTL4lxxjADOjeAFUZYGMs-ZoMsmCtrxugvROVb3ZHDiEPVIhYns5Stpgl_oPJ38X-by_Q0pbdW0QAWDT96gMZTv3o3XBDur4bAWfiiupWuFb_BeE3XCrAaMOmHg; YSC=6ky3ezEIvRY; VISITOR_INFO1_LIVE=15CNSB7h6-4; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgYQ%3D%3D; __Secure-ROLLOUT_TOKEN=COiu8dvIl-ubQBDLxvug9vGVAxjLxvug9vGVAw%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 03:33:53 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-07-27T05:14:11.3544Z","times_seen":17556491,"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.googleapis.com/translate_static/img/te_bk.gif","fqdn":"translate.googleapis.com","domain":"translate.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:53.348Z","timestamp":1785123233348,"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://agilitetrade.com/\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: 321756\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-07-27T05:19:32.723921Z","times_seen":9111,"resource_available":false,"data":"R0lGODlhAQA7APcAANfX19/f3+Hh4eLi4uTk5Obm5ujo6Orq6uvr6+3t7e7u7uTv++bw++fw/Ojx/Ory/O30/O71/fHx8fP4/fT5/fb6/vj7/vr8/vz9//7+/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAQA7AAAINQAzCBxIUCCGCwgtVFhIYcKECA8jQHgw8UEDBg4aLGCwIIOEjyAlKEiA4ICBAgQGCAgQAEBAADs="}},"time_used":18,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":18,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"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.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:53.349Z","timestamp":1785123233349,"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://agilitetrade.com/\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: 349289\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-07-27T05:19:32.694975Z","times_seen":14498,"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":18,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":18,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/js/bootstrap.min.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.602Z","timestamp":1785123231602,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /js/bootstrap.min.js HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Wed, 22 Apr 2026 17:27:39 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 9206\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":35951,"size_decoded":9529,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (32025)","md5":"8c237312864d2e4c4f03544cd4f9b195","sha1":"253711c6d825de55a8360552573be950da180614","sha256":"d5fd173d00d9733900834e0e1083de86b532e048b15c0420ba5c2db0623644b8","sha512":"e18a5959736a9ceef67b40daf7964c519c678d680bbda8d2c7679281f5d349a286c99b96ca24e7a8e64ce987d372d74ae12da7255c606ccfe27ac13a35b5a3d2","ssdeep":"768:b8lBD27UwlNBMl9/qahC2+jS1g8ep0skCXFXflcKGf3Z1RQ:oe78+S1Klvla3ZrQ","tlshash":"f5f29606b23031a107dfb1e5515b020b72396a6ee90690bc78b9dae53db9c48717bf3d","first_seen":"2023-03-07T01:02:08Z","last_seen":"2026-07-27T05:05:33.53888Z","times_seen":10576,"resource_available":true,"data":"LyohCiAqIEJvb3RzdHJhcCB2My4zLjQgKGh0dHA6Ly9nZXRib290c3RyYXAuY29tKQogKiBDb3B5cmlnaHQgMjAxMS0yMDE1IFR3aXR0ZXIsIEluYy4KICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSkKICovCmlmKCJ1bmRlZmluZWQiPT10eXBlb2YgalF1ZXJ5KXRocm93IG5ldyBFcnJvcigiQm9vdHN0cmFwJ3MgSmF2YVNjcmlwdCByZXF1aXJlcyBqUXVlcnkiKTsrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO3ZhciBiPWEuZm4uanF1ZXJ5LnNwbGl0KCIgIilbMF0uc3BsaXQoIi4iKTtpZihiWzBdPDImJmJbMV08OXx8MT09YlswXSYmOT09YlsxXSYmYlsyXTwxKXRocm93IG5ldyBFcnJvcigiQm9vdHN0cmFwJ3MgSmF2YVNjcmlwdCByZXF1aXJlcyBqUXVlcnkgdmVyc2lvbiAxLjkuMSBvciBoaWdoZXIiKX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJib290c3RyYXAiKSxiPXtXZWJraXRUcmFuc2l0aW9uOiJ3ZWJraXRUcmFuc2l0aW9uRW5kIixNb3pUcmFuc2l0aW9uOiJ0cmFuc2l0aW9uZW5kIixPVHJhbnNpdGlvbjoib1RyYW5zaXRpb25FbmQgb3RyYW5zaXRpb25lbmQiLHRyYW5zaXRpb246InRyYW5zaXRpb25lbmQifTtmb3IodmFyIGMgaW4gYilpZih2b2lkIDAhPT1hLnN0eWxlW2NdKXJldHVybntlbmQ6YltjXX07cmV0dXJuITF9YS5mbi5lbXVsYXRlVHJhbnNpdGlvbkVuZD1mdW5jdGlvbihiKXt2YXIgYz0hMSxkPXRoaXM7YSh0aGlzKS5vbmUoImJzVHJhbnNpdGlvbkVuZCIsZnVuY3Rpb24oKXtjPSEwfSk7dmFyIGU9ZnVuY3Rpb24oKXtjfHxhKGQpLnRyaWdnZXIoYS5zdXBwb3J0LnRyYW5zaXRpb24uZW5kKX07cmV0dXJuIHNldFRpbWVvdXQoZSxiKSx0aGlzfSxhKGZ1bmN0aW9uKCl7YS5zdXBwb3J0LnRyYW5zaXRpb249YigpLGEuc3VwcG9ydC50cmFuc2l0aW9uJiYoYS5ldmVudC5zcGVjaWFsLmJzVHJhbnNpdGlvbkVuZD17YmluZFR5cGU6YS5zdXBwb3J0LnRyYW5zaXRpb24uZW5kLGRlbGVnYXRlVHlwZTphLnN1cHBvcnQudHJhbnNpdGlvbi5lbmQsaGFuZGxlOmZ1bmN0aW9uKGIpe3JldHVybiBhKGIudGFyZ2V0KS5pcyh0aGlzKT9iLmhhbmRsZU9iai5oYW5kbGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKTp2b2lkIDB9fSl9KX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBjPWEodGhpcyksZT1jLmRhdGEoImJzLmFsZXJ0Iik7ZXx8Yy5kYXRhKCJicy5hbGVydCIsZT1uZXcgZCh0aGlzKSksInN0cmluZyI9PXR5cGVvZiBiJiZlW2JdLmNhbGwoYyl9KX12YXIgYz0nW2RhdGEtZGlzbWlzcz0iYWxlcnQiXScsZD1mdW5jdGlvbihiKXthKGIpLm9uKCJjbGljayIsYyx0aGlzLmNsb3NlKX07ZC5WRVJTSU9OPSIzLjMuNCIsZC5UUkFOU0lUSU9OX0RVUkFUSU9OPTE1MCxkLnByb3RvdHlwZS5jbG9zZT1mdW5jdGlvbihiKXtmdW5jdGlvbiBjKCl7Zy5kZXRhY2goKS50cmlnZ2VyKCJjbG9zZWQuYnMuYWxlcnQiKS5yZW1vdmUoKX12YXIgZT1hKHRoaXMpLGY9ZS5hdHRyKCJkYXRhLXRhcmdldCIpO2Z8fChmPWUuYXR0cigiaHJlZiIpLGY9ZiYmZi5yZXBsYWNlKC8uKig/PSNbXlxzXSokKS8sIiIpKTt2YXIgZz1hKGYpO2ImJmIucHJldmVudERlZmF1bHQoKSxnLmxlbmd0aHx8KGc9ZS5jbG9zZXN0KCIuYWxlcnQiKSksZy50cmlnZ2VyKGI9YS5FdmVudCgiY2xvc2UuYnMuYWxlcnQiKSksYi5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8KGcucmVtb3ZlQ2xhc3MoImluIiksYS5zdXBwb3J0LnRyYW5zaXRpb24mJmcuaGFzQ2xhc3MoImZhZGUiKT9nLm9uZSgiYnNUcmFuc2l0aW9uRW5kIixjKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChkLlRSQU5TSVRJT05fRFVSQVRJT04pOmMoKSl9O3ZhciBlPWEuZm4uYWxlcnQ7YS5mbi5hbGVydD1iLGEuZm4uYWxlcnQuQ29uc3RydWN0b3I9ZCxhLmZuLmFsZXJ0Lm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYS5mbi5hbGVydD1lLHRoaXN9LGEoZG9jdW1lbnQpLm9uKCJjbGljay5icy5hbGVydC5kYXRhLWFwaSIsYyxkLnByb3RvdHlwZS5jbG9zZSl9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9ZC5kYXRhKCJicy5idXR0b24iKSxmPSJvYmplY3QiPT10eXBlb2YgYiYmYjtlfHxkLmRhdGEoImJzLmJ1dHRvbiIsZT1uZXcgYyh0aGlzLGYpKSwidG9nZ2xlIj09Yj9lLnRvZ2dsZSgpOmImJmUuc2V0U3RhdGUoYil9KX12YXIgYz1mdW5jdGlvbihiLGQpe3RoaXMuJGVsZW1lbnQ9YShiKSx0aGlzLm9wdGlvbnM9YS5leHRlbmQoe30sYy5ERUZBVUxUUyxkKSx0aGlzLmlzTG9hZGluZz0hMX07Yy5WRVJTSU9OPSIzLjMuNCIsYy5ERUZBVUxUUz17bG9hZGluZ1RleHQ6ImxvYWRpbmcuLi4ifSxjLnByb3RvdHlwZS5zZXRTdGF0ZT1mdW5jdGlvbihiKXt2YXIgYz0iZGlzYWJsZWQiLGQ9dGhpcy4kZWxlbWVudCxlPWQuaXMoImlucHV0Iik/InZhbCI6Imh0bWwiLGY9ZC5kYXRhKCk7Yis9IlRleHQiLG51bGw9PWYucmVzZXRUZXh0JiZkLmRhdGEoInJlc2V0VGV4dCIsZFtlXSgpKSxzZXRUaW1lb3V0KGEucHJveHkoZnVuY3Rpb24oKXtkW2VdKG51bGw9PWZbYl0/dGhpcy5vcHRpb25zW2JdOmZbYl0pLCJsb2FkaW5nVGV4dCI9PWI/KHRoaXMuaXNMb2FkaW5nPSEwLGQuYWRkQ2xhc3MoYykuYXR0cihjLGMpKTp0aGlzLmlzTG9hZGluZyYmKHRoaXMuaXNMb2FkaW5nPSExLGQucmVtb3ZlQ2xhc3MoYykucmVtb3ZlQXR0cihjKSl9LHRoaXMpLDApfSxjLnByb3RvdHlwZS50b2dnbGU9ZnVuY3Rpb24oKXt2YXIgYT0hMCxiPXRoaXMuJGVsZW1lbnQuY2xvc2VzdCgnW2RhdGEtdG9nZ2xlPSJidXR0b25zIl0nKTtpZihiLmxlbmd0aCl7dmFyIGM9dGhpcy4kZWxlbWVudC5maW5kKCJpbnB1dCIpOyJyYWRpbyI9PWMucHJvcCgidHlwZSIpJiYoYy5wcm9wKCJjaGVja2VkIikmJnRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImFjdGl2ZSIpP2E9ITE6Yi5maW5kKCIuYWN0aXZlIikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpKSxhJiZjLnByb3AoImNoZWNrZWQiLCF0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJhY3RpdmUiKSkudHJpZ2dlcigiY2hhbmdlIil9ZWxzZSB0aGlzLiRlbGVtZW50LmF0dHIoImFyaWEtcHJlc3NlZCIsIXRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImFjdGl2ZSIpKTthJiZ0aGlzLiRlbGVtZW50LnRvZ2dsZUNsYXNzKCJhY3RpdmUiKX07dmFyIGQ9YS5mbi5idXR0b247YS5mbi5idXR0b249YixhLmZuLmJ1dHRvbi5Db25zdHJ1Y3Rvcj1jLGEuZm4uYnV0dG9uLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYS5mbi5idXR0b249ZCx0aGlzfSxhKGRvY3VtZW50KS5vbigiY2xpY2suYnMuYnV0dG9uLmRhdGEtYXBpIiwnW2RhdGEtdG9nZ2xlXj0iYnV0dG9uIl0nLGZ1bmN0aW9uKGMpe3ZhciBkPWEoYy50YXJnZXQpO2QuaGFzQ2xhc3MoImJ0biIpfHwoZD1kLmNsb3Nlc3QoIi5idG4iKSksYi5jYWxsKGQsInRvZ2dsZSIpLGMucHJldmVudERlZmF1bHQoKX0pLm9uKCJmb2N1cy5icy5idXR0b24uZGF0YS1hcGkgYmx1ci5icy5idXR0b24uZGF0YS1hcGkiLCdbZGF0YS10b2dnbGVePSJidXR0b24iXScsZnVuY3Rpb24oYil7YShiLnRhcmdldCkuY2xvc2VzdCgiLmJ0biIpLnRvZ2dsZUNsYXNzKCJmb2N1cyIsL15mb2N1cyhpbik/JC8udGVzdChiLnR5cGUpKX0pfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPWQuZGF0YSgiYnMuY2Fyb3VzZWwiKSxmPWEuZXh0ZW5kKHt9LGMuREVGQVVMVFMsZC5kYXRhKCksIm9iamVjdCI9PXR5cGVvZiBiJiZiKSxnPSJzdHJpbmciPT10eXBlb2YgYj9iOmYuc2xpZGU7ZXx8ZC5kYXRhKCJicy5jYXJvdXNlbCIsZT1uZXcgYyh0aGlzLGYpKSwibnVtYmVyIj09dHlwZW9mIGI/ZS50byhiKTpnP2VbZ10oKTpmLmludGVydmFsJiZlLnBhdXNlKCkuY3ljbGUoKX0pfXZhciBjPWZ1bmN0aW9uKGIsYyl7dGhpcy4kZWxlbWVudD1hKGIpLHRoaXMuJGluZGljYXRvcnM9dGhpcy4kZWxlbWVudC5maW5kKCIuY2Fyb3VzZWwtaW5kaWNhdG9ycyIpLHRoaXMub3B0aW9ucz1jLHRoaXMucGF1c2VkPW51bGwsdGhpcy5zbGlkaW5nPW51bGwsdGhpcy5pbnRlcnZhbD1udWxsLHRoaXMuJGFjdGl2ZT1udWxsLHRoaXMuJGl0ZW1zPW51bGwsdGhpcy5vcHRpb25zLmtleWJvYXJkJiZ0aGlzLiRlbGVtZW50Lm9uKCJrZXlkb3duLmJzLmNhcm91c2VsIixhLnByb3h5KHRoaXMua2V5ZG93bix0aGlzKSksImhvdmVyIj09dGhpcy5vcHRpb25zLnBhdXNlJiYhKCJvbnRvdWNoc3RhcnQiaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSYmdGhpcy4kZWxlbWVudC5vbigibW91c2VlbnRlci5icy5jYXJvdXNlbCIsYS5wcm94eSh0aGlzLnBhdXNlLHRoaXMpKS5vbigibW91c2VsZWF2ZS5icy5jYXJvdXNlbCIsYS5wcm94eSh0aGlzLmN5Y2xlLHRoaXMpKX07Yy5WRVJTSU9OPSIzLjMuNCIsYy5UUkFOU0lUSU9OX0RVUkFUSU9OPTYwMCxjLkRFRkFVTFRTPXtpbnRlcnZhbDo1ZTMscGF1c2U6ImhvdmVyIix3cmFwOiEwLGtleWJvYXJkOiEwfSxjLnByb3RvdHlwZS5rZXlkb3duPWZ1bmN0aW9uKGEpe2lmKCEvaW5wdXR8dGV4dGFyZWEvaS50ZXN0KGEudGFyZ2V0LnRhZ05hbWUpKXtzd2l0Y2goYS53aGljaCl7Y2FzZSAzNzp0aGlzLnByZXYoKTticmVhaztjYXNlIDM5OnRoaXMubmV4dCgpO2JyZWFrO2RlZmF1bHQ6cmV0dXJufWEucHJldmVudERlZmF1bHQoKX19LGMucHJvdG90eXBlLmN5Y2xlPWZ1bmN0aW9uKGIpe3JldHVybiBifHwodGhpcy5wYXVzZWQ9ITEpLHRoaXMuaW50ZXJ2YWwmJmNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbCksdGhpcy5vcHRpb25zLmludGVydmFsJiYhdGhpcy5wYXVzZWQmJih0aGlzLmludGVydmFsPXNldEludGVydmFsKGEucHJveHkodGhpcy5uZXh0LHRoaXMpLHRoaXMub3B0aW9ucy5pbnRlcnZhbCkpLHRoaXN9LGMucHJvdG90eXBlLmdldEl0ZW1JbmRleD1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy4kaXRlbXM9YS5wYXJlbnQoKS5jaGlsZHJlbigiLml0ZW0iKSx0aGlzLiRpdGVtcy5pbmRleChhfHx0aGlzLiRhY3RpdmUpfSxjLnByb3RvdHlwZS5nZXRJdGVtRm9yRGlyZWN0aW9uPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5nZXRJdGVtSW5kZXgoYiksZD0icHJldiI9PWEmJjA9PT1jfHwibmV4dCI9PWEmJmM9PXRoaXMuJGl0ZW1zLmxlbmd0aC0xO2lmKGQmJiF0aGlzLm9wdGlvbnMud3JhcClyZXR1cm4gYjt2YXIgZT0icHJldiI9PWE/LTE6MSxmPShjK2UpJXRoaXMuJGl0ZW1zLmxlbmd0aDtyZXR1cm4gdGhpcy4kaXRlbXMuZXEoZil9LGMucHJvdG90eXBlLnRvPWZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz10aGlzLmdldEl0ZW1JbmRleCh0aGlzLiRhY3RpdmU9dGhpcy4kZWxlbWVudC5maW5kKCIuaXRlbS5hY3RpdmUiKSk7cmV0dXJuIGE+dGhpcy4kaXRlbXMubGVuZ3RoLTF8fDA+YT92b2lkIDA6dGhpcy5zbGlkaW5nP3RoaXMuJGVsZW1lbnQub25lKCJzbGlkLmJzLmNhcm91c2VsIixmdW5jdGlvbigpe2IudG8oYSl9KTpjPT1hP3RoaXMucGF1c2UoKS5jeWNsZSgpOnRoaXMuc2xpZGUoYT5jPyJuZXh0IjoicHJldiIsdGhpcy4kaXRlbXMuZXEoYSkpfSxjLnByb3RvdHlwZS5wYXVzZT1mdW5jdGlvbihiKXtyZXR1cm4gYnx8KHRoaXMucGF1c2VkPSEwKSx0aGlzLiRlbGVtZW50LmZpbmQoIi5uZXh0LCAucHJldiIpLmxlbmd0aCYmYS5zdXBwb3J0LnRyYW5zaXRpb24mJih0aGlzLiRlbGVtZW50LnRyaWdnZXIoYS5zdXBwb3J0LnRyYW5zaXRpb24uZW5kKSx0aGlzLmN5Y2xlKCEwKSksdGhpcy5pbnRlcnZhbD1jbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpLHRoaXN9LGMucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zbGlkaW5nP3ZvaWQgMDp0aGlzLnNsaWRlKCJuZXh0Iil9LGMucHJvdG90eXBlLnByZXY9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zbGlkaW5nP3ZvaWQgMDp0aGlzLnNsaWRlKCJwcmV2Iil9LGMucHJvdG90eXBlLnNsaWRlPWZ1bmN0aW9uKGIsZCl7dmFyIGU9dGhpcy4kZWxlbWVudC5maW5kKCIuaXRlbS5hY3RpdmUiKSxmPWR8fHRoaXMuZ2V0SXRlbUZvckRpcmVjdGlvbihiLGUpLGc9dGhpcy5pbnRlcnZhbCxoPSJuZXh0Ij09Yj8ibGVmdCI6InJpZ2h0IixpPXRoaXM7aWYoZi5oYXNDbGFzcygiYWN0aXZlIikpcmV0dXJuIHRoaXMuc2xpZGluZz0hMTt2YXIgaj1mWzBdLGs9YS5FdmVudCgic2xpZGUuYnMuY2Fyb3VzZWwiLHtyZWxhdGVkVGFyZ2V0OmosZGlyZWN0aW9uOmh9KTtpZih0aGlzLiRlbGVtZW50LnRyaWdnZXIoayksIWsuaXNEZWZhdWx0UHJldmVudGVkKCkpe2lmKHRoaXMuc2xpZGluZz0hMCxnJiZ0aGlzLnBhdXNlKCksdGhpcy4kaW5kaWNhdG9ycy5sZW5ndGgpe3RoaXMuJGluZGljYXRvcnMuZmluZCgiLmFjdGl2ZSIpLnJlbW92ZUNsYXNzKCJhY3RpdmUiKTt2YXIgbD1hKHRoaXMuJGluZGljYXRvcnMuY2hpbGRyZW4oKVt0aGlzLmdldEl0ZW1JbmRleChmKV0pO2wmJmwuYWRkQ2xhc3MoImFjdGl2ZSIpfXZhciBtPWEuRXZlbnQoInNsaWQuYnMuY2Fyb3VzZWwiLHtyZWxhdGVkVGFyZ2V0OmosZGlyZWN0aW9uOmh9KTtyZXR1cm4gYS5zdXBwb3J0LnRyYW5zaXRpb24mJnRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoInNsaWRlIik/KGYuYWRkQ2xhc3MoYiksZlswXS5vZmZzZXRXaWR0aCxlLmFkZENsYXNzKGgpLGYuYWRkQ2xhc3MoaCksZS5vbmUoImJzVHJhbnNpdGlvbkVuZCIsZnVuY3Rpb24oKXtmLnJlbW92ZUNsYXNzKFtiLGhdLmpvaW4oIiAiKSkuYWRkQ2xhc3MoImFjdGl2ZSIpLGUucmVtb3ZlQ2xhc3MoWyJhY3RpdmUiLGhdLmpvaW4oIiAiKSksaS5zbGlkaW5nPSExLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtpLiRlbGVtZW50LnRyaWdnZXIobSl9LDApfSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoYy5UUkFOU0lUSU9OX0RVUkFUSU9OKSk6KGUucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpLGYuYWRkQ2xhc3MoImFjdGl2ZSIpLHRoaXMuc2xpZGluZz0hMSx0aGlzLiRlbGVtZW50LnRyaWdnZXIobSkpLGcmJnRoaXMuY3ljbGUoKSx0aGlzfX07dmFyIGQ9YS5mbi5jYXJvdXNlbDthLmZuLmNhcm91c2VsPWIsYS5mbi5jYXJvdXNlbC5Db25zdHJ1Y3Rvcj1jLGEuZm4uY2Fyb3VzZWwubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLmNhcm91c2VsPWQsdGhpc307dmFyIGU9ZnVuY3Rpb24oYyl7dmFyIGQsZT1hKHRoaXMpLGY9YShlLmF0dHIoImRhdGEtdGFyZ2V0Iil8fChkPWUuYXR0cigiaHJlZiIpKSYmZC5yZXBsYWNlKC8uKig/PSNbXlxzXSskKS8sIiIpKTtpZihmLmhhc0NsYXNzKCJjYXJvdXNlbCIpKXt2YXIgZz1hLmV4dGVuZCh7fSxmLmRhdGEoKSxlLmRhdGEoKSksaD1lLmF0dHIoImRhdGEtc2xpZGUtdG8iKTtoJiYoZy5pbnRlcnZhbD0hMSksYi5jYWxsKGYsZyksaCYmZi5kYXRhKCJicy5jYXJvdXNlbCIpLnRvKGgpLGMucHJldmVudERlZmF1bHQoKX19O2EoZG9jdW1lbnQpLm9uKCJjbGljay5icy5jYXJvdXNlbC5kYXRhLWFwaSIsIltkYXRhLXNsaWRlXSIsZSkub24oImNsaWNrLmJzLmNhcm91c2VsLmRhdGEtYXBpIiwiW2RhdGEtc2xpZGUtdG9dIixlKSxhKHdpbmRvdykub24oImxvYWQiLGZ1bmN0aW9uKCl7YSgnW2RhdGEtcmlkZT0iY2Fyb3VzZWwiXScpLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1hKHRoaXMpO2IuY2FsbChjLGMuZGF0YSgpKX0pfSl9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGIpe3ZhciBjLGQ9Yi5hdHRyKCJkYXRhLXRhcmdldCIpfHwoYz1iLmF0dHIoImhyZWYiKSkmJmMucmVwbGFjZSgvLiooPz0jW15cc10rJCkvLCIiKTtyZXR1cm4gYShkKX1mdW5jdGlvbiBjKGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1hKHRoaXMpLGU9Yy5kYXRhKCJicy5jb2xsYXBzZSIpLGY9YS5leHRlbmQoe30sZC5ERUZBVUxUUyxjLmRhdGEoKSwib2JqZWN0Ij09dHlwZW9mIGImJmIpOyFlJiZmLnRvZ2dsZSYmL3Nob3d8aGlkZS8udGVzdChiKSYmKGYudG9nZ2xlPSExKSxlfHxjLmRhdGEoImJzLmNvbGxhcHNlIixlPW5ldyBkKHRoaXMsZikpLCJzdHJpbmciPT10eXBlb2YgYiYmZVtiXSgpfSl9dmFyIGQ9ZnVuY3Rpb24oYixjKXt0aGlzLiRlbGVtZW50PWEoYiksdGhpcy5vcHRpb25zPWEuZXh0ZW5kKHt9LGQuREVGQVVMVFMsYyksdGhpcy4kdHJpZ2dlcj1hKCdbZGF0YS10b2dnbGU9ImNvbGxhcHNlIl1baHJlZj0iIycrYi5pZCsnIl0sW2RhdGEtdG9nZ2xlPSJjb2xsYXBzZSJdW2RhdGEtdGFyZ2V0PSIjJytiLmlkKyciXScpLHRoaXMudHJhbnNpdGlvbmluZz1udWxsLHRoaXMub3B0aW9ucy5wYXJlbnQ/dGhpcy4kcGFyZW50PXRoaXMuZ2V0UGFyZW50KCk6dGhpcy5hZGRBcmlhQW5kQ29sbGFwc2VkQ2xhc3ModGhpcy4kZWxlbWVudCx0aGlzLiR0cmlnZ2VyKSx0aGlzLm9wdGlvbnMudG9nZ2xlJiZ0aGlzLnRvZ2dsZSgpfTtkLlZFUlNJT049IjMuMy40IixkLlRSQU5TSVRJT05fRFVSQVRJT049MzUwLGQuREVGQVVMVFM9e3RvZ2dsZTohMH0sZC5wcm90b3R5cGUuZGltZW5zaW9uPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy4kZWxlbWVudC5oYXNDbGFzcygid2lkdGgiKTtyZXR1cm4gYT8id2lkdGgiOiJoZWlnaHQifSxkLnByb3RvdHlwZS5zaG93PWZ1bmN0aW9uKCl7aWYoIXRoaXMudHJhbnNpdGlvbmluZyYmIXRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImluIikpe3ZhciBiLGU9dGhpcy4kcGFyZW50JiZ0aGlzLiRwYXJlbnQuY2hpbGRyZW4oIi5wYW5lbCIpLmNoaWxkcmVuKCIuaW4sIC5jb2xsYXBzaW5nIik7aWYoIShlJiZlLmxlbmd0aCYmKGI9ZS5kYXRhKCJicy5jb2xsYXBzZSIpLGImJmIudHJhbnNpdGlvbmluZykpKXt2YXIgZj1hLkV2ZW50KCJzaG93LmJzLmNvbGxhcHNlIik7aWYodGhpcy4kZWxlbWVudC50cmlnZ2VyKGYpLCFmLmlzRGVmYXVsdFByZXZlbnRlZCgpKXtlJiZlLmxlbmd0aCYmKGMuY2FsbChlLCJoaWRlIiksYnx8ZS5kYXRhKCJicy5jb2xsYXBzZSIsbnVsbCkpO3ZhciBnPXRoaXMuZGltZW5zaW9uKCk7dGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcygiY29sbGFwc2UiKS5hZGRDbGFzcygiY29sbGFwc2luZyIpW2ddKDApLmF0dHIoImFyaWEtZXhwYW5kZWQiLCEwKSx0aGlzLiR0cmlnZ2VyLnJlbW92ZUNsYXNzKCJjb2xsYXBzZWQiKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMCksdGhpcy50cmFuc2l0aW9uaW5nPTE7dmFyIGg9ZnVuY3Rpb24oKXt0aGlzLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJjb2xsYXBzaW5nIikuYWRkQ2xhc3MoImNvbGxhcHNlIGluIilbZ10oIiIpLHRoaXMudHJhbnNpdGlvbmluZz0wLHRoaXMuJGVsZW1lbnQudHJpZ2dlcigic2hvd24uYnMuY29sbGFwc2UiKX07aWYoIWEuc3VwcG9ydC50cmFuc2l0aW9uKXJldHVybiBoLmNhbGwodGhpcyk7dmFyIGk9YS5jYW1lbENhc2UoWyJzY3JvbGwiLGddLmpvaW4oIi0iKSk7dGhpcy4kZWxlbWVudC5vbmUoImJzVHJhbnNpdGlvbkVuZCIsYS5wcm94eShoLHRoaXMpKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChkLlRSQU5TSVRJT05fRFVSQVRJT04pW2ddKHRoaXMuJGVsZW1lbnRbMF1baV0pfX19fSxkLnByb3RvdHlwZS5oaWRlPWZ1bmN0aW9uKCl7aWYoIXRoaXMudHJhbnNpdGlvbmluZyYmdGhpcy4kZWxlbWVudC5oYXNDbGFzcygiaW4iKSl7dmFyIGI9YS5FdmVudCgiaGlkZS5icy5jb2xsYXBzZSIpO2lmKHRoaXMuJGVsZW1lbnQudHJpZ2dlcihiKSwhYi5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7dmFyIGM9dGhpcy5kaW1lbnNpb24oKTt0aGlzLiRlbGVtZW50W2NdKHRoaXMuJGVsZW1lbnRbY10oKSlbMF0ub2Zmc2V0SGVpZ2h0LHRoaXMuJGVsZW1lbnQuYWRkQ2xhc3MoImNvbGxhcHNpbmciKS5yZW1vdmVDbGFzcygiY29sbGFwc2UgaW4iKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMSksdGhpcy4kdHJpZ2dlci5hZGRDbGFzcygiY29sbGFwc2VkIikuYXR0cigiYXJpYS1leHBhbmRlZCIsITEpLHRoaXMudHJhbnNpdGlvbmluZz0xO3ZhciBlPWZ1bmN0aW9uKCl7dGhpcy50cmFuc2l0aW9uaW5nPTAsdGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcygiY29sbGFwc2luZyIpLmFkZENsYXNzKCJjb2xsYXBzZSIpLnRyaWdnZXIoImhpZGRlbi5icy5jb2xsYXBzZSIpfTtyZXR1cm4gYS5zdXBwb3J0LnRyYW5zaXRpb24/dm9pZCB0aGlzLiRlbGVtZW50W2NdKDApLm9uZSgiYnNUcmFuc2l0aW9uRW5kIixhLnByb3h5KGUsdGhpcykpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGQuVFJBTlNJVElPTl9EVVJBVElPTik6ZS5jYWxsKHRoaXMpfX19LGQucHJvdG90eXBlLnRvZ2dsZT1mdW5jdGlvbigpe3RoaXNbdGhpcy4kZWxlbWVudC5oYXNDbGFzcygiaW4iKT8iaGlkZSI6InNob3ciXSgpfSxkLnByb3RvdHlwZS5nZXRQYXJlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gYSh0aGlzLm9wdGlvbnMucGFyZW50KS5maW5kKCdbZGF0YS10b2dnbGU9ImNvbGxhcHNlIl1bZGF0YS1wYXJlbnQ9IicrdGhpcy5vcHRpb25zLnBhcmVudCsnIl0nKS5lYWNoKGEucHJveHkoZnVuY3Rpb24oYyxkKXt2YXIgZT1hKGQpO3RoaXMuYWRkQXJpYUFuZENvbGxhcHNlZENsYXNzKGIoZSksZSl9LHRoaXMpKS5lbmQoKX0sZC5wcm90b3R5cGUuYWRkQXJpYUFuZENvbGxhcHNlZENsYXNzPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5oYXNDbGFzcygiaW4iKTthLmF0dHIoImFyaWEtZXhwYW5kZWQiLGMpLGIudG9nZ2xlQ2xhc3MoImNvbGxhcHNlZCIsIWMpLmF0dHIoImFyaWEtZXhwYW5kZWQiLGMpfTt2YXIgZT1hLmZuLmNvbGxhcHNlO2EuZm4uY29sbGFwc2U9YyxhLmZuLmNvbGxhcHNlLkNvbnN0cnVjdG9yPWQsYS5mbi5jb2xsYXBzZS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4uY29sbGFwc2U9ZSx0aGlzfSxhKGRvY3VtZW50KS5vbigiY2xpY2suYnMuY29sbGFwc2UuZGF0YS1hcGkiLCdbZGF0YS10b2dnbGU9ImNvbGxhcHNlIl0nLGZ1bmN0aW9uKGQpe3ZhciBlPWEodGhpcyk7ZS5hdHRyKCJkYXRhLXRhcmdldCIpfHxkLnByZXZlbnREZWZhdWx0KCk7dmFyIGY9YihlKSxnPWYuZGF0YSgiYnMuY29sbGFwc2UiKSxoPWc/InRvZ2dsZSI6ZS5kYXRhKCk7Yy5jYWxsKGYsaCl9KX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYil7YiYmMz09PWIud2hpY2h8fChhKGUpLnJlbW92ZSgpLGEoZikuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1jKGQpLGY9e3JlbGF0ZWRUYXJnZXQ6dGhpc307ZS5oYXNDbGFzcygib3BlbiIpJiYoZS50cmlnZ2VyKGI9YS5FdmVudCgiaGlkZS5icy5kcm9wZG93biIsZikpLGIuaXNEZWZhdWx0UHJldmVudGVkKCl8fChkLmF0dHIoImFyaWEtZXhwYW5kZWQiLCJmYWxzZSIpLGUucmVtb3ZlQ2xhc3MoIm9wZW4iKS50cmlnZ2VyKCJoaWRkZW4uYnMuZHJvcGRvd24iLGYpKSl9KSl9ZnVuY3Rpb24gYyhiKXt2YXIgYz1iLmF0dHIoImRhdGEtdGFyZ2V0Iik7Y3x8KGM9Yi5hdHRyKCJocmVmIiksYz1jJiYvI1tBLVphLXpdLy50ZXN0KGMpJiZjLnJlcGxhY2UoLy4qKD89I1teXHNdKiQpLywiIikpO3ZhciBkPWMmJmEoYyk7cmV0dXJuIGQmJmQubGVuZ3RoP2Q6Yi5wYXJlbnQoKX1mdW5jdGlvbiBkKGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1hKHRoaXMpLGQ9Yy5kYXRhKCJicy5kcm9wZG93biIpO2R8fGMuZGF0YSgiYnMuZHJvcGRvd24iLGQ9bmV3IGcodGhpcykpLCJzdHJpbmciPT10eXBlb2YgYiYmZFtiXS5jYWxsKGMpfSl9dmFyIGU9Ii5kcm9wZG93bi1iYWNrZHJvcCIsZj0nW2RhdGEtdG9nZ2xlPSJkcm9wZG93biJdJyxnPWZ1bmN0aW9uKGIpe2EoYikub24oImNsaWNrLmJzLmRyb3Bkb3duIix0aGlzLnRvZ2dsZSl9O2cuVkVSU0lPTj0iMy4zLjQiLGcucHJvdG90eXBlLnRvZ2dsZT1mdW5jdGlvbihkKXt2YXIgZT1hKHRoaXMpO2lmKCFlLmlzKCIuZGlzYWJsZWQsIDpkaXNhYmxlZCIpKXt2YXIgZj1jKGUpLGc9Zi5oYXNDbGFzcygib3BlbiIpO2lmKGIoKSwhZyl7Im9udG91Y2hzdGFydCJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJiFmLmNsb3Nlc3QoIi5uYXZiYXItbmF2IikubGVuZ3RoJiZhKCc8ZGl2IGNsYXNzPSJkcm9wZG93bi1iYWNrZHJvcCIvPicpLmluc2VydEFmdGVyKGEodGhpcykpLm9uKCJjbGljayIsYik7dmFyIGg9e3JlbGF0ZWRUYXJnZXQ6dGhpc307aWYoZi50cmlnZ2VyKGQ9YS5FdmVudCgic2hvdy5icy5kcm9wZG93biIsaCkpLGQuaXNEZWZhdWx0UHJldmVudGVkKCkpcmV0dXJuO2UudHJpZ2dlcigiZm9jdXMiKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwidHJ1ZSIpLGYudG9nZ2xlQ2xhc3MoIm9wZW4iKS50cmlnZ2VyKCJzaG93bi5icy5kcm9wZG93biIsaCl9cmV0dXJuITF9fSxnLnByb3RvdHlwZS5rZXlkb3duPWZ1bmN0aW9uKGIpe2lmKC8oMzh8NDB8Mjd8MzIpLy50ZXN0KGIud2hpY2gpJiYhL2lucHV0fHRleHRhcmVhL2kudGVzdChiLnRhcmdldC50YWdOYW1lKSl7dmFyIGQ9YSh0aGlzKTtpZihiLnByZXZlbnREZWZhdWx0KCksYi5zdG9wUHJvcGFnYXRpb24oKSwhZC5pcygiLmRpc2FibGVkLCA6ZGlzYWJsZWQiKSl7dmFyIGU9YyhkKSxnPWUuaGFzQ2xhc3MoIm9wZW4iKTtpZighZyYmMjchPWIud2hpY2h8fGcmJjI3PT1iLndoaWNoKXJldHVybiAyNz09Yi53aGljaCYmZS5maW5kKGYpLnRyaWdnZXIoImZvY3VzIiksZC50cmlnZ2VyKCJjbGljayIpO3ZhciBoPSIgbGk6bm90KC5kaXNhYmxlZCk6dmlzaWJsZSBhIixpPWUuZmluZCgnW3JvbGU9Im1lbnUiXScraCsnLCBbcm9sZT0ibGlzdGJveCJdJytoKTtpZihpLmxlbmd0aCl7dmFyIGo9aS5pbmRleChiLnRhcmdldCk7Mzg9PWIud2hpY2gmJmo+MCYmai0tLDQwPT1iLndoaWNoJiZqPGkubGVuZ3RoLTEmJmorKyx+anx8KGo9MCksaS5lcShqKS50cmlnZ2VyKCJmb2N1cyIpfX19fTt2YXIgaD1hLmZuLmRyb3Bkb3duO2EuZm4uZHJvcGRvd249ZCxhLmZuLmRyb3Bkb3duLkNvbnN0cnVjdG9yPWcsYS5mbi5kcm9wZG93bi5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4uZHJvcGRvd249aCx0aGlzfSxhKGRvY3VtZW50KS5vbigiY2xpY2suYnMuZHJvcGRvd24uZGF0YS1hcGkiLGIpLm9uKCJjbGljay5icy5kcm9wZG93bi5kYXRhLWFwaSIsIi5kcm9wZG93biBmb3JtIixmdW5jdGlvbihhKXthLnN0b3BQcm9wYWdhdGlvbigpfSkub24oImNsaWNrLmJzLmRyb3Bkb3duLmRhdGEtYXBpIixmLGcucHJvdG90eXBlLnRvZ2dsZSkub24oImtleWRvd24uYnMuZHJvcGRvd24uZGF0YS1hcGkiLGYsZy5wcm90b3R5cGUua2V5ZG93bikub24oImtleWRvd24uYnMuZHJvcGRvd24uZGF0YS1hcGkiLCdbcm9sZT0ibWVudSJdJyxnLnByb3RvdHlwZS5rZXlkb3duKS5vbigia2V5ZG93bi5icy5kcm9wZG93bi5kYXRhLWFwaSIsJ1tyb2xlPSJsaXN0Ym94Il0nLGcucHJvdG90eXBlLmtleWRvd24pfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiLGQpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZT1hKHRoaXMpLGY9ZS5kYXRhKCJicy5tb2RhbCIpLGc9YS5leHRlbmQoe30sYy5ERUZBVUxUUyxlLmRhdGEoKSwib2JqZWN0Ij09dHlwZW9mIGImJmIpO2Z8fGUuZGF0YSgiYnMubW9kYWwiLGY9bmV3IGModGhpcyxnKSksInN0cmluZyI9PXR5cGVvZiBiP2ZbYl0oZCk6Zy5zaG93JiZmLnNob3coZCl9KX12YXIgYz1mdW5jdGlvbihiLGMpe3RoaXMub3B0aW9ucz1jLHRoaXMuJGJvZHk9YShkb2N1bWVudC5ib2R5KSx0aGlzLiRlbGVtZW50PWEoYiksdGhpcy4kZGlhbG9nPXRoaXMuJGVsZW1lbnQuZmluZCgiLm1vZGFsLWRpYWxvZyIpLHRoaXMuJGJhY2tkcm9wPW51bGwsdGhpcy5pc1Nob3duPW51bGwsdGhpcy5vcmlnaW5hbEJvZHlQYWQ9bnVsbCx0aGlzLnNjcm9sbGJhcldpZHRoPTAsdGhpcy5pZ25vcmVCYWNrZHJvcENsaWNrPSExLHRoaXMub3B0aW9ucy5yZW1vdGUmJnRoaXMuJGVsZW1lbnQuZmluZCgiLm1vZGFsLWNvbnRlbnQiKS5sb2FkKHRoaXMub3B0aW9ucy5yZW1vdGUsYS5wcm94eShmdW5jdGlvbigpe3RoaXMuJGVsZW1lbnQudHJpZ2dlcigibG9hZGVkLmJzLm1vZGFsIil9LHRoaXMpKX07Yy5WRVJTSU9OPSIzLjMuNCIsYy5UUkFOU0lUSU9OX0RVUkFUSU9OPTMwMCxjLkJBQ0tEUk9QX1RSQU5TSVRJT05fRFVSQVRJT049MTUwLGMuREVGQVVMVFM9e2JhY2tkcm9wOiEwLGtleWJvYXJkOiEwLHNob3c6ITB9LGMucHJvdG90eXBlLnRvZ2dsZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5pc1Nob3duP3RoaXMuaGlkZSgpOnRoaXMuc2hvdyhhKX0sYy5wcm90b3R5cGUuc2hvdz1mdW5jdGlvbihiKXt2YXIgZD10aGlzLGU9YS5FdmVudCgic2hvdy5icy5tb2RhbCIse3JlbGF0ZWRUYXJnZXQ6Yn0pO3RoaXMuJGVsZW1lbnQudHJpZ2dlcihlKSx0aGlzLmlzU2hvd258fGUuaXNEZWZhdWx0UHJldmVudGVkKCl8fCh0aGlzLmlzU2hvd249ITAsdGhpcy5jaGVja1Njcm9sbGJhcigpLHRoaXMuc2V0U2Nyb2xsYmFyKCksdGhpcy4kYm9keS5hZGRDbGFzcygibW9kYWwtb3BlbiIpLHRoaXMuZXNjYXBlKCksdGhpcy5yZXNpemUoKSx0aGlzLiRlbGVtZW50Lm9uKCJjbGljay5kaXNtaXNzLmJzLm1vZGFsIiwnW2RhdGEtZGlzbWlzcz0ibW9kYWwiXScsYS5wcm94eSh0aGlzLmhpZGUsdGhpcykpLHRoaXMuJGRpYWxvZy5vbigibW91c2Vkb3duLmRpc21pc3MuYnMubW9kYWwiLGZ1bmN0aW9uKCl7ZC4kZWxlbWVudC5vbmUoIm1vdXNldXAuZGlzbWlzcy5icy5tb2RhbCIsZnVuY3Rpb24oYil7YShiLnRhcmdldCkuaXMoZC4kZWxlbWVudCkmJihkLmlnbm9yZUJhY2tkcm9wQ2xpY2s9ITApfSl9KSx0aGlzLmJhY2tkcm9wKGZ1bmN0aW9uKCl7dmFyIGU9YS5zdXBwb3J0LnRyYW5zaXRpb24mJmQuJGVsZW1lbnQuaGFzQ2xhc3MoImZhZGUiKTtkLiRlbGVtZW50LnBhcmVudCgpLmxlbmd0aHx8ZC4kZWxlbWVudC5hcHBlbmRUbyhkLiRib2R5KSxkLiRlbGVtZW50LnNob3coKS5zY3JvbGxUb3AoMCksZC5hZGp1c3REaWFsb2coKSxlJiZkLiRlbGVtZW50WzBdLm9mZnNldFdpZHRoLGQuJGVsZW1lbnQuYWRkQ2xhc3MoImluIikuYXR0cigiYXJpYS1oaWRkZW4iLCExKSxkLmVuZm9yY2VGb2N1cygpO3ZhciBmPWEuRXZlbnQoInNob3duLmJzLm1vZGFsIix7cmVsYXRlZFRhcmdldDpifSk7ZT9kLiRkaWFsb2cub25lKCJic1RyYW5zaXRpb25FbmQiLGZ1bmN0aW9uKCl7ZC4kZWxlbWVudC50cmlnZ2VyKCJmb2N1cyIpLnRyaWdnZXIoZil9KS5lbXVsYXRlVHJhbnNpdGlvbkVuZChjLlRSQU5TSVRJT05fRFVSQVRJT04pOmQuJGVsZW1lbnQudHJpZ2dlcigiZm9jdXMiKS50cmlnZ2VyKGYpfSkpfSxjLnByb3RvdHlwZS5oaWRlPWZ1bmN0aW9uKGIpe2ImJmIucHJldmVudERlZmF1bHQoKSxiPWEuRXZlbnQoImhpZGUuYnMubW9kYWwiKSx0aGlzLiRlbGVtZW50LnRyaWdnZXIoYiksdGhpcy5pc1Nob3duJiYhYi5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmKHRoaXMuaXNTaG93bj0hMSx0aGlzLmVzY2FwZSgpLHRoaXMucmVzaXplKCksYShkb2N1bWVudCkub2ZmKCJmb2N1c2luLmJzLm1vZGFsIiksdGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcygiaW4iKS5hdHRyKCJhcmlhLWhpZGRlbiIsITApLm9mZigiY2xpY2suZGlzbWlzcy5icy5tb2RhbCIpLm9mZigibW91c2V1cC5kaXNtaXNzLmJzLm1vZGFsIiksdGhpcy4kZGlhbG9nLm9mZigibW91c2Vkb3duLmRpc21pc3MuYnMubW9kYWwiKSxhLnN1cHBvcnQudHJhbnNpdGlvbiYmdGhpcy4kZWxlbWVudC5oYXNDbGFzcygiZmFkZSIpP3RoaXMuJGVsZW1lbnQub25lKCJic1RyYW5zaXRpb25FbmQiLGEucHJveHkodGhpcy5oaWRlTW9kYWwsdGhpcykpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuVFJBTlNJVElPTl9EVVJBVElPTik6dGhpcy5oaWRlTW9kYWwoKSl9LGMucHJvdG90eXBlLmVuZm9yY2VGb2N1cz1mdW5jdGlvbigpe2EoZG9jdW1lbnQpLm9mZigiZm9jdXNpbi5icy5tb2RhbCIpLm9uKCJmb2N1c2luLmJzLm1vZGFsIixhLnByb3h5KGZ1bmN0aW9uKGEpe3RoaXMuJGVsZW1lbnRbMF09PT1hLnRhcmdldHx8dGhpcy4kZWxlbWVudC5oYXMoYS50YXJnZXQpLmxlbmd0aHx8dGhpcy4kZWxlbWVudC50cmlnZ2VyKCJmb2N1cyIpfSx0aGlzKSl9LGMucHJvdG90eXBlLmVzY2FwZT1mdW5jdGlvbigpe3RoaXMuaXNTaG93biYmdGhpcy5vcHRpb25zLmtleWJvYXJkP3RoaXMuJGVsZW1lbnQub24oImtleWRvd24uZGlzbWlzcy5icy5tb2RhbCIsYS5wcm94eShmdW5jdGlvbihhKXsyNz09YS53aGljaCYmdGhpcy5oaWRlKCl9LHRoaXMpKTp0aGlzLmlzU2hvd258fHRoaXMuJGVsZW1lbnQub2ZmKCJrZXlkb3duLmRpc21pc3MuYnMubW9kYWwiKX0sYy5wcm90b3R5cGUucmVzaXplPWZ1bmN0aW9uKCl7dGhpcy5pc1Nob3duP2Eod2luZG93KS5vbigicmVzaXplLmJzLm1vZGFsIixhLnByb3h5KHRoaXMuaGFuZGxlVXBkYXRlLHRoaXMpKTphKHdpbmRvdykub2ZmKCJyZXNpemUuYnMubW9kYWwiKX0sYy5wcm90b3R5cGUuaGlkZU1vZGFsPWZ1bmN0aW9uKCl7dmFyIGE9dGhpczt0aGlzLiRlbGVtZW50LmhpZGUoKSx0aGlzLmJhY2tkcm9wKGZ1bmN0aW9uKCl7YS4kYm9keS5yZW1vdmVDbGFzcygibW9kYWwtb3BlbiIpLGEucmVzZXRBZGp1c3RtZW50cygpLGEucmVzZXRTY3JvbGxiYXIoKSxhLiRlbGVtZW50LnRyaWdnZXIoImhpZGRlbi5icy5tb2RhbCIpfSl9LGMucHJvdG90eXBlLnJlbW92ZUJhY2tkcm9wPWZ1bmN0aW9uKCl7dGhpcy4kYmFja2Ryb3AmJnRoaXMuJGJhY2tkcm9wLnJlbW92ZSgpLHRoaXMuJGJhY2tkcm9wPW51bGx9LGMucHJvdG90eXBlLmJhY2tkcm9wPWZ1bmN0aW9uKGIpe3ZhciBkPXRoaXMsZT10aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJmYWRlIik/ImZhZGUiOiIiO2lmKHRoaXMuaXNTaG93biYmdGhpcy5vcHRpb25zLmJhY2tkcm9wKXt2YXIgZj1hLnN1cHBvcnQudHJhbnNpdGlvbiYmZTtpZih0aGlzLiRiYWNrZHJvcD1hKCc8ZGl2IGNsYXNzPSJtb2RhbC1iYWNrZHJvcCAnK2UrJyIgLz4nKS5hcHBlbmRUbyh0aGlzLiRib2R5KSx0aGlzLiRlbGVtZW50Lm9uKCJjbGljay5kaXNtaXNzLmJzLm1vZGFsIixhLnByb3h5KGZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmlnbm9yZUJhY2tkcm9wQ2xpY2s/dm9pZCh0aGlzLmlnbm9yZUJhY2tkcm9wQ2xpY2s9ITEpOnZvaWQoYS50YXJnZXQ9PT1hLmN1cnJlbnRUYXJnZXQmJigic3RhdGljIj09dGhpcy5vcHRpb25zLmJhY2tkcm9wP3RoaXMuJGVsZW1lbnRbMF0uZm9jdXMoKTp0aGlzLmhpZGUoKSkpfSx0aGlzKSksZiYmdGhpcy4kYmFja2Ryb3BbMF0ub2Zmc2V0V2lkdGgsdGhpcy4kYmFja2Ryb3AuYWRkQ2xhc3MoImluIiksIWIpcmV0dXJuO2Y/dGhpcy4kYmFja2Ryb3Aub25lKCJic1RyYW5zaXRpb25FbmQiLGIpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuQkFDS0RST1BfVFJBTlNJVElPTl9EVVJBVElPTik6YigpfWVsc2UgaWYoIXRoaXMuaXNTaG93biYmdGhpcy4kYmFja2Ryb3Ape3RoaXMuJGJhY2tkcm9wLnJlbW92ZUNsYXNzKCJpbiIpO3ZhciBnPWZ1bmN0aW9uKCl7ZC5yZW1vdmVCYWNrZHJvcCgpLGImJmIoKX07YS5zdXBwb3J0LnRyYW5zaXRpb24mJnRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImZhZGUiKT90aGlzLiRiYWNrZHJvcC5vbmUoImJzVHJhbnNpdGlvbkVuZCIsZykuZW11bGF0ZVRyYW5zaXRpb25FbmQoYy5CQUNLRFJPUF9UUkFOU0lUSU9OX0RVUkFUSU9OKTpnKCl9ZWxzZSBiJiZiKCl9LGMucHJvdG90eXBlLmhhbmRsZVVwZGF0ZT1mdW5jdGlvbigpe3RoaXMuYWRqdXN0RGlhbG9nKCl9LGMucHJvdG90eXBlLmFkanVzdERpYWxvZz1mdW5jdGlvbigpe3ZhciBhPXRoaXMuJGVsZW1lbnRbMF0uc2Nyb2xsSGVpZ2h0PmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7dGhpcy4kZWxlbWVudC5jc3Moe3BhZGRpbmdMZWZ0OiF0aGlzLmJvZHlJc092ZXJmbG93aW5nJiZhP3RoaXMuc2Nyb2xsYmFyV2lkdGg6IiIscGFkZGluZ1JpZ2h0OnRoaXMuYm9keUlzT3ZlcmZsb3dpbmcmJiFhP3RoaXMuc2Nyb2xsYmFyV2lkdGg6IiJ9KX0sYy5wcm90b3R5cGUucmVzZXRBZGp1c3RtZW50cz1mdW5jdGlvbigpe3RoaXMuJGVsZW1lbnQuY3NzKHtwYWRkaW5nTGVmdDoiIixwYWRkaW5nUmlnaHQ6IiJ9KX0sYy5wcm90b3R5cGUuY2hlY2tTY3JvbGxiYXI9ZnVuY3Rpb24oKXt2YXIgYT13aW5kb3cuaW5uZXJXaWR0aDtpZighYSl7dmFyIGI9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2E9Yi5yaWdodC1NYXRoLmFicyhiLmxlZnQpfXRoaXMuYm9keUlzT3ZlcmZsb3dpbmc9ZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aDxhLHRoaXMuc2Nyb2xsYmFyV2lkdGg9dGhpcy5tZWFzdXJlU2Nyb2xsYmFyKCl9LGMucHJvdG90eXBlLnNldFNjcm9sbGJhcj1mdW5jdGlvbigpe3ZhciBhPXBhcnNlSW50KHRoaXMuJGJvZHkuY3NzKCJwYWRkaW5nLXJpZ2h0Iil8fDAsMTApO3RoaXMub3JpZ2luYWxCb2R5UGFkPWRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0fHwiIix0aGlzLmJvZHlJc092ZXJmbG93aW5nJiZ0aGlzLiRib2R5LmNzcygicGFkZGluZy1yaWdodCIsYSt0aGlzLnNjcm9sbGJhcldpZHRoKX0sYy5wcm90b3R5cGUucmVzZXRTY3JvbGxiYXI9ZnVuY3Rpb24oKXt0aGlzLiRib2R5LmNzcygicGFkZGluZy1yaWdodCIsdGhpcy5vcmlnaW5hbEJvZHlQYWQpfSxjLnByb3RvdHlwZS5tZWFzdXJlU2Nyb2xsYmFyPWZ1bmN0aW9uKCl7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7YS5jbGFzc05hbWU9Im1vZGFsLXNjcm9sbGJhci1tZWFzdXJlIix0aGlzLiRib2R5LmFwcGVuZChhKTt2YXIgYj1hLm9mZnNldFdpZHRoLWEuY2xpZW50V2lkdGg7cmV0dXJuIHRoaXMuJGJvZHlbMF0ucmVtb3ZlQ2hpbGQoYSksYn07dmFyIGQ9YS5mbi5tb2RhbDthLmZuLm1vZGFsPWIsYS5mbi5tb2RhbC5Db25zdHJ1Y3Rvcj1jLGEuZm4ubW9kYWwubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLm1vZGFsPWQsdGhpc30sYShkb2N1bWVudCkub24oImNsaWNrLmJzLm1vZGFsLmRhdGEtYXBpIiwnW2RhdGEtdG9nZ2xlPSJtb2RhbCJdJyxmdW5jdGlvbihjKXt2YXIgZD1hKHRoaXMpLGU9ZC5hdHRyKCJocmVmIiksZj1hKGQuYXR0cigiZGF0YS10YXJnZXQiKXx8ZSYmZS5yZXBsYWNlKC8uKig/PSNbXlxzXSskKS8sIiIpKSxnPWYuZGF0YSgiYnMubW9kYWwiKT8idG9nZ2xlIjphLmV4dGVuZCh7cmVtb3RlOiEvIy8udGVzdChlKSYmZX0sZi5kYXRhKCksZC5kYXRhKCkpO2QuaXMoImEiKSYmYy5wcmV2ZW50RGVmYXVsdCgpLGYub25lKCJzaG93LmJzLm1vZGFsIixmdW5jdGlvbihhKXthLmlzRGVmYXVsdFByZXZlbnRlZCgpfHxmLm9uZSgiaGlkZGVuLmJzLm1vZGFsIixmdW5jdGlvbigpe2QuaXMoIjp2aXNpYmxlIikmJmQudHJpZ2dlcigiZm9jdXMiKX0pfSksYi5jYWxsKGYsZyx0aGlzKX0pfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPWQuZGF0YSgiYnMudG9vbHRpcCIpLGY9Im9iamVjdCI9PXR5cGVvZiBiJiZiOyhlfHwhL2Rlc3Ryb3l8aGlkZS8udGVzdChiKSkmJihlfHxkLmRhdGEoImJzLnRvb2x0aXAiLGU9bmV3IGModGhpcyxmKSksInN0cmluZyI9PXR5cGVvZiBiJiZlW2JdKCkpfSl9dmFyIGM9ZnVuY3Rpb24oYSxiKXt0aGlzLnR5cGU9bnVsbCx0aGlzLm9wdGlvbnM9bnVsbCx0aGlzLmVuYWJsZWQ9bnVsbCx0aGlzLnRpbWVvdXQ9bnVsbCx0aGlzLmhvdmVyU3RhdGU9bnVsbCx0aGlzLiRlbGVtZW50PW51bGwsdGhpcy5pbml0KCJ0b29sdGlwIixhLGIpfTtjLlZFUlNJT049IjMuMy40IixjLlRSQU5TSVRJT05fRFVSQVRJT049MTUwLGMuREVGQVVMVFM9e2FuaW1hdGlvbjohMCxwbGFjZW1lbnQ6InRvcCIsc2VsZWN0b3I6ITEsdGVtcGxhdGU6JzxkaXYgY2xhc3M9InRvb2x0aXAiIHJvbGU9InRvb2x0aXAiPjxkaXYgY2xhc3M9InRvb2x0aXAtYXJyb3ciPjwvZGl2PjxkaXYgY2xhc3M9InRvb2x0aXAtaW5uZXIiPjwvZGl2PjwvZGl2PicsdHJpZ2dlcjoiaG92ZXIgZm9jdXMiLHRpdGxlOiIiLGRlbGF5OjAsaHRtbDohMSxjb250YWluZXI6ITEsdmlld3BvcnQ6e3NlbGVjdG9yOiJib2R5IixwYWRkaW5nOjB9fSxjLnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKGIsYyxkKXtpZih0aGlzLmVuYWJsZWQ9ITAsdGhpcy50eXBlPWIsdGhpcy4kZWxlbWVudD1hKGMpLHRoaXMub3B0aW9ucz10aGlzLmdldE9wdGlvbnMoZCksdGhpcy4kdmlld3BvcnQ9dGhpcy5vcHRpb25zLnZpZXdwb3J0JiZhKHRoaXMub3B0aW9ucy52aWV3cG9ydC5zZWxlY3Rvcnx8dGhpcy5vcHRpb25zLnZpZXdwb3J0KSx0aGlzLiRlbGVtZW50WzBdaW5zdGFuY2VvZiBkb2N1bWVudC5jb25zdHJ1Y3RvciYmIXRoaXMub3B0aW9ucy5zZWxlY3Rvcil0aHJvdyBuZXcgRXJyb3IoImBzZWxlY3RvcmAgb3B0aW9uIG11c3QgYmUgc3BlY2lmaWVkIHdoZW4gaW5pdGlhbGl6aW5nICIrdGhpcy50eXBlKyIgb24gdGhlIHdpbmRvdy5kb2N1bWVudCBvYmplY3QhIik7Zm9yKHZhciBlPXRoaXMub3B0aW9ucy50cmlnZ2VyLnNwbGl0KCIgIiksZj1lLmxlbmd0aDtmLS07KXt2YXIgZz1lW2ZdO2lmKCJjbGljayI9PWcpdGhpcy4kZWxlbWVudC5vbigiY2xpY2suIit0aGlzLnR5cGUsdGhpcy5vcHRpb25zLnNlbGVjdG9yLGEucHJveHkodGhpcy50b2dnbGUsdGhpcykpO2Vsc2UgaWYoIm1hbnVhbCIhPWcpe3ZhciBoPSJob3ZlciI9PWc/Im1vdXNlZW50ZXIiOiJmb2N1c2luIixpPSJob3ZlciI9PWc/Im1vdXNlbGVhdmUiOiJmb2N1c291dCI7dGhpcy4kZWxlbWVudC5vbihoKyIuIit0aGlzLnR5cGUsdGhpcy5vcHRpb25zLnNlbGVjdG9yLGEucHJveHkodGhpcy5lbnRlcix0aGlzKSksdGhpcy4kZWxlbWVudC5vbihpKyIuIit0aGlzLnR5cGUsdGhpcy5vcHRpb25zLnNlbGVjdG9yLGEucHJveHkodGhpcy5sZWF2ZSx0aGlzKSl9fXRoaXMub3B0aW9ucy5zZWxlY3Rvcj90aGlzLl9vcHRpb25zPWEuZXh0ZW5kKHt9LHRoaXMub3B0aW9ucyx7dHJpZ2dlcjoibWFudWFsIixzZWxlY3RvcjoiIn0pOnRoaXMuZml4VGl0bGUoKX0sYy5wcm90b3R5cGUuZ2V0RGVmYXVsdHM9ZnVuY3Rpb24oKXtyZXR1cm4gYy5ERUZBVUxUU30sYy5wcm90b3R5cGUuZ2V0T3B0aW9ucz1mdW5jdGlvbihiKXtyZXR1cm4gYj1hLmV4dGVuZCh7fSx0aGlzLmdldERlZmF1bHRzKCksdGhpcy4kZWxlbWVudC5kYXRhKCksYiksYi5kZWxheSYmIm51bWJlciI9PXR5cGVvZiBiLmRlbGF5JiYoYi5kZWxheT17c2hvdzpiLmRlbGF5LGhpZGU6Yi5kZWxheX0pLGJ9LGMucHJvdG90eXBlLmdldERlbGVnYXRlT3B0aW9ucz1mdW5jdGlvbigpe3ZhciBiPXt9LGM9dGhpcy5nZXREZWZhdWx0cygpO3JldHVybiB0aGlzLl9vcHRpb25zJiZhLmVhY2godGhpcy5fb3B0aW9ucyxmdW5jdGlvbihhLGQpe2NbYV0hPWQmJihiW2FdPWQpfSksYn0sYy5wcm90b3R5cGUuZW50ZXI9ZnVuY3Rpb24oYil7dmFyIGM9YiBpbnN0YW5jZW9mIHRoaXMuY29uc3RydWN0b3I/YjphKGIuY3VycmVudFRhcmdldCkuZGF0YSgiYnMuIit0aGlzLnR5cGUpO3JldHVybiBjJiZjLiR0aXAmJmMuJHRpcC5pcygiOnZpc2libGUiKT92b2lkKGMuaG92ZXJTdGF0ZT0iaW4iKTooY3x8KGM9bmV3IHRoaXMuY29uc3RydWN0b3IoYi5jdXJyZW50VGFyZ2V0LHRoaXMuZ2V0RGVsZWdhdGVPcHRpb25zKCkpLGEoYi5jdXJyZW50VGFyZ2V0KS5kYXRhKCJicy4iK3RoaXMudHlwZSxjKSksY2xlYXJUaW1lb3V0KGMudGltZW91dCksYy5ob3ZlclN0YXRlPSJpbiIsYy5vcHRpb25zLmRlbGF5JiZjLm9wdGlvbnMuZGVsYXkuc2hvdz92b2lkKGMudGltZW91dD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ImluIj09Yy5ob3ZlclN0YXRlJiZjLnNob3coKX0sYy5vcHRpb25zLmRlbGF5LnNob3cpKTpjLnNob3coKSl9LGMucHJvdG90eXBlLmxlYXZlPWZ1bmN0aW9uKGIpe3ZhciBjPWIgaW5zdGFuY2VvZiB0aGlzLmNvbnN0cnVjdG9yP2I6YShiLmN1cnJlbnRUYXJnZXQpLmRhdGEoImJzLiIrdGhpcy50eXBlKTtyZXR1cm4gY3x8KGM9bmV3IHRoaXMuY29uc3RydWN0b3IoYi5jdXJyZW50VGFyZ2V0LHRoaXMuZ2V0RGVsZWdhdGVPcHRpb25zKCkpLGEoYi5jdXJyZW50VGFyZ2V0KS5kYXRhKCJicy4iK3RoaXMudHlwZSxjKSksY2xlYXJUaW1lb3V0KGMudGltZW91dCksYy5ob3ZlclN0YXRlPSJvdXQiLGMub3B0aW9ucy5kZWxheSYmYy5vcHRpb25zLmRlbGF5LmhpZGU/dm9pZChjLnRpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbigpeyJvdXQiPT1jLmhvdmVyU3RhdGUmJmMuaGlkZSgpfSxjLm9wdGlvbnMuZGVsYXkuaGlkZSkpOmMuaGlkZSgpfSxjLnByb3RvdHlwZS5zaG93PWZ1bmN0aW9uKCl7dmFyIGI9YS5FdmVudCgic2hvdy5icy4iK3RoaXMudHlwZSk7aWYodGhpcy5oYXNDb250ZW50KCkmJnRoaXMuZW5hYmxlZCl7dGhpcy4kZWxlbWVudC50cmlnZ2VyKGIpO3ZhciBkPWEuY29udGFpbnModGhpcy4kZWxlbWVudFswXS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCx0aGlzLiRlbGVtZW50WzBdKTtpZihiLmlzRGVmYXVsdFByZXZlbnRlZCgpfHwhZClyZXR1cm47dmFyIGU9dGhpcyxmPXRoaXMudGlwKCksZz10aGlzLmdldFVJRCh0aGlzLnR5cGUpO3RoaXMuc2V0Q29udGVudCgpLGYuYXR0cigiaWQiLGcpLHRoaXMuJGVsZW1lbnQuYXR0cigiYXJpYS1kZXNjcmliZWRieSIsZyksdGhpcy5vcHRpb25zLmFuaW1hdGlvbiYmZi5hZGRDbGFzcygiZmFkZSIpO3ZhciBoPSJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLm9wdGlvbnMucGxhY2VtZW50P3RoaXMub3B0aW9ucy5wbGFjZW1lbnQuY2FsbCh0aGlzLGZbMF0sdGhpcy4kZWxlbWVudFswXSk6dGhpcy5vcHRpb25zLnBsYWNlbWVudCxpPS9ccz9hdXRvP1xzPy9pLGo9aS50ZXN0KGgpO2omJihoPWgucmVwbGFjZShpLCIiKXx8InRvcCIpLGYuZGV0YWNoKCkuY3NzKHt0b3A6MCxsZWZ0OjAsZGlzcGxheToiYmxvY2sifSkuYWRkQ2xhc3MoaCkuZGF0YSgiYnMuIit0aGlzLnR5cGUsdGhpcyksdGhpcy5vcHRpb25zLmNvbnRhaW5lcj9mLmFwcGVuZFRvKHRoaXMub3B0aW9ucy5jb250YWluZXIpOmYuaW5zZXJ0QWZ0ZXIodGhpcy4kZWxlbWVudCk7dmFyIGs9dGhpcy5nZXRQb3NpdGlvbigpLGw9ZlswXS5vZmZzZXRXaWR0aCxtPWZbMF0ub2Zmc2V0SGVpZ2h0O2lmKGope3ZhciBuPWgsbz10aGlzLm9wdGlvbnMuY29udGFpbmVyP2EodGhpcy5vcHRpb25zLmNvbnRhaW5lcik6dGhpcy4kZWxlbWVudC5wYXJlbnQoKSxwPXRoaXMuZ2V0UG9zaXRpb24obyk7aD0iYm90dG9tIj09aCYmay5ib3R0b20rbT5wLmJvdHRvbT8idG9wIjoidG9wIj09aCYmay50b3AtbTxwLnRvcD8iYm90dG9tIjoicmlnaHQiPT1oJiZrLnJpZ2h0K2w+cC53aWR0aD8ibGVmdCI6ImxlZnQiPT1oJiZrLmxlZnQtbDxwLmxlZnQ/InJpZ2h0IjpoLGYucmVtb3ZlQ2xhc3MobikuYWRkQ2xhc3MoaCl9dmFyIHE9dGhpcy5nZXRDYWxjdWxhdGVkT2Zmc2V0KGgsayxsLG0pO3RoaXMuYXBwbHlQbGFjZW1lbnQocSxoKTt2YXIgcj1mdW5jdGlvbigpe3ZhciBhPWUuaG92ZXJTdGF0ZTtlLiRlbGVtZW50LnRyaWdnZXIoInNob3duLmJzLiIrZS50eXBlKSxlLmhvdmVyU3RhdGU9bnVsbCwib3V0Ij09YSYmZS5sZWF2ZShlKX07YS5zdXBwb3J0LnRyYW5zaXRpb24mJnRoaXMuJHRpcC5oYXNDbGFzcygiZmFkZSIpP2Yub25lKCJic1RyYW5zaXRpb25FbmQiLHIpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuVFJBTlNJVElPTl9EVVJBVElPTik6cigpfX0sYy5wcm90b3R5cGUuYXBwbHlQbGFjZW1lbnQ9ZnVuY3Rpb24oYixjKXt2YXIgZD10aGlzLnRpcCgpLGU9ZFswXS5vZmZzZXRXaWR0aCxmPWRbMF0ub2Zmc2V0SGVpZ2h0LGc9cGFyc2VJbnQoZC5jc3MoIm1hcmdpbi10b3AiKSwxMCksaD1wYXJzZUludChkLmNzcygibWFyZ2luLWxlZnQiKSwxMCk7aXNOYU4oZykmJihnPTApLGlzTmFOKGgpJiYoaD0wKSxiLnRvcD1iLnRvcCtnLGIubGVmdD1iLmxlZnQraCxhLm9mZnNldC5zZXRPZmZzZXQoZFswXSxhLmV4dGVuZCh7dXNpbmc6ZnVuY3Rpb24oYSl7ZC5jc3Moe3RvcDpNYXRoLnJvdW5kKGEudG9wKSxsZWZ0Ok1hdGgucm91bmQoYS5sZWZ0KX0pfX0sYiksMCksZC5hZGRDbGFzcygiaW4iKTt2YXIgaT1kWzBdLm9mZnNldFdpZHRoLGo9ZFswXS5vZmZzZXRIZWlnaHQ7InRvcCI9PWMmJmohPWYmJihiLnRvcD1iLnRvcCtmLWopO3ZhciBrPXRoaXMuZ2V0Vmlld3BvcnRBZGp1c3RlZERlbHRhKGMsYixpLGopO2subGVmdD9iLmxlZnQrPWsubGVmdDpiLnRvcCs9ay50b3A7dmFyIGw9L3RvcHxib3R0b20vLnRlc3QoYyksbT1sPzIqay5sZWZ0LWUraToyKmsudG9wLWYraixuPWw/Im9mZnNldFdpZHRoIjoib2Zmc2V0SGVpZ2h0IjtkLm9mZnNldChiKSx0aGlzLnJlcGxhY2VBcnJvdyhtLGRbMF1bbl0sbCl9LGMucHJvdG90eXBlLnJlcGxhY2VBcnJvdz1mdW5jdGlvbihhLGIsYyl7dGhpcy5hcnJvdygpLmNzcyhjPyJsZWZ0IjoidG9wIiw1MCooMS1hL2IpKyIlIikuY3NzKGM/InRvcCI6ImxlZnQiLCIiKX0sYy5wcm90b3R5cGUuc2V0Q29udGVudD1mdW5jdGlvbigpe3ZhciBhPXRoaXMudGlwKCksYj10aGlzLmdldFRpdGxlKCk7YS5maW5kKCIudG9vbHRpcC1pbm5lciIpW3RoaXMub3B0aW9ucy5odG1sPyJodG1sIjoidGV4dCJdKGIpLGEucmVtb3ZlQ2xhc3MoImZhZGUgaW4gdG9wIGJvdHRvbSBsZWZ0IHJpZ2h0Iil9LGMucHJvdG90eXBlLmhpZGU9ZnVuY3Rpb24oYil7ZnVuY3Rpb24gZCgpeyJpbiIhPWUuaG92ZXJTdGF0ZSYmZi5kZXRhY2goKSxlLiRlbGVtZW50LnJlbW92ZUF0dHIoImFyaWEtZGVzY3JpYmVkYnkiKS50cmlnZ2VyKCJoaWRkZW4uYnMuIitlLnR5cGUpLGImJmIoKX12YXIgZT10aGlzLGY9YSh0aGlzLiR0aXApLGc9YS5FdmVudCgiaGlkZS5icy4iK3RoaXMudHlwZSk7cmV0dXJuIHRoaXMuJGVsZW1lbnQudHJpZ2dlcihnKSxnLmlzRGVmYXVsdFByZXZlbnRlZCgpP3ZvaWQgMDooZi5yZW1vdmVDbGFzcygiaW4iKSxhLnN1cHBvcnQudHJhbnNpdGlvbiYmZi5oYXNDbGFzcygiZmFkZSIpP2Yub25lKCJic1RyYW5zaXRpb25FbmQiLGQpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuVFJBTlNJVElPTl9EVVJBVElPTik6ZCgpLHRoaXMuaG92ZXJTdGF0ZT1udWxsLHRoaXMpfSxjLnByb3RvdHlwZS5maXhUaXRsZT1mdW5jdGlvbigpe3ZhciBhPXRoaXMuJGVsZW1lbnQ7KGEuYXR0cigidGl0bGUiKXx8InN0cmluZyIhPXR5cGVvZiBhLmF0dHIoImRhdGEtb3JpZ2luYWwtdGl0bGUiKSkmJmEuYXR0cigiZGF0YS1vcmlnaW5hbC10aXRsZSIsYS5hdHRyKCJ0aXRsZSIpfHwiIikuYXR0cigidGl0bGUiLCIiKX0sYy5wcm90b3R5cGUuaGFzQ29udGVudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmdldFRpdGxlKCl9LGMucHJvdG90eXBlLmdldFBvc2l0aW9uPWZ1bmN0aW9uKGIpe2I9Ynx8dGhpcy4kZWxlbWVudDt2YXIgYz1iWzBdLGQ9IkJPRFkiPT1jLnRhZ05hbWUsZT1jLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO251bGw9PWUud2lkdGgmJihlPWEuZXh0ZW5kKHt9LGUse3dpZHRoOmUucmlnaHQtZS5sZWZ0LGhlaWdodDplLmJvdHRvbS1lLnRvcH0pKTt2YXIgZj1kP3t0b3A6MCxsZWZ0OjB9OmIub2Zmc2V0KCksZz17c2Nyb2xsOmQ/ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A6Yi5zY3JvbGxUb3AoKX0saD1kP3t3aWR0aDphKHdpbmRvdykud2lkdGgoKSxoZWlnaHQ6YSh3aW5kb3cpLmhlaWdodCgpfTpudWxsO3JldHVybiBhLmV4dGVuZCh7fSxlLGcsaCxmKX0sYy5wcm90b3R5cGUuZ2V0Q2FsY3VsYXRlZE9mZnNldD1mdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4iYm90dG9tIj09YT97dG9wOmIudG9wK2IuaGVpZ2h0LGxlZnQ6Yi5sZWZ0K2Iud2lkdGgvMi1jLzJ9OiJ0b3AiPT1hP3t0b3A6Yi50b3AtZCxsZWZ0OmIubGVmdCtiLndpZHRoLzItYy8yfToibGVmdCI9PWE/e3RvcDpiLnRvcCtiLmhlaWdodC8yLWQvMixsZWZ0OmIubGVmdC1jfTp7dG9wOmIudG9wK2IuaGVpZ2h0LzItZC8yLGxlZnQ6Yi5sZWZ0K2Iud2lkdGh9fSxjLnByb3RvdHlwZS5nZXRWaWV3cG9ydEFkanVzdGVkRGVsdGE9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9e3RvcDowLGxlZnQ6MH07aWYoIXRoaXMuJHZpZXdwb3J0KXJldHVybiBlO3ZhciBmPXRoaXMub3B0aW9ucy52aWV3cG9ydCYmdGhpcy5vcHRpb25zLnZpZXdwb3J0LnBhZGRpbmd8fDAsZz10aGlzLmdldFBvc2l0aW9uKHRoaXMuJHZpZXdwb3J0KTtpZigvcmlnaHR8bGVmdC8udGVzdChhKSl7dmFyIGg9Yi50b3AtZi1nLnNjcm9sbCxpPWIudG9wK2YtZy5zY3JvbGwrZDtoPGcudG9wP2UudG9wPWcudG9wLWg6aT5nLnRvcCtnLmhlaWdodCYmKGUudG9wPWcudG9wK2cuaGVpZ2h0LWkpfWVsc2V7dmFyIGo9Yi5sZWZ0LWYsaz1iLmxlZnQrZitjO2o8Zy5sZWZ0P2UubGVmdD1nLmxlZnQtajprPmcud2lkdGgmJihlLmxlZnQ9Zy5sZWZ0K2cud2lkdGgtayl9cmV0dXJuIGV9LGMucHJvdG90eXBlLmdldFRpdGxlPWZ1bmN0aW9uKCl7dmFyIGEsYj10aGlzLiRlbGVtZW50LGM9dGhpcy5vcHRpb25zO3JldHVybiBhPWIuYXR0cigiZGF0YS1vcmlnaW5hbC10aXRsZSIpfHwoImZ1bmN0aW9uIj09dHlwZW9mIGMudGl0bGU/Yy50aXRsZS5jYWxsKGJbMF0pOmMudGl0bGUpfSxjLnByb3RvdHlwZS5nZXRVSUQ9ZnVuY3Rpb24oYSl7ZG8gYSs9fn4oMWU2Kk1hdGgucmFuZG9tKCkpO3doaWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGEpKTtyZXR1cm4gYX0sYy5wcm90b3R5cGUudGlwPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJHRpcD10aGlzLiR0aXB8fGEodGhpcy5vcHRpb25zLnRlbXBsYXRlKX0sYy5wcm90b3R5cGUuYXJyb3c9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kYXJyb3c9dGhpcy4kYXJyb3d8fHRoaXMudGlwKCkuZmluZCgiLnRvb2x0aXAtYXJyb3ciKX0sYy5wcm90b3R5cGUuZW5hYmxlPWZ1bmN0aW9uKCl7dGhpcy5lbmFibGVkPSEwfSxjLnByb3RvdHlwZS5kaXNhYmxlPWZ1bmN0aW9uKCl7dGhpcy5lbmFibGVkPSExfSxjLnByb3RvdHlwZS50b2dnbGVFbmFibGVkPWZ1bmN0aW9uKCl7dGhpcy5lbmFibGVkPSF0aGlzLmVuYWJsZWR9LGMucHJvdG90eXBlLnRvZ2dsZT1mdW5jdGlvbihiKXt2YXIgYz10aGlzO2ImJihjPWEoYi5jdXJyZW50VGFyZ2V0KS5kYXRhKCJicy4iK3RoaXMudHlwZSksY3x8KGM9bmV3IHRoaXMuY29uc3RydWN0b3IoYi5jdXJyZW50VGFyZ2V0LHRoaXMuZ2V0RGVsZWdhdGVPcHRpb25zKCkpLGEoYi5jdXJyZW50VGFyZ2V0KS5kYXRhKCJicy4iK3RoaXMudHlwZSxjKSkpLGMudGlwKCkuaGFzQ2xhc3MoImluIik/Yy5sZWF2ZShjKTpjLmVudGVyKGMpfSxjLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dmFyIGE9dGhpcztjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0KSx0aGlzLmhpZGUoZnVuY3Rpb24oKXthLiRlbGVtZW50Lm9mZigiLiIrYS50eXBlKS5yZW1vdmVEYXRhKCJicy4iK2EudHlwZSl9KX07dmFyIGQ9YS5mbi50b29sdGlwO2EuZm4udG9vbHRpcD1iLGEuZm4udG9vbHRpcC5Db25zdHJ1Y3Rvcj1jLGEuZm4udG9vbHRpcC5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4udG9vbHRpcD1kLHRoaXN9fShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPWQuZGF0YSgiYnMucG9wb3ZlciIpLGY9Im9iamVjdCI9PXR5cGVvZiBiJiZiOyhlfHwhL2Rlc3Ryb3l8aGlkZS8udGVzdChiKSkmJihlfHxkLmRhdGEoImJzLnBvcG92ZXIiLGU9bmV3IGModGhpcyxmKSksInN0cmluZyI9PXR5cGVvZiBiJiZlW2JdKCkpfSl9dmFyIGM9ZnVuY3Rpb24oYSxiKXt0aGlzLmluaXQoInBvcG92ZXIiLGEsYil9O2lmKCFhLmZuLnRvb2x0aXApdGhyb3cgbmV3IEVycm9yKCJQb3BvdmVyIHJlcXVpcmVzIHRvb2x0aXAuanMiKTtjLlZFUlNJT049IjMuMy40IixjLkRFRkFVTFRTPWEuZXh0ZW5kKHt9LGEuZm4udG9vbHRpcC5Db25zdHJ1Y3Rvci5ERUZBVUxUUyx7cGxhY2VtZW50OiJyaWdodCIsdHJpZ2dlcjoiY2xpY2siLGNvbnRlbnQ6IiIsdGVtcGxhdGU6JzxkaXYgY2xhc3M9InBvcG92ZXIiIHJvbGU9InRvb2x0aXAiPjxkaXYgY2xhc3M9ImFycm93Ij48L2Rpdj48aDMgY2xhc3M9InBvcG92ZXItdGl0bGUiPjwvaDM+PGRpdiBjbGFzcz0icG9wb3Zlci1jb250ZW50Ij48L2Rpdj48L2Rpdj4nfSksYy5wcm90b3R5cGU9YS5leHRlbmQoe30sYS5mbi50b29sdGlwLkNvbnN0cnVjdG9yLnByb3RvdHlwZSksYy5wcm90b3R5cGUuY29uc3RydWN0b3I9YyxjLnByb3RvdHlwZS5nZXREZWZhdWx0cz1mdW5jdGlvbigpe3JldHVybiBjLkRFRkFVTFRTfSxjLnByb3RvdHlwZS5zZXRDb250ZW50PWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy50aXAoKSxiPXRoaXMuZ2V0VGl0bGUoKSxjPXRoaXMuZ2V0Q29udGVudCgpO2EuZmluZCgiLnBvcG92ZXItdGl0bGUiKVt0aGlzLm9wdGlvbnMuaHRtbD8iaHRtbCI6InRleHQiXShiKSxhLmZpbmQoIi5wb3BvdmVyLWNvbnRlbnQiKS5jaGlsZHJlbigpLmRldGFjaCgpLmVuZCgpW3RoaXMub3B0aW9ucy5odG1sPyJzdHJpbmciPT10eXBlb2YgYz8iaHRtbCI6ImFwcGVuZCI6InRleHQiXShjKSxhLnJlbW92ZUNsYXNzKCJmYWRlIHRvcCBib3R0b20gbGVmdCByaWdodCBpbiIpLGEuZmluZCgiLnBvcG92ZXItdGl0bGUiKS5odG1sKCl8fGEuZmluZCgiLnBvcG92ZXItdGl0bGUiKS5oaWRlKCl9LGMucHJvdG90eXBlLmhhc0NvbnRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRUaXRsZSgpfHx0aGlzLmdldENvbnRlbnQoKX0sYy5wcm90b3R5cGUuZ2V0Q29udGVudD1mdW5jdGlvbigpe3ZhciBhPXRoaXMuJGVsZW1lbnQsYj10aGlzLm9wdGlvbnM7cmV0dXJuIGEuYXR0cigiZGF0YS1jb250ZW50Iil8fCgiZnVuY3Rpb24iPT10eXBlb2YgYi5jb250ZW50P2IuY29udGVudC5jYWxsKGFbMF0pOmIuY29udGVudCl9LGMucHJvdG90eXBlLmFycm93PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJGFycm93PXRoaXMuJGFycm93fHx0aGlzLnRpcCgpLmZpbmQoIi5hcnJvdyIpfTt2YXIgZD1hLmZuLnBvcG92ZXI7YS5mbi5wb3BvdmVyPWIsYS5mbi5wb3BvdmVyLkNvbnN0cnVjdG9yPWMsYS5mbi5wb3BvdmVyLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYS5mbi5wb3BvdmVyPWQsdGhpc319KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGMsZCl7dGhpcy4kYm9keT1hKGRvY3VtZW50LmJvZHkpLHRoaXMuJHNjcm9sbEVsZW1lbnQ9YShhKGMpLmlzKGRvY3VtZW50LmJvZHkpP3dpbmRvdzpjKSx0aGlzLm9wdGlvbnM9YS5leHRlbmQoe30sYi5ERUZBVUxUUyxkKSx0aGlzLnNlbGVjdG9yPSh0aGlzLm9wdGlvbnMudGFyZ2V0fHwiIikrIiAubmF2IGxpID4gYSIsdGhpcy5vZmZzZXRzPVtdLHRoaXMudGFyZ2V0cz1bXSx0aGlzLmFjdGl2ZVRhcmdldD1udWxsLHRoaXMuc2Nyb2xsSGVpZ2h0PTAsdGhpcy4kc2Nyb2xsRWxlbWVudC5vbigic2Nyb2xsLmJzLnNjcm9sbHNweSIsYS5wcm94eSh0aGlzLnByb2Nlc3MsdGhpcykpLHRoaXMucmVmcmVzaCgpLHRoaXMucHJvY2VzcygpfWZ1bmN0aW9uIGMoYyl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1kLmRhdGEoImJzLnNjcm9sbHNweSIpLGY9Im9iamVjdCI9PXR5cGVvZiBjJiZjO2V8fGQuZGF0YSgiYnMuc2Nyb2xsc3B5IixlPW5ldyBiKHRoaXMsZikpLCJzdHJpbmciPT10eXBlb2YgYyYmZVtjXSgpfSl9Yi5WRVJTSU9OPSIzLjMuNCIsYi5ERUZBVUxUUz17b2Zmc2V0OjEwfSxiLnByb3RvdHlwZS5nZXRTY3JvbGxIZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kc2Nyb2xsRWxlbWVudFswXS5zY3JvbGxIZWlnaHR8fE1hdGgubWF4KHRoaXMuJGJvZHlbMF0uc2Nyb2xsSGVpZ2h0LGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQpfSxiLnByb3RvdHlwZS5yZWZyZXNoPWZ1bmN0aW9uKCl7dmFyIGI9dGhpcyxjPSJvZmZzZXQiLGQ9MDt0aGlzLm9mZnNldHM9W10sdGhpcy50YXJnZXRzPVtdLHRoaXMuc2Nyb2xsSGVpZ2h0PXRoaXMuZ2V0U2Nyb2xsSGVpZ2h0KCksYS5pc1dpbmRvdyh0aGlzLiRzY3JvbGxFbGVtZW50WzBdKXx8KGM9InBvc2l0aW9uIixkPXRoaXMuJHNjcm9sbEVsZW1lbnQuc2Nyb2xsVG9wKCkpLHRoaXMuJGJvZHkuZmluZCh0aGlzLnNlbGVjdG9yKS5tYXAoZnVuY3Rpb24oKXt2YXIgYj1hKHRoaXMpLGU9Yi5kYXRhKCJ0YXJnZXQiKXx8Yi5hdHRyKCJocmVmIiksZj0vXiMuLy50ZXN0KGUpJiZhKGUpO3JldHVybiBmJiZmLmxlbmd0aCYmZi5pcygiOnZpc2libGUiKSYmW1tmW2NdKCkudG9wK2QsZV1dfHxudWxsfSkuc29ydChmdW5jdGlvbihhLGIpe3JldHVybiBhWzBdLWJbMF19KS5lYWNoKGZ1bmN0aW9uKCl7Yi5vZmZzZXRzLnB1c2godGhpc1swXSksYi50YXJnZXRzLnB1c2godGhpc1sxXSl9KX0sYi5wcm90b3R5cGUucHJvY2Vzcz1mdW5jdGlvbigpe3ZhciBhLGI9dGhpcy4kc2Nyb2xsRWxlbWVudC5zY3JvbGxUb3AoKSt0aGlzLm9wdGlvbnMub2Zmc2V0LGM9dGhpcy5nZXRTY3JvbGxIZWlnaHQoKSxkPXRoaXMub3B0aW9ucy5vZmZzZXQrYy10aGlzLiRzY3JvbGxFbGVtZW50LmhlaWdodCgpLGU9dGhpcy5vZmZzZXRzLGY9dGhpcy50YXJnZXRzLGc9dGhpcy5hY3RpdmVUYXJnZXQ7aWYodGhpcy5zY3JvbGxIZWlnaHQhPWMmJnRoaXMucmVmcmVzaCgpLGI+PWQpcmV0dXJuIGchPShhPWZbZi5sZW5ndGgtMV0pJiZ0aGlzLmFjdGl2YXRlKGEpO2lmKGcmJmI8ZVswXSlyZXR1cm4gdGhpcy5hY3RpdmVUYXJnZXQ9bnVsbCx0aGlzLmNsZWFyKCk7Zm9yKGE9ZS5sZW5ndGg7YS0tOylnIT1mW2FdJiZiPj1lW2FdJiYodm9pZCAwPT09ZVthKzFdfHxiPGVbYSsxXSkmJnRoaXMuYWN0aXZhdGUoZlthXSl9LGIucHJvdG90eXBlLmFjdGl2YXRlPWZ1bmN0aW9uKGIpe3RoaXMuYWN0aXZlVGFyZ2V0PWIsdGhpcy5jbGVhcigpO3ZhciBjPXRoaXMuc2VsZWN0b3IrJ1tkYXRhLXRhcmdldD0iJytiKyciXSwnK3RoaXMuc2VsZWN0b3IrJ1tocmVmPSInK2IrJyJdJyxkPWEoYykucGFyZW50cygibGkiKS5hZGRDbGFzcygiYWN0aXZlIik7ZC5wYXJlbnQoIi5kcm9wZG93bi1tZW51IikubGVuZ3RoJiYoZD1kLmNsb3Nlc3QoImxpLmRyb3Bkb3duIikuYWRkQ2xhc3MoImFjdGl2ZSIpKSxkLnRyaWdnZXIoImFjdGl2YXRlLmJzLnNjcm9sbHNweSIpfSxiLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe2EodGhpcy5zZWxlY3RvcikucGFyZW50c1VudGlsKHRoaXMub3B0aW9ucy50YXJnZXQsIi5hY3RpdmUiKS5yZW1vdmVDbGFzcygiYWN0aXZlIil9O3ZhciBkPWEuZm4uc2Nyb2xsc3B5O2EuZm4uc2Nyb2xsc3B5PWMsYS5mbi5zY3JvbGxzcHkuQ29uc3RydWN0b3I9YixhLmZuLnNjcm9sbHNweS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4uc2Nyb2xsc3B5PWQsdGhpc30sYSh3aW5kb3cpLm9uKCJsb2FkLmJzLnNjcm9sbHNweS5kYXRhLWFwaSIsZnVuY3Rpb24oKXthKCdbZGF0YS1zcHk9InNjcm9sbCJdJykuZWFjaChmdW5jdGlvbigpe3ZhciBiPWEodGhpcyk7Yy5jYWxsKGIsYi5kYXRhKCkpfSl9KX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1kLmRhdGEoImJzLnRhYiIpO2V8fGQuZGF0YSgiYnMudGFiIixlPW5ldyBjKHRoaXMpKSwic3RyaW5nIj09dHlwZW9mIGImJmVbYl0oKX0pfXZhciBjPWZ1bmN0aW9uKGIpe3RoaXMuZWxlbWVudD1hKGIpfTtjLlZFUlNJT049IjMuMy40IixjLlRSQU5TSVRJT05fRFVSQVRJT049MTUwLGMucHJvdG90eXBlLnNob3c9ZnVuY3Rpb24oKXt2YXIgYj10aGlzLmVsZW1lbnQsYz1iLmNsb3Nlc3QoInVsOm5vdCguZHJvcGRvd24tbWVudSkiKSxkPWIuZGF0YSgidGFyZ2V0Iik7aWYoZHx8KGQ9Yi5hdHRyKCJocmVmIiksZD1kJiZkLnJlcGxhY2UoLy4qKD89I1teXHNdKiQpLywiIikpLCFiLnBhcmVudCgibGkiKS5oYXNDbGFzcygiYWN0aXZlIikpewp2YXIgZT1jLmZpbmQoIi5hY3RpdmU6bGFzdCBhIiksZj1hLkV2ZW50KCJoaWRlLmJzLnRhYiIse3JlbGF0ZWRUYXJnZXQ6YlswXX0pLGc9YS5FdmVudCgic2hvdy5icy50YWIiLHtyZWxhdGVkVGFyZ2V0OmVbMF19KTtpZihlLnRyaWdnZXIoZiksYi50cmlnZ2VyKGcpLCFnLmlzRGVmYXVsdFByZXZlbnRlZCgpJiYhZi5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7dmFyIGg9YShkKTt0aGlzLmFjdGl2YXRlKGIuY2xvc2VzdCgibGkiKSxjKSx0aGlzLmFjdGl2YXRlKGgsaC5wYXJlbnQoKSxmdW5jdGlvbigpe2UudHJpZ2dlcih7dHlwZToiaGlkZGVuLmJzLnRhYiIscmVsYXRlZFRhcmdldDpiWzBdfSksYi50cmlnZ2VyKHt0eXBlOiJzaG93bi5icy50YWIiLHJlbGF0ZWRUYXJnZXQ6ZVswXX0pfSl9fX0sYy5wcm90b3R5cGUuYWN0aXZhdGU9ZnVuY3Rpb24oYixkLGUpe2Z1bmN0aW9uIGYoKXtnLnJlbW92ZUNsYXNzKCJhY3RpdmUiKS5maW5kKCI+IC5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSIpLnJlbW92ZUNsYXNzKCJhY3RpdmUiKS5lbmQoKS5maW5kKCdbZGF0YS10b2dnbGU9InRhYiJdJykuYXR0cigiYXJpYS1leHBhbmRlZCIsITEpLGIuYWRkQ2xhc3MoImFjdGl2ZSIpLmZpbmQoJ1tkYXRhLXRvZ2dsZT0idGFiIl0nKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMCksaD8oYlswXS5vZmZzZXRXaWR0aCxiLmFkZENsYXNzKCJpbiIpKTpiLnJlbW92ZUNsYXNzKCJmYWRlIiksYi5wYXJlbnQoIi5kcm9wZG93bi1tZW51IikubGVuZ3RoJiZiLmNsb3Nlc3QoImxpLmRyb3Bkb3duIikuYWRkQ2xhc3MoImFjdGl2ZSIpLmVuZCgpLmZpbmQoJ1tkYXRhLXRvZ2dsZT0idGFiIl0nKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMCksZSYmZSgpfXZhciBnPWQuZmluZCgiPiAuYWN0aXZlIiksaD1lJiZhLnN1cHBvcnQudHJhbnNpdGlvbiYmKGcubGVuZ3RoJiZnLmhhc0NsYXNzKCJmYWRlIil8fCEhZC5maW5kKCI+IC5mYWRlIikubGVuZ3RoKTtnLmxlbmd0aCYmaD9nLm9uZSgiYnNUcmFuc2l0aW9uRW5kIixmKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChjLlRSQU5TSVRJT05fRFVSQVRJT04pOmYoKSxnLnJlbW92ZUNsYXNzKCJpbiIpfTt2YXIgZD1hLmZuLnRhYjthLmZuLnRhYj1iLGEuZm4udGFiLkNvbnN0cnVjdG9yPWMsYS5mbi50YWIubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLnRhYj1kLHRoaXN9O3ZhciBlPWZ1bmN0aW9uKGMpe2MucHJldmVudERlZmF1bHQoKSxiLmNhbGwoYSh0aGlzKSwic2hvdyIpfTthKGRvY3VtZW50KS5vbigiY2xpY2suYnMudGFiLmRhdGEtYXBpIiwnW2RhdGEtdG9nZ2xlPSJ0YWIiXScsZSkub24oImNsaWNrLmJzLnRhYi5kYXRhLWFwaSIsJ1tkYXRhLXRvZ2dsZT0icGlsbCJdJyxlKX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1kLmRhdGEoImJzLmFmZml4IiksZj0ib2JqZWN0Ij09dHlwZW9mIGImJmI7ZXx8ZC5kYXRhKCJicy5hZmZpeCIsZT1uZXcgYyh0aGlzLGYpKSwic3RyaW5nIj09dHlwZW9mIGImJmVbYl0oKX0pfXZhciBjPWZ1bmN0aW9uKGIsZCl7dGhpcy5vcHRpb25zPWEuZXh0ZW5kKHt9LGMuREVGQVVMVFMsZCksdGhpcy4kdGFyZ2V0PWEodGhpcy5vcHRpb25zLnRhcmdldCkub24oInNjcm9sbC5icy5hZmZpeC5kYXRhLWFwaSIsYS5wcm94eSh0aGlzLmNoZWNrUG9zaXRpb24sdGhpcykpLm9uKCJjbGljay5icy5hZmZpeC5kYXRhLWFwaSIsYS5wcm94eSh0aGlzLmNoZWNrUG9zaXRpb25XaXRoRXZlbnRMb29wLHRoaXMpKSx0aGlzLiRlbGVtZW50PWEoYiksdGhpcy5hZmZpeGVkPW51bGwsdGhpcy51bnBpbj1udWxsLHRoaXMucGlubmVkT2Zmc2V0PW51bGwsdGhpcy5jaGVja1Bvc2l0aW9uKCl9O2MuVkVSU0lPTj0iMy4zLjQiLGMuUkVTRVQ9ImFmZml4IGFmZml4LXRvcCBhZmZpeC1ib3R0b20iLGMuREVGQVVMVFM9e29mZnNldDowLHRhcmdldDp3aW5kb3d9LGMucHJvdG90eXBlLmdldFN0YXRlPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPXRoaXMuJHRhcmdldC5zY3JvbGxUb3AoKSxmPXRoaXMuJGVsZW1lbnQub2Zmc2V0KCksZz10aGlzLiR0YXJnZXQuaGVpZ2h0KCk7aWYobnVsbCE9YyYmInRvcCI9PXRoaXMuYWZmaXhlZClyZXR1cm4gYz5lPyJ0b3AiOiExO2lmKCJib3R0b20iPT10aGlzLmFmZml4ZWQpcmV0dXJuIG51bGwhPWM/ZSt0aGlzLnVucGluPD1mLnRvcD8hMToiYm90dG9tIjphLWQ+PWUrZz8hMToiYm90dG9tIjt2YXIgaD1udWxsPT10aGlzLmFmZml4ZWQsaT1oP2U6Zi50b3Asaj1oP2c6YjtyZXR1cm4gbnVsbCE9YyYmYz49ZT8idG9wIjpudWxsIT1kJiZpK2o+PWEtZD8iYm90dG9tIjohMX0sYy5wcm90b3R5cGUuZ2V0UGlubmVkT2Zmc2V0PWZ1bmN0aW9uKCl7aWYodGhpcy5waW5uZWRPZmZzZXQpcmV0dXJuIHRoaXMucGlubmVkT2Zmc2V0O3RoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoYy5SRVNFVCkuYWRkQ2xhc3MoImFmZml4Iik7dmFyIGE9dGhpcy4kdGFyZ2V0LnNjcm9sbFRvcCgpLGI9dGhpcy4kZWxlbWVudC5vZmZzZXQoKTtyZXR1cm4gdGhpcy5waW5uZWRPZmZzZXQ9Yi50b3AtYX0sYy5wcm90b3R5cGUuY2hlY2tQb3NpdGlvbldpdGhFdmVudExvb3A9ZnVuY3Rpb24oKXtzZXRUaW1lb3V0KGEucHJveHkodGhpcy5jaGVja1Bvc2l0aW9uLHRoaXMpLDEpfSxjLnByb3RvdHlwZS5jaGVja1Bvc2l0aW9uPWZ1bmN0aW9uKCl7aWYodGhpcy4kZWxlbWVudC5pcygiOnZpc2libGUiKSl7dmFyIGI9dGhpcy4kZWxlbWVudC5oZWlnaHQoKSxkPXRoaXMub3B0aW9ucy5vZmZzZXQsZT1kLnRvcCxmPWQuYm90dG9tLGc9YShkb2N1bWVudC5ib2R5KS5oZWlnaHQoKTsib2JqZWN0IiE9dHlwZW9mIGQmJihmPWU9ZCksImZ1bmN0aW9uIj09dHlwZW9mIGUmJihlPWQudG9wKHRoaXMuJGVsZW1lbnQpKSwiZnVuY3Rpb24iPT10eXBlb2YgZiYmKGY9ZC5ib3R0b20odGhpcy4kZWxlbWVudCkpO3ZhciBoPXRoaXMuZ2V0U3RhdGUoZyxiLGUsZik7aWYodGhpcy5hZmZpeGVkIT1oKXtudWxsIT10aGlzLnVucGluJiZ0aGlzLiRlbGVtZW50LmNzcygidG9wIiwiIik7dmFyIGk9ImFmZml4IisoaD8iLSIraDoiIiksaj1hLkV2ZW50KGkrIi5icy5hZmZpeCIpO2lmKHRoaXMuJGVsZW1lbnQudHJpZ2dlcihqKSxqLmlzRGVmYXVsdFByZXZlbnRlZCgpKXJldHVybjt0aGlzLmFmZml4ZWQ9aCx0aGlzLnVucGluPSJib3R0b20iPT1oP3RoaXMuZ2V0UGlubmVkT2Zmc2V0KCk6bnVsbCx0aGlzLiRlbGVtZW50LnJlbW92ZUNsYXNzKGMuUkVTRVQpLmFkZENsYXNzKGkpLnRyaWdnZXIoaS5yZXBsYWNlKCJhZmZpeCIsImFmZml4ZWQiKSsiLmJzLmFmZml4Iil9ImJvdHRvbSI9PWgmJnRoaXMuJGVsZW1lbnQub2Zmc2V0KHt0b3A6Zy1iLWZ9KX19O3ZhciBkPWEuZm4uYWZmaXg7YS5mbi5hZmZpeD1iLGEuZm4uYWZmaXguQ29uc3RydWN0b3I9YyxhLmZuLmFmZml4Lm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYS5mbi5hZmZpeD1kLHRoaXN9LGEod2luZG93KS5vbigibG9hZCIsZnVuY3Rpb24oKXthKCdbZGF0YS1zcHk9ImFmZml4Il0nKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGM9YSh0aGlzKSxkPWMuZGF0YSgpO2Qub2Zmc2V0PWQub2Zmc2V0fHx7fSxudWxsIT1kLm9mZnNldEJvdHRvbSYmKGQub2Zmc2V0LmJvdHRvbT1kLm9mZnNldEJvdHRvbSksbnVsbCE9ZC5vZmZzZXRUb3AmJihkLm9mZnNldC50b3A9ZC5vZmZzZXRUb3ApLGIuY2FsbChjLGQpfSl9KX0oalF1ZXJ5KTs="}},"time_used":51,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":48,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/js/jquery.fancybox.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.604Z","timestamp":1785123231604,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /js/jquery.fancybox.js HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Wed, 22 Apr 2026 17:27:39 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 34739\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":154104,"size_decoded":35063,"mime_type":"application/javascript","magic":"JavaScript source, Unicode text, UTF-8 text","md5":"6e11711058a9459a94d5a19b26a78135","sha1":"76792d5913afe035b6ccbac585b0b5e70b33aa76","sha256":"7b99eee1db728472aaa8452017a0d755f488e8d647cc0f62baf45f8ff65b95ba","sha512":"6ecbe997bc6e82fa7976a98e291ec31e043de23f0f5d06834fcc809cde8d0c3ffa0e96c734dfc0b0fbc313e405eac603540913794bb3a9a86ac56db5d2ab868a","ssdeep":"1536:26iljQs+4wETv0qwF/fwUsjuFR4amerr3txU0Me7/pby+mHWgGbAdKfW7WP83RSp:2NoETcqwF3wO/VUbZZr7WP83RSD6E3t","tlshash":"f3e3968a67bd112589333129ab8f705eb57e8423a10dd9263cad53481fc13a943f5fee","first_seen":"2023-03-07T12:02:41Z","last_seen":"2026-07-27T05:36:37.745062Z","times_seen":3430,"resource_available":true,"data":"Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLy8gZmFuY3lCb3ggdjMuMi4xMAovLwovLyBMaWNlbnNlZCBHUEx2MyBmb3Igb3BlbiBzb3VyY2UgdXNlCi8vIG9yIGZhbmN5Qm94IENvbW1lcmNpYWwgTGljZW5zZSBmb3IgY29tbWVyY2lhbCB1c2UKLy8KLy8gaHR0cDovL2ZhbmN5YXBwcy5jb20vZmFuY3lib3gvCi8vIENvcHlyaWdodCAyMDE3IGZhbmN5QXBwcwovLwovLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo7KGZ1bmN0aW9uICh3aW5kb3csIGRvY3VtZW50LCAkLCB1bmRlZmluZWQpIHsKICAgICd1c2Ugc3RyaWN0JzsKCiAgICAvLyBJZiB0aGVyZSdzIG5vIGpRdWVyeSwgZmFuY3lCb3ggY2FuJ3Qgd29yawogICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICBpZiAoICEkICkgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAvLyBDaGVjayBpZiBmYW5jeUJveCBpcyBhbHJlYWR5IGluaXRpYWxpemVkCiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgaWYgKCAkLmZuLmZhbmN5Ym94ICkgewoKICAgICAgICBpZiAoICdjb25zb2xlJyBpbiB3aW5kb3cgKSB7CiAgICAgICAgICAgIGNvbnNvbGUubG9nKCAnZmFuY3lCb3ggYWxyZWFkeSBpbml0aWFsaXplZCcgKTsKICAgICAgICB9CgogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAvLyBQcml2YXRlIGRlZmF1bHQgc2V0dGluZ3MKICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PQoKICAgIHZhciBkZWZhdWx0cyA9IHsKCiAgICAgICAgLy8gRW5hYmxlIGluZmluaXRlIGdhbGxlcnkgbmF2aWdhdGlvbgogICAgICAgIGxvb3AgOiBmYWxzZSwKCiAgICAgICAgLy8gU3BhY2UgYXJvdW5kIGltYWdlLCBpZ25vcmVkIGlmIHpvb21lZC1pbiBvciB2aWV3cG9ydCB3aWR0aCBpcyBzbWFsbGVyIHRoYW4gODAwcHgKICAgICAgICBtYXJnaW4gOiBbNDQsIDBdLAoKICAgICAgICAvLyBIb3Jpem9udGFsIHNwYWNlIGJldHdlZW4gc2xpZGVzCiAgICAgICAgZ3V0dGVyIDogNTAsCgogICAgICAgIC8vIEVuYWJsZSBrZXlib2FyZCBuYXZpZ2F0aW9uCiAgICAgICAga2V5Ym9hcmQgOiB0cnVlLAoKICAgICAgICAvLyBTaG91bGQgZGlzcGxheSBuYXZpZ2F0aW9uIGFycm93cyBhdCB0aGUgc2NyZWVuIGVkZ2VzCiAgICAgICAgYXJyb3dzIDogdHJ1ZSwKCiAgICAgICAgLy8gU2hvdWxkIGRpc3BsYXkgaW5mb2JhciAoY291bnRlciBhbmQgYXJyb3dzIGF0IHRoZSB0b3ApCiAgICAgICAgaW5mb2JhciA6IHRydWUsCgogICAgICAgIC8vIFNob3VsZCBkaXNwbGF5IHRvb2xiYXIgKGJ1dHRvbnMgYXQgdGhlIHRvcCkKICAgICAgICB0b29sYmFyIDogdHJ1ZSwKCiAgICAgICAgLy8gV2hhdCBidXR0b25zIHNob3VsZCBhcHBlYXIgaW4gdGhlIHRvcCByaWdodCBjb3JuZXIuCiAgICAgICAgLy8gQnV0dG9ucyB3aWxsIGJlIGNyZWF0ZWQgdXNpbmcgdGVtcGxhdGVzIGZyb20gYGJ0blRwbGAgb3B0aW9uCiAgICAgICAgLy8gYW5kIHRoZXkgd2lsbCBiZSBwbGFjZWQgaW50byB0b29sYmFyIChjbGFzcz0iZmFuY3lib3gtdG9vbGJhciJgIGVsZW1lbnQpCiAgICAgICAgYnV0dG9ucyA6IFsKICAgICAgICAgICAgJ3NsaWRlU2hvdycsCiAgICAgICAgICAgICdmdWxsU2NyZWVuJywKICAgICAgICAgICAgJ3RodW1icycsCiAgICAgICAgICAgICdzaGFyZScsCiAgICAgICAgICAgIC8vJ2Rvd25sb2FkJywKICAgICAgICAgICAgLy8nem9vbScsCiAgICAgICAgICAgICdjbG9zZScKICAgICAgICBdLAoKICAgICAgICAvLyBEZXRlY3QgImlkbGUiIHRpbWUgaW4gc2Vjb25kcwogICAgICAgIGlkbGVUaW1lIDogMywKCiAgICAgICAgLy8gU2hvdWxkIGRpc3BsYXkgYnV0dG9ucyBhdCB0b3AgcmlnaHQgY29ybmVyIG9mIHRoZSBjb250ZW50CiAgICAgICAgLy8gSWYgJ2F1dG8nIC0gdGhleSB3aWxsIGJlIGNyZWF0ZWQgZm9yIGNvbnRlbnQgaGF2aW5nIHR5cGUgJ2h0bWwnLCAnaW5saW5lJyBvciAnYWpheCcKICAgICAgICAvLyBVc2UgdGVtcGxhdGUgZnJvbSBgYnRuVHBsLnNtYWxsQnRuYCBmb3IgY3VzdG9taXphdGlvbgogICAgICAgIHNtYWxsQnRuIDogJ2F1dG8nLAoKICAgICAgICAvLyBEaXNhYmxlIHJpZ2h0LWNsaWNrIGFuZCB1c2Ugc2ltcGxlIGltYWdlIHByb3RlY3Rpb24gZm9yIGltYWdlcwogICAgICAgIHByb3RlY3QgOiBmYWxzZSwKCiAgICAgICAgLy8gU2hvcnRjdXQgdG8gbWFrZSBjb250ZW50ICJtb2RhbCIgLSBkaXNhYmxlIGtleWJvYXJkIG5hdmlndGlvbiwgaGlkZSBidXR0b25zLCBldGMKICAgICAgICBtb2RhbCA6IGZhbHNlLAoKICAgICAgICBpbWFnZSA6IHsKCiAgICAgICAgICAgIC8vIFdhaXQgZm9yIGltYWdlcyB0byBsb2FkIGJlZm9yZSBkaXNwbGF5aW5nCiAgICAgICAgICAgIC8vIFJlcXVpcmVzIHByZWRlZmluZWQgaW1hZ2UgZGltZW5zaW9ucwogICAgICAgICAgICAvLyBJZiAnYXV0bycgLSB3aWxsIHpvb20gaW4gdGh1bWJuYWlsIGlmICd3aWR0aCcgYW5kICdoZWlnaHQnIGF0dHJpYnV0ZXMgYXJlIGZvdW5kCiAgICAgICAgICAgIHByZWxvYWQgOiAiYXV0byIKCiAgICAgICAgfSwKCiAgICAgICAgYWpheCA6IHsKCiAgICAgICAgICAgIC8vIE9iamVjdCBjb250YWluaW5nIHNldHRpbmdzIGZvciBhamF4IHJlcXVlc3QKICAgICAgICAgICAgc2V0dGluZ3MgOiB7CgogICAgICAgICAgICAgICAgLy8gVGhpcyBoZWxwcyB0byBpbmRpY2F0ZSB0aGF0IHJlcXVlc3QgY29tZXMgZnJvbSB0aGUgbW9kYWwKICAgICAgICAgICAgICAgIC8vIEZlZWwgZnJlZSB0byBjaGFuZ2UgbmFtaW5nCiAgICAgICAgICAgICAgICBkYXRhIDogewogICAgICAgICAgICAgICAgICAgIGZhbmN5Ym94IDogdHJ1ZQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgIH0sCgogICAgICAgIGlmcmFtZSA6IHsKCiAgICAgICAgICAgIC8vIElmcmFtZSB0ZW1wbGF0ZQogICAgICAgICAgICB0cGwgOiAnPGlmcmFtZSBpZD0iZmFuY3lib3gtZnJhbWV7cm5kfSIgbmFtZT0iZmFuY3lib3gtZnJhbWV7cm5kfSIgY2xhc3M9ImZhbmN5Ym94LWlmcmFtZSIgZnJhbWVib3JkZXI9IjAiIHZzcGFjZT0iMCIgaHNwYWNlPSIwIiB3ZWJraXRBbGxvd0Z1bGxTY3JlZW4gbW96YWxsb3dmdWxsc2NyZWVuIGFsbG93RnVsbFNjcmVlbiBhbGxvd3RyYW5zcGFyZW5jeT0idHJ1ZSIgc3JjPSIiPjwvaWZyYW1lPicsCgogICAgICAgICAgICAvLyBQcmVsb2FkIGlmcmFtZSBiZWZvcmUgZGlzcGxheWluZyBpdAogICAgICAgICAgICAvLyBUaGlzIGFsbG93cyB0byBjYWxjdWxhdGUgaWZyYW1lIGNvbnRlbnQgd2lkdGggYW5kIGhlaWdodAogICAgICAgICAgICAvLyAobm90ZTogRHVlIHRvICJTYW1lIE9yaWdpbiBQb2xpY3kiLCB5b3UgY2FuJ3QgZ2V0IGNyb3NzIGRvbWFpbiBkYXRhKS4KICAgICAgICAgICAgcHJlbG9hZCA6IHRydWUsCgogICAgICAgICAgICAvLyBDdXN0b20gQ1NTIHN0eWxpbmcgZm9yIGlmcmFtZSB3cmFwcGluZyBlbGVtZW50CiAgICAgICAgICAgIC8vIFlvdSBjYW4gdXNlIHRoaXMgdG8gc2V0IGN1c3RvbSBpZnJhbWUgZGltZW5zaW9ucwogICAgICAgICAgICBjc3MgOiB7fSwKCiAgICAgICAgICAgIC8vIElmcmFtZSB0YWcgYXR0cmlidXRlcwogICAgICAgICAgICBhdHRyIDogewogICAgICAgICAgICAgICAgc2Nyb2xsaW5nIDogJ2F1dG8nCiAgICAgICAgICAgIH0KCiAgICAgICAgfSwKCiAgICAgICAgLy8gRGVmYXVsdCBjb250ZW50IHR5cGUgaWYgY2Fubm90IGJlIGRldGVjdGVkIGF1dG9tYXRpY2FsbHkKICAgICAgICBkZWZhdWx0VHlwZSA6ICdpbWFnZScsCgogICAgICAgIC8vIE9wZW4vY2xvc2UgYW5pbWF0aW9uIHR5cGUKICAgICAgICAvLyBQb3NzaWJsZSB2YWx1ZXM6CiAgICAgICAgLy8gICBmYWxzZSAgICAgICAgICAgIC0gZGlzYWJsZQogICAgICAgIC8vICAgInpvb20iICAgICAgICAgICAtIHpvb20gaW1hZ2VzIGZyb20vdG8gdGh1bWJuYWlsCiAgICAgICAgLy8gICAiZmFkZSIKICAgICAgICAvLyAgICJ6b29tLWluLW91dCIKICAgICAgICAvLwogICAgICAgIGFuaW1hdGlvbkVmZmVjdCA6ICJ6b29tIiwKCiAgICAgICAgLy8gRHVyYXRpb24gaW4gbXMgZm9yIG9wZW4vY2xvc2UgYW5pbWF0aW9uCiAgICAgICAgYW5pbWF0aW9uRHVyYXRpb24gOiA1MDAsCgogICAgICAgIC8vIFNob3VsZCBpbWFnZSBjaGFuZ2Ugb3BhY2l0eSB3aGlsZSB6b29taW5nCiAgICAgICAgLy8gSWYgb3BhY2l0eSBpcyAiYXV0byIsIHRoZW4gb3BhY2l0eSB3aWxsIGJlIGNoYW5nZWQgaWYgaW1hZ2UgYW5kIHRodW1ibmFpbCBoYXZlIGRpZmZlcmVudCBhc3BlY3QgcmF0aW9zCiAgICAgICAgem9vbU9wYWNpdHkgOiAiYXV0byIsCgogICAgICAgIC8vIFRyYW5zaXRpb24gZWZmZWN0IGJldHdlZW4gc2xpZGVzCiAgICAgICAgLy8KICAgICAgICAvLyBQb3NzaWJsZSB2YWx1ZXM6CiAgICAgICAgLy8gICBmYWxzZSAgICAgICAgICAgIC0gZGlzYWJsZQogICAgICAgIC8vICAgImZhZGUnCiAgICAgICAgLy8gICAic2xpZGUnCiAgICAgICAgLy8gICAiY2lyY3VsYXInCiAgICAgICAgLy8gICAidHViZScKICAgICAgICAvLyAgICJ6b29tLWluLW91dCcKICAgICAgICAvLyAgICJyb3RhdGUnCiAgICAgICAgLy8KICAgICAgICB0cmFuc2l0aW9uRWZmZWN0IDogImZhZGUiLAoKICAgICAgICAvLyBEdXJhdGlvbiBpbiBtcyBmb3IgdHJhbnNpdGlvbiBhbmltYXRpb24KICAgICAgICB0cmFuc2l0aW9uRHVyYXRpb24gOiAzNjYsCgogICAgICAgIC8vIEN1c3RvbSBDU1MgY2xhc3MgZm9yIHNsaWRlIGVsZW1lbnQKICAgICAgICBzbGlkZUNsYXNzIDogJycsCgogICAgICAgIC8vIEN1c3RvbSBDU1MgY2xhc3MgZm9yIGxheW91dAogICAgICAgIGJhc2VDbGFzcyA6ICcnLAoKICAgICAgICAvLyBCYXNlIHRlbXBsYXRlIGZvciBsYXlvdXQKICAgICAgICBiYXNlVHBsCToKICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImZhbmN5Ym94LWNvbnRhaW5lciIgcm9sZT0iZGlhbG9nIiB0YWJpbmRleD0iLTEiPicgKwogICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImZhbmN5Ym94LWJnIj48L2Rpdj4nICsKICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJmYW5jeWJveC1pbm5lciI+JyArCiAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImZhbmN5Ym94LWluZm9iYXIiPicgKwogICAgICAgICAgICAgICAgICAgICAgICAnPHNwYW4gZGF0YS1mYW5jeWJveC1pbmRleD48L3NwYW4+Jm5ic3A7LyZuYnNwOzxzcGFuIGRhdGEtZmFuY3lib3gtY291bnQ+PC9zcGFuPicgKwogICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nICsKICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iZmFuY3lib3gtdG9vbGJhciI+e3tidXR0b25zfX08L2Rpdj4nICsKICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iZmFuY3lib3gtbmF2aWdhdGlvbiI+e3thcnJvd3N9fTwvZGl2PicgKwogICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJmYW5jeWJveC1zdGFnZSI+PC9kaXY+JyArCiAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImZhbmN5Ym94LWNhcHRpb24td3JhcCI+PGRpdiBjbGFzcz0iZmFuY3lib3gtY2FwdGlvbiI+PC9kaXY+PC9kaXY+JyArCiAgICAgICAgICAgICAgICAnPC9kaXY+JyArCiAgICAgICAgICAgICc8L2Rpdj4nLAoKICAgICAgICAvLyBMb2FkaW5nIGluZGljYXRvciB0ZW1wbGF0ZQogICAgICAgIHNwaW5uZXJUcGwgOiAnPGRpdiBjbGFzcz0iZmFuY3lib3gtbG9hZGluZyI+PC9kaXY+JywKCiAgICAgICAgLy8gRXJyb3IgbWVzc2FnZSB0ZW1wbGF0ZQogICAgICAgIGVycm9yVHBsIDogJzxkaXYgY2xhc3M9ImZhbmN5Ym94LWVycm9yIj48cD57e0VSUk9SfX08cD48L2Rpdj4nLAoKICAgICAgICBidG5UcGwgOiB7CgogICAgICAgICAgICBkb3dubG9hZCA6ICc8YSBkb3dubG9hZCBkYXRhLWZhbmN5Ym94LWRvd25sb2FkIGNsYXNzPSJmYW5jeWJveC1idXR0b24gZmFuY3lib3gtYnV0dG9uLS1kb3dubG9hZCIgdGl0bGU9Int7RE9XTkxPQUR9fSI+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICc8c3ZnIHZpZXdCb3g9IjAgMCA0MCA0MCI+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPHBhdGggZD0iTTIwLDIzIEwyMCw4IEwyMCwyMyBMMTMsMTYgTDIwLDIzIEwyNywxNiBMMjAsMjMgTTI2LDI4IEwxMywyOCBMMjcsMjggTDE0LDI4IiAvPicgKwogICAgICAgICAgICAgICAgICAgICAgICAnPC9zdmc+JyArCiAgICAgICAgICAgICAgICAgICAgJzwvYT4nLAoKICAgICAgICAgICAgem9vbSA6ICc8YnV0dG9uIGRhdGEtZmFuY3lib3gtem9vbSBjbGFzcz0iZmFuY3lib3gtYnV0dG9uIGZhbmN5Ym94LWJ1dHRvbi0tem9vbSIgdGl0bGU9Int7Wk9PTX19Ij4nICsKICAgICAgICAgICAgICAgICAgICAgICAgJzxzdmcgdmlld0JveD0iMCAwIDQwIDQwIj4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8cGF0aCBkPSJNIDE4LDE3IG0tOCwwIGEgOCw4IDAgMSwwIDE2LDAgYSA4LDggMCAxLDAgLTE2LDAgTTI1LDIzIEwzMSwyOSBMMjUsMjMiIC8+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICc8L3N2Zz4nICsKICAgICAgICAgICAgICAgICAgICAnPC9idXR0b24+JywKCiAgICAgICAgICAgIGNsb3NlIDogJzxidXR0b24gZGF0YS1mYW5jeWJveC1jbG9zZSBjbGFzcz0iZmFuY3lib3gtYnV0dG9uIGZhbmN5Ym94LWJ1dHRvbi0tY2xvc2UiIHRpdGxlPSJ7e0NMT1NFfX0iPicgKwogICAgICAgICAgICAgICAgICAgICAgICAnPHN2ZyB2aWV3Qm94PSIwIDAgNDAgNDAiPicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxwYXRoIGQ9Ik0xMCwxMCBMMzAsMzAgTTMwLDEwIEwxMCwzMCIgLz4nICsKICAgICAgICAgICAgICAgICAgICAgICAgJzwvc3ZnPicgKwogICAgICAgICAgICAgICAgICAgICc8L2J1dHRvbj4nLAoKICAgICAgICAgICAgLy8gVGhpcyBzbWFsbCBjbG9zZSBidXR0b24gd2lsbCBiZSBhcHBlbmRlZCB0byB5b3VyIGh0bWwvaW5saW5lL2FqYXggY29udGVudCBieSBkZWZhdWx0LAogICAgICAgICAgICAvLyBpZiAic21hbGxCdG4iIG9wdGlvbiBpcyBub3Qgc2V0IHRvIGZhbHNlCiAgICAgICAgICAgIHNtYWxsQnRuICAgOiAnPGJ1dHRvbiBkYXRhLWZhbmN5Ym94LWNsb3NlIGNsYXNzPSJmYW5jeWJveC1jbG9zZS1zbWFsbCIgdGl0bGU9Int7Q0xPU0V9fSI+PC9idXR0b24+JywKCiAgICAgICAgICAgIC8vIEFycm93cwogICAgICAgICAgICBhcnJvd0xlZnQgOiAnPGJ1dHRvbiBkYXRhLWZhbmN5Ym94LXByZXYgY2xhc3M9ImZhbmN5Ym94LWJ1dHRvbiBmYW5jeWJveC1idXR0b24tLWFycm93X2xlZnQiIHRpdGxlPSJ7e1BSRVZ9fSI+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPHN2ZyB2aWV3Qm94PSIwIDAgNDAgNDAiPicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPHBhdGggZD0iTTEwLDIwIEwzMCwyMCBMMTAsMjAgTDE4LDI4IEwxMCwyMCBMMTgsMTIgTDEwLDIwIj48L3BhdGg+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPC9zdmc+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgJzwvYnV0dG9uPicsCgogICAgICAgICAgICBhcnJvd1JpZ2h0IDogJzxidXR0b24gZGF0YS1mYW5jeWJveC1uZXh0IGNsYXNzPSJmYW5jeWJveC1idXR0b24gZmFuY3lib3gtYnV0dG9uLS1hcnJvd19yaWdodCIgdGl0bGU9Int7TkVYVH19Ij4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAnPHN2ZyB2aWV3Qm94PSIwIDAgNDAgNDAiPicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxwYXRoIGQ9Ik0zMCwyMCBMMTAsMjAgTDMwLDIwIEwyMiwyOCBMMzAsMjAgTDIyLDEyIEwzMCwyMCI+PC9wYXRoPicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICc8L3N2Zz4nICsKICAgICAgICAgICAgICAgICAgICAgICAgJzwvYnV0dG9uPicKICAgICAgICB9LAoKICAgICAgICAvLyBDb250YWluZXIgaXMgaW5qZWN0ZWQgaW50byB0aGlzIGVsZW1lbnQKICAgICAgICBwYXJlbnRFbCA6ICdib2R5JywKCgogICAgICAgIC8vIEZvY3VzIGhhbmRsaW5nCiAgICAgICAgLy8gPT09PT09PT09PT09PT0KCiAgICAgICAgLy8gVHJ5IHRvIGZvY3VzIG9uIHRoZSBmaXJzdCBmb2N1c2FibGUgZWxlbWVudCBhZnRlciBvcGVuaW5nCiAgICAgICAgYXV0b0ZvY3VzIDogZmFsc2UsCgogICAgICAgIC8vIFB1dCBmb2N1cyBiYWNrIHRvIGFjdGl2ZSBlbGVtZW50IGFmdGVyIGNsb3NpbmcKICAgICAgICBiYWNrRm9jdXMgOiB0cnVlLAoKICAgICAgICAvLyBEbyBub3QgbGV0IHVzZXIgdG8gZm9jdXMgb24gZWxlbWVudCBvdXRzaWRlIG1vZGFsIGNvbnRlbnQKICAgICAgICB0cmFwRm9jdXMgOiB0cnVlLAoKCiAgICAgICAgLy8gTW9kdWxlIHNwZWNpZmljIG9wdGlvbnMKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICBmdWxsU2NyZWVuIDogewogICAgICAgICAgICBhdXRvU3RhcnQgOiBmYWxzZSwKICAgICAgICB9LAoKICAgICAgICAvLyBTZXQgYHRvdWNoOiBmYWxzZWAgdG8gZGlzYWJsZSBkcmFnZ2luZy9zd2lwaW5nCiAgICAgICAgdG91Y2ggOiB7CiAgICAgICAgICAgIHZlcnRpY2FsIDogdHJ1ZSwgIC8vIEFsbG93IHRvIGRyYWcgY29udGVudCB2ZXJ0aWNhbGx5CiAgICAgICAgICAgIG1vbWVudHVtIDogdHJ1ZSAgIC8vIENvbnRpbnVlIG1vdmVtZW50IGFmdGVyIHJlbGVhc2luZyBtb3VzZS90b3VjaCB3aGVuIHBhbm5pbmcKICAgICAgICB9LAoKICAgICAgICAvLyBIYXNoIHZhbHVlIHdoZW4gaW5pdGlhbGl6aW5nIG1hbnVhbGx5LAogICAgICAgIC8vIHNldCBgZmFsc2VgIHRvIGRpc2FibGUgaGFzaCBjaGFuZ2UKICAgICAgICBoYXNoIDogbnVsbCwKCiAgICAgICAgLy8gQ3VzdG9taXplIG9yIGFkZCBuZXcgbWVkaWEgdHlwZXMKICAgICAgICAvLyBFeGFtcGxlOgogICAgICAgIC8qCiAgICAgICAgbWVkaWEgOiB7CiAgICAgICAgICAgIHlvdXR1YmUgOiB7CiAgICAgICAgICAgICAgICBwYXJhbXMgOiB7CiAgICAgICAgICAgICAgICAgICAgYXV0b3BsYXkgOiAwCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgKi8KICAgICAgICBtZWRpYSA6IHt9LAoKICAgICAgICBzbGlkZVNob3cgOiB7CiAgICAgICAgICAgIGF1dG9TdGFydCA6IGZhbHNlLAogICAgICAgICAgICBzcGVlZCAgICAgOiA0MDAwCiAgICAgICAgfSwKCiAgICAgICAgdGh1bWJzIDogewoJCQlhdXRvU3RhcnQgICA6IGZhbHNlLCAgICAgICAgICAgICAgICAgIC8vIERpc3BsYXkgdGh1bWJuYWlscyBvbiBvcGVuaW5nCgkJCWhpZGVPbkNsb3NlIDogdHJ1ZSwgICAgICAgICAgICAgICAgICAgLy8gSGlkZSB0aHVtYm5haWwgZ3JpZCB3aGVuIGNsb3NpbmcgYW5pbWF0aW9uIHN0YXJ0cwoJCQlwYXJlbnRFbCAgICA6ICcuZmFuY3lib3gtY29udGFpbmVyJywgIC8vIENvbnRhaW5lciBpcyBpbmplY3RlZCBpbnRvIHRoaXMgZWxlbWVudAoJCQlheGlzICAgICAgICA6ICd5JyAgICAgICAgICAgICAgICAgICAgIC8vIFZlcnRpY2FsICh5KSBvciBob3Jpem9udGFsICh4KSBzY3JvbGxpbmcKCQl9LAoKICAgICAgICAvLyBVc2UgbW91c2V3aGVlbCB0byBuYXZpZ2F0ZSBnYWxsZXJ5CiAgICAgICAgLy8gSWYgJ2F1dG8nIC0gZW5hYmxlZCBmb3IgaW1hZ2VzIG9ubHkKICAgICAgICB3aGVlbCA6ICdhdXRvJywKCiAgICAgICAgLy8gQ2FsbGJhY2tzCiAgICAgICAgLy89PT09PT09PT09CgogICAgICAgIC8vIFNlZSBEb2N1bWVudGF0aW9uL0FQSS9FdmVudHMgZm9yIG1vcmUgaW5mb3JtYXRpb24KICAgICAgICAvLyBFeGFtcGxlOgogICAgICAgIC8qCiAgICAgICAgICAgIGFmdGVyU2hvdzogZnVuY3Rpb24oIGluc3RhbmNlLCBjdXJyZW50ICkgewogICAgICAgICAgICAgICAgIGNvbnNvbGUuaW5mbyggJ0NsaWNrZWQgZWxlbWVudDonICk7CiAgICAgICAgICAgICAgICAgY29uc29sZS5pbmZvKCBjdXJyZW50Lm9wdHMuJG9yaWcgKTsKICAgICAgICAgICAgfQogICAgICAgICovCgogICAgICAgIG9uSW5pdCAgICAgICA6ICQubm9vcCwgIC8vIFdoZW4gaW5zdGFuY2UgaGFzIGJlZW4gaW5pdGlhbGl6ZWQKCiAgICAgICAgYmVmb3JlTG9hZCAgIDogJC5ub29wLCAgLy8gQmVmb3JlIHRoZSBjb250ZW50IG9mIGEgc2xpZGUgaXMgYmVpbmcgbG9hZGVkCiAgICAgICAgYWZ0ZXJMb2FkICAgIDogJC5ub29wLCAgLy8gV2hlbiB0aGUgY29udGVudCBvZiBhIHNsaWRlIGlzIGRvbmUgbG9hZGluZwoKICAgICAgICBiZWZvcmVTaG93ICAgOiAkLm5vb3AsICAvLyBCZWZvcmUgb3BlbiBhbmltYXRpb24gc3RhcnRzCiAgICAgICAgYWZ0ZXJTaG93ICAgIDogJC5ub29wLCAgLy8gV2hlbiBjb250ZW50IGlzIGRvbmUgbG9hZGluZyBhbmQgYW5pbWF0aW5nCgogICAgICAgIGJlZm9yZUNsb3NlICA6ICQubm9vcCwgIC8vIEJlZm9yZSB0aGUgaW5zdGFuY2UgYXR0ZW1wdHMgdG8gY2xvc2UuIFJldHVybiBmYWxzZSB0byBjYW5jZWwgdGhlIGNsb3NlLgogICAgICAgIGFmdGVyQ2xvc2UgICA6ICQubm9vcCwgIC8vIEFmdGVyIGluc3RhbmNlIGhhcyBiZWVuIGNsb3NlZAoKICAgICAgICBvbkFjdGl2YXRlICAgOiAkLm5vb3AsICAvLyBXaGVuIGluc3RhbmNlIGlzIGJyb3VnaHQgdG8gZnJvbnQKICAgICAgICBvbkRlYWN0aXZhdGUgOiAkLm5vb3AsICAvLyBXaGVuIG90aGVyIGluc3RhbmNlIGhhcyBiZWVuIGFjdGl2YXRlZAoKCiAgICAgICAgLy8gSW50ZXJhY3Rpb24KICAgICAgICAvLyA9PT09PT09PT09PQoKICAgICAgICAvLyBVc2Ugb3B0aW9ucyBiZWxvdyB0byBjdXN0b21pemUgdGFrZW4gYWN0aW9uIHdoZW4gdXNlciBjbGlja3Mgb3IgZG91YmxlIGNsaWNrcyBvbiB0aGUgZmFuY3lCb3ggYXJlYSwKICAgICAgICAvLyBlYWNoIG9wdGlvbiBjYW4gYmUgc3RyaW5nIG9yIG1ldGhvZCB0aGF0IHJldHVybnMgdmFsdWUuCiAgICAgICAgLy8KICAgICAgICAvLyBQb3NzaWJsZSB2YWx1ZXM6CiAgICAgICAgLy8gICAiY2xvc2UiICAgICAgICAgICAtIGNsb3NlIGluc3RhbmNlCiAgICAgICAgLy8gICAibmV4dCIgICAgICAgICAgICAtIG1vdmUgdG8gbmV4dCBnYWxsZXJ5IGl0ZW0KICAgICAgICAvLyAgICJuZXh0T3JDbG9zZSIgICAgIC0gbW92ZSB0byBuZXh0IGdhbGxlcnkgaXRlbSBvciBjbG9zZSBpZiBnYWxsZXJ5IGhhcyBvbmx5IG9uZSBpdGVtCiAgICAgICAgLy8gICAidG9nZ2xlQ29udHJvbHMiICAtIHNob3cvaGlkZSBjb250cm9scwogICAgICAgIC8vICAgInpvb20iICAgICAgICAgICAgLSB6b29tIGltYWdlIChpZiBsb2FkZWQpCiAgICAgICAgLy8gICBmYWxzZSAgICAgICAgICAgICAtIGRvIG5vdGhpbmcKCiAgICAgICAgLy8gQ2xpY2tlZCBvbiB0aGUgY29udGVudAogICAgICAgIGNsaWNrQ29udGVudCA6IGZ1bmN0aW9uKCBjdXJyZW50LCBldmVudCApIHsKICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnQudHlwZSA9PT0gJ2ltYWdlJyA/ICd6b29tJyA6IGZhbHNlOwogICAgICAgIH0sCgogICAgICAgIC8vIENsaWNrZWQgb24gdGhlIHNsaWRlCiAgICAgICAgY2xpY2tTbGlkZSA6ICdjbG9zZScsCgogICAgICAgIC8vIENsaWNrZWQgb24gdGhlIGJhY2tncm91bmQgKGJhY2tkcm9wKSBlbGVtZW50CiAgICAgICAgY2xpY2tPdXRzaWRlIDogJ2Nsb3NlJywKCiAgICAgICAgLy8gU2FtZSBhcyBwcmV2aW91cyB0d28sIGJ1dCBmb3IgZG91YmxlIGNsaWNrCiAgICAgICAgZGJsY2xpY2tDb250ZW50IDogZmFsc2UsCiAgICAgICAgZGJsY2xpY2tTbGlkZSAgIDogZmFsc2UsCiAgICAgICAgZGJsY2xpY2tPdXRzaWRlIDogZmFsc2UsCgoKICAgICAgICAvLyBDdXN0b20gb3B0aW9ucyB3aGVuIG1vYmlsZSBkZXZpY2UgaXMgZGV0ZWN0ZWQKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgbW9iaWxlIDogewogICAgICAgICAgICBpZGxlVGltZSA6IGZhbHNlLAogICAgICAgICAgICBtYXJnaW4gICA6IDAsCgogICAgICAgICAgICBjbGlja0NvbnRlbnQgOiBmdW5jdGlvbiggY3VycmVudCwgZXZlbnQgKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gY3VycmVudC50eXBlID09PSAnaW1hZ2UnID8gJ3RvZ2dsZUNvbnRyb2xzJyA6IGZhbHNlOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjbGlja1NsaWRlIDogZnVuY3Rpb24oIGN1cnJlbnQsIGV2ZW50ICkgewogICAgICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnQudHlwZSA9PT0gJ2ltYWdlJyA/ICd0b2dnbGVDb250cm9scycgOiAnY2xvc2UnOwogICAgICAgICAgICB9LAogICAgICAgICAgICBkYmxjbGlja0NvbnRlbnQgOiBmdW5jdGlvbiggY3VycmVudCwgZXZlbnQgKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gY3VycmVudC50eXBlID09PSAnaW1hZ2UnID8gJ3pvb20nIDogZmFsc2U7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGRibGNsaWNrU2xpZGUgOiBmdW5jdGlvbiggY3VycmVudCwgZXZlbnQgKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gY3VycmVudC50eXBlID09PSAnaW1hZ2UnID8gJ3pvb20nIDogZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICB9LAoKCiAgICAgICAgLy8gSW50ZXJuYXRpb25hbGl6YXRpb24KICAgICAgICAvLyA9PT09PT09PT09PT0KCiAgICAgICAgbGFuZyA6ICdlbicsCiAgICAgICAgaTE4biA6IHsKICAgICAgICAgICAgJ2VuJyA6IHsKICAgICAgICAgICAgICAgIENMT1NFICAgICAgIDogJ0Nsb3NlJywKICAgICAgICAgICAgICAgIE5FWFQgICAgICAgIDogJ05leHQnLAogICAgICAgICAgICAgICAgUFJFViAgICAgICAgOiAnUHJldmlvdXMnLAogICAgICAgICAgICAgICAgRVJST1IgICAgICAgOiAnVGhlIHJlcXVlc3RlZCBjb250ZW50IGNhbm5vdCBiZSBsb2FkZWQuIDxici8+IFBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuJywKICAgICAgICAgICAgICAgIFBMQVlfU1RBUlQgIDogJ1N0YXJ0IHNsaWRlc2hvdycsCiAgICAgICAgICAgICAgICBQTEFZX1NUT1AgICA6ICdQYXVzZSBzbGlkZXNob3cnLAogICAgICAgICAgICAgICAgRlVMTF9TQ1JFRU4gOiAnRnVsbCBzY3JlZW4nLAogICAgICAgICAgICAgICAgVEhVTUJTICAgICAgOiAnVGh1bWJuYWlscycsCiAgICAgICAgICAgICAgICBET1dOTE9BRCAgICA6ICdEb3dubG9hZCcsCiAgICAgICAgICAgICAgICBTSEFSRSAgICAgICA6ICdTaGFyZScsCiAgICAgICAgICAgICAgICBaT09NICAgICAgICA6ICdab29tJwogICAgICAgICAgICB9LAogICAgICAgICAgICAnZGUnIDogewogICAgICAgICAgICAgICAgQ0xPU0UgICAgICAgOiAnU2NobGllc3NlbicsCiAgICAgICAgICAgICAgICBORVhUICAgICAgICA6ICdXZWl0ZXInLAogICAgICAgICAgICAgICAgUFJFViAgICAgICAgOiAnWnVyw7xjaycsCiAgICAgICAgICAgICAgICBFUlJPUiAgICAgICA6ICdEaWUgYW5nZWZvcmRlcnRlbiBEYXRlbiBrb25udGVuIG5pY2h0IGdlbGFkZW4gd2VyZGVuLiA8YnIvPiBCaXR0ZSB2ZXJzdWNoZW4gU2llIGVzIHNww6R0ZXIgbm9jaG1hbC4nLAogICAgICAgICAgICAgICAgUExBWV9TVEFSVCAgOiAnRGlhc2NoYXUgc3RhcnRlbicsCiAgICAgICAgICAgICAgICBQTEFZX1NUT1AgICA6ICdEaWFzY2hhdSBiZWVuZGVuJywKICAgICAgICAgICAgICAgIEZVTExfU0NSRUVOIDogJ1ZvbGxiaWxkJywKICAgICAgICAgICAgICAgIFRIVU1CUyAgICAgIDogJ1ZvcnNjaGF1YmlsZGVyJywKICAgICAgICAgICAgICAgIERPV05MT0FEICAgIDogJ0hlcnVudGVybGFkZW4nLAogICAgICAgICAgICAgICAgU0hBUkUgICAgICAgOiAnVGVpbGVuJywKICAgICAgICAgICAgICAgIFpPT00gICAgICAgIDogJ01hw59zdGFiJwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgIH07CgogICAgLy8gRmV3IHVzZWZ1bCB2YXJpYWJsZXMgYW5kIG1ldGhvZHMKICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgdmFyICRXID0gJCh3aW5kb3cpOwogICAgdmFyICREID0gJChkb2N1bWVudCk7CgogICAgdmFyIGNhbGxlZCA9IDA7CgoKICAgIC8vIENoZWNrIGlmIGFuIG9iamVjdCBpcyBhIGpRdWVyeSBvYmplY3QgYW5kIG5vdCBhIG5hdGl2ZSBKYXZhU2NyaXB0IG9iamVjdAogICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgdmFyIGlzUXVlcnkgPSBmdW5jdGlvbiAoIG9iaiApIHsKICAgICAgICByZXR1cm4gb2JqICYmIG9iai5oYXNPd25Qcm9wZXJ0eSAmJiBvYmogaW5zdGFuY2VvZiAkOwogICAgfTsKCgogICAgLy8gSGFuZGxlIG11bHRpcGxlIGJyb3dzZXJzIGZvciAicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiBhbmQgImNhbmNlbEFuaW1hdGlvbkZyYW1lIgogICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgIHZhciByZXF1ZXN0QUZyYW1lID0gKGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSB8fAogICAgICAgICAgICAgICAgd2luZG93LndlYmtpdFJlcXVlc3RBbmltYXRpb25GcmFtZSB8fAogICAgICAgICAgICAgICAgd2luZG93Lm1velJlcXVlc3RBbmltYXRpb25GcmFtZSB8fAogICAgICAgICAgICAgICAgd2luZG93Lm9SZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHwKICAgICAgICAgICAgICAgIC8vIGlmIGFsbCBlbHNlIGZhaWxzLCB1c2Ugc2V0VGltZW91dAogICAgICAgICAgICAgICAgZnVuY3Rpb24gKGNhbGxiYWNrKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHdpbmRvdy5zZXRUaW1lb3V0KGNhbGxiYWNrLCAxMDAwIC8gNjApOwogICAgICAgICAgICAgICAgfTsKICAgIH0pKCk7CgoKICAgIC8vIERldGVjdCB0aGUgc3VwcG9ydGVkIHRyYW5zaXRpb24tZW5kIGV2ZW50IHByb3BlcnR5IG5hbWUKICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICB2YXIgdHJhbnNpdGlvbkVuZCA9IChmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHQsIGVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZmFrZWVsZW1lbnQiKTsKCiAgICAgICAgdmFyIHRyYW5zaXRpb25zID0gewogICAgICAgICAgICAidHJhbnNpdGlvbiIgICAgICA6ICJ0cmFuc2l0aW9uZW5kIiwKICAgICAgICAgICAgIk9UcmFuc2l0aW9uIiAgICAgOiAib1RyYW5zaXRpb25FbmQiLAogICAgICAgICAgICAiTW96VHJhbnNpdGlvbiIgICA6ICJ0cmFuc2l0aW9uZW5kIiwKICAgICAgICAgICAgIldlYmtpdFRyYW5zaXRpb24iOiAid2Via2l0VHJhbnNpdGlvbkVuZCIKICAgICAgICB9OwoKICAgICAgICBmb3IgKHQgaW4gdHJhbnNpdGlvbnMpIHsKICAgICAgICAgICAgaWYgKGVsLnN0eWxlW3RdICE9PSB1bmRlZmluZWQpewogICAgICAgICAgICAgICAgcmV0dXJuIHRyYW5zaXRpb25zW3RdOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJ3RyYW5zaXRpb25lbmQnOwogICAgfSkoKTsKCgogICAgLy8gRm9yY2UgcmVkcmF3IG9uIGFuIGVsZW1lbnQuCiAgICAvLyBUaGlzIGhlbHBzIGluIGNhc2VzIHdoZXJlIHRoZSBicm93c2VyIGRvZXNuJ3QgcmVkcmF3IGFuIHVwZGF0ZWQgZWxlbWVudCBwcm9wZXJseS4KICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgIHZhciBmb3JjZVJlZHJhdyA9IGZ1bmN0aW9uKCAkZWwgKSB7CiAgICAgICAgcmV0dXJuICggJGVsICYmICRlbC5sZW5ndGggJiYgJGVsWzBdLm9mZnNldEhlaWdodCApOwogICAgfTsKCgogICAgLy8gQ2xhc3MgZGVmaW5pdGlvbgogICAgLy8gPT09PT09PT09PT09PT09PQoKICAgIHZhciBGYW5jeUJveCA9IGZ1bmN0aW9uKCBjb250ZW50LCBvcHRzLCBpbmRleCApIHsKICAgICAgICB2YXIgc2VsZiA9IHRoaXM7CgogICAgICAgIHNlbGYub3B0cyA9ICQuZXh0ZW5kKCB0cnVlLCB7IGluZGV4IDogaW5kZXggfSwgJC5mYW5jeWJveC5kZWZhdWx0cywgb3B0cyB8fCB7fSApOwoKICAgICAgICBpZiAoICQuZmFuY3lib3guaXNNb2JpbGUgKSB7CiAgICAgICAgICAgIHNlbGYub3B0cyA9ICQuZXh0ZW5kKCB0cnVlLCB7fSwgc2VsZi5vcHRzLCBzZWxmLm9wdHMubW9iaWxlICk7CiAgICAgICAgfQoKICAgICAgICAvLyBFeGNsdWRlIGJ1dHRvbnMgb3B0aW9uIGZyb20gZGVlcCBtZXJnaW5nCiAgICAgICAgaWYgKCBvcHRzICYmICQuaXNBcnJheSggb3B0cy5idXR0b25zICkgKSB7CiAgICAgICAgICAgIHNlbGYub3B0cy5idXR0b25zID0gb3B0cy5idXR0b25zOwogICAgICAgIH0KCiAgICAgICAgc2VsZi5pZCAgICA9IHNlbGYub3B0cy5pZCB8fCArK2NhbGxlZDsKICAgICAgICBzZWxmLmdyb3VwID0gW107CgogICAgICAgIHNlbGYuY3VyckluZGV4ID0gcGFyc2VJbnQoIHNlbGYub3B0cy5pbmRleCwgMTAgKSB8fCAwOwogICAgICAgIHNlbGYucHJldkluZGV4ID0gbnVsbDsKCiAgICAgICAgc2VsZi5wcmV2UG9zID0gbnVsbDsKICAgICAgICBzZWxmLmN1cnJQb3MgPSAwOwoKICAgICAgICBzZWxmLmZpcnN0UnVuID0gbnVsbDsKCiAgICAgICAgLy8gQ3JlYXRlIGdyb3VwIGVsZW1lbnRzIGZyb20gb3JpZ2luYWwgaXRlbSBjb2xsZWN0aW9uCiAgICAgICAgc2VsZi5jcmVhdGVHcm91cCggY29udGVudCApOwoKICAgICAgICBpZiAoICFzZWxmLmdyb3VwLmxlbmd0aCApIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgLy8gU2F2ZSBsYXN0IGFjdGl2ZSBlbGVtZW50IGFuZCBjdXJyZW50IHNjcm9sbCBwb3NpdGlvbgogICAgICAgIHNlbGYuJGxhc3RGb2N1cyA9ICQoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkuYmx1cigpOwoKICAgICAgICAvLyBDb2xsZWN0aW9uIG9mIGdhbGxlcnkgb2JqZWN0cwogICAgICAgIHNlbGYuc2xpZGVzID0ge307CgogICAgICAgIHNlbGYuaW5pdCgpOwogICAgfTsKCiAgICAkLmV4dGVuZChGYW5jeUJveC5wcm90b3R5cGUsIHsKCiAgICAgICAgLy8gQ3JlYXRlIERPTSBzdHJ1Y3R1cmUKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PQoKICAgICAgICBpbml0IDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciBzZWxmID0gdGhpcywKICAgICAgICAgICAgICAgIGZpcnN0SXRlbSAgICAgID0gc2VsZi5ncm91cFsgc2VsZi5jdXJySW5kZXggXSwKICAgICAgICAgICAgICAgIGZpcnN0SXRlbU9wdHMgID0gZmlyc3RJdGVtLm9wdHMsCiAgICAgICAgICAgICAgICBzY3JvbGxiYXJXaWR0aCA9ICQuZmFuY3lib3guc2Nyb2xsYmFyV2lkdGgsCiAgICAgICAgICAgICAgICAkc2Nyb2xsRGl2LAogICAgICAgICAgICAgICAgJGNvbnRhaW5lciwKICAgICAgICAgICAgICAgIGJ1dHRvblN0cjsKCiAgICAgICAgICAgIHNlbGYuc2Nyb2xsVG9wICA9ICRELnNjcm9sbFRvcCgpOwogICAgICAgICAgICBzZWxmLnNjcm9sbExlZnQgPSAkRC5zY3JvbGxMZWZ0KCk7CgoKICAgICAgICAgICAgLy8gSGlkZSBzY3JvbGxiYXJzCiAgICAgICAgICAgIC8vID09PT09PT09PT09PT09PQoKICAgICAgICAgICAgaWYgKCAhJC5mYW5jeWJveC5nZXRJbnN0YW5jZSgpICkgewoKICAgICAgICAgICAgICAgICQoICdib2R5JyApLmFkZENsYXNzKCAnZmFuY3lib3gtYWN0aXZlJyApOwoKICAgICAgICAgICAgICAgIC8vIGlPUyBoYWNrCiAgICAgICAgICAgICAgICBpZiAoIC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpICYmICF3aW5kb3cuTVNTdHJlYW0gKSB7CgogICAgICAgICAgICAgICAgICAgIC8vIGlPUyBoYXMgcHJvYmxlbXMgZm9yIGlucHV0IGVsZW1lbnRzIGluc2lkZSBmaXhlZCBjb250YWluZXJzLAogICAgICAgICAgICAgICAgICAgIC8vIHRoZSB3b3JrYXJvdW5kIGlzIHRvIGFwcGx5IGBwb3NpdGlvbjogZml4ZWRgIHRvIGA8Ym9keT5gIGVsZW1lbnQsCiAgICAgICAgICAgICAgICAgICAgLy8gdW5mb3J0dW5hdGVseSwgdGhpcyBtYWtlcyBpdCBsb3NlIHRoZSBzY3JvbGxiYXJzIGFuZCBmb3JjZXMgYWRkcmVzcyBiYXIgdG8gYXBwZWFyLgoKICAgICAgICAgICAgICAgICAgICBpZiAoIGZpcnN0SXRlbS50eXBlICE9PSAnaW1hZ2UnICkgewogICAgICAgICAgICAgICAgICAgICAgICAkKCAnYm9keScgKS5jc3MoICd0b3AnLCAkKCAnYm9keScgKS5zY3JvbGxUb3AoKSAqIC0xICkuYWRkQ2xhc3MoICdmYW5jeWJveC1pb3NmaXgnICk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoICEkLmZhbmN5Ym94LmlzTW9iaWxlICYmIGRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0ID4gd2luZG93LmlubmVySGVpZ2h0ICkgewoKICAgICAgICAgICAgICAgICAgICBpZiAoIHNjcm9sbGJhcldpZHRoID09PSB1bmRlZmluZWQgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRzY3JvbGxEaXYgPSAkKCc8ZGl2IHN0eWxlPSJ3aWR0aDo1MHB4O2hlaWdodDo1MHB4O292ZXJmbG93OnNjcm9sbDsiIC8+JykuYXBwZW5kVG8oICdib2R5JyApOwoKICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsYmFyV2lkdGggPSAkLmZhbmN5Ym94LnNjcm9sbGJhcldpZHRoID0gJHNjcm9sbERpdlswXS5vZmZzZXRXaWR0aCAtICRzY3JvbGxEaXZbMF0uY2xpZW50V2lkdGg7CgogICAgICAgICAgICAgICAgICAgICAgICAkc2Nyb2xsRGl2LnJlbW92ZSgpOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgJCggJ2hlYWQnICkuYXBwZW5kKCAnPHN0eWxlIGlkPSJmYW5jeWJveC1zdHlsZS1ub3Njcm9sbCIgdHlwZT0idGV4dC9jc3MiPi5jb21wZW5zYXRlLWZvci1zY3JvbGxiYXIgeyBtYXJnaW4tcmlnaHQ6ICcgKyBzY3JvbGxiYXJXaWR0aCArICdweDsgfTwvc3R5bGU+JyApOwogICAgICAgICAgICAgICAgICAgICQoICdib2R5JyApLmFkZENsYXNzKCAnY29tcGVuc2F0ZS1mb3Itc2Nyb2xsYmFyJyApOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgoKICAgICAgICAgICAgLy8gQnVpbGQgaHRtbCBtYXJrdXAgYW5kIHNldCByZWZlcmVuY2VzCiAgICAgICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICAgICAgLy8gQnVpbGQgaHRtbCBjb2RlIGZvciBidXR0b25zIGFuZCBpbnNlcnQgaW50byBtYWluIHRlbXBsYXRlCiAgICAgICAgICAgIGJ1dHRvblN0ciA9ICcnOwoKICAgICAgICAgICAgJC5lYWNoKCBmaXJzdEl0ZW1PcHRzLmJ1dHRvbnMsIGZ1bmN0aW9uKCBpbmRleCwgdmFsdWUgKSB7CiAgICAgICAgICAgICAgICBidXR0b25TdHIgKz0gKCBmaXJzdEl0ZW1PcHRzLmJ0blRwbFsgdmFsdWUgXSB8fCAnJyApOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIENyZWF0ZSBtYXJrdXAgZnJvbSBiYXNlIHRlbXBsYXRlLCBpdCB3aWxsIGJlIGluaXRpYWxseSBoaWRkZW4gdG8KICAgICAgICAgICAgLy8gYXZvaWQgdW5uZWNlc3Nhcnkgd29yayBsaWtlIHBhaW50aW5nIHdoaWxlIGluaXRpYWxpemluZyBpcyBub3QgY29tcGxldGUKICAgICAgICAgICAgJGNvbnRhaW5lciA9ICQoCiAgICAgICAgICAgICAgICBzZWxmLnRyYW5zbGF0ZSggc2VsZiwKICAgICAgICAgICAgICAgICAgICBmaXJzdEl0ZW1PcHRzLmJhc2VUcGwKICAgICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoICdce1x7YnV0dG9uc1x9XH0nLCBidXR0b25TdHIgKQogICAgICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSggJ1x7XHthcnJvd3NcfVx9JywgZmlyc3RJdGVtT3B0cy5idG5UcGwuYXJyb3dMZWZ0ICsgZmlyc3RJdGVtT3B0cy5idG5UcGwuYXJyb3dSaWdodCApCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICAgICAgICAgIC5hdHRyKCAnaWQnLCAnZmFuY3lib3gtY29udGFpbmVyLScgKyBzZWxmLmlkICkKICAgICAgICAgICAgICAgIC5hZGRDbGFzcyggJ2ZhbmN5Ym94LWlzLWhpZGRlbicgKQogICAgICAgICAgICAgICAgLmFkZENsYXNzKCBmaXJzdEl0ZW1PcHRzLmJhc2VDbGFzcyApCiAgICAgICAgICAgICAgICAuZGF0YSggJ0ZhbmN5Qm94Jywgc2VsZiApCiAgICAgICAgICAgICAgICAuYXBwZW5kVG8oIGZpcnN0SXRlbU9wdHMucGFyZW50RWwgKTsKCiAgICAgICAgICAgIC8vIENyZWF0ZSBvYmplY3QgaG9sZGluZyByZWZlcmVuY2VzIHRvIGpRdWVyeSB3cmFwcGVkIG5vZGVzCiAgICAgICAgICAgIHNlbGYuJHJlZnMgPSB7CiAgICAgICAgICAgICAgICBjb250YWluZXIgOiAkY29udGFpbmVyCiAgICAgICAgICAgIH07CgogICAgICAgICAgICBbICdiZycsICdpbm5lcicsICdpbmZvYmFyJywgJ3Rvb2xiYXInLCAnc3RhZ2UnLCAnY2FwdGlvbicsICduYXZpZ2F0aW9uJyBdLmZvckVhY2goZnVuY3Rpb24oaXRlbSkgewogICAgICAgICAgICAgICAgc2VsZi4kcmVmc1sgaXRlbSBdID0gJGNvbnRhaW5lci5maW5kKCAnLmZhbmN5Ym94LScgKyBpdGVtICk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgc2VsZi50cmlnZ2VyKCAnb25Jbml0JyApOwoKICAgICAgICAgICAgLy8gRW5hYmxlIGV2ZW50cywgZGVhY3RpdmUgcHJldmlvdXMgaW5zdGFuY2VzCiAgICAgICAgICAgIHNlbGYuYWN0aXZhdGUoKTsKCiAgICAgICAgICAgIC8vIEJ1aWxkIHNsaWRlcywgbG9hZCBhbmQgcmV2ZWFsIGNvbnRlbnQKICAgICAgICAgICAgc2VsZi5qdW1wVG8oIHNlbGYuY3VyckluZGV4ICk7CiAgICAgICAgfSwKCgogICAgICAgIC8vIFNpbXBsZSBpMThuIHN1cHBvcnQgLSByZXBsYWNlcyBvYmplY3Qga2V5cyBmb3VuZCBpbiB0ZW1wbGF0ZQogICAgICAgIC8vIHdpdGggY29ycmVzcG9uZGluZyB2YWx1ZXMKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgdHJhbnNsYXRlIDogZnVuY3Rpb24oIG9iaiwgc3RyICkgewogICAgICAgICAgICB2YXIgYXJyID0gb2JqLm9wdHMuaTE4blsgb2JqLm9wdHMubGFuZyBdOwoKICAgICAgICAgICAgcmV0dXJuIHN0ci5yZXBsYWNlKC9ce1x7KFx3KylcfVx9L2csIGZ1bmN0aW9uKG1hdGNoLCBuKSB7CiAgICAgICAgICAgICAgICB2YXIgdmFsdWUgPSBhcnJbbl07CgogICAgICAgICAgICAgICAgaWYgKCB2YWx1ZSA9PT0gdW5kZWZpbmVkICkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBtYXRjaDsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7CiAgICAgICAgICAgIH0pOwogICAgICAgIH0sCgogICAgICAgIC8vIENyZWF0ZSBhcnJheSBvZiBnYWxseSBpdGVtIG9iamVjdHMKICAgICAgICAvLyBDaGVjayBpZiBlYWNoIG9iamVjdCBoYXMgdmFsaWQgdHlwZSBhbmQgY29udGVudAogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIGNyZWF0ZUdyb3VwIDogZnVuY3Rpb24gKCBjb250ZW50ICkgewogICAgICAgICAgICB2YXIgc2VsZiAgPSB0aGlzOwogICAgICAgICAgICB2YXIgaXRlbXMgPSAkLm1ha2VBcnJheSggY29udGVudCApOwoKICAgICAgICAgICAgJC5lYWNoKGl0ZW1zLCBmdW5jdGlvbiggaSwgaXRlbSApIHsKICAgICAgICAgICAgICAgIHZhciBvYmogID0ge30sCiAgICAgICAgICAgICAgICAgICAgb3B0cyA9IHt9LAogICAgICAgICAgICAgICAgICAgICRpdGVtLAogICAgICAgICAgICAgICAgICAgIHR5cGUsCiAgICAgICAgICAgICAgICAgICAgZm91bmQsCiAgICAgICAgICAgICAgICAgICAgc3JjLAogICAgICAgICAgICAgICAgICAgIHNyY1BhcnRzOwoKICAgICAgICAgICAgICAgIC8vIFN0ZXAgMSAtIE1ha2Ugc3VyZSB3ZSBoYXZlIGFuIG9iamVjdAogICAgICAgICAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgICAgICAgICAgaWYgKCAkLmlzUGxhaW5PYmplY3QoIGl0ZW0gKSApIHsKCiAgICAgICAgICAgICAgICAgICAgLy8gV2UgcHJvYmFibHkgaGF2ZSBtYW51YWwgdXNhZ2UgaGVyZSwgc29tZXRoaW5nIGxpa2UKICAgICAgICAgICAgICAgICAgICAvLyAkLmZhbmN5Ym94Lm9wZW4oIFsgeyBzcmMgOiAiaW1hZ2UuanBnIiwgdHlwZSA6ICJpbWFnZSIgfSBdICkKCiAgICAgICAgICAgICAgICAgICAgb2JqICA9IGl0ZW07CiAgICAgICAgICAgICAgICAgICAgb3B0cyA9IGl0ZW0ub3B0cyB8fCBpdGVtOwoKICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoICQudHlwZSggaXRlbSApID09PSAnb2JqZWN0JyAmJiAkKCBpdGVtICkubGVuZ3RoICkgewoKICAgICAgICAgICAgICAgICAgICAvLyBIZXJlIHdlIHByb2JhYmx5IGhhdmUgalF1ZXJ5IGNvbGxlY3Rpb24gcmV0dXJuZWQgYnkgc29tZSBzZWxlY3RvcgogICAgICAgICAgICAgICAgICAgICRpdGVtID0gJCggaXRlbSApOwoKICAgICAgICAgICAgICAgICAgICBvcHRzID0gJGl0ZW0uZGF0YSgpOwogICAgICAgICAgICAgICAgICAgIG9wdHMgPSAkLmV4dGVuZCgge30sIG9wdHMsIG9wdHMub3B0aW9ucyB8fCB7fSApOwoKICAgICAgICAgICAgICAgICAgICAvLyBIZXJlIHdlIHN0b3JlIGNsaWNrZWQgZWxlbWVudAogICAgICAgICAgICAgICAgICAgIG9wdHMuJG9yaWcgPSAkaXRlbTsKCiAgICAgICAgICAgICAgICAgICAgb2JqLnNyYyA9IG9wdHMuc3JjIHx8ICRpdGVtLmF0dHIoICdocmVmJyApOwoKICAgICAgICAgICAgICAgICAgICAvLyBBc3N1bWUgdGhhdCBzaW1wbGUgc3ludGF4IGlzIHVzZWQsIGZvciBleGFtcGxlOgogICAgICAgICAgICAgICAgICAgIC8vICAgYCQuZmFuY3lib3gub3BlbiggJCgiI3Rlc3QiKSwge30gKTtgCiAgICAgICAgICAgICAgICAgICAgaWYgKCAhb2JqLnR5cGUgJiYgIW9iai5zcmMgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG9iai50eXBlID0gJ2lubGluZSc7CiAgICAgICAgICAgICAgICAgICAgICAgIG9iai5zcmMgID0gaXRlbTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgfSBlbHNlIHsKCiAgICAgICAgICAgICAgICAgICAgLy8gQXNzdW1lIHdlIGhhdmUgYSBzaW1wbGUgaHRtbCBjb2RlLCBmb3IgZXhhbXBsZToKICAgICAgICAgICAgICAgICAgICAvLyAgICQuZmFuY3lib3gub3BlbiggJzxkaXY+PGgxPkhpITwvaDE+PC9kaXY+JyApOwoKICAgICAgICAgICAgICAgICAgICBvYmogPSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUgOiAnaHRtbCcsCiAgICAgICAgICAgICAgICAgICAgICAgIHNyYyAgOiBpdGVtICsgJycKICAgICAgICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvLyBFYWNoIGdhbGxlcnkgb2JqZWN0IGhhcyBmdWxsIGNvbGxlY3Rpb24gb2Ygb3B0aW9ucwogICAgICAgICAgICAgICAgb2JqLm9wdHMgPSAkLmV4dGVuZCggdHJ1ZSwge30sIHNlbGYub3B0cywgb3B0cyApOwoKICAgICAgICAgICAgICAgIC8vIERvIG5vdCBtZXJnZSBidXR0b25zIGFycmF5CiAgICAgICAgICAgICAgICBpZiAoICQuaXNBcnJheSggb3B0cy5idXR0b25zICkgKSB7CiAgICAgICAgICAgICAgICAgICAgb2JqLm9wdHMuYnV0dG9ucyA9IG9wdHMuYnV0dG9uczsKICAgICAgICAgICAgICAgIH0KCgogICAgICAgICAgICAgICAgLy8gU3RlcCAyIC0gTWFrZSBzdXJlIHdlIGhhdmUgY29udGVudCB0eXBlLCBpZiBub3QgLSB0cnkgdG8gZ3Vlc3MKICAgICAgICAgICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgICAgICAgICAgdHlwZSA9IG9iai50eXBlIHx8IG9iai5vcHRzLnR5cGU7CiAgICAgICAgICAgICAgICBzcmMgID0gb2JqLnNyYyB8fCAnJzsKCiAgICAgICAgICAgICAgICBpZiAoICF0eXBlICYmIHNyYyApIHsKICAgICAgICAgICAgICAgICAgICBpZiAoIHNyYy5tYXRjaCgvKF5kYXRhOmltYWdlXC9bYS16MC05K1wvPV0qLCl8KFwuKGpwKGV8Z3xlZyl8Z2lmfHBuZ3xibXB8d2VicHxzdmd8aWNvKSgoXD98IykuKik/JCkvaSkgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUgPSAnaW1hZ2UnOwoKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCBzcmMubWF0Y2goL1wuKHBkZikoKFw/fCMpLiopPyQvaSkgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUgPSAncGRmJzsKCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICggZm91bmQgPSBzcmMubWF0Y2goL1wuKG1wNHxtb3Z8b2d2KSgoXD98IykuKik/JC9pKSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSA9ICd2aWRlbyc7CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoICFvYmoub3B0cy52aWRlb0Zvcm1hdCApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5vcHRzLnZpZGVvRm9ybWF0ID0gJ3ZpZGVvLycgKyAoIGZvdW5kWzFdID09PSAnb2d2JyA/ICdvZ2cnIDogZm91bmRbMV0gKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCBzcmMuY2hhckF0KDApID09PSAnIycgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUgPSAnaW5saW5lJzsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKCB0eXBlICkgewogICAgICAgICAgICAgICAgICAgIG9iai50eXBlID0gdHlwZTsKCiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHNlbGYudHJpZ2dlciggJ29iamVjdE5lZWRzVHlwZScsIG9iaiApOwogICAgICAgICAgICAgICAgfQoKCiAgICAgICAgICAgICAgICAvLyBTdGVwIDMgLSBTb21lIGFkanVzdG1lbnRzCiAgICAgICAgICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgICAgICAgICAgb2JqLmluZGV4ID0gc2VsZi5ncm91cC5sZW5ndGg7CgogICAgICAgICAgICAgICAgLy8gQ2hlY2sgaWYgJG9yaWcgYW5kICR0aHVtYiBvYmplY3RzIGV4aXN0CiAgICAgICAgICAgICAgICBpZiAoIG9iai5vcHRzLiRvcmlnICYmICFvYmoub3B0cy4kb3JpZy5sZW5ndGggKSB7CiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIG9iai5vcHRzLiRvcmlnOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmICggIW9iai5vcHRzLiR0aHVtYiAmJiBvYmoub3B0cy4kb3JpZyApIHsKICAgICAgICAgICAgICAgICAgICBvYmoub3B0cy4kdGh1bWIgPSBvYmoub3B0cy4kb3JpZy5maW5kKCAnaW1nOmZpcnN0JyApOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmICggb2JqLm9wdHMuJHRodW1iICYmICFvYmoub3B0cy4kdGh1bWIubGVuZ3RoICkgewogICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmoub3B0cy4kdGh1bWI7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gImNhcHRpb24iIGlzIGEgInNwZWNpYWwiIG9wdGlvbiwgaXQgY2FuIGJlIHVzZWQgdG8gY3VzdG9taXplIGNhcHRpb24gcGVyIGdhbGxlcnkgaXRlbSAuLgogICAgICAgICAgICAgICAgaWYgKCAkLnR5cGUoIG9iai5vcHRzLmNhcHRpb24gKSA9PT0gJ2Z1bmN0aW9uJyApIHsKICAgICAgICAgICAgICAgICAgICBvYmoub3B0cy5jYXB0aW9uID0gb2JqLm9wdHMuY2FwdGlvbi5hcHBseSggaXRlbSwgWyBzZWxmLCBvYmogXSApOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmICggJC50eXBlKCBzZWxmLm9wdHMuY2FwdGlvbiApID09PSAnZnVuY3Rpb24nICkgewogICAgICAgICAgICAgICAgICAgIG9iai5vcHRzLmNhcHRpb24gPSBzZWxmLm9wdHMuY2FwdGlvbi5hcHBseSggaXRlbSwgWyBzZWxmLCBvYmogXSApOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSB3ZSBoYXZlIGNhcHRpb24gYXMgYSBzdHJpbmcgb3IgalF1ZXJ5IG9iamVjdAogICAgICAgICAgICAgICAgaWYgKCAhKCBvYmoub3B0cy5jYXB0aW9uIGluc3RhbmNlb2YgJCApICkgewogICAgICAgICAgICAgICAgICAgIG9iai5vcHRzLmNhcHRpb24gPSBvYmoub3B0cy5jYXB0aW9uID09PSB1bmRlZmluZWQgPyAnJyA6IG9iai5vcHRzLmNhcHRpb24gKyAnJzsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiB1cmwgY29udGFpbnMgImZpbHRlciIgdXNlZCB0byBmaWx0ZXIgdGhlIGNvbnRlbnQKICAgICAgICAgICAgICAgIC8vIEV4YW1wbGU6ICJhamF4Lmh0bWwgI3NvbWV0aGluZyIKICAgICAgICAgICAgICAgIGlmICggdHlwZSA9PT0gJ2FqYXgnICkgewogICAgICAgICAgICAgICAgICAgIHNyY1BhcnRzID0gc3JjLnNwbGl0KC9ccysvLCAyKTsKCiAgICAgICAgICAgICAgICAgICAgaWYgKCBzcmNQYXJ0cy5sZW5ndGggPiAxICkgewogICAgICAgICAgICAgICAgICAgICAgICBvYmouc3JjID0gc3JjUGFydHMuc2hpZnQoKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIG9iai5vcHRzLmZpbHRlciA9IHNyY1BhcnRzLnNoaWZ0KCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmICggb2JqLm9wdHMuc21hbGxCdG4gPT0gJ2F1dG8nICkgewoKICAgICAgICAgICAgICAgICAgICBpZiAoICQuaW5BcnJheSggdHlwZSwgWydodG1sJywgJ2lubGluZScsICdhamF4J10gKSA+IC0xICkgewogICAgICAgICAgICAgICAgICAgICAgICBvYmoub3B0cy50b29sYmFyICA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICBvYmoub3B0cy5zbWFsbEJ0biA9IHRydWU7CgogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG9iai5vcHRzLnNtYWxsQnRuID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvLyBJZiB0aGUgdHlwZSBpcyAicGRmIiwgdGhlbiBzaW1wbHkgbG9hZCBmaWxlIGludG8gaWZyYW1lCiAgICAgICAgICAgICAgICBpZiAoIHR5cGUgPT09ICdwZGYnICkgewogICAgICAgICAgICAgICAgICAgIG9iai50eXBlID0gJ2lmcmFtZSc7CgogICAgICAgICAgICAgICAgICAgIG9iai5vcHRzLmlmcmFtZS5wcmVsb2FkID0gZmFsc2U7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gSGlkZSBhbGwgYnV0dG9ucyBhbmQgZGlzYWJsZSBpbnRlcmFjdGl2aXR5IGZvciBtb2RhbCBpdGVtcwogICAgICAgICAgICAgICAgaWYgKCBvYmoub3B0cy5tb2RhbCApIHsKCiAgICAgICAgICAgICAgICAgICAgb2JqLm9wdHMgPSAkLmV4dGVuZCh0cnVlLCBvYmoub3B0cywgewogICAgICAgICAgICAgICAgICAgICAgICAvLyBSZW1vdmUgYnV0dG9ucwogICAgICAgICAgICAgICAgICAgICAgICBpbmZvYmFyIDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgdG9vbGJhciA6IDAsCgogICAgICAgICAgICAgICAgICAgICAgICBzbWFsbEJ0biA6IDAsCgogICAgICAgICAgICAgICAgICAgICAgICAvLyBEaXNhYmxlIGtleWJvYXJkIG5hdmlnYXRpb24KICAgICAgICAgICAgICAgICAgICAgICAga2V5Ym9hcmQgOiAwLAoKICAgICAgICAgICAgICAgICAgICAgICAgLy8gRGlzYWJsZSBzb21lIG1vZHVsZXMKICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGVTaG93ICA6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIGZ1bGxTY3JlZW4gOiAwLAogICAgICAgICAgICAgICAgICAgICAgICB0aHVtYnMgICAgIDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgdG91Y2ggICAgICA6IDAsCgogICAgICAgICAgICAgICAgICAgICAgICAvLyBEaXNhYmxlIGNsaWNrIGV2ZW50IGhhbmRsZXJzCiAgICAgICAgICAgICAgICAgICAgICAgIGNsaWNrQ29udGVudCAgICA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICBjbGlja1NsaWRlICAgICAgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgY2xpY2tPdXRzaWRlICAgIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgIGRibGNsaWNrQ29udGVudCA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICBkYmxjbGlja1NsaWRlICAgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgZGJsY2xpY2tPdXRzaWRlIDogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gU3RlcCA0IC0gQWRkIHByb2Nlc3NlZCBvYmplY3QgdG8gZ3JvdXAKICAgICAgICAgICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgICAgICAgICAgc2VsZi5ncm91cC5wdXNoKCBvYmogKTsKCiAgICAgICAgICAgIH0pOwoKICAgICAgICB9LAoKCiAgICAgICAgLy8gQXR0YWNoIGFuIGV2ZW50IGhhbmRsZXIgZnVuY3Rpb25zIGZvcjoKICAgICAgICAvLyAgIC0gbmF2aWdhdGlvbiBidXR0b25zCiAgICAgICAgLy8gICAtIGJyb3dzZXIgc2Nyb2xsaW5nLCByZXNpemluZzsKICAgICAgICAvLyAgIC0gZm9jdXNpbmcKICAgICAgICAvLyAgIC0ga2V5Ym9hcmQKICAgICAgICAvLyAgIC0gZGV0ZWN0IGlkbGUKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICBhZGRFdmVudHMgOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHNlbGYgPSB0aGlzOwoKICAgICAgICAgICAgc2VsZi5yZW1vdmVFdmVudHMoKTsKCiAgICAgICAgICAgIC8vIE1ha2UgbmF2aWdhdGlvbiBlbGVtZW50cyBjbGlja2FibGUKICAgICAgICAgICAgc2VsZi4kcmVmcy5jb250YWluZXIub24oJ2NsaWNrLmZiLWNsb3NlJywgJ1tkYXRhLWZhbmN5Ym94LWNsb3NlXScsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CgogICAgICAgICAgICAgICAgc2VsZi5jbG9zZSggZSApOwoKICAgICAgICAgICAgfSkub24oICdjbGljay5mYi1wcmV2IHRvdWNoZW5kLmZiLXByZXYnLCAnW2RhdGEtZmFuY3lib3gtcHJldl0nLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwoKICAgICAgICAgICAgICAgIHNlbGYucHJldmlvdXMoKTsKCiAgICAgICAgICAgIH0pLm9uKCAnY2xpY2suZmItbmV4dCB0b3VjaGVuZC5mYi1uZXh0JywgJ1tkYXRhLWZhbmN5Ym94LW5leHRdJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgICAgICBzZWxmLm5leHQoKTsKCiAgICAgICAgICAgIH0pLm9uKCAnY2xpY2suZmInLCAnW2RhdGEtZmFuY3lib3gtem9vbV0nLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAvLyBDbGljayBoYW5kbGVyIGZvciB6b29tIGJ1dHRvbgogICAgICAgICAgICAgICAgc2VsZlsgc2VsZi5pc1NjYWxlZERvd24oKSA/ICdzY2FsZVRvQWN0dWFsJyA6ICdzY2FsZVRvRml0JyBdKCk7CiAgICAgICAgICAgIH0pOwoKCiAgICAgICAgICAgIC8vIEhhbmRsZSBwYWdlIHNjcm9sbGluZyBhbmQgYnJvd3NlciByZXNpemluZwogICAgICAgICAgICAkVy5vbignb3JpZW50YXRpb25jaGFuZ2UuZmIgcmVzaXplLmZiJywgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgICAgIGlmICggZSAmJiBlLm9yaWdpbmFsRXZlbnQgJiYgZS5vcmlnaW5hbEV2ZW50LnR5cGUgPT09ICJyZXNpemUiICkgewoKICAgICAgICAgICAgICAgICAgICByZXF1ZXN0QUZyYW1lKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnVwZGF0ZSgpOwogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgIH0gZWxzZSB7CgogICAgICAgICAgICAgICAgICAgIHNlbGYuJHJlZnMuc3RhZ2UuaGlkZSgpOwoKICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLiRyZWZzLnN0YWdlLnNob3coKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudXBkYXRlKCk7CiAgICAgICAgICAgICAgICAgICAgfSwgNjAwKTsKCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFRyYXAga2V5Ym9hcmQgZm9jdXMgaW5zaWRlIG9mIHRoZSBtb2RhbCwgc28gdGhlIHVzZXIgZG9lcyBub3QgYWNjaWRlbnRhbGx5IHRhYiBvdXRzaWRlIG9mIHRoZSBtb2RhbAogICAgICAgICAgICAvLyAoYS5rLmEuICJlc2NhcGluZyB0aGUgbW9kYWwiKQogICAgICAgICAgICAkRC5vbignZm9jdXNpbi5mYicsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIHZhciBpbnN0YW5jZSA9ICQuZmFuY3lib3ggPyAkLmZhbmN5Ym94LmdldEluc3RhbmNlKCkgOiBudWxsOwoKICAgICAgICAgICAgICAgIGlmICggaW5zdGFuY2UuaXNDbG9zaW5nIHx8ICFpbnN0YW5jZS5jdXJyZW50IHx8ICFpbnN0YW5jZS5jdXJyZW50Lm9wdHMudHJhcEZvY3VzIHx8ICQoIGUudGFyZ2V0ICkuaGFzQ2xhc3MoICdmYW5jeWJveC1jb250YWluZXInICkgfHwgJCggZS50YXJnZXQgKS5pcyggZG9jdW1lbnQgKSApIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKCBpbnN0YW5jZSAmJiAkKCBlLnRhcmdldCApLmNzcyggJ3Bvc2l0aW9uJyApICE9PSAnZml4ZWQnICYmICFpbnN0YW5jZS4kcmVmcy5jb250YWluZXIuaGFzKCBlLnRhcmdldCApLmxlbmd0aCApIHsKICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwoKICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS5mb2N1cygpOwoKICAgICAgICAgICAgICAgICAgICAvLyBTb21ldGltZXMgcGFnZSBnZXRzIHNjcm9sbGVkLCBzZXQgaXQgYmFjawogICAgICAgICAgICAgICAgICAgICRXLnNjcm9sbFRvcCggc2VsZi5zY3JvbGxUb3AgKS5zY3JvbGxMZWZ0KCBzZWxmLnNjcm9sbExlZnQgKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgoKICAgICAgICAgICAgLy8gRW5hYmxlIGtleWJvYXJkIG5hdmlnYXRpb24KICAgICAgICAgICAgJEQub24oJ2tleWRvd24uZmInLCBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICAgICAgdmFyIGN1cnJlbnQgPSBzZWxmLmN1cnJlbnQsCiAgICAgICAgICAgICAgICAgICAga2V5Y29kZSA9IGUua2V5Q29kZSB8fCBlLndoaWNoOwoKICAgICAgICAgICAgICAgIGlmICggIWN1cnJlbnQgfHwgIWN1cnJlbnQub3B0cy5rZXlib2FyZCApIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKCAkKGUudGFyZ2V0KS5pcygnaW5wdXQnKSB8fCAkKGUudGFyZ2V0KS5pcygndGV4dGFyZWEnKSApIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gQmFja3NwYWNlIGFuZCBFc2Mga2V5cwogICAgICAgICAgICAgICAgaWYgKCBrZXljb2RlID09PSA4IHx8IGtleWNvZGUgPT09IDI3ICkgewogICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgICAgICAgICAgc2VsZi5jbG9zZSggZSApOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gTGVmdCBhcnJvdyBhbmQgVXAgYXJyb3cKICAgICAgICAgICAgICAgIGlmICgga2V5Y29kZSA9PT0gMzcgfHwga2V5Y29kZSA9PT0gMzggKSB7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwoKICAgICAgICAgICAgICAgICAgICBzZWxmLnByZXZpb3VzKCk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvLyBSaWdoIGFycm93IGFuZCBEb3duIGFycm93CiAgICAgICAgICAgICAgICBpZiAoIGtleWNvZGUgPT09IDM5IHx8IGtleWNvZGUgPT09IDQwICkgewogICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgICAgICAgICAgc2VsZi5uZXh0KCk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzZWxmLnRyaWdnZXIoJ2FmdGVyS2V5ZG93bicsIGUsIGtleWNvZGUpOwogICAgICAgICAgICB9KTsKCgogICAgICAgICAgICAvLyBIaWRlIGNvbnRyb2xzIGFmdGVyIHNvbWUgaW5hY3Rpdml0eSBwZXJpb2QKICAgICAgICAgICAgaWYgKCBzZWxmLmdyb3VwWyBzZWxmLmN1cnJJbmRleCBdLm9wdHMuaWRsZVRpbWUgKSB7CiAgICAgICAgICAgICAgICBzZWxmLmlkbGVTZWNvbmRzQ291bnRlciA9IDA7CgogICAgICAgICAgICAgICAgJEQub24oJ21vdXNlbW92ZS5mYi1pZGxlIG1vdXNlbGVhdmUuZmItaWRsZSBtb3VzZWRvd24uZmItaWRsZSB0b3VjaHN0YXJ0LmZiLWlkbGUgdG91Y2htb3ZlLmZiLWlkbGUgc2Nyb2xsLmZiLWlkbGUga2V5ZG93bi5mYi1pZGxlJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIHNlbGYuaWRsZVNlY29uZHNDb3VudGVyID0gMDsKCiAgICAgICAgICAgICAgICAgICAgaWYgKCBzZWxmLmlzSWRsZSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zaG93Q29udHJvbHMoKTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIHNlbGYuaXNJZGxlID0gZmFsc2U7CiAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICBzZWxmLmlkbGVJbnRlcnZhbCA9IHdpbmRvdy5zZXRJbnRlcnZhbChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBzZWxmLmlkbGVTZWNvbmRzQ291bnRlcisrOwoKICAgICAgICAgICAgICAgICAgICBpZiAoIHNlbGYuaWRsZVNlY29uZHNDb3VudGVyID49IHNlbGYuZ3JvdXBbIHNlbGYuY3VyckluZGV4IF0ub3B0cy5pZGxlVGltZSAmJiAhc2VsZi5pc0RyYWdnaW5nICkgewogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmlzSWRsZSA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuaWRsZVNlY29uZHNDb3VudGVyID0gMDsKCiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuaGlkZUNvbnRyb2xzKCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIH0sIDEwMDApOwogICAgICAgICAgICB9CgogICAgICAgIH0sCgoKICAgICAgICAvLyBSZW1vdmUgZXZlbnRzIGFkZGVkIGJ5IHRoZSBjb3JlCiAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICByZW1vdmVFdmVudHMgOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHNlbGYgPSB0aGlzOwoKICAgICAgICAgICAgJFcub2ZmKCAnb3JpZW50YXRpb25jaGFuZ2UuZmIgcmVzaXplLmZiJyApOwogICAgICAgICAgICAkRC5vZmYoICdmb2N1c2luLmZiIGtleWRvd24uZmIgLmZiLWlkbGUnICk7CgogICAgICAgICAgICB0aGlzLiRyZWZzLmNvbnRhaW5lci5vZmYoICcuZmItY2xvc2UgLmZiLXByZXYgLmZiLW5leHQnICk7CgogICAgICAgICAgICBpZiAoIHNlbGYuaWRsZUludGVydmFsICkgewogICAgICAgICAgICAgICAgd2luZG93LmNsZWFySW50ZXJ2YWwoIHNlbGYuaWRsZUludGVydmFsICk7CgogICAgICAgICAgICAgICAgc2VsZi5pZGxlSW50ZXJ2YWwgPSBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgfSwKCgogICAgICAgIC8vIENoYW5nZSB0byBwcmV2aW91cyBnYWxsZXJ5IGl0ZW0KICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIHByZXZpb3VzIDogZnVuY3Rpb24oIGR1cmF0aW9uICkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5qdW1wVG8oIHRoaXMuY3VyclBvcyAtIDEsIGR1cmF0aW9uICk7CiAgICAgICAgfSwKCgogICAgICAgIC8vIENoYW5nZSB0byBuZXh0IGdhbGxlcnkgaXRlbQogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICBuZXh0IDogZnVuY3Rpb24oIGR1cmF0aW9uICkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5qdW1wVG8oIHRoaXMuY3VyclBvcyArIDEsIGR1cmF0aW9uICk7CiAgICAgICAgfSwKCgogICAgICAgIC8vIFN3aXRjaCB0byBzZWxlY3RlZCBnYWxsZXJ5IGl0ZW0KICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIGp1bXBUbyA6IGZ1bmN0aW9uICggcG9zLCBkdXJhdGlvbiwgc2xpZGUgKSB7CiAgICAgICAgICAgIHZhciBzZWxmID0gdGhpcywKICAgICAgICAgICAgICAgIGZpcnN0UnVuLAogICAgICAgICAgICAgICAgbG9vcCwKICAgICAgICAgICAgICAgIGN1cnJlbnQsCiAgICAgICAgICAgICAgICBwcmV2aW91cywKICAgICAgICAgICAgICAgIGNhbnZhc1dpZHRoLAogICAgICAgICAgICAgICAgY3VycmVudFBvcywKICAgICAgICAgICAgICAgIHRyYW5zaXRpb25Qcm9wczsKCiAgICAgICAgICAgIHZhciBncm91cExlbiA9IHNlbGYuZ3JvdXAubGVuZ3RoOwoKICAgICAgICAgICAgaWYgKCBzZWxmLmlzRHJhZ2dpbmcgfHwgc2VsZi5pc0Nsb3NpbmcgfHwgKCBzZWxmLmlzQW5pbWF0aW5nICYmIHNlbGYuZmlyc3RSdW4gKSApIHsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcG9zICA9IHBhcnNlSW50KCBwb3MsIDEwICk7CiAgICAgICAgICAgIGxvb3AgPSBzZWxmLmN1cnJlbnQgPyBzZWxmLmN1cnJlbnQub3B0cy5sb29wIDogc2VsZi5vcHRzLmxvb3A7CgogICAgICAgICAgICBpZiAoICFsb29wICYmICggcG9zIDwgMCB8fCBwb3MgPj0gZ3JvdXBMZW4gKSApIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZmlyc3RSdW4gPSBzZWxmLmZpcnN0UnVuID0gKCBzZWxmLmZpcnN0UnVuID09PSBudWxsICk7CgogICAgICAgICAgICBpZiAoIGdyb3VwTGVuIDwgMiAmJiAhZmlyc3RSdW4gJiYgISFzZWxmLmlzRHJhZ2dpbmcgKSB7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHByZXZpb3VzID0gc2VsZi5jdXJyZW50OwoKICAgICAgICAgICAgc2VsZi5wcmV2SW5kZXggPSBzZWxmLmN1cnJJbmRleDsKICAgICAgICAgICAgc2VsZi5wcmV2UG9zICAgPSBzZWxmLmN1cnJQb3M7CgogICAgICAgICAgICAvLyBDcmVhdGUgc2xpZGVzCiAgICAgICAgICAgIGN1cnJlbnQgPSBzZWxmLmNyZWF0ZVNsaWRlKCBwb3MgKTsKCiAgICAgICAgICAgIGlmICggZ3JvdXBMZW4gPiAxICkgewogICAgICAgICAgICAgICAgaWYgKCBsb29wIHx8IGN1cnJlbnQuaW5kZXggPiAwICkgewogICAgICAgICAgICAgICAgICAgIHNlbGYuY3JlYXRlU2xpZGUoIHBvcyAtIDEgKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIGxvb3AgfHwgY3VycmVudC5pbmRleCA8IGdyb3VwTGVuIC0gMSApIHsKICAgICAgICAgICAgICAgICAgICBzZWxmLmNyZWF0ZVNsaWRlKCBwb3MgKyAxICk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHNlbGYuY3VycmVudCAgID0gY3VycmVudDsKICAgICAgICAgICAgc2VsZi5jdXJySW5kZXggPSBjdXJyZW50LmluZGV4OwogICAgICAgICAgICBzZWxmLmN1cnJQb3MgICA9IGN1cnJlbnQucG9zOwoKICAgICAgICAgICAgc2VsZi50cmlnZ2VyKCAnYmVmb3JlU2hvdycsIGZpcnN0UnVuICk7CgogICAgICAgICAgICBzZWxmLnVwZGF0ZUNvbnRyb2xzKCk7CgogICAgICAgICAgICBjdXJyZW50UG9zID0gJC5mYW5jeWJveC5nZXRUcmFuc2xhdGUoIGN1cnJlbnQuJHNsaWRlICk7CgogICAgICAgICAgICBjdXJyZW50LmlzTW92ZWQgICAgICAgID0gKCBjdXJyZW50UG9zLmxlZnQgIT09IDAgfHwgY3VycmVudFBvcy50b3AgIT09IDAgKSAmJiAhY3VycmVudC4kc2xpZGUuaGFzQ2xhc3MoICdmYW5jeWJveC1hbmltYXRlZCcgKTsKICAgICAgICAgICAgY3VycmVudC5mb3JjZWREdXJhdGlvbiA9IHVuZGVmaW5lZDsKCiAgICAgICAgICAgIGlmICggJC5pc051bWVyaWMoIGR1cmF0aW9uICkgKSB7CiAgICAgICAgICAgICAgICBjdXJyZW50LmZvcmNlZER1cmF0aW9uID0gZHVyYXRpb247CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBkdXJhdGlvbiA9IGN1cnJlbnQub3B0c1sgZmlyc3RSdW4gPyAnYW5pbWF0aW9uRHVyYXRpb24nIDogJ3RyYW5zaXRpb25EdXJhdGlvbicgXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZHVyYXRpb24gPSBwYXJzZUludCggZHVyYXRpb24sIDEwICk7CgogICAgICAgICAgICAvLyBGcmVzaCBzdGFydCAtIHJldmVhbCBjb250YWluZXIsIGN1cnJlbnQgc2xpZGUgYW5kIHN0YXJ0IGxvYWRpbmcgY29udGVudAogICAgICAgICAgICBpZiAoIGZpcnN0UnVuICkgewoKICAgICAgICAgICAgICAgIGlmICggY3VycmVudC5vcHRzLmFuaW1hdGlvbkVmZmVjdCAmJiBkdXJhdGlvbiApIHsKICAgICAgICAgICAgICAgICAgICBzZWxmLiRyZWZzLmNvbnRhaW5lci5jc3MoICd0cmFuc2l0aW9uLWR1cmF0aW9uJywgZHVyYXRpb24gKyAnbXMnICk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgc2VsZi4kcmVmcy5jb250YWluZXIucmVtb3ZlQ2xhc3MoICdmYW5jeWJveC1pcy1oaWRkZW4nICk7CgogICAgICAgICAgICAgICAgZm9yY2VSZWRyYXcoIHNlbGYuJHJlZnMuY29udGFpbmVyICk7CgogICAgICAgICAgICAgICAgc2VsZi4kcmVmcy5jb250YWluZXIuYWRkQ2xhc3MoICdmYW5jeWJveC1pcy1vcGVuJyApOwoKICAgICAgICAgICAgICAgIC8vIE1ha2UgZmlyc3Qgc2xpZGUgdmlzaWJsZSAodG8gZGlzcGxheSBsb2FkaW5nIGljb24sIGlmIG5lZWRlZCkKICAgICAgICAgICAgICAgIGN1cnJlbnQuJHNsaWRlLmFkZENsYXNzKCAnZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQnICk7CgogICAgICAgICAgICAgICAgc2VsZi5sb2FkU2xpZGUoIGN1cnJlbnQgKTsKCiAgICAgICAgICAgICAgICBzZWxmLnByZWxvYWQoICdpbWFnZScgKTsKCiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIENsZWFuIHVwCiAgICAgICAgICAgICQuZWFjaChzZWxmLnNsaWRlcywgZnVuY3Rpb24oIGluZGV4LCBzbGlkZSApIHsKICAgICAgICAgICAgICAgICQuZmFuY3lib3guc3RvcCggc2xpZGUuJHNsaWRlICk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy8gTWFrZSBjdXJyZW50IHRoYXQgc2xpZGUgaXMgdmlzaWJsZSBldmVuIGlmIGNvbnRlbnQgaXMgc3RpbGwgbG9hZGluZwogICAgICAgICAgICBjdXJyZW50LiRzbGlkZS5yZW1vdmVDbGFzcyggJ2ZhbmN5Ym94LXNsaWRlLS1uZXh0IGZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cycgKS5hZGRDbGFzcyggJ2ZhbmN5Ym94LXNsaWRlLS1jdXJyZW50JyApOwoKICAgICAgICAgICAgLy8gSWYgc2xpZGVzIGhhdmUgYmVlbiBkcmFnZ2VkLCBhbmltYXRlIHRoZW0gdG8gY29ycmVjdCBwb3NpdGlvbgogICAgICAgICAgICBpZiAoIGN1cnJlbnQuaXNNb3ZlZCApIHsKICAgICAgICAgICAgICAgIGNhbnZhc1dpZHRoID0gTWF0aC5yb3VuZCggY3VycmVudC4kc2xpZGUud2lkdGgoKSApOwoKICAgICAgICAgICAgICAgICQuZWFjaChzZWxmLnNsaWRlcywgZnVuY3Rpb24oIGluZGV4LCBzbGlkZSApIHsKICAgICAgICAgICAgICAgICAgICB2YXIgcG9zID0gc2xpZGUucG9zIC0gY3VycmVudC5wb3M7CgogICAgICAgICAgICAgICAgICAgICQuZmFuY3lib3guYW5pbWF0ZSggc2xpZGUuJHNsaWRlLCB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRvcCAgOiAwLAogICAgICAgICAgICAgICAgICAgICAgICBsZWZ0IDogKCBwb3MgKiBjYW52YXNXaWR0aCApICsgKCBwb3MgKiBzbGlkZS5vcHRzLmd1dHRlciApCiAgICAgICAgICAgICAgICAgICAgfSwgZHVyYXRpb24sIGZ1bmN0aW9uKCkgewoKICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGUuJHNsaWRlLnJlbW92ZUF0dHIoJ3N0eWxlJykucmVtb3ZlQ2xhc3MoICdmYW5jeWJveC1zbGlkZS0tbmV4dCBmYW5jeWJveC1zbGlkZS0tcHJldmlvdXMnICk7CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIHNsaWRlLnBvcyA9PT0gc2VsZi5jdXJyUG9zICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudC5pc01vdmVkID0gZmFsc2U7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5jb21wbGV0ZSgpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBzZWxmLiRyZWZzLnN0YWdlLmNoaWxkcmVuKCkucmVtb3ZlQXR0ciggJ3N0eWxlJyApOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBTdGFydCB0cmFuc2l0aW9uIHRoYXQgcmV2ZWFscyBjdXJyZW50IGNvbnRlbnQKICAgICAgICAgICAgLy8gb3Igd2FpdCB3aGVuIGl0IHdpbGwgYmUgbG9hZGVkCgogICAgICAgICAgICBpZiAoIGN1cnJlbnQuaXNMb2FkZWQgKSB7CiAgICAgICAgICAgICAgICBzZWxmLnJldmVhbENvbnRlbnQoIGN1cnJlbnQgKTsKCiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBzZWxmLmxvYWRTbGlkZSggY3VycmVudCApOwogICAgICAgICAgICB9CgogICAgICAgICAgICBzZWxmLnByZWxvYWQoICdpbWFnZScgKTsKCiAgICAgICAgICAgIGlmICggcHJldmlvdXMucG9zID09PSBjdXJyZW50LnBvcyApIHsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gSGFuZGxlIHByZXZpb3VzIHNsaWRlCiAgICAgICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICAgICAgdHJhbnNpdGlvblByb3BzID0gJ2ZhbmN5Ym94LXNsaWRlLS0nICsgKCBwcmV2aW91cy5wb3MgPiBjdXJyZW50LnBvcyA/ICduZXh0JyA6ICdwcmV2aW91cycgKTsKCiAgICAgICAgICAgIHByZXZpb3VzLiRzbGlkZS5yZW1vdmVDbGFzcyggJ2ZhbmN5Ym94LXNsaWRlLS1jb21wbGV0ZSBmYW5jeWJveC1zbGlkZS0tY3VycmVudCBmYW5jeWJveC1zbGlkZS0tbmV4dCBmYW5jeWJveC1zbGlkZS0tcHJldmlvdXMnICk7CgogICAgICAgICAgICBwcmV2aW91cy5pc0NvbXBsZXRlID0gZmFsc2U7CgogICAgICAgICAgICBpZiAoICFkdXJhdGlvbiB8fCAoICFjdXJyZW50LmlzTW92ZWQgJiYgIWN1cnJlbnQub3B0cy50cmFuc2l0aW9uRWZmZWN0ICkgKSB7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICggY3VycmVudC5pc01vdmVkICkgewogICAgICAgICAgICAgICAgcHJldmlvdXMuJHNsaWRlLmFkZENsYXNzKCB0cmFuc2l0aW9uUHJvcHMgKTsKCiAgICAgICAgICAgIH0gZWxzZSB7CgogICAgICAgICAgICAgICAgdHJhbnNpdGlvblByb3BzID0gJ2ZhbmN5Ym94LWFuaW1hdGVkICcgKyB0cmFuc2l0aW9uUHJvcHMgKyAnIGZhbmN5Ym94LWZ4LScgKyBjdXJyZW50Lm9wdHMudHJhbnNpdGlvbkVmZmVjdDsKCiAgICAgICAgICAgICAgICAkLmZhbmN5Ym94LmFuaW1hdGUoIHByZXZpb3VzLiRzbGlkZSwgdHJhbnNpdGlvblByb3BzLCBkdXJhdGlvbiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcHJldmlvdXMuJHNsaWRlLnJlbW92ZUNsYXNzKCB0cmFuc2l0aW9uUHJvcHMgKS5yZW1vdmVBdHRyKCAnc3R5bGUnICk7CiAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIH0KCiAgICAgICAgfSwKCgogICAgICAgIC8vIENyZWF0ZSBuZXcgInNsaWRlIiBlbGVtZW50CiAgICAgICAgLy8gVGhlc2UgYXJlIGdhbGxlcnkgaXRlbXMgIHRoYXQgYXJlIGFjdHVhbGx5IGFkZGVkIHRvIERPTQogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgY3JlYXRlU2xpZGUgOiBmdW5jdGlvbiggcG9zICkgewoKICAgICAgICAgICAgdmFyIHNlbGYgPSB0aGlzOwogICAgICAgICAgICB2YXIgJHNsaWRlOwogICAgICAgICAgICB2YXIgaW5kZXg7CgogICAgICAgICAgICBpbmRleCA9IHBvcyAlIHNlbGYuZ3JvdXAubGVuZ3RoOwogICAgICAgICAgICBpbmRleCA9IGluZGV4IDwgMCA/IHNlbGYuZ3JvdXAubGVuZ3RoICsgaW5kZXggOiBpbmRleDsKCiAgICAgICAgICAgIGlmICggIXNlbGYuc2xpZGVzWyBwb3MgXSAmJiBzZWxmLmdyb3VwWyBpbmRleCBdICkgewogICAgICAgICAgICAgICAgJHNsaWRlID0gJCgnPGRpdiBjbGFzcz0iZmFuY3lib3gtc2xpZGUiPjwvZGl2PicpLmFwcGVuZFRvKCBzZWxmLiRyZWZzLnN0YWdlICk7CgogICAgICAgICAgICAgICAgc2VsZi5zbGlkZXNbIHBvcyBdID0gJC5leHRlbmQoIHRydWUsIHt9LCBzZWxmLmdyb3VwWyBpbmRleCBdLCB7CiAgICAgICAgICAgICAgICAgICAgcG9zICAgICAgOiBwb3MsCiAgICAgICAgICAgICAgICAgICAgJHNsaWRlICAgOiAkc2xpZGUsCiAgICAgICAgICAgICAgICAgICAgaXNMb2FkZWQgOiBmYWxzZSwKICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgIHNlbGYudXBkYXRlU2xpZGUoIHNlbGYuc2xpZGVzWyBwb3MgXSApOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gc2VsZi5zbGlkZXNbIHBvcyBdOwogICAgICAgIH0sCgoKICAgICAgICAvLyBTY2FsZSBpbWFnZSB0byB0aGUgYWN0dWFsIHNpemUgb2YgdGhlIGltYWdlCiAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICBzY2FsZVRvQWN0dWFsIDogZnVuY3Rpb24oIHgsIHksIGR1cmF0aW9uICkgewoKICAgICAgICAgICAgdmFyIHNlbGYgPSB0aGlzOwoKICAgICAgICAgICAgdmFyIGN1cnJlbnQgPSBzZWxmLmN1cnJlbnQ7CiAgICAgICAgICAgIHZhciAkd2hhdCAgID0gY3VycmVudC4kY29udGVudDsKCiAgICAgICAgICAgIHZhciBpbWdQb3MsIHBvc1gsIHBvc1ksIHNjYWxlWCwgc2NhbGVZOwoKICAgICAgICAgICAgdmFyIGNhbnZhc1dpZHRoICA9IHBhcnNlSW50KCBjdXJyZW50LiRzbGlkZS53aWR0aCgpLCAxMCApOwogICAgICAgICAgICB2YXIgY2FudmFzSGVpZ2h0ID0gcGFyc2VJbnQoIGN1cnJlbnQuJHNsaWRlLmhlaWdodCgpLCAxMCApOwoKICAgICAgICAgICAgdmFyIG5ld0ltZ1dpZHRoICA9IGN1cnJlbnQud2lkdGg7CiAgICAgICAgICAgIHZhciBuZXdJbWdIZWlnaHQgPSBjdXJyZW50LmhlaWdodDsKCiAgICAgICAgICAgIGlmICggISggY3VycmVudC50eXBlID09ICdpbWFnZScgJiYgIWN1cnJlbnQuaGFzRXJyb3IpIHx8ICEkd2hhdCB8fCBzZWxmLmlzQW5pbWF0aW5nICkgewogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkLmZhbmN5Ym94LnN0b3AoICR3aGF0ICk7CgogICAgICAgICAgICBzZWxmLmlzQW5pbWF0aW5nID0gdHJ1ZTsKCiAgICAgICAgICAgIHggPSB4ID09PSB1bmRlZmluZWQgPyBjYW52YXNXaWR0aCAgKiAwLjUgIDogeDsKICAgICAgICAgICAgeSA9IHkgPT09IHVuZGVmaW5lZCA/IGNhbnZhc0hlaWdodCAqIDAuNSAgOiB5OwoKICAgICAgICAgICAgaW1nUG9zID0gJC5mYW5jeWJveC5nZXRUcmFuc2xhdGUoICR3aGF0ICk7CgogICAgICAgICAgICBzY2FsZVggID0gbmV3SW1nV2lkdGggIC8gaW1nUG9zLndpZHRoOwogICAgICAgICAgICBzY2FsZVkgID0gbmV3SW1nSGVpZ2h0IC8gaW1nUG9zLmhlaWdodDsKCiAgICAgICAgICAgIC8vIEdldCBjZW50ZXIgcG9zaXRpb24gZm9yIG9yaWdpbmFsIGltYWdlCiAgICAgICAgICAgIHBvc1ggPSAoIGNhbnZhc1dpZHRoICogMC41ICAtIG5ld0ltZ1dpZHRoICogMC41ICk7CiAgICAgICAgICAgIHBvc1kgPSAoIGNhbnZhc0hlaWdodCAqIDAuNSAtIG5ld0ltZ0hlaWdodCAqIDAuNSApOwoKICAgICAgICAgICAgLy8gTWFrZSBzdXJlIGltYWdlIGRvZXMgbm90IG1vdmUgYXdheSBmcm9tIGVkZ2VzCiAgICAgICAgICAgIGlmICggbmV3SW1nV2lkdGggPiBjYW52YXNXaWR0aCApIHsKICAgICAgICAgICAgICAgIHBvc1ggPSBpbWdQb3MubGVmdCAqIHNjYWxlWCAtICggKCB4ICogc2NhbGVYICkgLSB4ICk7CgogICAgICAgICAgICAgICAgaWYgKCBwb3NYID4gMCApIHsKICAgICAgICAgICAgICAgICAgICBwb3NYID0gMDsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIHBvc1ggPCAgY2FudmFzV2lkdGggLSBuZXdJbWdXaWR0aCApIHsKICAgICAgICAgICAgICAgICAgICBwb3NYID0gY2FudmFzV2lkdGggLSBuZXdJbWdXaWR0aDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCBuZXdJbWdIZWlnaHQgPiBjYW52YXNIZWlnaHQpIHsKICAgICAgICAgICAgICAgIHBvc1kgPSBpbWdQb3MudG9wICAqIHNjYWxlWSAtICggKCB5ICogc2NhbGVZICkgLSB5ICk7CgogICAgICAgICAgICAgICAgaWYgKCBwb3NZID4gMCApIHsKICAgICAgICAgICAgICAgICAgICBwb3NZID0gMDsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIHBvc1kgPCAgY2FudmFzSGVpZ2h0IC0gbmV3SW1nSGVpZ2h0ICkgewogICAgICAgICAgICAgICAgICAgIHBvc1kgPSBjYW52YXNIZWlnaHQgLSBuZXdJbWdIZWlnaHQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHNlbGYudXBkYXRlQ3Vyc29yKCBuZXdJbWdXaWR0aCwgbmV3SW1nSGVpZ2h0ICk7CgogICAgICAgICAgICAkLmZhbmN5Ym94LmFuaW1hdGUoICR3aGF0LCB7CiAgICAgICAgICAgICAgICB0b3AgICAgOiBwb3NZLAogICAgICAgICAgICAgICAgbGVmdCAgIDogcG9zWCwKICAgICAgICAgICAgICAgIHNjYWxlWCA6IHNjYWxlWCwKICAgICAgICAgICAgICAgIHNjYWxlWSA6IHNjYWxlWQogICAgICAgICAgICB9LCBkdXJhdGlvbiB8fCAzMzAsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgc2VsZi5pc0FuaW1hdGluZyA9IGZhbHNlOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFN0b3Agc2xpZGVzaG93CiAgICAgICAgICAgIGlmICggc2VsZi5TbGlkZVNob3cgJiYgc2VsZi5TbGlkZVNob3cuaXNBY3RpdmUgKSB7CiAgICAgICAgICAgICAgICBzZWxmLlNsaWRlU2hvdy5zdG9wKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9LAoKCiAgICAgICAgLy8gU2NhbGUgaW1hZ2UgdG8gZml0IGluc2lkZSBwYXJlbnQgZWxlbWVudAogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgc2NhbGVUb0ZpdCA6IGZ1bmN0aW9uKCBkdXJhdGlvbiApIHsKCiAgICAgICAgICAgIHZhciBzZWxmID0gdGhpczsKCiAgICAgICAgICAgIHZhciBjdXJyZW50ID0gc2VsZi5jdXJyZW50OwogICAgICAgICAgICB2YXIgJHdoYXQgICA9IGN1cnJlbnQuJGNvbnRlbnQ7CiAgICAgICAgICAgIHZhciBlbmQ7CgogICAgICAgICAgICBpZiAoICEoIGN1cnJlbnQudHlwZSA9PSAnaW1hZ2UnICYmICFjdXJyZW50Lmhhc0Vycm9yKSB8fCAhJHdoYXQgfHwgc2VsZi5pc0FuaW1hdGluZyApIHsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJC5mYW5jeWJveC5zdG9wKCAkd2hhdCApOwoKICAgICAgICAgICAgc2VsZi5pc0FuaW1hdGluZyA9IHRydWU7CgogICAgICAgICAgICBlbmQgPSBzZWxmLmdldEZpdFBvcyggY3VycmVudCApOwoKICAgICAgICAgICAgc2VsZi51cGRhdGVDdXJzb3IoIGVuZC53aWR0aCwgZW5kLmhlaWdodCApOwoKICAgICAgICAgICAgJC5mYW5jeWJveC5hbmltYXRlKCAkd2hhdCwgewogICAgICAgICAgICAgICAgdG9wICAgIDogZW5kLnRvcCwKICAgICAgICAgICAgICAgIGxlZnQgICA6IGVuZC5sZWZ0LAogICAgICAgICAgICAgICAgc2NhbGVYIDogZW5kLndpZHRoICAvICR3aGF0LndpZHRoKCksCiAgICAgICAgICAgICAgICBzY2FsZVkgOiBlbmQuaGVpZ2h0IC8gJHdoYXQuaGVpZ2h0KCkKICAgICAgICAgICAgfSwgZHVyYXRpb24gfHwgMzMwLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHNlbGYuaXNBbmltYXRpbmcgPSBmYWxzZTsKICAgICAgICAgICAgfSk7CgogICAgICAgIH0sCgogICAgICAgIC8vIENhbGN1bGF0ZSBpbWFnZSBzaXplIHRvIGZpdCBpbnNpZGUgdmlld3BvcnQKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIGdldEZpdFBvcyA6IGZ1bmN0aW9uKCBzbGlkZSApIHsKICAgICAgICAgICAgdmFyIHNlbGYgID0gdGhpczsKICAgICAgICAgICAgdmFyICR3aGF0ID0gc2xpZGUuJGNvbnRlbnQ7CgogICAgICAgICAgICB2YXIgaW1nV2lkdGggID0gc2xpZGUud2lkdGg7CiAgICAgICAgICAgIHZhciBpbWdIZWlnaHQgPSBzbGlkZS5oZWlnaHQ7CgogICAgICAgICAgICB2YXIgbWFyZ2luID0gc2xpZGUub3B0cy5tYXJnaW47CgogICAgICAgICAgICB2YXIgY2FudmFzV2lkdGgsIGNhbnZhc0hlaWdodCwgbWluUmF0aW8sIHdpZHRoLCBoZWlnaHQ7CgogICAgICAgICAgICBpZiAoICEkd2hhdCB8fCAhJHdoYXQubGVuZ3RoIHx8ICggIWltZ1dpZHRoICYmICFpbWdIZWlnaHQpICkgewogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBDb252ZXJ0ICJtYXJnaW4gdG8gQ1NTIHN0eWxlOiBbIHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCBdCiAgICAgICAgICAgIGlmICggJC50eXBlKCBtYXJnaW4gKSA9PT0gIm51bWJlciIgKSB7CiAgICAgICAgICAgICAgICBtYXJnaW4gPSBbIG1hcmdpbiwgbWFyZ2luIF07CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICggbWFyZ2luLmxlbmd0aCA9PSAyICkgewogICAgICAgICAgICAgICAgbWFyZ2luID0gWyBtYXJnaW5bMF0sIG1hcmdpblsxXSwgbWFyZ2luWzBdLCBtYXJnaW5bMV0gXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gV2UgY2FuIG5vdCB1c2UgJHNsaWRlIHdpZHRoIGhlcmUsIGJlY2F1c2UgaXQgY2FuIGhhdmUgZGlmZmVyZW50IGRpZW1lbnNpb25zIHdoaWxlIGluIHRyYW5zaXRvbgogICAgICAgICAgICBjYW52YXNXaWR0aCAgPSBwYXJzZUludCggc2VsZi4kcmVmcy5zdGFnZS53aWR0aCgpLCAxMCApICAtICggbWFyZ2luWyAxIF0gKyBtYXJnaW5bIDMgXSApOwogICAgICAgICAgICBjYW52YXNIZWlnaHQgPSBwYXJzZUludCggc2VsZi4kcmVmcy5zdGFnZS5oZWlnaHQoKSwgMTAgKSAtICggbWFyZ2luWyAwIF0gKyBtYXJnaW5bIDIgXSApOwoKICAgICAgICAgICAgbWluUmF0aW8gPSBNYXRoLm1pbigxLCBjYW52YXNXaWR0aCAvIGltZ1dpZHRoLCBjYW52YXNIZWlnaHQgLyBpbWdIZWlnaHQgKTsKCiAgICAgICAgICAgIHdpZHRoICA9IE1hdGguZmxvb3IoIG1pblJhdGlvICogaW1nV2lkdGggKTsKICAgICAgICAgICAgaGVpZ2h0ID0gTWF0aC5mbG9vciggbWluUmF0aW8gKiBpbWdIZWlnaHQgKTsKCiAgICAgICAgICAgIC8vIFVzZSBmbG9vciByb3VuZGluZyB0byBtYWtlIHN1cmUgaXQgcmVhbGx5IGZpdHMKICAgICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgICAgIHRvcCAgICA6IE1hdGguZmxvb3IoICggY2FudmFzSGVpZ2h0IC0gaGVpZ2h0ICkgKiAwLjUgKSArIG1hcmdpblsgMCBdLAogICAgICAgICAgICAgICAgbGVmdCAgIDogTWF0aC5mbG9vciggKCBjYW52YXNXaWR0aCAgLSB3aWR0aCApICAqIDAuNSApICsgbWFyZ2luWyAzIF0sCiAgICAgICAgICAgICAgICB3aWR0aCAgOiB3aWR0aCwKICAgICAgICAgICAgICAgIGhlaWdodCA6IGhlaWdodAogICAgICAgICAgICB9OwoKICAgICAgICB9LAoKCiAgICAgICAgLy8gVXBkYXRlIGNvbnRlbnQgc2l6ZSBhbmQgcG9zaXRpb24gZm9yIGFsbCBzbGlkZXMKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIHVwZGF0ZSA6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgc2VsZiA9IHRoaXM7CgogICAgICAgICAgICAkLmVhY2goIHNlbGYuc2xpZGVzLCBmdW5jdGlvbigga2V5LCBzbGlkZSApIHsKICAgICAgICAgICAgICAgIHNlbGYudXBkYXRlU2xpZGUoIHNsaWRlICk7CiAgICAgICAgICAgIH0pOwogICAgICAgIH0sCgoKICAgICAgICAvLyBVcGRhdGUgc2xpZGUgY29udGVudCBwb3NpdGlvbiBhbmQgc2l6ZQogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIHVwZGF0ZVNsaWRlIDogZnVuY3Rpb24oIHNsaWRlLCBkdXJhdGlvbiApIHsKICAgICAgICAgICAgdmFyIHNlbGYgID0gdGhpcywKICAgICAgICAgICAgICAgICR3aGF0ID0gc2xpZGUgJiYgc2xpZGUuJGNvbnRlbnQ7CgogICAgICAgICAgICBpZiAoICR3aGF0ICYmICggc2xpZGUud2lkdGggfHwgc2xpZGUuaGVpZ2h0ICkgKSB7CiAgICAgICAgICAgICAgICBzZWxmLmlzQW5pbWF0aW5nID0gZmFsc2U7CgogICAgICAgICAgICAgICAgJC5mYW5jeWJveC5zdG9wKCAkd2hhdCApOwoKICAgICAgICAgICAgICAgICQuZmFuY3lib3guc2V0VHJhbnNsYXRlKCAkd2hhdCwgc2VsZi5nZXRGaXRQb3MoIHNsaWRlICkgKTsKCiAgICAgICAgICAgICAgICBpZiAoIHNsaWRlLnBvcyA9PT0gc2VsZi5jdXJyUG9zICkgewogICAgICAgICAgICAgICAgICAgIHNlbGYudXBkYXRlQ3Vyc29yKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHNsaWRlLiRzbGlkZS50cmlnZ2VyKCAncmVmcmVzaCcgKTsKCiAgICAgICAgICAgIHNlbGYudHJpZ2dlciggJ29uVXBkYXRlJywgc2xpZGUgKTsKCiAgICAgICAgfSwKCgogICAgICAgIC8vIEhvcml6b250YWxseSBjZW50ZXIgc2xpZGUKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIGNlbnRlclNsaWRlIDogZnVuY3Rpb24oIHNsaWRlLCBkdXJhdGlvbiApIHsKICAgICAgICAgICAgdmFyIHNlbGYgID0gdGhpcywgY2FudmFzV2lkdGgsIHBvczsKCiAgICAgICAgICAgIGlmICggc2VsZi5jdXJyZW50ICkgewogICAgICAgICAgICAgICAgY2FudmFzV2lkdGggPSBNYXRoLnJvdW5kKCBzbGlkZS4kc2xpZGUud2lkdGgoKSApOwogICAgICAgICAgICAgICAgcG9zID0gc2xpZGUucG9zIC0gc2VsZi5jdXJyZW50LnBvczsKCiAgICAgICAgICAgICAgICAkLmZhbmN5Ym94LmFuaW1hdGUoIHNsaWRlLiRzbGlkZSwgewogICAgICAgICAgICAgICAgICAgIHRvcCAgOiAwLAogICAgICAgICAgICAgICAgICAgIGxlZnQgOiAoIHBvcyAqIGNhbnZhc1dpZHRoICkgKyAoIHBvcyAqIHNsaWRlLm9wdHMuZ3V0dGVyICksCiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSA6IDEKICAgICAgICAgICAgICAgIH0sIGR1cmF0aW9uID09PSB1bmRlZmluZWQgPyAwIDogZHVyYXRpb24sIG51bGwsIGZhbHNlKTsKICAgICAgICAgICAgfQogICAgICAgIH0sCgoKICAgICAgICAvLyBVcGRhdGUgY3Vyc29yIHN0eWxlIGRlcGVuZGluZyBpZiBjb250ZW50IGNhbiBiZSB6b29tZWQKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgdXBkYXRlQ3Vyc29yIDogZnVuY3Rpb24oIG5leHRXaWR0aCwgbmV4dEhlaWdodCApIHsKCiAgICAgICAgICAgIHZhciBzZWxmID0gdGhpczsKICAgICAgICAgICAgdmFyIGlzU2NhbGVkRG93bjsKCiAgICAgICAgICAgIHZhciAkY29udGFpbmVyID0gc2VsZi4kcmVmcy5jb250YWluZXIucmVtb3ZlQ2xhc3MoICdmYW5jeWJveC1pcy16b29tYWJsZSBmYW5jeWJveC1jYW4tem9vbUluIGZhbmN5Ym94LWNhbi1kcmFnIGZhbmN5Ym94LWNhbi16b29tT3V0JyApOwoKICAgICAgICAgICAgaWYgKCAhc2VsZi5jdXJyZW50IHx8IHNlbGYuaXNDbG9zaW5nICkgewogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoIHNlbGYuaXNab29tYWJsZSgpICkgewoKICAgICAgICAgICAgICAgICRjb250YWluZXIuYWRkQ2xhc3MoICdmYW5jeWJveC1pcy16b29tYWJsZScgKTsKCiAgICAgICAgICAgICAgICBpZiAoIG5leHRXaWR0aCAhPT0gdW5kZWZpbmVkICYmIG5leHRIZWlnaHQgIT09IHVuZGVmaW5lZCApIHsKICAgICAgICAgICAgICAgICAgICBpc1NjYWxlZERvd24gPSBuZXh0V2lkdGggPCBzZWxmLmN1cnJlbnQud2lkdGggJiYgbmV4dEhlaWdodCA8IHNlbGYuY3VycmVudC5oZWlnaHQ7CgogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpc1NjYWxlZERvd24gPSBzZWxmLmlzU2NhbGVkRG93bigpOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmICggaXNTY2FsZWREb3duICkgewoKICAgICAgICAgICAgICAgICAgICAvLyBJZiBpbWFnZSBpcyBzY2FsZWQgZG93biwgdGhlbiwgb2J2aW91c2x5LCBpdCBjYW4gYmUgem9vbWVkIHRvIGZ1bGwgc2l6ZQogICAgICAgICAgICAgICAgICAgICRjb250YWluZXIuYWRkQ2xhc3MoICdmYW5jeWJveC1jYW4tem9vbUluJyApOwoKICAgICAgICAgICAgICAgIH0gZWxzZSB7CgogICAgICAgICAgICAgICAgICAgIGlmICggc2VsZi5jdXJyZW50Lm9wdHMudG91Y2ggKSB7CgogICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiBpbWFnZSBzaXplIGlyIGxhcmdlbiB0aGFuIGF2YWlsYWJsZSBhdmFpbGFibGUgYW5kIHRvdWNoIG1vZHVsZSBpcyBub3QgZGlzYWJsZSwKICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhlbiB1c2VyIGNhbiBkbyBwYW5uaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICRjb250YWluZXIuYWRkQ2xhc3MoICdmYW5jeWJveC1jYW4tZHJhZycgKTsKCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci5hZGRDbGFzcyggJ2ZhbmN5Ym94LWNhbi16b29tT3V0JyApOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICB9IGVsc2UgaWYgKCBzZWxmLmN1cnJlbnQub3B0cy50b3VjaCApIHsKICAgICAgICAgICAgICAgICRjb250YWluZXIuYWRkQ2xhc3MoICdmYW5jeWJveC1jYW4tZHJhZycgKTsKICAgICAgICAgICAgfQoKICAgICAgICB9LAoKCiAgICAgICAgLy8gQ2hlY2sgaWYgY3VycmVudCBzbGlkZSBpcyB6b29tYWJsZQogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgaXNab29tYWJsZSA6IGZ1bmN0aW9uKCkgewoKICAgICAgICAgICAgdmFyIHNlbGYgPSB0aGlzOwoKICAgICAgICAgICAgdmFyIGN1cnJlbnQgPSBzZWxmLmN1cnJlbnQ7CiAgICAgICAgICAgIHZhciBmaXRQb3M7CgogICAgICAgICAgICBpZiAoICFjdXJyZW50IHx8IHNlbGYuaXNDbG9zaW5nICkgewogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBBc3N1bWUgdGhhdCBzbGlkZSBpcyB6b29tYWJsZSBpZgogICAgICAgICAgICAvLyAgIC0gaW1hZ2UgaXMgbG9hZGVkIHN1Y2Nlc3NmdWx5CiAgICAgICAgICAgIC8vICAgLSBjbGljayBhY3Rpb24gaXMgInpvb20iCiAgICAgICAgICAgIC8vICAgLSBhY3R1YWwgc2l6ZSBvZiB0aGUgaW1hZ2UgaXMgc21hbGxlciB0aGFuIGF2YWlsYWJsZSBhcmVhCiAgICAgICAgICAgIGlmICggY3VycmVudC50eXBlID09PSAnaW1hZ2UnICYmIGN1cnJlbnQuaXNMb2FkZWQgJiYgIWN1cnJlbnQuaGFzRXJyb3IgJiYKICAgICAgICAgICAgICAgICggY3VycmVudC5vcHRzLmNsaWNrQ29udGVudCA9PT0gJ3pvb20nIHx8ICggJC5pc0Z1bmN0aW9uKCBjdXJyZW50Lm9wdHMuY2xpY2tDb250ZW50ICkgJiYgY3VycmVudC5vcHRzLmNsaWNrQ29udGVudCggY3VycmVudCApID09PSAgInpvb20iICkgKQogICAgICAgICAgICApIHsKCiAgICAgICAgICAgICAgICBmaXRQb3MgPSBzZWxmLmdldEZpdFBvcyggY3VycmVudCApOwoKICAgICAgICAgICAgICAgIGlmICggY3VycmVudC53aWR0aCA+IGZpdFBvcy53aWR0aCB8fCBjdXJyZW50LmhlaWdodCA+IGZpdFBvcy5oZWlnaHQgKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gZmFsc2U7CgogICAgICAgIH0sCgoKICAgICAgICAvLyBDaGVjayBpZiBjdXJyZW50IGltYWdlIGRpbWVuc2lvbnMgYXJlIHNtYWxsZXIgdGhhbiBhY3R1YWwKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgaXNTY2FsZWREb3duIDogZnVuY3Rpb24oKSB7CgogICAgICAgICAgICB2YXIgc2VsZiA9IHRoaXM7CgogICAgICAgICAgICB2YXIgY3VycmVudCA9IHNlbGYuY3VycmVudDsKICAgICAgICAgICAgdmFyICR3aGF0ICAgPSBjdXJyZW50LiRjb250ZW50OwoKICAgICAgICAgICAgdmFyIHJleiA9IGZhbHNlOwoKICAgICAgICAgICAgaWYgKCAkd2hhdCApIHsKICAgICAgICAgICAgICAgIHJleiA9ICQuZmFuY3lib3guZ2V0VHJhbnNsYXRlKCAkd2hhdCApOwogICAgICAgICAgICAgICAgcmV6ID0gcmV6LndpZHRoIDwgY3VycmVudC53aWR0aCB8fCByZXouaGVpZ2h0IDwgY3VycmVudC5oZWlnaHQ7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXo7CgogICAgICAgIH0sCgoKICAgICAgICAvLyBDaGVjayBpZiBpbWFnZSBkaW1lbnNpb25zIGV4Y2VlZCBwYXJlbnQgZWxlbWVudAogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIGNhblBhbiA6IGZ1bmN0aW9uKCkgewoKICAgICAgICAgICAgdmFyIHNlbGYgPSB0aGlzOwoKICAgICAgICAgICAgdmFyIGN1cnJlbnQgPSBzZWxmLmN1cnJlbnQ7CiAgICAgICAgICAgIHZhciAkd2hhdCAgID0gY3VycmVudC4kY29udGVudDsKCiAgICAgICAgICAgIHZhciByZXogPSBmYWxzZTsKCiAgICAgICAgICAgIGlmICggJHdoYXQgKSB7CiAgICAgICAgICAgICAgICByZXogPSBzZWxmLmdldEZpdFBvcyggY3VycmVudCApOwogICAgICAgICAgICAgICAgcmV6ID0gTWF0aC5hYnMoICR3aGF0LndpZHRoKCkgLSByZXoud2lkdGggKSA+IDEgIHx8IE1hdGguYWJzKCAkd2hhdC5oZWlnaHQoKSAtIHJlei5oZWlnaHQgKSA+IDE7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXo7CgogICAgICAgIH0sCgoKICAgICAgICAvLyBMb2FkIGNvbnRlbnQgaW50byB0aGUgc2xpZGUKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgbG9hZFNsaWRlIDogZnVuY3Rpb24oIHNsaWRlICkgewoKICAgICAgICAgICAgdmFyIHNlbGYgPSB0aGlzLCB0eXBlLCAkc2xpZGU7CiAgICAgICAgICAgIHZhciBhamF4TG9hZDsKCiAgICAgICAgICAgIGlmICggc2xpZGUuaXNMb2FkaW5nICkgewogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoIHNsaWRlLmlzTG9hZGVkICkgewogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CgogICAgICAgICAgICBzbGlkZS5pc0xvYWRpbmcgPSB0cnVlOwoKICAgICAgICAgICAgc2VsZi50cmlnZ2VyKCAnYmVmb3JlTG9hZCcsIHNsaWRlICk7CgogICAgICAgICAgICB0eXBlICAgPSBzbGlkZS50eXBlOwogICAgICAgICAgICAkc2xpZGUgPSBzbGlkZS4kc2xpZGU7CgogICAgICAgICAgICAkc2xpZGUKICAgICAgICAgICAgICAgIC5vZmYoICdyZWZyZXNoJyApCiAgICAgICAgICAgICAgICAudHJpZ2dlciggJ29uUmVzZXQnICkKICAgICAgICAgICAgICAgIC5hZGRDbGFzcyggJ2ZhbmN5Ym94LXNsaWRlLS0nICsgKCB0eXBlIHx8ICd1bmtub3duJyApICkKICAgICAgICAgICAgICAgIC5hZGRDbGFzcyggc2xpZGUub3B0cy5zbGlkZUNsYXNzICk7CgogICAgICAgICAgICAvLyBDcmVhdGUgY29udGVudCBkZXBlbmRpbmcgb24gdGhlIHR5cGUKCiAgICAgICAgICAgIHN3aXRjaCAoIHR5cGUgKSB7CgogICAgICAgICAgICAgICAgY2FzZSAnaW1hZ2UnOgoKICAgICAgICAgICAgICAgICAgICBzZWxmLnNldEltYWdlKCBzbGlkZSApOwoKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgJ2lmcmFtZSc6CgogICAgICAgICAgICAgICAgICAgIHNlbGYuc2V0SWZyYW1lKCBzbGlkZSApOwoKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgJ2h0bWwnOgoKICAgICAgICAgICAgICAgICAgICBzZWxmLnNldENvbnRlbnQoIHNsaWRlLCBzbGlkZS5zcmMgfHwgc2xpZGUuY29udGVudCApOwoKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgJ2lubGluZSc6CgogICAgICAgICAgICAgICAgICAgIGlmICggJCggc2xpZGUuc3JjICkubGVuZ3RoICkgewogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNldENvbnRlbnQoIHNsaWRlLCAkKCBzbGlkZS5zcmMgKSApOwoKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNldEVycm9yKCBzbGlkZSApOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBjYXNlICdhamF4JzoKCiAgICAgICAgICAgICAgICAgICAgc2VsZi5zaG93TG9hZGluZyggc2xpZGUgKTsKCiAgICAgICAgICAgICAgICAgICAgYWpheExvYWQgPSAkLmFqYXgoICQuZXh0ZW5kKCB7fSwgc2xpZGUub3B0cy5hamF4LnNldHRpbmdzLCB7CiAgICAgICAgICAgICAgICAgICAgICAgIHVybCA6IHNsaWRlLnNyYywKICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzcyA6IGZ1bmN0aW9uICggZGF0YSwgdGV4dFN0YXR1cyApIHsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIHRleHRTdGF0dXMgPT09ICdzdWNjZXNzJyApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNldENvbnRlbnQoIHNsaWRlLCBkYXRhICk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICBlcnJvciA6IGZ1bmN0aW9uICgganFYSFIsIHRleHRTdGF0dXMgKSB7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBqcVhIUiAmJiB0ZXh0U3RhdHVzICE9PSAnYWJvcnQnICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2V0RXJyb3IoIHNsaWRlICk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSkpOwoKICAgICAgICAgICAgICAgICAgICAkc2xpZGUub25lKCAnb25SZXNldCcsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgYWpheExvYWQuYWJvcnQoKTsKICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBjYXNlICd2aWRlbycgOgoKICAgICAgICAgICAgICAgICAgICBzZWxmLnNldENvbnRlbnQoIHNsaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAnPHZpZGVvIGNvbnRyb2xzPicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICc8c291cmNlIHNyYz0iJyArIHNsaWRlLnNyYyArICciIHR5cGU9IicgKyBzbGlkZS5vcHRzLnZpZGVvRm9ybWF0ICsgJyI+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnWW91ciBicm93c2VyIGRvZXNuXCd0IHN1cHBvcnQgSFRNTDUgdmlkZW8nICsKICAgICAgICAgICAgICAgICAgICAgICAgJzwvdmlkZW8+JwogICAgICAgICAgICAgICAgICAgICk7CgogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgZGVmYXVsdDoKCiAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXRFcnJvciggc2xpZGUgKTsKCiAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiB0cnVlOwoKICAgICAgICB9LAoKCiAgICAgICAgLy8gVXNlIHRodW1ibmFpbCBpbWFnZSwgaWYgcG9zc2libGUKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICBzZXRJbWFnZSA6IGZ1bmN0aW9uKCBzbGlkZSApIHsKCiAgICAgICAgICAgIHZhciBzZWxmICAgPSB0aGlzOwogICAgICAgICAgICB2YXIgc3Jjc2V0ID0gc2xpZGUub3B0cy5zcmNzZXQgfHwgc2xpZGUub3B0cy5pbWFnZS5zcmNzZXQ7CgogICAgICAgICAgICB2YXIgZm91bmQsIHRlbXAsIHB4UmF0aW8sIHdpbmRvd1dpZHRoOwoKICAgICAgICAgICAgLy8gSWYgd2UgaGF2ZSAic3Jjc2V0IiwgdGhlbiB3ZSBuZWVkIHRvIGZpbmQgbWF0Y2hpbmcgInNyYyIgdmFsdWUuCiAgICAgICAgICAgIC8vIFRoaXMgaXMgbmVjZXNzYXJ5LCBiZWNhdXNlIHdoZW4geW91IHNldCBhbiBzcmMgYXR0cmlidXRlLCB0aGUgYnJvd3NlciB3aWxsIHByZWxvYWQgdGhlIGltYWdlCiAgICAgICAgICAgIC8vIGJlZm9yZSBhbnkgamF2YXNjcmlwdCBvciBldmVuIENTUyBpcyBhcHBsaWVkLgogICAgICAgICAgICBpZiAoIHNyY3NldCApIHsKICAgICAgICAgICAgICAgIHB4UmF0aW8gICAgID0gd2luZG93LmRldmljZVBpeGVsUmF0aW8gfHwgMTsKICAgICAgICAgICAgICAgIHdpbmRvd1dpZHRoID0gd2luZG93LmlubmVyV2lkdGggICogcHhSYXRpbzsKCiAgICAgICAgICAgICAgICB0ZW1wID0gc3Jjc2V0LnNwbGl0KCcsJykubWFwKGZ1bmN0aW9uICggZWwgKSB7CiAgICAgICAgICAgIAkJdmFyIHJldCA9IHt9OwoKICAgICAgICAgICAgCQllbC50cmltKCkuc3BsaXQoL1xzKy8pLmZvckVhY2goZnVuY3Rpb24gKCBlbCwgaSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZhbHVlID0gcGFyc2VJbnQoIGVsLnN1YnN0cmluZygwLCBlbC5sZW5ndGggLSAxKSwgMTAgKTsKCiAgICAgICAgICAgIAkJCWlmICggaSA9PT0gMCApIHsKICAgICAgICAgICAgCQkJCXJldHVybiAoIHJldC51cmwgPSBlbCApOwogICAgICAgICAgICAJCQl9CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIHZhbHVlICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0LnZhbHVlICAgPSB2YWx1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldC5wb3N0Zml4ID0gZWxbIGVsLmxlbmd0aCAtIDEgXTsKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgCQl9KTsKCiAgICAgICAgICAgIAkJcmV0dXJuIHJldDsKICAgICAgICAgICAgCX0pOwoKICAgICAgICAgICAgICAgIC8vIFNvcnQgYnkgdmFsdWUKICAgICAgICAgICAgICAgIHRlbXAuc29ydChmdW5jdGlvbiAoYSwgYikgewogICAgICAgICAgICAgICAgICByZXR1cm4gYS52YWx1ZSAtIGIudmFsdWU7CiAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAvLyBPaywgbm93IHdlIGhhdmUgYW4gYXJyYXkgb2YgYWxsIHNyY3NldCB2YWx1ZXMKICAgICAgICAgICAgICAgIGZvciAoIHZhciBqID0gMDsgaiA8IHRlbXAubGVuZ3RoOyBqKysgKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGVsID0gdGVtcFsgaiBdOwoKICAgICAgICAgICAgICAgICAgICBpZiAoICggZWwucG9zdGZpeCA9PT0gJ3cnICYmIGVsLnZhbHVlID49IHdpbmRvd1dpZHRoICkgfHwgKCBlbC5wb3N0Zml4ID09PSAneCcgJiYgZWwudmFsdWUgPj0gcHhSYXRpbyApICkgewogICAgICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IGVsOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gSWYgbm90IGZvdW5kLCB0YWtlIHRoZSBsYXN0IG9uZQogICAgICAgICAgICAgICAgaWYgKCAhZm91bmQgJiYgdGVtcC5sZW5ndGggKSB7CiAgICAgICAgICAgICAgICAgICAgZm91bmQgPSB0ZW1wWyB0ZW1wLmxlbmd0aCAtIDEgXTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIGZvdW5kICkgewogICAgICAgICAgICAgICAgICAgIHNsaWRlLnNyYyA9IGZvdW5kLnVybDsKCiAgICAgICAgICAgICAgICAgICAgLy8gSWYgd2UgaGF2ZSBkZWZhdWx0IHdpZHRoL2hlaWdodCB2YWx1ZXMsIHdlIGNhbiBjYWxjdWxhdGUgaGVpZ2h0IGZvciBtYXRjaGluZyBzb3VyY2UKICAgICAgICAgICAgICAgICAgICBpZiAoIHNsaWRlLndpZHRoICYmIHNsaWRlLmhlaWdodCAmJiBmb3VuZC5wb3N0Zml4ID09ICd3JyApIHsKICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGUuaGVpZ2h0ID0gKCBzbGlkZS53aWR0aCAvIHNsaWRlLmhlaWdodCApICogZm91bmQudmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlLndpZHRoICA9IGZvdW5kLnZhbHVlOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gVGhpcyB3aWxsIGJlIHdyYXBwZXIgY29udGFpbmluZyBib3RoIGdob3N0IGFuZCBhY3R1YWwgaW1hZ2UKICAgICAgICAgICAgc2xpZGUuJGNvbnRlbnQgPSAkKCc8ZGl2IGNsYXNzPSJmYW5jeWJveC1pbWFnZS13cmFwIj48L2Rpdj4nKQogICAgICAgICAgICAgICAgLmFkZENsYXNzKCAnZmFuY3lib3gtaXMtaGlkZGVuJyApCiAgICAgICAgICAgICAgICAuYXBwZW5kVG8oIHNsaWRlLiRzbGlkZSApOwoKCiAgICAgICAgICAgIC8vIElmIHdlIGhhdmUgYSB0aHVtYm5haWwsIHdlIGNhbiBkaXNwbGF5IGl0IHdoaWxlIGFjdHVhbCBpbWFnZSBpcyBsb2FkaW5nCiAgICAgICAgICAgIC8vIFVzZXJzIHdpbGwgbm90IHN0YXJlIGF0IGJsYWNrIHNjcmVlbiBhbmQgYWN0dWFsIGltYWdlIHdpbGwgYXBwZWFyIGdyYWR1YWxseQogICAgICAgICAgICBpZiAoIHNsaWRlLm9wdHMucHJlbG9hZCAhPT0gZmFsc2UgJiYgc2xpZGUub3B0cy53aWR0aCAmJiBzbGlkZS5vcHRzLmhlaWdodCAmJiAoIHNsaWRlLm9wdHMudGh1bWIgfHwgc2xpZGUub3B0cy4kdGh1bWIgKSApIHsKCiAgICAgICAgICAgICAgICBzbGlkZS53aWR0aCAgPSBzbGlkZS5vcHRzLndpZHRoOwogICAgICAgICAgICAgICAgc2xpZGUuaGVpZ2h0ID0gc2xpZGUub3B0cy5oZWlnaHQ7CgogICAgICAgICAgICAgICAgc2xpZGUuJGdob3N0ID0gJCgnPGltZyAvPicpCiAgICAgICAgICAgICAgICAgICAgLm9uZSgnZXJyb3InLCBmdW5jdGlvbigpIHsKCiAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykucmVtb3ZlKCk7CgogICAgICAgICAgICAgICAgICAgICAgICBzbGlkZS4kZ2hvc3QgPSBudWxsOwoKICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXRCaWdJbWFnZSggc2xpZGUgKTsKCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAub25lKCdsb2FkJywgZnVuY3Rpb24oKSB7CgogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFmdGVyTG9hZCggc2xpZGUgKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2V0QmlnSW1hZ2UoIHNsaWRlICk7CgogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgLmFkZENsYXNzKCAnZmFuY3lib3gtaW1hZ2UnICkKICAgICAgICAgICAgICAgICAgICAuYXBwZW5kVG8oIHNsaWRlLiRjb250ZW50ICkKICAgICAgICAgICAgICAgICAgICAuYXR0ciggJ3NyYycsIHNsaWRlLm9wdHMudGh1bWIgfHwgc2xpZGUub3B0cy4kdGh1bWIuYXR0ciggJ3NyYycgKSApOwoKICAgICAgICAgICAgfSBlbHNlIHsKCiAgICAgICAgICAgICAgICBzZWxmLnNldEJpZ0ltYWdlKCBzbGlkZSApOwoKICAgICAgICAgICAgfQoKICAgICAgICB9LAoKCiAgICAgICAgLy8gQ3JlYXRlIGZ1bGwtc2l6ZSBpbWFnZQogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgc2V0QmlnSW1hZ2UgOiBmdW5jdGlvbiAoIHNsaWRlICkgewogICAgICAgICAgICB2YXIgc2VsZiA9IHRoaXM7CiAgICAgICAgICAgIHZhciAkaW1nID0gJCgnPGltZyAvPicpOwoKICAgICAgICAgICAgc2xpZGUuJGltYWdlID0gJGltZwogICAgICAgICAgICAgICAgLm9uZSgnZXJyb3InLCBmdW5jdGlvbigpIHsKCiAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXRFcnJvciggc2xpZGUgKTsKCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgLm9uZSgnbG9hZCcsIGZ1bmN0aW9uKCkgewoKICAgICAgICAgICAgICAgICAgICAvLyBDbGVhciB0aW1lb3V0IHRoYXQgY2hlY2tzIGlmIGxvYWRpbmcgaWNvbiBuZWVkcyB0byBiZSBkaXNwbGF5ZWQKICAgICAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoIHNsaWRlLnRpbW91dHMgKTsKCiAgICAgICAgICAgICAgICAgICAgc2xpZGUudGltb3V0cyA9IG51bGw7CgogICAgICAgICAgICAgICAgICAgIGlmICggc2VsZi5pc0Nsb3NpbmcgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIHNsaWRlLndpZHRoICA9IHNsaWRlLm9wdHMud2lkdGggIHx8IHRoaXMubmF0dXJhbFdpZHRoOwogICAgICAgICAgICAgICAgICAgIHNsaWRlLmhlaWdodCA9IHNsaWRlLm9wdHMuaGVpZ2h0IHx8IHRoaXMubmF0dXJhbEhlaWdodDsKCiAgICAgICAgICAgICAgICAgICAgaWYgKCBzbGlkZS5vcHRzLmltYWdlLnNyY3NldCApIHsKICAgICAgICAgICAgICAgICAgICAgICAgJGltZy5hdHRyKCAnc2l6ZXMnLCAnMTAwdncnICkuYXR0ciggJ3NyY3NldCcsIHNsaWRlLm9wdHMuaW1hZ2Uuc3Jjc2V0ICk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBzZWxmLmhpZGVMb2FkaW5nKCBzbGlkZSApOwoKICAgICAgICAgICAgICAgICAgICBpZiAoIHNsaWRlLiRnaG9zdCApIHsKCiAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlLnRpbW91dHMgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGUudGltb3V0cyA9IG51bGw7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGUuJGdob3N0LmhpZGUoKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIE1hdGgubWluKCAzMDAsIE1hdGgubWF4KCAxMDAwLCBzbGlkZS5oZWlnaHQgLyAxNjAwICkgKSApOwoKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFmdGVyTG9hZCggc2xpZGUgKTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIC5hZGRDbGFzcyggJ2ZhbmN5Ym94LWltYWdlJyApCiAgICAgICAgICAgICAgICAuYXR0cignc3JjJywgc2xpZGUuc3JjKQogICAgICAgICAgICAgICAgLmFwcGVuZFRvKCBzbGlkZS4kY29udGVudCApOwoKICAgICAgICAgICAgaWYgKCAoICRpbWdbMF0uY29tcGxldGUgfHwgJGltZ1swXS5yZWFkeVN0YXRlID09ICJjb21wbGV0ZSIgKSAmJiAkaW1nWzBdLm5hdHVyYWxXaWR0aCAmJiAkaW1nWzBdLm5hdHVyYWxIZWlnaHQgKSB7CiAgICAgICAgICAgICAgICAgICRpbWcudHJpZ2dlciggJ2xvYWQnICk7CgogICAgICAgICAgICB9IGVsc2UgaWYoICRpbWdbMF0uZXJyb3IgKSB7CiAgICAgICAgICAgICAgICAgJGltZy50cmlnZ2VyKCAnZXJyb3InICk7CgogICAgICAgICAgICB9IGVsc2UgewoKICAgICAgICAgICAgICAgIHNsaWRlLnRpbW91dHMgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIGlmICggISRpbWdbMF0uY29tcGxldGUgJiYgIXNsaWRlLmhhc0Vycm9yICkgewogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNob3dMb2FkaW5nKCBzbGlkZSApOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICB9LCAxMDApOwoKICAgICAgICAgICAgfQoKICAgICAgICB9LAoKCiAgICAgICAgLy8gQ3JlYXRlIGlmcmFtZSB3cmFwcGVyLCBpZnJhbWUgYW5kIGJpbmRpbmdzCiAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIHNldElmcmFtZSA6IGZ1bmN0aW9uKCBzbGlkZSApIHsKICAgICAgICAgICAgdmFyIHNlbGYJPSB0aGlzLAogICAgICAgICAgICAgICAgb3B0cyAgICA9IHNsaWRlLm9wdHMuaWZyYW1lLAogICAgICAgICAgICAgICAgJHNsaWRlCT0gc2xpZGUuJHNsaWRlLAogICAgICAgICAgICAgICAgJGlmcmFtZTsKCiAgICAgICAgICAgIHNsaWRlLiRjb250ZW50ID0gJCgnPGRpdiBjbGFzcz0iZmFuY3lib3gtY29udGVudCcgKyAoIG9wdHMucHJlbG9hZCA/ICcgZmFuY3lib3gtaXMtaGlkZGVuJyA6ICcnICkgKyAnIj48L2Rpdj4nKQogICAgICAgICAgICAgICAgLmNzcyggb3B0cy5jc3MgKQogICAgICAgICAgICAgICAgLmFwcGVuZFRvKCAkc2xpZGUgKTsKCiAgICAgICAgICAgICRpZnJhbWUgPSAkKCBvcHRzLnRwbC5yZXBsYWNlKC9ce3JuZFx9L2csIG5ldyBEYXRlKCkuZ2V0VGltZSgpKSApCiAgICAgICAgICAgICAgICAuYXR0ciggb3B0cy5hdHRyICkKICAgICAgICAgICAgICAgIC5hcHBlbmRUbyggc2xpZGUuJGNvbnRlbnQgKTsKCiAgICAgICAgICAgIGlmICggb3B0cy5wcmVsb2FkICkgewoKICAgICAgICAgICAgICAgIHNlbGYuc2hvd0xvYWRpbmcoIHNsaWRlICk7CgogICAgICAgICAgICAgICAgLy8gVW5mb3J0dW5hdGVseSwgaXQgaXMgbm90IGFsd2F5cyBwb3NzaWJsZSB0byBkZXRlcm1pbmUgaWYgaWZyYW1lIGlzIHN1Y2Nlc3NmdWxseSBsb2FkZWQKICAgICAgICAgICAgICAgIC8vIChkdWUgdG8gYnJvd3NlciBzZWN1cml0eSBwb2xpY3kpCgogICAgICAgICAgICAgICAgJGlmcmFtZS5vbignbG9hZC5mYiBlcnJvci5mYicsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICB0aGlzLmlzUmVhZHkgPSAxOwoKICAgICAgICAgICAgICAgICAgICBzbGlkZS4kc2xpZGUudHJpZ2dlciggJ3JlZnJlc2gnICk7CgogICAgICAgICAgICAgICAgICAgIHNlbGYuYWZ0ZXJMb2FkKCBzbGlkZSApOwogICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgLy8gUmVjYWxjdWxhdGUgaWZyYW1lIGNvbnRlbnQgc2l6ZQogICAgICAgICAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICAgICAgICAgICRzbGlkZS5vbigncmVmcmVzaC5mYicsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHZhciAkd3JhcCA9IHNsaWRlLiRjb250ZW50LAogICAgICAgICAgICAgICAgICAgICAgICBmcmFtZVdpZHRoICA9IG9wdHMuY3NzLndpZHRoLAogICAgICAgICAgICAgICAgICAgICAgICBmcmFtZUhlaWdodCA9IG9wdHMuY3NzLmhlaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsV2lkdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICRjb250ZW50cywKICAgICAgICAgICAgICAgICAgICAgICAgJGJvZHk7CgogICAgICAgICAgICAgICAgICAgIGlmICggJGlmcmFtZVswXS5pc1JlYWR5ICE9PSAxICkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiBjb250ZW50IGlzIGFjY2Vzc2libGUsCiAgICAgICAgICAgICAgICAgICAgLy8gaXQgd2lsbCBmYWlsIGlmIGZyYW1lIGlzIG5vdCB3aXRoIHRoZSBzYW1lIG9yaWdpbgoKICAgICAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgICAgICAkY29udGVudHMgPSAkaWZyYW1lLmNvbnRlbnRzKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICRib2R5ICAgICA9ICRjb250ZW50cy5maW5kKCdib2R5Jyk7CgogICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGlnbm9yZSkge30KCiAgICAgICAgICAgICAgICAgICAgLy8gQ2FsY3VsYXRlIGRpbWVuc2lvbnMgZm9yIHRoZSB3cmFwcGVyCiAgICAgICAgICAgICAgICAgICAgaWYgKCAkYm9keSAmJiAkYm9keS5sZW5ndGggKSB7CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIGZyYW1lV2lkdGggPT09IHVuZGVmaW5lZCApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbFdpZHRoID0gJGlmcmFtZVswXS5jb250ZW50V2luZG93LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxXaWR0aDsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFtZVdpZHRoID0gTWF0aC5jZWlsKCAkYm9keS5vdXRlcldpZHRoKHRydWUpICsgKCAkd3JhcC53aWR0aCgpIC0gc2Nyb2xsV2lkdGggKSApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWVXaWR0aCArPSAkd3JhcC5vdXRlcldpZHRoKCkgLSAkd3JhcC5pbm5lcldpZHRoKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICggZnJhbWVIZWlnaHQgPT09IHVuZGVmaW5lZCApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyYW1lSGVpZ2h0ID0gTWF0aC5jZWlsKCAkYm9keS5vdXRlckhlaWdodCh0cnVlKSApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWVIZWlnaHQgKz0gJHdyYXAub3V0ZXJIZWlnaHQoKSAtICR3cmFwLmlubmVySGVpZ2h0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlc2l6ZSB3cmFwcGVyIHRvIGZpdCBpZnJhbWUgY29udGVudAogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIGZyYW1lV2lkdGggKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd3JhcC53aWR0aCggZnJhbWVXaWR0aCApOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIGZyYW1lSGVpZ2h0ICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdyYXAuaGVpZ2h0KCBmcmFtZUhlaWdodCApOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkd3JhcC5yZW1vdmVDbGFzcyggJ2ZhbmN5Ym94LWlzLWhpZGRlbicgKTsKCiAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIH0gZWxzZSB7CgogICAgICAgICAgICAgICAgdGhpcy5hZnRlckxvYWQoIHNsaWRlICk7CgogICAgICAgICAgICB9CgogICAgICAgICAgICAkaWZyYW1lLmF0dHIoICdzcmMnLCBzbGlkZS5zcmMgKTsKCiAgICAgICAgICAgIGlmICggc2xpZGUub3B0cy5zbWFsbEJ0biA9PT0gdHJ1ZSApIHsKICAgICAgICAgICAgICAgIHNsaWRlLiRjb250ZW50LnByZXBlbmQoIHNlbGYudHJhbnNsYXRlKCBzbGlkZSwgc2xpZGUub3B0cy5idG5UcGwuc21hbGxCdG4gKSApOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBSZW1vdmUgaWZyYW1lIGlmIGNsb3Npbmcgb3IgY2hhbmdpbmcgZ2FsbGVyeSBpdGVtCiAgICAgICAgICAgICRzbGlkZS5vbmUoICdvblJlc2V0JywgZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgIC8vIFRoaXMgaGVscHMgSUUgbm90IHRvIHRocm93IGVycm9ycyB3aGVuIGNsb3NpbmcKICAgICAgICAgICAgICAgIHRyeSB7CgogICAgICAgICAgICAgICAgICAgICQoIHRoaXMgKS5maW5kKCAnaWZyYW1lJyApLmhpZGUoKS5hdHRyKCAnc3JjJywgJy8vYWJvdXQ6YmxhbmsnICk7CgogICAgICAgICAgICAgICAgfSBjYXRjaCAoIGlnbm9yZSApIHt9CgogICAgICAgICAgICAgICAgJCggdGhpcyApLmVtcHR5KCk7CgogICAgICAgICAgICAgICAgc2xpZGUuaXNMb2FkZWQgPSBmYWxzZTsKCiAgICAgICAgICAgIH0pOwoKICAgICAgICB9LAoKCiAgICAgICAgLy8gV3JhcCBhbmQgYXBwZW5kIGNvbnRlbnQgdG8gdGhlIHNsaWRlCiAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgc2V0Q29udGVudCA6IGZ1bmN0aW9uICggc2xpZGUsIGNvbnRlbnQgKSB7CgogICAgICAgICAgICB2YXIgc2VsZiA9IHRoaXM7CgogICAgICAgICAgICBpZiAoIHNlbGYuaXNDbG9zaW5nICkgewogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CgogICAgICAgICAgICBzZWxmLmhpZGVMb2FkaW5nKCBzbGlkZSApOwoKICAgICAgICAgICAgc2xpZGUuJHNsaWRlLmVtcHR5KCk7CgogICAgICAgICAgICBpZiAoIGlzUXVlcnkoIGNvbnRlbnQgKSAmJiBjb250ZW50LnBhcmVudCgpLmxlbmd0aCApIHsKCiAgICAgICAgICAgICAgICAvLyBJZiBjb250ZW50IGlzIGEgalF1ZXJ5IG9iamVjdCwgdGhlbiBpdCB3aWxsIGJlIG1vdmVkIHRvIHRoZSBzbGlkZS4KICAgICAgICAgICAgICAgIC8vIFRoZSBwbGFjZWhvbGRlciBpcyBjcmVhdGVkIHNvIHdlIHdpbGwga25vdyB3aGVyZSB0byBwdXQgaXQgYmFjay4KICAgICAgICAgICAgICAgIC8vIElmIHVzZXIgaXMgbmF2aWdhdGluZyBnYWxsZXJ5IGZhc3QsIHRoZW4gdGhlIGNvbnRlbnQgbWlnaHQgYmUgYWxyZWFkeSBpbnNpZGUgZmFuY3lCb3gKICAgICAgICAgICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgICAgICAgICAvLyBNYWtlIHN1cmUgY29udGVudCBpcyBub3QgYWxyZWFkeSBtb3ZlZCB0byBmYW5jeUJveAogICAgICAgICAgICAgICAgY29udGVudC5wYXJlbnQoICcuZmFuY3lib3gtc2xpZGUtLWlubGluZScgKS50cmlnZ2VyKCAnb25SZXNldCcgKTsKCiAgICAgICAgICAgICAgICAvLyBDcmVhdGUgdGVtcG9yYXJ5IGVsZW1lbnQgbWFya2luZyBvcmlnaW5hbCBwbGFjZSBvZiB0aGUgY29udGVudAogICAgICAgICAgICAgICAgc2xpZGUuJHBsYWNlaG9sZGVyID0gJCggJzxkaXY+PC9kaXY+JyApLmhpZGUoKS5pbnNlcnRBZnRlciggY29udGVudCApOwoKICAgICAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSBjb250ZW50IGlzIHZpc2libGUKICAgICAgICAgICAgICAgIGNvbnRlbnQuY3NzKCdkaXNwbGF5JywgJ2lubGluZS1ibG9jaycpOwoKICAgICAgICAgICAgfSBlbHNlIGlmICggIXNsaWRlLmhhc0Vycm9yICkgewoKICAgICAgICAgICAgICAgIC8vIElmIGNvbnRlbnQgaXMganVzdCBhIHBsYWluIHRleHQsIHRyeSB0byBjb252ZXJ0IGl0IHRvIGh0bWwKICAgICAgICAgICAgICAgIGlmICggJC50eXBlKCBjb250ZW50ICkgPT09ICdzdHJpbmcnICkgewogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgPSAkKCc8ZGl2PicpLmFwcGVuZCggJC50cmltKCBjb250ZW50ICkgKS5jb250ZW50cygpOwoKICAgICAgICAgICAgICAgICAgICAvLyBJZiB3ZSBoYXZlIHRleHQgbm9kZSwgdGhlbiBhZGQgd3JhcHBpbmcgZWxlbWVudCB0byBtYWtlIHZlcnRpY2FsIGFsaWdubWVudCB3b3JrCiAgICAgICAgICAgICAgICAgICAgaWYgKCBjb250ZW50WzBdLm5vZGVUeXBlID09PSAzICkgewogICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50ID0gJCgnPGRpdj4nKS5odG1sKCBjb250ZW50ICk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIElmICJmaWx0ZXIiIG9wdGlvbiBpcyBwcm92aWRlZCwgdGhlbiBmaWx0ZXIgY29udGVudAogICAgICAgICAgICAgICAgaWYgKCBzbGlkZS5vcHRzLmZpbHRlciApIHsKICAgICAgICAgICAgICAgICAgICBjb250ZW50ID0gJCgnPGRpdj4nKS5odG1sKCBjb250ZW50ICkuZmluZCggc2xpZGUub3B0cy5maWx0ZXIgKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHNsaWRlLiRzbGlkZS5vbmUoJ29uUmVzZXQnLCBmdW5jdGlvbiAoKSB7CgogICAgICAgICAgICAgICAgLy8gUGF1c2UgYWxsIGh0bWw1IHZpZGVvL2F1ZGlvCiAgICAgICAgICAgICAgICAkKCB0aGlzICkuZmluZCggJ3ZpZGVvLGF1ZGlvJyApLnRyaWdnZXIoICdwYXVzZScgKTsKCiAgICAgICAgICAgICAgICAvLyBQdXQgY29udGVudCBiYWNrCiAgICAgICAgICAgICAgICBpZiAoIHNsaWRlLiRwbGFjZWhvbGRlciApIHsKICAgICAgICAgICAgICAgICAgICBzbGlkZS4kcGxhY2Vob2xkZXIuYWZ0ZXIoIGNvbnRlbnQuaGlkZSgpICkucmVtb3ZlKCk7CgogICAgICAgICAgICAgICAgICAgIHNsaWRlLiRwbGFjZWhvbGRlciA9IG51bGw7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gUmVtb3ZlIGN1c3RvbSBjbG9zZSBidXR0b24KICAgICAgICAgICAgICAgIGlmICggc2xpZGUuJHNtYWxsQnRuICkgewogICAgICAgICAgICAgICAgICAgIHNsaWRlLiRzbWFsbEJ0bi5yZW1vdmUoKTsKCiAgICAgICAgICAgICAgICAgICAgc2xpZGUuJHNtYWxsQnRuID0gbnVsbDsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvLyBSZW1vdmUgY29udGVudCBhbmQgbWFyayBzbGlkZSBhcyBub3QgbG9hZGVkCiAgICAgICAgICAgICAgICBpZiAoICFzbGlkZS5oYXNFcnJvciApIHsKICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmVtcHR5KCk7CgogICAgICAgICAgICAgICAgICAgIHNsaWRlLmlzTG9hZGVkID0gZmFsc2U7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIHNsaWRlLiRjb250ZW50ID0gJCggY29udGVudCApLmFwcGVuZFRvKCBzbGlkZS4kc2xpZGUgKTsKCiAgICAgICAgICAgIHRoaXMuYWZ0ZXJMb2FkKCBzbGlkZSApOwogICAgICAgIH0sCgogICAgICAgIC8vIERpc3BsYXkgZXJyb3IgbWVzc2FnZQogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICBzZXRFcnJvciA6IGZ1bmN0aW9uICggc2xpZGUgKSB7CgogICAgICAgICAgICBzbGlkZS5oYXNFcnJvciA9IHRydWU7CgogICAgICAgICAgICBzbGlkZS4kc2xpZGUucmVtb3ZlQ2xhc3MoICdmYW5jeWJveC1zbGlkZS0tJyArIHNsaWRlLnR5cGUgKTsKCiAgICAgICAgICAgIHRoaXMuc2V0Q29udGVudCggc2xpZGUsIHRoaXMudHJhbnNsYXRlKCBzbGlkZSwgc2xpZGUub3B0cy5lcnJvclRwbCApICk7CgogICAgICAgIH0sCgoKICAgICAgICAvLyBTaG93IGxvYWRpbmcgaWNvbiBpbnNpZGUgdGhlIHNsaWRlCiAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICBzaG93TG9hZGluZyA6IGZ1bmN0aW9uKCBzbGlkZSApIHsKCiAgICAgICAgICAgIHZhciBzZWxmID0gdGhpczsKCiAgICAgICAgICAgIHNsaWRlID0gc2xpZGUgfHwgc2VsZi5jdXJyZW50OwoKICAgICAgICAgICAgaWYgKCBzbGlkZSAmJiAhc2xpZGUuJHNwaW5uZXIgKSB7CiAgICAgICAgICAgICAgICBzbGlkZS4kc3Bpbm5lciA9ICQoIHNlbGYub3B0cy5zcGlubmVyVHBsICkuYXBwZW5kVG8oIHNsaWRlLiRzbGlkZSApOwogICAgICAgICAgICB9CgogICAgICAgIH0sCgogICAgICAgIC8vIFJlbW92ZSBsb2FkaW5nIGljb24gZnJvbSB0aGUgc2xpZGUKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIGhpZGVMb2FkaW5nIDogZnVuY3Rpb24oIHNsaWRlICkgewoKICAgICAgICAgICAgdmFyIHNlbGYgPSB0aGlzOwoKICAgICAgICAgICAgc2xpZGUgPSBzbGlkZSB8fCBzZWxmLmN1cnJlbnQ7CgogICAgICAgICAgICBpZiAoIHNsaWRlICYmIHNsaWRlLiRzcGlubmVyICkgewogICAgICAgICAgICAgICAgc2xpZGUuJHNwaW5uZXIucmVtb3ZlKCk7CgogICAgICAgICAgICAgICAgZGVsZXRlIHNsaWRlLiRzcGlubmVyOwogICAgICAgICAgICB9CgogICAgICAgIH0sCgoKICAgICAgICAvLyBBZGp1c3RtZW50cyBhZnRlciBzbGlkZSBjb250ZW50IGhhcyBiZWVuIGxvYWRlZAogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIGFmdGVyTG9hZCA6IGZ1bmN0aW9uKCBzbGlkZSApIHsKCiAgICAgICAgICAgIHZhciBzZWxmID0gdGhpczsKCiAgICAgICAgICAgIGlmICggc2VsZi5pc0Nsb3NpbmcgKSB7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHNsaWRlLmlzTG9hZGluZyA9IGZhbHNlOwogICAgICAgICAgICBzbGlkZS5pc0xvYWRlZCAgPSB0cnVlOwoKICAgICAgICAgICAgc2VsZi50cmlnZ2VyKCAnYWZ0ZXJMb2FkJywgc2xpZGUgKTsKCiAgICAgICAgICAgIHNlbGYuaGlkZUxvYWRpbmcoIHNsaWRlICk7CgogICAgICAgICAgICBpZiAoIHNsaWRlLm9wdHMuc21hbGxCdG4gJiYgIXNsaWRlLiRzbWFsbEJ0biApIHsKICAgICAgICAgICAgICAgIHNsaWRlLiRzbWFsbEJ0biA9ICQoIHNlbGYudHJhbnNsYXRlKCBzbGlkZSwgc2xpZGUub3B0cy5idG5UcGwuc21hbGxCdG4gKSApLmFwcGVuZFRvKCBzbGlkZS4kY29udGVudC5maWx0ZXIoJ2Rpdixmb3JtJykuZmlyc3QoKSApOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoIHNsaWRlLm9wdHMucHJvdGVjdCAmJiBzbGlkZS4kY29udGVudCAmJiAhc2xpZGUuaGFzRXJyb3IgKSB7CgogICAgICAgICAgICAgICAgLy8gRGlzYWJsZSByaWdodCBjbGljawogICAgICAgICAgICAgICAgc2xpZGUuJGNvbnRlbnQub24oICdjb250ZXh0bWVudS5mYicsIGZ1bmN0aW9uKCBlICkgewogICAgICAgICAgICAgICAgICAgICBpZiAoIGUuYnV0dG9uID09IDIgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAvLyBBZGQgZmFrZSBlbGVtZW50IG9uIHRvcCBvZiB0aGUgaW1hZ2UKICAgICAgICAgICAgICAgIC8vIFRoaXMgbWFrZXMgYSBiaXQgaGFyZGVyIGZvciB1c2VyIHRvIHNlbGVjdCBpbWFnZQogICAgICAgICAgICAgICAgaWYgKCBzbGlkZS50eXBlID09PSAnaW1hZ2UnICkgewogICAgICAgICAgICAgICAgICAgICQoICc8ZGl2IGNsYXNzPSJmYW5jeWJveC1zcGFjZWJhbGwiPjwvZGl2PicgKS5hcHBlbmRUbyggc2xpZGUuJGNvbnRlbnQgKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHNlbGYucmV2ZWFsQ29udGVudCggc2xpZGUgKTsKCiAgICAgICAgfSwKCgogICAgICAgIC8vIE1ha2UgY29udGVudCB2aXNpYmxlCiAgICAgICAgLy8gVGhpcyBtZXRob2QgaXMgY2FsbGVkIHJpZ2h0IGFmdGVyIGNvbnRlbnQgaGFzIGJlZW4gbG9hZGVkIG9yCiAgICAgICAgLy8gdXNlciBuYXZpZ2F0ZXMgZ2FsbGVyeSBhbmQgdHJhbnNpdGlvbiBzaG91bGQgc3RhcnQKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgcmV2ZWFsQ29udGVudCA6IGZ1bmN0aW9uKCBzbGlkZSApIHsKCiAgICAgICAgICAgIHZhciBzZWxmICAgPSB0aGlzOwogICAgICAgICAgICB2YXIgJHNsaWRlID0gc2xpZGUuJHNsaWRlOwoKICAgICAgICAgICAgdmFyIGVmZmVjdCwgZWZmZWN0Q2xhc3NOYW1lLCBkdXJhdGlvbiwgb3BhY2l0eSwgZW5kLCBzdGFydCA9IGZhbHNlOwoKICAgICAgICAgICAgZWZmZWN0ICAgPSBzbGlkZS5vcHRzWyBzZWxmLmZpcnN0UnVuID8gJ2FuaW1hdGlvbkVmZmVjdCcgICA6ICd0cmFuc2l0aW9uRWZmZWN0JyBdOwogICAgICAgICAgICBkdXJhdGlvbiA9IHNsaWRlLm9wdHNbIHNlbGYuZmlyc3RSdW4gPyAnYW5pbWF0aW9uRHVyYXRpb24nIDogJ3RyYW5zaXRpb25EdXJhdGlvbicgXTsKCiAgICAgICAgICAgIGR1cmF0aW9uID0gcGFyc2VJbnQoIHNsaWRlLmZvcmNlZER1cmF0aW9uID09PSB1bmRlZmluZWQgPyBkdXJhdGlvbiA6IHNsaWRlLmZvcmNlZER1cmF0aW9uLCAxMCApOwoKICAgICAgICAgICAgaWYgKCBzbGlkZS5pc01vdmVkIHx8IHNsaWRlLnBvcyAhPT0gc2VsZi5jdXJyUG9zIHx8ICFkdXJhdGlvbiApIHsKICAgICAgICAgICAgICAgIGVmZmVjdCA9IGZhbHNlOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBDaGVjayBpZiBjYW4gem9vbQogICAgICAgICAgICBpZiAoIGVmZmVjdCA9PT0gJ3pvb20nICYmICEoIHNsaWRlLnBvcyA9PT0gc2VsZi5jdXJyUG9zICYmIGR1cmF0aW9uICYmIHNsaWRlLnR5cGUgPT09ICdpbWFnZScgJiYgIXNsaWRlLmhhc0Vycm9yICYmICggc3RhcnQgPSBzZWxmLmdldFRodW1iUG9zKCBzbGlkZSApICkgKSApIHsKICAgICAgICAgICAgICAgIGVmZmVjdCA9ICdmYWRlJzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gWm9vbSBhbmltYXRpb24KICAgICAgICAgICAgLy8gPT09PT09PT09PT09PT0KCiAgICAgICAgICAgIGlmICggZWZmZWN0ID09PSAnem9vbScgKSB7CiAgICAgICAgICAgICAgICBlbmQgPSBzZWxmLmdldEZpdFBvcyggc2xpZGUgKTsKCiAgICAgICAgICAgICAgICBlbmQuc2NhbGVYID0gZW5kLndpZHRoICAvIHN0YXJ0LndpZHRoOwogICAgICAgICAgICAgICAgZW5kLnNjYWxlWSA9IGVuZC5oZWlnaHQgLyBzdGFydC5oZWlnaHQ7CgogICAgICAgICAgICAgICAgZGVsZXRlIGVuZC53aWR0aDsKICAgICAgICAgICAgICAgIGRlbGV0ZSBlbmQuaGVpZ2h0OwoKICAgICAgICAgICAgICAgIC8vIENoZWNrIGlmIHdlIG5lZWQgdG8gYW5pbWF0ZSBvcGFjaXR5CiAgICAgICAgICAgICAgICBvcGFjaXR5ID0gc2xpZGUub3B0cy56b29tT3BhY2l0eTsKCiAgICAgICAgICAgICAgICBpZiAoIG9wYWNpdHkgPT0gJ2F1dG8nICkgewogICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgPSBNYXRoLmFicyggc2xpZGUud2lkdGggLyBzbGlkZS5oZWlnaHQgLSBzdGFydC53aWR0aCAvIHN0YXJ0LmhlaWdodCApID4gMC4xOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmICggb3BhY2l0eSApIHsKICAgICAgICAgICAgICAgICAgICBzdGFydC5vcGFjaXR5ID0gMC4xOwogICAgICAgICAgICAgICAgICAgIGVuZC5vcGFjaXR5ICAgPSAxOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIERyYXcgaW1hZ2UgYXQgc3RhcnQgcG9zaXRpb24KICAgICAgICAgICAgICAgICQuZmFuY3lib3guc2V0VHJhbnNsYXRlKCBzbGlkZS4kY29udGVudC5yZW1vdmVDbGFzcyggJ2ZhbmN5Ym94LWlzLWhpZGRlbicgKSwgc3RhcnQgKTsKCiAgICAgICAgICAgICAgICBmb3JjZVJlZHJhdyggc2xpZGUuJGNvbnRlbnQgKTsKCiAgICAgICAgICAgICAgICAvLyBTdGFydCBhbmltYXRpb24KICAgICAgICAgICAgICAgICQuZmFuY3lib3guYW5pbWF0ZSggc2xpZGUuJGNvbnRlbnQsIGVuZCwgZHVyYXRpb24sIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHNlbGYuY29tcGxldGUoKTsKICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgc2VsZi51cGRhdGVTbGlkZSggc2xpZGUgKTsKCgogICAgICAgICAgICAvLyBTaW1wbHkgc2hvdyBjb250ZW50CiAgICAgICAgICAgIC8vID09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgICAgIGlmICggIWVmZmVjdCApIHsKICAgICAgICAgICAgICAgIGZvcmNlUmVkcmF3KCAkc2xpZGUgKTsKCiAgICAgICAgICAgICAgICBzbGlkZS4kY29udGVudC5yZW1vdmVDbGFzcyggJ2ZhbmN5Ym94LWlzLWhpZGRlbicgKTsKCiAgICAgICAgICAgICAgICBpZiAoIHNsaWRlLnBvcyA9PT0gc2VsZi5jdXJyUG9zICkgewogICAgICAgICAgICAgICAgICAgIHNlbGYuY29tcGxldGUoKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICQuZmFuY3lib3guc3RvcCggJHNsaWRlICk7CgogICAgICAgICAgICBlZmZlY3RDbGFzc05hbWUgPSAnZmFuY3lib3gtYW5pbWF0ZWQgZmFuY3lib3gtc2xpZGUtLScgKyAoIHNsaWRlLnBvcyA+PSBzZWxmLnByZXZQb3MgPyAnbmV4dCcgOiAncHJldmlvdXMnICkgKyAnIGZhbmN5Ym94LWZ4LScgKyBlZmZlY3Q7CgogICAgICAgICAgICAkc2xpZGUucmVtb3ZlQXR0ciggJ3N0eWxlJyApLnJlbW92ZUNsYXNzKCAnZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQgZmFuY3lib3gtc2xpZGUtLW5leHQgZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzJyApLmFkZENsYXNzKCBlZmZlY3RDbGFzc05hbWUgKTsKCiAgICAgICAgICAgIHNsaWRlLiRjb250ZW50LnJlbW92ZUNsYXNzKCAnZmFuY3lib3gtaXMtaGlkZGVuJyApOwoKICAgICAgICAgICAgLy9Gb3JjZSByZWZsb3cgZm9yIENTUzMgdHJhbnNpdGlvbnMKICAgICAgICAgICAgZm9yY2VSZWRyYXcoICRzbGlkZSApOwoKICAgICAgICAgICAgJC5mYW5jeWJveC5hbmltYXRlKCAkc2xpZGUsICdmYW5jeWJveC1zbGlkZS0tY3VycmVudCcsIGR1cmF0aW9uLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAkc2xpZGUucmVtb3ZlQ2xhc3MoIGVmZmVjdENsYXNzTmFtZSApLnJlbW92ZUF0dHIoICdzdHlsZScgKTsKCiAgICAgICAgICAgICAgICBpZiAoIHNsaWRlLnBvcyA9PT0gc2VsZi5jdXJyUG9zICkgewogICAgICAgICAgICAgICAgICAgIHNlbGYuY29tcGxldGUoKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgIH0sIHRydWUpOwoKICAgICAgICB9LAoKCiAgICAgICAgLy8gQ2hlY2sgaWYgd2UgY2FuIGFuZCBoYXZlIHRvIHpvb20gZnJvbSB0aHVtYm5haWwKICAgICAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICBnZXRUaHVtYlBvcyA6IGZ1bmN0aW9uKCBzbGlkZSApIHsKCiAgICAgICAgICAgIHZhciBzZWxmID0gdGhpczsKICAgICAgICAgICAgdmFyIHJleiAgPSBmYWxzZTsKCiAgICAgICAgICAgIC8vIENoZWNrIGlmIGVsZW1lbnQgaXMgaW5zaWRlIHRoZSB2aWV3cG9ydCBieSBhdCBsZWFzdCAxIHBpeGVsCiAgICAgICAgICAgIHZhciBpc0VsZW1lbnRWaXNpYmxlID0gZnVuY3Rpb24oICRlbCApIHsKICAgICAgICAgICAgICAgIHZhciBlbGVtZW50ID0gJGVsWzBdOwoKICAgICAgICAgICAgICAgIHZhciBlbGVtZW50UmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgICAgICAgICAgICAgICB2YXIgcGFyZW50UmVjdHMgPSBbXTsKCiAgICAgICAgICAgICAgICB2YXIgdmlzaWJsZUluQWxsUGFyZW50czsKCiAgICAgICAgICAgICAgICB3aGlsZSAoIGVsZW1lbnQucGFyZW50RWxlbWVudCAhPT0gbnVsbCApIHsKICAgICAgICAgICAgICAgICAgICBpZiAoICQoZWxlbWVudC5wYXJlbnRFbGVtZW50KS5jc3MoJ292ZXJmbG93JykgPT09ICdoaWRkZW4nICB8fCAkKGVsZW1lbnQucGFyZW50RWxlbWVudCkuY3NzKCdvdmVyZmxvdycpID09PSAnYXV0bycgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudFJlY3RzLnB1c2goZWxlbWVudC5wYXJlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIGVsZW1lbnQgPSBlbGVtZW50LnBhcmVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgdmlzaWJsZUluQWxsUGFyZW50cyA9IHBhcmVudFJlY3RzLmV2ZXJ5KGZ1bmN0aW9uKHBhcmVudFJlY3QpewogICAgICAgICAgICAgICAgICAgIHZhciB2aXNpYmxlUGl4ZWxYID0gTWF0aC5taW4oZWxlbWVudFJlY3QucmlnaHQsIHBhcmVudFJlY3QucmlnaHQpIC0gTWF0aC5tYXgoZWxlbWVudFJlY3QubGVmdCwgcGFyZW50UmVjdC5sZWZ0KTsKICAgICAgICAgICAgICAgICAgICB2YXIgdmlzaWJsZVBpeGVsWSA9IE1hdGgubWluKGVsZW1lbnRSZWN0LmJvdHRvbSwgcGFyZW50UmVjdC5ib3R0b20pIC0gTWF0aC5tYXgoZWxlbWVudFJlY3QudG9wLCBwYXJlbnRSZWN0LnRvcCk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiB2aXNpYmxlUGl4ZWxYID4gMCAmJiB2aXNpYmxlUGl4ZWxZID4gMDsKICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgIHJldHVybiB2aXNpYmxlSW5BbGxQYXJlbnRzICYmCiAgICAgICAgICAgICAgICAgICAgZWxlbWVudFJlY3QuYm90dG9tID4gMCAmJiBlbGVtZW50UmVjdC5yaWdodCA+IDAgJiYKICAgICAgICAgICAgICAgICAgICBlbGVtZW50UmVjdC5sZWZ0IDwgJCh3aW5kb3cpLndpZHRoKCkgJiYgZWxlbWVudFJlY3QudG9wIDwgJCh3aW5kb3cpLmhlaWdodCgpOwogICAgICAgICAgICB9OwoKICAgICAgICAgICAgdmFyICR0aHVtYiAgID0gc2xpZGUub3B0cy4kdGh1bWI7CiAgICAgICAgICAgIHZhciB0aHVtYlBvcyA9ICR0aHVtYiA/ICR0aHVtYi5vZmZzZXQoKSA6IDA7CiAgICAgICAgICAgIHZhciBzbGlkZVBvczsKCiAgICAgICAgICAgIGlmICggdGh1bWJQb3MgJiYgJHRodW1iWzBdLm93bmVyRG9jdW1lbnQgPT09IGRvY3VtZW50ICYmIGlzRWxlbWVudFZpc2libGUoICR0aHVtYiApICkgewogICAgICAgICAgICAgICAgc2xpZGVQb3MgPSBzZWxmLiRyZWZzLnN0YWdlLm9mZnNldCgpOwoKICAgICAgICAgICAgICAgIHJleiA9IHsKICAgICAgICAgICAgICAgICAgICB0b3AgICAgOiB0aHVtYlBvcy50b3AgIC0gc2xpZGVQb3MudG9wICArIHBhcnNlRmxvYXQoICR0aHVtYi5jc3MoICJib3JkZXItdG9wLXdpZHRoIiApIHx8IDAgKSwKICAgICAgICAgICAgICAgICAgICBsZWZ0ICAgOiB0aHVtYlBvcy5sZWZ0IC0gc2xpZGVQb3MubGVmdCArIHBhcnNlRmxvYXQoICR0aHVtYi5jc3MoICJib3JkZXItbGVmdC13aWR0aCIgKSB8fCAwICksCiAgICAgICAgICAgICAgICAgICAgd2lkdGggIDogJHRodW1iLndpZHRoKCksCiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0IDogJHRodW1iLmhlaWdodCgpLAogICAgICAgICAgICAgICAgICAgIHNjYWxlWCA6IDEsCiAgICAgICAgICAgICAgICAgICAgc2NhbGVZIDogMQogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlejsKICAgICAgICB9LAoKCiAgICAgICAgLy8gRmluYWwgYWRqdXN0bWVudHMgYWZ0ZXIgY3VycmVudCBnYWxsZXJ5IGl0ZW0gaXMgbW92ZWQgdG8gcG9zaXRpb24KICAgICAgICAvLyBhbmQgaXRgcyBjb250ZW50IGlzIGxvYWRlZAogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICBjb21wbGV0ZSA6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgc2VsZiA9IHRoaXMsCiAgICAgICAgICAgICAgICBjdXJyZW50ID0gc2VsZi5jdXJyZW50LAogICAgICAgICAgICAgICAgc2xpZGVzICA9IHt9LAogICAgICAgICAgICAgICAgcHJvbWlzZTsKCiAgICAgICAgICAgIGlmICggY3VycmVudC5pc01vdmVkIHx8ICFjdXJyZW50LmlzTG9hZGVkIHx8IGN1cnJlbnQuaXNDb21wbGV0ZSApIHsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgY3VycmVudC5pc0NvbXBsZXRlID0gdHJ1ZTsKCiAgICAgICAgICAgIGN1cnJlbnQuJHNsaWRlLnNpYmxpbmdzKCkudHJpZ2dlciggJ29uUmVzZXQnICk7CgogICAgICAgICAgICBzZWxmLnByZWxvYWQoICdpbmxpbmUnICk7CgogICAgICAgICAgICAvLyBUcmlnZ2VyIGFueSBDU1MzIHRyYW5zaXRvbiBpbnNpZGUgdGhlIHNsaWRlCiAgICAgICAgICAgIGZvcmNlUmVkcmF3KCBjdXJyZW50LiRzbGlkZSApOwoKICAgICAgICAgICAgY3VycmVudC4kc2xpZGUuYWRkQ2xhc3MoICdmYW5jeWJveC1zbGlkZS0tY29tcGxldGUnICk7CgogICAgICAgICAgICAvLyBSZW1vdmUgdW5uZWNlc3Nhcnkgc2xpZGVzCiAgICAgICAgICAgICQuZWFjaCggc2VsZi5zbGlkZXMsIGZ1bmN0aW9uKCBrZXksIHNsaWRlICkgewogICAgICAgICAgICAgICAgaWYgKCBzbGlkZS5wb3MgPj0gc2VsZi5jdXJyUG9zIC0gMSAmJiBzbGlkZS5wb3MgPD0gc2VsZi5jdXJyUG9zICsgMSApIHsKICAgICAgICAgICAgICAgICAgICBzbGlkZXNbIHNsaWRlLnBvcyBdID0gc2xpZGU7CgogICAgICAgICAgICAgICAgfSBlbHNlIGlmICggc2xpZGUgKSB7CiAgICAgICAgICAgICAgICAgICAgJC5mYW5jeWJveC5zdG9wKCBzbGlkZS4kc2xpZGUgKTsKCiAgICAgICAgICAgICAgICAgICAgc2xpZGUuJHNsaWRlLm9mZigpLnJlbW92ZSgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIHNlbGYuc2xpZGVzID0gc2xpZGVzOwoKICAgICAgICAgICAgc2VsZi51cGRhdGVDdXJzb3IoKTsKCiAgICAgICAgICAgIHNlbGYudHJpZ2dlciggJ2FmdGVyU2hvdycgKTsKCiAgICAgICAgICAgIC8vIFBsYXkgZmlyc3QgaHRtbDUgdmlkZW8vYXVkaW8KICAgICAgICAgICAgY3VycmVudC4kc2xpZGUuZmluZCggJ3ZpZGVvLGF1ZGlvJyApLmZpcnN0KCkudHJpZ2dlciggJ3BsYXknICk7CgogICAgICAgICAgICAvLyBUcnkgdG8gZm9jdXMgb24gdGhlIGZpcnN0IGZvY3VzYWJsZSBlbGVtZW50CiAgICAgICAgICAgIGlmICggJCggZG9jdW1lbnQuYWN0aXZlRWxlbWVudCApLmlzKCAnW2Rpc2FibGVkXScgKSB8fCAoIGN1cnJlbnQub3B0cy5hdXRvRm9jdXMgJiYgISggY3VycmVudC50eXBlID09ICdpbWFnZScgfHwgY3VycmVudC50eXBlID09PSAnaWZyYW1lJyApICkgKSB7CiAgICAgICAgICAgICAgICBzZWxmLmZvY3VzKCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgfSwKCgogICAgICAgIC8vIFByZWxvYWQgbmV4dCBhbmQgcHJldmlvdXMgc2xpZGVzCiAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgcHJlbG9hZCA6IGZ1bmN0aW9uKCB0eXBlICkgewogICAgICAgICAgICB2YXIgc2VsZiA9IHRoaXMsCiAgICAgICAgICAgICAgICBuZXh0ID0gc2VsZi5zbGlkZXNbIHNlbGYuY3VyclBvcyArIDEgXSwKICAgICAgICAgICAgICAgIHByZXYgPSBzZWxmLnNsaWRlc1sgc2VsZi5jdXJyUG9zIC0gMSBdOwoKICAgICAgICAgICAgaWYgKCBuZXh0ICYmIG5leHQudHlwZSA9PT0gdHlwZSApIHsKICAgICAgICAgICAgICAgIHNlbGYubG9hZFNsaWRlKCBuZXh0ICk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICggcHJldiAmJiBwcmV2LnR5cGUgPT09IHR5cGUgKSB7CiAgICAgICAgICAgICAgICBzZWxmLmxvYWRTbGlkZSggcHJldiApOwogICAgICAgICAgICB9CiAgICAgICAgfSwKCgogICAgICAgIC8vIFRyeSB0byBmaW5kIGFuZCBmb2N1cyBvbiB0aGUgZmlyc3QgZm9jdXNhYmxlIGVsZW1lbnQKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIGZvY3VzIDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciBjdXJyZW50ID0gdGhpcy5jdXJyZW50OwogICAgICAgICAgICB2YXIgJGVsOwoKICAgICAgICAgICAgaWYgKCB0aGlzLmlzQ2xvc2luZyApIHsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCBjdXJyZW50ICYmIGN1cnJlbnQuaXNDb21wbGV0ZSApIHsKCiAgICAgICAgICAgICAgICAvLyBMb29rIGZvciBmaXJzdCBpbnB1dCB3aXRoIGF1dG9mb2N1cyBhdHRyaWJ1dGUKICAgICAgICAgICAgICAgICRlbCA9IGN1cnJlbnQuJHNsaWRlLmZpbmQoJ2lucHV0W2F1dG9mb2N1c106ZW5hYmxlZDp2aXNpYmxlOmZpcnN0Jyk7CgogICAgICAgICAgICAgICAgaWYgKCAhJGVsLmxlbmd0aCApIHsKICAgICAgICAgICAgICAgICAgICAkZWwgPSBjdXJyZW50LiRzbGlkZS5maW5kKCdidXR0b24sOmlucHV0LFt0YWJpbmRleF0sYScpLmZpbHRlcignOmVuYWJsZWQ6dmlzaWJsZTpmaXJzdCcpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICAkZWwgPSAkZWwgJiYgJGVsLmxlbmd0aCA/ICRlbCA6IHRoaXMuJHJlZnMuY29udGFpbmVyOwoKICAgICAgICAgICAgJGVsLmZvY3VzKCk7CiAgICAgICAgfSwKCgogICAgICAgIC8vIEFjdGl2YXRlcyBjdXJyZW50IGluc3RhbmNlIC0gYnJpbmdzIGNvbnRhaW5lciB0byB0aGUgZnJvbnQgYW5kIGVuYWJsZXMga2V5Ym9hcmQsCiAgICAgICAgLy8gbm90aWZpZXMgb3RoZXIgaW5zdGFuY2VzIGFib3V0IGRlYWN0aXZhdGluZwogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICBhY3RpdmF0ZSA6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdmFyIHNlbGYgPSB0aGlzOwoKICAgICAgICAgICAgLy8gRGVhY3RpdmF0ZSBhbGwgaW5zdGFuY2VzCiAgICAgICAgICAgICQoICcuZmFuY3lib3gtY29udGFpbmVyJyApLmVhY2goZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgdmFyIGluc3RhbmNlID0gJCh0aGlzKS5kYXRhKCAnRmFuY3lCb3gnICk7CgogICAgICAgICAgICAgICAgLy8gU2tpcCBzZWxmIGFuZCBjbG9zaW5nIGluc3RhbmNlcwogICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlICYmIGluc3RhbmNlLmlkICE9PSBzZWxmLmlkICYmICFpbnN0YW5jZS5pc0Nsb3NpbmcpIHsKICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS50cmlnZ2VyKCAnb25EZWFjdGl2YXRlJyApOwoKICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS5yZW1vdmVFdmVudHMoKTsKCiAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2UuaXNWaXNpYmxlID0gZmFsc2U7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIHNlbGYuaXNWaXNpYmxlID0gdHJ1ZTsKCiAgICAgICAgICAgIGlmICggc2VsZi5jdXJyZW50IHx8IHNlbGYuaXNJZGxlICkgewogICAgICAgICAgICAgICAgc2VsZi51cGRhdGUoKTsKCiAgICAgICAgICAgICAgICBzZWxmLnVwZGF0ZUNvbnRyb2xzKCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHNlbGYudHJpZ2dlciggJ29uQWN0aXZhdGUnICk7CgogICAgICAgICAgICBzZWxmLmFkZEV2ZW50cygpOwogICAgICAgIH0sCgoKICAgICAgICAvLyBTdGFydCBjbG9zaW5nIHByb2NlZHVyZQogICAgICAgIC8vIFRoaXMgd2lsbCBzdGFydCAiem9vbS1vdXQiIGFuaW1hdGlvbiBpZiBuZWVkZWQgYW5kIGNsZWFuIGV2ZXJ5dGhpbmcgdXAgYWZ0ZXJ3YXJkcwogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICBjbG9zZSA6IGZ1bmN0aW9uKCBlLCBkICkgewoKICAgICAgICAgICAgdmFyIHNlbGYgICAgPSB0aGlzOwogICAgICAgICAgICB2YXIgY3VycmVudCA9IHNlbGYuY3VycmVudDsKCiAgICAgICAgICAgIHZhciBlZmZlY3QsIGR1cmF0aW9uOwogICAgICAgICAgICB2YXIgJHdoYXQsIG9wYWNpdHksIHN0YXJ0LCBlbmQ7CgogICAgICAgICAgICB2YXIgZG9uZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgc2VsZi5jbGVhblVwKCBlICk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBpZiAoIHNlbGYuaXNDbG9zaW5nICkgewogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CgogICAgICAgICAgICBzZWxmLmlzQ2xvc2luZyA9IHRydWU7CgogICAgICAgICAgICAvLyBJZiBiZWZvcmVDbG9zZSBjYWxsYmFjayBwcmV2ZW50cyBjbG9zaW5nLCBtYWtlIHN1cmUgY29udGVudCBpcyBjZW50ZXJlZAogICAgICAgICAgICBpZiAoIHNlbGYudHJpZ2dlciggJ2JlZm9yZUNsb3NlJywgZSApID09PSBmYWxzZSApIHsKICAgICAgICAgICAgICAgIHNlbGYuaXNDbG9zaW5nID0gZmFsc2U7CgogICAgICAgICAgICAgICAgcmVxdWVzdEFGcmFtZShmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBzZWxmLnVwZGF0ZSgpOwogICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBSZW1vdmUgYWxsIGV2ZW50cwogICAgICAgICAgICAvLyBJZiB0aGVyZSBhcmUgbXVsdGlwbGUgaW5zdGFuY2VzLCB0aGV5IHdpbGwgYmUgc2V0IGFnYWluIGJ5ICJhY3RpdmF0ZSIgbWV0aG9kCiAgICAgICAgICAgIHNlbGYucmVtb3ZlRXZlbnRzKCk7CgogICAgICAgICAgICBpZiAoIGN1cnJlbnQudGltb3V0cyApIHsKICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCggY3VycmVudC50aW1vdXRzICk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICR3aGF0ICAgID0gY3VycmVudC4kY29udGVudDsKICAgICAgICAgICAgZWZmZWN0ICAgPSBjdXJyZW50Lm9wdHMuYW5pbWF0aW9uRWZmZWN0OwogICAgICAgICAgICBkdXJhdGlvbiA9ICQuaXNOdW1lcmljKCBkICkgPyBkIDogKCBlZmZlY3QgPyBjdXJyZW50Lm9wdHMuYW5pbWF0aW9uRHVyYXRpb24gOiAwICk7CgogICAgICAgICAgICAvLyBSZW1vdmUgb3RoZXIgc2xpZGVzCiAgICAgICAgICAgIGN1cnJlbnQuJHNsaWRlLm9mZiggdHJhbnNpdGlvbkVuZCApLnJlbW92ZUNsYXNzKCAnZmFuY3lib3gtc2xpZGUtLWNvbXBsZXRlIGZhbmN5Ym94LXNsaWRlLS1uZXh0IGZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyBmYW5jeWJveC1hbmltYXRlZCcgKTsKCiAgICAgICAgICAgIGN1cnJlbnQuJHNsaWRlLnNpYmxpbmdzKCkudHJpZ2dlciggJ29uUmVzZXQnICkucmVtb3ZlKCk7CgogICAgICAgICAgICAvLyBUcmlnZ2VyIGFuaW1hdGlvbnMKICAgICAgICAgICAgaWYgKCBkdXJhdGlvbiApIHsKICAgICAgICAgICAgICAgIHNlbGYuJHJlZnMuY29udGFpbmVyLnJlbW92ZUNsYXNzKCAnZmFuY3lib3gtaXMtb3BlbicgKS5hZGRDbGFzcyggJ2ZhbmN5Ym94LWlzLWNsb3NpbmcnICk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIENsZWFuIHVwCiAgICAgICAgICAgIHNlbGYuaGlkZUxvYWRpbmcoIGN1cnJlbnQgKTsKCiAgICAgICAgICAgIHNlbGYuaGlkZUNvbnRyb2xzKCk7CgogICAgICAgICAgICBzZWxmLnVwZGF0ZUN1cnNvcigpOwoKICAgICAgICAgICAgLy8gQ2hlY2sgaWYgcG9zc2libGUgdG8gem9vbS1vdXQKICAgICAgICAgICAgaWYgKCBlZmZlY3QgPT09ICd6b29tJyAmJiAhKCBlICE9PSB0cnVlICYmICR3aGF0ICYmIGR1cmF0aW9uICYmIGN1cnJlbnQudHlwZSA9PT0gJ2ltYWdlJyAmJiAhY3VycmVudC5oYXNFcnJvciAmJiAoIGVuZCA9IHNlbGYuZ2V0VGh1bWJQb3MoIGN1cnJlbnQgKSApICkgKSB7CiAgICAgICAgICAgICAgICBlZmZlY3QgPSAnZmFkZSc7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICggZWZmZWN0ID09PSAnem9vbScgKSB7CiAgICAgICAgICAgICAgICAkLmZhbmN5Ym94LnN0b3AoICR3aGF0ICk7CgogICAgICAgICAgICAgICAgc3RhcnQgPSAkLmZhbmN5Ym94LmdldFRyYW5zbGF0ZSggJHdoYXQgKTsKCiAgICAgICAgICAgICAgICBzdGFydC53aWR0aCAgPSBzdGFydC53aWR0aCAgKiBzdGFydC5zY2FsZVg7CiAgICAgICAgICAgICAgICBzdGFydC5oZWlnaHQgPSBzdGFydC5oZWlnaHQgKiBzdGFydC5zY2FsZVk7CgogICAgICAgICAgICAgICAgLy8gQ2hlY2sgaWYgd2UgbmVlZCB0byBhbmltYXRlIG9wYWNpdHkKICAgICAgICAgICAgICAgIG9wYWNpdHkgPSBjdXJyZW50Lm9wdHMuem9vbU9wYWNpdHk7CgogICAgICAgICAgICAgICAgaWYgKCBvcGFjaXR5ID09ICdhdXRvJyApIHsKICAgICAgICAgICAgICAgICAgICBvcGFjaXR5ID0gTWF0aC5hYnMoIGN1cnJlbnQud2lkdGggLyBjdXJyZW50LmhlaWdodCAtIGVuZC53aWR0aCAvIGVuZC5oZWlnaHQgKSA+IDAuMTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIG9wYWNpdHkgKSB7CiAgICAgICAgICAgICAgICAgICAgZW5kLm9wYWNpdHkgPSAwOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHN0YXJ0LnNjYWxlWCA9IHN0YXJ0LndpZHRoICAvIGVuZC53aWR0aDsKICAgICAgICAgICAgICAgIHN0YXJ0LnNjYWxlWSA9IHN0YXJ0LmhlaWdodCAvIGVuZC5oZWlnaHQ7CgogICAgICAgICAgICAgICAgc3RhcnQud2lkdGggID0gZW5kLndpZHRoOwogICAgICAgICAgICAgICAgc3RhcnQuaGVpZ2h0ID0gZW5kLmhlaWdodDsKCiAgICAgICAgICAgICAgICAkLmZhbmN5Ym94LnNldFRyYW5zbGF0ZSggY3VycmVudC4kY29udGVudCwgc3RhcnQgKTsKCiAgICAgICAgICAgICAgICBmb3JjZVJlZHJhdyggY3VycmVudC4kY29udGVudCApOwoKICAgICAgICAgICAgICAgICQuZmFuY3lib3guYW5pbWF0ZSggY3VycmVudC4kY29udGVudCwgZW5kLCBkdXJhdGlvbiwgZG9uZSApOwoKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoIGVmZmVjdCAmJiBkdXJhdGlvbiApIHsKCiAgICAgICAgICAgICAgICAvLyBJZiBza2lwIGFuaW1hdGlvbgogICAgICAgICAgICAgICAgaWYgKCBlID09PSB0cnVlICkgewogICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoIGRvbmUsIGR1cmF0aW9uICk7CgogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAkLmZhbmN5Ym94LmFuaW1hdGUoIGN1cnJlbnQuJHNsaWRlLnJlbW92ZUNsYXNzKCAnZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQnICksICdmYW5jeWJveC1hbmltYXRlZCBmYW5jeWJveC1zbGlkZS0tcHJldmlvdXMgZmFuY3lib3gtZngtJyArIGVmZmVjdCwgZHVyYXRpb24sIGRvbmUgKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBkb25lKCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0sCgoKICAgICAgICAvLyBGaW5hbCBhZGp1c3RtZW50cyBhZnRlciByZW1vdmluZyB0aGUgaW5zdGFuY2UKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgY2xlYW5VcCA6IGZ1bmN0aW9uKCBlICkgewogICAgICAgICAgICB2YXIgc2VsZiAgPSB0aGlzLAogICAgICAgICAgICAgICAgJGJvZHkgPSAkKCAnYm9keScgKSwKICAgICAgICAgICAgICAgIGluc3RhbmNlLAogICAgICAgICAgICAgICAgb2Zmc2V0OwoKICAgICAgICAgICAgc2VsZi5jdXJyZW50LiRzbGlkZS50cmlnZ2VyKCAnb25SZXNldCcgKTsKCiAgICAgICAgICAgIHNlbGYuJHJlZnMuY29udGFpbmVyLmVtcHR5KCkucmVtb3ZlKCk7CgogICAgICAgICAgICBzZWxmLnRyaWdnZXIoICdhZnRlckNsb3NlJywgZSApOwoKICAgICAgICAgICAgLy8gUGxhY2UgYmFjayBmb2N1cwogICAgICAgICAgICBpZiAoIHNlbGYuJGxhc3RGb2N1cyAmJiAhIXNlbGYuY3VycmVudC5vcHRzLmJhY2tGb2N1cyApIHsKICAgICAgICAgICAgICAgIHNlbGYuJGxhc3RGb2N1cy5mb2N1cygpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBzZWxmLmN1cnJlbnQgPSBudWxsOwoKICAgICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlcmUgYXJlIG90aGVyIGluc3RhbmNlcwogICAgICAgICAgICBpbnN0YW5jZSA9ICQuZmFuY3lib3guZ2V0SW5zdGFuY2UoKTsKCiAgICAgICAgICAgIGlmICggaW5zdGFuY2UgKSB7CiAgICAgICAgICAgICAgICBpbnN0YW5jZS5hY3RpdmF0ZSgpOwoKICAgICAgICAgICAgfSBlbHNlIHsKCiAgICAgICAgICAgICAgICAkVy5zY3JvbGxUb3AoIHNlbGYuc2Nyb2xsVG9wICkuc2Nyb2xsTGVmdCggc2VsZi5zY3JvbGxMZWZ0ICk7CgogICAgICAgICAgICAgICAgJGJvZHkucmVtb3ZlQ2xhc3MoICdmYW5jeWJveC1hY3RpdmUgY29tcGVuc2F0ZS1mb3Itc2Nyb2xsYmFyJyApOwoKICAgICAgICAgICAgICAgIGlmICggJGJvZHkuaGFzQ2xhc3MoICdmYW5jeWJveC1pb3NmaXgnICkgKSB7CiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0ID0gcGFyc2VJbnQoZG9jdW1lbnQuYm9keS5zdHlsZS50b3AsIDEwKTsKCiAgICAgICAgICAgICAgICAgICAgJGJvZHkucmVtb3ZlQ2xhc3MoICdmYW5jeWJveC1pb3NmaXgnICkuY3NzKCAndG9wJywgJycgKS5zY3JvbGxUb3AoIG9mZnNldCAqIC0xICk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgJCggJyNmYW5jeWJveC1zdHlsZS1ub3Njcm9sbCcgKS5yZW1vdmUoKTsKCiAgICAgICAgICAgIH0KCiAgICAgICAgfSwKCgogICAgICAgIC8vIENhbGwgY2FsbGJhY2sgYW5kIHRyaWdnZXIgYW4gZXZlbnQKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIHRyaWdnZXIgOiBmdW5jdGlvbiggbmFtZSwgc2xpZGUgKSB7CiAgICAgICAgICAgIHZhciBhcmdzICA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMSksCiAgICAgICAgICAgICAgICBzZWxmICA9IHRoaXMsCiAgICAgICAgICAgICAgICBvYmogICA9IHNsaWRlICYmIHNsaWRlLm9wdHMgPyBzbGlkZSA6IHNlbGYuY3VycmVudCwKICAgICAgICAgICAgICAgIHJlejsKCiAgICAgICAgICAgIGlmICggb2JqICkgewogICAgICAgICAgICAgICAgYXJncy51bnNoaWZ0KCBvYmogKTsKCiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBvYmogPSBzZWxmOwogICAgICAgICAgICB9CgogICAgICAgICAgICBhcmdzLnVuc2hpZnQoIHNlbGYgKTsKCiAgICAgICAgICAgIGlmICggJC5pc0Z1bmN0aW9uKCBvYmoub3B0c1sgbmFtZSBdICkgKSB7CiAgICAgICAgICAgICAgICByZXogPSBvYmoub3B0c1sgbmFtZSBdLmFwcGx5KCBvYmosIGFyZ3MgKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCByZXogPT09IGZhbHNlICkgewogICAgICAgICAgICAgICAgcmV0dXJuIHJlejsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCBuYW1lID09PSAnYWZ0ZXJDbG9zZScgfHwgIXNlbGYuJHJlZnMgKSB7CiAgICAgICAgICAgICAgICAkRC50cmlnZ2VyKCBuYW1lICsgJy5mYicsIGFyZ3MgKTsKCiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBzZWxmLiRyZWZzLmNvbnRhaW5lci50cmlnZ2VyKCBuYW1lICsgJy5mYicsIGFyZ3MgKTsKICAgICAgICAgICAgfQoKICAgICAgICB9LAoKCiAgICAgICAgLy8gVXBkYXRlIGluZm9iYXIgdmFsdWVzLCBuYXZpZ2F0aW9uIGJ1dHRvbiBzdGF0ZXMgYW5kIHJldmVhbCBjYXB0aW9uCiAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIHVwZGF0ZUNvbnRyb2xzIDogZnVuY3Rpb24gKCBmb3JjZSApIHsKCiAgICAgICAgICAgIHZhciBzZWxmID0gdGhpczsKCiAgICAgICAgICAgIHZhciBjdXJyZW50ICA9IHNlbGYuY3VycmVudCwKICAgICAgICAgICAgICAgIGluZGV4ICAgID0gY3VycmVudC5pbmRleCwKICAgICAgICAgICAgICAgIGNhcHRpb24gID0gY3VycmVudC5vcHRzLmNhcHRpb24sCiAgICAgICAgICAgICAgICAkY29udGFpbmVyID0gc2VsZi4kcmVmcy5jb250YWluZXIsCiAgICAgICAgICAgICAgICAkY2FwdGlvbiAgID0gc2VsZi4kcmVmcy5jYXB0aW9uOwoKICAgICAgICAgICAgLy8gUmVjYWxjdWxhdGUgY29udGVudCBkaW1lbnNpb25zCiAgICAgICAgICAgIGN1cnJlbnQuJHNsaWRlLnRyaWdnZXIoICdyZWZyZXNoJyApOwoKICAgICAgICAgICAgc2VsZi4kY2FwdGlvbiA9IGNhcHRpb24gJiYgY2FwdGlvbi5sZW5ndGggPyAkY2FwdGlvbi5odG1sKCBjYXB0aW9uICkgOiBudWxsOwoKICAgICAgICAgICAgaWYgKCAhc2VsZi5pc0hpZGRlbkNvbnRyb2xzICYmICFzZWxmLmlzSWRsZSApIHsKICAgICAgICAgICAgICAgIHNlbGYuc2hvd0NvbnRyb2xzKCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIFVwZGF0ZSBpbmZvIGFuZCBuYXZpZ2F0aW9uIGVsZW1lbnRzCiAgICAgICAgICAgICRjb250YWluZXIuZmluZCgnW2RhdGEtZmFuY3lib3gtY291bnRdJykuaHRtbCggc2VsZi5ncm91cC5sZW5ndGggKTsKICAgICAgICAgICAgJGNvbnRhaW5lci5maW5kKCdbZGF0YS1mYW5jeWJveC1pbmRleF0nKS5odG1sKCBpbmRleCArIDEgKTsKCiAgICAgICAgICAgICRjb250YWluZXIuZmluZCgnW2RhdGEtZmFuY3lib3gtcHJldl0nKS5wcm9wKCAnZGlzYWJsZWQnLCAoICFjdXJyZW50Lm9wdHMubG9vcCAmJiBpbmRleCA8PSAwICkgKTsKICAgICAgICAgICAgJGNvbnRhaW5lci5maW5kKCdbZGF0YS1mYW5jeWJveC1uZXh0XScpLnByb3AoICdkaXNhYmxlZCcsICggIWN1cnJlbnQub3B0cy5sb29wICYmIGluZGV4ID49IHNlbGYuZ3JvdXAubGVuZ3RoIC0gMSApICk7CgogICAgICAgICAgICBpZiAoIGN1cnJlbnQudHlwZSA9PT0gJ2ltYWdlJyApIHsKCiAgICAgICAgICAgICAgICAvLyBVcGRhdGUgZG93bmxvYWQgYnV0dG9uIHNvdXJjZQogICAgICAgICAgICAgICAgJGNvbnRhaW5lci5maW5kKCdbZGF0YS1mYW5jeWJveC1kb3dubG9hZF0nKS5hdHRyKCAnaHJlZicsIGN1cnJlbnQub3B0cy5pbWFnZS5zcmMgfHwgY3VycmVudC5zcmMgKS5zaG93KCk7CgogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJGNvbnRhaW5lci5maW5kKCdbZGF0YS1mYW5jeWJveC1kb3dubG9hZF0sW2RhdGEtZmFuY3lib3gtem9vbV0nKS5oaWRlKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9LAoKICAgICAgICAvLyBIaWRlIHRvb2xiYXIgYW5kIGNhcHRpb24KICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgaGlkZUNvbnRyb2xzIDogZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgdGhpcy5pc0hpZGRlbkNvbnRyb2xzID0gdHJ1ZTsKCiAgICAgICAgICAgIHRoaXMuJHJlZnMuY29udGFpbmVyLnJlbW92ZUNsYXNzKCAnZmFuY3lib3gtc2hvdy1pbmZvYmFyIGZhbmN5Ym94LXNob3ctdG9vbGJhciBmYW5jeWJveC1zaG93LWNhcHRpb24gZmFuY3lib3gtc2hvdy1uYXYnICk7CgogICAgICAgIH0sCgogICAgICAgIHNob3dDb250cm9scyA6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgc2VsZiA9IHRoaXM7CiAgICAgICAgICAgIHZhciBvcHRzID0gc2VsZi5jdXJyZW50ID8gc2VsZi5jdXJyZW50Lm9wdHMgOiBzZWxmLm9wdHM7CiAgICAgICAgICAgIHZhciAkY29udGFpbmVyID0gc2VsZi4kcmVmcy5jb250YWluZXI7CgogICAgICAgICAgICBzZWxmLmlzSGlkZGVuQ29udHJvbHMgICA9IGZhbHNlOwogICAgICAgICAgICBzZWxmLmlkbGVTZWNvbmRzQ291bnRlciA9IDA7CgogICAgICAgICAgICAkY29udGFpbmVyCiAgICAgICAgICAgICAgICAudG9nZ2xlQ2xhc3MoICdmYW5jeWJveC1zaG93LXRvb2xiYXInLCAhISggb3B0cy50b29sYmFyICYmIG9wdHMuYnV0dG9ucyApICkKICAgICAgICAgICAgICAgIC50b2dnbGVDbGFzcyggJ2ZhbmN5Ym94LXNob3ctaW5mb2JhcicsICEhKCBvcHRzLmluZm9iYXIgJiYgc2VsZi5ncm91cC5sZW5ndGggPiAxICkgKQogICAgICAgICAgICAgICAgLnRvZ2dsZUNsYXNzKCAnZmFuY3lib3gtc2hvdy1uYXYnLCAgICAgISEoIG9wdHMuYXJyb3dzICYmIHNlbGYuZ3JvdXAubGVuZ3RoID4gMSApICkKICAgICAgICAgICAgICAgIC50b2dnbGVDbGFzcyggJ2ZhbmN5Ym94LWlzLW1vZGFsJywgICAgICEhb3B0cy5tb2RhbCApOwoKICAgICAgICAgICAgaWYgKCBzZWxmLiRjYXB0aW9uICkgewogICAgICAgICAgICAgICAgJGNvbnRhaW5lci5hZGRDbGFzcyggJ2ZhbmN5Ym94LXNob3ctY2FwdGlvbiAnKTsKCiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICRjb250YWluZXIucmVtb3ZlQ2xhc3MoICdmYW5jeWJveC1zaG93LWNhcHRpb24nICk7CiAgICAgICAgICAgfQoKICAgICAgIH0sCgoKICAgICAgIC8vIFRvZ2dsZSB0b29sYmFyIGFuZCBjYXB0aW9uCiAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgIHRvZ2dsZUNvbnRyb2xzIDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgaWYgKCB0aGlzLmlzSGlkZGVuQ29udHJvbHMgKSB7CiAgICAgICAgICAgICAgIHRoaXMuc2hvd0NvbnRyb2xzKCk7CgogICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgIHRoaXMuaGlkZUNvbnRyb2xzKCk7CiAgICAgICAgICAgfQoKICAgICAgIH0sCgoKICAgIH0pOwoKCiAgICAkLmZhbmN5Ym94ID0gewoKICAgICAgICB2ZXJzaW9uICA6ICIzLjIuMTAiLAogICAgICAgIGRlZmF1bHRzIDogZGVmYXVsdHMsCgoKICAgICAgICAvLyBHZXQgY3VycmVudCBpbnN0YW5jZSBhbmQgZXhlY3V0ZSBhIGNvbW1hbmQuCiAgICAgICAgLy8KICAgICAgICAvLyBFeGFtcGxlcyBvZiB1c2FnZToKICAgICAgICAvLwogICAgICAgIC8vICAgJGluc3RhbmNlID0gJC5mYW5jeWJveC5nZXRJbnN0YW5jZSgpOwogICAgICAgIC8vICAgJC5mYW5jeWJveC5nZXRJbnN0YW5jZSgpLmp1bXBUbyggMSApOwogICAgICAgIC8vICAgJC5mYW5jeWJveC5nZXRJbnN0YW5jZSggJ2p1bXBUbycsIDEgKTsKICAgICAgICAvLyAgICQuZmFuY3lib3guZ2V0SW5zdGFuY2UoIGZ1bmN0aW9uKCkgewogICAgICAgIC8vICAgICAgIGNvbnNvbGUuaW5mbyggdGhpcy5jdXJySW5kZXggKTsKICAgICAgICAvLyAgIH0pOwogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICBnZXRJbnN0YW5jZSA6IGZ1bmN0aW9uICggY29tbWFuZCApIHsKICAgICAgICAgICAgdmFyIGluc3RhbmNlID0gJCgnLmZhbmN5Ym94LWNvbnRhaW5lcjpub3QoIi5mYW5jeWJveC1pcy1jbG9zaW5nIik6bGFzdCcpLmRhdGEoICdGYW5jeUJveCcgKTsKICAgICAgICAgICAgdmFyIGFyZ3MgICAgID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAxKTsKCiAgICAgICAgICAgIGlmICggaW5zdGFuY2UgaW5zdGFuY2VvZiBGYW5jeUJveCApIHsKCiAgICAgICAgICAgICAgICBpZiAoICQudHlwZSggY29tbWFuZCApID09PSAnc3RyaW5nJyApIHsKICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZVsgY29tbWFuZCBdLmFwcGx5KCBpbnN0YW5jZSwgYXJncyApOwoKICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoICQudHlwZSggY29tbWFuZCApID09PSAnZnVuY3Rpb24nICkgewogICAgICAgICAgICAgICAgICAgIGNvbW1hbmQuYXBwbHkoIGluc3RhbmNlLCBhcmdzICk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgcmV0dXJuIGluc3RhbmNlOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gZmFsc2U7CgogICAgICAgIH0sCgoKICAgICAgICAvLyBDcmVhdGUgbmV3IGluc3RhbmNlCiAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PQoKICAgICAgICBvcGVuIDogZnVuY3Rpb24gKCBpdGVtcywgb3B0cywgaW5kZXggKSB7CiAgICAgICAgICAgIHJldHVybiBuZXcgRmFuY3lCb3goIGl0ZW1zLCBvcHRzLCBpbmRleCApOwogICAgICAgIH0sCgoKICAgICAgICAvLyBDbG9zZSBjdXJyZW50IG9yIGFsbCBpbnN0YW5jZXMKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgY2xvc2UgOiBmdW5jdGlvbiAoIGFsbCApIHsKICAgICAgICAgICAgdmFyIGluc3RhbmNlID0gdGhpcy5nZXRJbnN0YW5jZSgpOwoKICAgICAgICAgICAgaWYgKCBpbnN0YW5jZSApIHsKICAgICAgICAgICAgICAgIGluc3RhbmNlLmNsb3NlKCk7CgogICAgICAgICAgICAgICAgLy8gVHJ5IHRvIGZpbmQgYW5kIGNsb3NlIG5leHQgaW5zdGFuY2UKCiAgICAgICAgICAgICAgICBpZiAoIGFsbCA9PT0gdHJ1ZSApIHsKICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgfSwKCiAgICAgICAgLy8gQ2xvc2UgaW5zdGFuY2VzIGFuZCB1bmJpbmQgYWxsIGV2ZW50cwogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICBkZXN0cm95IDogZnVuY3Rpb24oKSB7CgogICAgICAgICAgICB0aGlzLmNsb3NlKCB0cnVlICk7CgogICAgICAgICAgICAkRC5vZmYoICdjbGljay5mYi1zdGFydCcgKTsKCiAgICAgICAgfSwKCgogICAgICAgIC8vIFRyeSB0byBkZXRlY3QgbW9iaWxlIGRldmljZXMKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIGlzTW9iaWxlIDogZG9jdW1lbnQuY3JlYXRlVG91Y2ggIT09IHVuZGVmaW5lZCAmJiAvQW5kcm9pZHx3ZWJPU3xpUGhvbmV8aVBhZHxpUG9kfEJsYWNrQmVycnl8SUVNb2JpbGV8T3BlcmEgTWluaS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksCgoKICAgICAgICAvLyBEZXRlY3QgaWYgJ3RyYW5zbGF0ZTNkJyBzdXBwb3J0IGlzIGF2YWlsYWJsZQogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIHVzZTNkIDogKGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CgogICAgICAgICAgICByZXR1cm4gd2luZG93LmdldENvbXB1dGVkU3R5bGUgJiYgd2luZG93LmdldENvbXB1dGVkU3R5bGUoIGRpdiApLmdldFByb3BlcnR5VmFsdWUoJ3RyYW5zZm9ybScpICYmICEoZG9jdW1lbnQuZG9jdW1lbnRNb2RlICYmIGRvY3VtZW50LmRvY3VtZW50TW9kZSA8IDExKTsKICAgICAgICB9KCkpLAoKICAgICAgICAvLyBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IGN1cnJlbnQgdmlzdWFsIHN0YXRlIG9mIGFuIGVsZW1lbnQKICAgICAgICAvLyByZXR1cm5zIGFycmF5WyB0b3AsIGxlZnQsIGhvcml6b250YWwtc2NhbGUsIHZlcnRpY2FsLXNjYWxlLCBvcGFjaXR5IF0KICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgZ2V0VHJhbnNsYXRlIDogZnVuY3Rpb24oICRlbCApIHsKICAgICAgICAgICAgdmFyIG1hdHJpeDsKCiAgICAgICAgICAgIGlmICggISRlbCB8fCAhJGVsLmxlbmd0aCApIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbWF0cml4ICA9ICRlbC5lcSggMCApLmNzcygndHJhbnNmb3JtJyk7CgogICAgICAgICAgICBpZiAoIG1hdHJpeCAmJiBtYXRyaXguaW5kZXhPZiggJ21hdHJpeCcgKSAhPT0gLTEgKSB7CiAgICAgICAgICAgICAgICBtYXRyaXggPSBtYXRyaXguc3BsaXQoJygnKVsxXTsKICAgICAgICAgICAgICAgIG1hdHJpeCA9IG1hdHJpeC5zcGxpdCgnKScpWzBdOwogICAgICAgICAgICAgICAgbWF0cml4ID0gbWF0cml4LnNwbGl0KCcsJyk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBtYXRyaXggPSBbXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCBtYXRyaXgubGVuZ3RoICkgewoKICAgICAgICAgICAgICAgIC8vIElmIElFCiAgICAgICAgICAgICAgICBpZiAoIG1hdHJpeC5sZW5ndGggPiAxMCApIHsKICAgICAgICAgICAgICAgICAgICBtYXRyaXggPSBbIG1hdHJpeFsxM10sIG1hdHJpeFsxMl0sIG1hdHJpeFswXSwgbWF0cml4WzVdIF07CgogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBtYXRyaXggPSBbIG1hdHJpeFs1XSwgbWF0cml4WzRdLCBtYXRyaXhbMF0sIG1hdHJpeFszXV07CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgbWF0cml4ID0gbWF0cml4Lm1hcChwYXJzZUZsb2F0KTsKCiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBtYXRyaXggPSBbIDAsIDAsIDEsIDEgXTsKCiAgICAgICAgICAgICAgICB2YXIgdHJhbnNSZWdleCA9IC9cLip0cmFuc2xhdGVcKCguKilweCwoLiopcHhcKS9pOwogICAgICAgICAgICAgICAgdmFyIHRyYW5zUmV6ID0gdHJhbnNSZWdleC5leGVjKCAkZWwuZXEoIDAgKS5hdHRyKCdzdHlsZScpICk7CgogICAgICAgICAgICAgICAgaWYgKCB0cmFuc1JleiApIHsKICAgICAgICAgICAgICAgICAgICBtYXRyaXhbIDAgXSA9IHBhcnNlRmxvYXQoIHRyYW5zUmV6WzJdICk7CiAgICAgICAgICAgICAgICAgICAgbWF0cml4WyAxIF0gPSBwYXJzZUZsb2F0KCB0cmFuc1JlelsxXSApOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgICAgdG9wICAgICA6IG1hdHJpeFsgMCBdLAogICAgICAgICAgICAgICAgbGVmdCAgICA6IG1hdHJpeFsgMSBdLAogICAgICAgICAgICAgICAgc2NhbGVYICA6IG1hdHJpeFsgMiBdLAogICAgICAgICAgICAgICAgc2NhbGVZICA6IG1hdHJpeFsgMyBdLAogICAgICAgICAgICAgICAgb3BhY2l0eSA6IHBhcnNlRmxvYXQoICRlbC5jc3MoJ29wYWNpdHknKSApLAogICAgICAgICAgICAgICAgd2lkdGggICA6ICRlbC53aWR0aCgpLAogICAgICAgICAgICAgICAgaGVpZ2h0ICA6ICRlbC5oZWlnaHQoKQogICAgICAgICAgICB9OwoKICAgICAgICB9LAoKCiAgICAgICAgLy8gU2hvcnRjdXQgZm9yIHNldHRpbmcgInRyYW5zbGF0ZTNkIiBwcm9wZXJ0aWVzIGZvciBlbGVtZW50CiAgICAgICAgLy8gQ2FuIHNldCBiZSB1c2VkIHRvIHNldCBvcGFjaXR5LCB0b28KICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICBzZXRUcmFuc2xhdGUgOiBmdW5jdGlvbiggJGVsLCBwcm9wcyApIHsKICAgICAgICAgICAgdmFyIHN0ciAgPSAnJzsKICAgICAgICAgICAgdmFyIGNzcyAgPSB7fTsKCiAgICAgICAgICAgIGlmICggISRlbCB8fCAhcHJvcHMgKSB7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICggcHJvcHMubGVmdCAhPT0gdW5kZWZpbmVkIHx8IHByb3BzLnRvcCAhPT0gdW5kZWZpbmVkICkgewogICAgICAgICAgICAgICAgc3RyID0gKCBwcm9wcy5sZWZ0ID09PSB1bmRlZmluZWQgPyAkZWwucG9zaXRpb24oKS5sZWZ0IDogcHJvcHMubGVmdCApICArICdweCwgJyArICggcHJvcHMudG9wID09PSB1bmRlZmluZWQgPyAkZWwucG9zaXRpb24oKS50b3AgOiBwcm9wcy50b3AgKSArICdweCc7CgogICAgICAgICAgICAgICAgaWYgKCB0aGlzLnVzZTNkICkgewogICAgICAgICAgICAgICAgICAgIHN0ciA9ICd0cmFuc2xhdGUzZCgnICsgc3RyICsgJywgMHB4KSc7CgogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBzdHIgPSAndHJhbnNsYXRlKCcgKyBzdHIgKyAnKSc7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICggcHJvcHMuc2NhbGVYICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuc2NhbGVZICE9PSB1bmRlZmluZWQgKSB7CiAgICAgICAgICAgICAgICBzdHIgPSAoc3RyLmxlbmd0aCA/IHN0ciArICcgJyA6ICcnKSArICdzY2FsZSgnICsgcHJvcHMuc2NhbGVYICsgJywgJyArIHByb3BzLnNjYWxlWSArICcpJzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCBzdHIubGVuZ3RoICkgewogICAgICAgICAgICAgICAgY3NzLnRyYW5zZm9ybSA9IHN0cjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCBwcm9wcy5vcGFjaXR5ICE9PSB1bmRlZmluZWQgKSB7CiAgICAgICAgICAgICAgICBjc3Mub3BhY2l0eSA9IHByb3BzLm9wYWNpdHk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICggcHJvcHMud2lkdGggIT09IHVuZGVmaW5lZCApIHsKICAgICAgICAgICAgICAgIGNzcy53aWR0aCA9IHByb3BzLndpZHRoOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoIHByb3BzLmhlaWdodCAhPT0gdW5kZWZpbmVkICkgewogICAgICAgICAgICAgICAgY3NzLmhlaWdodCA9IHByb3BzLmhlaWdodDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuICRlbC5jc3MoIGNzcyApOwogICAgICAgIH0sCgoKICAgICAgICAvLyBTaW1wbGUgQ1NTIHRyYW5zaXRpb24gaGFuZGxlcgogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIGFuaW1hdGUgOiBmdW5jdGlvbiAoICRlbCwgdG8sIGR1cmF0aW9uLCBjYWxsYmFjaywgbGVhdmVBbmltYXRpb25OYW1lICkgewogICAgICAgICAgICBpZiAoICQuaXNGdW5jdGlvbiggZHVyYXRpb24gKSApIHsKICAgICAgICAgICAgICAgIGNhbGxiYWNrID0gZHVyYXRpb247CiAgICAgICAgICAgICAgICBkdXJhdGlvbiA9IG51bGw7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICggISQuaXNQbGFpbk9iamVjdCggdG8gKSApIHsKICAgICAgICAgICAgICAgICRlbC5yZW1vdmVBdHRyKCAnc3R5bGUnICk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRlbC5vbiggdHJhbnNpdGlvbkVuZCwgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgICAgIC8vIFNraXAgZXZlbnRzIGZyb20gY2hpbGQgZWxlbWVudHMgYW5kIHotaW5kZXggY2hhbmdlCiAgICAgICAgICAgICAgICBpZiAoIGUgJiYgZS5vcmlnaW5hbEV2ZW50ICYmICggISRlbC5pcyggZS5vcmlnaW5hbEV2ZW50LnRhcmdldCApIHx8IGUub3JpZ2luYWxFdmVudC5wcm9wZXJ0eU5hbWUgPT0gJ3otaW5kZXgnICkgKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICQuZmFuY3lib3guc3RvcCggJGVsICk7CgogICAgICAgICAgICAgICAgaWYgKCAkLmlzUGxhaW5PYmplY3QoIHRvICkgKSB7CgogICAgICAgICAgICAgICAgICAgIGlmICggdG8uc2NhbGVYICE9PSB1bmRlZmluZWQgJiYgdG8uc2NhbGVZICE9PSB1bmRlZmluZWQgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRlbC5jc3MoICd0cmFuc2l0aW9uLWR1cmF0aW9uJywgJycgKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIHRvLndpZHRoICA9IE1hdGgucm91bmQoICRlbC53aWR0aCgpICAqIHRvLnNjYWxlWCApOwogICAgICAgICAgICAgICAgICAgICAgICB0by5oZWlnaHQgPSBNYXRoLnJvdW5kKCAkZWwuaGVpZ2h0KCkgKiB0by5zY2FsZVkgKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIHRvLnNjYWxlWCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIHRvLnNjYWxlWSA9IDE7CgogICAgICAgICAgICAgICAgICAgICAgICAkLmZhbmN5Ym94LnNldFRyYW5zbGF0ZSggJGVsLCB0byApOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgaWYgKCBsZWF2ZUFuaW1hdGlvbk5hbWUgPT09IGZhbHNlICkgewogICAgICAgICAgICAgICAgICAgICAgICAkZWwucmVtb3ZlQXR0ciggJ3N0eWxlJyApOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCBsZWF2ZUFuaW1hdGlvbk5hbWUgIT09IHRydWUgKSB7CiAgICAgICAgICAgICAgICAgICAgJGVsLnJlbW92ZUNsYXNzKCB0byApOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmICggJC5pc0Z1bmN0aW9uKCBjYWxsYmFjayApICkgewogICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKCBlICk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIGlmICggJC5pc051bWVyaWMoIGR1cmF0aW9uICkgKSB7CiAgICAgICAgICAgICAgICAkZWwuY3NzKCAndHJhbnNpdGlvbi1kdXJhdGlvbicsIGR1cmF0aW9uICsgJ21zJyApOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoICQuaXNQbGFpbk9iamVjdCggdG8gKSApIHsKICAgICAgICAgICAgICAgICQuZmFuY3lib3guc2V0VHJhbnNsYXRlKCAkZWwsIHRvICk7CgogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJGVsLmFkZENsYXNzKCB0byApOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoIHRvLnNjYWxlWCAmJiAkZWwuaGFzQ2xhc3MoICdmYW5jeWJveC1pbWFnZS13cmFwJyApICkgewogICAgICAgICAgICAgICAgJGVsLnBhcmVudCgpLmFkZENsYXNzKCAnZmFuY3lib3gtaXMtc2NhbGluZycgKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoYXQgYHRyYW5zaXRpb25lbmRgIGNhbGxiYWNrIGdldHMgZmlyZWQKICAgICAgICAgICAgJGVsLmRhdGEoInRpbWVyIiwgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICRlbC50cmlnZ2VyKCAndHJhbnNpdGlvbmVuZCcgKTsKICAgICAgICAgICAgfSwgZHVyYXRpb24gKyAxNikpOwoKICAgICAgICB9LAoKICAgICAgICBzdG9wIDogZnVuY3Rpb24oICRlbCApIHsKICAgICAgICAgICAgY2xlYXJUaW1lb3V0KCAkZWwuZGF0YSgidGltZXIiKSApOwoKICAgICAgICAgICAgJGVsLm9mZiggJ3RyYW5zaXRpb25lbmQnICkuY3NzKCAndHJhbnNpdGlvbi1kdXJhdGlvbicsICcnICk7CgogICAgICAgICAgICBpZiAoICRlbC5oYXNDbGFzcyggJ2ZhbmN5Ym94LWltYWdlLXdyYXAnICkgKSB7CiAgICAgICAgICAgICAgICAkZWwucGFyZW50KCkucmVtb3ZlQ2xhc3MoICdmYW5jeWJveC1pcy1zY2FsaW5nJyApOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgIH07CgoKICAgIC8vIERlZmF1bHQgY2xpY2sgaGFuZGxlciBmb3IgImZhbmN5Ym94ZWQiIGxpbmtzCiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgIGZ1bmN0aW9uIF9ydW4oIGUgKSB7CiAgICAgICAgdmFyICR0YXJnZXQJPSAkKCBlLmN1cnJlbnRUYXJnZXQgKSwKICAgICAgICAgICAgb3B0cwk9IGUuZGF0YSA/IGUuZGF0YS5vcHRpb25zIDoge30sCiAgICAgICAgICAgIHZhbHVlCT0gJHRhcmdldC5hdHRyKCAnZGF0YS1mYW5jeWJveCcgKSB8fCAnJywKICAgICAgICAgICAgaW5kZXgJPSAwLAogICAgICAgICAgICBpdGVtcyAgID0gW107CgogICAgICAgIC8vIEF2b2lkIG9wZW5pbmcgbXVsdGlwbGUgdGltZXMKICAgICAgICBpZiAoIGUuaXNEZWZhdWx0UHJldmVudGVkKCkgKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgLy8gR2V0IGFsbCByZWxhdGVkIGl0ZW1zIGFuZCBmaW5kIGluZGV4IGZvciBjbGlja2VkIG9uZQogICAgICAgIGlmICggdmFsdWUgKSB7CiAgICAgICAgICAgIGl0ZW1zID0gb3B0cy5zZWxlY3RvciA/ICQoIG9wdHMuc2VsZWN0b3IgKSA6ICggZS5kYXRhID8gZS5kYXRhLml0ZW1zIDogW10gKTsKICAgICAgICAgICAgaXRlbXMgPSBpdGVtcy5sZW5ndGggPyBpdGVtcy5maWx0ZXIoICdbZGF0YS1mYW5jeWJveD0iJyArIHZhbHVlICsgJyJdJyApIDogJCggJ1tkYXRhLWZhbmN5Ym94PSInICsgdmFsdWUgKyAnIl0nICk7CgogICAgICAgICAgICBpbmRleCA9IGl0ZW1zLmluZGV4KCAkdGFyZ2V0ICk7CgogICAgICAgICAgICAvLyBTb21ldGltZXMgY3VycmVudCBpdGVtIGNhbiBub3QgYmUgZm91bmQKICAgICAgICAgICAgLy8gKGZvciBleGFtcGxlLCB3aGVuIHNsaWRlciBjbG9uZXMgaXRlbXMpCiAgICAgICAgICAgIGlmICggaW5kZXggPCAwICkgewogICAgICAgICAgICAgICAgaW5kZXggPSAwOwogICAgICAgICAgICB9CgogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGl0ZW1zID0gWyAkdGFyZ2V0IF07CiAgICAgICAgfQoKICAgICAgICAkLmZhbmN5Ym94Lm9wZW4oIGl0ZW1zLCBvcHRzLCBpbmRleCApOwogICAgfQoKCiAgICAvLyBDcmVhdGUgYSBqUXVlcnkgcGx1Z2luCiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09CgogICAgJC5mbi5mYW5jeWJveCA9IGZ1bmN0aW9uIChvcHRpb25zKSB7CiAgICAgICAgdmFyIHNlbGVjdG9yOwoKICAgICAgICBvcHRpb25zICA9IG9wdGlvbnMgfHwge307CiAgICAgICAgc2VsZWN0b3IgPSBvcHRpb25zLnNlbGVjdG9yIHx8IGZhbHNlOwoKICAgICAgICBpZiAoIHNlbGVjdG9yICkgewoKICAgICAgICAgICAgJCggJ2JvZHknICkub2ZmKCAnY2xpY2suZmItc3RhcnQnLCBzZWxlY3RvciApLm9uKCAnY2xpY2suZmItc3RhcnQnLCBzZWxlY3RvciwgewogICAgICAgICAgICAgICAgb3B0aW9ucyA6IG9wdGlvbnMKICAgICAgICAgICAgfSwgX3J1biApOwoKICAgICAgICB9IGVsc2UgewoKICAgICAgICAgICAgdGhpcy5vZmYoICdjbGljay5mYi1zdGFydCcgKS5vbiggJ2NsaWNrLmZiLXN0YXJ0JywgewogICAgICAgICAgICAgICAgaXRlbXMgICA6IHRoaXMsCiAgICAgICAgICAgICAgICBvcHRpb25zIDogb3B0aW9ucwogICAgICAgICAgICB9LCBfcnVuKTsKCiAgICAgICAgfQoKICAgICAgICByZXR1cm4gdGhpczsKICAgIH07CgoKICAgIC8vIFNlbGYgaW5pdGlhbGl6aW5nIHBsdWdpbgogICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09CgogICAgJEQub24oICdjbGljay5mYi1zdGFydCcsICdbZGF0YS1mYW5jeWJveF0nLCBfcnVuICk7Cgp9KCB3aW5kb3csIGRvY3VtZW50LCB3aW5kb3cualF1ZXJ5IHx8IGpRdWVyeSApKTsKCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci8vCi8vIE1lZGlhCi8vIEFkZHMgYWRkaXRpb25hbCBtZWRpYSB0eXBlIHN1cHBvcnQKLy8KLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KOyhmdW5jdGlvbiAoJCkgewoKCSd1c2Ugc3RyaWN0JzsKCgkvLyBGb3JtYXRzIG1hdGNoaW5nIHVybCB0byBmaW5hbCBmb3JtCgoJdmFyIGZvcm1hdCA9IGZ1bmN0aW9uICh1cmwsIHJleiwgcGFyYW1zKSB7CgkJaWYgKCAhdXJsICkgewoJCQlyZXR1cm47CgkJfQoKCQlwYXJhbXMgPSBwYXJhbXMgfHwgJyc7CgoJCWlmICggJC50eXBlKHBhcmFtcykgPT09ICJvYmplY3QiICkgewoJCQlwYXJhbXMgPSAkLnBhcmFtKHBhcmFtcywgdHJ1ZSk7CgkJfQoKCQkkLmVhY2gocmV6LCBmdW5jdGlvbiAoa2V5LCB2YWx1ZSkgewoJCQl1cmwgPSB1cmwucmVwbGFjZSgnJCcgKyBrZXksIHZhbHVlIHx8ICcnKTsKCQl9KTsKCgkJaWYgKHBhcmFtcy5sZW5ndGgpIHsKCQkJdXJsICs9ICh1cmwuaW5kZXhPZignPycpID4gMCA/ICcmJyA6ICc/JykgKyBwYXJhbXM7CgkJfQoKCQlyZXR1cm4gdXJsOwoJfTsKCgkvLyBPYmplY3QgY29udGFpbmluZyBwcm9wZXJ0aWVzIGZvciBlYWNoIG1lZGlhIHR5cGUKCgl2YXIgZGVmYXVsdHMgPSB7CgkJeW91dHViZSA6IHsKCQkJbWF0Y2hlciA6IC8oeW91dHViZVwuY29tfHlvdXR1XC5iZXx5b3V0dWJlXC1ub2Nvb2tpZVwuY29tKVwvKHdhdGNoXD8oLiomKT92PXx2XC98dVwvfGVtYmVkXC8/KT8odmlkZW9zZXJpZXNcP2xpc3Q9KC4qKXxbXHctXXsxMX18XD9saXN0VHlwZT0oLiopJmxpc3Q9KC4qKSkoLiopL2ksCgkJCXBhcmFtcyAgOiB7CgkJCQlhdXRvcGxheSA6IDEsCgkJCQlhdXRvaGlkZSA6IDEsCgkJCQlmcyAgOiAxLAoJCQkJcmVsIDogMCwKCQkJCWhkICA6IDEsCgkJCQl3bW9kZSA6ICd0cmFuc3BhcmVudCcsCgkJCQllbmFibGVqc2FwaSA6IDEsCgkJCQlodG1sNSA6IDEKCQkJfSwKCQkJcGFyYW1QbGFjZSA6IDgsCgkJCXR5cGUgIDogJ2lmcmFtZScsCgkJCXVybCAgIDogJy8vd3d3LnlvdXR1YmUuY29tL2VtYmVkLyQ0JywKCQkJdGh1bWIgOiAnLy9pbWcueW91dHViZS5jb20vdmkvJDQvaHFkZWZhdWx0LmpwZycKCQl9LAoKCQl2aW1lbyA6IHsKCQkJbWF0Y2hlciA6IC9eLit2aW1lby5jb21cLyguKlwvKT8oW1xkXSspKC4qKT8vLAoJCQlwYXJhbXMgIDogewoJCQkJYXV0b3BsYXkgOiAxLAoJCQkJaGQgOiAxLAoJCQkJc2hvd190aXRsZSAgICA6IDEsCgkJCQlzaG93X2J5bGluZSAgIDogMSwKCQkJCXNob3dfcG9ydHJhaXQgOiAwLAoJCQkJZnVsbHNjcmVlbiAgICA6IDEsCgkJCQlhcGkgOiAxCgkJCX0sCgkJCXBhcmFtUGxhY2UgOiAzLAoJCQl0eXBlIDogJ2lmcmFtZScsCgkJCXVybCA6ICcvL3BsYXllci52aW1lby5jb20vdmlkZW8vJDInCgkJfSwKCgkJbWV0YWNhZmUgOiB7CgkJCW1hdGNoZXIgOiAvbWV0YWNhZmUuY29tXC93YXRjaFwvKFxkKylcLyguKik/LywKCQkJdHlwZSAgICA6ICdpZnJhbWUnLAoJCQl1cmwgICAgIDogJy8vd3d3Lm1ldGFjYWZlLmNvbS9lbWJlZC8kMS8/YXA9MScKCQl9LAoKCQlkYWlseW1vdGlvbiA6IHsKCQkJbWF0Y2hlciA6IC9kYWlseW1vdGlvbi5jb21cL3ZpZGVvXC8oLiopXC8/KC4qKS8sCgkJCXBhcmFtcyA6IHsKCQkJCWFkZGl0aW9uYWxJbmZvcyA6IDAsCgkJCQlhdXRvU3RhcnQgOiAxCgkJCX0sCgkJCXR5cGUgOiAnaWZyYW1lJywKCQkJdXJsICA6ICcvL3d3dy5kYWlseW1vdGlvbi5jb20vZW1iZWQvdmlkZW8vJDEnCgkJfSwKCgkJdmluZSA6IHsKCQkJbWF0Y2hlciA6IC92aW5lLmNvXC92XC8oW2EtekEtWjAtOVw/XD1cLV0rKS8sCgkJCXR5cGUgICAgOiAnaWZyYW1lJywKCQkJdXJsICAgICA6ICcvL3ZpbmUuY28vdi8kMS9lbWJlZC9zaW1wbGUnCgkJfSwKCgkJaW5zdGFncmFtIDogewoJCQltYXRjaGVyIDogLyhpbnN0YWdyXC5hbXxpbnN0YWdyYW1cLmNvbSlcL3BcLyhbYS16QS1aMC05X1wtXSspXC8/L2ksCgkJCXR5cGUgICAgOiAnaW1hZ2UnLAoJCQl1cmwgICAgIDogJy8vJDEvcC8kMi9tZWRpYS8/c2l6ZT1sJwoJCX0sCgoJCS8vIEV4YW1wbGVzOgoJCS8vIGh0dHA6Ly9tYXBzLmdvb2dsZS5jb20vP2xsPTQ4Ljg1Nzk5NSwyLjI5NDI5NyZzcG49MC4wMDc2NjYsMC4wMjExMzYmdD1tJno9MTYKCQkvLyBodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvQDM3Ljc4NTIwMDYsLTEyMi40MTQ2MzU1LDE0LjY1egoJCS8vIGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9wbGFjZS9Hb29nbGVwbGV4L0AzNy40MjIwMDQxLC0xMjIuMDgzMzQ5NCwxN3ovZGF0YT0hNG01ITNtNCExczB4MDoweDZjMjk2YzY2NjE5MzY3ZTAhOG0yITNkMzcuNDIxOTk5OCE0ZC0xMjIuMDg0MDU3MgoJCWdtYXBfcGxhY2UgOiB7CgkJCW1hdGNoZXIgOiAvKG1hcHNcLik/Z29vZ2xlXC4oW2Etel17MiwzfShcLlthLXpdezJ9KT8pXC8oKChtYXBzXC8ocGxhY2VcLyguKilcLyk/XEAoLiopLChcZCsuP1xkKz8peikpfChcP2xsPSkpKC4qKT8vaSwKCQkJdHlwZSAgICA6ICdpZnJhbWUnLAoJCQl1cmwgICAgIDogZnVuY3Rpb24gKHJleikgewoJCQkJcmV0dXJuICcvL21hcHMuZ29vZ2xlLicgKyByZXpbMl0gKyAnLz9sbD0nICsgKCByZXpbOV0gPyByZXpbOV0gKyAnJno9JyArIE1hdGguZmxvb3IoICByZXpbMTBdICApICsgKCByZXpbMTJdID8gcmV6WzEyXS5yZXBsYWNlKC9eXC8vLCAiJiIpIDogJycgKSAgOiByZXpbMTJdICkgKyAnJm91dHB1dD0nICsgKCByZXpbMTJdICYmIHJlelsxMl0uaW5kZXhPZignbGF5ZXI9YycpID4gMCA/ICdzdmVtYmVkJyA6ICdlbWJlZCcgKTsKCQkJfQoJCX0sCgoJCS8vIEV4YW1wbGVzOgoJCS8vIGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9zZWFyY2gvRW1waXJlK1N0YXRlK0J1aWxkaW5nLwoJCS8vIGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9zZWFyY2gvP2FwaT0xJnF1ZXJ5PWNlbnR1cnlsaW5rK2ZpZWxkCgkJLy8gaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL3NlYXJjaC8/YXBpPTEmcXVlcnk9NDcuNTk1MTUxOCwtMTIyLjMzMTYzOTMKCQlnbWFwX3NlYXJjaCA6IHsKCQkJbWF0Y2hlciA6IC8obWFwc1wuKT9nb29nbGVcLihbYS16XXsyLDN9KFwuW2Etel17Mn0pPylcLyhtYXBzXC9zZWFyY2hcLykoLiopL2ksCgkJCXR5cGUgICAgOiAnaWZyYW1lJywKCQkJdXJsICAgICA6IGZ1bmN0aW9uIChyZXopIHsKCQkJCXJldHVybiAnLy9tYXBzLmdvb2dsZS4nICsgcmV6WzJdICsgJy9tYXBzP3E9JyArIHJlels1XS5yZXBsYWNlKCdxdWVyeT0nLCAncT0nKS5yZXBsYWNlKCdhcGk9MScsICcnKSArICcmb3V0cHV0PWVtYmVkJzsKCQkJfQoJCX0KCX07CgoJJChkb2N1bWVudCkub24oJ29iamVjdE5lZWRzVHlwZS5mYicsIGZ1bmN0aW9uIChlLCBpbnN0YW5jZSwgaXRlbSkgewoKCQl2YXIgdXJsCSA9IGl0ZW0uc3JjIHx8ICcnLAoJCQl0eXBlID0gZmFsc2UsCgkJCW1lZGlhLAoJCQl0aHVtYiwKCQkJcmV6LAoJCQlwYXJhbXMsCgkJCXVybFBhcmFtcywKCQkJcGFyYW1PYmosCgkJCXByb3ZpZGVyOwoKCQltZWRpYSA9ICQuZXh0ZW5kKCB0cnVlLCB7fSwgZGVmYXVsdHMsIGl0ZW0ub3B0cy5tZWRpYSApOwoKCQkvLyBMb29rIGZvciBhbnkgbWF0Y2hpbmcgbWVkaWEgdHlwZQoJCSQuZWFjaChtZWRpYSwgZnVuY3Rpb24gKCBwcm92aWRlck5hbWUsIHByb3ZpZGVyT3B0cyApIHsKCQkJcmV6ID0gdXJsLm1hdGNoKCBwcm92aWRlck9wdHMubWF0Y2hlciApOwoKCQkJaWYgKCAhcmV6ICkgewoJCQkJcmV0dXJuOwoJCQl9CgoJCQl0eXBlICAgICA9IHByb3ZpZGVyT3B0cy50eXBlOwoJCQlwYXJhbU9iaiA9IHt9OwoKCQkJaWYgKCBwcm92aWRlck9wdHMucGFyYW1QbGFjZSAmJiByZXpbIHByb3ZpZGVyT3B0cy5wYXJhbVBsYWNlIF0gKSB7CgkJCQl1cmxQYXJhbXMgPSByZXpbIHByb3ZpZGVyT3B0cy5wYXJhbVBsYWNlIF07CgoJCQkJaWYgKCB1cmxQYXJhbXNbIDAgXSA9PSAnPycgKSB7CgkJCQkJdXJsUGFyYW1zID0gdXJsUGFyYW1zLnN1YnN0cmluZygxKTsKCQkJCX0KCgkJCQl1cmxQYXJhbXMgPSB1cmxQYXJhbXMuc3BsaXQoJyYnKTsKCgkJCQlmb3IgKCB2YXIgbSA9IDA7IG0gPCB1cmxQYXJhbXMubGVuZ3RoOyArK20gKSB7CgkJCQkJdmFyIHAgPSB1cmxQYXJhbXNbIG0gXS5zcGxpdCgnPScsIDIpOwoKCQkJCQlpZiAoIHAubGVuZ3RoID09IDIgKSB7CgkJCQkJCXBhcmFtT2JqWyBwWzBdIF0gPSBkZWNvZGVVUklDb21wb25lbnQoIHBbMV0ucmVwbGFjZSgvXCsvZywgIiAiKSApOwoJCQkJCX0KCQkJCX0KCQkJfQoKCQkJcGFyYW1zID0gJC5leHRlbmQoIHRydWUsIHt9LCBwcm92aWRlck9wdHMucGFyYW1zLCBpdGVtLm9wdHNbIHByb3ZpZGVyTmFtZSBdLCBwYXJhbU9iaiApOwoKCQkJdXJsICAgPSAkLnR5cGUoIHByb3ZpZGVyT3B0cy51cmwgKSA9PT0gImZ1bmN0aW9uIiA/IHByb3ZpZGVyT3B0cy51cmwuY2FsbCggdGhpcywgcmV6LCBwYXJhbXMsIGl0ZW0gKSA6IGZvcm1hdCggcHJvdmlkZXJPcHRzLnVybCwgcmV6LCBwYXJhbXMgKTsKCQkJdGh1bWIgPSAkLnR5cGUoIHByb3ZpZGVyT3B0cy50aHVtYiApID09PSAiZnVuY3Rpb24iID8gcHJvdmlkZXJPcHRzLnRodW1iLmNhbGwoIHRoaXMsIHJleiwgcGFyYW1zLCBpdGVtICkgOiBmb3JtYXQoIHByb3ZpZGVyT3B0cy50aHVtYiwgcmV6ICk7CgoJCQlpZiAoIHByb3ZpZGVyTmFtZSA9PT0gJ3ZpbWVvJyApIHsKCQkJCXVybCA9IHVybC5yZXBsYWNlKCcmJTIzJywgJyMnKTsKCQkJfQoKCQkJcmV0dXJuIGZhbHNlOwoJCX0pOwoKCQkvLyBJZiBpdCBpcyBmb3VuZCwgdGhlbiBjaGFuZ2UgY29udGVudCB0eXBlIGFuZCB1cGRhdGUgdGhlIHVybAoKCQlpZiAoIHR5cGUgKSB7CgkJCWl0ZW0uc3JjICA9IHVybDsKCQkJaXRlbS50eXBlID0gdHlwZTsKCgkJCWlmICggIWl0ZW0ub3B0cy50aHVtYiAmJiAhKCBpdGVtLm9wdHMuJHRodW1iICYmIGl0ZW0ub3B0cy4kdGh1bWIubGVuZ3RoICkgKSB7CgkJCQlpdGVtLm9wdHMudGh1bWIgPSB0aHVtYjsKCQkJfQoKCQkJaWYgKCB0eXBlID09PSAnaWZyYW1lJyApIHsKCQkJCSQuZXh0ZW5kKHRydWUsIGl0ZW0ub3B0cywgewoJCQkJCWlmcmFtZSA6IHsKCQkJCQkJcHJlbG9hZCA6IGZhbHNlLAoJCQkJCQlhdHRyIDogewoJCQkJCQkJc2Nyb2xsaW5nIDogIm5vIgoJCQkJCQl9CgkJCQkJfQoJCQkJfSk7CgoJCQkJaXRlbS5jb250ZW50UHJvdmlkZXIgPSBwcm92aWRlcjsKCgkJCQlpdGVtLm9wdHMuc2xpZGVDbGFzcyArPSAnIGZhbmN5Ym94LXNsaWRlLS0nICsgKCBwcm92aWRlciA9PSAnZ21hcF9wbGFjZScgfHwgcHJvdmlkZXIgPT0gJ2dtYXBfc2VhcmNoJyA/ICdtYXAnIDogJ3ZpZGVvJyApOwoJCQl9CgoJCX0gZWxzZSBpZiAoIHVybCApIHsKCQkJaXRlbS50eXBlID0gaXRlbS5vcHRzLmRlZmF1bHRUeXBlOwoJCX0KCgl9KTsKCn0oIHdpbmRvdy5qUXVlcnkgfHwgalF1ZXJ5ICkpOwoKLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLy8KLy8gR3Vlc3R1cmVzCi8vIEFkZHMgdG91Y2ggZ3Vlc3R1cmVzLCBoYW5kbGVzIGNsaWNrIGFuZCB0YXAgZXZlbnRzCi8vCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjsoZnVuY3Rpb24gKHdpbmRvdywgZG9jdW1lbnQsICQpIHsKCSd1c2Ugc3RyaWN0JzsKCgl2YXIgcmVxdWVzdEFGcmFtZSA9IChmdW5jdGlvbiAoKSB7CgkJcmV0dXJuIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHwKCQkJd2luZG93LndlYmtpdFJlcXVlc3RBbmltYXRpb25GcmFtZSB8fAoJCQl3aW5kb3cubW96UmVxdWVzdEFuaW1hdGlvbkZyYW1lIHx8CgkJCXdpbmRvdy5vUmVxdWVzdEFuaW1hdGlvbkZyYW1lIHx8CgkJCS8vIGlmIGFsbCBlbHNlIGZhaWxzLCB1c2Ugc2V0VGltZW91dAoJCQlmdW5jdGlvbiAoY2FsbGJhY2spIHsKCQkJCXJldHVybiB3aW5kb3cuc2V0VGltZW91dChjYWxsYmFjaywgMTAwMCAvIDYwKTsKCQkJfTsKCX0pKCk7CgoJdmFyIGNhbmNlbEFGcmFtZSA9IChmdW5jdGlvbiAoKSB7CgkJcmV0dXJuIHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSB8fAoJCQl3aW5kb3cud2Via2l0Q2FuY2VsQW5pbWF0aW9uRnJhbWUgfHwKCQkJd2luZG93Lm1vekNhbmNlbEFuaW1hdGlvbkZyYW1lIHx8CgkJCXdpbmRvdy5vQ2FuY2VsQW5pbWF0aW9uRnJhbWUgfHwKCQkJZnVuY3Rpb24gKGlkKSB7CgkJCQl3aW5kb3cuY2xlYXJUaW1lb3V0KGlkKTsKCQkJfTsKCX0pKCk7CgoJdmFyIHBvaW50ZXJzID0gZnVuY3Rpb24oIGUgKSB7CgkJdmFyIHJlc3VsdCA9IFtdOwoKCQllID0gZS5vcmlnaW5hbEV2ZW50IHx8IGUgfHwgd2luZG93LmU7CgkJZSA9IGUudG91Y2hlcyAmJiBlLnRvdWNoZXMubGVuZ3RoID8gZS50b3VjaGVzIDogKCBlLmNoYW5nZWRUb3VjaGVzICYmIGUuY2hhbmdlZFRvdWNoZXMubGVuZ3RoID8gZS5jaGFuZ2VkVG91Y2hlcyA6IFsgZSBdICk7CgoJCWZvciAoIHZhciBrZXkgaW4gZSApIHsKCgkJCWlmICggZVsga2V5IF0ucGFnZVggKSB7CgkJCQlyZXN1bHQucHVzaCggeyB4IDogZVsga2V5IF0ucGFnZVgsIHkgOiBlWyBrZXkgXS5wYWdlWSB9ICk7CgoJCQl9IGVsc2UgaWYgKCBlWyBrZXkgXS5jbGllbnRYICkgewoJCQkJcmVzdWx0LnB1c2goIHsgeCA6IGVbIGtleSBdLmNsaWVudFgsIHkgOiBlWyBrZXkgXS5jbGllbnRZIH0gKTsKCQkJfQoJCX0KCgkJcmV0dXJuIHJlc3VsdDsKCX07CgoJdmFyIGRpc3RhbmNlID0gZnVuY3Rpb24oIHBvaW50MiwgcG9pbnQxLCB3aGF0ICkgewoJCWlmICggIXBvaW50MSB8fCAhcG9pbnQyICkgewoJCQlyZXR1cm4gMDsKCQl9CgoJCWlmICggd2hhdCA9PT0gJ3gnICkgewoJCQlyZXR1cm4gcG9pbnQyLnggLSBwb2ludDEueDsKCgkJfSBlbHNlIGlmICggd2hhdCA9PT0gJ3knICkgewoJCQlyZXR1cm4gcG9pbnQyLnkgLSBwb2ludDEueTsKCQl9CgoJCXJldHVybiBNYXRoLnNxcnQoIE1hdGgucG93KCBwb2ludDIueCAtIHBvaW50MS54LCAyICkgKyBNYXRoLnBvdyggcG9pbnQyLnkgLSBwb2ludDEueSwgMiApICk7Cgl9OwoKCXZhciBpc0NsaWNrYWJsZSA9IGZ1bmN0aW9uKCAkZWwgKSB7CgkJaWYgKCAkZWwuaXMoJ2EsYXJlYSxidXR0b24sW3JvbGU9ImJ1dHRvbiJdLGlucHV0LGxhYmVsLHNlbGVjdCxzdW1tYXJ5LHRleHRhcmVhJykgfHwgJC5pc0Z1bmN0aW9uKCAkZWwuZ2V0KDApLm9uY2xpY2sgKSB8fCAkZWwuZGF0YSgnc2VsZWN0YWJsZScpICkgewoJCQlyZXR1cm4gdHJ1ZTsKCQl9CgoJCS8vIENoZWNrIGZvciBhdHRyaWJ1dGVzIGxpa2UgZGF0YS1mYW5jeWJveC1uZXh0IG9yIGRhdGEtZmFuY3lib3gtY2xvc2UKCQlmb3IgKCB2YXIgaSA9IDAsIGF0dHMgPSAkZWxbMF0uYXR0cmlidXRlcywgbiA9IGF0dHMubGVuZ3RoOyBpIDwgbjsgaSsrICkgewoJCQlpZiAoIGF0dHNbaV0ubm9kZU5hbWUuc3Vic3RyKDAsIDE0KSA9PT0gJ2RhdGEtZmFuY3lib3gtJyApIHsKCQkJCXJldHVybiB0cnVlOwoJCQl9CgkJfQoKCSAJcmV0dXJuIGZhbHNlOwoJfTsKCgl2YXIgaGFzU2Nyb2xsYmFycyA9IGZ1bmN0aW9uKCBlbCApIHsKCQl2YXIgb3ZlcmZsb3dZID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoIGVsIClbJ292ZXJmbG93LXknXTsKCQl2YXIgb3ZlcmZsb3dYID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoIGVsIClbJ292ZXJmbG93LXgnXTsKCgkJdmFyIHZlcnRpY2FsICAgPSAob3ZlcmZsb3dZID09PSAnc2Nyb2xsJyB8fCBvdmVyZmxvd1kgPT09ICdhdXRvJykgJiYgZWwuc2Nyb2xsSGVpZ2h0ID4gZWwuY2xpZW50SGVpZ2h0OwoJCXZhciBob3Jpem9udGFsID0gKG92ZXJmbG93WCA9PT0gJ3Njcm9sbCcgfHwgb3ZlcmZsb3dYID09PSAnYXV0bycpICYmIGVsLnNjcm9sbFdpZHRoID4gZWwuY2xpZW50V2lkdGg7CgoJCXJldHVybiB2ZXJ0aWNhbCB8fCBob3Jpem9udGFsOwoJfTsKCgl2YXIgaXNTY3JvbGxhYmxlID0gZnVuY3Rpb24gKCAkZWwgKSB7CgkJdmFyIHJleiA9IGZhbHNlOwoKCQl3aGlsZSAoIHRydWUgKSB7CgkJCXJlegk9IGhhc1Njcm9sbGJhcnMoICRlbC5nZXQoMCkgKTsKCgkJCWlmICggcmV6ICkgewoJCQkJYnJlYWs7CgkJCX0KCgkJCSRlbCA9ICRlbC5wYXJlbnQoKTsKCgkJCWlmICggISRlbC5sZW5ndGggfHwgJGVsLmhhc0NsYXNzKCAnZmFuY3lib3gtc3RhZ2UnICkgfHwgJGVsLmlzKCAnYm9keScgKSApIHsKCQkJCWJyZWFrOwoJCQl9CgkJfQoKCQlyZXR1cm4gcmV6OwoJfTsKCgoJdmFyIEd1ZXN0dXJlcyA9IGZ1bmN0aW9uICggaW5zdGFuY2UgKSB7CgkJdmFyIHNlbGYgPSB0aGlzOwoKCQlzZWxmLmluc3RhbmNlID0gaW5zdGFuY2U7CgoJCXNlbGYuJGJnICAgICAgICA9IGluc3RhbmNlLiRyZWZzLmJnOwoJCXNlbGYuJHN0YWdlICAgICA9IGluc3RhbmNlLiRyZWZzLnN0YWdlOwoJCXNlbGYuJGNvbnRhaW5lciA9IGluc3RhbmNlLiRyZWZzLmNvbnRhaW5lcjsKCgkJc2VsZi5kZXN0cm95KCk7CgoJCXNlbGYuJGNvbnRhaW5lci5vbiggJ3RvdWNoc3RhcnQuZmIudG91Y2ggbW91c2Vkb3duLmZiLnRvdWNoJywgJC5wcm94eShzZWxmLCAnb250b3VjaHN0YXJ0JykgKTsKCX07CgoJR3Vlc3R1cmVzLnByb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24oKSB7CgkJdGhpcy4kY29udGFpbmVyLm9mZiggJy5mYi50b3VjaCcgKTsKCX07CgoJR3Vlc3R1cmVzLnByb3RvdHlwZS5vbnRvdWNoc3RhcnQgPSBmdW5jdGlvbiggZSApIHsKCQl2YXIgc2VsZiA9IHRoaXM7CgoJCXZhciAkdGFyZ2V0ICA9ICQoIGUudGFyZ2V0ICk7CgkJdmFyIGluc3RhbmNlID0gc2VsZi5pbnN0YW5jZTsKCQl2YXIgY3VycmVudCAgPSBpbnN0YW5jZS5jdXJyZW50OwoJCXZhciAkY29udGVudCA9IGN1cnJlbnQuJGNvbnRlbnQ7CgoJCXZhciBpc1RvdWNoRGV2aWNlID0gKCBlLnR5cGUgPT0gJ3RvdWNoc3RhcnQnICk7CgoJCS8vIERvIG5vdCByZXNwb25kIHRvIGJvdGggKHRvdWNoIGFuZCBtb3VzZSkgZXZlbnRzCgkJaWYgKCBpc1RvdWNoRGV2aWNlICkgewoJCQlzZWxmLiRjb250YWluZXIub2ZmKCAnbW91c2Vkb3duLmZiLnRvdWNoJyApOwoJCX0KCgkJLy8gSWdub3JlIHJpZ2h0IGNsaWNrCgkJaWYgKCBlLm9yaWdpbmFsRXZlbnQgJiYgZS5vcmlnaW5hbEV2ZW50LmJ1dHRvbiA9PSAyICkgewoJCQlyZXR1cm47CgkJfQoKCQkvLyBJZ25vcmUgdGFwaW5nIG9uIGxpbmtzLCBidXR0b25zLCBpbnB1dCBlbGVtZW50cwoJCWlmICggISR0YXJnZXQubGVuZ3RoIHx8IGlzQ2xpY2thYmxlKCAkdGFyZ2V0ICkgfHwgaXNDbGlja2FibGUoICR0YXJnZXQucGFyZW50KCkgKSApIHsKCQkJcmV0dXJuOwoJCX0KCgkJLy8gSWdub3JlIGNsaWNrcyBvbiB0aGUgc2Nyb2xsYmFyCgkJaWYgKCAhJHRhcmdldC5pcygnaW1nJykgJiYgZS5vcmlnaW5hbEV2ZW50LmNsaWVudFggPiAkdGFyZ2V0WzBdLmNsaWVudFdpZHRoICsgJHRhcmdldC5vZmZzZXQoKS5sZWZ0ICkgewoJCQlyZXR1cm47CgkJfQoKCQkvLyBJZ25vcmUgY2xpY2tzIHdoaWxlIHpvb21pbmcgb3IgY2xvc2luZwoJCWlmICggIWN1cnJlbnQgfHwgc2VsZi5pbnN0YW5jZS5pc0FuaW1hdGluZyB8fCBzZWxmLmluc3RhbmNlLmlzQ2xvc2luZyApIHsKCQkJZS5zdG9wUHJvcGFnYXRpb24oKTsKCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoKCQkJcmV0dXJuOwoJCX0KCgkJc2VsZi5yZWFsUG9pbnRzID0gc2VsZi5zdGFydFBvaW50cyA9IHBvaW50ZXJzKCBlICk7CgoJCWlmICggIXNlbGYuc3RhcnRQb2ludHMgKSB7CgkJCXJldHVybjsKCQl9CgoJCWUuc3RvcFByb3BhZ2F0aW9uKCk7CgoJCXNlbGYuc3RhcnRFdmVudCA9IGU7CgoJCXNlbGYuY2FuVGFwICAgPSB0cnVlOwoJCXNlbGYuJHRhcmdldCAgPSAkdGFyZ2V0OwoJCXNlbGYuJGNvbnRlbnQgPSAkY29udGVudDsKCQlzZWxmLm9wdHMgICAgID0gY3VycmVudC5vcHRzLnRvdWNoOwoKCQlzZWxmLmlzUGFubmluZyAgID0gZmFsc2U7CgkJc2VsZi5pc1N3aXBpbmcgICA9IGZhbHNlOwoJCXNlbGYuaXNab29taW5nICAgPSBmYWxzZTsKCQlzZWxmLmlzU2Nyb2xsaW5nID0gZmFsc2U7CgoJCXNlbGYuc2xpZGVyU3RhcnRQb3MgID0gc2VsZi5zbGlkZXJMYXN0UG9zIHx8IHsgdG9wOiAwLCBsZWZ0OiAwIH07CgkJc2VsZi5jb250ZW50U3RhcnRQb3MgPSAkLmZhbmN5Ym94LmdldFRyYW5zbGF0ZSggc2VsZi4kY29udGVudCApOwoJCXNlbGYuY29udGVudExhc3RQb3MgID0gbnVsbDsKCgkJc2VsZi5zdGFydFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTsKCQlzZWxmLmRpc3RhbmNlWCA9IHNlbGYuZGlzdGFuY2VZID0gc2VsZi5kaXN0YW5jZSA9IDA7CgoJCXNlbGYuY2FudmFzV2lkdGggID0gTWF0aC5yb3VuZCggY3VycmVudC4kc2xpZGVbMF0uY2xpZW50V2lkdGggKTsKCQlzZWxmLmNhbnZhc0hlaWdodCA9IE1hdGgucm91bmQoIGN1cnJlbnQuJHNsaWRlWzBdLmNsaWVudEhlaWdodCApOwoKCQkkKGRvY3VtZW50KQoJCQkub2ZmKCAnLmZiLnRvdWNoJyApCgkJCS5vbiggaXNUb3VjaERldmljZSA/ICd0b3VjaGVuZC5mYi50b3VjaCB0b3VjaGNhbmNlbC5mYi50b3VjaCcgOiAnbW91c2V1cC5mYi50b3VjaCBtb3VzZWxlYXZlLmZiLnRvdWNoJywgJC5wcm94eShzZWxmLCAib250b3VjaGVuZCIpKQoJCQkub24oIGlzVG91Y2hEZXZpY2UgPyAndG91Y2htb3ZlLmZiLnRvdWNoJyA6ICdtb3VzZW1vdmUuZmIudG91Y2gnLCAkLnByb3h5KHNlbGYsICJvbnRvdWNobW92ZSIpKTsKCgkJaWYgKCAkLmZhbmN5Ym94LmlzTW9iaWxlICkgewoJCQlkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBzZWxmLm9uc2Nyb2xsLCB0cnVlKTsKCQl9CgoJCWlmICggIShzZWxmLm9wdHMgfHwgaW5zdGFuY2UuY2FuUGFuKCkgKSB8fCAhKCAkdGFyZ2V0LmlzKCBzZWxmLiRzdGFnZSApIHx8IHNlbGYuJHN0YWdlLmZpbmQoICR0YXJnZXQgKS5sZW5ndGggKSApIHsKCgkJCS8vIFByZXZlbnQgaW1hZ2UgZ2hvc3Rpbmcgd2hpbGUgZHJhZ2dpbmcKCQkJaWYgKCAkdGFyZ2V0LmlzKCdpbWcnKSApIHsKCQkJCWUucHJldmVudERlZmF1bHQoKTsKCQkJfQoKCQkJcmV0dXJuOwoJCX0KCgkJaWYgKCAhKCAkLmZhbmN5Ym94LmlzTW9iaWxlICYmICggaXNTY3JvbGxhYmxlKCAkdGFyZ2V0ICkgfHwgaXNTY3JvbGxhYmxlKCAkdGFyZ2V0LnBhcmVudCgpICkgKSApICkgewoJCQllLnByZXZlbnREZWZhdWx0KCk7CgkJfQoKCQlpZiAoIHNlbGYuc3RhcnRQb2ludHMubGVuZ3RoID09PSAxICkgewoJCQlpZiAoIGN1cnJlbnQudHlwZSA9PT0gJ2ltYWdlJyAmJiAoIHNlbGYuY29udGVudFN0YXJ0UG9zLndpZHRoID4gc2VsZi5jYW52YXNXaWR0aCArIDEgfHwgc2VsZi5jb250ZW50U3RhcnRQb3MuaGVpZ2h0ID4gc2VsZi5jYW52YXNIZWlnaHQgKyAxICkgKSB7CgkJCQkkLmZhbmN5Ym94LnN0b3AoIHNlbGYuJGNvbnRlbnQgKTsKCgkJCQlzZWxmLiRjb250ZW50LmNzcyggJ3RyYW5zaXRpb24tZHVyYXRpb24nLCAnJyApOwoKCQkJCXNlbGYuaXNQYW5uaW5nID0gdHJ1ZTsKCgkJCX0gZWxzZSB7CgkJCQlzZWxmLmlzU3dpcGluZyA9IHRydWU7CgkJCX0KCgkJCXNlbGYuJGNvbnRhaW5lci5hZGRDbGFzcyggJ2ZhbmN5Ym94LWNvbnRyb2xzLS1pc0dyYWJiaW5nJyApOwoJCX0KCgkJaWYgKCBzZWxmLnN0YXJ0UG9pbnRzLmxlbmd0aCA9PT0gMiAmJiAhaW5zdGFuY2UuaXNBbmltYXRpbmcgJiYgIWN1cnJlbnQuaGFzRXJyb3IgJiYgY3VycmVudC50eXBlID09PSAnaW1hZ2UnICYmICggY3VycmVudC5pc0xvYWRlZCB8fCBjdXJyZW50LiRnaG9zdCApICkgewoJCQlzZWxmLmNhblRhcCAgICA9IGZhbHNlOwoJCQlzZWxmLmlzU3dpcGluZyA9IGZhbHNlOwoJCQlzZWxmLmlzUGFubmluZyA9IGZhbHNlOwoKCQkJc2VsZi5pc1pvb21pbmcgPSB0cnVlOwoKCQkJJC5mYW5jeWJveC5zdG9wKCBzZWxmLiRjb250ZW50ICk7CgoJCQlzZWxmLiRjb250ZW50LmNzcyggJ3RyYW5zaXRpb24tZHVyYXRpb24nLCAnJyApOwoKCQkJc2VsZi5jZW50ZXJQb2ludFN0YXJ0WCA9ICggKCBzZWxmLnN0YXJ0UG9pbnRzWzBdLnggKyBzZWxmLnN0YXJ0UG9pbnRzWzFdLnggKSAqIDAuNSApIC0gJCh3aW5kb3cpLnNjcm9sbExlZnQoKTsKCQkJc2VsZi5jZW50ZXJQb2ludFN0YXJ0WSA9ICggKCBzZWxmLnN0YXJ0UG9pbnRzWzBdLnkgKyBzZWxmLnN0YXJ0UG9pbnRzWzFdLnkgKSAqIDAuNSApIC0gJCh3aW5kb3cpLnNjcm9sbFRvcCgpOwoKCQkJc2VsZi5wZXJjZW50YWdlT2ZJbWFnZUF0UGluY2hQb2ludFggPSAoIHNlbGYuY2VudGVyUG9pbnRTdGFydFggLSBzZWxmLmNvbnRlbnRTdGFydFBvcy5sZWZ0ICkgLyBzZWxmLmNvbnRlbnRTdGFydFBvcy53aWR0aDsKCQkJc2VsZi5wZXJjZW50YWdlT2ZJbWFnZUF0UGluY2hQb2ludFkgPSAoIHNlbGYuY2VudGVyUG9pbnRTdGFydFkgLSBzZWxmLmNvbnRlbnRTdGFydFBvcy50b3AgICkgLyBzZWxmLmNvbnRlbnRTdGFydFBvcy5oZWlnaHQ7CgoJCQlzZWxmLnN0YXJ0RGlzdGFuY2VCZXR3ZWVuRmluZ2VycyA9IGRpc3RhbmNlKCBzZWxmLnN0YXJ0UG9pbnRzWzBdLCBzZWxmLnN0YXJ0UG9pbnRzWzFdICk7CgkJfQoKCX07CgoJR3Vlc3R1cmVzLnByb3RvdHlwZS5vbnNjcm9sbCA9IGZ1bmN0aW9uKGUpIHsKCQlzZWxmLmlzU2Nyb2xsaW5nID0gdHJ1ZTsKCX07CgoJR3Vlc3R1cmVzLnByb3RvdHlwZS5vbnRvdWNobW92ZSA9IGZ1bmN0aW9uKCBlICkgewoJCXZhciBzZWxmID0gdGhpcywKCQkJJHRhcmdldCA9ICQoZS50YXJnZXQpOwoKCQlpZiAoIHNlbGYuaXNTY3JvbGxpbmcgfHwgISggJHRhcmdldC5pcyggc2VsZi4kc3RhZ2UgKSB8fCBzZWxmLiRzdGFnZS5maW5kKCAkdGFyZ2V0ICkubGVuZ3RoICkgKSB7CgkJCXNlbGYuY2FuVGFwID0gZmFsc2U7CgoJCQlyZXR1cm47CgkJfQoKCQlzZWxmLm5ld1BvaW50cyA9IHBvaW50ZXJzKCBlICk7CgoJCWlmICggISggc2VsZi5vcHRzIHx8IHNlbGYuaW5zdGFuY2UuY2FuUGFuKCkgKSB8fCAhc2VsZi5uZXdQb2ludHMgfHwgIXNlbGYubmV3UG9pbnRzLmxlbmd0aCApIHsKCQkJcmV0dXJuOwoJCX0KCgkJaWYgKCAhKHNlbGYuaXNTd2lwaW5nICYmIHNlbGYuaXNTd2lwaW5nID09PSB0cnVlKSApIHsKCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCX0KCgkJc2VsZi5kaXN0YW5jZVggPSBkaXN0YW5jZSggc2VsZi5uZXdQb2ludHNbMF0sIHNlbGYuc3RhcnRQb2ludHNbMF0sICd4JyApOwoJCXNlbGYuZGlzdGFuY2VZID0gZGlzdGFuY2UoIHNlbGYubmV3UG9pbnRzWzBdLCBzZWxmLnN0YXJ0UG9pbnRzWzBdLCAneScgKTsKCgkJc2VsZi5kaXN0YW5jZSA9IGRpc3RhbmNlKCBzZWxmLm5ld1BvaW50c1swXSwgc2VsZi5zdGFydFBvaW50c1swXSApCgoJCS8vIFNraXAgZmFsc2Ugb250b3VjaG1vdmUgZXZlbnRzIChDaHJvbWUpCgkJaWYgKCBzZWxmLmRpc3RhbmNlID4gMCApIHsKCQkJaWYgKCBzZWxmLmlzU3dpcGluZyApIHsKCQkJCXNlbGYub25Td2lwZShlKTsKCgkJCX0gZWxzZSBpZiAoIHNlbGYuaXNQYW5uaW5nICkgewoJCQkJc2VsZi5vblBhbigpOwoKCQkJfSBlbHNlIGlmICggc2VsZi5pc1pvb21pbmcgKSB7CgkJCQlzZWxmLm9uWm9vbSgpOwoJCQl9CgkJfQoKCX07CgoJR3Vlc3R1cmVzLnByb3RvdHlwZS5vblN3aXBlID0gZnVuY3Rpb24oZSkgewoJCXZhciBzZWxmID0gdGhpcywKCQkJc3dpcGluZyA9IHNlbGYuaXNTd2lwaW5nLAoJCQlsZWZ0ICAgID0gc2VsZi5zbGlkZXJTdGFydFBvcy5sZWZ0IHx8IDAsCgkJCWFuZ2xlOwoKCQkvLyBJZiBkaXJlY3Rpb24gaXMgbm90IHlldCBkZXRlcm1pbmVkCgkJaWYgKCBzd2lwaW5nID09PSB0cnVlICkgewoKCQkJLy8gV2UgbmVlZCBhdCBsZWFzdCAxMHB4IGRpc3RhbmNlIHRvIGNvcnJlY3RseSBjYWxjdWxhdGUgYW4gYW5nbGUKCQkJaWYgKCBNYXRoLmFicyggc2VsZi5kaXN0YW5jZSApID4gMTAgKSB7CgkJCQlzZWxmLmNhblRhcCA9IGZhbHNlOwoKCQkJCWlmICggc2VsZi5pbnN0YW5jZS5ncm91cC5sZW5ndGggPCAyICYmIHNlbGYub3B0cy52ZXJ0aWNhbCApIHsKCQkJCQlzZWxmLmlzU3dpcGluZyA9ICd5JzsKCgkJCQl9IGVsc2UgaWYgKCBzZWxmLmluc3RhbmNlLmlzRHJhZ2dpbmcgfHwgc2VsZi5vcHRzLnZlcnRpY2FsID09PSBmYWxzZSB8fCAoIHNlbGYub3B0cy52ZXJ0aWNhbCA9PT0gJ2F1dG8nICYmICQoIHdpbmRvdyApLndpZHRoKCkgPiA4MDAgKSApIHsKCQkJCQlzZWxmLmlzU3dpcGluZyA9ICd4JzsKCgkJCQl9IGVsc2UgewoJCQkJCWFuZ2xlID0gTWF0aC5hYnMoIE1hdGguYXRhbjIoIHNlbGYuZGlzdGFuY2VZLCBzZWxmLmRpc3RhbmNlWCApICogMTgwIC8gTWF0aC5QSSApOwoKCQkJCQlzZWxmLmlzU3dpcGluZyA9ICggYW5nbGUgPiA0NSAmJiBhbmdsZSA8IDEzNSApID8gJ3knIDogJ3gnOwoJCQkJfQoKCQkJCXNlbGYuY2FuVGFwID0gZmFsc2U7CgoJCQkJIGlmICggc2VsZi5pc1N3aXBpbmcgPT09ICd5JyAmJiAkLmZhbmN5Ym94LmlzTW9iaWxlICYmICggaXNTY3JvbGxhYmxlKCBzZWxmLiR0YXJnZXQgKSB8fCBpc1Njcm9sbGFibGUoIHNlbGYuJHRhcmdldC5wYXJlbnQoKSApICkgKSB7CgkJCQkJIHNlbGYuaXNTY3JvbGxpbmcgPSB0cnVlOwoKCQkJCQkgcmV0dXJuOwoJCQkJIH0KCgkJCQlzZWxmLmluc3RhbmNlLmlzRHJhZ2dpbmcgPSBzZWxmLmlzU3dpcGluZzsKCgkJCQkvLyBSZXNldCBwb2ludHMgdG8gYXZvaWQganVtcGluZywgYmVjYXVzZSB3ZSBkcm9wcGVkIGZpcnN0IHN3aXBlcyB0byBjYWxjdWxhdGUgdGhlIGFuZ2xlCgkJCQlzZWxmLnN0YXJ0UG9pbnRzID0gc2VsZi5uZXdQb2ludHM7CgoJCQkJJC5lYWNoKHNlbGYuaW5zdGFuY2Uuc2xpZGVzLCBmdW5jdGlvbiggaW5kZXgsIHNsaWRlICkgewoJCQkJCSQuZmFuY3lib3guc3RvcCggc2xpZGUuJHNsaWRlICk7CgoJCQkJCXNsaWRlLiRzbGlkZS5jc3MoICd0cmFuc2l0aW9uLWR1cmF0aW9uJywgJycgKTsKCgkJCQkJc2xpZGUuaW5UcmFuc2l0aW9uID0gZmFsc2U7CgoJCQkJCWlmICggc2xpZGUucG9zID09PSBzZWxmLmluc3RhbmNlLmN1cnJlbnQucG9zICkgewoJCQkJCQlzZWxmLnNsaWRlclN0YXJ0UG9zLmxlZnQgPSAkLmZhbmN5Ym94LmdldFRyYW5zbGF0ZSggc2xpZGUuJHNsaWRlICkubGVmdDsKCQkJCQl9CgkJCQl9KTsKCgkJCQkvLyBTdG9wIHNsaWRlc2hvdwoJCQkJaWYgKCBzZWxmLmluc3RhbmNlLlNsaWRlU2hvdyAmJiBzZWxmLmluc3RhbmNlLlNsaWRlU2hvdy5pc0FjdGl2ZSApIHsKCQkJCQlzZWxmLmluc3RhbmNlLlNsaWRlU2hvdy5zdG9wKCk7CgkJCQl9CgkJCX0KCgkJCXJldHVybjsKCQl9CgoJCS8vIFN0aWNreSBlZGdlcwoJCWlmICggc3dpcGluZyA9PSAneCcgKSB7CgkJCWlmICggc2VsZi5kaXN0YW5jZVggPiAwICYmICggc2VsZi5pbnN0YW5jZS5ncm91cC5sZW5ndGggPCAyIHx8ICggc2VsZi5pbnN0YW5jZS5jdXJyZW50LmluZGV4ID09PSAwICYmICFzZWxmLmluc3RhbmNlLmN1cnJlbnQub3B0cy5sb29wICkgKSApIHsKCQkJCWxlZnQgPSBsZWZ0ICsgTWF0aC5wb3coIHNlbGYuZGlzdGFuY2VYLCAwLjggKTsKCgkJCX0gZWxzZSBpZiAoIHNlbGYuZGlzdGFuY2VYIDwgMCAmJiAoIHNlbGYuaW5zdGFuY2UuZ3JvdXAubGVuZ3RoIDwgMiB8fCAoIHNlbGYuaW5zdGFuY2UuY3VycmVudC5pbmRleCA9PT0gc2VsZi5pbnN0YW5jZS5ncm91cC5sZW5ndGggLSAxICYmICFzZWxmLmluc3RhbmNlLmN1cnJlbnQub3B0cy5sb29wICkgKSApIHsKCQkJCWxlZnQgPSBsZWZ0IC0gTWF0aC5wb3coIC1zZWxmLmRpc3RhbmNlWCwgMC44ICk7CgoJCQl9IGVsc2UgewoJCQkJbGVmdCA9IGxlZnQgKyBzZWxmLmRpc3RhbmNlWDsKCQkJfQoJCX0KCgkJc2VsZi5zbGlkZXJMYXN0UG9zID0gewoJCQl0b3AgIDogc3dpcGluZyA9PSAneCcgPyAwIDogc2VsZi5zbGlkZXJTdGFydFBvcy50b3AgKyBzZWxmLmRpc3RhbmNlWSwKCQkJbGVmdCA6IGxlZnQKCQl9OwoKCQlpZiAoIHNlbGYucmVxdWVzdElkICkgewoJCQljYW5jZWxBRnJhbWUoIHNlbGYucmVxdWVzdElkICk7CgoJCQlzZWxmLnJlcXVlc3RJZCA9IG51bGw7CgkJfQoKCQlzZWxmLnJlcXVlc3RJZCA9IHJlcXVlc3RBRnJhbWUoZnVuY3Rpb24oKSB7CgoJCQlpZiAoIHNlbGYuc2xpZGVyTGFzdFBvcyApIHsKCQkJCSQuZWFjaChzZWxmLmluc3RhbmNlLnNsaWRlcywgZnVuY3Rpb24oIGluZGV4LCBzbGlkZSApIHsKCQkJCQl2YXIgcG9zID0gc2xpZGUucG9zIC0gc2VsZi5pbnN0YW5jZS5jdXJyUG9zOwoKCQkJCQkkLmZhbmN5Ym94LnNldFRyYW5zbGF0ZSggc2xpZGUuJHNsaWRlLCB7CgkJCQkJCXRvcCAgOiBzZWxmLnNsaWRlckxhc3RQb3MudG9wLAoJCQkJCQlsZWZ0IDogc2VsZi5zbGlkZXJMYXN0UG9zLmxlZnQgKyAoIHBvcyAqIHNlbGYuY2FudmFzV2lkdGggKSArICggcG9zICogc2xpZGUub3B0cy5ndXR0ZXIgKQoJCQkJCX0pOwoJCQkJfSk7CgoJCQkJc2VsZi4kY29udGFpbmVyLmFkZENsYXNzKCAnZmFuY3lib3gtaXMtc2xpZGluZycgKTsKCQkJfQoKCQl9KTsKCgl9OwoKCUd1ZXN0dXJlcy5wcm90b3R5cGUub25QYW4gPSBmdW5jdGlvbigpIHsKCQl2YXIgc2VsZiA9IHRoaXM7CgoJCS8vIFNvbWV0aW1lcywgd2hlbiB0YXBwaW5nIGNhdXNhbGx5LCBpbWFnZSBjYW4gbW92ZSBhIGJpdCBhbmQgdGhhdCBicmVha3MgZG91YmxlIHRhcHBpbmcKCQlpZiAoIGRpc3RhbmNlKCBzZWxmLm5ld1BvaW50c1swXSwgc2VsZi5yZWFsUG9pbnRzWzBdICkgPCAoJC5mYW5jeWJveC5pc01vYmlsZSA/IDEwIDogNSkgKSB7CgkJCXNlbGYuc3RhcnRQb2ludHMgPSBzZWxmLm5ld1BvaW50czsKCQkJcmV0dXJuOwoJCX0KCgkJc2VsZi5jYW5UYXAgPSBmYWxzZTsKCgkJc2VsZi5jb250ZW50TGFzdFBvcyA9IHNlbGYubGltaXRNb3ZlbWVudCgpOwoKCQlpZiAoIHNlbGYucmVxdWVzdElkICkgewoJCQljYW5jZWxBRnJhbWUoIHNlbGYucmVxdWVzdElkICk7CgoJCQlzZWxmLnJlcXVlc3RJZCA9IG51bGw7CgkJfQoKCQlzZWxmLnJlcXVlc3RJZCA9IHJlcXVlc3RBRnJhbWUoZnVuY3Rpb24oKSB7CgkJCSQuZmFuY3lib3guc2V0VHJhbnNsYXRlKCBzZWxmLiRjb250ZW50LCBzZWxmLmNvbnRlbnRMYXN0UG9zICk7CgkJfSk7Cgl9OwoKCS8vIE1ha2UgcGFubmluZyBzdGlja3kgdG8gdGhlIGVkZ2VzCglHdWVzdHVyZXMucHJvdG90eXBlLmxpbWl0TW92ZW1lbnQgPSBmdW5jdGlvbigpIHsKCQl2YXIgc2VsZiA9IHRoaXM7CgoJCXZhciBjYW52YXNXaWR0aCAgPSBzZWxmLmNhbnZhc1dpZHRoOwoJCXZhciBjYW52YXNIZWlnaHQgPSBzZWxmLmNhbnZhc0hlaWdodDsKCgkJdmFyIGRpc3RhbmNlWCA9IHNlbGYuZGlzdGFuY2VYOwoJCXZhciBkaXN0YW5jZVkgPSBzZWxmLmRpc3RhbmNlWTsKCgkJdmFyIGNvbnRlbnRTdGFydFBvcyA9IHNlbGYuY29udGVudFN0YXJ0UG9zOwoKCQl2YXIgY3VycmVudE9mZnNldFggPSBjb250ZW50U3RhcnRQb3MubGVmdDsKCQl2YXIgY3VycmVudE9mZnNldFkgPSBjb250ZW50U3RhcnRQb3MudG9wOwoKCQl2YXIgY3VycmVudFdpZHRoICA9IGNvbnRlbnRTdGFydFBvcy53aWR0aDsKCQl2YXIgY3VycmVudEhlaWdodCA9IGNvbnRlbnRTdGFydFBvcy5oZWlnaHQ7CgoJCXZhciBtaW5UcmFuc2xhdGVYLCBtaW5UcmFuc2xhdGVZLAoJCQltYXhUcmFuc2xhdGVYLCBtYXhUcmFuc2xhdGVZLAoJCQluZXdPZmZzZXRYLCBuZXdPZmZzZXRZOwoKCQlpZiAoIGN1cnJlbnRXaWR0aCA+IGNhbnZhc1dpZHRoICkgewoJCQluZXdPZmZzZXRYID0gY3VycmVudE9mZnNldFggKyBkaXN0YW5jZVg7CgoJCX0gZWxzZSB7CgkJCW5ld09mZnNldFggPSBjdXJyZW50T2Zmc2V0WDsKCQl9CgoJCW5ld09mZnNldFkgPSBjdXJyZW50T2Zmc2V0WSArIGRpc3RhbmNlWTsKCgkJLy8gU2xvdyBkb3duIHByb3BvcnRpb25hbGx5IHRvIHRyYXZlbGVkIGRpc3RhbmNlCgkJbWluVHJhbnNsYXRlWCA9IE1hdGgubWF4KCAwLCBjYW52YXNXaWR0aCAgKiAwLjUgLSBjdXJyZW50V2lkdGggICogMC41ICk7CgkJbWluVHJhbnNsYXRlWSA9IE1hdGgubWF4KCAwLCBjYW52YXNIZWlnaHQgKiAwLjUgLSBjdXJyZW50SGVpZ2h0ICogMC41ICk7CgoJCW1heFRyYW5zbGF0ZVggPSBNYXRoLm1pbiggY2FudmFzV2lkdGggIC0gY3VycmVudFdpZHRoLCAgY2FudmFzV2lkdGggICogMC41IC0gY3VycmVudFdpZHRoICAqIDAuNSApOwoJCW1heFRyYW5zbGF0ZVkgPSBNYXRoLm1pbiggY2FudmFzSGVpZ2h0IC0gY3VycmVudEhlaWdodCwgY2FudmFzSGVpZ2h0ICogMC41IC0gY3VycmVudEhlaWdodCAqIDAuNSApOwoKCQlpZiAoIGN1cnJlbnRXaWR0aCA+IGNhbnZhc1dpZHRoICkgewoKCQkJLy8gICAtPgoJCQlpZiAoIGRpc3RhbmNlWCA+IDAgJiYgbmV3T2Zmc2V0WCA+IG1pblRyYW5zbGF0ZVggKSB7CgkJCQluZXdPZmZzZXRYID0gbWluVHJhbnNsYXRlWCAtIDEgKyBNYXRoLnBvdyggLW1pblRyYW5zbGF0ZVggKyBjdXJyZW50T2Zmc2V0WCArIGRpc3RhbmNlWCwgMC44ICkgfHwgMDsKCQkJfQoKCQkJLy8gICAgPC0KCQkJaWYgKCBkaXN0YW5jZVggPCAwICYmIG5ld09mZnNldFggPCBtYXhUcmFuc2xhdGVYICkgewoJCQkJbmV3T2Zmc2V0WCA9IG1heFRyYW5zbGF0ZVggKyAxIC0gTWF0aC5wb3coIG1heFRyYW5zbGF0ZVggLSBjdXJyZW50T2Zmc2V0WCAtIGRpc3RhbmNlWCwgMC44ICkgfHwgMDsKCQkJfQoKCQl9CgoJCWlmICggY3VycmVudEhlaWdodCA+IGNhbnZhc0hlaWdodCApIHsKCgkJCS8vICAgXC8KCQkJaWYgKCBkaXN0YW5jZVkgPiAwICYmIG5ld09mZnNldFkgPiBtaW5UcmFuc2xhdGVZICkgewoJCQkJbmV3T2Zmc2V0WSA9IG1pblRyYW5zbGF0ZVkgLSAxICsgTWF0aC5wb3coLW1pblRyYW5zbGF0ZVkgKyBjdXJyZW50T2Zmc2V0WSArIGRpc3RhbmNlWSwgMC44ICkgfHwgMDsKCQkJfQoKCQkJLy8gICAvXAoJCQlpZiAoIGRpc3RhbmNlWSA8IDAgJiYgbmV3T2Zmc2V0WSA8IG1heFRyYW5zbGF0ZVkgKSB7CgkJCQluZXdPZmZzZXRZID0gbWF4VHJhbnNsYXRlWSArIDEgLSBNYXRoLnBvdyAoIG1heFRyYW5zbGF0ZVkgLSBjdXJyZW50T2Zmc2V0WSAtIGRpc3RhbmNlWSwgMC44ICkgfHwgMDsKCQkJfQoKCQl9CgoJCXJldHVybiB7CgkJCXRvcCAgICA6IG5ld09mZnNldFksCgkJCWxlZnQgICA6IG5ld09mZnNldFgsCgkJCXNjYWxlWCA6IGNvbnRlbnRTdGFydFBvcy5zY2FsZVgsCgkJCXNjYWxlWSA6IGNvbnRlbnRTdGFydFBvcy5zY2FsZVkKCQl9OwoKCX07CgoJR3Vlc3R1cmVzLnByb3RvdHlwZS5saW1pdFBvc2l0aW9uID0gZnVuY3Rpb24oIG5ld09mZnNldFgsIG5ld09mZnNldFksIG5ld1dpZHRoLCBuZXdIZWlnaHQgKSB7CgkJdmFyIHNlbGYgPSB0aGlzOwoKCQl2YXIgY2FudmFzV2lkdGggID0gc2VsZi5jYW52YXNXaWR0aDsKCQl2YXIgY2FudmFzSGVpZ2h0ID0gc2VsZi5jYW52YXNIZWlnaHQ7CgoJCWlmICggbmV3V2lkdGggPiBjYW52YXNXaWR0aCApIHsKCQkJbmV3T2Zmc2V0WCA9IG5ld09mZnNldFggPiAwID8gMCA6IG5ld09mZnNldFg7CgkJCW5ld09mZnNldFggPSBuZXdPZmZzZXRYIDwgY2FudmFzV2lkdGggLSBuZXdXaWR0aCA/IGNhbnZhc1dpZHRoIC0gbmV3V2lkdGggOiBuZXdPZmZzZXRYOwoKCQl9IGVsc2UgewoKCQkJLy8gQ2VudGVyIGhvcml6b250YWxseQoJCQluZXdPZmZzZXRYID0gTWF0aC5tYXgoIDAsIGNhbnZhc1dpZHRoIC8gMiAtIG5ld1dpZHRoIC8gMiApOwoKCQl9CgoJCWlmICggbmV3SGVpZ2h0ID4gY2FudmFzSGVpZ2h0ICkgewoJCQluZXdPZmZzZXRZID0gbmV3T2Zmc2V0WSA+IDAgPyAwIDogbmV3T2Zmc2V0WTsKCQkJbmV3T2Zmc2V0WSA9IG5ld09mZnNldFkgPCBjYW52YXNIZWlnaHQgLSBuZXdIZWlnaHQgPyBjYW52YXNIZWlnaHQgLSBuZXdIZWlnaHQgOiBuZXdPZmZzZXRZOwoKCQl9IGVsc2UgewoKCQkJLy8gQ2VudGVyIHZlcnRpY2FsbHkKCQkJbmV3T2Zmc2V0WSA9IE1hdGgubWF4KCAwLCBjYW52YXNIZWlnaHQgLyAyIC0gbmV3SGVpZ2h0IC8gMiApOwoKCQl9CgoJCXJldHVybiB7CgkJCXRvcCAgOiBuZXdPZmZzZXRZLAoJCQlsZWZ0IDogbmV3T2Zmc2V0WAoJCX07CgoJfTsKCglHdWVzdHVyZXMucHJvdG90eXBlLm9uWm9vbSA9IGZ1bmN0aW9uKCkgewoJCXZhciBzZWxmID0gdGhpczsKCgkJLy8gQ2FsY3VsYXRlIGN1cnJlbnQgZGlzdGFuY2UgYmV0d2VlbiBwb2ludHMgdG8gZ2V0IHBpbmNoIHJhdGlvIGFuZCBuZXcgd2lkdGggYW5kIGhlaWdodAoKCQl2YXIgY3VycmVudFdpZHRoICA9IHNlbGYuY29udGVudFN0YXJ0UG9zLndpZHRoOwoJCXZhciBjdXJyZW50SGVpZ2h0ID0gc2VsZi5jb250ZW50U3RhcnRQb3MuaGVpZ2h0OwoKCQl2YXIgY3VycmVudE9mZnNldFggPSBzZWxmLmNvbnRlbnRTdGFydFBvcy5sZWZ0OwoJCXZhciBjdXJyZW50T2Zmc2V0WSA9IHNlbGYuY29udGVudFN0YXJ0UG9zLnRvcDsKCgkJdmFyIGVuZERpc3RhbmNlQmV0d2VlbkZpbmdlcnMgPSBkaXN0YW5jZSggc2VsZi5uZXdQb2ludHNbMF0sIHNlbGYubmV3UG9pbnRzWzFdICk7CgoJCXZhciBwaW5jaFJhdGlvID0gZW5kRGlzdGFuY2VCZXR3ZWVuRmluZ2VycyAvIHNlbGYuc3RhcnREaXN0YW5jZUJldHdlZW5GaW5nZXJzOwoKCQl2YXIgbmV3V2lkdGggID0gTWF0aC5mbG9vciggY3VycmVudFdpZHRoICAqIHBpbmNoUmF0aW8gKTsKCQl2YXIgbmV3SGVpZ2h0ID0gTWF0aC5mbG9vciggY3VycmVudEhlaWdodCAqIHBpbmNoUmF0aW8gKTsKCgkJLy8gVGhpcyBpcyB0aGUgdHJhbnNsYXRpb24gZHVlIHRvIHBpbmNoLXpvb21pbmcKCQl2YXIgdHJhbnNsYXRlRnJvbVpvb21pbmdYID0gKGN1cnJlbnRXaWR0aCAgLSBuZXdXaWR0aCkgICogc2VsZi5wZXJjZW50YWdlT2ZJbWFnZUF0UGluY2hQb2ludFg7CgkJdmFyIHRyYW5zbGF0ZUZyb21ab29taW5nWSA9IChjdXJyZW50SGVpZ2h0IC0gbmV3SGVpZ2h0KSAqIHNlbGYucGVyY2VudGFnZU9mSW1hZ2VBdFBpbmNoUG9pbnRZOwoKCQkvL1BvaW50IGJldHdlZW4gdGhlIHR3byB0b3VjaGVzCgoJCXZhciBjZW50ZXJQb2ludEVuZFggPSAoKHNlbGYubmV3UG9pbnRzWzBdLnggKyBzZWxmLm5ld1BvaW50c1sxXS54KSAvIDIpIC0gJCh3aW5kb3cpLnNjcm9sbExlZnQoKTsKCQl2YXIgY2VudGVyUG9pbnRFbmRZID0gKChzZWxmLm5ld1BvaW50c1swXS55ICsgc2VsZi5uZXdQb2ludHNbMV0ueSkgLyAyKSAtICQod2luZG93KS5zY3JvbGxUb3AoKTsKCgkJLy8gQW5kIHRoaXMgaXMgdGhlIHRyYW5zbGF0aW9uIGR1ZSB0byB0cmFuc2xhdGlvbiBvZiB0aGUgY2VudGVycG9pbnQKCQkvLyBiZXR3ZWVuIHRoZSB0d28gZmluZ2VycwoKCQl2YXIgdHJhbnNsYXRlRnJvbVRyYW5zbGF0aW5nWCA9IGNlbnRlclBvaW50RW5kWCAtIHNlbGYuY2VudGVyUG9pbnRTdGFydFg7CgkJdmFyIHRyYW5zbGF0ZUZyb21UcmFuc2xhdGluZ1kgPSBjZW50ZXJQb2ludEVuZFkgLSBzZWxmLmNlbnRlclBvaW50U3RhcnRZOwoKCQkvLyBUaGUgbmV3IG9mZnNldCBpcyB0aGUgb2xkL2N1cnJlbnQgb25lIHBsdXMgdGhlIHRvdGFsIHRyYW5zbGF0aW9uCgoJCXZhciBuZXdPZmZzZXRYID0gY3VycmVudE9mZnNldFggKyAoIHRyYW5zbGF0ZUZyb21ab29taW5nWCArIHRyYW5zbGF0ZUZyb21UcmFuc2xhdGluZ1ggKTsKCQl2YXIgbmV3T2Zmc2V0WSA9IGN1cnJlbnRPZmZzZXRZICsgKCB0cmFuc2xhdGVGcm9tWm9vbWluZ1kgKyB0cmFuc2xhdGVGcm9tVHJhbnNsYXRpbmdZICk7CgoJCXZhciBuZXdQb3MgPSB7CgkJCXRvcCAgICA6IG5ld09mZnNldFksCgkJCWxlZnQgICA6IG5ld09mZnNldFgsCgkJCXNjYWxlWCA6IHNlbGYuY29udGVudFN0YXJ0UG9zLnNjYWxlWCAqIHBpbmNoUmF0aW8sCgkJCXNjYWxlWSA6IHNlbGYuY29udGVudFN0YXJ0UG9zLnNjYWxlWSAqIHBpbmNoUmF0aW8KCQl9OwoKCQlzZWxmLmNhblRhcCA9IGZhbHNlOwoKCQlzZWxmLm5ld1dpZHRoICA9IG5ld1dpZHRoOwoJCXNlbGYubmV3SGVpZ2h0ID0gbmV3SGVpZ2h0OwoKCQlzZWxmLmNvbnRlbnRMYXN0UG9zID0gbmV3UG9zOwoKCQlpZiAoIHNlbGYucmVxdWVzdElkICkgewoJCQljYW5jZWxBRnJhbWUoIHNlbGYucmVxdWVzdElkICk7CgoJCQlzZWxmLnJlcXVlc3RJZCA9IG51bGw7CgkJfQoKCQlzZWxmLnJlcXVlc3RJZCA9IHJlcXVlc3RBRnJhbWUoZnVuY3Rpb24oKSB7CgkJCSQuZmFuY3lib3guc2V0VHJhbnNsYXRlKCBzZWxmLiRjb250ZW50LCBzZWxmLmNvbnRlbnRMYXN0UG9zICk7CgkJfSk7CgoJfTsKCglHdWVzdHVyZXMucHJvdG90eXBlLm9udG91Y2hlbmQgPSBmdW5jdGlvbiggZSApIHsKCQl2YXIgc2VsZiA9IHRoaXM7CgkJdmFyIGRNcyAgPSBNYXRoLm1heCggKG5ldyBEYXRlKCkuZ2V0VGltZSgpICkgLSBzZWxmLnN0YXJ0VGltZSwgMSk7CgoJCXZhciBzd2lwaW5nICAgPSBzZWxmLmlzU3dpcGluZzsKCQl2YXIgcGFubmluZyAgID0gc2VsZi5pc1Bhbm5pbmc7CgkJdmFyIHpvb21pbmcgICA9IHNlbGYuaXNab29taW5nOwoJCXZhciBzY3JvbGxpbmcgPSBzZWxmLmlzU2Nyb2xsaW5nOwoKCQlzZWxmLmVuZFBvaW50cyA9IHBvaW50ZXJzKCBlICk7CgoJCXNlbGYuJGNvbnRhaW5lci5yZW1vdmVDbGFzcyggJ2ZhbmN5Ym94LWNvbnRyb2xzLS1pc0dyYWJiaW5nJyApOwoKCQkkKGRvY3VtZW50KS5vZmYoICcuZmIudG91Y2gnICk7CgoJCWRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHNlbGYub25zY3JvbGwsIHRydWUpOwoKCQlpZiAoIHNlbGYucmVxdWVzdElkICkgewoJCQljYW5jZWxBRnJhbWUoIHNlbGYucmVxdWVzdElkICk7CgoJCQlzZWxmLnJlcXVlc3RJZCA9IG51bGw7CgkJfQoKCQlzZWxmLmlzU3dpcGluZyAgID0gZmFsc2U7CgkJc2VsZi5pc1Bhbm5pbmcgICA9IGZhbHNlOwoJCXNlbGYuaXNab29taW5nICAgPSBmYWxzZTsKCQlzZWxmLmlzU2Nyb2xsaW5nID0gZmFsc2U7CgoJCXNlbGYuaW5zdGFuY2UuaXNEcmFnZ2luZyA9IGZhbHNlOwoKCQlpZiAoIHNlbGYuY2FuVGFwICkgewoJCQlyZXR1cm4gc2VsZi5vblRhcCggZSApOwoJCX0KCgkJc2VsZi5zcGVlZCA9IDM2NjsKCgkJLy8gU3BlZWQgaW4gcHgvbXMKCQlzZWxmLnZlbG9jaXR5WCA9IHNlbGYuZGlzdGFuY2VYIC8gZE1zICogMC41OwoJCXNlbGYudmVsb2NpdHlZID0gc2VsZi5kaXN0YW5jZVkgLyBkTXMgKiAwLjU7CgoJCXNlbGYuc3BlZWRYID0gTWF0aC5tYXgoIHNlbGYuc3BlZWQgKiAwLjUsIE1hdGgubWluKCBzZWxmLnNwZWVkICogMS41LCAoIDEgLyBNYXRoLmFicyggc2VsZi52ZWxvY2l0eVggKSApICogc2VsZi5zcGVlZCApICk7CgoJCWlmICggcGFubmluZyApIHsKCQkJc2VsZi5lbmRQYW5uaW5nKCk7CgoJCX0gZWxzZSBpZiAoIHpvb21pbmcgKSB7CgkJCXNlbGYuZW5kWm9vbWluZygpOwoKCQl9IGVsc2UgewoJCQlzZWxmLmVuZFN3aXBpbmcoIHN3aXBpbmcsIHNjcm9sbGluZyApOwoJCX0KCgkJcmV0dXJuOwoJfTsKCglHdWVzdHVyZXMucHJvdG90eXBlLmVuZFN3aXBpbmcgPSBmdW5jdGlvbiggc3dpcGluZywgc2Nyb2xsaW5nICkgewoJCXZhciBzZWxmID0gdGhpcywKCQkJcmV0ICA9IGZhbHNlLAoJCQlsZW4gID0gc2VsZi5pbnN0YW5jZS5ncm91cC5sZW5ndGg7CgoJCXNlbGYuc2xpZGVyTGFzdFBvcyA9IG51bGw7CgoJCS8vIENsb3NlIGlmIHN3aXBlZCB2ZXJ0aWNhbGx5IC8gbmF2aWdhdGUgaWYgaG9yaXpvbnRhbGx5CgkJaWYgKCBzd2lwaW5nID09ICd5JyAmJiAhc2Nyb2xsaW5nICYmIE1hdGguYWJzKCBzZWxmLmRpc3RhbmNlWSApID4gNTAgKSB7CgoJCQkvLyBDb250aW51ZSB2ZXJ0aWNhbCBtb3ZlbWVudAoJCQkkLmZhbmN5Ym94LmFuaW1hdGUoIHNlbGYuaW5zdGFuY2UuY3VycmVudC4kc2xpZGUsIHsKCQkJCXRvcCAgICAgOiBzZWxmLnNsaWRlclN0YXJ0UG9zLnRvcCArIHNlbGYuZGlzdGFuY2VZICsgKCBzZWxmLnZlbG9jaXR5WSAqIDE1MCApLAoJCQkJb3BhY2l0eSA6IDAKCQkJfSwgMTUwICk7CgoJCQlyZXQgPSBzZWxmLmluc3RhbmNlLmNsb3NlKCB0cnVlLCAzMDAgKTsKCgkJfSBlbHNlIGlmICggc3dpcGluZyA9PSAneCcgJiYgc2VsZi5kaXN0YW5jZVggPiA1MCAmJiBsZW4gPiAxICkgewoJCQlyZXQgPSBzZWxmLmluc3RhbmNlLnByZXZpb3VzKCBzZWxmLnNwZWVkWCApOwoKCQl9IGVsc2UgaWYgKCBzd2lwaW5nID09ICd4JyAmJiBzZWxmLmRpc3RhbmNlWCA8IC01MCAmJiBsZW4gPiAxICkgewoJCQlyZXQgPSBzZWxmLmluc3RhbmNlLm5leHQoIHNlbGYuc3BlZWRYICk7CgkJfQoKCQlpZiAoIHJldCA9PT0gZmFsc2UgJiYgKCBzd2lwaW5nID09ICd4JyB8fCBzd2lwaW5nID09ICd5JyApICkgewoJCQlpZiAoIHNjcm9sbGluZyB8fCBsZW4gPCAyICkgewoJCQkJc2VsZi5pbnN0YW5jZS5jZW50ZXJTbGlkZSggc2VsZi5pbnN0YW5jZS5jdXJyZW50LCAxNTAgKTsKCQkJfSBlbHNlIHsKCQkJCXNlbGYuaW5zdGFuY2UuanVtcFRvKCBzZWxmLmluc3RhbmNlLmN1cnJlbnQuaW5kZXggKTsKCQkJfQoJCX0KCgkJc2VsZi4kY29udGFpbmVyLnJlbW92ZUNsYXNzKCAnZmFuY3lib3gtaXMtc2xpZGluZycgKTsKCgl9OwoKCS8vIExpbWl0IHBhbm5pbmcgZnJvbSBlZGdlcwoJLy8gPT09PT09PT09PT09PT09PT09PT09PT09CgoJR3Vlc3R1cmVzLnByb3RvdHlwZS5lbmRQYW5uaW5nID0gZnVuY3Rpb24oKSB7CgoJCXZhciBzZWxmID0gdGhpczsKCQl2YXIgbmV3T2Zmc2V0WCwgbmV3T2Zmc2V0WSwgbmV3UG9zOwoKCQlpZiAoICFzZWxmLmNvbnRlbnRMYXN0UG9zICkgewoJCQlyZXR1cm47CgkJfQoKCQlpZiAoIHNlbGYub3B0cy5tb21lbnR1bSA9PT0gZmFsc2UgKSB7CgkJCW5ld09mZnNldFggPSBzZWxmLmNvbnRlbnRMYXN0UG9zLmxlZnQ7CgkJCW5ld09mZnNldFkgPSBzZWxmLmNvbnRlbnRMYXN0UG9zLnRvcDsKCgkJfSBlbHNlIHsKCgkJCS8vIENvbnRpbnVlIG1vdmVtZW50CgkJCW5ld09mZnNldFggPSBzZWxmLmNvbnRlbnRMYXN0UG9zLmxlZnQgKyAoIHNlbGYudmVsb2NpdHlYICogc2VsZi5zcGVlZCApOwoJCQluZXdPZmZzZXRZID0gc2VsZi5jb250ZW50TGFzdFBvcy50b3AgICsgKCBzZWxmLnZlbG9jaXR5WSAqIHNlbGYuc3BlZWQgKTsKCQl9CgoJCW5ld1BvcyA9IHNlbGYubGltaXRQb3NpdGlvbiggbmV3T2Zmc2V0WCwgbmV3T2Zmc2V0WSwgc2VsZi5jb250ZW50U3RhcnRQb3Mud2lkdGgsIHNlbGYuY29udGVudFN0YXJ0UG9zLmhlaWdodCApOwoKCQkgbmV3UG9zLndpZHRoICA9IHNlbGYuY29udGVudFN0YXJ0UG9zLndpZHRoOwoJCSBuZXdQb3MuaGVpZ2h0ID0gc2VsZi5jb250ZW50U3RhcnRQb3MuaGVpZ2h0OwoKCQkkLmZhbmN5Ym94LmFuaW1hdGUoIHNlbGYuJGNvbnRlbnQsIG5ld1BvcywgMzMwICk7Cgl9OwoKCglHdWVzdHVyZXMucHJvdG90eXBlLmVuZFpvb21pbmcgPSBmdW5jdGlvbigpIHsKCQl2YXIgc2VsZiA9IHRoaXM7CgoJCXZhciBjdXJyZW50ID0gc2VsZi5pbnN0YW5jZS5jdXJyZW50OwoKCQl2YXIgbmV3T2Zmc2V0WCwgbmV3T2Zmc2V0WSwgbmV3UG9zLCByZXNldDsKCgkJdmFyIG5ld1dpZHRoICA9IHNlbGYubmV3V2lkdGg7CgkJdmFyIG5ld0hlaWdodCA9IHNlbGYubmV3SGVpZ2h0OwoKCQlpZiAoICFzZWxmLmNvbnRlbnRMYXN0UG9zICkgewoJCQlyZXR1cm47CgkJfQoKCQluZXdPZmZzZXRYID0gc2VsZi5jb250ZW50TGFzdFBvcy5sZWZ0OwoJCW5ld09mZnNldFkgPSBzZWxmLmNvbnRlbnRMYXN0UG9zLnRvcDsKCgkJcmVzZXQgPSB7CgkJCXRvcCAgICA6IG5ld09mZnNldFksCgkJCWxlZnQgICA6IG5ld09mZnNldFgsCgkJCXdpZHRoICA6IG5ld1dpZHRoLAoJCQloZWlnaHQgOiBuZXdIZWlnaHQsCgkJCXNjYWxlWCA6IDEsCgkJCXNjYWxlWSA6IDEKCQl9OwoKCQkvLyBSZXNldCBzY2FsZXgvc2NhbGVZIHZhbHVlczsgdGhpcyBoZWxwcyBmb3IgcGVyZm9tYW5jZSBhbmQgZG9lcyBub3QgYnJlYWsgYW5pbWF0aW9uCgkJJC5mYW5jeWJveC5zZXRUcmFuc2xhdGUoIHNlbGYuJGNvbnRlbnQsIHJlc2V0ICk7CgoJCWlmICggbmV3V2lkdGggPCBzZWxmLmNhbnZhc1dpZHRoICYmIG5ld0hlaWdodCA8IHNlbGYuY2FudmFzSGVpZ2h0ICkgewoJCQlzZWxmLmluc3RhbmNlLnNjYWxlVG9GaXQoIDE1MCApOwoKCQl9IGVsc2UgaWYgKCBuZXdXaWR0aCA+IGN1cnJlbnQud2lkdGggfHwgbmV3SGVpZ2h0ID4gY3VycmVudC5oZWlnaHQgKSB7CgkJCXNlbGYuaW5zdGFuY2Uuc2NhbGVUb0FjdHVhbCggc2VsZi5jZW50ZXJQb2ludFN0YXJ0WCwgc2VsZi5jZW50ZXJQb2ludFN0YXJ0WSwgMTUwICk7CgoJCX0gZWxzZSB7CgoJCQluZXdQb3MgPSBzZWxmLmxpbWl0UG9zaXRpb24oIG5ld09mZnNldFgsIG5ld09mZnNldFksIG5ld1dpZHRoLCBuZXdIZWlnaHQgKTsKCgkJCS8vIFN3aXRjaCBmcm9tIHNjYWxlKCkgdG8gd2lkdGgvaGVpZ2h0IG9yIGFuaW1hdGlvbiB3aWxsIG5vdCB3b3JrIGNvcnJlY3RseQoJCQkkLmZhbmN5Ym94LnNldFRyYW5zbGF0ZSggc2VsZi5jb250ZW50LCAkLmZhbmN5Ym94LmdldFRyYW5zbGF0ZSggc2VsZi4kY29udGVudCApICk7CgoJCQkkLmZhbmN5Ym94LmFuaW1hdGUoIHNlbGYuJGNvbnRlbnQsIG5ld1BvcywgMTUwICk7CgkJfQoKCX07CgoJR3Vlc3R1cmVzLnByb3RvdHlwZS5vblRhcCA9IGZ1bmN0aW9uKGUpIHsKCQl2YXIgc2VsZiAgICA9IHRoaXM7CgkJdmFyICR0YXJnZXQgPSAkKCBlLnRhcmdldCApOwoKCQl2YXIgaW5zdGFuY2UgPSBzZWxmLmluc3RhbmNlOwoJCXZhciBjdXJyZW50ICA9IGluc3RhbmNlLmN1cnJlbnQ7CgoJCXZhciBlbmRQb2ludHMgPSAoIGUgJiYgcG9pbnRlcnMoIGUgKSApIHx8IHNlbGYuc3RhcnRQb2ludHM7CgoJCXZhciB0YXBYID0gZW5kUG9pbnRzWzBdID8gZW5kUG9pbnRzWzBdLnggLSBzZWxmLiRzdGFnZS5vZmZzZXQoKS5sZWZ0IDogMDsKCQl2YXIgdGFwWSA9IGVuZFBvaW50c1swXSA/IGVuZFBvaW50c1swXS55IC0gc2VsZi4kc3RhZ2Uub2Zmc2V0KCkudG9wICA6IDA7CgoJCXZhciB3aGVyZTsKCgkJdmFyIHByb2Nlc3MgPSBmdW5jdGlvbiAoIHByZWZpeCApIHsKCgkJCXZhciBhY3Rpb24gPSBjdXJyZW50Lm9wdHNbIHByZWZpeCBdOwoKCQkJaWYgKCAkLmlzRnVuY3Rpb24oIGFjdGlvbiApICkgewoJCQkJYWN0aW9uID0gYWN0aW9uLmFwcGx5KCBpbnN0YW5jZSwgWyBjdXJyZW50LCBlIF0gKTsKCQkJfQoKCQkJaWYgKCAhYWN0aW9uKSB7CgkJCQlyZXR1cm47CgkJCX0KCgkJCXN3aXRjaCAoIGFjdGlvbiApIHsKCgkJCQljYXNlICJjbG9zZSIgOgoKCQkJCQlpbnN0YW5jZS5jbG9zZSggc2VsZi5zdGFydEV2ZW50ICk7CgoJCQkJYnJlYWs7CgoJCQkJY2FzZSAidG9nZ2xlQ29udHJvbHMiIDoKCgkJCQkJaW5zdGFuY2UudG9nZ2xlQ29udHJvbHMoIHRydWUgKTsKCgkJCQlicmVhazsKCgkJCQljYXNlICJuZXh0IiA6CgoJCQkJCWluc3RhbmNlLm5leHQoKTsKCgkJCQlicmVhazsKCgkJCQljYXNlICJuZXh0T3JDbG9zZSIgOgoKCQkJCQlpZiAoIGluc3RhbmNlLmdyb3VwLmxlbmd0aCA+IDEgKSB7CgkJCQkJCWluc3RhbmNlLm5leHQoKTsKCgkJCQkJfSBlbHNlIHsKCQkJCQkJaW5zdGFuY2UuY2xvc2UoIHNlbGYuc3RhcnRFdmVudCApOwoJCQkJCX0KCgkJCQlicmVhazsKCgkJCQljYXNlICJ6b29tIiA6CgoJCQkJCWlmICggY3VycmVudC50eXBlID09ICdpbWFnZScgJiYgKCBjdXJyZW50LmlzTG9hZGVkIHx8IGN1cnJlbnQuJGdob3N0ICkgKSB7CgoJCQkJCQlpZiAoIGluc3RhbmNlLmNhblBhbigpICkgewoJCQkJCQkJaW5zdGFuY2Uuc2NhbGVUb0ZpdCgpOwoKCQkJCQkJfSBlbHNlIGlmICggaW5zdGFuY2UuaXNTY2FsZWREb3duKCkgKSB7CgkJCQkJCQlpbnN0YW5jZS5zY2FsZVRvQWN0dWFsKCB0YXBYLCB0YXBZICk7CgoJCQkJCQl9IGVsc2UgaWYgKCBpbnN0YW5jZS5ncm91cC5sZW5ndGggPCAyICkgewoJCQkJCQkJaW5zdGFuY2UuY2xvc2UoIHNlbGYuc3RhcnRFdmVudCApOwoJCQkJCQl9CgkJCQkJfQoKCQkJCWJyZWFrOwoJCQl9CgoJCX07CgoJCS8vIElnbm9yZSByaWdodCBjbGljawoJCWlmICggZS5vcmlnaW5hbEV2ZW50ICYmIGUub3JpZ2luYWxFdmVudC5idXR0b24gPT0gMiApIHsKCQkJcmV0dXJuOwoJCX0KCgkJLy8gU2tpcCBpZiBjbGlja2VkIG9uIHRoZSBzY3JvbGxiYXIKCQlpZiAoICEkdGFyZ2V0LmlzKCdpbWcnKSAmJiB0YXBYID4gJHRhcmdldFswXS5jbGllbnRXaWR0aCArICR0YXJnZXQub2Zmc2V0KCkubGVmdCApIHsKCQkJcmV0dXJuOwoJCX0KCgkJLy8gQ2hlY2sgd2hlcmUgaXMgY2xpY2tlZAoJCWlmICggJHRhcmdldC5pcyggJy5mYW5jeWJveC1iZywuZmFuY3lib3gtaW5uZXIsLmZhbmN5Ym94LW91dGVyLC5mYW5jeWJveC1jb250YWluZXInICkgKSB7CgkJCXdoZXJlID0gJ091dHNpZGUnOwoKCQl9IGVsc2UgaWYgKCAkdGFyZ2V0LmlzKCAnLmZhbmN5Ym94LXNsaWRlJyApICkgewoJCQl3aGVyZSA9ICdTbGlkZSc7CgoJCX0gZWxzZSBpZiAoIGluc3RhbmNlLmN1cnJlbnQuJGNvbnRlbnQgJiYgaW5zdGFuY2UuY3VycmVudC4kY29udGVudC5maW5kKCAkdGFyZ2V0ICkuYWRkQmFjaygpLmZpbHRlciggJHRhcmdldCApLmxlbmd0aCApIHsKCQkgCXdoZXJlID0gJ0NvbnRlbnQnOwoKCQl9IGVsc2UgewoJCQlyZXR1cm47CgkJfQoKCQkvLyBDaGVjayBpZiB0aGlzIGlzIGEgZG91YmxlIHRhcAoJCWlmICggc2VsZi50YXBwZWQgKSB7CgoJCQkvLyBTdG9wIHByZXZpb3VzbHkgY3JlYXRlZCBzaW5nbGUgdGFwCgkJCWNsZWFyVGltZW91dCggc2VsZi50YXBwZWQgKTsKCQkJc2VsZi50YXBwZWQgPSBudWxsOwoKCQkJLy8gU2tpcCBpZiBkaXN0YW5jZSBiZXR3ZWVuIHRhcHMgaXMgdG9vIGJpZwoJCQlpZiAoIE1hdGguYWJzKCB0YXBYIC0gc2VsZi50YXBYICkgPiA1MCB8fCBNYXRoLmFicyggdGFwWSAtIHNlbGYudGFwWSApID4gNTAgKSB7CgkJCQlyZXR1cm4gdGhpczsKCQkJfQoKCQkJLy8gT0ssIG5vdyB3ZSBhc3N1bWUgdGhhdCB0aGlzIGlzIGEgZG91YmxlLXRhcAoJCQlwcm9jZXNzKCAnZGJsY2xpY2snICsgd2hlcmUgKTsKCgkJfSBlbHNlIHsKCgkJCS8vIFNpbmdsZSB0YXAgd2lsbCBiZSBwcm9jZXNzZWQgaWYgdXNlciBoYXMgbm90IGNsaWNrZWQgc2Vjb25kIHRpbWUgd2l0aGluIDMwMG1zCgkJCS8vIG9yIHRoZXJlIGlzIG5vIG5lZWQgdG8gd2FpdCBmb3IgZG91YmxlLXRhcAoJCQlzZWxmLnRhcFggPSB0YXBYOwoJCQlzZWxmLnRhcFkgPSB0YXBZOwoKCQkJaWYgKCBjdXJyZW50Lm9wdHNbICdkYmxjbGljaycgKyB3aGVyZSBdICYmIGN1cnJlbnQub3B0c1sgJ2RibGNsaWNrJyArIHdoZXJlIF0gIT09IGN1cnJlbnQub3B0c1sgJ2NsaWNrJyArIHdoZXJlIF0gKSB7CgoJCQkJc2VsZi50YXBwZWQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoJCQkJCXNlbGYudGFwcGVkID0gbnVsbDsKCgkJCQkJcHJvY2VzcyggJ2NsaWNrJyArIHdoZXJlICk7CgoJCQkJfSwgNTAwKTsKCgkJCX0gZWxzZSB7CgkJCQlwcm9jZXNzKCAnY2xpY2snICsgd2hlcmUgKTsKCQkJfQoKCQl9CgoJCXJldHVybiB0aGlzOwoJfTsKCgkkKGRvY3VtZW50KS5vbignb25BY3RpdmF0ZS5mYicsIGZ1bmN0aW9uIChlLCBpbnN0YW5jZSkgewoJCWlmICggaW5zdGFuY2UgJiYgIWluc3RhbmNlLkd1ZXN0dXJlcyApIHsKCQkJaW5zdGFuY2UuR3Vlc3R1cmVzID0gbmV3IEd1ZXN0dXJlcyggaW5zdGFuY2UgKTsKCQl9Cgl9KTsKCn0oIHdpbmRvdywgZG9jdW1lbnQsIHdpbmRvdy5qUXVlcnkgfHwgalF1ZXJ5ICkpOwoKLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLy8KLy8gU2xpZGVTaG93Ci8vIEVuYWJsZXMgc2xpZGVzaG93IGZ1bmN0aW9uYWxpdHkKLy8KLy8gRXhhbXBsZSBvZiB1c2FnZToKLy8gJC5mYW5jeWJveC5nZXRJbnN0YW5jZSgpLlNsaWRlU2hvdy5zdGFydCgpCi8vCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjsoZnVuY3Rpb24gKGRvY3VtZW50LCAkKSB7CgkndXNlIHN0cmljdCc7CgoJJC5leHRlbmQodHJ1ZSwgJC5mYW5jeWJveC5kZWZhdWx0cywgewoJCWJ0blRwbCA6IHsKCQkJc2xpZGVTaG93IDoKCQkJCSc8YnV0dG9uIGRhdGEtZmFuY3lib3gtcGxheSBjbGFzcz0iZmFuY3lib3gtYnV0dG9uIGZhbmN5Ym94LWJ1dHRvbi0tcGxheSIgdGl0bGU9Int7UExBWV9TVEFSVH19Ij4nICsKCQkJCQknPHN2ZyB2aWV3Qm94PSIwIDAgNDAgNDAiPicgKwoJCQkJCQknPHBhdGggZD0iTTEzLDEyIEwyNywyMCBMMTMsMjcgWiIgLz4nICsKCQkJCQkJJzxwYXRoIGQ9Ik0xNSwxMCB2MTkgTTIzLDEwIHYxOSIgLz4nICsKCQkJCQknPC9zdmc+JyArCgkJCQknPC9idXR0b24+JwoJCX0sCgkJc2xpZGVTaG93IDogewoJCQlhdXRvU3RhcnQgOiBmYWxzZSwKICAgICAgICAgICAgc3BlZWQgICAgIDogMzAwMAoJCX0KCX0pOwoKCXZhciBTbGlkZVNob3cgPSBmdW5jdGlvbiggaW5zdGFuY2UgKSB7CgkJdGhpcy5pbnN0YW5jZSA9IGluc3RhbmNlOwoJCXRoaXMuaW5pdCgpOwoJfTsKCgkkLmV4dGVuZCggU2xpZGVTaG93LnByb3RvdHlwZSwgewoJCXRpbWVyICAgIDogbnVsbCwKCQlpc0FjdGl2ZSA6IGZhbHNlLAoJCSRidXR0b24gIDogbnVsbCwKCgkJaW5pdCA6IGZ1bmN0aW9uKCkgewoJCQl2YXIgc2VsZiA9IHRoaXM7CgoJCQlzZWxmLiRidXR0b24gPSBzZWxmLmluc3RhbmNlLiRyZWZzLnRvb2xiYXIuZmluZCgnW2RhdGEtZmFuY3lib3gtcGxheV0nKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsKCQkJCXNlbGYudG9nZ2xlKCk7CgkJCX0pOwoKCQkJaWYgKCBzZWxmLmluc3RhbmNlLmdyb3VwLmxlbmd0aCA8IDIgfHwgIXNlbGYuaW5zdGFuY2UuZ3JvdXBbIHNlbGYuaW5zdGFuY2UuY3VyckluZGV4IF0ub3B0cy5zbGlkZVNob3cgKSB7CgkJCQlzZWxmLiRidXR0b24uaGlkZSgpOwoJCQl9CgkJfSwKCgkJc2V0IDogZnVuY3Rpb24oIGZvcmNlICkgewoJCQl2YXIgc2VsZiA9IHRoaXM7CgoJCQkvLyBDaGVjayBpZiByZWFjaGVkIGxhc3QgZWxlbWVudAoJCQlpZiAoIHNlbGYuaW5zdGFuY2UgJiYgc2VsZi5pbnN0YW5jZS5jdXJyZW50ICYmIChmb3JjZSA9PT0gdHJ1ZSB8fCBzZWxmLmluc3RhbmNlLmN1cnJlbnQub3B0cy5sb29wIHx8IHNlbGYuaW5zdGFuY2UuY3VyckluZGV4IDwgc2VsZi5pbnN0YW5jZS5ncm91cC5sZW5ndGggLSAxICkpIHsKCQkJCXNlbGYudGltZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoJCQkJCWlmICggc2VsZi5pc0FjdGl2ZSApIHsKCQkJCQkJc2VsZi5pbnN0YW5jZS5qdW1wVG8oIChzZWxmLmluc3RhbmNlLmN1cnJJbmRleCArIDEpICUgc2VsZi5pbnN0YW5jZS5ncm91cC5sZW5ndGggKTsKCQkJCQl9CgoJCQkJfSwgc2VsZi5pbnN0YW5jZS5jdXJyZW50Lm9wdHMuc2xpZGVTaG93LnNwZWVkKTsKCgkJCX0gZWxzZSB7CgkJCQlzZWxmLnN0b3AoKTsKCQkJCXNlbGYuaW5zdGFuY2UuaWRsZVNlY29uZHNDb3VudGVyID0gMDsKCQkJCXNlbGYuaW5zdGFuY2Uuc2hvd0NvbnRyb2xzKCk7CgkJCX0KCQl9LAoKCQljbGVhciA6IGZ1bmN0aW9uKCkgewoJCQl2YXIgc2VsZiA9IHRoaXM7CgoJCQljbGVhclRpbWVvdXQoIHNlbGYudGltZXIgKTsKCgkJCXNlbGYudGltZXIgPSBudWxsOwoJCX0sCgoJCXN0YXJ0IDogZnVuY3Rpb24oKSB7CgkJCXZhciBzZWxmID0gdGhpczsKCQkJdmFyIGN1cnJlbnQgPSBzZWxmLmluc3RhbmNlLmN1cnJlbnQ7CgoJCQlpZiAoIGN1cnJlbnQgKSB7CgkJCQlzZWxmLmlzQWN0aXZlID0gdHJ1ZTsKCgkJCQlzZWxmLiRidXR0b24KCQkJCQkuYXR0ciggJ3RpdGxlJywgY3VycmVudC5vcHRzLmkxOG5bIGN1cnJlbnQub3B0cy5sYW5nIF0uUExBWV9TVE9QICkKCQkJCQkucmVtb3ZlQ2xhc3MoICdmYW5jeWJveC1idXR0b24tLXBsYXknICkKCQkJCQkuYWRkQ2xhc3MoICdmYW5jeWJveC1idXR0b24tLXBhdXNlJyApOwoKCQkJCQlzZWxmLnNldCggdHJ1ZSApOwoJCQl9CgkJfSwKCgkJc3RvcCA6IGZ1bmN0aW9uKCkgewoJCQl2YXIgc2VsZiA9IHRoaXM7CgkJCXZhciBjdXJyZW50ID0gc2VsZi5pbnN0YW5jZS5jdXJyZW50OwoKCQkJc2VsZi5jbGVhcigpOwoKCQkJc2VsZi4kYnV0dG9uCgkJCQkuYXR0ciggJ3RpdGxlJywgY3VycmVudC5vcHRzLmkxOG5bIGN1cnJlbnQub3B0cy5sYW5nIF0uUExBWV9TVEFSVCApCgkJCQkucmVtb3ZlQ2xhc3MoICdmYW5jeWJveC1idXR0b24tLXBhdXNlJyApCgkJCQkuYWRkQ2xhc3MoICdmYW5jeWJveC1idXR0b24tLXBsYXknICk7CgoJCQlzZWxmLmlzQWN0aXZlID0gZmFsc2U7CgkJfSwKCgkJdG9nZ2xlIDogZnVuY3Rpb24oKSB7CgkJCXZhciBzZWxmID0gdGhpczsKCgkJCWlmICggc2VsZi5pc0FjdGl2ZSApIHsKCQkJCXNlbGYuc3RvcCgpOwoKCQkJfSBlbHNlIHsKCQkJCXNlbGYuc3RhcnQoKTsKCQkJfQoJCX0KCgl9KTsKCgkkKGRvY3VtZW50KS5vbih7CgkJJ29uSW5pdC5mYicgOiBmdW5jdGlvbihlLCBpbnN0YW5jZSkgewoJCQlpZiAoIGluc3RhbmNlICYmICFpbnN0YW5jZS5TbGlkZVNob3cgKSB7CgkJCQlpbnN0YW5jZS5TbGlkZVNob3cgPSBuZXcgU2xpZGVTaG93KCBpbnN0YW5jZSApOwoJCQl9CgkJfSwKCgkJJ2JlZm9yZVNob3cuZmInIDogZnVuY3Rpb24oZSwgaW5zdGFuY2UsIGN1cnJlbnQsIGZpcnN0UnVuKSB7CgkJCXZhciBTbGlkZVNob3cgPSBpbnN0YW5jZSAmJiBpbnN0YW5jZS5TbGlkZVNob3c7CgoJCQlpZiAoIGZpcnN0UnVuICkgewoKCQkJCWlmICggU2xpZGVTaG93ICYmIGN1cnJlbnQub3B0cy5zbGlkZVNob3cuYXV0b1N0YXJ0ICkgewoJCQkJCVNsaWRlU2hvdy5zdGFydCgpOwoJCQkJfQoKCQkJfSBlbHNlIGlmICggU2xpZGVTaG93ICYmIFNsaWRlU2hvdy5pc0FjdGl2ZSApICB7CgkJCQlTbGlkZVNob3cuY2xlYXIoKTsKCQkJfQoJCX0sCgoJCSdhZnRlclNob3cuZmInIDogZnVuY3Rpb24oZSwgaW5zdGFuY2UsIGN1cnJlbnQpIHsKCQkJdmFyIFNsaWRlU2hvdyA9IGluc3RhbmNlICYmIGluc3RhbmNlLlNsaWRlU2hvdzsKCgkJCWlmICggU2xpZGVTaG93ICYmIFNsaWRlU2hvdy5pc0FjdGl2ZSApIHsKCQkJCVNsaWRlU2hvdy5zZXQoKTsKCQkJfQoJCX0sCgoJCSdhZnRlcktleWRvd24uZmInIDogZnVuY3Rpb24oZSwgaW5zdGFuY2UsIGN1cnJlbnQsIGtleXByZXNzLCBrZXljb2RlKSB7CgkJCXZhciBTbGlkZVNob3cgPSBpbnN0YW5jZSAmJiBpbnN0YW5jZS5TbGlkZVNob3c7CgoJCQkvLyAiUCIgb3IgU3BhY2ViYXIKCQkJaWYgKCBTbGlkZVNob3cgJiYgY3VycmVudC5vcHRzLnNsaWRlU2hvdyAmJiAoIGtleWNvZGUgPT09IDgwIHx8IGtleWNvZGUgPT09IDMyICkgJiYgISQoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkuaXMoICdidXR0b24sYSxpbnB1dCcgKSApIHsKCQkJCWtleXByZXNzLnByZXZlbnREZWZhdWx0KCk7CgoJCQkJU2xpZGVTaG93LnRvZ2dsZSgpOwoJCQl9CgkJfSwKCgkJJ2JlZm9yZUNsb3NlLmZiIG9uRGVhY3RpdmF0ZS5mYicgOiBmdW5jdGlvbihlLCBpbnN0YW5jZSkgewoJCQl2YXIgU2xpZGVTaG93ID0gaW5zdGFuY2UgJiYgaW5zdGFuY2UuU2xpZGVTaG93OwoKCQkJaWYgKCBTbGlkZVNob3cgKSB7CgkJCQlTbGlkZVNob3cuc3RvcCgpOwoJCQl9CgkJfQoJfSk7CgoJLy8gUGFnZSBWaXNpYmlsaXR5IEFQSSB0byBwYXVzZSBzbGlkZXNob3cgd2hlbiB3aW5kb3cgaXMgbm90IGFjdGl2ZQoJJChkb2N1bWVudCkub24oInZpc2liaWxpdHljaGFuZ2UiLCBmdW5jdGlvbigpIHsKCQl2YXIgaW5zdGFuY2UgID0gJC5mYW5jeWJveC5nZXRJbnN0YW5jZSgpOwoJCXZhciBTbGlkZVNob3cgPSBpbnN0YW5jZSAmJiBpbnN0YW5jZS5TbGlkZVNob3c7CgoJCWlmICggU2xpZGVTaG93ICYmIFNsaWRlU2hvdy5pc0FjdGl2ZSApIHsKCQkJaWYgKCBkb2N1bWVudC5oaWRkZW4gKSB7CgkJCQlTbGlkZVNob3cuY2xlYXIoKTsKCgkJCX0gZWxzZSB7CgkJCQlTbGlkZVNob3cuc2V0KCk7CgkJCX0KCQl9Cgl9KTsKCn0oIGRvY3VtZW50LCB3aW5kb3cualF1ZXJ5IHx8IGpRdWVyeSApKTsKCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci8vCi8vIEZ1bGxTY3JlZW4KLy8gQWRkcyBmdWxsc2NyZWVuIGZ1bmN0aW9uYWxpdHkKLy8KLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KOyhmdW5jdGlvbiAoZG9jdW1lbnQsICQpIHsKCSd1c2Ugc3RyaWN0JzsKCgkvLyBDb2xsZWN0aW9uIG9mIG1ldGhvZHMgc3VwcG9ydGVkIGJ5IHVzZXIgYnJvd3NlcgoJdmFyIGZuID0gKGZ1bmN0aW9uICgpIHsKCgkJdmFyIGZuTWFwID0gWwoJCQlbCgkJCQkncmVxdWVzdEZ1bGxzY3JlZW4nLAoJCQkJJ2V4aXRGdWxsc2NyZWVuJywKCQkJCSdmdWxsc2NyZWVuRWxlbWVudCcsCgkJCQknZnVsbHNjcmVlbkVuYWJsZWQnLAoJCQkJJ2Z1bGxzY3JlZW5jaGFuZ2UnLAoJCQkJJ2Z1bGxzY3JlZW5lcnJvcicKCQkJXSwKCQkJLy8gbmV3IFdlYktpdAoJCQlbCgkJCQknd2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4nLAoJCQkJJ3dlYmtpdEV4aXRGdWxsc2NyZWVuJywKCQkJCSd3ZWJraXRGdWxsc2NyZWVuRWxlbWVudCcsCgkJCQknd2Via2l0RnVsbHNjcmVlbkVuYWJsZWQnLAoJCQkJJ3dlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UnLAoJCQkJJ3dlYmtpdGZ1bGxzY3JlZW5lcnJvcicKCgkJCV0sCgkJCS8vIG9sZCBXZWJLaXQgKFNhZmFyaSA1LjEpCgkJCVsKCQkJCSd3ZWJraXRSZXF1ZXN0RnVsbFNjcmVlbicsCgkJCQknd2Via2l0Q2FuY2VsRnVsbFNjcmVlbicsCgkJCQknd2Via2l0Q3VycmVudEZ1bGxTY3JlZW5FbGVtZW50JywKCQkJCSd3ZWJraXRDYW5jZWxGdWxsU2NyZWVuJywKCQkJCSd3ZWJraXRmdWxsc2NyZWVuY2hhbmdlJywKCQkJCSd3ZWJraXRmdWxsc2NyZWVuZXJyb3InCgoJCQldLAoJCQlbCgkJCQknbW96UmVxdWVzdEZ1bGxTY3JlZW4nLAoJCQkJJ21vekNhbmNlbEZ1bGxTY3JlZW4nLAoJCQkJJ21vekZ1bGxTY3JlZW5FbGVtZW50JywKCQkJCSdtb3pGdWxsU2NyZWVuRW5hYmxlZCcsCgkJCQknbW96ZnVsbHNjcmVlbmNoYW5nZScsCgkJCQknbW96ZnVsbHNjcmVlbmVycm9yJwoJCQldLAoJCQlbCgkJCQknbXNSZXF1ZXN0RnVsbHNjcmVlbicsCgkJCQknbXNFeGl0RnVsbHNjcmVlbicsCgkJCQknbXNGdWxsc2NyZWVuRWxlbWVudCcsCgkJCQknbXNGdWxsc2NyZWVuRW5hYmxlZCcsCgkJCQknTVNGdWxsc2NyZWVuQ2hhbmdlJywKCQkJCSdNU0Z1bGxzY3JlZW5FcnJvcicKCQkJXQoJCV07CgoJCXZhciB2YWw7CgkJdmFyIHJldCA9IHt9OwoJCXZhciBpLCBqOwoKCQlmb3IgKCBpID0gMDsgaSA8IGZuTWFwLmxlbmd0aDsgaSsrICkgewoJCQl2YWwgPSBmbk1hcFsgaSBdOwoKCQkJaWYgKCB2YWwgJiYgdmFsWyAxIF0gaW4gZG9jdW1lbnQgKSB7CgkJCQlmb3IgKCBqID0gMDsgaiA8IHZhbC5sZW5ndGg7IGorKyApIHsKCQkJCQlyZXRbIGZuTWFwWyAwIF1bIGogXSBdID0gdmFsWyBqIF07CgkJCQl9CgoJCQkJcmV0dXJuIHJldDsKCQkJfQoJCX0KCgkJcmV0dXJuIGZhbHNlOwoJfSkoKTsKCgkvLyBJZiBicm93c2VyIGRvZXMgbm90IGhhdmUgRnVsbCBTY3JlZW4gQVBJLCB0aGVuIHNpbXBseSB1bnNldCBkZWZhdWx0IGJ1dHRvbiB0ZW1wbGF0ZSBhbmQgc3RvcAoJaWYgKCAhZm4gKSB7CgoJCWlmICggJCAmJiAkLmZhbmN5Ym94ICkgewoJCQkkLmZhbmN5Ym94LmRlZmF1bHRzLmJ0blRwbC5mdWxsU2NyZWVuID0gZmFsc2U7CgkJfQoKCQlyZXR1cm47Cgl9CgoJdmFyIEZ1bGxTY3JlZW4gPSB7CgoJCXJlcXVlc3QgOiBmdW5jdGlvbiAoIGVsZW0gKSB7CgoJCQllbGVtID0gZWxlbSB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7CgoJCQllbGVtWyBmbi5yZXF1ZXN0RnVsbHNjcmVlbiBdKCBlbGVtLkFMTE9XX0tFWUJPQVJEX0lOUFVUICk7CgoJCX0sCgkJZXhpdCA6IGZ1bmN0aW9uICgpIHsKCgkJCWRvY3VtZW50WyBmbi5leGl0RnVsbHNjcmVlbiBdKCk7CgoJCX0sCgkJdG9nZ2xlIDogZnVuY3Rpb24gKCBlbGVtICkgewoKCQkJZWxlbSA9IGVsZW0gfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50OwoKCQkJaWYgKCB0aGlzLmlzRnVsbHNjcmVlbigpICkgewoJCQkJdGhpcy5leGl0KCk7CgoJCQl9IGVsc2UgewoJCQkJdGhpcy5yZXF1ZXN0KCBlbGVtICk7CgkJCX0KCgkJfSwKCQlpc0Z1bGxzY3JlZW4gOiBmdW5jdGlvbigpICB7CgoJCQlyZXR1cm4gQm9vbGVhbiggZG9jdW1lbnRbIGZuLmZ1bGxzY3JlZW5FbGVtZW50IF0gKTsKCgkJfSwKCQllbmFibGVkIDogZnVuY3Rpb24oKSAgewoKCQkJcmV0dXJuIEJvb2xlYW4oIGRvY3VtZW50WyBmbi5mdWxsc2NyZWVuRW5hYmxlZCBdICk7CgoJCX0KCX07CgoJJC5leHRlbmQodHJ1ZSwgJC5mYW5jeWJveC5kZWZhdWx0cywgewoJCWJ0blRwbCA6IHsKCQkJZnVsbFNjcmVlbiA6CgkJCQknPGJ1dHRvbiBkYXRhLWZhbmN5Ym94LWZ1bGxzY3JlZW4gY2xhc3M9ImZhbmN5Ym94LWJ1dHRvbiBmYW5jeWJveC1idXR0b24tLWZ1bGxzY3JlZW4iIHRpdGxlPSJ7e0ZVTExfU0NSRUVOfX0iPicgKwoJCQkJCSc8c3ZnIHZpZXdCb3g9IjAgMCA0MCA0MCI+JyArCgkJCQkJCSc8cGF0aCBkPSJNOSwxMiBoMjIgdjE2IGgtMjIgdi0xNiB2MTYgaDIyIHYtMTYgWiIgLz4nICsKCQkJCQknPC9zdmc+JyArCgkJCQknPC9idXR0b24+JwoJCX0sCgkJZnVsbFNjcmVlbiA6IHsKCQkJYXV0b1N0YXJ0IDogZmFsc2UKCQl9Cgl9KTsKCgkkKGRvY3VtZW50KS5vbih7CgkJJ29uSW5pdC5mYicgOiBmdW5jdGlvbihlLCBpbnN0YW5jZSkgewoJCQl2YXIgJGNvbnRhaW5lcjsKCgkJCWlmICggaW5zdGFuY2UgJiYgaW5zdGFuY2UuZ3JvdXBbIGluc3RhbmNlLmN1cnJJbmRleCBdLm9wdHMuZnVsbFNjcmVlbiApIHsKCQkJCSRjb250YWluZXIgPSBpbnN0YW5jZS4kcmVmcy5jb250YWluZXI7CgoJCQkJJGNvbnRhaW5lci5vbignY2xpY2suZmItZnVsbHNjcmVlbicsICdbZGF0YS1mYW5jeWJveC1mdWxsc2NyZWVuXScsIGZ1bmN0aW9uKGUpIHsKCgkJCQkJZS5zdG9wUHJvcGFnYXRpb24oKTsKCQkJCQllLnByZXZlbnREZWZhdWx0KCk7CgoJCQkJCUZ1bGxTY3JlZW4udG9nZ2xlKCAkY29udGFpbmVyWyAwIF0gKTsKCgkJCQl9KTsKCgkJCQlpZiAoIGluc3RhbmNlLm9wdHMuZnVsbFNjcmVlbiAmJiBpbnN0YW5jZS5vcHRzLmZ1bGxTY3JlZW4uYXV0b1N0YXJ0ID09PSB0cnVlICkgewoJCQkJCUZ1bGxTY3JlZW4ucmVxdWVzdCggJGNvbnRhaW5lclsgMCBdICk7CgkJCQl9CgoJCQkJLy8gRXhwb3NlIEFQSQoJCQkJaW5zdGFuY2UuRnVsbFNjcmVlbiA9IEZ1bGxTY3JlZW47CgoJCQl9IGVsc2UgaWYgKCBpbnN0YW5jZSApIHsKCQkJCWluc3RhbmNlLiRyZWZzLnRvb2xiYXIuZmluZCgnW2RhdGEtZmFuY3lib3gtZnVsbHNjcmVlbl0nKS5oaWRlKCk7CgkJCX0KCgkJfSwKCgkJJ2FmdGVyS2V5ZG93bi5mYicgOiBmdW5jdGlvbihlLCBpbnN0YW5jZSwgY3VycmVudCwga2V5cHJlc3MsIGtleWNvZGUpIHsKCgkJCS8vICJQIiBvciBTcGFjZWJhcgoJCQlpZiAoIGluc3RhbmNlICYmIGluc3RhbmNlLkZ1bGxTY3JlZW4gJiYga2V5Y29kZSA9PT0gNzAgKSB7CgkJCQlrZXlwcmVzcy5wcmV2ZW50RGVmYXVsdCgpOwoKCQkJCWluc3RhbmNlLkZ1bGxTY3JlZW4udG9nZ2xlKCBpbnN0YW5jZS4kcmVmcy5jb250YWluZXJbIDAgXSApOwoJCQl9CgoJCX0sCgoJCSdiZWZvcmVDbG9zZS5mYicgOiBmdW5jdGlvbiggaW5zdGFuY2UgKSB7CgkJCWlmICggaW5zdGFuY2UgJiYgaW5zdGFuY2UuRnVsbFNjcmVlbiApIHsKCQkJCUZ1bGxTY3JlZW4uZXhpdCgpOwoJCQl9CgkJfQoJfSk7CgoJJChkb2N1bWVudCkub24oZm4uZnVsbHNjcmVlbmNoYW5nZSwgZnVuY3Rpb24oKSB7CgkJdmFyIGlzRnVsbHNjcmVlbiA9IEZ1bGxTY3JlZW4uaXNGdWxsc2NyZWVuKCksCgkJCWluc3RhbmNlID0gJC5mYW5jeWJveC5nZXRJbnN0YW5jZSgpOwoKCQlpZiAoIGluc3RhbmNlICkgewoKCQkJLy8gSWYgaW1hZ2UgaXMgem9vbWluZywgdGhlbiBmb3JjZSB0byBzdG9wIGFuZCByZXBvc2l0aW9uIHByb3Blcmx5CgkJCWlmICggaW5zdGFuY2UuY3VycmVudCAmJiBpbnN0YW5jZS5jdXJyZW50LnR5cGUgPT09ICdpbWFnZScgJiYgaW5zdGFuY2UuaXNBbmltYXRpbmcgKSB7CgkJCQlpbnN0YW5jZS5jdXJyZW50LiRjb250ZW50LmNzcyggJ3RyYW5zaXRpb24nLCAnbm9uZScgKTsKCgkJCQlpbnN0YW5jZS5pc0FuaW1hdGluZyA9IGZhbHNlOwoKCQkJCWluc3RhbmNlLnVwZGF0ZSggdHJ1ZSwgdHJ1ZSwgMCApOwoJCQl9CgoJCQlpbnN0YW5jZS50cmlnZ2VyKCAnb25GdWxsc2NyZWVuQ2hhbmdlJywgaXNGdWxsc2NyZWVuICk7CgoJCQlpbnN0YW5jZS4kcmVmcy5jb250YWluZXIudG9nZ2xlQ2xhc3MoICdmYW5jeWJveC1pcy1mdWxsc2NyZWVuJywgaXNGdWxsc2NyZWVuICk7CgkJfQoKCX0pOwoKfSggZG9jdW1lbnQsIHdpbmRvdy5qUXVlcnkgfHwgalF1ZXJ5ICkpOwoKLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLy8KLy8gVGh1bWJzCi8vIERpc3BsYXlzIHRodW1ibmFpbHMgaW4gYSBncmlkCi8vCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjsoZnVuY3Rpb24gKGRvY3VtZW50LCAkKSB7CgkndXNlIHN0cmljdCc7CgoJLy8gTWFrZSBzdXJlIHRoZXJlIGFyZSBkZWZhdWx0IHZhbHVlcwoJJC5mYW5jeWJveC5kZWZhdWx0cyA9ICQuZXh0ZW5kKHRydWUsIHsKCQlidG5UcGwgOiB7CgkJCXRodW1icyA6CgkJCSc8YnV0dG9uIGRhdGEtZmFuY3lib3gtdGh1bWJzIGNsYXNzPSJmYW5jeWJveC1idXR0b24gZmFuY3lib3gtYnV0dG9uLS10aHVtYnMiIHRpdGxlPSJ7e1RIVU1CU319Ij4nICsKCQkJCSc8c3ZnIHZpZXdCb3g9IjAgMCAxMjAgMTIwIj4nICsKCQkJCQknPHBhdGggZD0iTTMwLDMwIGgxNCB2MTQgaC0xNCBaIE01MCwzMCBoMTQgdjE0IGgtMTQgWiBNNzAsMzAgaDE0IHYxNCBoLTE0IFogTTMwLDUwIGgxNCB2MTQgaC0xNCBaIE01MCw1MCBoMTQgdjE0IGgtMTQgWiBNNzAsNTAgaDE0IHYxNCBoLTE0IFogTTMwLDcwIGgxNCB2MTQgaC0xNCBaIE01MCw3MCBoMTQgdjE0IGgtMTQgWiBNNzAsNzAgaDE0IHYxNCBoLTE0IFoiIC8+JyArCgkJCQknPC9zdmc+JyArCgkJCSc8L2J1dHRvbj4nCgkJfSwKCQl0aHVtYnMgOiB7CgkJCWF1dG9TdGFydCAgIDogZmFsc2UsICAgICAgICAgICAgICAgICAgLy8gRGlzcGxheSB0aHVtYm5haWxzIG9uIG9wZW5pbmcKCQkJaGlkZU9uQ2xvc2UgOiB0cnVlLCAgICAgICAgICAgICAgICAgICAvLyBIaWRlIHRodW1ibmFpbCBncmlkIHdoZW4gY2xvc2luZyBhbmltYXRpb24gc3RhcnRzCgkJCXBhcmVudEVsICAgIDogJy5mYW5jeWJveC1jb250YWluZXInLCAgLy8gQ29udGFpbmVyIGlzIGluamVjdGVkIGludG8gdGhpcyBlbGVtZW50CgkJCWF4aXMgICAgICAgIDogJ3knICAgICAgICAgICAgICAgICAgICAgLy8gVmVydGljYWwgKHkpIG9yIGhvcml6b250YWwgKHgpIHNjcm9sbGluZwoJCX0KCX0sICQuZmFuY3lib3guZGVmYXVsdHMpOwoKCXZhciBGYW5jeVRodW1icyA9IGZ1bmN0aW9uKCBpbnN0YW5jZSApIHsKCQl0aGlzLmluaXQoIGluc3RhbmNlICk7Cgl9OwoKCSQuZXh0ZW5kKCBGYW5jeVRodW1icy5wcm90b3R5cGUsIHsKCgkJJGJ1dHRvbgkJOiBudWxsLAoJCSRncmlkCQk6IG51bGwsCgkJJGxpc3QJCTogbnVsbCwKCQlpc1Zpc2libGUJOiBmYWxzZSwKCQlpc0FjdGl2ZQk6IGZhbHNlLAoKCQlpbml0IDogZnVuY3Rpb24oIGluc3RhbmNlICkgewoJCQl2YXIgc2VsZiA9IHRoaXM7CgoJCQlzZWxmLmluc3RhbmNlID0gaW5zdGFuY2U7CgoJCQlpbnN0YW5jZS5UaHVtYnMgPSBzZWxmOwoKCQkJLy8gRW5hYmxlIHRodW1icyBpZiBhdCBsZWFzdCB0d28gZ3JvdXAgaXRlbXMgaGF2ZSB0aHVtYm5haWxzCgkJCXZhciBmaXJzdCAgPSBpbnN0YW5jZS5ncm91cFswXSwKCQkJCXNlY29uZCA9IGluc3RhbmNlLmdyb3VwWzFdOwoKCQkJc2VsZi5vcHRzID0gaW5zdGFuY2UuZ3JvdXBbIGluc3RhbmNlLmN1cnJJbmRleCBdLm9wdHMudGh1bWJzOwoKCQkJc2VsZi4kYnV0dG9uID0gaW5zdGFuY2UuJHJlZnMudG9vbGJhci5maW5kKCAnW2RhdGEtZmFuY3lib3gtdGh1bWJzXScgKTsKCgkJCWlmICggc2VsZi5vcHRzICYmIGZpcnN0ICYmIHNlY29uZCAmJiAoCgkJICAgIAkJKCBmaXJzdC50eXBlID09ICdpbWFnZScgIHx8IGZpcnN0Lm9wdHMudGh1bWIgIHx8IGZpcnN0Lm9wdHMuJHRodW1iICkgJiYKCQkgICAgCQkoIHNlY29uZC50eXBlID09ICdpbWFnZScgfHwgc2Vjb25kLm9wdHMudGh1bWIgfHwgc2Vjb25kLm9wdHMuJHRodW1iICkKCQkJKSkgewoKCQkJCXNlbGYuJGJ1dHRvbi5zaG93KCkub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7CgkJCQkJc2VsZi50b2dnbGUoKTsKCQkJCX0pOwoKCQkJCXNlbGYuaXNBY3RpdmUgPSB0cnVlOwoKCQkJfSBlbHNlIHsKCQkJCXNlbGYuJGJ1dHRvbi5oaWRlKCk7CgkJCX0KCQl9LAoKCQljcmVhdGUgOiBmdW5jdGlvbigpIHsKCQkJdmFyIHNlbGYgPSB0aGlzLAoJCQkJaW5zdGFuY2UgPSBzZWxmLmluc3RhbmNlLAoJCQkJcGFyZW50RWwgPSBzZWxmLm9wdHMucGFyZW50RWwsCgkJCQlsaXN0LAoJCQkJc3JjOwoKCQkJc2VsZi4kZ3JpZCA9ICQoJzxkaXYgY2xhc3M9ImZhbmN5Ym94LXRodW1icyBmYW5jeWJveC10aHVtYnMtJyArIHNlbGYub3B0cy5heGlzICsgJyI+PC9kaXY+JykuYXBwZW5kVG8oIGluc3RhbmNlLiRyZWZzLmNvbnRhaW5lci5maW5kKCBwYXJlbnRFbCApLmFkZEJhY2soKS5maWx0ZXIoIHBhcmVudEVsICkgKTsKCgkJCS8vIEJ1aWxkIGxpc3QgSFRNTAoJCQlsaXN0ID0gJzx1bD4nOwoKCQkJJC5lYWNoKGluc3RhbmNlLmdyb3VwLCBmdW5jdGlvbiggaSwgaXRlbSApIHsKCQkJCXNyYyA9IGl0ZW0ub3B0cy50aHVtYiB8fCAoIGl0ZW0ub3B0cy4kdGh1bWIgPyBpdGVtLm9wdHMuJHRodW1iLmF0dHIoICdzcmMnICkgOiBudWxsICk7CgoJCQkJaWYgKCAhc3JjICYmIGl0ZW0udHlwZSA9PT0gJ2ltYWdlJyApIHsKCQkJCQlzcmMgPSBpdGVtLnNyYzsKCQkJCX0KCgkJCQlpZiAoIHNyYyAmJiBzcmMubGVuZ3RoICkgewoJCQkJCWxpc3QgKz0gJzxsaSBkYXRhLWluZGV4PSInICsgaSArICciICB0YWJpbmRleD0iMCIgY2xhc3M9ImZhbmN5Ym94LXRodW1icy1sb2FkaW5nIj48aW1nIGRhdGEtc3JjPSInICsgc3JjICsgJyIgLz48L2xpPic7CgkJCQl9CgkJCX0pOwoKCQkJbGlzdCArPSAnPC91bD4nOwoKCQkJc2VsZi4kbGlzdCA9ICQoIGxpc3QgKS5hcHBlbmRUbyggc2VsZi4kZ3JpZCApLm9uKCdjbGljaycsICdsaScsIGZ1bmN0aW9uKCkgewoJCQkJaW5zdGFuY2UuanVtcFRvKCAkKHRoaXMpLmRhdGEoJ2luZGV4JykgKTsKCQkJfSk7CgoJCQlzZWxmLiRsaXN0LmZpbmQoICdpbWcnICkuaGlkZSgpLm9uZSgnbG9hZCcsIGZ1bmN0aW9uKCkgewoJCQkJdmFyICRwYXJlbnQJCT0gJCh0aGlzKS5wYXJlbnQoKS5yZW1vdmVDbGFzcyggJ2ZhbmN5Ym94LXRodW1icy1sb2FkaW5nJyApLAoJCQkJCXRodW1iV2lkdGgJPSAkcGFyZW50Lm91dGVyV2lkdGgoKSwKCQkJCQl0aHVtYkhlaWdodAk9ICRwYXJlbnQub3V0ZXJIZWlnaHQoKSwKCQkJCQl3aWR0aCwKCQkJCQloZWlnaHQsCgkJCQkJd2lkdGhSYXRpbywKCQkJCQloZWlnaHRSYXRpbzsKCgkJCQl3aWR0aCAgPSB0aGlzLm5hdHVyYWxXaWR0aAl8fCB0aGlzLndpZHRoOwoJCQkJaGVpZ2h0ID0gdGhpcy5uYXR1cmFsSGVpZ2h0CXx8IHRoaXMuaGVpZ2h0OwoKCQkJCS8vIENhbGN1bGF0ZSB0aHVtYm5haWwgZGltZW5zaW9uczsgY2VudGVyIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseQoJCQkJd2lkdGhSYXRpbyAgPSB3aWR0aCAgLyB0aHVtYldpZHRoOwoJCQkJaGVpZ2h0UmF0aW8gPSBoZWlnaHQgLyB0aHVtYkhlaWdodDsKCgkJCQlpZiAod2lkdGhSYXRpbyA+PSAxICYmIGhlaWdodFJhdGlvID49IDEpIHsKCQkJCQlpZiAod2lkdGhSYXRpbyA+IGhlaWdodFJhdGlvKSB7CgkJCQkJCXdpZHRoICA9IHdpZHRoIC8gaGVpZ2h0UmF0aW87CgkJCQkJCWhlaWdodCA9IHRodW1iSGVpZ2h0OwoKCQkJCQl9IGVsc2UgewoJCQkJCQl3aWR0aCAgPSB0aHVtYldpZHRoOwoJCQkJCQloZWlnaHQgPSBoZWlnaHQgLyB3aWR0aFJhdGlvOwoJCQkJCX0KCQkJCX0KCgkJCQkkKHRoaXMpLmNzcyh7CgkJCQkJd2lkdGggICAgICAgICA6IE1hdGguZmxvb3Iod2lkdGgpLAoJCQkJCWhlaWdodCAgICAgICAgOiBNYXRoLmZsb29yKGhlaWdodCksCgkJCQkJJ21hcmdpbi10b3AnICA6IGhlaWdodCA+IHRodW1iSGVpZ2h0ID8gKCBNYXRoLmZsb29yKHRodW1iSGVpZ2h0ICogMC4zIC0gaGVpZ2h0ICogMC4zICkgKSA6IE1hdGguZmxvb3IodGh1bWJIZWlnaHQgKiAwLjUgLSBoZWlnaHQgKiAwLjUgKSwKCQkJCQknbWFyZ2luLWxlZnQnIDogTWF0aC5mbG9vcih0aHVtYldpZHRoICogMC41IC0gd2lkdGggKiAwLjUgKQoJCQkJfSkuc2hvdygpOwoKCQkJfSkKCQkJLmVhY2goZnVuY3Rpb24oKSB7CgkJCQl0aGlzLnNyYyA9ICQoIHRoaXMgKS5kYXRhKCAnc3JjJyApOwoJCQl9KTsKCgkJCWlmICggc2VsZi5vcHRzLmF4aXMgPT09ICd4JyApIHsKCQkJCXNlbGYuJGxpc3Qud2lkdGgoIHBhcnNlSW50KCBzZWxmLiRncmlkLmNzcygicGFkZGluZy1yaWdodCIpICkgKyAoIGluc3RhbmNlLmdyb3VwLmxlbmd0aCAqIHNlbGYuJGxpc3QuY2hpbGRyZW4oKS5lcSgwKS5vdXRlcldpZHRoKHRydWUpICkgKyAncHgnICk7CgkJCX0KCQl9LAoKCQlmb2N1cyA6IGZ1bmN0aW9uKCBkdXJhdGlvbiApIHsKCQkJdmFyIHNlbGYgPSB0aGlzLAoJCQkJJGxpc3QgPSBzZWxmLiRsaXN0LAoJCQkJdGh1bWIsCgkJCQl0aHVtYlBvczsKCgkJCWlmICggc2VsZi5pbnN0YW5jZS5jdXJyZW50ICkgewoJCQkJdGh1bWIgPSAkbGlzdC5jaGlsZHJlbigpCgkJCQkJLnJlbW92ZUNsYXNzKCAnZmFuY3lib3gtdGh1bWJzLWFjdGl2ZScgKQoJCQkJCS5maWx0ZXIoJ1tkYXRhLWluZGV4PSInICsgc2VsZi5pbnN0YW5jZS5jdXJyZW50LmluZGV4ICArICciXScpCgkJCQkJLmFkZENsYXNzKCdmYW5jeWJveC10aHVtYnMtYWN0aXZlJyk7CgoJCQkJdGh1bWJQb3MgPSB0aHVtYi5wb3NpdGlvbigpOwoKCQkJCS8vIENoZWNrIGlmIG5lZWQgdG8gc2Nyb2xsIHRvIG1ha2UgY3VycmVudCB0aHVtYiB2aXNpYmxlCgkJCQlpZiAoIHNlbGYub3B0cy5heGlzID09PSAneScgJiYgKCB0aHVtYlBvcy50b3AgPCAwIHx8IHRodW1iUG9zLnRvcCA+ICggJGxpc3QuaGVpZ2h0KCkgLSB0aHVtYi5vdXRlckhlaWdodCgpICkgKSApIHsKCQkJCQkkbGlzdC5zdG9wKCkuYW5pbWF0ZSh7ICdzY3JvbGxUb3AnIDogJGxpc3Quc2Nyb2xsVG9wKCkgKyB0aHVtYlBvcy50b3AgfSwgZHVyYXRpb24pOwoKCQkJCX0gZWxzZSBpZiAoIHNlbGYub3B0cy5heGlzID09PSAneCcgJiYgKAoJCQkJCQl0aHVtYlBvcy5sZWZ0IDwgJGxpc3QucGFyZW50KCkuc2Nyb2xsTGVmdCgpIHx8CgkJCQkJCXRodW1iUG9zLmxlZnQgPiAoICRsaXN0LnBhcmVudCgpLnNjcm9sbExlZnQoKSArICggJGxpc3QucGFyZW50KCkud2lkdGgoKSAtIHRodW1iLm91dGVyV2lkdGgoKSApICkKCQkJCQkpCgkJCQkpIHsKCQkJCQkkbGlzdC5wYXJlbnQoKS5zdG9wKCkuYW5pbWF0ZSh7ICdzY3JvbGxMZWZ0JyA6IHRodW1iUG9zLmxlZnQgfSwgZHVyYXRpb24pOwoJCQkJfQoJCQl9CgkJfSwKCgkJdXBkYXRlIDogZnVuY3Rpb24oKSB7CgkJCXRoaXMuaW5zdGFuY2UuJHJlZnMuY29udGFpbmVyLnRvZ2dsZUNsYXNzKCAnZmFuY3lib3gtc2hvdy10aHVtYnMnLCB0aGlzLmlzVmlzaWJsZSApOwoKCQkJaWYgKCB0aGlzLmlzVmlzaWJsZSApIHsKCQkJCWlmICggIXRoaXMuJGdyaWQgKSB7CgkJCQkJdGhpcy5jcmVhdGUoKTsKCQkJCX0KCgkJCQl0aGlzLmluc3RhbmNlLnRyaWdnZXIoICdvblRodW1ic1Nob3cnICk7CgoJCQkJdGhpcy5mb2N1cyggMCApOwoKCQkJfSBlbHNlIGlmICggdGhpcy4kZ3JpZCApIHsKCQkJCXRoaXMuaW5zdGFuY2UudHJpZ2dlciggJ29uVGh1bWJzSGlkZScgKTsKCQkJfQoKCQkJLy8gVXBkYXRlIGNvbnRlbnQgcG9zaXRpb24KCQkJdGhpcy5pbnN0YW5jZS51cGRhdGUoKTsKCQl9LAoKCQloaWRlIDogZnVuY3Rpb24oKSB7CgkJCXRoaXMuaXNWaXNpYmxlID0gZmFsc2U7CgkJCXRoaXMudXBkYXRlKCk7CgkJfSwKCgkJc2hvdyA6IGZ1bmN0aW9uKCkgewoJCQl0aGlzLmlzVmlzaWJsZSA9IHRydWU7CgkJCXRoaXMudXBkYXRlKCk7CgkJfSwKCgkJdG9nZ2xlIDogZnVuY3Rpb24oKSB7CgkJCXRoaXMuaXNWaXNpYmxlID0gIXRoaXMuaXNWaXNpYmxlOwoJCQl0aGlzLnVwZGF0ZSgpOwoJCX0KCX0pOwoKCSQoZG9jdW1lbnQpLm9uKHsKCgkJJ29uSW5pdC5mYicgOiBmdW5jdGlvbihlLCBpbnN0YW5jZSkgewoJCQl2YXIgVGh1bWJzOwoKCQkJaWYgKCBpbnN0YW5jZSAmJiAhaW5zdGFuY2UuVGh1bWJzICkgewoJCQkJVGh1bWJzID0gbmV3IEZhbmN5VGh1bWJzKCBpbnN0YW5jZSApOwoKCQkJCWlmICggVGh1bWJzLmlzQWN0aXZlICYmIFRodW1icy5vcHRzLmF1dG9TdGFydCA9PT0gdHJ1ZSApIHsKCQkJCQlUaHVtYnMuc2hvdygpOwoJCQkJfQoJCQl9CgkJfSwKCgkJJ2JlZm9yZVNob3cuZmInIDogZnVuY3Rpb24oZSwgaW5zdGFuY2UsIGl0ZW0sIGZpcnN0UnVuKSB7CgkJCXZhciBUaHVtYnMgPSBpbnN0YW5jZSAmJiBpbnN0YW5jZS5UaHVtYnM7CgoJCQlpZiAoIFRodW1icyAmJiBUaHVtYnMuaXNWaXNpYmxlICkgewoJCQkJVGh1bWJzLmZvY3VzKCBmaXJzdFJ1biA/IDAgOiAyNTAgKTsKCQkJfQoJCX0sCgoJCSdhZnRlcktleWRvd24uZmInIDogZnVuY3Rpb24oZSwgaW5zdGFuY2UsIGN1cnJlbnQsIGtleXByZXNzLCBrZXljb2RlKSB7CgkJCXZhciBUaHVtYnMgPSBpbnN0YW5jZSAmJiBpbnN0YW5jZS5UaHVtYnM7CgoJCQkvLyAiRyIKCQkJaWYgKCBUaHVtYnMgJiYgVGh1bWJzLmlzQWN0aXZlICYmIGtleWNvZGUgPT09IDcxICkgewoJCQkJa2V5cHJlc3MucHJldmVudERlZmF1bHQoKTsKCgkJCQlUaHVtYnMudG9nZ2xlKCk7CgkJCX0KCQl9LAoKCQknYmVmb3JlQ2xvc2UuZmInIDogZnVuY3Rpb24oIGUsIGluc3RhbmNlICkgewoJCQl2YXIgVGh1bWJzID0gaW5zdGFuY2UgJiYgaW5zdGFuY2UuVGh1bWJzOwoKCQkJaWYgKCBUaHVtYnMgJiYgVGh1bWJzLmlzVmlzaWJsZSAmJiBUaHVtYnMub3B0cy5oaWRlT25DbG9zZSAhPT0gZmFsc2UgKSB7CgkJCQlUaHVtYnMuJGdyaWQuaGlkZSgpOwoJCQl9CgkJfQoKCX0pOwoKfShkb2N1bWVudCwgd2luZG93LmpRdWVyeSkpOwoKLy8vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQovLwovLyBTaGFyZQovLyBEaXNwbGF5cyBzaW1wbGUgZm9ybSBmb3Igc2hhcmluZyBjdXJyZW50IHVybAovLwovLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo7KGZ1bmN0aW9uIChkb2N1bWVudCwgJCkgewoJJ3VzZSBzdHJpY3QnOwoKCSQuZXh0ZW5kKHRydWUsICQuZmFuY3lib3guZGVmYXVsdHMsIHsKCQlidG5UcGwgOiB7CgkJCXNoYXJlIDoKCQkJCSc8YnV0dG9uIGRhdGEtZmFuY3lib3gtc2hhcmUgY2xhc3M9ImZhbmN5Ym94LWJ1dHRvbiBmYW5jeWJveC1idXR0b24tLXNoYXJlIiB0aXRsZT0ie3tTSEFSRX19Ij4nICsKCQkJCQknPHN2ZyB2aWV3Qm94PSIwIDAgNDAgNDAiPicgKwoJCQkJCQknPHBhdGggZD0iTTYsMzAgQzgsMTggMTksMTYgMjMsMTYgTDIzLDE2IEwyMywxMCBMMzMsMjAgTDIzLDI5IEwyMywyNCBDMTksMjQgOCwyNyA2LDMwIFoiPicgKwoJCQkJCSc8L3N2Zz4nICsKCQkJCSc8L2J1dHRvbj4nCgkJfSwKCQlzaGFyZSA6IHsKCQkJdHBsIDoKCQkJCSc8ZGl2IGNsYXNzPSJmYW5jeWJveC1zaGFyZSI+JyArCgkJCQkJJzxoMT57e1NIQVJFfX08L2gxPicgKwoJCQkJCSc8cCBjbGFzcz0iZmFuY3lib3gtc2hhcmVfX2xpbmtzIj4nICsKCQkJCQkJJzxhIGNsYXNzPSJmYW5jeWJveC1zaGFyZV9fYnV0dG9uIGZhbmN5Ym94LXNoYXJlX19idXR0b24tLWZiIiBocmVmPSJodHRwczovL3d3dy5mYWNlYm9vay5jb20vc2hhcmVyL3NoYXJlci5waHA/dT17e3VybH19Ij4nICsKCQkJCQkJCSc8c3ZnIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im0yODcgNDU2di0yOTljMC0yMSA2LTM1IDM1LTM1aDM4di02M2MtNy0xLTI5LTMtNTUtMy01NCAwLTkxIDMzLTkxIDk0djMwNm0xNDMtMjU0aC0yMDV2NzJoMTk2IiAvPjwvc3ZnPicgKwoJCQkJCQkJJzxzcGFuPkZhY2Vib29rPC9zcGFuPicgKwoJCQkJCQknPC9hPicgKwoJCQkJCQknPGEgY2xhc3M9ImZhbmN5Ym94LXNoYXJlX19idXR0b24gZmFuY3lib3gtc2hhcmVfX2J1dHRvbi0tcHQiIGhyZWY9Imh0dHBzOi8vd3d3LnBpbnRlcmVzdC5jb20vcGluL2NyZWF0ZS9idXR0b24vP3VybD17e3VybH19JmRlc2NyaXB0aW9uPXt7ZGVzY3J9fSZtZWRpYT17e21lZGlhfX0iPicgKwoJCQkJCQkJJzxzdmcgdmlld0JveD0iMCAwIDUxMiA1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTI2NSA1NmMtMTA5IDAtMTY0IDc4LTE2NCAxNDQgMCAzOSAxNSA3NCA0NyA4NyA1IDIgMTAgMCAxMi01bDQtMTljMi02IDEtOC0zLTEzLTktMTEtMTUtMjUtMTUtNDUgMC01OCA0My0xMTAgMTEzLTExMCA2MiAwIDk2IDM4IDk2IDg4IDAgNjctMzAgMTIyLTczIDEyMi0yNCAwLTQyLTE5LTM2LTQ0IDYtMjkgMjAtNjAgMjAtODEgMC0xOS0xMC0zNS0zMS0zNS0yNSAwLTQ0IDI2LTQ0IDYwIDAgMjEgNyAzNiA3IDM2bC0zMCAxMjVjLTggMzctMSA4MyAwIDg3IDAgMyA0IDQgNSAyIDItMyAzMi0zOSA0Mi03NWwxNi02NGM4IDE2IDMxIDI5IDU2IDI5IDc0IDAgMTI0LTY3IDEyNC0xNTcgMC02OS01OC0xMzItMTQ2LTEzMnoiIGZpbGw9IiNmZmYiLz48L3N2Zz4nICsKCQkJCQkJCSc8c3Bhbj5QaW50ZXJlc3Q8L3NwYW4+JyArCgkJCQkJCSc8L2E+JyArCgkJCQkJCSc8YSBjbGFzcz0iZmFuY3lib3gtc2hhcmVfX2J1dHRvbiBmYW5jeWJveC1zaGFyZV9fYnV0dG9uLS10dyIgaHJlZj0iaHR0cHM6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQ/dXJsPXt7dXJsfX0mdGV4dD17e2Rlc2NyfX0iPicgKwoJCQkJCQkJJzxzdmcgdmlld0JveD0iMCAwIDUxMiA1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTQ1NiAxMzNjLTE0IDctMzEgMTEtNDcgMTMgMTctMTAgMzAtMjcgMzctNDYtMTUgMTAtMzQgMTYtNTIgMjAtNjEtNjItMTU3LTctMTQxIDc1LTY4LTMtMTI5LTM1LTE2OS04NS0yMiAzNy0xMSA4NiAyNiAxMDktMTMgMC0yNi00LTM3LTkgMCAzOSAyOCA3MiA2NSA4MC0xMiAzLTI1IDQtMzcgMiAxMCAzMyA0MSA1NyA3NyA1Ny00MiAzMC03NyAzOC0xMjIgMzQgMTcwIDExMSAzNzgtMzIgMzU5LTIwOCAxNi0xMSAzMC0yNSA0MS00MnoiIC8+PC9zdmc+JyArCgkJCQkJCQknPHNwYW4+VHdpdHRlcjwvc3Bhbj4nICsKCQkJCQkJJzwvYT4nICsKCQkJCQknPC9wPicgKwoJCQkJCSc8cD48aW5wdXQgY2xhc3M9ImZhbmN5Ym94LXNoYXJlX19pbnB1dCIgdHlwZT0idGV4dCIgdmFsdWU9Int7dXJsX3Jhd319IiAvPjwvcD4nICsKCQkJCSc8L2Rpdj4nCgkJfQoJfSk7CgoJZnVuY3Rpb24gZXNjYXBlSHRtbChzdHJpbmcpIHsKCQl2YXIgZW50aXR5TWFwID0gewoJCSAgJyYnOiAnJmFtcDsnLAoJCSAgJzwnOiAnJmx0OycsCgkJICAnPic6ICcmZ3Q7JywKCQkgICciJzogJyZxdW90OycsCgkJICAiJyI6ICcmIzM5OycsCgkJICAnLyc6ICcmI3gyRjsnLAoJCSAgJ2AnOiAnJiN4NjA7JywKCQkgICc9JzogJyYjeDNEOycKCQl9OwoKCQlyZXR1cm4gU3RyaW5nKHN0cmluZykucmVwbGFjZSgvWyY8PiInYD1cL10vZywgZnVuY3Rpb24gKHMpIHsKCQkJcmV0dXJuIGVudGl0eU1hcFtzXTsKCQl9KTsKCX0KCgkkKGRvY3VtZW50KS5vbignY2xpY2snLCAnW2RhdGEtZmFuY3lib3gtc2hhcmVdJywgZnVuY3Rpb24oKSB7CgkJdmFyIGYgPSAkLmZhbmN5Ym94LmdldEluc3RhbmNlKCksCgkJCXVybCwKCQkJdHBsOwoKCQlpZiAoIGYgKSB7CgkJCXVybCA9IGYuY3VycmVudC5vcHRzLmhhc2ggPT09IGZhbHNlID8gZi5jdXJyZW50LnNyYyA6IHdpbmRvdy5sb2NhdGlvbjsKCQkJdHBsID0gZi5jdXJyZW50Lm9wdHMuc2hhcmUudHBsCgkJCQkJLnJlcGxhY2UoIC9ce1x7bWVkaWFcfVx9L2csIGYuY3VycmVudC50eXBlID09PSAnaW1hZ2UnID8gZW5jb2RlVVJJQ29tcG9uZW50KCBmLmN1cnJlbnQuc3JjICkgOiAnJyApCgkJCQkJLnJlcGxhY2UoIC9ce1x7dXJsXH1cfS9nLCBlbmNvZGVVUklDb21wb25lbnQoIHVybCApICkKCQkJCQkucmVwbGFjZSggL1x7XHt1cmxfcmF3XH1cfS9nLCBlc2NhcGVIdG1sKCB1cmwgKSApCgkJCQkJLnJlcGxhY2UoIC9ce1x7ZGVzY3JcfVx9L2csIGYuJGNhcHRpb24gPyBlbmNvZGVVUklDb21wb25lbnQoIGYuJGNhcHRpb24udGV4dCgpICkgOiAnJyApOwoKCQkJJC5mYW5jeWJveC5vcGVuKHsKCQkJCXNyYyAgOiBmLnRyYW5zbGF0ZSggZiwgdHBsICksCgkJCQl0eXBlIDogJ2h0bWwnLAoJCQkJb3B0cyA6IHsKCQkJCQlhbmltYXRpb25FZmZlY3QgICA6ICJmYWRlIiwKCQkJCQlhbmltYXRpb25EdXJhdGlvbiA6IDI1MCwKCQkJCQlhZnRlckxvYWQgOiBmdW5jdGlvbihpbnN0YW5jZSwgY3VycmVudCkgewoJCQkJCQkvLyBPcGVuaW5nIGxpbmtzIGluIGEgcG9wdXAgd2luZG93CgkJCQkJCWN1cnJlbnQuJGNvbnRlbnQuZmluZCgnLmZhbmN5Ym94LXNoYXJlX19saW5rcyBhJykuY2xpY2soZnVuY3Rpb24oKSB7CgkJCQkJICAgICAgICB3aW5kb3cub3Blbih0aGlzLmhyZWYsICJTaGFyZSIsICJ3aWR0aD01NTAsIGhlaWdodD00NTAiKTsKCQkJCQkgICAgICAgIHJldHVybiBmYWxzZTsKCQkJCQkJfSk7CgkJCQkJfQoJCQkJfQoJCQl9KTsKCQl9CgoJfSk7Cgp9KCBkb2N1bWVudCwgd2luZG93LmpRdWVyeSB8fCBqUXVlcnkgKSk7CgovLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQovLwovLyBIYXNoCi8vIEVuYWJsZXMgbGlua2luZyB0byBlYWNoIG1vZGFsCi8vCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjsoZnVuY3Rpb24gKGRvY3VtZW50LCB3aW5kb3csICQpIHsKCSd1c2Ugc3RyaWN0JzsKCgkvLyBTaW1wbGUgJC5lc2NhcGVTZWxlY3RvciBwb2x5ZmlsbCAoZm9yIGpRdWVyeSBwcmlvciB2MykKCWlmICggISQuZXNjYXBlU2VsZWN0b3IgKSB7CgkJJC5lc2NhcGVTZWxlY3RvciA9IGZ1bmN0aW9uKCBzZWwgKSB7CgkJCXZhciByY3NzZXNjYXBlID0gLyhbXDAtXHgxZlx4N2ZdfF4tP1xkKXxeLSR8W15ceDgwLVx1RkZGRlx3LV0vZzsKCQkJdmFyIGZjc3Nlc2NhcGUgPSBmdW5jdGlvbiggY2gsIGFzQ29kZVBvaW50ICkgewoJCQkJaWYgKCBhc0NvZGVQb2ludCApIHsKCQkJCQkvLyBVKzAwMDAgTlVMTCBiZWNvbWVzIFUrRkZGRCBSRVBMQUNFTUVOVCBDSEFSQUNURVIKCQkJCQlpZiAoIGNoID09PSAiXDAiICkgewoJCQkJCQlyZXR1cm4gIlx1RkZGRCI7CgkJCQkJfQoKCQkJCQkvLyBDb250cm9sIGNoYXJhY3RlcnMgYW5kIChkZXBlbmRlbnQgdXBvbiBwb3NpdGlvbikgbnVtYmVycyBnZXQgZXNjYXBlZCBhcyBjb2RlIHBvaW50cwoJCQkJCXJldHVybiBjaC5zbGljZSggMCwgLTEgKSArICJcXCIgKyBjaC5jaGFyQ29kZUF0KCBjaC5sZW5ndGggLSAxICkudG9TdHJpbmcoIDE2ICkgKyAiICI7CgkJCQl9CgoJCQkJLy8gT3RoZXIgcG90ZW50aWFsbHktc3BlY2lhbCBBU0NJSSBjaGFyYWN0ZXJzIGdldCBiYWNrc2xhc2gtZXNjYXBlZAoJCQkJcmV0dXJuICJcXCIgKyBjaDsKCQkJfTsKCgkJCXJldHVybiAoIHNlbCArICIiICkucmVwbGFjZSggcmNzc2VzY2FwZSwgZmNzc2VzY2FwZSApOwoJCX07Cgl9CgoJLy8gQ3JlYXRlIG5ldyBoaXN0b3J5IGVudHJ5IG9ubHkgb25jZQoJdmFyIHNob3VsZENyZWF0ZUhpc3RvcnkgPSB0cnVlOwoKCS8vIFZhcmlhYmxlIGNvbnRhaW5pbmcgbGFzdCBoYXNoIHZhbHVlIHNldCBieSBmYW5jeUJveAoJLy8gSXQgd2lsbCBiZSB1c2VkIHRvIGRldGVybWluZSBpZiBmYW5jeUJveCBuZWVkcyB0byBjbG9zZSBhZnRlciBoYXNoIGNoYW5nZSBpcyBkZXRlY3RlZAogICAgdmFyIGN1cnJlbnRIYXNoID0gbnVsbDsKCgkvLyBUaHJvdHRsaW5nIHRoZSBoaXN0b3J5IGNoYW5nZQoJdmFyIHRpbWVySUQgPSBudWxsOwoKCS8vIEdldCBpbmZvIGFib3V0IGdhbGxlcnkgbmFtZSBhbmQgY3VycmVudCBpbmRleCBmcm9tIHVybAogICAgZnVuY3Rpb24gcGFyc2VVcmwoKSB7CiAgICAgICAgdmFyIGhhc2ggICAgPSB3aW5kb3cubG9jYXRpb24uaGFzaC5zdWJzdHIoIDEgKTsKICAgICAgICB2YXIgcmV6ICAgICA9IGhhc2guc3BsaXQoICctJyApOwogICAgICAgIHZhciBpbmRleCAgID0gcmV6Lmxlbmd0aCA+IDEgJiYgL15cKz9cZCskLy50ZXN0KCByZXpbIHJlei5sZW5ndGggLSAxIF0gKSA/IHBhcnNlSW50KCByZXoucG9wKCAtMSApLCAxMCApIHx8IDEgOiAxOwogICAgICAgIHZhciBnYWxsZXJ5ID0gcmV6LmpvaW4oICctJyApOwoKCQkvLyBJbmRleCBpcyBzdGFydGluZyBmcm9tIDEKCQlpZiAoIGluZGV4IDwgMSApIHsKCQkJaW5kZXggPSAxOwoJCX0KCiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgaGFzaCAgICA6IGhhc2gsCiAgICAgICAgICAgIGluZGV4ICAgOiBpbmRleCwKICAgICAgICAgICAgZ2FsbGVyeSA6IGdhbGxlcnkKICAgICAgICB9OwogICAgfQoKCS8vIFRyaWdnZXIgY2xpY2sgZXZudCBvbiBsaW5rcyB0byBvcGVuIG5ldyBmYW5jeUJveCBpbnN0YW5jZQoJZnVuY3Rpb24gdHJpZ2dlckZyb21VcmwoIHVybCApIHsKCQl2YXIgJGVsOwoKICAgICAgICBpZiAoIHVybC5nYWxsZXJ5ICE9PSAnJyApIHsKCgkJCS8vIElmIHdlIGNhbiBmaW5kIGVsZW1lbnQgbWF0Y2hpbmcgJ2RhdGEtZmFuY3lib3gnIGF0cmlidXRlLCB0aGVuIHRyaWdnZXIgY2xpY2sgZXZlbnQgZm9yIHRoYXQgLi4KCQkJJGVsID0gJCggIltkYXRhLWZhbmN5Ym94PSciICsgJC5lc2NhcGVTZWxlY3RvciggdXJsLmdhbGxlcnkgKSArICInXSIgKS5lcSggdXJsLmluZGV4IC0gMSApOwoKICAgICAgICAgICAgaWYgKCAhJGVsLmxlbmd0aCApIHsKCQkJCS8vIC4uIGlmIG5vdCwgdHJ5IGZpbmRpbmcgZWxlbWVudCBieSBJRAoJCQkJJGVsID0gJCggIiMiICsgJC5lc2NhcGVTZWxlY3RvciggdXJsLmdhbGxlcnkgKSArICIiICk7CgkJCX0KCgkJCWlmICggJGVsLmxlbmd0aCApIHsKCQkJCXNob3VsZENyZWF0ZUhpc3RvcnkgPSBmYWxzZTsKCgkJCQkkZWwudHJpZ2dlciggJ2NsaWNrJyApOwoJCQl9CgogICAgICAgIH0KCX0KCgkvLyBHZXQgZ2FsbGVyeSBuYW1lIGZyb20gY3VycmVudCBpbnN0YW5jZQoJZnVuY3Rpb24gZ2V0R2FsbGVyeUlEKCBpbnN0YW5jZSApIHsKCQl2YXIgb3B0czsKCgkJaWYgKCAhaW5zdGFuY2UgKSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJCW9wdHMgPSBpbnN0YW5jZS5jdXJyZW50ID8gaW5zdGFuY2UuY3VycmVudC5vcHRzIDogaW5zdGFuY2Uub3B0czsKCgkJcmV0dXJuIG9wdHMuaGFzaCB8fCAoIG9wdHMuJG9yaWcgPyBvcHRzLiRvcmlnLmRhdGEoICdmYW5jeWJveCcgKSA6ICcnICApOwoJfQoKCS8vIFN0YXJ0IHdoZW4gRE9NIGJlY29tZXMgcmVhZHkKICAgICQoZnVuY3Rpb24oKSB7CgoJCS8vIENoZWNrIGlmIHVzZXIgaGFzIGRpc2FibGVkIHRoaXMgbW9kdWxlCgkJaWYgKCAkLmZhbmN5Ym94LmRlZmF1bHRzLmhhc2ggPT09IGZhbHNlICkgewoJCQlyZXR1cm47CgkJfQoKCQkvLyBVcGRhdGUgaGFzaCB3aGVuIG9wZW5pbmcvY2xvc2luZyBmYW5jeUJveAoJICAgICQoZG9jdW1lbnQpLm9uKHsKCQkJJ29uSW5pdC5mYicgOiBmdW5jdGlvbiggZSwgaW5zdGFuY2UgKSB7CgkJCQl2YXIgdXJsLCBnYWxsZXJ5OwoKCQkJCWlmICggaW5zdGFuY2UuZ3JvdXBbIGluc3RhbmNlLmN1cnJJbmRleCBdLm9wdHMuaGFzaCA9PT0gZmFsc2UgKSB7CgkJCQkJcmV0dXJuOwoJCQkJfQoKCQkJCXVybCAgICAgPSBwYXJzZVVybCgpOwoJCQkJZ2FsbGVyeSA9IGdldEdhbGxlcnlJRCggaW5zdGFuY2UgKTsKCgkJCQkvLyBNYWtlIHN1cmUgZ2FsbGVyeSBzdGFydCBpbmRleCBtYXRjaGVzIGluZGV4IGZyb20gaGFzaAoJCQkJaWYgKCBnYWxsZXJ5ICYmIHVybC5nYWxsZXJ5ICYmIGdhbGxlcnkgPT0gdXJsLmdhbGxlcnkgKSB7CgkJCQkJaW5zdGFuY2UuY3VyckluZGV4ID0gdXJsLmluZGV4IC0gMTsKCQkJCX0KCQkJfSwKCgkJCSdiZWZvcmVTaG93LmZiJyA6IGZ1bmN0aW9uKCBlLCBpbnN0YW5jZSwgY3VycmVudCApIHsKCQkJCXZhciBnYWxsZXJ5OwoKCQkJCWlmICggIWN1cnJlbnQgfHwgY3VycmVudC5vcHRzLmhhc2ggPT09IGZhbHNlICkgewoJCQkJCXJldHVybjsKCQkJCX0KCgkgICAgICAgICAgICBnYWxsZXJ5ID0gZ2V0R2FsbGVyeUlEKCBpbnN0YW5jZSApOwoKCSAgICAgICAgICAgIC8vIFVwZGF0ZSB3aW5kb3cgaGFzaAoJICAgICAgICAgICAgaWYgKCBnYWxsZXJ5ICYmIGdhbGxlcnkgIT09ICcnICkgewoKCQkJCQlpZiAoIHdpbmRvdy5sb2NhdGlvbi5oYXNoLmluZGV4T2YoIGdhbGxlcnkgKSA8IDAgKSB7CgkJICAgICAgICAgICAgICAgIGluc3RhbmNlLm9wdHMub3JpZ0hhc2ggPSB3aW5kb3cubG9jYXRpb24uaGFzaDsKCQkgICAgICAgICAgICB9CgoJCQkJCWN1cnJlbnRIYXNoID0gZ2FsbGVyeSArICggaW5zdGFuY2UuZ3JvdXAubGVuZ3RoID4gMSA/ICctJyArICggY3VycmVudC5pbmRleCArIDEgKSA6ICcnICk7CgoJCQkJCWlmICggJ3JlcGxhY2VTdGF0ZScgaW4gd2luZG93Lmhpc3RvcnkgKSB7CgkJCQkJCWlmICggdGltZXJJRCApIHsKCQkJCQkJCWNsZWFyVGltZW91dCggdGltZXJJRCApOwoJCQkJCQl9CgoJCQkJCQl0aW1lcklEID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsKCQkJCQkJCXdpbmRvdy5oaXN0b3J5WyBzaG91bGRDcmVhdGVIaXN0b3J5ID8gJ3B1c2hTdGF0ZScgOiAncmVwbGFjZVN0YXRlJyBdKCB7fSAsIGRvY3VtZW50LnRpdGxlLCB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgKyB3aW5kb3cubG9jYXRpb24uc2VhcmNoICsgJyMnICsgIGN1cnJlbnRIYXNoICk7CgoJCQkJCQkJdGltZXJJRCA9IG51bGw7CgoJCQkJCQkJc2hvdWxkQ3JlYXRlSGlzdG9yeSA9IGZhbHNlOwoKCQkJCQkJfSwgMzAwKTsKCgkJCQkJfSBlbHNlIHsKCQkJCQkJd2luZG93LmxvY2F0aW9uLmhhc2ggPSBjdXJyZW50SGFzaDsKCQkJCQl9CgoJICAgICAgICAgICAgfQoKCSAgICAgICAgfSwKCgkJCSdiZWZvcmVDbG9zZS5mYicgOiBmdW5jdGlvbiggZSwgaW5zdGFuY2UsIGN1cnJlbnQgKSB7CgkJCQl2YXIgZ2FsbGVyeSwgb3JpZ0hhc2g7CgoJCQkJaWYgKCB0aW1lcklEICkgewoJCQkJCWNsZWFyVGltZW91dCggdGltZXJJRCApOwoJCQkJfQoKCQkJCWlmICggY3VycmVudC5vcHRzLmhhc2ggPT09IGZhbHNlICkgewoJCQkJCXJldHVybjsKCQkJCX0KCgkJCQlnYWxsZXJ5ICA9IGdldEdhbGxlcnlJRCggaW5zdGFuY2UgKTsKCQkJCW9yaWdIYXNoID0gaW5zdGFuY2UgJiYgaW5zdGFuY2Uub3B0cy5vcmlnSGFzaCA/IGluc3RhbmNlLm9wdHMub3JpZ0hhc2ggOiAnJzsKCgkgICAgICAgICAgICAvLyBSZW1vdmUgaGFzaCBmcm9tIGxvY2F0aW9uIGJhcgoJICAgICAgICAgICAgaWYgKCBnYWxsZXJ5ICYmIGdhbGxlcnkgIT09ICcnICkgewoKCSAgICAgICAgICAgICAgICBpZiAoICdyZXBsYWNlU3RhdGUnIGluIGhpc3RvcnkgKSB7CgkJCQkJCXdpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZSgge30gLCBkb2N1bWVudC50aXRsZSwgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lICsgd2luZG93LmxvY2F0aW9uLnNlYXJjaCArIG9yaWdIYXNoICk7CgoJICAgICAgICAgICAgICAgIH0gZWxzZSB7CgkJCQkJCXdpbmRvdy5sb2NhdGlvbi5oYXNoID0gb3JpZ0hhc2g7CgoJCQkJCQkvLyBLZWVwIG9yaWdpbmFsIHNjcm9sbCBwb3NpdGlvbgoJCQkJCQkkKCB3aW5kb3cgKS5zY3JvbGxUb3AoIGluc3RhbmNlLnNjcm9sbFRvcCApLnNjcm9sbExlZnQoIGluc3RhbmNlLnNjcm9sbExlZnQgKTsKCSAgICAgICAgICAgICAgICB9CgkgICAgICAgICAgICB9CgoJCQkJY3VycmVudEhhc2ggPSBudWxsOwoJICAgICAgICB9CgkgICAgfSk7CgoJCS8vIENoZWNrIGlmIG5lZWQgdG8gY2xvc2UgYWZ0ZXIgdXJsIGhhcyBjaGFuZ2VkCgkJJCh3aW5kb3cpLm9uKCdoYXNoY2hhbmdlLmZiJywgZnVuY3Rpb24oKSB7CgkJCXZhciB1cmwgPSBwYXJzZVVybCgpOwoKCQkJaWYgKCAkLmZhbmN5Ym94LmdldEluc3RhbmNlKCkgKSB7CgkJCQlpZiAoIGN1cnJlbnRIYXNoICYmIGN1cnJlbnRIYXNoICE9PSB1cmwuZ2FsbGVyeSArICctJyArIHVybC5pbmRleCAmJiAhKCB1cmwuaW5kZXggPT09IDEgJiYgY3VycmVudEhhc2ggPT0gdXJsLmdhbGxlcnkgKSApIHsKCQkJCQljdXJyZW50SGFzaCA9IG51bGw7CgoJCQkJCSQuZmFuY3lib3guY2xvc2UoKTsKCQkJCX0KCgkJCX0gZWxzZSBpZiAoIHVybC5nYWxsZXJ5ICE9PSAnJyApIHsKCQkJCXRyaWdnZXJGcm9tVXJsKCB1cmwgKTsKCQkJfQoJCX0pOwoKCQkvLyBDaGVjayBjdXJyZW50IGhhc2ggYW5kIHRyaWdnZXIgY2xpY2sgZXZlbnQgb24gbWF0Y2hpbmcgZWxlbWVudCB0byBzdGFydCBmYW5jeUJveCwgaWYgbmVlZGVkCgkJc2V0VGltZW91dChmdW5jdGlvbigpIHsKCQkJdHJpZ2dlckZyb21VcmwoIHBhcnNlVXJsKCkgKTsKCQl9LCA1MCk7CiAgICB9KTsKCn0oIGRvY3VtZW50LCB3aW5kb3csIHdpbmRvdy5qUXVlcnkgfHwgalF1ZXJ5ICkpOwoKOyhmdW5jdGlvbiAoZG9jdW1lbnQsICQpIHsKCSd1c2Ugc3RyaWN0JzsKCgl2YXIgcHJldlRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTsKCiAgICAkKGRvY3VtZW50KS5vbih7CiAgICAgICAgJ29uSW5pdC5mYicgOiBmdW5jdGlvbiggZSwgaW5zdGFuY2UsIGN1cnJlbnQgKSB7CgkJCWluc3RhbmNlLiRyZWZzLnN0YWdlLm9uKCdtb3VzZXdoZWVsIERPTU1vdXNlU2Nyb2xsIHdoZWVsIE1vek1vdXNlUGl4ZWxTY3JvbGwnLCBmdW5jdGlvbihlKSB7CgkJCQl2YXIgY3VycmVudCAgPSBpbnN0YW5jZS5jdXJyZW50LAoJCQkJCWN1cnJUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7CgoJCQkJaWYgKCBpbnN0YW5jZS5ncm91cC5sZW5ndGggPCAxIHx8IGN1cnJlbnQub3B0cy53aGVlbCA9PT0gZmFsc2UgfHwgKCBjdXJyZW50Lm9wdHMud2hlZWwgPT09ICdhdXRvJyAmJiBjdXJyZW50LnR5cGUgIT09ICdpbWFnZScgKSApIHsKCQkJCQlyZXR1cm47CgkJCQl9CgoJCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQkJZS5zdG9wUHJvcGFnYXRpb24oKTsKCgkJCQlpZiAoIGN1cnJlbnQuJHNsaWRlLmhhc0NsYXNzKCAnZmFuY3lib3gtYW5pbWF0ZWQnICkgKSB7CgkJCQkJcmV0dXJuOwoJCQkJfQoKCQkJCWUgPSBlLm9yaWdpbmFsRXZlbnQgfHwgZTsKCgkJCQlpZiAoIGN1cnJUaW1lIC0gcHJldlRpbWUgPCAyNTAgKSB7CgkJCQkJcmV0dXJuOwoJCQkJfQoKCQkJCXByZXZUaW1lID0gY3VyclRpbWU7CgoJCQkJaW5zdGFuY2VbICggLWUuZGVsdGFZIHx8IC1lLmRlbHRhWCB8fCBlLndoZWVsRGVsdGEgfHwgLWUuZGV0YWlsICkgPCAwID8gJ25leHQnIDogJ3ByZXZpb3VzJyBdKCk7CgoJCQl9KTsKCQl9CiAgICB9KTsKCn0oIGRvY3VtZW50LCB3aW5kb3cualF1ZXJ5IHx8IGpRdWVyeSApKTsK"}},"time_used":55,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":49,"receive":6,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"static.cryptohopper.com/widgets/assets/public/js/jquery-3.3.1.min.js","fqdn":"static.cryptohopper.com","domain":"cryptohopper.com","tld":"com"},"ip":{"addr":"172.66.153.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:52.104Z","timestamp":1785123232104,"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":"cryptohopper.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 30 May 2026 04:15:50 GMT","end":"Fri, 28 Aug 2026 05:15:20 GMT"},"fingerprint":{"sha1":"76:C3:06:CF:AB:6D:33:4E:AE:DF:C4:54:C2:1D:03:D4:CF:1B:9C:A3","sha256":"10:12:9C:D7:A2:4D:11:94:F2:85:64:80:13:42:3F:4D:AF:06:BA:15:05:A8:C2:4D:43:D3:AB:5A:DE:02:6E:BA"}}},"request":{"raw":"GET /widgets/assets/public/js/jquery-3.3.1.min.js HTTP/1.1\r\nHost: static.cryptohopper.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://agilitetrade.com/\r\nCookie: widgets_csrf_cookie_name=c05588fb9c82dab23afba686b9a973b9; ci_session=cto3o5dhrgcl50up7to7u584adbmu7e7\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\ncontent-type: application/javascript\r\ndate: Mon, 27 Jul 2026 03:33:52 GMT\r\nlast-modified: Wed, 12 Aug 2020 10:33:35 GMT\r\nserver: cloudflare\r\ncontent-encoding: gzip\r\netag: \"378087a64e1394fc51f300bb9c11878c\"\r\nvary: Accept-Encoding, Origin\r\nx-cache: Miss from cloudfront\r\nvia: 1.1 427223a5cf0279be9aff8026c0c303a0.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: CPH50-P2\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-amz-cf-id: GMeK0zknmF-w6Cl7nrqz2aw9anIjzG8pRQbFx1qqpAdboiXnOaKerQ==\r\nx-xss-protection: 1; mode=block\r\nx-frame-options: SAMEORIGIN\r\nreferrer-policy: strict-origin-when-cross-origin\r\ncontent-security-policy: default-src 'self'; script-src 'self'; frame-ancestors 'none';\r\nx-content-type-options: nosniff\r\nstrict-transport-security: max-age=31536000\r\ncf-cache-status: HIT\r\npriority: u=3,i=?0\r\nage: 4743\r\ncache-control: max-age=14400\r\ncf-ray: a21895c8bc865684-OSL\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":86929,"size_decoded":31819,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (65450), with CRLF line terminators","md5":"378087a64e1394fc51f300bb9c11878c","sha1":"0c3192b500a4fd550e483cf77a49806a5872185b","sha256":"4fe68fa216176e6d1f4580e924bafecc9f519984ecc06b1a840a08b0d88c95de","sha512":"9a2c70516ea0c8c37c7f072f214de0afd5ddeb643c6b5d3fa8ade3ef8d2ce40bdf8b1b1194bad296e9075562701ee7dae48b18144b1cd2d735328be5a3accbe6","ssdeep":"1536:aLiBdiaWLOczCmZx6+VWuGzQNOzdn6x2RZd9SEnk9HB96c9Yo/NWLbVj3kC6ta:+kn6x2xe9NK6nC6E","tlshash":"208319dd72c6b06247ab71ba00bf550bf2361999684d4410f129e4eabc74b4e823bf7d","first_seen":"2023-03-07T01:03:32Z","last_seen":"2026-07-27T05:15:10.116545Z","times_seen":5751,"resource_available":true,"data":"LyohIGpRdWVyeSB2My4zLjEgfCAoYykgSlMgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzIHwganF1ZXJ5Lm9yZy9saWNlbnNlICovDQohZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9ZS5kb2N1bWVudD90KGUsITApOmZ1bmN0aW9uKGUpe2lmKCFlLmRvY3VtZW50KXRocm93IG5ldyBFcnJvcigialF1ZXJ5IHJlcXVpcmVzIGEgd2luZG93IHdpdGggYSBkb2N1bWVudCIpO3JldHVybiB0KGUpfTp0KGUpfSgidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6dGhpcyxmdW5jdGlvbihlLHQpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1bXSxyPWUuZG9jdW1lbnQsaT1PYmplY3QuZ2V0UHJvdG90eXBlT2Ysbz1uLnNsaWNlLGE9bi5jb25jYXQscz1uLnB1c2gsdT1uLmluZGV4T2YsbD17fSxjPWwudG9TdHJpbmcsZj1sLmhhc093blByb3BlcnR5LHA9Zi50b1N0cmluZyxkPXAuY2FsbChPYmplY3QpLGg9e30sZz1mdW5jdGlvbiBlKHQpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0JiYibnVtYmVyIiE9dHlwZW9mIHQubm9kZVR5cGV9LHk9ZnVuY3Rpb24gZSh0KXtyZXR1cm4gbnVsbCE9dCYmdD09PXQud2luZG93fSx2PXt0eXBlOiEwLHNyYzohMCxub01vZHVsZTohMH07ZnVuY3Rpb24gbShlLHQsbil7dmFyIGksbz0odD10fHxyKS5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtpZihvLnRleHQ9ZSxuKWZvcihpIGluIHYpbltpXSYmKG9baV09bltpXSk7dC5oZWFkLmFwcGVuZENoaWxkKG8pLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobyl9ZnVuY3Rpb24geChlKXtyZXR1cm4gbnVsbD09ZT9lKyIiOiJvYmplY3QiPT10eXBlb2YgZXx8ImZ1bmN0aW9uIj09dHlwZW9mIGU/bFtjLmNhbGwoZSldfHwib2JqZWN0Ijp0eXBlb2YgZX12YXIgYj0iMy4zLjEiLHc9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbmV3IHcuZm4uaW5pdChlLHQpfSxUPS9eW1xzXHVGRUZGXHhBMF0rfFtcc1x1RkVGRlx4QTBdKyQvZzt3LmZuPXcucHJvdG90eXBlPXtqcXVlcnk6IjMuMy4xIixjb25zdHJ1Y3Rvcjp3LGxlbmd0aDowLHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gby5jYWxsKHRoaXMpfSxnZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWU/by5jYWxsKHRoaXMpOmU8MD90aGlzW2UrdGhpcy5sZW5ndGhdOnRoaXNbZV19LHB1c2hTdGFjazpmdW5jdGlvbihlKXt2YXIgdD13Lm1lcmdlKHRoaXMuY29uc3RydWN0b3IoKSxlKTtyZXR1cm4gdC5wcmV2T2JqZWN0PXRoaXMsdH0sZWFjaDpmdW5jdGlvbihlKXtyZXR1cm4gdy5lYWNoKHRoaXMsZSl9LG1hcDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sody5tYXAodGhpcyxmdW5jdGlvbih0LG4pe3JldHVybiBlLmNhbGwodCxuLHQpfSkpfSxzbGljZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhvLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9LGZpcnN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoMCl9LGxhc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgtMSl9LGVxOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMubGVuZ3RoLG49K2UrKGU8MD90OjApO3JldHVybiB0aGlzLnB1c2hTdGFjayhuPj0wJiZuPHQ/W3RoaXNbbl1dOltdKX0sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHJldk9iamVjdHx8dGhpcy5jb25zdHJ1Y3RvcigpfSxwdXNoOnMsc29ydDpuLnNvcnQsc3BsaWNlOm4uc3BsaWNlfSx3LmV4dGVuZD13LmZuLmV4dGVuZD1mdW5jdGlvbigpe3ZhciBlLHQsbixyLGksbyxhPWFyZ3VtZW50c1swXXx8e30scz0xLHU9YXJndW1lbnRzLmxlbmd0aCxsPSExO2ZvcigiYm9vbGVhbiI9PXR5cGVvZiBhJiYobD1hLGE9YXJndW1lbnRzW3NdfHx7fSxzKyspLCJvYmplY3QiPT10eXBlb2YgYXx8ZyhhKXx8KGE9e30pLHM9PT11JiYoYT10aGlzLHMtLSk7czx1O3MrKylpZihudWxsIT0oZT1hcmd1bWVudHNbc10pKWZvcih0IGluIGUpbj1hW3RdLGEhPT0ocj1lW3RdKSYmKGwmJnImJih3LmlzUGxhaW5PYmplY3Qocil8fChpPUFycmF5LmlzQXJyYXkocikpKT8oaT8oaT0hMSxvPW4mJkFycmF5LmlzQXJyYXkobik/bjpbXSk6bz1uJiZ3LmlzUGxhaW5PYmplY3Qobik/bjp7fSxhW3RdPXcuZXh0ZW5kKGwsbyxyKSk6dm9pZCAwIT09ciYmKGFbdF09cikpO3JldHVybiBhfSx3LmV4dGVuZCh7ZXhwYW5kbzoialF1ZXJ5IisoIjMuMy4xIitNYXRoLnJhbmRvbSgpKS5yZXBsYWNlKC9cRC9nLCIiKSxpc1JlYWR5OiEwLGVycm9yOmZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcihlKX0sbm9vcDpmdW5jdGlvbigpe30saXNQbGFpbk9iamVjdDpmdW5jdGlvbihlKXt2YXIgdCxuO3JldHVybiEoIWV8fCJbb2JqZWN0IE9iamVjdF0iIT09Yy5jYWxsKGUpKSYmKCEodD1pKGUpKXx8ImZ1bmN0aW9uIj09dHlwZW9mKG49Zi5jYWxsKHQsImNvbnN0cnVjdG9yIikmJnQuY29uc3RydWN0b3IpJiZwLmNhbGwobik9PT1kKX0saXNFbXB0eU9iamVjdDpmdW5jdGlvbihlKXt2YXIgdDtmb3IodCBpbiBlKXJldHVybiExO3JldHVybiEwfSxnbG9iYWxFdmFsOmZ1bmN0aW9uKGUpe20oZSl9LGVhY2g6ZnVuY3Rpb24oZSx0KXt2YXIgbixyPTA7aWYoQyhlKSl7Zm9yKG49ZS5sZW5ndGg7cjxuO3IrKylpZighMT09PXQuY2FsbChlW3JdLHIsZVtyXSkpYnJlYWt9ZWxzZSBmb3IociBpbiBlKWlmKCExPT09dC5jYWxsKGVbcl0scixlW3JdKSlicmVhaztyZXR1cm4gZX0sdHJpbTpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT8iIjooZSsiIikucmVwbGFjZShULCIiKX0sbWFrZUFycmF5OmZ1bmN0aW9uKGUsdCl7dmFyIG49dHx8W107cmV0dXJuIG51bGwhPWUmJihDKE9iamVjdChlKSk/dy5tZXJnZShuLCJzdHJpbmciPT10eXBlb2YgZT9bZV06ZSk6cy5jYWxsKG4sZSkpLG59LGluQXJyYXk6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBudWxsPT10Py0xOnUuY2FsbCh0LGUsbil9LG1lcmdlOmZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPSt0Lmxlbmd0aCxyPTAsaT1lLmxlbmd0aDtyPG47cisrKWVbaSsrXT10W3JdO3JldHVybiBlLmxlbmd0aD1pLGV9LGdyZXA6ZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgcixpPVtdLG89MCxhPWUubGVuZ3RoLHM9IW47bzxhO28rKykocj0hdChlW29dLG8pKSE9PXMmJmkucHVzaChlW29dKTtyZXR1cm4gaX0sbWFwOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG89MCxzPVtdO2lmKEMoZSkpZm9yKHI9ZS5sZW5ndGg7bzxyO28rKyludWxsIT0oaT10KGVbb10sbyxuKSkmJnMucHVzaChpKTtlbHNlIGZvcihvIGluIGUpbnVsbCE9KGk9dChlW29dLG8sbikpJiZzLnB1c2goaSk7cmV0dXJuIGEuYXBwbHkoW10scyl9LGd1aWQ6MSxzdXBwb3J0Omh9KSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYody5mbltTeW1ib2wuaXRlcmF0b3JdPW5bU3ltYm9sLml0ZXJhdG9yXSksdy5lYWNoKCJCb29sZWFuIE51bWJlciBTdHJpbmcgRnVuY3Rpb24gQXJyYXkgRGF0ZSBSZWdFeHAgT2JqZWN0IEVycm9yIFN5bWJvbCIuc3BsaXQoIiAiKSxmdW5jdGlvbihlLHQpe2xbIltvYmplY3QgIit0KyJdIl09dC50b0xvd2VyQ2FzZSgpfSk7ZnVuY3Rpb24gQyhlKXt2YXIgdD0hIWUmJiJsZW5ndGgiaW4gZSYmZS5sZW5ndGgsbj14KGUpO3JldHVybiFnKGUpJiYheShlKSYmKCJhcnJheSI9PT1ufHwwPT09dHx8Im51bWJlciI9PXR5cGVvZiB0JiZ0PjAmJnQtMSBpbiBlKX12YXIgRT1mdW5jdGlvbihlKXt2YXIgdCxuLHIsaSxvLGEscyx1LGwsYyxmLHAsZCxoLGcseSx2LG0seCxiPSJzaXp6bGUiKzEqbmV3IERhdGUsdz1lLmRvY3VtZW50LFQ9MCxDPTAsRT1hZSgpLGs9YWUoKSxTPWFlKCksRD1mdW5jdGlvbihlLHQpe3JldHVybiBlPT09dCYmKGY9ITApLDB9LE49e30uaGFzT3duUHJvcGVydHksQT1bXSxqPUEucG9wLHE9QS5wdXNoLEw9QS5wdXNoLEg9QS5zbGljZSxPPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPTAscj1lLmxlbmd0aDtuPHI7bisrKWlmKGVbbl09PT10KXJldHVybiBuO3JldHVybi0xfSxQPSJjaGVja2VkfHNlbGVjdGVkfGFzeW5jfGF1dG9mb2N1c3xhdXRvcGxheXxjb250cm9sc3xkZWZlcnxkaXNhYmxlZHxoaWRkZW58aXNtYXB8bG9vcHxtdWx0aXBsZXxvcGVufHJlYWRvbmx5fHJlcXVpcmVkfHNjb3BlZCIsTT0iW1xceDIwXFx0XFxyXFxuXFxmXSIsUj0iKD86XFxcXC58W1xcdy1dfFteXDAtXFx4YTBdKSsiLEk9IlxcWyIrTSsiKigiK1IrIikoPzoiK00rIiooWypeJHwhfl0/PSkiK00rIiooPzonKCg/OlxcXFwufFteXFxcXCddKSopJ3xcIigoPzpcXFxcLnxbXlxcXFxcIl0pKilcInwoIitSKyIpKXwpIitNKyIqXFxdIixXPSI6KCIrUisiKSg/OlxcKCgoJygoPzpcXFxcLnxbXlxcXFwnXSkqKSd8XCIoKD86XFxcXC58W15cXFxcXCJdKSopXCIpfCgoPzpcXFxcLnxbXlxcXFwoKVtcXF1dfCIrSSsiKSopfC4qKVxcKXwpIiwkPW5ldyBSZWdFeHAoTSsiKyIsImciKSxCPW5ldyBSZWdFeHAoIl4iK00rIit8KCg/Ol58W15cXFxcXSkoPzpcXFxcLikqKSIrTSsiKyQiLCJnIiksRj1uZXcgUmVnRXhwKCJeIitNKyIqLCIrTSsiKiIpLF89bmV3IFJlZ0V4cCgiXiIrTSsiKihbPit+XXwiK00rIikiK00rIioiKSx6PW5ldyBSZWdFeHAoIj0iK00rIiooW15cXF0nXCJdKj8pIitNKyIqXFxdIiwiZyIpLFg9bmV3IFJlZ0V4cChXKSxVPW5ldyBSZWdFeHAoIl4iK1IrIiQiKSxWPXtJRDpuZXcgUmVnRXhwKCJeIygiK1IrIikiKSxDTEFTUzpuZXcgUmVnRXhwKCJeXFwuKCIrUisiKSIpLFRBRzpuZXcgUmVnRXhwKCJeKCIrUisifFsqXSkiKSxBVFRSOm5ldyBSZWdFeHAoIl4iK0kpLFBTRVVETzpuZXcgUmVnRXhwKCJeIitXKSxDSElMRDpuZXcgUmVnRXhwKCJeOihvbmx5fGZpcnN0fGxhc3R8bnRofG50aC1sYXN0KS0oY2hpbGR8b2YtdHlwZSkoPzpcXCgiK00rIiooZXZlbnxvZGR8KChbKy1dfCkoXFxkKilufCkiK00rIiooPzooWystXXwpIitNKyIqKFxcZCspfCkpIitNKyIqXFwpfCkiLCJpIiksYm9vbDpuZXcgUmVnRXhwKCJeKD86IitQKyIpJCIsImkiKSxuZWVkc0NvbnRleHQ6bmV3IFJlZ0V4cCgiXiIrTSsiKls+K35dfDooZXZlbnxvZGR8ZXF8Z3R8bHR8bnRofGZpcnN0fGxhc3QpKD86XFwoIitNKyIqKCg/Oi1cXGQpP1xcZCopIitNKyIqXFwpfCkoPz1bXi1dfCQpIiwiaSIpfSxHPS9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGJ1dHRvbikkL2ksWT0vXmhcZCQvaSxRPS9eW157XStce1xzKlxbbmF0aXZlIFx3LyxKPS9eKD86IyhbXHctXSspfChcdyspfFwuKFtcdy1dKykpJC8sSz0vWyt+XS8sWj1uZXcgUmVnRXhwKCJcXFxcKFtcXGRhLWZdezEsNn0iK00rIj98KCIrTSsiKXwuKSIsImlnIiksZWU9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPSIweCIrdC02NTUzNjtyZXR1cm4gciE9PXJ8fG4/dDpyPDA/U3RyaW5nLmZyb21DaGFyQ29kZShyKzY1NTM2KTpTdHJpbmcuZnJvbUNoYXJDb2RlKHI+PjEwfDU1Mjk2LDEwMjMmcnw1NjMyMCl9LHRlPS8oW1wwLVx4MWZceDdmXXxeLT9cZCl8Xi0kfFteXDAtXHgxZlx4N2YtXHVGRkZGXHctXS9nLG5lPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQ/IlwwIj09PWU/Ilx1ZmZmZCI6ZS5zbGljZSgwLC0xKSsiXFwiK2UuY2hhckNvZGVBdChlLmxlbmd0aC0xKS50b1N0cmluZygxNikrIiAiOiJcXCIrZX0scmU9ZnVuY3Rpb24oKXtwKCl9LGllPW1lKGZ1bmN0aW9uKGUpe3JldHVybiEwPT09ZS5kaXNhYmxlZCYmKCJmb3JtImluIGV8fCJsYWJlbCJpbiBlKX0se2RpcjoicGFyZW50Tm9kZSIsbmV4dDoibGVnZW5kIn0pO3RyeXtMLmFwcGx5KEE9SC5jYWxsKHcuY2hpbGROb2Rlcyksdy5jaGlsZE5vZGVzKSxBW3cuY2hpbGROb2Rlcy5sZW5ndGhdLm5vZGVUeXBlfWNhdGNoKGUpe0w9e2FwcGx5OkEubGVuZ3RoP2Z1bmN0aW9uKGUsdCl7cS5hcHBseShlLEguY2FsbCh0KSl9OmZ1bmN0aW9uKGUsdCl7dmFyIG49ZS5sZW5ndGgscj0wO3doaWxlKGVbbisrXT10W3IrK10pO2UubGVuZ3RoPW4tMX19fWZ1bmN0aW9uIG9lKGUsdCxyLGkpe3ZhciBvLHMsbCxjLGYsaCx2LG09dCYmdC5vd25lckRvY3VtZW50LFQ9dD90Lm5vZGVUeXBlOjk7aWYocj1yfHxbXSwic3RyaW5nIiE9dHlwZW9mIGV8fCFlfHwxIT09VCYmOSE9PVQmJjExIT09VClyZXR1cm4gcjtpZighaSYmKCh0P3Qub3duZXJEb2N1bWVudHx8dDp3KSE9PWQmJnAodCksdD10fHxkLGcpKXtpZigxMSE9PVQmJihmPUouZXhlYyhlKSkpaWYobz1mWzFdKXtpZig5PT09VCl7aWYoIShsPXQuZ2V0RWxlbWVudEJ5SWQobykpKXJldHVybiByO2lmKGwuaWQ9PT1vKXJldHVybiByLnB1c2gobCkscn1lbHNlIGlmKG0mJihsPW0uZ2V0RWxlbWVudEJ5SWQobykpJiZ4KHQsbCkmJmwuaWQ9PT1vKXJldHVybiByLnB1c2gobCkscn1lbHNle2lmKGZbMl0pcmV0dXJuIEwuYXBwbHkocix0LmdldEVsZW1lbnRzQnlUYWdOYW1lKGUpKSxyO2lmKChvPWZbM10pJiZuLmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSlyZXR1cm4gTC5hcHBseShyLHQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShvKSkscn1pZihuLnFzYSYmIVNbZSsiICJdJiYoIXl8fCF5LnRlc3QoZSkpKXtpZigxIT09VCltPXQsdj1lO2Vsc2UgaWYoIm9iamVjdCIhPT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpeyhjPXQuZ2V0QXR0cmlidXRlKCJpZCIpKT9jPWMucmVwbGFjZSh0ZSxuZSk6dC5zZXRBdHRyaWJ1dGUoImlkIixjPWIpLHM9KGg9YShlKSkubGVuZ3RoO3doaWxlKHMtLSloW3NdPSIjIitjKyIgIit2ZShoW3NdKTt2PWguam9pbigiLCIpLG09Sy50ZXN0KGUpJiZnZSh0LnBhcmVudE5vZGUpfHx0fWlmKHYpdHJ5e3JldHVybiBMLmFwcGx5KHIsbS5xdWVyeVNlbGVjdG9yQWxsKHYpKSxyfWNhdGNoKGUpe31maW5hbGx5e2M9PT1iJiZ0LnJlbW92ZUF0dHJpYnV0ZSgiaWQiKX19fXJldHVybiB1KGUucmVwbGFjZShCLCIkMSIpLHQscixpKX1mdW5jdGlvbiBhZSgpe3ZhciBlPVtdO2Z1bmN0aW9uIHQobixpKXtyZXR1cm4gZS5wdXNoKG4rIiAiKT5yLmNhY2hlTGVuZ3RoJiZkZWxldGUgdFtlLnNoaWZ0KCldLHRbbisiICJdPWl9cmV0dXJuIHR9ZnVuY3Rpb24gc2UoZSl7cmV0dXJuIGVbYl09ITAsZX1mdW5jdGlvbiB1ZShlKXt2YXIgdD1kLmNyZWF0ZUVsZW1lbnQoImZpZWxkc2V0Iik7dHJ5e3JldHVybiEhZSh0KX1jYXRjaChlKXtyZXR1cm4hMX1maW5hbGx5e3QucGFyZW50Tm9kZSYmdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpLHQ9bnVsbH19ZnVuY3Rpb24gbGUoZSx0KXt2YXIgbj1lLnNwbGl0KCJ8IiksaT1uLmxlbmd0aDt3aGlsZShpLS0pci5hdHRySGFuZGxlW25baV1dPXR9ZnVuY3Rpb24gY2UoZSx0KXt2YXIgbj10JiZlLHI9biYmMT09PWUubm9kZVR5cGUmJjE9PT10Lm5vZGVUeXBlJiZlLnNvdXJjZUluZGV4LXQuc291cmNlSW5kZXg7aWYocilyZXR1cm4gcjtpZihuKXdoaWxlKG49bi5uZXh0U2libGluZylpZihuPT09dClyZXR1cm4tMTtyZXR1cm4gZT8xOi0xfWZ1bmN0aW9uIGZlKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4iaW5wdXQiPT09dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpJiZ0LnR5cGU9PT1lfX1mdW5jdGlvbiBwZShlKXtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIG49dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybigiaW5wdXQiPT09bnx8ImJ1dHRvbiI9PT1uKSYmdC50eXBlPT09ZX19ZnVuY3Rpb24gZGUoZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiJmb3JtImluIHQ/dC5wYXJlbnROb2RlJiYhMT09PXQuZGlzYWJsZWQ/ImxhYmVsImluIHQ/ImxhYmVsImluIHQucGFyZW50Tm9kZT90LnBhcmVudE5vZGUuZGlzYWJsZWQ9PT1lOnQuZGlzYWJsZWQ9PT1lOnQuaXNEaXNhYmxlZD09PWV8fHQuaXNEaXNhYmxlZCE9PSFlJiZpZSh0KT09PWU6dC5kaXNhYmxlZD09PWU6ImxhYmVsImluIHQmJnQuZGlzYWJsZWQ9PT1lfX1mdW5jdGlvbiBoZShlKXtyZXR1cm4gc2UoZnVuY3Rpb24odCl7cmV0dXJuIHQ9K3Qsc2UoZnVuY3Rpb24obixyKXt2YXIgaSxvPWUoW10sbi5sZW5ndGgsdCksYT1vLmxlbmd0aDt3aGlsZShhLS0pbltpPW9bYV1dJiYobltpXT0hKHJbaV09bltpXSkpfSl9KX1mdW5jdGlvbiBnZShlKXtyZXR1cm4gZSYmInVuZGVmaW5lZCIhPXR5cGVvZiBlLmdldEVsZW1lbnRzQnlUYWdOYW1lJiZlfW49b2Uuc3VwcG9ydD17fSxvPW9lLmlzWE1MPWZ1bmN0aW9uKGUpe3ZhciB0PWUmJihlLm93bmVyRG9jdW1lbnR8fGUpLmRvY3VtZW50RWxlbWVudDtyZXR1cm4hIXQmJiJIVE1MIiE9PXQubm9kZU5hbWV9LHA9b2Uuc2V0RG9jdW1lbnQ9ZnVuY3Rpb24oZSl7dmFyIHQsaSxhPWU/ZS5vd25lckRvY3VtZW50fHxlOnc7cmV0dXJuIGEhPT1kJiY5PT09YS5ub2RlVHlwZSYmYS5kb2N1bWVudEVsZW1lbnQ/KGQ9YSxoPWQuZG9jdW1lbnRFbGVtZW50LGc9IW8oZCksdyE9PWQmJihpPWQuZGVmYXVsdFZpZXcpJiZpLnRvcCE9PWkmJihpLmFkZEV2ZW50TGlzdGVuZXI/aS5hZGRFdmVudExpc3RlbmVyKCJ1bmxvYWQiLHJlLCExKTppLmF0dGFjaEV2ZW50JiZpLmF0dGFjaEV2ZW50KCJvbnVubG9hZCIscmUpKSxuLmF0dHJpYnV0ZXM9dWUoZnVuY3Rpb24oZSl7cmV0dXJuIGUuY2xhc3NOYW1lPSJpIiwhZS5nZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIpfSksbi5nZXRFbGVtZW50c0J5VGFnTmFtZT11ZShmdW5jdGlvbihlKXtyZXR1cm4gZS5hcHBlbmRDaGlsZChkLmNyZWF0ZUNvbW1lbnQoIiIpKSwhZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aH0pLG4uZ2V0RWxlbWVudHNCeUNsYXNzTmFtZT1RLnRlc3QoZC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKSxuLmdldEJ5SWQ9dWUoZnVuY3Rpb24oZSl7cmV0dXJuIGguYXBwZW5kQ2hpbGQoZSkuaWQ9YiwhZC5nZXRFbGVtZW50c0J5TmFtZXx8IWQuZ2V0RWxlbWVudHNCeU5hbWUoYikubGVuZ3RofSksbi5nZXRCeUlkPyhyLmZpbHRlci5JRD1mdW5jdGlvbihlKXt2YXIgdD1lLnJlcGxhY2UoWixlZSk7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBlLmdldEF0dHJpYnV0ZSgiaWQiKT09PXR9fSxyLmZpbmQuSUQ9ZnVuY3Rpb24oZSx0KXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIHQuZ2V0RWxlbWVudEJ5SWQmJmcpe3ZhciBuPXQuZ2V0RWxlbWVudEJ5SWQoZSk7cmV0dXJuIG4/W25dOltdfX0pOihyLmZpbHRlci5JRD1mdW5jdGlvbihlKXt2YXIgdD1lLnJlcGxhY2UoWixlZSk7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBuPSJ1bmRlZmluZWQiIT10eXBlb2YgZS5nZXRBdHRyaWJ1dGVOb2RlJiZlLmdldEF0dHJpYnV0ZU5vZGUoImlkIik7cmV0dXJuIG4mJm4udmFsdWU9PT10fX0sci5maW5kLklEPWZ1bmN0aW9uKGUsdCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB0LmdldEVsZW1lbnRCeUlkJiZnKXt2YXIgbixyLGksbz10LmdldEVsZW1lbnRCeUlkKGUpO2lmKG8pe2lmKChuPW8uZ2V0QXR0cmlidXRlTm9kZSgiaWQiKSkmJm4udmFsdWU9PT1lKXJldHVybltvXTtpPXQuZ2V0RWxlbWVudHNCeU5hbWUoZSkscj0wO3doaWxlKG89aVtyKytdKWlmKChuPW8uZ2V0QXR0cmlidXRlTm9kZSgiaWQiKSkmJm4udmFsdWU9PT1lKXJldHVybltvXX1yZXR1cm5bXX19KSxyLmZpbmQuVEFHPW4uZ2V0RWxlbWVudHNCeVRhZ05hbWU/ZnVuY3Rpb24oZSx0KXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIHQuZ2V0RWxlbWVudHNCeVRhZ05hbWU/dC5nZXRFbGVtZW50c0J5VGFnTmFtZShlKTpuLnFzYT90LnF1ZXJ5U2VsZWN0b3JBbGwoZSk6dm9pZCAwfTpmdW5jdGlvbihlLHQpe3ZhciBuLHI9W10saT0wLG89dC5nZXRFbGVtZW50c0J5VGFnTmFtZShlKTtpZigiKiI9PT1lKXt3aGlsZShuPW9baSsrXSkxPT09bi5ub2RlVHlwZSYmci5wdXNoKG4pO3JldHVybiByfXJldHVybiBvfSxyLmZpbmQuQ0xBU1M9bi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lJiZmdW5jdGlvbihlLHQpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgdC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lJiZnKXJldHVybiB0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoZSl9LHY9W10seT1bXSwobi5xc2E9US50ZXN0KGQucXVlcnlTZWxlY3RvckFsbCkpJiYodWUoZnVuY3Rpb24oZSl7aC5hcHBlbmRDaGlsZChlKS5pbm5lckhUTUw9IjxhIGlkPSciK2IrIic+PC9hPjxzZWxlY3QgaWQ9JyIrYisiLVxyXFwnIG1zYWxsb3djYXB0dXJlPScnPjxvcHRpb24gc2VsZWN0ZWQ9Jyc+PC9vcHRpb24+PC9zZWxlY3Q+IixlLnF1ZXJ5U2VsZWN0b3JBbGwoIlttc2FsbG93Y2FwdHVyZV49JyddIikubGVuZ3RoJiZ5LnB1c2goIlsqXiRdPSIrTSsiKig/OicnfFwiXCIpIiksZS5xdWVyeVNlbGVjdG9yQWxsKCJbc2VsZWN0ZWRdIikubGVuZ3RofHx5LnB1c2goIlxcWyIrTSsiKig/OnZhbHVlfCIrUCsiKSIpLGUucXVlcnlTZWxlY3RvckFsbCgiW2lkfj0iK2IrIi1dIikubGVuZ3RofHx5LnB1c2goIn49IiksZS5xdWVyeVNlbGVjdG9yQWxsKCI6Y2hlY2tlZCIpLmxlbmd0aHx8eS5wdXNoKCI6Y2hlY2tlZCIpLGUucXVlcnlTZWxlY3RvckFsbCgiYSMiK2IrIisqIikubGVuZ3RofHx5LnB1c2goIi4jLitbK35dIil9KSx1ZShmdW5jdGlvbihlKXtlLmlubmVySFRNTD0iPGEgaHJlZj0nJyBkaXNhYmxlZD0nZGlzYWJsZWQnPjwvYT48c2VsZWN0IGRpc2FibGVkPSdkaXNhYmxlZCc+PG9wdGlvbi8+PC9zZWxlY3Q+Ijt2YXIgdD1kLmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7dC5zZXRBdHRyaWJ1dGUoInR5cGUiLCJoaWRkZW4iKSxlLmFwcGVuZENoaWxkKHQpLnNldEF0dHJpYnV0ZSgibmFtZSIsIkQiKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoIltuYW1lPWRdIikubGVuZ3RoJiZ5LnB1c2goIm5hbWUiK00rIipbKl4kfCF+XT89IiksMiE9PWUucXVlcnlTZWxlY3RvckFsbCgiOmVuYWJsZWQiKS5sZW5ndGgmJnkucHVzaCgiOmVuYWJsZWQiLCI6ZGlzYWJsZWQiKSxoLmFwcGVuZENoaWxkKGUpLmRpc2FibGVkPSEwLDIhPT1lLnF1ZXJ5U2VsZWN0b3JBbGwoIjpkaXNhYmxlZCIpLmxlbmd0aCYmeS5wdXNoKCI6ZW5hYmxlZCIsIjpkaXNhYmxlZCIpLGUucXVlcnlTZWxlY3RvckFsbCgiKiw6eCIpLHkucHVzaCgiLC4qOiIpfSkpLChuLm1hdGNoZXNTZWxlY3Rvcj1RLnRlc3QobT1oLm1hdGNoZXN8fGgud2Via2l0TWF0Y2hlc1NlbGVjdG9yfHxoLm1vek1hdGNoZXNTZWxlY3Rvcnx8aC5vTWF0Y2hlc1NlbGVjdG9yfHxoLm1zTWF0Y2hlc1NlbGVjdG9yKSkmJnVlKGZ1bmN0aW9uKGUpe24uZGlzY29ubmVjdGVkTWF0Y2g9bS5jYWxsKGUsIioiKSxtLmNhbGwoZSwiW3MhPScnXTp4Iiksdi5wdXNoKCIhPSIsVyl9KSx5PXkubGVuZ3RoJiZuZXcgUmVnRXhwKHkuam9pbigifCIpKSx2PXYubGVuZ3RoJiZuZXcgUmVnRXhwKHYuam9pbigifCIpKSx0PVEudGVzdChoLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKSx4PXR8fFEudGVzdChoLmNvbnRhaW5zKT9mdW5jdGlvbihlLHQpe3ZhciBuPTk9PT1lLm5vZGVUeXBlP2UuZG9jdW1lbnRFbGVtZW50OmUscj10JiZ0LnBhcmVudE5vZGU7cmV0dXJuIGU9PT1yfHwhKCFyfHwxIT09ci5ub2RlVHlwZXx8IShuLmNvbnRhaW5zP24uY29udGFpbnMocik6ZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiYmMTYmZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihyKSkpfTpmdW5jdGlvbihlLHQpe2lmKHQpd2hpbGUodD10LnBhcmVudE5vZGUpaWYodD09PWUpcmV0dXJuITA7cmV0dXJuITF9LEQ9dD9mdW5jdGlvbihlLHQpe2lmKGU9PT10KXJldHVybiBmPSEwLDA7dmFyIHI9IWUuY29tcGFyZURvY3VtZW50UG9zaXRpb24tIXQuY29tcGFyZURvY3VtZW50UG9zaXRpb247cmV0dXJuIHJ8fCgxJihyPShlLm93bmVyRG9jdW1lbnR8fGUpPT09KHQub3duZXJEb2N1bWVudHx8dCk/ZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0KToxKXx8IW4uc29ydERldGFjaGVkJiZ0LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGUpPT09cj9lPT09ZHx8ZS5vd25lckRvY3VtZW50PT09dyYmeCh3LGUpPy0xOnQ9PT1kfHx0Lm93bmVyRG9jdW1lbnQ9PT13JiZ4KHcsdCk/MTpjP08oYyxlKS1PKGMsdCk6MDo0JnI/LTE6MSl9OmZ1bmN0aW9uKGUsdCl7aWYoZT09PXQpcmV0dXJuIGY9ITAsMDt2YXIgbixyPTAsaT1lLnBhcmVudE5vZGUsbz10LnBhcmVudE5vZGUsYT1bZV0scz1bdF07aWYoIWl8fCFvKXJldHVybiBlPT09ZD8tMTp0PT09ZD8xOmk/LTE6bz8xOmM/TyhjLGUpLU8oYyx0KTowO2lmKGk9PT1vKXJldHVybiBjZShlLHQpO249ZTt3aGlsZShuPW4ucGFyZW50Tm9kZSlhLnVuc2hpZnQobik7bj10O3doaWxlKG49bi5wYXJlbnROb2RlKXMudW5zaGlmdChuKTt3aGlsZShhW3JdPT09c1tyXSlyKys7cmV0dXJuIHI/Y2UoYVtyXSxzW3JdKTphW3JdPT09dz8tMTpzW3JdPT09dz8xOjB9LGQpOmR9LG9lLm1hdGNoZXM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gb2UoZSxudWxsLG51bGwsdCl9LG9lLm1hdGNoZXNTZWxlY3Rvcj1mdW5jdGlvbihlLHQpe2lmKChlLm93bmVyRG9jdW1lbnR8fGUpIT09ZCYmcChlKSx0PXQucmVwbGFjZSh6LCI9JyQxJ10iKSxuLm1hdGNoZXNTZWxlY3RvciYmZyYmIVNbdCsiICJdJiYoIXZ8fCF2LnRlc3QodCkpJiYoIXl8fCF5LnRlc3QodCkpKXRyeXt2YXIgcj1tLmNhbGwoZSx0KTtpZihyfHxuLmRpc2Nvbm5lY3RlZE1hdGNofHxlLmRvY3VtZW50JiYxMSE9PWUuZG9jdW1lbnQubm9kZVR5cGUpcmV0dXJuIHJ9Y2F0Y2goZSl7fXJldHVybiBvZSh0LGQsbnVsbCxbZV0pLmxlbmd0aD4wfSxvZS5jb250YWlucz1mdW5jdGlvbihlLHQpe3JldHVybihlLm93bmVyRG9jdW1lbnR8fGUpIT09ZCYmcChlKSx4KGUsdCl9LG9lLmF0dHI9ZnVuY3Rpb24oZSx0KXsoZS5vd25lckRvY3VtZW50fHxlKSE9PWQmJnAoZSk7dmFyIGk9ci5hdHRySGFuZGxlW3QudG9Mb3dlckNhc2UoKV0sbz1pJiZOLmNhbGwoci5hdHRySGFuZGxlLHQudG9Mb3dlckNhc2UoKSk/aShlLHQsIWcpOnZvaWQgMDtyZXR1cm4gdm9pZCAwIT09bz9vOm4uYXR0cmlidXRlc3x8IWc/ZS5nZXRBdHRyaWJ1dGUodCk6KG89ZS5nZXRBdHRyaWJ1dGVOb2RlKHQpKSYmby5zcGVjaWZpZWQ/by52YWx1ZTpudWxsfSxvZS5lc2NhcGU9ZnVuY3Rpb24oZSl7cmV0dXJuKGUrIiIpLnJlcGxhY2UodGUsbmUpfSxvZS5lcnJvcj1mdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoIlN5bnRheCBlcnJvciwgdW5yZWNvZ25pemVkIGV4cHJlc3Npb246ICIrZSl9LG9lLnVuaXF1ZVNvcnQ9ZnVuY3Rpb24oZSl7dmFyIHQscj1bXSxpPTAsbz0wO2lmKGY9IW4uZGV0ZWN0RHVwbGljYXRlcyxjPSFuLnNvcnRTdGFibGUmJmUuc2xpY2UoMCksZS5zb3J0KEQpLGYpe3doaWxlKHQ9ZVtvKytdKXQ9PT1lW29dJiYoaT1yLnB1c2gobykpO3doaWxlKGktLSllLnNwbGljZShyW2ldLDEpfXJldHVybiBjPW51bGwsZX0saT1vZS5nZXRUZXh0PWZ1bmN0aW9uKGUpe3ZhciB0LG49IiIscj0wLG89ZS5ub2RlVHlwZTtpZihvKXtpZigxPT09b3x8OT09PW98fDExPT09byl7aWYoInN0cmluZyI9PXR5cGVvZiBlLnRleHRDb250ZW50KXJldHVybiBlLnRleHRDb250ZW50O2ZvcihlPWUuZmlyc3RDaGlsZDtlO2U9ZS5uZXh0U2libGluZyluKz1pKGUpfWVsc2UgaWYoMz09PW98fDQ9PT1vKXJldHVybiBlLm5vZGVWYWx1ZX1lbHNlIHdoaWxlKHQ9ZVtyKytdKW4rPWkodCk7cmV0dXJuIG59LChyPW9lLnNlbGVjdG9ycz17Y2FjaGVMZW5ndGg6NTAsY3JlYXRlUHNldWRvOnNlLG1hdGNoOlYsYXR0ckhhbmRsZTp7fSxmaW5kOnt9LHJlbGF0aXZlOnsiPiI6e2RpcjoicGFyZW50Tm9kZSIsZmlyc3Q6ITB9LCIgIjp7ZGlyOiJwYXJlbnROb2RlIn0sIisiOntkaXI6InByZXZpb3VzU2libGluZyIsZmlyc3Q6ITB9LCJ+Ijp7ZGlyOiJwcmV2aW91c1NpYmxpbmcifX0scHJlRmlsdGVyOntBVFRSOmZ1bmN0aW9uKGUpe3JldHVybiBlWzFdPWVbMV0ucmVwbGFjZShaLGVlKSxlWzNdPShlWzNdfHxlWzRdfHxlWzVdfHwiIikucmVwbGFjZShaLGVlKSwifj0iPT09ZVsyXSYmKGVbM109IiAiK2VbM10rIiAiKSxlLnNsaWNlKDAsNCl9LENISUxEOmZ1bmN0aW9uKGUpe3JldHVybiBlWzFdPWVbMV0udG9Mb3dlckNhc2UoKSwibnRoIj09PWVbMV0uc2xpY2UoMCwzKT8oZVszXXx8b2UuZXJyb3IoZVswXSksZVs0XT0rKGVbNF0/ZVs1XSsoZVs2XXx8MSk6MiooImV2ZW4iPT09ZVszXXx8Im9kZCI9PT1lWzNdKSksZVs1XT0rKGVbN10rZVs4XXx8Im9kZCI9PT1lWzNdKSk6ZVszXSYmb2UuZXJyb3IoZVswXSksZX0sUFNFVURPOmZ1bmN0aW9uKGUpe3ZhciB0LG49IWVbNl0mJmVbMl07cmV0dXJuIFYuQ0hJTEQudGVzdChlWzBdKT9udWxsOihlWzNdP2VbMl09ZVs0XXx8ZVs1XXx8IiI6biYmWC50ZXN0KG4pJiYodD1hKG4sITApKSYmKHQ9bi5pbmRleE9mKCIpIixuLmxlbmd0aC10KS1uLmxlbmd0aCkmJihlWzBdPWVbMF0uc2xpY2UoMCx0KSxlWzJdPW4uc2xpY2UoMCx0KSksZS5zbGljZSgwLDMpKX19LGZpbHRlcjp7VEFHOmZ1bmN0aW9uKGUpe3ZhciB0PWUucmVwbGFjZShaLGVlKS50b0xvd2VyQ2FzZSgpO3JldHVybiIqIj09PWU/ZnVuY3Rpb24oKXtyZXR1cm4hMH06ZnVuY3Rpb24oZSl7cmV0dXJuIGUubm9kZU5hbWUmJmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXR9fSxDTEFTUzpmdW5jdGlvbihlKXt2YXIgdD1FW2UrIiAiXTtyZXR1cm4gdHx8KHQ9bmV3IFJlZ0V4cCgiKF58IitNKyIpIitlKyIoIitNKyJ8JCkiKSkmJkUoZSxmdW5jdGlvbihlKXtyZXR1cm4gdC50ZXN0KCJzdHJpbmciPT10eXBlb2YgZS5jbGFzc05hbWUmJmUuY2xhc3NOYW1lfHwidW5kZWZpbmVkIiE9dHlwZW9mIGUuZ2V0QXR0cmlidXRlJiZlLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiIpfSl9LEFUVFI6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBmdW5jdGlvbihyKXt2YXIgaT1vZS5hdHRyKHIsZSk7cmV0dXJuIG51bGw9PWk/IiE9Ij09PXQ6IXR8fChpKz0iIiwiPSI9PT10P2k9PT1uOiIhPSI9PT10P2khPT1uOiJePSI9PT10P24mJjA9PT1pLmluZGV4T2Yobik6Iio9Ij09PXQ/biYmaS5pbmRleE9mKG4pPi0xOiIkPSI9PT10P24mJmkuc2xpY2UoLW4ubGVuZ3RoKT09PW46In49Ij09PXQ/KCIgIitpLnJlcGxhY2UoJCwiICIpKyIgIikuaW5kZXhPZihuKT4tMToifD0iPT09dCYmKGk9PT1ufHxpLnNsaWNlKDAsbi5sZW5ndGgrMSk9PT1uKyItIikpfX0sQ0hJTEQ6ZnVuY3Rpb24oZSx0LG4scixpKXt2YXIgbz0ibnRoIiE9PWUuc2xpY2UoMCwzKSxhPSJsYXN0IiE9PWUuc2xpY2UoLTQpLHM9Im9mLXR5cGUiPT09dDtyZXR1cm4gMT09PXImJjA9PT1pP2Z1bmN0aW9uKGUpe3JldHVybiEhZS5wYXJlbnROb2RlfTpmdW5jdGlvbih0LG4sdSl7dmFyIGwsYyxmLHAsZCxoLGc9byE9PWE/Im5leHRTaWJsaW5nIjoicHJldmlvdXNTaWJsaW5nIix5PXQucGFyZW50Tm9kZSx2PXMmJnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSxtPSF1JiYhcyx4PSExO2lmKHkpe2lmKG8pe3doaWxlKGcpe3A9dDt3aGlsZShwPXBbZ10paWYocz9wLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT12OjE9PT1wLm5vZGVUeXBlKXJldHVybiExO2g9Zz0ib25seSI9PT1lJiYhaCYmIm5leHRTaWJsaW5nIn1yZXR1cm4hMH1pZihoPVthP3kuZmlyc3RDaGlsZDp5Lmxhc3RDaGlsZF0sYSYmbSl7eD0oZD0obD0oYz0oZj0ocD15KVtiXXx8KHBbYl09e30pKVtwLnVuaXF1ZUlEXXx8KGZbcC51bmlxdWVJRF09e30pKVtlXXx8W10pWzBdPT09VCYmbFsxXSkmJmxbMl0scD1kJiZ5LmNoaWxkTm9kZXNbZF07d2hpbGUocD0rK2QmJnAmJnBbZ118fCh4PWQ9MCl8fGgucG9wKCkpaWYoMT09PXAubm9kZVR5cGUmJisreCYmcD09PXQpe2NbZV09W1QsZCx4XTticmVha319ZWxzZSBpZihtJiYoeD1kPShsPShjPShmPShwPXQpW2JdfHwocFtiXT17fSkpW3AudW5pcXVlSURdfHwoZltwLnVuaXF1ZUlEXT17fSkpW2VdfHxbXSlbMF09PT1UJiZsWzFdKSwhMT09PXgpd2hpbGUocD0rK2QmJnAmJnBbZ118fCh4PWQ9MCl8fGgucG9wKCkpaWYoKHM/cC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09djoxPT09cC5ub2RlVHlwZSkmJisreCYmKG0mJigoYz0oZj1wW2JdfHwocFtiXT17fSkpW3AudW5pcXVlSURdfHwoZltwLnVuaXF1ZUlEXT17fSkpW2VdPVtULHhdKSxwPT09dCkpYnJlYWs7cmV0dXJuKHgtPWkpPT09cnx8eCVyPT0wJiZ4L3I+PTB9fX0sUFNFVURPOmZ1bmN0aW9uKGUsdCl7dmFyIG4saT1yLnBzZXVkb3NbZV18fHIuc2V0RmlsdGVyc1tlLnRvTG93ZXJDYXNlKCldfHxvZS5lcnJvcigidW5zdXBwb3J0ZWQgcHNldWRvOiAiK2UpO3JldHVybiBpW2JdP2kodCk6aS5sZW5ndGg+MT8obj1bZSxlLCIiLHRdLHIuc2V0RmlsdGVycy5oYXNPd25Qcm9wZXJ0eShlLnRvTG93ZXJDYXNlKCkpP3NlKGZ1bmN0aW9uKGUsbil7dmFyIHIsbz1pKGUsdCksYT1vLmxlbmd0aDt3aGlsZShhLS0pZVtyPU8oZSxvW2FdKV09IShuW3JdPW9bYV0pfSk6ZnVuY3Rpb24oZSl7cmV0dXJuIGkoZSwwLG4pfSk6aX19LHBzZXVkb3M6e25vdDpzZShmdW5jdGlvbihlKXt2YXIgdD1bXSxuPVtdLHI9cyhlLnJlcGxhY2UoQiwiJDEiKSk7cmV0dXJuIHJbYl0/c2UoZnVuY3Rpb24oZSx0LG4saSl7dmFyIG8sYT1yKGUsbnVsbCxpLFtdKSxzPWUubGVuZ3RoO3doaWxlKHMtLSkobz1hW3NdKSYmKGVbc109ISh0W3NdPW8pKX0pOmZ1bmN0aW9uKGUsaSxvKXtyZXR1cm4gdFswXT1lLHIodCxudWxsLG8sbiksdFswXT1udWxsLCFuLnBvcCgpfX0pLGhhczpzZShmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIG9lKGUsdCkubGVuZ3RoPjB9fSksY29udGFpbnM6c2UoZnVuY3Rpb24oZSl7cmV0dXJuIGU9ZS5yZXBsYWNlKFosZWUpLGZ1bmN0aW9uKHQpe3JldHVybih0LnRleHRDb250ZW50fHx0LmlubmVyVGV4dHx8aSh0KSkuaW5kZXhPZihlKT4tMX19KSxsYW5nOnNlKGZ1bmN0aW9uKGUpe3JldHVybiBVLnRlc3QoZXx8IiIpfHxvZS5lcnJvcigidW5zdXBwb3J0ZWQgbGFuZzogIitlKSxlPWUucmVwbGFjZShaLGVlKS50b0xvd2VyQ2FzZSgpLGZ1bmN0aW9uKHQpe3ZhciBuO2Rve2lmKG49Zz90Lmxhbmc6dC5nZXRBdHRyaWJ1dGUoInhtbDpsYW5nIil8fHQuZ2V0QXR0cmlidXRlKCJsYW5nIikpcmV0dXJuKG49bi50b0xvd2VyQ2FzZSgpKT09PWV8fDA9PT1uLmluZGV4T2YoZSsiLSIpfXdoaWxlKCh0PXQucGFyZW50Tm9kZSkmJjE9PT10Lm5vZGVUeXBlKTtyZXR1cm4hMX19KSx0YXJnZXQ6ZnVuY3Rpb24odCl7dmFyIG49ZS5sb2NhdGlvbiYmZS5sb2NhdGlvbi5oYXNoO3JldHVybiBuJiZuLnNsaWNlKDEpPT09dC5pZH0scm9vdDpmdW5jdGlvbihlKXtyZXR1cm4gZT09PWh9LGZvY3VzOmZ1bmN0aW9uKGUpe3JldHVybiBlPT09ZC5hY3RpdmVFbGVtZW50JiYoIWQuaGFzRm9jdXN8fGQuaGFzRm9jdXMoKSkmJiEhKGUudHlwZXx8ZS5ocmVmfHx+ZS50YWJJbmRleCl9LGVuYWJsZWQ6ZGUoITEpLGRpc2FibGVkOmRlKCEwKSxjaGVja2VkOmZ1bmN0aW9uKGUpe3ZhciB0PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4iaW5wdXQiPT09dCYmISFlLmNoZWNrZWR8fCJvcHRpb24iPT09dCYmISFlLnNlbGVjdGVkfSxzZWxlY3RlZDpmdW5jdGlvbihlKXtyZXR1cm4gZS5wYXJlbnROb2RlJiZlLnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCwhMD09PWUuc2VsZWN0ZWR9LGVtcHR5OmZ1bmN0aW9uKGUpe2ZvcihlPWUuZmlyc3RDaGlsZDtlO2U9ZS5uZXh0U2libGluZylpZihlLm5vZGVUeXBlPDYpcmV0dXJuITE7cmV0dXJuITB9LHBhcmVudDpmdW5jdGlvbihlKXtyZXR1cm4hci5wc2V1ZG9zLmVtcHR5KGUpfSxoZWFkZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIFkudGVzdChlLm5vZGVOYW1lKX0saW5wdXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIEcudGVzdChlLm5vZGVOYW1lKX0sYnV0dG9uOmZ1bmN0aW9uKGUpe3ZhciB0PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4iaW5wdXQiPT09dCYmImJ1dHRvbiI9PT1lLnR5cGV8fCJidXR0b24iPT09dH0sdGV4dDpmdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4iaW5wdXQiPT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpJiYidGV4dCI9PT1lLnR5cGUmJihudWxsPT0odD1lLmdldEF0dHJpYnV0ZSgidHlwZSIpKXx8InRleHQiPT09dC50b0xvd2VyQ2FzZSgpKX0sZmlyc3Q6aGUoZnVuY3Rpb24oKXtyZXR1cm5bMF19KSxsYXN0OmhlKGZ1bmN0aW9uKGUsdCl7cmV0dXJuW3QtMV19KSxlcTpoZShmdW5jdGlvbihlLHQsbil7cmV0dXJuW248MD9uK3Q6bl19KSxldmVuOmhlKGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPTA7bjx0O24rPTIpZS5wdXNoKG4pO3JldHVybiBlfSksb2RkOmhlKGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPTE7bjx0O24rPTIpZS5wdXNoKG4pO3JldHVybiBlfSksbHQ6aGUoZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgcj1uPDA/bit0Om47LS1yPj0wOyllLnB1c2gocik7cmV0dXJuIGV9KSxndDpoZShmdW5jdGlvbihlLHQsbil7Zm9yKHZhciByPW48MD9uK3Q6bjsrK3I8dDspZS5wdXNoKHIpO3JldHVybiBlfSl9fSkucHNldWRvcy5udGg9ci5wc2V1ZG9zLmVxO2Zvcih0IGlue3JhZGlvOiEwLGNoZWNrYm94OiEwLGZpbGU6ITAscGFzc3dvcmQ6ITAsaW1hZ2U6ITB9KXIucHNldWRvc1t0XT1mZSh0KTtmb3IodCBpbntzdWJtaXQ6ITAscmVzZXQ6ITB9KXIucHNldWRvc1t0XT1wZSh0KTtmdW5jdGlvbiB5ZSgpe315ZS5wcm90b3R5cGU9ci5maWx0ZXJzPXIucHNldWRvcyxyLnNldEZpbHRlcnM9bmV3IHllLGE9b2UudG9rZW5pemU9ZnVuY3Rpb24oZSx0KXt2YXIgbixpLG8sYSxzLHUsbCxjPWtbZSsiICJdO2lmKGMpcmV0dXJuIHQ/MDpjLnNsaWNlKDApO3M9ZSx1PVtdLGw9ci5wcmVGaWx0ZXI7d2hpbGUocyl7biYmIShpPUYuZXhlYyhzKSl8fChpJiYocz1zLnNsaWNlKGlbMF0ubGVuZ3RoKXx8cyksdS5wdXNoKG89W10pKSxuPSExLChpPV8uZXhlYyhzKSkmJihuPWkuc2hpZnQoKSxvLnB1c2goe3ZhbHVlOm4sdHlwZTppWzBdLnJlcGxhY2UoQiwiICIpfSkscz1zLnNsaWNlKG4ubGVuZ3RoKSk7Zm9yKGEgaW4gci5maWx0ZXIpIShpPVZbYV0uZXhlYyhzKSl8fGxbYV0mJiEoaT1sW2FdKGkpKXx8KG49aS5zaGlmdCgpLG8ucHVzaCh7dmFsdWU6bix0eXBlOmEsbWF0Y2hlczppfSkscz1zLnNsaWNlKG4ubGVuZ3RoKSk7aWYoIW4pYnJlYWt9cmV0dXJuIHQ/cy5sZW5ndGg6cz9vZS5lcnJvcihlKTprKGUsdSkuc2xpY2UoMCl9O2Z1bmN0aW9uIHZlKGUpe2Zvcih2YXIgdD0wLG49ZS5sZW5ndGgscj0iIjt0PG47dCsrKXIrPWVbdF0udmFsdWU7cmV0dXJuIHJ9ZnVuY3Rpb24gbWUoZSx0LG4pe3ZhciByPXQuZGlyLGk9dC5uZXh0LG89aXx8cixhPW4mJiJwYXJlbnROb2RlIj09PW8scz1DKys7cmV0dXJuIHQuZmlyc3Q/ZnVuY3Rpb24odCxuLGkpe3doaWxlKHQ9dFtyXSlpZigxPT09dC5ub2RlVHlwZXx8YSlyZXR1cm4gZSh0LG4saSk7cmV0dXJuITF9OmZ1bmN0aW9uKHQsbix1KXt2YXIgbCxjLGYscD1bVCxzXTtpZih1KXt3aGlsZSh0PXRbcl0paWYoKDE9PT10Lm5vZGVUeXBlfHxhKSYmZSh0LG4sdSkpcmV0dXJuITB9ZWxzZSB3aGlsZSh0PXRbcl0paWYoMT09PXQubm9kZVR5cGV8fGEpaWYoZj10W2JdfHwodFtiXT17fSksYz1mW3QudW5pcXVlSURdfHwoZlt0LnVuaXF1ZUlEXT17fSksaSYmaT09PXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl0PXRbcl18fHQ7ZWxzZXtpZigobD1jW29dKSYmbFswXT09PVQmJmxbMV09PT1zKXJldHVybiBwWzJdPWxbMl07aWYoY1tvXT1wLHBbMl09ZSh0LG4sdSkpcmV0dXJuITB9cmV0dXJuITF9fWZ1bmN0aW9uIHhlKGUpe3JldHVybiBlLmxlbmd0aD4xP2Z1bmN0aW9uKHQsbixyKXt2YXIgaT1lLmxlbmd0aDt3aGlsZShpLS0paWYoIWVbaV0odCxuLHIpKXJldHVybiExO3JldHVybiEwfTplWzBdfWZ1bmN0aW9uIGJlKGUsdCxuKXtmb3IodmFyIHI9MCxpPXQubGVuZ3RoO3I8aTtyKyspb2UoZSx0W3JdLG4pO3JldHVybiBufWZ1bmN0aW9uIHdlKGUsdCxuLHIsaSl7Zm9yKHZhciBvLGE9W10scz0wLHU9ZS5sZW5ndGgsbD1udWxsIT10O3M8dTtzKyspKG89ZVtzXSkmJihuJiYhbihvLHIsaSl8fChhLnB1c2gobyksbCYmdC5wdXNoKHMpKSk7cmV0dXJuIGF9ZnVuY3Rpb24gVGUoZSx0LG4scixpLG8pe3JldHVybiByJiYhcltiXSYmKHI9VGUocikpLGkmJiFpW2JdJiYoaT1UZShpLG8pKSxzZShmdW5jdGlvbihvLGEscyx1KXt2YXIgbCxjLGYscD1bXSxkPVtdLGg9YS5sZW5ndGgsZz1vfHxiZSh0fHwiKiIscy5ub2RlVHlwZT9bc106cyxbXSkseT0hZXx8IW8mJnQ/Zzp3ZShnLHAsZSxzLHUpLHY9bj9pfHwobz9lOmh8fHIpP1tdOmE6eTtpZihuJiZuKHksdixzLHUpLHIpe2w9d2UodixkKSxyKGwsW10scyx1KSxjPWwubGVuZ3RoO3doaWxlKGMtLSkoZj1sW2NdKSYmKHZbZFtjXV09ISh5W2RbY11dPWYpKX1pZihvKXtpZihpfHxlKXtpZihpKXtsPVtdLGM9di5sZW5ndGg7d2hpbGUoYy0tKShmPXZbY10pJiZsLnB1c2goeVtjXT1mKTtpKG51bGwsdj1bXSxsLHUpfWM9di5sZW5ndGg7d2hpbGUoYy0tKShmPXZbY10pJiYobD1pP08obyxmKTpwW2NdKT4tMSYmKG9bbF09IShhW2xdPWYpKX19ZWxzZSB2PXdlKHY9PT1hP3Yuc3BsaWNlKGgsdi5sZW5ndGgpOnYpLGk/aShudWxsLGEsdix1KTpMLmFwcGx5KGEsdil9KX1mdW5jdGlvbiBDZShlKXtmb3IodmFyIHQsbixpLG89ZS5sZW5ndGgsYT1yLnJlbGF0aXZlW2VbMF0udHlwZV0scz1hfHxyLnJlbGF0aXZlWyIgIl0sdT1hPzE6MCxjPW1lKGZ1bmN0aW9uKGUpe3JldHVybiBlPT09dH0scywhMCksZj1tZShmdW5jdGlvbihlKXtyZXR1cm4gTyh0LGUpPi0xfSxzLCEwKSxwPVtmdW5jdGlvbihlLG4scil7dmFyIGk9IWEmJihyfHxuIT09bCl8fCgodD1uKS5ub2RlVHlwZT9jKGUsbixyKTpmKGUsbixyKSk7cmV0dXJuIHQ9bnVsbCxpfV07dTxvO3UrKylpZihuPXIucmVsYXRpdmVbZVt1XS50eXBlXSlwPVttZSh4ZShwKSxuKV07ZWxzZXtpZigobj1yLmZpbHRlcltlW3VdLnR5cGVdLmFwcGx5KG51bGwsZVt1XS5tYXRjaGVzKSlbYl0pe2ZvcihpPSsrdTtpPG87aSsrKWlmKHIucmVsYXRpdmVbZVtpXS50eXBlXSlicmVhaztyZXR1cm4gVGUodT4xJiZ4ZShwKSx1PjEmJnZlKGUuc2xpY2UoMCx1LTEpLmNvbmNhdCh7dmFsdWU6IiAiPT09ZVt1LTJdLnR5cGU/IioiOiIifSkpLnJlcGxhY2UoQiwiJDEiKSxuLHU8aSYmQ2UoZS5zbGljZSh1LGkpKSxpPG8mJkNlKGU9ZS5zbGljZShpKSksaTxvJiZ2ZShlKSl9cC5wdXNoKG4pfXJldHVybiB4ZShwKX1mdW5jdGlvbiBFZShlLHQpe3ZhciBuPXQubGVuZ3RoPjAsaT1lLmxlbmd0aD4wLG89ZnVuY3Rpb24obyxhLHMsdSxjKXt2YXIgZixoLHksdj0wLG09IjAiLHg9byYmW10sYj1bXSx3PWwsQz1vfHxpJiZyLmZpbmQuVEFHKCIqIixjKSxFPVQrPW51bGw9PXc/MTpNYXRoLnJhbmRvbSgpfHwuMSxrPUMubGVuZ3RoO2ZvcihjJiYobD1hPT09ZHx8YXx8Yyk7bSE9PWsmJm51bGwhPShmPUNbbV0pO20rKyl7aWYoaSYmZil7aD0wLGF8fGYub3duZXJEb2N1bWVudD09PWR8fChwKGYpLHM9IWcpO3doaWxlKHk9ZVtoKytdKWlmKHkoZixhfHxkLHMpKXt1LnB1c2goZik7YnJlYWt9YyYmKFQ9RSl9biYmKChmPSF5JiZmKSYmdi0tLG8mJngucHVzaChmKSl9aWYodis9bSxuJiZtIT09dil7aD0wO3doaWxlKHk9dFtoKytdKXkoeCxiLGEscyk7aWYobyl7aWYodj4wKXdoaWxlKG0tLSl4W21dfHxiW21dfHwoYlttXT1qLmNhbGwodSkpO2I9d2UoYil9TC5hcHBseSh1LGIpLGMmJiFvJiZiLmxlbmd0aD4wJiZ2K3QubGVuZ3RoPjEmJm9lLnVuaXF1ZVNvcnQodSl9cmV0dXJuIGMmJihUPUUsbD13KSx4fTtyZXR1cm4gbj9zZShvKTpvfXJldHVybiBzPW9lLmNvbXBpbGU9ZnVuY3Rpb24oZSx0KXt2YXIgbixyPVtdLGk9W10sbz1TW2UrIiAiXTtpZighbyl7dHx8KHQ9YShlKSksbj10Lmxlbmd0aDt3aGlsZShuLS0pKG89Q2UodFtuXSkpW2JdP3IucHVzaChvKTppLnB1c2gobyk7KG89UyhlLEVlKGkscikpKS5zZWxlY3Rvcj1lfXJldHVybiBvfSx1PW9lLnNlbGVjdD1mdW5jdGlvbihlLHQsbixpKXt2YXIgbyx1LGwsYyxmLHA9ImZ1bmN0aW9uIj09dHlwZW9mIGUmJmUsZD0haSYmYShlPXAuc2VsZWN0b3J8fGUpO2lmKG49bnx8W10sMT09PWQubGVuZ3RoKXtpZigodT1kWzBdPWRbMF0uc2xpY2UoMCkpLmxlbmd0aD4yJiYiSUQiPT09KGw9dVswXSkudHlwZSYmOT09PXQubm9kZVR5cGUmJmcmJnIucmVsYXRpdmVbdVsxXS50eXBlXSl7aWYoISh0PShyLmZpbmQuSUQobC5tYXRjaGVzWzBdLnJlcGxhY2UoWixlZSksdCl8fFtdKVswXSkpcmV0dXJuIG47cCYmKHQ9dC5wYXJlbnROb2RlKSxlPWUuc2xpY2UodS5zaGlmdCgpLnZhbHVlLmxlbmd0aCl9bz1WLm5lZWRzQ29udGV4dC50ZXN0KGUpPzA6dS5sZW5ndGg7d2hpbGUoby0tKXtpZihsPXVbb10sci5yZWxhdGl2ZVtjPWwudHlwZV0pYnJlYWs7aWYoKGY9ci5maW5kW2NdKSYmKGk9ZihsLm1hdGNoZXNbMF0ucmVwbGFjZShaLGVlKSxLLnRlc3QodVswXS50eXBlKSYmZ2UodC5wYXJlbnROb2RlKXx8dCkpKXtpZih1LnNwbGljZShvLDEpLCEoZT1pLmxlbmd0aCYmdmUodSkpKXJldHVybiBMLmFwcGx5KG4saSksbjticmVha319fXJldHVybihwfHxzKGUsZCkpKGksdCwhZyxuLCF0fHxLLnRlc3QoZSkmJmdlKHQucGFyZW50Tm9kZSl8fHQpLG59LG4uc29ydFN0YWJsZT1iLnNwbGl0KCIiKS5zb3J0KEQpLmpvaW4oIiIpPT09YixuLmRldGVjdER1cGxpY2F0ZXM9ISFmLHAoKSxuLnNvcnREZXRhY2hlZD11ZShmdW5jdGlvbihlKXtyZXR1cm4gMSZlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGQuY3JlYXRlRWxlbWVudCgiZmllbGRzZXQiKSl9KSx1ZShmdW5jdGlvbihlKXtyZXR1cm4gZS5pbm5lckhUTUw9IjxhIGhyZWY9JyMnPjwvYT4iLCIjIj09PWUuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoImhyZWYiKX0pfHxsZSgidHlwZXxocmVmfGhlaWdodHx3aWR0aCIsZnVuY3Rpb24oZSx0LG4pe2lmKCFuKXJldHVybiBlLmdldEF0dHJpYnV0ZSh0LCJ0eXBlIj09PXQudG9Mb3dlckNhc2UoKT8xOjIpfSksbi5hdHRyaWJ1dGVzJiZ1ZShmdW5jdGlvbihlKXtyZXR1cm4gZS5pbm5lckhUTUw9IjxpbnB1dC8+IixlLmZpcnN0Q2hpbGQuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsIiIpLCIiPT09ZS5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSgidmFsdWUiKX0pfHxsZSgidmFsdWUiLGZ1bmN0aW9uKGUsdCxuKXtpZighbiYmImlucHV0Ij09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSlyZXR1cm4gZS5kZWZhdWx0VmFsdWV9KSx1ZShmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZS5nZXRBdHRyaWJ1dGUoImRpc2FibGVkIil9KXx8bGUoUCxmdW5jdGlvbihlLHQsbil7dmFyIHI7aWYoIW4pcmV0dXJuITA9PT1lW3RdP3QudG9Mb3dlckNhc2UoKToocj1lLmdldEF0dHJpYnV0ZU5vZGUodCkpJiZyLnNwZWNpZmllZD9yLnZhbHVlOm51bGx9KSxvZX0oZSk7dy5maW5kPUUsdy5leHByPUUuc2VsZWN0b3JzLHcuZXhwclsiOiJdPXcuZXhwci5wc2V1ZG9zLHcudW5pcXVlU29ydD13LnVuaXF1ZT1FLnVuaXF1ZVNvcnQsdy50ZXh0PUUuZ2V0VGV4dCx3LmlzWE1MRG9jPUUuaXNYTUwsdy5jb250YWlucz1FLmNvbnRhaW5zLHcuZXNjYXBlU2VsZWN0b3I9RS5lc2NhcGU7dmFyIGs9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPVtdLGk9dm9pZCAwIT09bjt3aGlsZSgoZT1lW3RdKSYmOSE9PWUubm9kZVR5cGUpaWYoMT09PWUubm9kZVR5cGUpe2lmKGkmJncoZSkuaXMobikpYnJlYWs7ci5wdXNoKGUpfXJldHVybiByfSxTPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPVtdO2U7ZT1lLm5leHRTaWJsaW5nKTE9PT1lLm5vZGVUeXBlJiZlIT09dCYmbi5wdXNoKGUpO3JldHVybiBufSxEPXcuZXhwci5tYXRjaC5uZWVkc0NvbnRleHQ7ZnVuY3Rpb24gTihlLHQpe3JldHVybiBlLm5vZGVOYW1lJiZlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT10LnRvTG93ZXJDYXNlKCl9dmFyIEE9L148KFthLXpdW15cL1wwPjpceDIwXHRcclxuXGZdKilbXHgyMFx0XHJcblxmXSpcLz8+KD86PFwvXDE+fCkkL2k7ZnVuY3Rpb24gaihlLHQsbil7cmV0dXJuIGcodCk/dy5ncmVwKGUsZnVuY3Rpb24oZSxyKXtyZXR1cm4hIXQuY2FsbChlLHIsZSkhPT1ufSk6dC5ub2RlVHlwZT93LmdyZXAoZSxmdW5jdGlvbihlKXtyZXR1cm4gZT09PXQhPT1ufSk6InN0cmluZyIhPXR5cGVvZiB0P3cuZ3JlcChlLGZ1bmN0aW9uKGUpe3JldHVybiB1LmNhbGwodCxlKT4tMSE9PW59KTp3LmZpbHRlcih0LGUsbil9dy5maWx0ZXI9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXRbMF07cmV0dXJuIG4mJihlPSI6bm90KCIrZSsiKSIpLDE9PT10Lmxlbmd0aCYmMT09PXIubm9kZVR5cGU/dy5maW5kLm1hdGNoZXNTZWxlY3RvcihyLGUpP1tyXTpbXTp3LmZpbmQubWF0Y2hlcyhlLHcuZ3JlcCh0LGZ1bmN0aW9uKGUpe3JldHVybiAxPT09ZS5ub2RlVHlwZX0pKX0sdy5mbi5leHRlbmQoe2ZpbmQ6ZnVuY3Rpb24oZSl7dmFyIHQsbixyPXRoaXMubGVuZ3RoLGk9dGhpcztpZigic3RyaW5nIiE9dHlwZW9mIGUpcmV0dXJuIHRoaXMucHVzaFN0YWNrKHcoZSkuZmlsdGVyKGZ1bmN0aW9uKCl7Zm9yKHQ9MDt0PHI7dCsrKWlmKHcuY29udGFpbnMoaVt0XSx0aGlzKSlyZXR1cm4hMH0pKTtmb3Iobj10aGlzLnB1c2hTdGFjayhbXSksdD0wO3Q8cjt0Kyspdy5maW5kKGUsaVt0XSxuKTtyZXR1cm4gcj4xP3cudW5pcXVlU29ydChuKTpufSxmaWx0ZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGoodGhpcyxlfHxbXSwhMSkpfSxub3Q6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGoodGhpcyxlfHxbXSwhMCkpfSxpczpmdW5jdGlvbihlKXtyZXR1cm4hIWoodGhpcywic3RyaW5nIj09dHlwZW9mIGUmJkQudGVzdChlKT93KGUpOmV8fFtdLCExKS5sZW5ndGh9fSk7dmFyIHEsTD0vXig/OlxzKig8W1x3XFddKz4pW14+XSp8IyhbXHctXSspKSQvOyh3LmZuLmluaXQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciBpLG87aWYoIWUpcmV0dXJuIHRoaXM7aWYobj1ufHxxLCJzdHJpbmciPT10eXBlb2YgZSl7aWYoIShpPSI8Ij09PWVbMF0mJiI+Ij09PWVbZS5sZW5ndGgtMV0mJmUubGVuZ3RoPj0zP1tudWxsLGUsbnVsbF06TC5leGVjKGUpKXx8IWlbMV0mJnQpcmV0dXJuIXR8fHQuanF1ZXJ5Pyh0fHxuKS5maW5kKGUpOnRoaXMuY29uc3RydWN0b3IodCkuZmluZChlKTtpZihpWzFdKXtpZih0PXQgaW5zdGFuY2VvZiB3P3RbMF06dCx3Lm1lcmdlKHRoaXMsdy5wYXJzZUhUTUwoaVsxXSx0JiZ0Lm5vZGVUeXBlP3Qub3duZXJEb2N1bWVudHx8dDpyLCEwKSksQS50ZXN0KGlbMV0pJiZ3LmlzUGxhaW5PYmplY3QodCkpZm9yKGkgaW4gdClnKHRoaXNbaV0pP3RoaXNbaV0odFtpXSk6dGhpcy5hdHRyKGksdFtpXSk7cmV0dXJuIHRoaXN9cmV0dXJuKG89ci5nZXRFbGVtZW50QnlJZChpWzJdKSkmJih0aGlzWzBdPW8sdGhpcy5sZW5ndGg9MSksdGhpc31yZXR1cm4gZS5ub2RlVHlwZT8odGhpc1swXT1lLHRoaXMubGVuZ3RoPTEsdGhpcyk6ZyhlKT92b2lkIDAhPT1uLnJlYWR5P24ucmVhZHkoZSk6ZSh3KTp3Lm1ha2VBcnJheShlLHRoaXMpfSkucHJvdG90eXBlPXcuZm4scT13KHIpO3ZhciBIPS9eKD86cGFyZW50c3xwcmV2KD86VW50aWx8QWxsKSkvLE89e2NoaWxkcmVuOiEwLGNvbnRlbnRzOiEwLG5leHQ6ITAscHJldjohMH07dy5mbi5leHRlbmQoe2hhczpmdW5jdGlvbihlKXt2YXIgdD13KGUsdGhpcyksbj10Lmxlbmd0aDtyZXR1cm4gdGhpcy5maWx0ZXIoZnVuY3Rpb24oKXtmb3IodmFyIGU9MDtlPG47ZSsrKWlmKHcuY29udGFpbnModGhpcyx0W2VdKSlyZXR1cm4hMH0pfSxjbG9zZXN0OmZ1bmN0aW9uKGUsdCl7dmFyIG4scj0wLGk9dGhpcy5sZW5ndGgsbz1bXSxhPSJzdHJpbmciIT10eXBlb2YgZSYmdyhlKTtpZighRC50ZXN0KGUpKWZvcig7cjxpO3IrKylmb3Iobj10aGlzW3JdO24mJm4hPT10O249bi5wYXJlbnROb2RlKWlmKG4ubm9kZVR5cGU8MTEmJihhP2EuaW5kZXgobik+LTE6MT09PW4ubm9kZVR5cGUmJncuZmluZC5tYXRjaGVzU2VsZWN0b3IobixlKSkpe28ucHVzaChuKTticmVha31yZXR1cm4gdGhpcy5wdXNoU3RhY2soby5sZW5ndGg+MT93LnVuaXF1ZVNvcnQobyk6byl9LGluZGV4OmZ1bmN0aW9uKGUpe3JldHVybiBlPyJzdHJpbmciPT10eXBlb2YgZT91LmNhbGwodyhlKSx0aGlzWzBdKTp1LmNhbGwodGhpcyxlLmpxdWVyeT9lWzBdOmUpOnRoaXNbMF0mJnRoaXNbMF0ucGFyZW50Tm9kZT90aGlzLmZpcnN0KCkucHJldkFsbCgpLmxlbmd0aDotMX0sYWRkOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKHcudW5pcXVlU29ydCh3Lm1lcmdlKHRoaXMuZ2V0KCksdyhlLHQpKSkpfSxhZGRCYWNrOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmFkZChudWxsPT1lP3RoaXMucHJldk9iamVjdDp0aGlzLnByZXZPYmplY3QuZmlsdGVyKGUpKX19KTtmdW5jdGlvbiBQKGUsdCl7d2hpbGUoKGU9ZVt0XSkmJjEhPT1lLm5vZGVUeXBlKTtyZXR1cm4gZX13LmVhY2goe3BhcmVudDpmdW5jdGlvbihlKXt2YXIgdD1lLnBhcmVudE5vZGU7cmV0dXJuIHQmJjExIT09dC5ub2RlVHlwZT90Om51bGx9LHBhcmVudHM6ZnVuY3Rpb24oZSl7cmV0dXJuIGsoZSwicGFyZW50Tm9kZSIpfSxwYXJlbnRzVW50aWw6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBrKGUsInBhcmVudE5vZGUiLG4pfSxuZXh0OmZ1bmN0aW9uKGUpe3JldHVybiBQKGUsIm5leHRTaWJsaW5nIil9LHByZXY6ZnVuY3Rpb24oZSl7cmV0dXJuIFAoZSwicHJldmlvdXNTaWJsaW5nIil9LG5leHRBbGw6ZnVuY3Rpb24oZSl7cmV0dXJuIGsoZSwibmV4dFNpYmxpbmciKX0scHJldkFsbDpmdW5jdGlvbihlKXtyZXR1cm4gayhlLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dFVudGlsOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gayhlLCJuZXh0U2libGluZyIsbil9LHByZXZVbnRpbDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIGsoZSwicHJldmlvdXNTaWJsaW5nIixuKX0sc2libGluZ3M6ZnVuY3Rpb24oZSl7cmV0dXJuIFMoKGUucGFyZW50Tm9kZXx8e30pLmZpcnN0Q2hpbGQsZSl9LGNoaWxkcmVuOmZ1bmN0aW9uKGUpe3JldHVybiBTKGUuZmlyc3RDaGlsZCl9LGNvbnRlbnRzOmZ1bmN0aW9uKGUpe3JldHVybiBOKGUsImlmcmFtZSIpP2UuY29udGVudERvY3VtZW50OihOKGUsInRlbXBsYXRlIikmJihlPWUuY29udGVudHx8ZSksdy5tZXJnZShbXSxlLmNoaWxkTm9kZXMpKX19LGZ1bmN0aW9uKGUsdCl7dy5mbltlXT1mdW5jdGlvbihuLHIpe3ZhciBpPXcubWFwKHRoaXMsdCxuKTtyZXR1cm4iVW50aWwiIT09ZS5zbGljZSgtNSkmJihyPW4pLHImJiJzdHJpbmciPT10eXBlb2YgciYmKGk9dy5maWx0ZXIocixpKSksdGhpcy5sZW5ndGg+MSYmKE9bZV18fHcudW5pcXVlU29ydChpKSxILnRlc3QoZSkmJmkucmV2ZXJzZSgpKSx0aGlzLnB1c2hTdGFjayhpKX19KTt2YXIgTT0vW15ceDIwXHRcclxuXGZdKy9nO2Z1bmN0aW9uIFIoZSl7dmFyIHQ9e307cmV0dXJuIHcuZWFjaChlLm1hdGNoKE0pfHxbXSxmdW5jdGlvbihlLG4pe3Rbbl09ITB9KSx0fXcuQ2FsbGJhY2tzPWZ1bmN0aW9uKGUpe2U9InN0cmluZyI9PXR5cGVvZiBlP1IoZSk6dy5leHRlbmQoe30sZSk7dmFyIHQsbixyLGksbz1bXSxhPVtdLHM9LTEsdT1mdW5jdGlvbigpe2ZvcihpPWl8fGUub25jZSxyPXQ9ITA7YS5sZW5ndGg7cz0tMSl7bj1hLnNoaWZ0KCk7d2hpbGUoKytzPG8ubGVuZ3RoKSExPT09b1tzXS5hcHBseShuWzBdLG5bMV0pJiZlLnN0b3BPbkZhbHNlJiYocz1vLmxlbmd0aCxuPSExKX1lLm1lbW9yeXx8KG49ITEpLHQ9ITEsaSYmKG89bj9bXToiIil9LGw9e2FkZDpmdW5jdGlvbigpe3JldHVybiBvJiYobiYmIXQmJihzPW8ubGVuZ3RoLTEsYS5wdXNoKG4pKSxmdW5jdGlvbiB0KG4pe3cuZWFjaChuLGZ1bmN0aW9uKG4scil7ZyhyKT9lLnVuaXF1ZSYmbC5oYXMocil8fG8ucHVzaChyKTpyJiZyLmxlbmd0aCYmInN0cmluZyIhPT14KHIpJiZ0KHIpfSl9KGFyZ3VtZW50cyksbiYmIXQmJnUoKSksdGhpc30scmVtb3ZlOmZ1bmN0aW9uKCl7cmV0dXJuIHcuZWFjaChhcmd1bWVudHMsZnVuY3Rpb24oZSx0KXt2YXIgbjt3aGlsZSgobj13LmluQXJyYXkodCxvLG4pKT4tMSlvLnNwbGljZShuLDEpLG48PXMmJnMtLX0pLHRoaXN9LGhhczpmdW5jdGlvbihlKXtyZXR1cm4gZT93LmluQXJyYXkoZSxvKT4tMTpvLmxlbmd0aD4wfSxlbXB0eTpmdW5jdGlvbigpe3JldHVybiBvJiYobz1bXSksdGhpc30sZGlzYWJsZTpmdW5jdGlvbigpe3JldHVybiBpPWE9W10sbz1uPSIiLHRoaXN9LGRpc2FibGVkOmZ1bmN0aW9uKCl7cmV0dXJuIW99LGxvY2s6ZnVuY3Rpb24oKXtyZXR1cm4gaT1hPVtdLG58fHR8fChvPW49IiIpLHRoaXN9LGxvY2tlZDpmdW5jdGlvbigpe3JldHVybiEhaX0sZmlyZVdpdGg6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gaXx8KG49W2UsKG49bnx8W10pLnNsaWNlP24uc2xpY2UoKTpuXSxhLnB1c2gobiksdHx8dSgpKSx0aGlzfSxmaXJlOmZ1bmN0aW9uKCl7cmV0dXJuIGwuZmlyZVdpdGgodGhpcyxhcmd1bWVudHMpLHRoaXN9LGZpcmVkOmZ1bmN0aW9uKCl7cmV0dXJuISFyfX07cmV0dXJuIGx9O2Z1bmN0aW9uIEkoZSl7cmV0dXJuIGV9ZnVuY3Rpb24gVyhlKXt0aHJvdyBlfWZ1bmN0aW9uICQoZSx0LG4scil7dmFyIGk7dHJ5e2UmJmcoaT1lLnByb21pc2UpP2kuY2FsbChlKS5kb25lKHQpLmZhaWwobik6ZSYmZyhpPWUudGhlbik/aS5jYWxsKGUsdCxuKTp0LmFwcGx5KHZvaWQgMCxbZV0uc2xpY2UocikpfWNhdGNoKGUpe24uYXBwbHkodm9pZCAwLFtlXSl9fXcuZXh0ZW5kKHtEZWZlcnJlZDpmdW5jdGlvbih0KXt2YXIgbj1bWyJub3RpZnkiLCJwcm9ncmVzcyIsdy5DYWxsYmFja3MoIm1lbW9yeSIpLHcuQ2FsbGJhY2tzKCJtZW1vcnkiKSwyXSxbInJlc29sdmUiLCJkb25lIix3LkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSx3LkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSwwLCJyZXNvbHZlZCJdLFsicmVqZWN0IiwiZmFpbCIsdy5DYWxsYmFja3MoIm9uY2UgbWVtb3J5Iiksdy5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksMSwicmVqZWN0ZWQiXV0scj0icGVuZGluZyIsaT17c3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gcn0sYWx3YXlzOmZ1bmN0aW9uKCl7cmV0dXJuIG8uZG9uZShhcmd1bWVudHMpLmZhaWwoYXJndW1lbnRzKSx0aGlzfSwiY2F0Y2giOmZ1bmN0aW9uKGUpe3JldHVybiBpLnRoZW4obnVsbCxlKX0scGlwZTpmdW5jdGlvbigpe3ZhciBlPWFyZ3VtZW50cztyZXR1cm4gdy5EZWZlcnJlZChmdW5jdGlvbih0KXt3LmVhY2gobixmdW5jdGlvbihuLHIpe3ZhciBpPWcoZVtyWzRdXSkmJmVbcls0XV07b1tyWzFdXShmdW5jdGlvbigpe3ZhciBlPWkmJmkuYXBwbHkodGhpcyxhcmd1bWVudHMpO2UmJmcoZS5wcm9taXNlKT9lLnByb21pc2UoKS5wcm9ncmVzcyh0Lm5vdGlmeSkuZG9uZSh0LnJlc29sdmUpLmZhaWwodC5yZWplY3QpOnRbclswXSsiV2l0aCJdKHRoaXMsaT9bZV06YXJndW1lbnRzKX0pfSksZT1udWxsfSkucHJvbWlzZSgpfSx0aGVuOmZ1bmN0aW9uKHQscixpKXt2YXIgbz0wO2Z1bmN0aW9uIGEodCxuLHIsaSl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHM9dGhpcyx1PWFyZ3VtZW50cyxsPWZ1bmN0aW9uKCl7dmFyIGUsbDtpZighKHQ8bykpe2lmKChlPXIuYXBwbHkocyx1KSk9PT1uLnByb21pc2UoKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJUaGVuYWJsZSBzZWxmLXJlc29sdXRpb24iKTtsPWUmJigib2JqZWN0Ij09dHlwZW9mIGV8fCJmdW5jdGlvbiI9PXR5cGVvZiBlKSYmZS50aGVuLGcobCk/aT9sLmNhbGwoZSxhKG8sbixJLGkpLGEobyxuLFcsaSkpOihvKyssbC5jYWxsKGUsYShvLG4sSSxpKSxhKG8sbixXLGkpLGEobyxuLEksbi5ub3RpZnlXaXRoKSkpOihyIT09SSYmKHM9dm9pZCAwLHU9W2VdKSwoaXx8bi5yZXNvbHZlV2l0aCkocyx1KSl9fSxjPWk/bDpmdW5jdGlvbigpe3RyeXtsKCl9Y2F0Y2goZSl7dy5EZWZlcnJlZC5leGNlcHRpb25Ib29rJiZ3LkRlZmVycmVkLmV4Y2VwdGlvbkhvb2soZSxjLnN0YWNrVHJhY2UpLHQrMT49byYmKHIhPT1XJiYocz12b2lkIDAsdT1bZV0pLG4ucmVqZWN0V2l0aChzLHUpKX19O3Q/YygpOih3LkRlZmVycmVkLmdldFN0YWNrSG9vayYmKGMuc3RhY2tUcmFjZT13LkRlZmVycmVkLmdldFN0YWNrSG9vaygpKSxlLnNldFRpbWVvdXQoYykpfX1yZXR1cm4gdy5EZWZlcnJlZChmdW5jdGlvbihlKXtuWzBdWzNdLmFkZChhKDAsZSxnKGkpP2k6SSxlLm5vdGlmeVdpdGgpKSxuWzFdWzNdLmFkZChhKDAsZSxnKHQpP3Q6SSkpLG5bMl1bM10uYWRkKGEoMCxlLGcocik/cjpXKSl9KS5wcm9taXNlKCl9LHByb21pc2U6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGwhPWU/dy5leHRlbmQoZSxpKTppfX0sbz17fTtyZXR1cm4gdy5lYWNoKG4sZnVuY3Rpb24oZSx0KXt2YXIgYT10WzJdLHM9dFs1XTtpW3RbMV1dPWEuYWRkLHMmJmEuYWRkKGZ1bmN0aW9uKCl7cj1zfSxuWzMtZV1bMl0uZGlzYWJsZSxuWzMtZV1bM10uZGlzYWJsZSxuWzBdWzJdLmxvY2ssblswXVszXS5sb2NrKSxhLmFkZCh0WzNdLmZpcmUpLG9bdFswXV09ZnVuY3Rpb24oKXtyZXR1cm4gb1t0WzBdKyJXaXRoIl0odGhpcz09PW8/dm9pZCAwOnRoaXMsYXJndW1lbnRzKSx0aGlzfSxvW3RbMF0rIldpdGgiXT1hLmZpcmVXaXRofSksaS5wcm9taXNlKG8pLHQmJnQuY2FsbChvLG8pLG99LHdoZW46ZnVuY3Rpb24oZSl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxuPXQscj1BcnJheShuKSxpPW8uY2FsbChhcmd1bWVudHMpLGE9dy5EZWZlcnJlZCgpLHM9ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JbZV09dGhpcyxpW2VdPWFyZ3VtZW50cy5sZW5ndGg+MT9vLmNhbGwoYXJndW1lbnRzKTpuLC0tdHx8YS5yZXNvbHZlV2l0aChyLGkpfX07aWYodDw9MSYmKCQoZSxhLmRvbmUocyhuKSkucmVzb2x2ZSxhLnJlamVjdCwhdCksInBlbmRpbmciPT09YS5zdGF0ZSgpfHxnKGlbbl0mJmlbbl0udGhlbikpKXJldHVybiBhLnRoZW4oKTt3aGlsZShuLS0pJChpW25dLHMobiksYS5yZWplY3QpO3JldHVybiBhLnByb21pc2UoKX19KTt2YXIgQj0vXihFdmFsfEludGVybmFsfFJhbmdlfFJlZmVyZW5jZXxTeW50YXh8VHlwZXxVUkkpRXJyb3IkLzt3LkRlZmVycmVkLmV4Y2VwdGlvbkhvb2s9ZnVuY3Rpb24odCxuKXtlLmNvbnNvbGUmJmUuY29uc29sZS53YXJuJiZ0JiZCLnRlc3QodC5uYW1lKSYmZS5jb25zb2xlLndhcm4oImpRdWVyeS5EZWZlcnJlZCBleGNlcHRpb246ICIrdC5tZXNzYWdlLHQuc3RhY2ssbil9LHcucmVhZHlFeGNlcHRpb249ZnVuY3Rpb24odCl7ZS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgdH0pfTt2YXIgRj13LkRlZmVycmVkKCk7dy5mbi5yZWFkeT1mdW5jdGlvbihlKXtyZXR1cm4gRi50aGVuKGUpWyJjYXRjaCJdKGZ1bmN0aW9uKGUpe3cucmVhZHlFeGNlcHRpb24oZSl9KSx0aGlzfSx3LmV4dGVuZCh7aXNSZWFkeTohMSxyZWFkeVdhaXQ6MSxyZWFkeTpmdW5jdGlvbihlKXsoITA9PT1lPy0tdy5yZWFkeVdhaXQ6dy5pc1JlYWR5KXx8KHcuaXNSZWFkeT0hMCwhMCE9PWUmJi0tdy5yZWFkeVdhaXQ+MHx8Ri5yZXNvbHZlV2l0aChyLFt3XSkpfX0pLHcucmVhZHkudGhlbj1GLnRoZW47ZnVuY3Rpb24gXygpe3IucmVtb3ZlRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsXyksZS5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIixfKSx3LnJlYWR5KCl9ImNvbXBsZXRlIj09PXIucmVhZHlTdGF0ZXx8ImxvYWRpbmciIT09ci5yZWFkeVN0YXRlJiYhci5kb2N1bWVudEVsZW1lbnQuZG9TY3JvbGw/ZS5zZXRUaW1lb3V0KHcucmVhZHkpOihyLmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLF8pLGUuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsXykpO3ZhciB6PWZ1bmN0aW9uKGUsdCxuLHIsaSxvLGEpe3ZhciBzPTAsdT1lLmxlbmd0aCxsPW51bGw9PW47aWYoIm9iamVjdCI9PT14KG4pKXtpPSEwO2ZvcihzIGluIG4peihlLHQscyxuW3NdLCEwLG8sYSl9ZWxzZSBpZih2b2lkIDAhPT1yJiYoaT0hMCxnKHIpfHwoYT0hMCksbCYmKGE/KHQuY2FsbChlLHIpLHQ9bnVsbCk6KGw9dCx0PWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbC5jYWxsKHcoZSksbil9KSksdCkpZm9yKDtzPHU7cysrKXQoZVtzXSxuLGE/cjpyLmNhbGwoZVtzXSxzLHQoZVtzXSxuKSkpO3JldHVybiBpP2U6bD90LmNhbGwoZSk6dT90KGVbMF0sbik6b30sWD0vXi1tcy0vLFU9Ly0oW2Etel0pL2c7ZnVuY3Rpb24gVihlLHQpe3JldHVybiB0LnRvVXBwZXJDYXNlKCl9ZnVuY3Rpb24gRyhlKXtyZXR1cm4gZS5yZXBsYWNlKFgsIm1zLSIpLnJlcGxhY2UoVSxWKX12YXIgWT1mdW5jdGlvbihlKXtyZXR1cm4gMT09PWUubm9kZVR5cGV8fDk9PT1lLm5vZGVUeXBlfHwhK2Uubm9kZVR5cGV9O2Z1bmN0aW9uIFEoKXt0aGlzLmV4cGFuZG89dy5leHBhbmRvK1EudWlkKyt9US51aWQ9MSxRLnByb3RvdHlwZT17Y2FjaGU6ZnVuY3Rpb24oZSl7dmFyIHQ9ZVt0aGlzLmV4cGFuZG9dO3JldHVybiB0fHwodD17fSxZKGUpJiYoZS5ub2RlVHlwZT9lW3RoaXMuZXhwYW5kb109dDpPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0aGlzLmV4cGFuZG8se3ZhbHVlOnQsY29uZmlndXJhYmxlOiEwfSkpKSx0fSxzZXQ6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGk9dGhpcy5jYWNoZShlKTtpZigic3RyaW5nIj09dHlwZW9mIHQpaVtHKHQpXT1uO2Vsc2UgZm9yKHIgaW4gdClpW0cocildPXRbcl07cmV0dXJuIGl9LGdldDpmdW5jdGlvbihlLHQpe3JldHVybiB2b2lkIDA9PT10P3RoaXMuY2FjaGUoZSk6ZVt0aGlzLmV4cGFuZG9dJiZlW3RoaXMuZXhwYW5kb11bRyh0KV19LGFjY2VzczpmdW5jdGlvbihlLHQsbil7cmV0dXJuIHZvaWQgMD09PXR8fHQmJiJzdHJpbmciPT10eXBlb2YgdCYmdm9pZCAwPT09bj90aGlzLmdldChlLHQpOih0aGlzLnNldChlLHQsbiksdm9pZCAwIT09bj9uOnQpfSxyZW1vdmU6ZnVuY3Rpb24oZSx0KXt2YXIgbixyPWVbdGhpcy5leHBhbmRvXTtpZih2b2lkIDAhPT1yKXtpZih2b2lkIDAhPT10KXtuPSh0PUFycmF5LmlzQXJyYXkodCk/dC5tYXAoRyk6KHQ9Ryh0KSlpbiByP1t0XTp0Lm1hdGNoKE0pfHxbXSkubGVuZ3RoO3doaWxlKG4tLSlkZWxldGUgclt0W25dXX0odm9pZCAwPT09dHx8dy5pc0VtcHR5T2JqZWN0KHIpKSYmKGUubm9kZVR5cGU/ZVt0aGlzLmV4cGFuZG9dPXZvaWQgMDpkZWxldGUgZVt0aGlzLmV4cGFuZG9dKX19LGhhc0RhdGE6ZnVuY3Rpb24oZSl7dmFyIHQ9ZVt0aGlzLmV4cGFuZG9dO3JldHVybiB2b2lkIDAhPT10JiYhdy5pc0VtcHR5T2JqZWN0KHQpfX07dmFyIEo9bmV3IFEsSz1uZXcgUSxaPS9eKD86XHtbXHdcV10qXH18XFtbXHdcV10qXF0pJC8sZWU9L1tBLVpdL2c7ZnVuY3Rpb24gdGUoZSl7cmV0dXJuInRydWUiPT09ZXx8ImZhbHNlIiE9PWUmJigibnVsbCI9PT1lP251bGw6ZT09PStlKyIiPytlOloudGVzdChlKT9KU09OLnBhcnNlKGUpOmUpfWZ1bmN0aW9uIG5lKGUsdCxuKXt2YXIgcjtpZih2b2lkIDA9PT1uJiYxPT09ZS5ub2RlVHlwZSlpZihyPSJkYXRhLSIrdC5yZXBsYWNlKGVlLCItJCYiKS50b0xvd2VyQ2FzZSgpLCJzdHJpbmciPT10eXBlb2Yobj1lLmdldEF0dHJpYnV0ZShyKSkpe3RyeXtuPXRlKG4pfWNhdGNoKGUpe31LLnNldChlLHQsbil9ZWxzZSBuPXZvaWQgMDtyZXR1cm4gbn13LmV4dGVuZCh7aGFzRGF0YTpmdW5jdGlvbihlKXtyZXR1cm4gSy5oYXNEYXRhKGUpfHxKLmhhc0RhdGEoZSl9LGRhdGE6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBLLmFjY2VzcyhlLHQsbil9LHJlbW92ZURhdGE6ZnVuY3Rpb24oZSx0KXtLLnJlbW92ZShlLHQpfSxfZGF0YTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIEouYWNjZXNzKGUsdCxuKX0sX3JlbW92ZURhdGE6ZnVuY3Rpb24oZSx0KXtKLnJlbW92ZShlLHQpfX0pLHcuZm4uZXh0ZW5kKHtkYXRhOmZ1bmN0aW9uKGUsdCl7dmFyIG4scixpLG89dGhpc1swXSxhPW8mJm8uYXR0cmlidXRlcztpZih2b2lkIDA9PT1lKXtpZih0aGlzLmxlbmd0aCYmKGk9Sy5nZXQobyksMT09PW8ubm9kZVR5cGUmJiFKLmdldChvLCJoYXNEYXRhQXR0cnMiKSkpe249YS5sZW5ndGg7d2hpbGUobi0tKWFbbl0mJjA9PT0ocj1hW25dLm5hbWUpLmluZGV4T2YoImRhdGEtIikmJihyPUcoci5zbGljZSg1KSksbmUobyxyLGlbcl0pKTtKLnNldChvLCJoYXNEYXRhQXR0cnMiLCEwKX1yZXR1cm4gaX1yZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGU/dGhpcy5lYWNoKGZ1bmN0aW9uKCl7Sy5zZXQodGhpcyxlKX0pOnoodGhpcyxmdW5jdGlvbih0KXt2YXIgbjtpZihvJiZ2b2lkIDA9PT10KXtpZih2b2lkIDAhPT0obj1LLmdldChvLGUpKSlyZXR1cm4gbjtpZih2b2lkIDAhPT0obj1uZShvLGUpKSlyZXR1cm4gbn1lbHNlIHRoaXMuZWFjaChmdW5jdGlvbigpe0suc2V0KHRoaXMsZSx0KX0pfSxudWxsLHQsYXJndW1lbnRzLmxlbmd0aD4xLG51bGwsITApfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtLLnJlbW92ZSh0aGlzLGUpfSl9fSksdy5leHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcjtpZihlKXJldHVybiB0PSh0fHwiZngiKSsicXVldWUiLHI9Si5nZXQoZSx0KSxuJiYoIXJ8fEFycmF5LmlzQXJyYXkobik/cj1KLmFjY2VzcyhlLHQsdy5tYWtlQXJyYXkobikpOnIucHVzaChuKSkscnx8W119LGRlcXVldWU6ZnVuY3Rpb24oZSx0KXt0PXR8fCJmeCI7dmFyIG49dy5xdWV1ZShlLHQpLHI9bi5sZW5ndGgsaT1uLnNoaWZ0KCksbz13Ll9xdWV1ZUhvb2tzKGUsdCksYT1mdW5jdGlvbigpe3cuZGVxdWV1ZShlLHQpfTsiaW5wcm9ncmVzcyI9PT1pJiYoaT1uLnNoaWZ0KCksci0tKSxpJiYoImZ4Ij09PXQmJm4udW5zaGlmdCgiaW5wcm9ncmVzcyIpLGRlbGV0ZSBvLnN0b3AsaS5jYWxsKGUsYSxvKSksIXImJm8mJm8uZW1wdHkuZmlyZSgpfSxfcXVldWVIb29rczpmdW5jdGlvbihlLHQpe3ZhciBuPXQrInF1ZXVlSG9va3MiO3JldHVybiBKLmdldChlLG4pfHxKLmFjY2VzcyhlLG4se2VtcHR5OncuQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLmFkZChmdW5jdGlvbigpe0oucmVtb3ZlKGUsW3QrInF1ZXVlIixuXSl9KX0pfX0pLHcuZm4uZXh0ZW5kKHtxdWV1ZTpmdW5jdGlvbihlLHQpe3ZhciBuPTI7cmV0dXJuInN0cmluZyIhPXR5cGVvZiBlJiYodD1lLGU9ImZ4IixuLS0pLGFyZ3VtZW50cy5sZW5ndGg8bj93LnF1ZXVlKHRoaXNbMF0sZSk6dm9pZCAwPT09dD90aGlzOnRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBuPXcucXVldWUodGhpcyxlLHQpO3cuX3F1ZXVlSG9va3ModGhpcyxlKSwiZngiPT09ZSYmImlucHJvZ3Jlc3MiIT09blswXSYmdy5kZXF1ZXVlKHRoaXMsZSl9KX0sZGVxdWV1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dy5kZXF1ZXVlKHRoaXMsZSl9KX0sY2xlYXJRdWV1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5xdWV1ZShlfHwiZngiLFtdKX0scHJvbWlzZTpmdW5jdGlvbihlLHQpe3ZhciBuLHI9MSxpPXcuRGVmZXJyZWQoKSxvPXRoaXMsYT10aGlzLmxlbmd0aCxzPWZ1bmN0aW9uKCl7LS1yfHxpLnJlc29sdmVXaXRoKG8sW29dKX07InN0cmluZyIhPXR5cGVvZiBlJiYodD1lLGU9dm9pZCAwKSxlPWV8fCJmeCI7d2hpbGUoYS0tKShuPUouZ2V0KG9bYV0sZSsicXVldWVIb29rcyIpKSYmbi5lbXB0eSYmKHIrKyxuLmVtcHR5LmFkZChzKSk7cmV0dXJuIHMoKSxpLnByb21pc2UodCl9fSk7dmFyIHJlPS9bKy1dPyg/OlxkKlwufClcZCsoPzpbZUVdWystXT9cZCt8KS8uc291cmNlLGllPW5ldyBSZWdFeHAoIl4oPzooWystXSk9fCkoIityZSsiKShbYS16JV0qKSQiLCJpIiksb2U9WyJUb3AiLCJSaWdodCIsIkJvdHRvbSIsIkxlZnQiXSxhZT1mdW5jdGlvbihlLHQpe3JldHVybiJub25lIj09PShlPXR8fGUpLnN0eWxlLmRpc3BsYXl8fCIiPT09ZS5zdHlsZS5kaXNwbGF5JiZ3LmNvbnRhaW5zKGUub3duZXJEb2N1bWVudCxlKSYmIm5vbmUiPT09dy5jc3MoZSwiZGlzcGxheSIpfSxzZT1mdW5jdGlvbihlLHQsbixyKXt2YXIgaSxvLGE9e307Zm9yKG8gaW4gdClhW29dPWUuc3R5bGVbb10sZS5zdHlsZVtvXT10W29dO2k9bi5hcHBseShlLHJ8fFtdKTtmb3IobyBpbiB0KWUuc3R5bGVbb109YVtvXTtyZXR1cm4gaX07ZnVuY3Rpb24gdWUoZSx0LG4scil7dmFyIGksbyxhPTIwLHM9cj9mdW5jdGlvbigpe3JldHVybiByLmN1cigpfTpmdW5jdGlvbigpe3JldHVybiB3LmNzcyhlLHQsIiIpfSx1PXMoKSxsPW4mJm5bM118fCh3LmNzc051bWJlclt0XT8iIjoicHgiKSxjPSh3LmNzc051bWJlclt0XXx8InB4IiE9PWwmJit1KSYmaWUuZXhlYyh3LmNzcyhlLHQpKTtpZihjJiZjWzNdIT09bCl7dS89MixsPWx8fGNbM10sYz0rdXx8MTt3aGlsZShhLS0pdy5zdHlsZShlLHQsYytsKSwoMS1vKSooMS0obz1zKCkvdXx8LjUpKTw9MCYmKGE9MCksYy89bztjKj0yLHcuc3R5bGUoZSx0LGMrbCksbj1ufHxbXX1yZXR1cm4gbiYmKGM9K2N8fCt1fHwwLGk9blsxXT9jKyhuWzFdKzEpKm5bMl06K25bMl0sciYmKHIudW5pdD1sLHIuc3RhcnQ9YyxyLmVuZD1pKSksaX12YXIgbGU9e307ZnVuY3Rpb24gY2UoZSl7dmFyIHQsbj1lLm93bmVyRG9jdW1lbnQscj1lLm5vZGVOYW1lLGk9bGVbcl07cmV0dXJuIGl8fCh0PW4uYm9keS5hcHBlbmRDaGlsZChuLmNyZWF0ZUVsZW1lbnQocikpLGk9dy5jc3ModCwiZGlzcGxheSIpLHQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KSwibm9uZSI9PT1pJiYoaT0iYmxvY2siKSxsZVtyXT1pLGkpfWZ1bmN0aW9uIGZlKGUsdCl7Zm9yKHZhciBuLHIsaT1bXSxvPTAsYT1lLmxlbmd0aDtvPGE7bysrKShyPWVbb10pLnN0eWxlJiYobj1yLnN0eWxlLmRpc3BsYXksdD8oIm5vbmUiPT09biYmKGlbb109Si5nZXQociwiZGlzcGxheSIpfHxudWxsLGlbb118fChyLnN0eWxlLmRpc3BsYXk9IiIpKSwiIj09PXIuc3R5bGUuZGlzcGxheSYmYWUocikmJihpW29dPWNlKHIpKSk6Im5vbmUiIT09biYmKGlbb109Im5vbmUiLEouc2V0KHIsImRpc3BsYXkiLG4pKSk7Zm9yKG89MDtvPGE7bysrKW51bGwhPWlbb10mJihlW29dLnN0eWxlLmRpc3BsYXk9aVtvXSk7cmV0dXJuIGV9dy5mbi5leHRlbmQoe3Nob3c6ZnVuY3Rpb24oKXtyZXR1cm4gZmUodGhpcywhMCl9LGhpZGU6ZnVuY3Rpb24oKXtyZXR1cm4gZmUodGhpcyl9LHRvZ2dsZTpmdW5jdGlvbihlKXtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiBlP2U/dGhpcy5zaG93KCk6dGhpcy5oaWRlKCk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7YWUodGhpcyk/dyh0aGlzKS5zaG93KCk6dyh0aGlzKS5oaWRlKCl9KX19KTt2YXIgcGU9L14oPzpjaGVja2JveHxyYWRpbykkL2ksZGU9LzwoW2Etel1bXlwvXDA+XHgyMFx0XHJcblxmXSspL2ksaGU9L14kfF5tb2R1bGUkfFwvKD86amF2YXxlY21hKXNjcmlwdC9pLGdlPXtvcHRpb246WzEsIjxzZWxlY3QgbXVsdGlwbGU9J211bHRpcGxlJz4iLCI8L3NlbGVjdD4iXSx0aGVhZDpbMSwiPHRhYmxlPiIsIjwvdGFibGU+Il0sY29sOlsyLCI8dGFibGU+PGNvbGdyb3VwPiIsIjwvY29sZ3JvdXA+PC90YWJsZT4iXSx0cjpbMiwiPHRhYmxlPjx0Ym9keT4iLCI8L3Rib2R5PjwvdGFibGU+Il0sdGQ6WzMsIjx0YWJsZT48dGJvZHk+PHRyPiIsIjwvdHI+PC90Ym9keT48L3RhYmxlPiJdLF9kZWZhdWx0OlswLCIiLCIiXX07Z2Uub3B0Z3JvdXA9Z2Uub3B0aW9uLGdlLnRib2R5PWdlLnRmb290PWdlLmNvbGdyb3VwPWdlLmNhcHRpb249Z2UudGhlYWQsZ2UudGg9Z2UudGQ7ZnVuY3Rpb24geWUoZSx0KXt2YXIgbjtyZXR1cm4gbj0idW5kZWZpbmVkIiE9dHlwZW9mIGUuZ2V0RWxlbWVudHNCeVRhZ05hbWU/ZS5nZXRFbGVtZW50c0J5VGFnTmFtZSh0fHwiKiIpOiJ1bmRlZmluZWQiIT10eXBlb2YgZS5xdWVyeVNlbGVjdG9yQWxsP2UucXVlcnlTZWxlY3RvckFsbCh0fHwiKiIpOltdLHZvaWQgMD09PXR8fHQmJk4oZSx0KT93Lm1lcmdlKFtlXSxuKTpufWZ1bmN0aW9uIHZlKGUsdCl7Zm9yKHZhciBuPTAscj1lLmxlbmd0aDtuPHI7bisrKUouc2V0KGVbbl0sImdsb2JhbEV2YWwiLCF0fHxKLmdldCh0W25dLCJnbG9iYWxFdmFsIikpfXZhciBtZT0vPHwmIz9cdys7LztmdW5jdGlvbiB4ZShlLHQsbixyLGkpe2Zvcih2YXIgbyxhLHMsdSxsLGMsZj10LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxwPVtdLGQ9MCxoPWUubGVuZ3RoO2Q8aDtkKyspaWYoKG89ZVtkXSl8fDA9PT1vKWlmKCJvYmplY3QiPT09eChvKSl3Lm1lcmdlKHAsby5ub2RlVHlwZT9bb106byk7ZWxzZSBpZihtZS50ZXN0KG8pKXthPWF8fGYuYXBwZW5kQ2hpbGQodC5jcmVhdGVFbGVtZW50KCJkaXYiKSkscz0oZGUuZXhlYyhvKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKSx1PWdlW3NdfHxnZS5fZGVmYXVsdCxhLmlubmVySFRNTD11WzFdK3cuaHRtbFByZWZpbHRlcihvKSt1WzJdLGM9dVswXTt3aGlsZShjLS0pYT1hLmxhc3RDaGlsZDt3Lm1lcmdlKHAsYS5jaGlsZE5vZGVzKSwoYT1mLmZpcnN0Q2hpbGQpLnRleHRDb250ZW50PSIifWVsc2UgcC5wdXNoKHQuY3JlYXRlVGV4dE5vZGUobykpO2YudGV4dENvbnRlbnQ9IiIsZD0wO3doaWxlKG89cFtkKytdKWlmKHImJncuaW5BcnJheShvLHIpPi0xKWkmJmkucHVzaChvKTtlbHNlIGlmKGw9dy5jb250YWlucyhvLm93bmVyRG9jdW1lbnQsbyksYT15ZShmLmFwcGVuZENoaWxkKG8pLCJzY3JpcHQiKSxsJiZ2ZShhKSxuKXtjPTA7d2hpbGUobz1hW2MrK10paGUudGVzdChvLnR5cGV8fCIiKSYmbi5wdXNoKG8pfXJldHVybiBmfSFmdW5jdGlvbigpe3ZhciBlPXIuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLmFwcGVuZENoaWxkKHIuY3JlYXRlRWxlbWVudCgiZGl2IikpLHQ9ci5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO3Quc2V0QXR0cmlidXRlKCJ0eXBlIiwicmFkaW8iKSx0LnNldEF0dHJpYnV0ZSgiY2hlY2tlZCIsImNoZWNrZWQiKSx0LnNldEF0dHJpYnV0ZSgibmFtZSIsInQiKSxlLmFwcGVuZENoaWxkKHQpLGguY2hlY2tDbG9uZT1lLmNsb25lTm9kZSghMCkuY2xvbmVOb2RlKCEwKS5sYXN0Q2hpbGQuY2hlY2tlZCxlLmlubmVySFRNTD0iPHRleHRhcmVhPng8L3RleHRhcmVhPiIsaC5ub0Nsb25lQ2hlY2tlZD0hIWUuY2xvbmVOb2RlKCEwKS5sYXN0Q2hpbGQuZGVmYXVsdFZhbHVlfSgpO3ZhciBiZT1yLmRvY3VtZW50RWxlbWVudCx3ZT0vXmtleS8sVGU9L14oPzptb3VzZXxwb2ludGVyfGNvbnRleHRtZW51fGRyYWd8ZHJvcCl8Y2xpY2svLENlPS9eKFteLl0qKSg/OlwuKC4rKXwpLztmdW5jdGlvbiBFZSgpe3JldHVybiEwfWZ1bmN0aW9uIGtlKCl7cmV0dXJuITF9ZnVuY3Rpb24gU2UoKXt0cnl7cmV0dXJuIHIuYWN0aXZlRWxlbWVudH1jYXRjaChlKXt9fWZ1bmN0aW9uIERlKGUsdCxuLHIsaSxvKXt2YXIgYSxzO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7InN0cmluZyIhPXR5cGVvZiBuJiYocj1yfHxuLG49dm9pZCAwKTtmb3IocyBpbiB0KURlKGUscyxuLHIsdFtzXSxvKTtyZXR1cm4gZX1pZihudWxsPT1yJiZudWxsPT1pPyhpPW4scj1uPXZvaWQgMCk6bnVsbD09aSYmKCJzdHJpbmciPT10eXBlb2Ygbj8oaT1yLHI9dm9pZCAwKTooaT1yLHI9bixuPXZvaWQgMCkpLCExPT09aSlpPWtlO2Vsc2UgaWYoIWkpcmV0dXJuIGU7cmV0dXJuIDE9PT1vJiYoYT1pLChpPWZ1bmN0aW9uKGUpe3JldHVybiB3KCkub2ZmKGUpLGEuYXBwbHkodGhpcyxhcmd1bWVudHMpfSkuZ3VpZD1hLmd1aWR8fChhLmd1aWQ9dy5ndWlkKyspKSxlLmVhY2goZnVuY3Rpb24oKXt3LmV2ZW50LmFkZCh0aGlzLHQsaSxyLG4pfSl9dy5ldmVudD17Z2xvYmFsOnt9LGFkZDpmdW5jdGlvbihlLHQsbixyLGkpe3ZhciBvLGEscyx1LGwsYyxmLHAsZCxoLGcseT1KLmdldChlKTtpZih5KXtuLmhhbmRsZXImJihuPShvPW4pLmhhbmRsZXIsaT1vLnNlbGVjdG9yKSxpJiZ3LmZpbmQubWF0Y2hlc1NlbGVjdG9yKGJlLGkpLG4uZ3VpZHx8KG4uZ3VpZD13Lmd1aWQrKyksKHU9eS5ldmVudHMpfHwodT15LmV2ZW50cz17fSksKGE9eS5oYW5kbGUpfHwoYT15LmhhbmRsZT1mdW5jdGlvbih0KXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIHcmJncuZXZlbnQudHJpZ2dlcmVkIT09dC50eXBlP3cuZXZlbnQuZGlzcGF0Y2guYXBwbHkoZSxhcmd1bWVudHMpOnZvaWQgMH0pLGw9KHQ9KHR8fCIiKS5tYXRjaChNKXx8WyIiXSkubGVuZ3RoO3doaWxlKGwtLSlkPWc9KHM9Q2UuZXhlYyh0W2xdKXx8W10pWzFdLGg9KHNbMl18fCIiKS5zcGxpdCgiLiIpLnNvcnQoKSxkJiYoZj13LmV2ZW50LnNwZWNpYWxbZF18fHt9LGQ9KGk/Zi5kZWxlZ2F0ZVR5cGU6Zi5iaW5kVHlwZSl8fGQsZj13LmV2ZW50LnNwZWNpYWxbZF18fHt9LGM9dy5leHRlbmQoe3R5cGU6ZCxvcmlnVHlwZTpnLGRhdGE6cixoYW5kbGVyOm4sZ3VpZDpuLmd1aWQsc2VsZWN0b3I6aSxuZWVkc0NvbnRleHQ6aSYmdy5leHByLm1hdGNoLm5lZWRzQ29udGV4dC50ZXN0KGkpLG5hbWVzcGFjZTpoLmpvaW4oIi4iKX0sbyksKHA9dVtkXSl8fCgocD11W2RdPVtdKS5kZWxlZ2F0ZUNvdW50PTAsZi5zZXR1cCYmITEhPT1mLnNldHVwLmNhbGwoZSxyLGgsYSl8fGUuYWRkRXZlbnRMaXN0ZW5lciYmZS5hZGRFdmVudExpc3RlbmVyKGQsYSkpLGYuYWRkJiYoZi5hZGQuY2FsbChlLGMpLGMuaGFuZGxlci5ndWlkfHwoYy5oYW5kbGVyLmd1aWQ9bi5ndWlkKSksaT9wLnNwbGljZShwLmRlbGVnYXRlQ291bnQrKywwLGMpOnAucHVzaChjKSx3LmV2ZW50Lmdsb2JhbFtkXT0hMCl9fSxyZW1vdmU6ZnVuY3Rpb24oZSx0LG4scixpKXt2YXIgbyxhLHMsdSxsLGMsZixwLGQsaCxnLHk9Si5oYXNEYXRhKGUpJiZKLmdldChlKTtpZih5JiYodT15LmV2ZW50cykpe2w9KHQ9KHR8fCIiKS5tYXRjaChNKXx8WyIiXSkubGVuZ3RoO3doaWxlKGwtLSlpZihzPUNlLmV4ZWModFtsXSl8fFtdLGQ9Zz1zWzFdLGg9KHNbMl18fCIiKS5zcGxpdCgiLiIpLnNvcnQoKSxkKXtmPXcuZXZlbnQuc3BlY2lhbFtkXXx8e30scD11W2Q9KHI/Zi5kZWxlZ2F0ZVR5cGU6Zi5iaW5kVHlwZSl8fGRdfHxbXSxzPXNbMl0mJm5ldyBSZWdFeHAoIihefFxcLikiK2guam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIiksYT1vPXAubGVuZ3RoO3doaWxlKG8tLSljPXBbb10sIWkmJmchPT1jLm9yaWdUeXBlfHxuJiZuLmd1aWQhPT1jLmd1aWR8fHMmJiFzLnRlc3QoYy5uYW1lc3BhY2UpfHxyJiZyIT09Yy5zZWxlY3RvciYmKCIqKiIhPT1yfHwhYy5zZWxlY3Rvcil8fChwLnNwbGljZShvLDEpLGMuc2VsZWN0b3ImJnAuZGVsZWdhdGVDb3VudC0tLGYucmVtb3ZlJiZmLnJlbW92ZS5jYWxsKGUsYykpO2EmJiFwLmxlbmd0aCYmKGYudGVhcmRvd24mJiExIT09Zi50ZWFyZG93bi5jYWxsKGUsaCx5LmhhbmRsZSl8fHcucmVtb3ZlRXZlbnQoZSxkLHkuaGFuZGxlKSxkZWxldGUgdVtkXSl9ZWxzZSBmb3IoZCBpbiB1KXcuZXZlbnQucmVtb3ZlKGUsZCt0W2xdLG4sciwhMCk7dy5pc0VtcHR5T2JqZWN0KHUpJiZKLnJlbW92ZShlLCJoYW5kbGUgZXZlbnRzIil9fSxkaXNwYXRjaDpmdW5jdGlvbihlKXt2YXIgdD13LmV2ZW50LmZpeChlKSxuLHIsaSxvLGEscyx1PW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoKSxsPShKLmdldCh0aGlzLCJldmVudHMiKXx8e30pW3QudHlwZV18fFtdLGM9dy5ldmVudC5zcGVjaWFsW3QudHlwZV18fHt9O2Zvcih1WzBdPXQsbj0xO248YXJndW1lbnRzLmxlbmd0aDtuKyspdVtuXT1hcmd1bWVudHNbbl07aWYodC5kZWxlZ2F0ZVRhcmdldD10aGlzLCFjLnByZURpc3BhdGNofHwhMSE9PWMucHJlRGlzcGF0Y2guY2FsbCh0aGlzLHQpKXtzPXcuZXZlbnQuaGFuZGxlcnMuY2FsbCh0aGlzLHQsbCksbj0wO3doaWxlKChvPXNbbisrXSkmJiF0LmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpe3QuY3VycmVudFRhcmdldD1vLmVsZW0scj0wO3doaWxlKChhPW8uaGFuZGxlcnNbcisrXSkmJiF0LmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkKCkpdC5ybmFtZXNwYWNlJiYhdC5ybmFtZXNwYWNlLnRlc3QoYS5uYW1lc3BhY2UpfHwodC5oYW5kbGVPYmo9YSx0LmRhdGE9YS5kYXRhLHZvaWQgMCE9PShpPSgody5ldmVudC5zcGVjaWFsW2Eub3JpZ1R5cGVdfHx7fSkuaGFuZGxlfHxhLmhhbmRsZXIpLmFwcGx5KG8uZWxlbSx1KSkmJiExPT09KHQucmVzdWx0PWkpJiYodC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcFByb3BhZ2F0aW9uKCkpKX1yZXR1cm4gYy5wb3N0RGlzcGF0Y2gmJmMucG9zdERpc3BhdGNoLmNhbGwodGhpcyx0KSx0LnJlc3VsdH19LGhhbmRsZXJzOmZ1bmN0aW9uKGUsdCl7dmFyIG4scixpLG8sYSxzPVtdLHU9dC5kZWxlZ2F0ZUNvdW50LGw9ZS50YXJnZXQ7aWYodSYmbC5ub2RlVHlwZSYmISgiY2xpY2siPT09ZS50eXBlJiZlLmJ1dHRvbj49MSkpZm9yKDtsIT09dGhpcztsPWwucGFyZW50Tm9kZXx8dGhpcylpZigxPT09bC5ub2RlVHlwZSYmKCJjbGljayIhPT1lLnR5cGV8fCEwIT09bC5kaXNhYmxlZCkpe2ZvcihvPVtdLGE9e30sbj0wO248dTtuKyspdm9pZCAwPT09YVtpPShyPXRbbl0pLnNlbGVjdG9yKyIgIl0mJihhW2ldPXIubmVlZHNDb250ZXh0P3coaSx0aGlzKS5pbmRleChsKT4tMTp3LmZpbmQoaSx0aGlzLG51bGwsW2xdKS5sZW5ndGgpLGFbaV0mJm8ucHVzaChyKTtvLmxlbmd0aCYmcy5wdXNoKHtlbGVtOmwsaGFuZGxlcnM6b30pfXJldHVybiBsPXRoaXMsdTx0Lmxlbmd0aCYmcy5wdXNoKHtlbGVtOmwsaGFuZGxlcnM6dC5zbGljZSh1KX0pLHN9LGFkZFByb3A6ZnVuY3Rpb24oZSx0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkody5FdmVudC5wcm90b3R5cGUsZSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsZ2V0OmcodCk/ZnVuY3Rpb24oKXtpZih0aGlzLm9yaWdpbmFsRXZlbnQpcmV0dXJuIHQodGhpcy5vcmlnaW5hbEV2ZW50KX06ZnVuY3Rpb24oKXtpZih0aGlzLm9yaWdpbmFsRXZlbnQpcmV0dXJuIHRoaXMub3JpZ2luYWxFdmVudFtlXX0sc2V0OmZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLGUse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnR9KX19KX0sZml4OmZ1bmN0aW9uKGUpe3JldHVybiBlW3cuZXhwYW5kb10/ZTpuZXcgdy5FdmVudChlKX0sc3BlY2lhbDp7bG9hZDp7bm9CdWJibGU6ITB9LGZvY3VzOnt0cmlnZ2VyOmZ1bmN0aW9uKCl7aWYodGhpcyE9PVNlKCkmJnRoaXMuZm9jdXMpcmV0dXJuIHRoaXMuZm9jdXMoKSwhMX0sZGVsZWdhdGVUeXBlOiJmb2N1c2luIn0sYmx1cjp7dHJpZ2dlcjpmdW5jdGlvbigpe2lmKHRoaXM9PT1TZSgpJiZ0aGlzLmJsdXIpcmV0dXJuIHRoaXMuYmx1cigpLCExfSxkZWxlZ2F0ZVR5cGU6ImZvY3Vzb3V0In0sY2xpY2s6e3RyaWdnZXI6ZnVuY3Rpb24oKXtpZigiY2hlY2tib3giPT09dGhpcy50eXBlJiZ0aGlzLmNsaWNrJiZOKHRoaXMsImlucHV0IikpcmV0dXJuIHRoaXMuY2xpY2soKSwhMX0sX2RlZmF1bHQ6ZnVuY3Rpb24oZSl7cmV0dXJuIE4oZS50YXJnZXQsImEiKX19LGJlZm9yZXVubG9hZDp7cG9zdERpc3BhdGNoOmZ1bmN0aW9uKGUpe3ZvaWQgMCE9PWUucmVzdWx0JiZlLm9yaWdpbmFsRXZlbnQmJihlLm9yaWdpbmFsRXZlbnQucmV0dXJuVmFsdWU9ZS5yZXN1bHQpfX19fSx3LnJlbW92ZUV2ZW50PWZ1bmN0aW9uKGUsdCxuKXtlLnJlbW92ZUV2ZW50TGlzdGVuZXImJmUucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LG4pfSx3LkV2ZW50PWZ1bmN0aW9uKGUsdCl7aWYoISh0aGlzIGluc3RhbmNlb2Ygdy5FdmVudCkpcmV0dXJuIG5ldyB3LkV2ZW50KGUsdCk7ZSYmZS50eXBlPyh0aGlzLm9yaWdpbmFsRXZlbnQ9ZSx0aGlzLnR5cGU9ZS50eXBlLHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPWUuZGVmYXVsdFByZXZlbnRlZHx8dm9pZCAwPT09ZS5kZWZhdWx0UHJldmVudGVkJiYhMT09PWUucmV0dXJuVmFsdWU/RWU6a2UsdGhpcy50YXJnZXQ9ZS50YXJnZXQmJjM9PT1lLnRhcmdldC5ub2RlVHlwZT9lLnRhcmdldC5wYXJlbnROb2RlOmUudGFyZ2V0LHRoaXMuY3VycmVudFRhcmdldD1lLmN1cnJlbnRUYXJnZXQsdGhpcy5yZWxhdGVkVGFyZ2V0PWUucmVsYXRlZFRhcmdldCk6dGhpcy50eXBlPWUsdCYmdy5leHRlbmQodGhpcyx0KSx0aGlzLnRpbWVTdGFtcD1lJiZlLnRpbWVTdGFtcHx8RGF0ZS5ub3coKSx0aGlzW3cuZXhwYW5kb109ITB9LHcuRXZlbnQucHJvdG90eXBlPXtjb25zdHJ1Y3Rvcjp3LkV2ZW50LGlzRGVmYXVsdFByZXZlbnRlZDprZSxpc1Byb3BhZ2F0aW9uU3RvcHBlZDprZSxpc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZDprZSxpc1NpbXVsYXRlZDohMSxwcmV2ZW50RGVmYXVsdDpmdW5jdGlvbigpe3ZhciBlPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1FZSxlJiYhdGhpcy5pc1NpbXVsYXRlZCYmZS5wcmV2ZW50RGVmYXVsdCgpfSxzdG9wUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1FZSxlJiYhdGhpcy5pc1NpbXVsYXRlZCYmZS5zdG9wUHJvcGFnYXRpb24oKX0sc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ9RWUsZSYmIXRoaXMuaXNTaW11bGF0ZWQmJmUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksdGhpcy5zdG9wUHJvcGFnYXRpb24oKX19LHcuZWFjaCh7YWx0S2V5OiEwLGJ1YmJsZXM6ITAsY2FuY2VsYWJsZTohMCxjaGFuZ2VkVG91Y2hlczohMCxjdHJsS2V5OiEwLGRldGFpbDohMCxldmVudFBoYXNlOiEwLG1ldGFLZXk6ITAscGFnZVg6ITAscGFnZVk6ITAsc2hpZnRLZXk6ITAsdmlldzohMCwiY2hhciI6ITAsY2hhckNvZGU6ITAsa2V5OiEwLGtleUNvZGU6ITAsYnV0dG9uOiEwLGJ1dHRvbnM6ITAsY2xpZW50WDohMCxjbGllbnRZOiEwLG9mZnNldFg6ITAsb2Zmc2V0WTohMCxwb2ludGVySWQ6ITAscG9pbnRlclR5cGU6ITAsc2NyZWVuWDohMCxzY3JlZW5ZOiEwLHRhcmdldFRvdWNoZXM6ITAsdG9FbGVtZW50OiEwLHRvdWNoZXM6ITAsd2hpY2g6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5idXR0b247cmV0dXJuIG51bGw9PWUud2hpY2gmJndlLnRlc3QoZS50eXBlKT9udWxsIT1lLmNoYXJDb2RlP2UuY2hhckNvZGU6ZS5rZXlDb2RlOiFlLndoaWNoJiZ2b2lkIDAhPT10JiZUZS50ZXN0KGUudHlwZSk/MSZ0PzE6MiZ0PzM6NCZ0PzI6MDplLndoaWNofX0sdy5ldmVudC5hZGRQcm9wKSx3LmVhY2goe21vdXNlZW50ZXI6Im1vdXNlb3ZlciIsbW91c2VsZWF2ZToibW91c2VvdXQiLHBvaW50ZXJlbnRlcjoicG9pbnRlcm92ZXIiLHBvaW50ZXJsZWF2ZToicG9pbnRlcm91dCJ9LGZ1bmN0aW9uKGUsdCl7dy5ldmVudC5zcGVjaWFsW2VdPXtkZWxlZ2F0ZVR5cGU6dCxiaW5kVHlwZTp0LGhhbmRsZTpmdW5jdGlvbihlKXt2YXIgbixyPXRoaXMsaT1lLnJlbGF0ZWRUYXJnZXQsbz1lLmhhbmRsZU9iajtyZXR1cm4gaSYmKGk9PT1yfHx3LmNvbnRhaW5zKHIsaSkpfHwoZS50eXBlPW8ub3JpZ1R5cGUsbj1vLmhhbmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpLGUudHlwZT10KSxufX19KSx3LmZuLmV4dGVuZCh7b246ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIERlKHRoaXMsZSx0LG4scil9LG9uZTpmdW5jdGlvbihlLHQsbixyKXtyZXR1cm4gRGUodGhpcyxlLHQsbixyLDEpfSxvZmY6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGk7aWYoZSYmZS5wcmV2ZW50RGVmYXVsdCYmZS5oYW5kbGVPYmopcmV0dXJuIHI9ZS5oYW5kbGVPYmosdyhlLmRlbGVnYXRlVGFyZ2V0KS5vZmYoci5uYW1lc3BhY2U/ci5vcmlnVHlwZSsiLiIrci5uYW1lc3BhY2U6ci5vcmlnVHlwZSxyLnNlbGVjdG9yLHIuaGFuZGxlciksdGhpcztpZigib2JqZWN0Ij09dHlwZW9mIGUpe2ZvcihpIGluIGUpdGhpcy5vZmYoaSx0LGVbaV0pO3JldHVybiB0aGlzfXJldHVybiExIT09dCYmImZ1bmN0aW9uIiE9dHlwZW9mIHR8fChuPXQsdD12b2lkIDApLCExPT09biYmKG49a2UpLHRoaXMuZWFjaChmdW5jdGlvbigpe3cuZXZlbnQucmVtb3ZlKHRoaXMsZSxuLHQpfSl9fSk7dmFyIE5lPS88KD8hYXJlYXxicnxjb2x8ZW1iZWR8aHJ8aW1nfGlucHV0fGxpbmt8bWV0YXxwYXJhbSkoKFthLXpdW15cL1wwPlx4MjBcdFxyXG5cZl0qKVtePl0qKVwvPi9naSxBZT0vPHNjcmlwdHw8c3R5bGV8PGxpbmsvaSxqZT0vY2hlY2tlZFxzKig/OltePV18PVxzKi5jaGVja2VkLikvaSxxZT0vXlxzKjwhKD86XFtDREFUQVxbfC0tKXwoPzpcXVxdfC0tKT5ccyokL2c7ZnVuY3Rpb24gTGUoZSx0KXtyZXR1cm4gTihlLCJ0YWJsZSIpJiZOKDExIT09dC5ub2RlVHlwZT90OnQuZmlyc3RDaGlsZCwidHIiKT93KGUpLmNoaWxkcmVuKCJ0Ym9keSIpWzBdfHxlOmV9ZnVuY3Rpb24gSGUoZSl7cmV0dXJuIGUudHlwZT0obnVsbCE9PWUuZ2V0QXR0cmlidXRlKCJ0eXBlIikpKyIvIitlLnR5cGUsZX1mdW5jdGlvbiBPZShlKXtyZXR1cm4idHJ1ZS8iPT09KGUudHlwZXx8IiIpLnNsaWNlKDAsNSk/ZS50eXBlPWUudHlwZS5zbGljZSg1KTplLnJlbW92ZUF0dHJpYnV0ZSgidHlwZSIpLGV9ZnVuY3Rpb24gUGUoZSx0KXt2YXIgbixyLGksbyxhLHMsdSxsO2lmKDE9PT10Lm5vZGVUeXBlKXtpZihKLmhhc0RhdGEoZSkmJihvPUouYWNjZXNzKGUpLGE9Si5zZXQodCxvKSxsPW8uZXZlbnRzKSl7ZGVsZXRlIGEuaGFuZGxlLGEuZXZlbnRzPXt9O2ZvcihpIGluIGwpZm9yKG49MCxyPWxbaV0ubGVuZ3RoO248cjtuKyspdy5ldmVudC5hZGQodCxpLGxbaV1bbl0pfUsuaGFzRGF0YShlKSYmKHM9Sy5hY2Nlc3MoZSksdT13LmV4dGVuZCh7fSxzKSxLLnNldCh0LHUpKX19ZnVuY3Rpb24gTWUoZSx0KXt2YXIgbj10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7ImlucHV0Ij09PW4mJnBlLnRlc3QoZS50eXBlKT90LmNoZWNrZWQ9ZS5jaGVja2VkOiJpbnB1dCIhPT1uJiYidGV4dGFyZWEiIT09bnx8KHQuZGVmYXVsdFZhbHVlPWUuZGVmYXVsdFZhbHVlKX1mdW5jdGlvbiBSZShlLHQsbixyKXt0PWEuYXBwbHkoW10sdCk7dmFyIGksbyxzLHUsbCxjLGY9MCxwPWUubGVuZ3RoLGQ9cC0xLHk9dFswXSx2PWcoeSk7aWYodnx8cD4xJiYic3RyaW5nIj09dHlwZW9mIHkmJiFoLmNoZWNrQ2xvbmUmJmplLnRlc3QoeSkpcmV0dXJuIGUuZWFjaChmdW5jdGlvbihpKXt2YXIgbz1lLmVxKGkpO3YmJih0WzBdPXkuY2FsbCh0aGlzLGksby5odG1sKCkpKSxSZShvLHQsbixyKX0pO2lmKHAmJihpPXhlKHQsZVswXS5vd25lckRvY3VtZW50LCExLGUsciksbz1pLmZpcnN0Q2hpbGQsMT09PWkuY2hpbGROb2Rlcy5sZW5ndGgmJihpPW8pLG98fHIpKXtmb3IodT0ocz13Lm1hcCh5ZShpLCJzY3JpcHQiKSxIZSkpLmxlbmd0aDtmPHA7ZisrKWw9aSxmIT09ZCYmKGw9dy5jbG9uZShsLCEwLCEwKSx1JiZ3Lm1lcmdlKHMseWUobCwic2NyaXB0IikpKSxuLmNhbGwoZVtmXSxsLGYpO2lmKHUpZm9yKGM9c1tzLmxlbmd0aC0xXS5vd25lckRvY3VtZW50LHcubWFwKHMsT2UpLGY9MDtmPHU7ZisrKWw9c1tmXSxoZS50ZXN0KGwudHlwZXx8IiIpJiYhSi5hY2Nlc3MobCwiZ2xvYmFsRXZhbCIpJiZ3LmNvbnRhaW5zKGMsbCkmJihsLnNyYyYmIm1vZHVsZSIhPT0obC50eXBlfHwiIikudG9Mb3dlckNhc2UoKT93Ll9ldmFsVXJsJiZ3Ll9ldmFsVXJsKGwuc3JjKTptKGwudGV4dENvbnRlbnQucmVwbGFjZShxZSwiIiksYyxsKSl9cmV0dXJuIGV9ZnVuY3Rpb24gSWUoZSx0LG4pe2Zvcih2YXIgcixpPXQ/dy5maWx0ZXIodCxlKTplLG89MDtudWxsIT0ocj1pW29dKTtvKyspbnx8MSE9PXIubm9kZVR5cGV8fHcuY2xlYW5EYXRhKHllKHIpKSxyLnBhcmVudE5vZGUmJihuJiZ3LmNvbnRhaW5zKHIub3duZXJEb2N1bWVudCxyKSYmdmUoeWUociwic2NyaXB0IikpLHIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChyKSk7cmV0dXJuIGV9dy5leHRlbmQoe2h0bWxQcmVmaWx0ZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUucmVwbGFjZShOZSwiPCQxPjwvJDI+Iil9LGNsb25lOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYSxzPWUuY2xvbmVOb2RlKCEwKSx1PXcuY29udGFpbnMoZS5vd25lckRvY3VtZW50LGUpO2lmKCEoaC5ub0Nsb25lQ2hlY2tlZHx8MSE9PWUubm9kZVR5cGUmJjExIT09ZS5ub2RlVHlwZXx8dy5pc1hNTERvYyhlKSkpZm9yKGE9eWUocykscj0wLGk9KG89eWUoZSkpLmxlbmd0aDtyPGk7cisrKU1lKG9bcl0sYVtyXSk7aWYodClpZihuKWZvcihvPW98fHllKGUpLGE9YXx8eWUocykscj0wLGk9by5sZW5ndGg7cjxpO3IrKylQZShvW3JdLGFbcl0pO2Vsc2UgUGUoZSxzKTtyZXR1cm4oYT15ZShzLCJzY3JpcHQiKSkubGVuZ3RoPjAmJnZlKGEsIXUmJnllKGUsInNjcmlwdCIpKSxzfSxjbGVhbkRhdGE6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG4scixpPXcuZXZlbnQuc3BlY2lhbCxvPTA7dm9pZCAwIT09KG49ZVtvXSk7bysrKWlmKFkobikpe2lmKHQ9bltKLmV4cGFuZG9dKXtpZih0LmV2ZW50cylmb3IociBpbiB0LmV2ZW50cylpW3JdP3cuZXZlbnQucmVtb3ZlKG4scik6dy5yZW1vdmVFdmVudChuLHIsdC5oYW5kbGUpO25bSi5leHBhbmRvXT12b2lkIDB9bltLLmV4cGFuZG9dJiYobltLLmV4cGFuZG9dPXZvaWQgMCl9fX0pLHcuZm4uZXh0ZW5kKHtkZXRhY2g6ZnVuY3Rpb24oZSl7cmV0dXJuIEllKHRoaXMsZSwhMCl9LHJlbW92ZTpmdW5jdGlvbihlKXtyZXR1cm4gSWUodGhpcyxlKX0sdGV4dDpmdW5jdGlvbihlKXtyZXR1cm4geih0aGlzLGZ1bmN0aW9uKGUpe3JldHVybiB2b2lkIDA9PT1lP3cudGV4dCh0aGlzKTp0aGlzLmVtcHR5KCkuZWFjaChmdW5jdGlvbigpezEhPT10aGlzLm5vZGVUeXBlJiYxMSE9PXRoaXMubm9kZVR5cGUmJjkhPT10aGlzLm5vZGVUeXBlfHwodGhpcy50ZXh0Q29udGVudD1lKX0pfSxudWxsLGUsYXJndW1lbnRzLmxlbmd0aCl9LGFwcGVuZDpmdW5jdGlvbigpe3JldHVybiBSZSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihlKXsxIT09dGhpcy5ub2RlVHlwZSYmMTEhPT10aGlzLm5vZGVUeXBlJiY5IT09dGhpcy5ub2RlVHlwZXx8TGUodGhpcyxlKS5hcHBlbmRDaGlsZChlKX0pfSxwcmVwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIFJlKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGUpe2lmKDE9PT10aGlzLm5vZGVUeXBlfHwxMT09PXRoaXMubm9kZVR5cGV8fDk9PT10aGlzLm5vZGVUeXBlKXt2YXIgdD1MZSh0aGlzLGUpO3QuaW5zZXJ0QmVmb3JlKGUsdC5maXJzdENoaWxkKX19KX0sYmVmb3JlOmZ1bmN0aW9uKCl7cmV0dXJuIFJlKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGUpe3RoaXMucGFyZW50Tm9kZSYmdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLHRoaXMpfSl9LGFmdGVyOmZ1bmN0aW9uKCl7cmV0dXJuIFJlKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGUpe3RoaXMucGFyZW50Tm9kZSYmdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLHRoaXMubmV4dFNpYmxpbmcpfSl9LGVtcHR5OmZ1bmN0aW9uKCl7Zm9yKHZhciBlLHQ9MDtudWxsIT0oZT10aGlzW3RdKTt0KyspMT09PWUubm9kZVR5cGUmJih3LmNsZWFuRGF0YSh5ZShlLCExKSksZS50ZXh0Q29udGVudD0iIik7cmV0dXJuIHRoaXN9LGNsb25lOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9bnVsbCE9ZSYmZSx0PW51bGw9PXQ/ZTp0LHRoaXMubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIHcuY2xvbmUodGhpcyxlLHQpfSl9LGh0bWw6ZnVuY3Rpb24oZSl7cmV0dXJuIHoodGhpcyxmdW5jdGlvbihlKXt2YXIgdD10aGlzWzBdfHx7fSxuPTAscj10aGlzLmxlbmd0aDtpZih2b2lkIDA9PT1lJiYxPT09dC5ub2RlVHlwZSlyZXR1cm4gdC5pbm5lckhUTUw7aWYoInN0cmluZyI9PXR5cGVvZiBlJiYhQWUudGVzdChlKSYmIWdlWyhkZS5leGVjKGUpfHxbIiIsIiJdKVsxXS50b0xvd2VyQ2FzZSgpXSl7ZT13Lmh0bWxQcmVmaWx0ZXIoZSk7dHJ5e2Zvcig7bjxyO24rKykxPT09KHQ9dGhpc1tuXXx8e30pLm5vZGVUeXBlJiYody5jbGVhbkRhdGEoeWUodCwhMSkpLHQuaW5uZXJIVE1MPWUpO3Q9MH1jYXRjaChlKXt9fXQmJnRoaXMuZW1wdHkoKS5hcHBlbmQoZSl9LG51bGwsZSxhcmd1bWVudHMubGVuZ3RoKX0scmVwbGFjZVdpdGg6ZnVuY3Rpb24oKXt2YXIgZT1bXTtyZXR1cm4gUmUodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24odCl7dmFyIG49dGhpcy5wYXJlbnROb2RlO3cuaW5BcnJheSh0aGlzLGUpPDAmJih3LmNsZWFuRGF0YSh5ZSh0aGlzKSksbiYmbi5yZXBsYWNlQ2hpbGQodCx0aGlzKSl9LGUpfX0pLHcuZWFjaCh7YXBwZW5kVG86ImFwcGVuZCIscHJlcGVuZFRvOiJwcmVwZW5kIixpbnNlcnRCZWZvcmU6ImJlZm9yZSIsaW5zZXJ0QWZ0ZXI6ImFmdGVyIixyZXBsYWNlQWxsOiJyZXBsYWNlV2l0aCJ9LGZ1bmN0aW9uKGUsdCl7dy5mbltlXT1mdW5jdGlvbihlKXtmb3IodmFyIG4scj1bXSxpPXcoZSksbz1pLmxlbmd0aC0xLGE9MDthPD1vO2ErKyluPWE9PT1vP3RoaXM6dGhpcy5jbG9uZSghMCksdyhpW2FdKVt0XShuKSxzLmFwcGx5KHIsbi5nZXQoKSk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKHIpfX0pO3ZhciBXZT1uZXcgUmVnRXhwKCJeKCIrcmUrIikoPyFweClbYS16JV0rJCIsImkiKSwkZT1mdW5jdGlvbih0KXt2YXIgbj10Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc7cmV0dXJuIG4mJm4ub3BlbmVyfHwobj1lKSxuLmdldENvbXB1dGVkU3R5bGUodCl9LEJlPW5ldyBSZWdFeHAob2Uuam9pbigifCIpLCJpIik7IWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe2lmKGMpe2wuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7bGVmdDotMTExMTFweDt3aWR0aDo2MHB4O21hcmdpbi10b3A6MXB4O3BhZGRpbmc6MDtib3JkZXI6MCIsYy5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveDtvdmVyZmxvdzpzY3JvbGw7bWFyZ2luOmF1dG87Ym9yZGVyOjFweDtwYWRkaW5nOjFweDt3aWR0aDo2MCU7dG9wOjElIixiZS5hcHBlbmRDaGlsZChsKS5hcHBlbmRDaGlsZChjKTt2YXIgdD1lLmdldENvbXB1dGVkU3R5bGUoYyk7aT0iMSUiIT09dC50b3AsdT0xMj09PW4odC5tYXJnaW5MZWZ0KSxjLnN0eWxlLnJpZ2h0PSI2MCUiLHM9MzY9PT1uKHQucmlnaHQpLG89MzY9PT1uKHQud2lkdGgpLGMuc3R5bGUucG9zaXRpb249ImFic29sdXRlIixhPTM2PT09Yy5vZmZzZXRXaWR0aHx8ImFic29sdXRlIixiZS5yZW1vdmVDaGlsZChsKSxjPW51bGx9fWZ1bmN0aW9uIG4oZSl7cmV0dXJuIE1hdGgucm91bmQocGFyc2VGbG9hdChlKSl9dmFyIGksbyxhLHMsdSxsPXIuY3JlYXRlRWxlbWVudCgiZGl2IiksYz1yLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2Muc3R5bGUmJihjLnN0eWxlLmJhY2tncm91bmRDbGlwPSJjb250ZW50LWJveCIsYy5jbG9uZU5vZGUoITApLnN0eWxlLmJhY2tncm91bmRDbGlwPSIiLGguY2xlYXJDbG9uZVN0eWxlPSJjb250ZW50LWJveCI9PT1jLnN0eWxlLmJhY2tncm91bmRDbGlwLHcuZXh0ZW5kKGgse2JveFNpemluZ1JlbGlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIHQoKSxvfSxwaXhlbEJveFN0eWxlczpmdW5jdGlvbigpe3JldHVybiB0KCksc30scGl4ZWxQb3NpdGlvbjpmdW5jdGlvbigpe3JldHVybiB0KCksaX0scmVsaWFibGVNYXJnaW5MZWZ0OmZ1bmN0aW9uKCl7cmV0dXJuIHQoKSx1fSxzY3JvbGxib3hTaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHQoKSxhfX0pKX0oKTtmdW5jdGlvbiBGZShlLHQsbil7dmFyIHIsaSxvLGEscz1lLnN0eWxlO3JldHVybihuPW58fCRlKGUpKSYmKCIiIT09KGE9bi5nZXRQcm9wZXJ0eVZhbHVlKHQpfHxuW3RdKXx8dy5jb250YWlucyhlLm93bmVyRG9jdW1lbnQsZSl8fChhPXcuc3R5bGUoZSx0KSksIWgucGl4ZWxCb3hTdHlsZXMoKSYmV2UudGVzdChhKSYmQmUudGVzdCh0KSYmKHI9cy53aWR0aCxpPXMubWluV2lkdGgsbz1zLm1heFdpZHRoLHMubWluV2lkdGg9cy5tYXhXaWR0aD1zLndpZHRoPWEsYT1uLndpZHRoLHMud2lkdGg9cixzLm1pbldpZHRoPWkscy5tYXhXaWR0aD1vKSksdm9pZCAwIT09YT9hKyIiOmF9ZnVuY3Rpb24gX2UoZSx0KXtyZXR1cm57Z2V0OmZ1bmN0aW9uKCl7aWYoIWUoKSlyZXR1cm4odGhpcy5nZXQ9dCkuYXBwbHkodGhpcyxhcmd1bWVudHMpO2RlbGV0ZSB0aGlzLmdldH19fXZhciB6ZT0vXihub25lfHRhYmxlKD8hLWNbZWFdKS4rKS8sWGU9L14tLS8sVWU9e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdmlzaWJpbGl0eToiaGlkZGVuIixkaXNwbGF5OiJibG9jayJ9LFZlPXtsZXR0ZXJTcGFjaW5nOiIwIixmb250V2VpZ2h0OiI0MDAifSxHZT1bIldlYmtpdCIsIk1veiIsIm1zIl0sWWU9ci5jcmVhdGVFbGVtZW50KCJkaXYiKS5zdHlsZTtmdW5jdGlvbiBRZShlKXtpZihlIGluIFllKXJldHVybiBlO3ZhciB0PWVbMF0udG9VcHBlckNhc2UoKStlLnNsaWNlKDEpLG49R2UubGVuZ3RoO3doaWxlKG4tLSlpZigoZT1HZVtuXSt0KWluIFllKXJldHVybiBlfWZ1bmN0aW9uIEplKGUpe3ZhciB0PXcuY3NzUHJvcHNbZV07cmV0dXJuIHR8fCh0PXcuY3NzUHJvcHNbZV09UWUoZSl8fGUpLHR9ZnVuY3Rpb24gS2UoZSx0LG4pe3ZhciByPWllLmV4ZWModCk7cmV0dXJuIHI/TWF0aC5tYXgoMCxyWzJdLShufHwwKSkrKHJbM118fCJweCIpOnR9ZnVuY3Rpb24gWmUoZSx0LG4scixpLG8pe3ZhciBhPSJ3aWR0aCI9PT10PzE6MCxzPTAsdT0wO2lmKG49PT0ocj8iYm9yZGVyIjoiY29udGVudCIpKXJldHVybiAwO2Zvcig7YTw0O2ErPTIpIm1hcmdpbiI9PT1uJiYodSs9dy5jc3MoZSxuK29lW2FdLCEwLGkpKSxyPygiY29udGVudCI9PT1uJiYodS09dy5jc3MoZSwicGFkZGluZyIrb2VbYV0sITAsaSkpLCJtYXJnaW4iIT09biYmKHUtPXcuY3NzKGUsImJvcmRlciIrb2VbYV0rIldpZHRoIiwhMCxpKSkpOih1Kz13LmNzcyhlLCJwYWRkaW5nIitvZVthXSwhMCxpKSwicGFkZGluZyIhPT1uP3UrPXcuY3NzKGUsImJvcmRlciIrb2VbYV0rIldpZHRoIiwhMCxpKTpzKz13LmNzcyhlLCJib3JkZXIiK29lW2FdKyJXaWR0aCIsITAsaSkpO3JldHVybiFyJiZvPj0wJiYodSs9TWF0aC5tYXgoMCxNYXRoLmNlaWwoZVsib2Zmc2V0Iit0WzBdLnRvVXBwZXJDYXNlKCkrdC5zbGljZSgxKV0tby11LXMtLjUpKSksdX1mdW5jdGlvbiBldChlLHQsbil7dmFyIHI9JGUoZSksaT1GZShlLHQsciksbz0iYm9yZGVyLWJveCI9PT13LmNzcyhlLCJib3hTaXppbmciLCExLHIpLGE9bztpZihXZS50ZXN0KGkpKXtpZighbilyZXR1cm4gaTtpPSJhdXRvIn1yZXR1cm4gYT1hJiYoaC5ib3hTaXppbmdSZWxpYWJsZSgpfHxpPT09ZS5zdHlsZVt0XSksKCJhdXRvIj09PWl8fCFwYXJzZUZsb2F0KGkpJiYiaW5saW5lIj09PXcuY3NzKGUsImRpc3BsYXkiLCExLHIpKSYmKGk9ZVsib2Zmc2V0Iit0WzBdLnRvVXBwZXJDYXNlKCkrdC5zbGljZSgxKV0sYT0hMCksKGk9cGFyc2VGbG9hdChpKXx8MCkrWmUoZSx0LG58fChvPyJib3JkZXIiOiJjb250ZW50IiksYSxyLGkpKyJweCJ9dy5leHRlbmQoe2Nzc0hvb2tzOntvcGFjaXR5OntnZXQ6ZnVuY3Rpb24oZSx0KXtpZih0KXt2YXIgbj1GZShlLCJvcGFjaXR5Iik7cmV0dXJuIiI9PT1uPyIxIjpufX19fSxjc3NOdW1iZXI6e2FuaW1hdGlvbkl0ZXJhdGlvbkNvdW50OiEwLGNvbHVtbkNvdW50OiEwLGZpbGxPcGFjaXR5OiEwLGZsZXhHcm93OiEwLGZsZXhTaHJpbms6ITAsZm9udFdlaWdodDohMCxsaW5lSGVpZ2h0OiEwLG9wYWNpdHk6ITAsb3JkZXI6ITAsb3JwaGFuczohMCx3aWRvd3M6ITAsekluZGV4OiEwLHpvb206ITB9LGNzc1Byb3BzOnt9LHN0eWxlOmZ1bmN0aW9uKGUsdCxuLHIpe2lmKGUmJjMhPT1lLm5vZGVUeXBlJiY4IT09ZS5ub2RlVHlwZSYmZS5zdHlsZSl7dmFyIGksbyxhLHM9Ryh0KSx1PVhlLnRlc3QodCksbD1lLnN0eWxlO2lmKHV8fCh0PUplKHMpKSxhPXcuY3NzSG9va3NbdF18fHcuY3NzSG9va3Nbc10sdm9pZCAwPT09bilyZXR1cm4gYSYmImdldCJpbiBhJiZ2b2lkIDAhPT0oaT1hLmdldChlLCExLHIpKT9pOmxbdF07InN0cmluZyI9PShvPXR5cGVvZiBuKSYmKGk9aWUuZXhlYyhuKSkmJmlbMV0mJihuPXVlKGUsdCxpKSxvPSJudW1iZXIiKSxudWxsIT1uJiZuPT09biYmKCJudW1iZXIiPT09byYmKG4rPWkmJmlbM118fCh3LmNzc051bWJlcltzXT8iIjoicHgiKSksaC5jbGVhckNsb25lU3R5bGV8fCIiIT09bnx8MCE9PXQuaW5kZXhPZigiYmFja2dyb3VuZCIpfHwobFt0XT0iaW5oZXJpdCIpLGEmJiJzZXQiaW4gYSYmdm9pZCAwPT09KG49YS5zZXQoZSxuLHIpKXx8KHU/bC5zZXRQcm9wZXJ0eSh0LG4pOmxbdF09bikpfX0sY3NzOmZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpLG8sYSxzPUcodCk7cmV0dXJuIFhlLnRlc3QodCl8fCh0PUplKHMpKSwoYT13LmNzc0hvb2tzW3RdfHx3LmNzc0hvb2tzW3NdKSYmImdldCJpbiBhJiYoaT1hLmdldChlLCEwLG4pKSx2b2lkIDA9PT1pJiYoaT1GZShlLHQscikpLCJub3JtYWwiPT09aSYmdCBpbiBWZSYmKGk9VmVbdF0pLCIiPT09bnx8bj8obz1wYXJzZUZsb2F0KGkpLCEwPT09bnx8aXNGaW5pdGUobyk/b3x8MDppKTppfX0pLHcuZWFjaChbImhlaWdodCIsIndpZHRoIl0sZnVuY3Rpb24oZSx0KXt3LmNzc0hvb2tzW3RdPXtnZXQ6ZnVuY3Rpb24oZSxuLHIpe2lmKG4pcmV0dXJuIXplLnRlc3Qody5jc3MoZSwiZGlzcGxheSIpKXx8ZS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCYmZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aD9ldChlLHQscik6c2UoZSxVZSxmdW5jdGlvbigpe3JldHVybiBldChlLHQscil9KX0sc2V0OmZ1bmN0aW9uKGUsbixyKXt2YXIgaSxvPSRlKGUpLGE9ImJvcmRlci1ib3giPT09dy5jc3MoZSwiYm94U2l6aW5nIiwhMSxvKSxzPXImJlplKGUsdCxyLGEsbyk7cmV0dXJuIGEmJmguc2Nyb2xsYm94U2l6ZSgpPT09by5wb3NpdGlvbiYmKHMtPU1hdGguY2VpbChlWyJvZmZzZXQiK3RbMF0udG9VcHBlckNhc2UoKSt0LnNsaWNlKDEpXS1wYXJzZUZsb2F0KG9bdF0pLVplKGUsdCwiYm9yZGVyIiwhMSxvKS0uNSkpLHMmJihpPWllLmV4ZWMobikpJiYicHgiIT09KGlbM118fCJweCIpJiYoZS5zdHlsZVt0XT1uLG49dy5jc3MoZSx0KSksS2UoZSxuLHMpfX19KSx3LmNzc0hvb2tzLm1hcmdpbkxlZnQ9X2UoaC5yZWxpYWJsZU1hcmdpbkxlZnQsZnVuY3Rpb24oZSx0KXtpZih0KXJldHVybihwYXJzZUZsb2F0KEZlKGUsIm1hcmdpbkxlZnQiKSl8fGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdC1zZShlLHttYXJnaW5MZWZ0OjB9LGZ1bmN0aW9uKCl7cmV0dXJuIGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdH0pKSsicHgifSksdy5lYWNoKHttYXJnaW46IiIscGFkZGluZzoiIixib3JkZXI6IldpZHRoIn0sZnVuY3Rpb24oZSx0KXt3LmNzc0hvb2tzW2UrdF09e2V4cGFuZDpmdW5jdGlvbihuKXtmb3IodmFyIHI9MCxpPXt9LG89InN0cmluZyI9PXR5cGVvZiBuP24uc3BsaXQoIiAiKTpbbl07cjw0O3IrKylpW2Urb2Vbcl0rdF09b1tyXXx8b1tyLTJdfHxvWzBdO3JldHVybiBpfX0sIm1hcmdpbiIhPT1lJiYody5jc3NIb29rc1tlK3RdLnNldD1LZSl9KSx3LmZuLmV4dGVuZCh7Y3NzOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHoodGhpcyxmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvPXt9LGE9MDtpZihBcnJheS5pc0FycmF5KHQpKXtmb3Iocj0kZShlKSxpPXQubGVuZ3RoO2E8aTthKyspb1t0W2FdXT13LmNzcyhlLHRbYV0sITEscik7cmV0dXJuIG99cmV0dXJuIHZvaWQgMCE9PW4/dy5zdHlsZShlLHQsbik6dy5jc3MoZSx0KX0sZSx0LGFyZ3VtZW50cy5sZW5ndGg+MSl9fSk7ZnVuY3Rpb24gdHQoZSx0LG4scixpKXtyZXR1cm4gbmV3IHR0LnByb3RvdHlwZS5pbml0KGUsdCxuLHIsaSl9dy5Ud2Vlbj10dCx0dC5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOnR0LGluaXQ6ZnVuY3Rpb24oZSx0LG4scixpLG8pe3RoaXMuZWxlbT1lLHRoaXMucHJvcD1uLHRoaXMuZWFzaW5nPWl8fHcuZWFzaW5nLl9kZWZhdWx0LHRoaXMub3B0aW9ucz10LHRoaXMuc3RhcnQ9dGhpcy5ub3c9dGhpcy5jdXIoKSx0aGlzLmVuZD1yLHRoaXMudW5pdD1vfHwody5jc3NOdW1iZXJbbl0/IiI6InB4Iil9LGN1cjpmdW5jdGlvbigpe3ZhciBlPXR0LnByb3BIb29rc1t0aGlzLnByb3BdO3JldHVybiBlJiZlLmdldD9lLmdldCh0aGlzKTp0dC5wcm9wSG9va3MuX2RlZmF1bHQuZ2V0KHRoaXMpfSxydW46ZnVuY3Rpb24oZSl7dmFyIHQsbj10dC5wcm9wSG9va3NbdGhpcy5wcm9wXTtyZXR1cm4gdGhpcy5vcHRpb25zLmR1cmF0aW9uP3RoaXMucG9zPXQ9dy5lYXNpbmdbdGhpcy5lYXNpbmddKGUsdGhpcy5vcHRpb25zLmR1cmF0aW9uKmUsMCwxLHRoaXMub3B0aW9ucy5kdXJhdGlvbik6dGhpcy5wb3M9dD1lLHRoaXMubm93PSh0aGlzLmVuZC10aGlzLnN0YXJ0KSp0K3RoaXMuc3RhcnQsdGhpcy5vcHRpb25zLnN0ZXAmJnRoaXMub3B0aW9ucy5zdGVwLmNhbGwodGhpcy5lbGVtLHRoaXMubm93LHRoaXMpLG4mJm4uc2V0P24uc2V0KHRoaXMpOnR0LnByb3BIb29rcy5fZGVmYXVsdC5zZXQodGhpcyksdGhpc319LHR0LnByb3RvdHlwZS5pbml0LnByb3RvdHlwZT10dC5wcm90b3R5cGUsdHQucHJvcEhvb2tzPXtfZGVmYXVsdDp7Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiAxIT09ZS5lbGVtLm5vZGVUeXBlfHxudWxsIT1lLmVsZW1bZS5wcm9wXSYmbnVsbD09ZS5lbGVtLnN0eWxlW2UucHJvcF0/ZS5lbGVtW2UucHJvcF06KHQ9dy5jc3MoZS5lbGVtLGUucHJvcCwiIikpJiYiYXV0byIhPT10P3Q6MH0sc2V0OmZ1bmN0aW9uKGUpe3cuZnguc3RlcFtlLnByb3BdP3cuZnguc3RlcFtlLnByb3BdKGUpOjEhPT1lLmVsZW0ubm9kZVR5cGV8fG51bGw9PWUuZWxlbS5zdHlsZVt3LmNzc1Byb3BzW2UucHJvcF1dJiYhdy5jc3NIb29rc1tlLnByb3BdP2UuZWxlbVtlLnByb3BdPWUubm93Oncuc3R5bGUoZS5lbGVtLGUucHJvcCxlLm5vdytlLnVuaXQpfX19LHR0LnByb3BIb29rcy5zY3JvbGxUb3A9dHQucHJvcEhvb2tzLnNjcm9sbExlZnQ9e3NldDpmdW5jdGlvbihlKXtlLmVsZW0ubm9kZVR5cGUmJmUuZWxlbS5wYXJlbnROb2RlJiYoZS5lbGVtW2UucHJvcF09ZS5ub3cpfX0sdy5lYXNpbmc9e2xpbmVhcjpmdW5jdGlvbihlKXtyZXR1cm4gZX0sc3dpbmc6ZnVuY3Rpb24oZSl7cmV0dXJuLjUtTWF0aC5jb3MoZSpNYXRoLlBJKS8yfSxfZGVmYXVsdDoic3dpbmcifSx3LmZ4PXR0LnByb3RvdHlwZS5pbml0LHcuZnguc3RlcD17fTt2YXIgbnQscnQsaXQ9L14oPzp0b2dnbGV8c2hvd3xoaWRlKSQvLG90PS9xdWV1ZUhvb2tzJC87ZnVuY3Rpb24gYXQoKXtydCYmKCExPT09ci5oaWRkZW4mJmUucmVxdWVzdEFuaW1hdGlvbkZyYW1lP2UucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGF0KTplLnNldFRpbWVvdXQoYXQsdy5meC5pbnRlcnZhbCksdy5meC50aWNrKCkpfWZ1bmN0aW9uIHN0KCl7cmV0dXJuIGUuc2V0VGltZW91dChmdW5jdGlvbigpe250PXZvaWQgMH0pLG50PURhdGUubm93KCl9ZnVuY3Rpb24gdXQoZSx0KXt2YXIgbixyPTAsaT17aGVpZ2h0OmV9O2Zvcih0PXQ/MTowO3I8NDtyKz0yLXQpaVsibWFyZ2luIisobj1vZVtyXSldPWlbInBhZGRpbmciK25dPWU7cmV0dXJuIHQmJihpLm9wYWNpdHk9aS53aWR0aD1lKSxpfWZ1bmN0aW9uIGx0KGUsdCxuKXtmb3IodmFyIHIsaT0ocHQudHdlZW5lcnNbdF18fFtdKS5jb25jYXQocHQudHdlZW5lcnNbIioiXSksbz0wLGE9aS5sZW5ndGg7bzxhO28rKylpZihyPWlbb10uY2FsbChuLHQsZSkpcmV0dXJuIHJ9ZnVuY3Rpb24gY3QoZSx0LG4pe3ZhciByLGksbyxhLHMsdSxsLGMsZj0id2lkdGgiaW4gdHx8ImhlaWdodCJpbiB0LHA9dGhpcyxkPXt9LGg9ZS5zdHlsZSxnPWUubm9kZVR5cGUmJmFlKGUpLHk9Si5nZXQoZSwiZnhzaG93Iik7bi5xdWV1ZXx8KG51bGw9PShhPXcuX3F1ZXVlSG9va3MoZSwiZngiKSkudW5xdWV1ZWQmJihhLnVucXVldWVkPTAscz1hLmVtcHR5LmZpcmUsYS5lbXB0eS5maXJlPWZ1bmN0aW9uKCl7YS51bnF1ZXVlZHx8cygpfSksYS51bnF1ZXVlZCsrLHAuYWx3YXlzKGZ1bmN0aW9uKCl7cC5hbHdheXMoZnVuY3Rpb24oKXthLnVucXVldWVkLS0sdy5xdWV1ZShlLCJmeCIpLmxlbmd0aHx8YS5lbXB0eS5maXJlKCl9KX0pKTtmb3IociBpbiB0KWlmKGk9dFtyXSxpdC50ZXN0KGkpKXtpZihkZWxldGUgdFtyXSxvPW98fCJ0b2dnbGUiPT09aSxpPT09KGc/ImhpZGUiOiJzaG93Iikpe2lmKCJzaG93IiE9PWl8fCF5fHx2b2lkIDA9PT15W3JdKWNvbnRpbnVlO2c9ITB9ZFtyXT15JiZ5W3JdfHx3LnN0eWxlKGUscil9aWYoKHU9IXcuaXNFbXB0eU9iamVjdCh0KSl8fCF3LmlzRW1wdHlPYmplY3QoZCkpe2YmJjE9PT1lLm5vZGVUeXBlJiYobi5vdmVyZmxvdz1baC5vdmVyZmxvdyxoLm92ZXJmbG93WCxoLm92ZXJmbG93WV0sbnVsbD09KGw9eSYmeS5kaXNwbGF5KSYmKGw9Si5nZXQoZSwiZGlzcGxheSIpKSwibm9uZSI9PT0oYz13LmNzcyhlLCJkaXNwbGF5IikpJiYobD9jPWw6KGZlKFtlXSwhMCksbD1lLnN0eWxlLmRpc3BsYXl8fGwsYz13LmNzcyhlLCJkaXNwbGF5IiksZmUoW2VdKSkpLCgiaW5saW5lIj09PWN8fCJpbmxpbmUtYmxvY2siPT09YyYmbnVsbCE9bCkmJiJub25lIj09PXcuY3NzKGUsImZsb2F0IikmJih1fHwocC5kb25lKGZ1bmN0aW9uKCl7aC5kaXNwbGF5PWx9KSxudWxsPT1sJiYoYz1oLmRpc3BsYXksbD0ibm9uZSI9PT1jPyIiOmMpKSxoLmRpc3BsYXk9ImlubGluZS1ibG9jayIpKSxuLm92ZXJmbG93JiYoaC5vdmVyZmxvdz0iaGlkZGVuIixwLmFsd2F5cyhmdW5jdGlvbigpe2gub3ZlcmZsb3c9bi5vdmVyZmxvd1swXSxoLm92ZXJmbG93WD1uLm92ZXJmbG93WzFdLGgub3ZlcmZsb3dZPW4ub3ZlcmZsb3dbMl19KSksdT0hMTtmb3IociBpbiBkKXV8fCh5PyJoaWRkZW4iaW4geSYmKGc9eS5oaWRkZW4pOnk9Si5hY2Nlc3MoZSwiZnhzaG93Iix7ZGlzcGxheTpsfSksbyYmKHkuaGlkZGVuPSFnKSxnJiZmZShbZV0sITApLHAuZG9uZShmdW5jdGlvbigpe2d8fGZlKFtlXSksSi5yZW1vdmUoZSwiZnhzaG93Iik7Zm9yKHIgaW4gZCl3LnN0eWxlKGUscixkW3JdKX0pKSx1PWx0KGc/eVtyXTowLHIscCksciBpbiB5fHwoeVtyXT11LnN0YXJ0LGcmJih1LmVuZD11LnN0YXJ0LHUuc3RhcnQ9MCkpfX1mdW5jdGlvbiBmdChlLHQpe3ZhciBuLHIsaSxvLGE7Zm9yKG4gaW4gZSlpZihyPUcobiksaT10W3JdLG89ZVtuXSxBcnJheS5pc0FycmF5KG8pJiYoaT1vWzFdLG89ZVtuXT1vWzBdKSxuIT09ciYmKGVbcl09byxkZWxldGUgZVtuXSksKGE9dy5jc3NIb29rc1tyXSkmJiJleHBhbmQiaW4gYSl7bz1hLmV4cGFuZChvKSxkZWxldGUgZVtyXTtmb3IobiBpbiBvKW4gaW4gZXx8KGVbbl09b1tuXSx0W25dPWkpfWVsc2UgdFtyXT1pfWZ1bmN0aW9uIHB0KGUsdCxuKXt2YXIgcixpLG89MCxhPXB0LnByZWZpbHRlcnMubGVuZ3RoLHM9dy5EZWZlcnJlZCgpLmFsd2F5cyhmdW5jdGlvbigpe2RlbGV0ZSB1LmVsZW19KSx1PWZ1bmN0aW9uKCl7aWYoaSlyZXR1cm4hMTtmb3IodmFyIHQ9bnR8fHN0KCksbj1NYXRoLm1heCgwLGwuc3RhcnRUaW1lK2wuZHVyYXRpb24tdCkscj0xLShuL2wuZHVyYXRpb258fDApLG89MCxhPWwudHdlZW5zLmxlbmd0aDtvPGE7bysrKWwudHdlZW5zW29dLnJ1bihyKTtyZXR1cm4gcy5ub3RpZnlXaXRoKGUsW2wscixuXSkscjwxJiZhP246KGF8fHMubm90aWZ5V2l0aChlLFtsLDEsMF0pLHMucmVzb2x2ZVdpdGgoZSxbbF0pLCExKX0sbD1zLnByb21pc2Uoe2VsZW06ZSxwcm9wczp3LmV4dGVuZCh7fSx0KSxvcHRzOncuZXh0ZW5kKCEwLHtzcGVjaWFsRWFzaW5nOnt9LGVhc2luZzp3LmVhc2luZy5fZGVmYXVsdH0sbiksb3JpZ2luYWxQcm9wZXJ0aWVzOnQsb3JpZ2luYWxPcHRpb25zOm4sc3RhcnRUaW1lOm50fHxzdCgpLGR1cmF0aW9uOm4uZHVyYXRpb24sdHdlZW5zOltdLGNyZWF0ZVR3ZWVuOmZ1bmN0aW9uKHQsbil7dmFyIHI9dy5Ud2VlbihlLGwub3B0cyx0LG4sbC5vcHRzLnNwZWNpYWxFYXNpbmdbdF18fGwub3B0cy5lYXNpbmcpO3JldHVybiBsLnR3ZWVucy5wdXNoKHIpLHJ9LHN0b3A6ZnVuY3Rpb24odCl7dmFyIG49MCxyPXQ/bC50d2VlbnMubGVuZ3RoOjA7aWYoaSlyZXR1cm4gdGhpcztmb3IoaT0hMDtuPHI7bisrKWwudHdlZW5zW25dLnJ1bigxKTtyZXR1cm4gdD8ocy5ub3RpZnlXaXRoKGUsW2wsMSwwXSkscy5yZXNvbHZlV2l0aChlLFtsLHRdKSk6cy5yZWplY3RXaXRoKGUsW2wsdF0pLHRoaXN9fSksYz1sLnByb3BzO2ZvcihmdChjLGwub3B0cy5zcGVjaWFsRWFzaW5nKTtvPGE7bysrKWlmKHI9cHQucHJlZmlsdGVyc1tvXS5jYWxsKGwsZSxjLGwub3B0cykpcmV0dXJuIGcoci5zdG9wKSYmKHcuX3F1ZXVlSG9va3MobC5lbGVtLGwub3B0cy5xdWV1ZSkuc3RvcD1yLnN0b3AuYmluZChyKSkscjtyZXR1cm4gdy5tYXAoYyxsdCxsKSxnKGwub3B0cy5zdGFydCkmJmwub3B0cy5zdGFydC5jYWxsKGUsbCksbC5wcm9ncmVzcyhsLm9wdHMucHJvZ3Jlc3MpLmRvbmUobC5vcHRzLmRvbmUsbC5vcHRzLmNvbXBsZXRlKS5mYWlsKGwub3B0cy5mYWlsKS5hbHdheXMobC5vcHRzLmFsd2F5cyksdy5meC50aW1lcih3LmV4dGVuZCh1LHtlbGVtOmUsYW5pbTpsLHF1ZXVlOmwub3B0cy5xdWV1ZX0pKSxsfXcuQW5pbWF0aW9uPXcuZXh0ZW5kKHB0LHt0d2VlbmVyczp7IioiOltmdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMuY3JlYXRlVHdlZW4oZSx0KTtyZXR1cm4gdWUobi5lbGVtLGUsaWUuZXhlYyh0KSxuKSxufV19LHR3ZWVuZXI6ZnVuY3Rpb24oZSx0KXtnKGUpPyh0PWUsZT1bIioiXSk6ZT1lLm1hdGNoKE0pO2Zvcih2YXIgbixyPTAsaT1lLmxlbmd0aDtyPGk7cisrKW49ZVtyXSxwdC50d2VlbmVyc1tuXT1wdC50d2VlbmVyc1tuXXx8W10scHQudHdlZW5lcnNbbl0udW5zaGlmdCh0KX0scHJlZmlsdGVyczpbY3RdLHByZWZpbHRlcjpmdW5jdGlvbihlLHQpe3Q/cHQucHJlZmlsdGVycy51bnNoaWZ0KGUpOnB0LnByZWZpbHRlcnMucHVzaChlKX19KSx3LnNwZWVkPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1lJiYib2JqZWN0Ij09dHlwZW9mIGU/dy5leHRlbmQoe30sZSk6e2NvbXBsZXRlOm58fCFuJiZ0fHxnKGUpJiZlLGR1cmF0aW9uOmUsZWFzaW5nOm4mJnR8fHQmJiFnKHQpJiZ0fTtyZXR1cm4gdy5meC5vZmY/ci5kdXJhdGlvbj0wOiJudW1iZXIiIT10eXBlb2Ygci5kdXJhdGlvbiYmKHIuZHVyYXRpb24gaW4gdy5meC5zcGVlZHM/ci5kdXJhdGlvbj13LmZ4LnNwZWVkc1tyLmR1cmF0aW9uXTpyLmR1cmF0aW9uPXcuZnguc3BlZWRzLl9kZWZhdWx0KSxudWxsIT1yLnF1ZXVlJiYhMCE9PXIucXVldWV8fChyLnF1ZXVlPSJmeCIpLHIub2xkPXIuY29tcGxldGUsci5jb21wbGV0ZT1mdW5jdGlvbigpe2coci5vbGQpJiZyLm9sZC5jYWxsKHRoaXMpLHIucXVldWUmJncuZGVxdWV1ZSh0aGlzLHIucXVldWUpfSxyfSx3LmZuLmV4dGVuZCh7ZmFkZVRvOmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiB0aGlzLmZpbHRlcihhZSkuY3NzKCJvcGFjaXR5IiwwKS5zaG93KCkuZW5kKCkuYW5pbWF0ZSh7b3BhY2l0eTp0fSxlLG4scil9LGFuaW1hdGU6ZnVuY3Rpb24oZSx0LG4scil7dmFyIGk9dy5pc0VtcHR5T2JqZWN0KGUpLG89dy5zcGVlZCh0LG4sciksYT1mdW5jdGlvbigpe3ZhciB0PXB0KHRoaXMsdy5leHRlbmQoe30sZSksbyk7KGl8fEouZ2V0KHRoaXMsImZpbmlzaCIpKSYmdC5zdG9wKCEwKX07cmV0dXJuIGEuZmluaXNoPWEsaXx8ITE9PT1vLnF1ZXVlP3RoaXMuZWFjaChhKTp0aGlzLnF1ZXVlKG8ucXVldWUsYSl9LHN0b3A6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWZ1bmN0aW9uKGUpe3ZhciB0PWUuc3RvcDtkZWxldGUgZS5zdG9wLHQobil9O3JldHVybiJzdHJpbmciIT10eXBlb2YgZSYmKG49dCx0PWUsZT12b2lkIDApLHQmJiExIT09ZSYmdGhpcy5xdWV1ZShlfHwiZngiLFtdKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgdD0hMCxpPW51bGwhPWUmJmUrInF1ZXVlSG9va3MiLG89dy50aW1lcnMsYT1KLmdldCh0aGlzKTtpZihpKWFbaV0mJmFbaV0uc3RvcCYmcihhW2ldKTtlbHNlIGZvcihpIGluIGEpYVtpXSYmYVtpXS5zdG9wJiZvdC50ZXN0KGkpJiZyKGFbaV0pO2ZvcihpPW8ubGVuZ3RoO2ktLTspb1tpXS5lbGVtIT09dGhpc3x8bnVsbCE9ZSYmb1tpXS5xdWV1ZSE9PWV8fChvW2ldLmFuaW0uc3RvcChuKSx0PSExLG8uc3BsaWNlKGksMSkpOyF0JiZufHx3LmRlcXVldWUodGhpcyxlKX0pfSxmaW5pc2g6ZnVuY3Rpb24oZSl7cmV0dXJuITEhPT1lJiYoZT1lfHwiZngiKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgdCxuPUouZ2V0KHRoaXMpLHI9bltlKyJxdWV1ZSJdLGk9bltlKyJxdWV1ZUhvb2tzIl0sbz13LnRpbWVycyxhPXI/ci5sZW5ndGg6MDtmb3Iobi5maW5pc2g9ITAsdy5xdWV1ZSh0aGlzLGUsW10pLGkmJmkuc3RvcCYmaS5zdG9wLmNhbGwodGhpcywhMCksdD1vLmxlbmd0aDt0LS07KW9bdF0uZWxlbT09PXRoaXMmJm9bdF0ucXVldWU9PT1lJiYob1t0XS5hbmltLnN0b3AoITApLG8uc3BsaWNlKHQsMSkpO2Zvcih0PTA7dDxhO3QrKylyW3RdJiZyW3RdLmZpbmlzaCYmclt0XS5maW5pc2guY2FsbCh0aGlzKTtkZWxldGUgbi5maW5pc2h9KX19KSx3LmVhY2goWyJ0b2dnbGUiLCJzaG93IiwiaGlkZSJdLGZ1bmN0aW9uKGUsdCl7dmFyIG49dy5mblt0XTt3LmZuW3RdPWZ1bmN0aW9uKGUscixpKXtyZXR1cm4gbnVsbD09ZXx8ImJvb2xlYW4iPT10eXBlb2YgZT9uLmFwcGx5KHRoaXMsYXJndW1lbnRzKTp0aGlzLmFuaW1hdGUodXQodCwhMCksZSxyLGkpfX0pLHcuZWFjaCh7c2xpZGVEb3duOnV0KCJzaG93Iiksc2xpZGVVcDp1dCgiaGlkZSIpLHNsaWRlVG9nZ2xlOnV0KCJ0b2dnbGUiKSxmYWRlSW46e29wYWNpdHk6InNob3cifSxmYWRlT3V0OntvcGFjaXR5OiJoaWRlIn0sZmFkZVRvZ2dsZTp7b3BhY2l0eToidG9nZ2xlIn19LGZ1bmN0aW9uKGUsdCl7dy5mbltlXT1mdW5jdGlvbihlLG4scil7cmV0dXJuIHRoaXMuYW5pbWF0ZSh0LGUsbixyKX19KSx3LnRpbWVycz1bXSx3LmZ4LnRpY2s9ZnVuY3Rpb24oKXt2YXIgZSx0PTAsbj13LnRpbWVycztmb3IobnQ9RGF0ZS5ub3coKTt0PG4ubGVuZ3RoO3QrKykoZT1uW3RdKSgpfHxuW3RdIT09ZXx8bi5zcGxpY2UodC0tLDEpO24ubGVuZ3RofHx3LmZ4LnN0b3AoKSxudD12b2lkIDB9LHcuZngudGltZXI9ZnVuY3Rpb24oZSl7dy50aW1lcnMucHVzaChlKSx3LmZ4LnN0YXJ0KCl9LHcuZnguaW50ZXJ2YWw9MTMsdy5meC5zdGFydD1mdW5jdGlvbigpe3J0fHwocnQ9ITAsYXQoKSl9LHcuZnguc3RvcD1mdW5jdGlvbigpe3J0PW51bGx9LHcuZnguc3BlZWRzPXtzbG93OjYwMCxmYXN0OjIwMCxfZGVmYXVsdDo0MDB9LHcuZm4uZGVsYXk9ZnVuY3Rpb24odCxuKXtyZXR1cm4gdD13LmZ4P3cuZnguc3BlZWRzW3RdfHx0OnQsbj1ufHwiZngiLHRoaXMucXVldWUobixmdW5jdGlvbihuLHIpe3ZhciBpPWUuc2V0VGltZW91dChuLHQpO3Iuc3RvcD1mdW5jdGlvbigpe2UuY2xlYXJUaW1lb3V0KGkpfX0pfSxmdW5jdGlvbigpe3ZhciBlPXIuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSx0PXIuY3JlYXRlRWxlbWVudCgic2VsZWN0IikuYXBwZW5kQ2hpbGQoci5jcmVhdGVFbGVtZW50KCJvcHRpb24iKSk7ZS50eXBlPSJjaGVja2JveCIsaC5jaGVja09uPSIiIT09ZS52YWx1ZSxoLm9wdFNlbGVjdGVkPXQuc2VsZWN0ZWQsKGU9ci5jcmVhdGVFbGVtZW50KCJpbnB1dCIpKS52YWx1ZT0idCIsZS50eXBlPSJyYWRpbyIsaC5yYWRpb1ZhbHVlPSJ0Ij09PWUudmFsdWV9KCk7dmFyIGR0LGh0PXcuZXhwci5hdHRySGFuZGxlO3cuZm4uZXh0ZW5kKHthdHRyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHoodGhpcyx3LmF0dHIsZSx0LGFyZ3VtZW50cy5sZW5ndGg+MSl9LHJlbW92ZUF0dHI6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3cucmVtb3ZlQXR0cih0aGlzLGUpfSl9fSksdy5leHRlbmQoe2F0dHI6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbz1lLm5vZGVUeXBlO2lmKDMhPT1vJiY4IT09byYmMiE9PW8pcmV0dXJuInVuZGVmaW5lZCI9PXR5cGVvZiBlLmdldEF0dHJpYnV0ZT93LnByb3AoZSx0LG4pOigxPT09byYmdy5pc1hNTERvYyhlKXx8KGk9dy5hdHRySG9va3NbdC50b0xvd2VyQ2FzZSgpXXx8KHcuZXhwci5tYXRjaC5ib29sLnRlc3QodCk/ZHQ6dm9pZCAwKSksdm9pZCAwIT09bj9udWxsPT09bj92b2lkIHcucmVtb3ZlQXR0cihlLHQpOmkmJiJzZXQiaW4gaSYmdm9pZCAwIT09KHI9aS5zZXQoZSxuLHQpKT9yOihlLnNldEF0dHJpYnV0ZSh0LG4rIiIpLG4pOmkmJiJnZXQiaW4gaSYmbnVsbCE9PShyPWkuZ2V0KGUsdCkpP3I6bnVsbD09KHI9dy5maW5kLmF0dHIoZSx0KSk/dm9pZCAwOnIpfSxhdHRySG9va3M6e3R5cGU6e3NldDpmdW5jdGlvbihlLHQpe2lmKCFoLnJhZGlvVmFsdWUmJiJyYWRpbyI9PT10JiZOKGUsImlucHV0Iikpe3ZhciBuPWUudmFsdWU7cmV0dXJuIGUuc2V0QXR0cmlidXRlKCJ0eXBlIix0KSxuJiYoZS52YWx1ZT1uKSx0fX19fSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj0wLGk9dCYmdC5tYXRjaChNKTtpZihpJiYxPT09ZS5ub2RlVHlwZSl3aGlsZShuPWlbcisrXSllLnJlbW92ZUF0dHJpYnV0ZShuKX19KSxkdD17c2V0OmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4hMT09PXQ/dy5yZW1vdmVBdHRyKGUsbik6ZS5zZXRBdHRyaWJ1dGUobixuKSxufX0sdy5lYWNoKHcuZXhwci5tYXRjaC5ib29sLnNvdXJjZS5tYXRjaCgvXHcrL2cpLGZ1bmN0aW9uKGUsdCl7dmFyIG49aHRbdF18fHcuZmluZC5hdHRyO2h0W3RdPWZ1bmN0aW9uKGUsdCxyKXt2YXIgaSxvLGE9dC50b0xvd2VyQ2FzZSgpO3JldHVybiByfHwobz1odFthXSxodFthXT1pLGk9bnVsbCE9bihlLHQscik/YTpudWxsLGh0W2FdPW8pLGl9fSk7dmFyIGd0PS9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGJ1dHRvbikkL2kseXQ9L14oPzphfGFyZWEpJC9pO3cuZm4uZXh0ZW5kKHtwcm9wOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHoodGhpcyx3LnByb3AsZSx0LGFyZ3VtZW50cy5sZW5ndGg+MSl9LHJlbW92ZVByb3A6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2RlbGV0ZSB0aGlzW3cucHJvcEZpeFtlXXx8ZV19KX19KSx3LmV4dGVuZCh7cHJvcDpmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvPWUubm9kZVR5cGU7aWYoMyE9PW8mJjghPT1vJiYyIT09bylyZXR1cm4gMT09PW8mJncuaXNYTUxEb2MoZSl8fCh0PXcucHJvcEZpeFt0XXx8dCxpPXcucHJvcEhvb2tzW3RdKSx2b2lkIDAhPT1uP2kmJiJzZXQiaW4gaSYmdm9pZCAwIT09KHI9aS5zZXQoZSxuLHQpKT9yOmVbdF09bjppJiYiZ2V0ImluIGkmJm51bGwhPT0ocj1pLmdldChlLHQpKT9yOmVbdF19LHByb3BIb29rczp7dGFiSW5kZXg6e2dldDpmdW5jdGlvbihlKXt2YXIgdD13LmZpbmQuYXR0cihlLCJ0YWJpbmRleCIpO3JldHVybiB0P3BhcnNlSW50KHQsMTApOmd0LnRlc3QoZS5ub2RlTmFtZSl8fHl0LnRlc3QoZS5ub2RlTmFtZSkmJmUuaHJlZj8wOi0xfX19LHByb3BGaXg6eyJmb3IiOiJodG1sRm9yIiwiY2xhc3MiOiJjbGFzc05hbWUifX0pLGgub3B0U2VsZWN0ZWR8fCh3LnByb3BIb29rcy5zZWxlY3RlZD17Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0PWUucGFyZW50Tm9kZTtyZXR1cm4gdCYmdC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCxudWxsfSxzZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wYXJlbnROb2RlO3QmJih0LnNlbGVjdGVkSW5kZXgsdC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCl9fSksdy5lYWNoKFsidGFiSW5kZXgiLCJyZWFkT25seSIsIm1heExlbmd0aCIsImNlbGxTcGFjaW5nIiwiY2VsbFBhZGRpbmciLCJyb3dTcGFuIiwiY29sU3BhbiIsInVzZU1hcCIsImZyYW1lQm9yZGVyIiwiY29udGVudEVkaXRhYmxlIl0sZnVuY3Rpb24oKXt3LnByb3BGaXhbdGhpcy50b0xvd2VyQ2FzZSgpXT10aGlzfSk7ZnVuY3Rpb24gdnQoZSl7cmV0dXJuKGUubWF0Y2goTSl8fFtdKS5qb2luKCIgIil9ZnVuY3Rpb24gbXQoZSl7cmV0dXJuIGUuZ2V0QXR0cmlidXRlJiZlLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiJ9ZnVuY3Rpb24geHQoZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSk/ZToic3RyaW5nIj09dHlwZW9mIGU/ZS5tYXRjaChNKXx8W106W119dy5mbi5leHRlbmQoe2FkZENsYXNzOmZ1bmN0aW9uKGUpe3ZhciB0LG4scixpLG8sYSxzLHU9MDtpZihnKGUpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24odCl7dyh0aGlzKS5hZGRDbGFzcyhlLmNhbGwodGhpcyx0LG10KHRoaXMpKSl9KTtpZigodD14dChlKSkubGVuZ3RoKXdoaWxlKG49dGhpc1t1KytdKWlmKGk9bXQobikscj0xPT09bi5ub2RlVHlwZSYmIiAiK3Z0KGkpKyIgIil7YT0wO3doaWxlKG89dFthKytdKXIuaW5kZXhPZigiICIrbysiICIpPDAmJihyKz1vKyIgIik7aSE9PShzPXZ0KHIpKSYmbi5zZXRBdHRyaWJ1dGUoImNsYXNzIixzKX1yZXR1cm4gdGhpc30scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24oZSl7dmFyIHQsbixyLGksbyxhLHMsdT0wO2lmKGcoZSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbih0KXt3KHRoaXMpLnJlbW92ZUNsYXNzKGUuY2FsbCh0aGlzLHQsbXQodGhpcykpKX0pO2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiB0aGlzLmF0dHIoImNsYXNzIiwiIik7aWYoKHQ9eHQoZSkpLmxlbmd0aCl3aGlsZShuPXRoaXNbdSsrXSlpZihpPW10KG4pLHI9MT09PW4ubm9kZVR5cGUmJiIgIit2dChpKSsiICIpe2E9MDt3aGlsZShvPXRbYSsrXSl3aGlsZShyLmluZGV4T2YoIiAiK28rIiAiKT4tMSlyPXIucmVwbGFjZSgiICIrbysiICIsIiAiKTtpIT09KHM9dnQocikpJiZuLnNldEF0dHJpYnV0ZSgiY2xhc3MiLHMpfXJldHVybiB0aGlzfSx0b2dnbGVDbGFzczpmdW5jdGlvbihlLHQpe3ZhciBuPXR5cGVvZiBlLHI9InN0cmluZyI9PT1ufHxBcnJheS5pc0FycmF5KGUpO3JldHVybiJib29sZWFuIj09dHlwZW9mIHQmJnI/dD90aGlzLmFkZENsYXNzKGUpOnRoaXMucmVtb3ZlQ2xhc3MoZSk6ZyhlKT90aGlzLmVhY2goZnVuY3Rpb24obil7dyh0aGlzKS50b2dnbGVDbGFzcyhlLmNhbGwodGhpcyxuLG10KHRoaXMpLHQpLHQpfSk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQsaSxvLGE7aWYocil7aT0wLG89dyh0aGlzKSxhPXh0KGUpO3doaWxlKHQ9YVtpKytdKW8uaGFzQ2xhc3ModCk/by5yZW1vdmVDbGFzcyh0KTpvLmFkZENsYXNzKHQpfWVsc2Ugdm9pZCAwIT09ZSYmImJvb2xlYW4iIT09bnx8KCh0PW10KHRoaXMpKSYmSi5zZXQodGhpcywiX19jbGFzc05hbWVfXyIsdCksdGhpcy5zZXRBdHRyaWJ1dGUmJnRoaXMuc2V0QXR0cmlidXRlKCJjbGFzcyIsdHx8ITE9PT1lPyIiOkouZ2V0KHRoaXMsIl9fY2xhc3NOYW1lX18iKXx8IiIpKX0pfSxoYXNDbGFzczpmdW5jdGlvbihlKXt2YXIgdCxuLHI9MDt0PSIgIitlKyIgIjt3aGlsZShuPXRoaXNbcisrXSlpZigxPT09bi5ub2RlVHlwZSYmKCIgIit2dChtdChuKSkrIiAiKS5pbmRleE9mKHQpPi0xKXJldHVybiEwO3JldHVybiExfX0pO3ZhciBidD0vXHIvZzt3LmZuLmV4dGVuZCh7dmFsOmZ1bmN0aW9uKGUpe3ZhciB0LG4scixpPXRoaXNbMF07e2lmKGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHI9ZyhlKSx0aGlzLmVhY2goZnVuY3Rpb24obil7dmFyIGk7MT09PXRoaXMubm9kZVR5cGUmJihudWxsPT0oaT1yP2UuY2FsbCh0aGlzLG4sdyh0aGlzKS52YWwoKSk6ZSk/aT0iIjoibnVtYmVyIj09dHlwZW9mIGk/aSs9IiI6QXJyYXkuaXNBcnJheShpKSYmKGk9dy5tYXAoaSxmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT8iIjplKyIifSkpLCh0PXcudmFsSG9va3NbdGhpcy50eXBlXXx8dy52YWxIb29rc1t0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldKSYmInNldCJpbiB0JiZ2b2lkIDAhPT10LnNldCh0aGlzLGksInZhbHVlIil8fCh0aGlzLnZhbHVlPWkpKX0pO2lmKGkpcmV0dXJuKHQ9dy52YWxIb29rc1tpLnR5cGVdfHx3LnZhbEhvb2tzW2kubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0pJiYiZ2V0ImluIHQmJnZvaWQgMCE9PShuPXQuZ2V0KGksInZhbHVlIikpP246InN0cmluZyI9PXR5cGVvZihuPWkudmFsdWUpP24ucmVwbGFjZShidCwiIik6bnVsbD09bj8iIjpufX19KSx3LmV4dGVuZCh7dmFsSG9va3M6e29wdGlvbjp7Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0PXcuZmluZC5hdHRyKGUsInZhbHVlIik7cmV0dXJuIG51bGwhPXQ/dDp2dCh3LnRleHQoZSkpfX0sc2VsZWN0OntnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQsbixyLGk9ZS5vcHRpb25zLG89ZS5zZWxlY3RlZEluZGV4LGE9InNlbGVjdC1vbmUiPT09ZS50eXBlLHM9YT9udWxsOltdLHU9YT9vKzE6aS5sZW5ndGg7Zm9yKHI9bzwwP3U6YT9vOjA7cjx1O3IrKylpZigoKG49aVtyXSkuc2VsZWN0ZWR8fHI9PT1vKSYmIW4uZGlzYWJsZWQmJighbi5wYXJlbnROb2RlLmRpc2FibGVkfHwhTihuLnBhcmVudE5vZGUsIm9wdGdyb3VwIikpKXtpZih0PXcobikudmFsKCksYSlyZXR1cm4gdDtzLnB1c2godCl9cmV0dXJuIHN9LHNldDpmdW5jdGlvbihlLHQpe3ZhciBuLHIsaT1lLm9wdGlvbnMsbz13Lm1ha2VBcnJheSh0KSxhPWkubGVuZ3RoO3doaWxlKGEtLSkoKHI9aVthXSkuc2VsZWN0ZWQ9dy5pbkFycmF5KHcudmFsSG9va3Mub3B0aW9uLmdldChyKSxvKT4tMSkmJihuPSEwKTtyZXR1cm4gbnx8KGUuc2VsZWN0ZWRJbmRleD0tMSksb319fX0pLHcuZWFjaChbInJhZGlvIiwiY2hlY2tib3giXSxmdW5jdGlvbigpe3cudmFsSG9va3NbdGhpc109e3NldDpmdW5jdGlvbihlLHQpe2lmKEFycmF5LmlzQXJyYXkodCkpcmV0dXJuIGUuY2hlY2tlZD13LmluQXJyYXkodyhlKS52YWwoKSx0KT4tMX19LGguY2hlY2tPbnx8KHcudmFsSG9va3NbdGhpc10uZ2V0PWZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT09ZS5nZXRBdHRyaWJ1dGUoInZhbHVlIik/Im9uIjplLnZhbHVlfSl9KSxoLmZvY3VzaW49Im9uZm9jdXNpbiJpbiBlO3ZhciB3dD0vXig/OmZvY3VzaW5mb2N1c3xmb2N1c291dGJsdXIpJC8sVHQ9ZnVuY3Rpb24oZSl7ZS5zdG9wUHJvcGFnYXRpb24oKX07dy5leHRlbmQody5ldmVudCx7dHJpZ2dlcjpmdW5jdGlvbih0LG4saSxvKXt2YXIgYSxzLHUsbCxjLHAsZCxoLHY9W2l8fHJdLG09Zi5jYWxsKHQsInR5cGUiKT90LnR5cGU6dCx4PWYuY2FsbCh0LCJuYW1lc3BhY2UiKT90Lm5hbWVzcGFjZS5zcGxpdCgiLiIpOltdO2lmKHM9aD11PWk9aXx8ciwzIT09aS5ub2RlVHlwZSYmOCE9PWkubm9kZVR5cGUmJiF3dC50ZXN0KG0rdy5ldmVudC50cmlnZ2VyZWQpJiYobS5pbmRleE9mKCIuIik+LTEmJihtPSh4PW0uc3BsaXQoIi4iKSkuc2hpZnQoKSx4LnNvcnQoKSksYz1tLmluZGV4T2YoIjoiKTwwJiYib24iK20sdD10W3cuZXhwYW5kb10/dDpuZXcgdy5FdmVudChtLCJvYmplY3QiPT10eXBlb2YgdCYmdCksdC5pc1RyaWdnZXI9bz8yOjMsdC5uYW1lc3BhY2U9eC5qb2luKCIuIiksdC5ybmFtZXNwYWNlPXQubmFtZXNwYWNlP25ldyBSZWdFeHAoIihefFxcLikiK3guam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIik6bnVsbCx0LnJlc3VsdD12b2lkIDAsdC50YXJnZXR8fCh0LnRhcmdldD1pKSxuPW51bGw9PW4/W3RdOncubWFrZUFycmF5KG4sW3RdKSxkPXcuZXZlbnQuc3BlY2lhbFttXXx8e30sb3x8IWQudHJpZ2dlcnx8ITEhPT1kLnRyaWdnZXIuYXBwbHkoaSxuKSkpe2lmKCFvJiYhZC5ub0J1YmJsZSYmIXkoaSkpe2ZvcihsPWQuZGVsZWdhdGVUeXBlfHxtLHd0LnRlc3QobCttKXx8KHM9cy5wYXJlbnROb2RlKTtzO3M9cy5wYXJlbnROb2RlKXYucHVzaChzKSx1PXM7dT09PShpLm93bmVyRG9jdW1lbnR8fHIpJiZ2LnB1c2godS5kZWZhdWx0Vmlld3x8dS5wYXJlbnRXaW5kb3d8fGUpfWE9MDt3aGlsZSgocz12W2ErK10pJiYhdC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKWg9cyx0LnR5cGU9YT4xP2w6ZC5iaW5kVHlwZXx8bSwocD0oSi5nZXQocywiZXZlbnRzIil8fHt9KVt0LnR5cGVdJiZKLmdldChzLCJoYW5kbGUiKSkmJnAuYXBwbHkocyxuKSwocD1jJiZzW2NdKSYmcC5hcHBseSYmWShzKSYmKHQucmVzdWx0PXAuYXBwbHkocyxuKSwhMT09PXQucmVzdWx0JiZ0LnByZXZlbnREZWZhdWx0KCkpO3JldHVybiB0LnR5cGU9bSxvfHx0LmlzRGVmYXVsdFByZXZlbnRlZCgpfHxkLl9kZWZhdWx0JiYhMSE9PWQuX2RlZmF1bHQuYXBwbHkodi5wb3AoKSxuKXx8IVkoaSl8fGMmJmcoaVttXSkmJiF5KGkpJiYoKHU9aVtjXSkmJihpW2NdPW51bGwpLHcuZXZlbnQudHJpZ2dlcmVkPW0sdC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpJiZoLmFkZEV2ZW50TGlzdGVuZXIobSxUdCksaVttXSgpLHQuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSYmaC5yZW1vdmVFdmVudExpc3RlbmVyKG0sVHQpLHcuZXZlbnQudHJpZ2dlcmVkPXZvaWQgMCx1JiYoaVtjXT11KSksdC5yZXN1bHR9fSxzaW11bGF0ZTpmdW5jdGlvbihlLHQsbil7dmFyIHI9dy5leHRlbmQobmV3IHcuRXZlbnQsbix7dHlwZTplLGlzU2ltdWxhdGVkOiEwfSk7dy5ldmVudC50cmlnZ2VyKHIsbnVsbCx0KX19KSx3LmZuLmV4dGVuZCh7dHJpZ2dlcjpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt3LmV2ZW50LnRyaWdnZXIoZSx0LHRoaXMpfSl9LHRyaWdnZXJIYW5kbGVyOmZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpc1swXTtpZihuKXJldHVybiB3LmV2ZW50LnRyaWdnZXIoZSx0LG4sITApfX0pLGguZm9jdXNpbnx8dy5lYWNoKHtmb2N1czoiZm9jdXNpbiIsYmx1cjoiZm9jdXNvdXQifSxmdW5jdGlvbihlLHQpe3ZhciBuPWZ1bmN0aW9uKGUpe3cuZXZlbnQuc2ltdWxhdGUodCxlLnRhcmdldCx3LmV2ZW50LmZpeChlKSl9O3cuZXZlbnQuc3BlY2lhbFt0XT17c2V0dXA6ZnVuY3Rpb24oKXt2YXIgcj10aGlzLm93bmVyRG9jdW1lbnR8fHRoaXMsaT1KLmFjY2VzcyhyLHQpO2l8fHIuYWRkRXZlbnRMaXN0ZW5lcihlLG4sITApLEouYWNjZXNzKHIsdCwoaXx8MCkrMSl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7dmFyIHI9dGhpcy5vd25lckRvY3VtZW50fHx0aGlzLGk9Si5hY2Nlc3Mocix0KS0xO2k/Si5hY2Nlc3Mocix0LGkpOihyLnJlbW92ZUV2ZW50TGlzdGVuZXIoZSxuLCEwKSxKLnJlbW92ZShyLHQpKX19fSk7dmFyIEN0PWUubG9jYXRpb24sRXQ9RGF0ZS5ub3coKSxrdD0vXD8vO3cucGFyc2VYTUw9ZnVuY3Rpb24odCl7dmFyIG47aWYoIXR8fCJzdHJpbmciIT10eXBlb2YgdClyZXR1cm4gbnVsbDt0cnl7bj0obmV3IGUuRE9NUGFyc2VyKS5wYXJzZUZyb21TdHJpbmcodCwidGV4dC94bWwiKX1jYXRjaChlKXtuPXZvaWQgMH1yZXR1cm4gbiYmIW4uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInBhcnNlcmVycm9yIikubGVuZ3RofHx3LmVycm9yKCJJbnZhbGlkIFhNTDogIit0KSxufTt2YXIgU3Q9L1xbXF0kLyxEdD0vXHI/XG4vZyxOdD0vXig/OnN1Ym1pdHxidXR0b258aW1hZ2V8cmVzZXR8ZmlsZSkkL2ksQXQ9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8a2V5Z2VuKS9pO2Z1bmN0aW9uIGp0KGUsdCxuLHIpe3ZhciBpO2lmKEFycmF5LmlzQXJyYXkodCkpdy5lYWNoKHQsZnVuY3Rpb24odCxpKXtufHxTdC50ZXN0KGUpP3IoZSxpKTpqdChlKyJbIisoIm9iamVjdCI9PXR5cGVvZiBpJiZudWxsIT1pP3Q6IiIpKyJdIixpLG4scil9KTtlbHNlIGlmKG58fCJvYmplY3QiIT09eCh0KSlyKGUsdCk7ZWxzZSBmb3IoaSBpbiB0KWp0KGUrIlsiK2krIl0iLHRbaV0sbixyKX13LnBhcmFtPWZ1bmN0aW9uKGUsdCl7dmFyIG4scj1bXSxpPWZ1bmN0aW9uKGUsdCl7dmFyIG49Zyh0KT90KCk6dDtyW3IubGVuZ3RoXT1lbmNvZGVVUklDb21wb25lbnQoZSkrIj0iK2VuY29kZVVSSUNvbXBvbmVudChudWxsPT1uPyIiOm4pfTtpZihBcnJheS5pc0FycmF5KGUpfHxlLmpxdWVyeSYmIXcuaXNQbGFpbk9iamVjdChlKSl3LmVhY2goZSxmdW5jdGlvbigpe2kodGhpcy5uYW1lLHRoaXMudmFsdWUpfSk7ZWxzZSBmb3IobiBpbiBlKWp0KG4sZVtuXSx0LGkpO3JldHVybiByLmpvaW4oIiYiKX0sdy5mbi5leHRlbmQoe3NlcmlhbGl6ZTpmdW5jdGlvbigpe3JldHVybiB3LnBhcmFtKHRoaXMuc2VyaWFsaXplQXJyYXkoKSl9LHNlcmlhbGl6ZUFycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7dmFyIGU9dy5wcm9wKHRoaXMsImVsZW1lbnRzIik7cmV0dXJuIGU/dy5tYWtlQXJyYXkoZSk6dGhpc30pLmZpbHRlcihmdW5jdGlvbigpe3ZhciBlPXRoaXMudHlwZTtyZXR1cm4gdGhpcy5uYW1lJiYhdyh0aGlzKS5pcygiOmRpc2FibGVkIikmJkF0LnRlc3QodGhpcy5ub2RlTmFtZSkmJiFOdC50ZXN0KGUpJiYodGhpcy5jaGVja2VkfHwhcGUudGVzdChlKSl9KS5tYXAoZnVuY3Rpb24oZSx0KXt2YXIgbj13KHRoaXMpLnZhbCgpO3JldHVybiBudWxsPT1uP251bGw6QXJyYXkuaXNBcnJheShuKT93Lm1hcChuLGZ1bmN0aW9uKGUpe3JldHVybntuYW1lOnQubmFtZSx2YWx1ZTplLnJlcGxhY2UoRHQsIlxyXG4iKX19KTp7bmFtZTp0Lm5hbWUsdmFsdWU6bi5yZXBsYWNlKER0LCJcclxuIil9fSkuZ2V0KCl9fSk7dmFyIHF0PS8lMjAvZyxMdD0vIy4qJC8sSHQ9LyhbPyZdKV89W14mXSovLE90PS9eKC4qPyk6WyBcdF0qKFteXHJcbl0qKSQvZ20sUHQ9L14oPzphYm91dHxhcHB8YXBwLXN0b3JhZ2V8ListZXh0ZW5zaW9ufGZpbGV8cmVzfHdpZGdldCk6JC8sTXQ9L14oPzpHRVR8SEVBRCkkLyxSdD0vXlwvXC8vLEl0PXt9LFd0PXt9LCR0PSIqLyIuY29uY2F0KCIqIiksQnQ9ci5jcmVhdGVFbGVtZW50KCJhIik7QnQuaHJlZj1DdC5ocmVmO2Z1bmN0aW9uIEZ0KGUpe3JldHVybiBmdW5jdGlvbih0LG4peyJzdHJpbmciIT10eXBlb2YgdCYmKG49dCx0PSIqIik7dmFyIHIsaT0wLG89dC50b0xvd2VyQ2FzZSgpLm1hdGNoKE0pfHxbXTtpZihnKG4pKXdoaWxlKHI9b1tpKytdKSIrIj09PXJbMF0/KHI9ci5zbGljZSgxKXx8IioiLChlW3JdPWVbcl18fFtdKS51bnNoaWZ0KG4pKTooZVtyXT1lW3JdfHxbXSkucHVzaChuKX19ZnVuY3Rpb24gX3QoZSx0LG4scil7dmFyIGk9e30sbz1lPT09V3Q7ZnVuY3Rpb24gYShzKXt2YXIgdTtyZXR1cm4gaVtzXT0hMCx3LmVhY2goZVtzXXx8W10sZnVuY3Rpb24oZSxzKXt2YXIgbD1zKHQsbixyKTtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGx8fG98fGlbbF0/bz8hKHU9bCk6dm9pZCAwOih0LmRhdGFUeXBlcy51bnNoaWZ0KGwpLGEobCksITEpfSksdX1yZXR1cm4gYSh0LmRhdGFUeXBlc1swXSl8fCFpWyIqIl0mJmEoIioiKX1mdW5jdGlvbiB6dChlLHQpe3ZhciBuLHIsaT13LmFqYXhTZXR0aW5ncy5mbGF0T3B0aW9uc3x8e307Zm9yKG4gaW4gdCl2b2lkIDAhPT10W25dJiYoKGlbbl0/ZTpyfHwocj17fSkpW25dPXRbbl0pO3JldHVybiByJiZ3LmV4dGVuZCghMCxlLHIpLGV9ZnVuY3Rpb24gWHQoZSx0LG4pe3ZhciByLGksbyxhLHM9ZS5jb250ZW50cyx1PWUuZGF0YVR5cGVzO3doaWxlKCIqIj09PXVbMF0pdS5zaGlmdCgpLHZvaWQgMD09PXImJihyPWUubWltZVR5cGV8fHQuZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHlwZSIpKTtpZihyKWZvcihpIGluIHMpaWYoc1tpXSYmc1tpXS50ZXN0KHIpKXt1LnVuc2hpZnQoaSk7YnJlYWt9aWYodVswXWluIG4pbz11WzBdO2Vsc2V7Zm9yKGkgaW4gbil7aWYoIXVbMF18fGUuY29udmVydGVyc1tpKyIgIit1WzBdXSl7bz1pO2JyZWFrfWF8fChhPWkpfW89b3x8YX1pZihvKXJldHVybiBvIT09dVswXSYmdS51bnNoaWZ0KG8pLG5bb119ZnVuY3Rpb24gVXQoZSx0LG4scil7dmFyIGksbyxhLHMsdSxsPXt9LGM9ZS5kYXRhVHlwZXMuc2xpY2UoKTtpZihjWzFdKWZvcihhIGluIGUuY29udmVydGVycylsW2EudG9Mb3dlckNhc2UoKV09ZS5jb252ZXJ0ZXJzW2FdO289Yy5zaGlmdCgpO3doaWxlKG8paWYoZS5yZXNwb25zZUZpZWxkc1tvXSYmKG5bZS5yZXNwb25zZUZpZWxkc1tvXV09dCksIXUmJnImJmUuZGF0YUZpbHRlciYmKHQ9ZS5kYXRhRmlsdGVyKHQsZS5kYXRhVHlwZSkpLHU9byxvPWMuc2hpZnQoKSlpZigiKiI9PT1vKW89dTtlbHNlIGlmKCIqIiE9PXUmJnUhPT1vKXtpZighKGE9bFt1KyIgIitvXXx8bFsiKiAiK29dKSlmb3IoaSBpbiBsKWlmKChzPWkuc3BsaXQoIiAiKSlbMV09PT1vJiYoYT1sW3UrIiAiK3NbMF1dfHxsWyIqICIrc1swXV0pKXshMD09PWE/YT1sW2ldOiEwIT09bFtpXSYmKG89c1swXSxjLnVuc2hpZnQoc1sxXSkpO2JyZWFrfWlmKCEwIT09YSlpZihhJiZlWyJ0aHJvd3MiXSl0PWEodCk7ZWxzZSB0cnl7dD1hKHQpfWNhdGNoKGUpe3JldHVybntzdGF0ZToicGFyc2VyZXJyb3IiLGVycm9yOmE/ZToiTm8gY29udmVyc2lvbiBmcm9tICIrdSsiIHRvICIrb319fXJldHVybntzdGF0ZToic3VjY2VzcyIsZGF0YTp0fX13LmV4dGVuZCh7YWN0aXZlOjAsbGFzdE1vZGlmaWVkOnt9LGV0YWc6e30sYWpheFNldHRpbmdzOnt1cmw6Q3QuaHJlZix0eXBlOiJHRVQiLGlzTG9jYWw6UHQudGVzdChDdC5wcm90b2NvbCksZ2xvYmFsOiEwLHByb2Nlc3NEYXRhOiEwLGFzeW5jOiEwLGNvbnRlbnRUeXBlOiJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9VVRGLTgiLGFjY2VwdHM6eyIqIjokdCx0ZXh0OiJ0ZXh0L3BsYWluIixodG1sOiJ0ZXh0L2h0bWwiLHhtbDoiYXBwbGljYXRpb24veG1sLCB0ZXh0L3htbCIsanNvbjoiYXBwbGljYXRpb24vanNvbiwgdGV4dC9qYXZhc2NyaXB0In0sY29udGVudHM6e3htbDovXGJ4bWxcYi8saHRtbDovXGJodG1sLyxqc29uOi9cYmpzb25cYi99LHJlc3BvbnNlRmllbGRzOnt4bWw6InJlc3BvbnNlWE1MIix0ZXh0OiJyZXNwb25zZVRleHQiLGpzb246InJlc3BvbnNlSlNPTiJ9LGNvbnZlcnRlcnM6eyIqIHRleHQiOlN0cmluZywidGV4dCBodG1sIjohMCwidGV4dCBqc29uIjpKU09OLnBhcnNlLCJ0ZXh0IHhtbCI6dy5wYXJzZVhNTH0sZmxhdE9wdGlvbnM6e3VybDohMCxjb250ZXh0OiEwfX0sYWpheFNldHVwOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQ/enQoenQoZSx3LmFqYXhTZXR0aW5ncyksdCk6enQody5hamF4U2V0dGluZ3MsZSl9LGFqYXhQcmVmaWx0ZXI6RnQoSXQpLGFqYXhUcmFuc3BvcnQ6RnQoV3QpLGFqYXg6ZnVuY3Rpb24odCxuKXsib2JqZWN0Ij09dHlwZW9mIHQmJihuPXQsdD12b2lkIDApLG49bnx8e307dmFyIGksbyxhLHMsdSxsLGMsZixwLGQsaD13LmFqYXhTZXR1cCh7fSxuKSxnPWguY29udGV4dHx8aCx5PWguY29udGV4dCYmKGcubm9kZVR5cGV8fGcuanF1ZXJ5KT93KGcpOncuZXZlbnQsdj13LkRlZmVycmVkKCksbT13LkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSx4PWguc3RhdHVzQ29kZXx8e30sYj17fSxUPXt9LEM9ImNhbmNlbGVkIixFPXtyZWFkeVN0YXRlOjAsZ2V0UmVzcG9uc2VIZWFkZXI6ZnVuY3Rpb24oZSl7dmFyIHQ7aWYoYyl7aWYoIXMpe3M9e307d2hpbGUodD1PdC5leGVjKGEpKXNbdFsxXS50b0xvd2VyQ2FzZSgpXT10WzJdfXQ9c1tlLnRvTG93ZXJDYXNlKCldfXJldHVybiBudWxsPT10P251bGw6dH0sZ2V0QWxsUmVzcG9uc2VIZWFkZXJzOmZ1bmN0aW9uKCl7cmV0dXJuIGM/YTpudWxsfSxzZXRSZXF1ZXN0SGVhZGVyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIG51bGw9PWMmJihlPVRbZS50b0xvd2VyQ2FzZSgpXT1UW2UudG9Mb3dlckNhc2UoKV18fGUsYltlXT10KSx0aGlzfSxvdmVycmlkZU1pbWVUeXBlOmZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1jJiYoaC5taW1lVHlwZT1lKSx0aGlzfSxzdGF0dXNDb2RlOmZ1bmN0aW9uKGUpe3ZhciB0O2lmKGUpaWYoYylFLmFsd2F5cyhlW0Uuc3RhdHVzXSk7ZWxzZSBmb3IodCBpbiBlKXhbdF09W3hbdF0sZVt0XV07cmV0dXJuIHRoaXN9LGFib3J0OmZ1bmN0aW9uKGUpe3ZhciB0PWV8fEM7cmV0dXJuIGkmJmkuYWJvcnQodCksaygwLHQpLHRoaXN9fTtpZih2LnByb21pc2UoRSksaC51cmw9KCh0fHxoLnVybHx8Q3QuaHJlZikrIiIpLnJlcGxhY2UoUnQsQ3QucHJvdG9jb2wrIi8vIiksaC50eXBlPW4ubWV0aG9kfHxuLnR5cGV8fGgubWV0aG9kfHxoLnR5cGUsaC5kYXRhVHlwZXM9KGguZGF0YVR5cGV8fCIqIikudG9Mb3dlckNhc2UoKS5tYXRjaChNKXx8WyIiXSxudWxsPT1oLmNyb3NzRG9tYWluKXtsPXIuY3JlYXRlRWxlbWVudCgiYSIpO3RyeXtsLmhyZWY9aC51cmwsbC5ocmVmPWwuaHJlZixoLmNyb3NzRG9tYWluPUJ0LnByb3RvY29sKyIvLyIrQnQuaG9zdCE9bC5wcm90b2NvbCsiLy8iK2wuaG9zdH1jYXRjaChlKXtoLmNyb3NzRG9tYWluPSEwfX1pZihoLmRhdGEmJmgucHJvY2Vzc0RhdGEmJiJzdHJpbmciIT10eXBlb2YgaC5kYXRhJiYoaC5kYXRhPXcucGFyYW0oaC5kYXRhLGgudHJhZGl0aW9uYWwpKSxfdChJdCxoLG4sRSksYylyZXR1cm4gRTsoZj13LmV2ZW50JiZoLmdsb2JhbCkmJjA9PXcuYWN0aXZlKysmJncuZXZlbnQudHJpZ2dlcigiYWpheFN0YXJ0IiksaC50eXBlPWgudHlwZS50b1VwcGVyQ2FzZSgpLGguaGFzQ29udGVudD0hTXQudGVzdChoLnR5cGUpLG89aC51cmwucmVwbGFjZShMdCwiIiksaC5oYXNDb250ZW50P2guZGF0YSYmaC5wcm9jZXNzRGF0YSYmMD09PShoLmNvbnRlbnRUeXBlfHwiIikuaW5kZXhPZigiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIikmJihoLmRhdGE9aC5kYXRhLnJlcGxhY2UocXQsIisiKSk6KGQ9aC51cmwuc2xpY2Uoby5sZW5ndGgpLGguZGF0YSYmKGgucHJvY2Vzc0RhdGF8fCJzdHJpbmciPT10eXBlb2YgaC5kYXRhKSYmKG8rPShrdC50ZXN0KG8pPyImIjoiPyIpK2guZGF0YSxkZWxldGUgaC5kYXRhKSwhMT09PWguY2FjaGUmJihvPW8ucmVwbGFjZShIdCwiJDEiKSxkPShrdC50ZXN0KG8pPyImIjoiPyIpKyJfPSIrRXQrKytkKSxoLnVybD1vK2QpLGguaWZNb2RpZmllZCYmKHcubGFzdE1vZGlmaWVkW29dJiZFLnNldFJlcXVlc3RIZWFkZXIoIklmLU1vZGlmaWVkLVNpbmNlIix3Lmxhc3RNb2RpZmllZFtvXSksdy5ldGFnW29dJiZFLnNldFJlcXVlc3RIZWFkZXIoIklmLU5vbmUtTWF0Y2giLHcuZXRhZ1tvXSkpLChoLmRhdGEmJmguaGFzQ29udGVudCYmITEhPT1oLmNvbnRlbnRUeXBlfHxuLmNvbnRlbnRUeXBlKSYmRS5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLGguY29udGVudFR5cGUpLEUuc2V0UmVxdWVzdEhlYWRlcigiQWNjZXB0IixoLmRhdGFUeXBlc1swXSYmaC5hY2NlcHRzW2guZGF0YVR5cGVzWzBdXT9oLmFjY2VwdHNbaC5kYXRhVHlwZXNbMF1dKygiKiIhPT1oLmRhdGFUeXBlc1swXT8iLCAiKyR0KyI7IHE9MC4wMSI6IiIpOmguYWNjZXB0c1siKiJdKTtmb3IocCBpbiBoLmhlYWRlcnMpRS5zZXRSZXF1ZXN0SGVhZGVyKHAsaC5oZWFkZXJzW3BdKTtpZihoLmJlZm9yZVNlbmQmJighMT09PWguYmVmb3JlU2VuZC5jYWxsKGcsRSxoKXx8YykpcmV0dXJuIEUuYWJvcnQoKTtpZihDPSJhYm9ydCIsbS5hZGQoaC5jb21wbGV0ZSksRS5kb25lKGguc3VjY2VzcyksRS5mYWlsKGguZXJyb3IpLGk9X3QoV3QsaCxuLEUpKXtpZihFLnJlYWR5U3RhdGU9MSxmJiZ5LnRyaWdnZXIoImFqYXhTZW5kIixbRSxoXSksYylyZXR1cm4gRTtoLmFzeW5jJiZoLnRpbWVvdXQ+MCYmKHU9ZS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7RS5hYm9ydCgidGltZW91dCIpfSxoLnRpbWVvdXQpKTt0cnl7Yz0hMSxpLnNlbmQoYixrKX1jYXRjaChlKXtpZihjKXRocm93IGU7aygtMSxlKX19ZWxzZSBrKC0xLCJObyBUcmFuc3BvcnQiKTtmdW5jdGlvbiBrKHQsbixyLHMpe3ZhciBsLHAsZCxiLFQsQz1uO2N8fChjPSEwLHUmJmUuY2xlYXJUaW1lb3V0KHUpLGk9dm9pZCAwLGE9c3x8IiIsRS5yZWFkeVN0YXRlPXQ+MD80OjAsbD10Pj0yMDAmJnQ8MzAwfHwzMDQ9PT10LHImJihiPVh0KGgsRSxyKSksYj1VdChoLGIsRSxsKSxsPyhoLmlmTW9kaWZpZWQmJigoVD1FLmdldFJlc3BvbnNlSGVhZGVyKCJMYXN0LU1vZGlmaWVkIikpJiYody5sYXN0TW9kaWZpZWRbb109VCksKFQ9RS5nZXRSZXNwb25zZUhlYWRlcigiZXRhZyIpKSYmKHcuZXRhZ1tvXT1UKSksMjA0PT09dHx8IkhFQUQiPT09aC50eXBlP0M9Im5vY29udGVudCI6MzA0PT09dD9DPSJub3Rtb2RpZmllZCI6KEM9Yi5zdGF0ZSxwPWIuZGF0YSxsPSEoZD1iLmVycm9yKSkpOihkPUMsIXQmJkN8fChDPSJlcnJvciIsdDwwJiYodD0wKSkpLEUuc3RhdHVzPXQsRS5zdGF0dXNUZXh0PShufHxDKSsiIixsP3YucmVzb2x2ZVdpdGgoZyxbcCxDLEVdKTp2LnJlamVjdFdpdGgoZyxbRSxDLGRdKSxFLnN0YXR1c0NvZGUoeCkseD12b2lkIDAsZiYmeS50cmlnZ2VyKGw/ImFqYXhTdWNjZXNzIjoiYWpheEVycm9yIixbRSxoLGw/cDpkXSksbS5maXJlV2l0aChnLFtFLENdKSxmJiYoeS50cmlnZ2VyKCJhamF4Q29tcGxldGUiLFtFLGhdKSwtLXcuYWN0aXZlfHx3LmV2ZW50LnRyaWdnZXIoImFqYXhTdG9wIikpKX1yZXR1cm4gRX0sZ2V0SlNPTjpmdW5jdGlvbihlLHQsbil7cmV0dXJuIHcuZ2V0KGUsdCxuLCJqc29uIil9LGdldFNjcmlwdDpmdW5jdGlvbihlLHQpe3JldHVybiB3LmdldChlLHZvaWQgMCx0LCJzY3JpcHQiKX19KSx3LmVhY2goWyJnZXQiLCJwb3N0Il0sZnVuY3Rpb24oZSx0KXt3W3RdPWZ1bmN0aW9uKGUsbixyLGkpe3JldHVybiBnKG4pJiYoaT1pfHxyLHI9bixuPXZvaWQgMCksdy5hamF4KHcuZXh0ZW5kKHt1cmw6ZSx0eXBlOnQsZGF0YVR5cGU6aSxkYXRhOm4sc3VjY2VzczpyfSx3LmlzUGxhaW5PYmplY3QoZSkmJmUpKX19KSx3Ll9ldmFsVXJsPWZ1bmN0aW9uKGUpe3JldHVybiB3LmFqYXgoe3VybDplLHR5cGU6IkdFVCIsZGF0YVR5cGU6InNjcmlwdCIsY2FjaGU6ITAsYXN5bmM6ITEsZ2xvYmFsOiExLCJ0aHJvd3MiOiEwfSl9LHcuZm4uZXh0ZW5kKHt3cmFwQWxsOmZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiB0aGlzWzBdJiYoZyhlKSYmKGU9ZS5jYWxsKHRoaXNbMF0pKSx0PXcoZSx0aGlzWzBdLm93bmVyRG9jdW1lbnQpLmVxKDApLmNsb25lKCEwKSx0aGlzWzBdLnBhcmVudE5vZGUmJnQuaW5zZXJ0QmVmb3JlKHRoaXNbMF0pLHQubWFwKGZ1bmN0aW9uKCl7dmFyIGU9dGhpczt3aGlsZShlLmZpcnN0RWxlbWVudENoaWxkKWU9ZS5maXJzdEVsZW1lbnRDaGlsZDtyZXR1cm4gZX0pLmFwcGVuZCh0aGlzKSksdGhpc30sd3JhcElubmVyOmZ1bmN0aW9uKGUpe3JldHVybiBnKGUpP3RoaXMuZWFjaChmdW5jdGlvbih0KXt3KHRoaXMpLndyYXBJbm5lcihlLmNhbGwodGhpcyx0KSl9KTp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgdD13KHRoaXMpLG49dC5jb250ZW50cygpO24ubGVuZ3RoP24ud3JhcEFsbChlKTp0LmFwcGVuZChlKX0pfSx3cmFwOmZ1bmN0aW9uKGUpe3ZhciB0PWcoZSk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihuKXt3KHRoaXMpLndyYXBBbGwodD9lLmNhbGwodGhpcyxuKTplKX0pfSx1bndyYXA6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucGFyZW50KGUpLm5vdCgiYm9keSIpLmVhY2goZnVuY3Rpb24oKXt3KHRoaXMpLnJlcGxhY2VXaXRoKHRoaXMuY2hpbGROb2Rlcyl9KSx0aGlzfX0pLHcuZXhwci5wc2V1ZG9zLmhpZGRlbj1mdW5jdGlvbihlKXtyZXR1cm4hdy5leHByLnBzZXVkb3MudmlzaWJsZShlKX0sdy5leHByLnBzZXVkb3MudmlzaWJsZT1mdW5jdGlvbihlKXtyZXR1cm4hIShlLm9mZnNldFdpZHRofHxlLm9mZnNldEhlaWdodHx8ZS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCl9LHcuYWpheFNldHRpbmdzLnhocj1mdW5jdGlvbigpe3RyeXtyZXR1cm4gbmV3IGUuWE1MSHR0cFJlcXVlc3R9Y2F0Y2goZSl7fX07dmFyIFZ0PXswOjIwMCwxMjIzOjIwNH0sR3Q9dy5hamF4U2V0dGluZ3MueGhyKCk7aC5jb3JzPSEhR3QmJiJ3aXRoQ3JlZGVudGlhbHMiaW4gR3QsaC5hamF4PUd0PSEhR3Qsdy5hamF4VHJhbnNwb3J0KGZ1bmN0aW9uKHQpe3ZhciBuLHI7aWYoaC5jb3JzfHxHdCYmIXQuY3Jvc3NEb21haW4pcmV0dXJue3NlbmQ6ZnVuY3Rpb24oaSxvKXt2YXIgYSxzPXQueGhyKCk7aWYocy5vcGVuKHQudHlwZSx0LnVybCx0LmFzeW5jLHQudXNlcm5hbWUsdC5wYXNzd29yZCksdC54aHJGaWVsZHMpZm9yKGEgaW4gdC54aHJGaWVsZHMpc1thXT10LnhockZpZWxkc1thXTt0Lm1pbWVUeXBlJiZzLm92ZXJyaWRlTWltZVR5cGUmJnMub3ZlcnJpZGVNaW1lVHlwZSh0Lm1pbWVUeXBlKSx0LmNyb3NzRG9tYWlufHxpWyJYLVJlcXVlc3RlZC1XaXRoIl18fChpWyJYLVJlcXVlc3RlZC1XaXRoIl09IlhNTEh0dHBSZXF1ZXN0Iik7Zm9yKGEgaW4gaSlzLnNldFJlcXVlc3RIZWFkZXIoYSxpW2FdKTtuPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbigpe24mJihuPXI9cy5vbmxvYWQ9cy5vbmVycm9yPXMub25hYm9ydD1zLm9udGltZW91dD1zLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLCJhYm9ydCI9PT1lP3MuYWJvcnQoKToiZXJyb3IiPT09ZT8ibnVtYmVyIiE9dHlwZW9mIHMuc3RhdHVzP28oMCwiZXJyb3IiKTpvKHMuc3RhdHVzLHMuc3RhdHVzVGV4dCk6byhWdFtzLnN0YXR1c118fHMuc3RhdHVzLHMuc3RhdHVzVGV4dCwidGV4dCIhPT0ocy5yZXNwb25zZVR5cGV8fCJ0ZXh0Iil8fCJzdHJpbmciIT10eXBlb2Ygcy5yZXNwb25zZVRleHQ/e2JpbmFyeTpzLnJlc3BvbnNlfTp7dGV4dDpzLnJlc3BvbnNlVGV4dH0scy5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSkpfX0scy5vbmxvYWQ9bigpLHI9cy5vbmVycm9yPXMub250aW1lb3V0PW4oImVycm9yIiksdm9pZCAwIT09cy5vbmFib3J0P3Mub25hYm9ydD1yOnMub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7ND09PXMucmVhZHlTdGF0ZSYmZS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7biYmcigpfSl9LG49bigiYWJvcnQiKTt0cnl7cy5zZW5kKHQuaGFzQ29udGVudCYmdC5kYXRhfHxudWxsKX1jYXRjaChlKXtpZihuKXRocm93IGV9fSxhYm9ydDpmdW5jdGlvbigpe24mJm4oKX19fSksdy5hamF4UHJlZmlsdGVyKGZ1bmN0aW9uKGUpe2UuY3Jvc3NEb21haW4mJihlLmNvbnRlbnRzLnNjcmlwdD0hMSl9KSx3LmFqYXhTZXR1cCh7YWNjZXB0czp7c2NyaXB0OiJ0ZXh0L2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2VjbWFzY3JpcHQsIGFwcGxpY2F0aW9uL3gtZWNtYXNjcmlwdCJ9LGNvbnRlbnRzOntzY3JpcHQ6L1xiKD86amF2YXxlY21hKXNjcmlwdFxiL30sY29udmVydGVyczp7InRleHQgc2NyaXB0IjpmdW5jdGlvbihlKXtyZXR1cm4gdy5nbG9iYWxFdmFsKGUpLGV9fX0pLHcuYWpheFByZWZpbHRlcigic2NyaXB0IixmdW5jdGlvbihlKXt2b2lkIDA9PT1lLmNhY2hlJiYoZS5jYWNoZT0hMSksZS5jcm9zc0RvbWFpbiYmKGUudHlwZT0iR0VUIil9KSx3LmFqYXhUcmFuc3BvcnQoInNjcmlwdCIsZnVuY3Rpb24oZSl7aWYoZS5jcm9zc0RvbWFpbil7dmFyIHQsbjtyZXR1cm57c2VuZDpmdW5jdGlvbihpLG8pe3Q9dygiPHNjcmlwdD4iKS5wcm9wKHtjaGFyc2V0OmUuc2NyaXB0Q2hhcnNldCxzcmM6ZS51cmx9KS5vbigibG9hZCBlcnJvciIsbj1mdW5jdGlvbihlKXt0LnJlbW92ZSgpLG49bnVsbCxlJiZvKCJlcnJvciI9PT1lLnR5cGU/NDA0OjIwMCxlLnR5cGUpfSksci5oZWFkLmFwcGVuZENoaWxkKHRbMF0pfSxhYm9ydDpmdW5jdGlvbigpe24mJm4oKX19fX0pO3ZhciBZdD1bXSxRdD0vKD0pXD8oPz0mfCQpfFw/XD8vO3cuYWpheFNldHVwKHtqc29ucDoiY2FsbGJhY2siLGpzb25wQ2FsbGJhY2s6ZnVuY3Rpb24oKXt2YXIgZT1ZdC5wb3AoKXx8dy5leHBhbmRvKyJfIitFdCsrO3JldHVybiB0aGlzW2VdPSEwLGV9fSksdy5hamF4UHJlZmlsdGVyKCJqc29uIGpzb25wIixmdW5jdGlvbih0LG4scil7dmFyIGksbyxhLHM9ITEhPT10Lmpzb25wJiYoUXQudGVzdCh0LnVybCk/InVybCI6InN0cmluZyI9PXR5cGVvZiB0LmRhdGEmJjA9PT0odC5jb250ZW50VHlwZXx8IiIpLmluZGV4T2YoImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIpJiZRdC50ZXN0KHQuZGF0YSkmJiJkYXRhIik7aWYoc3x8Impzb25wIj09PXQuZGF0YVR5cGVzWzBdKXJldHVybiBpPXQuanNvbnBDYWxsYmFjaz1nKHQuanNvbnBDYWxsYmFjayk/dC5qc29ucENhbGxiYWNrKCk6dC5qc29ucENhbGxiYWNrLHM/dFtzXT10W3NdLnJlcGxhY2UoUXQsIiQxIitpKTohMSE9PXQuanNvbnAmJih0LnVybCs9KGt0LnRlc3QodC51cmwpPyImIjoiPyIpK3QuanNvbnArIj0iK2kpLHQuY29udmVydGVyc1sic2NyaXB0IGpzb24iXT1mdW5jdGlvbigpe3JldHVybiBhfHx3LmVycm9yKGkrIiB3YXMgbm90IGNhbGxlZCIpLGFbMF19LHQuZGF0YVR5cGVzWzBdPSJqc29uIixvPWVbaV0sZVtpXT1mdW5jdGlvbigpe2E9YXJndW1lbnRzfSxyLmFsd2F5cyhmdW5jdGlvbigpe3ZvaWQgMD09PW8/dyhlKS5yZW1vdmVQcm9wKGkpOmVbaV09byx0W2ldJiYodC5qc29ucENhbGxiYWNrPW4uanNvbnBDYWxsYmFjayxZdC5wdXNoKGkpKSxhJiZnKG8pJiZvKGFbMF0pLGE9bz12b2lkIDB9KSwic2NyaXB0In0pLGguY3JlYXRlSFRNTERvY3VtZW50PWZ1bmN0aW9uKCl7dmFyIGU9ci5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoIiIpLmJvZHk7cmV0dXJuIGUuaW5uZXJIVE1MPSI8Zm9ybT48L2Zvcm0+PGZvcm0+PC9mb3JtPiIsMj09PWUuY2hpbGROb2Rlcy5sZW5ndGh9KCksdy5wYXJzZUhUTUw9ZnVuY3Rpb24oZSx0LG4pe2lmKCJzdHJpbmciIT10eXBlb2YgZSlyZXR1cm5bXTsiYm9vbGVhbiI9PXR5cGVvZiB0JiYobj10LHQ9ITEpO3ZhciBpLG8sYTtyZXR1cm4gdHx8KGguY3JlYXRlSFRNTERvY3VtZW50PygoaT0odD1yLmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgiIikpLmNyZWF0ZUVsZW1lbnQoImJhc2UiKSkuaHJlZj1yLmxvY2F0aW9uLmhyZWYsdC5oZWFkLmFwcGVuZENoaWxkKGkpKTp0PXIpLG89QS5leGVjKGUpLGE9IW4mJltdLG8/W3QuY3JlYXRlRWxlbWVudChvWzFdKV06KG89eGUoW2VdLHQsYSksYSYmYS5sZW5ndGgmJncoYSkucmVtb3ZlKCksdy5tZXJnZShbXSxvLmNoaWxkTm9kZXMpKX0sdy5mbi5sb2FkPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYT10aGlzLHM9ZS5pbmRleE9mKCIgIik7cmV0dXJuIHM+LTEmJihyPXZ0KGUuc2xpY2UocykpLGU9ZS5zbGljZSgwLHMpKSxnKHQpPyhuPXQsdD12b2lkIDApOnQmJiJvYmplY3QiPT10eXBlb2YgdCYmKGk9IlBPU1QiKSxhLmxlbmd0aD4wJiZ3LmFqYXgoe3VybDplLHR5cGU6aXx8IkdFVCIsZGF0YVR5cGU6Imh0bWwiLGRhdGE6dH0pLmRvbmUoZnVuY3Rpb24oZSl7bz1hcmd1bWVudHMsYS5odG1sKHI/dygiPGRpdj4iKS5hcHBlbmQody5wYXJzZUhUTUwoZSkpLmZpbmQocik6ZSl9KS5hbHdheXMobiYmZnVuY3Rpb24oZSx0KXthLmVhY2goZnVuY3Rpb24oKXtuLmFwcGx5KHRoaXMsb3x8W2UucmVzcG9uc2VUZXh0LHQsZV0pfSl9KSx0aGlzfSx3LmVhY2goWyJhamF4U3RhcnQiLCJhamF4U3RvcCIsImFqYXhDb21wbGV0ZSIsImFqYXhFcnJvciIsImFqYXhTdWNjZXNzIiwiYWpheFNlbmQiXSxmdW5jdGlvbihlLHQpe3cuZm5bdF09ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMub24odCxlKX19KSx3LmV4cHIucHNldWRvcy5hbmltYXRlZD1mdW5jdGlvbihlKXtyZXR1cm4gdy5ncmVwKHcudGltZXJzLGZ1bmN0aW9uKHQpe3JldHVybiBlPT09dC5lbGVtfSkubGVuZ3RofSx3Lm9mZnNldD17c2V0T2Zmc2V0OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYSxzLHUsbCxjPXcuY3NzKGUsInBvc2l0aW9uIiksZj13KGUpLHA9e307InN0YXRpYyI9PT1jJiYoZS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiKSxzPWYub2Zmc2V0KCksbz13LmNzcyhlLCJ0b3AiKSx1PXcuY3NzKGUsImxlZnQiKSwobD0oImFic29sdXRlIj09PWN8fCJmaXhlZCI9PT1jKSYmKG8rdSkuaW5kZXhPZigiYXV0byIpPi0xKT8oYT0ocj1mLnBvc2l0aW9uKCkpLnRvcCxpPXIubGVmdCk6KGE9cGFyc2VGbG9hdChvKXx8MCxpPXBhcnNlRmxvYXQodSl8fDApLGcodCkmJih0PXQuY2FsbChlLG4sdy5leHRlbmQoe30scykpKSxudWxsIT10LnRvcCYmKHAudG9wPXQudG9wLXMudG9wK2EpLG51bGwhPXQubGVmdCYmKHAubGVmdD10LmxlZnQtcy5sZWZ0K2kpLCJ1c2luZyJpbiB0P3QudXNpbmcuY2FsbChlLHApOmYuY3NzKHApfX0sdy5mbi5leHRlbmQoe29mZnNldDpmdW5jdGlvbihlKXtpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiB2b2lkIDA9PT1lP3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKHQpe3cub2Zmc2V0LnNldE9mZnNldCh0aGlzLGUsdCl9KTt2YXIgdCxuLHI9dGhpc1swXTtpZihyKXJldHVybiByLmdldENsaWVudFJlY3RzKCkubGVuZ3RoPyh0PXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbj1yLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcse3RvcDp0LnRvcCtuLnBhZ2VZT2Zmc2V0LGxlZnQ6dC5sZWZ0K24ucGFnZVhPZmZzZXR9KTp7dG9wOjAsbGVmdDowfX0scG9zaXRpb246ZnVuY3Rpb24oKXtpZih0aGlzWzBdKXt2YXIgZSx0LG4scj10aGlzWzBdLGk9e3RvcDowLGxlZnQ6MH07aWYoImZpeGVkIj09PXcuY3NzKHIsInBvc2l0aW9uIikpdD1yLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2Vsc2V7dD10aGlzLm9mZnNldCgpLG49ci5vd25lckRvY3VtZW50LGU9ci5vZmZzZXRQYXJlbnR8fG4uZG9jdW1lbnRFbGVtZW50O3doaWxlKGUmJihlPT09bi5ib2R5fHxlPT09bi5kb2N1bWVudEVsZW1lbnQpJiYic3RhdGljIj09PXcuY3NzKGUsInBvc2l0aW9uIikpZT1lLnBhcmVudE5vZGU7ZSYmZSE9PXImJjE9PT1lLm5vZGVUeXBlJiYoKGk9dyhlKS5vZmZzZXQoKSkudG9wKz13LmNzcyhlLCJib3JkZXJUb3BXaWR0aCIsITApLGkubGVmdCs9dy5jc3MoZSwiYm9yZGVyTGVmdFdpZHRoIiwhMCkpfXJldHVybnt0b3A6dC50b3AtaS50b3Atdy5jc3MociwibWFyZ2luVG9wIiwhMCksbGVmdDp0LmxlZnQtaS5sZWZ0LXcuY3NzKHIsIm1hcmdpbkxlZnQiLCEwKX19fSxvZmZzZXRQYXJlbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXt2YXIgZT10aGlzLm9mZnNldFBhcmVudDt3aGlsZShlJiYic3RhdGljIj09PXcuY3NzKGUsInBvc2l0aW9uIikpZT1lLm9mZnNldFBhcmVudDtyZXR1cm4gZXx8YmV9KX19KSx3LmVhY2goe3Njcm9sbExlZnQ6InBhZ2VYT2Zmc2V0IixzY3JvbGxUb3A6InBhZ2VZT2Zmc2V0In0sZnVuY3Rpb24oZSx0KXt2YXIgbj0icGFnZVlPZmZzZXQiPT09dDt3LmZuW2VdPWZ1bmN0aW9uKHIpe3JldHVybiB6KHRoaXMsZnVuY3Rpb24oZSxyLGkpe3ZhciBvO2lmKHkoZSk/bz1lOjk9PT1lLm5vZGVUeXBlJiYobz1lLmRlZmF1bHRWaWV3KSx2b2lkIDA9PT1pKXJldHVybiBvP29bdF06ZVtyXTtvP28uc2Nyb2xsVG8obj9vLnBhZ2VYT2Zmc2V0Omksbj9pOm8ucGFnZVlPZmZzZXQpOmVbcl09aX0sZSxyLGFyZ3VtZW50cy5sZW5ndGgpfX0pLHcuZWFjaChbInRvcCIsImxlZnQiXSxmdW5jdGlvbihlLHQpe3cuY3NzSG9va3NbdF09X2UoaC5waXhlbFBvc2l0aW9uLGZ1bmN0aW9uKGUsbil7aWYobilyZXR1cm4gbj1GZShlLHQpLFdlLnRlc3Qobik/dyhlKS5wb3NpdGlvbigpW3RdKyJweCI6bn0pfSksdy5lYWNoKHtIZWlnaHQ6ImhlaWdodCIsV2lkdGg6IndpZHRoIn0sZnVuY3Rpb24oZSx0KXt3LmVhY2goe3BhZGRpbmc6ImlubmVyIitlLGNvbnRlbnQ6dCwiIjoib3V0ZXIiK2V9LGZ1bmN0aW9uKG4scil7dy5mbltyXT1mdW5jdGlvbihpLG8pe3ZhciBhPWFyZ3VtZW50cy5sZW5ndGgmJihufHwiYm9vbGVhbiIhPXR5cGVvZiBpKSxzPW58fCghMD09PWl8fCEwPT09bz8ibWFyZ2luIjoiYm9yZGVyIik7cmV0dXJuIHoodGhpcyxmdW5jdGlvbih0LG4saSl7dmFyIG87cmV0dXJuIHkodCk/MD09PXIuaW5kZXhPZigib3V0ZXIiKT90WyJpbm5lciIrZV06dC5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnRbImNsaWVudCIrZV06OT09PXQubm9kZVR5cGU/KG89dC5kb2N1bWVudEVsZW1lbnQsTWF0aC5tYXgodC5ib2R5WyJzY3JvbGwiK2VdLG9bInNjcm9sbCIrZV0sdC5ib2R5WyJvZmZzZXQiK2VdLG9bIm9mZnNldCIrZV0sb1siY2xpZW50IitlXSkpOnZvaWQgMD09PWk/dy5jc3ModCxuLHMpOncuc3R5bGUodCxuLGkscyl9LHQsYT9pOnZvaWQgMCxhKX19KX0pLHcuZWFjaCgiYmx1ciBmb2N1cyBmb2N1c2luIGZvY3Vzb3V0IHJlc2l6ZSBzY3JvbGwgY2xpY2sgZGJsY2xpY2sgbW91c2Vkb3duIG1vdXNldXAgbW91c2Vtb3ZlIG1vdXNlb3ZlciBtb3VzZW91dCBtb3VzZWVudGVyIG1vdXNlbGVhdmUgY2hhbmdlIHNlbGVjdCBzdWJtaXQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBjb250ZXh0bWVudSIuc3BsaXQoIiAiKSxmdW5jdGlvbihlLHQpe3cuZm5bdF09ZnVuY3Rpb24oZSxuKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4wP3RoaXMub24odCxudWxsLGUsbik6dGhpcy50cmlnZ2VyKHQpfX0pLHcuZm4uZXh0ZW5kKHtob3ZlcjpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLm1vdXNlZW50ZXIoZSkubW91c2VsZWF2ZSh0fHxlKX19KSx3LmZuLmV4dGVuZCh7YmluZDpmdW5jdGlvbihlLHQsbil7cmV0dXJuIHRoaXMub24oZSxudWxsLHQsbil9LHVuYmluZDpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLm9mZihlLG51bGwsdCl9LGRlbGVnYXRlOmZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiB0aGlzLm9uKHQsZSxuLHIpfSx1bmRlbGVnYXRlOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5vZmYoZSwiKioiKTp0aGlzLm9mZih0LGV8fCIqKiIsbil9fSksdy5wcm94eT1mdW5jdGlvbihlLHQpe3ZhciBuLHIsaTtpZigic3RyaW5nIj09dHlwZW9mIHQmJihuPWVbdF0sdD1lLGU9biksZyhlKSlyZXR1cm4gcj1vLmNhbGwoYXJndW1lbnRzLDIpLGk9ZnVuY3Rpb24oKXtyZXR1cm4gZS5hcHBseSh0fHx0aGlzLHIuY29uY2F0KG8uY2FsbChhcmd1bWVudHMpKSl9LGkuZ3VpZD1lLmd1aWQ9ZS5ndWlkfHx3Lmd1aWQrKyxpfSx3LmhvbGRSZWFkeT1mdW5jdGlvbihlKXtlP3cucmVhZHlXYWl0Kys6dy5yZWFkeSghMCl9LHcuaXNBcnJheT1BcnJheS5pc0FycmF5LHcucGFyc2VKU09OPUpTT04ucGFyc2Usdy5ub2RlTmFtZT1OLHcuaXNGdW5jdGlvbj1nLHcuaXNXaW5kb3c9eSx3LmNhbWVsQ2FzZT1HLHcudHlwZT14LHcubm93PURhdGUubm93LHcuaXNOdW1lcmljPWZ1bmN0aW9uKGUpe3ZhciB0PXcudHlwZShlKTtyZXR1cm4oIm51bWJlciI9PT10fHwic3RyaW5nIj09PXQpJiYhaXNOYU4oZS1wYXJzZUZsb2F0KGUpKX0sImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZCYmZGVmaW5lKCJqcXVlcnkiLFtdLGZ1bmN0aW9uKCl7cmV0dXJuIHd9KTt2YXIgSnQ9ZS5qUXVlcnksS3Q9ZS4kO3JldHVybiB3Lm5vQ29uZmxpY3Q9ZnVuY3Rpb24odCl7cmV0dXJuIGUuJD09PXcmJihlLiQ9S3QpLHQmJmUualF1ZXJ5PT09dyYmKGUualF1ZXJ5PUp0KSx3fSx0fHwoZS5qUXVlcnk9ZS4kPXcpLHd9KTsNCg=="}},"time_used":31,"timings":{"blocked":3,"dns":7,"connect":0,"send":0,"wait":17,"receive":4,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.cryptohopper.com/widgets/js/script?_=1785123232108","fqdn":"www.cryptohopper.com","domain":"cryptohopper.com","tld":"com"},"ip":{"addr":"172.66.153.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:52.176Z","timestamp":1785123232176,"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":"cryptohopper.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 30 May 2026 04:15:50 GMT","end":"Fri, 28 Aug 2026 05:15:20 GMT"},"fingerprint":{"sha1":"76:C3:06:CF:AB:6D:33:4E:AE:DF:C4:54:C2:1D:03:D4:CF:1B:9C:A3","sha256":"10:12:9C:D7:A2:4D:11:94:F2:85:64:80:13:42:3F:4D:AF:06:BA:15:05:A8:C2:4D:43:D3:AB:5A:DE:02:6E:BA"}}},"request":{"raw":"GET /widgets/js/script?_=1785123232108 HTTP/1.1\r\nHost: www.cryptohopper.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://agilitetrade.com/\r\nCookie: widgets_csrf_cookie_name=c05588fb9c82dab23afba686b9a973b9; ci_session=cto3o5dhrgcl50up7to7u584adbmu7e7\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\ncontent-type: application/javascript; charset=UTF-8\r\ndate: Mon, 27 Jul 2026 03:33:52 GMT\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nserver: cloudflare\r\nx-frame-options: SAMEORIGIN\r\nx-xss-protection: 1; mode=block\r\naccess-control-allow-origin: *\r\nset-cookie: widgets_csrf_cookie_name=c05588fb9c82dab23afba686b9a973b9; expires=Mon, 27-Jul-2026 05:33:52 GMT; Max-Age=7200; path=/; domain=.cryptohopper.com; secure\nci_session=u7fi01s2m2eddk9fhpvgl0etidffdv1p; expires=Mon, 27-Jul-2026 05:33:52 GMT; Max-Age=7200; path=/; domain=.cryptohopper.com; secure; HttpOnly\r\nexpires: Thu, 19 Nov 1981 08:52:00 GMT\r\ncache-control: no-store, no-cache, must-revalidate\r\npragma: no-cache\r\ncontent-security-policy: default-src 'self' *.cryptohopper.com *.cryptohopper.tech *.candletrader.app *.hotjar.io *.hotjar.com; object-src 'self' *.cryptohopper.com *.cryptohopper.tech partners.liquid.com *.candletrader.app widget.changelly.com *.intercom.io *.intercomcdn.com *.posthog.com cdn.paddle.com; script-src 'self' 'unsafe-inline' 'unsafe-eval' static.tradingview.com *.candletrader.app *.cryptohopper.com *.cryptohopper.tech *.posthog.com eu-assets.i.posthog.com *.intercom.io *.intercomcdn.com ajax.googleapis.com cdnjs.cloudflare.com static.cloudflareinsights.com *.shopifycdn.com *.myshopify.com sortablejs.github.io cdn.paddle.com www.googletagmanager.com *.hotjar.com *.hotjar.io cdn.jsdelivr.net optimize.google.com partners.liquid.com widget.changelly.com s0.2mdn.net unpkg.com wchat.freshchat.com cryptohopper.webchat.freshchat.com cdn.plyr.io cointelegraph.com s3.tradingview.com connect.facebook.net d.adroll.mgr.consensu.org d.adroll.com s.adroll.com cdn4.mxpnl.com ssl.google-analytics.com bat.bing.com s3.amazonaws.com platform.twitter.com cdn.syndication.twimg.com cryptohopper.us17.list-manage.com ajax.cloudflare.com www.gstatic.com js.stripe.com www.google-analytics.com www.googleadservices.com www.youtube.com www.google.com googleads.g.doubleclick.net static.doubleclick.net cdn.segment.com fast.appcues.com www.googleanalytics.com www.googleoptimize.com assets.customer.io code.gist.build; connect-src 'self' www.tradingview.com *.candletrader.app *.posthog.com *.shopifycdn.com *.intercom.io *.cryptohopper.com *.cryptohopper.tech *.intercomcdn.com *.myshopify.com *.shopify.com *.cryptohopper.tech *.hotjar.com track-eu.customer.io *.api.gist.build *.cloud.gist.build ws: *.cryptohopper.com *.cryptohopper.tech stats.g.doubleclick.net cdn.paddle.com api.appcues.net fast.appcues.com api.segment.io *.google-analytics.com *.analytics.google.com widget.changelly.com api.cointelegraph.com wchat.freshchat.com *.hotjar.com *.hotjar.io saveload.tradingview.com cdn.plyr.io cdn4.mxpnl.com; img-src 'self' blob: data: *.cryptohopper.com *.cryptohopper.tech www.google.ie *.candletrader.app *.posthog.com *.coingecko.com *.intercomassets.com *.intercom.io *.intercomcdn.com *.shopifycdn.com cdn.shopify.com *.hotjar.com cdn.paddle.com cdn.jsdelivr.net img.youtube.com *.giphy.com res.cloudinary.com appleid.apple.com sync.taboola.com widget.changelly.com assets.coingecko.com stats.g.doubleclick.net www.google.nl dsum-sec.casalemedia.com ups.analytics.yahoo.com pixel.advertising.com pixel.rubiconproject.com sync.outbrain.com image2.pubmatic.com ads.yahoo.com trc.taboola.com eb2.3lift.com x.bidswitch.net idsync.rlcdn.com pixel.tapad.com cm.g.doubleclick.net us-u.openx.net assetscdn-wchat.freshchat.com s.adroll.com d.adroll.com ib.adnxs.com cdn-images.mailchimp.com cdn4.mxpnl.com s3.tradingview.com bat.bing.com chart.googleapis.com pbs.twimg.com abs.twimg.com syndication.twitter.com q.stripe.com www.google.com googleads.g.doubleclick.net i.ytimg.com cdn.plyr.io *.google-analytics.com *.analytics.google.com www.facebook.com maxcdn.bootstrapcdn.com www.googletagmanager.com optimize.google.com track-eu.customer.io data:; style-src 'self' 'unsafe-inline' *.cryptohopper.com *.cryptohopper.tech *.candletrader.app *.intercom.io *.intercomcdn.com *.shopifycdn.com cdn.shopify.com *.hotjar.com fast.appcues.com cdn.paddle.com unpkg.com cdnjs.cloudflare.com widget.changelly.com assetscdn-wchat.freshchat.com wchat.freshchat.com stats.g.doubleclick.net cdn-images.mailchimp.com s3.tradingview.com cdn.plyr.io fonts.googleapis.com maxcdn.bootstrapcdn.com platform.twitter.com www.youtube.com optimize.google.com fonts.googleapis.com code.gist.build; font-src 'self' *.cryptohopper.com *.cryptohopper.tech *.candletrader.app *.hotjar.com *.shopifycdn.com *.intercom.io *.intercomcdn.com *.myshopify.com *.shopify.com cdn.paddle.com cdn-images.mailchimp.com widget.changelly.com s3.tradingview.com fonts.googleapis.com maxcdn.bootstrapcdn.com fonts.gstatic.com; frame-src 'self' static.cryptohopper.com *.candletrader.app *.intercom.io *.posthog.com *.intercom-sheets.com intercom-sheets.com *.intercomcdn.com *.tradingview-widget.com buy.paddle.com *.shopifycdn.com *.myshopify.com *.shopify.com cdn.paddle.com create-checkout.paddle.com widget.changelly.com plugin.partners.liquid.com *.hotjar.com cryptohopper.webpush.freshchat.com wchat.freshchat.com js.stripe.com *.sumsub.com renderer.gist.build code.gist.build data: *.cryptohopper.com *.cryptohopper.tech coin360.com coins.gourl.io platform.twitter.com www.emjcd.com cj.dotomi.com www.facebook.com cdn4.mxpnl.com www.youtube.com www.tradingview.com discordapp.com s3.tradingview.com s.tradingview.com googleads.g.doubleclick.net www.google.com www.google.nl optimize.google.com; media-src 'self' blob: *.cryptohopper.com *.cryptohopper.tech *.candletrader.app res.cloudinary.com *.intercom.io *.intercomcdn.com *.shopifycdn.com *.myshopify.com *.shopify.com cdn.paddle.com widget.changelly.com s3.tradingview.com cdn.plyr.io; child-src 'self' *.cryptohopper.com *.candletrader.app *.cryptohopper.tech *.intercom.io *.intercomcdn.com cdn.paddle.com *.shopifycdn.com *.myshopify.com *.shopify.com widget.changelly.com plugin.partners.liquid.com www.youtube.com; form-action *;\r\nx-cache: Miss from cloudfront\r\nvia: 1.1 2f1d504785a7b18c010970da2bd4ab8c.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: OSL50-P3\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-amz-cf-id: w1soDnFtyj_I9JJ0aMm-CM0emRdKOK57hPEJfsT0gSU_2t-hM_WkMw==\r\ncf-cache-status: DYNAMIC\r\ncontent-encoding: br\r\npriority: u=3,i=?0\r\ncf-ray: a21895c91c895684-OSL\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"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":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}],"data":{"size":26729,"size_decoded":15879,"mime_type":"application/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (574)","md5":"8499c3b86de4df25542c2f9f78d8a79c","sha1":"3942a2674cb09241e3598eb3d6403e3d2c2b09ff","sha256":"d67aaeb25ce9e34bdc18b2d3ba099086b1c3e5f3cda04edebcb14f826e5a78e4","sha512":"2a7103879757369f94970215e8e1d51255a567118cdefa1147396499dfe093175ddd63b579e790d1df3d4c2dd4ff4043ebeccd917124c6635654adf928d6daba","ssdeep":"768:DPFqnpKxIFoN7jGS9yp8TaA/ME0pwKfID8gXATtIpEmR7/7Scrni6NFDjdmyXRs0:RqnpKxIFoN7jGoaAUEyTOPncyXRsYxuK","tlshash":"54c20919f640b4bb027762aab43f5316326779e676020450a06dd9f17efcd882337f6a","first_seen":"2023-03-08T06:37:48Z","last_seen":"2026-07-27T05:16:33.138468Z","times_seen":585,"resource_available":true,"data":"dmFyIG1jcCA9IHsidXJsIjoiaHR0cHM6Ly93d3cuY3J5cHRvaG9wcGVyLmNvbS93aWRnZXRzIiwiYWpheF91cmwiOiJodHRwczovL3d3dy5jcnlwdG9ob3BwZXIuY29tL3dpZGdldHMvd2lkZ2V0cy9hamF4IiwibnVtZm9ybWF0IjoiVVMifTsKdGhpcy5kZXBwfHxmdW5jdGlvbihmLHUpe2RlcHA9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGwsZCl7dmFyIHE9ZnVuY3Rpb24gdChuLHYpe3Y9dnx8W107dmFyIHg9W10sej1bXTtyZXR1cm4gbi5mb3JFYWNoKGZ1bmN0aW9uKEEpe2lmKDA8PXYuaW5kZXhPZihBKSl0aHJvdyBFcnJvcigiRGVwcCBFcnJvcjogQ2lyY3VsYXIgcmVmZXJlbmNlIik7aWYoIShBIGluIGIpKXJldHVybiB4LnB1c2goIiMiK0EpO2JbQV0uZm9yRWFjaChmdW5jdGlvbihCKXtpZigiIyI9PUJbMF0pe3ZhciB5PXYuc2xpY2UoKTt5LnB1c2goQSk7eT10KFtCLnNsaWNlKDEpXSx5KTt4PXguY29uY2F0KHlbMF0pO3o9ei5jb25jYXQoeVsxXSl9ZWxzZSB6LnB1c2goQil9KX0pLFt4LHpdfShsKTtxWzBdLmxlbmd0aD9jKHFbMF0sZnVuY3Rpb24oKXthKGwsZCl9KTpkKHFbMV0pfWZ1bmN0aW9uIGMobCxkKXt2YXIgcSx3LG49bC5sZW5ndGgsdj1uO2lmKDA9PW4pcmV0dXJuIGQoKTtmb3IocT1mdW5jdGlvbih0LHgpe2lmKHgpcmV0dXJuIGQodCk7Ci0tdnx8ZCgpfTtuLS07KSh3PWxbbl0paW4gaD9xKHcsaFt3XSk6KG1bd109bVt3XXx8W10pLnB1c2gocSl9ZnVuY3Rpb24gZyhsLGQpe3ZhciBxPW1bbF07aWYoaFtsXT1kLHEpZm9yKDtxLmxlbmd0aDspcVswXShsLGQpLHEuc3BsaWNlKDAsMSl9dmFyIGU9e30saz1mdW5jdGlvbigpe30sYj17fSxtPXt9LGg9e30scj17fSxwPXt9O3JldHVybiBlLmRlZmluZT1mdW5jdGlvbihsKXt2YXIgZDtmb3IoZCBpbiBsKXtpZihkIGluIGIpdGhyb3cgRXJyb3IoIkRlcHAgRXJyb3I6IEJ1bmRsZSBhbHJlYWR5IGRlZmluZWQiKTt2YXIgcT1sW2RdO2JbZF09cS5wdXNoP3E6W3FdO2coIiMiK2QpfX0sZS5jb25maWc9ZnVuY3Rpb24obCl7Zm9yKHZhciBkIGluIGwpcFtkXT1sW2RdfSxlLnJlcXVpcmU9ZnVuY3Rpb24obCxkLHEpe2EobD1sLnB1c2g/bDpbbF0sZnVuY3Rpb24odyl7Yyh3LGZ1bmN0aW9uKG4pe24/KHF8fGspKG4pOihkfHxrKSgpfSk7dy5mb3JFYWNoKGZ1bmN0aW9uKG4pe3ZhciB2LAp0LHgseixBO24gaW4gcnx8KHJbbl09ITAseD1kb2N1bWVudCx6PXAuYmVmb3JlfHxrLEE9bi5yZXBsYWNlKC9eKGNzc3xpbWcpIS8sIiIpLC8oXmNzcyF8XC5jc3MkKS8udGVzdChuKT8odj0hMCwodD14LmNyZWF0ZUVsZW1lbnQoImxpbmsiKSkucmVsPSJzdHlsZXNoZWV0Iix0LmhyZWY9QSk6LyheaW1nIXxcLihwbmd8Z2lmfGpwZ3xzdmcpJCkvLnRlc3Qobik/KHQ9eC5jcmVhdGVFbGVtZW50KCJpbWciKSkuc3JjPUE6KCh0PXguY3JlYXRlRWxlbWVudCgic2NyaXB0IikpLnNyYz1uLHQuYXN5bmM9ITEpLHQub25sb2FkPXQub25lcnJvcj10Lm9uYmVmb3JlbG9hZD1mdW5jdGlvbihCKXt2YXIgeT1CLnR5cGVbMF07aWYodiYmImhpZGVGb2N1cyJpbiB0KXRyeXt0LnNoZWV0LmNzc1RleHQubGVuZ3RofHwoeT0iZSIpfWNhdGNoKEMpezE4IT1DLmNvZGUmJih5PSJlIil9aWYoImIiPT15KXtpZighQi5kZWZhdWx0UHJldmVudGVkKXJldHVybjt5PSJlIn1nKG4sImUiPT15KX0seihuLHQpLAp4LmhlYWQuYXBwZW5kQ2hpbGQodCkpfSl9KX0sZS5kb25lPWZ1bmN0aW9uKGwpe2JbbF09W107ZygiIyIrbCl9LGUuaXNEZWZpbmVkPWZ1bmN0aW9uKGwpe3JldHVybiBsIGluIGJ9LGUucmVzZXQ9ZnVuY3Rpb24oKXtiPXt9O209e307aD17fTtyPXt9O3A9e319LGV9KCk7KHU9Zi5jcmVhdGVFdmVudCgiSFRNTEV2ZW50cyIpKS5pbml0RXZlbnQ/dS5pbml0RXZlbnQoImRlcHAtbG9hZCIsITEsITEpOnU9bmV3IEV2ZW50KCJkZXBwLWxvYWQiKTtmLmRpc3BhdGNoRXZlbnQodSl9KGRvY3VtZW50KTtmdW5jdGlvbiBhZGRDb21tYXMoZil7dmFyIHU9IlVTIj09PW1jcC5udW1mb3JtYXQ/Ii4iOiIsIixhPSJVUyI9PT1tY3AubnVtZm9ybWF0PyIsIjoiLiIsYz0oZisiIikuc3BsaXQoIi4iKTtmPWNbMF07dT0xPGMubGVuZ3RoP3UrY1sxXToiIjtmb3IoYz0vKFxkKykoXGR7M30pLztjLnRlc3QoZik7KWY9Zi5yZXBsYWNlKGMsIiQxIithKyIkMiIpO3JldHVybiBmK3V9CmZ1bmN0aW9uIGhleDJyZ2IoZil7Zj1mLnJlcGxhY2UoIiMiLCIiKTszPT09Zi5sZW5ndGgmJihmPWZbMF0rZlswXStmWzFdK2ZbMV0rZlsyXStmWzJdKTt2YXIgdT1wYXJzZUludChmLnN1YnN0cmluZygwLDIpLDE2KSxhPXBhcnNlSW50KGYuc3Vic3RyaW5nKDIsNCksMTYpO2Y9cGFyc2VJbnQoZi5zdWJzdHJpbmcoNCw2KSwxNik7cmV0dXJuIGlzTmFOKHUpfHxpc05hTihhKXx8aXNOYU4oZik/RXJyb3IoIkludmFsaWQgSGV4Iik6dSsiLCIrYSsiLCIrZn0KZnVuY3Rpb24gY29tbWFyaXplKGYsdSl7IjEiPT11P2Zvcm1hdHM9WyIgVCIsIiBCIiwiIE0iLCIgSyJdOiIyIj09dSYmKGZvcm1hdHM9WyIgVHJpbGxpb24iLCIgQmlsbGlvbiIsIiBNaWxsaW9uIiwiVGhvdXNhbmQiXSk7cmV0dXJuIjMiIT11PzFFMTU8PU1hdGguYWJzKE51bWJlcihmKS50b0ZpeGVkKDIpKT8oTWF0aC5hYnMoTnVtYmVyKGYpKS8xRTEyKS50b0ZpeGVkKDIpK2Zvcm1hdHNbMF06MUU5PD1NYXRoLmFicyhOdW1iZXIoZikpPyhNYXRoLmFicyhOdW1iZXIoZikpLzFFOSkudG9GaXhlZCgyKStmb3JtYXRzWzFdOjFFNjw9TWF0aC5hYnMoTnVtYmVyKGYpKT8oTWF0aC5hYnMoTnVtYmVyKGYpKS8xRTYpLnRvRml4ZWQoMikrZm9ybWF0c1syXToxRTM8PU1hdGguYWJzKE51bWJlcihmKSk/KE1hdGguYWJzKE51bWJlcihmKSkvMUUzKS50b0ZpeGVkKDIpK2Zvcm1hdHNbM106YWRkQ29tbWFzKE1hdGguYWJzKE51bWJlcihmKSkpOmFkZENvbW1hcyhNYXRoLmFicyhOdW1iZXIoZikpLnRvRml4ZWQoMCkpfQpmdW5jdGlvbiByZ2IyaGV4KGYpe3JldHVybihmPWYubWF0Y2goL15yZ2JhP1tccytdP1woW1xzK10/KFxkKylbXHMrXT8sW1xzK10/KFxkKylbXHMrXT8sW1xzK10/KFxkKylbXHMrXT8vaSkpJiY0PT09Zi5sZW5ndGg/IiMiKygiMCIrcGFyc2VJbnQoZlsxXSwxMCkudG9TdHJpbmcoMTYpKS5zbGljZSgtMikrKCIwIitwYXJzZUludChmWzJdLDEwKS50b1N0cmluZygxNikpLnNsaWNlKC0yKSsoIjAiK3BhcnNlSW50KGZbM10sMTApLnRvU3RyaW5nKDE2KSkuc2xpY2UoLTIpOiIifWZ1bmN0aW9uIGlzQnJpZ2h0bmVzcyhmKXt2YXIgdT1yZ2IyaGV4KGYuY3NzKCJiYWNrZ3JvdW5kLWNvbG9yIikpO3U9cGFyc2VJbnQodS5zdWJzdHJpbmcoMSksMTYpOzUwPi4yMTI2Kih1Pj4xNiYyNTUpKy43MTUyKih1Pj44JjI1NSkrLjA3MjIqKHU+PjAmMjU1KSYmZi5hZGRDbGFzcygiaW52ZXJ0LWFjdCIpfQpmdW5jdGlvbiByZWFsdGltZVVwZGF0ZSgpe3ZhciBmPWpRdWVyeSgnW2RhdGEtcmVhbHRpbWU9Im9uIl0nKTtpZigidW5kZWZpbmVkIj09PXR5cGVvZiB3aW5kb3cuc29ja2V0JiYwPGYubGVuZ3RoKXt2YXIgdT1bXTtmLmZpbmQoIltkYXRhLWxpdmUtcHJpY2VdIikuZWFjaChmdW5jdGlvbigpe3UucHVzaChqUXVlcnkodGhpcykuZGF0YSgibGl2ZS1wcmljZSIpKX0pO3U9dS5maWx0ZXIoZnVuY3Rpb24oYSxjKXtyZXR1cm4gdS5pbmRleE9mKGEpPT1jfSk7dS5sZW5ndGgmJih3aW5kb3cuc29ja2V0PW5ldyBXZWJTb2NrZXQoIndzczovL3dzLmNvaW5jYXAuaW8vcHJpY2VzP2Fzc2V0cz0iK3Uuam9pbigiLCIpKSx3aW5kb3cuc29ja2V0LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGZ1bmN0aW9uKGEpe3RyYWRlTXNnPUpTT04ucGFyc2UoYS5kYXRhKTtmb3IodmFyIGMgaW4gdHJhZGVNc2cpZi5maW5kKCdbZGF0YS1saXZlLXByaWNlPSInK2MrJyJdJykuZWFjaChmdW5jdGlvbigpe2pRdWVyeSh0aGlzKS5yZWFsVGltZSh0cmFkZU1zZ1tjXSl9KX0pKX19CnZhciBkb21haW49InN0YXRpYy5jcnlwdG9ob3BwZXIuY29tIjsKZGVwcC5kZWZpbmUoe2pxdWVyeTpbImh0dHBzOi8vIitkb21haW4rIi93aWRnZXRzL2Fzc2V0cy9wdWJsaWMvanMvanF1ZXJ5LTMuMy4xLm1pbi5qcyJdLGNzczpbImh0dHBzOi8vIitkb21haW4rIi93aWRnZXRzL2Fzc2V0cy9wdWJsaWMvY3NzL3N0eWxlLmNzcyJdLGNoYXJ0anM6WyJodHRwczovLyIrZG9tYWluKyIvd2lkZ2V0cy9hc3NldHMvcHVibGljL2pzL0NoYXJ0Lm1pbi5qcyJdLGRhdGF0YWJsZTpbImh0dHBzOi8vIitkb21haW4rIi93aWRnZXRzL2Fzc2V0cy9wdWJsaWMvY3NzL2pxdWVyeS5kYXRhVGFibGVzLm1pbi5jc3MiLCJodHRwczovL3N0YXRpYy5jcnlwdG9ob3BwZXIuY29tL3dpZGdldHMvYXNzZXRzL3B1YmxpYy9qcy9qcXVlcnkuZGF0YVRhYmxlcy5taW4uanMiLCJodHRwczovL3N0YXRpYy5jcnlwdG9ob3BwZXIuY29tL3dpZGdldHMvYXNzZXRzL3B1YmxpYy9qcy9kYXRhVGFibGVzLnJlc3BvbnNpdmUubWluLmpzIl0sZWNoYXJ0czpbImh0dHBzOi8vIitkb21haW4rCiIvd2lkZ2V0cy9hc3NldHMvcHVibGljL2pzL0NoYXJ0cy5taW4uanMiXSxib3VudHk6WyJodHRwczovLyIrZG9tYWluKyIvd2lkZ2V0cy9hc3NldHMvcHVibGljL2pzL2JvdW50eS5taW4uanMiXSx2aXNpYmlsaXR5Y2hhbmdlZDpbImh0dHBzOi8vIitkb21haW4rIi93aWRnZXRzL2Fzc2V0cy9wdWJsaWMvanMvanF1ZXJ5LnZpc2liaWxpdHljaGFuZ2VkLm1pbi5qcyJdLHNlbGVjdGl6ZTpbImh0dHBzOi8vIitkb21haW4rIi93aWRnZXRzL2Fzc2V0cy9wdWJsaWMvanMvc2VsZWN0aXplLm1pbi5qcyJdfSk7d2luZG93LmpRdWVyeSYmZGVwcC5kb25lKCJqcXVlcnkiKTsKZGVwcC5yZXF1aXJlKFsianF1ZXJ5IiwiY3NzIl0sZnVuY3Rpb24oKXtyZWFsdGltZVVwZGF0ZSgpO2pRdWVyeS5mbi5pbWFnZXNMb2FkZWQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmZpbmQoJ2ltZ1tzcmMhPSIiXScpO2lmKCFhLmxlbmd0aClyZXR1cm4galF1ZXJ5LkRlZmVycmVkKCkucmVzb2x2ZSgpLnByb21pc2UoKTt2YXIgYz1bXTthLmVhY2goZnVuY3Rpb24oKXt2YXIgZz1qUXVlcnkuRGVmZXJyZWQoKTtjLnB1c2goZyk7dmFyIGU9bmV3IEltYWdlO2Uub25sb2FkPWZ1bmN0aW9uKCl7Zy5yZXNvbHZlKCl9O2Uub25lcnJvcj1mdW5jdGlvbigpe2cucmVzb2x2ZSgpfTtlLnNyYz10aGlzLnNyY30pO3JldHVybiBqUXVlcnkud2hlbi5hcHBseShqUXVlcnksYyl9O2pRdWVyeS5mbi5leHRlbmQoe2FuaW1hdGVDc3M6ZnVuY3Rpb24oYSxjKXt2YXIgZz1mdW5jdGlvbihlKXt2YXIgaz17YW5pbWF0aW9uOiJhbmltYXRpb25lbmQiLE9BbmltYXRpb246Im9BbmltYXRpb25FbmQiLE1vekFuaW1hdGlvbjoibW96QW5pbWF0aW9uRW5kIiwKV2Via2l0QW5pbWF0aW9uOiJ3ZWJraXRBbmltYXRpb25FbmQifSxiO2ZvcihiIGluIGspaWYodm9pZCAwIT09ZS5zdHlsZVtiXSlyZXR1cm4ga1tiXX0oZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpO3RoaXMuYWRkQ2xhc3MoIm1jdy1hbmltYXRlZCAiK2EpLm9uZShnLGZ1bmN0aW9uKCl7alF1ZXJ5KHRoaXMpLnJlbW92ZUNsYXNzKCJtY3ctYW5pbWF0ZWQgIithKTsiZnVuY3Rpb24iPT09dHlwZW9mIGMmJmMoKX0pO3JldHVybiB0aGlzfX0pO2pRdWVyeS5mbi5yZWFsVGltZT1mdW5jdGlvbihhKXt2YXIgYz1wYXJzZUZsb2F0KGpRdWVyeSh0aGlzKS5kYXRhKCJyYXRlIikqYSksZz0xPD1jPzI6MUUtNj5jPzg6NjtqUXVlcnkodGhpcykuZmluZCgic3BhbiIpLmh0bWwoYWRkQ29tbWFzKGMudG9GaXhlZChnKSkpO2E+cGFyc2VGbG9hdChqUXVlcnkodGhpcykuYXR0cigiZGF0YS1wcmljZSIpKSYmalF1ZXJ5KHRoaXMpLmFuaW1hdGVDc3MoImxpdmV1cCIpO2E8cGFyc2VGbG9hdChqUXVlcnkodGhpcykuYXR0cigiZGF0YS1wcmljZSIpKSYmCmpRdWVyeSh0aGlzKS5hbmltYXRlQ3NzKCJsaXZlZG93biIpO2pRdWVyeSh0aGlzKS5hdHRyKCJkYXRhLXByaWNlIixhKX07alF1ZXJ5LmZuLmludmVydGFibGU9ZnVuY3Rpb24oKXtpc0JyaWdodG5lc3MoalF1ZXJ5KHRoaXMpKTt2YXIgYT0iZXRoZXJldW0gcmlwcGxlIGlvdGEgZW9zIDB4IGJhbmNvciBkZW50YWNvaW4gYmlib3gtdG9rZW4gbWVkaXNoYXJlcyBzYW50aW1lbnQgcXVhbnRzdGFtcCByYWlkZW4tbmV0d29yay10b2tlbiBwaWxsYXIgcmVwdWJsaWMtcHJvdG9jb2wgbWV0YWwgZWlkb28gY3JlZG8gYmxhY2ttb29uIGNvdmVzdGluZyBzaGl2b20gc3VuY29udHJhY3QgbnVtZXJhaXJlIGRhb3N0YWNrIGJpdGRlZ3JlZSBtYXRyeXggZmFjZXRlciBpbnRlcm54dCBjcnlwdG9waW5nIGludmFjaW8gY2hhaW5pdW0gY3JlYXRpdmVjb2luIHRyZXphcmNvaW4gZWxjb2luLWVsIGplc3VzLWNvaW4gbW9qb2NvaW4gZ2FwY29pbiBwcmltZS14aSBzcGVlZGNhc2ggdmVsdG9yIGxvb3ByaW5nLW5lbyBmcmFuY3MiLnNwbGl0KCIgIik7CmpRdWVyeSh0aGlzKS5maW5kKCJpbWciKS5lYWNoKGZ1bmN0aW9uKCl7LTE8YS5qb2luKCItIikudG9Mb3dlckNhc2UoKS5pbmRleE9mKGpRdWVyeSh0aGlzKS5hdHRyKCJhbHQiKS50b0xvd2VyQ2FzZSgpKSYmalF1ZXJ5KHRoaXMpLmFkZENsYXNzKCJpbnZlcnRhYmxlIil9KX07alF1ZXJ5KCIubWN3LWRhcmstdGhlbWUsLm1jdy1taWRuaWdodC10aGVtZSwubWN3LWN1c3RvbS10aGVtZSwubWN3LXRhYmxlLmRhcmsiKS5lYWNoKGZ1bmN0aW9uKCl7alF1ZXJ5KHRoaXMpLmludmVydGFibGUoKX0pO2pRdWVyeS5mbi5pblZpZXc9ZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkod2luZG93KTtvYmo9alF1ZXJ5KHRoaXMpO3ZhciBjPWEuc2Nyb2xsVG9wKCk7YT1hLnNjcm9sbFRvcCgpK2EuaGVpZ2h0KCk7dmFyIGc9b2JqLm9mZnNldCgpLnRvcCtvYmoub3V0ZXJIZWlnaHQoKTtyZXR1cm4gYT49ZyYmYzw9Zz8hMDohMX07alF1ZXJ5LmZuLmRyYXdDaGFydD1mdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTsKZGVwcC5yZXF1aXJlKCJjaGFydGpzIixmdW5jdGlvbigpe3ZhciBjPWEuZGF0YSgicmF0ZSIpP2EuZGF0YSgicmF0ZSIpOjEsZz1hLmRhdGEoImZpYXQiKT9hLmRhdGEoImZpYXQiKToiJCIsZT1hLmRhdGEoImNvbG9yIiksaz1wYXJzZUludChhLmRhdGEoImdyYWRpZW50IikpLGI9cGFyc2VJbnQoYS5kYXRhKCJib3JkZXIiKSksbT1wYXJzZUZsb2F0KGEuZGF0YSgib3BhY2l0eSIpKSxoPWEuZGF0YSgicG9pbnRzIikuc3BsaXQoIiwiKS5zbGljZSgwLDI0KTtoPWgubWFwKGZ1bmN0aW9uKHApe3A9cGFyc2VGbG9hdChwKSpjO3JldHVybiBwLnRvRml4ZWQoMTw9cD8yOjFFLTY+cD84OjYpfSk7cj1yP3I6ZTtpZigwPT09ayl2YXIgcj0icmdiYSgiK2UrIiwiK20rIikiO2Vsc2Ugcj1hWzBdLmdldENvbnRleHQoIjJkIikuY3JlYXRlTGluZWFyR3JhZGllbnQoMCwwLDAsayksci5hZGRDb2xvclN0b3AoMCwicmdiYSgiK2UrIiwwLjMpIiksci5hZGRDb2xvclN0b3AoMSwicmdiYSgiK2UrCiIsMCkiKTtlPXtsYWJlbHM6aCxkYXRhc2V0czpbe2RhdGE6aCxmaWxsOiEwLGJhY2tncm91bmRDb2xvcjpyLGJvcmRlckNvbG9yOiJyZ2IoIitlKyIpIixwb2ludEJvcmRlckNvbG9yOiJyZ2IoIitlKyIpIixsaW5lVGVuc2lvbjouMjUscG9pbnRSYWRpdXM6MCxib3JkZXJXaWR0aDpifV19O25ldyBDaGFydChhWzBdLmdldENvbnRleHQoIjJkIikse3R5cGU6ImxpbmUiLGRhdGE6ZSxvcHRpb25zOnthbmltYXRpb246e2R1cmF0aW9uOjUwMH0sbGVnZW5kOntkaXNwbGF5OiExfSxzY2FsZXM6e3hBeGVzOlt7ZGlzcGxheTohMX1dLHlBeGVzOlt7ZGlzcGxheTohMX1dfSx0b29sdGlwczp7bW9kZToiaW5kZXgiLGludGVyc2VjdDohMSxkaXNwbGF5Q29sb3JzOiExLGNhbGxiYWNrczp7bGFiZWw6ZnVuY3Rpb24ocCxsKXtyZXR1cm4gZysiICIrYWRkQ29tbWFzKHBhcnNlRmxvYXQocC54TGFiZWwpKX0sdGl0bGU6ZnVuY3Rpb24ocCxsKXtyZXR1cm4hMX19fSxob3Zlcjp7bW9kZToibmVhcmVzdCIsCmludGVyc2VjdDohMH0sbWFpbnRhaW5Bc3BlY3RSYXRpbzohMX19KX0pfTtqUXVlcnkuZm4ubWN3QWNjb3JkaW9uPWZ1bmN0aW9uKCl7dGhpcy5maW5kKCIubWN3LWxpc3QtaXRlbTplcSgwKSIpLmFkZENsYXNzKCJhY3RpdmUiKS5maW5kKCIubWN3LWxpc3QtYm9keSIpLnNsaWRlRG93bigpO3RoaXMuZmluZCgiLm1jdy1saXN0LWhlYWRlciIpLmNsaWNrKGZ1bmN0aW9uKCl7alF1ZXJ5KHRoaXMpLnBhcmVudHMoIi5tY3ctbGlzdCIpLmZpbmQoIi5tY3ctbGlzdC1pdGVtIikubm90KGpRdWVyeSh0aGlzKS5wYXJlbnQoKSkucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpLmZpbmQoIi5tY3ctbGlzdC1ib2R5Iikuc2xpZGVVcCgpO2pRdWVyeSh0aGlzKS5wYXJlbnQoKS50b2dnbGVDbGFzcygiYWN0aXZlIik7alF1ZXJ5KHRoaXMpLm5leHQoIi5tY3ctbGlzdC1ib2R5Iikuc2xpZGVUb2dnbGUoKX0pfTtqUXVlcnkoZG9jdW1lbnQpLm9uKCJtY3ciLCIubWN3LXRhYmxlIixmdW5jdGlvbigpe3ZhciBhPQpqUXVlcnkodGhpcyksYz1hLmZpbmQoIi5tY3ctZGF0YXRhYmxlIik7ZGVwcC5yZXF1aXJlKCJkYXRhdGFibGUiLGZ1bmN0aW9uKCl7alF1ZXJ5LmZuLmRhdGFUYWJsZUV4dC5vUGFnaW5hdGlvbi5pbmZvX2J1dHRvbnM9e2ZuSW5pdDpmdW5jdGlvbihiLG0saCl7dmFyIHI9Yi5faURpc3BsYXlTdGFydCsxKyIgLSAiK2IuZm5EaXNwbGF5RW5kKCkrIiBvZiAiK2IuZm5SZWNvcmRzRGlzcGxheSgpLHA9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO3AuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoYi5vTGFuZ3VhZ2Uub1BhZ2luYXRlLnNQcmV2aW91cykpO2QuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoYi5vTGFuZ3VhZ2Uub1BhZ2luYXRlLnNOZXh0KSk7bC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShyKSk7CnAuY2xhc3NOYW1lPSJwYWdpbmF0ZV9idXR0b24gcHJldmlvdXMiO2QuY2xhc3NOYW1lPSJwYWdpbmF0ZV9idXR0b24gbmV4dCI7bC5jbGFzc05hbWU9InBhZ2luYXRlX2J1dHRvbiBpbmZvIjttLmFwcGVuZENoaWxkKHApO20uYXBwZW5kQ2hpbGQobCk7bS5hcHBlbmRDaGlsZChkKTtqUXVlcnkocCkuY2xpY2soZnVuY3Rpb24oKXtiLm9BcGkuX2ZuUGFnZUNoYW5nZShiLCJwcmV2aW91cyIpO2goYil9KTtqUXVlcnkoZCkuY2xpY2soZnVuY3Rpb24oKXtiLm9BcGkuX2ZuUGFnZUNoYW5nZShiLCJuZXh0Iik7aChiKX0pO2pRdWVyeShwKS5iaW5kKCJzZWxlY3RzdGFydCIsZnVuY3Rpb24oKXtyZXR1cm4hMX0pO2pRdWVyeShkKS5iaW5kKCJzZWxlY3RzdGFydCIsZnVuY3Rpb24oKXtyZXR1cm4hMX0pfSxmblVwZGF0ZTpmdW5jdGlvbihiLG0pe2lmKGIuYWFuRmVhdHVyZXMucClmb3IodmFyIGg9Yi5hYW5GZWF0dXJlcy5wLHI9MCxwPWgubGVuZ3RoO3I8cDtyKyspe3ZhciBsPWhbcl0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNwYW4iKTsKbFsxXS5pbm5lclRleHQ9Yi5faURpc3BsYXlTdGFydCsxKyIgLSAiK2IuZm5EaXNwbGF5RW5kKCkrIiBvZiAiK2IuZm5SZWNvcmRzRGlzcGxheSgpOzA9PT1iLl9pRGlzcGxheVN0YXJ0P2xbMF0uY2xhc3NOYW1lPSJwYWdpbmF0ZV9idXR0b24gcHJldmlvdXMgZGlzYWJsZWQiOmxbMF0uY2xhc3NOYW1lPSJwYWdpbmF0ZV9idXR0b24gcHJldmlvdXMgZW5hYmxlZCI7Yi5mbkRpc3BsYXlFbmQoKT09Yi5mblJlY29yZHNEaXNwbGF5KCk/bFsyXS5jbGFzc05hbWU9InBhZ2luYXRlX2J1dHRvbiBuZXh0IGRpc2FibGVkIjpsWzJdLmNsYXNzTmFtZT0icGFnaW5hdGVfYnV0dG9uIG5leHQgZW5hYmxlZCJ9fX07dmFyIGc9W10sZT1bXTtjLmZpbmQoInRoZWFkIHRoIikuZWFjaChmdW5jdGlvbihiKXt2YXIgbT1qUXVlcnkodGhpcykuZGF0YSgiY29sIik7ZS5wdXNoKG0pO2cucHVzaCh7ZGF0YTptLG5hbWU6bSxyZW5kZXI6ZnVuY3Rpb24oaCxyLHAsbCl7aWYodm9pZCAwPT09bC5zZXR0aW5ncy5qc29uKXJldHVybiBoOwpzd2l0Y2gobSl7Y2FzZSAicmFuayI6cmV0dXJuIGg7Y2FzZSAibmFtZSI6cmV0dXJuIHI9JzxkaXYgY2xhc3M9ImNvaW4iPjxkaXYgY2xhc3M9ImNvaW4taW1hZ2UiPjxpbWcgc3JjPSInK3AuaW1nKyciIHN0eWxlPSJtYXgtaGVpZ2h0OiAzNXB4OyIgYWx0PSInK3Auc2x1ZysnIj48L2Rpdj4nLHI9cC5saW5rP3IrKCc8YSBocmVmPSInK3AubGluaysnIiBjbGFzcz0iY29pbi10aXRsZSI+PGRpdiBjbGFzcz0iY29pbi1uYW1lIj4nK2grJzwvZGl2PjxkaXYgY2xhc3M9ImNvaW4tc3ltYm9sIj4nK3Auc3ltYm9sKyI8L2Rpdj48L2E+Iik6cisoJzxkaXYgY2xhc3M9ImNvaW4tdGl0bGUiPjxkaXYgY2xhc3M9ImNvaW4tbmFtZSI+JytoKyc8L2Rpdj48ZGl2IGNsYXNzPSJjb2luLXN5bWJvbCI+JytwLnN5bWJvbCsiPC9kaXY+PC9kaXY+IikscisiPC9kaXY+IjtjYXNlICJwcmljZV91c2QiOnI9cGFyc2VGbG9hdChwLmN1cnJhdGUqaCk7bD0xPD1yPzI6MUUtNj5yPzg6Njt2YXIgZD1wLm5hbWUuc3BsaXQoIiAiKS5qb2luKCItIik7CmQ9ZC50b0xvd2VyQ2FzZSgpO3JldHVybic8c3BhbiBkYXRhLWxpdmUtcHJpY2U9IicrZCsnIiBkYXRhLXJhdGU9IicrcC5jdXJyYXRlKyciIGRhdGEtcHJpY2U9IicraCsnIj4nK3AuY3J5cHRvZmlhdCsiICIrYWRkQ29tbWFzKHIudG9GaXhlZChsKSkrIjwvc3Bhbj4iO2Nhc2UgInByaWNlX2J0YyI6cmV0dXJuIlx1MDI0MyAiK2g7Y2FzZSAibWFya2V0X2NhcF91c2QiOnJldHVybiBoKj1wLmN1cnJhdGUscC5jcnlwdG9maWF0KyIgIitjb21tYXJpemUoaCxwLnByaWNlZm9ybWF0KTtjYXNlICJ2b2x1bWVfdXNkXzI0aCI6cmV0dXJuIGgqPXAuY3VycmF0ZSxoPWNvbW1hcml6ZShoLHAucHJpY2Vmb3JtYXQpLHAuY3J5cHRvZmlhdCsiICIraDtjYXNlICJhdmFpbGFibGVfc3VwcGx5IjpyZXR1cm4gY29tbWFyaXplKGgscC5wcmljZWZvcm1hdCk7Y2FzZSAicGVyY2VudF9jaGFuZ2VfMjRoIjpyZXR1cm4nPHNwYW4gY2xhc3M9IicrKDA8PWg/InVwIjoiZG93biIpKyciPicraCsiJTwvc3Bhbj4iOwpjYXNlICJ3ZWVrbHkiOnJldHVybic8dGQ+PGNhbnZhcyB3aWR0aD0iMTM1IiBoZWlnaHQ9IjQwIiBkYXRhLXJhdGU9IicrcC5jdXJyYXRlKyciIGRhdGEtZmlhdD0iJytwLmNyeXB0b2ZpYXQrJyIgZGF0YS1jb2xvcj0iJytjLmRhdGEoImNoYXJ0Y29sb3IiKSsnIiBkYXRhLWdyYWRpZW50PSI1MCIgZGF0YS1ib3JkZXI9IjIiIGRhdGEtcG9pbnRzPSInK2guam9pbigiLCIpKyciPjwvY2FudmFzPjwvdGQ+JztkZWZhdWx0OnJldHVybiBofX19KX0pO3ZhciBrPWMuRGF0YVRhYmxlKHtkZXN0cm95OiEwLGJEZXN0cm95OiEwLGRvbToncjwibG9hZGVyIj48ImRhdGF0YWJsZS1zY3JvbGwidD48ImxvYWRlciI+PCJkYXRhVGFibGVzLWZvb3RlciJscD48ImNsZWFyIj4nLG9yZGVyOltdLHNjcm9sbENvbGxhcHNlOiEwLHBhZ2luZ1R5cGU6ImluZm9fYnV0dG9ucyIscmVzcG9uc2l2ZTp7ZGV0YWlsczp7dHlwZTo0ODA+YS53aWR0aCgpPyJjb2x1bW4iOiJpbmxpbmUiLHRhcmdldDoidHIifX0sCnBhZ2VMZW5ndGg6cGFyc2VJbnQoYy5kYXRhKCJsZW5ndGgiKSksbGVuZ3RoTWVudTpbcGFyc2VJbnQoYy5kYXRhKCJsZW5ndGgiKSksMTAsMjUsNTAsMTAwXS5zb3J0KGZ1bmN0aW9uKGIsbSl7cmV0dXJuIGItbX0pLmZpbHRlcihmdW5jdGlvbihiLG0saCl7cmV0dXJuIGguaW5kZXhPZihiKT09PW19KSxjb2x1bW5zOmcscHJvY2Vzc2luZzohMCxzZXJ2ZXJTaWRlOiEwLGRlZmVyTG9hZGluZzpwYXJzZUludChjLmRhdGEoInRvdGFsIikpLGNvbHVtbkRlZnM6W3t0YXJnZXRzOiJjb2wtbmFtZSIsY2xhc3NOYW1lOiJjdHJsIHRleHQtbGVmdCBhbGwifSx7dGFyZ2V0czoiY29sLXJhbmsiLGNsYXNzTmFtZToidGV4dC1sZWZ0IG1pbi10YWJsZXQtcCIsd2lkdGg6IjIwcHgifSx7dGFyZ2V0czoiY29sLXByaWNlX3VzZCIsY2xhc3NOYW1lOiJhbGwifSx7dGFyZ2V0czoiY29sLXdlZWtseSIsd2lkdGg6IjE5MHB4IiwibWF4LXdpZHRoIjoiMTkwcHgiLGNsYXNzTmFtZToiY2hhcnQtd3JhcHBlciJ9XSwKZHJhd0NhbGxiYWNrOmZ1bmN0aW9uKGIpe2MuZmluZCgiY2FudmFzIikuZWFjaChmdW5jdGlvbigpe2pRdWVyeSh0aGlzKS5kcmF3Q2hhcnQoKX0pO2I9Yy5wYXJlbnRzKCIuY3J5cHRvYm94ZXMiKS5kYXRhKCJyZWFsdGltZSIpOyJ1bmRlZmluZWQiIT09dHlwZW9mIHdpbmRvdy5zb2NrZXQmJiJvbiI9PT1iJiZ3aW5kb3cuc29ja2V0LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGZ1bmN0aW9uKG0pe3ZhciBoPUpTT04ucGFyc2UobS5kYXRhKTtjLmZpbmQoJ1tkYXRhLWxpdmUtcHJpY2U9IicraC5iYXNlKyciXScpLmVhY2goZnVuY3Rpb24oKXtqUXVlcnkodGhpcykucmVhbFRpbWUoaCl9KX0pO2pRdWVyeSgiLm1jdy10YWJsZS5kYXJrIikuZWFjaChmdW5jdGlvbigpe2pRdWVyeSh0aGlzKS5pbnZlcnRhYmxlKCl9KX0sYWpheDp7dXJsOm1jcC5hamF4X3VybCxkYXRhOnthY3Rpb246Im1jd190YWJsZSIsZHluYW1pYzphLmF0dHIoImRhdGEtZHluYW1pYyIpLG1jd19pZDphLmF0dHIoImlkIikuc3BsaXQoIi0iKVsxXX19LApsYW5ndWFnZTp7cHJvY2Vzc2luZzoiIixsZW5ndGhNZW51OiJDb2lucyBwZXIgcGFnZTogX01FTlVfIn19KTtrLm9uKCJyZXNwb25zaXZlLXJlc2l6ZSIsZnVuY3Rpb24oYixtLGgpe3ZhciByPWhbMF0/MDoxO2MuZmluZCgidHIgdGQiKS5yZW1vdmVDbGFzcygiY3RybCIpO2MuZmluZCgidGJvZHkgdHIiKS5lYWNoKGZ1bmN0aW9uKCl7alF1ZXJ5KHRoaXMpLmZpbmQoInRkIikuZXEocikuYWRkQ2xhc3MoImN0cmwiKX0pO2MucmVtb3ZlQ2xhc3MoImR0ci1jb2x1bW4gZHRyLWlubGluZSIpO2MuYWRkQ2xhc3MoWyJkdHItaW5saW5lIiwiZHRyLWNvbHVtbiJdW3JdKX0pO2sub24oInByb2Nlc3NpbmcuZHQiLGZ1bmN0aW9uKGIsbSxoKXtoPyhiPWEuZmluZCgidGhlYWQiKS5pblZpZXcoKT8wOjEsYS5maW5kKCIubG9hZGVyIikuZXEoYikuc2hvdygpKTphLmZpbmQoIi5sb2FkZXIiKS5oaWRlKCl9KTtrLm9uKCJyZXNwb25zaXZlLWRpc3BsYXkiLGZ1bmN0aW9uKGIpe2pRdWVyeShiLmN1cnJlbnRUYXJnZXQpLmZpbmQoInRkLmNoaWxkIGNhbnZhcyIpLnBhcmVudCgpLmFkZENsYXNzKCJjaGFydC13cmFwcGVyIik7CmpRdWVyeShiLmN1cnJlbnRUYXJnZXQpLmZpbmQoInRkLmNoaWxkIGNhbnZhcyIpLmVhY2goZnVuY3Rpb24oKXtqUXVlcnkodGhpcykuZHJhd0NoYXJ0KCl9KX0pfSl9KTtqUXVlcnkoZG9jdW1lbnQpLm9uKCJtY3ciLCIubWN3LWNoYXJ0IixmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTtkZXBwLnJlcXVpcmUoWyJlY2hhcnRzIiwidmlzaWJpbGl0eWNoYW5nZWQiXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGMoZCl7Yi5wZXJpb2Q9ZDtrLnRpdGxlLnN1YnRleHQ9cltiLnBlcmlvZF07ZSgpfWZ1bmN0aW9uIGcoZCl7Yi5jb2luPSJNSU9UQSI9PWIuY29pbj8iSU9UIjpiLmNvaW47dmFyIHE9Imh0dHBzOi8vbWluLWFwaS5jcnlwdG9jb21wYXJlLmNvbS9kYXRhLyIrKCJkYXkiPT09Yi5wZXJpb2R8fCJ3ZWVrIj09PWIucGVyaW9kPyJoaXN0b2hvdXIiOiJoaXN0b2RheSIpO3ErPSI/ZnN5bT0iK2IuY29pbisiJnRzeW09IitiLmN1cnJlbmN5O3ErPSImbGltaXQ9IitoW2IucGVyaW9kXSsKIiZhZ2dyZWdhdGU9MSZleHRyYVBhcmFtcz1tYXNzaXZlY3J5cHRvIjt2YXIgdz0ibWN3LSIrYi5jb2luLnRvTG93ZXJDYXNlKCkrIi0iK2IuY3VycmVuY3kudG9Mb3dlckNhc2UoKSsiLSIrYi5wZXJpb2Q7aWYobnVsbD09PXNlc3Npb25TdG9yYWdlLmdldEl0ZW0odyl8fCIiPT1zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHcpKWpRdWVyeS5nZXQocSxmdW5jdGlvbihuKXtzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKHcsSlNPTi5zdHJpbmdpZnkobikpO3JldHVybiBkKG4pfSwianNvbiIpO2Vsc2UgcmV0dXJuIHE9SlNPTi5wYXJzZShzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHcpKSxkKHEpfWZ1bmN0aW9uIGUoKXtsLnNob3dMb2FkaW5nKCJkZWZhdWx0Iix7dGV4dDoiIixjb2xvcjptLnRpdGxlQ29sb3IsbWFza0NvbG9yOm0uYmFja2dyb3VuZENvbG9yfSk7ZyhmdW5jdGlvbihkKXt2YXIgcT1bXSx3PVtdLG49W107Zm9yKGk9MDtpPGQuRGF0YS5sZW5ndGg7aSsrKXt2YXIgdj1uZXcgRGF0ZSgxRTMqCmQuRGF0YVtpXS50aW1lKTtpZigiZGF5Ij09Yi5wZXJpb2Qpe3ZhciB0PXBbdi5nZXRNb250aCgpXSsiICI7dmFyIHg9djt2PXguZ2V0SG91cnMoKTt4PXguZ2V0TWludXRlcygpO3ZhciB6PTEyPD12PyJQTSI6IkFNIjt2JT0xMjt0Kz0odj92OjEyKSsiOiIrKDEwPng/IjAiK3g6eCkrIiAiK3p9ZWxzZSB0PXBbdi5nZXRNb250aCgpXSsiICIrdi5nZXREYXRlKCk7dj10O3Q9ImNoYXJ0Ij09Yi50eXBlP2QuRGF0YVtpXS5jbG9zZTpbZC5EYXRhW2ldLmNsb3NlLGQuRGF0YVtpXS5vcGVuLGQuRGF0YVtpXS5sb3csZC5EYXRhW2ldLmhpZ2hdO3EucHVzaCh2KTt3LnB1c2godCk7bi5wdXNoKGQuRGF0YVtpXS52b2x1bWVmcm9tKX1rLnhBeGlzWzBdLmRhdGE9cTtrLnNlcmllc1swXS5kYXRhPXc7ImNhbmRsZXN0aWNrIj09Yi50eXBlJiYoZD1NYXRoLnJvdW5kKGhbYi5wZXJpb2RdLzYwKjEwKSxxPSJjYW5kbGVzdGljayI9PWIudHlwZSYmMTA8ZD8hMDohMSxrLmRhdGFab29tLnNob3c9cSwKay5kYXRhWm9vbS5zdGFydD1kLGsuZ3JpZC55Mj1xPzgwOjQwLGsuc2VyaWVzWzFdLmRhdGE9bik7bC5zZXRPcHRpb24oayk7bC5oaWRlTG9hZGluZygpfSl9dmFyIGs9e3R5cGU6YS5hdHRyKCJkYXRhLWNoYXJ0dHlwZSIpLGNvaW46YS5hdHRyKCJkYXRhLWNoYXJ0Y29pbiIpLGN1cnJlbmN5OmEuYXR0cigiZGF0YS1jaGFydGN1cnJlbmN5Iiksc3ltYm9sOmEuYXR0cigiZGF0YS1jaGFydHN5bWJvbCIpLHBlcmlvZDphLmF0dHIoImRhdGEtY2hhcnR2aWV3IiksdGhlbWU6YS5hdHRyKCJkYXRhLWNoYXJ0dGhlbWUiKSxzbW9vdGg6InRydWUiPT1hLmF0dHIoImRhdGEtY2hhcnRzbW9vdGgiKSx0ZXh0Q29sb3I6YS5hdHRyKCJkYXRhLWNoYXJ0YXJlYWNvbG9yIiksYXJlYUNvbG9yOmEuYXR0cigiZGF0YS1jaGFydGJnY29sb3IiKSxmb250OmEuYXR0cigiZGF0YS1mb250IiksY29uZmlnOkpTT04ucGFyc2UoYS5hdHRyKCJkYXRhLWNvbmZpZyIpKX07c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXtpZigwPApzZXNzaW9uU3RvcmFnZS5sZW5ndGgpZm9yKHZhciBkPTA7ZDxzZXNzaW9uU3RvcmFnZS5sZW5ndGg7ZCsrKS0xPHNlc3Npb25TdG9yYWdlLmtleShkKS5pbmRleE9mKCJtY3ctIikmJnNlc3Npb25TdG9yYWdlLnNldEl0ZW0oc2Vzc2lvblN0b3JhZ2Uua2V5KGQpLCIiKX0sMThFNSk7dmFyIGI9alF1ZXJ5LmV4dGVuZCh7dHlwZToiY2hhcnQiLGNvaW46IkJUQyIsY3VycmVuY3k6IlVTRCIsc3ltYm9sOiIkIixwZXJpb2Q6ImRheSIsdGhlbWU6ImRhcmsiLHNtb290aDohMCxhcmVhQ29sb3I6InJnYmEoMTEyLDE0NywyNTQsMC44KSIsdGV4dENvbG9yOiIjMjAyMzI4Iixmb250OmEuY3NzKCJmb250LWZhbWlseSIpfSxrKSxtPXtsaWdodDp7YmFja2dyb3VuZENvbG9yOiIjZmZmIixjb2xvcjoiY2hhcnQiPT1iLnR5cGU/IiIhPWIudGV4dENvbG9yP1tiLnRleHRDb2xvcl06IiMyMDIzMjgiOiIjMjAyMzI4Iixmb250RmFtaWx5OmIuZm9udCxjaGFydENvbG9yczoiY2hhcnQiPT1iLnR5cGU/CiIiIT1iLmFyZWFDb2xvcj9bYi5hcmVhQ29sb3JdOiJyZ2JhKDExMiwxNDcsMjU0LDAuOCkiOlsicmdiYSgxMDgsMTMwLDE0NSwwLjIpIl0sdGl0bGVDb2xvcjoiY2hhcnQiPT1iLnR5cGU/IiIhPWIuYXJlYUNvbG9yP1tiLmFyZWFDb2xvcl06InJnYmEoMTEyLDE0NywyNTQsMC44KSI6IiM2NTY1NjUiLHhBeGlzOiJyZ2JhKDU0LDYwLDc4LDAuMSkiLHlBeGlzOiJyZ2JhKDU0LDYwLDc4LDAuMSkiLGJvcmRlcjoiI2VlZSJ9LGRhcms6e2JhY2tncm91bmRDb2xvcjoiIzIwMjMyOCIsY29sb3I6ImNoYXJ0Ij09Yi50eXBlPyIiIT1iLnRleHRDb2xvcj9bYi50ZXh0Q29sb3JdOiIjZmZmIjoiI2ZmZiIsZm9udEZhbWlseTpiLmZvbnQsY2hhcnRDb2xvcnM6ImNoYXJ0Ij09Yi50eXBlPyIiIT1iLmFyZWFDb2xvcj9bYi5hcmVhQ29sb3JdOiJyZ2JhKDExMiwxNDcsMjU0LDAuOCkiOlsicmdiYSgxMDgsMTMwLDE0NSwwLjIpIl0sdGl0bGVDb2xvcjoiY2hhcnQiPT1iLnR5cGU/IiIhPWIuYXJlYUNvbG9yPwpbYi5hcmVhQ29sb3JdOiJyZ2JhKDExMiwxNDcsMjU0LDAuOCkiOiIjZmZmIix4QXhpczoiIzM2M2M0ZSIseUF4aXM6IiMzNjNjNGUiLGJvcmRlcjoiIzIwMjMyOCJ9fVtiLnRoZW1lXSxoPXtkYXk6MjQsd2VlazoxNjgsbW9udGg6MzAsdGhyZWVtb250aHM6OTAsc2l4bW9udGhzOjE4MCx5ZWFyOjM2NX0scj17ZGF5OiJEYXkiLHdlZWs6IldlZWsiLG1vbnRoOiJNb250aCIsdGhyZWVtb250aHM6IjMgTW9udGhzIixzaXhtb250aHM6IjYgTW9udGhzIix5ZWFyOiJZZWFyIn0scD0iSmFuIEZlYiBNYXIgQXByIE1heSBKdW4gSnVsIEF1ZyBTZXAgT2N0IE5vdiBEZWMiLnNwbGl0KCIgIiksbD1lY2hhcnRzLmluaXQoYS5nZXQoMCkpO2s9e2FuaW1hdGlvbjohMSxiYWNrZ3JvdW5kQ29sb3I6bS5iYWNrZ3JvdW5kQ29sb3IsY29sb3I6bS5jaGFydENvbG9ycyx0ZXh0U3R5bGU6e2NvbG9yOm0uY29sb3IsZm9udEZhbWlseTptLmZvbnRGYW1pbHl9LHRpdGxlOnt0ZXh0OmIuY29pbisiLyIrYi5jdXJyZW5jeSwKc3VidGV4dDpyW2IucGVyaW9kXSx0ZXh0U3R5bGU6e2NvbG9yOm0udGl0bGVDb2xvcn19LGdyaWQ6e3g6ImNoYXJ0Ij09Yi50eXBlP2IuY29uZmlnLmxpbmUubDpiLmNvbmZpZy5jYW5kbGVzdGljay5sLHgyOiJjaGFydCI9PWIudHlwZT9iLmNvbmZpZy5saW5lLnI6Yi5jb25maWcuY2FuZGxlc3RpY2sucix5OjMyMDxhLndpZHRoKCk/ODA6MTEwLHkyOjQwfSx0b29sdGlwOnt0cmlnZ2VyOiJheGlzIixmb3JtYXR0ZXI6ZnVuY3Rpb24oZCl7dmFyIHE9ZFswXS5uYW1lOyJjaGFydCI9PWIudHlwZT8ocT1xKyI8YnIvPiIrKGRbMF0ubWFya2VyKycgUHJpY2U6IDxiIHN0eWxlPSJjb2xvcjogI2ZmZjsiPicrYi5zeW1ib2wrYWRkQ29tbWFzKGRbMF0udmFsdWUpKSxxKz0iPC9iPiIpOihxPXErIjxici8+IisoZFswXS5tYXJrZXIrJyBIOiA8YiBzdHlsZT0iY29sb3I6ICNmZmY7Ij4nK2Iuc3ltYm9sK2FkZENvbW1hcyhkWzBdLnZhbHVlWzRdKSsiPC9iPiIpLHErPScgIEw6IDxiIHN0eWxlPSJjb2xvcjogI2ZmZjsiPicrCmIuc3ltYm9sK2FkZENvbW1hcyhkWzBdLnZhbHVlWzNdKSsiPC9iPiIscT1xKyI8YnIvPiIrKGRbMF0ubWFya2VyKycgTzogPGIgc3R5bGU9ImNvbG9yOiAjZmZmOyI+JytiLnN5bWJvbCthZGRDb21tYXMoZFswXS52YWx1ZVsyXSkrIjwvYj4iKSxxKz0nICBDOiA8YiBzdHlsZT0iY29sb3I6ICNmZmY7Ij4nK2Iuc3ltYm9sK2FkZENvbW1hcyhkWzBdLnZhbHVlWzFdKSsiPC9iPiIscT1xKyI8YnIvPiIrKGRbMV0ubWFya2VyKycgVjogPGIgc3R5bGU9ImNvbG9yOiAjZmZmOyI+JythZGRDb21tYXMoZFsxXS52YWx1ZSkrIjwvYj4gIitiLmNvaW4pKTtyZXR1cm4gcX19LGRhdGFab29tOntzaG93OiExLHJlYWx0aW1lOiEwLHN0YXJ0OjAsZW5kOjEwMH0sdG9vbGJveDp7c2hvdzohMCxpdGVtU2l6ZToyMixsZWZ0OjMyMDxhLndpZHRoKCk/InJpZ2h0IjoibGVmdCIsdG9wOjMyMDxhLndpZHRoKCk/InRvcCI6NTAsZmVhdHVyZTp7bXlUb29sMTp7c2hvdzohMCx0aXRsZTpyLmRheSxpY29uOiJpbWFnZTovLyIrCm1jcC51cmwrIi9hc3NldHMvcHVibGljL2NoYXJ0cy9pbWFnZXMvMWQtZGFyay0wMS5zdmciLG9uY2xpY2s6ZnVuY3Rpb24oKXtjKCJkYXkiKX19LG15VG9vbDI6e3Nob3c6ITAsdGl0bGU6ci53ZWVrLGljb246ImltYWdlOi8vIittY3AudXJsKyIvYXNzZXRzL3B1YmxpYy9jaGFydHMvaW1hZ2VzLzF3LWRhcmstMDEuc3ZnIixvbmNsaWNrOmZ1bmN0aW9uKCl7Yygid2VlayIpfX0sbXlUb29sMzp7c2hvdzohMCx0aXRsZTpyLm1vbnRoLGljb246ImltYWdlOi8vIittY3AudXJsKyIvYXNzZXRzL3B1YmxpYy9jaGFydHMvaW1hZ2VzLzFtLWRhcmstMDEuc3ZnIixvbmNsaWNrOmZ1bmN0aW9uKCl7YygibW9udGgiKX19LG15VG9vbDQ6e3Nob3c6ITAsdGl0bGU6ci50aHJlZW1vbnRocyxpY29uOiJpbWFnZTovLyIrbWNwLnVybCsiL2Fzc2V0cy9wdWJsaWMvY2hhcnRzL2ltYWdlcy8zbS1kYXJrLTAxLnN2ZyIsb25jbGljazpmdW5jdGlvbigpe2MoInRocmVlbW9udGhzIil9fSxteVRvb2w1OntzaG93OiEwLAp0aXRsZTpyLnNpeG1vbnRocyxpY29uOiJpbWFnZTovLyIrbWNwLnVybCsiL2Fzc2V0cy9wdWJsaWMvY2hhcnRzL2ltYWdlcy82bS1kYXJrLTAxLnN2ZyIsb25jbGljazpmdW5jdGlvbigpe2MoInNpeG1vbnRocyIpfX0sbXlUb29sNjp7c2hvdzohMCx0aXRsZTpyLnllYXIsaWNvbjoiaW1hZ2U6Ly8iK21jcC51cmwrIi9hc3NldHMvcHVibGljL2NoYXJ0cy9pbWFnZXMvMXktZGFyay0wMS5zdmciLG9uY2xpY2s6ZnVuY3Rpb24oKXtjKCJ5ZWFyIil9fSxtYXJrOntzaG93OiExfSxkYXRhVmlldzp7c2hvdzohMX0sbWFnaWNUeXBlOntzaG93OiExfSxyZXN0b3JlOntzaG93OiExfSxzYXZlQXNJbWFnZTp7c2hvdzohMX19fSx4QXhpczpbXSx5QXhpczpbXSxzZXJpZXM6W119OyJjaGFydCI9PWIudHlwZT8oay54QXhpcy5wdXNoKHt0eXBlOiJjYXRlZ29yeSIsYm91bmRhcnlHYXA6ITF9KSxrLnlBeGlzLnB1c2goe3R5cGU6InZhbHVlIixzY2FsZTohMCxheGlzTGFiZWw6e2Zvcm1hdHRlcjpmdW5jdGlvbihkKXtyZXR1cm4gYWRkQ29tbWFzKGQpfX0sCnNwbGl0TGluZTp7c2hvdzohMCxsaW5lU3R5bGU6e2NvbG9yOm0ueUF4aXMsd2lkdGg6MSx0eXBlOiJzb2xpZCJ9fSxib3VuZGFyeUdhcDpbIjUlIiwiMCUiXX0pLGsuc2VyaWVzLnB1c2goe25hbWU6IlByaWNlIix0eXBlOiJsaW5lIixzbW9vdGg6Yi5zbW9vdGgsaXRlbVN0eWxlOntub3JtYWw6e2FyZWFTdHlsZTp7dHlwZToiZGVmYXVsdCJ9fX19KSk6KGsueEF4aXMucHVzaCh7dHlwZToiY2F0ZWdvcnkiLGJvdW5kYXJ5R2FwOiEwLGF4aXNUaWNrOntvbkdhcDohMX0sc3BsaXRMaW5lOntzaG93OiExfX0pLGsueUF4aXMucHVzaCh7dHlwZToidmFsdWUiLHNjYWxlOiExLGF4aXNMYWJlbDp7Zm9ybWF0dGVyOmZ1bmN0aW9uKGQpe3JldHVybiBhZGRDb21tYXMoZCl9fSxzcGxpdExpbmU6e3Nob3c6ITF9LGJvdW5kYXJ5R2FwOlsiMCUiLCIwJSJdfSx7dHlwZToidmFsdWUiLHNjYWxlOiEwLGF4aXNMYWJlbDp7Zm9ybWF0dGVyOmZ1bmN0aW9uKGQpe3JldHVybiBhZGRDb21tYXMoZCl9fSwKc3BsaXRMaW5lOntzaG93OiEwLGxpbmVTdHlsZTp7Y29sb3I6bS55QXhpcyx3aWR0aDoxLHR5cGU6InNvbGlkIn19LGJvdW5kYXJ5R2FwOlsiMCUiLCIwJSJdfSksay5zZXJpZXMucHVzaCh7bmFtZToiT0hMQyIsdHlwZToiayIsaXRlbVN0eWxlOntub3JtYWw6e2NvbG9yOiIjZGMzNTQ1Iixjb2xvcjA6IiMyM0JGMDgifX0seUF4aXNJbmRleDoxfSksay5zZXJpZXMucHVzaCh7bmFtZToiVm9sdW1lIix0eXBlOiJiYXIifSkpO2EuY3NzKCJiYWNrZ3JvdW5kIixtLmJhY2tncm91bmRDb2xvcik7YS5jc3MoImJvcmRlci1jb2xvciIsbS5ib3JkZXIpO2UoKTtqUXVlcnkod2luZG93KS5vbigicmVzaXplIixmdW5jdGlvbigpe2suZ3JpZC55PTMyMDxhLndpZHRoKCk/ODA6MTEwO2sudG9vbGJveC5sZWZ0PTMyMDxhLndpZHRoKCk/InJpZ2h0IjoibGVmdCI7ay50b29sYm94LnRvcD0zMjA8YS53aWR0aCgpPyJ0b3AiOjUwO2wuc2V0T3B0aW9uKGspO2wucmVzaXplKCl9KTthLnZpc2liaWxpdHlDaGFuZ2VkKHtjYWxsYmFjazpmdW5jdGlvbihkLApxLHcpe3EmJmpRdWVyeSh3aW5kb3cpLnRyaWdnZXIoInJlc2l6ZSIpfSxydW5PbkxvYWQ6ITAsZnJlcXVlbmN5OjEwMH0pfSl9KTtqUXVlcnkoZG9jdW1lbnQpLm9uKCJtY3ciLCIubWN3LWNvbnZlcnRlciIsZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyk7ZGVwcC5yZXF1aXJlKCJzZWxlY3RpemUiLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYygpe3ZhciBuPW1bMF0uc2VsZWN0aXplLm9wdGlvbnNbbS52YWwoKV0udmFsLHY9aFswXS5zZWxlY3RpemUub3B0aW9uc1toLnZhbCgpXS52YWwsdD0iVVMiPT09bWNwLm51bWZvcm1hdD9wYXJzZUZsb2F0KHIudmFsKCkucmVwbGFjZSgvLC9nLCIiKSk6cGFyc2VGbG9hdChyLnZhbCgpLnJlcGxhY2UoL1wuL2csIiIpKTtuPSJjcnlwdG8iPT09ZSYmImNyeXB0byI9PT1rP3Q/bi92KnQ6IiI6ImZpYXQiPT09ZSYmImZpYXQiPT09az90P3Yvbip0OiIiOiJmaWF0Ij09PWUmJiJjcnlwdG8iPT09az90P3QvKG4qdik6IiI6dD90Km4qdjoiIjtuPXBhcnNlRmxvYXQobik7CnAudmFsKGFkZENvbW1hcyhuLnRvRml4ZWQoMTw9bj8yOjFFLTY+bj84OjYpKSl9ZnVuY3Rpb24gZygpe3ZhciBuPW1bMF0uc2VsZWN0aXplLm9wdGlvbnNbbS52YWwoKV0udmFsLHY9aFswXS5zZWxlY3RpemUub3B0aW9uc1toLnZhbCgpXS52YWwsdD0iVVMiPT09bWNwLm51bWZvcm1hdD9wYXJzZUZsb2F0KHAudmFsKCkucmVwbGFjZSgvLC9nLCIiKSk6cGFyc2VGbG9hdChwLnZhbCgpLnJlcGxhY2UoL1wuL2csIiIpKTtuPSJjcnlwdG8iPT09ZSYmImNyeXB0byI9PT1rP3Q/di9uKnQ6IiI6ImZpYXQiPT09ZSYmImZpYXQiPT09az90P24vdip0OiIiOiJmaWF0Ij09PWUmJiJjcnlwdG8iPT09az90P3Qqbip2OiIiOnQ/MS92KnQvbjoiIjtuPXBhcnNlRmxvYXQobik7ci52YWwoYWRkQ29tbWFzKG4udG9GaXhlZCgxPD1uPzI6MUUtNj5uPzg6NikpKX1hLmZpbmQoInNlbGVjdCIpLnNlbGVjdGl6ZSh7b25Jbml0aWFsaXplOmZ1bmN0aW9uKCl7dmFyIG49dGhpczt0aGlzLnJldmVydFNldHRpbmdzLiRjaGlsZHJlbi5lYWNoKGZ1bmN0aW9uKCl7alF1ZXJ5LmV4dGVuZChuLm9wdGlvbnNbdGhpcy52YWx1ZV0sCmpRdWVyeSh0aGlzKS5kYXRhKCkpfSk7bi4kZHJvcGRvd24uYWRkQ2xhc3MoIm1jdy1jb252LXN0eWxlIil9LGRyb3Bkb3duUGFyZW50OiJib2R5In0pO2EuZmluZCgiLm1jdy1jb252ZXJ0LXN3YXAiKS5jbGljayhmdW5jdGlvbigpe2EuZmluZCgiLm1jdy1mb3JtLWdyb3VwIikuZXEoMCkudG9nZ2xlQ2xhc3MoIm1jdy1mb3JtLWdyb3VwLXN3YXAiKX0pO3ZhciBlPWEuYXR0cigiZGF0YS1mcm9tIiksaz1hLmF0dHIoImRhdGEtdG8iKSxiPSJ0cnVlIj09YS5hdHRyKCJkYXRhLWF1dG8iKSxtPWEuZmluZCgic2VsZWN0IikuZmlyc3QoKSxoPWEuZmluZCgic2VsZWN0IikubGFzdCgpLHI9YS5maW5kKCJpbnB1dC5tY3ctZmllbGQiKS5maXJzdCgpLHA9YS5maW5kKCJpbnB1dC5tY3ctZmllbGQiKS5sYXN0KCksbD0iZG93biIsZD1hLmNsb3Nlc3QoIi5jcnlwdG9ib3hlcyIpLmRhdGEoImZpYXQiKSxxPWEuY2xvc2VzdCgiLmNyeXB0b2JveGVzIikuZGF0YSgiY3J5cHRvIiksdz0iZmlhdCI9PQplP2Q6IiI7ZD0iY3J5cHRvIj09ZT8iZmlhdCI9PWs/ZDoiYml0Y29pbiI9PW1bMF0udmFsdWU/ImV0aGVyZXVtIjoiIjoiZmlhdCI9PWs/IlVTRCI9PWQ/IkVVUiI6IlVTRCI6IiIhPXE/cToiIjsiIiE9dyYmbVswXS5zZWxlY3RpemUuc2V0VmFsdWUodyk7IiIhPWQmJmhbMF0uc2VsZWN0aXplLnNldFZhbHVlKGQpO3IudmFsKDEpO2MoKTtiPyhyLm9uKCJpbnB1dCIsZnVuY3Rpb24oKXtjKCl9KSxwLm9uKCJpbnB1dCIsZnVuY3Rpb24oKXtnKCl9KSxtLmNoYW5nZShmdW5jdGlvbigpe2coKTtsPSJ1cCJ9KSxoLmNoYW5nZShmdW5jdGlvbigpe2MoKTtsPSJkb3duIn0pKTooci5vbigiaW5wdXQiLGZ1bmN0aW9uKCl7bD0iZG93biJ9KSxwLm9uKCJpbnB1dCIsZnVuY3Rpb24oKXtsPSJ1cCJ9KSxhLmZpbmQoIi5tY3ctYnV0dG9uIikuY2xpY2soZnVuY3Rpb24obil7bi5wcmV2ZW50RGVmYXVsdCgpOyJkb3duIj09bD9jKCk6ZygpfSkpfSl9KTtqUXVlcnkoZG9jdW1lbnQpLm9uKCJtY3ciLAoiLm1jdy1jYXJkLTciLGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpO2RlcHAucmVxdWlyZSgiYm91bnR5IixmdW5jdGlvbigpe3ZhciBjPWEuZmluZCgiLm1jdy1wcmljZSIpLGc9MSxlPWMudGV4dCgpLGs9MTw9cGFyc2VGbG9hdChjLmF0dHIoImRhdGEtcHJpY2UiKSk/MjoxRS02PnBhcnNlRmxvYXQoYy5hdHRyKCJkYXRhLXByaWNlIikpPzg6Njtib3VudHlbImRlZmF1bHQiXSh7ZWw6Y1swXSxpbml0aWFsVmFsdWU6ZSx2YWx1ZTplfSk7d2luZG93LnNvY2tldC5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixmdW5jdGlvbihiKXtiPUpTT04ucGFyc2UoYi5kYXRhKTtpZihjLmRhdGEoImxpdmUiKT09Yi5iYXNlJiZiLnByaWNlVXNkIT09cGFyc2VGbG9hdChjLmF0dHIoImRhdGEtcHJpY2UiKSkpe3ZhciBtPWMuYXR0cigiZGF0YS1zeW1ib2wiKSthZGRDb21tYXMocGFyc2VGbG9hdChiLnByaWNlVXNkKmcpLnRvRml4ZWQoaykpO2JvdW50eVsiZGVmYXVsdCJdKHtlbDpjWzBdLAppbml0aWFsVmFsdWU6ZSx2YWx1ZTptfSk7ZT1tO2MuYXR0cigiZGF0YS1wcmljZSIsYi5wcmljZVVzZCl9fSk7YS5maW5kKCIubWN3LXRvZ2dsZS1zd2l0Y2giKS5jbGljayhmdW5jdGlvbigpe2c9alF1ZXJ5KHRoaXMpLmRhdGEoInJhdGUiKTthLmZpbmQoIi5tY3ctdG9nZ2xlLXN3aXRjaCIpLnJlbW92ZUNsYXNzKCJhY3RpdmUiKTtqUXVlcnkodGhpcykuYWRkQ2xhc3MoImFjdGl2ZSIpO3ZhciBiPWpRdWVyeSh0aGlzKS5kYXRhKCJzeW1ib2wiKSthZGRDb21tYXMocGFyc2VGbG9hdChjLmF0dHIoImRhdGEtcHJpY2UiKSpnKS50b0ZpeGVkKGspKTtib3VudHlbImRlZmF1bHQiXSh7ZWw6Y1swXSxpbml0aWFsVmFsdWU6ZSx2YWx1ZTpifSk7ZT1iO2MuYXR0cigiZGF0YS1zeW1ib2wiLGpRdWVyeSh0aGlzKS5kYXRhKCJzeW1ib2wiKSl9KX0pfSk7alF1ZXJ5KGRvY3VtZW50KS5vbigibWN3IiwiLm1jdy1ib3giLGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpO2EuZmluZCgiY2FudmFzIikuZWFjaChmdW5jdGlvbigpe2pRdWVyeSh0aGlzKS5kcmF3Q2hhcnQoKX0pOwphLmZpbmQoIi5jaGFydC1vZmZzZXQiKS5zaG93KCk7aWYoYS5oYXNDbGFzcygibWN3LWJveC0yIikpe3ZhciBjPWEuZmluZCgiLm1jdy1jcnlwdG8tY29udmVydCIpLGc9YS5maW5kKCIubWN3LWZpYXQtY29udmVydCIpO2EuZmluZCgic2VsZWN0IikuY2hhbmdlKGZ1bmN0aW9uKCl7dmFyIGU9cGFyc2VGbG9hdChjLnZhbCgpKSpwYXJzZUZsb2F0KGcudmFsKCkpO2U9ZS50b0ZpeGVkKDE8PWU/MjoxRS02PmU/ODo2KTthLmZpbmQoIi5tY3ctcHJpY2UiKS5odG1sKGUpO2U9Zy5maW5kKCI6c2VsZWN0ZWQiKS5kYXRhKCJwcmVmaXgiKTthLmZpbmQoIi5tY3ctcHJpY2Utc3ltYm9sIikuaHRtbChlKTtlPWMuZmluZCgiOnNlbGVjdGVkIikuZGF0YSgiY2hhbmdlIik7YS5maW5kKCIubWN3LWxpc3QtY2hhbmdlIikuaHRtbChNYXRoLmFicyhlKSsiJSIpOzA8PWU/YS5maW5kKCIubWN3LWxpc3QtY2hhbmdlIikudG9nZ2xlQ2xhc3MoImRvd24gdXAiKTphLmZpbmQoIi5tY3ctbGlzdC1jaGFuZ2UiKS50b2dnbGVDbGFzcygidXAgZG93biIpfSl9fSk7CmpRdWVyeShkb2N1bWVudCkub24oIm1jdyIsIi5tY3ctbGlzdCIsZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyk7YS5maW5kKCJjYW52YXMiKS5lYWNoKGZ1bmN0aW9uKCl7alF1ZXJ5KHRoaXMpLmRyYXdDaGFydCgpfSk7YS5oYXNDbGFzcygibWN3LWxpc3QtMiIpJiZhLm1jd0FjY29yZGlvbigpfSk7alF1ZXJ5KGRvY3VtZW50KS5vbigibWN3IiwiLm1jdy1tdWx0aS10YWJzIixmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKSxjPWEuZmluZCgiLm1jdy10YWIiKSxnPWEuZmluZCgiLm1jdy10YWItY29udGVudCIpO2MuY2xpY2soZnVuY3Rpb24oKXt2YXIgZT1qUXVlcnkodGhpcykuaW5kZXgoKTtjLnJlbW92ZUNsYXNzKCJhY3RpdmUiKTtqUXVlcnkodGhpcykuYWRkQ2xhc3MoImFjdGl2ZSIpO2cubm90KCI6ZXEoIitlKyIpIikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpO2cuZXEoZSkuYWRkQ2xhc3MoImFjdGl2ZSIpfSl9KTtqUXVlcnkuZm4ubXVsdGlwbHk9ZnVuY3Rpb24oYSl7Zm9yKHZhciBjPQp0aGlzLmNsb25lKCksZz0xO2c8YTtnKyspYz1jLmFkZCh0aGlzLmNsb25lKCkpO3JldHVybiBjfTtqUXVlcnkuZm4uY29pbm1jUmVzaXplPWZ1bmN0aW9uKCl7dmFyIGE9InhzIixjPTA8dGhpcy5maW5kKCIuY21jLXJvdyIpLmxlbmd0aD90aGlzLmZpbmQoIi5jbWMtcm93IikuZXEoMCkud2lkdGgoKTp0aGlzLndpZHRoKCk7OTkyPD1jP2E9ImxnIjo3Njg8PWM/YT0ibWQiOjU3Njw9YyYmKGE9InNtIik7dGhpcy5yZW1vdmVDbGFzcygiY21jbC14cyBjbWNsLXNtIGNtY2wtbWQgY21jbC1sZyIpLmFkZENsYXNzKCJjbWNsLSIrYSk7dGhpcy50cmlnZ2VyKCJ2aWV3Iil9O2pRdWVyeShkb2N1bWVudCkub24oIm1jdyIsIi5tY3ctdGlja2VyIixmdW5jdGlvbigpe3ZhciBhPTAsYz1qUXVlcnkodGhpcyksZz1jLmZpbmQoIi5jYy1zdGF0cyIpO2MuaW1hZ2VzTG9hZGVkKCkudGhlbihmdW5jdGlvbigpe2cuZmluZCgiLmNjLWNvaW4iKS5lYWNoKGZ1bmN0aW9uKCl7YSs9alF1ZXJ5KHRoaXMpLmlubmVyV2lkdGgoKX0pOwp2YXIgZT1nLmZpbmQoIi5jYy1jb2luIiksaz1nLmlubmVyV2lkdGgoKS9hO2cuYXBwZW5kKCc8ZGl2IGNsYXNzPSJjYy1kdXAiPjwvZGl2PicpOy41PGs/Zy5maW5kKCIuY2MtZHVwIikuYXBwZW5kKGUubXVsdGlwbHkoTWF0aC5jZWlsKGspKSk6Zy5maW5kKCIuY2MtZHVwIikuYXBwZW5kKGUubXVsdGlwbHkoMSkpO2cuY3NzKCJ3aWR0aCIsYSk7Zy5maW5kKCJjYW52YXMiKS5lYWNoKGZ1bmN0aW9uKCl7alF1ZXJ5KHRoaXMpLmRyYXdDaGFydCgpfSk7ZT1nLmZpbmQoIi5jYy1jb2luIikubGVuZ3RoO2s9YS9lO3ZhciBiPWMuZGF0YSgic3BlZWQiKSxtPTEwKms7MjAwPT09Yj9tPTEwOjA9PWI/bT0wOjEwMDxiP20tPShiLTEwMCkvMTAqazoxMDA+YiYmKG0rPSgxMDAtYikvMTAqOCprKTtnLmNzcygiYW5pbWF0aW9uLWR1cmF0aW9uIixlKm0vMUUzKyJzIik7Yy5jc3MoInZpc2liaWxpdHkiLCJ2aXNpYmxlIik7Yy5oYXNDbGFzcygibWN3LWhlYWRlciIpJiZqUXVlcnkoImJvZHksIC5uYXZiYXItdmVydGljYWwiKS5jc3MoInBhZGRpbmctdG9wIiwKYy5oZWlnaHQoKSsicHgiKX0pfSk7alF1ZXJ5KCIubWN3LXRyIikuZWFjaChmdW5jdGlvbigpe2pRdWVyeSh0aGlzKS50cmlnZ2VyKCJtY3ciKX0pO0FycmF5LnByb3RvdHlwZS51bmlxdWU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5maWx0ZXIoZnVuY3Rpb24oYSxjLGcpe3JldHVybiBnLmluZGV4T2YoYSk9PT1jfSl9O3ZhciBmPVtdLHU9W107alF1ZXJ5KCIuY3J5cHRvaG9wcGVyLXdlYi13aWRnZXQiKS5lYWNoKGZ1bmN0aW9uKCl7Zi5wdXNoKGpRdWVyeSh0aGlzKS5kYXRhKCJpZCIpKTt2YXIgYT1jcmVhdGVQb3N0RGF0YSh0aGlzKTt1LnB1c2goYSl9KTswPGYubGVuZ3RoJiZqUXVlcnkuYWpheCh7dHlwZToiR0VUIixkYXRhVHlwZToianNvbiIsdXJsOm1jcC51cmwrIi93aWRnZXRzLz9pZD0iK3Jhd3VybGVuY29kZShKU09OLnN0cmluZ2lmeSh1KSksdGltZW91dDoyNTAwLHN1Y2Nlc3M6ZnVuY3Rpb24oYSl7alF1ZXJ5KCIuY3J5cHRvaG9wcGVyLXdlYi13aWRnZXQiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGM9CmpRdWVyeSh0aGlzKS5kYXRhKCJpZCIpO2pRdWVyeSh0aGlzKS5odG1sKGFbY10pO2pRdWVyeSh0aGlzKS5maW5kKCIubWN3LXRyIikudHJpZ2dlcigibWN3Iil9KTtqUXVlcnkoIi5tY3ctZGFyay10aGVtZSwubWN3LW1pZG5pZ2h0LXRoZW1lLC5tY3ctY3VzdG9tLXRoZW1lLC5tY3ctdGFibGUuZGFyayIpLmVhY2goZnVuY3Rpb24oKXtqUXVlcnkodGhpcykuaW52ZXJ0YWJsZSgpfSk7cmVhbHRpbWVVcGRhdGUoKX0sZXJyb3I6ZnVuY3Rpb24oYSxjLGcpe319KX0pOwpmdW5jdGlvbiBjcmVhdGVQb3N0RGF0YShmKXt2YXIgdT17aWQ6alF1ZXJ5KGYpLmRhdGEoImlkIil9LGE9e307Im9uIj09alF1ZXJ5KGYpLmRhdGEoInJlYWx0aW1lIik/YS5yZWFsdGltZT0xOmEucmVhbHRpbWU9MDtmb3IodmFyIGM9InJlYWx0aW1lIHByaWNlX2Zvcm1hdCBjaGFydF9jb2xvciBsYWJlbF9kZXNpZ24gdGh1bWJuYWlscyBmdWxsd2lkdGggY2FyZF9kZXNpZ24gY2hhcnRfdGhlbWUgY2hhcnRfdmlldyBjaGFydF90eXBlIHRhYmxlX2NvbHVtbnMgY29udmVydGVyX3R5cGUgYm94X2Rlc2lnbiBsaXN0X2Rlc2lnbiBtdWx0aV9jdXJyZW5jaWVzIG5ld3NfY291bnQgbmV3c19sZW5ndGggY3VycmVuY3kyIHRleHRfY29sb3IgYmFja2dyb3VuZF9jb2xvciB0aGVtZSBudW1jb2lucyB0YWJsZV9sZW5ndGggdGl0bGUgY3VycmVuY3kgdGFibGVfdGl0bGUgY2hhcnRfdGhlbWUgdGFibGVfc3R5bGUgYXRpZCByb3VuZCBjaGFuZ2VzIHRpY2tlcl9kZXNpZ24gbG9nb3MgY2hhbmdlcyBjb2lucyB0aWNrZXJfc3BlZWQgdGlja2VyX3Bvc2l0aW9uIi5zcGxpdCgiICIpLGc9CjA7ZzxjLmxlbmd0aDtnKyspe3ZhciBlPWNbZ107InVuZGVmaW5lZCIhPT10eXBlb2YgalF1ZXJ5KGYpLmRhdGEoZSkmJigicmVhbHRpbWUiPT1lPyJvbiI9PWpRdWVyeShmKS5kYXRhKCJyZWFsdGltZSIpP2EucmVhbHRpbWU9MTphLnJlYWx0aW1lPTA6YVtlXT1qUXVlcnkoZikuZGF0YShlKSl9dS5vcHRpb25zPWE7cmV0dXJuIHV9ZnVuY3Rpb24gcmF3dXJsZW5jb2RlKGYpe3JldHVybiBlbmNvZGVVUklDb21wb25lbnQoZikucmVwbGFjZSgvIS9nLCIlMjEiKS5yZXBsYWNlKC8nL2csIiUyNyIpLnJlcGxhY2UoL1woL2csIiUyOCIpLnJlcGxhY2UoL1wpL2csIiUyOSIpLnJlcGxhY2UoL1wqL2csIiUyQSIpfTs="}},"time_used":536,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":536,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/plugins/revolution/js/extensions/revolution.extension.kenburn.min.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.593Z","timestamp":1785123231593,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /plugins/revolution/js/extensions/revolution.extension.kenburn.min.js HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Wed, 22 Apr 2026 17:27:52 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 1437\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":3754,"size_decoded":1760,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (3515), with CRLF line terminators","md5":"2384ef0e1aa89244caa1e4821ee50bee","sha1":"7416c32035abca45b2d02062193d8a1a99b9e028","sha256":"40d3265afb721403e925443bc7fc2b1acd13150f5bc06f6018669a06a4c59ce4","sha512":"0cd638938bcf7b84aa2067e23bf0797bebc4a08d5978356f190337756768b2f5cda9d65daeb7094fa7fa97f0d76861fb66802e643c2c8c7d6150b5f4a95b5e51","ssdeep":"","tlshash":"8d7142d220166c5e4ca3a39295ef17c663f1ed2835039c1c9772b5802eccd1e28bbb5d","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-07-27T05:37:05.21776Z","times_seen":891,"resource_available":true,"data":"LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogKiBSRVZPTFVUSU9OIDUuNC4yIEVYVEVOU0lPTiAtIEtFTiBCVVJODQogKiBAdmVyc2lvbjogMS4zLjEgKDE1LjA1LjIwMTcpDQogKiBAcmVxdWlyZXMganF1ZXJ5LnRoZW1lcHVuY2gucmV2b2x1dGlvbi5qcw0KICogQGF1dGhvciBUaGVtZVB1bmNoDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQohZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO3ZhciBiPWpRdWVyeS5mbi5yZXZvbHV0aW9uLGM9e2FsaWFzOiJLZW5CdXJucyBNaW4gSlMiLG5hbWU6InJldm9sdXRpb24uZXh0ZW5zaW9ucy5rZW5idXJuLm1pbi5qcyIsbWluX2NvcmU6IjUuNCIsdmVyc2lvbjoiMS4zLjEifTtqUXVlcnkuZXh0ZW5kKCEwLGIse3N0b3BLZW5CdXJuOmZ1bmN0aW9uKGEpe2lmKCJzdG9wIj09PWIuY29tcGFyZV92ZXJzaW9uKGMpLmNoZWNrKXJldHVybiExO3ZvaWQgMCE9YS5kYXRhKCJrYnRsIikmJmEuZGF0YSgia2J0bCIpLnBhdXNlKCl9LHN0YXJ0S2VuQnVybjpmdW5jdGlvbihhLGQsZSl7aWYoInN0b3AiPT09Yi5jb21wYXJlX3ZlcnNpb24oYykuY2hlY2spcmV0dXJuITE7dmFyIGY9YS5kYXRhKCksZz1hLmZpbmQoIi5kZWZhdWx0aW1nIiksaD1nLmRhdGEoImxhenlsb2FkIil8fGcuZGF0YSgic3JjIiksaj0oZi5vd2lkdGgsZi5vaGVpZ2h0LCJjYXJvdXNlbCI9PT1kLnNsaWRlclR5cGU/ZC5jYXJvdXNlbC5zbGlkZV93aWR0aDpkLnVsLndpZHRoKCkpLGs9ZC51bC5oZWlnaHQoKTtpZihhLmRhdGEoImtidGwiKSYmYS5kYXRhKCJrYnRsIikua2lsbCgpLGU9ZXx8MCwwPT1hLmZpbmQoIi50cC1rYmltZyIpLmxlbmd0aCl7dmFyIG09Zy5kYXRhKCJtZWRpYWZpbHRlciIpO209dm9pZCAwPT09bT8iIjptLGEuYXBwZW5kKCc8ZGl2IGNsYXNzPSJ0cC1rYmltZy13cmFwICcrbSsnIiBzdHlsZT0iei1pbmRleDoyO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7dG9wOjBweDtsZWZ0OjBweDtwb3NpdGlvbjphYnNvbHV0ZTsiPjxpbWcgY2xhc3M9InRwLWtiaW1nIiBzcmM9IicraCsnIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7IiB3aWR0aD0iJytmLm93aWR0aCsnIiBoZWlnaHQ9IicrZi5vaGVpZ2h0KyciPjwvZGl2PicpLGEuZGF0YSgia2VuYnVybiIsYS5maW5kKCIudHAta2JpbWciKSl9dmFyIG49ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7dmFyIGg9YSpjLGk9YipjLGo9TWF0aC5hYnMoZC1oKSxrPU1hdGguYWJzKGUtaSksbD1uZXcgT2JqZWN0O3JldHVybiBsLmw9KDAtZikqaixsLnI9bC5sK2gsbC50PSgwLWcpKmssbC5iPWwudCtpLGwuaD1mLGwudj1nLGx9LG89ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1hLmJncG9zaXRpb24uc3BsaXQoIiAiKXx8ImNlbnRlciBjZW50ZXIiLGc9ImNlbnRlciI9PWZbMF0/IjUwJSI6ImxlZnQiPT1mWzBdfHwibGVmdCI9PWZbMV0/IjAlIjoicmlnaHQiPT1mWzBdfHwicmlnaHQiPT1mWzFdPyIxMDAlIjpmWzBdLGg9ImNlbnRlciI9PWZbMV0/IjUwJSI6InRvcCI9PWZbMF18fCJ0b3AiPT1mWzFdPyIwJSI6ImJvdHRvbSI9PWZbMF18fCJib3R0b20iPT1mWzFdPyIxMDAlIjpmWzFdO2c9cGFyc2VJbnQoZywwKS8xMDB8fDAsaD1wYXJzZUludChoLDApLzEwMHx8MDt2YXIgaT1uZXcgT2JqZWN0O3JldHVybiBpLnN0YXJ0PW4oZS5zdGFydC53aWR0aCxlLnN0YXJ0LmhlaWdodCxlLnN0YXJ0LnNjYWxlLGIsYyxnLGgpLGkuZW5kPW4oZS5zdGFydC53aWR0aCxlLnN0YXJ0LmhlaWdodCxlLmVuZC5zY2FsZSxiLGMsZyxoKSxpfSxwPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1jLnNjYWxlc3RhcnQvMTAwLGU9Yy5zY2FsZWVuZC8xMDAsZj12b2lkIDAhPWMub2Zmc2V0c3RhcnQ/Yy5vZmZzZXRzdGFydC5zcGxpdCgiICIpfHxbMCwwXTpbMCwwXSxnPXZvaWQgMCE9Yy5vZmZzZXRlbmQ/Yy5vZmZzZXRlbmQuc3BsaXQoIiAiKXx8WzAsMF06WzAsMF07Yy5iZ3Bvc2l0aW9uPSJjZW50ZXIgY2VudGVyIj09Yy5iZ3Bvc2l0aW9uPyI1MCUgNTAlIjpjLmJncG9zaXRpb247dmFyIGg9bmV3IE9iamVjdCxpPWEqZCxrPShjLm93aWR0aCxjLm9oZWlnaHQsYSplKTtjLm93aWR0aCxjLm9oZWlnaHQ7aWYoaC5zdGFydD1uZXcgT2JqZWN0LGguc3RhcnRvPW5ldyBPYmplY3QsaC5lbmQ9bmV3IE9iamVjdCxoLmVuZG89bmV3IE9iamVjdCxoLnN0YXJ0LndpZHRoPWEsaC5zdGFydC5oZWlnaHQ9aC5zdGFydC53aWR0aC9jLm93aWR0aCpjLm9oZWlnaHQsaC5zdGFydC5oZWlnaHQ8Yil7dmFyIG09Yi9oLnN0YXJ0LmhlaWdodDtoLnN0YXJ0LmhlaWdodD1iLGguc3RhcnQud2lkdGg9aC5zdGFydC53aWR0aCptfWguc3RhcnQudHJhbnNmb3JtT3JpZ2luPWMuYmdwb3NpdGlvbixoLnN0YXJ0LnNjYWxlPWQsaC5lbmQuc2NhbGU9ZSxjLnJvdGF0ZXN0YXJ0PTA9PT1jLnJvdGF0ZXN0YXJ0Py4wMTpjLnJvdGF0ZXN0YXJ0LGguc3RhcnQucm90YXRpb249Yy5yb3RhdGVzdGFydCsiZGVnIixoLmVuZC5yb3RhdGlvbj1jLnJvdGF0ZWVuZCsiZGVnIjt2YXIgbj1vKGMsYSxiLGYsaCk7ZlswXT1wYXJzZUZsb2F0KGZbMF0pK24uc3RhcnQubCxnWzBdPXBhcnNlRmxvYXQoZ1swXSkrbi5lbmQubCxmWzFdPXBhcnNlRmxvYXQoZlsxXSkrbi5zdGFydC50LGdbMV09cGFyc2VGbG9hdChnWzFdKStuLmVuZC50O3ZhciBwPW4uc3RhcnQuci1uLnN0YXJ0LmwscT1uLnN0YXJ0LmItbi5zdGFydC50LHI9bi5lbmQuci1uLmVuZC5sLHM9bi5lbmQuYi1uLmVuZC50O3JldHVybiBmWzBdPWZbMF0+MD8wOnArZlswXTxhP2EtcDpmWzBdLGdbMF09Z1swXT4wPzA6citnWzBdPGE/YS1yOmdbMF0sZlsxXT1mWzFdPjA/MDpxK2ZbMV08Yj9iLXE6ZlsxXSxnWzFdPWdbMV0+MD8wOnMrZ1sxXTxiP2ItczpnWzFdLGguc3RhcnRvLng9ZlswXSsicHgiLGguc3RhcnRvLnk9ZlsxXSsicHgiLGguZW5kby54PWdbMF0rInB4IixoLmVuZG8ueT1nWzFdKyJweCIsaC5lbmQuZWFzZT1oLmVuZG8uZWFzZT1jLmVhc2UsaC5lbmQuZm9yY2UzRD1oLmVuZG8uZm9yY2UzRD0hMCxofTt2b2lkIDAhPWEuZGF0YSgia2J0bCIpJiYoYS5kYXRhKCJrYnRsIikua2lsbCgpLGEucmVtb3ZlRGF0YSgia2J0bCIpKTt2YXIgcT1hLmRhdGEoImtlbmJ1cm4iKSxyPXEucGFyZW50KCkscz1wKGosayxmKSx0PW5ldyBwdW5jaGdzLlRpbWVsaW5lTGl0ZTtpZih0LnBhdXNlKCkscy5zdGFydC50cmFuc2Zvcm1PcmlnaW49IjAlIDAlIixzLnN0YXJ0by50cmFuc2Zvcm1PcmlnaW49IjAlIDAlIix0LmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8ocSxmLmR1cmF0aW9uLzFlMyxzLnN0YXJ0LHMuZW5kKSwwKSx0LmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8ocixmLmR1cmF0aW9uLzFlMyxzLnN0YXJ0byxzLmVuZG8pLDApLHZvaWQgMCE9PWYuYmx1cnN0YXJ0JiZ2b2lkIDAhPT1mLmJsdXJlbmQmJigwIT09Zi5ibHVyc3RhcnR8fDAhPT1mLmJsdXJlbmQpKXt2YXIgdT17YTpmLmJsdXJzdGFydH0sdj17YTpmLmJsdXJlbmQsZWFzZTpzLmVuZG8uZWFzZX0sdz1uZXcgcHVuY2hncy5Ud2VlbkxpdGUodSxmLmR1cmF0aW9uLzFlMyx2KTt3LmV2ZW50Q2FsbGJhY2soIm9uVXBkYXRlIixmdW5jdGlvbihhKXtwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYSx7ZmlsdGVyOiJibHVyKCIrdS5hKyJweCkiLHdlYmtpdEZpbHRlcjoiYmx1cigiK3UuYSsicHgpIn0pfSxbcl0pLHQuYWRkKHcsMCl9dC5wcm9ncmVzcyhlKSx0LnBsYXkoKSxhLmRhdGEoImtidGwiLHQpfX0pfShqUXVlcnkpOw=="}},"time_used":52,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":48,"receive":4,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/plugins/revolution/js/extensions/revolution.extension.migration.min.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.595Z","timestamp":1785123231595,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /plugins/revolution/js/extensions/revolution.extension.migration.min.js HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Wed, 22 Apr 2026 17:27:52 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 6678\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":26101,"size_decoded":7001,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (25862), with CRLF line terminators","md5":"020c9da0283aebff8fb8ea67e3331868","sha1":"d192e2e9538833c8f18f279e04cb1801450dd215","sha256":"6eec26458665f2ff755d8d9d752baf709166660fb8e5389c9fbe939df23ea2f1","sha512":"5448480d1be53db60d47d5fc75bfd56129e9083cacd3a3e0b912ed20f00c7bb2469be0066f8d9a2baff266729f12bf558260ff1431d31e79eca7fb71fa787b8e","ssdeep":"384:chOObjBeYJfz3zX3SWcN12H2DFQ9j6IDumFu7jaWIyUBj3RX2E:cIObR3zXpcN12H2DqZ9iA9QE","tlshash":"52c2a8a976903cab5473667bc16a40b532728a357307ae6078efa6f0057ccd913e7e4c","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-07-27T05:37:05.203046Z","times_seen":1620,"resource_available":true,"data":"LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogKiBSRVZPTFVUSU9OIDUuMiBFWFRFTlNJT04gLSBOQVZJR0FUSU9ODQogKiBAdmVyc2lvbjogMS4zLjUgKDA2LjA0LjIwMTcpDQogKiBAcmVxdWlyZXMganF1ZXJ5LnRoZW1lcHVuY2gucmV2b2x1dGlvbi5qcw0KICogQGF1dGhvciBUaGVtZVB1bmNoDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQohZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO3ZhciBiPWpRdWVyeS5mbi5yZXZvbHV0aW9uLGM9Yi5pc19tb2JpbGUoKSxkPXthbGlhczoiTmF2aWdhdGlvbiBNaW4gSlMiLG5hbWU6InJldm9sdXRpb24uZXh0ZW5zaW9ucy5uYXZpZ2F0aW9uLm1pbi5qcyIsbWluX2NvcmU6IjUuNC4wIix2ZXJzaW9uOiIxLjMuNSJ9O2pRdWVyeS5leHRlbmQoITAsYix7aGlkZVVuSGlkZU5hdjpmdW5jdGlvbihhKXt2YXIgYj1hLmMud2lkdGgoKSxjPWEubmF2aWdhdGlvbi5hcnJvd3MsZD1hLm5hdmlnYXRpb24uYnVsbGV0cyxlPWEubmF2aWdhdGlvbi50aHVtYm5haWxzLGY9YS5uYXZpZ2F0aW9uLnRhYnM7bShjKSYmeShhLmMuZmluZCgiLnRwYXJyb3dzIiksYy5oaWRlX3VuZGVyLGIsYy5oaWRlX292ZXIpLG0oZCkmJnkoYS5jLmZpbmQoIi50cC1idWxsZXRzIiksZC5oaWRlX3VuZGVyLGIsZC5oaWRlX292ZXIpLG0oZSkmJnkoYS5jLnBhcmVudCgpLmZpbmQoIi50cC10aHVtYnMiKSxlLmhpZGVfdW5kZXIsYixlLmhpZGVfb3ZlciksbShmKSYmeShhLmMucGFyZW50KCkuZmluZCgiLnRwLXRhYnMiKSxmLmhpZGVfdW5kZXIsYixmLmhpZGVfb3ZlcikseChhKX0scmVzaXplVGh1bWJzVGFiczpmdW5jdGlvbihhLGIpe2lmKGEubmF2aWdhdGlvbiYmYS5uYXZpZ2F0aW9uLnRhYnMuZW5hYmxlfHxhLm5hdmlnYXRpb24mJmEubmF2aWdhdGlvbi50aHVtYm5haWxzLmVuYWJsZSl7dmFyIGM9KGpRdWVyeSh3aW5kb3cpLndpZHRoKCktNDgwKS81MDAsZD1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGUsZT1hLm5hdmlnYXRpb24udGFicyxnPWEubmF2aWdhdGlvbi50aHVtYm5haWxzLGg9YS5uYXZpZ2F0aW9uLmJ1bGxldHM7aWYoZC5wYXVzZSgpLGM9Yz4xPzE6YzwwPzA6YyxtKGUpJiYoYnx8ZS53aWR0aD5lLm1pbl93aWR0aCkmJmYoYyxkLGEuYyxlLGEuc2xpZGVhbW91bnQsInRhYiIpLG0oZykmJihifHxnLndpZHRoPmcubWluX3dpZHRoKSYmZihjLGQsYS5jLGcsYS5zbGlkZWFtb3VudCwidGh1bWIiKSxtKGgpJiZiKXt2YXIgaT1hLmMuZmluZCgiLnRwLWJ1bGxldHMiKTtpLmZpbmQoIi50cC1idWxsZXQiKS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPWpRdWVyeSh0aGlzKSxjPWErMSxkPWIub3V0ZXJXaWR0aCgpK3BhcnNlSW50KHZvaWQgMD09PWguc3BhY2U/MDpoLnNwYWNlLDApLGU9Yi5vdXRlckhlaWdodCgpK3BhcnNlSW50KHZvaWQgMD09PWguc3BhY2U/MDpoLnNwYWNlLDApOyJ2ZXJ0aWNhbCI9PT1oLmRpcmVjdGlvbj8oYi5jc3Moe3RvcDooYy0xKSplKyJweCIsbGVmdDoiMHB4In0pLGkuY3NzKHtoZWlnaHQ6KGMtMSkqZStiLm91dGVySGVpZ2h0KCksd2lkdGg6Yi5vdXRlcldpZHRoKCl9KSk6KGIuY3NzKHtsZWZ0OihjLTEpKmQrInB4Iix0b3A6IjBweCJ9KSxpLmNzcyh7d2lkdGg6KGMtMSkqZCtiLm91dGVyV2lkdGgoKSxoZWlnaHQ6Yi5vdXRlckhlaWdodCgpfSkpfSl9ZC5wbGF5KCkseChhKX1yZXR1cm4hMH0sdXBkYXRlTmF2SW5kZXhlczpmdW5jdGlvbihhKXtmdW5jdGlvbiBkKGEpe2MuZmluZChhKS5sZW5naHQ+MCYmYy5maW5kKGEpLmVhY2goZnVuY3Rpb24oYSl7alF1ZXJ5KHRoaXMpLmRhdGEoImxpaW5kZXgiLGEpfSl9dmFyIGM9YS5jO2QoIi50cC10YWIiKSxkKCIudHAtYnVsbGV0IiksZCgiLnRwLXRodW1iIiksYi5yZXNpemVUaHVtYnNUYWJzKGEsITApLGIubWFuYWdlTmF2aWdhdGlvbihhKX0sbWFuYWdlTmF2aWdhdGlvbjpmdW5jdGlvbihhKXt2YXIgYz1iLmdldEhvcml6b250YWxPZmZzZXQoYS5jLnBhcmVudCgpLCJsZWZ0IiksZD1iLmdldEhvcml6b250YWxPZmZzZXQoYS5jLnBhcmVudCgpLCJyaWdodCIpO20oYS5uYXZpZ2F0aW9uLmJ1bGxldHMpJiYoImZ1bGxzY3JlZW4iIT1hLnNsaWRlckxheW91dCYmImZ1bGx3aWR0aCIhPWEuc2xpZGVyTGF5b3V0JiYoYS5uYXZpZ2F0aW9uLmJ1bGxldHMuaF9vZmZzZXRfb2xkPXZvaWQgMD09PWEubmF2aWdhdGlvbi5idWxsZXRzLmhfb2Zmc2V0X29sZD9hLm5hdmlnYXRpb24uYnVsbGV0cy5oX29mZnNldDphLm5hdmlnYXRpb24uYnVsbGV0cy5oX29mZnNldF9vbGQsYS5uYXZpZ2F0aW9uLmJ1bGxldHMuaF9vZmZzZXQ9ImNlbnRlciI9PT1hLm5hdmlnYXRpb24uYnVsbGV0cy5oX2FsaWduP2EubmF2aWdhdGlvbi5idWxsZXRzLmhfb2Zmc2V0X29sZCtjLzItZC8yOmEubmF2aWdhdGlvbi5idWxsZXRzLmhfb2Zmc2V0X29sZCtjLWQpLHQoYS5jLmZpbmQoIi50cC1idWxsZXRzIiksYS5uYXZpZ2F0aW9uLmJ1bGxldHMsYSkpLG0oYS5uYXZpZ2F0aW9uLnRodW1ibmFpbHMpJiZ0KGEuYy5wYXJlbnQoKS5maW5kKCIudHAtdGh1bWJzIiksYS5uYXZpZ2F0aW9uLnRodW1ibmFpbHMsYSksbShhLm5hdmlnYXRpb24udGFicykmJnQoYS5jLnBhcmVudCgpLmZpbmQoIi50cC10YWJzIiksYS5uYXZpZ2F0aW9uLnRhYnMsYSksbShhLm5hdmlnYXRpb24uYXJyb3dzKSYmKCJmdWxsc2NyZWVuIiE9YS5zbGlkZXJMYXlvdXQmJiJmdWxsd2lkdGgiIT1hLnNsaWRlckxheW91dCYmKGEubmF2aWdhdGlvbi5hcnJvd3MubGVmdC5oX29mZnNldF9vbGQ9dm9pZCAwPT09YS5uYXZpZ2F0aW9uLmFycm93cy5sZWZ0Lmhfb2Zmc2V0X29sZD9hLm5hdmlnYXRpb24uYXJyb3dzLmxlZnQuaF9vZmZzZXQ6YS5uYXZpZ2F0aW9uLmFycm93cy5sZWZ0Lmhfb2Zmc2V0X29sZCxhLm5hdmlnYXRpb24uYXJyb3dzLmxlZnQuaF9vZmZzZXQ9InJpZ2h0Ij09PWEubmF2aWdhdGlvbi5hcnJvd3MubGVmdC5oX2FsaWduP2EubmF2aWdhdGlvbi5hcnJvd3MubGVmdC5oX29mZnNldF9vbGQrZDphLm5hdmlnYXRpb24uYXJyb3dzLmxlZnQuaF9vZmZzZXRfb2xkK2MsYS5uYXZpZ2F0aW9uLmFycm93cy5yaWdodC5oX29mZnNldF9vbGQ9dm9pZCAwPT09YS5uYXZpZ2F0aW9uLmFycm93cy5yaWdodC5oX29mZnNldF9vbGQ/YS5uYXZpZ2F0aW9uLmFycm93cy5yaWdodC5oX29mZnNldDphLm5hdmlnYXRpb24uYXJyb3dzLnJpZ2h0Lmhfb2Zmc2V0X29sZCxhLm5hdmlnYXRpb24uYXJyb3dzLnJpZ2h0Lmhfb2Zmc2V0PSJyaWdodCI9PT1hLm5hdmlnYXRpb24uYXJyb3dzLnJpZ2h0LmhfYWxpZ24/YS5uYXZpZ2F0aW9uLmFycm93cy5yaWdodC5oX29mZnNldF9vbGQrZDphLm5hdmlnYXRpb24uYXJyb3dzLnJpZ2h0Lmhfb2Zmc2V0X29sZCtjKSx0KGEuYy5maW5kKCIudHAtbGVmdGFycm93LnRwYXJyb3dzIiksYS5uYXZpZ2F0aW9uLmFycm93cy5sZWZ0LGEpLHQoYS5jLmZpbmQoIi50cC1yaWdodGFycm93LnRwYXJyb3dzIiksYS5uYXZpZ2F0aW9uLmFycm93cy5yaWdodCxhKSksbShhLm5hdmlnYXRpb24udGh1bWJuYWlscykmJmUoYS5jLnBhcmVudCgpLmZpbmQoIi50cC10aHVtYnMiKSxhLm5hdmlnYXRpb24udGh1bWJuYWlscyksbShhLm5hdmlnYXRpb24udGFicykmJmUoYS5jLnBhcmVudCgpLmZpbmQoIi50cC10YWJzIiksYS5uYXZpZ2F0aW9uLnRhYnMpfSxjcmVhdGVOYXZpZ2F0aW9uOmZ1bmN0aW9uKGEsZil7aWYoInN0b3AiPT09Yi5jb21wYXJlX3ZlcnNpb24oZCkuY2hlY2spcmV0dXJuITE7dmFyIGc9YS5wYXJlbnQoKSxqPWYubmF2aWdhdGlvbi5hcnJvd3Msbj1mLm5hdmlnYXRpb24uYnVsbGV0cyxyPWYubmF2aWdhdGlvbi50aHVtYm5haWxzLHM9Zi5uYXZpZ2F0aW9uLnRhYnMsdD1tKGopLHY9bShuKSx4PW0ocikseT1tKHMpO2goYSxmKSxpKGEsZiksdCYmcShhLGosZiksZi5saS5lYWNoKGZ1bmN0aW9uKGIpe3ZhciBjPWpRdWVyeShmLmxpW2YubGkubGVuZ3RoLTEtYl0pLGQ9alF1ZXJ5KHRoaXMpO3YmJihmLm5hdmlnYXRpb24uYnVsbGV0cy5ydGw/dShhLG4sYyxmKTp1KGEsbixkLGYpKSx4JiYoZi5uYXZpZ2F0aW9uLnRodW1ibmFpbHMucnRsP3coYSxyLGMsInRwLXRodW1iIixmKTp3KGEscixkLCJ0cC10aHVtYiIsZikpLHkmJihmLm5hdmlnYXRpb24udGFicy5ydGw/dyhhLHMsYywidHAtdGFiIixmKTp3KGEscyxkLCJ0cC10YWIiLGYpKX0pLGEuYmluZCgicmV2b2x1dGlvbi5zbGlkZS5vbmFmdGVyc3dhcCByZXZvbHV0aW9uLm5leHRzbGlkZS53YWl0aW5nIixmdW5jdGlvbigpe3ZhciBiPTA9PWEuZmluZCgiLm5leHQtcmV2c2xpZGUiKS5sZW5ndGg/YS5maW5kKCIuYWN0aXZlLXJldnNsaWRlIikuZGF0YSgiaW5kZXgiKTphLmZpbmQoIi5uZXh0LXJldnNsaWRlIikuZGF0YSgiaW5kZXgiKTthLmZpbmQoIi50cC1idWxsZXQiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpO2EuZGF0YSgibGlyZWYiKT09PWI/YS5hZGRDbGFzcygic2VsZWN0ZWQiKTphLnJlbW92ZUNsYXNzKCJzZWxlY3RlZCIpfSksZy5maW5kKCIudHAtdGh1bWIsIC50cC10YWIiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpO2EuZGF0YSgibGlyZWYiKT09PWI/KGEuYWRkQ2xhc3MoInNlbGVjdGVkIiksYS5oYXNDbGFzcygidHAtdGFiIik/ZShnLmZpbmQoIi50cC10YWJzIikscyk6ZShnLmZpbmQoIi50cC10aHVtYnMiKSxyKSk6YS5yZW1vdmVDbGFzcygic2VsZWN0ZWQiKX0pO3ZhciBjPTAsZD0hMTtmLnRodW1icyYmalF1ZXJ5LmVhY2goZi50aHVtYnMsZnVuY3Rpb24oYSxlKXtjPSExPT09ZD9hOmMsZD1lLmlkPT09Ynx8YT09PWJ8fGR9KTt2YXIgaD1jPjA/Yy0xOmYuc2xpZGVhbW91bnQtMSxpPWMrMT09Zi5zbGlkZWFtb3VudD8wOmMrMTtpZighMD09PWouZW5hYmxlKXt2YXIgaz1qLnRtcDtpZih2b2lkIDAhPWYudGh1bWJzW2hdJiZqUXVlcnkuZWFjaChmLnRodW1ic1toXS5wYXJhbXMsZnVuY3Rpb24oYSxiKXtrPWsucmVwbGFjZShiLmZyb20sYi50byl9KSxqLmxlZnQuai5odG1sKGspLGs9ai50bXAsaT5mLnNsaWRlYW1vdW50KXJldHVybjtqUXVlcnkuZWFjaChmLnRodW1ic1tpXS5wYXJhbXMsZnVuY3Rpb24oYSxiKXtrPWsucmVwbGFjZShiLmZyb20sYi50byl9KSxqLnJpZ2h0LmouaHRtbChrKSxqLnJ0bD8ocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGoubGVmdC5qLmZpbmQoIi50cC1hcnItaW1naG9sZGVyIikse2JhY2tncm91bmRJbWFnZToidXJsKCIrZi50aHVtYnNbaV0uc3JjKyIpIn0pLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChqLnJpZ2h0LmouZmluZCgiLnRwLWFyci1pbWdob2xkZXIiKSx7YmFja2dyb3VuZEltYWdlOiJ1cmwoIitmLnRodW1ic1toXS5zcmMrIikifSkpOihwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoai5sZWZ0LmouZmluZCgiLnRwLWFyci1pbWdob2xkZXIiKSx7YmFja2dyb3VuZEltYWdlOiJ1cmwoIitmLnRodW1ic1toXS5zcmMrIikifSkscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGoucmlnaHQuai5maW5kKCIudHAtYXJyLWltZ2hvbGRlciIpLHtiYWNrZ3JvdW5kSW1hZ2U6InVybCgiK2YudGh1bWJzW2ldLnNyYysiKSJ9KSl9fSksbChqKSxsKG4pLGwociksbChzKSxnLm9uKCJtb3VzZWVudGVyIG1vdXNlbW92ZSIsZnVuY3Rpb24oKXtnLmhhc0NsYXNzKCJ0cC1tb3VzZW92ZXIiKXx8KGcuYWRkQ2xhc3MoInRwLW1vdXNlb3ZlciIpLHB1bmNoZ3MuVHdlZW5MaXRlLmtpbGxEZWxheWVkQ2FsbHNUbyhwKSx0JiZqLmhpZGVfb25sZWF2ZSYmcChnLmZpbmQoIi50cGFycm93cyIpLGosInNob3ciKSx2JiZuLmhpZGVfb25sZWF2ZSYmcChnLmZpbmQoIi50cC1idWxsZXRzIiksbiwic2hvdyIpLHgmJnIuaGlkZV9vbmxlYXZlJiZwKGcuZmluZCgiLnRwLXRodW1icyIpLHIsInNob3ciKSx5JiZzLmhpZGVfb25sZWF2ZSYmcChnLmZpbmQoIi50cC10YWJzIikscywic2hvdyIpLGMmJihnLnJlbW92ZUNsYXNzKCJ0cC1tb3VzZW92ZXIiKSxvKGEsZikpKX0pLGcub24oIm1vdXNlbGVhdmUiLGZ1bmN0aW9uKCl7Zy5yZW1vdmVDbGFzcygidHAtbW91c2VvdmVyIiksbyhhLGYpfSksdCYmai5oaWRlX29ubGVhdmUmJnAoZy5maW5kKCIudHBhcnJvd3MiKSxqLCJoaWRlIiwwKSx2JiZuLmhpZGVfb25sZWF2ZSYmcChnLmZpbmQoIi50cC1idWxsZXRzIiksbiwiaGlkZSIsMCkseCYmci5oaWRlX29ubGVhdmUmJnAoZy5maW5kKCIudHAtdGh1bWJzIiksciwiaGlkZSIsMCkseSYmcy5oaWRlX29ubGVhdmUmJnAoZy5maW5kKCIudHAtdGFicyIpLHMsImhpZGUiLDApLHgmJmsoZy5maW5kKCIudHAtdGh1bWJzIiksZikseSYmayhnLmZpbmQoIi50cC10YWJzIiksZiksImNhcm91c2VsIj09PWYuc2xpZGVyVHlwZSYmayhhLGYsITApLCgib24iPT09Zi5uYXZpZ2F0aW9uLnRvdWNoLnRvdWNoT25EZXNrdG9wfHwib24iPT1mLm5hdmlnYXRpb24udG91Y2gudG91Y2hlbmFibGVkJiZjKSYmayhhLGYsInN3aXBlYmFzZWQiKX19KTt2YXIgZT1mdW5jdGlvbihhLGIpe3ZhciBkPShhLmhhc0NsYXNzKCJ0cC10aHVtYnMiKSxhLmhhc0NsYXNzKCJ0cC10aHVtYnMiKT8iLnRwLXRodW1iLW1hc2siOiIudHAtdGFiLW1hc2siKSxlPWEuaGFzQ2xhc3MoInRwLXRodW1icyIpPyIudHAtdGh1bWJzLWlubmVyLXdyYXBwZXIiOiIudHAtdGFicy1pbm5lci13cmFwcGVyIixmPWEuaGFzQ2xhc3MoInRwLXRodW1icyIpPyIudHAtdGh1bWIiOiIudHAtdGFiIixnPWEuZmluZChkKSxoPWcuZmluZChlKSxpPWIuZGlyZWN0aW9uLGo9InZlcnRpY2FsIj09PWk/Zy5maW5kKGYpLmZpcnN0KCkub3V0ZXJIZWlnaHQoITApK2Iuc3BhY2U6Zy5maW5kKGYpLmZpcnN0KCkub3V0ZXJXaWR0aCghMCkrYi5zcGFjZSxrPSJ2ZXJ0aWNhbCI9PT1pP2cuaGVpZ2h0KCk6Zy53aWR0aCgpLGw9cGFyc2VJbnQoZy5maW5kKGYrIi5zZWxlY3RlZCIpLmRhdGEoImxpaW5kZXgiKSwwKSxtPWsvaixuPSJ2ZXJ0aWNhbCI9PT1pP2cuaGVpZ2h0KCk6Zy53aWR0aCgpLG89MC1sKmoscD0idmVydGljYWwiPT09aT9oLmhlaWdodCgpOmgud2lkdGgoKSxxPW88MC0ocC1uKT8wLShwLW4pOnE+MD8wOm8scj1oLmRhdGEoIm9mZnNldCIpO20+MiYmKHE9by0ocitqKTw9MD9vLShyK2opPDAtaj9yOnErajpxLHE9by1qK3IrazxqJiZvKyhNYXRoLnJvdW5kKG0pLTIpKmo8cj9vKyhNYXRoLnJvdW5kKG0pLTIpKmo6cSkscT1xPDAtKHAtbik/MC0ocC1uKTpxPjA/MDpxLCJ2ZXJ0aWNhbCIhPT1pJiZnLndpZHRoKCk+PWgud2lkdGgoKSYmKHE9MCksInZlcnRpY2FsIj09PWkmJmcuaGVpZ2h0KCk+PWguaGVpZ2h0KCkmJihxPTApLGEuaGFzQ2xhc3MoImRyYWdnZWQiKXx8KCJ2ZXJ0aWNhbCI9PT1pP2guZGF0YSgidG1tb3ZlIixwdW5jaGdzLlR3ZWVuTGl0ZS50byhoLC41LHt0b3A6cSsicHgiLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0fSkpOmguZGF0YSgidG1tb3ZlIixwdW5jaGdzLlR3ZWVuTGl0ZS50byhoLC41LHtsZWZ0OnErInB4IixlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dH0pKSxoLmRhdGEoIm9mZnNldCIscSkpfSxmPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXt2YXIgZz1jLnBhcmVudCgpLmZpbmQoIi50cC0iK2YrInMiKSxoPWcuZmluZCgiLnRwLSIrZisicy1pbm5lci13cmFwcGVyIiksaT1nLmZpbmQoIi50cC0iK2YrIi1tYXNrIiksaj1kLndpZHRoKmE8ZC5taW5fd2lkdGg/ZC5taW5fd2lkdGg6TWF0aC5yb3VuZChkLndpZHRoKmEpLGs9TWF0aC5yb3VuZChqL2Qud2lkdGgqZC5oZWlnaHQpLGw9InZlcnRpY2FsIj09PWQuZGlyZWN0aW9uP2o6aiplK2Quc3BhY2UqKGUtMSksbT0idmVydGljYWwiPT09ZC5kaXJlY3Rpb24/ayplK2Quc3BhY2UqKGUtMSk6ayxuPSJ2ZXJ0aWNhbCI9PT1kLmRpcmVjdGlvbj97d2lkdGg6aisicHgifTp7aGVpZ2h0OmsrInB4In07Yi5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGcsbikpLGIuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChoLHt3aWR0aDpsKyJweCIsaGVpZ2h0Om0rInB4In0pKSxiLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaSx7d2lkdGg6bCsicHgiLGhlaWdodDptKyJweCJ9KSk7dmFyIG89aC5maW5kKCIudHAtIitmKTtyZXR1cm4gbyYmalF1ZXJ5LmVhY2gobyxmdW5jdGlvbihhLGMpeyJ2ZXJ0aWNhbCI9PT1kLmRpcmVjdGlvbj9iLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYyx7dG9wOmEqKGsrcGFyc2VJbnQodm9pZCAwPT09ZC5zcGFjZT8wOmQuc3BhY2UsMCkpLHdpZHRoOmorInB4IixoZWlnaHQ6aysicHgifSkpOiJob3Jpem9udGFsIj09PWQuZGlyZWN0aW9uJiZiLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYyx7bGVmdDphKihqK3BhcnNlSW50KHZvaWQgMD09PWQuc3BhY2U/MDpkLnNwYWNlLDApKSx3aWR0aDpqKyJweCIsaGVpZ2h0OmsrInB4In0pKX0pLGJ9LGc9ZnVuY3Rpb24oYSl7dmFyIGI9MCxjPTAsZD0wLGU9MCxmPTEsZz0xLGg9MTtyZXR1cm4iZGV0YWlsImluIGEmJihjPWEuZGV0YWlsKSwid2hlZWxEZWx0YSJpbiBhJiYoYz0tYS53aGVlbERlbHRhLzEyMCksIndoZWVsRGVsdGFZImluIGEmJihjPS1hLndoZWVsRGVsdGFZLzEyMCksIndoZWVsRGVsdGFYImluIGEmJihiPS1hLndoZWVsRGVsdGFYLzEyMCksImF4aXMiaW4gYSYmYS5heGlzPT09YS5IT1JJWk9OVEFMX0FYSVMmJihiPWMsYz0wKSxkPWIqZixlPWMqZiwiZGVsdGFZImluIGEmJihlPWEuZGVsdGFZKSwiZGVsdGFYImluIGEmJihkPWEuZGVsdGFYKSwoZHx8ZSkmJmEuZGVsdGFNb2RlJiYoMT09YS5kZWx0YU1vZGU/KGQqPWcsZSo9Zyk6KGQqPWgsZSo9aCkpLGQmJiFiJiYoYj1kPDE/LTE6MSksZSYmIWMmJihjPWU8MT8tMToxKSxlPW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL21vemlsbGEvaSk/MTAqZTplLChlPjMwMHx8ZTwtMzAwKSYmKGUvPTEwKSx7c3Bpblg6YixzcGluWTpjLHBpeGVsWDpkLHBpeGVsWTplfX0saD1mdW5jdGlvbihhLGMpeyJvbiI9PT1jLm5hdmlnYXRpb24ua2V5Ym9hcmROYXZpZ2F0aW9uJiZqUXVlcnkoZG9jdW1lbnQpLmtleWRvd24oZnVuY3Rpb24oZCl7KCJob3Jpem9udGFsIj09Yy5uYXZpZ2F0aW9uLmtleWJvYXJkX2RpcmVjdGlvbiYmMzk9PWQua2V5Q29kZXx8InZlcnRpY2FsIj09Yy5uYXZpZ2F0aW9uLmtleWJvYXJkX2RpcmVjdGlvbiYmNDA9PWQua2V5Q29kZSkmJihjLnNjX2luZGljYXRvcj0iYXJyb3ciLGMuc2NfaW5kaWNhdG9yX2Rpcj0wLGIuY2FsbGluZ05ld1NsaWRlKGEsMSkpLCgiaG9yaXpvbnRhbCI9PWMubmF2aWdhdGlvbi5rZXlib2FyZF9kaXJlY3Rpb24mJjM3PT1kLmtleUNvZGV8fCJ2ZXJ0aWNhbCI9PWMubmF2aWdhdGlvbi5rZXlib2FyZF9kaXJlY3Rpb24mJjM4PT1kLmtleUNvZGUpJiYoYy5zY19pbmRpY2F0b3I9ImFycm93IixjLnNjX2luZGljYXRvcl9kaXI9MSxiLmNhbGxpbmdOZXdTbGlkZShhLC0xKSl9KX0saT1mdW5jdGlvbihhLGMpe2lmKCJvbiI9PT1jLm5hdmlnYXRpb24ubW91c2VTY3JvbGxOYXZpZ2F0aW9ufHwiY2Fyb3VzZWwiPT09Yy5uYXZpZ2F0aW9uLm1vdXNlU2Nyb2xsTmF2aWdhdGlvbil7Yy5pc0lFRWxldmVuPSEhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvVHJpZGVudC4qcnZcOjExXC4vKSxjLmlzU2FmYXJpPSEhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvc2FmYXJpL2kpLGMuaXNjaHJvbWU9ISFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9jaHJvbWUvaSk7dmFyIGQ9Yy5pc2Nocm9tZT8tNDk6Yy5pc0lFRWxldmVufHxjLmlzU2FmYXJpPy05Om5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL21vemlsbGEvaSk/LTI5Oi00OSxlPWMuaXNjaHJvbWU/NDk6Yy5pc0lFRWxldmVufHxjLmlzU2FmYXJpPzk6bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvbW96aWxsYS9pKT8yOTo0OTthLm9uKCJtb3VzZXdoZWVsIERPTU1vdXNlU2Nyb2xsIixmdW5jdGlvbihmKXt2YXIgaD1nKGYub3JpZ2luYWxFdmVudCksaT1hLmZpbmQoIi50cC1yZXZzbGlkZXItc2xpZGVzbGkuYWN0aXZlLXJldnNsaWRlIikuaW5kZXgoKSxqPWEuZmluZCgiLnRwLXJldnNsaWRlci1zbGlkZXNsaS5wcm9jZXNzaW5nLXJldnNsaWRlIikuaW5kZXgoKSxrPS0xIT1pJiYwPT1pfHwtMSE9aiYmMD09aixsPS0xIT1pJiZpPT1jLnNsaWRlYW1vdW50LTF8fDEhPWomJmo9PWMuc2xpZGVhbW91bnQtMSxtPSEwOyJjYXJvdXNlbCI9PWMubmF2aWdhdGlvbi5tb3VzZVNjcm9sbE5hdmlnYXRpb24mJihrPWw9ITEpLC0xPT1qP2gucGl4ZWxZPGQ/KGt8fChjLnNjX2luZGljYXRvcj0iYXJyb3ciLCJyZXZlcnNlIiE9PWMubmF2aWdhdGlvbi5tb3VzZVNjcm9sbFJldmVyc2UmJihjLnNjX2luZGljYXRvcl9kaXI9MSxiLmNhbGxpbmdOZXdTbGlkZShhLC0xKSksbT0hMSksbHx8KGMuc2NfaW5kaWNhdG9yPSJhcnJvdyIsInJldmVyc2UiPT09Yy5uYXZpZ2F0aW9uLm1vdXNlU2Nyb2xsUmV2ZXJzZSYmKGMuc2NfaW5kaWNhdG9yX2Rpcj0wLGIuY2FsbGluZ05ld1NsaWRlKGEsMSkpLG09ITEpKTpoLnBpeGVsWT5lJiYobHx8KGMuc2NfaW5kaWNhdG9yPSJhcnJvdyIsInJldmVyc2UiIT09Yy5uYXZpZ2F0aW9uLm1vdXNlU2Nyb2xsUmV2ZXJzZSYmKGMuc2NfaW5kaWNhdG9yX2Rpcj0wLGIuY2FsbGluZ05ld1NsaWRlKGEsMSkpLG09ITEpLGt8fChjLnNjX2luZGljYXRvcj0iYXJyb3ciLCJyZXZlcnNlIj09PWMubmF2aWdhdGlvbi5tb3VzZVNjcm9sbFJldmVyc2UmJihjLnNjX2luZGljYXRvcl9kaXI9MSxiLmNhbGxpbmdOZXdTbGlkZShhLC0xKSksbT0hMSkpOm09ITE7dmFyIG49Yy5jLm9mZnNldCgpLnRvcC1qUXVlcnkoImJvZHkiKS5zY3JvbGxUb3AoKSxvPW4rYy5jLmhlaWdodCgpO3JldHVybiJjYXJvdXNlbCIhPWMubmF2aWdhdGlvbi5tb3VzZVNjcm9sbE5hdmlnYXRpb24/KCJyZXZlcnNlIiE9PWMubmF2aWdhdGlvbi5tb3VzZVNjcm9sbFJldmVyc2UmJihuPjAmJmgucGl4ZWxZPjB8fG88alF1ZXJ5KHdpbmRvdykuaGVpZ2h0KCkmJmgucGl4ZWxZPDApJiYobT0hMCksInJldmVyc2UiPT09Yy5uYXZpZ2F0aW9uLm1vdXNlU2Nyb2xsUmV2ZXJzZSYmKG48MCYmaC5waXhlbFk8MHx8bz5qUXVlcnkod2luZG93KS5oZWlnaHQoKSYmaC5waXhlbFk+MCkmJihtPSEwKSk6bT0hMSwwPT1tPyhmLnByZXZlbnREZWZhdWx0KGYpLCExKTp2b2lkIDB9KX19LGo9ZnVuY3Rpb24oYSxiLGQpe3JldHVybiBhPWM/alF1ZXJ5KGQudGFyZ2V0KS5jbG9zZXN0KCIuIithKS5sZW5ndGh8fGpRdWVyeShkLnNyY0VsZW1lbnQpLmNsb3Nlc3QoIi4iK2EpLmxlbmd0aDpqUXVlcnkoZC50b0VsZW1lbnQpLmNsb3Nlc3QoIi4iK2EpLmxlbmd0aHx8alF1ZXJ5KGQub3JpZ2luYWxUYXJnZXQpLmNsb3Nlc3QoIi4iK2EpLmxlbmd0aCwhMD09PWF8fDE9PT1hPzE6MH0saz1mdW5jdGlvbihhLGQsZSl7dmFyIGY9ZC5jYXJvdXNlbDtqUXVlcnkoIi5idWxsZXQsIC5idWxsZXRzLCAudHAtYnVsbGV0cywgLnRwYXJyb3dzIikuYWRkQ2xhc3MoIm5vU3dpcGUiKSxmLkxpbWl0PSJlbmRsZXNzIjt2YXIgaD0oY3x8Yi5nZXRfYnJvd3NlcigpLGEpLGk9InZlcnRpY2FsIj09PWQubmF2aWdhdGlvbi50aHVtYm5haWxzLmRpcmVjdGlvbnx8InZlcnRpY2FsIj09PWQubmF2aWdhdGlvbi50YWJzLmRpcmVjdGlvbj8ibm9uZSI6InZlcnRpY2FsIixrPWQubmF2aWdhdGlvbi50b3VjaC5zd2lwZV9kaXJlY3Rpb258fCJob3Jpem9udGFsIjtpPSJzd2lwZWJhc2VkIj09ZSYmInZlcnRpY2FsIj09az8ibm9uZSI6ZT8idmVydGljYWwiOmksalF1ZXJ5LmZuLnN3aXBldHB8fChqUXVlcnkuZm4uc3dpcGV0cD1qUXVlcnkuZm4uc3dpcGUpLGpRdWVyeS5mbi5zd2lwZXRwLmRlZmF1bHRzJiZqUXVlcnkuZm4uc3dpcGV0cC5kZWZhdWx0cy5leGNsdWRlZEVsZW1lbnRzfHxqUXVlcnkuZm4uc3dpcGV0cC5kZWZhdWx0c3x8KGpRdWVyeS5mbi5zd2lwZXRwLmRlZmF1bHRzPW5ldyBPYmplY3QpLGpRdWVyeS5mbi5zd2lwZXRwLmRlZmF1bHRzLmV4Y2x1ZGVkRWxlbWVudHM9ImxhYmVsLCBidXR0b24sIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhLCAubm9Td2lwZSIsaC5zd2lwZXRwKHthbGxvd1BhZ2VTY3JvbGw6aSx0cmlnZ2VyT25Ub3VjaExlYXZlOiEwLHRyZXNob2xkOmQubmF2aWdhdGlvbi50b3VjaC5zd2lwZV90cmVzaG9sZCxmaW5nZXJzOmQubmF2aWdhdGlvbi50b3VjaC5zd2lwZV9taW5fdG91Y2hlcyxleGNsdWRlRWxlbWVudHM6alF1ZXJ5LmZuLnN3aXBldHAuZGVmYXVsdHMuZXhjbHVkZWRFbGVtZW50cyxzd2lwZVN0YXR1czpmdW5jdGlvbihlLGcsaCxpLGwsbSxuKXt2YXIgbz1qKCJyZXZfc2xpZGVyX3dyYXBwZXIiLGEsZSkscD1qKCJ0cC10aHVtYnMiLGEsZSkscT1qKCJ0cC10YWJzIixhLGUpLHI9alF1ZXJ5KHRoaXMpLmF0dHIoImNsYXNzIikscz0hIXIubWF0Y2goL3RwLXRhYnN8dHAtdGh1bWIvZ2kpO2lmKCJjYXJvdXNlbCI9PT1kLnNsaWRlclR5cGUmJigoIm1vdmUiPT09Z3x8ImVuZCI9PT1nfHwiY2FuY2VsIj09ZykmJmQuZHJhZ1N0YXJ0ZWRPdmVyU2xpZGVyJiYhZC5kcmFnU3RhcnRlZE92ZXJUaHVtYnMmJiFkLmRyYWdTdGFydGVkT3ZlclRhYnN8fCJzdGFydCI9PT1nJiZvPjAmJjA9PT1wJiYwPT09cSkpe2lmKGMmJigidXAiPT09aHx8ImRvd24iPT09aCkpcmV0dXJuO3N3aXRjaChkLmRyYWdTdGFydGVkT3ZlclNsaWRlcj0hMCxpPWgmJmgubWF0Y2goL2xlZnR8dXAvZyk/TWF0aC5yb3VuZCgtMSppKTppPU1hdGgucm91bmQoMSppKSxnKXtjYXNlInN0YXJ0Ijp2b2lkIDAhPT1mLnBvc2l0aW9uYW5pbSYmKGYucG9zaXRpb25hbmltLmtpbGwoKSxmLnNsaWRlX2dsb2JhbG9mZnNldD0ib2ZmIj09PWYuaW5maW5pdHk/Zi5zbGlkZV9vZmZzZXQ6Yi5zaW1wKGYuc2xpZGVfb2Zmc2V0LGYubWF4d2lkdGgpKSxmLm92ZXJwdWxsPSJub25lIixmLndyYXAuYWRkQ2xhc3MoImRyYWdnZWQiKTticmVhaztjYXNlIm1vdmUiOmlmKGQuYy5maW5kKCIudHAtd2l0aGFjdGlvbiIpLmFkZENsYXNzKCJ0cC10ZW1wb3JhcnlkaXNhYmxlZCIpLGYuc2xpZGVfb2Zmc2V0PSJvZmYiPT09Zi5pbmZpbml0eT9mLnNsaWRlX2dsb2JhbG9mZnNldCtpOmIuc2ltcChmLnNsaWRlX2dsb2JhbG9mZnNldCtpLGYubWF4d2lkdGgpLCJvZmYiPT09Zi5pbmZpbml0eSl7dmFyIHQ9ImNlbnRlciI9PT1mLmhvcml6b250YWxfYWxpZ24/KGYud3JhcHdpZHRoLzItZi5zbGlkZV93aWR0aC8yLWYuc2xpZGVfb2Zmc2V0KS9mLnNsaWRlX3dpZHRoOigwLWYuc2xpZGVfb2Zmc2V0KS9mLnNsaWRlX3dpZHRoOyJub25lIiE9PWYub3ZlcnB1bGwmJjAhPT1mLm92ZXJwdWxsfHwhKHQ8MHx8dD5kLnNsaWRlYW1vdW50LTEpP3Q+PTAmJnQ8PWQuc2xpZGVhbW91bnQtMSYmKHQ+PTAmJmk+Zi5vdmVycHVsbHx8dDw9ZC5zbGlkZWFtb3VudC0xJiZpPGYub3ZlcnB1bGwpJiYoZi5vdmVycHVsbD0wKTpmLm92ZXJwdWxsPWksZi5zbGlkZV9vZmZzZXQ9dDwwP2Yuc2xpZGVfb2Zmc2V0KyhmLm92ZXJwdWxsLWkpLzEuMStNYXRoLnNxcnQoTWF0aC5hYnMoKGYub3ZlcnB1bGwtaSkvMS4xKSk6dD5kLnNsaWRlYW1vdW50LTE/Zi5zbGlkZV9vZmZzZXQrKGYub3ZlcnB1bGwtaSkvMS4xLU1hdGguc3FydChNYXRoLmFicygoZi5vdmVycHVsbC1pKS8xLjEpKTpmLnNsaWRlX29mZnNldH1iLm9yZ2FuaXNlQ2Fyb3VzZWwoZCxoLCEwLCEwKTticmVhaztjYXNlImVuZCI6Y2FzZSJjYW5jZWwiOmYuc2xpZGVfZ2xvYmFsb2Zmc2V0PWYuc2xpZGVfb2Zmc2V0LGYud3JhcC5yZW1vdmVDbGFzcygiZHJhZ2dlZCIpLGIuY2Fyb3VzZWxUb0V2YWxQb3NpdGlvbihkLGgpLGQuZHJhZ1N0YXJ0ZWRPdmVyU2xpZGVyPSExLGQuZHJhZ1N0YXJ0ZWRPdmVyVGh1bWJzPSExLGQuZHJhZ1N0YXJ0ZWRPdmVyVGFicz0hMSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZC5jLmZpbmQoIi50cC13aXRoYWN0aW9uIikucmVtb3ZlQ2xhc3MoInRwLXRlbXBvcmFyeWRpc2FibGVkIil9LDE5KX19ZWxzZXtpZigoIm1vdmUiIT09ZyYmImVuZCIhPT1nJiYiY2FuY2VsIiE9Z3x8ZC5kcmFnU3RhcnRlZE92ZXJTbGlkZXJ8fCFkLmRyYWdTdGFydGVkT3ZlclRodW1icyYmIWQuZHJhZ1N0YXJ0ZWRPdmVyVGFicykmJiEoInN0YXJ0Ij09PWcmJm8+MCYmKHA+MHx8cT4wKSkpe2lmKCJlbmQiPT1nJiYhcyl7aWYoZC5zY19pbmRpY2F0b3I9ImFycm93IiwiaG9yaXpvbnRhbCI9PWsmJiJsZWZ0Ij09aHx8InZlcnRpY2FsIj09ayYmInVwIj09aClyZXR1cm4gZC5zY19pbmRpY2F0b3JfZGlyPTAsYi5jYWxsaW5nTmV3U2xpZGUoZC5jLDEpLCExO2lmKCJob3Jpem9udGFsIj09ayYmInJpZ2h0Ij09aHx8InZlcnRpY2FsIj09ayYmImRvd24iPT1oKXJldHVybiBkLnNjX2luZGljYXRvcl9kaXI9MSxiLmNhbGxpbmdOZXdTbGlkZShkLmMsLTEpLCExfXJldHVybiBkLmRyYWdTdGFydGVkT3ZlclNsaWRlcj0hMSxkLmRyYWdTdGFydGVkT3ZlclRodW1icz0hMSxkLmRyYWdTdGFydGVkT3ZlclRhYnM9ITEsITB9cD4wJiYoZC5kcmFnU3RhcnRlZE92ZXJUaHVtYnM9ITApLHE+MCYmKGQuZHJhZ1N0YXJ0ZWRPdmVyVGFicz0hMCk7dmFyIHU9ZC5kcmFnU3RhcnRlZE92ZXJUaHVtYnM/Ii50cC10aHVtYnMiOiIudHAtdGFicyIsdj1kLmRyYWdTdGFydGVkT3ZlclRodW1icz8iLnRwLXRodW1iLW1hc2siOiIudHAtdGFiLW1hc2siLHc9ZC5kcmFnU3RhcnRlZE92ZXJUaHVtYnM/Ii50cC10aHVtYnMtaW5uZXItd3JhcHBlciI6Ii50cC10YWJzLWlubmVyLXdyYXBwZXIiLHg9ZC5kcmFnU3RhcnRlZE92ZXJUaHVtYnM/Ii50cC10aHVtYiI6Ii50cC10YWIiLHk9ZC5kcmFnU3RhcnRlZE92ZXJUaHVtYnM/ZC5uYXZpZ2F0aW9uLnRodW1ibmFpbHM6ZC5uYXZpZ2F0aW9uLnRhYnM7aT1oJiZoLm1hdGNoKC9sZWZ0fHVwL2cpP01hdGgucm91bmQoLTEqaSk6aT1NYXRoLnJvdW5kKDEqaSk7dmFyIHo9YS5wYXJlbnQoKS5maW5kKHYpLEE9ei5maW5kKHcpLEI9eS5kaXJlY3Rpb24sQz0idmVydGljYWwiPT09Qj9BLmhlaWdodCgpOkEud2lkdGgoKSxEPSJ2ZXJ0aWNhbCI9PT1CP3ouaGVpZ2h0KCk6ei53aWR0aCgpLEU9InZlcnRpY2FsIj09PUI/ei5maW5kKHgpLmZpcnN0KCkub3V0ZXJIZWlnaHQoITApK3kuc3BhY2U6ei5maW5kKHgpLmZpcnN0KCkub3V0ZXJXaWR0aCghMCkreS5zcGFjZSxGPXZvaWQgMD09PUEuZGF0YSgib2Zmc2V0Iik/MDpwYXJzZUludChBLmRhdGEoIm9mZnNldCIpLDApLEc9MDtzd2l0Y2goZyl7Y2FzZSJzdGFydCI6YS5wYXJlbnQoKS5maW5kKHUpLmFkZENsYXNzKCJkcmFnZ2VkIiksRj0idmVydGljYWwiPT09Qj9BLnBvc2l0aW9uKCkudG9wOkEucG9zaXRpb24oKS5sZWZ0LEEuZGF0YSgib2Zmc2V0IixGKSxBLmRhdGEoInRtbW92ZSIpJiZBLmRhdGEoInRtbW92ZSIpLnBhdXNlKCk7YnJlYWs7Y2FzZSJtb3ZlIjppZihDPD1EKXJldHVybiExO0c9RitpLEc9Rz4wPyJob3Jpem9udGFsIj09PUI/Ry1BLndpZHRoKCkqKEcvQS53aWR0aCgpKkcvQS53aWR0aCgpKTpHLUEuaGVpZ2h0KCkqKEcvQS5oZWlnaHQoKSpHL0EuaGVpZ2h0KCkpOkc7dmFyIEg9InZlcnRpY2FsIj09PUI/MC0oQS5oZWlnaHQoKS16LmhlaWdodCgpKTowLShBLndpZHRoKCktei53aWR0aCgpKTtHPUc8SD8iaG9yaXpvbnRhbCI9PT1CP0crQS53aWR0aCgpKihHLUgpL0Eud2lkdGgoKSooRy1IKS9BLndpZHRoKCk6RytBLmhlaWdodCgpKihHLUgpL0EuaGVpZ2h0KCkqKEctSCkvQS5oZWlnaHQoKTpHLCJ2ZXJ0aWNhbCI9PT1CP3B1bmNoZ3MuVHdlZW5MaXRlLnNldChBLHt0b3A6RysicHgifSk6cHVuY2hncy5Ud2VlbkxpdGUuc2V0KEEse2xlZnQ6RysicHgifSk7YnJlYWs7Y2FzZSJlbmQiOmNhc2UiY2FuY2VsIjppZihzKXJldHVybiBHPUYraSxHPSJ2ZXJ0aWNhbCI9PT1CP0c8MC0oQS5oZWlnaHQoKS16LmhlaWdodCgpKT8wLShBLmhlaWdodCgpLXouaGVpZ2h0KCkpOkc6RzwwLShBLndpZHRoKCktei53aWR0aCgpKT8wLShBLndpZHRoKCktei53aWR0aCgpKTpHLEc9Rz4wPzA6RyxHPU1hdGguYWJzKGkpPkUvMTA/aTw9MD9NYXRoLmZsb29yKEcvRSkqRTpNYXRoLmNlaWwoRy9FKSpFOmk8MD9NYXRoLmNlaWwoRy9FKSpFOk1hdGguZmxvb3IoRy9FKSpFLEc9InZlcnRpY2FsIj09PUI/RzwwLShBLmhlaWdodCgpLXouaGVpZ2h0KCkpPzAtKEEuaGVpZ2h0KCktei5oZWlnaHQoKSk6RzpHPDAtKEEud2lkdGgoKS16LndpZHRoKCkpPzAtKEEud2lkdGgoKS16LndpZHRoKCkpOkcsRz1HPjA/MDpHLCJ2ZXJ0aWNhbCI9PT1CP3B1bmNoZ3MuVHdlZW5MaXRlLnRvKEEsLjUse3RvcDpHKyJweCIsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlT3V0fSk6cHVuY2hncy5Ud2VlbkxpdGUudG8oQSwuNSx7bGVmdDpHKyJweCIsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlT3V0fSksRz1HfHwoInZlcnRpY2FsIj09PUI/QS5wb3NpdGlvbigpLnRvcDpBLnBvc2l0aW9uKCkubGVmdCksQS5kYXRhKCJvZmZzZXQiLEcpLEEuZGF0YSgiZGlzdGFuY2UiLGkpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtkLmRyYWdTdGFydGVkT3ZlclNsaWRlcj0hMSxkLmRyYWdTdGFydGVkT3ZlclRodW1icz0hMSxkLmRyYWdTdGFydGVkT3ZlclRhYnM9ITF9LDEwMCksYS5wYXJlbnQoKS5maW5kKHUpLnJlbW92ZUNsYXNzKCJkcmFnZ2VkIiksITF9fX19KX0sbD1mdW5jdGlvbihhKXthLmhpZGVfZGVsYXk9alF1ZXJ5LmlzTnVtZXJpYyhwYXJzZUludChhLmhpZGVfZGVsYXksMCkpP2EuaGlkZV9kZWxheS8xZTM6LjIsYS5oaWRlX2RlbGF5X21vYmlsZT1qUXVlcnkuaXNOdW1lcmljKHBhcnNlSW50KGEuaGlkZV9kZWxheV9tb2JpbGUsMCkpP2EuaGlkZV9kZWxheV9tb2JpbGUvMWUzOi4yfSxtPWZ1bmN0aW9uKGEpe3JldHVybiBhJiZhLmVuYWJsZX0sbj1mdW5jdGlvbihhKXtyZXR1cm4gYSYmYS5lbmFibGUmJiEwPT09YS5oaWRlX29ubGVhdmUmJih2b2lkIDA9PT1hLnBvc2l0aW9ufHwhYS5wb3NpdGlvbi5tYXRjaCgvb3V0ZXIvZykpfSxvPWZ1bmN0aW9uKGEsYil7dmFyIGQ9YS5wYXJlbnQoKTtuKGIubmF2aWdhdGlvbi5hcnJvd3MpJiZwdW5jaGdzLlR3ZWVuTGl0ZS5kZWxheWVkQ2FsbChjP2IubmF2aWdhdGlvbi5hcnJvd3MuaGlkZV9kZWxheV9tb2JpbGU6Yi5uYXZpZ2F0aW9uLmFycm93cy5oaWRlX2RlbGF5LHAsW2QuZmluZCgiLnRwYXJyb3dzIiksYi5uYXZpZ2F0aW9uLmFycm93cywiaGlkZSJdKSxuKGIubmF2aWdhdGlvbi5idWxsZXRzKSYmcHVuY2hncy5Ud2VlbkxpdGUuZGVsYXllZENhbGwoYz9iLm5hdmlnYXRpb24uYnVsbGV0cy5oaWRlX2RlbGF5X21vYmlsZTpiLm5hdmlnYXRpb24uYnVsbGV0cy5oaWRlX2RlbGF5LHAsW2QuZmluZCgiLnRwLWJ1bGxldHMiKSxiLm5hdmlnYXRpb24uYnVsbGV0cywiaGlkZSJdKSxuKGIubmF2aWdhdGlvbi50aHVtYm5haWxzKSYmcHVuY2hncy5Ud2VlbkxpdGUuZGVsYXllZENhbGwoYz9iLm5hdmlnYXRpb24udGh1bWJuYWlscy5oaWRlX2RlbGF5X21vYmlsZTpiLm5hdmlnYXRpb24udGh1bWJuYWlscy5oaWRlX2RlbGF5LHAsW2QuZmluZCgiLnRwLXRodW1icyIpLGIubmF2aWdhdGlvbi50aHVtYm5haWxzLCJoaWRlIl0pLG4oYi5uYXZpZ2F0aW9uLnRhYnMpJiZwdW5jaGdzLlR3ZWVuTGl0ZS5kZWxheWVkQ2FsbChjP2IubmF2aWdhdGlvbi50YWJzLmhpZGVfZGVsYXlfbW9iaWxlOmIubmF2aWdhdGlvbi50YWJzLmhpZGVfZGVsYXkscCxbZC5maW5kKCIudHAtdGFicyIpLGIubmF2aWdhdGlvbi50YWJzLCJoaWRlIl0pfSxwPWZ1bmN0aW9uKGEsYixjLGQpe3N3aXRjaChkPXZvaWQgMD09PWQ/LjU6ZCxjKXtjYXNlInNob3ciOnB1bmNoZ3MuVHdlZW5MaXRlLnRvKGEsZCx7YXV0b0FscGhhOjEsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlSW5PdXQsb3ZlcndyaXRlOiJhdXRvIn0pO2JyZWFrO2Nhc2UiaGlkZSI6cHVuY2hncy5Ud2VlbkxpdGUudG8oYSxkLHthdXRvQWxwaGE6MCxlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91LG92ZXJ3cml0ZToiYXV0byJ9KX19LHE9ZnVuY3Rpb24oYSxiLGMpe2Iuc3R5bGU9dm9pZCAwPT09Yi5zdHlsZT8iIjpiLnN0eWxlLGIubGVmdC5zdHlsZT12b2lkIDA9PT1iLmxlZnQuc3R5bGU/IiI6Yi5sZWZ0LnN0eWxlLGIucmlnaHQuc3R5bGU9dm9pZCAwPT09Yi5yaWdodC5zdHlsZT8iIjpiLnJpZ2h0LnN0eWxlLDA9PT1hLmZpbmQoIi50cC1sZWZ0YXJyb3cudHBhcnJvd3MiKS5sZW5ndGgmJmEuYXBwZW5kKCc8ZGl2IGNsYXNzPSJ0cC1sZWZ0YXJyb3cgdHBhcnJvd3MgJytiLnN0eWxlKyIgIitiLmxlZnQuc3R5bGUrJyI+JytiLnRtcCsiPC9kaXY+IiksMD09PWEuZmluZCgiLnRwLXJpZ2h0YXJyb3cudHBhcnJvd3MiKS5sZW5ndGgmJmEuYXBwZW5kKCc8ZGl2IGNsYXNzPSJ0cC1yaWdodGFycm93IHRwYXJyb3dzICcrYi5zdHlsZSsiICIrYi5yaWdodC5zdHlsZSsnIj4nK2IudG1wKyI8L2Rpdj4iKTt2YXIgZD1hLmZpbmQoIi50cC1sZWZ0YXJyb3cudHBhcnJvd3MiKSxlPWEuZmluZCgiLnRwLXJpZ2h0YXJyb3cudHBhcnJvd3MiKTtiLnJ0bD8oZC5jbGljayhmdW5jdGlvbigpe2Muc2NfaW5kaWNhdG9yPSJhcnJvdyIsYy5zY19pbmRpY2F0b3JfZGlyPTAsYS5yZXZuZXh0KCl9KSxlLmNsaWNrKGZ1bmN0aW9uKCl7Yy5zY19pbmRpY2F0b3I9ImFycm93IixjLnNjX2luZGljYXRvcl9kaXI9MSxhLnJldnByZXYoKX0pKTooZS5jbGljayhmdW5jdGlvbigpe2Muc2NfaW5kaWNhdG9yPSJhcnJvdyIsYy5zY19pbmRpY2F0b3JfZGlyPTAsYS5yZXZuZXh0KCl9KSxkLmNsaWNrKGZ1bmN0aW9uKCl7Yy5zY19pbmRpY2F0b3I9ImFycm93IixjLnNjX2luZGljYXRvcl9kaXI9MSxhLnJldnByZXYoKX0pKSxiLnJpZ2h0Lmo9YS5maW5kKCIudHAtcmlnaHRhcnJvdy50cGFycm93cyIpLGIubGVmdC5qPWEuZmluZCgiLnRwLWxlZnRhcnJvdy50cGFycm93cyIpLGIucGFkZGluZ190b3A9cGFyc2VJbnQoYy5jYXJvdXNlbC5wYWRkaW5nX3RvcHx8MCwwKSxiLnBhZGRpbmdfYm90dG9tPXBhcnNlSW50KGMuY2Fyb3VzZWwucGFkZGluZ19ib3R0b218fDAsMCksdChkLGIubGVmdCxjKSx0KGUsYi5yaWdodCxjKSxiLmxlZnQub3B0PWMsYi5yaWdodC5vcHQ9Yywib3V0ZXItbGVmdCIhPWIucG9zaXRpb24mJiJvdXRlci1yaWdodCIhPWIucG9zaXRpb258fChjLm91dGVybmF2PSEwKX0scj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5vdXRlckhlaWdodCghMCksZj0oYS5vdXRlcldpZHRoKCEwKSx2b2lkIDA9PWIub3B0PzA6MD09Yy5jb25oP2MuaGVpZ2h0OmMuY29uaCksZz0ibGF5ZXJncmlkIj09Yi5jb250YWluZXI/ImZ1bGxzY3JlZW4iPT1jLnNsaWRlckxheW91dD9jLmhlaWdodC8yLWMuZ3JpZGhlaWdodFtjLmN1cldpblJhbmdlXSpjLmJoLzI6Im9uIj09Yy5hdXRvSGVpZ2h0fHx2b2lkIDAhPWMubWluSGVpZ2h0JiZjLm1pbkhlaWdodD4wP2YvMi1jLmdyaWRoZWlnaHRbYy5jdXJXaW5SYW5nZV0qYy5iaC8yOjA6MCxoPSJ0b3AiPT09Yi52X2FsaWduP3t0b3A6IjBweCIseTpNYXRoLnJvdW5kKGIudl9vZmZzZXQrZykrInB4In06ImNlbnRlciI9PT1iLnZfYWxpZ24/e3RvcDoiNTAlIix5Ok1hdGgucm91bmQoMC1kLzIrYi52X29mZnNldCkrInB4In06e3RvcDoiMTAwJSIseTpNYXRoLnJvdW5kKDAtKGQrYi52X29mZnNldCtnKSkrInB4In07YS5oYXNDbGFzcygib3V0ZXItYm90dG9tIil8fHB1bmNoZ3MuVHdlZW5MaXRlLnNldChhLGgpfSxzPWZ1bmN0aW9uKGEsYixjKXt2YXIgZT0oYS5vdXRlckhlaWdodCghMCksYS5vdXRlcldpZHRoKCEwKSksZj0ibGF5ZXJncmlkIj09Yi5jb250YWluZXI/ImNhcm91c2VsIj09PWMuc2xpZGVyVHlwZT8wOmMud2lkdGgvMi1jLmdyaWR3aWR0aFtjLmN1cldpblJhbmdlXSpjLmJ3LzI6MCxnPSJsZWZ0Ij09PWIuaF9hbGlnbj97bGVmdDoiMHB4Iix4Ok1hdGgucm91bmQoYi5oX29mZnNldCtmKSsicHgifToiY2VudGVyIj09PWIuaF9hbGlnbj97bGVmdDoiNTAlIix4Ok1hdGgucm91bmQoMC1lLzIrYi5oX29mZnNldCkrInB4In06e2xlZnQ6IjEwMCUiLHg6TWF0aC5yb3VuZCgwLShlK2IuaF9vZmZzZXQrZikpKyJweCJ9O3B1bmNoZ3MuVHdlZW5MaXRlLnNldChhLGcpfSx0PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLmNsb3Nlc3QoIi50cC1zaW1wbGVyZXNwb25zaXZlIikubGVuZ3RoPjA/YS5jbG9zZXN0KCIudHAtc2ltcGxlcmVzcG9uc2l2ZSIpOmEuY2xvc2VzdCgiLnRwLXJldnNsaWRlci1tYWludWwiKS5sZW5ndGg+MD9hLmNsb3Nlc3QoIi50cC1yZXZzbGlkZXItbWFpbnVsIik6YS5jbG9zZXN0KCIucmV2X3NsaWRlcl93cmFwcGVyIikubGVuZ3RoPjA/YS5jbG9zZXN0KCIucmV2X3NsaWRlcl93cmFwcGVyIik6YS5wYXJlbnQoKS5maW5kKCIudHAtcmV2c2xpZGVyLW1haW51bCIpLGU9ZC53aWR0aCgpLGY9ZC5oZWlnaHQoKTtpZihyKGEsYixjKSxzKGEsYixjKSwib3V0ZXItbGVmdCIhPT1iLnBvc2l0aW9ufHwiZnVsbHdpZHRoIiE9Yi5zbGlkZXJMYXlvdXQmJiJmdWxsc2NyZWVuIiE9Yi5zbGlkZXJMYXlvdXQ/Im91dGVyLXJpZ2h0IiE9PWIucG9zaXRpb258fCJmdWxsd2lkdGgiIT1iLnNsaWRlckxheW91dCYmImZ1bGxzY3JlZW4iIT1iLnNsaWRlckxheW91dHx8cHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEse3JpZ2h0OjAtYS5vdXRlcldpZHRoKCkrInB4Iix4OmIuaF9vZmZzZXQrInB4In0pOnB1bmNoZ3MuVHdlZW5MaXRlLnNldChhLHtsZWZ0OjAtYS5vdXRlcldpZHRoKCkrInB4Iix4OmIuaF9vZmZzZXQrInB4In0pLGEuaGFzQ2xhc3MoInRwLXRodW1icyIpfHxhLmhhc0NsYXNzKCJ0cC10YWJzIikpe3ZhciBnPWEuZGF0YSgid3JfcGFkZGluZyIpLGg9YS5kYXRhKCJtYXh3IiksaT1hLmRhdGEoIm1heGgiKSxqPWEuaGFzQ2xhc3MoInRwLXRodW1icyIpP2EuZmluZCgiLnRwLXRodW1iLW1hc2siKTphLmZpbmQoIi50cC10YWItbWFzayIpLGs9cGFyc2VJbnQoYi5wYWRkaW5nX3RvcHx8MCwwKSxsPXBhcnNlSW50KGIucGFkZGluZ19ib3R0b218fDAsMCk7aD5lJiYib3V0ZXItbGVmdCIhPT1iLnBvc2l0aW9uJiYib3V0ZXItcmlnaHQiIT09Yi5wb3NpdGlvbj8ocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEse2xlZnQ6IjBweCIseDowLG1heFdpZHRoOmUtMipnKyJweCJ9KSxwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaix7bWF4V2lkdGg6ZS0yKmcrInB4In0pKToocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEse21heFdpZHRoOmgrInB4In0pLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChqLHttYXhXaWR0aDpoKyJweCJ9KSksaSsyKmc+ZiYmIm91dGVyLWJvdHRvbSIhPT1iLnBvc2l0aW9uJiYib3V0ZXItdG9wIiE9PWIucG9zaXRpb24/KHB1bmNoZ3MuVHdlZW5MaXRlLnNldChhLHt0b3A6IjBweCIseTowLG1heEhlaWdodDprK2wrKGYtMipnKSsicHgifSkscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGose21heEhlaWdodDprK2wrKGYtMipnKSsicHgifSkpOihwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYSx7bWF4SGVpZ2h0OmkrInB4In0pLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChqLHttYXhIZWlnaHQ6aSsicHgifSkpLCJvdXRlci1sZWZ0IiE9PWIucG9zaXRpb24mJiJvdXRlci1yaWdodCIhPT1iLnBvc2l0aW9uJiYoaz0wLGw9MCksITA9PT1iLnNwYW4mJiJ2ZXJ0aWNhbCI9PT1iLmRpcmVjdGlvbj8ocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEse21heEhlaWdodDprK2wrKGYtMipnKSsicHgiLGhlaWdodDprK2wrKGYtMipnKSsicHgiLHRvcDowLWsseTowfSkscihqLGIsYykpOiEwPT09Yi5zcGFuJiYiaG9yaXpvbnRhbCI9PT1iLmRpcmVjdGlvbiYmKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChhLHttYXhXaWR0aDoiMTAwJSIsd2lkdGg6ZS0yKmcrInB4IixsZWZ0OjAseDowfSkscyhqLGIsYykpfX0sdT1mdW5jdGlvbihhLGIsYyxkKXswPT09YS5maW5kKCIudHAtYnVsbGV0cyIpLmxlbmd0aCYmKGIuc3R5bGU9dm9pZCAwPT09Yi5zdHlsZT8iIjpiLnN0eWxlLGEuYXBwZW5kKCc8ZGl2IGNsYXNzPSJ0cC1idWxsZXRzICcrYi5zdHlsZSsiICIrYi5kaXJlY3Rpb24rJyI+PC9kaXY+JykpO3ZhciBlPWEuZmluZCgiLnRwLWJ1bGxldHMiKSxmPWMuZGF0YSgiaW5kZXgiKSxnPWIudG1wO2pRdWVyeS5lYWNoKGQudGh1bWJzW2MuaW5kZXgoKV0ucGFyYW1zLGZ1bmN0aW9uKGEsYil7Zz1nLnJlcGxhY2UoYi5mcm9tLGIudG8pfSksZS5hcHBlbmQoJzxkaXYgY2xhc3M9Imp1c3RhZGRlZGJ1bGxldCB0cC1idWxsZXQiPicrZysiPC9kaXY+Iik7dmFyIGg9YS5maW5kKCIuanVzdGFkZGVkYnVsbGV0IiksaT1hLmZpbmQoIi50cC1idWxsZXQiKS5sZW5ndGgsaj1oLm91dGVyV2lkdGgoKStwYXJzZUludCh2b2lkIDA9PT1iLnNwYWNlPzA6Yi5zcGFjZSwwKSxrPWgub3V0ZXJIZWlnaHQoKStwYXJzZUludCh2b2lkIDA9PT1iLnNwYWNlPzA6Yi5zcGFjZSwwKTsidmVydGljYWwiPT09Yi5kaXJlY3Rpb24/KGguY3NzKHt0b3A6KGktMSkqaysicHgiLGxlZnQ6IjBweCJ9KSxlLmNzcyh7aGVpZ2h0OihpLTEpKmsraC5vdXRlckhlaWdodCgpLHdpZHRoOmgub3V0ZXJXaWR0aCgpfSkpOihoLmNzcyh7bGVmdDooaS0xKSpqKyJweCIsdG9wOiIwcHgifSksZS5jc3Moe3dpZHRoOihpLTEpKmoraC5vdXRlcldpZHRoKCksaGVpZ2h0Omgub3V0ZXJIZWlnaHQoKX0pKSxoLmZpbmQoIi50cC1idWxsZXQtaW1hZ2UiKS5jc3Moe2JhY2tncm91bmRJbWFnZToidXJsKCIrZC50aHVtYnNbYy5pbmRleCgpXS5zcmMrIikifSksaC5kYXRhKCJsaXJlZiIsZiksaC5jbGljayhmdW5jdGlvbigpe2Quc2NfaW5kaWNhdG9yPSJidWxsZXQiLGEucmV2Y2FsbHNsaWRld2l0aGlkKGYpLGEuZmluZCgiLnRwLWJ1bGxldCIpLnJlbW92ZUNsYXNzKCJzZWxlY3RlZCIpLGpRdWVyeSh0aGlzKS5hZGRDbGFzcygic2VsZWN0ZWQiKX0pLGgucmVtb3ZlQ2xhc3MoImp1c3RhZGRlZGJ1bGxldCIpLGIucGFkZGluZ190b3A9cGFyc2VJbnQoZC5jYXJvdXNlbC5wYWRkaW5nX3RvcHx8MCwwKSxiLnBhZGRpbmdfYm90dG9tPXBhcnNlSW50KGQuY2Fyb3VzZWwucGFkZGluZ19ib3R0b218fDAsMCksYi5vcHQ9ZCwib3V0ZXItbGVmdCIhPWIucG9zaXRpb24mJiJvdXRlci1yaWdodCIhPWIucG9zaXRpb258fChkLm91dGVybmF2PSEwKSxlLmFkZENsYXNzKCJuYXYtcG9zLWhvci0iK2IuaF9hbGlnbiksZS5hZGRDbGFzcygibmF2LXBvcy12ZXItIitiLnZfYWxpZ24pLGUuYWRkQ2xhc3MoIm5hdi1kaXItIitiLmRpcmVjdGlvbiksdChlLGIsZCl9LHc9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj0idHAtdGh1bWIiPT09ZD8iLnRwLXRodW1icyI6Ii50cC10YWJzIixnPSJ0cC10aHVtYiI9PT1kPyIudHAtdGh1bWItbWFzayI6Ii50cC10YWItbWFzayIsaD0idHAtdGh1bWIiPT09ZD8iLnRwLXRodW1icy1pbm5lci13cmFwcGVyIjoiLnRwLXRhYnMtaW5uZXItd3JhcHBlciIsaT0idHAtdGh1bWIiPT09ZD8iLnRwLXRodW1iIjoiLnRwLXRhYiIsaj0idHAtdGh1bWIiPT09ZD8iLnRwLXRodW1iLWltYWdlIjoiLnRwLXRhYi1pbWFnZSI7aWYoYi52aXNpYmxlQW1vdW50PWIudmlzaWJsZUFtb3VudD5lLnNsaWRlYW1vdW50P2Uuc2xpZGVhbW91bnQ6Yi52aXNpYmxlQW1vdW50LGIuc2xpZGVyTGF5b3V0PWUuc2xpZGVyTGF5b3V0LDA9PT1hLnBhcmVudCgpLmZpbmQoZikubGVuZ3RoKXtiLnN0eWxlPXZvaWQgMD09PWIuc3R5bGU/IiI6Yi5zdHlsZTt2YXIgaz0hMD09PWIuc3Bhbj8idHAtc3Bhbi13cmFwcGVyIjoiIixsPSc8ZGl2IGNsYXNzPSInK2QrInMgIitrKyIgIitiLnBvc2l0aW9uKyIgIitiLnN0eWxlKyciPjxkaXYgY2xhc3M9IicrZCsnLW1hc2siPjxkaXYgY2xhc3M9IicrZCsncy1pbm5lci13cmFwcGVyIiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7Ij48L2Rpdj48L2Rpdj48L2Rpdj4nOyJvdXRlci10b3AiPT09Yi5wb3NpdGlvbj9hLnBhcmVudCgpLnByZXBlbmQobCk6Im91dGVyLWJvdHRvbSI9PT1iLnBvc2l0aW9uP2EuYWZ0ZXIobCk6YS5hcHBlbmQobCksYi5wYWRkaW5nX3RvcD1wYXJzZUludChlLmNhcm91c2VsLnBhZGRpbmdfdG9wfHwwLDApLGIucGFkZGluZ19ib3R0b209cGFyc2VJbnQoZS5jYXJvdXNlbC5wYWRkaW5nX2JvdHRvbXx8MCwwKSwib3V0ZXItbGVmdCIhPWIucG9zaXRpb24mJiJvdXRlci1yaWdodCIhPWIucG9zaXRpb258fChlLm91dGVybmF2PSEwKX12YXIgbT1jLmRhdGEoImluZGV4Iiksbj1hLnBhcmVudCgpLmZpbmQoZiksbz1uLmZpbmQoZykscD1vLmZpbmQoaCkscT0iaG9yaXpvbnRhbCI9PT1iLmRpcmVjdGlvbj9iLndpZHRoKmIudmlzaWJsZUFtb3VudCtiLnNwYWNlKihiLnZpc2libGVBbW91bnQtMSk6Yi53aWR0aCxyPSJob3Jpem9udGFsIj09PWIuZGlyZWN0aW9uP2IuaGVpZ2h0OmIuaGVpZ2h0KmIudmlzaWJsZUFtb3VudCtiLnNwYWNlKihiLnZpc2libGVBbW91bnQtMSkscz1iLnRtcDtqUXVlcnkuZWFjaChlLnRodW1ic1tjLmluZGV4KCldLnBhcmFtcyxmdW5jdGlvbihhLGIpe3M9cy5yZXBsYWNlKGIuZnJvbSxiLnRvKX0pLHAuYXBwZW5kKCc8ZGl2IGRhdGEtbGlpbmRleD0iJytjLmluZGV4KCkrJyIgZGF0YS1saXJlZj0iJyttKyciIGNsYXNzPSJqdXN0YWRkZWR0aHVtYiAnK2QrJyIgc3R5bGU9IndpZHRoOicrYi53aWR0aCsicHg7aGVpZ2h0OiIrYi5oZWlnaHQrJ3B4OyI+JytzKyI8L2Rpdj4iKTt2YXIgdT1uLmZpbmQoIi5qdXN0YWRkZWR0aHVtYiIpLHY9bi5maW5kKGkpLmxlbmd0aCx3PXUub3V0ZXJXaWR0aCgpK3BhcnNlSW50KHZvaWQgMD09PWIuc3BhY2U/MDpiLnNwYWNlLDApLHg9dS5vdXRlckhlaWdodCgpK3BhcnNlSW50KHZvaWQgMD09PWIuc3BhY2U/MDpiLnNwYWNlLDApO3UuZmluZChqKS5jc3Moe2JhY2tncm91bmRJbWFnZToidXJsKCIrZS50aHVtYnNbYy5pbmRleCgpXS5zcmMrIikifSksInZlcnRpY2FsIj09PWIuZGlyZWN0aW9uPyh1LmNzcyh7dG9wOih2LTEpKngrInB4IixsZWZ0OiIwcHgifSkscC5jc3Moe2hlaWdodDoodi0xKSp4K3Uub3V0ZXJIZWlnaHQoKSx3aWR0aDp1Lm91dGVyV2lkdGgoKX0pKToodS5jc3Moe2xlZnQ6KHYtMSkqdysicHgiLHRvcDoiMHB4In0pLHAuY3NzKHt3aWR0aDoodi0xKSp3K3Uub3V0ZXJXaWR0aCgpLGhlaWdodDp1Lm91dGVySGVpZ2h0KCl9KSksbi5kYXRhKCJtYXh3IixxKSxuLmRhdGEoIm1heGgiLHIpLG4uZGF0YSgid3JfcGFkZGluZyIsYi53cmFwcGVyX3BhZGRpbmcpO3ZhciB5PSJvdXRlci10b3AiPT09Yi5wb3NpdGlvbnx8Im91dGVyLWJvdHRvbSI9PT1iLnBvc2l0aW9uPyJyZWxhdGl2ZSI6ImFic29sdXRlIjsib3V0ZXItdG9wIiE9PWIucG9zaXRpb24mJiJvdXRlci1ib3R0b20iIT09Yi5wb3NpdGlvbnx8Yi5oX2FsaWduO28uY3NzKHttYXhXaWR0aDpxKyJweCIsbWF4SGVpZ2h0OnIrInB4IixvdmVyZmxvdzoiaGlkZGVuIixwb3NpdGlvbjoicmVsYXRpdmUifSksbi5jc3Moe21heFdpZHRoOnErInB4IixtYXhIZWlnaHQ6cisicHgiLG92ZXJmbG93OiJ2aXNpYmxlIixwb3NpdGlvbjp5LGJhY2tncm91bmQ6Yi53cmFwcGVyX2NvbG9yLHBhZGRpbmc6Yi53cmFwcGVyX3BhZGRpbmcrInB4Iixib3hTaXppbmc6ImNvbnRldC1ib3gifSksdS5jbGljayhmdW5jdGlvbigpe2Uuc2NfaW5kaWNhdG9yPSJidWxsZXQiO3ZhciBiPWEucGFyZW50KCkuZmluZChoKS5kYXRhKCJkaXN0YW5jZSIpO2I9dm9pZCAwPT09Yj8wOmIsTWF0aC5hYnMoYik8MTAmJihhLnJldmNhbGxzbGlkZXdpdGhpZChtKSxhLnBhcmVudCgpLmZpbmQoZikucmVtb3ZlQ2xhc3MoInNlbGVjdGVkIiksalF1ZXJ5KHRoaXMpLmFkZENsYXNzKCJzZWxlY3RlZCIpKX0pLHUucmVtb3ZlQ2xhc3MoImp1c3RhZGRlZHRodW1iIiksYi5vcHQ9ZSxuLmFkZENsYXNzKCJuYXYtcG9zLWhvci0iK2IuaF9hbGlnbiksbi5hZGRDbGFzcygibmF2LXBvcy12ZXItIitiLnZfYWxpZ24pLG4uYWRkQ2xhc3MoIm5hdi1kaXItIitiLmRpcmVjdGlvbiksdChuLGIsZSl9LHg9ZnVuY3Rpb24oYSl7dmFyIGI9YS5jLnBhcmVudCgpLmZpbmQoIi5vdXRlci10b3AiKSxjPWEuYy5wYXJlbnQoKS5maW5kKCIub3V0ZXItYm90dG9tIik7YS50b3Bfb3V0ZXI9Yi5oYXNDbGFzcygidHAtZm9yY2Vub3R2aXNpYmxlIik/MDpiLm91dGVySGVpZ2h0KCl8fDAsYS5ib3R0b21fb3V0ZXI9Yy5oYXNDbGFzcygidHAtZm9yY2Vub3R2aXNpYmxlIik/MDpjLm91dGVySGVpZ2h0KCl8fDB9LHk9ZnVuY3Rpb24oYSxiLGMsZCl7Yj5jfHxjPmQ/YS5hZGRDbGFzcygidHAtZm9yY2Vub3R2aXNpYmxlIik6YS5yZW1vdmVDbGFzcygidHAtZm9yY2Vub3R2aXNpYmxlIil9fShqUXVlcnkpOw=="}},"time_used":56,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":49,"receive":7,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/js/main-slider-script.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.601Z","timestamp":1785123231601,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /js/main-slider-script.js HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Wed, 22 Apr 2026 17:27:38 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 814\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":3111,"size_decoded":1136,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with CRLF line terminators","md5":"3ef00d9c2cccb40752190c8889825976","sha1":"493ed6985224e2b1e0b8efa9c562c6d19299554e","sha256":"3080f520baf47b18d6ed3664101032fbac74f059fcbf40a2d904174186570030","sha512":"cfab2544b981c98f97caf51a1e446f4243f895df6c8135b3a853b85d72be026277a167e7b93d7e5aa4d6c48ca9f789a3ffb996bcf88a2d20aee26e1afd95f1d5","ssdeep":"","tlshash":"455121274951846a4a33432bcb185600f5a3471f3607a897ffbc9375af33519528abee","first_seen":"2024-12-04T10:10:15.800604Z","last_seen":"2026-07-27T05:05:33.532941Z","times_seen":12,"resource_available":true,"data":"DQoJdmFyIHRwaj1qUXVlcnk7ICAgICAgICAgICAgICAgICAgDQogICAgdmFyIHJldmFwaTQ4NjsNCiAgICB0cGooZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCkgew0KICAgICAgICBpZih0cGooIiNyZXZfc2xpZGVyX29uZSIpLnJldm9sdXRpb24gPT0gdW5kZWZpbmVkKXsNCiAgICAgICAgICAgIHJldnNsaWRlcl9zaG93RG91YmxlSnF1ZXJ5RXJyb3IoIiNyZXZfc2xpZGVyX29uZSIpOw0KICAgICAgICB9ZWxzZXsNCiAgICAgICAgICAgIHJldmFwaTQ4NiA9IHRwaigiI3Jldl9zbGlkZXJfb25lIikuc2hvdygpLnJldm9sdXRpb24oew0KCQkJc2xpZGVyVHlwZToic3RhbmRhcmQiLA0KICAgICAgICAgICAgICAgIGpzRmlsZUxvY2F0aW9uOiJwbHVnaW5zL3Jldm9sdXRpb24vanMvIiwNCiAgICAgICAgICAgICAgICBzbGlkZXJMYXlvdXQ6ImZ1bGx3aWR0aCIsDQogICAgICAgICAgICAgICAgZG90dGVkT3ZlcmxheToibm9uZSIsDQogICAgICAgICAgICAgICAgZGVsYXk6MTAwMDAsDQogICAgICAgICAgICAgICAgbmF2aWdhdGlvbjogew0KICAgICAgICAgICAgICAgICAgICBrZXlib2FyZE5hdmlnYXRpb246Im9mZiIsDQogICAgICAgICAgICAgICAgICAgIGtleWJvYXJkX2RpcmVjdGlvbjogImhvcml6b250YWwiLA0KICAgICAgICAgICAgICAgICAgICBtb3VzZVNjcm9sbE5hdmlnYXRpb246Im9mZiIsDQogICAgICAgICAgICAgICAgICAgICAgICBtb3VzZVNjcm9sbFJldmVyc2U6ImRlZmF1bHQiLA0KICAgICAgICAgICAgICAgICAgICBvbkhvdmVyU3RvcDoib2ZmIiwNCiAgICAgICAgICAgICAgICAgICAgdG91Y2g6ew0KICAgICAgICAgICAgICAgICAgICAgICAgdG91Y2hlbmFibGVkOiJvbiIsDQogICAgICAgICAgICAgICAgICAgICAgICB0b3VjaE9uRGVza3RvcDoib2ZmIiwNCiAgICAgICAgICAgICAgICAgICAgICAgIHN3aXBlX3RocmVzaG9sZDogNzUsDQogICAgICAgICAgICAgICAgICAgICAgICBzd2lwZV9taW5fdG91Y2hlczogMSwNCiAgICAgICAgICAgICAgICAgICAgICAgIHN3aXBlX2RpcmVjdGlvbjogImhvcml6b250YWwiLA0KICAgICAgICAgICAgICAgICAgICAgICAgZHJhZ19ibG9ja192ZXJ0aWNhbDogZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgYXJyb3dzOiB7DQogICAgICAgICAgICAgICAgICAgICAgICBzdHlsZToiZ3lnZXMiLA0KICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlOnRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBoaWRlX29ubW9iaWxlOnRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBoaWRlX3VuZGVyOjYwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIGhpZGVfb25sZWF2ZTpmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIHRtcDonJywNCiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoX2FsaWduOiJsZWZ0IiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2X2FsaWduOiJjZW50ZXIiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhfb2Zmc2V0OjE1LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZfb2Zmc2V0OjMwDQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoX2FsaWduOiJyaWdodCIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdl9hbGlnbjoiY2VudGVyIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoX29mZnNldDoxNSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2X29mZnNldDozMA0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgIHJlc3BvbnNpdmVMZXZlbHM6WzEyMDAsMTA0MCw3NzgsNDgwXSwNCiAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eUxldmVsczpbMTIwMCwxMDQwLDc3OCw0ODBdLA0KICAgICAgICAgICAgICAgICBncmlkd2lkdGg6WzEyMDAsMTA0MCw3NzgsNDgwXSwNCiAgICAgICAgICAgICAgICAgZ3JpZGhlaWdodDpbODAwLDYwMCw1MDAsNDAwXSwNCiAgICAgICAgICAgICAgICAgbGF6eVR5cGU6Im5vbmUiLA0KICAgICAgICAgICAgICAgICBwYXJhbGxheDogew0KICAgICAgICAgICAgICAgICAgICAgdHlwZToic2Nyb2xsIiwNCiAgICAgICAgICAgICAgICAgICAgIG9yaWdvOiJlbnRlcnBvaW50IiwNCiAgICAgICAgICAgICAgICAgICAgIHNwZWVkOjQwMCwNCiAgICAgICAgICAgICAgICAgICAgIGxldmVsczpbNSwxMCwxNSwyMCwyNSwzMCwzNSw0MCw0NSw1MCw0Niw0Nyw0OCw0OSw1MCw1NV0NCiAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgc2hhZG93OjAsDQogICAgICAgICAgICAgICAgIHNwaW5uZXI6Im9mZiIsDQogICAgICAgICAgICAgICAgIHN0b3BMb29wOiJvZmYiLA0KICAgICAgICAgICAgICAgICBzdG9wQWZ0ZXJMb29wczotMSwNCiAgICAgICAgICAgICAgICAgc3RvcEF0U2xpZGU6LTEsDQogICAgICAgICAgICAgICAgIHNodWZmbGU6Im9mZiIsDQogICAgICAgICAgICAgICAgIGF1dG9IZWlnaHQ6Im9mZiIsDQogICAgICAgICAgICAgICAgIGhpZGVUaHVtYnNPbk1vYmlsZToib2ZmIiwNCiAgICAgICAgICAgICAgICAgaGlkZVNsaWRlckF0TGltaXQ6MCwNCiAgICAgICAgICAgICAgICAgaGlkZUNhcHRpb25BdExpbWl0OjAsDQogICAgICAgICAgICAgICAgIGhpZGVBbGxDYXB0aW9uQXRMaWxtaXQ6MCwNCiAgICAgICAgICAgICAgICAgZGVidWdNb2RlOmZhbHNlLA0KICAgICAgICAgICAgICAgICBmYWxsYmFja3M6IHsNCiAgICAgICAgICAgICAgICAgICAgIHNpbXBsaWZ5QWxsOiJvZmYiLA0KICAgICAgICAgICAgICAgICAgICAgbmV4dFNsaWRlT25XaW5kb3dGb2N1czoib2ZmIiwNCiAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVGb2N1c0xpc3RlbmVyOmZhbHNlLA0KICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgfSk7DQogICAgICAgICB9DQoJCSANCgkJIA0KICAgICB9KTsgLypyZWFkeSov"}},"time_used":44,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":44,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/css/jquery.fancybox.min.css","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.722Z","timestamp":1785123231722,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /css/jquery.fancybox.min.css HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/css/style.css\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: text/css\r\nlast-modified: Wed, 22 Apr 2026 17:27:28 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 2938\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":13735,"size_decoded":3247,"mime_type":"text/css","magic":"Unicode text, UTF-8 text, with very long lines (13734), with no line terminators","md5":"35d290afd71a6053d8195ea13170b4e9","sha1":"a64676403bb5c23f9800963b0b8f0475b532601f","sha256":"e467f75601e845da217ae845b688b227a19fbf1e8fc776a42a4905869496d2e2","sha512":"0136028681f47450835a9bd6345bb647c95f2be3e963980e5b5e355f3cdc602772313640c5d9b72ae71252bbe8099b11de5663f3fde49b71a5170e42959f7788","ssdeep":"96:tGA07/mPQRZa6f3sNGzssDH7jGSWWf8+WDJT53RjRuCicfMAJpEbyZh5fN2WdZ:tVQfXcVa7KWdMT539MCeAL55fJ","tlshash":"b0524e63a140311c903bce21d7df8948e279d55266221affe68cf919cbc7be912d62c6","first_seen":"2023-04-05T04:47:26Z","last_seen":"2026-07-27T05:36:37.678617Z","times_seen":6860,"resource_available":false,"data":"QGNoYXJzZXQgIlVURi04Ijtib2R5LmZhbmN5Ym94LWFjdGl2ZXtvdmVyZmxvdzpoaWRkZW59Ym9keS5mYW5jeWJveC1pb3NmaXh7cG9zaXRpb246Zml4ZWQ7bGVmdDowO3JpZ2h0OjB9LmZhbmN5Ym94LWlzLWhpZGRlbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTk5OTlweDtsZWZ0Oi05OTk5cHg7dmlzaWJpbGl0eTpoaWRkZW59LmZhbmN5Ym94LWNvbnRhaW5lcntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4Ojk5OTkyOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsU2Vnb2UgVUksUm9ib3RvLEhlbHZldGljYSBOZXVlLEFyaWFsLHNhbnMtc2VyaWZ9LmZhbmN5Ym94LWJnLC5mYW5jeWJveC1pbm5lciwuZmFuY3lib3gtb3V0ZXIsLmZhbmN5Ym94LXN0YWdle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowfS5mYW5jeWJveC1vdXRlcntvdmVyZmxvdy15OmF1dG87LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2h9LmZhbmN5Ym94LWJne2JhY2tncm91bmQ6IzFlMWUxZTtvcGFjaXR5OjA7dHJhbnNpdGlvbi1kdXJhdGlvbjppbmhlcml0O3RyYW5zaXRpb24tcHJvcGVydHk6b3BhY2l0eTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQ3LDAsLjc0LC43MSl9LmZhbmN5Ym94LWlzLW9wZW4gLmZhbmN5Ym94LWJne29wYWNpdHk6Ljg3O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMjIsLjYxLC4zNiwxKX0uZmFuY3lib3gtY2FwdGlvbi13cmFwLC5mYW5jeWJveC1pbmZvYmFyLC5mYW5jeWJveC10b29sYmFye3Bvc2l0aW9uOmFic29sdXRlO2RpcmVjdGlvbjpsdHI7ei1pbmRleDo5OTk5NztvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMsdmlzaWJpbGl0eSAwcyBsaW5lYXIgLjI1cztib3gtc2l6aW5nOmJvcmRlci1ib3h9LmZhbmN5Ym94LXNob3ctY2FwdGlvbiAuZmFuY3lib3gtY2FwdGlvbi13cmFwLC5mYW5jeWJveC1zaG93LWluZm9iYXIgLmZhbmN5Ym94LWluZm9iYXIsLmZhbmN5Ym94LXNob3ctdG9vbGJhciAuZmFuY3lib3gtdG9vbGJhcntvcGFjaXR5OjE7dmlzaWJpbGl0eTp2aXNpYmxlO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzLHZpc2liaWxpdHkgMHN9LmZhbmN5Ym94LWluZm9iYXJ7dG9wOjA7bGVmdDowO2ZvbnQtc2l6ZToxM3B4O3BhZGRpbmc6MCAxMHB4O2hlaWdodDo0NHB4O21pbi13aWR0aDo0NHB4O2xpbmUtaGVpZ2h0OjQ0cHg7Y29sb3I6I2NjYzt0ZXh0LWFsaWduOmNlbnRlcjtwb2ludGVyLWV2ZW50czpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTstd2Via2l0LXRvdWNoLWNhbGxvdXQ6bm9uZTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7LXdlYmtpdC1mb250LXNtb290aGluZzpzdWJwaXhlbC1hbnRpYWxpYXNlZDttaXgtYmxlbmQtbW9kZTpleGNsdXNpb259LmZhbmN5Ym94LXRvb2xiYXJ7dG9wOjA7cmlnaHQ6MDttYXJnaW46MDtwYWRkaW5nOjB9LmZhbmN5Ym94LXN0YWdle292ZXJmbG93OmhpZGRlbjtkaXJlY3Rpb246bHRyO3otaW5kZXg6OTk5OTQ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0uZmFuY3lib3gtaXMtY2xvc2luZyAuZmFuY3lib3gtc3RhZ2V7b3ZlcmZsb3c6dmlzaWJsZX0uZmFuY3lib3gtc2xpZGV7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7bWFyZ2luOjA7cGFkZGluZzowO292ZXJmbG93OmF1dG87b3V0bGluZTpub25lO3doaXRlLXNwYWNlOm5vcm1hbDtib3gtc2l6aW5nOmJvcmRlci1ib3g7dGV4dC1hbGlnbjpjZW50ZXI7ei1pbmRleDo5OTk5NDstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaDtkaXNwbGF5Om5vbmU7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHksLXdlYmtpdC10cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sb3BhY2l0eTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSxvcGFjaXR5LC13ZWJraXQtdHJhbnNmb3JtfS5mYW5jeWJveC1zbGlkZTpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7aGVpZ2h0OjEwMCU7d2lkdGg6MH0uZmFuY3lib3gtaXMtc2xpZGluZyAuZmFuY3lib3gtc2xpZGUsLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50LC5mYW5jeWJveC1zbGlkZS0tbmV4dCwuZmFuY3lib3gtc2xpZGUtLXByZXZpb3Vze2Rpc3BsYXk6YmxvY2t9LmZhbmN5Ym94LXNsaWRlLS1pbWFnZXtvdmVyZmxvdzp2aXNpYmxlfS5mYW5jeWJveC1zbGlkZS0taW1hZ2U6YmVmb3Jle2Rpc3BsYXk6bm9uZX0uZmFuY3lib3gtc2xpZGUtLXZpZGVvIC5mYW5jeWJveC1jb250ZW50LC5mYW5jeWJveC1zbGlkZS0tdmlkZW8gaWZyYW1le2JhY2tncm91bmQ6IzAwMH0uZmFuY3lib3gtc2xpZGUtLW1hcCAuZmFuY3lib3gtY29udGVudCwuZmFuY3lib3gtc2xpZGUtLW1hcCBpZnJhbWV7YmFja2dyb3VuZDojZTVlM2RmfS5mYW5jeWJveC1zbGlkZS0tbmV4dHt6LWluZGV4Ojk5OTk1fS5mYW5jeWJveC1zbGlkZT4qe2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6MjRweDttYXJnaW46NDRweCAwO2JvcmRlci13aWR0aDowO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt0ZXh0LWFsaWduOmxlZnQ7YmFja2dyb3VuZC1jb2xvcjojZmZmO292ZXJmbG93OmF1dG87Ym94LXNpemluZzpib3JkZXItYm94fS5mYW5jeWJveC1zbGlkZT5iYXNlLC5mYW5jeWJveC1zbGlkZT5saW5rLC5mYW5jeWJveC1zbGlkZT5tZXRhLC5mYW5jeWJveC1zbGlkZT5zY3JpcHQsLmZhbmN5Ym94LXNsaWRlPnN0eWxlLC5mYW5jeWJveC1zbGlkZT50aXRsZXtkaXNwbGF5Om5vbmV9LmZhbmN5Ym94LXNsaWRlIC5mYW5jeWJveC1pbWFnZS13cmFwe3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDttYXJnaW46MDtwYWRkaW5nOjA7Ym9yZGVyOjA7ei1pbmRleDo5OTk5NTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2N1cnNvcjpkZWZhdWx0O292ZXJmbG93OnZpc2libGU7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0O3RyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7YmFja2dyb3VuZC1zaXplOjEwMCUgMTAwJTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5LC13ZWJraXQtdHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLG9wYWNpdHk7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sb3BhY2l0eSwtd2Via2l0LXRyYW5zZm9ybX0uZmFuY3lib3gtY2FuLXpvb21PdXQgLmZhbmN5Ym94LWltYWdlLXdyYXB7Y3Vyc29yOnpvb20tb3V0fS5mYW5jeWJveC1jYW4tem9vbUluIC5mYW5jeWJveC1pbWFnZS13cmFwe2N1cnNvcjp6b29tLWlufS5mYW5jeWJveC1jYW4tZHJhZyAuZmFuY3lib3gtaW1hZ2Utd3JhcHtjdXJzb3I6LXdlYmtpdC1ncmFiO2N1cnNvcjpncmFifS5mYW5jeWJveC1pcy1kcmFnZ2luZyAuZmFuY3lib3gtaW1hZ2Utd3JhcHtjdXJzb3I6LXdlYmtpdC1ncmFiYmluZztjdXJzb3I6Z3JhYmJpbmd9LmZhbmN5Ym94LWltYWdlLC5mYW5jeWJveC1zcGFjZWJhbGx7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjowO21heC13aWR0aDpub25lO21heC1oZWlnaHQ6bm9uZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LmZhbmN5Ym94LXNwYWNlYmFsbHt6LWluZGV4OjF9LmZhbmN5Ym94LXNsaWRlLS1pZnJhbWUgLmZhbmN5Ym94LWNvbnRlbnR7cGFkZGluZzowO3dpZHRoOjgwJTtoZWlnaHQ6ODAlO21heC13aWR0aDpjYWxjKDEwMCUgLSAxMDBweCk7bWF4LWhlaWdodDpjYWxjKDEwMCUgLSA4OHB4KTtvdmVyZmxvdzp2aXNpYmxlO2JhY2tncm91bmQ6I2ZmZn0uZmFuY3lib3gtaWZyYW1le2Rpc3BsYXk6YmxvY2s7cGFkZGluZzowO2JvcmRlcjowO2hlaWdodDoxMDAlfS5mYW5jeWJveC1lcnJvciwuZmFuY3lib3gtaWZyYW1le21hcmdpbjowO3dpZHRoOjEwMCU7YmFja2dyb3VuZDojZmZmfS5mYW5jeWJveC1lcnJvcntwYWRkaW5nOjQwcHg7bWF4LXdpZHRoOjM4MHB4O2N1cnNvcjpkZWZhdWx0fS5mYW5jeWJveC1lcnJvciBwe21hcmdpbjowO3BhZGRpbmc6MDtjb2xvcjojNDQ0O2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjIwcHh9LmZhbmN5Ym94LWJ1dHRvbntib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjQ0cHg7aGVpZ2h0OjQ0cHg7bWFyZ2luOjA7cGFkZGluZzoxMHB4O2JvcmRlcjowO2JvcmRlci1yYWRpdXM6MDtiYWNrZ3JvdW5kOnJnYmEoMzAsMzAsMzAsLjYpO3RyYW5zaXRpb246Y29sb3IgLjNzIGVhc2U7Y3Vyc29yOnBvaW50ZXI7b3V0bGluZTpub25lfS5mYW5jeWJveC1idXR0b24sLmZhbmN5Ym94LWJ1dHRvbjpsaW5rLC5mYW5jeWJveC1idXR0b246dmlzaXRlZHtjb2xvcjojY2NjfS5mYW5jeWJveC1idXR0b246Zm9jdXMsLmZhbmN5Ym94LWJ1dHRvbjpob3Zlcntjb2xvcjojZmZmfS5mYW5jeWJveC1idXR0b25bZGlzYWJsZWRde2NvbG9yOiNjY2M7Y3Vyc29yOmRlZmF1bHQ7b3BhY2l0eTouNn0uZmFuY3lib3gtYnV0dG9uIHN2Z3tkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OnZpc2libGU7c2hhcGUtcmVuZGVyaW5nOmdlb21ldHJpY1ByZWNpc2lvbn0uZmFuY3lib3gtYnV0dG9uIHN2ZyBwYXRoe2ZpbGw6Y3VycmVudENvbG9yO3N0cm9rZTpjdXJyZW50Q29sb3I7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS13aWR0aDozfS5mYW5jeWJveC1idXR0b24tLXNoYXJlIHN2ZyBwYXRoe3N0cm9rZS13aWR0aDoxfS5mYW5jeWJveC1idXR0b24tLXBhdXNlIHN2ZyBwYXRoOm50aC1jaGlsZCgxKSwuZmFuY3lib3gtYnV0dG9uLS1wbGF5IHN2ZyBwYXRoOm50aC1jaGlsZCgyKXtkaXNwbGF5Om5vbmV9LmZhbmN5Ym94LWJ1dHRvbi0tem9vbSBzdmcgcGF0aHtmaWxsOnRyYW5zcGFyZW50fS5mYW5jeWJveC1uYXZpZ2F0aW9ue2Rpc3BsYXk6bm9uZX0uZmFuY3lib3gtc2hvdy1uYXYgLmZhbmN5Ym94LW5hdmlnYXRpb257ZGlzcGxheTpibG9ja30uZmFuY3lib3gtbmF2aWdhdGlvbiBidXR0b257cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTttYXJnaW46LTUwcHggMCAwO3otaW5kZXg6OTk5OTc7YmFja2dyb3VuZDp0cmFuc3BhcmVudDt3aWR0aDo2MHB4O2hlaWdodDoxMDBweDtwYWRkaW5nOjE3cHh9LmZhbmN5Ym94LW5hdmlnYXRpb24gYnV0dG9uOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDozMHB4O3JpZ2h0OjEwcHg7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtiYWNrZ3JvdW5kOnJnYmEoMzAsMzAsMzAsLjYpfS5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24tLWFycm93X2xlZnR7bGVmdDowfS5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24tLWFycm93X3JpZ2h0e3JpZ2h0OjB9LmZhbmN5Ym94LWNsb3NlLXNtYWxse3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtwYWRkaW5nOjA7bWFyZ2luOjA7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czowO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7ei1pbmRleDoxMDtjdXJzb3I6cG9pbnRlcn0uZmFuY3lib3gtY2xvc2Utc21hbGw6YWZ0ZXJ7Y29udGVudDoiw5ciO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1cHg7cmlnaHQ6NXB4O3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7Zm9udDoyMnB4LzMwcHggQXJpYWwsSGVsdmV0aWNhIE5ldWUsSGVsdmV0aWNhLHNhbnMtc2VyaWY7Y29sb3I6Izg4ODtmb250LXdlaWdodDozMDA7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyLXdpZHRoOjA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjI1cztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoyfS5mYW5jeWJveC1jbG9zZS1zbWFsbDpmb2N1c3tvdXRsaW5lOm5vbmV9LmZhbmN5Ym94LWNsb3NlLXNtYWxsOmZvY3VzOmFmdGVye291dGxpbmU6MXB4IGRvdHRlZCAjODg4fS5mYW5jeWJveC1jbG9zZS1zbWFsbDpob3ZlcjphZnRlcntjb2xvcjojNTU1O2JhY2tncm91bmQ6I2VlZX0uZmFuY3lib3gtc2xpZGUtLWlmcmFtZSAuZmFuY3lib3gtY2xvc2Utc21hbGwsLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSAuZmFuY3lib3gtY2xvc2Utc21hbGx7dG9wOjA7cmlnaHQ6LTQwcHh9LmZhbmN5Ym94LXNsaWRlLS1pZnJhbWUgLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmFmdGVyLC5mYW5jeWJveC1zbGlkZS0taW1hZ2UgLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmFmdGVye2ZvbnQtc2l6ZTozNXB4O2NvbG9yOiNhYWF9LmZhbmN5Ym94LXNsaWRlLS1pZnJhbWUgLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmhvdmVyOmFmdGVyLC5mYW5jeWJveC1zbGlkZS0taW1hZ2UgLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmhvdmVyOmFmdGVye2NvbG9yOiNmZmY7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0uZmFuY3lib3gtaXMtc2NhbGluZyAuZmFuY3lib3gtY2xvc2Utc21hbGwsLmZhbmN5Ym94LWlzLXpvb21hYmxlLmZhbmN5Ym94LWNhbi1kcmFnIC5mYW5jeWJveC1jbG9zZS1zbWFsbHtkaXNwbGF5Om5vbmV9LmZhbmN5Ym94LWNhcHRpb24td3JhcHtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtwYWRkaW5nOjYwcHggMnZ3IDA7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHRyYW5zcGFyZW50IDAscmdiYSgwLDAsMCwuMSkgMjAlLHJnYmEoMCwwLDAsLjIpIDQwJSxyZ2JhKDAsMCwwLC42KSA4MCUscmdiYSgwLDAsMCwuOCkpO3BvaW50ZXItZXZlbnRzOm5vbmV9LmZhbmN5Ym94LWNhcHRpb257cGFkZGluZzozMHB4IDA7Ym9yZGVyLXRvcDoxcHggc29saWQgaHNsYSgwLDAlLDEwMCUsLjQpO2ZvbnQtc2l6ZToxNHB4O2NvbG9yOiNmZmY7bGluZS1oZWlnaHQ6MjBweDstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6bm9uZX0uZmFuY3lib3gtY2FwdGlvbiBhLC5mYW5jeWJveC1jYXB0aW9uIGJ1dHRvbiwuZmFuY3lib3gtY2FwdGlvbiBzZWxlY3R7cG9pbnRlci1ldmVudHM6YWxsO3Bvc2l0aW9uOnJlbGF0aXZlfS5mYW5jeWJveC1jYXB0aW9uIGF7Y29sb3I6I2ZmZjt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5mYW5jeWJveC1zbGlkZT4uZmFuY3lib3gtbG9hZGluZ3tib3JkZXI6NnB4IHNvbGlkIGhzbGEoMCwwJSwzOSUsLjQpO2JvcmRlci10b3A6NnB4IHNvbGlkIGhzbGEoMCwwJSwxMDAlLC42KTtib3JkZXItcmFkaXVzOjEwMCU7aGVpZ2h0OjUwcHg7d2lkdGg6NTBweDstd2Via2l0LWFuaW1hdGlvbjphIC44cyBpbmZpbml0ZSBsaW5lYXI7YW5pbWF0aW9uOmEgLjhzIGluZmluaXRlIGxpbmVhcjtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDo1MCU7bWFyZ2luLXRvcDotMzBweDttYXJnaW4tbGVmdDotMzBweDt6LWluZGV4Ojk5OTk5fUAtd2Via2l0LWtleWZyYW1lcyBhezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgzNTlkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMzU5ZGVnKX19QGtleWZyYW1lcyBhezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgzNTlkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMzU5ZGVnKX19LmZhbmN5Ym94LWFuaW1hdGVke3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLDAsLjI1LDEpfS5mYW5jeWJveC1meC1zbGlkZS5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXN7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKTtvcGFjaXR5OjB9LmZhbmN5Ym94LWZ4LXNsaWRlLmZhbmN5Ym94LXNsaWRlLS1uZXh0ey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApO29wYWNpdHk6MH0uZmFuY3lib3gtZngtc2xpZGUuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnR7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtvcGFjaXR5OjF9LmZhbmN5Ym94LWZ4LWZhZGUuZmFuY3lib3gtc2xpZGUtLW5leHQsLmZhbmN5Ym94LWZ4LWZhZGUuZmFuY3lib3gtc2xpZGUtLXByZXZpb3Vze29wYWNpdHk6MDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjE5LDEsLjIyLDEpfS5mYW5jeWJveC1meC1mYWRlLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50e29wYWNpdHk6MX0uZmFuY3lib3gtZngtem9vbS1pbi1vdXQuZmFuY3lib3gtc2xpZGUtLXByZXZpb3Vzey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMS41LDEuNSwxLjUpO3RyYW5zZm9ybTpzY2FsZTNkKDEuNSwxLjUsMS41KTtvcGFjaXR5OjB9LmZhbmN5Ym94LWZ4LXpvb20taW4tb3V0LmZhbmN5Ym94LXNsaWRlLS1uZXh0ey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjUsLjUsLjUpO3RyYW5zZm9ybTpzY2FsZTNkKC41LC41LC41KTtvcGFjaXR5OjB9LmZhbmN5Ym94LWZ4LXpvb20taW4tb3V0LmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50ey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgxKTt0cmFuc2Zvcm06c2NhbGVYKDEpO29wYWNpdHk6MX0uZmFuY3lib3gtZngtcm90YXRlLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91c3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTF0dXJuKTt0cmFuc2Zvcm06cm90YXRlKC0xdHVybik7b3BhY2l0eTowfS5mYW5jeWJveC1meC1yb3RhdGUuZmFuY3lib3gtc2xpZGUtLW5leHR7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDF0dXJuKTt0cmFuc2Zvcm06cm90YXRlKDF0dXJuKTtvcGFjaXR5OjB9LmZhbmN5Ym94LWZ4LXJvdGF0ZS5mYW5jeWJveC1zbGlkZS0tY3VycmVudHstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTtvcGFjaXR5OjF9LmZhbmN5Ym94LWZ4LWNpcmN1bGFyLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91c3std2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKDAsMCwwKSB0cmFuc2xhdGUzZCgtMTAwJSwwLDApO3RyYW5zZm9ybTpzY2FsZTNkKDAsMCwwKSB0cmFuc2xhdGUzZCgtMTAwJSwwLDApO29wYWNpdHk6MH0uZmFuY3lib3gtZngtY2lyY3VsYXIuZmFuY3lib3gtc2xpZGUtLW5leHR7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgwLDAsMCkgdHJhbnNsYXRlM2QoMTAwJSwwLDApO3RyYW5zZm9ybTpzY2FsZTNkKDAsMCwwKSB0cmFuc2xhdGUzZCgxMDAlLDAsMCk7b3BhY2l0eTowfS5mYW5jeWJveC1meC1jaXJjdWxhci5mYW5jeWJveC1zbGlkZS0tY3VycmVudHstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06c2NhbGVYKDEpIHRyYW5zbGF0ZVooMCk7b3BhY2l0eToxfS5mYW5jeWJveC1meC10dWJlLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91c3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApIHNjYWxlKC4xKSBza2V3KC0xMGRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCkgc2NhbGUoLjEpIHNrZXcoLTEwZGVnKX0uZmFuY3lib3gtZngtdHViZS5mYW5jeWJveC1zbGlkZS0tbmV4dHstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCkgc2NhbGUoLjEpIHNrZXcoMTBkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCkgc2NhbGUoLjEpIHNrZXcoMTBkZWcpfS5mYW5jeWJveC1meC10dWJlLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50ey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCkgc2NhbGUoMSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCkgc2NhbGUoMSl9LmZhbmN5Ym94LXNoYXJle3BhZGRpbmc6MzBweDtib3JkZXItcmFkaXVzOjNweDtiYWNrZ3JvdW5kOiNmNGY0ZjQ7bWF4LXdpZHRoOjkwJTt0ZXh0LWFsaWduOmNlbnRlcn0uZmFuY3lib3gtc2hhcmUgaDF7Y29sb3I6IzIyMjttYXJnaW46MCAwIDIwcHg7Zm9udC1zaXplOjM1cHg7Zm9udC13ZWlnaHQ6NzAwfS5mYW5jeWJveC1zaGFyZSBwe21hcmdpbjowO3BhZGRpbmc6MH1wLmZhbmN5Ym94LXNoYXJlX19saW5rc3ttYXJnaW4tcmlnaHQ6LTEwcHh9LmZhbmN5Ym94LXNoYXJlX19idXR0b257ZGlzcGxheTppbmxpbmUtYmxvY2s7dGV4dC1kZWNvcmF0aW9uOm5vbmU7bWFyZ2luOjAgMTBweCAxMHB4IDA7cGFkZGluZzowIDE1cHg7bWluLXdpZHRoOjEzMHB4O2JvcmRlcjowO2JvcmRlci1yYWRpdXM6M3B4O2JhY2tncm91bmQ6I2ZmZjt3aGl0ZS1zcGFjZTpub3dyYXA7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjQwcHg7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2NvbG9yOiNmZmY7dHJhbnNpdGlvbjphbGwgLjJzfS5mYW5jeWJveC1zaGFyZV9fYnV0dG9uOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5mYW5jeWJveC1zaGFyZV9fYnV0dG9uLS1mYntiYWNrZ3JvdW5kOiMzYjU5OTh9LmZhbmN5Ym94LXNoYXJlX19idXR0b24tLWZiOmhvdmVye2JhY2tncm91bmQ6IzM0NGU4Nn0uZmFuY3lib3gtc2hhcmVfX2J1dHRvbi0tcHR7YmFja2dyb3VuZDojYmQwODFkfS5mYW5jeWJveC1zaGFyZV9fYnV0dG9uLS1wdDpob3ZlcntiYWNrZ3JvdW5kOiNhYTA3MTl9LmZhbmN5Ym94LXNoYXJlX19idXR0b24tLXR3e2JhY2tncm91bmQ6IzFkYTFmMn0uZmFuY3lib3gtc2hhcmVfX2J1dHRvbi0tdHc6aG92ZXJ7YmFja2dyb3VuZDojMGQ5NWU4fS5mYW5jeWJveC1zaGFyZV9fYnV0dG9uIHN2Z3twb3NpdGlvbjpyZWxhdGl2ZTt0b3A6LTFweDt3aWR0aDoyNXB4O2hlaWdodDoyNXB4O21hcmdpbi1yaWdodDo3cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5mYW5jeWJveC1zaGFyZV9fYnV0dG9uIHN2ZyBwYXRoe2ZpbGw6I2ZmZn0uZmFuY3lib3gtc2hhcmVfX2lucHV0e2JveC1zaXppbmc6Ym9yZGVyLWJveDt3aWR0aDoxMDAlO21hcmdpbjoxMHB4IDAgMDtwYWRkaW5nOjEwcHggMTVweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiM1ZDViNWI7Zm9udC1zaXplOjE0cHg7b3V0bGluZTpub25lO2JvcmRlcjowO2JvcmRlci1ib3R0b206MnB4IHNvbGlkICNkN2Q3ZDd9LmZhbmN5Ym94LXRodW1ic3tkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDt3aWR0aDoyMTJweDttYXJnaW46MDtwYWRkaW5nOjJweCAycHggNHB4O2JhY2tncm91bmQ6I2ZmZjstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7LW1zLW92ZXJmbG93LXN0eWxlOi1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDo5OTk5NX0uZmFuY3lib3gtdGh1bWJzLXh7b3ZlcmZsb3cteTpoaWRkZW47b3ZlcmZsb3cteDphdXRvfS5mYW5jeWJveC1zaG93LXRodW1icyAuZmFuY3lib3gtdGh1bWJze2Rpc3BsYXk6YmxvY2t9LmZhbmN5Ym94LXNob3ctdGh1bWJzIC5mYW5jeWJveC1pbm5lcntyaWdodDoyMTJweH0uZmFuY3lib3gtdGh1bWJzPnVse2xpc3Qtc3R5bGU6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO21hcmdpbjowO3BhZGRpbmc6MDtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmF1dG87Zm9udC1zaXplOjA7d2hpdGUtc3BhY2U6bm93cmFwfS5mYW5jeWJveC10aHVtYnMteD51bHtvdmVyZmxvdzpoaWRkZW59LmZhbmN5Ym94LXRodW1icy15PnVsOjotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDo3cHh9LmZhbmN5Ym94LXRodW1icy15PnVsOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czoxMHB4O2JveC1zaGFkb3c6aW5zZXQgMCAwIDZweCByZ2JhKDAsMCwwLC4zKX0uZmFuY3lib3gtdGh1bWJzLXk+dWw6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQ6IzJhMmEyYTtib3JkZXItcmFkaXVzOjEwcHh9LmZhbmN5Ym94LXRodW1icz51bD5saXtmbG9hdDpsZWZ0O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7bWFyZ2luOjJweDt3aWR0aDoxMDBweDtoZWlnaHQ6NzVweDttYXgtd2lkdGg6Y2FsYyg1MCUgLSA0cHgpO21heC1oZWlnaHQ6Y2FsYygxMDAlIC0gOHB4KTtwb3NpdGlvbjpyZWxhdGl2ZTtjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOm5vbmU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47Ym94LXNpemluZzpib3JkZXItYm94fWxpLmZhbmN5Ym94LXRodW1icy1sb2FkaW5ne2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMSl9LmZhbmN5Ym94LXRodW1icz51bD5saT5pbWd7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO21heC13aWR0aDpub25lO21heC1oZWlnaHQ6bm9uZTstd2Via2l0LXRvdWNoLWNhbGxvdXQ6bm9uZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LmZhbmN5Ym94LXRodW1icz51bD5saTpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MDtib3JkZXI6NHB4IHNvbGlkICM0ZWE3Zjk7ei1pbmRleDo5OTk5MTtvcGFjaXR5OjA7dHJhbnNpdGlvbjphbGwgLjJzIGN1YmljLWJlemllciguMjUsLjQ2LC40NSwuOTQpfS5mYW5jeWJveC10aHVtYnM+dWw+bGkuZmFuY3lib3gtdGh1bWJzLWFjdGl2ZTpiZWZvcmV7b3BhY2l0eToxfUBtZWRpYSAobWF4LXdpZHRoOjgwMHB4KXsuZmFuY3lib3gtdGh1bWJze3dpZHRoOjExMHB4fS5mYW5jeWJveC1zaG93LXRodW1icyAuZmFuY3lib3gtaW5uZXJ7cmlnaHQ6MTEwcHh9LmZhbmN5Ym94LXRodW1icz51bD5saXttYXgtd2lkdGg6Y2FsYygxMDAlIC0gMTBweCl9fQ=="}},"time_used":37,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":36,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/css/jquery-ui.css","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.724Z","timestamp":1785123231724,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /css/jquery-ui.css HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/css/style.css\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: text/css\r\nlast-modified: Wed, 22 Apr 2026 17:27:27 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 7968\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":37585,"size_decoded":8277,"mime_type":"text/css","magic":"ASCII text, with very long lines (2363), with CRLF line terminators","md5":"460ac2831008183c8644e22e8c17d2d6","sha1":"5a0687beda8321ab956a465b5b113399ceb39bfa","sha256":"b91ccfef5609f6d77c52ae20fbe7cfbcbd4e54d8f6d34b0cd5e3616d07cc9729","sha512":"b25dd66fa165c04a7d197293c1354bdbeccdf02023fa0bdc548c8b2409bb25ccbcb430c5fe1bbd1ef14e25ea6406c67b2e20ed42ebb0a6f54108ffbdf7e8b237","ssdeep":"768:299VwgYrzZIjnT79V96MBiWAVPQ0l5r/cdH4NvEATfbv:ZVfbv","tlshash":"b5f21eb49b43340d7617d350f2f26bf3de2e1392ee17c96fa49a254982d64a1807f6b0","first_seen":"2026-06-26T06:01:48.605375Z","last_seen":"2026-07-27T05:05:33.741905Z","times_seen":7,"resource_available":false,"data":"LyohIGpRdWVyeSBVSSAtIHYxLjEyLjEgLSAyMDE2LTA5LTE0DQoqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiogSW5jbHVkZXM6IGNvcmUuY3NzLCBhY2NvcmRpb24uY3NzLCBhdXRvY29tcGxldGUuY3NzLCBtZW51LmNzcywgYnV0dG9uLmNzcywgY29udHJvbGdyb3VwLmNzcywgY2hlY2tib3hyYWRpby5jc3MsIGRhdGVwaWNrZXIuY3NzLCBkaWFsb2cuY3NzLCBkcmFnZ2FibGUuY3NzLCByZXNpemFibGUuY3NzLCBwcm9ncmVzc2Jhci5jc3MsIHNlbGVjdGFibGUuY3NzLCBzZWxlY3RtZW51LmNzcywgc2xpZGVyLmNzcywgc29ydGFibGUuY3NzLCBzcGlubmVyLmNzcywgdGFicy5jc3MsIHRvb2x0aXAuY3NzLCB0aGVtZS5jc3MNCiogVG8gdmlldyBhbmQgbW9kaWZ5IHRoaXMgdGhlbWUsIHZpc2l0IGh0dHA6Ly9qcXVlcnl1aS5jb20vdGhlbWVyb2xsZXIvP2ZmRGVmYXVsdD1BcmlhbCUyQ0hlbHZldGljYSUyQ3NhbnMtc2VyaWYmZnNEZWZhdWx0PTFlbSZmd0RlZmF1bHQ9bm9ybWFsJmNvcm5lclJhZGl1cz0zcHgmYmdDb2xvckhlYWRlcj1lOWU5ZTkmYmdUZXh0dXJlSGVhZGVyPWZsYXQmYm9yZGVyQ29sb3JIZWFkZXI9ZGRkZGRkJmZjSGVhZGVyPTMzMzMzMyZpY29uQ29sb3JIZWFkZXI9NDQ0NDQ0JmJnQ29sb3JDb250ZW50PWZmZmZmZiZiZ1RleHR1cmVDb250ZW50PWZsYXQmYm9yZGVyQ29sb3JDb250ZW50PWRkZGRkZCZmY0NvbnRlbnQ9MzMzMzMzJmljb25Db2xvckNvbnRlbnQ9NDQ0NDQ0JmJnQ29sb3JEZWZhdWx0PWY2ZjZmNiZiZ1RleHR1cmVEZWZhdWx0PWZsYXQmYm9yZGVyQ29sb3JEZWZhdWx0PWM1YzVjNSZmY0RlZmF1bHQ9NDU0NTQ1Jmljb25Db2xvckRlZmF1bHQ9Nzc3Nzc3JmJnQ29sb3JIb3Zlcj1lZGVkZWQmYmdUZXh0dXJlSG92ZXI9ZmxhdCZib3JkZXJDb2xvckhvdmVyPWNjY2NjYyZmY0hvdmVyPTJiMmIyYiZpY29uQ29sb3JIb3Zlcj01NTU1NTUmYmdDb2xvckFjdGl2ZT0wMDdmZmYmYmdUZXh0dXJlQWN0aXZlPWZsYXQmYm9yZGVyQ29sb3JBY3RpdmU9MDAzZWZmJmZjQWN0aXZlPWZmZmZmZiZpY29uQ29sb3JBY3RpdmU9ZmZmZmZmJmJnQ29sb3JIaWdobGlnaHQ9ZmZmYTkwJmJnVGV4dHVyZUhpZ2hsaWdodD1mbGF0JmJvcmRlckNvbG9ySGlnaGxpZ2h0PWRhZDU1ZSZmY0hpZ2hsaWdodD03Nzc2MjAmaWNvbkNvbG9ySGlnaGxpZ2h0PTc3NzYyMCZiZ0NvbG9yRXJyb3I9ZmRkZmRmJmJnVGV4dHVyZUVycm9yPWZsYXQmYm9yZGVyQ29sb3JFcnJvcj1mMWE4OTkmZmNFcnJvcj01ZjNmM2YmaWNvbkNvbG9yRXJyb3I9Y2MwMDAwJmJnQ29sb3JPdmVybGF5PWFhYWFhYSZiZ1RleHR1cmVPdmVybGF5PWZsYXQmYmdJbWdPcGFjaXR5T3ZlcmxheT0wJm9wYWNpdHlPdmVybGF5PTMwJmJnQ29sb3JTaGFkb3c9NjY2NjY2JmJnVGV4dHVyZVNoYWRvdz1mbGF0JmJnSW1nT3BhY2l0eVNoYWRvdz0wJm9wYWNpdHlTaGFkb3c9MzAmdGhpY2tuZXNzU2hhZG93PTVweCZvZmZzZXRUb3BTaGFkb3c9MHB4Jm9mZnNldExlZnRTaGFkb3c9MHB4JmNvcm5lclJhZGl1c1NoYWRvdz04cHgNCiogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnM7IExpY2Vuc2VkIE1JVCAqLw0KDQovKiBMYXlvdXQgaGVscGVycw0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoudWktaGVscGVyLWhpZGRlbiB7DQoJZGlzcGxheTogbm9uZTsNCn0NCi51aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUgew0KCWJvcmRlcjogMDsNCgljbGlwOiByZWN0KDAgMCAwIDApOw0KCWhlaWdodDogMXB4Ow0KCW1hcmdpbjogLTFweDsNCglvdmVyZmxvdzogaGlkZGVuOw0KCXBhZGRpbmc6IDA7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXdpZHRoOiAxcHg7DQp9DQoudWktaGVscGVyLXJlc2V0IHsNCgltYXJnaW46IDA7DQoJcGFkZGluZzogMDsNCglib3JkZXI6IDA7DQoJb3V0bGluZTogMDsNCglsaW5lLWhlaWdodDogMS4zOw0KCXRleHQtZGVjb3JhdGlvbjogbm9uZTsNCglmb250LXNpemU6IDEwMCU7DQoJbGlzdC1zdHlsZTogbm9uZTsNCn0NCi51aS1oZWxwZXItY2xlYXJmaXg6YmVmb3JlLA0KLnVpLWhlbHBlci1jbGVhcmZpeDphZnRlciB7DQoJY29udGVudDogIiI7DQoJZGlzcGxheTogdGFibGU7DQoJYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsNCn0NCi51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXIgew0KCWNsZWFyOiBib3RoOw0KfQ0KLnVpLWhlbHBlci16Zml4IHsNCgl3aWR0aDogMTAwJTsNCgloZWlnaHQ6IDEwMCU7DQoJdG9wOiAwOw0KCWxlZnQ6IDA7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCW9wYWNpdHk6IDA7DQoJZmlsdGVyOkFscGhhKE9wYWNpdHk9MCk7IC8qIHN1cHBvcnQ6IElFOCAqLw0KfQ0KDQoudWktZnJvbnQgew0KCXotaW5kZXg6IDk5OTk7DQp9DQoNCg0KLyogSW50ZXJhY3Rpb24gQ3Vlcw0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoudWktc3RhdGUtZGlzYWJsZWQgew0KCWN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50Ow0KCXBvaW50ZXItZXZlbnRzOiBub25lOw0KfQ0KDQoNCi8qIEljb25zDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi51aS1pY29uIHsNCglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQoJdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCgltYXJnaW4tdG9wOiAtLjI1ZW07DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCXRleHQtaW5kZW50OiAtOTk5OTlweDsNCglvdmVyZmxvdzogaGlkZGVuOw0KCWJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7DQp9DQoNCi51aS13aWRnZXQtaWNvbi1ibG9jayB7DQoJbGVmdDogNTAlOw0KCW1hcmdpbi1sZWZ0OiAtOHB4Ow0KCWRpc3BsYXk6IGJsb2NrOw0KfQ0KDQovKiBNaXNjIHZpc3VhbHMNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KDQovKiBPdmVybGF5cyAqLw0KLnVpLXdpZGdldC1vdmVybGF5IHsNCglwb3NpdGlvbjogZml4ZWQ7DQoJdG9wOiAwOw0KCWxlZnQ6IDA7DQoJd2lkdGg6IDEwMCU7DQoJaGVpZ2h0OiAxMDAlOw0KfQ0KLnVpLWFjY29yZGlvbiAudWktYWNjb3JkaW9uLWhlYWRlciB7DQoJZGlzcGxheTogYmxvY2s7DQoJY3Vyc29yOiBwb2ludGVyOw0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCgltYXJnaW46IDJweCAwIDAgMDsNCglwYWRkaW5nOiAuNWVtIC41ZW0gLjVlbSAuN2VtOw0KCWZvbnQtc2l6ZTogMTAwJTsNCn0NCi51aS1hY2NvcmRpb24gLnVpLWFjY29yZGlvbi1jb250ZW50IHsNCglwYWRkaW5nOiAxZW0gMi4yZW07DQoJYm9yZGVyLXRvcDogMDsNCglvdmVyZmxvdzogYXV0bzsNCn0NCi51aS1hdXRvY29tcGxldGUgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDA7DQoJbGVmdDogMDsNCgljdXJzb3I6IGRlZmF1bHQ7DQp9DQoudWktbWVudSB7DQoJbGlzdC1zdHlsZTogbm9uZTsNCglwYWRkaW5nOiAwOw0KCW1hcmdpbjogMDsNCglkaXNwbGF5OiBibG9jazsNCglvdXRsaW5lOiAwOw0KfQ0KLnVpLW1lbnUgLnVpLW1lbnUgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCn0NCi51aS1tZW51IC51aS1tZW51LWl0ZW0gew0KCW1hcmdpbjogMDsNCgljdXJzb3I6IHBvaW50ZXI7DQoJLyogc3VwcG9ydDogSUUxMCwgc2VlICM4ODQ0ICovDQoJbGlzdC1zdHlsZS1pbWFnZTogdXJsKCJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBQUFBUC8vL3lINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQlJBQTciKTsNCn0NCi51aS1tZW51IC51aS1tZW51LWl0ZW0td3JhcHBlciB7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCXBhZGRpbmc6IDNweCAxZW0gM3B4IC40ZW07DQp9DQoudWktbWVudSAudWktbWVudS1kaXZpZGVyIHsNCgltYXJnaW46IDVweCAwOw0KCWhlaWdodDogMDsNCglmb250LXNpemU6IDA7DQoJbGluZS1oZWlnaHQ6IDA7DQoJYm9yZGVyLXdpZHRoOiAxcHggMCAwIDA7DQp9DQoudWktbWVudSAudWktc3RhdGUtZm9jdXMsDQoudWktbWVudSAudWktc3RhdGUtYWN0aXZlIHsNCgltYXJnaW46IC0xcHg7DQp9DQoNCi8qIGljb24gc3VwcG9ydCAqLw0KLnVpLW1lbnUtaWNvbnMgew0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCn0NCi51aS1tZW51LWljb25zIC51aS1tZW51LWl0ZW0td3JhcHBlciB7DQoJcGFkZGluZy1sZWZ0OiAyZW07DQp9DQoNCi8qIGxlZnQtYWxpZ25lZCAqLw0KLnVpLW1lbnUgLnVpLWljb24gew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDA7DQoJYm90dG9tOiAwOw0KCWxlZnQ6IC4yZW07DQoJbWFyZ2luOiBhdXRvIDA7DQp9DQoNCi8qIHJpZ2h0LWFsaWduZWQgKi8NCi51aS1tZW51IC51aS1tZW51LWljb24gew0KCWxlZnQ6IGF1dG87DQoJcmlnaHQ6IDA7DQp9DQoudWktYnV0dG9uIHsNCglwYWRkaW5nOiAuNGVtIDFlbTsNCglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCWxpbmUtaGVpZ2h0OiBub3JtYWw7DQoJbWFyZ2luLXJpZ2h0OiAuMWVtOw0KCWN1cnNvcjogcG9pbnRlcjsNCgl2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KCXRleHQtYWxpZ246IGNlbnRlcjsNCgktd2Via2l0LXVzZXItc2VsZWN0OiBub25lOw0KCS1tb3otdXNlci1zZWxlY3Q6IG5vbmU7DQoJLW1zLXVzZXItc2VsZWN0OiBub25lOw0KCXVzZXItc2VsZWN0OiBub25lOw0KDQoJLyogU3VwcG9ydDogSUUgPD0gMTEgKi8NCglvdmVyZmxvdzogdmlzaWJsZTsNCn0NCg0KLnVpLWJ1dHRvbiwNCi51aS1idXR0b246bGluaywNCi51aS1idXR0b246dmlzaXRlZCwNCi51aS1idXR0b246aG92ZXIsDQoudWktYnV0dG9uOmFjdGl2ZSB7DQoJdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KfQ0KDQovKiB0byBtYWtlIHJvb20gZm9yIHRoZSBpY29uLCBhIHdpZHRoIG5lZWRzIHRvIGJlIHNldCBoZXJlICovDQoudWktYnV0dG9uLWljb24tb25seSB7DQoJd2lkdGg6IDJlbTsNCglib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KCXRleHQtaW5kZW50OiAtOTk5OXB4Ow0KCXdoaXRlLXNwYWNlOiBub3dyYXA7DQp9DQoNCi8qIG5vIGljb24gc3VwcG9ydCBmb3IgaW5wdXQgZWxlbWVudHMgKi8NCmlucHV0LnVpLWJ1dHRvbi51aS1idXR0b24taWNvbi1vbmx5IHsNCgl0ZXh0LWluZGVudDogMDsNCn0NCg0KLyogYnV0dG9uIGljb24gZWxlbWVudChzKSAqLw0KLnVpLWJ1dHRvbi1pY29uLW9ubHkgLnVpLWljb24gew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDUwJTsNCglsZWZ0OiA1MCU7DQoJbWFyZ2luLXRvcDogLThweDsNCgltYXJnaW4tbGVmdDogLThweDsNCn0NCg0KLnVpLWJ1dHRvbi51aS1pY29uLW5vdGV4dCAudWktaWNvbiB7DQoJcGFkZGluZzogMDsNCgl3aWR0aDogMi4xZW07DQoJaGVpZ2h0OiAyLjFlbTsNCgl0ZXh0LWluZGVudDogLTk5OTlweDsNCgl3aGl0ZS1zcGFjZTogbm93cmFwOw0KDQp9DQoNCmlucHV0LnVpLWJ1dHRvbi51aS1pY29uLW5vdGV4dCAudWktaWNvbiB7DQoJd2lkdGg6IGF1dG87DQoJaGVpZ2h0OiBhdXRvOw0KCXRleHQtaW5kZW50OiAwOw0KCXdoaXRlLXNwYWNlOiBub3JtYWw7DQoJcGFkZGluZzogLjRlbSAxZW07DQp9DQoNCi8qIHdvcmthcm91bmRzICovDQovKiBTdXBwb3J0OiBGaXJlZm94IDUgLSA0MCAqLw0KaW5wdXQudWktYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLA0KYnV0dG9uLnVpLWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7DQoJYm9yZGVyOiAwOw0KCXBhZGRpbmc6IDA7DQp9DQoudWktY29udHJvbGdyb3VwIHsNCgl2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KCWRpc3BsYXk6IGlubGluZS1ibG9jazsNCn0NCi51aS1jb250cm9sZ3JvdXAgPiAudWktY29udHJvbGdyb3VwLWl0ZW0gew0KCWZsb2F0OiBsZWZ0Ow0KCW1hcmdpbi1sZWZ0OiAwOw0KCW1hcmdpbi1yaWdodDogMDsNCn0NCi51aS1jb250cm9sZ3JvdXAgPiAudWktY29udHJvbGdyb3VwLWl0ZW06Zm9jdXMsDQoudWktY29udHJvbGdyb3VwID4gLnVpLWNvbnRyb2xncm91cC1pdGVtLnVpLXZpc3VhbC1mb2N1cyB7DQoJei1pbmRleDogOTk5OTsNCn0NCi51aS1jb250cm9sZ3JvdXAtdmVydGljYWwgPiAudWktY29udHJvbGdyb3VwLWl0ZW0gew0KCWRpc3BsYXk6IGJsb2NrOw0KCWZsb2F0OiBub25lOw0KCXdpZHRoOiAxMDAlOw0KCW1hcmdpbi10b3A6IDA7DQoJbWFyZ2luLWJvdHRvbTogMDsNCgl0ZXh0LWFsaWduOiBsZWZ0Ow0KfQ0KLnVpLWNvbnRyb2xncm91cC12ZXJ0aWNhbCAudWktY29udHJvbGdyb3VwLWl0ZW0gew0KCWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQp9DQoudWktY29udHJvbGdyb3VwIC51aS1jb250cm9sZ3JvdXAtbGFiZWwgew0KCXBhZGRpbmc6IC40ZW0gMWVtOw0KfQ0KLnVpLWNvbnRyb2xncm91cCAudWktY29udHJvbGdyb3VwLWxhYmVsIHNwYW4gew0KCWZvbnQtc2l6ZTogODAlOw0KfQ0KLnVpLWNvbnRyb2xncm91cC1ob3Jpem9udGFsIC51aS1jb250cm9sZ3JvdXAtbGFiZWwgKyAudWktY29udHJvbGdyb3VwLWl0ZW0gew0KCWJvcmRlci1sZWZ0OiBub25lOw0KfQ0KLnVpLWNvbnRyb2xncm91cC12ZXJ0aWNhbCAudWktY29udHJvbGdyb3VwLWxhYmVsICsgLnVpLWNvbnRyb2xncm91cC1pdGVtIHsNCglib3JkZXItdG9wOiBub25lOw0KfQ0KLnVpLWNvbnRyb2xncm91cC1ob3Jpem9udGFsIC51aS1jb250cm9sZ3JvdXAtbGFiZWwudWktd2lkZ2V0LWNvbnRlbnQgew0KCWJvcmRlci1yaWdodDogbm9uZTsNCn0NCi51aS1jb250cm9sZ3JvdXAtdmVydGljYWwgLnVpLWNvbnRyb2xncm91cC1sYWJlbC51aS13aWRnZXQtY29udGVudCB7DQoJYm9yZGVyLWJvdHRvbTogbm9uZTsNCn0NCg0KLyogU3Bpbm5lciBzcGVjaWZpYyBzdHlsZSBmaXhlcyAqLw0KLnVpLWNvbnRyb2xncm91cC12ZXJ0aWNhbCAudWktc3Bpbm5lci1pbnB1dCB7DQoNCgkvKiBTdXBwb3J0OiBJRTggb25seSwgQW5kcm9pZCA8IDQuNCBvbmx5ICovDQoJd2lkdGg6IDc1JTsNCgl3aWR0aDogY2FsYyggMTAwJSAtIDIuNGVtICk7DQp9DQoudWktY29udHJvbGdyb3VwLXZlcnRpY2FsIC51aS1zcGlubmVyIC51aS1zcGlubmVyLXVwIHsNCglib3JkZXItdG9wLXN0eWxlOiBzb2xpZDsNCn0NCg0KLnVpLWNoZWNrYm94cmFkaW8tbGFiZWwgLnVpLWljb24tYmFja2dyb3VuZCB7DQoJYm94LXNoYWRvdzogaW5zZXQgMXB4IDFweCAxcHggI2NjYzsNCglib3JkZXItcmFkaXVzOiAuMTJlbTsNCglib3JkZXI6IG5vbmU7DQp9DQoudWktY2hlY2tib3hyYWRpby1yYWRpby1sYWJlbCAudWktaWNvbi1iYWNrZ3JvdW5kIHsNCgl3aWR0aDogMTZweDsNCgloZWlnaHQ6IDE2cHg7DQoJYm9yZGVyLXJhZGl1czogMWVtOw0KCW92ZXJmbG93OiB2aXNpYmxlOw0KCWJvcmRlcjogbm9uZTsNCn0NCi51aS1jaGVja2JveHJhZGlvLXJhZGlvLWxhYmVsLnVpLWNoZWNrYm94cmFkaW8tY2hlY2tlZCAudWktaWNvbiwNCi51aS1jaGVja2JveHJhZGlvLXJhZGlvLWxhYmVsLnVpLWNoZWNrYm94cmFkaW8tY2hlY2tlZDpob3ZlciAudWktaWNvbiB7DQoJYmFja2dyb3VuZC1pbWFnZTogbm9uZTsNCgl3aWR0aDogOHB4Ow0KCWhlaWdodDogOHB4Ow0KCWJvcmRlci13aWR0aDogNHB4Ow0KCWJvcmRlci1zdHlsZTogc29saWQ7DQp9DQoudWktY2hlY2tib3hyYWRpby1kaXNhYmxlZCB7DQoJcG9pbnRlci1ldmVudHM6IG5vbmU7DQp9DQoudWktZGF0ZXBpY2tlciB7DQoJd2lkdGg6IDE3ZW07DQoJcGFkZGluZzogLjJlbSAuMmVtIDA7DQoJZGlzcGxheTogbm9uZTsNCn0NCi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWhlYWRlciB7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCXBhZGRpbmc6IC4yZW0gMDsNCn0NCi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYsDQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0IHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiAycHg7DQoJd2lkdGg6IDEuOGVtOw0KCWhlaWdodDogMS44ZW07DQp9DQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyLA0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciB7DQoJdG9wOiAxcHg7DQp9DQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2IHsNCglsZWZ0OiAycHg7DQp9DQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0IHsNCglyaWdodDogMnB4Ow0KfQ0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldi1ob3ZlciB7DQoJbGVmdDogMXB4Ow0KfQ0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciB7DQoJcmlnaHQ6IDFweDsNCn0NCi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYgc3BhbiwNCi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQgc3BhbiB7DQoJZGlzcGxheTogYmxvY2s7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCWxlZnQ6IDUwJTsNCgltYXJnaW4tbGVmdDogLThweDsNCgl0b3A6IDUwJTsNCgltYXJnaW4tdG9wOiAtOHB4Ow0KfQ0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItdGl0bGUgew0KCW1hcmdpbjogMCAyLjNlbTsNCglsaW5lLWhlaWdodDogMS44ZW07DQoJdGV4dC1hbGlnbjogY2VudGVyOw0KfQ0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItdGl0bGUgc2VsZWN0IHsNCglmb250LXNpemU6IDFlbTsNCgltYXJnaW46IDFweCAwOw0KfQ0KLnVpLWRhdGVwaWNrZXIgc2VsZWN0LnVpLWRhdGVwaWNrZXItbW9udGgsDQoudWktZGF0ZXBpY2tlciBzZWxlY3QudWktZGF0ZXBpY2tlci15ZWFyIHsNCgl3aWR0aDogNDUlOw0KfQ0KLnVpLWRhdGVwaWNrZXIgdGFibGUgew0KCXdpZHRoOiAxMDAlOw0KCWZvbnQtc2l6ZTogLjllbTsNCglib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOw0KCW1hcmdpbjogMCAwIC40ZW07DQp9DQoudWktZGF0ZXBpY2tlciB0aCB7DQoJcGFkZGluZzogLjdlbSAuM2VtOw0KCXRleHQtYWxpZ246IGNlbnRlcjsNCglmb250LXdlaWdodDogYm9sZDsNCglib3JkZXI6IDA7DQp9DQoudWktZGF0ZXBpY2tlciB0ZCB7DQoJYm9yZGVyOiAwOw0KCXBhZGRpbmc6IDFweDsNCn0NCi51aS1kYXRlcGlja2VyIHRkIHNwYW4sDQoudWktZGF0ZXBpY2tlciB0ZCBhIHsNCglkaXNwbGF5OiBibG9jazsNCglwYWRkaW5nOiAuMmVtOw0KCXRleHQtYWxpZ246IHJpZ2h0Ow0KCXRleHQtZGVjb3JhdGlvbjogbm9uZTsNCn0NCi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgew0KCWJhY2tncm91bmQtaW1hZ2U6IG5vbmU7DQoJbWFyZ2luOiAuN2VtIDAgMCAwOw0KCXBhZGRpbmc6IDAgLjJlbTsNCglib3JkZXItbGVmdDogMDsNCglib3JkZXItcmlnaHQ6IDA7DQoJYm9yZGVyLWJvdHRvbTogMDsNCn0NCi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uIHsNCglmbG9hdDogcmlnaHQ7DQoJbWFyZ2luOiAuNWVtIC4yZW0gLjRlbTsNCgljdXJzb3I6IHBvaW50ZXI7DQoJcGFkZGluZzogLjJlbSAuNmVtIC4zZW0gLjZlbTsNCgl3aWR0aDogYXV0bzsNCglvdmVyZmxvdzogdmlzaWJsZTsNCn0NCi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uLnVpLWRhdGVwaWNrZXItY3VycmVudCB7DQoJZmxvYXQ6IGxlZnQ7DQp9DQoNCi8qIHdpdGggbXVsdGlwbGUgY2FsZW5kYXJzICovDQoudWktZGF0ZXBpY2tlci51aS1kYXRlcGlja2VyLW11bHRpIHsNCgl3aWR0aDogYXV0bzsNCn0NCi51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwIHsNCglmbG9hdDogbGVmdDsNCn0NCi51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwIHRhYmxlIHsNCgl3aWR0aDogOTUlOw0KCW1hcmdpbjogMCBhdXRvIC40ZW07DQp9DQoudWktZGF0ZXBpY2tlci1tdWx0aS0yIC51aS1kYXRlcGlja2VyLWdyb3VwIHsNCgl3aWR0aDogNTAlOw0KfQ0KLnVpLWRhdGVwaWNrZXItbXVsdGktMyAudWktZGF0ZXBpY2tlci1ncm91cCB7DQoJd2lkdGg6IDMzLjMlOw0KfQ0KLnVpLWRhdGVwaWNrZXItbXVsdGktNCAudWktZGF0ZXBpY2tlci1ncm91cCB7DQoJd2lkdGg6IDI1JTsNCn0NCi51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwLWxhc3QgLnVpLWRhdGVwaWNrZXItaGVhZGVyLA0KLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbWlkZGxlIC51aS1kYXRlcGlja2VyLWhlYWRlciB7DQoJYm9yZGVyLWxlZnQtd2lkdGg6IDA7DQp9DQoudWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHsNCgljbGVhcjogbGVmdDsNCn0NCi51aS1kYXRlcGlja2VyLXJvdy1icmVhayB7DQoJY2xlYXI6IGJvdGg7DQoJd2lkdGg6IDEwMCU7DQoJZm9udC1zaXplOiAwOw0KfQ0KDQovKiBSVEwgc3VwcG9ydCAqLw0KLnVpLWRhdGVwaWNrZXItcnRsIHsNCglkaXJlY3Rpb246IHJ0bDsNCn0NCi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1wcmV2IHsNCglyaWdodDogMnB4Ow0KCWxlZnQ6IGF1dG87DQp9DQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItbmV4dCB7DQoJbGVmdDogMnB4Ow0KCXJpZ2h0OiBhdXRvOw0KfQ0KLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLXByZXY6aG92ZXIgew0KCXJpZ2h0OiAxcHg7DQoJbGVmdDogYXV0bzsNCn0NCi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1uZXh0OmhvdmVyIHsNCglsZWZ0OiAxcHg7DQoJcmlnaHQ6IGF1dG87DQp9DQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSB7DQoJY2xlYXI6IHJpZ2h0Ow0KfQ0KLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uIHsNCglmbG9hdDogbGVmdDsNCn0NCi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbi51aS1kYXRlcGlja2VyLWN1cnJlbnQsDQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAgew0KCWZsb2F0OiByaWdodDsNCn0NCi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1ncm91cC1sYXN0IC51aS1kYXRlcGlja2VyLWhlYWRlciwNCi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1ncm91cC1taWRkbGUgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHsNCglib3JkZXItcmlnaHQtd2lkdGg6IDA7DQoJYm9yZGVyLWxlZnQtd2lkdGg6IDFweDsNCn0NCg0KLyogSWNvbnMgKi8NCi51aS1kYXRlcGlja2VyIC51aS1pY29uIHsNCglkaXNwbGF5OiBibG9jazsNCgl0ZXh0LWluZGVudDogLTk5OTk5cHg7DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCgliYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0Ow0KCWxlZnQ6IC41ZW07DQoJdG9wOiAuM2VtOw0KfQ0KLnVpLWRpYWxvZyB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDogMDsNCglsZWZ0OiAwOw0KCXBhZGRpbmc6IC4yZW07DQoJb3V0bGluZTogMDsNCn0NCi51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhciB7DQoJcGFkZGluZzogLjRlbSAxZW07DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KLnVpLWRpYWxvZyAudWktZGlhbG9nLXRpdGxlIHsNCglmbG9hdDogbGVmdDsNCgltYXJnaW46IC4xZW0gMDsNCgl3aGl0ZS1zcGFjZTogbm93cmFwOw0KCXdpZHRoOiA5MCU7DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCgl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsNCn0NCi51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXJpZ2h0OiAuM2VtOw0KCXRvcDogNTAlOw0KCXdpZHRoOiAyMHB4Ow0KCW1hcmdpbjogLTEwcHggMCAwIDA7DQoJcGFkZGluZzogMXB4Ow0KCWhlaWdodDogMjBweDsNCn0NCi51aS1kaWFsb2cgLnVpLWRpYWxvZy1jb250ZW50IHsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJYm9yZGVyOiAwOw0KCXBhZGRpbmc6IC41ZW0gMWVtOw0KCWJhY2tncm91bmQ6IG5vbmU7DQoJb3ZlcmZsb3c6IGF1dG87DQp9DQoudWktZGlhbG9nIC51aS1kaWFsb2ctYnV0dG9ucGFuZSB7DQoJdGV4dC1hbGlnbjogbGVmdDsNCglib3JkZXItd2lkdGg6IDFweCAwIDAgMDsNCgliYWNrZ3JvdW5kLWltYWdlOiBub25lOw0KCW1hcmdpbi10b3A6IC41ZW07DQoJcGFkZGluZzogLjNlbSAxZW0gLjVlbSAuNGVtOw0KfQ0KLnVpLWRpYWxvZyAudWktZGlhbG9nLWJ1dHRvbnBhbmUgLnVpLWRpYWxvZy1idXR0b25zZXQgew0KCWZsb2F0OiByaWdodDsNCn0NCi51aS1kaWFsb2cgLnVpLWRpYWxvZy1idXR0b25wYW5lIGJ1dHRvbiB7DQoJbWFyZ2luOiAuNWVtIC40ZW0gLjVlbSAwOw0KCWN1cnNvcjogcG9pbnRlcjsNCn0NCi51aS1kaWFsb2cgLnVpLXJlc2l6YWJsZS1uIHsNCgloZWlnaHQ6IDJweDsNCgl0b3A6IDA7DQp9DQoudWktZGlhbG9nIC51aS1yZXNpemFibGUtZSB7DQoJd2lkdGg6IDJweDsNCglyaWdodDogMDsNCn0NCi51aS1kaWFsb2cgLnVpLXJlc2l6YWJsZS1zIHsNCgloZWlnaHQ6IDJweDsNCglib3R0b206IDA7DQp9DQoudWktZGlhbG9nIC51aS1yZXNpemFibGUtdyB7DQoJd2lkdGg6IDJweDsNCglsZWZ0OiAwOw0KfQ0KLnVpLWRpYWxvZyAudWktcmVzaXphYmxlLXNlLA0KLnVpLWRpYWxvZyAudWktcmVzaXphYmxlLXN3LA0KLnVpLWRpYWxvZyAudWktcmVzaXphYmxlLW5lLA0KLnVpLWRpYWxvZyAudWktcmVzaXphYmxlLW53IHsNCgl3aWR0aDogN3B4Ow0KCWhlaWdodDogN3B4Ow0KfQ0KLnVpLWRpYWxvZyAudWktcmVzaXphYmxlLXNlIHsNCglyaWdodDogMDsNCglib3R0b206IDA7DQp9DQoudWktZGlhbG9nIC51aS1yZXNpemFibGUtc3cgew0KCWxlZnQ6IDA7DQoJYm90dG9tOiAwOw0KfQ0KLnVpLWRpYWxvZyAudWktcmVzaXphYmxlLW5lIHsNCglyaWdodDogMDsNCgl0b3A6IDA7DQp9DQoudWktZGlhbG9nIC51aS1yZXNpemFibGUtbncgew0KCWxlZnQ6IDA7DQoJdG9wOiAwOw0KfQ0KLnVpLWRyYWdnYWJsZSAudWktZGlhbG9nLXRpdGxlYmFyIHsNCgljdXJzb3I6IG1vdmU7DQp9DQoudWktZHJhZ2dhYmxlLWhhbmRsZSB7DQoJLW1zLXRvdWNoLWFjdGlvbjogbm9uZTsNCgl0b3VjaC1hY3Rpb246IG5vbmU7DQp9DQoudWktcmVzaXphYmxlIHsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQoudWktcmVzaXphYmxlLWhhbmRsZSB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCWZvbnQtc2l6ZTogMC4xcHg7DQoJZGlzcGxheTogYmxvY2s7DQoJLW1zLXRvdWNoLWFjdGlvbjogbm9uZTsNCgl0b3VjaC1hY3Rpb246IG5vbmU7DQp9DQoudWktcmVzaXphYmxlLWRpc2FibGVkIC51aS1yZXNpemFibGUtaGFuZGxlLA0KLnVpLXJlc2l6YWJsZS1hdXRvaGlkZSAudWktcmVzaXphYmxlLWhhbmRsZSB7DQoJZGlzcGxheTogbm9uZTsNCn0NCi51aS1yZXNpemFibGUtbiB7DQoJY3Vyc29yOiBuLXJlc2l6ZTsNCgloZWlnaHQ6IDdweDsNCgl3aWR0aDogMTAwJTsNCgl0b3A6IC01cHg7DQoJbGVmdDogMDsNCn0NCi51aS1yZXNpemFibGUtcyB7DQoJY3Vyc29yOiBzLXJlc2l6ZTsNCgloZWlnaHQ6IDdweDsNCgl3aWR0aDogMTAwJTsNCglib3R0b206IC01cHg7DQoJbGVmdDogMDsNCn0NCi51aS1yZXNpemFibGUtZSB7DQoJY3Vyc29yOiBlLXJlc2l6ZTsNCgl3aWR0aDogN3B4Ow0KCXJpZ2h0OiAtNXB4Ow0KCXRvcDogMDsNCgloZWlnaHQ6IDEwMCU7DQp9DQoudWktcmVzaXphYmxlLXcgew0KCWN1cnNvcjogdy1yZXNpemU7DQoJd2lkdGg6IDdweDsNCglsZWZ0OiAtNXB4Ow0KCXRvcDogMDsNCgloZWlnaHQ6IDEwMCU7DQp9DQoudWktcmVzaXphYmxlLXNlIHsNCgljdXJzb3I6IHNlLXJlc2l6ZTsNCgl3aWR0aDogMTJweDsNCgloZWlnaHQ6IDEycHg7DQoJcmlnaHQ6IDFweDsNCglib3R0b206IDFweDsNCn0NCi51aS1yZXNpemFibGUtc3cgew0KCWN1cnNvcjogc3ctcmVzaXplOw0KCXdpZHRoOiA5cHg7DQoJaGVpZ2h0OiA5cHg7DQoJbGVmdDogLTVweDsNCglib3R0b206IC01cHg7DQp9DQoudWktcmVzaXphYmxlLW53IHsNCgljdXJzb3I6IG53LXJlc2l6ZTsNCgl3aWR0aDogOXB4Ow0KCWhlaWdodDogOXB4Ow0KCWxlZnQ6IC01cHg7DQoJdG9wOiAtNXB4Ow0KfQ0KLnVpLXJlc2l6YWJsZS1uZSB7DQoJY3Vyc29yOiBuZS1yZXNpemU7DQoJd2lkdGg6IDlweDsNCgloZWlnaHQ6IDlweDsNCglyaWdodDogLTVweDsNCgl0b3A6IC01cHg7DQp9DQoudWktcHJvZ3Jlc3NiYXIgew0KCWhlaWdodDogMmVtOw0KCXRleHQtYWxpZ246IGxlZnQ7DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCn0NCi51aS1wcm9ncmVzc2JhciAudWktcHJvZ3Jlc3NiYXItdmFsdWUgew0KCW1hcmdpbjogLTFweDsNCgloZWlnaHQ6IDEwMCU7DQp9DQoudWktcHJvZ3Jlc3NiYXIgLnVpLXByb2dyZXNzYmFyLW92ZXJsYXkgew0KCWJhY2tncm91bmQ6IHVybCgiZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoS0FBb0FJQUJBQUFBQVAvLy95SC9DMDVGVkZORFFWQkZNaTR3QXdFQUFBQWgrUVFKQVFBQkFDd0FBQUFBS0FBb0FBQUNrWXdOcVhyZEM1MkRTMDZhN01GWkkrNEZIQkNLb0RlV0tYcXltUHFHcXh2SnJYWmJNeDdUdGMrdzlYZ1UyRkIzbE95UVJXRVQySUZHaVU5bTFmckRWcHhaWmM2YmZId3Y0YzFZWFA2azFWZHkyOTJGYjZVa3V2RnRYcHZXU3pBK0h5Y1hKSFVYaUdZSWlNZzJSNlc0NTlnbldHZkhOZGpJcURXVnFlbUgyZWtwT2JrcE9scHBXVXFaaXFyNmVkcXFXUUFBSWZrRUNRRUFBUUFzQUFBQUFDZ0FLQUFBQXBTTWdabkdmYXFjZzFFMnV1ekRtbUhVQlI4UWlsOTVoaVBLcVduM2FxdExzUzE4eTdHMVN6TmVvd1dCRU50UWQrVDFKa3RQMDVuelBUZEpabFI2dlV4TldXalYrdlVXaFdOa1dGd3hsOVZwWlJlZFljZmxJT0xhZmFhMjhYZHNIL3lubGNjMXVQVkRaeFFJUjBLMjUrY0lDQ21vcUNlNW1HaFpPZmVZU1VoNXlKY0p5cmtaV1dwYVI4ZG9KMm80TllxNjJsQUFBQ0g1QkFrQkFBRUFMQUFBQUFBb0FDZ0FBQUtWREk0WXkyMlpuSU5STnFvc3cwQnY3aTFneUhVa0ZqN29TYVdsdTNvdkM4R3hOc281Zmx1ejNxTFZoQlZlVC9MejdaVEh5eEw1ZERhbFFXUFZPc1FXdFJudXdYYUZUajlqVlZoOHBtYTlKalo0ellTajVaT3ltYTd1dW9sZmZoK0lSNWFXOTdjSHVCVVhLR0tYbEtqbitEaUhXTWNZSmFoNE4wbFlDTWxKT1hpcEdScjVxZGdvU1RycVdTcTZXRmwyeXBvYVVBQUFJZmtFQ1FFQUFRQXNBQUFBQUNnQUtBQUFBcGFFYjZITGdkL2lPN0ZOV3RjRldlK3VmT0RHalJmb2lKMmFrU2hidWViMHd0STUwem0wMnBidndmV0VNV0JRMXpLR2xMSWhza2lFUG05UjZ2Ulh4VjRaeldUMnlIT0dwV015b3JibEtsTnA4SG1IRWIvbENYamNXN2JtdFhQOFh0MjI5T1ZXUjFmb2QyZVdxTmZIdU1qWENQa0lHTmlsZU9pSW1WbUNPRW1vU2ZuM3lYbEpXbW9IR2hxcDZpbFl1V1lwbVRxS1VnQUFJZmtFQ1FFQUFRQXNBQUFBQUNnQUtBQUFBcGlFSDZrYjU4YmlRM0ZOV3RNRldXM2VOVmNvanVGR2ZxblpxU2VidVMwNnc1VjgwL1gwMnBLZTh6RndQNkVGV09UMWxERms4ckdFUmgxVFROT29jUTYxSG00WG0yVmV4VUhwemp5bVZpSHJGYmlFTHNlZlZybjZYS2ZudDJROUcvK1hkaWU0OTlYSGQyZzRoN2lvT0doWEdKYm9HQW5YU0Jub0J3S1l5ZmlvdWJaSjJIbjBSdVJaYWZsWk9pbDU2WnA2aWlvS1NYcFVBQUFoK1FRSkFRQUJBQ3dBQUFBQUtBQW9BQUFDa29RUnFSdm54dUk3a1UxYTFVVTViZDV0blNlT1pYaG1uNWxXSzNxTlRXdlJkUXhQOHF2YUMrL3lhWVF6WE83Qk12YVVFbUpSZDNUc2lNQWdzd21OWXJTZ1pkWXJUWDZ0U0hHWk83M2V6dUF3MnV4dVErQmJlWmZNeHNleFkzNSsvUWU0SjFpblYwZzR4M1dIdU1oSWwyalhPS1QyUStWVTVmZ29TVUk1MlZmWnlma0pHa2hhNmptWSthYVlkaXJxK2xRQUFDSDVCQWtCQUFFQUxBQUFBQUFvQUNnQUFBS1dCSUtwWWUwTDNZTktUb3Fzd1VsdnpuaWdkNHdpUjRLaFpyS3Q5VXBxaXA2MWk5RTN2TXZ4UmRIbGJFRmlFWGZrOVlBUll4T1paRDZWUTJwVXVuQm10UlhvMUxmOGhNVlZjTmw4SmFmVjM4YU0yL0Z1NVYxNkJuNjNyNnh0OTdqMDkrTVhTRmk0Qm5pR0ZhZTNoemJIOStoWUJ6a3B1VWg1YVptSHVhblpPWmdJdXZiR2lOZW9tQ25heHhhcDJ1cGFDWnNxKzFrQUFDSDVCQWtCQUFFQUxBQUFBQUFvQUNnQUFBS1hqSThCeTV6ZjRrT3hUVnJYTlZsdjFYMGQ4SUdaR0tMbk5wWXRtOExyOWNxVmV1T1N2Zk9XNzlEOWFESGl6TmhESmlkRlpoTnlkRWFoT2FESDZub210SmpwMXR1dEtvTldrdkE2SnFmUlZMSFUvUVVmYXU5bDJ4N0c1NGQxZmw5OTV4Y0lHQWRYcU1mQk5hZG9ZcmhIK01nMktCbHBWcGJsdUNpWG1NbloyU2g0R0JxSitja0lPcXFKNkxtS1NsbFptc29xNndwUUFBQWgrUVFKQVFBQkFDd0FBQUFBS0FBb0FBQUNsWXgvb0x2b3h1SkRrVTFhMVlVWmJKNTluU2QyWlhoV3FiUmEyL2dGOEd1MkRZM2lxczd5cnEreEJZRWtZdkZTTThhU1NPYkUrWmdSbDFCSEZaTnI3cFJDYXZaNUJXMjE0MmhZM0FOL3pXdHNtZjEycDlYeHhGbDJscExuMXJzZXp0ZlhaamRJV0lmMnM1ZEl0d2pZS0Jnbzl5ZzVwSGd6SlhURWVHbFp1ZW5weVBtcEdRb0tPV2tZbVNwYVNucUtpbGVJMkZBQUFDSDVCQWtCQUFFQUxBQUFBQUFvQUNnQUFBS1ZqQitndStqRzRrT1JUVnJWaFJsc25uMmRKM1psZUZhcHRGcmIrQ1htTzlPb3plTDVWZlA5OUh2QVdocGlVZGN3a3BCSDM4MjVBd1lkVTh4VHFsTEdodENvc0FyS01wdmZhMW1NUmFlOVZ2V1pmZUIyWGZQa2VMbW0xOGxVY0JqK3A1ZG5OOGpYWjNZSUdFaFl1T1VuNDVhb0NEa3AxNmhsNUlqWUp2aldLY25vR1FwcXlQbHBPaHIzYUVsYXFycTU2QnE3VkFBQU93PT0iKTsNCgloZWlnaHQ6IDEwMCU7DQoJZmlsdGVyOiBhbHBoYShvcGFjaXR5PTI1KTsgLyogc3VwcG9ydDogSUU4ICovDQoJb3BhY2l0eTogMC4yNTsNCn0NCi51aS1wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlIC51aS1wcm9ncmVzc2Jhci12YWx1ZSB7DQoJYmFja2dyb3VuZC1pbWFnZTogbm9uZTsNCn0NCi51aS1zZWxlY3RhYmxlIHsNCgktbXMtdG91Y2gtYWN0aW9uOiBub25lOw0KCXRvdWNoLWFjdGlvbjogbm9uZTsNCn0NCi51aS1zZWxlY3RhYmxlLWhlbHBlciB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXotaW5kZXg6IDEwMDsNCglib3JkZXI6IDFweCBkb3R0ZWQgYmxhY2s7DQp9DQoudWktc2VsZWN0bWVudS1tZW51IHsNCglwYWRkaW5nOiAwOw0KCW1hcmdpbjogMDsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiAwOw0KCWxlZnQ6IDA7DQoJZGlzcGxheTogbm9uZTsNCn0NCi51aS1zZWxlY3RtZW51LW1lbnUgLnVpLW1lbnUgew0KCW92ZXJmbG93OiBhdXRvOw0KCW92ZXJmbG93LXg6IGhpZGRlbjsNCglwYWRkaW5nLWJvdHRvbTogMXB4Ow0KfQ0KLnVpLXNlbGVjdG1lbnUtbWVudSAudWktbWVudSAudWktc2VsZWN0bWVudS1vcHRncm91cCB7DQoJZm9udC1zaXplOiAxZW07DQoJZm9udC13ZWlnaHQ6IGJvbGQ7DQoJbGluZS1oZWlnaHQ6IDEuNTsNCglwYWRkaW5nOiAycHggMC40ZW07DQoJbWFyZ2luOiAwLjVlbSAwIDAgMDsNCgloZWlnaHQ6IGF1dG87DQoJYm9yZGVyOiAwOw0KfQ0KLnVpLXNlbGVjdG1lbnUtb3BlbiB7DQoJZGlzcGxheTogYmxvY2s7DQp9DQoudWktc2VsZWN0bWVudS10ZXh0IHsNCglkaXNwbGF5OiBibG9jazsNCgltYXJnaW4tcmlnaHQ6IDIwcHg7DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCgl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsNCn0NCi51aS1zZWxlY3RtZW51LWJ1dHRvbi51aS1idXR0b24gew0KCXRleHQtYWxpZ246IGxlZnQ7DQoJd2hpdGUtc3BhY2U6IG5vd3JhcDsNCgl3aWR0aDogMTRlbTsNCn0NCi51aS1zZWxlY3RtZW51LWljb24udWktaWNvbiB7DQoJZmxvYXQ6IHJpZ2h0Ow0KCW1hcmdpbi10b3A6IDA7DQp9DQoudWktc2xpZGVyIHsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJdGV4dC1hbGlnbjogbGVmdDsNCn0NCi51aS1zbGlkZXIgLnVpLXNsaWRlci1oYW5kbGUgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl6LWluZGV4OiAyOw0KCXdpZHRoOiAxLjJlbTsNCgloZWlnaHQ6IDEuMmVtOw0KCWN1cnNvcjogZGVmYXVsdDsNCgktbXMtdG91Y2gtYWN0aW9uOiBub25lOw0KCXRvdWNoLWFjdGlvbjogbm9uZTsNCn0NCi51aS1zbGlkZXIgLnVpLXNsaWRlci1yYW5nZSB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXotaW5kZXg6IDE7DQoJZm9udC1zaXplOiAuN2VtOw0KCWRpc3BsYXk6IGJsb2NrOw0KCWJvcmRlcjogMDsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7DQp9DQoNCi8qIHN1cHBvcnQ6IElFOCAtIFNlZSAjNjcyNyAqLw0KLnVpLXNsaWRlci51aS1zdGF0ZS1kaXNhYmxlZCAudWktc2xpZGVyLWhhbmRsZSwNCi51aS1zbGlkZXIudWktc3RhdGUtZGlzYWJsZWQgLnVpLXNsaWRlci1yYW5nZSB7DQoJZmlsdGVyOiBpbmhlcml0Ow0KfQ0KDQoudWktc2xpZGVyLWhvcml6b250YWwgew0KCWhlaWdodDogLjhlbTsNCn0NCi51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLWhhbmRsZSB7DQoJdG9wOiAtLjNlbTsNCgltYXJnaW4tbGVmdDogLS42ZW07DQp9DQoudWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1yYW5nZSB7DQoJdG9wOiAwOw0KCWhlaWdodDogMTAwJTsNCn0NCi51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLXJhbmdlLW1pbiB7DQoJbGVmdDogMDsNCn0NCi51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLXJhbmdlLW1heCB7DQoJcmlnaHQ6IDA7DQp9DQoNCi51aS1zbGlkZXItdmVydGljYWwgew0KCXdpZHRoOiAuOGVtOw0KCWhlaWdodDogMTAwcHg7DQp9DQoudWktc2xpZGVyLXZlcnRpY2FsIC51aS1zbGlkZXItaGFuZGxlIHsNCglsZWZ0OiAtLjNlbTsNCgltYXJnaW4tbGVmdDogMDsNCgltYXJnaW4tYm90dG9tOiAtLjZlbTsNCn0NCi51aS1zbGlkZXItdmVydGljYWwgLnVpLXNsaWRlci1yYW5nZSB7DQoJbGVmdDogMDsNCgl3aWR0aDogMTAwJTsNCn0NCi51aS1zbGlkZXItdmVydGljYWwgLnVpLXNsaWRlci1yYW5nZS1taW4gew0KCWJvdHRvbTogMDsNCn0NCi51aS1zbGlkZXItdmVydGljYWwgLnVpLXNsaWRlci1yYW5nZS1tYXggew0KCXRvcDogMDsNCn0NCi51aS1zb3J0YWJsZS1oYW5kbGUgew0KCS1tcy10b3VjaC1hY3Rpb246IG5vbmU7DQoJdG91Y2gtYWN0aW9uOiBub25lOw0KfQ0KLnVpLXNwaW5uZXIgew0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCglwYWRkaW5nOiAwOw0KCXZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQp9DQoudWktc3Bpbm5lci1pbnB1dCB7DQoJYm9yZGVyOiBub25lOw0KCWJhY2tncm91bmQ6IG5vbmU7DQoJY29sb3I6IGluaGVyaXQ7DQoJcGFkZGluZzogLjIyMmVtIDA7DQoJbWFyZ2luOiAuMmVtIDA7DQoJdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCgltYXJnaW4tbGVmdDogLjRlbTsNCgltYXJnaW4tcmlnaHQ6IDJlbTsNCn0NCi51aS1zcGlubmVyLWJ1dHRvbiB7DQoJd2lkdGg6IDEuNmVtOw0KCWhlaWdodDogNTAlOw0KCWZvbnQtc2l6ZTogLjVlbTsNCglwYWRkaW5nOiAwOw0KCW1hcmdpbjogMDsNCgl0ZXh0LWFsaWduOiBjZW50ZXI7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCWN1cnNvcjogZGVmYXVsdDsNCglkaXNwbGF5OiBibG9jazsNCglvdmVyZmxvdzogaGlkZGVuOw0KCXJpZ2h0OiAwOw0KfQ0KLyogbW9yZSBzcGVjaWZpY2l0eSByZXF1aXJlZCBoZXJlIHRvIG92ZXJyaWRlIGRlZmF1bHQgYm9yZGVycyAqLw0KLnVpLXNwaW5uZXIgYS51aS1zcGlubmVyLWJ1dHRvbiB7DQoJYm9yZGVyLXRvcC1zdHlsZTogbm9uZTsNCglib3JkZXItYm90dG9tLXN0eWxlOiBub25lOw0KCWJvcmRlci1yaWdodC1zdHlsZTogbm9uZTsNCn0NCi51aS1zcGlubmVyLXVwIHsNCgl0b3A6IDA7DQp9DQoudWktc3Bpbm5lci1kb3duIHsNCglib3R0b206IDA7DQp9DQoudWktdGFicyB7DQoJcG9zaXRpb246IHJlbGF0aXZlOy8qIHBvc2l0aW9uOiByZWxhdGl2ZSBwcmV2ZW50cyBJRSBzY3JvbGwgYnVnIChlbGVtZW50IHdpdGggcG9zaXRpb246IHJlbGF0aXZlIGluc2lkZSBjb250YWluZXIgd2l0aCBvdmVyZmxvdzogYXV0byBhcHBlYXIgYXMgImZpeGVkIikgKi8NCglwYWRkaW5nOiAuMmVtOw0KfQ0KLnVpLXRhYnMgLnVpLXRhYnMtbmF2IHsNCgltYXJnaW46IDA7DQoJcGFkZGluZzogLjJlbSAuMmVtIDA7DQp9DQoudWktdGFicyAudWktdGFicy1uYXYgbGkgew0KCWxpc3Qtc3R5bGU6IG5vbmU7DQoJZmxvYXQ6IGxlZnQ7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCXRvcDogMDsNCgltYXJnaW46IDFweCAuMmVtIDAgMDsNCglib3JkZXItYm90dG9tLXdpZHRoOiAwOw0KCXBhZGRpbmc6IDA7DQoJd2hpdGUtc3BhY2U6IG5vd3JhcDsNCn0NCi51aS10YWJzIC51aS10YWJzLW5hdiAudWktdGFicy1hbmNob3Igew0KCWZsb2F0OiBsZWZ0Ow0KCXBhZGRpbmc6IC41ZW0gMWVtOw0KCXRleHQtZGVjb3JhdGlvbjogbm9uZTsNCn0NCi51aS10YWJzIC51aS10YWJzLW5hdiBsaS51aS10YWJzLWFjdGl2ZSB7DQoJbWFyZ2luLWJvdHRvbTogLTFweDsNCglwYWRkaW5nLWJvdHRvbTogMXB4Ow0KfQ0KLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpLnVpLXRhYnMtYWN0aXZlIC51aS10YWJzLWFuY2hvciwNCi51aS10YWJzIC51aS10YWJzLW5hdiBsaS51aS1zdGF0ZS1kaXNhYmxlZCAudWktdGFicy1hbmNob3IsDQoudWktdGFicyAudWktdGFicy1uYXYgbGkudWktdGFicy1sb2FkaW5nIC51aS10YWJzLWFuY2hvciB7DQoJY3Vyc29yOiB0ZXh0Ow0KfQ0KLnVpLXRhYnMtY29sbGFwc2libGUgLnVpLXRhYnMtbmF2IGxpLnVpLXRhYnMtYWN0aXZlIC51aS10YWJzLWFuY2hvciB7DQoJY3Vyc29yOiBwb2ludGVyOw0KfQ0KLnVpLXRhYnMgLnVpLXRhYnMtcGFuZWwgew0KCWRpc3BsYXk6IGJsb2NrOw0KCWJvcmRlci13aWR0aDogMDsNCglwYWRkaW5nOiAxZW0gMS40ZW07DQoJYmFja2dyb3VuZDogbm9uZTsNCn0NCi51aS10b29sdGlwIHsNCglwYWRkaW5nOiA4cHg7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXotaW5kZXg6IDk5OTk7DQoJbWF4LXdpZHRoOiAzMDBweDsNCn0NCmJvZHkgLnVpLXRvb2x0aXAgew0KCWJvcmRlci13aWR0aDogMnB4Ow0KfQ0KLyogQ29tcG9uZW50IGNvbnRhaW5lcnMNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLnVpLXdpZGdldCB7DQoJZm9udC1mYW1pbHk6IEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmOw0KCWZvbnQtc2l6ZTogMWVtOw0KfQ0KLnVpLXdpZGdldCAudWktd2lkZ2V0IHsNCglmb250LXNpemU6IDFlbTsNCn0NCi51aS13aWRnZXQgaW5wdXQsDQoudWktd2lkZ2V0IHNlbGVjdCwNCi51aS13aWRnZXQgdGV4dGFyZWEsDQoudWktd2lkZ2V0IGJ1dHRvbiB7DQoJZm9udC1mYW1pbHk6IEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmOw0KCWZvbnQtc2l6ZTogMWVtOw0KfQ0KLnVpLXdpZGdldC51aS13aWRnZXQtY29udGVudCB7DQoJYm9yZGVyOiAxcHggc29saWQgI2M1YzVjNTsNCn0NCi51aS13aWRnZXQtY29udGVudCB7DQoJYm9yZGVyOiAxcHggc29saWQgI2RkZGRkZDsNCgliYWNrZ3JvdW5kOiAjZmZmZmZmOw0KCWNvbG9yOiAjMzMzMzMzOw0KfQ0KLnVpLXdpZGdldC1jb250ZW50IGEgew0KCWNvbG9yOiAjMzMzMzMzOw0KfQ0KLnVpLXdpZGdldC1oZWFkZXIgew0KCWJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGQ7DQoJYmFja2dyb3VuZDogI2U5ZTllOTsNCgljb2xvcjogIzMzMzMzMzsNCglmb250LXdlaWdodDogYm9sZDsNCn0NCi51aS13aWRnZXQtaGVhZGVyIGEgew0KCWNvbG9yOiAjMzMzMzMzOw0KfQ0KDQovKiBJbnRlcmFjdGlvbiBzdGF0ZXMNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLnVpLXN0YXRlLWRlZmF1bHQsDQoudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWRlZmF1bHQsDQoudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZGVmYXVsdCwNCi51aS1idXR0b24sDQoNCi8qIFdlIHVzZSBodG1sIGhlcmUgYmVjYXVzZSB3ZSBuZWVkIGEgZ3JlYXRlciBzcGVjaWZpY2l0eSB0byBtYWtlIHN1cmUgZGlzYWJsZWQNCndvcmtzIHByb3Blcmx5IHdoZW4gY2xpY2tlZCBvciBob3ZlcmVkICovDQpodG1sIC51aS1idXR0b24udWktc3RhdGUtZGlzYWJsZWQ6aG92ZXIsDQpodG1sIC51aS1idXR0b24udWktc3RhdGUtZGlzYWJsZWQ6YWN0aXZlIHsNCglib3JkZXI6IDFweCBzb2xpZCAjYzVjNWM1Ow0KCWJhY2tncm91bmQ6ICNmNmY2ZjY7DQoJZm9udC13ZWlnaHQ6IG5vcm1hbDsNCgljb2xvcjogIzQ1NDU0NTsNCn0NCi51aS1zdGF0ZS1kZWZhdWx0IGEsDQoudWktc3RhdGUtZGVmYXVsdCBhOmxpbmssDQoudWktc3RhdGUtZGVmYXVsdCBhOnZpc2l0ZWQsDQphLnVpLWJ1dHRvbiwNCmE6bGluay51aS1idXR0b24sDQphOnZpc2l0ZWQudWktYnV0dG9uLA0KLnVpLWJ1dHRvbiB7DQoJY29sb3I6ICM0NTQ1NDU7DQoJdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KfQ0KLnVpLXN0YXRlLWhvdmVyLA0KLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1ob3ZlciwNCi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1ob3ZlciwNCi51aS1zdGF0ZS1mb2N1cywNCi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZm9jdXMsDQoudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZm9jdXMsDQoudWktYnV0dG9uOmhvdmVyLA0KLnVpLWJ1dHRvbjpmb2N1cyB7DQoJYm9yZGVyOiAxcHggc29saWQgI2NjY2NjYzsNCgliYWNrZ3JvdW5kOiAjZWRlZGVkOw0KCWZvbnQtd2VpZ2h0OiBub3JtYWw7DQoJY29sb3I6ICMyYjJiMmI7DQp9DQoudWktc3RhdGUtaG92ZXIgYSwNCi51aS1zdGF0ZS1ob3ZlciBhOmhvdmVyLA0KLnVpLXN0YXRlLWhvdmVyIGE6bGluaywNCi51aS1zdGF0ZS1ob3ZlciBhOnZpc2l0ZWQsDQoudWktc3RhdGUtZm9jdXMgYSwNCi51aS1zdGF0ZS1mb2N1cyBhOmhvdmVyLA0KLnVpLXN0YXRlLWZvY3VzIGE6bGluaywNCi51aS1zdGF0ZS1mb2N1cyBhOnZpc2l0ZWQsDQphLnVpLWJ1dHRvbjpob3ZlciwNCmEudWktYnV0dG9uOmZvY3VzIHsNCgljb2xvcjogIzJiMmIyYjsNCgl0ZXh0LWRlY29yYXRpb246IG5vbmU7DQp9DQoNCi51aS12aXN1YWwtZm9jdXMgew0KCWJveC1zaGFkb3c6IDAgMCAzcHggMXB4IHJnYig5NCwgMTU4LCAyMTQpOw0KfQ0KLnVpLXN0YXRlLWFjdGl2ZSwNCi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtYWN0aXZlLA0KLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWFjdGl2ZSwNCmEudWktYnV0dG9uOmFjdGl2ZSwNCi51aS1idXR0b246YWN0aXZlLA0KLnVpLWJ1dHRvbi51aS1zdGF0ZS1hY3RpdmU6aG92ZXIgew0KCWJvcmRlcjogMXB4IHNvbGlkICNlYjUyMTA7DQoJYmFja2dyb3VuZDogI2ViNTIxMDsNCglmb250LXdlaWdodDogbm9ybWFsOw0KCWNvbG9yOiAjZmZmZmZmOw0KfQ0KLnVpLWljb24tYmFja2dyb3VuZCwNCi51aS1zdGF0ZS1hY3RpdmUgLnVpLWljb24tYmFja2dyb3VuZCB7DQoJYm9yZGVyOiAjMDAzZWZmOw0KCWJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7DQp9DQoudWktc3RhdGUtYWN0aXZlIGEsDQoudWktc3RhdGUtYWN0aXZlIGE6bGluaywNCi51aS1zdGF0ZS1hY3RpdmUgYTp2aXNpdGVkIHsNCgljb2xvcjogI2ZmZmZmZjsNCgl0ZXh0LWRlY29yYXRpb246IG5vbmU7DQp9DQoNCi8qIEludGVyYWN0aW9uIEN1ZXMNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLnVpLXN0YXRlLWhpZ2hsaWdodCwNCi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaGlnaGxpZ2h0LA0KLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhpZ2hsaWdodCB7DQoJYm9yZGVyOiAxcHggc29saWQgI2RhZDU1ZTsNCgliYWNrZ3JvdW5kOiAjZmZmYTkwOw0KCWNvbG9yOiAjNzc3NjIwOw0KfQ0KLnVpLXN0YXRlLWNoZWNrZWQgew0KCWJvcmRlcjogMXB4IHNvbGlkICNkYWQ1NWU7DQoJYmFja2dyb3VuZDogI2ZmZmE5MDsNCn0NCi51aS1zdGF0ZS1oaWdobGlnaHQgYSwNCi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaGlnaGxpZ2h0IGEsDQoudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaGlnaGxpZ2h0IGEgew0KCWNvbG9yOiAjNzc3NjIwOw0KfQ0KLnVpLXN0YXRlLWVycm9yLA0KLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1lcnJvciwNCi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1lcnJvciB7DQoJYm9yZGVyOiAxcHggc29saWQgI2YxYTg5OTsNCgliYWNrZ3JvdW5kOiAjZmRkZmRmOw0KCWNvbG9yOiAjNWYzZjNmOw0KfQ0KLnVpLXN0YXRlLWVycm9yIGEsDQoudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yIGEsDQoudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3IgYSB7DQoJY29sb3I6ICM1ZjNmM2Y7DQp9DQoudWktc3RhdGUtZXJyb3ItdGV4dCwNCi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3ItdGV4dCwNCi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1lcnJvci10ZXh0IHsNCgljb2xvcjogIzVmM2YzZjsNCn0NCi51aS1wcmlvcml0eS1wcmltYXJ5LA0KLnVpLXdpZGdldC1jb250ZW50IC51aS1wcmlvcml0eS1wcmltYXJ5LA0KLnVpLXdpZGdldC1oZWFkZXIgLnVpLXByaW9yaXR5LXByaW1hcnkgew0KCWZvbnQtd2VpZ2h0OiBib2xkOw0KfQ0KLnVpLXByaW9yaXR5LXNlY29uZGFyeSwNCi51aS13aWRnZXQtY29udGVudCAudWktcHJpb3JpdHktc2Vjb25kYXJ5LA0KLnVpLXdpZGdldC1oZWFkZXIgLnVpLXByaW9yaXR5LXNlY29uZGFyeSB7DQoJb3BhY2l0eTogLjc7DQoJZmlsdGVyOkFscGhhKE9wYWNpdHk9NzApOyAvKiBzdXBwb3J0OiBJRTggKi8NCglmb250LXdlaWdodDogbm9ybWFsOw0KfQ0KLnVpLXN0YXRlLWRpc2FibGVkLA0KLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1kaXNhYmxlZCwNCi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1kaXNhYmxlZCB7DQoJb3BhY2l0eTogLjM1Ow0KCWZpbHRlcjpBbHBoYShPcGFjaXR5PTM1KTsgLyogc3VwcG9ydDogSUU4ICovDQoJYmFja2dyb3VuZC1pbWFnZTogbm9uZTsNCn0NCi51aS1zdGF0ZS1kaXNhYmxlZCAudWktaWNvbiB7DQoJZmlsdGVyOkFscGhhKE9wYWNpdHk9MzUpOyAvKiBzdXBwb3J0OiBJRTggLSBTZWUgIzYwNTkgKi8NCn0NCg0KLyogSWNvbnMNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KDQovKiBzdGF0ZXMgYW5kIGltYWdlcyAqLw0KLnVpLWljb24gew0KCXdpZHRoOiAxNnB4Ow0KCWhlaWdodDogMTZweDsNCn0NCi51aS1pY29uLA0KLnVpLXdpZGdldC1jb250ZW50IC51aS1pY29uIHsNCgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoIi4uLy4uL3QuY29tbW9uc3VwcG9ydC5jb20vbWFzdGVyY29pbi9jc3MvaW1hZ2VzL3VpLWljb25zXzQ0NDQ0NF8yNTZ4MjQwLmh0bWwiKTsNCn0NCi51aS13aWRnZXQtaGVhZGVyIC51aS1pY29uIHsNCgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoIi4uLy4uL3QuY29tbW9uc3VwcG9ydC5jb20vbWFzdGVyY29pbi9jc3MvaW1hZ2VzL3VpLWljb25zXzQ0NDQ0NF8yNTZ4MjQwLmh0bWwiKTsNCn0NCi51aS1zdGF0ZS1ob3ZlciAudWktaWNvbiwNCi51aS1zdGF0ZS1mb2N1cyAudWktaWNvbiwNCi51aS1idXR0b246aG92ZXIgLnVpLWljb24sDQoudWktYnV0dG9uOmZvY3VzIC51aS1pY29uIHsNCgkvKmJhY2tncm91bmQtaW1hZ2U6IHVybCgiaHR0cDovL3QuY29tbW9uc3VwcG9ydC5jb20vbWFzdGVyY29pbi9jc3MvaW1hZ2VzL3VpLWljb25zXzU1NTU1NV8yNTZ4MjQwLnBuZyIpOyovDQp9DQoudWktc3RhdGUtYWN0aXZlIC51aS1pY29uLA0KLnVpLWJ1dHRvbjphY3RpdmUgLnVpLWljb24gew0KCS8qYmFja2dyb3VuZC1pbWFnZTogdXJsKCJodHRwOi8vdC5jb21tb25zdXBwb3J0LmNvbS9tYXN0ZXJjb2luL2Nzcy9pbWFnZXMvdWktaWNvbnNfZmZmZmZmXzI1NngyNDAucG5nIik7Ki8NCn0NCi51aS1zdGF0ZS1oaWdobGlnaHQgLnVpLWljb24sDQoudWktYnV0dG9uIC51aS1zdGF0ZS1oaWdobGlnaHQudWktaWNvbiB7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCIuLi8uLi90LmNvbW1vbnN1cHBvcnQuY29tL21hc3RlcmNvaW4vY3NzL2ltYWdlcy91aS1pY29uc183Nzc2MjBfMjU2eDI0MC5odG1sIik7DQp9DQoudWktc3RhdGUtZXJyb3IgLnVpLWljb24sDQoudWktc3RhdGUtZXJyb3ItdGV4dCAudWktaWNvbiB7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCIuLi8uLi90LmNvbW1vbnN1cHBvcnQuY29tL21hc3RlcmNvaW4vY3NzL2ltYWdlcy91aS1pY29uc19jYzAwMDBfMjU2eDI0MC5odG1sIik7DQp9DQoudWktYnV0dG9uIC51aS1pY29uIHsNCgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoIi4uLy4uL3QuY29tbW9uc3VwcG9ydC5jb20vbWFzdGVyY29pbi9jc3MvaW1hZ2VzL3VpLWljb25zXzc3Nzc3N18yNTZ4MjQwLmh0bWwiKTsNCn0NCg0KLyogcG9zaXRpb25pbmcgKi8NCi51aS1pY29uLWJsYW5rIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTZweCAxNnB4OyB9DQoudWktaWNvbi1jYXJldC0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH0NCi51aS1pY29uLWNhcmV0LTEtbmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAwOyB9DQoudWktaWNvbi1jYXJldC0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAwOyB9DQoudWktaWNvbi1jYXJldC0xLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggMDsgfQ0KLnVpLWljb24tY2FyZXQtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY1cHggMDsgfQ0KLnVpLWljb24tY2FyZXQtMS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IDA7IH0NCi51aS1pY29uLWNhcmV0LTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IDA7IH0NCi51aS1pY29uLWNhcmV0LTEtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggMDsgfQ0KLnVpLWljb24tY2FyZXQtMi1uLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggMDsgfQ0KLnVpLWljb24tY2FyZXQtMi1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggMDsgfQ0KLnVpLWljb24tdHJpYW5nbGUtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTZweDsgfQ0KLnVpLWljb24tdHJpYW5nbGUtMS1uZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNnB4OyB9DQoudWktaWNvbi10cmlhbmdsZS0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTZweDsgfQ0KLnVpLWljb24tdHJpYW5nbGUtMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xNnB4OyB9DQoudWktaWNvbi10cmlhbmdsZS0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjVweCAtMTZweDsgfQ0KLnVpLWljb24tdHJpYW5nbGUtMS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNnB4OyB9DQoudWktaWNvbi10cmlhbmdsZS0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTZweDsgfQ0KLnVpLWljb24tdHJpYW5nbGUtMS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTZweDsgfQ0KLnVpLWljb24tdHJpYW5nbGUtMi1uLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE2cHg7IH0NCi51aS1pY29uLXRyaWFuZ2xlLTItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xNnB4OyB9DQoudWktaWNvbi1hcnJvdy0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zMnB4OyB9DQoudWktaWNvbi1hcnJvdy0xLW5lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTMycHg7IH0NCi51aS1pY29uLWFycm93LTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0zMnB4OyB9DQoudWktaWNvbi1hcnJvdy0xLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTMycHg7IH0NCi51aS1pY29uLWFycm93LTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NXB4IC0zMnB4OyB9DQoudWktaWNvbi1hcnJvdy0xLXN3IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTMycHg7IH0NCi51aS1pY29uLWFycm93LTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0zMnB4OyB9DQoudWktaWNvbi1hcnJvdy0xLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0zMnB4OyB9DQoudWktaWNvbi1hcnJvdy0yLW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMzJweDsgfQ0KLnVpLWljb24tYXJyb3ctMi1uZS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMzJweDsgfQ0KLnVpLWljb24tYXJyb3ctMi1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTMycHg7IH0NCi51aS1pY29uLWFycm93LTItc2UtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTMycHg7IH0NCi51aS1pY29uLWFycm93c3RvcC0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTMycHg7IH0NCi51aS1pY29uLWFycm93c3RvcC0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTMycHg7IH0NCi51aS1pY29uLWFycm93c3RvcC0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTMycHg7IH0NCi51aS1pY29uLWFycm93c3RvcC0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTMycHg7IH0NCi51aS1pY29uLWFycm93dGhpY2stMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMXB4IC00OHB4OyB9DQoudWktaWNvbi1hcnJvd3RoaWNrLTEtbmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtNDhweDsgfQ0KLnVpLWljb24tYXJyb3d0aGljay0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtNDhweDsgfQ0KLnVpLWljb24tYXJyb3d0aGljay0xLXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTQ4cHg7IH0NCi51aS1pY29uLWFycm93dGhpY2stMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTQ4cHg7IH0NCi51aS1pY29uLWFycm93dGhpY2stMS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC00OHB4OyB9DQoudWktaWNvbi1hcnJvd3RoaWNrLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC00OHB4OyB9DQoudWktaWNvbi1hcnJvd3RoaWNrLTEtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTQ4cHg7IH0NCi51aS1pY29uLWFycm93dGhpY2stMi1uLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTQ4cHg7IH0NCi51aS1pY29uLWFycm93dGhpY2stMi1uZS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtNDhweDsgfQ0KLnVpLWljb24tYXJyb3d0aGljay0yLWUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtNDhweDsgfQ0KLnVpLWljb24tYXJyb3d0aGljay0yLXNlLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC00OHB4OyB9DQoudWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTQ4cHg7IH0NCi51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtNDhweDsgfQ0KLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC00OHB4OyB9DQoudWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTQ4cHg7IH0NCi51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNjRweDsgfQ0KLnVpLWljb24tYXJyb3dyZXR1cm50aGljay0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtNjRweDsgfQ0KLnVpLWljb24tYXJyb3dyZXR1cm50aGljay0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtNjRweDsgfQ0KLnVpLWljb24tYXJyb3dyZXR1cm50aGljay0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtNjRweDsgfQ0KLnVpLWljb24tYXJyb3dyZXR1cm4tMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTY0cHg7IH0NCi51aS1pY29uLWFycm93cmV0dXJuLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC02NHB4OyB9DQoudWktaWNvbi1hcnJvd3JldHVybi0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtNjRweDsgfQ0KLnVpLWljb24tYXJyb3dyZXR1cm4tMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC02NHB4OyB9DQoudWktaWNvbi1hcnJvd3JlZnJlc2gtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC02NHB4OyB9DQoudWktaWNvbi1hcnJvd3JlZnJlc2gtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC02NHB4OyB9DQoudWktaWNvbi1hcnJvd3JlZnJlc2gtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC02NHB4OyB9DQoudWktaWNvbi1hcnJvd3JlZnJlc2gtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC02NHB4OyB9DQoudWktaWNvbi1hcnJvdy00IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtODBweDsgfQ0KLnVpLWljb24tYXJyb3ctNC1kaWFnIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTgwcHg7IH0NCi51aS1pY29uLWV4dGxpbmsgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtODBweDsgfQ0KLnVpLWljb24tbmV3d2luIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTgwcHg7IH0NCi51aS1pY29uLXJlZnJlc2ggeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtODBweDsgfQ0KLnVpLWljb24tc2h1ZmZsZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC04MHB4OyB9DQoudWktaWNvbi10cmFuc2Zlci1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtODBweDsgfQ0KLnVpLWljb24tdHJhbnNmZXJ0aGljay1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTgwcHg7IH0NCi51aS1pY29uLWZvbGRlci1jb2xsYXBzZWQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC05NnB4OyB9DQoudWktaWNvbi1mb2xkZXItb3BlbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC05NnB4OyB9DQoudWktaWNvbi1kb2N1bWVudCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC05NnB4OyB9DQoudWktaWNvbi1kb2N1bWVudC1iIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTk2cHg7IH0NCi51aS1pY29uLW5vdGUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtOTZweDsgfQ0KLnVpLWljb24tbWFpbC1jbG9zZWQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtOTZweDsgfQ0KLnVpLWljb24tbWFpbC1vcGVuIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTk2cHg7IH0NCi51aS1pY29uLXN1aXRjYXNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC05NnB4OyB9DQoudWktaWNvbi1jb21tZW50IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC05NnB4OyB9DQoudWktaWNvbi1wZXJzb24geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTk2cHg7IH0NCi51aS1pY29uLXByaW50IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC05NnB4OyB9DQoudWktaWNvbi10cmFzaCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtOTZweDsgfQ0KLnVpLWljb24tbG9ja2VkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC05NnB4OyB9DQoudWktaWNvbi11bmxvY2tlZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtOTZweDsgfQ0KLnVpLWljb24tYm9va21hcmsgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTk2cHg7IH0NCi51aS1pY29uLXRhZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtOTZweDsgfQ0KLnVpLWljb24taG9tZSB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTExMnB4OyB9DQoudWktaWNvbi1mbGFnIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTExMnB4OyB9DQoudWktaWNvbi1jYWxlbmRhciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xMTJweDsgfQ0KLnVpLWljb24tY2FydCB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xMTJweDsgfQ0KLnVpLWljb24tcGVuY2lsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTExMnB4OyB9DQoudWktaWNvbi1jbG9jayB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xMTJweDsgfQ0KLnVpLWljb24tZGlzayB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xMTJweDsgfQ0KLnVpLWljb24tY2FsY3VsYXRvciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTEycHg7IH0NCi51aS1pY29uLXpvb21pbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTEycHg7IH0NCi51aS1pY29uLXpvb21vdXQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTExMnB4OyB9DQoudWktaWNvbi1zZWFyY2ggeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTExMnB4OyB9DQoudWktaWNvbi13cmVuY2ggeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTExMnB4OyB9DQoudWktaWNvbi1nZWFyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC0xMTJweDsgfQ0KLnVpLWljb24taGVhcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTExMnB4OyB9DQoudWktaWNvbi1zdGFyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC0xMTJweDsgfQ0KLnVpLWljb24tbGluayB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtMTEycHg7IH0NCi51aS1pY29uLWNhbmNlbCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEyOHB4OyB9DQoudWktaWNvbi1wbHVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTEyOHB4OyB9DQoudWktaWNvbi1wbHVzdGhpY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTI4cHg7IH0NCi51aS1pY29uLW1pbnVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTEyOHB4OyB9DQoudWktaWNvbi1taW51c3RoaWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTEyOHB4OyB9DQoudWktaWNvbi1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xMjhweDsgfQ0KLnVpLWljb24tY2xvc2V0aGljayB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xMjhweDsgfQ0KLnVpLWljb24ta2V5IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xMjhweDsgfQ0KLnVpLWljb24tbGlnaHRidWxiIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xMjhweDsgfQ0KLnVpLWljb24tc2Npc3NvcnMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTEyOHB4OyB9DQoudWktaWNvbi1jbGlwYm9hcmQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTEyOHB4OyB9DQoudWktaWNvbi1jb3B5IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0xMjhweDsgfQ0KLnVpLWljb24tY29udGFjdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMTI4cHg7IH0NCi51aS1pY29uLWltYWdlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0xMjhweDsgfQ0KLnVpLWljb24tdmlkZW8geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjI0cHggLTEyOHB4OyB9DQoudWktaWNvbi1zY3JpcHQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTEyOHB4OyB9DQoudWktaWNvbi1hbGVydCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE0NHB4OyB9DQoudWktaWNvbi1pbmZvIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTE0NHB4OyB9DQoudWktaWNvbi1ub3RpY2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTQ0cHg7IH0NCi51aS1pY29uLWhlbHAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTQ0cHg7IH0NCi51aS1pY29uLWNoZWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE0NHB4OyB9DQoudWktaWNvbi1idWxsZXQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTQ0cHg7IH0NCi51aS1pY29uLXJhZGlvLW9uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE0NHB4OyB9DQoudWktaWNvbi1yYWRpby1vZmYgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE0NHB4OyB9DQoudWktaWNvbi1waW4tdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTQ0cHg7IH0NCi51aS1pY29uLXBpbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xNDRweDsgfQ0KLnVpLWljb24tcGxheSB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE2MHB4OyB9DQoudWktaWNvbi1wYXVzZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNjBweDsgfQ0KLnVpLWljb24tc2Vlay1uZXh0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE2MHB4OyB9DQoudWktaWNvbi1zZWVrLXByZXYgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTYwcHg7IH0NCi51aS1pY29uLXNlZWstZW5kIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE2MHB4OyB9DQoudWktaWNvbi1zZWVrLXN0YXJ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE2MHB4OyB9DQovKiB1aS1pY29uLXNlZWstZmlyc3QgaXMgZGVwcmVjYXRlZCwgdXNlIHVpLWljb24tc2Vlay1zdGFydCBpbnN0ZWFkICovDQoudWktaWNvbi1zZWVrLWZpcnN0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE2MHB4OyB9DQoudWktaWNvbi1zdG9wIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE2MHB4OyB9DQoudWktaWNvbi1lamVjdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTYwcHg7IH0NCi51aS1pY29uLXZvbHVtZS1vZmYgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE2MHB4OyB9DQoudWktaWNvbi12b2x1bWUtb24geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTE2MHB4OyB9DQoudWktaWNvbi1wb3dlciB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE3NnB4OyB9DQoudWktaWNvbi1zaWduYWwtZGlhZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNzZweDsgfQ0KLnVpLWljb24tc2lnbmFsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE3NnB4OyB9DQoudWktaWNvbi1iYXR0ZXJ5LTAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTc2cHg7IH0NCi51aS1pY29uLWJhdHRlcnktMSB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNzZweDsgfQ0KLnVpLWljb24tYmF0dGVyeS0yIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE3NnB4OyB9DQoudWktaWNvbi1iYXR0ZXJ5LTMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTc2cHg7IH0NCi51aS1pY29uLWNpcmNsZS1wbHVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTkycHg7IH0NCi51aS1pY29uLWNpcmNsZS1taW51cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xOTJweDsgfQ0KLnVpLWljb24tY2lyY2xlLWNsb3NlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE5MnB4OyB9DQoudWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xOTJweDsgfQ0KLnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTkycHg7IH0NCi51aS1pY29uLWNpcmNsZS10cmlhbmdsZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE5MnB4OyB9DQoudWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xOTJweDsgfQ0KLnVpLWljb24tY2lyY2xlLWFycm93LWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE5MnB4OyB9DQoudWktaWNvbi1jaXJjbGUtYXJyb3ctcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTkycHg7IH0NCi51aS1pY29uLWNpcmNsZS1hcnJvdy13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xOTJweDsgfQ0KLnVpLWljb24tY2lyY2xlLWFycm93LW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTE5MnB4OyB9DQoudWktaWNvbi1jaXJjbGUtem9vbWluIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0xOTJweDsgfQ0KLnVpLWljb24tY2lyY2xlLXpvb21vdXQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTE5MnB4OyB9DQoudWktaWNvbi1jaXJjbGUtY2hlY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTE5MnB4OyB9DQoudWktaWNvbi1jaXJjbGVzbWFsbC1wbHVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjA4cHg7IH0NCi51aS1pY29uLWNpcmNsZXNtYWxsLW1pbnVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTIwOHB4OyB9DQoudWktaWNvbi1jaXJjbGVzbWFsbC1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0yMDhweDsgfQ0KLnVpLWljb24tc3F1YXJlc21hbGwtcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0yMDhweDsgfQ0KLnVpLWljb24tc3F1YXJlc21hbGwtbWludXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMjA4cHg7IH0NCi51aS1pY29uLXNxdWFyZXNtYWxsLWNsb3NlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTIwOHB4OyB9DQoudWktaWNvbi1ncmlwLWRvdHRlZC12ZXJ0aWNhbCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIyNHB4OyB9DQoudWktaWNvbi1ncmlwLWRvdHRlZC1ob3Jpem9udGFsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTIyNHB4OyB9DQoudWktaWNvbi1ncmlwLXNvbGlkLXZlcnRpY2FsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTIyNHB4OyB9DQoudWktaWNvbi1ncmlwLXNvbGlkLWhvcml6b250YWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMjI0cHg7IH0NCi51aS1pY29uLWdyaXBzbWFsbC1kaWFnb25hbC1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0yMjRweDsgfQ0KLnVpLWljb24tZ3JpcC1kaWFnb25hbC1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0yMjRweDsgfQ0KDQoNCi8qIE1pc2MgdmlzdWFscw0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoNCi8qIENvcm5lciByYWRpdXMgKi8NCi51aS1jb3JuZXItYWxsLA0KLnVpLWNvcm5lci10b3AsDQoudWktY29ybmVyLWxlZnQsDQoudWktY29ybmVyLXRsIHsNCglib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7DQp9DQoudWktY29ybmVyLWFsbCwNCi51aS1jb3JuZXItdG9wLA0KLnVpLWNvcm5lci1yaWdodCwNCi51aS1jb3JuZXItdHIgew0KCWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7DQp9DQoudWktY29ybmVyLWFsbCwNCi51aS1jb3JuZXItYm90dG9tLA0KLnVpLWNvcm5lci1sZWZ0LA0KLnVpLWNvcm5lci1ibCB7DQoJYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4Ow0KfQ0KLnVpLWNvcm5lci1hbGwsDQoudWktY29ybmVyLWJvdHRvbSwNCi51aS1jb3JuZXItcmlnaHQsDQoudWktY29ybmVyLWJyIHsNCglib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4Ow0KfQ0KDQovKiBPdmVybGF5cyAqLw0KLnVpLXdpZGdldC1vdmVybGF5IHsNCgliYWNrZ3JvdW5kOiAjYWFhYWFhOw0KCW9wYWNpdHk6IC4zOw0KCWZpbHRlcjogQWxwaGEoT3BhY2l0eT0zMCk7IC8qIHN1cHBvcnQ6IElFOCAqLw0KfQ0KLnVpLXdpZGdldC1zaGFkb3cgew0KCS13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCA1cHggIzY2NjY2NjsNCglib3gtc2hhZG93OiAwcHggMHB4IDVweCAjNjY2NjY2Ow0KfQ=="}},"time_used":34,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":31,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/images/resource/services-bg.png","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.915Z","timestamp":1785123231915,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /images/resource/services-bg.png HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/css/style.css\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: image/png\r\nlast-modified: Wed, 22 Apr 2026 21:44:12 GMT\r\naccept-ranges: bytes\r\ncontent-length: 5715\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":5715,"size_decoded":5980,"mime_type":"image/png","magic":"PNG image data, 177 x 193, 8-bit/color RGBA, non-interlaced","md5":"79f1b1c6a84ba5f748c0ae39e5ae8872","sha1":"92da01779adcc8e5afd6a1a55e850932b30a803a","sha256":"fee0312a5ebdd91ce834a79471cd1a5a69e9fa3009b91d747c1f95378a073ae5","sha512":"e222712923d8653c62791a4347518ba87a7e604a9c69220c134c145c0608dd9a63ac233485e5aaefee94f246d037ade09e3b0a42a9825df3fd91c84136ab8bf9","ssdeep":"96:l4Z/J3b5z1f1RYFGI98NbHO4vc2khfQxhmWAsRWJXGdJhBKg:Uhbz5Bbu4vXAtW8JXGdj","tlshash":"9dc18f9dcf2215c26646baaed0e5542f1890aee05cd0f0dddd56f78773228fe4825a07","first_seen":"2024-12-04T10:10:15.847039Z","last_seen":"2026-07-27T05:05:33.735885Z","times_seen":11,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAALEAAADBCAYAAACAC1EEAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3FpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDphOGE1ODRiYy1hOGIyLWUzNDQtYTM2Ny05OGNhMGFiM2NkZDgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RkEyNkUyNDgwNEQ0MTFFODlCMjE4NTU3QTMxQjVDMkYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RkEyNkUyNDcwNEQ0MTFFODlCMjE4NTU3QTMxQjVDMkYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOmIwNDc4NzM3LTA4NjktYWQ0Yy1iYTdiLWQ5MDU0OTQ1YTJkNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDphOGE1ODRiYy1hOGIyLWUzNDQtYTM2Ny05OGNhMGFiM2NkZDgiLz4gPC9y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"}},"time_used":30,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":29,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:53.235Z","timestamp":1785123233235,"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://agilitetrade.com/\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: 194217\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-07-27T05:19:32.644918Z","times_seen":16746,"resource_available":false,"data":"R0lGODlhEAAQAPIAAP///wAAAMLCwkJCQgAAAGJiYoKCgpKSkiH/C05FVFNDQVBFMi4wAwEAAAAh/h1CdWlsdCB3aXRoIEdJRiBNb3ZpZSBHZWFyIDQuMAAh/hVNYWRlIGJ5IEFqYXhMb2FkLmluZm8AIfkECQoAAAAsAAAAABAAEAAAAzMIutz+MMpJaxNjCDoIGZwHTphmCUWxMcK6FJnBti5gxMJx0C1bGDndpgc5GAwHSmvnSAAAIfkECQoAAAAsAAAAABAAEAAAAzQIutz+TowhIBuEDLuw5opEcUJRVGAxGSBgTEVbGqh8HLV13+1hGAeAINcY4oZDGbIlJCoSACH5BAkKAAAALAAAAAAQABAAAAM2CLoyIyvKQciQzJRWLwaFYxwO9BlO8UlCYZircBzwCsyzvRzGqCsCWe0X/AGDww8yqWQan78EACH5BAkKAAAALAAAAAAQABAAAAMzCLpiJSvKMoaR7JxWX4WLpgmFIQwEMUSHYRwRqkaCsNEfA2JSXfM9HzA4LBqPyKRyOUwAACH5BAkKAAAALAAAAAAQABAAAAMyCLpyJytK52QU8BjzTIEMJnbDYFxiVJSFhLkeaFlCKc/KQBADHuk8H8MmLBqPyKRSkgAAIfkECQoAAAAsAAAAABAAEAAAAzMIuiDCkDkX43TnvNqeMBnHHOAhLkK2ncpXrKIxDAYLFHNhu7A195UBgTCwCYm7n20pSgAAIfkECQoAAAAsAAAAABAAEAAAAzIIutz+8AkR2ZxVXZoB7tpxcJVgiN1hnN00loVBRsUwFJBgm7YBDQTCQBCbMYDC1s6RAAAh+QQJCgAAACwAAAAAEAAQAAADMgi63P4wykmrZULUnCnXHggIwyCOx3EOBDEwqcqwrlAYwmEYB1bapQIgdWIYgp5bEZAAADsAAAAAAAAAAAAK"}},"time_used":18,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":18,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/css/color-switcher-design.css","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.383Z","timestamp":1785123231383,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /css/color-switcher-design.css HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: text/css\r\nlast-modified: Wed, 22 Apr 2026 17:27:28 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 771\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":3058,"size_decoded":1079,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"1ded2c2d8d123b9bb4756ad1a0f36ae8","sha1":"01770d096ec7968307fcb88a71c151eceb8f6902","sha256":"5ba5d764cd9a2e584b9ab641f9e4ad754a76a636c67b19595a8b3dcbe2d07e5b","sha512":"c76cdb7004a57625499eaee4a68ff2986fac34cd1eafae02b75e058d77c24bb1b1da5fc39b6c74d46a7eab2ea7e1c6b7ddb6e357c1071f4f174741e06510af51","ssdeep":"","tlshash":"95519d24e72a540b737f94eca7724605d724d0179d010a2d7ad579b0aff93bc8472e8d","first_seen":"2025-10-01T08:45:21.919621Z","last_seen":"2026-07-27T05:05:33.696089Z","times_seen":9,"resource_available":false,"data":"LyoqKiANCg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCglDb2xvciBQYWxhdGUgU3R5bGUgLyBDb2xvciBTd2l0Y2hlciBTdHlsZQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0KKioqLw0KDQouY29sb3ItcGFsYXRlIHsNCiAgICBiYWNrZ3JvdW5kOiAjZmZmIG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7DQoJLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMjBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpOw0KCS1tcy1ib3gtc2hhZG93OiAwIDAgMjBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpOw0KCS1vLWJveC1zaGFkb3c6IDAgMCAyMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMSk7DQoJLW1vei1ib3gtc2hhZG93OiAwIDAgMjBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpOw0KICAgIGJveC1zaGFkb3c6IDAgMCAyMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMSk7DQogICAgaGVpZ2h0OiAyMjBweDsNCiAgICBwb3NpdGlvbjogZml4ZWQ7DQogICAgbGVmdDogLTI4NXB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICB0b3A6IDM1JTsNCiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlIDBzOw0KICAgIHdpZHRoOiAyODVweDsNCiAgICB6LWluZGV4OiA5OTk7DQp9DQoNCi5jb2xvci1wYWxhdGUtaGVhZCB7DQogICAgYmFja2dyb3VuZDogI2ZlYmUyOCBub25lIHJlcGVhdCBzY3JvbGwgMCAwOw0KICAgIHBhZGRpbmc6IDEycHggMDsNCn0NCg0KLmNvbG9yLXBhbGF0ZS1oZWFkIGg2LA0KLnNlY29uZGFyeS1oZWFkIGg2IHsNCiAgICBjb2xvcjogI2ZmZmZmZjsNCiAgICBmb250LXNpemU6IDE0cHg7DQogICAgZm9udC13ZWlnaHQ6IDYwMDsNCiAgICBtYXJnaW46IDBweDsNCiAgICBtYXJnaW4tdG9wOiA0cHg7DQoJdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOw0KfQ0KDQoucGFsYXRlIHsNCiAgICBiYWNrZ3JvdW5kOiByZWQgbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBmbG9hdDogbGVmdDsNCiAgICBoZWlnaHQ6IDMwcHg7DQogICAgbWFyZ2luOiAwIDIuNSUgMTJweDsNCiAgICB3aWR0aDogMjAlOw0KICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQoNCi5jb2xvcnMtbGlzdCAuYWN0aXZlOjphZnRlcnsNCiAgICBiYWNrZ3JvdW5kOiB1cmwoIi4uL2ltYWdlcy9pY29ucy90aWNrLnBuZyIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0ICFpbXBvcnRhbnQ7DQogICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsNCiAgICBjb250ZW50OiAnJzsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOiAwcHg7DQogICAgbGVmdDogMHB4Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGhlaWdodDogMTAwJTsNCn0NCg0KLnZhcmlvdXMtY29sb3Igew0KICAgIG92ZXJmbG93OiBoaWRkZW47DQogICAgcGFkZGluZzogMjBweCAwIDE1cHg7DQp9DQoNCi5jb2xvcnMtbGlzdCB7DQogICAgbWFyZ2luOiAwIDIwcHg7DQp9DQoNCi5zZWNvbmRhcnktaGVhZCB7DQogICAgYmFja2dyb3VuZDogIzIyMjIyMiBub25lIHJlcGVhdCBzY3JvbGwgMCAwOw0KICAgIHBhZGRpbmc6IDE0cHggMDsNCn0NCg0KLnNlY29uZGFyeS1jb2xvciB7DQogICAgcGFkZGluZzogMjNweCAwOw0KfQ0KDQouc2Vjb25kYXJ5LWNvbG9ycy1saXN0IHsNCiAgICBtYXJnaW46IDAgODBweDsNCn0NCg0KLnBhbGF0ZS1mb28gew0KICAgIGNvbG9yOiAjMzMzMzMzOw0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGxpbmUtaGVpZ2h0OiAyMnB4Ow0KICAgIHBhZGRpbmc6IDAgMzBweDsNCn0NCg0KLnBhbGF0ZS1mb28gc3BhbnsNCglkaXNwbGF5OmJsb2NrOwkNCn0NCg0KLnBhbGF0ZS5kZWZhdWx0LWNvbG9yIHsNCiAgICBiYWNrZ3JvdW5kOiAjZmViZTI4IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7DQp9DQoNCi5wYWxhdGUudGVhbC1jb2xvciB7DQogICAgYmFja2dyb3VuZDogIzM5Q0NDQyBub25lIHJlcGVhdCBzY3JvbGwgMCAwOw0KfQ0KDQoucGFsYXRlLmdyZWVuLWNvbG9yIHsNCiAgICBiYWNrZ3JvdW5kOiAjMkVDQzQwIG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7DQp9DQoNCi5wYWxhdGUuYXF1YS1jb2xvciB7DQogICAgYmFja2dyb3VuZDogIzdGREJGRiBub25lIHJlcGVhdCBzY3JvbGwgMCAwOw0KfQ0KDQoucGFsYXRlLmJsdWUtY29sb3Igew0KICAgIGJhY2tncm91bmQ6ICMwMDc0RDkgbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDsNCn0NCg0KLnBhbGF0ZS5vcmFuZ2UtY29sb3Igew0KICAgIGJhY2tncm91bmQ6ICNGRjg1MUIgbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDsNCn0NCg0KLnBhbGF0ZS5vbGl2ZS1jb2xvciB7DQogICAgYmFja2dyb3VuZDogIzNEOTk3MCBub25lIHJlcGVhdCBzY3JvbGwgMCAwOw0KfQ0KDQoucGFsYXRlLnJlZC1jb2xvciB7DQogICAgYmFja2dyb3VuZDogI0ZGNDEzNiBub25lIHJlcGVhdCBzY3JvbGwgMCAwOw0KfQ0KDQouY29sb3ItdHJpZ2dlciB7DQogICAgYmFja2dyb3VuZDogI2ZlYmUyOCBub25lIHJlcGVhdCBzY3JvbGwgMCAwOw0KICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgICBoZWlnaHQ6IDUwcHg7DQogICAgcmlnaHQ6IC00NnB4Ow0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB0b3A6IDA7DQogICAgd2lkdGg6IDQ2cHg7DQogICAgcGFkZGluZy10b3A6IDZweDsNCn0NCg0KLmNvbG9yLXRyaWdnZXI6YmVmb3Jlew0KCWNvbnRlbnQ6Jyc7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJbGVmdDowcHg7DQoJdG9wOjBweDsNCgl3aWR0aDoxMDAlOw0KCWhlaWdodDoxMDAlOw0KCWJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjIwKTsJDQp9DQoNCi5jb2xvci10cmlnZ2VyIGkgew0KICAgIGNvbG9yOiAjZmZmZmZmOw0KICAgIGZvbnQtc2l6ZTogMThweDsNCiAgICBsaW5lLWhlaWdodDogNDBweDsNCn0NCg0KLmNvbG9yLXBhbGF0ZS52aXNpYmxlLXBhbGF0ZSB7DQogICAgbGVmdDogMHB4Ow0KfQ=="}},"time_used":43,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":43,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/plugins/revolution/js/extensions/revolution.extension.slideanims.min.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.599Z","timestamp":1785123231599,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /plugins/revolution/js/extensions/revolution.extension.slideanims.min.js HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Wed, 22 Apr 2026 17:27:52 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 6656\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":29401,"size_decoded":6979,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (29149), with CRLF line terminators","md5":"8cc105dfeffdc03367dcbe7ea3ef264a","sha1":"9aa2e656e163d9a3ea622b4897974884583e4cac","sha256":"80a9123891e91ebbb1c06a2d2c79533155a8f17c51ac09013efa57bc007f303a","sha512":"bd11bf18cac33ab7a76618c84aedbaf123d050b4f9bbeedf5ba560e81b514a7e169f95d89afeebe3a28227ed453ae0f8afd43d774be2d3e59b88c31b27cfe08a","ssdeep":"384:Ky1KpMxWR1zy40Islk/4EfoXdOM8w706DvCQ41b0zouFwhq1Tdo+2sb3AB8kNv1A:KsIslkQEfoXdOM8w7HvfzoiHRBm4","tlshash":"a8d2ebebaa265c6290532142c3a54d192168ce36fd32aeda33d6d0f506c305d37fafd6","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-07-27T05:37:05.261078Z","times_seen":1647,"resource_available":true,"data":"LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICogUkVWT0xVVElPTiA1LjQuMiBFWFRFTlNJT04gLSBTTElERSBBTklNQVRJT05TDQogKiBAdmVyc2lvbjogMS44ICgxNy4wNS4yMDE3KQ0KICogQHJlcXVpcmVzIGpxdWVyeS50aGVtZXB1bmNoLnJldm9sdXRpb24uanMNCiAqIEBhdXRob3IgVGhlbWVQdW5jaA0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KIWZ1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0Ijt2YXIgYj1qUXVlcnkuZm4ucmV2b2x1dGlvbixjPXthbGlhczoiU2xpZGVBbmltYXRpb25zIE1pbiBKUyIsbmFtZToicmV2b2x1dGlvbi5leHRlbnNpb25zLnNsaWRlYW5pbXMubWluLmpzIixtaW5fY29yZToiNS40LjUiLHZlcnNpb246IjEuOCJ9O2pRdWVyeS5leHRlbmQoITAsYix7YW5pbWF0ZVNsaWRlOmZ1bmN0aW9uKGEsZCxlLGYsaCxpLGosayl7cmV0dXJuInN0b3AiPT09Yi5jb21wYXJlX3ZlcnNpb24oYykuY2hlY2s/azpnKGEsZCxlLGYsaCxpLGosayl9fSk7dmFyIGQ9ZnVuY3Rpb24oYSxjLGQsZSl7dmFyIGY9YSxnPWYuZmluZCgiLmRlZmF1bHRpbWciKSxoPWcuZGF0YSgibWVkaWFmaWx0ZXIiKSxpPWYuZGF0YSgiem9vbXN0YXJ0Iiksaj1mLmRhdGEoInJvdGF0aW9uc3RhcnQiKTt2b2lkIDAhPWcuZGF0YSgiY3Vycm90YXRlIikmJihqPWcuZGF0YSgiY3Vycm90YXRlIikpLHZvaWQgMCE9Zy5kYXRhKCJjdXJzY2FsZSIpJiYiYm94Ij09ZT9pPTEwMCpnLmRhdGEoImN1cnNjYWxlIik6dm9pZCAwIT1nLmRhdGEoImN1cnNjYWxlIikmJihpPWcuZGF0YSgiY3Vyc2NhbGUiKSksYi5zbG90U2l6ZShnLGMpO3ZhciBrPWcuYXR0cigic3JjIiksbD1nLmRhdGEoImJnY29sb3IiKSxtPWMud2lkdGgsbj1jLmhlaWdodCxvPWcuZGF0YSgiZnhvZiIpLHA9MDt2b2lkIDA9PT1sJiYobD1nLmNzcygiYmFja2dyb3VuZENvbG9yIikpLCJvbiI9PWMuYXV0b0hlaWdodCYmKG49Yy5jLmhlaWdodCgpKSx2b2lkIDA9PW8mJihvPTApO3ZhciBxPTAscj1nLmRhdGEoImJnZml0Iikscz1nLmRhdGEoImJncmVwZWF0IiksdD1nLmRhdGEoImJncG9zaXRpb24iKTt2b2lkIDA9PXImJihyPSJjb3ZlciIpLHZvaWQgMD09cyYmKHM9Im5vLXJlcGVhdCIpLHZvaWQgMD09dCYmKHQ9ImNlbnRlciBjZW50ZXIiKTt2YXIgdT0iIjtzd2l0Y2godT12b2lkIDAhPT1sJiZsLmluZGV4T2YoImdyYWRpZW50Iik+PTA/ImJhY2tncm91bmQ6IitsOiJiYWNrZ3JvdW5kLWNvbG9yOiIrbCsiO2JhY2tncm91bmQtaW1hZ2U6dXJsKCIraysiKTtiYWNrZ3JvdW5kLXJlcGVhdDoiK3MrIjtiYWNrZ3JvdW5kLXNpemU6IityKyI7YmFja2dyb3VuZC1wb3NpdGlvbjoiK3QsZSl7Y2FzZSJib3giOmZvcih2YXIgdj0wLHc9MCx4PTA7eDxjLnNsb3RzO3grKyl7dz0wO2Zvcih2YXIgeT0wO3k8Yy5zbG90czt5KyspZi5hcHBlbmQoJzxkaXYgY2xhc3M9InNsb3QiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6JysocCt3KSsicHg7bGVmdDoiKyhvK3YpKyJweDt3aWR0aDoiK2Muc2xvdHcrInB4O2hlaWdodDoiK2Muc2xvdGgrJ3B4O292ZXJmbG93OmhpZGRlbjsiPjxkaXYgY2xhc3M9InNsb3RzbGlkZSAnK2grJyIgZGF0YS14PSInK3YrJyIgZGF0YS15PSInK3crJyIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO3RvcDowcHg7bGVmdDowcHg7d2lkdGg6JytjLnNsb3R3KyJweDtoZWlnaHQ6IitjLnNsb3RoKydweDtvdmVyZmxvdzpoaWRkZW47Ij48ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6JysoMC13KSsicHg7bGVmdDoiKygwLXYpKyJweDt3aWR0aDoiK20rInB4O2hlaWdodDoiK24rInB4OyIrdSsnOyI+PC9kaXY+PC9kaXY+PC9kaXY+Jyksdys9Yy5zbG90aCx2b2lkIDAhPWkmJnZvaWQgMCE9aiYmcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGYuZmluZCgiLnNsb3QiKS5sYXN0KCkse3JvdGF0aW9uWjpqfSk7dis9Yy5zbG90d31icmVhaztjYXNlInZlcnRpY2FsIjpjYXNlImhvcml6b250YWwiOmlmKCJob3Jpem9udGFsIj09ZSl7aWYoIWQpdmFyIHE9MC1jLnNsb3R3O2Zvcih2YXIgeT0wO3k8Yy5zbG90czt5KyspZi5hcHBlbmQoJzxkaXYgY2xhc3M9InNsb3QiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6JysoMCtwKSsicHg7bGVmdDoiKyhvK3kqYy5zbG90dykrInB4O292ZXJmbG93OmhpZGRlbjt3aWR0aDoiKyhjLnNsb3R3Ky4zKSsicHg7aGVpZ2h0OiIrbisncHgiPjxkaXYgY2xhc3M9InNsb3RzbGlkZSAnK2grJyIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO3RvcDowcHg7bGVmdDonK3ErInB4O3dpZHRoOiIrKGMuc2xvdHcrLjYpKyJweDtoZWlnaHQ6IituKydweDtvdmVyZmxvdzpoaWRkZW47Ij48ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MHB4O2xlZnQ6JysoMC15KmMuc2xvdHcpKyJweDt3aWR0aDoiK20rInB4O2hlaWdodDoiK24rInB4OyIrdSsnOyI+PC9kaXY+PC9kaXY+PC9kaXY+Jyksdm9pZCAwIT1pJiZ2b2lkIDAhPWomJnB1bmNoZ3MuVHdlZW5MaXRlLnNldChmLmZpbmQoIi5zbG90IikubGFzdCgpLHtyb3RhdGlvblo6an0pfWVsc2V7aWYoIWQpdmFyIHE9MC1jLnNsb3RoO2Zvcih2YXIgeT0wO3k8Yy5zbG90cysyO3krKylmLmFwcGVuZCgnPGRpdiBjbGFzcz0ic2xvdCIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO3RvcDonKyhwK3kqYy5zbG90aCkrInB4O2xlZnQ6IitvKyJweDtvdmVyZmxvdzpoaWRkZW47d2lkdGg6IittKyJweDtoZWlnaHQ6IitjLnNsb3RoKydweCI+PGRpdiBjbGFzcz0ic2xvdHNsaWRlICcraCsnIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7dG9wOicrcSsicHg7bGVmdDowcHg7d2lkdGg6IittKyJweDtoZWlnaHQ6IitjLnNsb3RoKydweDtvdmVyZmxvdzpoaWRkZW47Ij48ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6JysoMC15KmMuc2xvdGgpKyJweDtsZWZ0OjBweDt3aWR0aDoiK20rInB4O2hlaWdodDoiK24rInB4OyIrdSsnOyI+PC9kaXY+PC9kaXY+PC9kaXY+Jyksdm9pZCAwIT1pJiZ2b2lkIDAhPWomJnB1bmNoZ3MuVHdlZW5MaXRlLnNldChmLmZpbmQoIi5zbG90IikubGFzdCgpLHtyb3RhdGlvblo6an0pfX19LGU9ZnVuY3Rpb24oYSxiLGMsZCl7ZnVuY3Rpb24geSgpe2pRdWVyeS5lYWNoKHYsZnVuY3Rpb24oYSxjKXtjWzBdIT1iJiZjWzhdIT1ifHwocT1jWzFdLHI9Y1syXSxzPXQpLHQrPTF9KX12YXIgZT1hWzBdLm9wdCxmPXB1bmNoZ3MuUG93ZXIxLmVhc2VJbixnPXB1bmNoZ3MuUG93ZXIxLmVhc2VPdXQsaD1wdW5jaGdzLlBvd2VyMS5lYXNlSW5PdXQsaT1wdW5jaGdzLlBvd2VyMi5lYXNlSW4saj1wdW5jaGdzLlBvd2VyMi5lYXNlT3V0LGs9cHVuY2hncy5Qb3dlcjIuZWFzZUluT3V0LG09KHB1bmNoZ3MuUG93ZXIzLmVhc2VJbixwdW5jaGdzLlBvd2VyMy5lYXNlT3V0KSxuPXB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dCxvPVswLDEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1LDI4LDI5LDMwLDMxLDMyLDMzLDM0LDM1LDM2LDM3LDM4LDM5LDQwLDQxLDQyLDQzLDQ0LDQ1XSxwPVsxNiwxNywxOCwxOSwyMCwyMSwyMiwyMywyNCwyNSwyN10scT0wLHI9MSxzPTAsdD0wLHY9KG5ldyBBcnJheSxbWyJib3hzbGlkZSIsMCwxLDEwLDAsImJveCIsITEsbnVsbCwwLGcsZyw1MDAsNl0sWyJib3hmYWRlIiwxLDAsMTAsMCwiYm94IiwhMSxudWxsLDEsaCxoLDcwMCw1XSxbInNsb3RzbGlkZS1ob3Jpem9udGFsIiwyLDAsMCwyMDAsImhvcml6b250YWwiLCEwLCExLDIsayxrLDcwMCwzXSxbInNsb3RzbGlkZS12ZXJ0aWNhbCIsMywwLDAsMjAwLCJ2ZXJ0aWNhbCIsITAsITEsMyxrLGssNzAwLDNdLFsiY3VydGFpbi0xIiw0LDMsMCwwLCJob3Jpem9udGFsIiwhMCwhMCw0LGcsZywzMDAsNV0sWyJjdXJ0YWluLTIiLDUsMywwLDAsImhvcml6b250YWwiLCEwLCEwLDUsZyxnLDMwMCw1XSxbImN1cnRhaW4tMyIsNiwzLDI1LDAsImhvcml6b250YWwiLCEwLCEwLDYsZyxnLDMwMCw1XSxbInNsb3R6b29tLWhvcml6b250YWwiLDcsMCwwLDQwMCwiaG9yaXpvbnRhbCIsITAsITAsNyxnLGcsMzAwLDddLFsic2xvdHpvb20tdmVydGljYWwiLDgsMCwwLDAsInZlcnRpY2FsIiwhMCwhMCw4LGosaiw1MDAsOF0sWyJzbG90ZmFkZS1ob3Jpem9udGFsIiw5LDAsMCwxZTMsImhvcml6b250YWwiLCEwLG51bGwsOSxqLGosMmUzLDEwXSxbInNsb3RmYWRlLXZlcnRpY2FsIiwxMCwwLDAsMWUzLCJ2ZXJ0aWNhbCIsITAsbnVsbCwxMCxqLGosMmUzLDEwXSxbImZhZGUiLDExLDAsMSwzMDAsImhvcml6b250YWwiLCEwLG51bGwsMTEsayxrLDFlMywxXSxbImNyb3NzZmFkZSIsMTEsMSwxLDMwMCwiaG9yaXpvbnRhbCIsITAsbnVsbCwxMSxrLGssMWUzLDFdLFsiZmFkZXRocm91Z2hkYXJrIiwxMSwyLDEsMzAwLCJob3Jpem9udGFsIiwhMCxudWxsLDExLGssaywxZTMsMV0sWyJmYWRldGhyb3VnaGxpZ2h0IiwxMSwzLDEsMzAwLCJob3Jpem9udGFsIiwhMCxudWxsLDExLGssaywxZTMsMV0sWyJmYWRldGhyb3VnaHRyYW5zcGFyZW50IiwxMSw0LDEsMzAwLCJob3Jpem9udGFsIiwhMCxudWxsLDExLGssaywxZTMsMV0sWyJzbGlkZWxlZnQiLDEyLDAsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwxMixuLG4sMWUzLDFdLFsic2xpZGV1cCIsMTMsMCwxLDAsImhvcml6b250YWwiLCEwLCEwLDEzLG4sbiwxZTMsMV0sWyJzbGlkZWRvd24iLDE0LDAsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwxNCxuLG4sMWUzLDFdLFsic2xpZGVyaWdodCIsMTUsMCwxLDAsImhvcml6b250YWwiLCEwLCEwLDE1LG4sbiwxZTMsMV0sWyJzbGlkZW92ZXJsZWZ0IiwxMiw3LDEsMCwiaG9yaXpvbnRhbCIsITAsITAsMTIsbixuLDFlMywxXSxbInNsaWRlb3ZlcnVwIiwxMyw3LDEsMCwiaG9yaXpvbnRhbCIsITAsITAsMTMsbixuLDFlMywxXSxbInNsaWRlb3ZlcmRvd24iLDE0LDcsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwxNCxuLG4sMWUzLDFdLFsic2xpZGVvdmVycmlnaHQiLDE1LDcsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwxNSxuLG4sMWUzLDFdLFsic2xpZGVyZW1vdmVsZWZ0IiwxMiw4LDEsMCwiaG9yaXpvbnRhbCIsITAsITAsMTIsbixuLDFlMywxXSxbInNsaWRlcmVtb3ZldXAiLDEzLDgsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwxMyxuLG4sMWUzLDFdLFsic2xpZGVyZW1vdmVkb3duIiwxNCw4LDEsMCwiaG9yaXpvbnRhbCIsITAsITAsMTQsbixuLDFlMywxXSxbInNsaWRlcmVtb3ZlcmlnaHQiLDE1LDgsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwxNSxuLG4sMWUzLDFdLFsicGFwZXJjdXQiLDE2LDAsMCw2MDAsIiIsbnVsbCxudWxsLDE2LG4sbiwxZTMsMl0sWyIzZGN1cnRhaW4taG9yaXpvbnRhbCIsMTcsMCwyMCwxMDAsInZlcnRpY2FsIiwhMSwhMCwxNyxoLGgsNTAwLDddLFsiM2RjdXJ0YWluLXZlcnRpY2FsIiwxOCwwLDEwLDEwMCwiaG9yaXpvbnRhbCIsITEsITAsMTgsaCxoLDUwMCw1XSxbImN1YmljIiwxOSwwLDIwLDYwMCwiaG9yaXpvbnRhbCIsITEsITAsMTksbixuLDUwMCwxXSxbImN1YmUiLDE5LDAsMjAsNjAwLCJob3Jpem9udGFsIiwhMSwhMCwyMCxuLG4sNTAwLDFdLFsiZmx5aW4iLDIwLDAsNCw2MDAsInZlcnRpY2FsIiwhMSwhMCwyMSxtLG4sNTAwLDFdLFsidHVybm9mZiIsMjEsMCwxLDUwMCwiaG9yaXpvbnRhbCIsITEsITAsMjIsbixuLDUwMCwxXSxbImluY3ViZSIsMjIsMCwyMCwyMDAsImhvcml6b250YWwiLCExLCEwLDIzLGssayw1MDAsMV0sWyJjdWJpYy1ob3Jpem9udGFsIiwyMywwLDIwLDUwMCwidmVydGljYWwiLCExLCEwLDI0LGosaiw1MDAsMV0sWyJjdWJlLWhvcml6b250YWwiLDIzLDAsMjAsNTAwLCJ2ZXJ0aWNhbCIsITEsITAsMjUsaixqLDUwMCwxXSxbImluY3ViZS1ob3Jpem9udGFsIiwyNCwwLDIwLDUwMCwidmVydGljYWwiLCExLCEwLDI2LGssayw1MDAsMV0sWyJ0dXJub2ZmLXZlcnRpY2FsIiwyNSwwLDEsMjAwLCJob3Jpem9udGFsIiwhMSwhMCwyNyxrLGssNTAwLDFdLFsiZmFkZWZyb21yaWdodCIsMTIsMSwxLDAsImhvcml6b250YWwiLCEwLCEwLDI4LGssaywxZTMsMV0sWyJmYWRlZnJvbWxlZnQiLDE1LDEsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwyOSxrLGssMWUzLDFdLFsiZmFkZWZyb210b3AiLDE0LDEsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwzMCxrLGssMWUzLDFdLFsiZmFkZWZyb21ib3R0b20iLDEzLDEsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwzMSxrLGssMWUzLDFdLFsiZmFkZXRvbGVmdGZhZGVmcm9tcmlnaHQiLDEyLDIsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwzMixrLGssMWUzLDFdLFsiZmFkZXRvcmlnaHRmYWRlZnJvbWxlZnQiLDE1LDIsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwzMyxrLGssMWUzLDFdLFsiZmFkZXRvYm90dG9tZmFkZWZyb210b3AiLDE0LDIsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwzNCxrLGssMWUzLDFdLFsiZmFkZXRvdG9wZmFkZWZyb21ib3R0b20iLDEzLDIsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwzNSxrLGssMWUzLDFdLFsicGFyYWxsYXh0b3JpZ2h0IiwxNSwzLDEsMCwiaG9yaXpvbnRhbCIsITAsITAsMzYsayxpLDE1MDAsMV0sWyJwYXJhbGxheHRvbGVmdCIsMTIsMywxLDAsImhvcml6b250YWwiLCEwLCEwLDM3LGssaSwxNTAwLDFdLFsicGFyYWxsYXh0b3RvcCIsMTQsMywxLDAsImhvcml6b250YWwiLCEwLCEwLDM4LGssZiwxNTAwLDFdLFsicGFyYWxsYXh0b2JvdHRvbSIsMTMsMywxLDAsImhvcml6b250YWwiLCEwLCEwLDM5LGssZiwxNTAwLDFdLFsic2NhbGVkb3duZnJvbXJpZ2h0IiwxMiw0LDEsMCwiaG9yaXpvbnRhbCIsITAsITAsNDAsayxpLDFlMywxXSxbInNjYWxlZG93bmZyb21sZWZ0IiwxNSw0LDEsMCwiaG9yaXpvbnRhbCIsITAsITAsNDEsayxpLDFlMywxXSxbInNjYWxlZG93bmZyb210b3AiLDE0LDQsMSwwLCJob3Jpem9udGFsIiwhMCwhMCw0MixrLGksMWUzLDFdLFsic2NhbGVkb3duZnJvbWJvdHRvbSIsMTMsNCwxLDAsImhvcml6b250YWwiLCEwLCEwLDQzLGssaSwxZTMsMV0sWyJ6b29tb3V0IiwxMyw1LDEsMCwiaG9yaXpvbnRhbCIsITAsITAsNDQsayxpLDFlMywxXSxbInpvb21pbiIsMTMsNiwxLDAsImhvcml6b250YWwiLCEwLCEwLDQ1LGssaSwxZTMsMV0sWyJzbGlkaW5nb3ZlcmxheXVwIiwyNywwLDEsMCwiaG9yaXpvbnRhbCIsITAsITAsNDcsaCxnLDJlMywxXSxbInNsaWRpbmdvdmVybGF5ZG93biIsMjgsMCwxLDAsImhvcml6b250YWwiLCEwLCEwLDQ4LGgsZywyZTMsMV0sWyJzbGlkaW5nb3ZlcmxheXJpZ2h0IiwzMCwwLDEsMCwiaG9yaXpvbnRhbCIsITAsITAsNDksaCxnLDJlMywxXSxbInNsaWRpbmdvdmVybGF5bGVmdCIsMjksMCwxLDAsImhvcml6b250YWwiLCEwLCEwLDUwLGgsZywyZTMsMV0sWyJwYXJhbGxheGNpcmNsZXN1cCIsMzEsMCwxLDAsImhvcml6b250YWwiLCEwLCEwLDUxLGssZiwxNTAwLDFdLFsicGFyYWxsYXhjaXJjbGVzZG93biIsMzIsMCwxLDAsImhvcml6b250YWwiLCEwLCEwLDUyLGssZiwxNTAwLDFdLFsicGFyYWxsYXhjaXJjbGVzcmlnaHQiLDMzLDAsMSwwLCJob3Jpem9udGFsIiwhMCwhMCw1MyxrLGYsMTUwMCwxXSxbInBhcmFsbGF4Y2lyY2xlc2xlZnQiLDM0LDAsMSwwLCJob3Jpem9udGFsIiwhMCwhMCw1NCxrLGYsMTUwMCwxXSxbIm5vdHJhbnNpdGlvbiIsMjYsMCwxLDAsImhvcml6b250YWwiLCEwLG51bGwsNDYsayxpLDFlMywxXSxbInBhcmFsbGF4cmlnaHQiLDE1LDMsMSwwLCJob3Jpem9udGFsIiwhMCwhMCw1NSxrLGksMTUwMCwxXSxbInBhcmFsbGF4bGVmdCIsMTIsMywxLDAsImhvcml6b250YWwiLCEwLCEwLDU2LGssaSwxNTAwLDFdLFsicGFyYWxsYXh1cCIsMTQsMywxLDAsImhvcml6b250YWwiLCEwLCEwLDU3LGssZiwxNTAwLDFdLFsicGFyYWxsYXhkb3duIiwxMywzLDEsMCwiaG9yaXpvbnRhbCIsITAsITAsNTgsayxmLDE1MDAsMV0sWyJncmF5c2NhbGUiLDExLDUsMSwzMDAsImhvcml6b250YWwiLCEwLG51bGwsMTEsayxrLDFlMywxXSxbImdyYXlzY2FsZWNyb3NzIiwxMSw2LDEsMzAwLCJob3Jpem9udGFsIiwhMCxudWxsLDExLGssaywxZTMsMV0sWyJicmlnaHRuZXNzIiwxMSw3LDEsMzAwLCJob3Jpem9udGFsIiwhMCxudWxsLDExLGssaywxZTMsMV0sWyJicmlnaHRuZXNzY3Jvc3MiLDExLDgsMSwzMDAsImhvcml6b250YWwiLCEwLG51bGwsMTEsayxrLDFlMywxXSxbImJsdXJsaWdodCIsMTEsOSwxLDMwMCwiaG9yaXpvbnRhbCIsITAsbnVsbCwxMSxrLGssMWUzLDFdLFsiYmx1cmxpZ2h0Y3Jvc3MiLDExLDEwLDEsMzAwLCJob3Jpem9udGFsIiwhMCxudWxsLDExLGssaywxZTMsMV0sWyJibHVyc3Ryb25nIiwxMSw5LDEsMzAwLCJob3Jpem9udGFsIiwhMCxudWxsLDExLGssaywxZTMsMV0sWyJibHVyc3Ryb25nY3Jvc3MiLDExLDEwLDEsMzAwLCJob3Jpem9udGFsIiwhMCxudWxsLDExLGssaywxZTMsMV1dKTtlLmR1cmluZ3NsaWRlY2hhbmdlPSEwLGUudGVzdGFuaW1zPSExLDE9PWUudGVzdGFuaW1zJiYoZS5uZXh0dGVzdHRyYW5zZm9ybT12b2lkIDA9PT1lLm5leHR0ZXN0dHJhbnNmb3JtPzM0OmUubmV4dHRlc3R0cmFuc2Zvcm0rMSxlLm5leHR0ZXN0dHJhbnNmb3JtPWUubmV4dHRlc3R0cmFuc2Zvcm0+NzA/MDplLm5leHR0ZXN0dHJhbnNmb3JtLGI9dltlLm5leHR0ZXN0dHJhbnNmb3JtXVswXSxjb25zb2xlLmxvZyhiKyIgICIrZS5uZXh0dGVzdHRyYW5zZm9ybSsiICAiK3ZbZS5uZXh0dGVzdHRyYW5zZm9ybV1bMV0rIiAgIit2W2UubmV4dHRlc3R0cmFuc2Zvcm1dWzJdKSksalF1ZXJ5LmVhY2goWyJwYXJhbGxheGNpcmNsZXMiLCJzbGlkaW5nb3ZlcmxheSIsInNsaWRlIiwic2xpZGVvdmVyIiwic2xpZGVyZW1vdmUiLCJwYXJhbGxheCIsInBhcnJhbGF4dG8iXSxmdW5jdGlvbihhLGMpe2I9PWMrImhvcml6b250YWwiJiYoYj0xIT1kP2MrImxlZnQiOmMrInJpZ2h0IiksYj09YysidmVydGljYWwiJiYoYj0xIT1kP2MrInVwIjpjKyJkb3duIil9KSwicmFuZG9tIj09YiYmKGI9TWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpKnYubGVuZ3RoLTEpKT52Lmxlbmd0aC0xJiYoYj12Lmxlbmd0aC0xKSwicmFuZG9tLXN0YXRpYyI9PWImJihiPU1hdGgucm91bmQoTWF0aC5yYW5kb20oKSpvLmxlbmd0aC0xKSxiPm8ubGVuZ3RoLTEmJihiPW8ubGVuZ3RoLTEpLGI9b1tiXSksInJhbmRvbS1wcmVtaXVtIj09YiYmKGI9TWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpKnAubGVuZ3RoLTEpLGI+cC5sZW5ndGgtMSYmKGI9cC5sZW5ndGgtMSksYj1wW2JdKTt2YXIgdz1bMTIsMTMsMTQsMTUsMTYsMjgsMjksMzAsMzEsMzIsMzMsMzQsMzUsMzYsMzcsMzgsMzksNDAsNDEsNDIsNDMsNDQsNDVdO2lmKDE9PWUuaXNKb29tbGEmJnZvaWQgMCE9d2luZG93Lk1vb1Rvb2xzJiYtMSE9dy5pbmRleE9mKGIpKXt2YXIgeD1NYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkqKHAubGVuZ3RoLTIpKSsxO3g+cC5sZW5ndGgtMSYmKHg9cC5sZW5ndGgtMSksMD09eCYmKHg9MSksYj1wW3hdfXkoKSxxPjMwJiYocT0zMCkscTwwJiYocT0wKTt2YXIgej1uZXcgT2JqZWN0O3JldHVybiB6Lm5leHR0cmFucz1xLHouU1RBPXZbc10sei5zcGVjaWFscz1yLHp9LGY9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdm9pZCAwPT1ifHxqUXVlcnkuaXNOdW1lcmljKGEpP2E6dm9pZCAwPT1hP2E6YS5zcGxpdCgiLCIpW2JdfSxnPWZ1bmN0aW9uKGEsYixjLGcsaCxpLGosayl7ZnVuY3Rpb24gVihhLGIsYyxkLGUpe3ZhciBmPWEuZmluZCgiLnNsb3QiKSxnPTYsaD1bMiwxLjIsLjksLjcsLjU1LC40Ml0saj1hLndpZHRoKCksbD1hLmhlaWdodCgpO2Yud3JhcCgnPGRpdiBjbGFzcz0ic2xvdC1jaXJjbGUtd3JhcHBlciIgc3R5bGU9Im92ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6MXB4IHNvbGlkICNmZmYiPjwvZGl2PicpO2Zvcih2YXIgbj0wO248ZztuKyspZi5wYXJlbnQoKS5jbG9uZSghMSkuYXBwZW5kVG8oaSk7YS5maW5kKCIuc2xvdC1jaXJjbGUtd3JhcHBlciIpLmVhY2goZnVuY3Rpb24oYSl7aWYoYTxnKXt2YXIgZD1qUXVlcnkodGhpcyksZj1kLmZpbmQoIi5zbG90IiksaT1qPmw/aFthXSpqOmhbYV0qbCxtPWksbj1tLzItai8yKzAsbz1pLzItbC8yKzAscD0wIT1hPyI1MCUiOiIwIixxPWwvMi1pLzIscj0zMz09Yz9qLzItbS8yOjM0PT1jP2otbTpqLzItbS8yLHM9e3NjYWxlOjEsdHJhbnNmb3JtT3JpZ286IjUwJSA1MCUiLHdpZHRoOm0rInB4IixoZWlnaHQ6aSsicHgiLHRvcDpxKyJweCIsbGVmdDpyKyJweCIsYm9yZGVyUmFkaXVzOnB9LHQ9e3NjYWxlOjEsdG9wOmwvMi1pLzIsbGVmdDpqLzItbS8yLGVhc2U6ZX0sdT1vLHY9MzM9PWM/bjozND09Yz9uK2ovMjpuLHc9e3dpZHRoOmosaGVpZ2h0OmwsYXV0b0FscGhhOjEsdG9wOnUrInB4Iixwb3NpdGlvbjoiYWJzb2x1dGUiLGxlZnQ6disicHgifSx4PXt0b3A6bysicHgiLGxlZnQ6bisicHgiLGVhc2U6ZX0seT1iLHo9MDtrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oZCx5LHMsdCkseiksay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGYseSx3LHgpLHopLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhkLC4wMDEse2F1dG9BbHBoYTowfSx7YXV0b0FscGhhOjF9KSwwKX19KX12YXIgbD1jWzBdLm9wdCxtPWguaW5kZXgoKSxuPWcuaW5kZXgoKSxvPW48bT8xOjA7ImFycm93Ij09bC5zY19pbmRpY2F0b3ImJihvPWwuc2NfaW5kaWNhdG9yX2Rpcik7dmFyIHA9ZShjLGIsaSxvKSxxPXAuU1RBLHI9cC5zcGVjaWFscyxhPXAubmV4dHRyYW5zOyJvbiI9PWkuZGF0YSgia2VuYnVybnMiKSYmKGE9MTEpO3ZhciBzPWcuZGF0YSgibmV4dHRyYW5zaWQiKXx8MCx0PWYoZy5kYXRhKCJtYXN0ZXJzcGVlZCIpLHMpO3Q9ImRlZmF1bHQiPT09dD9xWzExXToicmFuZG9tIj09PXQ/TWF0aC5yb3VuZCgxZTMqTWF0aC5yYW5kb20oKSszMDApOnZvaWQgMCE9dD9wYXJzZUludCh0LDApOnFbMTFdLHQ9dD5sLmRlbGF5P2wuZGVsYXk6dCx0Kz1xWzRdLGwuc2xvdHM9ZihnLmRhdGEoInNsb3RhbW91bnQiKSxzKSxsLnNsb3RzPXZvaWQgMD09bC5zbG90c3x8ImRlZmF1bHQiPT1sLnNsb3RzP3FbMTJdOiJyYW5kb20iPT1sLnNsb3RzP01hdGgucm91bmQoMTIqTWF0aC5yYW5kb20oKSs0KTpsLnNsb3RzLGwuc2xvdHM9bC5zbG90czwxPyJib3hzbGlkZSI9PWI/TWF0aC5yb3VuZCg2Kk1hdGgucmFuZG9tKCkrMyk6ImZseWluIj09Yj9NYXRoLnJvdW5kKDQqTWF0aC5yYW5kb20oKSsxKTpsLnNsb3RzOmwuc2xvdHMsbC5zbG90cz0oND09YXx8NT09YXx8Nj09YSkmJmwuc2xvdHM8Mz8zOmwuc2xvdHMsbC5zbG90cz0wIT1xWzNdP01hdGgubWluKGwuc2xvdHMscVszXSk6bC5zbG90cyxsLnNsb3RzPTk9PWE/bC53aWR0aC9sLnNsb3RzOjEwPT1hP2wuaGVpZ2h0L2wuc2xvdHM6bC5zbG90cyxsLnJvdGF0ZT1mKGcuZGF0YSgicm90YXRlIikscyksbC5yb3RhdGU9dm9pZCAwPT1sLnJvdGF0ZXx8ImRlZmF1bHQiPT1sLnJvdGF0ZT8wOjk5OT09bC5yb3RhdGV8fCJyYW5kb20iPT1sLnJvdGF0ZT9NYXRoLnJvdW5kKDM2MCpNYXRoLnJhbmRvbSgpKTpsLnJvdGF0ZSxsLnJvdGF0ZT1sLmllfHxsLmllOT8wOmwucm90YXRlLDExIT1hJiYobnVsbCE9cVs3XSYmZChqLGwscVs3XSxxWzVdKSxudWxsIT1xWzZdJiZkKGksbCxxWzZdLHFbNV0pKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaS5maW5kKCIuZGVmYXVsdHZpZCIpLHt5OjAseDowLHRvcDowLGxlZnQ6MCxzY2FsZToxfSksMCksay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGouZmluZCgiLmRlZmF1bHR2aWQiKSx7eTowLHg6MCx0b3A6MCxsZWZ0OjAsc2NhbGU6MX0pLDApLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChpLmZpbmQoIi5kZWZhdWx0dmlkIikse3k6IiswJSIseDoiKzAlIn0pLDApLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChqLmZpbmQoIi5kZWZhdWx0dmlkIikse3k6IiswJSIseDoiKzAlIn0pLDApLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChpLHthdXRvQWxwaGE6MSx5OiIrMCUiLHg6IiswJSJ9KSwwKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaix7YXV0b0FscGhhOjEseToiKzAlIix4OiIrMCUifSksMCksay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGkucGFyZW50KCkse2JhY2tncm91bmRDb2xvcjoidHJhbnNwYXJlbnQifSksMCksay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGoucGFyZW50KCkse2JhY2tncm91bmRDb2xvcjoidHJhbnNwYXJlbnQifSksMCk7dmFyIHU9ZihnLmRhdGEoImVhc2VpbiIpLHMpLHY9ZihnLmRhdGEoImVhc2VvdXQiKSxzKTtpZih1PSJkZWZhdWx0Ij09PXU/cVs5XXx8cHVuY2hncy5Qb3dlcjIuZWFzZUluT3V0OnV8fHFbOV18fHB1bmNoZ3MuUG93ZXIyLmVhc2VJbk91dCx2PSJkZWZhdWx0Ij09PXY/cVsxMF18fHB1bmNoZ3MuUG93ZXIyLmVhc2VJbk91dDp2fHxxWzEwXXx8cHVuY2hncy5Qb3dlcjIuZWFzZUluT3V0LDA9PWEpe3ZhciB3PU1hdGguY2VpbChsLmhlaWdodC9sLnNsb3RoKSx4PTA7aS5maW5kKCIuc2xvdHNsaWRlIikuZWFjaChmdW5jdGlvbihhKXt2YXIgYj1qUXVlcnkodGhpcyk7eCs9MSx4PT13JiYoeD0wKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tKGIsdC82MDAse29wYWNpdHk6MCx0b3A6MC1sLnNsb3RoLGxlZnQ6MC1sLnNsb3R3LHJvdGF0aW9uOmwucm90YXRlLGZvcmNlM0Q6ImF1dG8iLGVhc2U6dX0pLCgxNSphKzMwKngpLzE1MDApfSl9aWYoMT09YSl7dmFyIHksej0wO2kuZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24oYSl7dmFyIGI9alF1ZXJ5KHRoaXMpLGM9TWF0aC5yYW5kb20oKSp0KzMwMCxkPTUwMCpNYXRoLnJhbmRvbSgpKzIwMDtjK2Q+eSYmKHk9ZCtkLHo9YSksay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbShiLGMvMWUzLHthdXRvQWxwaGE6MCxmb3JjZTNEOiJhdXRvIixyb3RhdGlvbjpsLnJvdGF0ZSxlYXNlOnV9KSxkLzFlMyl9KX1pZigyPT1hKXt2YXIgQT1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGU7ai5maW5kKCIuc2xvdHNsaWRlIikuZWFjaChmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTtBLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS50byhhLHQvMWUzLHtsZWZ0Omwuc2xvdHcsZWFzZTp1LGZvcmNlM0Q6ImF1dG8iLHJvdGF0aW9uOjAtbC5yb3RhdGV9KSwwKSxrLmFkZChBLDApfSksaS5maW5kKCIuc2xvdHNsaWRlIikuZWFjaChmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTtBLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tKGEsdC8xZTMse2xlZnQ6MC1sLnNsb3R3LGVhc2U6dSxmb3JjZTNEOiJhdXRvIixyb3RhdGlvbjpsLnJvdGF0ZX0pLDApLGsuYWRkKEEsMCl9KX1pZigzPT1hKXt2YXIgQT1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGU7ai5maW5kKCIuc2xvdHNsaWRlIikuZWFjaChmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTtBLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS50byhhLHQvMWUzLHt0b3A6bC5zbG90aCxlYXNlOnUscm90YXRpb246bC5yb3RhdGUsZm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6NjAwfSksMCksay5hZGQoQSwwKX0pLGkuZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyk7QS5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbShhLHQvMWUzLHt0b3A6MC1sLnNsb3RoLHJvdGF0aW9uOmwucm90YXRlLGVhc2U6dixmb3JjZTNEOiJhdXRvIix0cmFuc2Zvcm1QZXJzcGVjdGl2ZTo2MDB9KSwwKSxrLmFkZChBLDApfSl9aWYoND09YXx8NT09YSl7c2V0VGltZW91dChmdW5jdGlvbigpe2ouZmluZCgiLmRlZmF1bHRpbWciKS5jc3Moe29wYWNpdHk6MH0pfSwxMDApO3ZhciBCPXQvMWUzLEE9bmV3IHB1bmNoZ3MuVGltZWxpbmVMaXRlO2ouZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24oYil7dmFyIGM9alF1ZXJ5KHRoaXMpLGQ9YipCL2wuc2xvdHM7NT09YSYmKGQ9KGwuc2xvdHMtYi0xKSpCL2wuc2xvdHMvMS41KSxBLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS50byhjLDMqQix7dHJhbnNmb3JtUGVyc3BlY3RpdmU6NjAwLGZvcmNlM0Q6ImF1dG8iLHRvcDowK2wuaGVpZ2h0LG9wYWNpdHk6LjUscm90YXRpb246bC5yb3RhdGUsZWFzZTp1LGRlbGF5OmR9KSwwKSxrLmFkZChBLDApfSksaS5maW5kKCIuc2xvdHNsaWRlIikuZWFjaChmdW5jdGlvbihiKXt2YXIgYz1qUXVlcnkodGhpcyksZD1iKkIvbC5zbG90czs1PT1hJiYoZD0obC5zbG90cy1iLTEpKkIvbC5zbG90cy8xLjUpLEEuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb20oYywzKkIse3RvcDowLWwuaGVpZ2h0LG9wYWNpdHk6LjUscm90YXRpb246bC5yb3RhdGUsZm9yY2UzRDoiYXV0byIsZWFzZTpwdW5jaGdzLmVvLGRlbGF5OmR9KSwwKSxrLmFkZChBLDApfSl9aWYoNj09YSl7bC5zbG90czwyJiYobC5zbG90cz0yKSxsLnNsb3RzJTImJihsLnNsb3RzPWwuc2xvdHMrMSk7dmFyIEE9bmV3IHB1bmNoZ3MuVGltZWxpbmVMaXRlO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtqLmZpbmQoIi5kZWZhdWx0aW1nIikuY3NzKHtvcGFjaXR5OjB9KX0sMTAwKSxqLmZpbmQoIi5zbG90c2xpZGUiKS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPWpRdWVyeSh0aGlzKTtpZihhKzE8bC5zbG90cy8yKXZhciBjPTkwKihhKzIpO2Vsc2UgdmFyIGM9OTAqKDIrbC5zbG90cy1hKTtBLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS50byhiLCh0K2MpLzFlMyx7dG9wOjArbC5oZWlnaHQsb3BhY2l0eToxLGZvcmNlM0Q6ImF1dG8iLHJvdGF0aW9uOmwucm90YXRlLGVhc2U6dX0pLDApLGsuYWRkKEEsMCl9KSxpLmZpbmQoIi5zbG90c2xpZGUiKS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPWpRdWVyeSh0aGlzKTtpZihhKzE8bC5zbG90cy8yKXZhciBjPTkwKihhKzIpO2Vsc2UgdmFyIGM9OTAqKDIrbC5zbG90cy1hKTtBLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tKGIsKHQrYykvMWUzLHt0b3A6MC1sLmhlaWdodCxvcGFjaXR5OjEsZm9yY2UzRDoiYXV0byIscm90YXRpb246bC5yb3RhdGUsZWFzZTp2fSksMCksay5hZGQoQSwwKX0pfWlmKDc9PWEpe3QqPTIsdD5sLmRlbGF5JiYodD1sLmRlbGF5KTt2YXIgQT1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGU7c2V0VGltZW91dChmdW5jdGlvbigpe2ouZmluZCgiLmRlZmF1bHRpbWciKS5jc3Moe29wYWNpdHk6MH0pfSwxMDApLGouZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcykuZmluZCgiZGl2Iik7QS5hZGQocHVuY2hncy5Ud2VlbkxpdGUudG8oYSx0LzFlMyx7bGVmdDowLWwuc2xvdHcvMisicHgiLHRvcDowLWwuaGVpZ2h0LzIrInB4Iix3aWR0aDoyKmwuc2xvdHcrInB4IixoZWlnaHQ6MipsLmhlaWdodCsicHgiLG9wYWNpdHk6MCxyb3RhdGlvbjpsLnJvdGF0ZSxmb3JjZTNEOiJhdXRvIixlYXNlOnV9KSwwKSxrLmFkZChBLDApfSksaS5maW5kKCIuc2xvdHNsaWRlIikuZWFjaChmdW5jdGlvbihhKXt2YXIgYj1qUXVlcnkodGhpcykuZmluZCgiZGl2Iik7QS5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGIsdC8xZTMse2xlZnQ6MCx0b3A6MCxvcGFjaXR5OjAsdHJhbnNmb3JtUGVyc3BlY3RpdmU6NjAwfSx7bGVmdDowLWEqbC5zbG90dysicHgiLGVhc2U6dixmb3JjZTNEOiJhdXRvIix0b3A6IjBweCIsd2lkdGg6bC53aWR0aCxoZWlnaHQ6bC5oZWlnaHQsb3BhY2l0eToxLHJvdGF0aW9uOjAsZGVsYXk6LjF9KSwwKSxrLmFkZChBLDApfSl9aWYoOD09YSl7dCo9Myx0PmwuZGVsYXkmJih0PWwuZGVsYXkpO3ZhciBBPW5ldyBwdW5jaGdzLlRpbWVsaW5lTGl0ZTtqLmZpbmQoIi5zbG90c2xpZGUiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpLmZpbmQoImRpdiIpO0EuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnRvKGEsdC8xZTMse2xlZnQ6MC1sLndpZHRoLzIrInB4Iix0b3A6MC1sLnNsb3RoLzIrInB4Iix3aWR0aDoyKmwud2lkdGgrInB4IixoZWlnaHQ6MipsLnNsb3RoKyJweCIsZm9yY2UzRDoiYXV0byIsZWFzZTp1LG9wYWNpdHk6MCxyb3RhdGlvbjpsLnJvdGF0ZX0pLDApLGsuYWRkKEEsMCl9KSxpLmZpbmQoIi5zbG90c2xpZGUiKS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPWpRdWVyeSh0aGlzKS5maW5kKCJkaXYiKTtBLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oYix0LzFlMyx7bGVmdDowLHRvcDowLG9wYWNpdHk6MCxmb3JjZTNEOiJhdXRvIn0se2xlZnQ6IjBweCIsdG9wOjAtYSpsLnNsb3RoKyJweCIsd2lkdGg6aS5maW5kKCIuZGVmYXVsdGltZyIpLmRhdGEoIm5ld3ciKSsicHgiLGhlaWdodDppLmZpbmQoIi5kZWZhdWx0aW1nIikuZGF0YSgibmV3aCIpKyJweCIsb3BhY2l0eToxLGVhc2U6dixyb3RhdGlvbjowfSksMCksay5hZGQoQSwwKX0pfWlmKDk9PWF8fDEwPT1hKXt2YXIgRD0wO2kuZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24oYSl7dmFyIGI9alF1ZXJ5KHRoaXMpO0QrKyxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oYix0LzJlMyx7YXV0b0FscGhhOjAsZm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6NjAwfSx7YXV0b0FscGhhOjEsZWFzZTp1LGRlbGF5OmEqbC5zbG90cy8xMDAvMmUzfSksMCl9KX1pZigyNz09YXx8Mjg9PWF8fDI5PT1hfHwzMD09YSl7dmFyIEU9aS5maW5kKCIuc2xvdCIpLEY9Mjc9PWF8fDI4PT1hPzE6MixHPTI3PT1hfHwyOT09YT8iLTEwMCUiOiIrMTAwJSIsSD0yNz09YXx8Mjk9PWE/IisxMDAlIjoiLTEwMCUiLEk9Mjc9PWF8fDI5PT1hPyItODAlIjoiODAlIixKPTI3PT1hfHwyOT09YT8iKzgwJSI6Ii04MCUiLEs9Mjc9PWF8fDI5PT1hPyIrMTAlIjoiLTEwJSIsTD17b3ZlcndyaXRlOiJhbGwifSxNPXthdXRvQWxwaGE6MCx6SW5kZXg6MSxmb3JjZTNEOiJhdXRvIixlYXNlOnV9LE49e3Bvc2l0aW9uOiJpbmhlcml0IixhdXRvQWxwaGE6MCxvdmVyd3JpdGU6ImFsbCIsekluZGV4OjF9LE89e2F1dG9BbHBoYToxLGZvcmNlM0Q6ImF1dG8iLGVhc2U6dn0sUD17b3ZlcndyaXRlOiJhbGwiLHpJbmRleDoyLG9wYWNpdHk6MSxhdXRvQWxwaGE6MX0sUT17YXV0b0FscGhhOjEsZm9yY2UzRDoiYXV0byIsb3ZlcndyaXRlOiJhbGwiLGVhc2U6dX0sUj17b3ZlcndyaXRlOiJhbGwiLHpJbmRleDoyLGF1dG9BbHBoYToxfSxTPXthdXRvQWxwaGE6MSxmb3JjZTNEOiJhdXRvIixlYXNlOnV9LFQ9MT09Rj8ieSI6IngiO0xbVF09IjBweCIsTVtUXT1HLE5bVF09SyxPW1RdPSIwJSIsUFtUXT1ILFFbVF09RyxSW1RdPUksU1tUXT1KLEUuYXBwZW5kKCc8c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNik7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MHB4O2xlZnQ6MHB4O2Rpc3BsYXk6YmxvY2s7ei1pbmRleDoyIj48L3NwYW4+Jyksay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGosdC8xZTMsTCxNKSwwKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oaS5maW5kKCIuZGVmYXVsdGltZyIpLHQvMmUzLE4sTyksdC8yZTMpLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhFLHQvMWUzLFAsUSksMCksay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKEUuZmluZCgiLnNsb3RzbGlkZSBkaXYiKSx0LzFlMyxSLFMpLDApfWlmKDMxPT1hfHwzMj09YXx8MzM9PWF8fDM0PT1hKXt0PTZlMyx1PXB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dDt2YXIgVT10LzFlMzttYXM9VS1VLzUsX250PWEsZnk9MzE9PV9udD8iKzEwMCUiOjMyPT1fbnQ/Ii0xMDAlIjoiMCUiLGZ4PTMzPT1fbnQ/IisxMDAlIjozND09X250PyItMTAwJSI6IjAlIix0eT0zMT09X250PyItMTAwJSI6MzI9PV9udD8iKzEwMCUiOiIwJSIsdHg9MzM9PV9udD8iLTEwMCUiOjM0PT1fbnQ/IisxMDAlIjoiMCUiLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhqLFUtLjIqVSx7eTowLHg6MH0se3k6dHkseDp0eCxlYXNlOnZ9KSwuMipVKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oaSxVLHt5OmZ5LHg6Znh9LHt5OiIwJSIseDoiMCUiLGVhc2U6dX0pLDApLGkuZmluZCgiLnNsb3QiKS5yZW1vdmUoKSxpLmZpbmQoIi5kZWZhdWx0aW1nIikuY2xvbmUoKS5hcHBlbmRUbyhpKS5hZGRDbGFzcygic2xvdCIpLFYoaSxVLF9udCwiaW4iLHUpfWlmKDExPT1hKXtyPjEyJiYocj0wKTt2YXIgRD0wLFc9Mj09cj8iIzAwMDAwMCI6Mz09cj8iI2ZmZmZmZiI6InRyYW5zcGFyZW50Ijtzd2l0Y2gocil7Y2FzZSAwOmsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhpLHQvMWUzLHthdXRvQWxwaGE6MH0se2F1dG9BbHBoYToxLGZvcmNlM0Q6ImF1dG8iLGVhc2U6dX0pLDApO2JyZWFrO2Nhc2UgMTprLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oaSx0LzFlMyx7YXV0b0FscGhhOjB9LHthdXRvQWxwaGE6MSxmb3JjZTNEOiJhdXRvIixlYXNlOnV9KSwwKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oaix0LzFlMyx7YXV0b0FscGhhOjF9LHthdXRvQWxwaGE6MCxmb3JjZTNEOiJhdXRvIixlYXNlOnV9KSwwKTticmVhaztjYXNlIDI6Y2FzZSAzOmNhc2UgNDprLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoai5wYXJlbnQoKSx7YmFja2dyb3VuZENvbG9yOlcsZm9yY2UzRDoiYXV0byJ9KSwwKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaS5wYXJlbnQoKSx7YmFja2dyb3VuZENvbG9yOiJ0cmFuc3BhcmVudCIsZm9yY2UzRDoiYXV0byJ9KSwwKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS50byhqLHQvMmUzLHthdXRvQWxwaGE6MCxmb3JjZTNEOiJhdXRvIixlYXNlOnV9KSwwKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oaSx0LzJlMyx7YXV0b0FscGhhOjB9LHthdXRvQWxwaGE6MSxmb3JjZTNEOiJhdXRvIixlYXNlOnV9KSx0LzJlMyk7YnJlYWs7Y2FzZSA1OmNhc2UgNjpjYXNlIDc6Y2FzZSA4OmNhc2UgOTpjYXNlIDEwOmNhc2UgMTE6Y2FzZSAxMjp2YXIgWD1qUXVlcnkuaW5BcnJheShyLFs5LDEwXSk+PTA/NTpqUXVlcnkuaW5BcnJheShyLFsxMSwxMl0pPj0wPzEwOjAsWT1qUXVlcnkuaW5BcnJheShyLFs1LDYsNyw4XSk+PTA/MTAwOjAsWj1qUXVlcnkuaW5BcnJheShyLFs3LDhdKT49MD8zMDA6MCwkPSJibHVyKCIrWCsicHgpIGdyYXlzY2FsZSgiK1krIiUpIGJyaWdodG5lc3MoIitaKyIlKSIsXz0iYmx1cigwcHgpIGdyYXlzY2FsZSgwJSkgYnJpZ2h0bmVzcygxMDAlKSI7ay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGksdC8xZTMse2F1dG9BbHBoYTowLGZpbHRlcjokLCItd2Via2l0LWZpbHRlciI6JH0se2F1dG9BbHBoYToxLGZpbHRlcjpfLCItd2Via2l0LWZpbHRlciI6Xyxmb3JjZTNEOiJhdXRvIixlYXNlOnV9KSwwKSxqUXVlcnkuaW5BcnJheShyLFs2LDgsMTBdKT49MCYmay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGosdC8xZTMse2F1dG9BbHBoYToxLGZpbHRlcjpfLCItd2Via2l0LWZpbHRlciI6X30se2F1dG9BbHBoYTowLGZvcmNlM0Q6ImF1dG8iLGVhc2U6dSxmaWx0ZXI6JCwiLXdlYmtpdC1maWx0ZXIiOiR9KSwwKX1rLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaS5maW5kKCIuZGVmYXVsdGltZyIpLHthdXRvQWxwaGE6MX0pLDApLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChqLmZpbmQoImRlZmF1bHRpbWciKSx7YXV0b0FscGhhOjF9KSwwKX1pZigyNj09YSl7dmFyIEQ9MDt0PTAsay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGksdC8xZTMse2F1dG9BbHBoYTowfSx7YXV0b0FscGhhOjEsZm9yY2UzRDoiYXV0byIsZWFzZTp1fSksMCksay5hZGQocHVuY2hncy5Ud2VlbkxpdGUudG8oaix0LzFlMyx7YXV0b0FscGhhOjAsZm9yY2UzRDoiYXV0byIsZWFzZTp1fSksMCksay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGkuZmluZCgiLmRlZmF1bHRpbWciKSx7YXV0b0FscGhhOjF9KSwwKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoai5maW5kKCJkZWZhdWx0aW1nIikse2F1dG9BbHBoYToxfSksMCl9aWYoMTI9PWF8fDEzPT1hfHwxND09YXx8MTU9PWEpe3Q9dCx0PmwuZGVsYXkmJih0PWwuZGVsYXkpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoai5maW5kKCIuZGVmYXVsdGltZyIpLHthdXRvQWxwaGE6MH0pfSwxMDApO3ZhciBhYT1sLndpZHRoLGJhPWwuaGVpZ2h0LGNhPWkuZmluZCgiLnNsb3RzbGlkZSwgLmRlZmF1bHR2aWQiKSxkYT0wLGVhPTAsZmE9MSxnYT0xLGhhPTEsaWE9dC8xZTMsamE9aWE7ImZ1bGx3aWR0aCIhPWwuc2xpZGVyTGF5b3V0JiYiZnVsbHNjcmVlbiIhPWwuc2xpZGVyTGF5b3V0fHwoYWE9Y2Eud2lkdGgoKSxiYT1jYS5oZWlnaHQoKSksMTI9PWE/ZGE9YWE6MTU9PWE/ZGE9MC1hYToxMz09YT9lYT1iYToxND09YSYmKGVhPTAtYmEpLDE9PXImJihmYT0wKSwyPT1yJiYoZmE9MCksMz09ciYmKGlhPXQvMTMwMCksNCE9ciYmNSE9cnx8KGdhPS42KSw2PT1yJiYoZ2E9MS40KSw1IT1yJiY2IT1yfHwoaGE9MS40LGZhPTAsYWE9MCxiYT0wLGRhPTAsZWE9MCksNj09ciYmKGhhPS42KTs3PT1yJiYoYWE9MCxiYT0wKTt2YXIgbGE9aS5maW5kKCIuc2xvdHNsaWRlIiksbWE9ai5maW5kKCIuc2xvdHNsaWRlLCAuZGVmYXVsdHZpZCIpO2lmKGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChoLHt6SW5kZXg6MTV9KSwwKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZyx7ekluZGV4OjIwfSksMCksOD09cj8oay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGgse3pJbmRleDoyMH0pLDApLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChnLHt6SW5kZXg6MTV9KSwwKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQobGEse2xlZnQ6MCx0b3A6MCxzY2FsZToxLG9wYWNpdHk6MSxyb3RhdGlvbjowLGVhc2U6dSxmb3JjZTNEOiJhdXRvIn0pLDApKTprLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tKGxhLGlhLHtsZWZ0OmRhLHRvcDplYSxzY2FsZTpoYSxvcGFjaXR5OmZhLHJvdGF0aW9uOmwucm90YXRlLGVhc2U6dSxmb3JjZTNEOiJhdXRvIn0pLDApLDQhPXImJjUhPXJ8fChhYT0wLGJhPTApLDEhPXIpc3dpdGNoKGEpe2Nhc2UgMTI6ay5hZGQocHVuY2hncy5Ud2VlbkxpdGUudG8obWEsamEse2xlZnQ6MC1hYSsicHgiLGZvcmNlM0Q6ImF1dG8iLHNjYWxlOmdhLG9wYWNpdHk6ZmEscm90YXRpb246bC5yb3RhdGUsZWFzZTp2fSksMCk7YnJlYWs7Y2FzZSAxNTprLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS50byhtYSxqYSx7bGVmdDphYSsicHgiLGZvcmNlM0Q6ImF1dG8iLHNjYWxlOmdhLG9wYWNpdHk6ZmEscm90YXRpb246bC5yb3RhdGUsZWFzZTp2fSksMCk7YnJlYWs7Y2FzZSAxMzprLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS50byhtYSxqYSx7dG9wOjAtYmErInB4Iixmb3JjZTNEOiJhdXRvIixzY2FsZTpnYSxvcGFjaXR5OmZhLHJvdGF0aW9uOmwucm90YXRlLGVhc2U6dn0pLDApO2JyZWFrO2Nhc2UgMTQ6ay5hZGQocHVuY2hncy5Ud2VlbkxpdGUudG8obWEsamEse3RvcDpiYSsicHgiLGZvcmNlM0Q6ImF1dG8iLHNjYWxlOmdhLG9wYWNpdHk6ZmEscm90YXRpb246bC5yb3RhdGUsZWFzZTp2fSksMCl9fWlmKDE2PT1hKXt2YXIgQT1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGU7ay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGgse3Bvc2l0aW9uOiJhYnNvbHV0ZSIsInotaW5kZXgiOjIwfSksMCksay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGcse3Bvc2l0aW9uOiJhYnNvbHV0ZSIsInotaW5kZXgiOjE1fSksMCksaC53cmFwSW5uZXIoJzxkaXYgY2xhc3M9InRwLWhhbGYtb25lIiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7IHdpZHRoOjEwMCU7aGVpZ2h0OjEwMCUiPjwvZGl2PicpLGguZmluZCgiLnRwLWhhbGYtb25lIikuY2xvbmUoITApLmFwcGVuZFRvKGgpLmFkZENsYXNzKCJ0cC1oYWxmLXR3byIpLGguZmluZCgiLnRwLWhhbGYtdHdvIikucmVtb3ZlQ2xhc3MoInRwLWhhbGYtb25lIik7dmFyIGFhPWwud2lkdGgsYmE9bC5oZWlnaHQ7Im9uIj09bC5hdXRvSGVpZ2h0JiYoYmE9Yy5oZWlnaHQoKSksaC5maW5kKCIudHAtaGFsZi1vbmUgLmRlZmF1bHRpbWciKS53cmFwKCc8ZGl2IGNsYXNzPSJ0cC1wYXBlcmN1dCIgc3R5bGU9IndpZHRoOicrYWErInB4O2hlaWdodDoiK2JhKydweDsiPjwvZGl2PicpLGguZmluZCgiLnRwLWhhbGYtdHdvIC5kZWZhdWx0aW1nIikud3JhcCgnPGRpdiBjbGFzcz0idHAtcGFwZXJjdXQiIHN0eWxlPSJ3aWR0aDonK2FhKyJweDtoZWlnaHQ6IitiYSsncHg7Ij48L2Rpdj4nKSxoLmZpbmQoIi50cC1oYWxmLXR3byAuZGVmYXVsdGltZyIpLmNzcyh7cG9zaXRpb246ImFic29sdXRlIix0b3A6Ii01MCUifSksaC5maW5kKCIudHAtaGFsZi10d28gLnRwLWNhcHRpb24iKS53cmFwQWxsKCc8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTUwJTtsZWZ0OjBweDsiPjwvZGl2PicpLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChoLmZpbmQoIi50cC1oYWxmLXR3byIpLHt3aWR0aDphYSxoZWlnaHQ6YmEsb3ZlcmZsb3c6ImhpZGRlbiIsekluZGV4OjE1LHBvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOmJhLzIsbGVmdDoiMHB4Iix0cmFuc2Zvcm1QZXJzcGVjdGl2ZTo2MDAsdHJhbnNmb3JtT3JpZ2luOiJjZW50ZXIgYm90dG9tIn0pLDApLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChoLmZpbmQoIi50cC1oYWxmLW9uZSIpLHt3aWR0aDphYSxoZWlnaHQ6YmEvMixvdmVyZmxvdzoidmlzaWJsZSIsekluZGV4OjEwLHBvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOiIwcHgiLGxlZnQ6IjBweCIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6NjAwLHRyYW5zZm9ybU9yaWdpbjoiY2VudGVyIHRvcCJ9KSwwKTt2YXIgb2E9KGguZmluZCgiLmRlZmF1bHRpbWciKSxNYXRoLnJvdW5kKDIwKk1hdGgucmFuZG9tKCktMTApKSxwYT1NYXRoLnJvdW5kKDIwKk1hdGgucmFuZG9tKCktMTApLHFhPU1hdGgucm91bmQoMjAqTWF0aC5yYW5kb20oKS0xMCkscmE9LjQqTWF0aC5yYW5kb20oKS0uMixzYT0uNCpNYXRoLnJhbmRvbSgpLS4yLHRhPTEqTWF0aC5yYW5kb20oKSsxLHVhPTEqTWF0aC5yYW5kb20oKSsxLHZhPS4zKk1hdGgucmFuZG9tKCkrLjM7ay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGguZmluZCgiLnRwLWhhbGYtb25lIikse292ZXJmbG93OiJoaWRkZW4ifSksMCksay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGguZmluZCgiLnRwLWhhbGYtb25lIiksdC84MDAse3dpZHRoOmFhLGhlaWdodDpiYS8yLHBvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOiIwcHgiLGxlZnQ6IjBweCIsZm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtT3JpZ2luOiJjZW50ZXIgdG9wIn0se3NjYWxlOnRhLHJvdGF0aW9uOm9hLHk6MC1iYS1iYS80LGF1dG9BbHBoYTowLGVhc2U6dX0pLDApLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhoLmZpbmQoIi50cC1oYWxmLXR3byIpLHQvODAwLHt3aWR0aDphYSxoZWlnaHQ6YmEsb3ZlcmZsb3c6ImhpZGRlbiIscG9zaXRpb246ImFic29sdXRlIix0b3A6YmEvMixsZWZ0OiIwcHgiLGZvcmNlM0Q6ImF1dG8iLHRyYW5zZm9ybU9yaWdpbjoiY2VudGVyIGJvdHRvbSJ9LHtzY2FsZTp1YSxyb3RhdGlvbjpwYSx5OmJhK2JhLzQsZWFzZTp1LGF1dG9BbHBoYTowLG9uQ29tcGxldGU6ZnVuY3Rpb24oKXtwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaCx7cG9zaXRpb246ImFic29sdXRlIiwiei1pbmRleCI6MTV9KSxwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZyx7cG9zaXRpb246ImFic29sdXRlIiwiei1pbmRleCI6MjB9KSxoLmZpbmQoIi50cC1oYWxmLW9uZSIpLmxlbmd0aD4wJiYoaC5maW5kKCIudHAtaGFsZi1vbmUgLmRlZmF1bHRpbWciKS51bndyYXAoKSxoLmZpbmQoIi50cC1oYWxmLW9uZSAuc2xvdGhvbGRlciIpLnVud3JhcCgpKSxoLmZpbmQoIi50cC1oYWxmLXR3byIpLnJlbW92ZSgpfX0pLDApLEEuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChpLmZpbmQoIi5kZWZhdWx0aW1nIikse2F1dG9BbHBoYToxfSksMCksbnVsbCE9aC5odG1sKCkmJmsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhnLCh0LTIwMCkvMWUzLHtzY2FsZTp2YSx4Omwud2lkdGgvNCpyYSx5OmJhLzQqc2Escm90YXRpb246cWEsZm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtT3JpZ2luOiJjZW50ZXIgY2VudGVyIixlYXNlOnZ9LHthdXRvQWxwaGE6MSxzY2FsZToxLHg6MCx5OjAscm90YXRpb246MH0pLDApLGsuYWRkKEEsMCl9aWYoMTc9PWEmJmkuZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24oYSl7dmFyIGI9alF1ZXJ5KHRoaXMpO2suYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhiLHQvODAwLHtvcGFjaXR5OjAscm90YXRpb25ZOjAsc2NhbGU6Ljkscm90YXRpb25YOi0xMTAsZm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6NjAwLHRyYW5zZm9ybU9yaWdpbjoiY2VudGVyIGNlbnRlciJ9LHtvcGFjaXR5OjEsdG9wOjAsbGVmdDowLHNjYWxlOjEscm90YXRpb246MCxyb3RhdGlvblg6MCxmb3JjZTNEOiJhdXRvIixyb3RhdGlvblk6MCxlYXNlOnUsZGVsYXk6LjA2KmF9KSwwKX0pLDE4PT1hJiZpLmZpbmQoIi5zbG90c2xpZGUiKS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPWpRdWVyeSh0aGlzKTtrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oYix0LzUwMCx7YXV0b0FscGhhOjAscm90YXRpb25ZOjExMCxzY2FsZTouOSxyb3RhdGlvblg6MTAsZm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6NjAwLHRyYW5zZm9ybU9yaWdpbjoiY2VudGVyIGNlbnRlciJ9LHthdXRvQWxwaGE6MSx0b3A6MCxsZWZ0OjAsc2NhbGU6MSxyb3RhdGlvbjowLHJvdGF0aW9uWDowLGZvcmNlM0Q6ImF1dG8iLHJvdGF0aW9uWTowLGVhc2U6dSxkZWxheTouMDYqYX0pLDApfSksMTk9PWF8fDIyPT1hKXt2YXIgQT1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGU7ay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGgse3pJbmRleDoyMH0pLDApLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChnLHt6SW5kZXg6MjB9KSwwKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ai5maW5kKCIuZGVmYXVsdGltZyIpLmNzcyh7b3BhY2l0eTowfSl9LDEwMCk7dmFyIHdhPTkwLGZhPTEseGE9ImNlbnRlciBjZW50ZXIgIjsxPT1vJiYod2E9LTkwKSwxOT09YT8oeGE9eGErIi0iK2wuaGVpZ2h0LzIsZmE9MCk6eGErPWwuaGVpZ2h0LzIscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGMse3RyYW5zZm9ybVN0eWxlOiJmbGF0IixiYWNrZmFjZVZpc2liaWxpdHk6ImhpZGRlbiIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6NjAwfSksaS5maW5kKCIuc2xvdHNsaWRlIikuZWFjaChmdW5jdGlvbihhKXt2YXIgYj1qUXVlcnkodGhpcyk7QS5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGIsdC8xZTMse3RyYW5zZm9ybVN0eWxlOiJmbGF0IixiYWNrZmFjZVZpc2liaWxpdHk6ImhpZGRlbiIsbGVmdDowLHJvdGF0aW9uWTpsLnJvdGF0ZSx6OjEwLHRvcDowLHNjYWxlOjEsZm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6NjAwLHRyYW5zZm9ybU9yaWdpbjp4YSxyb3RhdGlvblg6d2F9LHtsZWZ0OjAscm90YXRpb25ZOjAsdG9wOjAsejowLHNjYWxlOjEsZm9yY2UzRDoiYXV0byIscm90YXRpb25YOjAsZGVsYXk6NTAqYS8xZTMsZWFzZTp1fSksMCksQS5hZGQocHVuY2hncy5Ud2VlbkxpdGUudG8oYiwuMSx7YXV0b0FscGhhOjEsZGVsYXk6NTAqYS8xZTN9KSwwKSxrLmFkZChBKX0pLGouZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24oYSl7dmFyIGI9alF1ZXJ5KHRoaXMpLGM9LTkwOzE9PW8mJihjPTkwKSxBLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oYix0LzFlMyx7dHJhbnNmb3JtU3R5bGU6ImZsYXQiLGJhY2tmYWNlVmlzaWJpbGl0eToiaGlkZGVuIixhdXRvQWxwaGE6MSxyb3RhdGlvblk6MCx0b3A6MCx6OjAsc2NhbGU6MSxmb3JjZTNEOiJhdXRvIix0cmFuc2Zvcm1QZXJzcGVjdGl2ZTo2MDAsdHJhbnNmb3JtT3JpZ2luOnhhLHJvdGF0aW9uWDowfSx7YXV0b0FscGhhOjEscm90YXRpb25ZOmwucm90YXRlLHRvcDowLHo6MTAsc2NhbGU6MSxyb3RhdGlvblg6YyxkZWxheTo1MCphLzFlMyxmb3JjZTNEOiJhdXRvIixlYXNlOnZ9KSwwKSxrLmFkZChBKX0pLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChoLHt6SW5kZXg6MTh9KSwwKX1pZigyMD09YSl7aWYoc2V0VGltZW91dChmdW5jdGlvbigpe2ouZmluZCgiLmRlZmF1bHRpbWciKS5jc3Moe29wYWNpdHk6MH0pfSwxMDApLDE9PW8pdmFyIHlhPS1sLndpZHRoLHdhPTgwLHhhPSIyMCUgNzAlIC0iK2wuaGVpZ2h0LzI7ZWxzZSB2YXIgeWE9bC53aWR0aCx3YT0tODAseGE9IjgwJSA3MCUgLSIrbC5oZWlnaHQvMjtpLmZpbmQoIi5zbG90c2xpZGUiKS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPWpRdWVyeSh0aGlzKSxjPTUwKmEvMWUzO2suYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhiLHQvMWUzLHtsZWZ0OnlhLHJvdGF0aW9uWDo0MCx6Oi02MDAsb3BhY2l0eTpmYSx0b3A6MCxzY2FsZToxLGZvcmNlM0Q6ImF1dG8iLHRyYW5zZm9ybVBlcnNwZWN0aXZlOjYwMCx0cmFuc2Zvcm1PcmlnaW46eGEsdHJhbnNmb3JtU3R5bGU6ImZsYXQiLHJvdGF0aW9uWTp3YX0se2xlZnQ6MCxyb3RhdGlvblg6MCxvcGFjaXR5OjEsdG9wOjAsejowLHNjYWxlOjEscm90YXRpb25ZOjAsZGVsYXk6YyxlYXNlOnV9KSwwKX0pLGouZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24oYSl7dmFyIGI9alF1ZXJ5KHRoaXMpLGM9NTAqYS8xZTM7aWYoYz1hPjA/Yyt0LzllMzowLDEhPW8pdmFyIGQ9LWwud2lkdGgvMixlPTMwLGY9IjIwJSA3MCUgLSIrbC5oZWlnaHQvMjtlbHNlIHZhciBkPWwud2lkdGgvMixlPS0zMCxmPSI4MCUgNzAlIC0iK2wuaGVpZ2h0LzI7dj1wdW5jaGdzLlBvd2VyMi5lYXNlSW5PdXQsay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGIsdC8xZTMse29wYWNpdHk6MSxyb3RhdGlvblg6MCx0b3A6MCx6OjAsc2NhbGU6MSxsZWZ0OjAsZm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6NjAwLHRyYW5zZm9ybU9yaWdpbjpmLHRyYW5zZm9ybVN0eWxlOiJmbGF0Iixyb3RhdGlvblk6MH0se29wYWNpdHk6MSxyb3RhdGlvblg6MjAsdG9wOjAsejotNjAwLGxlZnQ6ZCxmb3JjZTNEOiJhdXRvIixyb3RhdGlvblk6ZSxkZWxheTpjLGVhc2U6dn0pLDApfSl9aWYoMjE9PWF8fDI1PT1hKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ai5maW5kKCIuZGVmYXVsdGltZyIpLmNzcyh7b3BhY2l0eTowfSl9LDEwMCk7dmFyIHdhPTkwLHlhPS1sLndpZHRoLHphPS13YTtpZigxPT1vKWlmKDI1PT1hKXt2YXIgeGE9ImNlbnRlciB0b3AgMCI7d2E9bC5yb3RhdGV9ZWxzZXt2YXIgeGE9ImxlZnQgY2VudGVyIDAiO3phPWwucm90YXRlfWVsc2UgaWYoeWE9bC53aWR0aCx3YT0tOTAsMjU9PWEpe3ZhciB4YT0iY2VudGVyIGJvdHRvbSAwIjt6YT0td2Esd2E9bC5yb3RhdGV9ZWxzZXt2YXIgeGE9InJpZ2h0IGNlbnRlciAwIjt6YT1sLnJvdGF0ZX1pLmZpbmQoIi5zbG90c2xpZGUiKS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPWpRdWVyeSh0aGlzKSxjPXQvMS41LzM7ay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGIsMipjLzFlMyx7bGVmdDowLHRyYW5zZm9ybVN0eWxlOiJmbGF0Iixyb3RhdGlvblg6emEsejowLGF1dG9BbHBoYTowLHRvcDowLHNjYWxlOjEsZm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6MTIwMCx0cmFuc2Zvcm1PcmlnaW46eGEscm90YXRpb25ZOndhfSx7bGVmdDowLHJvdGF0aW9uWDowLHRvcDowLHo6MCxhdXRvQWxwaGE6MSxzY2FsZToxLHJvdGF0aW9uWTowLGZvcmNlM0Q6ImF1dG8iLGRlbGF5OmMvMWUzLGVhc2U6dX0pLDApfSksMSE9bz8oeWE9LWwud2lkdGgsd2E9OTAsMjU9PWE/KHhhPSJjZW50ZXIgdG9wIDAiLHphPS13YSx3YT1sLnJvdGF0ZSk6KHhhPSJsZWZ0IGNlbnRlciAwIix6YT1sLnJvdGF0ZSkpOih5YT1sLndpZHRoLHdhPS05MCwyNT09YT8oeGE9ImNlbnRlciBib3R0b20gMCIsemE9LXdhLHdhPWwucm90YXRlKTooeGE9InJpZ2h0IGNlbnRlciAwIix6YT1sLnJvdGF0ZSkpLGouZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24oYSl7dmFyIGI9alF1ZXJ5KHRoaXMpO2suYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhiLHQvMWUzLHtsZWZ0OjAsdHJhbnNmb3JtU3R5bGU6ImZsYXQiLHJvdGF0aW9uWDowLHo6MCxhdXRvQWxwaGE6MSx0b3A6MCxzY2FsZToxLGZvcmNlM0Q6ImF1dG8iLHRyYW5zZm9ybVBlcnNwZWN0aXZlOjEyMDAsdHJhbnNmb3JtT3JpZ2luOnhhLHJvdGF0aW9uWTowfSx7bGVmdDowLHJvdGF0aW9uWDp6YSx0b3A6MCx6OjAsYXV0b0FscGhhOjEsZm9yY2UzRDoiYXV0byIsc2NhbGU6MSxyb3RhdGlvblk6d2EsZWFzZTp2fSksMCl9KX1pZigyMz09YXx8MjQ9PWEpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXtqLmZpbmQoIi5kZWZhdWx0aW1nIikuY3NzKHtvcGFjaXR5OjB9KX0sMTAwKTt2YXIgd2E9LTkwLGZhPTEsQWE9MDtpZigxPT1vJiYod2E9OTApLDIzPT1hKXt2YXIgeGE9ImNlbnRlciBjZW50ZXIgLSIrbC53aWR0aC8yO2ZhPTB9ZWxzZSB2YXIgeGE9ImNlbnRlciBjZW50ZXIgIitsLndpZHRoLzI7cHVuY2hncy5Ud2VlbkxpdGUuc2V0KGMse3RyYW5zZm9ybVN0eWxlOiJwcmVzZXJ2ZS0zZCIsYmFja2ZhY2VWaXNpYmlsaXR5OiJoaWRkZW4iLHBlcnNwZWN0aXZlOjI1MDB9KSxpLmZpbmQoIi5zbG90c2xpZGUiKS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPWpRdWVyeSh0aGlzKTtrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oYix0LzFlMyx7bGVmdDpBYSxyb3RhdGlvblg6bC5yb3RhdGUsZm9yY2UzRDoiYXV0byIsb3BhY2l0eTpmYSx0b3A6MCxzY2FsZToxLHRyYW5zZm9ybVBlcnNwZWN0aXZlOjEyMDAsdHJhbnNmb3JtT3JpZ2luOnhhLHJvdGF0aW9uWTp3YX0se2xlZnQ6MCxyb3RhdGlvblg6MCxhdXRvQWxwaGE6MSx0b3A6MCx6OjAsc2NhbGU6MSxyb3RhdGlvblk6MCxkZWxheTo1MCphLzUwMCxlYXNlOnV9KSwwKX0pLHdhPTkwLDE9PW8mJih3YT0tOTApLGouZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24oYil7dmFyIGM9alF1ZXJ5KHRoaXMpO2suYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhjLHQvMWUzLHtsZWZ0OjAscm90YXRpb25YOjAsdG9wOjAsejowLHNjYWxlOjEsZm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtU3R5bGU6ImZsYXQiLHRyYW5zZm9ybVBlcnNwZWN0aXZlOjEyMDAsdHJhbnNmb3JtT3JpZ2luOnhhLHJvdGF0aW9uWTowfSx7bGVmdDpBYSxyb3RhdGlvblg6bC5yb3RhdGUsdG9wOjAsc2NhbGU6MSxyb3RhdGlvblk6d2EsZGVsYXk6NTAqYi81MDAsZWFzZTp2fSksMCksMjM9PWEmJmsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhjLHQvMmUzLHthdXRvQWxwaGE6MX0se2F1dG9BbHBoYTowLGRlbGF5OjUwKmIvNTAwK3QvM2UzLGVhc2U6dn0pLDApfSl9cmV0dXJuIGt9fShqUXVlcnkpOw=="}},"time_used":54,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":52,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/js/wow.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.610Z","timestamp":1785123231610,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /js/wow.js HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Wed, 22 Apr 2026 17:27:39 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 2037\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":6300,"size_decoded":2360,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (6269), with CRLF line terminators","md5":"11ac4d7173a68c50169addca2ef1b827","sha1":"621284d032a248c41753e995680fc30089bd374c","sha256":"dd90fdb6538987fe7975bd43803b1c7d8d62912a371c788caec32d016e09dca8","sha512":"658888b9d89577b55798fc56451f9458ba9b4885573a96480fd9bd480cb59854769964da9a5f54feba19ba66fa6df44c79203d35f1d6d9cafd84886c58e233a4","ssdeep":"96:3GqKWTAKHF/suCdaOVEE1FnePgJqg4SImYad6Q:y30suCYOVEE7ne4JqgpIwdh","tlshash":"bbd175c9b7467036d79ba1f6873f0145a23a19acb008047cb7e984e57d348699237f38","first_seen":"2023-03-07T12:02:41Z","last_seen":"2026-07-27T05:19:19.722089Z","times_seen":5257,"resource_available":true,"data":"LyohIFdPVyAtIHYxLjAuMSAtIDIwMTQtMDgtMTUNCiogQ29weXJpZ2h0IChjKSAyMDE0IE1hdHRoaWV1IEF1c3NhZ3VlbDsgTGljZW5zZWQgTUlUICovKGZ1bmN0aW9uKCl7dmFyIGEsYixjLGQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gYS5hcHBseShiLGFyZ3VtZW50cyl9fSxlPVtdLmluZGV4T2Z8fGZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wLGM9dGhpcy5sZW5ndGg7Yz5iO2IrKylpZihiIGluIHRoaXMmJnRoaXNbYl09PT1hKXJldHVybiBiO3JldHVybi0xfTtiPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYSgpe31yZXR1cm4gYS5wcm90b3R5cGUuZXh0ZW5kPWZ1bmN0aW9uKGEsYil7dmFyIGMsZDtmb3IoYyBpbiBiKWQ9YltjXSxudWxsPT1hW2NdJiYoYVtjXT1kKTtyZXR1cm4gYX0sYS5wcm90b3R5cGUuaXNNb2JpbGU9ZnVuY3Rpb24oYSl7cmV0dXJuL0FuZHJvaWR8d2ViT1N8aVBob25lfGlQYWR8aVBvZHxCbGFja0JlcnJ5fElFTW9iaWxlfE9wZXJhIE1pbmkvaS50ZXN0KGEpfSxhfSgpLGM9dGhpcy5XZWFrTWFwfHx0aGlzLk1veldlYWtNYXB8fChjPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYSgpe3RoaXMua2V5cz1bXSx0aGlzLnZhbHVlcz1bXX1yZXR1cm4gYS5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlLGY7Zm9yKGY9dGhpcy5rZXlzLGI9ZD0wLGU9Zi5sZW5ndGg7ZT5kO2I9KytkKWlmKGM9ZltiXSxjPT09YSlyZXR1cm4gdGhpcy52YWx1ZXNbYl19LGEucHJvdG90eXBlLnNldD1mdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGc7Zm9yKGc9dGhpcy5rZXlzLGM9ZT0wLGY9Zy5sZW5ndGg7Zj5lO2M9KytlKWlmKGQ9Z1tjXSxkPT09YSlyZXR1cm4gdm9pZCh0aGlzLnZhbHVlc1tjXT1iKTtyZXR1cm4gdGhpcy5rZXlzLnB1c2goYSksdGhpcy52YWx1ZXMucHVzaChiKX0sYX0oKSksYT10aGlzLk11dGF0aW9uT2JzZXJ2ZXJ8fHRoaXMuV2Via2l0TXV0YXRpb25PYnNlcnZlcnx8dGhpcy5Nb3pNdXRhdGlvbk9ic2VydmVyfHwoYT1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoKXtjb25zb2xlLndhcm4oIk11dGF0aW9uT2JzZXJ2ZXIgaXMgbm90IHN1cHBvcnRlZCBieSB5b3VyIGJyb3dzZXIuIiksY29uc29sZS53YXJuKCJXT1cuanMgY2Fubm90IGRldGVjdCBkb20gbXV0YXRpb25zLCBwbGVhc2UgY2FsbCAuc3luYygpIGFmdGVyIGxvYWRpbmcgbmV3IGNvbnRlbnQuIil9cmV0dXJuIGEubm90U3VwcG9ydGVkPSEwLGEucHJvdG90eXBlLm9ic2VydmU9ZnVuY3Rpb24oKXt9LGF9KCkpLHRoaXMuV09XPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZihhKXtudWxsPT1hJiYoYT17fSksdGhpcy5zY3JvbGxDYWxsYmFjaz1kKHRoaXMuc2Nyb2xsQ2FsbGJhY2ssdGhpcyksdGhpcy5zY3JvbGxIYW5kbGVyPWQodGhpcy5zY3JvbGxIYW5kbGVyLHRoaXMpLHRoaXMuc3RhcnQ9ZCh0aGlzLnN0YXJ0LHRoaXMpLHRoaXMuc2Nyb2xsZWQ9ITAsdGhpcy5jb25maWc9dGhpcy51dGlsKCkuZXh0ZW5kKGEsdGhpcy5kZWZhdWx0cyksdGhpcy5hbmltYXRpb25OYW1lQ2FjaGU9bmV3IGN9cmV0dXJuIGYucHJvdG90eXBlLmRlZmF1bHRzPXtib3hDbGFzczoid293IixhbmltYXRlQ2xhc3M6ImFuaW1hdGVkIixvZmZzZXQ6MCxtb2JpbGU6ITAsbGl2ZTohMH0sZi5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbigpe3ZhciBhO3JldHVybiB0aGlzLmVsZW1lbnQ9d2luZG93LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwiaW50ZXJhY3RpdmUiPT09KGE9ZG9jdW1lbnQucmVhZHlTdGF0ZSl8fCJjb21wbGV0ZSI9PT1hP3RoaXMuc3RhcnQoKTpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIix0aGlzLnN0YXJ0KSx0aGlzLmZpbmlzaGVkPVtdfSxmLnByb3RvdHlwZS5zdGFydD1mdW5jdGlvbigpe3ZhciBiLGMsZCxlO2lmKHRoaXMuc3RvcHBlZD0hMSx0aGlzLmJveGVzPWZ1bmN0aW9uKCl7dmFyIGEsYyxkLGU7Zm9yKGQ9dGhpcy5lbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi4iK3RoaXMuY29uZmlnLmJveENsYXNzKSxlPVtdLGE9MCxjPWQubGVuZ3RoO2M+YTthKyspYj1kW2FdLGUucHVzaChiKTtyZXR1cm4gZX0uY2FsbCh0aGlzKSx0aGlzLmFsbD1mdW5jdGlvbigpe3ZhciBhLGMsZCxlO2ZvcihkPXRoaXMuYm94ZXMsZT1bXSxhPTAsYz1kLmxlbmd0aDtjPmE7YSsrKWI9ZFthXSxlLnB1c2goYik7cmV0dXJuIGV9LmNhbGwodGhpcyksdGhpcy5ib3hlcy5sZW5ndGgpaWYodGhpcy5kaXNhYmxlZCgpKXRoaXMucmVzZXRTdHlsZSgpO2Vsc2V7Zm9yKGU9dGhpcy5ib3hlcyxjPTAsZD1lLmxlbmd0aDtkPmM7YysrKWI9ZVtjXSx0aGlzLmFwcGx5U3R5bGUoYiwhMCk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5zY3JvbGxIYW5kbGVyLCExKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLnNjcm9sbEhhbmRsZXIsITEpLHRoaXMuaW50ZXJ2YWw9c2V0SW50ZXJ2YWwodGhpcy5zY3JvbGxDYWxsYmFjayw1MCl9cmV0dXJuIHRoaXMuY29uZmlnLmxpdmU/bmV3IGEoZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3ZhciBjLGQsZSxmLGc7Zm9yKGc9W10sZT0wLGY9Yi5sZW5ndGg7Zj5lO2UrKylkPWJbZV0sZy5wdXNoKGZ1bmN0aW9uKCl7dmFyIGEsYixlLGY7Zm9yKGU9ZC5hZGRlZE5vZGVzfHxbXSxmPVtdLGE9MCxiPWUubGVuZ3RoO2I+YTthKyspYz1lW2FdLGYucHVzaCh0aGlzLmRvU3luYyhjKSk7cmV0dXJuIGZ9LmNhbGwoYSkpO3JldHVybiBnfX0odGhpcykpLm9ic2VydmUoZG9jdW1lbnQuYm9keSx7Y2hpbGRMaXN0OiEwLHN1YnRyZWU6ITB9KTp2b2lkIDB9LGYucHJvdG90eXBlLnN0b3A9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zdG9wcGVkPSEwLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMuc2Nyb2xsSGFuZGxlciwhMSksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5zY3JvbGxIYW5kbGVyLCExKSxudWxsIT10aGlzLmludGVydmFsP2NsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbCk6dm9pZCAwfSxmLnByb3RvdHlwZS5zeW5jPWZ1bmN0aW9uKCl7cmV0dXJuIGEubm90U3VwcG9ydGVkP3RoaXMuZG9TeW5jKHRoaXMuZWxlbWVudCk6dm9pZCAwfSxmLnByb3RvdHlwZS5kb1N5bmM9ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGYsZztpZighdGhpcy5zdG9wcGVkKXtpZihudWxsPT1hJiYoYT10aGlzLmVsZW1lbnQpLDEhPT1hLm5vZGVUeXBlKXJldHVybjtmb3IoYT1hLnBhcmVudE5vZGV8fGEsZj1hLnF1ZXJ5U2VsZWN0b3JBbGwoIi4iK3RoaXMuY29uZmlnLmJveENsYXNzKSxnPVtdLGM9MCxkPWYubGVuZ3RoO2Q+YztjKyspYj1mW2NdLGUuY2FsbCh0aGlzLmFsbCxiKTwwPyh0aGlzLmFwcGx5U3R5bGUoYiwhMCksdGhpcy5ib3hlcy5wdXNoKGIpLHRoaXMuYWxsLnB1c2goYiksZy5wdXNoKHRoaXMuc2Nyb2xsZWQ9ITApKTpnLnB1c2godm9pZCAwKTtyZXR1cm4gZ319LGYucHJvdG90eXBlLnNob3c9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuYXBwbHlTdHlsZShhKSxhLmNsYXNzTmFtZT0iIithLmNsYXNzTmFtZSsiICIrdGhpcy5jb25maWcuYW5pbWF0ZUNsYXNzfSxmLnByb3RvdHlwZS5hcHBseVN0eWxlPWZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlO3JldHVybiBkPWEuZ2V0QXR0cmlidXRlKCJkYXRhLXdvdy1kdXJhdGlvbiIpLGM9YS5nZXRBdHRyaWJ1dGUoImRhdGEtd293LWRlbGF5IiksZT1hLmdldEF0dHJpYnV0ZSgiZGF0YS13b3ctaXRlcmF0aW9uIiksdGhpcy5hbmltYXRlKGZ1bmN0aW9uKGYpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBmLmN1c3RvbVN0eWxlKGEsYixkLGMsZSl9fSh0aGlzKSl9LGYucHJvdG90eXBlLmFuaW1hdGU9ZnVuY3Rpb24oKXtyZXR1cm4icmVxdWVzdEFuaW1hdGlvbkZyYW1lImluIHdpbmRvdz9mdW5jdGlvbihhKXtyZXR1cm4gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShhKX06ZnVuY3Rpb24oYSl7cmV0dXJuIGEoKX19KCksZi5wcm90b3R5cGUucmVzZXRTdHlsZT1mdW5jdGlvbigpe3ZhciBhLGIsYyxkLGU7Zm9yKGQ9dGhpcy5ib3hlcyxlPVtdLGI9MCxjPWQubGVuZ3RoO2M+YjtiKyspYT1kW2JdLGUucHVzaChhLnNldEF0dHJpYnV0ZSgic3R5bGUiLCJ2aXNpYmlsaXR5OiB2aXNpYmxlOyIpKTtyZXR1cm4gZX0sZi5wcm90b3R5cGUuY3VzdG9tU3R5bGU9ZnVuY3Rpb24oYSxiLGMsZCxlKXtyZXR1cm4gYiYmdGhpcy5jYWNoZUFuaW1hdGlvbk5hbWUoYSksYS5zdHlsZS52aXNpYmlsaXR5PWI/ImhpZGRlbiI6InZpc2libGUiLGMmJnRoaXMudmVuZG9yU2V0KGEuc3R5bGUse2FuaW1hdGlvbkR1cmF0aW9uOmN9KSxkJiZ0aGlzLnZlbmRvclNldChhLnN0eWxlLHthbmltYXRpb25EZWxheTpkfSksZSYmdGhpcy52ZW5kb3JTZXQoYS5zdHlsZSx7YW5pbWF0aW9uSXRlcmF0aW9uQ291bnQ6ZX0pLHRoaXMudmVuZG9yU2V0KGEuc3R5bGUse2FuaW1hdGlvbk5hbWU6Yj8ibm9uZSI6dGhpcy5jYWNoZWRBbmltYXRpb25OYW1lKGEpfSksYX0sZi5wcm90b3R5cGUudmVuZG9ycz1bIm1veiIsIndlYmtpdCJdLGYucHJvdG90eXBlLnZlbmRvclNldD1mdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmO2Y9W107Zm9yKGMgaW4gYilkPWJbY10sYVsiIitjXT1kLGYucHVzaChmdW5jdGlvbigpe3ZhciBiLGYsZyxoO2ZvcihnPXRoaXMudmVuZG9ycyxoPVtdLGI9MCxmPWcubGVuZ3RoO2Y+YjtiKyspZT1nW2JdLGgucHVzaChhWyIiK2UrYy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStjLnN1YnN0cigxKV09ZCk7cmV0dXJuIGh9LmNhbGwodGhpcykpO3JldHVybiBmfSxmLnByb3RvdHlwZS52ZW5kb3JDU1M9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZixnLGg7Zm9yKGQ9d2luZG93LmdldENvbXB1dGVkU3R5bGUoYSksYz1kLmdldFByb3BlcnR5Q1NTVmFsdWUoYiksaD10aGlzLnZlbmRvcnMsZj0wLGc9aC5sZW5ndGg7Zz5mO2YrKyllPWhbZl0sYz1jfHxkLmdldFByb3BlcnR5Q1NTVmFsdWUoIi0iK2UrIi0iK2IpO3JldHVybiBjfSxmLnByb3RvdHlwZS5hbmltYXRpb25OYW1lPWZ1bmN0aW9uKGEpe3ZhciBiO3RyeXtiPXRoaXMudmVuZG9yQ1NTKGEsImFuaW1hdGlvbi1uYW1lIikuY3NzVGV4dH1jYXRjaChjKXtiPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGEpLmdldFByb3BlcnR5VmFsdWUoImFuaW1hdGlvbi1uYW1lIil9cmV0dXJuIm5vbmUiPT09Yj8iIjpifSxmLnByb3RvdHlwZS5jYWNoZUFuaW1hdGlvbk5hbWU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuYW5pbWF0aW9uTmFtZUNhY2hlLnNldChhLHRoaXMuYW5pbWF0aW9uTmFtZShhKSl9LGYucHJvdG90eXBlLmNhY2hlZEFuaW1hdGlvbk5hbWU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuYW5pbWF0aW9uTmFtZUNhY2hlLmdldChhKX0sZi5wcm90b3R5cGUuc2Nyb2xsSGFuZGxlcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnNjcm9sbGVkPSEwfSxmLnByb3RvdHlwZS5zY3JvbGxDYWxsYmFjaz1mdW5jdGlvbigpe3ZhciBhO3JldHVybiF0aGlzLnNjcm9sbGVkfHwodGhpcy5zY3JvbGxlZD0hMSx0aGlzLmJveGVzPWZ1bmN0aW9uKCl7dmFyIGIsYyxkLGU7Zm9yKGQ9dGhpcy5ib3hlcyxlPVtdLGI9MCxjPWQubGVuZ3RoO2M+YjtiKyspYT1kW2JdLGEmJih0aGlzLmlzVmlzaWJsZShhKT90aGlzLnNob3coYSk6ZS5wdXNoKGEpKTtyZXR1cm4gZX0uY2FsbCh0aGlzKSx0aGlzLmJveGVzLmxlbmd0aHx8dGhpcy5jb25maWcubGl2ZSk/dm9pZCAwOnRoaXMuc3RvcCgpfSxmLnByb3RvdHlwZS5vZmZzZXRUb3A9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiO3ZvaWQgMD09PWEub2Zmc2V0VG9wOylhPWEucGFyZW50Tm9kZTtmb3IoYj1hLm9mZnNldFRvcDthPWEub2Zmc2V0UGFyZW50OyliKz1hLm9mZnNldFRvcDtyZXR1cm4gYn0sZi5wcm90b3R5cGUuaXNWaXNpYmxlPWZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlLGY7cmV0dXJuIGM9YS5nZXRBdHRyaWJ1dGUoImRhdGEtd293LW9mZnNldCIpfHx0aGlzLmNvbmZpZy5vZmZzZXQsZj13aW5kb3cucGFnZVlPZmZzZXQsZT1mK01hdGgubWluKHRoaXMuZWxlbWVudC5jbGllbnRIZWlnaHQsaW5uZXJIZWlnaHQpLWMsZD10aGlzLm9mZnNldFRvcChhKSxiPWQrYS5jbGllbnRIZWlnaHQsZT49ZCYmYj49Zn0sZi5wcm90b3R5cGUudXRpbD1mdW5jdGlvbigpe3JldHVybiBudWxsIT10aGlzLl91dGlsP3RoaXMuX3V0aWw6dGhpcy5fdXRpbD1uZXcgYn0sZi5wcm90b3R5cGUuZGlzYWJsZWQ9ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5jb25maWcubW9iaWxlJiZ0aGlzLnV0aWwoKS5pc01vYmlsZShuYXZpZ2F0b3IudXNlckFnZW50KX0sZn0oKX0pLmNhbGwodGhpcyk7"}},"time_used":79,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":78,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/images/clients/5.png","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.656Z","timestamp":1785123231656,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /images/clients/5.png HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: image/png\r\nlast-modified: Wed, 22 Apr 2026 21:44:12 GMT\r\naccept-ranges: bytes\r\ncontent-length: 5942\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":5942,"size_decoded":6207,"mime_type":"image/png","magic":"PNG image data, 300 x 168, 8-bit/color RGBA, non-interlaced","md5":"57f6739dc31b12abdaddc7707521812a","sha1":"481649024d7d282acac8ce382944454c7c5796c3","sha256":"d65a3b4789ec3e34975ed4f95ab5db54ad0b20aebb00801838ca7dc93f9eaf0a","sha512":"a5b855743a3551a9f80019452f4caea59b69fb7c966718f35976b01ced82d665ea088d5439c332ed9617f95cd474d589678b512e1e4a82fcc5f68eab83b09881","ssdeep":"96:qgSaSaSaSaSaSaSaSaSaSaSaSaSaSaSaSaSoShCGwNGj50RSYPN4otO862zvq1DB:qG4CGV5A62Lq1h0nVDlPly8acS","tlshash":"38c13a9ad997f28db579f34f18408e2c4aef1b1444044ebef8d78e2b600bf988581c03","first_seen":"2026-06-26T06:01:48.614204Z","last_seen":"2026-07-27T05:05:33.50272Z","times_seen":7,"resource_available":false,"data":"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"}},"time_used":53,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":41,"receive":12,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.cryptohopper.com/widgets/js/script?_=1785123232109","fqdn":"www.cryptohopper.com","domain":"cryptohopper.com","tld":"com"},"ip":{"addr":"172.66.153.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:52.177Z","timestamp":1785123232177,"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":"cryptohopper.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 30 May 2026 04:15:50 GMT","end":"Fri, 28 Aug 2026 05:15:20 GMT"},"fingerprint":{"sha1":"76:C3:06:CF:AB:6D:33:4E:AE:DF:C4:54:C2:1D:03:D4:CF:1B:9C:A3","sha256":"10:12:9C:D7:A2:4D:11:94:F2:85:64:80:13:42:3F:4D:AF:06:BA:15:05:A8:C2:4D:43:D3:AB:5A:DE:02:6E:BA"}}},"request":{"raw":"GET /widgets/js/script?_=1785123232109 HTTP/1.1\r\nHost: www.cryptohopper.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://agilitetrade.com/\r\nCookie: widgets_csrf_cookie_name=c05588fb9c82dab23afba686b9a973b9; ci_session=cto3o5dhrgcl50up7to7u584adbmu7e7\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\ncontent-type: application/javascript; charset=UTF-8\r\ndate: Mon, 27 Jul 2026 03:33:52 GMT\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nserver: cloudflare\r\nx-frame-options: SAMEORIGIN\r\nx-xss-protection: 1; mode=block\r\naccess-control-allow-origin: *\r\nset-cookie: widgets_csrf_cookie_name=c05588fb9c82dab23afba686b9a973b9; expires=Mon, 27-Jul-2026 05:33:52 GMT; Max-Age=7200; path=/; domain=.cryptohopper.com; secure\r\nexpires: Thu, 19 Nov 1981 08:52:00 GMT\r\ncache-control: no-store, no-cache, must-revalidate\r\npragma: no-cache\r\ncontent-security-policy: default-src 'self' *.cryptohopper.com *.cryptohopper.tech *.candletrader.app *.hotjar.io *.hotjar.com; object-src 'self' *.cryptohopper.com *.cryptohopper.tech partners.liquid.com *.candletrader.app widget.changelly.com *.intercom.io *.intercomcdn.com *.posthog.com cdn.paddle.com; script-src 'self' 'unsafe-inline' 'unsafe-eval' static.tradingview.com *.candletrader.app *.cryptohopper.com *.cryptohopper.tech *.posthog.com eu-assets.i.posthog.com *.intercom.io *.intercomcdn.com ajax.googleapis.com cdnjs.cloudflare.com static.cloudflareinsights.com *.shopifycdn.com *.myshopify.com sortablejs.github.io cdn.paddle.com www.googletagmanager.com *.hotjar.com *.hotjar.io cdn.jsdelivr.net optimize.google.com partners.liquid.com widget.changelly.com s0.2mdn.net unpkg.com wchat.freshchat.com cryptohopper.webchat.freshchat.com cdn.plyr.io cointelegraph.com s3.tradingview.com connect.facebook.net d.adroll.mgr.consensu.org d.adroll.com s.adroll.com cdn4.mxpnl.com ssl.google-analytics.com bat.bing.com s3.amazonaws.com platform.twitter.com cdn.syndication.twimg.com cryptohopper.us17.list-manage.com ajax.cloudflare.com www.gstatic.com js.stripe.com www.google-analytics.com www.googleadservices.com www.youtube.com www.google.com googleads.g.doubleclick.net static.doubleclick.net cdn.segment.com fast.appcues.com www.googleanalytics.com www.googleoptimize.com assets.customer.io code.gist.build; connect-src 'self' www.tradingview.com *.candletrader.app *.posthog.com *.shopifycdn.com *.intercom.io *.cryptohopper.com *.cryptohopper.tech *.intercomcdn.com *.myshopify.com *.shopify.com *.cryptohopper.tech *.hotjar.com track-eu.customer.io *.api.gist.build *.cloud.gist.build ws: *.cryptohopper.com *.cryptohopper.tech stats.g.doubleclick.net cdn.paddle.com api.appcues.net fast.appcues.com api.segment.io *.google-analytics.com *.analytics.google.com widget.changelly.com api.cointelegraph.com wchat.freshchat.com *.hotjar.com *.hotjar.io saveload.tradingview.com cdn.plyr.io cdn4.mxpnl.com; img-src 'self' blob: data: *.cryptohopper.com *.cryptohopper.tech www.google.ie *.candletrader.app *.posthog.com *.coingecko.com *.intercomassets.com *.intercom.io *.intercomcdn.com *.shopifycdn.com cdn.shopify.com *.hotjar.com cdn.paddle.com cdn.jsdelivr.net img.youtube.com *.giphy.com res.cloudinary.com appleid.apple.com sync.taboola.com widget.changelly.com assets.coingecko.com stats.g.doubleclick.net www.google.nl dsum-sec.casalemedia.com ups.analytics.yahoo.com pixel.advertising.com pixel.rubiconproject.com sync.outbrain.com image2.pubmatic.com ads.yahoo.com trc.taboola.com eb2.3lift.com x.bidswitch.net idsync.rlcdn.com pixel.tapad.com cm.g.doubleclick.net us-u.openx.net assetscdn-wchat.freshchat.com s.adroll.com d.adroll.com ib.adnxs.com cdn-images.mailchimp.com cdn4.mxpnl.com s3.tradingview.com bat.bing.com chart.googleapis.com pbs.twimg.com abs.twimg.com syndication.twitter.com q.stripe.com www.google.com googleads.g.doubleclick.net i.ytimg.com cdn.plyr.io *.google-analytics.com *.analytics.google.com www.facebook.com maxcdn.bootstrapcdn.com www.googletagmanager.com optimize.google.com track-eu.customer.io data:; style-src 'self' 'unsafe-inline' *.cryptohopper.com *.cryptohopper.tech *.candletrader.app *.intercom.io *.intercomcdn.com *.shopifycdn.com cdn.shopify.com *.hotjar.com fast.appcues.com cdn.paddle.com unpkg.com cdnjs.cloudflare.com widget.changelly.com assetscdn-wchat.freshchat.com wchat.freshchat.com stats.g.doubleclick.net cdn-images.mailchimp.com s3.tradingview.com cdn.plyr.io fonts.googleapis.com maxcdn.bootstrapcdn.com platform.twitter.com www.youtube.com optimize.google.com fonts.googleapis.com code.gist.build; font-src 'self' *.cryptohopper.com *.cryptohopper.tech *.candletrader.app *.hotjar.com *.shopifycdn.com *.intercom.io *.intercomcdn.com *.myshopify.com *.shopify.com cdn.paddle.com cdn-images.mailchimp.com widget.changelly.com s3.tradingview.com fonts.googleapis.com maxcdn.bootstrapcdn.com fonts.gstatic.com; frame-src 'self' static.cryptohopper.com *.candletrader.app *.intercom.io *.posthog.com *.intercom-sheets.com intercom-sheets.com *.intercomcdn.com *.tradingview-widget.com buy.paddle.com *.shopifycdn.com *.myshopify.com *.shopify.com cdn.paddle.com create-checkout.paddle.com widget.changelly.com plugin.partners.liquid.com *.hotjar.com cryptohopper.webpush.freshchat.com wchat.freshchat.com js.stripe.com *.sumsub.com renderer.gist.build code.gist.build data: *.cryptohopper.com *.cryptohopper.tech coin360.com coins.gourl.io platform.twitter.com www.emjcd.com cj.dotomi.com www.facebook.com cdn4.mxpnl.com www.youtube.com www.tradingview.com discordapp.com s3.tradingview.com s.tradingview.com googleads.g.doubleclick.net www.google.com www.google.nl optimize.google.com; media-src 'self' blob: *.cryptohopper.com *.cryptohopper.tech *.candletrader.app res.cloudinary.com *.intercom.io *.intercomcdn.com *.shopifycdn.com *.myshopify.com *.shopify.com cdn.paddle.com widget.changelly.com s3.tradingview.com cdn.plyr.io; child-src 'self' *.cryptohopper.com *.candletrader.app *.cryptohopper.tech *.intercom.io *.intercomcdn.com cdn.paddle.com *.shopifycdn.com *.myshopify.com *.shopify.com widget.changelly.com plugin.partners.liquid.com www.youtube.com; form-action *;\r\nx-cache: Miss from cloudfront\r\nvia: 1.1 2f1d504785a7b18c010970da2bd4ab8c.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: OSL50-P3\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-amz-cf-id: coTMCyUTYBjt_qpfMohUykvyIrExjx5youQuI7d-9ZfOoGRpntg1Cg==\r\ncf-cache-status: DYNAMIC\r\ncontent-encoding: br\r\npriority: u=3,i=?0\r\ncf-ray: a21895c91c8a5684-OSL\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}],"data":{"size":26729,"size_decoded":15747,"mime_type":"application/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (574)","md5":"8499c3b86de4df25542c2f9f78d8a79c","sha1":"3942a2674cb09241e3598eb3d6403e3d2c2b09ff","sha256":"d67aaeb25ce9e34bdc18b2d3ba099086b1c3e5f3cda04edebcb14f826e5a78e4","sha512":"2a7103879757369f94970215e8e1d51255a567118cdefa1147396499dfe093175ddd63b579e790d1df3d4c2dd4ff4043ebeccd917124c6635654adf928d6daba","ssdeep":"768:DPFqnpKxIFoN7jGS9yp8TaA/ME0pwKfID8gXATtIpEmR7/7Scrni6NFDjdmyXRs0:RqnpKxIFoN7jGoaAUEyTOPncyXRsYxuK","tlshash":"54c20919f640b4bb027762aab43f5316326779e676020450a06dd9f17efcd882337f6a","first_seen":"2023-03-08T06:37:48Z","last_seen":"2026-07-27T05:16:33.138468Z","times_seen":585,"resource_available":true,"data":"dmFyIG1jcCA9IHsidXJsIjoiaHR0cHM6Ly93d3cuY3J5cHRvaG9wcGVyLmNvbS93aWRnZXRzIiwiYWpheF91cmwiOiJodHRwczovL3d3dy5jcnlwdG9ob3BwZXIuY29tL3dpZGdldHMvd2lkZ2V0cy9hamF4IiwibnVtZm9ybWF0IjoiVVMifTsKdGhpcy5kZXBwfHxmdW5jdGlvbihmLHUpe2RlcHA9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGwsZCl7dmFyIHE9ZnVuY3Rpb24gdChuLHYpe3Y9dnx8W107dmFyIHg9W10sej1bXTtyZXR1cm4gbi5mb3JFYWNoKGZ1bmN0aW9uKEEpe2lmKDA8PXYuaW5kZXhPZihBKSl0aHJvdyBFcnJvcigiRGVwcCBFcnJvcjogQ2lyY3VsYXIgcmVmZXJlbmNlIik7aWYoIShBIGluIGIpKXJldHVybiB4LnB1c2goIiMiK0EpO2JbQV0uZm9yRWFjaChmdW5jdGlvbihCKXtpZigiIyI9PUJbMF0pe3ZhciB5PXYuc2xpY2UoKTt5LnB1c2goQSk7eT10KFtCLnNsaWNlKDEpXSx5KTt4PXguY29uY2F0KHlbMF0pO3o9ei5jb25jYXQoeVsxXSl9ZWxzZSB6LnB1c2goQil9KX0pLFt4LHpdfShsKTtxWzBdLmxlbmd0aD9jKHFbMF0sZnVuY3Rpb24oKXthKGwsZCl9KTpkKHFbMV0pfWZ1bmN0aW9uIGMobCxkKXt2YXIgcSx3LG49bC5sZW5ndGgsdj1uO2lmKDA9PW4pcmV0dXJuIGQoKTtmb3IocT1mdW5jdGlvbih0LHgpe2lmKHgpcmV0dXJuIGQodCk7Ci0tdnx8ZCgpfTtuLS07KSh3PWxbbl0paW4gaD9xKHcsaFt3XSk6KG1bd109bVt3XXx8W10pLnB1c2gocSl9ZnVuY3Rpb24gZyhsLGQpe3ZhciBxPW1bbF07aWYoaFtsXT1kLHEpZm9yKDtxLmxlbmd0aDspcVswXShsLGQpLHEuc3BsaWNlKDAsMSl9dmFyIGU9e30saz1mdW5jdGlvbigpe30sYj17fSxtPXt9LGg9e30scj17fSxwPXt9O3JldHVybiBlLmRlZmluZT1mdW5jdGlvbihsKXt2YXIgZDtmb3IoZCBpbiBsKXtpZihkIGluIGIpdGhyb3cgRXJyb3IoIkRlcHAgRXJyb3I6IEJ1bmRsZSBhbHJlYWR5IGRlZmluZWQiKTt2YXIgcT1sW2RdO2JbZF09cS5wdXNoP3E6W3FdO2coIiMiK2QpfX0sZS5jb25maWc9ZnVuY3Rpb24obCl7Zm9yKHZhciBkIGluIGwpcFtkXT1sW2RdfSxlLnJlcXVpcmU9ZnVuY3Rpb24obCxkLHEpe2EobD1sLnB1c2g/bDpbbF0sZnVuY3Rpb24odyl7Yyh3LGZ1bmN0aW9uKG4pe24/KHF8fGspKG4pOihkfHxrKSgpfSk7dy5mb3JFYWNoKGZ1bmN0aW9uKG4pe3ZhciB2LAp0LHgseixBO24gaW4gcnx8KHJbbl09ITAseD1kb2N1bWVudCx6PXAuYmVmb3JlfHxrLEE9bi5yZXBsYWNlKC9eKGNzc3xpbWcpIS8sIiIpLC8oXmNzcyF8XC5jc3MkKS8udGVzdChuKT8odj0hMCwodD14LmNyZWF0ZUVsZW1lbnQoImxpbmsiKSkucmVsPSJzdHlsZXNoZWV0Iix0LmhyZWY9QSk6LyheaW1nIXxcLihwbmd8Z2lmfGpwZ3xzdmcpJCkvLnRlc3Qobik/KHQ9eC5jcmVhdGVFbGVtZW50KCJpbWciKSkuc3JjPUE6KCh0PXguY3JlYXRlRWxlbWVudCgic2NyaXB0IikpLnNyYz1uLHQuYXN5bmM9ITEpLHQub25sb2FkPXQub25lcnJvcj10Lm9uYmVmb3JlbG9hZD1mdW5jdGlvbihCKXt2YXIgeT1CLnR5cGVbMF07aWYodiYmImhpZGVGb2N1cyJpbiB0KXRyeXt0LnNoZWV0LmNzc1RleHQubGVuZ3RofHwoeT0iZSIpfWNhdGNoKEMpezE4IT1DLmNvZGUmJih5PSJlIil9aWYoImIiPT15KXtpZighQi5kZWZhdWx0UHJldmVudGVkKXJldHVybjt5PSJlIn1nKG4sImUiPT15KX0seihuLHQpLAp4LmhlYWQuYXBwZW5kQ2hpbGQodCkpfSl9KX0sZS5kb25lPWZ1bmN0aW9uKGwpe2JbbF09W107ZygiIyIrbCl9LGUuaXNEZWZpbmVkPWZ1bmN0aW9uKGwpe3JldHVybiBsIGluIGJ9LGUucmVzZXQ9ZnVuY3Rpb24oKXtiPXt9O209e307aD17fTtyPXt9O3A9e319LGV9KCk7KHU9Zi5jcmVhdGVFdmVudCgiSFRNTEV2ZW50cyIpKS5pbml0RXZlbnQ/dS5pbml0RXZlbnQoImRlcHAtbG9hZCIsITEsITEpOnU9bmV3IEV2ZW50KCJkZXBwLWxvYWQiKTtmLmRpc3BhdGNoRXZlbnQodSl9KGRvY3VtZW50KTtmdW5jdGlvbiBhZGRDb21tYXMoZil7dmFyIHU9IlVTIj09PW1jcC5udW1mb3JtYXQ/Ii4iOiIsIixhPSJVUyI9PT1tY3AubnVtZm9ybWF0PyIsIjoiLiIsYz0oZisiIikuc3BsaXQoIi4iKTtmPWNbMF07dT0xPGMubGVuZ3RoP3UrY1sxXToiIjtmb3IoYz0vKFxkKykoXGR7M30pLztjLnRlc3QoZik7KWY9Zi5yZXBsYWNlKGMsIiQxIithKyIkMiIpO3JldHVybiBmK3V9CmZ1bmN0aW9uIGhleDJyZ2IoZil7Zj1mLnJlcGxhY2UoIiMiLCIiKTszPT09Zi5sZW5ndGgmJihmPWZbMF0rZlswXStmWzFdK2ZbMV0rZlsyXStmWzJdKTt2YXIgdT1wYXJzZUludChmLnN1YnN0cmluZygwLDIpLDE2KSxhPXBhcnNlSW50KGYuc3Vic3RyaW5nKDIsNCksMTYpO2Y9cGFyc2VJbnQoZi5zdWJzdHJpbmcoNCw2KSwxNik7cmV0dXJuIGlzTmFOKHUpfHxpc05hTihhKXx8aXNOYU4oZik/RXJyb3IoIkludmFsaWQgSGV4Iik6dSsiLCIrYSsiLCIrZn0KZnVuY3Rpb24gY29tbWFyaXplKGYsdSl7IjEiPT11P2Zvcm1hdHM9WyIgVCIsIiBCIiwiIE0iLCIgSyJdOiIyIj09dSYmKGZvcm1hdHM9WyIgVHJpbGxpb24iLCIgQmlsbGlvbiIsIiBNaWxsaW9uIiwiVGhvdXNhbmQiXSk7cmV0dXJuIjMiIT11PzFFMTU8PU1hdGguYWJzKE51bWJlcihmKS50b0ZpeGVkKDIpKT8oTWF0aC5hYnMoTnVtYmVyKGYpKS8xRTEyKS50b0ZpeGVkKDIpK2Zvcm1hdHNbMF06MUU5PD1NYXRoLmFicyhOdW1iZXIoZikpPyhNYXRoLmFicyhOdW1iZXIoZikpLzFFOSkudG9GaXhlZCgyKStmb3JtYXRzWzFdOjFFNjw9TWF0aC5hYnMoTnVtYmVyKGYpKT8oTWF0aC5hYnMoTnVtYmVyKGYpKS8xRTYpLnRvRml4ZWQoMikrZm9ybWF0c1syXToxRTM8PU1hdGguYWJzKE51bWJlcihmKSk/KE1hdGguYWJzKE51bWJlcihmKSkvMUUzKS50b0ZpeGVkKDIpK2Zvcm1hdHNbM106YWRkQ29tbWFzKE1hdGguYWJzKE51bWJlcihmKSkpOmFkZENvbW1hcyhNYXRoLmFicyhOdW1iZXIoZikpLnRvRml4ZWQoMCkpfQpmdW5jdGlvbiByZ2IyaGV4KGYpe3JldHVybihmPWYubWF0Y2goL15yZ2JhP1tccytdP1woW1xzK10/KFxkKylbXHMrXT8sW1xzK10/KFxkKylbXHMrXT8sW1xzK10/KFxkKylbXHMrXT8vaSkpJiY0PT09Zi5sZW5ndGg/IiMiKygiMCIrcGFyc2VJbnQoZlsxXSwxMCkudG9TdHJpbmcoMTYpKS5zbGljZSgtMikrKCIwIitwYXJzZUludChmWzJdLDEwKS50b1N0cmluZygxNikpLnNsaWNlKC0yKSsoIjAiK3BhcnNlSW50KGZbM10sMTApLnRvU3RyaW5nKDE2KSkuc2xpY2UoLTIpOiIifWZ1bmN0aW9uIGlzQnJpZ2h0bmVzcyhmKXt2YXIgdT1yZ2IyaGV4KGYuY3NzKCJiYWNrZ3JvdW5kLWNvbG9yIikpO3U9cGFyc2VJbnQodS5zdWJzdHJpbmcoMSksMTYpOzUwPi4yMTI2Kih1Pj4xNiYyNTUpKy43MTUyKih1Pj44JjI1NSkrLjA3MjIqKHU+PjAmMjU1KSYmZi5hZGRDbGFzcygiaW52ZXJ0LWFjdCIpfQpmdW5jdGlvbiByZWFsdGltZVVwZGF0ZSgpe3ZhciBmPWpRdWVyeSgnW2RhdGEtcmVhbHRpbWU9Im9uIl0nKTtpZigidW5kZWZpbmVkIj09PXR5cGVvZiB3aW5kb3cuc29ja2V0JiYwPGYubGVuZ3RoKXt2YXIgdT1bXTtmLmZpbmQoIltkYXRhLWxpdmUtcHJpY2VdIikuZWFjaChmdW5jdGlvbigpe3UucHVzaChqUXVlcnkodGhpcykuZGF0YSgibGl2ZS1wcmljZSIpKX0pO3U9dS5maWx0ZXIoZnVuY3Rpb24oYSxjKXtyZXR1cm4gdS5pbmRleE9mKGEpPT1jfSk7dS5sZW5ndGgmJih3aW5kb3cuc29ja2V0PW5ldyBXZWJTb2NrZXQoIndzczovL3dzLmNvaW5jYXAuaW8vcHJpY2VzP2Fzc2V0cz0iK3Uuam9pbigiLCIpKSx3aW5kb3cuc29ja2V0LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGZ1bmN0aW9uKGEpe3RyYWRlTXNnPUpTT04ucGFyc2UoYS5kYXRhKTtmb3IodmFyIGMgaW4gdHJhZGVNc2cpZi5maW5kKCdbZGF0YS1saXZlLXByaWNlPSInK2MrJyJdJykuZWFjaChmdW5jdGlvbigpe2pRdWVyeSh0aGlzKS5yZWFsVGltZSh0cmFkZU1zZ1tjXSl9KX0pKX19CnZhciBkb21haW49InN0YXRpYy5jcnlwdG9ob3BwZXIuY29tIjsKZGVwcC5kZWZpbmUoe2pxdWVyeTpbImh0dHBzOi8vIitkb21haW4rIi93aWRnZXRzL2Fzc2V0cy9wdWJsaWMvanMvanF1ZXJ5LTMuMy4xLm1pbi5qcyJdLGNzczpbImh0dHBzOi8vIitkb21haW4rIi93aWRnZXRzL2Fzc2V0cy9wdWJsaWMvY3NzL3N0eWxlLmNzcyJdLGNoYXJ0anM6WyJodHRwczovLyIrZG9tYWluKyIvd2lkZ2V0cy9hc3NldHMvcHVibGljL2pzL0NoYXJ0Lm1pbi5qcyJdLGRhdGF0YWJsZTpbImh0dHBzOi8vIitkb21haW4rIi93aWRnZXRzL2Fzc2V0cy9wdWJsaWMvY3NzL2pxdWVyeS5kYXRhVGFibGVzLm1pbi5jc3MiLCJodHRwczovL3N0YXRpYy5jcnlwdG9ob3BwZXIuY29tL3dpZGdldHMvYXNzZXRzL3B1YmxpYy9qcy9qcXVlcnkuZGF0YVRhYmxlcy5taW4uanMiLCJodHRwczovL3N0YXRpYy5jcnlwdG9ob3BwZXIuY29tL3dpZGdldHMvYXNzZXRzL3B1YmxpYy9qcy9kYXRhVGFibGVzLnJlc3BvbnNpdmUubWluLmpzIl0sZWNoYXJ0czpbImh0dHBzOi8vIitkb21haW4rCiIvd2lkZ2V0cy9hc3NldHMvcHVibGljL2pzL0NoYXJ0cy5taW4uanMiXSxib3VudHk6WyJodHRwczovLyIrZG9tYWluKyIvd2lkZ2V0cy9hc3NldHMvcHVibGljL2pzL2JvdW50eS5taW4uanMiXSx2aXNpYmlsaXR5Y2hhbmdlZDpbImh0dHBzOi8vIitkb21haW4rIi93aWRnZXRzL2Fzc2V0cy9wdWJsaWMvanMvanF1ZXJ5LnZpc2liaWxpdHljaGFuZ2VkLm1pbi5qcyJdLHNlbGVjdGl6ZTpbImh0dHBzOi8vIitkb21haW4rIi93aWRnZXRzL2Fzc2V0cy9wdWJsaWMvanMvc2VsZWN0aXplLm1pbi5qcyJdfSk7d2luZG93LmpRdWVyeSYmZGVwcC5kb25lKCJqcXVlcnkiKTsKZGVwcC5yZXF1aXJlKFsianF1ZXJ5IiwiY3NzIl0sZnVuY3Rpb24oKXtyZWFsdGltZVVwZGF0ZSgpO2pRdWVyeS5mbi5pbWFnZXNMb2FkZWQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmZpbmQoJ2ltZ1tzcmMhPSIiXScpO2lmKCFhLmxlbmd0aClyZXR1cm4galF1ZXJ5LkRlZmVycmVkKCkucmVzb2x2ZSgpLnByb21pc2UoKTt2YXIgYz1bXTthLmVhY2goZnVuY3Rpb24oKXt2YXIgZz1qUXVlcnkuRGVmZXJyZWQoKTtjLnB1c2goZyk7dmFyIGU9bmV3IEltYWdlO2Uub25sb2FkPWZ1bmN0aW9uKCl7Zy5yZXNvbHZlKCl9O2Uub25lcnJvcj1mdW5jdGlvbigpe2cucmVzb2x2ZSgpfTtlLnNyYz10aGlzLnNyY30pO3JldHVybiBqUXVlcnkud2hlbi5hcHBseShqUXVlcnksYyl9O2pRdWVyeS5mbi5leHRlbmQoe2FuaW1hdGVDc3M6ZnVuY3Rpb24oYSxjKXt2YXIgZz1mdW5jdGlvbihlKXt2YXIgaz17YW5pbWF0aW9uOiJhbmltYXRpb25lbmQiLE9BbmltYXRpb246Im9BbmltYXRpb25FbmQiLE1vekFuaW1hdGlvbjoibW96QW5pbWF0aW9uRW5kIiwKV2Via2l0QW5pbWF0aW9uOiJ3ZWJraXRBbmltYXRpb25FbmQifSxiO2ZvcihiIGluIGspaWYodm9pZCAwIT09ZS5zdHlsZVtiXSlyZXR1cm4ga1tiXX0oZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpO3RoaXMuYWRkQ2xhc3MoIm1jdy1hbmltYXRlZCAiK2EpLm9uZShnLGZ1bmN0aW9uKCl7alF1ZXJ5KHRoaXMpLnJlbW92ZUNsYXNzKCJtY3ctYW5pbWF0ZWQgIithKTsiZnVuY3Rpb24iPT09dHlwZW9mIGMmJmMoKX0pO3JldHVybiB0aGlzfX0pO2pRdWVyeS5mbi5yZWFsVGltZT1mdW5jdGlvbihhKXt2YXIgYz1wYXJzZUZsb2F0KGpRdWVyeSh0aGlzKS5kYXRhKCJyYXRlIikqYSksZz0xPD1jPzI6MUUtNj5jPzg6NjtqUXVlcnkodGhpcykuZmluZCgic3BhbiIpLmh0bWwoYWRkQ29tbWFzKGMudG9GaXhlZChnKSkpO2E+cGFyc2VGbG9hdChqUXVlcnkodGhpcykuYXR0cigiZGF0YS1wcmljZSIpKSYmalF1ZXJ5KHRoaXMpLmFuaW1hdGVDc3MoImxpdmV1cCIpO2E8cGFyc2VGbG9hdChqUXVlcnkodGhpcykuYXR0cigiZGF0YS1wcmljZSIpKSYmCmpRdWVyeSh0aGlzKS5hbmltYXRlQ3NzKCJsaXZlZG93biIpO2pRdWVyeSh0aGlzKS5hdHRyKCJkYXRhLXByaWNlIixhKX07alF1ZXJ5LmZuLmludmVydGFibGU9ZnVuY3Rpb24oKXtpc0JyaWdodG5lc3MoalF1ZXJ5KHRoaXMpKTt2YXIgYT0iZXRoZXJldW0gcmlwcGxlIGlvdGEgZW9zIDB4IGJhbmNvciBkZW50YWNvaW4gYmlib3gtdG9rZW4gbWVkaXNoYXJlcyBzYW50aW1lbnQgcXVhbnRzdGFtcCByYWlkZW4tbmV0d29yay10b2tlbiBwaWxsYXIgcmVwdWJsaWMtcHJvdG9jb2wgbWV0YWwgZWlkb28gY3JlZG8gYmxhY2ttb29uIGNvdmVzdGluZyBzaGl2b20gc3VuY29udHJhY3QgbnVtZXJhaXJlIGRhb3N0YWNrIGJpdGRlZ3JlZSBtYXRyeXggZmFjZXRlciBpbnRlcm54dCBjcnlwdG9waW5nIGludmFjaW8gY2hhaW5pdW0gY3JlYXRpdmVjb2luIHRyZXphcmNvaW4gZWxjb2luLWVsIGplc3VzLWNvaW4gbW9qb2NvaW4gZ2FwY29pbiBwcmltZS14aSBzcGVlZGNhc2ggdmVsdG9yIGxvb3ByaW5nLW5lbyBmcmFuY3MiLnNwbGl0KCIgIik7CmpRdWVyeSh0aGlzKS5maW5kKCJpbWciKS5lYWNoKGZ1bmN0aW9uKCl7LTE8YS5qb2luKCItIikudG9Mb3dlckNhc2UoKS5pbmRleE9mKGpRdWVyeSh0aGlzKS5hdHRyKCJhbHQiKS50b0xvd2VyQ2FzZSgpKSYmalF1ZXJ5KHRoaXMpLmFkZENsYXNzKCJpbnZlcnRhYmxlIil9KX07alF1ZXJ5KCIubWN3LWRhcmstdGhlbWUsLm1jdy1taWRuaWdodC10aGVtZSwubWN3LWN1c3RvbS10aGVtZSwubWN3LXRhYmxlLmRhcmsiKS5lYWNoKGZ1bmN0aW9uKCl7alF1ZXJ5KHRoaXMpLmludmVydGFibGUoKX0pO2pRdWVyeS5mbi5pblZpZXc9ZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkod2luZG93KTtvYmo9alF1ZXJ5KHRoaXMpO3ZhciBjPWEuc2Nyb2xsVG9wKCk7YT1hLnNjcm9sbFRvcCgpK2EuaGVpZ2h0KCk7dmFyIGc9b2JqLm9mZnNldCgpLnRvcCtvYmoub3V0ZXJIZWlnaHQoKTtyZXR1cm4gYT49ZyYmYzw9Zz8hMDohMX07alF1ZXJ5LmZuLmRyYXdDaGFydD1mdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTsKZGVwcC5yZXF1aXJlKCJjaGFydGpzIixmdW5jdGlvbigpe3ZhciBjPWEuZGF0YSgicmF0ZSIpP2EuZGF0YSgicmF0ZSIpOjEsZz1hLmRhdGEoImZpYXQiKT9hLmRhdGEoImZpYXQiKToiJCIsZT1hLmRhdGEoImNvbG9yIiksaz1wYXJzZUludChhLmRhdGEoImdyYWRpZW50IikpLGI9cGFyc2VJbnQoYS5kYXRhKCJib3JkZXIiKSksbT1wYXJzZUZsb2F0KGEuZGF0YSgib3BhY2l0eSIpKSxoPWEuZGF0YSgicG9pbnRzIikuc3BsaXQoIiwiKS5zbGljZSgwLDI0KTtoPWgubWFwKGZ1bmN0aW9uKHApe3A9cGFyc2VGbG9hdChwKSpjO3JldHVybiBwLnRvRml4ZWQoMTw9cD8yOjFFLTY+cD84OjYpfSk7cj1yP3I6ZTtpZigwPT09ayl2YXIgcj0icmdiYSgiK2UrIiwiK20rIikiO2Vsc2Ugcj1hWzBdLmdldENvbnRleHQoIjJkIikuY3JlYXRlTGluZWFyR3JhZGllbnQoMCwwLDAsayksci5hZGRDb2xvclN0b3AoMCwicmdiYSgiK2UrIiwwLjMpIiksci5hZGRDb2xvclN0b3AoMSwicmdiYSgiK2UrCiIsMCkiKTtlPXtsYWJlbHM6aCxkYXRhc2V0czpbe2RhdGE6aCxmaWxsOiEwLGJhY2tncm91bmRDb2xvcjpyLGJvcmRlckNvbG9yOiJyZ2IoIitlKyIpIixwb2ludEJvcmRlckNvbG9yOiJyZ2IoIitlKyIpIixsaW5lVGVuc2lvbjouMjUscG9pbnRSYWRpdXM6MCxib3JkZXJXaWR0aDpifV19O25ldyBDaGFydChhWzBdLmdldENvbnRleHQoIjJkIikse3R5cGU6ImxpbmUiLGRhdGE6ZSxvcHRpb25zOnthbmltYXRpb246e2R1cmF0aW9uOjUwMH0sbGVnZW5kOntkaXNwbGF5OiExfSxzY2FsZXM6e3hBeGVzOlt7ZGlzcGxheTohMX1dLHlBeGVzOlt7ZGlzcGxheTohMX1dfSx0b29sdGlwczp7bW9kZToiaW5kZXgiLGludGVyc2VjdDohMSxkaXNwbGF5Q29sb3JzOiExLGNhbGxiYWNrczp7bGFiZWw6ZnVuY3Rpb24ocCxsKXtyZXR1cm4gZysiICIrYWRkQ29tbWFzKHBhcnNlRmxvYXQocC54TGFiZWwpKX0sdGl0bGU6ZnVuY3Rpb24ocCxsKXtyZXR1cm4hMX19fSxob3Zlcjp7bW9kZToibmVhcmVzdCIsCmludGVyc2VjdDohMH0sbWFpbnRhaW5Bc3BlY3RSYXRpbzohMX19KX0pfTtqUXVlcnkuZm4ubWN3QWNjb3JkaW9uPWZ1bmN0aW9uKCl7dGhpcy5maW5kKCIubWN3LWxpc3QtaXRlbTplcSgwKSIpLmFkZENsYXNzKCJhY3RpdmUiKS5maW5kKCIubWN3LWxpc3QtYm9keSIpLnNsaWRlRG93bigpO3RoaXMuZmluZCgiLm1jdy1saXN0LWhlYWRlciIpLmNsaWNrKGZ1bmN0aW9uKCl7alF1ZXJ5KHRoaXMpLnBhcmVudHMoIi5tY3ctbGlzdCIpLmZpbmQoIi5tY3ctbGlzdC1pdGVtIikubm90KGpRdWVyeSh0aGlzKS5wYXJlbnQoKSkucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpLmZpbmQoIi5tY3ctbGlzdC1ib2R5Iikuc2xpZGVVcCgpO2pRdWVyeSh0aGlzKS5wYXJlbnQoKS50b2dnbGVDbGFzcygiYWN0aXZlIik7alF1ZXJ5KHRoaXMpLm5leHQoIi5tY3ctbGlzdC1ib2R5Iikuc2xpZGVUb2dnbGUoKX0pfTtqUXVlcnkoZG9jdW1lbnQpLm9uKCJtY3ciLCIubWN3LXRhYmxlIixmdW5jdGlvbigpe3ZhciBhPQpqUXVlcnkodGhpcyksYz1hLmZpbmQoIi5tY3ctZGF0YXRhYmxlIik7ZGVwcC5yZXF1aXJlKCJkYXRhdGFibGUiLGZ1bmN0aW9uKCl7alF1ZXJ5LmZuLmRhdGFUYWJsZUV4dC5vUGFnaW5hdGlvbi5pbmZvX2J1dHRvbnM9e2ZuSW5pdDpmdW5jdGlvbihiLG0saCl7dmFyIHI9Yi5faURpc3BsYXlTdGFydCsxKyIgLSAiK2IuZm5EaXNwbGF5RW5kKCkrIiBvZiAiK2IuZm5SZWNvcmRzRGlzcGxheSgpLHA9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO3AuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoYi5vTGFuZ3VhZ2Uub1BhZ2luYXRlLnNQcmV2aW91cykpO2QuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoYi5vTGFuZ3VhZ2Uub1BhZ2luYXRlLnNOZXh0KSk7bC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShyKSk7CnAuY2xhc3NOYW1lPSJwYWdpbmF0ZV9idXR0b24gcHJldmlvdXMiO2QuY2xhc3NOYW1lPSJwYWdpbmF0ZV9idXR0b24gbmV4dCI7bC5jbGFzc05hbWU9InBhZ2luYXRlX2J1dHRvbiBpbmZvIjttLmFwcGVuZENoaWxkKHApO20uYXBwZW5kQ2hpbGQobCk7bS5hcHBlbmRDaGlsZChkKTtqUXVlcnkocCkuY2xpY2soZnVuY3Rpb24oKXtiLm9BcGkuX2ZuUGFnZUNoYW5nZShiLCJwcmV2aW91cyIpO2goYil9KTtqUXVlcnkoZCkuY2xpY2soZnVuY3Rpb24oKXtiLm9BcGkuX2ZuUGFnZUNoYW5nZShiLCJuZXh0Iik7aChiKX0pO2pRdWVyeShwKS5iaW5kKCJzZWxlY3RzdGFydCIsZnVuY3Rpb24oKXtyZXR1cm4hMX0pO2pRdWVyeShkKS5iaW5kKCJzZWxlY3RzdGFydCIsZnVuY3Rpb24oKXtyZXR1cm4hMX0pfSxmblVwZGF0ZTpmdW5jdGlvbihiLG0pe2lmKGIuYWFuRmVhdHVyZXMucClmb3IodmFyIGg9Yi5hYW5GZWF0dXJlcy5wLHI9MCxwPWgubGVuZ3RoO3I8cDtyKyspe3ZhciBsPWhbcl0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNwYW4iKTsKbFsxXS5pbm5lclRleHQ9Yi5faURpc3BsYXlTdGFydCsxKyIgLSAiK2IuZm5EaXNwbGF5RW5kKCkrIiBvZiAiK2IuZm5SZWNvcmRzRGlzcGxheSgpOzA9PT1iLl9pRGlzcGxheVN0YXJ0P2xbMF0uY2xhc3NOYW1lPSJwYWdpbmF0ZV9idXR0b24gcHJldmlvdXMgZGlzYWJsZWQiOmxbMF0uY2xhc3NOYW1lPSJwYWdpbmF0ZV9idXR0b24gcHJldmlvdXMgZW5hYmxlZCI7Yi5mbkRpc3BsYXlFbmQoKT09Yi5mblJlY29yZHNEaXNwbGF5KCk/bFsyXS5jbGFzc05hbWU9InBhZ2luYXRlX2J1dHRvbiBuZXh0IGRpc2FibGVkIjpsWzJdLmNsYXNzTmFtZT0icGFnaW5hdGVfYnV0dG9uIG5leHQgZW5hYmxlZCJ9fX07dmFyIGc9W10sZT1bXTtjLmZpbmQoInRoZWFkIHRoIikuZWFjaChmdW5jdGlvbihiKXt2YXIgbT1qUXVlcnkodGhpcykuZGF0YSgiY29sIik7ZS5wdXNoKG0pO2cucHVzaCh7ZGF0YTptLG5hbWU6bSxyZW5kZXI6ZnVuY3Rpb24oaCxyLHAsbCl7aWYodm9pZCAwPT09bC5zZXR0aW5ncy5qc29uKXJldHVybiBoOwpzd2l0Y2gobSl7Y2FzZSAicmFuayI6cmV0dXJuIGg7Y2FzZSAibmFtZSI6cmV0dXJuIHI9JzxkaXYgY2xhc3M9ImNvaW4iPjxkaXYgY2xhc3M9ImNvaW4taW1hZ2UiPjxpbWcgc3JjPSInK3AuaW1nKyciIHN0eWxlPSJtYXgtaGVpZ2h0OiAzNXB4OyIgYWx0PSInK3Auc2x1ZysnIj48L2Rpdj4nLHI9cC5saW5rP3IrKCc8YSBocmVmPSInK3AubGluaysnIiBjbGFzcz0iY29pbi10aXRsZSI+PGRpdiBjbGFzcz0iY29pbi1uYW1lIj4nK2grJzwvZGl2PjxkaXYgY2xhc3M9ImNvaW4tc3ltYm9sIj4nK3Auc3ltYm9sKyI8L2Rpdj48L2E+Iik6cisoJzxkaXYgY2xhc3M9ImNvaW4tdGl0bGUiPjxkaXYgY2xhc3M9ImNvaW4tbmFtZSI+JytoKyc8L2Rpdj48ZGl2IGNsYXNzPSJjb2luLXN5bWJvbCI+JytwLnN5bWJvbCsiPC9kaXY+PC9kaXY+IikscisiPC9kaXY+IjtjYXNlICJwcmljZV91c2QiOnI9cGFyc2VGbG9hdChwLmN1cnJhdGUqaCk7bD0xPD1yPzI6MUUtNj5yPzg6Njt2YXIgZD1wLm5hbWUuc3BsaXQoIiAiKS5qb2luKCItIik7CmQ9ZC50b0xvd2VyQ2FzZSgpO3JldHVybic8c3BhbiBkYXRhLWxpdmUtcHJpY2U9IicrZCsnIiBkYXRhLXJhdGU9IicrcC5jdXJyYXRlKyciIGRhdGEtcHJpY2U9IicraCsnIj4nK3AuY3J5cHRvZmlhdCsiICIrYWRkQ29tbWFzKHIudG9GaXhlZChsKSkrIjwvc3Bhbj4iO2Nhc2UgInByaWNlX2J0YyI6cmV0dXJuIlx1MDI0MyAiK2g7Y2FzZSAibWFya2V0X2NhcF91c2QiOnJldHVybiBoKj1wLmN1cnJhdGUscC5jcnlwdG9maWF0KyIgIitjb21tYXJpemUoaCxwLnByaWNlZm9ybWF0KTtjYXNlICJ2b2x1bWVfdXNkXzI0aCI6cmV0dXJuIGgqPXAuY3VycmF0ZSxoPWNvbW1hcml6ZShoLHAucHJpY2Vmb3JtYXQpLHAuY3J5cHRvZmlhdCsiICIraDtjYXNlICJhdmFpbGFibGVfc3VwcGx5IjpyZXR1cm4gY29tbWFyaXplKGgscC5wcmljZWZvcm1hdCk7Y2FzZSAicGVyY2VudF9jaGFuZ2VfMjRoIjpyZXR1cm4nPHNwYW4gY2xhc3M9IicrKDA8PWg/InVwIjoiZG93biIpKyciPicraCsiJTwvc3Bhbj4iOwpjYXNlICJ3ZWVrbHkiOnJldHVybic8dGQ+PGNhbnZhcyB3aWR0aD0iMTM1IiBoZWlnaHQ9IjQwIiBkYXRhLXJhdGU9IicrcC5jdXJyYXRlKyciIGRhdGEtZmlhdD0iJytwLmNyeXB0b2ZpYXQrJyIgZGF0YS1jb2xvcj0iJytjLmRhdGEoImNoYXJ0Y29sb3IiKSsnIiBkYXRhLWdyYWRpZW50PSI1MCIgZGF0YS1ib3JkZXI9IjIiIGRhdGEtcG9pbnRzPSInK2guam9pbigiLCIpKyciPjwvY2FudmFzPjwvdGQ+JztkZWZhdWx0OnJldHVybiBofX19KX0pO3ZhciBrPWMuRGF0YVRhYmxlKHtkZXN0cm95OiEwLGJEZXN0cm95OiEwLGRvbToncjwibG9hZGVyIj48ImRhdGF0YWJsZS1zY3JvbGwidD48ImxvYWRlciI+PCJkYXRhVGFibGVzLWZvb3RlciJscD48ImNsZWFyIj4nLG9yZGVyOltdLHNjcm9sbENvbGxhcHNlOiEwLHBhZ2luZ1R5cGU6ImluZm9fYnV0dG9ucyIscmVzcG9uc2l2ZTp7ZGV0YWlsczp7dHlwZTo0ODA+YS53aWR0aCgpPyJjb2x1bW4iOiJpbmxpbmUiLHRhcmdldDoidHIifX0sCnBhZ2VMZW5ndGg6cGFyc2VJbnQoYy5kYXRhKCJsZW5ndGgiKSksbGVuZ3RoTWVudTpbcGFyc2VJbnQoYy5kYXRhKCJsZW5ndGgiKSksMTAsMjUsNTAsMTAwXS5zb3J0KGZ1bmN0aW9uKGIsbSl7cmV0dXJuIGItbX0pLmZpbHRlcihmdW5jdGlvbihiLG0saCl7cmV0dXJuIGguaW5kZXhPZihiKT09PW19KSxjb2x1bW5zOmcscHJvY2Vzc2luZzohMCxzZXJ2ZXJTaWRlOiEwLGRlZmVyTG9hZGluZzpwYXJzZUludChjLmRhdGEoInRvdGFsIikpLGNvbHVtbkRlZnM6W3t0YXJnZXRzOiJjb2wtbmFtZSIsY2xhc3NOYW1lOiJjdHJsIHRleHQtbGVmdCBhbGwifSx7dGFyZ2V0czoiY29sLXJhbmsiLGNsYXNzTmFtZToidGV4dC1sZWZ0IG1pbi10YWJsZXQtcCIsd2lkdGg6IjIwcHgifSx7dGFyZ2V0czoiY29sLXByaWNlX3VzZCIsY2xhc3NOYW1lOiJhbGwifSx7dGFyZ2V0czoiY29sLXdlZWtseSIsd2lkdGg6IjE5MHB4IiwibWF4LXdpZHRoIjoiMTkwcHgiLGNsYXNzTmFtZToiY2hhcnQtd3JhcHBlciJ9XSwKZHJhd0NhbGxiYWNrOmZ1bmN0aW9uKGIpe2MuZmluZCgiY2FudmFzIikuZWFjaChmdW5jdGlvbigpe2pRdWVyeSh0aGlzKS5kcmF3Q2hhcnQoKX0pO2I9Yy5wYXJlbnRzKCIuY3J5cHRvYm94ZXMiKS5kYXRhKCJyZWFsdGltZSIpOyJ1bmRlZmluZWQiIT09dHlwZW9mIHdpbmRvdy5zb2NrZXQmJiJvbiI9PT1iJiZ3aW5kb3cuc29ja2V0LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGZ1bmN0aW9uKG0pe3ZhciBoPUpTT04ucGFyc2UobS5kYXRhKTtjLmZpbmQoJ1tkYXRhLWxpdmUtcHJpY2U9IicraC5iYXNlKyciXScpLmVhY2goZnVuY3Rpb24oKXtqUXVlcnkodGhpcykucmVhbFRpbWUoaCl9KX0pO2pRdWVyeSgiLm1jdy10YWJsZS5kYXJrIikuZWFjaChmdW5jdGlvbigpe2pRdWVyeSh0aGlzKS5pbnZlcnRhYmxlKCl9KX0sYWpheDp7dXJsOm1jcC5hamF4X3VybCxkYXRhOnthY3Rpb246Im1jd190YWJsZSIsZHluYW1pYzphLmF0dHIoImRhdGEtZHluYW1pYyIpLG1jd19pZDphLmF0dHIoImlkIikuc3BsaXQoIi0iKVsxXX19LApsYW5ndWFnZTp7cHJvY2Vzc2luZzoiIixsZW5ndGhNZW51OiJDb2lucyBwZXIgcGFnZTogX01FTlVfIn19KTtrLm9uKCJyZXNwb25zaXZlLXJlc2l6ZSIsZnVuY3Rpb24oYixtLGgpe3ZhciByPWhbMF0/MDoxO2MuZmluZCgidHIgdGQiKS5yZW1vdmVDbGFzcygiY3RybCIpO2MuZmluZCgidGJvZHkgdHIiKS5lYWNoKGZ1bmN0aW9uKCl7alF1ZXJ5KHRoaXMpLmZpbmQoInRkIikuZXEocikuYWRkQ2xhc3MoImN0cmwiKX0pO2MucmVtb3ZlQ2xhc3MoImR0ci1jb2x1bW4gZHRyLWlubGluZSIpO2MuYWRkQ2xhc3MoWyJkdHItaW5saW5lIiwiZHRyLWNvbHVtbiJdW3JdKX0pO2sub24oInByb2Nlc3NpbmcuZHQiLGZ1bmN0aW9uKGIsbSxoKXtoPyhiPWEuZmluZCgidGhlYWQiKS5pblZpZXcoKT8wOjEsYS5maW5kKCIubG9hZGVyIikuZXEoYikuc2hvdygpKTphLmZpbmQoIi5sb2FkZXIiKS5oaWRlKCl9KTtrLm9uKCJyZXNwb25zaXZlLWRpc3BsYXkiLGZ1bmN0aW9uKGIpe2pRdWVyeShiLmN1cnJlbnRUYXJnZXQpLmZpbmQoInRkLmNoaWxkIGNhbnZhcyIpLnBhcmVudCgpLmFkZENsYXNzKCJjaGFydC13cmFwcGVyIik7CmpRdWVyeShiLmN1cnJlbnRUYXJnZXQpLmZpbmQoInRkLmNoaWxkIGNhbnZhcyIpLmVhY2goZnVuY3Rpb24oKXtqUXVlcnkodGhpcykuZHJhd0NoYXJ0KCl9KX0pfSl9KTtqUXVlcnkoZG9jdW1lbnQpLm9uKCJtY3ciLCIubWN3LWNoYXJ0IixmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTtkZXBwLnJlcXVpcmUoWyJlY2hhcnRzIiwidmlzaWJpbGl0eWNoYW5nZWQiXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGMoZCl7Yi5wZXJpb2Q9ZDtrLnRpdGxlLnN1YnRleHQ9cltiLnBlcmlvZF07ZSgpfWZ1bmN0aW9uIGcoZCl7Yi5jb2luPSJNSU9UQSI9PWIuY29pbj8iSU9UIjpiLmNvaW47dmFyIHE9Imh0dHBzOi8vbWluLWFwaS5jcnlwdG9jb21wYXJlLmNvbS9kYXRhLyIrKCJkYXkiPT09Yi5wZXJpb2R8fCJ3ZWVrIj09PWIucGVyaW9kPyJoaXN0b2hvdXIiOiJoaXN0b2RheSIpO3ErPSI/ZnN5bT0iK2IuY29pbisiJnRzeW09IitiLmN1cnJlbmN5O3ErPSImbGltaXQ9IitoW2IucGVyaW9kXSsKIiZhZ2dyZWdhdGU9MSZleHRyYVBhcmFtcz1tYXNzaXZlY3J5cHRvIjt2YXIgdz0ibWN3LSIrYi5jb2luLnRvTG93ZXJDYXNlKCkrIi0iK2IuY3VycmVuY3kudG9Mb3dlckNhc2UoKSsiLSIrYi5wZXJpb2Q7aWYobnVsbD09PXNlc3Npb25TdG9yYWdlLmdldEl0ZW0odyl8fCIiPT1zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHcpKWpRdWVyeS5nZXQocSxmdW5jdGlvbihuKXtzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKHcsSlNPTi5zdHJpbmdpZnkobikpO3JldHVybiBkKG4pfSwianNvbiIpO2Vsc2UgcmV0dXJuIHE9SlNPTi5wYXJzZShzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHcpKSxkKHEpfWZ1bmN0aW9uIGUoKXtsLnNob3dMb2FkaW5nKCJkZWZhdWx0Iix7dGV4dDoiIixjb2xvcjptLnRpdGxlQ29sb3IsbWFza0NvbG9yOm0uYmFja2dyb3VuZENvbG9yfSk7ZyhmdW5jdGlvbihkKXt2YXIgcT1bXSx3PVtdLG49W107Zm9yKGk9MDtpPGQuRGF0YS5sZW5ndGg7aSsrKXt2YXIgdj1uZXcgRGF0ZSgxRTMqCmQuRGF0YVtpXS50aW1lKTtpZigiZGF5Ij09Yi5wZXJpb2Qpe3ZhciB0PXBbdi5nZXRNb250aCgpXSsiICI7dmFyIHg9djt2PXguZ2V0SG91cnMoKTt4PXguZ2V0TWludXRlcygpO3ZhciB6PTEyPD12PyJQTSI6IkFNIjt2JT0xMjt0Kz0odj92OjEyKSsiOiIrKDEwPng/IjAiK3g6eCkrIiAiK3p9ZWxzZSB0PXBbdi5nZXRNb250aCgpXSsiICIrdi5nZXREYXRlKCk7dj10O3Q9ImNoYXJ0Ij09Yi50eXBlP2QuRGF0YVtpXS5jbG9zZTpbZC5EYXRhW2ldLmNsb3NlLGQuRGF0YVtpXS5vcGVuLGQuRGF0YVtpXS5sb3csZC5EYXRhW2ldLmhpZ2hdO3EucHVzaCh2KTt3LnB1c2godCk7bi5wdXNoKGQuRGF0YVtpXS52b2x1bWVmcm9tKX1rLnhBeGlzWzBdLmRhdGE9cTtrLnNlcmllc1swXS5kYXRhPXc7ImNhbmRsZXN0aWNrIj09Yi50eXBlJiYoZD1NYXRoLnJvdW5kKGhbYi5wZXJpb2RdLzYwKjEwKSxxPSJjYW5kbGVzdGljayI9PWIudHlwZSYmMTA8ZD8hMDohMSxrLmRhdGFab29tLnNob3c9cSwKay5kYXRhWm9vbS5zdGFydD1kLGsuZ3JpZC55Mj1xPzgwOjQwLGsuc2VyaWVzWzFdLmRhdGE9bik7bC5zZXRPcHRpb24oayk7bC5oaWRlTG9hZGluZygpfSl9dmFyIGs9e3R5cGU6YS5hdHRyKCJkYXRhLWNoYXJ0dHlwZSIpLGNvaW46YS5hdHRyKCJkYXRhLWNoYXJ0Y29pbiIpLGN1cnJlbmN5OmEuYXR0cigiZGF0YS1jaGFydGN1cnJlbmN5Iiksc3ltYm9sOmEuYXR0cigiZGF0YS1jaGFydHN5bWJvbCIpLHBlcmlvZDphLmF0dHIoImRhdGEtY2hhcnR2aWV3IiksdGhlbWU6YS5hdHRyKCJkYXRhLWNoYXJ0dGhlbWUiKSxzbW9vdGg6InRydWUiPT1hLmF0dHIoImRhdGEtY2hhcnRzbW9vdGgiKSx0ZXh0Q29sb3I6YS5hdHRyKCJkYXRhLWNoYXJ0YXJlYWNvbG9yIiksYXJlYUNvbG9yOmEuYXR0cigiZGF0YS1jaGFydGJnY29sb3IiKSxmb250OmEuYXR0cigiZGF0YS1mb250IiksY29uZmlnOkpTT04ucGFyc2UoYS5hdHRyKCJkYXRhLWNvbmZpZyIpKX07c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXtpZigwPApzZXNzaW9uU3RvcmFnZS5sZW5ndGgpZm9yKHZhciBkPTA7ZDxzZXNzaW9uU3RvcmFnZS5sZW5ndGg7ZCsrKS0xPHNlc3Npb25TdG9yYWdlLmtleShkKS5pbmRleE9mKCJtY3ctIikmJnNlc3Npb25TdG9yYWdlLnNldEl0ZW0oc2Vzc2lvblN0b3JhZ2Uua2V5KGQpLCIiKX0sMThFNSk7dmFyIGI9alF1ZXJ5LmV4dGVuZCh7dHlwZToiY2hhcnQiLGNvaW46IkJUQyIsY3VycmVuY3k6IlVTRCIsc3ltYm9sOiIkIixwZXJpb2Q6ImRheSIsdGhlbWU6ImRhcmsiLHNtb290aDohMCxhcmVhQ29sb3I6InJnYmEoMTEyLDE0NywyNTQsMC44KSIsdGV4dENvbG9yOiIjMjAyMzI4Iixmb250OmEuY3NzKCJmb250LWZhbWlseSIpfSxrKSxtPXtsaWdodDp7YmFja2dyb3VuZENvbG9yOiIjZmZmIixjb2xvcjoiY2hhcnQiPT1iLnR5cGU/IiIhPWIudGV4dENvbG9yP1tiLnRleHRDb2xvcl06IiMyMDIzMjgiOiIjMjAyMzI4Iixmb250RmFtaWx5OmIuZm9udCxjaGFydENvbG9yczoiY2hhcnQiPT1iLnR5cGU/CiIiIT1iLmFyZWFDb2xvcj9bYi5hcmVhQ29sb3JdOiJyZ2JhKDExMiwxNDcsMjU0LDAuOCkiOlsicmdiYSgxMDgsMTMwLDE0NSwwLjIpIl0sdGl0bGVDb2xvcjoiY2hhcnQiPT1iLnR5cGU/IiIhPWIuYXJlYUNvbG9yP1tiLmFyZWFDb2xvcl06InJnYmEoMTEyLDE0NywyNTQsMC44KSI6IiM2NTY1NjUiLHhBeGlzOiJyZ2JhKDU0LDYwLDc4LDAuMSkiLHlBeGlzOiJyZ2JhKDU0LDYwLDc4LDAuMSkiLGJvcmRlcjoiI2VlZSJ9LGRhcms6e2JhY2tncm91bmRDb2xvcjoiIzIwMjMyOCIsY29sb3I6ImNoYXJ0Ij09Yi50eXBlPyIiIT1iLnRleHRDb2xvcj9bYi50ZXh0Q29sb3JdOiIjZmZmIjoiI2ZmZiIsZm9udEZhbWlseTpiLmZvbnQsY2hhcnRDb2xvcnM6ImNoYXJ0Ij09Yi50eXBlPyIiIT1iLmFyZWFDb2xvcj9bYi5hcmVhQ29sb3JdOiJyZ2JhKDExMiwxNDcsMjU0LDAuOCkiOlsicmdiYSgxMDgsMTMwLDE0NSwwLjIpIl0sdGl0bGVDb2xvcjoiY2hhcnQiPT1iLnR5cGU/IiIhPWIuYXJlYUNvbG9yPwpbYi5hcmVhQ29sb3JdOiJyZ2JhKDExMiwxNDcsMjU0LDAuOCkiOiIjZmZmIix4QXhpczoiIzM2M2M0ZSIseUF4aXM6IiMzNjNjNGUiLGJvcmRlcjoiIzIwMjMyOCJ9fVtiLnRoZW1lXSxoPXtkYXk6MjQsd2VlazoxNjgsbW9udGg6MzAsdGhyZWVtb250aHM6OTAsc2l4bW9udGhzOjE4MCx5ZWFyOjM2NX0scj17ZGF5OiJEYXkiLHdlZWs6IldlZWsiLG1vbnRoOiJNb250aCIsdGhyZWVtb250aHM6IjMgTW9udGhzIixzaXhtb250aHM6IjYgTW9udGhzIix5ZWFyOiJZZWFyIn0scD0iSmFuIEZlYiBNYXIgQXByIE1heSBKdW4gSnVsIEF1ZyBTZXAgT2N0IE5vdiBEZWMiLnNwbGl0KCIgIiksbD1lY2hhcnRzLmluaXQoYS5nZXQoMCkpO2s9e2FuaW1hdGlvbjohMSxiYWNrZ3JvdW5kQ29sb3I6bS5iYWNrZ3JvdW5kQ29sb3IsY29sb3I6bS5jaGFydENvbG9ycyx0ZXh0U3R5bGU6e2NvbG9yOm0uY29sb3IsZm9udEZhbWlseTptLmZvbnRGYW1pbHl9LHRpdGxlOnt0ZXh0OmIuY29pbisiLyIrYi5jdXJyZW5jeSwKc3VidGV4dDpyW2IucGVyaW9kXSx0ZXh0U3R5bGU6e2NvbG9yOm0udGl0bGVDb2xvcn19LGdyaWQ6e3g6ImNoYXJ0Ij09Yi50eXBlP2IuY29uZmlnLmxpbmUubDpiLmNvbmZpZy5jYW5kbGVzdGljay5sLHgyOiJjaGFydCI9PWIudHlwZT9iLmNvbmZpZy5saW5lLnI6Yi5jb25maWcuY2FuZGxlc3RpY2sucix5OjMyMDxhLndpZHRoKCk/ODA6MTEwLHkyOjQwfSx0b29sdGlwOnt0cmlnZ2VyOiJheGlzIixmb3JtYXR0ZXI6ZnVuY3Rpb24oZCl7dmFyIHE9ZFswXS5uYW1lOyJjaGFydCI9PWIudHlwZT8ocT1xKyI8YnIvPiIrKGRbMF0ubWFya2VyKycgUHJpY2U6IDxiIHN0eWxlPSJjb2xvcjogI2ZmZjsiPicrYi5zeW1ib2wrYWRkQ29tbWFzKGRbMF0udmFsdWUpKSxxKz0iPC9iPiIpOihxPXErIjxici8+IisoZFswXS5tYXJrZXIrJyBIOiA8YiBzdHlsZT0iY29sb3I6ICNmZmY7Ij4nK2Iuc3ltYm9sK2FkZENvbW1hcyhkWzBdLnZhbHVlWzRdKSsiPC9iPiIpLHErPScgIEw6IDxiIHN0eWxlPSJjb2xvcjogI2ZmZjsiPicrCmIuc3ltYm9sK2FkZENvbW1hcyhkWzBdLnZhbHVlWzNdKSsiPC9iPiIscT1xKyI8YnIvPiIrKGRbMF0ubWFya2VyKycgTzogPGIgc3R5bGU9ImNvbG9yOiAjZmZmOyI+JytiLnN5bWJvbCthZGRDb21tYXMoZFswXS52YWx1ZVsyXSkrIjwvYj4iKSxxKz0nICBDOiA8YiBzdHlsZT0iY29sb3I6ICNmZmY7Ij4nK2Iuc3ltYm9sK2FkZENvbW1hcyhkWzBdLnZhbHVlWzFdKSsiPC9iPiIscT1xKyI8YnIvPiIrKGRbMV0ubWFya2VyKycgVjogPGIgc3R5bGU9ImNvbG9yOiAjZmZmOyI+JythZGRDb21tYXMoZFsxXS52YWx1ZSkrIjwvYj4gIitiLmNvaW4pKTtyZXR1cm4gcX19LGRhdGFab29tOntzaG93OiExLHJlYWx0aW1lOiEwLHN0YXJ0OjAsZW5kOjEwMH0sdG9vbGJveDp7c2hvdzohMCxpdGVtU2l6ZToyMixsZWZ0OjMyMDxhLndpZHRoKCk/InJpZ2h0IjoibGVmdCIsdG9wOjMyMDxhLndpZHRoKCk/InRvcCI6NTAsZmVhdHVyZTp7bXlUb29sMTp7c2hvdzohMCx0aXRsZTpyLmRheSxpY29uOiJpbWFnZTovLyIrCm1jcC51cmwrIi9hc3NldHMvcHVibGljL2NoYXJ0cy9pbWFnZXMvMWQtZGFyay0wMS5zdmciLG9uY2xpY2s6ZnVuY3Rpb24oKXtjKCJkYXkiKX19LG15VG9vbDI6e3Nob3c6ITAsdGl0bGU6ci53ZWVrLGljb246ImltYWdlOi8vIittY3AudXJsKyIvYXNzZXRzL3B1YmxpYy9jaGFydHMvaW1hZ2VzLzF3LWRhcmstMDEuc3ZnIixvbmNsaWNrOmZ1bmN0aW9uKCl7Yygid2VlayIpfX0sbXlUb29sMzp7c2hvdzohMCx0aXRsZTpyLm1vbnRoLGljb246ImltYWdlOi8vIittY3AudXJsKyIvYXNzZXRzL3B1YmxpYy9jaGFydHMvaW1hZ2VzLzFtLWRhcmstMDEuc3ZnIixvbmNsaWNrOmZ1bmN0aW9uKCl7YygibW9udGgiKX19LG15VG9vbDQ6e3Nob3c6ITAsdGl0bGU6ci50aHJlZW1vbnRocyxpY29uOiJpbWFnZTovLyIrbWNwLnVybCsiL2Fzc2V0cy9wdWJsaWMvY2hhcnRzL2ltYWdlcy8zbS1kYXJrLTAxLnN2ZyIsb25jbGljazpmdW5jdGlvbigpe2MoInRocmVlbW9udGhzIil9fSxteVRvb2w1OntzaG93OiEwLAp0aXRsZTpyLnNpeG1vbnRocyxpY29uOiJpbWFnZTovLyIrbWNwLnVybCsiL2Fzc2V0cy9wdWJsaWMvY2hhcnRzL2ltYWdlcy82bS1kYXJrLTAxLnN2ZyIsb25jbGljazpmdW5jdGlvbigpe2MoInNpeG1vbnRocyIpfX0sbXlUb29sNjp7c2hvdzohMCx0aXRsZTpyLnllYXIsaWNvbjoiaW1hZ2U6Ly8iK21jcC51cmwrIi9hc3NldHMvcHVibGljL2NoYXJ0cy9pbWFnZXMvMXktZGFyay0wMS5zdmciLG9uY2xpY2s6ZnVuY3Rpb24oKXtjKCJ5ZWFyIil9fSxtYXJrOntzaG93OiExfSxkYXRhVmlldzp7c2hvdzohMX0sbWFnaWNUeXBlOntzaG93OiExfSxyZXN0b3JlOntzaG93OiExfSxzYXZlQXNJbWFnZTp7c2hvdzohMX19fSx4QXhpczpbXSx5QXhpczpbXSxzZXJpZXM6W119OyJjaGFydCI9PWIudHlwZT8oay54QXhpcy5wdXNoKHt0eXBlOiJjYXRlZ29yeSIsYm91bmRhcnlHYXA6ITF9KSxrLnlBeGlzLnB1c2goe3R5cGU6InZhbHVlIixzY2FsZTohMCxheGlzTGFiZWw6e2Zvcm1hdHRlcjpmdW5jdGlvbihkKXtyZXR1cm4gYWRkQ29tbWFzKGQpfX0sCnNwbGl0TGluZTp7c2hvdzohMCxsaW5lU3R5bGU6e2NvbG9yOm0ueUF4aXMsd2lkdGg6MSx0eXBlOiJzb2xpZCJ9fSxib3VuZGFyeUdhcDpbIjUlIiwiMCUiXX0pLGsuc2VyaWVzLnB1c2goe25hbWU6IlByaWNlIix0eXBlOiJsaW5lIixzbW9vdGg6Yi5zbW9vdGgsaXRlbVN0eWxlOntub3JtYWw6e2FyZWFTdHlsZTp7dHlwZToiZGVmYXVsdCJ9fX19KSk6KGsueEF4aXMucHVzaCh7dHlwZToiY2F0ZWdvcnkiLGJvdW5kYXJ5R2FwOiEwLGF4aXNUaWNrOntvbkdhcDohMX0sc3BsaXRMaW5lOntzaG93OiExfX0pLGsueUF4aXMucHVzaCh7dHlwZToidmFsdWUiLHNjYWxlOiExLGF4aXNMYWJlbDp7Zm9ybWF0dGVyOmZ1bmN0aW9uKGQpe3JldHVybiBhZGRDb21tYXMoZCl9fSxzcGxpdExpbmU6e3Nob3c6ITF9LGJvdW5kYXJ5R2FwOlsiMCUiLCIwJSJdfSx7dHlwZToidmFsdWUiLHNjYWxlOiEwLGF4aXNMYWJlbDp7Zm9ybWF0dGVyOmZ1bmN0aW9uKGQpe3JldHVybiBhZGRDb21tYXMoZCl9fSwKc3BsaXRMaW5lOntzaG93OiEwLGxpbmVTdHlsZTp7Y29sb3I6bS55QXhpcyx3aWR0aDoxLHR5cGU6InNvbGlkIn19LGJvdW5kYXJ5R2FwOlsiMCUiLCIwJSJdfSksay5zZXJpZXMucHVzaCh7bmFtZToiT0hMQyIsdHlwZToiayIsaXRlbVN0eWxlOntub3JtYWw6e2NvbG9yOiIjZGMzNTQ1Iixjb2xvcjA6IiMyM0JGMDgifX0seUF4aXNJbmRleDoxfSksay5zZXJpZXMucHVzaCh7bmFtZToiVm9sdW1lIix0eXBlOiJiYXIifSkpO2EuY3NzKCJiYWNrZ3JvdW5kIixtLmJhY2tncm91bmRDb2xvcik7YS5jc3MoImJvcmRlci1jb2xvciIsbS5ib3JkZXIpO2UoKTtqUXVlcnkod2luZG93KS5vbigicmVzaXplIixmdW5jdGlvbigpe2suZ3JpZC55PTMyMDxhLndpZHRoKCk/ODA6MTEwO2sudG9vbGJveC5sZWZ0PTMyMDxhLndpZHRoKCk/InJpZ2h0IjoibGVmdCI7ay50b29sYm94LnRvcD0zMjA8YS53aWR0aCgpPyJ0b3AiOjUwO2wuc2V0T3B0aW9uKGspO2wucmVzaXplKCl9KTthLnZpc2liaWxpdHlDaGFuZ2VkKHtjYWxsYmFjazpmdW5jdGlvbihkLApxLHcpe3EmJmpRdWVyeSh3aW5kb3cpLnRyaWdnZXIoInJlc2l6ZSIpfSxydW5PbkxvYWQ6ITAsZnJlcXVlbmN5OjEwMH0pfSl9KTtqUXVlcnkoZG9jdW1lbnQpLm9uKCJtY3ciLCIubWN3LWNvbnZlcnRlciIsZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyk7ZGVwcC5yZXF1aXJlKCJzZWxlY3RpemUiLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYygpe3ZhciBuPW1bMF0uc2VsZWN0aXplLm9wdGlvbnNbbS52YWwoKV0udmFsLHY9aFswXS5zZWxlY3RpemUub3B0aW9uc1toLnZhbCgpXS52YWwsdD0iVVMiPT09bWNwLm51bWZvcm1hdD9wYXJzZUZsb2F0KHIudmFsKCkucmVwbGFjZSgvLC9nLCIiKSk6cGFyc2VGbG9hdChyLnZhbCgpLnJlcGxhY2UoL1wuL2csIiIpKTtuPSJjcnlwdG8iPT09ZSYmImNyeXB0byI9PT1rP3Q/bi92KnQ6IiI6ImZpYXQiPT09ZSYmImZpYXQiPT09az90P3Yvbip0OiIiOiJmaWF0Ij09PWUmJiJjcnlwdG8iPT09az90P3QvKG4qdik6IiI6dD90Km4qdjoiIjtuPXBhcnNlRmxvYXQobik7CnAudmFsKGFkZENvbW1hcyhuLnRvRml4ZWQoMTw9bj8yOjFFLTY+bj84OjYpKSl9ZnVuY3Rpb24gZygpe3ZhciBuPW1bMF0uc2VsZWN0aXplLm9wdGlvbnNbbS52YWwoKV0udmFsLHY9aFswXS5zZWxlY3RpemUub3B0aW9uc1toLnZhbCgpXS52YWwsdD0iVVMiPT09bWNwLm51bWZvcm1hdD9wYXJzZUZsb2F0KHAudmFsKCkucmVwbGFjZSgvLC9nLCIiKSk6cGFyc2VGbG9hdChwLnZhbCgpLnJlcGxhY2UoL1wuL2csIiIpKTtuPSJjcnlwdG8iPT09ZSYmImNyeXB0byI9PT1rP3Q/di9uKnQ6IiI6ImZpYXQiPT09ZSYmImZpYXQiPT09az90P24vdip0OiIiOiJmaWF0Ij09PWUmJiJjcnlwdG8iPT09az90P3Qqbip2OiIiOnQ/MS92KnQvbjoiIjtuPXBhcnNlRmxvYXQobik7ci52YWwoYWRkQ29tbWFzKG4udG9GaXhlZCgxPD1uPzI6MUUtNj5uPzg6NikpKX1hLmZpbmQoInNlbGVjdCIpLnNlbGVjdGl6ZSh7b25Jbml0aWFsaXplOmZ1bmN0aW9uKCl7dmFyIG49dGhpczt0aGlzLnJldmVydFNldHRpbmdzLiRjaGlsZHJlbi5lYWNoKGZ1bmN0aW9uKCl7alF1ZXJ5LmV4dGVuZChuLm9wdGlvbnNbdGhpcy52YWx1ZV0sCmpRdWVyeSh0aGlzKS5kYXRhKCkpfSk7bi4kZHJvcGRvd24uYWRkQ2xhc3MoIm1jdy1jb252LXN0eWxlIil9LGRyb3Bkb3duUGFyZW50OiJib2R5In0pO2EuZmluZCgiLm1jdy1jb252ZXJ0LXN3YXAiKS5jbGljayhmdW5jdGlvbigpe2EuZmluZCgiLm1jdy1mb3JtLWdyb3VwIikuZXEoMCkudG9nZ2xlQ2xhc3MoIm1jdy1mb3JtLWdyb3VwLXN3YXAiKX0pO3ZhciBlPWEuYXR0cigiZGF0YS1mcm9tIiksaz1hLmF0dHIoImRhdGEtdG8iKSxiPSJ0cnVlIj09YS5hdHRyKCJkYXRhLWF1dG8iKSxtPWEuZmluZCgic2VsZWN0IikuZmlyc3QoKSxoPWEuZmluZCgic2VsZWN0IikubGFzdCgpLHI9YS5maW5kKCJpbnB1dC5tY3ctZmllbGQiKS5maXJzdCgpLHA9YS5maW5kKCJpbnB1dC5tY3ctZmllbGQiKS5sYXN0KCksbD0iZG93biIsZD1hLmNsb3Nlc3QoIi5jcnlwdG9ib3hlcyIpLmRhdGEoImZpYXQiKSxxPWEuY2xvc2VzdCgiLmNyeXB0b2JveGVzIikuZGF0YSgiY3J5cHRvIiksdz0iZmlhdCI9PQplP2Q6IiI7ZD0iY3J5cHRvIj09ZT8iZmlhdCI9PWs/ZDoiYml0Y29pbiI9PW1bMF0udmFsdWU/ImV0aGVyZXVtIjoiIjoiZmlhdCI9PWs/IlVTRCI9PWQ/IkVVUiI6IlVTRCI6IiIhPXE/cToiIjsiIiE9dyYmbVswXS5zZWxlY3RpemUuc2V0VmFsdWUodyk7IiIhPWQmJmhbMF0uc2VsZWN0aXplLnNldFZhbHVlKGQpO3IudmFsKDEpO2MoKTtiPyhyLm9uKCJpbnB1dCIsZnVuY3Rpb24oKXtjKCl9KSxwLm9uKCJpbnB1dCIsZnVuY3Rpb24oKXtnKCl9KSxtLmNoYW5nZShmdW5jdGlvbigpe2coKTtsPSJ1cCJ9KSxoLmNoYW5nZShmdW5jdGlvbigpe2MoKTtsPSJkb3duIn0pKTooci5vbigiaW5wdXQiLGZ1bmN0aW9uKCl7bD0iZG93biJ9KSxwLm9uKCJpbnB1dCIsZnVuY3Rpb24oKXtsPSJ1cCJ9KSxhLmZpbmQoIi5tY3ctYnV0dG9uIikuY2xpY2soZnVuY3Rpb24obil7bi5wcmV2ZW50RGVmYXVsdCgpOyJkb3duIj09bD9jKCk6ZygpfSkpfSl9KTtqUXVlcnkoZG9jdW1lbnQpLm9uKCJtY3ciLAoiLm1jdy1jYXJkLTciLGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpO2RlcHAucmVxdWlyZSgiYm91bnR5IixmdW5jdGlvbigpe3ZhciBjPWEuZmluZCgiLm1jdy1wcmljZSIpLGc9MSxlPWMudGV4dCgpLGs9MTw9cGFyc2VGbG9hdChjLmF0dHIoImRhdGEtcHJpY2UiKSk/MjoxRS02PnBhcnNlRmxvYXQoYy5hdHRyKCJkYXRhLXByaWNlIikpPzg6Njtib3VudHlbImRlZmF1bHQiXSh7ZWw6Y1swXSxpbml0aWFsVmFsdWU6ZSx2YWx1ZTplfSk7d2luZG93LnNvY2tldC5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixmdW5jdGlvbihiKXtiPUpTT04ucGFyc2UoYi5kYXRhKTtpZihjLmRhdGEoImxpdmUiKT09Yi5iYXNlJiZiLnByaWNlVXNkIT09cGFyc2VGbG9hdChjLmF0dHIoImRhdGEtcHJpY2UiKSkpe3ZhciBtPWMuYXR0cigiZGF0YS1zeW1ib2wiKSthZGRDb21tYXMocGFyc2VGbG9hdChiLnByaWNlVXNkKmcpLnRvRml4ZWQoaykpO2JvdW50eVsiZGVmYXVsdCJdKHtlbDpjWzBdLAppbml0aWFsVmFsdWU6ZSx2YWx1ZTptfSk7ZT1tO2MuYXR0cigiZGF0YS1wcmljZSIsYi5wcmljZVVzZCl9fSk7YS5maW5kKCIubWN3LXRvZ2dsZS1zd2l0Y2giKS5jbGljayhmdW5jdGlvbigpe2c9alF1ZXJ5KHRoaXMpLmRhdGEoInJhdGUiKTthLmZpbmQoIi5tY3ctdG9nZ2xlLXN3aXRjaCIpLnJlbW92ZUNsYXNzKCJhY3RpdmUiKTtqUXVlcnkodGhpcykuYWRkQ2xhc3MoImFjdGl2ZSIpO3ZhciBiPWpRdWVyeSh0aGlzKS5kYXRhKCJzeW1ib2wiKSthZGRDb21tYXMocGFyc2VGbG9hdChjLmF0dHIoImRhdGEtcHJpY2UiKSpnKS50b0ZpeGVkKGspKTtib3VudHlbImRlZmF1bHQiXSh7ZWw6Y1swXSxpbml0aWFsVmFsdWU6ZSx2YWx1ZTpifSk7ZT1iO2MuYXR0cigiZGF0YS1zeW1ib2wiLGpRdWVyeSh0aGlzKS5kYXRhKCJzeW1ib2wiKSl9KX0pfSk7alF1ZXJ5KGRvY3VtZW50KS5vbigibWN3IiwiLm1jdy1ib3giLGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpO2EuZmluZCgiY2FudmFzIikuZWFjaChmdW5jdGlvbigpe2pRdWVyeSh0aGlzKS5kcmF3Q2hhcnQoKX0pOwphLmZpbmQoIi5jaGFydC1vZmZzZXQiKS5zaG93KCk7aWYoYS5oYXNDbGFzcygibWN3LWJveC0yIikpe3ZhciBjPWEuZmluZCgiLm1jdy1jcnlwdG8tY29udmVydCIpLGc9YS5maW5kKCIubWN3LWZpYXQtY29udmVydCIpO2EuZmluZCgic2VsZWN0IikuY2hhbmdlKGZ1bmN0aW9uKCl7dmFyIGU9cGFyc2VGbG9hdChjLnZhbCgpKSpwYXJzZUZsb2F0KGcudmFsKCkpO2U9ZS50b0ZpeGVkKDE8PWU/MjoxRS02PmU/ODo2KTthLmZpbmQoIi5tY3ctcHJpY2UiKS5odG1sKGUpO2U9Zy5maW5kKCI6c2VsZWN0ZWQiKS5kYXRhKCJwcmVmaXgiKTthLmZpbmQoIi5tY3ctcHJpY2Utc3ltYm9sIikuaHRtbChlKTtlPWMuZmluZCgiOnNlbGVjdGVkIikuZGF0YSgiY2hhbmdlIik7YS5maW5kKCIubWN3LWxpc3QtY2hhbmdlIikuaHRtbChNYXRoLmFicyhlKSsiJSIpOzA8PWU/YS5maW5kKCIubWN3LWxpc3QtY2hhbmdlIikudG9nZ2xlQ2xhc3MoImRvd24gdXAiKTphLmZpbmQoIi5tY3ctbGlzdC1jaGFuZ2UiKS50b2dnbGVDbGFzcygidXAgZG93biIpfSl9fSk7CmpRdWVyeShkb2N1bWVudCkub24oIm1jdyIsIi5tY3ctbGlzdCIsZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyk7YS5maW5kKCJjYW52YXMiKS5lYWNoKGZ1bmN0aW9uKCl7alF1ZXJ5KHRoaXMpLmRyYXdDaGFydCgpfSk7YS5oYXNDbGFzcygibWN3LWxpc3QtMiIpJiZhLm1jd0FjY29yZGlvbigpfSk7alF1ZXJ5KGRvY3VtZW50KS5vbigibWN3IiwiLm1jdy1tdWx0aS10YWJzIixmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKSxjPWEuZmluZCgiLm1jdy10YWIiKSxnPWEuZmluZCgiLm1jdy10YWItY29udGVudCIpO2MuY2xpY2soZnVuY3Rpb24oKXt2YXIgZT1qUXVlcnkodGhpcykuaW5kZXgoKTtjLnJlbW92ZUNsYXNzKCJhY3RpdmUiKTtqUXVlcnkodGhpcykuYWRkQ2xhc3MoImFjdGl2ZSIpO2cubm90KCI6ZXEoIitlKyIpIikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpO2cuZXEoZSkuYWRkQ2xhc3MoImFjdGl2ZSIpfSl9KTtqUXVlcnkuZm4ubXVsdGlwbHk9ZnVuY3Rpb24oYSl7Zm9yKHZhciBjPQp0aGlzLmNsb25lKCksZz0xO2c8YTtnKyspYz1jLmFkZCh0aGlzLmNsb25lKCkpO3JldHVybiBjfTtqUXVlcnkuZm4uY29pbm1jUmVzaXplPWZ1bmN0aW9uKCl7dmFyIGE9InhzIixjPTA8dGhpcy5maW5kKCIuY21jLXJvdyIpLmxlbmd0aD90aGlzLmZpbmQoIi5jbWMtcm93IikuZXEoMCkud2lkdGgoKTp0aGlzLndpZHRoKCk7OTkyPD1jP2E9ImxnIjo3Njg8PWM/YT0ibWQiOjU3Njw9YyYmKGE9InNtIik7dGhpcy5yZW1vdmVDbGFzcygiY21jbC14cyBjbWNsLXNtIGNtY2wtbWQgY21jbC1sZyIpLmFkZENsYXNzKCJjbWNsLSIrYSk7dGhpcy50cmlnZ2VyKCJ2aWV3Iil9O2pRdWVyeShkb2N1bWVudCkub24oIm1jdyIsIi5tY3ctdGlja2VyIixmdW5jdGlvbigpe3ZhciBhPTAsYz1qUXVlcnkodGhpcyksZz1jLmZpbmQoIi5jYy1zdGF0cyIpO2MuaW1hZ2VzTG9hZGVkKCkudGhlbihmdW5jdGlvbigpe2cuZmluZCgiLmNjLWNvaW4iKS5lYWNoKGZ1bmN0aW9uKCl7YSs9alF1ZXJ5KHRoaXMpLmlubmVyV2lkdGgoKX0pOwp2YXIgZT1nLmZpbmQoIi5jYy1jb2luIiksaz1nLmlubmVyV2lkdGgoKS9hO2cuYXBwZW5kKCc8ZGl2IGNsYXNzPSJjYy1kdXAiPjwvZGl2PicpOy41PGs/Zy5maW5kKCIuY2MtZHVwIikuYXBwZW5kKGUubXVsdGlwbHkoTWF0aC5jZWlsKGspKSk6Zy5maW5kKCIuY2MtZHVwIikuYXBwZW5kKGUubXVsdGlwbHkoMSkpO2cuY3NzKCJ3aWR0aCIsYSk7Zy5maW5kKCJjYW52YXMiKS5lYWNoKGZ1bmN0aW9uKCl7alF1ZXJ5KHRoaXMpLmRyYXdDaGFydCgpfSk7ZT1nLmZpbmQoIi5jYy1jb2luIikubGVuZ3RoO2s9YS9lO3ZhciBiPWMuZGF0YSgic3BlZWQiKSxtPTEwKms7MjAwPT09Yj9tPTEwOjA9PWI/bT0wOjEwMDxiP20tPShiLTEwMCkvMTAqazoxMDA+YiYmKG0rPSgxMDAtYikvMTAqOCprKTtnLmNzcygiYW5pbWF0aW9uLWR1cmF0aW9uIixlKm0vMUUzKyJzIik7Yy5jc3MoInZpc2liaWxpdHkiLCJ2aXNpYmxlIik7Yy5oYXNDbGFzcygibWN3LWhlYWRlciIpJiZqUXVlcnkoImJvZHksIC5uYXZiYXItdmVydGljYWwiKS5jc3MoInBhZGRpbmctdG9wIiwKYy5oZWlnaHQoKSsicHgiKX0pfSk7alF1ZXJ5KCIubWN3LXRyIikuZWFjaChmdW5jdGlvbigpe2pRdWVyeSh0aGlzKS50cmlnZ2VyKCJtY3ciKX0pO0FycmF5LnByb3RvdHlwZS51bmlxdWU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5maWx0ZXIoZnVuY3Rpb24oYSxjLGcpe3JldHVybiBnLmluZGV4T2YoYSk9PT1jfSl9O3ZhciBmPVtdLHU9W107alF1ZXJ5KCIuY3J5cHRvaG9wcGVyLXdlYi13aWRnZXQiKS5lYWNoKGZ1bmN0aW9uKCl7Zi5wdXNoKGpRdWVyeSh0aGlzKS5kYXRhKCJpZCIpKTt2YXIgYT1jcmVhdGVQb3N0RGF0YSh0aGlzKTt1LnB1c2goYSl9KTswPGYubGVuZ3RoJiZqUXVlcnkuYWpheCh7dHlwZToiR0VUIixkYXRhVHlwZToianNvbiIsdXJsOm1jcC51cmwrIi93aWRnZXRzLz9pZD0iK3Jhd3VybGVuY29kZShKU09OLnN0cmluZ2lmeSh1KSksdGltZW91dDoyNTAwLHN1Y2Nlc3M6ZnVuY3Rpb24oYSl7alF1ZXJ5KCIuY3J5cHRvaG9wcGVyLXdlYi13aWRnZXQiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGM9CmpRdWVyeSh0aGlzKS5kYXRhKCJpZCIpO2pRdWVyeSh0aGlzKS5odG1sKGFbY10pO2pRdWVyeSh0aGlzKS5maW5kKCIubWN3LXRyIikudHJpZ2dlcigibWN3Iil9KTtqUXVlcnkoIi5tY3ctZGFyay10aGVtZSwubWN3LW1pZG5pZ2h0LXRoZW1lLC5tY3ctY3VzdG9tLXRoZW1lLC5tY3ctdGFibGUuZGFyayIpLmVhY2goZnVuY3Rpb24oKXtqUXVlcnkodGhpcykuaW52ZXJ0YWJsZSgpfSk7cmVhbHRpbWVVcGRhdGUoKX0sZXJyb3I6ZnVuY3Rpb24oYSxjLGcpe319KX0pOwpmdW5jdGlvbiBjcmVhdGVQb3N0RGF0YShmKXt2YXIgdT17aWQ6alF1ZXJ5KGYpLmRhdGEoImlkIil9LGE9e307Im9uIj09alF1ZXJ5KGYpLmRhdGEoInJlYWx0aW1lIik/YS5yZWFsdGltZT0xOmEucmVhbHRpbWU9MDtmb3IodmFyIGM9InJlYWx0aW1lIHByaWNlX2Zvcm1hdCBjaGFydF9jb2xvciBsYWJlbF9kZXNpZ24gdGh1bWJuYWlscyBmdWxsd2lkdGggY2FyZF9kZXNpZ24gY2hhcnRfdGhlbWUgY2hhcnRfdmlldyBjaGFydF90eXBlIHRhYmxlX2NvbHVtbnMgY29udmVydGVyX3R5cGUgYm94X2Rlc2lnbiBsaXN0X2Rlc2lnbiBtdWx0aV9jdXJyZW5jaWVzIG5ld3NfY291bnQgbmV3c19sZW5ndGggY3VycmVuY3kyIHRleHRfY29sb3IgYmFja2dyb3VuZF9jb2xvciB0aGVtZSBudW1jb2lucyB0YWJsZV9sZW5ndGggdGl0bGUgY3VycmVuY3kgdGFibGVfdGl0bGUgY2hhcnRfdGhlbWUgdGFibGVfc3R5bGUgYXRpZCByb3VuZCBjaGFuZ2VzIHRpY2tlcl9kZXNpZ24gbG9nb3MgY2hhbmdlcyBjb2lucyB0aWNrZXJfc3BlZWQgdGlja2VyX3Bvc2l0aW9uIi5zcGxpdCgiICIpLGc9CjA7ZzxjLmxlbmd0aDtnKyspe3ZhciBlPWNbZ107InVuZGVmaW5lZCIhPT10eXBlb2YgalF1ZXJ5KGYpLmRhdGEoZSkmJigicmVhbHRpbWUiPT1lPyJvbiI9PWpRdWVyeShmKS5kYXRhKCJyZWFsdGltZSIpP2EucmVhbHRpbWU9MTphLnJlYWx0aW1lPTA6YVtlXT1qUXVlcnkoZikuZGF0YShlKSl9dS5vcHRpb25zPWE7cmV0dXJuIHV9ZnVuY3Rpb24gcmF3dXJsZW5jb2RlKGYpe3JldHVybiBlbmNvZGVVUklDb21wb25lbnQoZikucmVwbGFjZSgvIS9nLCIlMjEiKS5yZXBsYWNlKC8nL2csIiUyNyIpLnJlcGxhY2UoL1woL2csIiUyOCIpLnJlcGxhY2UoL1wpL2csIiUyOSIpLnJlcGxhY2UoL1wqL2csIiUyQSIpfTs="}},"time_used":232,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":232,"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.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:53.068Z","timestamp":1785123233068,"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: 245800\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-07-27T05:12:11.051997Z","times_seen":70936,"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.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.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:53.231Z","timestamp":1785123233231,"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://agilitetrade.com/\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 03:33:53 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: require-trusted-types-for 'script';report-uri /_/TranslateApiHttp/cspreport, script-src 'nonce-DDsirCcpBAppbdJKmYRvig' 'unsafe-inline';object-src 'none';base-uri 'self';report-uri /_/TranslateApiHttp/cspreport;worker-src 'self'\r\ncross-origin-opener-policy: same-origin\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\nreporting-endpoints: default=\"/_/TranslateApiHttp/web-reports?context=eJzj4tDikmLw1pBiEOLhWLh49mU2gR3TVi5nVFJKyi-MLylKzCvOSSxJLU4tKkstijcyMDIzMDcy0jMwji8wAAAMzxJJ\"\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=m_zSPPP9_aVXftQAKeQt0mDYNJAL4Lgv_piv-47h0r3SFiDKZHR9UuoeEwhaBLCD1Ez67WmV6ctN1lKf5g-yoyyya6TeyfhGHabAVyTojfwPKeH9sI1dI-X0jdEYqP0lnQAlkHVIybckAtrs5TpQUaqNkZNZzJYD4LmRvTrHDAwaT9VKZbofKPLhdraxtg7GnE1RJ5autWvrhcmew6yl78vW0vovsP3g-wZLV23sz_4; expires=Thu, 26-Aug-2027 19:52:11 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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"translate.google.com/translate_a/element.js?cb=googleTranslateElementInit","fqdn":"translate.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.250.178.110","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.581Z","timestamp":1785123231581,"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://agilitetrade.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/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 03:33:51 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":75428,"size_decoded":27153,"mime_type":"text/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (2543)","md5":"1833830743382d130652becb9f498826","sha1":"9408cb757bf3964ac68d17c1ac2dfc1cdfc963a4","sha256":"c07d5b91b890e3483e1800910322977007748ed06c18f09f68a3b0f7611b0023","sha512":"f522799bf698caab0e73f467345ad34b6d3ac423522726bd914c37ec2e17801206ef2e672b03dcdafdd029ca7616fc1e09594a8da18bbd649b51925ce20ffccf","ssdeep":"1536:XWjLpxIZnZzYOwRUSfl26KKZkXtmqR6Y06ECitwNWF0:XDD4U6KKZgtBgtCiT0","tlshash":"1273b88cb6a5b4658363f4b5412f000eb23b58adf8484cadb288d8e1adf5949453bf7d","first_seen":"2026-07-27T03:02:41.147556Z","last_seen":"2026-07-27T04:01:29.26053Z","times_seen":121,"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/Yj1iW2FbY11dOmI9YlthW2NdXT17fTpiPWJbYVtjXV18fChiW2FbY11dPXt9KTtyZXR1cm4gYn07Xy5yYygiX2V4cG9ydFZlcnNpb24iLF8uX2V4cG9ydFZlcnNpb24pO18ucmMoIl9nZXRDYWxsYmFja0Z1bmN0aW9uIixfLl9nZXRDYWxsYmFja0Z1bmN0aW9uKTsKXy5yYygiX2xvYWRKcyIsXy5fbG9hZEpzKTtfLnJjKCJfbG9hZENzcyIsXy5fbG9hZENzcyk7Xy5yYygiX2lzTlMiLF8uX2lzTlMpO18ucmMoIl9zZXR1cE5TIixfLl9zZXR1cE5TKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lciYmdHlwZW9mIGRvY3VtZW50LnJlYWR5U3RhdGU9PSJ1bmRlZmluZWQiJiZ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsZnVuY3Rpb24oKXtkb2N1bWVudC5yZWFkeVN0YXRlPSJjb21wbGV0ZSJ9LCExKTsKXy5tYSgpOwp9Y2F0Y2goZSl7Xy5fRHVtcEV4Y2VwdGlvbihlKX0KfSkuY2FsbCh0aGlzLHRoaXMuZGVmYXVsdF90cik7Ci8vIEdvb2dsZSBJbmMuCgovLyMgc291cmNlVVJMPS9fL3RyYW5zbGF0ZV9odHRwL18vanMvaz10cmFuc2xhdGVfaHR0cC50ci5uby5zY3JuWTZRMl95dy5PL2FtPUJJQUFCdy9kPTEvcnM9QU44U1BmcTFLbFVGcWVpRnZCTXVkZHV6R3RiMzlRV1h1dy9tPWVsX2NvbmYKICAgIC8vIENvbmZpZ3VyZSBDb25zdGFudHMKICAgIChmdW5jdGlvbigpewogICAgICBsZXQgZ3RDb25zdEV2YWxTdGFydFRpbWUgPSBuZXcgRGF0ZSgpOwogICAgICBpZiAoX2lzTlMoJ2dvb2dsZS50cmFuc2xhdGUuRWxlbWVudCcpKXtyZXR1cm59CgogICAgICAoZnVuY3Rpb24oKXsKICAgICAgICBjb25zdCBjPV9zZXR1cE5TKCdnb29nbGUudHJhbnNsYXRlLl9jb25zdCcpOwoKICAgICAgICBjLl9jZXN0ID0gZ3RDb25zdEV2YWxTdGFydFRpbWU7CiAgICAgICAgZ3RDb25zdEV2YWxTdGFydFRpbWUgPSB1bmRlZmluZWQ7IC8vIGhpZGUgdGhpcyBldmFsIHN0YXJ0IHRpbWUgY29uc3RhbnQKICBjLl9jbD0nbm8nOyBjLl9jdWM9J2dvb2dsZVRyYW5zbGF0ZUVsZW1lbnRJbml0JzsgYy5fY2VmPSdceDViMCwxLDAsXHg1Ylx4MjJlc19lblx4MjIsXHgyMmVuX3poXHgyMixceDIyZW5fZGVceDIyLFx4MjJlbl9qYVx4MjIsXHgyMmVuX2VzXHgyMixceDIyZGVfZW5ceDIyXHg1ZCxudWxsLFx4NWIwLDMsMTAwLFx4NWJceDIyZW5faGlceDIyLFx4MjJoaV9lblx4MjIsXHgyMmVuX2VzXHgyMixceDIyZXNfZW5ceDIyLFx4MjJlbl9kZVx4MjIsXHgyMmRlX2VuXHgyMixceDIyZW5femhceDIyLFx4MjJlbl9qYVx4MjIsXHgyMmVuX2FyXHgyMixceDIyZW5faWRceDIyXHg1ZFx4NWQsMCwxLDBceDVkJzsgYy5fY2FjPScnOyBjLl9jYW09Jyc7IGMuX2NlbnY9J3Byb2QnO2MuX2NsbD0nSU5GTyc7IGMuX2NnYWs9Jyc7IGMuX2N0a2s9JzQ5NTg2Ny4yNDI4MDIzMzk1JzsgY29uc3QgaD0ndHJhbnNsYXRlLmdvb2dsZWFwaXMuY29tJzsgY29uc3Qgb3BoPSd0cmFuc2xhdGUtcGEuZ29vZ2xlYXBpcy5jb20nOyBjb25zdCBzPSdodHRwcycrJzovLyc7IGMuX3BhaD1oOyBjLl9wYXM9czsgY29uc3QgYj1zKyd0cmFuc2xhdGUuZ29vZ2xlYXBpcy5jb20nOyBjb25zdCBzdGF0aWNQYXRoID0gJy90cmFuc2xhdGVfc3RhdGljLyc7IGMuX3BjaT1iK3N0YXRpY1BhdGgrJ2ltZy90ZV9jdHJsMy5naWYnOyBjLl9wbWk9YitzdGF0aWNQYXRoKydpbWcvbWluaV9nb29nbGUucG5nJzsgYy5fcGJpPWIrc3RhdGljUGF0aCsnaW1nL3RlX2JrLmdpZic7IGMuX3BsaT1iK3N0YXRpY1BhdGgrJ2ltZy9sb2FkaW5nLmdpZic7IGMuX3BzPSdodHRwczpcL1wvd3d3LmdzdGF0aWMuY29tXC9fXC90cmFuc2xhdGVfaHR0cFwvX1wvc3NcL2tceDNkdHJhbnNsYXRlX2h0dHAudHIuQjdEaWg5SnlqbncuTC5GNC5PXC9hbVx4M2RCSUFBQndcL2RceDNkMFwvcnNceDNkQU44U1BmcEMwNHZycnpRWGdzX1RDTTVFdHJ1d2ZQek50UVwvbVx4M2RlbF9tYWluX2Nzcyc7IGMuX3BsbGE9b3BoKydcL3YxXC9zdXBwb3J0ZWRMYW5ndWFnZXMnOyBjLl9wdWg9J3RyYW5zbGF0ZS5nb29nbGUuY29tJztjLl9jbmFsPXt9O19sb2FkQ3NzKGMuX3BzKTsgX2xvYWRKcygnaHR0cHM6XC9cL3RyYW5zbGF0ZS5nb29nbGVhcGlzLmNvbVwvX1wvdHJhbnNsYXRlX2h0dHBcL19cL2pzXC9rXHgzZHRyYW5zbGF0ZV9odHRwLnRyLm5vLnNjcm5ZNlEyX3l3Lk9cL2FtXHgzZEJJQUFCd1wvZFx4M2QxXC9leG1ceDNkZWxfY29uZlwvZWRceDNkMVwvcnNceDNkQU44U1BmcTFLbFVGcWVpRnZCTXVkZHV6R3RiMzlRV1h1d1wvbVx4M2RlbF9tYWluJyk7X2V4cG9ydFZlcnNpb24oJ1RFXzIwMjYwNzIyJyk7CiAgICAgICAgfSkoKTsKICAgICAgfSkoKTsKICA="}},"time_used":162,"timings":{"blocked":-1,"dns":2,"connect":16,"send":0,"wait":111,"receive":0,"ssl":33},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/plugins/revolution/js/extensions/revolution.extension.layeranimation.min.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.594Z","timestamp":1785123231594,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /plugins/revolution/js/extensions/revolution.extension.layeranimation.min.js HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Wed, 22 Apr 2026 17:27:52 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 13832\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":56000,"size_decoded":14156,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (55747), with CRLF line terminators","md5":"c8447797a143c1450fc568df80d84644","sha1":"5a53d554a8bb9ed2806ca5c334908b23c9ad4bb0","sha256":"6867ff7eec8e29d555e5bfcadc9e19f04d1e3a34de99255647f9ca573536b7ef","sha512":"ce076a2702f1c93dff9a90dfc01bca938763e0b3fd331988a865553f5a90f865d8441a05e54110eaac359b8278ed11abad48a3b43a96c3717f911fd746825764","ssdeep":"384:/xzdbsv52ydfPEnYpF5BzJCP0bRjB6Y3tsq4dtS1YD2JQu/BDY8+wEGNc8zOluDk:jwpFDO+tsq4dtLsQEBDYHPGNm6GV+UfH","tlshash":"3543eac6ea102ce551ab8145d1bf44593220ffb8b10285f1fd56a49a1a4cf8621ebf7f","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-07-27T05:37:05.276061Z","times_seen":1548,"resource_available":true,"data":"LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICogUkVWT0xVVElPTiA1LjQuMiBFWFRFTlNJT04gLSBMQVlFUiBBTklNQVRJT04NCiAqIEB2ZXJzaW9uOiAzLjYuMyAoMTcuMDUuMjAxNykNCiAqIEByZXF1aXJlcyBqcXVlcnkudGhlbWVwdW5jaC5yZXZvbHV0aW9uLmpzDQogKiBAYXV0aG9yIFRoZW1lUHVuY2gNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiFmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gdyhhLGIsYyxkLGUsZixnKXt2YXIgaD1hLmZpbmQoYik7aC5jc3MoImJvcmRlcldpZHRoIixmKyJweCIpLGguY3NzKGMsMC1mKyJweCIpLGguY3NzKGQsIjBweCBzb2xpZCB0cmFuc3BhcmVudCIpLGguY3NzKGUsZyl9dmFyIGI9alF1ZXJ5LmZuLnJldm9sdXRpb24sZT0oYi5pc19tb2JpbGUoKSxiLmlzX2FuZHJvaWQoKSx7YWxpYXM6IkxheWVyQW5pbWF0aW9uIE1pbiBKUyIsbmFtZToicmV2b2x1dGlvbi5leHRlbnNpb25zLmxheWVyYW5pbWF0aW9uLm1pbi5qcyIsbWluX2NvcmU6IjUuNC41Iix2ZXJzaW9uOiIzLjYuMyJ9KTtqUXVlcnkuZXh0ZW5kKCEwLGIse3VwZGF0ZU1hcmt1cDpmdW5jdGlvbihhLGIpe3ZhciBjPWpRdWVyeShhKS5kYXRhKCk7aWYodm9pZCAwIT09Yy5zdGFydCYmIWMuZnJhbWVzX2FkZGVkJiZ2b2lkIDA9PT1jLmZyYW1lcyl7dmFyIGQ9bmV3IEFycmF5LGU9dChtKCksYy50cmFuc2Zvcm1faW4sdm9pZCAwLCExKSxmPXQobSgpLGMudHJhbnNmb3JtX291dCx2b2lkIDAsITEpLGc9dChtKCksYy50cmFuc2Zvcm1faG92ZXIsdm9pZCAwLCExKTtqUXVlcnkuaXNOdW1lcmljKGMuZW5kKSYmalF1ZXJ5LmlzTnVtZXJpYyhjLnN0YXJ0KSYmalF1ZXJ5LmlzTnVtZXJpYyhlLnNwZWVkKSYmKGMuZW5kPXBhcnNlSW50KGMuZW5kLDApLShwYXJzZUludChjLnN0YXJ0LDApK3BhcnNlRmxvYXQoZS5zcGVlZCwwKSkpLGQucHVzaCh7ZnJhbWU6IjAiLGRlbGF5OmMuc3RhcnQsZnJvbTpjLnRyYW5zZm9ybV9pbix0bzpjLnRyYW5zZm9ybV9pZGxlLHNwbGl0OmMuc3BsaXRpbixzcGVlZDplLnNwZWVkLGVhc2U6ZS5hbmltLmVhc2UsbWFzazpjLm1hc2tfaW4sc3BsaXRkZWxheTpjLmVsZW1lbnRkZWxheX0pLGQucHVzaCh7ZnJhbWU6IjUiLGRlbGF5OmMuZW5kLHRvOmMudHJhbnNmb3JtX291dCxzcGxpdDpjLnNwbGl0b3V0LHNwZWVkOmYuc3BlZWQsZWFzZTpmLmFuaW0uZWFzZSxtYXNrOmMubWFza19vdXQsc3BsaXRkZWxheTpjLmVsZW1lbnRkZWxheX0pLGMudHJhbnNmb3JtX2hvdmVyJiZkLnB1c2goe2ZyYW1lOiJob3ZlciIsdG86Yy50cmFuc2Zvcm1faG92ZXIsc3R5bGU6Yy5zdHlsZV9ob3ZlcixzcGVlZDpnLnNwZWVkLGVhc2U6Zy5hbmltLmVhc2Usc3BsaXRkZWxheTpjLmVsZW1lbnRkZWxheX0pLGMuZnJhbWVzPWR9aWYoIWMuZnJhbWVzX2FkZGVkKXtpZihjLmluZnJhbWVpbmRleD0wLGMub3V0ZnJhbWVpbmRleD0tMSxjLmhvdmVyZnJhbWVpbmRleD0tMSx2b2lkIDAhPT1jLmZyYW1lcylmb3IodmFyIGg9MDtoPGMuZnJhbWVzLmxlbmd0aDtoKyspdm9pZCAwIT09Yy5mcmFtZXNbaF0uc2Z4X2VmZmVjdCYmYy5mcmFtZXNbaF0uc2Z4X2VmZmVjdC5pbmRleE9mKCJibG9jayIpPj0wJiYoMD09PWg/KGMuZnJhbWVzW2hdLmZyb209Im86MCIsYy5mcmFtZXNbaF0udG89Im86MSIpOmMuZnJhbWVzW2hdLnRvPSJvOjAiLGMuX3NmeD0iYmxvY2siKSx2b2lkIDA9PT1jLmZyYW1lc1swXS5mcm9tJiYoYy5mcmFtZXNbMF0uZnJvbT0ibzppbmhlcml0IiksMD09PWMuZnJhbWVzWzBdLmRlbGF5JiYoYy5mcmFtZXNbMF0uZGVsYXk9MjApLCJob3ZlciI9PT1jLmZyYW1lc1toXS5mcmFtZT9jLmhvdmVyZnJhbWVpbmRleD1oOiJmcmFtZV85OTkiIT09Yy5mcmFtZXNbaF0uZnJhbWUmJiJmcmFtZV9vdXQiIT09Yy5mcmFtZXNbaF0uZnJhbWUmJiJsYXN0IiE9PWMuZnJhbWVzW2hdLmZyYW1lJiYiZW5kIiE9PWMuZnJhbWVzW2hdLmZyYW1lfHwoYy5vdXRmcmFtZWluZGV4PWgpLHZvaWQgMCE9PWMuZnJhbWVzW2hdLnNwbGl0JiZjLmZyYW1lc1toXS5zcGxpdC5tYXRjaCgvY2hhcnN8d29yZHN8bGluZXMvZykmJihjLnNwbGl0dGV4dD0hMCk7Yy5vdXRmcmFtZWluZGV4PS0xPT09Yy5vdXRmcmFtZWluZGV4Py0xPT09Yy5ob3ZlcmZyYW1laW5kZXg/Yy5mcmFtZXMubGVuZ3RoLTE6Yy5mcmFtZXMubGVuZ3RoLTI6Yy5vdXRmcmFtZWluZGV4LGMuZnJhbWVzX2FkZGVkPSEwfX0sYW5pbWNvbXBsZXRlZDpmdW5jdGlvbihhLGMpe3ZhciBkPWEuZGF0YSgpLGU9ZC52aWRlb3R5cGUsZj1kLmF1dG9wbGF5LGc9ZC5hdXRvcGxheW9ubHlmaXJzdHRpbWU7dm9pZCAwIT1lJiYibm9uZSIhPWUmJigxPT1mfHwidHJ1ZSI9PWZ8fCJvbiI9PWZ8fCIxc3R0aW1lIj09Znx8Zz8oKCJjYXJvdXNlbCIhPT1jLnNsaWRlclR5cGV8fCJjYXJvdXNlbCI9PT1jLnNsaWRlclR5cGUmJiJvbiI9PT1jLmNhcm91c2VsLnNob3dMYXllcnNBbGxUaW1lJiZhLmNsb3Nlc3QoImxpIikuaGFzQ2xhc3MoImFjdGl2ZS1yZXZzbGlkZSIpfHwiY2Fyb3VzZWwiPT09Yy5zbGlkZXJUeXBlJiYib24iIT09Yy5jYXJvdXNlbC5zaG93TGF5ZXJzQWxsVGltZSYmYS5jbG9zZXN0KCJsaSIpLmhhc0NsYXNzKCJhY3RpdmUtcmV2c2xpZGUiKSkmJmIucGxheVZpZGVvKGEsYyksYi50b2dnbGVTdGF0ZShhLmRhdGEoInZpZGVvdG9nZ2xlZGJ5IikpLChnfHwiMXN0dGltZSI9PWYpJiYoZC5hdXRvcGxheW9ubHlmaXJzdHRpbWU9ITEsZC5hdXRvcGxheT0ib2ZmIikpOigibm8xc3R0aW1lIj09ZiYmKGQuZGF0YXNldGF1dG9wbGF5PSJvbiIpLGIudW5Ub2dnbGVTdGF0ZShhLmRhdGEoInZpZGVvdG9nZ2xlZGJ5IikpKSl9LGhhbmRsZVN0YXRpY0xheWVyczpmdW5jdGlvbihhLGIpe3ZhciBjPXBhcnNlSW50KGEuZGF0YSgic3RhcnRzbGlkZSIpLDApLGQ9cGFyc2VJbnQoYS5kYXRhKCJlbmRzbGlkZSIpLDApO2M8MCYmKGM9MCksZDwwJiYoZD1iLnJlYWxzbGlkZWFtb3VudCksMD09PWMmJmQ9PT1iLnJlYWxzbGlkZWFtb3VudC0xJiYoZD1iLnJlYWxzbGlkZWFtb3VudCsxKSxhLmRhdGEoInN0YXJ0c2xpZGUiLGMpLGEuZGF0YSgiZW5kc2xpZGUiLGQpfSxhbmltYXRlVGhlQ2FwdGlvbnM6ZnVuY3Rpb24oYSl7aWYoInN0b3AiPT09Yi5jb21wYXJlX3ZlcnNpb24oZSkuY2hlY2spcmV0dXJuITE7dmFyIGM9YS5vcHQsZD1hLnNsaWRlLGY9YS5yZWNhbGwsZz1hLm1haW50aW1lbGluZSxoPWEucHJlc2V0LGk9YS5zdGFydHNsaWRlYW5pbWF0LGo9ImNhcm91c2VsIj09PWMuc2xpZGVyVHlwZT8wOmMud2lkdGgvMi1jLmdyaWR3aWR0aFtjLmN1cldpblJhbmdlXSpjLmJ3LzIsaz0wLGw9ZC5kYXRhKCJpbmRleCIpO2lmKGMubGF5ZXJzPWMubGF5ZXJzfHxuZXcgT2JqZWN0LGMubGF5ZXJzW2xdPWMubGF5ZXJzW2xdfHxkLmZpbmQoIi50cC1jYXB0aW9uIiksYy5sYXllcnMuc3RhdGljPWMubGF5ZXJzLnN0YXRpY3x8Yy5jLmZpbmQoIi50cC1zdGF0aWMtbGF5ZXJzIikuZmluZCgiLnRwLWNhcHRpb24iKSx2b2lkIDA9PT1jLnRpbWVsaW5lcyYmYi5jcmVhdGVUaW1lbGluZVN0cnVjdHVyZShjKSxjLmNvbmg9Yy5jLmhlaWdodCgpLGMuY29udz1jLmMud2lkdGgoKSxjLnVsdz1jLnVsLndpZHRoKCksYy51bGg9Yy51bC5oZWlnaHQoKSxjLmRlYnVnTW9kZSl7ZC5hZGRDbGFzcygiaW5kZWJ1Z21vZGUiKSxkLmZpbmQoIi5oZWxwZ3JpZCIpLnJlbW92ZSgpLGMuYy5maW5kKCIuaGdsYXllcmluZm8iKS5yZW1vdmUoKSxkLmFwcGVuZCgnPGRpdiBjbGFzcz0iaGVscGdyaWQiIHN0eWxlPSJ3aWR0aDonK2MuZ3JpZHdpZHRoW2MuY3VyV2luUmFuZ2VdKmMuYncrInB4O2hlaWdodDoiK2MuZ3JpZGhlaWdodFtjLmN1cldpblJhbmdlXSpjLmJ3KydweDsiPjwvZGl2PicpO3ZhciBtPWQuZmluZCgiLmhlbHBncmlkIik7bS5hcHBlbmQoJzxkaXYgY2xhc3M9ImhnaW5mbyI+Wm9vbTonK01hdGgucm91bmQoMTAwKmMuYncpKyIlICZuYnNwOyZuYnNwOyZuYnNwOyBEZXZpY2UgTGV2ZWw6IitjLmN1cldpblJhbmdlKyImbmJzcDsmbmJzcDsmbmJzcDsgR3JpZCBQcmVzZXQ6IitjLmdyaWR3aWR0aFtjLmN1cldpblJhbmdlXSsieCIrYy5ncmlkaGVpZ2h0W2MuY3VyV2luUmFuZ2VdKyI8L2Rpdj4iKSxjLmMuYXBwZW5kKCc8ZGl2IGNsYXNzPSJoZ2xheWVyaW5mbyI+PC9kaXY+JyksbS5hcHBlbmQoJzxkaXYgY2xhc3M9InRsaGciPjwvZGl2PicpfXZvaWQgMCE9PWwmJmMubGF5ZXJzW2xdJiZqUXVlcnkuZWFjaChjLmxheWVyc1tsXSxmdW5jdGlvbihhLGQpe3ZhciBlPWpRdWVyeSh0aGlzKTtiLnVwZGF0ZU1hcmt1cCh0aGlzLGMpLGIucHJlcGFyZVNpbmdsZUNhcHRpb24oe2NhcHRpb246ZSxvcHQ6YyxvZmZzZXR4Omosb2Zmc2V0eTprLGluZGV4OmEscmVjYWxsOmYscHJlc2V0Omh9KSxoJiYwIT09aXx8Yi5idWlsZEZ1bGxUaW1lTGluZSh7Y2FwdGlvbjplLG9wdDpjLG9mZnNldHg6aixvZmZzZXR5OmssaW5kZXg6YSxyZWNhbGw6ZixwcmVzZXQ6aCxyZWdlbmVyYXRlOjA9PT1pfSksZiYmImNhcm91c2VsIj09PWMuc2xpZGVyVHlwZSYmIm9uIj09PWMuY2Fyb3VzZWwuc2hvd0xheWVyc0FsbFRpbWUmJmIuYW5pbWNvbXBsZXRlZChlLGMpfSksYy5sYXllcnMuc3RhdGljJiZqUXVlcnkuZWFjaChjLmxheWVycy5zdGF0aWMsZnVuY3Rpb24oYSxkKXt2YXIgZT1qUXVlcnkodGhpcyksZz1lLmRhdGEoKTshMCE9PWcuaG92ZXJlZHN0YXR1cyYmITAhPT1nLmluaG92ZXJvdXRhbmltYXRpb24/KGIudXBkYXRlTWFya3VwKHRoaXMsYyksYi5wcmVwYXJlU2luZ2xlQ2FwdGlvbih7Y2FwdGlvbjplLG9wdDpjLG9mZnNldHg6aixvZmZzZXR5OmssaW5kZXg6YSxyZWNhbGw6ZixwcmVzZXQ6aH0pLGgmJjAhPT1pfHwhMD09PWcudmVyeWZpcnN0c3RzdGljfHwoYi5idWlsZEZ1bGxUaW1lTGluZSh7Y2FwdGlvbjplLG9wdDpjLG9mZnNldHg6aixvZmZzZXR5OmssaW5kZXg6YSxyZWNhbGw6ZixwcmVzZXQ6aCxyZWdlbmVyYXRlOjA9PT1pfSksZy52ZXJ5Zmlyc3RzdHN0aWM9ITApLGYmJiJjYXJvdXNlbCI9PT1jLnNsaWRlclR5cGUmJiJvbiI9PT1jLmNhcm91c2VsLnNob3dMYXllcnNBbGxUaW1lJiZiLmFuaW1jb21wbGV0ZWQoZSxjKSk6Yi5wcmVwYXJlU2luZ2xlQ2FwdGlvbih7Y2FwdGlvbjplLG9wdDpjLG9mZnNldHg6aixvZmZzZXR5OmssaW5kZXg6YSxyZWNhbGw6ZixwcmVzZXQ6aH0pfSk7dmFyIG49LTE9PT1jLm5leHRTbGlkZXx8dm9pZCAwPT09Yy5uZXh0U2xpZGU/MDpjLm5leHRTbGlkZTt2b2lkIDAhPT1jLnJvd3pvbmVzJiYobj1uPmMucm93em9uZXMubGVuZ3RoP2Mucm93em9uZXMubGVuZ3RoOm4pLHZvaWQgMCE9Yy5yb3d6b25lcyYmYy5yb3d6b25lcy5sZW5ndGg+MCYmdm9pZCAwIT1jLnJvd3pvbmVzW25dJiZuPj0wJiZuPD1jLnJvd3pvbmVzLmxlbmd0aCYmYy5yb3d6b25lc1tuXS5sZW5ndGg+MCYmYi5zZXRTaXplKGMpLGh8fHZvaWQgMCE9PWkmJih2b2lkIDAhPT1sJiZqUXVlcnkuZWFjaChjLnRpbWVsaW5lc1tsXS5sYXllcnMsZnVuY3Rpb24oYSxkKXt2YXIgZT1kLmxheWVyLmRhdGEoKTsibm9uZSIhPT1kLndyYXBwZXImJnZvaWQgMCE9PWQud3JhcHBlcnx8KCJrZWVwIj09ZC50cmlnZ2Vyc3RhdGUmJiJvbiI9PT1lLnRyaWdnZXJzdGF0ZT9iLnBsYXlBbmltYXRpb25GcmFtZSh7Y2FwdGlvbjpkLmxheWVyLG9wdDpjLGZyYW1lOiJmcmFtZV8wIix0cmlnZ2VyZGlyZWN0aW9uOiJpbiIsdHJpZ2dlcmZyYW1laW46ImZyYW1lXzAiLHRyaWdnZXJmcmFtZW91dDoiZnJhbWVfOTk5In0pOmQudGltZWxpbmUucmVzdGFydCgpKX0pLGMudGltZWxpbmVzLnN0YXRpY2xheWVycyYmalF1ZXJ5LmVhY2goYy50aW1lbGluZXMuc3RhdGljbGF5ZXJzLmxheWVycyxmdW5jdGlvbihhLGQpe3ZhciBlPWQubGF5ZXIuZGF0YSgpLGY9bj49ZC5maXJzdHNsaWRlJiZuPD1kLmxhc3RzbGlkZSxnPW48ZC5maXJzdHNsaWRlfHxuPmQubGFzdHNsaWRlLGg9ZC50aW1lbGluZS5nZXRMYWJlbFRpbWUoInNsaWRlXyIrZC5maXJzdHNsaWRlKSxpPWQudGltZWxpbmUuZ2V0TGFiZWxUaW1lKCJzbGlkZV8iK2QubGFzdHNsaWRlKSxqPWUuc3RhdGljX2xheWVyX3RpbWVsaW5lX3RpbWUsaz0iaW4iPT09ZS5hbmltZGlyZWN0aW9ufHwib3V0IiE9PWUuYW5pbWRpcmVjdGlvbiYmdm9pZCAwLGw9ImJ5dHJpZ2dlciI9PT1lLmZyYW1lc1swXS5kZWxheSxvPShlLmZyYW1lc1tlLmZyYW1lcy5sZW5ndGgtMV0uZGVsYXksZS50cmlnZ2VyZWRfc3RhcnRzdGF0dXMpLHA9ZS5sYXN0dHJpZ2dlcnN0YXRlOyEwIT09ZS5ob3ZlcmVkc3RhdHVzJiYxIT1lLmluaG92ZXJvdXRhbmltYXRpb24mJih2b2lkIDAhPT1qJiZrJiYoImtlZXAiPT1wPyhiLnBsYXlBbmltYXRpb25GcmFtZSh7Y2FwdGlvbjpkLmxheWVyLG9wdDpjLGZyYW1lOiJmcmFtZV8wIix0cmlnZ2VyZGlyZWN0aW9uOiJpbiIsdHJpZ2dlcmZyYW1laW46ImZyYW1lXzAiLHRyaWdnZXJmcmFtZW91dDoiZnJhbWVfOTk5In0pLGUudHJpZ2dlcmVkdGltZWxpbmUudGltZShqKSk6ITAhPT1lLmhvdmVyZWRzdGF0dXMmJmQudGltZWxpbmUudGltZShqKSksInJlc2V0Ij09PXAmJiJoaWRkZW4iPT09byYmKGQudGltZWxpbmUudGltZSgwKSxlLmFuaW1kaXJlY3Rpb249Im91dCIpLGY/az9uPT09ZC5sYXN0c2xpZGUmJihkLnRpbWVsaW5lLnBsYXkoaSksZS5hbmltZGlyZWN0aW9uPSJpbiIpOihsfHwiaW4iPT09ZS5hbmltZGlyZWN0aW9ufHxkLnRpbWVsaW5lLnBsYXkoaCksKCJ2aXNpYmxlIj09byYmImtlZXAiIT09cHx8ImtlZXAiPT09cCYmITA9PT1rfHwidmlzaWJsZSI9PW8mJnZvaWQgMD09PWspJiYoZC50aW1lbGluZS5wbGF5KGgrLjAxKSxlLmFuaW1kaXJlY3Rpb249ImluIikpOmcmJmsmJmQudGltZWxpbmUucGxheSgiZnJhbWVfOTk5IikpfSkpLHZvaWQgMCE9ZyYmc2V0VGltZW91dChmdW5jdGlvbigpe2cucmVzdW1lKCl9LDMwKX0scHJlcGFyZVNpbmdsZUNhcHRpb246ZnVuY3Rpb24oYSl7dmFyIGM9YS5jYXB0aW9uLGQ9Yy5kYXRhKCksZT1hLm9wdCxmPWEucmVjYWxsLGc9YS5yZWNhbGwsaT0oYS5wcmVzZXQsalF1ZXJ5KCJib2R5IikuaGFzQ2xhc3MoInJ0bCIpKTtpZihkLl9wdz12b2lkIDA9PT1kLl9wdz9jLmNsb3Nlc3QoIi50cC1wYXJhbGxheC13cmFwIik6ZC5fcHcsZC5fbHc9dm9pZCAwPT09ZC5fbHc/Yy5jbG9zZXN0KCIudHAtbG9vcC13cmFwIik6ZC5fbHcsZC5fbXc9dm9pZCAwPT09ZC5fbXc/Yy5jbG9zZXN0KCIudHAtbWFzay13cmFwIik6ZC5fbXcsZC5fcmVzcG9uc2l2ZT1kLnJlc3BvbnNpdmV8fCJvbiIsZC5fcmVzcG9mZnNldD1kLnJlc3BvbnNpdmVfb2Zmc2V0fHwib24iLGQuX2JhPWQuYmFzZWFsaWdufHwiZ3JpZCIsZC5fZ3c9ImdyaWQiPT09ZC5fYmE/ZS53aWR0aDplLnVsdyxkLl9naD0iZ3JpZCI9PT1kLl9iYT9lLmhlaWdodDplLnVsaCxkLl9saWc9dm9pZCAwPT09ZC5fbGlnP2MuaGFzQ2xhc3MoInJldl9sYXllcl9pbl9ncm91cCIpP2MuY2xvc2VzdCgiLnJldl9ncm91cCIpOmMuaGFzQ2xhc3MoInJldl9sYXllcl9pbl9jb2x1bW4iKT9jLmNsb3Nlc3QoIi5yZXZfY29sdW1uX2lubmVyIik6Yy5oYXNDbGFzcygicmV2X2NvbHVtbl9pbm5lciIpP2MuY2xvc2VzdCgiLnJldl9yb3ciKToibm9uZSI6ZC5fbGlnLGQuX2NvbHVtbj12b2lkIDA9PT1kLl9jb2x1bW4/Yy5oYXNDbGFzcygicmV2X2NvbHVtbl9pbm5lciIpP2MuY2xvc2VzdCgiLnJldl9jb2x1bW4iKToibm9uZSI6ZC5fY29sdW1uLGQuX3Jvdz12b2lkIDA9PT1kLl9yb3c/Yy5oYXNDbGFzcygicmV2X2NvbHVtbl9pbm5lciIpP2MuY2xvc2VzdCgiLnJldl9yb3ciKToibm9uZSI6ZC5fcm93LGQuX2luZ3JvdXA9dm9pZCAwPT09ZC5faW5ncm91cD8hKGMuaGFzQ2xhc3MoInJldl9ncm91cCIpfHwhYy5jbG9zZXN0KCIucmV2X2dyb3VwIikpOmQuX2luZ3JvdXAsZC5faXNncm91cD12b2lkIDA9PT1kLl9pc2dyb3VwPyEhYy5oYXNDbGFzcygicmV2X2dyb3VwIik6ZC5faXNncm91cCxkLl9uY3R5cGU9ZC50eXBlfHwibm9uZSIsZC5fY2JnY19hdXRvPXZvaWQgMD09PWQuX2NiZ2NfYXV0bz8iY29sdW1uIj09PWQuX25jdHlwZSYmZC5fcHcuZmluZCgiLnJldl9jb2x1bW5fYmdfYXV0b19zaXplZCIpOmQuX2NiZ2NfYXV0byxkLl9jYmdjX21hbj12b2lkIDA9PT1kLl9jYmdjX21hbj8iY29sdW1uIj09PWQuX25jdHlwZSYmZC5fcHcuZmluZCgiLnJldl9jb2x1bW5fYmdfbWFuX3NpemVkIik6ZC5fY2JnY19tYW4sZC5fc2xpZGVpZD1kLl9zbGlkZWlkfHxjLmNsb3Nlc3QoIi50cC1yZXZzbGlkZXItc2xpZGVzbGkiKS5kYXRhKCJpbmRleCIpLGQuX2lkPXZvaWQgMD09PWQuX2lkP2MuZGF0YSgiaWQiKXx8Yy5hdHRyKCJpZCIpOmQuX2lkLGQuX3NsaWRlbGluaz12b2lkIDA9PT1kLl9zbGlkZWxpbms/dm9pZCAwIT09Yy5oYXNDbGFzcygic2xpZGVsaW5rIikmJmMuaGFzQ2xhc3MoInNsaWRlbGluayIpOmQuX3NsaWRlbGluayx2b2lkIDA9PT1kLl9saSYmKGMuaGFzQ2xhc3MoInRwLXN0YXRpYy1sYXllciIpPyhkLl9pc3N0YXRpYz0hMCxkLl9saT1jLmNsb3Nlc3QoIi50cC1zdGF0aWMtbGF5ZXJzIiksZC5fc2xpZGVpZD0ic3RhdGljbGF5ZXJzIik6ZC5fbGk9Yy5jbG9zZXN0KCIudHAtcmV2c2xpZGVyLXNsaWRlc2xpIikpLGQuX3Jvdz12b2lkIDA9PT1kLl9yb3c/ImNvbHVtbiI9PT1kLl9uY3R5cGUmJmQuX3B3LmNsb3Nlc3QoIi5yZXZfcm93Iik6ZC5fcm93LHZvaWQgMD09PWQuX3RvZ2dsZWxpc3RlbmVycyYmYy5maW5kKCIucnMtdG9nZ2xlZC1jb250ZW50Iik/KGQuX3RvZ2dsZWxpc3RlbmVycz0hMCx2b2lkIDA9PT1kLmFjdGlvbnMmJmMuY2xpY2soZnVuY3Rpb24oKXtiLnN3YXB0b2dnbGVTdGF0ZShjKX0pKTpkLl90b2dnbGVsaXN0ZW5lcnM9ITEsImZ1bGxzY3JlZW4iPT1lLnNsaWRlckxheW91dCYmKGEub2Zmc2V0eT1kLl9naC8yLWUuZ3JpZGhlaWdodFtlLmN1cldpblJhbmdlXSplLmJoLzIpLCgib24iPT1lLmF1dG9IZWlnaHR8fHZvaWQgMCE9ZS5taW5IZWlnaHQmJmUubWluSGVpZ2h0PjApJiYoYS5vZmZzZXR5PWUuY29uaC8yLWUuZ3JpZGhlaWdodFtlLmN1cldpblJhbmdlXSplLmJoLzIpLGEub2Zmc2V0eTwwJiYoYS5vZmZzZXR5PTApLGUuZGVidWdNb2RlKXtjLmNsb3Nlc3QoImxpIikuZmluZCgiLmhlbHBncmlkIikuY3NzKHt0b3A6YS5vZmZzZXR5KyJweCIsbGVmdDphLm9mZnNldHgrInB4In0pO3ZhciBrPWUuYy5maW5kKCIuaGdsYXllcmluZm8iKTtjLm9uKCJob3ZlciwgbW91c2VlbnRlciIsZnVuY3Rpb24oKXt2YXIgYT0iIjtjLmRhdGEoKSYmalF1ZXJ5LmVhY2goYy5kYXRhKCksZnVuY3Rpb24oYixjKXsib2JqZWN0IiE9dHlwZW9mIGMmJihhPWErJzxzcGFuIHN0eWxlPSJ3aGl0ZS1zcGFjZTpub3dyYXAiPjxzcGFuIHN0eWxlPSJjb2xvcjojMjdhZTYwIj4nK2IrIjo8L3NwYW4+IitjKyI8L3NwYW4+Jm5ic3A7ICZuYnNwOyAiKX0pLGsuaHRtbChhKX0pfWlmKCJvZmYiPT09KHZvaWQgMD09PWQudmlzaWJpbGl0eT8ib29uIjp2KGQudmlzaWJpbGl0eSxlKVtlLmZvcmNlZFdpblJhbmdlXXx8dihkLnZpc2liaWxpdHksZSl8fCJvb29uIil8fGQuX2d3PGUuaGlkZUNhcHRpb25BdExpbWl0JiYib24iPT1kLmNhcHRpb25oaWRkZW58fGQuX2d3PGUuaGlkZUFsbENhcHRpb25BdExpbWl0P2QuX3B3LmFkZENsYXNzKCJ0cC1oaWRkZW4tY2FwdGlvbiIpOmQuX3B3LnJlbW92ZUNsYXNzKCJ0cC1oaWRkZW4tY2FwdGlvbiIpLGQubGF5ZXJ0eXBlPSJodG1sIixhLm9mZnNldHg8MCYmKGEub2Zmc2V0eD0wKSx2b2lkIDAhPWQudGh1bWJpbWFnZSYmdm9pZCAwPT1kLnZpZGVvcG9zdGVyJiYoZC52aWRlb3Bvc3Rlcj1kLnRodW1iaW1hZ2UpLGMuZmluZCgiaW1nIikubGVuZ3RoPjApe3ZhciBuPWMuZmluZCgiaW1nIik7ZC5sYXllcnR5cGU9ImltYWdlIiwwPT1uLndpZHRoKCkmJm4uY3NzKHt3aWR0aDoiYXV0byJ9KSwwPT1uLmhlaWdodCgpJiZuLmNzcyh7aGVpZ2h0OiJhdXRvIn0pLHZvaWQgMD09bi5kYXRhKCJ3dyIpJiZuLndpZHRoKCk+MCYmbi5kYXRhKCJ3dyIsbi53aWR0aCgpKSx2b2lkIDA9PW4uZGF0YSgiaGgiKSYmbi5oZWlnaHQoKT4wJiZuLmRhdGEoImhoIixuLmhlaWdodCgpKTt2YXIgbz1uLmRhdGEoInd3IikscD1uLmRhdGEoImhoIikscT0ic2xpZGUiPT1kLl9iYT9lLnVsdzplLmdyaWR3aWR0aFtlLmN1cldpblJhbmdlXSxyPSJzbGlkZSI9PWQuX2JhP2UudWxoOmUuZ3JpZGhlaWdodFtlLmN1cldpblJhbmdlXTtvPXYobi5kYXRhKCJ3dyIpLGUpW2UuY3VyV2luUmFuZ2VdfHx2KG4uZGF0YSgid3ciKSxlKXx8ImF1dG8iLHA9dihuLmRhdGEoImhoIiksZSlbZS5jdXJXaW5SYW5nZV18fHYobi5kYXRhKCJoaCIpLGUpfHwiYXV0byI7dmFyIHM9ImZ1bGwiPT09b3x8ImZ1bGwtcHJvcG9ydGlvbmFsIj09PW8sdD0iZnVsbCI9PT1wfHwiZnVsbC1wcm9wb3J0aW9uYWwiPT09cDtpZigiZnVsbC1wcm9wb3J0aW9uYWwiPT09byl7dmFyIHU9bi5kYXRhKCJvd2lkdGgiKSx4PW4uZGF0YSgib2hlaWdodCIpO3UvcTx4L3I/KG89cSxwPXgqKHEvdSkpOihwPXIsbz11KihyL3gpKX1lbHNlIG89cz9xOiFqUXVlcnkuaXNOdW1lcmljKG8pJiZvLmluZGV4T2YoIiUiKT4wP286cGFyc2VGbG9hdChvKSxwPXQ/cjohalF1ZXJ5LmlzTnVtZXJpYyhwKSYmcC5pbmRleE9mKCIlIik+MD9wOnBhcnNlRmxvYXQocCk7bz12b2lkIDA9PT1vPzA6byxwPXZvaWQgMD09PXA/MDpwLCJvZmYiIT09ZC5fcmVzcG9uc2l2ZT8oImdyaWQiIT1kLl9iYSYmcz9qUXVlcnkuaXNOdW1lcmljKG8pP24uY3NzKHt3aWR0aDpvKyJweCJ9KTpuLmNzcyh7d2lkdGg6b30pOmpRdWVyeS5pc051bWVyaWMobyk/bi5jc3Moe3dpZHRoOm8qZS5idysicHgifSk6bi5jc3Moe3dpZHRoOm99KSwiZ3JpZCIhPWQuX2JhJiZ0P2pRdWVyeS5pc051bWVyaWMocCk/bi5jc3Moe2hlaWdodDpwKyJweCJ9KTpuLmNzcyh7aGVpZ2h0OnB9KTpqUXVlcnkuaXNOdW1lcmljKHApP24uY3NzKHtoZWlnaHQ6cCplLmJoKyJweCJ9KTpuLmNzcyh7aGVpZ2h0OnB9KSk6bi5jc3Moe3dpZHRoOm8saGVpZ2h0OnB9KSxkLl9pbmdyb3VwJiYicm93IiE9PWQuX25jdHlwZSYmKHZvaWQgMCE9PW8mJiFqUXVlcnkuaXNOdW1lcmljKG8pJiYic3RyaW5nIj09PWpRdWVyeS50eXBlKG8pJiZvLmluZGV4T2YoIiUiKT4wJiZwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoW2QuX2x3LGQuX3B3LGQuX213XSx7bWluV2lkdGg6b30pLHZvaWQgMCE9PXAmJiFqUXVlcnkuaXNOdW1lcmljKHApJiYic3RyaW5nIj09PWpRdWVyeS50eXBlKHApJiZwLmluZGV4T2YoIiUiKT4wJiZwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoW2QuX2x3LGQuX3B3LGQuX213XSx7bWluSGVpZ2h0OnB9KSl9aWYoInNsaWRlIj09PWQuX2JhKWEub2Zmc2V0eD0wLGEub2Zmc2V0eT0wO2Vsc2UgaWYoZC5faXNzdGF0aWMmJnZvaWQgMCE9PWUuY2Fyb3VzZWwmJnZvaWQgMCE9PWUuY2Fyb3VzZWwuaG9yaXpvbnRhbF9hbGlnbiYmImNhcm91c2VsIj09PWUuc2xpZGVyVHlwZSl7c3dpdGNoKGUuY2Fyb3VzZWwuaG9yaXpvbnRhbF9hbGlnbil7Y2FzZSJjZW50ZXIiOmEub2Zmc2V0eD0wKyhlLnVsdy1lLmdyaWR3aWR0aFtlLmN1cldpblJhbmdlXSplLmJ3KS8yO2JyZWFrO2Nhc2UibGVmdCI6YnJlYWs7Y2FzZSJyaWdodCI6YS5vZmZzZXR4PWUudWx3LWUuZ3JpZHdpZHRoW2UuY3VyV2luUmFuZ2VdKmUuYnd9YS5vZmZzZXR4PWEub2Zmc2V0eDwwPzA6YS5vZmZzZXR4fXZhciBBPSJodG1sNSI9PWQuYXVkaW8/ImF1ZGlvIjoidmlkZW8iO2lmKGMuaGFzQ2xhc3MoInRwLXZpZGVvbGF5ZXIiKXx8Yy5oYXNDbGFzcygidHAtYXVkaW9sYXllciIpfHxjLmZpbmQoImlmcmFtZSIpLmxlbmd0aD4wfHxjLmZpbmQoQSkubGVuZ3RoPjApe2lmKGQubGF5ZXJ0eXBlPSJ2aWRlbyIsYi5tYW5hZ2VWaWRlb0xheWVyJiZiLm1hbmFnZVZpZGVvTGF5ZXIoYyxlLGYsZyksIWYmJiFnKXtkLnZpZGVvdHlwZTtiLnJlc2V0VmlkZW8mJmIucmVzZXRWaWRlbyhjLGUsYS5wcmVzZXQpfXZhciBEPWQuYXNwZWN0cmF0aW87dm9pZCAwIT1EJiZELnNwbGl0KCI6IikubGVuZ3RoPjEmJmIucHJlcGFyZUNvdmVyZWRWaWRlbyhELGUsYyk7dmFyIG49Yy5maW5kKCJpZnJhbWUiKT9jLmZpbmQoImlmcmFtZSIpOm49Yy5maW5kKEEpLEU9IWMuZmluZCgiaWZyYW1lIiksRj1jLmhhc0NsYXNzKCJjb3ZlcnNjcmVlbnZpZGVvIik7bi5jc3Moe2Rpc3BsYXk6ImJsb2NrIn0pLHZvaWQgMD09Yy5kYXRhKCJ2aWRlb3dpZHRoIikmJihjLmRhdGEoInZpZGVvd2lkdGgiLG4ud2lkdGgoKSksYy5kYXRhKCJ2aWRlb2hlaWdodCIsbi5oZWlnaHQoKSkpO3ZhciBvPXYoYy5kYXRhKCJ2aWRlb3dpZHRoIiksZSlbZS5jdXJXaW5SYW5nZV18fHYoYy5kYXRhKCJ2aWRlb3dpZHRoIiksZSl8fCJhdXRvIixwPXYoYy5kYXRhKCJ2aWRlb2hlaWdodCIpLGUpW2UuY3VyV2luUmFuZ2VdfHx2KGMuZGF0YSgidmlkZW9oZWlnaHQiKSxlKXx8ImF1dG8iO289ImF1dG8iPT09b3x8IWpRdWVyeS5pc051bWVyaWMobykmJm8uaW5kZXhPZigiJSIpPjA/ImF1dG8iPT09bz8iYXV0byI6ImdyaWQiPT09ZC5fYmE/ZS5ncmlkd2lkdGhbZS5jdXJXaW5SYW5nZV0qZS5idzpkLl9ndzpwYXJzZUZsb2F0KG8pKmUuYncrInB4IixwPSJhdXRvIj09PXB8fCFqUXVlcnkuaXNOdW1lcmljKHApJiZwLmluZGV4T2YoIiUiKT4wPyJhdXRvIj09PXA/ImF1dG8iOiJncmlkIj09PWQuX2JhP2UuZ3JpZGhlaWdodFtlLmN1cldpblJhbmdlXSplLmJ3OmQuX2doOnBhcnNlRmxvYXQocCkqZS5iaCsicHgiLGQuY3Nzb2JqPXZvaWQgMD09PWQuY3Nzb2JqP3koYywwKTpkLmNzc29iajt2YXIgRz16KGQuY3Nzb2JqLGUpO2lmKCJhdXRvIj09Ry5saW5lSGVpZ2h0JiYoRy5saW5lSGVpZ2h0PUcuZm9udFNpemUrNCksYy5oYXNDbGFzcygiZnVsbHNjcmVlbnZpZGVvIil8fEYpe2Eub2Zmc2V0eD0wLGEub2Zmc2V0eT0wLGMuZGF0YSgieCIsMCksYy5kYXRhKCJ5IiwwKTt2YXIgSD1kLl9naDsib24iPT1lLmF1dG9IZWlnaHQmJihIPWUuY29uaCksYy5jc3Moe3dpZHRoOmQuX2d3LGhlaWdodDpIfSl9ZWxzZSBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYyx7cGFkZGluZ1RvcDpNYXRoLnJvdW5kKEcucGFkZGluZ1RvcCplLmJoKSsicHgiLHBhZGRpbmdCb3R0b206TWF0aC5yb3VuZChHLnBhZGRpbmdCb3R0b20qZS5iaCkrInB4IixwYWRkaW5nTGVmdDpNYXRoLnJvdW5kKEcucGFkZGluZ0xlZnQqZS5idykrInB4IixwYWRkaW5nUmlnaHQ6TWF0aC5yb3VuZChHLnBhZGRpbmdSaWdodCplLmJ3KSsicHgiLG1hcmdpblRvcDpHLm1hcmdpblRvcCplLmJoKyJweCIsbWFyZ2luQm90dG9tOkcubWFyZ2luQm90dG9tKmUuYmgrInB4IixtYXJnaW5MZWZ0OkcubWFyZ2luTGVmdCplLmJ3KyJweCIsbWFyZ2luUmlnaHQ6Ry5tYXJnaW5SaWdodCplLmJ3KyJweCIsYm9yZGVyVG9wV2lkdGg6TWF0aC5yb3VuZChHLmJvcmRlclRvcFdpZHRoKmUuYmgpKyJweCIsYm9yZGVyQm90dG9tV2lkdGg6TWF0aC5yb3VuZChHLmJvcmRlckJvdHRvbVdpZHRoKmUuYmgpKyJweCIsYm9yZGVyTGVmdFdpZHRoOk1hdGgucm91bmQoRy5ib3JkZXJMZWZ0V2lkdGgqZS5idykrInB4Iixib3JkZXJSaWdodFdpZHRoOk1hdGgucm91bmQoRy5ib3JkZXJSaWdodFdpZHRoKmUuYncpKyJweCIsd2lkdGg6byxoZWlnaHQ6cH0pOygwPT1FJiYhRnx8MSE9ZC5mb3JjZWNvdmVyJiYhYy5oYXNDbGFzcygiZnVsbHNjcmVlbnZpZGVvIikmJiFGKSYmKG4ud2lkdGgobyksbi5oZWlnaHQocCkpLGQuX2luZ3JvdXAmJm51bGwhPT1kLnZpZGVvd2lkdGgmJnZvaWQgMCE9PWQudmlkZW93aWR0aCYmIWpRdWVyeS5pc051bWVyaWMoZC52aWRlb3dpZHRoKSYmZC52aWRlb3dpZHRoLmluZGV4T2YoIiUiKT4wJiZwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoW2QuX2x3LGQuX3B3LGQuX213XSx7bWluV2lkdGg6ZC52aWRlb3dpZHRofSl9QihjLGUsMCxkLl9yZXNwb25zaXZlKSxjLmhhc0NsYXNzKCJ0cC1yZXNpemVtZSIpJiZjLmZpbmQoIioiKS5lYWNoKGZ1bmN0aW9uKCl7QihqUXVlcnkodGhpcyksZSwicmVrdXJzaXZlIixkLl9yZXNwb25zaXZlKX0pO3ZhciBJPWMub3V0ZXJIZWlnaHQoKSxKPWMuY3NzKCJiYWNrZ3JvdW5kQ29sb3IiKTt3KGMsIi5mcm9udGNvcm5lciIsImxlZnQiLCJib3JkZXJSaWdodCIsImJvcmRlclRvcENvbG9yIixJLEopLHcoYywiLmZyb250Y29ybmVydG9wIiwibGVmdCIsImJvcmRlclJpZ2h0IiwiYm9yZGVyQm90dG9tQ29sb3IiLEksSiksdyhjLCIuYmFja2Nvcm5lciIsInJpZ2h0IiwiYm9yZGVyTGVmdCIsImJvcmRlckJvdHRvbUNvbG9yIixJLEopLHcoYywiLmJhY2tjb3JuZXJ0b3AiLCJyaWdodCIsImJvcmRlckxlZnQiLCJib3JkZXJUb3BDb2xvciIsSSxKKSwib24iPT1lLmZ1bGxTY3JlZW5BbGlnbkZvcmNlJiYoYS5vZmZzZXR4PTAsYS5vZmZzZXR5PTApLCJibG9jayI9PT1kLl9zZngmJnZvaWQgMD09PWQuX2JtYXNrJiYoZC5fYm1hc2s9alF1ZXJ5KCc8ZGl2IGNsYXNzPSJ0cC1ibG9ja21hc2siPjwvZGl2PicpLGQuX213LmFwcGVuZChkLl9ibWFzaykpLGQuYXJyb2JqPW5ldyBPYmplY3QsZC5hcnJvYmoudm9hPXYoZC52b2Zmc2V0LGUpW2UuY3VyV2luUmFuZ2VdfHx2KGQudm9mZnNldCxlKVswXSxkLmFycm9iai5ob2E9dihkLmhvZmZzZXQsZSlbZS5jdXJXaW5SYW5nZV18fHYoZC5ob2Zmc2V0LGUpWzBdLGQuYXJyb2JqLmVseD12KGQueCxlKVtlLmN1cldpblJhbmdlXXx8dihkLngsZSlbMF0sZC5hcnJvYmouZWx5PXYoZC55LGUpW2UuY3VyV2luUmFuZ2VdfHx2KGQueSxlKVswXTt2YXIgSz0wPT1kLmFycm9iai52b2EubGVuZ3RoPzA6ZC5hcnJvYmoudm9hLEw9MD09ZC5hcnJvYmouaG9hLmxlbmd0aD8wOmQuYXJyb2JqLmhvYSxNPTA9PWQuYXJyb2JqLmVseC5sZW5ndGg/MDpkLmFycm9iai5lbHgsTj0wPT1kLmFycm9iai5lbHkubGVuZ3RoPzA6ZC5hcnJvYmouZWx5O2QuZW93PWMub3V0ZXJXaWR0aCghMCksZC5lb2g9Yy5vdXRlckhlaWdodCghMCksMD09ZC5lb3cmJjA9PWQuZW9oJiYoZC5lb3c9ZS51bHcsZC5lb2g9ZS51bGgpO3ZhciBPPSJvZmYiIT09ZC5fcmVzcG9mZnNldD9wYXJzZUludChLLDApKmUuYnc6cGFyc2VJbnQoSywwKSxQPSJvZmYiIT09ZC5fcmVzcG9mZnNldD9wYXJzZUludChMLDApKmUuYnc6cGFyc2VJbnQoTCwwKSxRPSJncmlkIj09PWQuX2JhP2UuZ3JpZHdpZHRoW2UuY3VyV2luUmFuZ2VdKmUuYnc6ZC5fZ3csUj0iZ3JpZCI9PT1kLl9iYT9lLmdyaWRoZWlnaHRbZS5jdXJXaW5SYW5nZV0qZS5idzpkLl9naDsib24iPT1lLmZ1bGxTY3JlZW5BbGlnbkZvcmNlJiYoUT1lLnVsdyxSPWUudWxoKSwibm9uZSIhPT1kLl9saWcmJnZvaWQgMCE9ZC5fbGlnJiYoUT1kLl9saWcud2lkdGgoKSxSPWQuX2xpZy5oZWlnaHQoKSxhLm9mZnNldHg9MCxhLm9mZnNldHk9MCksTT0iY2VudGVyIj09PU18fCJtaWRkbGUiPT09TT9RLzItZC5lb3cvMitQOiJsZWZ0Ij09PU0/UDoicmlnaHQiPT09TT9RLWQuZW93LVA6Im9mZiIhPT1kLl9yZXNwb2Zmc2V0P00qZS5idzpNLE49ImNlbnRlciI9PU58fCJtaWRkbGUiPT1OP1IvMi1kLmVvaC8yK086InRvcCI9PU4/TzoiYm90dG9tIj09Tj9SLWQuZW9oLU86Im9mZiIhPT1kLl9yZXNwb2Zmc2V0P04qZS5idzpOLGkmJiFkLl9zbGlkZWxpbmsmJihNKz1kLmVvdyksZC5fc2xpZGVsaW5rJiYoTT0wKSxkLmNhbGN4PXBhcnNlSW50KE0sMCkrYS5vZmZzZXR4LGQuY2FsY3k9cGFyc2VJbnQoTiwwKSthLm9mZnNldHk7dmFyIFM9Yy5jc3MoInotSW5kZXgiKTtpZigicm93IiE9PWQuX25jdHlwZSYmImNvbHVtbiIhPT1kLl9uY3R5cGUpcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGQuX3B3LHt6SW5kZXg6Uyx0b3A6ZC5jYWxjeSxsZWZ0OmQuY2FsY3gsb3ZlcndyaXRlOiJhdXRvIn0pO2Vsc2UgaWYoInJvdyIhPT1kLl9uY3R5cGUpcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGQuX3B3LHt6SW5kZXg6Uyx3aWR0aDpkLmNvbHVtbndpZHRoLHRvcDowLGxlZnQ6MCxvdmVyd3JpdGU6ImF1dG8ifSk7ZWxzZSBpZigicm93Ij09PWQuX25jdHlwZSl7dmFyIFQ9ImdyaWQiPT09ZC5fYmE/USsicHgiOiIxMDAlIjtwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZC5fcHcse3pJbmRleDpTLHdpZHRoOlQsdG9wOjAsbGVmdDphLm9mZnNldHgsb3ZlcndyaXRlOiJhdXRvIn0pfWlmKHZvaWQgMCE9PWQuYmxlbmRtb2RlJiZwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZC5fcHcse21peEJsZW5kTW9kZTpkLmJsZW5kbW9kZX0pLCJyb3ciPT09ZC5fbmN0eXBlJiYoZC5jb2x1bW5icmVhazw9ZS5jdXJXaW5SYW5nZT9jLmFkZENsYXNzKCJyZXZfYnJlYWtfY29sdW1ucyIpOmMucmVtb3ZlQ2xhc3MoInJldl9icmVha19jb2x1bW5zIikpLCJvbiI9PWQubG9vcGFuaW1hdGlvbiYmcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGQuX2x3LHttaW5XaWR0aDpkLmVvdyxtaW5IZWlnaHQ6ZC5lb2h9KSwiY29sdW1uIj09PWQuX25jdHlwZSl7dmFyIFU9dm9pZCAwIT09Y1swXS5fZ3NUcmFuc2Zvcm0/Y1swXS5fZ3NUcmFuc2Zvcm0ueTowLFY9cGFyc2VJbnQoZC5fY29sdW1uWzBdLnN0eWxlLnBhZGRpbmdUb3AsMCk7cHVuY2hncy5Ud2VlbkxpdGUuc2V0KGMse3k6MH0pLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChkLl9jYmdjX21hbix7eTpwYXJzZUludChWK2QuX2NvbHVtbi5vZmZzZXQoKS50b3AtYy5vZmZzZXQoKS50b3AsMCl9KSxwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYyx7eTpVfSl9ZC5faW5ncm91cCYmInJvdyIhPT1kLl9uY3R5cGUmJih2b2lkIDAhPT1kLl9ncm91cHcmJiFqUXVlcnkuaXNOdW1lcmljKGQuX2dyb3VwdykmJmQuX2dyb3Vwdy5pbmRleE9mKCIlIik+MCYmcHVuY2hncy5Ud2VlbkxpdGUuc2V0KFtkLl9sdyxkLl9wdyxkLl9td10se21pbldpZHRoOmQuX2dyb3Vwd30pLHZvaWQgMCE9PWQuX2dyb3VwaCYmIWpRdWVyeS5pc051bWVyaWMoZC5fZ3JvdXBoKSYmZC5fZ3JvdXBoLmluZGV4T2YoIiUiKT4wJiZwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoW2QuX2x3LGQuX3B3LGQuX213XSx7bWluSGVpZ2h0OmQuX2dyb3VwaH0pKX0sY3JlYXRlVGltZWxpbmVTdHJ1Y3R1cmU6ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihhLGIsYyxkKXt2YXIgZixlPW5ldyBwdW5jaGdzLlRpbWVsaW5lTGl0ZSh7cGF1c2VkOiEwfSk7Yz1jfHxuZXcgT2JqZWN0LGNbYS5hdHRyKCJpZCIpXT1jW2EuYXR0cigiaWQiKV18fG5ldyBPYmplY3QsInN0YXRpY2xheWVycyI9PT1kJiYoY1thLmF0dHIoImlkIildLmZpcnN0c2xpZGU9YS5kYXRhKCJzdGFydHNsaWRlIiksY1thLmF0dHIoImlkIildLmxhc3RzbGlkZT1hLmRhdGEoImVuZHNsaWRlIikpLGEuZGF0YSgic2xpZGVpZCIsZCksY1thLmF0dHIoImlkIildLmRlZmNsYXNzZXM9Zj1hWzBdLmNsYXNzTmFtZSxjW2EuYXR0cigiaWQiKV0ud3JhcHBlcj1mLmluZGV4T2YoInJldl9sYXllcl9pbl9jb2x1bW4iKT49MD9hLmNsb3Nlc3QoIi5yZXZfY29sdW1uX2lubmVyIik6Zi5pbmRleE9mKCJyZXZfY29sdW1uX2lubmVyIik+PTA/YS5jbG9zZXN0KCIucmV2X3JvdyIpOmYuaW5kZXhPZigicmV2X2xheWVyX2luX2dyb3VwIik+PTA/YS5jbG9zZXN0KCIucmV2X2dyb3VwIik6Im5vbmUiLGNbYS5hdHRyKCJpZCIpXS50aW1lbGluZT1lLGNbYS5hdHRyKCJpZCIpXS5sYXllcj1hLGNbYS5hdHRyKCJpZCIpXS50cmlnZ2Vyc3RhdGU9YS5kYXRhKCJsYXN0dHJpZ2dlcnN0YXRlIiksY1thLmF0dHIoImlkIildLmRjaGlsZHJlbj1mLmluZGV4T2YoInJldl9yb3ciKT49MD9hWzBdLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoInJldl9jb2x1bW5faW5uZXIiKTpmLmluZGV4T2YoInJldl9jb2x1bW5faW5uZXIiKT49MD9hWzBdLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoInRwLWNhcHRpb24iKTpmLmluZGV4T2YoInJldl9ncm91cCIpPj0wP2FbMF0uZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgicmV2X2xheWVyX2luX2dyb3VwIik6Im5vbmUiLGEuZGF0YSgidGltZWxpbmUiLGUpfWEudGltZWxpbmVzPWEudGltZWxpbmVzfHxuZXcgT2JqZWN0LGEuYy5maW5kKCIudHAtcmV2c2xpZGVyLXNsaWRlc2xpLCAudHAtc3RhdGljLWxheWVycyIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1qUXVlcnkodGhpcyksZD1jLmRhdGEoImluZGV4Iik7YS50aW1lbGluZXNbZF09YS50aW1lbGluZXNbZF18fHt9LGEudGltZWxpbmVzW2RdLmxheWVycz1hLnRpbWVsaW5lc1tkXS5sYXllcnN8fG5ldyBPYmplY3QsYy5maW5kKCIudHAtY2FwdGlvbiIpLmVhY2goZnVuY3Rpb24oYyl7YihqUXVlcnkodGhpcyksYSxhLnRpbWVsaW5lc1tkXS5sYXllcnMsZCl9KX0pfSxidWlsZEZ1bGxUaW1lTGluZTpmdW5jdGlvbihhKXt2YXIgZyxoLGM9YS5jYXB0aW9uLGQ9Yy5kYXRhKCksZT1hLm9wdCxmPXt9LGo9cSgpO2lmKGc9ZS50aW1lbGluZXNbZC5fc2xpZGVpZF0ubGF5ZXJzW2QuX2lkXSwhZy5nZW5lcmF0ZWR8fCEwPT09YS5yZWdlbmVyYXRlKXtpZihoPWcudGltZWxpbmUsZy5nZW5lcmF0ZWQ9ITAsdm9pZCAwIT09ZC5jdXJyZW50X3RpbWVsaW5lJiYhMCE9PWEucmVnZW5lcmF0ZT8oZC5jdXJyZW50X3RpbWVsaW5lX3BhdXNlPWQuY3VycmVudF90aW1lbGluZS5wYXVzZWQoKSxkLmN1cnJlbnRfdGltZWxpbmVfdGltZT1kLmN1cnJlbnRfdGltZWxpbmUudGltZSgpLGQuY3VycmVudF9pc19uY190aW1lbGluZT1oPT09ZC5jdXJyZW50X3RpbWVsaW5lLGQuc3RhdGljX2xheWVyX3RpbWVsaW5lX3RpbWU9ZC5jdXJyZW50X3RpbWVsaW5lX3RpbWUpOihkLnN0YXRpY19sYXllcl90aW1lbGluZV90aW1lPWQuY3VycmVudF90aW1lbGluZV90aW1lLGQuY3VycmVudF90aW1lbGluZV90aW1lPTAsZC5jdXJyZW50X3RpbWVsaW5lJiZkLmN1cnJlbnRfdGltZWxpbmUuY2xlYXIoKSksaC5jbGVhcigpLGYuc3ZnPXZvaWQgMCE9ZC5zdmdfc3JjJiZjLmZpbmQoInN2ZyIpLGYuc3ZnJiYoZC5pZGxlc3ZnPW8oZC5zdmdfaWRsZSxuKCkpLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChmLnN2ZyxkLmlkbGVzdmcuYW5pbSkpLC0xIT09ZC5ob3ZlcmZyYW1laW5kZXgmJnZvaWQgMCE9PWQuaG92ZXJmcmFtZWluZGV4JiYhYy5oYXNDbGFzcygicnMtaG92ZXItcmVhZHkiKSl7aWYoYy5hZGRDbGFzcygicnMtaG92ZXItcmVhZHkiKSxkLmhvdmVydGltZWxpbmVzPXt9LGQuaG92ZXJhbmltPXQoaixkLmZyYW1lc1tkLmhvdmVyZnJhbWVpbmRleF0udG8pLGQuaG92ZXJhbmltPXgoZC5ob3ZlcmFuaW0sZC5mcmFtZXNbZC5ob3ZlcmZyYW1laW5kZXhdLnN0eWxlKSxmLnN2Zyl7dmFyIGw9byhkLnN2Z19ob3ZlcixuKCkpO3ZvaWQgMCE9ZC5ob3ZlcmFuaW0uYW5pbS5jb2xvciYmKGwuYW5pbS5maWxsPWQuaG92ZXJhbmltLmFuaW0uY29sb3IsZC5pZGxlc3ZnLmFuaW0uY3NzLmZpbGw9Zi5zdmcuY3NzKCJmaWxsIikpLGQuaG92ZXJzdmc9bH1jLmhvdmVyKGZ1bmN0aW9uKGEpe3ZhciBiPXtjYXB0aW9uOmpRdWVyeShhLmN1cnJlbnRUYXJnZXQpLG9wdDplLGZpcnN0ZnJhbWU6ImZyYW1lXzAiLGxhc3RmcmFtZToiZnJhbWVfOTk5In0sZD0oaShiKSxiLmNhcHRpb24pLGc9ZC5kYXRhKCksaD1nLmZyYW1lc1tnLmhvdmVyZnJhbWVpbmRleF07Zy5mb3JjZWhvdmVyPWguZm9yY2UsZy5ob3ZlcnRpbWVsaW5lcy5pdGVtPXB1bmNoZ3MuVHdlZW5MaXRlLnRvKGQsaC5zcGVlZC8xZTMsZy5ob3ZlcmFuaW0uYW5pbSksKGcuaG92ZXJ6SW5kZXh8fGcuaG92ZXJhbmltLmFuaW0mJmcuaG92ZXJhbmltLmFuaW0uekluZGV4KSYmKGcuYmFzaWN6aW5kZXg9dm9pZCAwPT09Zy5iYXNpY3ppbmRleD9nLmNzc29iai56SW5kZXg6Zy5iYXNpY3ppbmRleCxnLmhvdmVyekluZGV4PXZvaWQgMD09PWcuaG92ZXJ6SW5kZXg/Zy5ob3ZlcmFuaW0uYW5pbS56SW5kZXg6Zy5ob3ZlcnpJbmRleCxnLmluaG92ZXJpbmFuaW1hdGlvbj0hMCwwPT09aC5zcGVlZCYmKGcuaW5ob3ZlcmluYW5pbWF0aW9uPSExKSxnLmhvdmVydGltZWxpbmVzLnB3aG92ZXJhbmltPXB1bmNoZ3MuVHdlZW5MaXRlLnRvKGcuX3B3LGguc3BlZWQvMWUzLHtvdmVyd3JpdGU6ImF1dG8iLHpJbmRleDpnLmhvdmVyekluZGV4fSksZy5ob3ZlcnRpbWVsaW5lcy5wd2hvdmVyYW5pbS5ldmVudENhbGxiYWNrKCJvbkNvbXBsZXRlIixmdW5jdGlvbihhKXthLmluaG92ZXJpbmFuaW1hdGlvbj0hMX0sW2ddKSksZi5zdmcmJihnLmhvdmVydGltZWxpbmVzLnN2Z2hvdmVyYW5pbT1wdW5jaGdzLlR3ZWVuTGl0ZS50byhbZi5zdmcsZi5zdmcuZmluZCgicGF0aCIpXSxoLnNwZWVkLzFlMyxnLmhvdmVyc3ZnLmFuaW0pKSxnLmhvdmVyZWRzdGF0dXM9ITB9LGZ1bmN0aW9uKGEpe3ZhciBiPXtjYXB0aW9uOmpRdWVyeShhLmN1cnJlbnRUYXJnZXQpLG9wdDplLGZpcnN0ZnJhbWU6ImZyYW1lXzAiLGxhc3RmcmFtZToiZnJhbWVfOTk5In0sZD0oaShiKSxiLmNhcHRpb24pLGc9ZC5kYXRhKCksaD1nLmZyYW1lc1tnLmhvdmVyZnJhbWVpbmRleF07Zy5ob3ZlcmVkc3RhdHVzPSExLGcuaW5ob3Zlcm91dGFuaW1hdGlvbj0hMCxnLmhvdmVydGltZWxpbmVzLml0ZW0ucGF1c2UoKSxnLmhvdmVydGltZWxpbmVzLml0ZW09cHVuY2hncy5Ud2VlbkxpdGUudG8oZCxoLnNwZWVkLzFlMyxqUXVlcnkuZXh0ZW5kKCEwLHt9LGcuX2dzVHJhbnNmb3JtVG8pKSwwPT1oLnNwZWVkJiYoZy5pbmhvdmVyb3V0YW5pbWF0aW9uPSExKSxnLmhvdmVydGltZWxpbmVzLml0ZW0uZXZlbnRDYWxsYmFjaygib25Db21wbGV0ZSIsZnVuY3Rpb24oYSl7YS5pbmhvdmVyb3V0YW5pbWF0aW9uPSExfSxbZ10pLHZvaWQgMCE9PWcuaG92ZXJ0aW1lbGluZXMucHdob3ZlcmFuaW0mJihnLmhvdmVydGltZWxpbmVzLnB3aG92ZXJhbmltPXB1bmNoZ3MuVHdlZW5MaXRlLnRvKGcuX3B3LGguc3BlZWQvMWUzLHtvdmVyd3JpdGU6ImF1dG8iLHpJbmRleDpnLmJhc2ljemluZGV4fSkpLGYuc3ZnJiZwdW5jaGdzLlR3ZWVuTGl0ZS50byhbZi5zdmcsZi5zdmcuZmluZCgicGF0aCIpXSxoLnNwZWVkLzFlMyxnLmlkbGVzdmcuYW5pbSl9KX1mb3IodmFyIG09MDttPGQuZnJhbWVzLmxlbmd0aDttKyspaWYobSE9PWQuaG92ZXJmcmFtZWluZGV4KXt2YXIgcD1tPT09ZC5pbmZyYW1laW5kZXg/ImZyYW1lXzAiOm09PT1kLm91dGZyYW1laW5kZXh8fCJmcmFtZV85OTkiPT09ZC5mcmFtZXNbbV0uZnJhbWU/ImZyYW1lXzk5OSI6ImZyYW1lXyIrbTtkLmZyYW1lc1ttXS5mcmFtZW5hbWU9cCxnW3BdPXt9LGdbcF0udGltZWxpbmU9bmV3IHB1bmNoZ3MuVGltZWxpbmVMaXRlKHthbGlnbjoibm9ybWFsIn0pO3ZhciByPWQuZnJhbWVzW21dLmRlbGF5LHU9KGQudHJpZ2dlcmVkX3N0YXJ0c3RhdHVzLHZvaWQgMCE9PXI/alF1ZXJ5LmluQXJyYXkocixbInNsaWRlZW50ZXIiLCJieXRyaWdnZXIiLCJ3YWl0Il0pPj0wP3I6cGFyc2VJbnQociwwKS8xZTM6IndhaXQiKTt2b2lkIDAhPT1nLmZpcnN0c2xpZGUmJiJmcmFtZV8wIj09PXAmJihoLmFkZExhYmVsKCJzbGlkZV8iK2cuZmlyc3RzbGlkZSsiX3BhdXNlIiwwKSxoLmFkZFBhdXNlKCJzbGlkZV8iK2cuZmlyc3RzbGlkZSsiX3BhdXNlIiksaC5hZGRMYWJlbCgic2xpZGVfIitnLmZpcnN0c2xpZGUsIis9MC4wMDUiKSksdm9pZCAwIT09Zy5sYXN0c2xpZGUmJiJmcmFtZV85OTkiPT09cCYmKGguYWRkTGFiZWwoInNsaWRlXyIrZy5sYXN0c2xpZGUrIl9wYXVzZSIsIis9MC4wMSIpLGguYWRkUGF1c2UoInNsaWRlXyIrZy5sYXN0c2xpZGUrIl9wYXVzZSIpLGguYWRkTGFiZWwoInNsaWRlXyIrZy5sYXN0c2xpZGUsIis9MC4wMDUiKSksalF1ZXJ5LmlzTnVtZXJpYyh1KT9oLmFkZExhYmVsKHAsIis9Iit1KTooaC5hZGRMYWJlbCgicGF1c2VfIittLCIrPTAuMDEiKSxoLmFkZFBhdXNlKCJwYXVzZV8iK20pLGguYWRkTGFiZWwocCwiKz0wLjAxIikpLGg9Yi5jcmVhdGVGcmFtZU9uVGltZWxpbmUoe2NhcHRpb246YS5jYXB0aW9uLHRpbWVsaW5lOmgsbGFiZWw6cCxmcmFtZWluZGV4Om0sb3B0OmV9KX1hLnJlZ2VuZXJhdGV8fChkLmN1cnJlbnRfaXNfbmNfdGltZWxpbmUmJihkLmN1cnJlbnRfdGltZWxpbmU9aCksZC5jdXJyZW50X3RpbWVsaW5lX3BhdXNlP2gucGF1c2UoZC5jdXJyZW50X3RpbWVsaW5lX3RpbWUpOmgudGltZShkLmN1cnJlbnRfdGltZWxpbmVfdGltZSkpfX0sY3JlYXRlRnJhbWVPblRpbWVsaW5lOmZ1bmN0aW9uKGEpe3ZhciBiPWEuY2FwdGlvbixjPWIuZGF0YSgpLGQ9YS5sYWJlbCxlPWEudGltZWxpbmUsaT1hLmZyYW1laW5kZXgsaj1hLm9wdCxuPWIsbz17fSxxPWoudGltZWxpbmVzW2MuX3NsaWRlaWRdLmxheWVyc1tjLl9pZF0scj1jLmZyYW1lcy5sZW5ndGgtMSx2PWMuZnJhbWVzW2ldLnNwbGl0LHc9Yy5mcmFtZXNbaV0uc3BsaXRfZGlyZWN0aW9uLHg9Yy5mcmFtZXNbaV0uc2Z4X2VmZmVjdCx5PSExO2lmKHc9dm9pZCAwPT09dz8iZm9yd2FyZCI6dywtMSE9PWMuaG92ZXJmcmFtZWluZGV4JiZjLmhvdmVyZnJhbWVpbmRleD09ciYmKHItPTEpLG8uY29udGVudD1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGUoe2FsaWduOiJub3JtYWwifSksby5tYXNrPW5ldyBwdW5jaGdzLlRpbWVsaW5lTGl0ZSh7YWxpZ246Im5vcm1hbCJ9KSx2b2lkIDA9PT1lLnZhcnMuaWQmJihlLnZhcnMuaWQ9TWF0aC5yb3VuZCgxZTUqTWF0aC5yYW5kb20oKSkpLCJjb2x1bW4iPT09Yy5fbmN0eXBlJiYoZS5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGMuX2NiZ2NfbWFuLHt2aXNpYmlsaXR5OiJ2aXNpYmxlIn0pLGQpLGUuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChjLl9jYmdjX2F1dG8se3Zpc2liaWxpdHk6ImhpZGRlbiJ9KSxkKSksYy5zcGxpdHRleHQmJjA9PT1pKXt2b2lkIDAhPT1jLm15U3BsaXRUZXh0JiZjLm15U3BsaXRUZXh0LnJldmVydCgpO3ZhciB6PWIuZmluZCgiYSIpLmxlbmd0aD4wP2IuZmluZCgiYSIpOmI7Yy5teVNwbGl0VGV4dD1uZXcgcHVuY2hncy5TcGxpdFRleHQoeix7dHlwZToiY2hhcnMsd29yZHMsbGluZXMiLGNoYXJzQ2xhc3M6InRwLXNwbGl0dGVkIHRwLWNoYXJzcGxpdCIsd29yZHNDbGFzczoidHAtc3BsaXR0ZWQgdHAtd29yZHNwbGl0IixsaW5lc0NsYXNzOiJ0cC1zcGxpdHRlZCB0cC1saW5lc3BsaXQifSksYi5hZGRDbGFzcygic3BsaXR0ZWQiKX12b2lkIDAhPT1jLm15U3BsaXRUZXh0JiZ2JiZ2Lm1hdGNoKC9jaGFyc3x3b3Jkc3xsaW5lcy9nKSYmKG49Yy5teVNwbGl0VGV4dFt2XSx5PSEwKTt2YXIgRCxFLEE9aSE9PWMub3V0ZnJhbWVpbmRleD90KG0oKSxjLmZyYW1lc1tpXS50byx2b2lkIDAseSxuLmxlbmd0aC0xKTp2b2lkIDAhPT1jLmZyYW1lc1tpXS50byYmbnVsbD09PWMuZnJhbWVzW2ldLnRvLm1hdGNoKC9hdXRvOmF1dG8vZyk/dChwKCksYy5mcmFtZXNbaV0udG8sMT09ai5zZGlyLHksbi5sZW5ndGgtMSk6dChwKCksYy5mcmFtZXNbYy5pbmZyYW1laW5kZXhdLmZyb20sMD09ai5zZGlyLHksbi5sZW5ndGgtMSksQj12b2lkIDAhPT1jLmZyYW1lc1tpXS5mcm9tP3QoQSxjLmZyYW1lc1tjLmluZnJhbWVpbmRleF0uZnJvbSwxPT1qLnNkaXIseSxuLmxlbmd0aC0xKTp2b2lkIDAsQz1jLmZyYW1lc1tpXS5zcGxpdGRlbGF5O2lmKDAhPT1pfHxhLmZyb21jdXJyZW50c3RhdGU/RT11KGMuZnJhbWVzW2ldLm1hc2spOkQ9dShjLmZyYW1lc1tpXS5tYXNrKSxBLmFuaW0uZWFzZT12b2lkIDA9PT1jLmZyYW1lc1tpXS5lYXNlP3B1bmNoZ3MuUG93ZXIxLmVhc2VJbk91dDpjLmZyYW1lc1tpXS5lYXNlLHZvaWQgMCE9PUImJihCLmFuaW0uZWFzZT12b2lkIDA9PT1jLmZyYW1lc1tpXS5lYXNlP3B1bmNoZ3MuUG93ZXIxLmVhc2VJbk91dDpjLmZyYW1lc1tpXS5lYXNlLEIuc3BlZWQ9dm9pZCAwPT09Yy5mcmFtZXNbaV0uc3BlZWQ/Qi5zcGVlZDpjLmZyYW1lc1tpXS5zcGVlZCxCLmFuaW0ueD1CLmFuaW0ueCpqLmJ3fHxzKEIuYW5pbS54LGosYy5lb3csYy5lb2gsYy5jYWxjeSxjLmNhbGN4LCJob3Jpem9udGFsIiksQi5hbmltLnk9Qi5hbmltLnkqai5id3x8cyhCLmFuaW0ueSxqLGMuZW93LGMuZW9oLGMuY2FsY3ksYy5jYWxjeCwidmVydGljYWwiKSksdm9pZCAwIT09QSYmKEEuYW5pbS5lYXNlPXZvaWQgMD09PWMuZnJhbWVzW2ldLmVhc2U/cHVuY2hncy5Qb3dlcjEuZWFzZUluT3V0OmMuZnJhbWVzW2ldLmVhc2UsQS5zcGVlZD12b2lkIDA9PT1jLmZyYW1lc1tpXS5zcGVlZD9BLnNwZWVkOmMuZnJhbWVzW2ldLnNwZWVkLEEuYW5pbS54PUEuYW5pbS54KmouYnd8fHMoQS5hbmltLngsaixjLmVvdyxjLmVvaCxjLmNhbGN5LGMuY2FsY3gsImhvcml6b250YWwiKSxBLmFuaW0ueT1BLmFuaW0ueSpqLmJ3fHxzKEEuYW5pbS55LGosYy5lb3csYy5lb2gsYy5jYWxjeSxjLmNhbGN4LCJ2ZXJ0aWNhbCIpKSxiLmRhdGEoImlmcmFtZXMiKSYmZS5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGIuZmluZCgiaWZyYW1lIikse2F1dG9BbHBoYToxfSksZCsiKz0wLjAwMSIpLGk9PT1jLm91dGZyYW1laW5kZXgmJihjLmZyYW1lc1tpXS50byYmYy5mcmFtZXNbaV0udG8ubWF0Y2goL2F1dG86YXV0by9nKSxBLnNwZWVkPXZvaWQgMD09PWMuZnJhbWVzW2ldLnNwZWVkfHwiaW5oZXJpdCI9PT1jLmZyYW1lc1tpXS5zcGVlZD9jLmZyYW1lc1tjLmluZnJhbWVpbmRleF0uc3BlZWQ6Yy5mcmFtZXNbaV0uc3BlZWQsQS5hbmltLmVhc2U9dm9pZCAwPT09Yy5mcmFtZXNbaV0uZWFzZXx8ImluaGVyaXQiPT09Yy5mcmFtZXNbaV0uZWFzZT9jLmZyYW1lc1tjLmluZnJhbWVpbmRleF0uZWFzZTpjLmZyYW1lc1tpXS5lYXNlLEEuYW5pbS5vdmVyd3JpdGU9ImF1dG8iKSwwIT09aXx8YS5mcm9tY3VycmVudHN0YXRlKTA9PT1pJiZhLmZyb21jdXJyZW50c3RhdGUmJihBLnNwZWVkPUIuc3BlZWQpO2Vsc2V7aWYobiE9Yil7dmFyIEY9alF1ZXJ5LmV4dGVuZCh7fSxBLmFuaW0sITApO2UuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChiLEEuYW5pbSksZCksQT1tKCksQS5lYXNlPUYuZWFzZSx2b2lkIDAhPT1GLmZpbHRlciYmKEEuYW5pbS5maWx0ZXI9Ri5maWx0ZXIpLHZvaWQgMCE9PUZbIi13ZWJraXQtZmlsdGVyIl0mJihBLmFuaW1bIi13ZWJraXQtZmlsdGVyIl09RlsiLXdlYmtpdC1maWx0ZXIiXSl9Qi5hbmltLnZpc2liaWxpdHk9ImhpZGRlbiIsQi5hbmltLmltbWVkaWF0ZVJlbmRlcj0hMCxBLmFuaW0udmlzaWJpbGl0eT0idmlzaWJsZSJ9YS5mcm9tY3VycmVudHN0YXRlJiYoQS5hbmltLmltbWVkaWF0ZVJlbmRlcj0hMCk7dmFyIEc9LTE7aWYoMD09PWkmJiFhLmZyb21jdXJyZW50c3RhdGUmJnZvaWQgMCE9PWMuX2JtYXNrJiZ2b2lkIDAhPT14JiZ4LmluZGV4T2YoImJsb2NrIik+PTB8fGk9PT1jLm91dGZyYW1laW5kZXgmJiFhLmZyb21jdXJyZW50c3RhdGUmJnZvaWQgMCE9PWMuX2JtYXNrJiZ2b2lkIDAhPT14JiZ4LmluZGV4T2YoImJsb2NrIik+PTApe3ZhciBIPTA9PT1pP0Iuc3BlZWQvMWUzLzI6QS5zcGVlZC8xZTMvMixJPVt7c2NhbGVZOjEsc2NhbGVYOjAsdHJhbnNmb3JtT3JpZ2luOiIwJSA1MCUifSx7c2NhbGVZOjEsc2NhbGVYOjEsZWFzZTpBLmFuaW0uZWFzZX1dLEo9e3NjYWxlWToxLHNjYWxlWDowLHRyYW5zZm9ybU9yaWdpbjoiMTAwJSA1MCUiLGVhc2U6QS5hbmltLmVhc2V9O3N3aXRjaChHPXZvaWQgMD09PUM/SDpDK0gseCl7Y2FzZSJibG9ja3RvbGVmdCI6Y2FzZSJibG9ja2Zyb21yaWdodCI6SVswXS50cmFuc2Zvcm1PcmlnaW49IjEwMCUgNTAlIixKLnRyYW5zZm9ybU9yaWdpbj0iMCUgNTAlIjticmVhaztjYXNlImJsb2NrZnJvbXRvcCI6Y2FzZSJibG9ja3RvYm90dG9tIjpJPVt7c2NhbGVYOjEsc2NhbGVZOjAsdHJhbnNmb3JtT3JpZ2luOiI1MCUgMCUifSx7c2NhbGVYOjEsc2NhbGVZOjEsZWFzZTpBLmFuaW0uZWFzZX1dLEo9e3NjYWxlWDoxLHNjYWxlWTowLHRyYW5zZm9ybU9yaWdpbjoiNTAlIDEwMCUiLGVhc2U6QS5hbmltLmVhc2V9O2JyZWFrO2Nhc2UiYmxvY2t0b3RvcCI6Y2FzZSJibG9ja2Zyb21ib3R0b20iOkk9W3tzY2FsZVg6MSxzY2FsZVk6MCx0cmFuc2Zvcm1PcmlnaW46IjUwJSAxMDAlIn0se3NjYWxlWDoxLHNjYWxlWToxLGVhc2U6QS5hbmltLmVhc2V9XSxKPXtzY2FsZVg6MSxzY2FsZVk6MCx0cmFuc2Zvcm1PcmlnaW46IjUwJSAwJSIsZWFzZTpBLmFuaW0uZWFzZX19SVswXS5iYWNrZ3JvdW5kPWMuZnJhbWVzW2ldLnNmeGNvbG9yLGUuYWRkKG8ubWFzay5mcm9tVG8oYy5fYm1hc2ssSCxJWzBdLElbMV0sQyksZCksZS5hZGQoby5tYXNrLnRvKGMuX2JtYXNrLEgsSixHKSxkKX1pZih5KXZhciBLPWsobi5sZW5ndGgtMSx3KTtpZigwIT09aXx8YS5mcm9tY3VycmVudHN0YXRlKWlmKCJibG9jayI9PT1jLl9zZnhfb3V0JiZpPT09Yy5vdXRmcmFtZWluZGV4KWUuYWRkKG8uY29udGVudC5zdGFnZ2VyVG8obiwuMDAxLHthdXRvQWxwaGE6MCxkZWxheTpHfSksZCksZS5hZGQoby5jb250ZW50LnN0YWdnZXJUbyhuLEEuc3BlZWQvMWUzLzItLjAwMSx7eDowLGRlbGF5Okd9KSxkKyIrPTAuMDAxIik7ZWxzZSBpZih5JiZ2b2lkIDAhPT1LKXt2YXIgTD17dG86bChBLmFuaW0pfTtmb3IodmFyIE0gaW4gbil7dmFyIE89alF1ZXJ5LmV4dGVuZCh7fSxBLmFuaW0pO2Zvcih2YXIgUCBpbiBMLnRvKU9bUF09cGFyc2VJbnQoTC50b1tQXS52YWx1ZXNbTC50b1tQXS5pbmRleF0sMCksTC50b1tQXS5pbmRleD1MLnRvW1BdLmluZGV4PEwudG9bUF0ubGVuP0wudG9bUF0uaW5kZXgrMTowO3ZvaWQgMCE9PWMuZnJhbWVzW2ldLmNvbG9yJiYoTy5jb2xvcj1jLmZyYW1lc1tpXS5jb2xvciksdm9pZCAwIT09Yy5mcmFtZXNbaV0uYmdjb2xvciYmKE8uYmFja2dyb3VuZENvbG9yPWMuZnJhbWVzW2ldLmJnY29sb3IpLGUuYWRkKG8uY29udGVudC50byhuW0tbTV1dLEEuc3BlZWQvMWUzLE8sQypNKSxkKX19ZWxzZSB2b2lkIDAhPT1jLmZyYW1lc1tpXS5jb2xvciYmKEEuYW5pbS5jb2xvcj1jLmZyYW1lc1tpXS5jb2xvciksdm9pZCAwIT09Yy5mcmFtZXNbaV0uYmdjb2xvciYmKEEuYW5pbS5iYWNrZ3JvdW5kQ29sb3I9Yy5mcmFtZXNbaV0uYmdjb2xvciksZS5hZGQoby5jb250ZW50LnN0YWdnZXJUbyhuLEEuc3BlZWQvMWUzLEEuYW5pbSxDKSxkKTtlbHNlIGlmKCJibG9jayI9PT1jLl9zZnhfaW4pZS5hZGQoby5jb250ZW50LnN0YWdnZXJGcm9tVG8obiwuMDUse3g6MCx5OjAsYXV0b0FscGhhOjB9LHt4OjAseTowLGF1dG9BbHBoYToxLGRlbGF5Okd9KSxkKTtlbHNlIGlmKHkmJnZvaWQgMCE9PUspe3ZhciBMPXtmcm9tOmwoQi5hbmltKSx0bzpsKEEuYW5pbSl9O2Zvcih2YXIgTSBpbiBuKXt2YXIgTj1qUXVlcnkuZXh0ZW5kKHt9LEIuYW5pbSksTz1qUXVlcnkuZXh0ZW5kKHt9LEEuYW5pbSk7Zm9yKHZhciBQIGluIEwuZnJvbSlOW1BdPXBhcnNlSW50KEwuZnJvbVtQXS52YWx1ZXNbTC5mcm9tW1BdLmluZGV4XSwwKSxMLmZyb21bUF0uaW5kZXg9TC5mcm9tW1BdLmluZGV4PEwuZnJvbVtQXS5sZW4/TC5mcm9tW1BdLmluZGV4KzE6MDtPLmVhc2U9Ti5lYXNlLHZvaWQgMCE9PWMuZnJhbWVzW2ldLmNvbG9yJiYoTi5jb2xvcj1jLmZyYW1lc1tpXS5jb2xvcixPLmNvbG9yPWMuY3Nzb2JqLnN0eWxlUHJvcHMuY29sb3IpLHZvaWQgMCE9PWMuZnJhbWVzW2ldLmJnY29sb3ImJihOLmJhY2tncm91bmRDb2xvcj1jLmZyYW1lc1tpXS5iZ2NvbG9yLE8uYmFja2dyb3VuZENvbG9yPWMuY3Nzb2JqLnN0eWxlUHJvcHNbImJhY2tncm91bmQtY29sb3IiXSksZS5hZGQoby5jb250ZW50LmZyb21UbyhuW0tbTV1dLEIuc3BlZWQvMWUzLE4sTyxDKk0pLGQpfX1lbHNlIHZvaWQgMCE9PWMuZnJhbWVzW2ldLmNvbG9yJiYoQi5hbmltLmNvbG9yPWMuZnJhbWVzW2ldLmNvbG9yLEEuYW5pbS5jb2xvcj1jLmNzc29iai5zdHlsZVByb3BzLmNvbG9yKSx2b2lkIDAhPT1jLmZyYW1lc1tpXS5iZ2NvbG9yJiYoQi5hbmltLmJhY2tncm91bmRDb2xvcj1jLmZyYW1lc1tpXS5iZ2NvbG9yLEEuYW5pbS5iYWNrZ3JvdW5kQ29sb3I9Yy5jc3NvYmouc3R5bGVQcm9wc1siYmFja2dyb3VuZC1jb2xvciJdKSxlLmFkZChvLmNvbnRlbnQuc3RhZ2dlckZyb21UbyhuLEIuc3BlZWQvMWUzLEIuYW5pbSxBLmFuaW0sQyksZCk7cmV0dXJuIHZvaWQgMD09PUV8fCExPT09RXx8MD09PWkmJmEuaWdub3JlZmlyc3RmcmFtZXx8KEUuYW5pbS5lYXNlPXZvaWQgMD09PUUuYW5pbS5lYXNlfHwiaW5oZXJpdCI9PT1FLmFuaW0uZWFzZT9jLmZyYW1lc1swXS5lYXNlOkUuYW5pbS5lYXNlLEUuYW5pbS5vdmVyZmxvdz0iaGlkZGVuIixFLmFuaW0ueD1FLmFuaW0ueCpqLmJ3fHxzKEUuYW5pbS54LGosYy5lb3csYy5lb2gsYy5jYWxjeSxjLmNhbGN4LCJob3Jpem9udGFsIiksRS5hbmltLnk9RS5hbmltLnkqai5id3x8cyhFLmFuaW0ueSxqLGMuZW93LGMuZW9oLGMuY2FsY3ksYy5jYWxjeCwidmVydGljYWwiKSksMD09PWkmJkQmJiExIT09RCYmIWEuZnJvbWN1cnJlbnRzdGF0ZXx8MD09PWkmJmEuaWdub3JlZmlyc3RmcmFtZT8oRT1uZXcgT2JqZWN0LEUuYW5pbT1uZXcgT2JqZWN0LEUuYW5pbS5vdmVyd3JpdGU9ImF1dG8iLEUuYW5pbS5lYXNlPUEuYW5pbS5lYXNlLEUuYW5pbS54PUUuYW5pbS55PTAsRCYmITEhPT1EJiYoRC5hbmltLng9RC5hbmltLngqai5id3x8cyhELmFuaW0ueCxqLGMuZW93LGMuZW9oLGMuY2FsY3ksYy5jYWxjeCwiaG9yaXpvbnRhbCIpLEQuYW5pbS55PUQuYW5pbS55KmouYnd8fHMoRC5hbmltLnksaixjLmVvdyxjLmVvaCxjLmNhbGN5LGMuY2FsY3gsInZlcnRpY2FsIiksRC5hbmltLm92ZXJmbG93PSJoaWRkZW4iKSk6MD09PWkmJmUuYWRkKG8ubWFzay5zZXQoYy5fbXcse292ZXJmbG93OiJ2aXNpYmxlIn0pLGQpLHZvaWQgMCE9PUQmJnZvaWQgMCE9PUUmJiExIT09RCYmITEhPT1FP2UuYWRkKG8ubWFzay5mcm9tVG8oYy5fbXcsQi5zcGVlZC8xZTMsRC5hbmltLEUuYW5pbSxDKSxkKTp2b2lkIDAhPT1FJiYhMSE9PUUmJmUuYWRkKG8ubWFzay50byhjLl9tdyxBLnNwZWVkLzFlMyxFLmFuaW0sQyksZCksZS5hZGRMYWJlbChkKyJfZW5kIiksYy5fZ3NUcmFuc2Zvcm1UbyYmaT09PXImJmMuaG92ZXJlZHN0YXR1cyYmKGMuaG92ZXJ0aW1lbGluZXMuaXRlbT1wdW5jaGdzLlR3ZWVuTGl0ZS50byhiLDAsYy5fZ3NUcmFuc2Zvcm1UbykpLGMuX2dzVHJhbnNmb3JtVG89ITEsby5jb250ZW50LmV2ZW50Q2FsbGJhY2soIm9uU3RhcnQiLGYsW2kscSxjLl9wdyxjLGUsQS5hbmltLGIsYS51cGRhdGVTdGF0aWNUaW1lbGluZSxqXSksby5jb250ZW50LmV2ZW50Q2FsbGJhY2soIm9uVXBkYXRlIixnLFtkLGMuX2lkLGMuX3B3LGMsZSxpLGpRdWVyeS5leHRlbmQoITAse30sQS5hbmltKSxhLnVwZGF0ZVN0YXRpY1RpbWVsaW5lLGIsal0pLG8uY29udGVudC5ldmVudENhbGxiYWNrKCJvbkNvbXBsZXRlIixoLFtpLGMuZnJhbWVzLmxlbmd0aCxyLGMuX3B3LGMsZSxhLnVwZGF0ZVN0YXRpY1RpbWVsaW5lLGIsal0pLGV9LGVuZE1vdmVDYXB0aW9uOmZ1bmN0aW9uKGEpe2EuZmlyc3RmcmFtZT0iZnJhbWVfMCIsYS5sYXN0ZnJhbWU9ImZyYW1lXzk5OSI7dmFyIGM9aShhKSxkPWEuY2FwdGlvbi5kYXRhKCk7aWYodm9pZCAwIT09YS5mcmFtZT9jLnRpbWVsaW5lLnBsYXkoYS5mcmFtZSk6KCFjLnN0YXRpY3x8YS5jdXJyZW50c2xpZGU+PWMucmVtb3Zlb25zbGlkZXx8YS5jdXJyZW50c2xpZGU8Yy5zaG93b25zbGlkZSkmJihjLm91dG5vdz1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGUsYy50aW1lbGluZS5wYXVzZSgpLCEwPT09ZC52aXNpYmxlZWxlbWVudCYmYi5jcmVhdGVGcmFtZU9uVGltZWxpbmUoe2NhcHRpb246YS5jYXB0aW9uLHRpbWVsaW5lOmMub3V0bm93LGxhYmVsOiJvdXRub3ciLGZyYW1laW5kZXg6YS5jYXB0aW9uLmRhdGEoIm91dGZyYW1laW5kZXgiKSxvcHQ6YS5vcHQsZnJvbWN1cnJlbnRzdGF0ZTohMH0pLnBsYXkoKSksYS5jaGVja2NoaWxkcmVucyYmYy50aW1lbGluZV9vYmomJmMudGltZWxpbmVfb2JqLmRjaGlsZHJlbiYmIm5vbmUiIT09Yy50aW1lbGluZV9vYmouZGNoaWxkcmVuJiZjLnRpbWVsaW5lX29iai5kY2hpbGRyZW4ubGVuZ3RoPjApZm9yKHZhciBlPTA7ZTxjLnRpbWVsaW5lX29iai5kY2hpbGRyZW4ubGVuZ3RoO2UrKyliLmVuZE1vdmVDYXB0aW9uKHtjYXB0aW9uOmpRdWVyeShjLnRpbWVsaW5lX29iai5kY2hpbGRyZW5bZV0pLG9wdDphLm9wdH0pfSxwbGF5QW5pbWF0aW9uRnJhbWU6ZnVuY3Rpb24oYSl7YS5maXJzdGZyYW1lPWEudHJpZ2dlcmZyYW1laW4sYS5sYXN0ZnJhbWU9YS50cmlnZ2VyZnJhbWVvdXQ7dmFyIGUsYz1pKGEpLGQ9YS5jYXB0aW9uLmRhdGEoKSxmPTA7Zm9yKHZhciBnIGluIGQuZnJhbWVzKWQuZnJhbWVzW2ddLmZyYW1lbmFtZT09PWEuZnJhbWUmJihlPWYpLGYrKzt2b2lkIDAhPT1kLnRyaWdnZXJlZHRpbWVsaW5lJiZkLnRyaWdnZXJlZHRpbWVsaW5lLnBhdXNlKCksZC50cmlnZ2VyZWR0aW1lbGluZT1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGUsYy50aW1lbGluZS5wYXVzZSgpO3ZhciBoPSEwPT09ZC52aXNpYmxlZWxlbWVudDtkLnRyaWdnZXJlZHRpbWVsaW5lPWIuY3JlYXRlRnJhbWVPblRpbWVsaW5lKHtjYXB0aW9uOmEuY2FwdGlvbix0aW1lbGluZTpkLnRyaWdnZXJlZHRpbWVsaW5lLGxhYmVsOiJ0cmlnZ2VyZWQiLGZyYW1laW5kZXg6ZSx1cGRhdGVTdGF0aWNUaW1lbGluZTohMCxvcHQ6YS5vcHQsaWdub3JlZmlyc3RmcmFtZTohMCxmcm9tY3VycmVudHN0YXRlOmh9KS5wbGF5KCl9LHJlbW92ZVRoZUNhcHRpb25zOmZ1bmN0aW9uKGEsYyl7aWYoInN0b3AiPT09Yi5jb21wYXJlX3ZlcnNpb24oZSkuY2hlY2spcmV0dXJuITE7dmFyIGY9YS5kYXRhKCJpbmRleCIpLGc9bmV3IEFycmF5O2MubGF5ZXJzW2ZdJiZqUXVlcnkuZWFjaChjLmxheWVyc1tmXSxmdW5jdGlvbihhLGIpe2cucHVzaChiKX0pO3ZhciBoPWIuY3VycmVudFNsaWRlSW5kZXgoYyk7ZyYmalF1ZXJ5LmVhY2goZyxmdW5jdGlvbihhKXt2YXIgZD1qUXVlcnkodGhpcyk7ImNhcm91c2VsIj09PWMuc2xpZGVyVHlwZSYmIm9uIj09PWMuY2Fyb3VzZWwuc2hvd0xheWVyc0FsbFRpbWU/KGNsZWFyVGltZW91dChkLmRhdGEoInZpZGVvcGxheXdhaXQiKSksYi5zdG9wVmlkZW8mJmIuc3RvcFZpZGVvKGQsYyksYi5yZW1vdmVNZWRpYUZyb21MaXN0JiZiLnJlbW92ZU1lZGlhRnJvbUxpc3QoZCxjKSxjLmxhc3RwbGF5ZWR2aWRlb3M9W10pOihFKGQpLGNsZWFyVGltZW91dChkLmRhdGEoInZpZGVvcGxheXdhaXQiKSksYi5lbmRNb3ZlQ2FwdGlvbih7Y2FwdGlvbjpkLG9wdDpjLGN1cnJlbnRzbGlkZTpofSksYi5yZW1vdmVNZWRpYUZyb21MaXN0JiZiLnJlbW92ZU1lZGlhRnJvbUxpc3QoZCxjKSxjLmxhc3RwbGF5ZWR2aWRlb3M9W10pfSl9fSk7dmFyIGY9ZnVuY3Rpb24oYSxjLGQsZSxmLGcsaCxpLGope3ZhciBrPXt9O2lmKGsubGF5ZXI9aCxrLmV2ZW50dHlwZT0wPT09YT8iZW50ZXJzdGFnZSI6YT09PWUub3V0ZnJhbWVpbmRleD8ibGVhdmVzdGFnZSI6ImZyYW1lc3RhcnRlZCIsay5sYXllcnR5cGU9aC5kYXRhKCJsYXllcnR5cGUiKSxlLmFjdGl2ZT0hMCxrLmZyYW1lX2luZGV4PWEsay5sYXllcnNldHRpbmdzPWguZGF0YSgpLGouYy50cmlnZ2VyKCJyZXZvbHV0aW9uLmxheWVyYWN0aW9uIixba10pLCJvbiI9PWUubG9vcGFuaW1hdGlvbiYmRChlLl9sdyxqLmJ3KSwiZW50ZXJzdGFnZSI9PT1rLmV2ZW50dHlwZSYmKGUuYW5pbWRpcmVjdGlvbj0iaW4iLGUudmlzaWJsZWVsZW1lbnQ9ITAsYi50b2dnbGVTdGF0ZShlLmxheWVydG9nZ2xlZGJ5KSksIm5vbmUiIT09Yy5kY2hpbGRyZW4mJnZvaWQgMCE9PWMuZGNoaWxkcmVuJiZjLmRjaGlsZHJlbi5sZW5ndGg+MClpZigwPT09YSlmb3IodmFyIGw9MDtsPGMuZGNoaWxkcmVuLmxlbmd0aDtsKyspalF1ZXJ5KGMuZGNoaWxkcmVuW2xdKS5kYXRhKCJ0aW1lbGluZSIpLnBsYXkoMCk7ZWxzZSBpZihhPT09ZS5vdXRmcmFtZWluZGV4KWZvcih2YXIgbD0wO2w8Yy5kY2hpbGRyZW4ubGVuZ3RoO2wrKyliLmVuZE1vdmVDYXB0aW9uKHtjYXB0aW9uOmpRdWVyeShjLmRjaGlsZHJlbltsXSksb3B0OmosY2hlY2tjaGlsZHJlbnM6ITB9KTtwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZCx7dmlzaWJpbGl0eToidmlzaWJsZSJ9KSxlLmN1cnJlbnRfZnJhbWU9YSxlLmN1cnJlbnRfdGltZWxpbmU9ZixlLmN1cnJlbnRfdGltZWxpbmVfdGltZT1mLnRpbWUoKSxpJiYoZS5zdGF0aWNfbGF5ZXJfdGltZWxpbmVfdGltZT1lLmN1cnJlbnRfdGltZWxpbmVfdGltZSksZS5sYXN0X2ZyYW1lX3N0YXJ0ZWQ9YX0sZz1mdW5jdGlvbihhLGIsYyxkLGUsZixnLGgsaSxqKXsiY29sdW1uIj09PWQuX25jdHlwZSYmQyhpLGopLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChjLHt2aXNpYmlsaXR5OiJ2aXNpYmxlIn0pLGQuY3VycmVudF9mcmFtZT1mLGQuY3VycmVudF90aW1lbGluZT1lLGQuY3VycmVudF90aW1lbGluZV90aW1lPWUudGltZSgpLGgmJihkLnN0YXRpY19sYXllcl90aW1lbGluZV90aW1lPWQuY3VycmVudF90aW1lbGluZV90aW1lKSx2b2lkIDAhPT1kLmhvdmVyYW5pbSYmITE9PT1kLl9nc1RyYW5zZm9ybVRvJiYoZC5fZ3NUcmFuc2Zvcm1Ubz1nLGQuX2dzVHJhbnNmb3JtVG8mJmQuX2dzVHJhbnNmb3JtVG8uc3RhcnRBdCYmZGVsZXRlIGQuX2dzVHJhbnNmb3JtVG8uc3RhcnRBdCx2b2lkIDA9PT1kLmNzc29iai5zdHlsZVByb3BzLmNzcz9kLl9nc1RyYW5zZm9ybVRvPWpRdWVyeS5leHRlbmQoITAse30sZC5jc3NvYmouc3R5bGVQcm9wcyxkLl9nc1RyYW5zZm9ybVRvKTpkLl9nc1RyYW5zZm9ybVRvPWpRdWVyeS5leHRlbmQoITAse30sZC5jc3NvYmouc3R5bGVQcm9wcy5jc3MsZC5fZ3NUcmFuc2Zvcm1UbykpLGQudmlzaWJsZWVsZW1lbnQ9ITB9LGg9ZnVuY3Rpb24oYSxjLGQsZSxmLGcsaCxpLGope3ZhciBrPXt9O2subGF5ZXI9aSxrLmV2ZW50dHlwZT0wPT09YT8iZW50ZXJlZHN0YWdlIjphPT09Yy0xfHxhPT09ZD8ibGVmdHN0YWdlIjoiZnJhbWVlbmRlZCIsay5sYXllcnR5cGU9aS5kYXRhKCJsYXllcnR5cGUiKSxrLmxheWVyc2V0dGluZ3M9aS5kYXRhKCksai5jLnRyaWdnZXIoInJldm9sdXRpb24ubGF5ZXJhY3Rpb24iLFtrXSksImxlZnRzdGFnZSIhPT1rLmV2ZW50dHlwZSYmYi5hbmltY29tcGxldGVkKGksaiksImxlZnRzdGFnZSI9PT1rLmV2ZW50dHlwZSYmYi5zdG9wVmlkZW8mJmIuc3RvcFZpZGVvKGksaiksImNvbHVtbiI9PT1mLl9uY3R5cGUmJihwdW5jaGdzLlR3ZWVuTGl0ZS50byhmLl9jYmdjX21hbiwuMDEse3Zpc2liaWxpdHk6ImhpZGRlbiJ9KSxwdW5jaGdzLlR3ZWVuTGl0ZS50byhmLl9jYmdjX2F1dG8sLjAxLHt2aXNpYmlsaXR5OiJ2aXNpYmxlIn0pKSwibGVmdHN0YWdlIj09PWsuZXZlbnR0eXBlJiYoZi5hY3RpdmU9ITEscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGUse3Zpc2liaWxpdHk6ImhpZGRlbiIsb3ZlcndyaXRlOiJhdXRvIn0pLGYuYW5pbWRpcmVjdGlvbj0ib3V0IixmLnZpc2libGVlbGVtZW50PSExLGIudW5Ub2dnbGVTdGF0ZShmLmxheWVydG9nZ2xlZGJ5KSksZi5jdXJyZW50X2ZyYW1lPWEsZi5jdXJyZW50X3RpbWVsaW5lPWcsZi5jdXJyZW50X3RpbWVsaW5lX3RpbWU9Zy50aW1lKCksaCYmKGYuc3RhdGljX2xheWVyX3RpbWVsaW5lX3RpbWU9Zi5jdXJyZW50X3RpbWVsaW5lX3RpbWUpfSxpPWZ1bmN0aW9uKGEpe3ZhciBiPXt9O3JldHVybiBhLmZpcnN0ZnJhbWU9dm9pZCAwPT09YS5maXJzdGZyYW1lPyJmcmFtZV8wIjphLmZpcnN0ZnJhbWUsYS5sYXN0ZnJhbWU9dm9pZCAwPT09YS5sYXN0ZnJhbWU/ImZyYW1lXzk5OSI6YS5sYXN0ZnJhbWUsYi5pZD1hLmNhcHRpb24uZGF0YSgiaWQiKXx8YS5jYXB0aW9uLmF0dHIoImlkIiksYi5zbGlkZWlkPWEuY2FwdGlvbi5kYXRhKCJzbGlkZWlkIil8fGEuY2FwdGlvbi5jbG9zZXN0KCIudHAtcmV2c2xpZGVyLXNsaWRlc2xpIikuZGF0YSgiaW5kZXgiKSxiLnRpbWVsaW5lX29iaj1hLm9wdC50aW1lbGluZXNbYi5zbGlkZWlkXS5sYXllcnNbYi5pZF0sYi50aW1lbGluZT1iLnRpbWVsaW5lX29iai50aW1lbGluZSxiLmZmcz1iLnRpbWVsaW5lLmdldExhYmVsVGltZShhLmZpcnN0ZnJhbWUpLGIuZmZlPWIudGltZWxpbmUuZ2V0TGFiZWxUaW1lKGEuZmlyc3RmcmFtZSsiX2VuZCIpLGIubGZzPWIudGltZWxpbmUuZ2V0TGFiZWxUaW1lKGEubGFzdGZyYW1lKSxiLmxmZT1iLnRpbWVsaW5lLmdldExhYmVsVGltZShhLmxhc3RmcmFtZSsiX2VuZCIpLGIuY3Q9Yi50aW1lbGluZS50aW1lKCksYi5zdGF0aWM9dm9pZCAwIT1iLnRpbWVsaW5lX29iai5maXJzdHNsaWRlfHx2b2lkIDAhPWIudGltZWxpbmVfb2JqLmxhc3RzbGlkZSxiLnN0YXRpYyYmKGIuc2hvd29uc2xpZGU9Yi50aW1lbGluZV9vYmouZmlyc3RzbGlkZSxiLnJlbW92ZW9uc2xpZGU9Yi50aW1lbGluZV9vYmoubGFzdHNsaWRlKSxifSxqPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYyxkLGI9YS5sZW5ndGg7MCE9PWI7KWQ9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKmIpLGItPTEsYz1hW2JdLGFbYl09YVtkXSxhW2RdPWM7cmV0dXJuIGF9LGs9ZnVuY3Rpb24oYSxiKXt2YXIgYz1uZXcgQXJyYXk7c3dpdGNoKGIpe2Nhc2UiZm9yd2FyZCI6Y2FzZSJyYW5kb20iOmZvcih2YXIgZD0wO2Q8PWE7ZCsrKWMucHVzaChkKTsicmFuZG9tIj09PWImJihjPWooYykpO2JyZWFrO2Nhc2UiYmFja3dhcmQiOmZvcih2YXIgZD0wO2Q8PWE7ZCsrKWMucHVzaChhLWQpO2JyZWFrO2Nhc2UibWlkZGxldG9lZGdlIjp2YXIgZT1NYXRoLmNlaWwoYS8yKSxmPWUtMSxnPWUrMTtjLnB1c2goZSk7Zm9yKHZhciBkPTA7ZDxlO2QrKylmPj0wJiZjLnB1c2goZiksZzw9YSYmYy5wdXNoKGcpLGYtLSxnKys7YnJlYWs7Y2FzZSJlZGdldG9taWRkbGUiOmZvcih2YXIgZj1hLGc9MCxkPTA7ZDw9TWF0aC5mbG9vcihhLzIpO2QrKyljLnB1c2goZiksZzxmJiZjLnB1c2goZyksZi0tLGcrK31yZXR1cm4gY30sbD1mdW5jdGlvbihhKXt2YXIgYj17fTtmb3IodmFyIGMgaW4gYSkic3RyaW5nIj09dHlwZW9mIGFbY10mJmFbY10uaW5kZXhPZigifCIpPj0wJiYodm9pZCAwPT09YltjXSYmKGJbY109e2luZGV4OjB9KSxiW2NdLnZhbHVlcz1hW2NdLnJlcGxhY2UoIlsiLCIiKS5yZXBsYWNlKCJdIiwiIikuc3BsaXQoInwiKSxiW2NdLmxlbj1iW2NdLnZhbHVlcy5sZW5ndGgtMSk7cmV0dXJuIGJ9LG09ZnVuY3Rpb24oYSl7cmV0dXJuIGE9dm9pZCAwPT09YT9uZXcgT2JqZWN0OmEsYS5hbmltPXZvaWQgMD09PWEuYW5pbT9uZXcgT2JqZWN0OmEuYW5pbSxhLmFuaW0ueD12b2lkIDA9PT1hLmFuaW0ueD8wOmEuYW5pbS54LGEuYW5pbS55PXZvaWQgMD09PWEuYW5pbS55PzA6YS5hbmltLnksYS5hbmltLno9dm9pZCAwPT09YS5hbmltLno/MDphLmFuaW0ueixhLmFuaW0ucm90YXRpb25YPXZvaWQgMD09PWEuYW5pbS5yb3RhdGlvblg/MDphLmFuaW0ucm90YXRpb25YLGEuYW5pbS5yb3RhdGlvblk9dm9pZCAwPT09YS5hbmltLnJvdGF0aW9uWT8wOmEuYW5pbS5yb3RhdGlvblksYS5hbmltLnJvdGF0aW9uWj12b2lkIDA9PT1hLmFuaW0ucm90YXRpb25aPzA6YS5hbmltLnJvdGF0aW9uWixhLmFuaW0uc2NhbGVYPXZvaWQgMD09PWEuYW5pbS5zY2FsZVg/MTphLmFuaW0uc2NhbGVYLGEuYW5pbS5zY2FsZVk9dm9pZCAwPT09YS5hbmltLnNjYWxlWT8xOmEuYW5pbS5zY2FsZVksYS5hbmltLnNrZXdYPXZvaWQgMD09PWEuYW5pbS5za2V3WD8wOmEuYW5pbS5za2V3WCxhLmFuaW0uc2tld1k9dm9pZCAwPT09YS5hbmltLnNrZXdZPzA6YS5hbmltLnNrZXdZLGEuYW5pbS5vcGFjaXR5PXZvaWQgMD09PWEuYW5pbS5vcGFjaXR5PzE6YS5hbmltLm9wYWNpdHksYS5hbmltLnRyYW5zZm9ybU9yaWdpbj12b2lkIDA9PT1hLmFuaW0udHJhbnNmb3JtT3JpZ2luPyI1MCUgNTAlIjphLmFuaW0udHJhbnNmb3JtT3JpZ2luLGEuYW5pbS50cmFuc2Zvcm1QZXJzcGVjdGl2ZT12b2lkIDA9PT1hLmFuaW0udHJhbnNmb3JtUGVyc3BlY3RpdmU/NjAwOmEuYW5pbS50cmFuc2Zvcm1QZXJzcGVjdGl2ZSxhLmFuaW0ucm90YXRpb249dm9pZCAwPT09YS5hbmltLnJvdGF0aW9uPzA6YS5hbmltLnJvdGF0aW9uLGEuYW5pbS5mb3JjZTNEPXZvaWQgMD09PWEuYW5pbS5mb3JjZTNEPyJhdXRvIjphLmFuaW0uZm9yY2UzRCxhLmFuaW0uYXV0b0FscGhhPXZvaWQgMD09PWEuYW5pbS5hdXRvQWxwaGE/MTphLmFuaW0uYXV0b0FscGhhLGEuYW5pbS52aXNpYmlsaXR5PXZvaWQgMD09PWEuYW5pbS52aXNpYmlsaXR5PyJ2aXNpYmxlIjphLmFuaW0udmlzaWJpbGl0eSxhLmFuaW0ub3ZlcndyaXRlPXZvaWQgMD09PWEuYW5pbS5vdmVyd3JpdGU/ImF1dG8iOmEuYW5pbS5vdmVyd3JpdGUsYS5zcGVlZD12b2lkIDA9PT1hLnNwZWVkPy4zOmEuc3BlZWQsYS5maWx0ZXI9dm9pZCAwPT09YS5maWx0ZXI/ImJsdXIoMHB4KSBncmF5c2NhbGUoMCUpIGJyaWdodG5lc3MoMTAwJSkiOmEuZmlsdGVyLGFbIi13ZWJraXQtZmlsdGVyIl09dm9pZCAwPT09YVsiLXdlYmtpdC1maWx0ZXIiXT8iYmx1cigwcHgpIGdyYXlzY2FsZSgwJSkgYnJpZ2h0bmVzcygxMDAlKSI6YVsiLXdlYmtpdC1maWx0ZXIiXSxhfSxuPWZ1bmN0aW9uKCl7dmFyIGE9bmV3IE9iamVjdDtyZXR1cm4gYS5hbmltPW5ldyBPYmplY3QsYS5hbmltLnN0cm9rZT0ibm9uZSIsYS5hbmltLnN0cm9rZVdpZHRoPTAsYS5hbmltLnN0cm9rZURhc2hhcnJheT0ibm9uZSIsYS5hbmltLnN0cm9rZURhc2hvZmZzZXQ9IjAiLGF9LG89ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLnNwbGl0KCI7Iik7cmV0dXJuIGMmJmpRdWVyeS5lYWNoKGMsZnVuY3Rpb24oYSxjKXt2YXIgZD1jLnNwbGl0KCI6IiksZT1kWzBdLGY9ZFsxXTsic2MiPT1lJiYoYi5hbmltLnN0cm9rZT1mKSwic3ciPT1lJiYoYi5hbmltLnN0cm9rZVdpZHRoPWYpLCJzZGEiPT1lJiYoYi5hbmltLnN0cm9rZURhc2hhcnJheT1mKSwic2RvIj09ZSYmKGIuYW5pbS5zdHJva2VEYXNob2Zmc2V0PWYpfSksYn0scD1mdW5jdGlvbigpe3ZhciBhPW5ldyBPYmplY3Q7cmV0dXJuIGEuYW5pbT1uZXcgT2JqZWN0LGEuYW5pbS54PTAsYS5hbmltLnk9MCxhLmFuaW0uej0wLGF9LHE9ZnVuY3Rpb24oKXt2YXIgYT1uZXcgT2JqZWN0O3JldHVybiBhLmFuaW09bmV3IE9iamVjdCxhLnNwZWVkPS4yLGF9LHI9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihlPXZvaWQgMD09PWU/IiI6ZSxqUXVlcnkuaXNOdW1lcmljKHBhcnNlRmxvYXQoYSkpKXJldHVybiBwYXJzZUZsb2F0KGEpK2U7aWYodm9pZCAwPT09YXx8ImluaGVyaXQiPT09YSlyZXR1cm4gYisiZXh0IjtpZihhLnNwbGl0KCJ7IikubGVuZ3RoPjEpe3ZhciBmPWEuc3BsaXQoIiwiKSxnPXBhcnNlRmxvYXQoZlsxXS5zcGxpdCgifSIpWzBdKTtpZihmPXBhcnNlRmxvYXQoZlswXS5zcGxpdCgieyIpWzFdKSx2b2lkIDAhPT1jJiZ2b2lkIDAhPT1kKXtwYXJzZUludChNYXRoLnJhbmRvbSgpKihnLWYpLDApLHBhcnNlSW50KGYsMCk7Zm9yKHZhciBoPTA7aDxkO2grKylhPWErInwiKyhwYXJzZUludChNYXRoLnJhbmRvbSgpKihnLWYpLDApK3BhcnNlSW50KGYsMCkpK2U7YSs9Il0ifWVsc2UgYT1NYXRoLnJhbmRvbSgpKihnLWYpK2Z9cmV0dXJuIGF9LHM9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7cmV0dXJuIWpRdWVyeS5pc051bWVyaWMoYSkmJmEubWF0Y2goLyVdL2cpPyhhPWEuc3BsaXQoIlsiKVsxXS5zcGxpdCgiXSIpWzBdLCJob3Jpem9udGFsIj09Zz9hPShjKzIpKnBhcnNlSW50KGEsMCkvMTAwOiJ2ZXJ0aWNhbCI9PWcmJihhPShkKzIpKnBhcnNlSW50KGEsMCkvMTAwKSk6KGE9ImxheWVyX2xlZnQiPT09YT8wLWM6ImxheWVyX3JpZ2h0Ij09PWE/YzphLGE9ImxheWVyX3RvcCI9PT1hPzAtZDoibGF5ZXJfYm90dG9tIj09PWE/ZDphLGE9ImxlZnQiPT09YXx8InN0YWdlX2xlZnQiPT09YT8wLWMtZjoicmlnaHQiPT09YXx8InN0YWdlX3JpZ2h0Ij09PWE/Yi5jb253LWY6ImNlbnRlciI9PT1hfHwic3RhZ2VfY2VudGVyIj09PWE/Yi5jb253LzItYy8yLWY6YSxhPSJ0b3AiPT09YXx8InN0YWdlX3RvcCI9PT1hPzAtZC1lOiJib3R0b20iPT09YXx8InN0YWdlX2JvdHRvbSI9PT1hP2IuY29uaC1lOiJtaWRkbGUiPT09YXx8InN0YWdlX21pZGRsZSI9PT1hP2IuY29uaC8yLWQvMi1lOmEpLGF9LHQ9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1uZXcgT2JqZWN0O2lmKGY9alF1ZXJ5LmV4dGVuZCghMCx7fSxmLGEpLHZvaWQgMD09PWIpcmV0dXJuIGY7dmFyIGc9Yi5zcGxpdCgiOyIpLGg9IiI7cmV0dXJuIGcmJmpRdWVyeS5lYWNoKGcsZnVuY3Rpb24oYSxiKXt2YXIgZz1iLnNwbGl0KCI6IiksaT1nWzBdLGo9Z1sxXTtjJiYibm9uZSIhPT1jJiZ2b2lkIDAhPWomJmoubGVuZ3RoPjAmJmoubWF0Y2goL1woUlwpLykmJihqPWoucmVwbGFjZSgiKFIpIiwiIiksaj0icmlnaHQiPT09aj8ibGVmdCI6ImxlZnQiPT09aj8icmlnaHQiOiJ0b3AiPT09aj8iYm90dG9tIjoiYm90dG9tIj09PWo/InRvcCI6aiwiWyI9PT1qWzBdJiYiLSI9PT1qWzFdP2o9ai5yZXBsYWNlKCJbLSIsIlsiKToiWyI9PT1qWzBdJiYiLSIhPT1qWzFdP2o9ai5yZXBsYWNlKCJbIiwiWy0iKToiLSI9PT1qWzBdP2o9ai5yZXBsYWNlKCItIiwiIik6alswXS5tYXRjaCgvWzEtOV0vKSYmKGo9Ii0iK2opKSx2b2lkIDAhPWomJihqPWoucmVwbGFjZSgvXChSXCkvLCIiKSwicm90YXRpb25YIiE9aSYmInJYIiE9aXx8KGYuYW5pbS5yb3RhdGlvblg9cihqLGYuYW5pbS5yb3RhdGlvblgsZCxlLCJkZWciKSksInJvdGF0aW9uWSIhPWkmJiJyWSIhPWl8fChmLmFuaW0ucm90YXRpb25ZPXIoaixmLmFuaW0ucm90YXRpb25ZLGQsZSwiZGVnIikpLCJyb3RhdGlvbloiIT1pJiYicloiIT1pfHwoZi5hbmltLnJvdGF0aW9uPXIoaixmLmFuaW0ucm90YXRpb25aLGQsZSwiZGVnIikpLCJzY2FsZVgiIT1pJiYic1giIT1pfHwoZi5hbmltLnNjYWxlWD1yKGosZi5hbmltLnNjYWxlWCxkLGUpKSwic2NhbGVZIiE9aSYmInNZIiE9aXx8KGYuYW5pbS5zY2FsZVk9cihqLGYuYW5pbS5zY2FsZVksZCxlKSksIm9wYWNpdHkiIT1pJiYibyIhPWl8fChmLmFuaW0ub3BhY2l0eT1yKGosZi5hbmltLm9wYWNpdHksZCxlKSksImZiIj09aSYmKGg9IiI9PT1oPyJibHVyKCIrcGFyc2VJbnQoaiwwKSsicHgpIjpoKyIgYmx1cigiK3BhcnNlSW50KGosMCkrInB4KSIpLCJmZyI9PWkmJihoPSIiPT09aD8iZ3JheXNjYWxlKCIrcGFyc2VJbnQoaiwwKSsiJSkiOmgrIiBncmF5c2NhbGUoIitwYXJzZUludChqLDApKyIlKSIpLCJmYnIiPT1pJiYoaD0iIj09PWg/ImJyaWdodG5lc3MoIitwYXJzZUludChqLDApKyIlKSI6aCsiIGJyaWdodG5lc3MoIitwYXJzZUludChqLDApKyIlKSIpLDA9PT1mLmFuaW0ub3BhY2l0eSYmKGYuYW5pbS5hdXRvQWxwaGE9MCksZi5hbmltLm9wYWNpdHk9MD09Zi5hbmltLm9wYWNpdHk/MWUtNDpmLmFuaW0ub3BhY2l0eSwic2tld1giIT1pJiYic2tYIiE9aXx8KGYuYW5pbS5za2V3WD1yKGosZi5hbmltLnNrZXdYLGQsZSkpLCJza2V3WSIhPWkmJiJza1kiIT1pfHwoZi5hbmltLnNrZXdZPXIoaixmLmFuaW0uc2tld1ksZCxlKSksIngiPT1pJiYoZi5hbmltLng9cihqLGYuYW5pbS54LGQsZSkpLCJ5Ij09aSYmKGYuYW5pbS55PXIoaixmLmFuaW0ueSxkLGUpKSwieiI9PWkmJihmLmFuaW0uej1yKGosZi5hbmltLnosZCxlKSksInRyYW5zZm9ybU9yaWdpbiIhPWkmJiJ0TyIhPWl8fChmLmFuaW0udHJhbnNmb3JtT3JpZ2luPWoudG9TdHJpbmcoKSksInRyYW5zZm9ybVBlcnNwZWN0aXZlIiE9aSYmInRQIiE9aXx8KGYuYW5pbS50cmFuc2Zvcm1QZXJzcGVjdGl2ZT1wYXJzZUludChqLDApKSwic3BlZWQiIT1pJiYicyIhPWl8fChmLnNwZWVkPXBhcnNlRmxvYXQoaikpKX0pLCIiIT09aCYmKGYuYW5pbVsiLXdlYmtpdC1maWx0ZXIiXT1oLGYuYW5pbS5maWx0ZXI9aCksZn0sdT1mdW5jdGlvbihhKXtpZih2b2lkIDA9PT1hKXJldHVybiExO3ZhciBiPW5ldyBPYmplY3Q7Yi5hbmltPW5ldyBPYmplY3Q7dmFyIGM9YS5zcGxpdCgiOyIpO3JldHVybiBjJiZqUXVlcnkuZWFjaChjLGZ1bmN0aW9uKGEsYyl7Yz1jLnNwbGl0KCI6Iik7dmFyIGQ9Y1swXSxlPWNbMV07IngiPT1kJiYoYi5hbmltLng9ZSksInkiPT1kJiYoYi5hbmltLnk9ZSksInMiPT1kJiYoYi5zcGVlZD1wYXJzZUZsb2F0KGUpKSwiZSIhPWQmJiJlYXNlIiE9ZHx8KGIuYW5pbS5lYXNlPWUpfSksYn0sdj1mdW5jdGlvbihhLGIsYyl7aWYodm9pZCAwPT1hJiYoYT0wKSwhalF1ZXJ5LmlzQXJyYXkoYSkmJiJzdHJpbmciPT09alF1ZXJ5LnR5cGUoYSkmJihhLnNwbGl0KCIsIikubGVuZ3RoPjF8fGEuc3BsaXQoIlsiKS5sZW5ndGg+MSkpe2E9YS5yZXBsYWNlKCJbIiwiIiksYT1hLnJlcGxhY2UoIl0iLCIiKTt2YXIgZD1hLm1hdGNoKC8nL2cpP2Euc3BsaXQoIicsIik6YS5zcGxpdCgiLCIpO2E9bmV3IEFycmF5LGQmJmpRdWVyeS5lYWNoKGQsZnVuY3Rpb24oYixjKXtjPWMucmVwbGFjZSgiJyIsIiIpLGM9Yy5yZXBsYWNlKCInIiwiIiksYS5wdXNoKGMpfSl9ZWxzZXt2YXIgZT1hO2pRdWVyeS5pc0FycmF5KGEpfHwoYT1uZXcgQXJyYXksYS5wdXNoKGUpKX12YXIgZT1hW2EubGVuZ3RoLTFdO2lmKGEubGVuZ3RoPGIucmxlKWZvcih2YXIgZj0xO2Y8PWIuY3VyV2luUmFuZ2U7ZisrKWEucHVzaChlKTtyZXR1cm4gYX0seD1mdW5jdGlvbihhLGIpe2lmKHZvaWQgMD09PWIpcmV0dXJuIGE7Yj1iLnJlcGxhY2UoImM6IiwiY29sb3I6IiksYj1iLnJlcGxhY2UoImJnOiIsImJhY2tncm91bmQtY29sb3I6IiksYj1iLnJlcGxhY2UoImJ3OiIsImJvcmRlci13aWR0aDoiKSxiPWIucmVwbGFjZSgiYmM6IiwiYm9yZGVyLWNvbG9yOiIpLGI9Yi5yZXBsYWNlKCJicjoiLCJib3JkZXJSYWRpdXM6IiksYj1iLnJlcGxhY2UoImJzOiIsImJvcmRlci1zdHlsZToiKSxiPWIucmVwbGFjZSgidGQ6IiwidGV4dC1kZWNvcmF0aW9uOiIpLGI9Yi5yZXBsYWNlKCJ6aToiLCJ6SW5kZXg6Iik7dmFyIGM9Yi5zcGxpdCgiOyIpO3JldHVybiBjJiZqUXVlcnkuZWFjaChjLGZ1bmN0aW9uKGIsYyl7dmFyIGQ9Yy5zcGxpdCgiOiIpO2RbMF0ubGVuZ3RoPjAmJigiYmFja2dyb3VuZC1jb2xvciI9PT1kWzBdJiZkWzFdLmluZGV4T2YoImdyYWRpZW50Iik+PTAmJihkWzBdPSJiYWNrZ3JvdW5kIiksYS5hbmltW2RbMF1dPWRbMV0pfSksYX0seT1mdW5jdGlvbihhLGIpe3ZhciBlLGM9bmV3IE9iamVjdCxkPSExO2lmKCJyZWt1cnNpdmUiPT1iJiYoZT1hLmNsb3Nlc3QoIi50cC1jYXB0aW9uIikpJiZhLmNzcygiZm9udFNpemUiKT09PWUuY3NzKCJmb250U2l6ZSIpJiZhLmNzcygiZm9udFdlaWdodCIpPT09ZS5jc3MoImZvbnRXZWlnaHQiKSYmYS5jc3MoImxpbmVIZWlnaHQiKT09PWUuY3NzKCJsaW5lSGVpZ2h0IikmJihkPSEwKSxjLmJhc2VhbGlnbj1hLmRhdGEoImJhc2VhbGlnbiIpfHwiZ3JpZCIsYy5mb250U2l6ZT1kP3ZvaWQgMD09PWUuZGF0YSgiZm9udHNpemUiKT9wYXJzZUludChlLmNzcygiZm9udFNpemUiKSwwKXx8MDplLmRhdGEoImZvbnRzaXplIik6dm9pZCAwPT09YS5kYXRhKCJmb250c2l6ZSIpP3BhcnNlSW50KGEuY3NzKCJmb250U2l6ZSIpLDApfHwwOmEuZGF0YSgiZm9udHNpemUiKSxjLmZvbnRXZWlnaHQ9ZD92b2lkIDA9PT1lLmRhdGEoImZvbnR3ZWlnaHQiKT9wYXJzZUludChlLmNzcygiZm9udFdlaWdodCIpLDApfHwwOmUuZGF0YSgiZm9udHdlaWdodCIpOnZvaWQgMD09PWEuZGF0YSgiZm9udHdlaWdodCIpP3BhcnNlSW50KGEuY3NzKCJmb250V2VpZ2h0IiksMCl8fDA6YS5kYXRhKCJmb250d2VpZ2h0IiksYy53aGl0ZVNwYWNlPWQ/dm9pZCAwPT09ZS5kYXRhKCJ3aGl0ZXNwYWNlIik/ZS5jc3MoIndoaXRlc3BhY2UiKXx8Im5vcm1hbCI6ZS5kYXRhKCJ3aGl0ZXNwYWNlIik6dm9pZCAwPT09YS5kYXRhKCJ3aGl0ZXNwYWNlIik/YS5jc3MoIndoaXRlc3BhY2UiKXx8Im5vcm1hbCI6YS5kYXRhKCJ3aGl0ZXNwYWNlIiksYy50ZXh0QWxpZ249ZD92b2lkIDA9PT1lLmRhdGEoInRleHRhbGlnbiIpP2UuY3NzKCJ0ZXh0YWxpZ24iKXx8ImluaGVyaXQiOmUuZGF0YSgidGV4dGFsaWduIik6dm9pZCAwPT09YS5kYXRhKCJ0ZXh0YWxpZ24iKT9hLmNzcygidGV4dGFsaWduIil8fCJpbmhlcml0IjphLmRhdGEoInRleHRhbGlnbiIpLGMuekluZGV4PWQ/dm9pZCAwPT09ZS5kYXRhKCJ6SW5kZXgiKT9lLmNzcygiekluZGV4Iil8fCJpbmhlcml0IjplLmRhdGEoInpJbmRleCIpOnZvaWQgMD09PWEuZGF0YSgiekluZGV4Iik/YS5jc3MoInpJbmRleCIpfHwiaW5oZXJpdCI6YS5kYXRhKCJ6SW5kZXgiKSwtMSE9PWpRdWVyeS5pbkFycmF5KGEuZGF0YSgibGF5ZXJ0eXBlIiksWyJ2aWRlbyIsImltYWdlIiwiYXVkaW8iXSl8fGEuaXMoImltZyIpP2MubGluZUhlaWdodD0wOmMubGluZUhlaWdodD1kP3ZvaWQgMD09PWUuZGF0YSgibGluZWhlaWdodCIpP3BhcnNlSW50KGUuY3NzKCJsaW5lSGVpZ2h0IiksMCl8fDA6ZS5kYXRhKCJsaW5laGVpZ2h0Iik6dm9pZCAwPT09YS5kYXRhKCJsaW5laGVpZ2h0Iik/cGFyc2VJbnQoYS5jc3MoImxpbmVIZWlnaHQiKSwwKXx8MDphLmRhdGEoImxpbmVoZWlnaHQiKSxjLmxldHRlclNwYWNpbmc9ZD92b2lkIDA9PT1lLmRhdGEoImxldHRlcnNwYWNpbmciKT9wYXJzZUZsb2F0KGUuY3NzKCJsZXR0ZXJTcGFjaW5nIiksMCl8fDA6ZS5kYXRhKCJsZXR0ZXJzcGFjaW5nIik6dm9pZCAwPT09YS5kYXRhKCJsZXR0ZXJzcGFjaW5nIik/cGFyc2VGbG9hdChhLmNzcygibGV0dGVyU3BhY2luZyIpKXx8MDphLmRhdGEoImxldHRlcnNwYWNpbmciKSxjLnBhZGRpbmdUb3A9dm9pZCAwPT09YS5kYXRhKCJwYWRkaW5ndG9wIik/cGFyc2VJbnQoYS5jc3MoInBhZGRpbmdUb3AiKSwwKXx8MDphLmRhdGEoInBhZGRpbmd0b3AiKSxjLnBhZGRpbmdCb3R0b209dm9pZCAwPT09YS5kYXRhKCJwYWRkaW5nYm90dG9tIik/cGFyc2VJbnQoYS5jc3MoInBhZGRpbmdCb3R0b20iKSwwKXx8MDphLmRhdGEoInBhZGRpbmdib3R0b20iKSxjLnBhZGRpbmdMZWZ0PXZvaWQgMD09PWEuZGF0YSgicGFkZGluZ2xlZnQiKT9wYXJzZUludChhLmNzcygicGFkZGluZ0xlZnQiKSwwKXx8MDphLmRhdGEoInBhZGRpbmdsZWZ0IiksYy5wYWRkaW5nUmlnaHQ9dm9pZCAwPT09YS5kYXRhKCJwYWRkaW5ncmlnaHQiKT9wYXJzZUludChhLmNzcygicGFkZGluZ1JpZ2h0IiksMCl8fDA6YS5kYXRhKCJwYWRkaW5ncmlnaHQiKSxjLm1hcmdpblRvcD12b2lkIDA9PT1hLmRhdGEoIm1hcmdpbnRvcCIpP3BhcnNlSW50KGEuY3NzKCJtYXJnaW5Ub3AiKSwwKXx8MDphLmRhdGEoIm1hcmdpbnRvcCIpLGMubWFyZ2luQm90dG9tPXZvaWQgMD09PWEuZGF0YSgibWFyZ2luYm90dG9tIik/cGFyc2VJbnQoYS5jc3MoIm1hcmdpbkJvdHRvbSIpLDApfHwwOmEuZGF0YSgibWFyZ2luYm90dG9tIiksYy5tYXJnaW5MZWZ0PXZvaWQgMD09PWEuZGF0YSgibWFyZ2lubGVmdCIpP3BhcnNlSW50KGEuY3NzKCJtYXJnaW5MZWZ0IiksMCl8fDA6YS5kYXRhKCJtYXJnaW5sZWZ0IiksYy5tYXJnaW5SaWdodD12b2lkIDA9PT1hLmRhdGEoIm1hcmdpbnJpZ2h0Iik/cGFyc2VJbnQoYS5jc3MoIm1hcmdpblJpZ2h0IiksMCl8fDA6YS5kYXRhKCJtYXJnaW5yaWdodCIpLGMuYm9yZGVyVG9wV2lkdGg9dm9pZCAwPT09YS5kYXRhKCJib3JkZXJ0b3B3aWR0aCIpP3BhcnNlSW50KGEuY3NzKCJib3JkZXJUb3BXaWR0aCIpLDApfHwwOmEuZGF0YSgiYm9yZGVydG9wd2lkdGgiKSxjLmJvcmRlckJvdHRvbVdpZHRoPXZvaWQgMD09PWEuZGF0YSgiYm9yZGVyYm90dG9td2lkdGgiKT9wYXJzZUludChhLmNzcygiYm9yZGVyQm90dG9tV2lkdGgiKSwwKXx8MDphLmRhdGEoImJvcmRlcmJvdHRvbXdpZHRoIiksYy5ib3JkZXJMZWZ0V2lkdGg9dm9pZCAwPT09YS5kYXRhKCJib3JkZXJsZWZ0d2lkdGgiKT9wYXJzZUludChhLmNzcygiYm9yZGVyTGVmdFdpZHRoIiksMCl8fDA6YS5kYXRhKCJib3JkZXJsZWZ0d2lkdGgiKSxjLmJvcmRlclJpZ2h0V2lkdGg9dm9pZCAwPT09YS5kYXRhKCJib3JkZXJyaWdodHdpZHRoIik/cGFyc2VJbnQoYS5jc3MoImJvcmRlclJpZ2h0V2lkdGgiKSwwKXx8MDphLmRhdGEoImJvcmRlcnJpZ2h0d2lkdGgiKSwicmVrdXJzaXZlIiE9Yil7aWYoYy5jb2xvcj12b2lkIDA9PT1hLmRhdGEoImNvbG9yIik/Im5vcHJlZGVmaW5lZGNvbG9yIjphLmRhdGEoImNvbG9yIiksYy53aGl0ZVNwYWNlPWQ/dm9pZCAwPT09ZS5kYXRhKCJ3aGl0ZXNwYWNlIik/ZS5jc3MoIndoaXRlU3BhY2UiKXx8Im5vd3JhcCI6ZS5kYXRhKCJ3aGl0ZXNwYWNlIik6dm9pZCAwPT09YS5kYXRhKCJ3aGl0ZXNwYWNlIik/YS5jc3MoIndoaXRlU3BhY2UiKXx8Im5vd3JhcCI6YS5kYXRhKCJ3aGl0ZXNwYWNlIiksYy50ZXh0QWxpZ249ZD92b2lkIDA9PT1lLmRhdGEoInRleHRhbGlnbiIpP2UuY3NzKCJ0ZXh0YWxpZ24iKXx8ImluaGVyaXQiOmUuZGF0YSgidGV4dGFsaWduIik6dm9pZCAwPT09YS5kYXRhKCJ0ZXh0YWxpZ24iKT9hLmNzcygidGV4dGFsaWduIil8fCJpbmhlcml0IjphLmRhdGEoInRleHRhbGlnbiIpLGMuZm9udFdlaWdodD1kP3ZvaWQgMD09PWUuZGF0YSgiZm9udHdlaWdodCIpP3BhcnNlSW50KGUuY3NzKCJmb250V2VpZ2h0IiksMCl8fDA6ZS5kYXRhKCJmb250d2VpZ2h0Iik6dm9pZCAwPT09YS5kYXRhKCJmb250d2VpZ2h0Iik/cGFyc2VJbnQoYS5jc3MoImZvbnRXZWlnaHQiKSwwKXx8MDphLmRhdGEoImZvbnR3ZWlnaHQiKSxjLm1pbldpZHRoPXZvaWQgMD09PWEuZGF0YSgid2lkdGgiKT9wYXJzZUludChhLmNzcygibWluV2lkdGgiKSwwKXx8MDphLmRhdGEoIndpZHRoIiksYy5taW5IZWlnaHQ9dm9pZCAwPT09YS5kYXRhKCJoZWlnaHQiKT9wYXJzZUludChhLmNzcygibWluSGVpZ2h0IiksMCl8fDA6YS5kYXRhKCJoZWlnaHQiKSx2b2lkIDAhPWEuZGF0YSgidmlkZW93aWR0aCIpJiZ2b2lkIDAhPWEuZGF0YSgidmlkZW9oZWlnaHQiKSl7dmFyIGY9YS5kYXRhKCJ2aWRlb3dpZHRoIiksZz1hLmRhdGEoInZpZGVvaGVpZ2h0Iik7Zj0iMTAwJSI9PT1mPyJub25lIjpmLGc9IjEwMCUiPT09Zz8ibm9uZSI6ZyxhLmRhdGEoIndpZHRoIixmKSxhLmRhdGEoImhlaWdodCIsZyl9Yy5tYXhXaWR0aD12b2lkIDA9PT1hLmRhdGEoIndpZHRoIik/cGFyc2VJbnQoYS5jc3MoIm1heFdpZHRoIiksMCl8fCJub25lIjphLmRhdGEoIndpZHRoIiksYy5tYXhIZWlnaHQ9LTEhPT1qUXVlcnkuaW5BcnJheShhLmRhdGEoInR5cGUiKSxbImNvbHVtbiIsInJvdyJdKT8ibm9uZSI6dm9pZCAwPT09YS5kYXRhKCJoZWlnaHQiKT9wYXJzZUludChhLmNzcygibWF4SGVpZ2h0IiksMCl8fCJub25lIjphLmRhdGEoImhlaWdodCIpLGMud2FuPXZvaWQgMD09PWEuZGF0YSgid2FuIik/cGFyc2VJbnQoYS5jc3MoIi13ZWJraXQtdHJhbnNpdGlvbiIpLDApfHwibm9uZSI6YS5kYXRhKCJ3YW4iKSxjLm1vYW49dm9pZCAwPT09YS5kYXRhKCJtb2FuIik/cGFyc2VJbnQoYS5jc3MoIi1tb3otYW5pbWF0aW9uLXRyYW5zaXRpb24iKSwwKXx8Im5vbmUiOmEuZGF0YSgibW9hbiIpLGMubWFuPXZvaWQgMD09PWEuZGF0YSgibWFuIik/cGFyc2VJbnQoYS5jc3MoIi1tcy1hbmltYXRpb24tdHJhbnNpdGlvbiIpLDApfHwibm9uZSI6YS5kYXRhKCJtYW4iKSxjLmFuaT12b2lkIDA9PT1hLmRhdGEoImFuaSIpP3BhcnNlSW50KGEuY3NzKCJ0cmFuc2l0aW9uIiksMCl8fCJub25lIjphLmRhdGEoImFuaSIpfXJldHVybiBjLnN0eWxlUHJvcHM9e2JvcmRlclRvcExlZnRSYWRpdXM6YVswXS5zdHlsZS5ib3JkZXJUb3BMZWZ0UmFkaXVzLGJvcmRlclRvcFJpZ2h0UmFkaXVzOmFbMF0uc3R5bGUuYm9yZGVyVG9wUmlnaHRSYWRpdXMsYm9yZGVyQm90dG9tUmlnaHRSYWRpdXM6YVswXS5zdHlsZS5ib3JkZXJCb3R0b21SaWdodFJhZGl1cyxib3JkZXJCb3R0b21MZWZ0UmFkaXVzOmFbMF0uc3R5bGUuYm9yZGVyQm90dG9tTGVmdFJhZGl1cyxiYWNrZ3JvdW5kOmFbMF0uc3R5bGUuYmFja2dyb3VuZCxib3hTaGFkb3c6YVswXS5zdHlsZS5ib3hTaGFkb3csImJhY2tncm91bmQtY29sb3IiOmFbMF0uc3R5bGVbImJhY2tncm91bmQtY29sb3IiXSwiYm9yZGVyLXRvcC1jb2xvciI6YVswXS5zdHlsZVsiYm9yZGVyLXRvcC1jb2xvciJdLCJib3JkZXItYm90dG9tLWNvbG9yIjphWzBdLnN0eWxlWyJib3JkZXItYm90dG9tLWNvbG9yIl0sImJvcmRlci1yaWdodC1jb2xvciI6YVswXS5zdHlsZVsiYm9yZGVyLXJpZ2h0LWNvbG9yIl0sImJvcmRlci1sZWZ0LWNvbG9yIjphWzBdLnN0eWxlWyJib3JkZXItbGVmdC1jb2xvciJdLCJib3JkZXItdG9wLXN0eWxlIjphWzBdLnN0eWxlWyJib3JkZXItdG9wLXN0eWxlIl0sImJvcmRlci1ib3R0b20tc3R5bGUiOmFbMF0uc3R5bGVbImJvcmRlci1ib3R0b20tc3R5bGUiXSwiYm9yZGVyLWxlZnQtc3R5bGUiOmFbMF0uc3R5bGVbImJvcmRlci1sZWZ0LXN0eWxlIl0sImJvcmRlci1yaWdodC1zdHlsZSI6YVswXS5zdHlsZVsiYm9yZGVyLXJpZ2h0LXN0eWxlIl0sImJvcmRlci1sZWZ0LXdpZHRoIjphWzBdLnN0eWxlWyJib3JkZXItbGVmdC13aWR0aCJdLCJib3JkZXItcmlnaHQtd2lkdGgiOmFbMF0uc3R5bGVbImJvcmRlci1yaWdodC13aWR0aCJdLCJib3JkZXItYm90dG9tLXdpZHRoIjphWzBdLnN0eWxlWyJib3JkZXItYm90dG9tLXdpZHRoIl0sImJvcmRlci10b3Atd2lkdGgiOmFbMF0uc3R5bGVbImJvcmRlci10b3Atd2lkdGgiXSxjb2xvcjphWzBdLnN0eWxlLmNvbG9yLCJ0ZXh0LWRlY29yYXRpb24iOmFbMF0uc3R5bGVbInRleHQtZGVjb3JhdGlvbiJdLCJmb250LXN0eWxlIjphWzBdLnN0eWxlWyJmb250LXN0eWxlIl19LCIiIT09Yy5zdHlsZVByb3BzLmJhY2tncm91bmQmJnZvaWQgMCE9PWMuc3R5bGVQcm9wcy5iYWNrZ3JvdW5kJiZjLnN0eWxlUHJvcHMuYmFja2dyb3VuZCE9PWMuc3R5bGVQcm9wc1siYmFja2dyb3VuZC1jb2xvciJdfHxkZWxldGUgYy5zdHlsZVByb3BzLmJhY2tncm91bmQsIiI9PWMuc3R5bGVQcm9wcy5jb2xvciYmKGMuc3R5bGVQcm9wcy5jb2xvcj1hLmNzcygiY29sb3IiKSksY30sej1mdW5jdGlvbihhLGIpe3ZhciBjPW5ldyBPYmplY3Q7cmV0dXJuIGEmJmpRdWVyeS5lYWNoKGEsZnVuY3Rpb24oZCxlKXt2YXIgZj12KGUsYilbYi5jdXJXaW5SYW5nZV07Y1tkXT12b2lkIDAhPT1mP2Y6YVtkXX0pLGN9LEE9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIGE9alF1ZXJ5LmlzTnVtZXJpYyhhKT9hKmIrInB4IjphLGE9ImZ1bGwiPT09YT9kOiJhdXRvIj09PWF8fCJub25lIj09PWE/YzphfSxCPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEuZGF0YSgpO2U9dm9pZCAwPT09ZT97fTplO3RyeXtpZigiQlIiPT1hWzBdLm5vZGVOYW1lfHwiYnIiPT1hWzBdLnRhZ05hbWUpcmV0dXJuITF9Y2F0Y2goYSl7fWUuY3Nzb2JqPXZvaWQgMD09PWUuY3Nzb2JqP3koYSxjKTplLmNzc29iajt2YXIgZj16KGUuY3Nzb2JqLGIpLGc9Yi5idyxoPWIuYmg7Im9mZiI9PT1kJiYoZz0xLGg9MSksImF1dG8iPT1mLmxpbmVIZWlnaHQmJihmLmxpbmVIZWlnaHQ9Zi5mb250U2l6ZSs0KTt2YXIgaT17VG9wOmYubWFyZ2luVG9wLEJvdHRvbTpmLm1hcmdpbkJvdHRvbSxMZWZ0OmYubWFyZ2luTGVmdCxSaWdodDpmLm1hcmdpblJpZ2h0fTtpZigiY29sdW1uIj09PWUuX25jdHlwZSYmKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChlLl9jb2x1bW4se3BhZGRpbmdUb3A6TWF0aC5yb3VuZChmLm1hcmdpblRvcCpoKSsicHgiLHBhZGRpbmdCb3R0b206TWF0aC5yb3VuZChmLm1hcmdpbkJvdHRvbSpoKSsicHgiLHBhZGRpbmdMZWZ0Ok1hdGgucm91bmQoZi5tYXJnaW5MZWZ0KmcpKyJweCIscGFkZGluZ1JpZ2h0Ok1hdGgucm91bmQoZi5tYXJnaW5SaWdodCpnKSsicHgifSksaT17VG9wOjAsQm90dG9tOjAsTGVmdDowLFJpZ2h0OjB9KSwhYS5oYXNDbGFzcygidHAtc3BsaXR0ZWQiKSl7YS5jc3MoIi13ZWJraXQtdHJhbnNpdGlvbiIsIm5vbmUiKSxhLmNzcygiLW1vei10cmFuc2l0aW9uIiwibm9uZSIpLGEuY3NzKCItbXMtdHJhbnNpdGlvbiIsIm5vbmUiKSxhLmNzcygidHJhbnNpdGlvbiIsIm5vbmUiKTtpZigodm9pZCAwIT09YS5kYXRhKCJ0cmFuc2Zvcm1faG92ZXIiKXx8dm9pZCAwIT09YS5kYXRhKCJzdHlsZV9ob3ZlciIpKSYmcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEsZi5zdHlsZVByb3BzKSxwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYSx7Zm9udFNpemU6TWF0aC5yb3VuZChmLmZvbnRTaXplKmcpKyJweCIsZm9udFdlaWdodDpmLmZvbnRXZWlnaHQsbGV0dGVyU3BhY2luZzpNYXRoLmZsb29yKGYubGV0dGVyU3BhY2luZypnKSsicHgiLHBhZGRpbmdUb3A6TWF0aC5yb3VuZChmLnBhZGRpbmdUb3AqaCkrInB4IixwYWRkaW5nQm90dG9tOk1hdGgucm91bmQoZi5wYWRkaW5nQm90dG9tKmgpKyJweCIscGFkZGluZ0xlZnQ6TWF0aC5yb3VuZChmLnBhZGRpbmdMZWZ0KmcpKyJweCIscGFkZGluZ1JpZ2h0Ok1hdGgucm91bmQoZi5wYWRkaW5nUmlnaHQqZykrInB4IixtYXJnaW5Ub3A6aS5Ub3AqaCsicHgiLG1hcmdpbkJvdHRvbTppLkJvdHRvbSpoKyJweCIsbWFyZ2luTGVmdDppLkxlZnQqZysicHgiLG1hcmdpblJpZ2h0OmkuUmlnaHQqZysicHgiLGJvcmRlclRvcFdpZHRoOk1hdGgucm91bmQoZi5ib3JkZXJUb3BXaWR0aCpoKSsicHgiLGJvcmRlckJvdHRvbVdpZHRoOk1hdGgucm91bmQoZi5ib3JkZXJCb3R0b21XaWR0aCpoKSsicHgiLGJvcmRlckxlZnRXaWR0aDpNYXRoLnJvdW5kKGYuYm9yZGVyTGVmdFdpZHRoKmcpKyJweCIsYm9yZGVyUmlnaHRXaWR0aDpNYXRoLnJvdW5kKGYuYm9yZGVyUmlnaHRXaWR0aCpnKSsicHgiLGxpbmVIZWlnaHQ6TWF0aC5yb3VuZChmLmxpbmVIZWlnaHQqaCkrInB4Iix0ZXh0QWxpZ246Zi50ZXh0QWxpZ24sb3ZlcndyaXRlOiJhdXRvIn0pLCJyZWt1cnNpdmUiIT1jKXt2YXIgaz0ic2xpZGUiPT1mLmJhc2VhbGlnbj9iLnVsdzpiLmdyaWR3aWR0aFtiLmN1cldpblJhbmdlXSxsPSJzbGlkZSI9PWYuYmFzZWFsaWduP2IudWxoOmIuZ3JpZGhlaWdodFtiLmN1cldpblJhbmdlXSxtPUEoZi5tYXhXaWR0aCxnLCJub25lIixrKSxuPUEoZi5tYXhIZWlnaHQsaCwibm9uZSIsbCksbz1BKGYubWluV2lkdGgsZywiMHB4IixrKSxwPUEoZi5taW5IZWlnaHQsaCwiMHB4IixsKTtpZihvPXZvaWQgMD09PW8/MDpvLHA9dm9pZCAwPT09cD8wOnAsbT12b2lkIDA9PT1tPyJub25lIjptLG49dm9pZCAwPT09bj8ibm9uZSI6bixlLl9pc2dyb3VwJiYoIiMxLzEjIj09PW8mJihvPW09ayksIiMxLzIjIj09PW8mJihvPW09ay8yKSwiIzEvMyMiPT09byYmKG89bT1rLzMpLCIjMS80IyI9PT1vJiYobz1tPWsvNCksIiMxLzUjIj09PW8mJihvPW09ay81KSwiIzEvNiMiPT09byYmKG89bT1rLzYpLCIjMi8zIyI9PT1vJiYobz1tPWsvMyoyKSwiIzMvNCMiPT09byYmKG89bT1rLzQqMyksIiMyLzUjIj09PW8mJihvPW09ay81KjIpLCIjMy81IyI9PT1vJiYobz1tPWsvNSozKSwiIzQvNSMiPT09byYmKG89bT1rLzUqNCksIiMzLzYjIj09PW8mJihvPW09ay82KjMpLCIjNC82IyI9PT1vJiYobz1tPWsvNio0KSwiIzUvNiMiPT09byYmKG89bT1rLzYqNSkpLGUuX2luZ3JvdXAmJihlLl9ncm91cHc9byxlLl9ncm91cGg9cCkscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEse21heFdpZHRoOm0sbWF4SGVpZ2h0Om4sbWluV2lkdGg6byxtaW5IZWlnaHQ6cCx3aGl0ZVNwYWNlOmYud2hpdGVTcGFjZSx0ZXh0QWxpZ246Zi50ZXh0QWxpZ24sb3ZlcndyaXRlOiJhdXRvIn0pLCJub3ByZWRlZmluZWRjb2xvciIhPWYuY29sb3ImJnB1bmNoZ3MuVHdlZW5MaXRlLnNldChhLHtjb2xvcjpmLmNvbG9yLG92ZXJ3cml0ZToiYXV0byJ9KSx2b2lkIDAhPWUuc3ZnX3NyYyl7dmFyIHE9Im5vcHJlZGVmaW5lZGNvbG9yIiE9Zi5jb2xvciYmdm9pZCAwIT1mLmNvbG9yP2YuY29sb3I6dm9pZCAwIT1mLmNzcyYmIm5vcHJlZGVmaW5lZGNvbG9yIiE9Zi5jc3MuY29sb3ImJnZvaWQgMCE9Zi5jc3MuY29sb3I/Zi5jc3MuY29sb3I6dm9pZCAwIT1mLnN0eWxlUHJvcHMuY29sb3I/Zi5zdHlsZVByb3BzLmNvbG9yOnZvaWQgMCE9Zi5zdHlsZVByb3BzLmNzcyYmdm9pZCAwIT1mLnN0eWxlUHJvcHMuY3NzLmNvbG9yJiZmLnN0eWxlUHJvcHMuY3NzLmNvbG9yOzAhPXEmJihwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYS5maW5kKCJzdmciKSx7ZmlsbDpxLG92ZXJ3cml0ZToiYXV0byJ9KSxwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYS5maW5kKCJzdmcgcGF0aCIpLHtmaWxsOnEsb3ZlcndyaXRlOiJhdXRvIn0pKX19ImNvbHVtbiI9PT1lLl9uY3R5cGUmJih2b2lkIDA9PT1lLl9jb2x1bW5fYmdfc2V0JiYoZS5fY29sdW1uX2JnX3NldD1hLmNzcygiYmFja2dyb3VuZENvbG9yIiksZS5fY29sdW1uX2JnX2ltYWdlPWEuY3NzKCJiYWNrZ3JvdW5kSW1hZ2UiKSxlLl9jb2x1bW5fYmdfaW1hZ2VfcmVwZWF0PWEuY3NzKCJiYWNrZ3JvdW5kUmVwZWF0IiksZS5fY29sdW1uX2JnX2ltYWdlX3Bvc2l0aW9uPWEuY3NzKCJiYWNrZ3JvdW5kUG9zaXRpb24iKSxlLl9jb2x1bW5fYmdfaW1hZ2Vfc2l6ZT1hLmNzcygiYmFja2dyb3VuZFNpemUiKSxlLl9jb2x1bW5fYmdfb3BhY2l0eT1hLmRhdGEoImJnb3BhY2l0eSIpLGUuX2NvbHVtbl9iZ19vcGFjaXR5PXZvaWQgMD09PWUuX2NvbHVtbl9iZ19vcGFjaXR5PzE6ZS5fY29sdW1uX2JnX29wYWNpdHkscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEse2JhY2tncm91bmRDb2xvcjoidHJhbnNwYXJlbnQiLGJhY2tncm91bmRJbWFnZToiIn0pKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7QyhhLGIpfSwxKSxlLl9jYmdjX2F1dG8mJmUuX2NiZ2NfYXV0by5sZW5ndGg+MCYmKGUuX2NiZ2NfYXV0b1swXS5zdHlsZS5iYWNrZ3JvdW5kU2l6ZT1lLl9jb2x1bW5fYmdfaW1hZ2Vfc2l6ZSxqUXVlcnkuaXNBcnJheShmLm1hcmdpbkxlZnQpP3B1bmNoZ3MuVHdlZW5MaXRlLnNldChlLl9jYmdjX2F1dG8se2JvcmRlclRvcFdpZHRoOmYubWFyZ2luVG9wW2IuY3VyV2luUmFuZ2VdKmgrInB4Iixib3JkZXJMZWZ0V2lkdGg6Zi5tYXJnaW5MZWZ0W2IuY3VyV2luUmFuZ2VdKmcrInB4Iixib3JkZXJSaWdodFdpZHRoOmYubWFyZ2luUmlnaHRbYi5jdXJXaW5SYW5nZV0qZysicHgiLGJvcmRlckJvdHRvbVdpZHRoOmYubWFyZ2luQm90dG9tW2IuY3VyV2luUmFuZ2VdKmgrInB4IixiYWNrZ3JvdW5kQ29sb3I6ZS5fY29sdW1uX2JnX3NldCxiYWNrZ3JvdW5kSW1hZ2U6ZS5fY29sdW1uX2JnX2ltYWdlLGJhY2tncm91bmRSZXBlYXQ6ZS5fY29sdW1uX2JnX2ltYWdlX3JlcGVhdCxiYWNrZ3JvdW5kUG9zaXRpb246ZS5fY29sdW1uX2JnX2ltYWdlX3Bvc2l0aW9uLG9wYWNpdHk6ZS5fY29sdW1uX2JnX29wYWNpdHl9KTpwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZS5fY2JnY19hdXRvLHtib3JkZXJUb3BXaWR0aDpmLm1hcmdpblRvcCpoKyJweCIsYm9yZGVyTGVmdFdpZHRoOmYubWFyZ2luTGVmdCpnKyJweCIsYm9yZGVyUmlnaHRXaWR0aDpmLm1hcmdpblJpZ2h0KmcrInB4Iixib3JkZXJCb3R0b21XaWR0aDpmLm1hcmdpbkJvdHRvbSpoKyJweCIsYmFja2dyb3VuZENvbG9yOmUuX2NvbHVtbl9iZ19zZXQsYmFja2dyb3VuZEltYWdlOmUuX2NvbHVtbl9iZ19pbWFnZSxiYWNrZ3JvdW5kUmVwZWF0OmUuX2NvbHVtbl9iZ19pbWFnZV9yZXBlYXQsYmFja2dyb3VuZFBvc2l0aW9uOmUuX2NvbHVtbl9iZ19pbWFnZV9wb3NpdGlvbixvcGFjaXR5OmUuX2NvbHVtbl9iZ19vcGFjaXR5fSkpKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS5jc3MoIi13ZWJraXQtdHJhbnNpdGlvbiIsYS5kYXRhKCJ3YW4iKSksYS5jc3MoIi1tb3otdHJhbnNpdGlvbiIsYS5kYXRhKCJtb2FuIikpLGEuY3NzKCItbXMtdHJhbnNpdGlvbiIsYS5kYXRhKCJtYW4iKSksYS5jc3MoInRyYW5zaXRpb24iLGEuZGF0YSgiYW5pIikpfSwzMCl9fSxDPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5kYXRhKCk7aWYoYy5fY2JnY19tYW4mJmMuX2NiZ2NfbWFuLmxlbmd0aD4wKXt2YXIgZSxmLGg7alF1ZXJ5LmlzQXJyYXkoYy5jc3NvYmoubWFyZ2luTGVmdCk/KGMuY3Nzb2JqLm1hcmdpbkxlZnRbYi5jdXJXaW5SYW5nZV0qYi5idyxlPWMuY3Nzb2JqLm1hcmdpblRvcFtiLmN1cldpblJhbmdlXSpiLmJoLGY9Yy5jc3NvYmoubWFyZ2luQm90dG9tW2IuY3VyV2luUmFuZ2VdKmIuYmgsYy5jc3NvYmoubWFyZ2luUmlnaHRbYi5jdXJXaW5SYW5nZV0qYi5idyk6KGMuY3Nzb2JqLm1hcmdpbkxlZnQqYi5idyxlPWMuY3Nzb2JqLm1hcmdpblRvcCpiLmJoLGY9Yy5jc3NvYmoubWFyZ2luQm90dG9tKmIuYmgsYy5jc3NvYmoubWFyZ2luUmlnaHQqYi5idyksaD1jLl9yb3cuaGFzQ2xhc3MoInJldl9icmVha19jb2x1bW5zIik/IjEwMCUiOmMuX3Jvdy5oZWlnaHQoKS0oZStmKSsicHgiLGMuX2NiZ2NfbWFuWzBdLnN0eWxlLmJhY2tncm91bmRTaXplPWMuX2NvbHVtbl9iZ19pbWFnZV9zaXplLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChjLl9jYmdjX21hbix7d2lkdGg6IjEwMCUiLGhlaWdodDpoLGJhY2tncm91bmRDb2xvcjpjLl9jb2x1bW5fYmdfc2V0LGJhY2tncm91bmRJbWFnZTpjLl9jb2x1bW5fYmdfaW1hZ2UsYmFja2dyb3VuZFJlcGVhdDpjLl9jb2x1bW5fYmdfaW1hZ2VfcmVwZWF0LGJhY2tncm91bmRQb3NpdGlvbjpjLl9jb2x1bW5fYmdfaW1hZ2VfcG9zaXRpb24sb3ZlcndyaXRlOiJhdXRvIixvcGFjaXR5OmMuX2NvbHVtbl9iZ19vcGFjaXR5fSl9fSxEPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5kYXRhKCk7aWYoYS5oYXNDbGFzcygicnMtcGVuZHVsdW0iKSYmdm9pZCAwPT1jLl9sb29wX3RpbWVsaW5lKXtjLl9sb29wX3RpbWVsaW5lPW5ldyBwdW5jaGdzLlRpbWVsaW5lTGl0ZTt2YXIgZD12b2lkIDA9PWEuZGF0YSgic3RhcnRkZWciKT8tMjA6YS5kYXRhKCJzdGFydGRlZyIpLGU9dm9pZCAwPT1hLmRhdGEoImVuZGRlZyIpPzIwOmEuZGF0YSgiZW5kZGVnIiksZj12b2lkIDA9PWEuZGF0YSgic3BlZWQiKT8yOmEuZGF0YSgic3BlZWQiKSxnPXZvaWQgMD09YS5kYXRhKCJvcmlnaW4iKT8iNTAlIDUwJSI6YS5kYXRhKCJvcmlnaW4iKSxoPXZvaWQgMD09YS5kYXRhKCJlYXNpbmciKT9wdW5jaGdzLlBvd2VyMi5lYXNlSW5PdXQ6YS5kYXRhKCJlYXNpbmciKTtkKj1iLGUqPWIsYy5fbG9vcF90aW1lbGluZS5hcHBlbmQobmV3IHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhhLGYse2ZvcmNlM0Q6ImF1dG8iLHJvdGF0aW9uOmQsdHJhbnNmb3JtT3JpZ2luOmd9LHtyb3RhdGlvbjplLGVhc2U6aH0pKSxjLl9sb29wX3RpbWVsaW5lLmFwcGVuZChuZXcgcHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGEsZix7Zm9yY2UzRDoiYXV0byIscm90YXRpb246ZSx0cmFuc2Zvcm1PcmlnaW46Z30se3JvdGF0aW9uOmQsZWFzZTpoLG9uQ29tcGxldGU6ZnVuY3Rpb24oKXtjLl9sb29wX3RpbWVsaW5lLnJlc3RhcnQoKX19KSl9aWYoYS5oYXNDbGFzcygicnMtcm90YXRlIikmJnZvaWQgMD09Yy5fbG9vcF90aW1lbGluZSl7Yy5fbG9vcF90aW1lbGluZT1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGU7dmFyIGQ9dm9pZCAwPT1hLmRhdGEoInN0YXJ0ZGVnIik/MDphLmRhdGEoInN0YXJ0ZGVnIiksZT12b2lkIDA9PWEuZGF0YSgiZW5kZGVnIik/MzYwOmEuZGF0YSgiZW5kZGVnIiksZj12b2lkIDA9PWEuZGF0YSgic3BlZWQiKT8yOmEuZGF0YSgic3BlZWQiKSxnPXZvaWQgMD09YS5kYXRhKCJvcmlnaW4iKT8iNTAlIDUwJSI6YS5kYXRhKCJvcmlnaW4iKSxoPXZvaWQgMD09YS5kYXRhKCJlYXNpbmciKT9wdW5jaGdzLlBvd2VyMi5lYXNlSW5PdXQ6YS5kYXRhKCJlYXNpbmciKTtkKj1iLGUqPWIsYy5fbG9vcF90aW1lbGluZS5hcHBlbmQobmV3IHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhhLGYse2ZvcmNlM0Q6ImF1dG8iLHJvdGF0aW9uOmQsdHJhbnNmb3JtT3JpZ2luOmd9LHtyb3RhdGlvbjplLGVhc2U6aCxvbkNvbXBsZXRlOmZ1bmN0aW9uKCl7Yy5fbG9vcF90aW1lbGluZS5yZXN0YXJ0KCl9fSkpfWlmKGEuaGFzQ2xhc3MoInJzLXNsaWRlbG9vcCIpJiZ2b2lkIDA9PWMuX2xvb3BfdGltZWxpbmUpe2MuX2xvb3BfdGltZWxpbmU9bmV3IHB1bmNoZ3MuVGltZWxpbmVMaXRlO3ZhciBpPXZvaWQgMD09YS5kYXRhKCJ4cyIpPzA6YS5kYXRhKCJ4cyIpLGo9dm9pZCAwPT1hLmRhdGEoInlzIik/MDphLmRhdGEoInlzIiksaz12b2lkIDA9PWEuZGF0YSgieGUiKT8wOmEuZGF0YSgieGUiKSxsPXZvaWQgMD09YS5kYXRhKCJ5ZSIpPzA6YS5kYXRhKCJ5ZSIpLGY9dm9pZCAwPT1hLmRhdGEoInNwZWVkIik/MjphLmRhdGEoInNwZWVkIiksaD12b2lkIDA9PWEuZGF0YSgiZWFzaW5nIik/cHVuY2hncy5Qb3dlcjIuZWFzZUluT3V0OmEuZGF0YSgiZWFzaW5nIik7aSo9YixqKj1iLGsqPWIsbCo9YixjLl9sb29wX3RpbWVsaW5lLmFwcGVuZChuZXcgcHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGEsZix7Zm9yY2UzRDoiYXV0byIseDppLHk6an0se3g6ayx5OmwsZWFzZTpofSkpLGMuX2xvb3BfdGltZWxpbmUuYXBwZW5kKG5ldyBwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oYSxmLHtmb3JjZTNEOiJhdXRvIix4OmsseTpsfSx7eDppLHk6aixvbkNvbXBsZXRlOmZ1bmN0aW9uKCl7Yy5fbG9vcF90aW1lbGluZS5yZXN0YXJ0KCl9fSkpfWlmKGEuaGFzQ2xhc3MoInJzLXB1bHNlIikmJnZvaWQgMD09Yy5fbG9vcF90aW1lbGluZSl7Yy5fbG9vcF90aW1lbGluZT1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGU7dmFyIG09dm9pZCAwPT1hLmRhdGEoInpvb21zdGFydCIpPzA6YS5kYXRhKCJ6b29tc3RhcnQiKSxuPXZvaWQgMD09YS5kYXRhKCJ6b29tZW5kIik/MDphLmRhdGEoInpvb21lbmQiKSxmPXZvaWQgMD09YS5kYXRhKCJzcGVlZCIpPzI6YS5kYXRhKCJzcGVlZCIpLGg9dm9pZCAwPT1hLmRhdGEoImVhc2luZyIpP3B1bmNoZ3MuUG93ZXIyLmVhc2VJbk91dDphLmRhdGEoImVhc2luZyIpO2MuX2xvb3BfdGltZWxpbmUuYXBwZW5kKG5ldyBwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oYSxmLHtmb3JjZTNEOiJhdXRvIixzY2FsZTptfSx7c2NhbGU6bixlYXNlOmh9KSksYy5fbG9vcF90aW1lbGluZS5hcHBlbmQobmV3IHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhhLGYse2ZvcmNlM0Q6ImF1dG8iLHNjYWxlOm59LHtzY2FsZTptLG9uQ29tcGxldGU6ZnVuY3Rpb24oKXtjLl9sb29wX3RpbWVsaW5lLnJlc3RhcnQoKX19KSl9aWYoYS5oYXNDbGFzcygicnMtd2F2ZSIpJiZ2b2lkIDA9PWMuX2xvb3BfdGltZWxpbmUpe2MuX2xvb3BfdGltZWxpbmU9bmV3IHB1bmNoZ3MuVGltZWxpbmVMaXRlO3ZhciBvPXZvaWQgMD09YS5kYXRhKCJhbmdsZSIpPzEwOnBhcnNlSW50KGEuZGF0YSgiYW5nbGUiKSwwKSxwPXZvaWQgMD09YS5kYXRhKCJyYWRpdXMiKT8xMDpwYXJzZUludChhLmRhdGEoInJhZGl1cyIpLDApLGY9dm9pZCAwPT1hLmRhdGEoInNwZWVkIik/LTIwOmEuZGF0YSgic3BlZWQiKSxnPXZvaWQgMD09YS5kYXRhKCJvcmlnaW4iKT8iNTAlIDUwJSI6YS5kYXRhKCJvcmlnaW4iKSxxPWcuc3BsaXQoIiAiKSxyPW5ldyBPYmplY3Q7cS5sZW5ndGg+PTE/KHIueD1xWzBdLHIueT1xWzFdKTooci54PSI1MCUiLHIueT0iNTAlIikscCo9Yjt2YXIgcz0ocGFyc2VJbnQoci54LDApLzEwMC0uNSkqYS53aWR0aCgpLHQ9KHBhcnNlSW50KHIueSwwKS8xMDAtLjUpKmEuaGVpZ2h0KCksdT0tMSpwK3Qsdj0wK3Msdz17YTowLGFuZzpvLGVsZW1lbnQ6YSx1bml0OnAseG9mZnNldDp2LHlvZmZzZXQ6dX0seD1wYXJzZUludChvLDApLHk9bmV3IHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21Ubyh3LGYse2E6MCt4fSx7YTozNjAreCxmb3JjZTNEOiJhdXRvIixlYXNlOnB1bmNoZ3MuTGluZWFyLmVhc2VOb25lfSk7eS5ldmVudENhbGxiYWNrKCJvblVwZGF0ZSIsZnVuY3Rpb24oYSl7dmFyIGI9YS5hKihNYXRoLlBJLzE4MCksYz1hLnlvZmZzZXQrYS51bml0KigxLU1hdGguc2luKGIpKSxkPWEueG9mZnNldCtNYXRoLmNvcyhiKSphLnVuaXQ7cHVuY2hncy5Ud2VlbkxpdGUudG8oYS5lbGVtZW50LC4xLHtmb3JjZTNEOiJhdXRvIix4OmQseTpjfSl9LFt3XSkseS5ldmVudENhbGxiYWNrKCJvbkNvbXBsZXRlIixmdW5jdGlvbihhKXthLl9sb29wX3RpbWVsaW5lLnJlc3RhcnQoKX0sW2NdKSxjLl9sb29wX3RpbWVsaW5lLmFwcGVuZCh5KX19LEU9ZnVuY3Rpb24oYSl7YS5jbG9zZXN0KCIucnMtcGVuZHVsdW0sIC5ycy1zbGlkZWxvb3AsIC5ycy1wdWxzZSwgLnJzLXdhdmUiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9dGhpczt2b2lkIDAhPWEuX2xvb3BfdGltZWxpbmUmJihhLl9sb29wX3RpbWVsaW5lLnBhdXNlKCksYS5fbG9vcF90aW1lbGluZT1udWxsKX0pfX0oalF1ZXJ5KTs="}},"time_used":54,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":47,"receive":7,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/logo1.html","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.907Z","timestamp":1785123231907,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /logo1.html HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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/3 404 \r\ncache-control: private, no-cache, no-store, must-revalidate, max-age=0\r\npragma: no-cache\r\ncontent-type: text/html\r\ncontent-length: 1238\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":1238,"size_decoded":1446,"mime_type":"text/html","magic":"HTML document, ASCII text, with CRLF, LF line terminators","md5":"0bde7d4b3da67537eaf9188e6f8049cf","sha1":"64300fc482d01d38b40ab20e15960b6509665e5a","sha256":"5dc1ae0b875dc0d78dbc5532226f5f31b762b4d1229984f605d27bf895ab6807","sha512":"2d4d27ab5b3dd2a701a944e9b5372b40ee4f8b3267f133be7ad0d4b42528302aaa002b6132722e2ad1fe629fc3e8baf1011c8dad326062e9c0946d6f1b6eafb4","ssdeep":"","tlshash":"8d21423ec1c1150a80271154fb81e2942619825192470fa1379e7167f6cc0f756937c8","first_seen":"2023-03-07T01:03:24Z","last_seen":"2026-07-27T05:16:58.324996Z","times_seen":41313,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIHN0eWxlPSJoZWlnaHQ6MTAwJSI+CjxoZWFkPgo8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHNocmluay10by1maXQ9bm8iIC8+Cjx0aXRsZT4gNDA0IE5vdCBGb3VuZA0KPC90aXRsZT48L2hlYWQ+Cjxib2R5IHN0eWxlPSJjb2xvcjogIzQ0NDsgbWFyZ2luOjA7Zm9udDogbm9ybWFsIDE0cHgvMjBweCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyBoZWlnaHQ6MTAwJTsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsiPgo8ZGl2IHN0eWxlPSJoZWlnaHQ6YXV0bzsgbWluLWhlaWdodDoxMDAlOyAiPiAgICAgPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyB3aWR0aDo4MDBweDsgbWFyZ2luLWxlZnQ6IC00MDBweDsgcG9zaXRpb246YWJzb2x1dGU7IHRvcDogMzAlOyBsZWZ0OjUwJTsiPgogICAgICAgIDxoMSBzdHlsZT0ibWFyZ2luOjA7IGZvbnQtc2l6ZToxNTBweDsgbGluZS1oZWlnaHQ6MTUwcHg7IGZvbnQtd2VpZ2h0OmJvbGQ7Ij40MDQ8L2gxPgo8aDIgc3R5bGU9Im1hcmdpbi10b3A6MjBweDtmb250LXNpemU6IDMwcHg7Ij5Ob3QgRm91bmQNCjwvaDI+CjxwPlRoZSByZXNvdXJjZSByZXF1ZXN0ZWQgY291bGQgbm90IGJlIGZvdW5kIG9uIHRoaXMgc2VydmVyITwvcD4KPC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0iY29sb3I6I2YwZjBmMDsgZm9udC1zaXplOjEycHg7bWFyZ2luOmF1dG87cGFkZGluZzowcHggMzBweCAwcHggMzBweDtwb3NpdGlvbjpyZWxhdGl2ZTtjbGVhcjpib3RoO2hlaWdodDoxMDBweDttYXJnaW4tdG9wOi0xMDFweDtiYWNrZ3JvdW5kLWNvbG9yOiM0NzQ3NDc7Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xNSk7Ym94LXNoYWRvdzogMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMykgaW5zZXQ7Ij4KPGJyPlByb3VkbHkgcG93ZXJlZCBieSAgPGEgc3R5bGU9ImNvbG9yOiNmZmY7IiBocmVmPSJodHRwOi8vd3d3LmxpdGVzcGVlZHRlY2guY29tL2Vycm9yLXBhZ2UiPkxpdGVTcGVlZCBXZWIgU2VydmVyPC9hPjxwPlBsZWFzZSBiZSBhZHZpc2VkIHRoYXQgTGl0ZVNwZWVkIFRlY2hub2xvZ2llcyBJbmMuIGlzIG5vdCBhIHdlYiBob3N0aW5nIGNvbXBhbnkgYW5kLCBhcyBzdWNoLCBoYXMgbm8gY29udHJvbCBvdmVyIGNvbnRlbnQgZm91bmQgb24gdGhpcyBzaXRlLjwvcD48L2Rpdj48L2JvZHk+PC9odG1sPgo="}},"time_used":24,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":24,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/plugins/revolution/js/extensions/revolution.extension.navigation.min.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.596Z","timestamp":1785123231596,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /plugins/revolution/js/extensions/revolution.extension.navigation.min.js HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Wed, 22 Apr 2026 17:27:52 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 6678\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":26101,"size_decoded":7001,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (25862), with CRLF line terminators","md5":"020c9da0283aebff8fb8ea67e3331868","sha1":"d192e2e9538833c8f18f279e04cb1801450dd215","sha256":"6eec26458665f2ff755d8d9d752baf709166660fb8e5389c9fbe939df23ea2f1","sha512":"5448480d1be53db60d47d5fc75bfd56129e9083cacd3a3e0b912ed20f00c7bb2469be0066f8d9a2baff266729f12bf558260ff1431d31e79eca7fb71fa787b8e","ssdeep":"384:chOObjBeYJfz3zX3SWcN12H2DFQ9j6IDumFu7jaWIyUBj3RX2E:cIObR3zXpcN12H2DqZ9iA9QE","tlshash":"52c2a8a976903cab5473667bc16a40b532728a357307ae6078efa6f0057ccd913e7e4c","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-07-27T05:37:05.203046Z","times_seen":1620,"resource_available":true,"data":"LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogKiBSRVZPTFVUSU9OIDUuMiBFWFRFTlNJT04gLSBOQVZJR0FUSU9ODQogKiBAdmVyc2lvbjogMS4zLjUgKDA2LjA0LjIwMTcpDQogKiBAcmVxdWlyZXMganF1ZXJ5LnRoZW1lcHVuY2gucmV2b2x1dGlvbi5qcw0KICogQGF1dGhvciBUaGVtZVB1bmNoDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQohZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO3ZhciBiPWpRdWVyeS5mbi5yZXZvbHV0aW9uLGM9Yi5pc19tb2JpbGUoKSxkPXthbGlhczoiTmF2aWdhdGlvbiBNaW4gSlMiLG5hbWU6InJldm9sdXRpb24uZXh0ZW5zaW9ucy5uYXZpZ2F0aW9uLm1pbi5qcyIsbWluX2NvcmU6IjUuNC4wIix2ZXJzaW9uOiIxLjMuNSJ9O2pRdWVyeS5leHRlbmQoITAsYix7aGlkZVVuSGlkZU5hdjpmdW5jdGlvbihhKXt2YXIgYj1hLmMud2lkdGgoKSxjPWEubmF2aWdhdGlvbi5hcnJvd3MsZD1hLm5hdmlnYXRpb24uYnVsbGV0cyxlPWEubmF2aWdhdGlvbi50aHVtYm5haWxzLGY9YS5uYXZpZ2F0aW9uLnRhYnM7bShjKSYmeShhLmMuZmluZCgiLnRwYXJyb3dzIiksYy5oaWRlX3VuZGVyLGIsYy5oaWRlX292ZXIpLG0oZCkmJnkoYS5jLmZpbmQoIi50cC1idWxsZXRzIiksZC5oaWRlX3VuZGVyLGIsZC5oaWRlX292ZXIpLG0oZSkmJnkoYS5jLnBhcmVudCgpLmZpbmQoIi50cC10aHVtYnMiKSxlLmhpZGVfdW5kZXIsYixlLmhpZGVfb3ZlciksbShmKSYmeShhLmMucGFyZW50KCkuZmluZCgiLnRwLXRhYnMiKSxmLmhpZGVfdW5kZXIsYixmLmhpZGVfb3ZlcikseChhKX0scmVzaXplVGh1bWJzVGFiczpmdW5jdGlvbihhLGIpe2lmKGEubmF2aWdhdGlvbiYmYS5uYXZpZ2F0aW9uLnRhYnMuZW5hYmxlfHxhLm5hdmlnYXRpb24mJmEubmF2aWdhdGlvbi50aHVtYm5haWxzLmVuYWJsZSl7dmFyIGM9KGpRdWVyeSh3aW5kb3cpLndpZHRoKCktNDgwKS81MDAsZD1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGUsZT1hLm5hdmlnYXRpb24udGFicyxnPWEubmF2aWdhdGlvbi50aHVtYm5haWxzLGg9YS5uYXZpZ2F0aW9uLmJ1bGxldHM7aWYoZC5wYXVzZSgpLGM9Yz4xPzE6YzwwPzA6YyxtKGUpJiYoYnx8ZS53aWR0aD5lLm1pbl93aWR0aCkmJmYoYyxkLGEuYyxlLGEuc2xpZGVhbW91bnQsInRhYiIpLG0oZykmJihifHxnLndpZHRoPmcubWluX3dpZHRoKSYmZihjLGQsYS5jLGcsYS5zbGlkZWFtb3VudCwidGh1bWIiKSxtKGgpJiZiKXt2YXIgaT1hLmMuZmluZCgiLnRwLWJ1bGxldHMiKTtpLmZpbmQoIi50cC1idWxsZXQiKS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPWpRdWVyeSh0aGlzKSxjPWErMSxkPWIub3V0ZXJXaWR0aCgpK3BhcnNlSW50KHZvaWQgMD09PWguc3BhY2U/MDpoLnNwYWNlLDApLGU9Yi5vdXRlckhlaWdodCgpK3BhcnNlSW50KHZvaWQgMD09PWguc3BhY2U/MDpoLnNwYWNlLDApOyJ2ZXJ0aWNhbCI9PT1oLmRpcmVjdGlvbj8oYi5jc3Moe3RvcDooYy0xKSplKyJweCIsbGVmdDoiMHB4In0pLGkuY3NzKHtoZWlnaHQ6KGMtMSkqZStiLm91dGVySGVpZ2h0KCksd2lkdGg6Yi5vdXRlcldpZHRoKCl9KSk6KGIuY3NzKHtsZWZ0OihjLTEpKmQrInB4Iix0b3A6IjBweCJ9KSxpLmNzcyh7d2lkdGg6KGMtMSkqZCtiLm91dGVyV2lkdGgoKSxoZWlnaHQ6Yi5vdXRlckhlaWdodCgpfSkpfSl9ZC5wbGF5KCkseChhKX1yZXR1cm4hMH0sdXBkYXRlTmF2SW5kZXhlczpmdW5jdGlvbihhKXtmdW5jdGlvbiBkKGEpe2MuZmluZChhKS5sZW5naHQ+MCYmYy5maW5kKGEpLmVhY2goZnVuY3Rpb24oYSl7alF1ZXJ5KHRoaXMpLmRhdGEoImxpaW5kZXgiLGEpfSl9dmFyIGM9YS5jO2QoIi50cC10YWIiKSxkKCIudHAtYnVsbGV0IiksZCgiLnRwLXRodW1iIiksYi5yZXNpemVUaHVtYnNUYWJzKGEsITApLGIubWFuYWdlTmF2aWdhdGlvbihhKX0sbWFuYWdlTmF2aWdhdGlvbjpmdW5jdGlvbihhKXt2YXIgYz1iLmdldEhvcml6b250YWxPZmZzZXQoYS5jLnBhcmVudCgpLCJsZWZ0IiksZD1iLmdldEhvcml6b250YWxPZmZzZXQoYS5jLnBhcmVudCgpLCJyaWdodCIpO20oYS5uYXZpZ2F0aW9uLmJ1bGxldHMpJiYoImZ1bGxzY3JlZW4iIT1hLnNsaWRlckxheW91dCYmImZ1bGx3aWR0aCIhPWEuc2xpZGVyTGF5b3V0JiYoYS5uYXZpZ2F0aW9uLmJ1bGxldHMuaF9vZmZzZXRfb2xkPXZvaWQgMD09PWEubmF2aWdhdGlvbi5idWxsZXRzLmhfb2Zmc2V0X29sZD9hLm5hdmlnYXRpb24uYnVsbGV0cy5oX29mZnNldDphLm5hdmlnYXRpb24uYnVsbGV0cy5oX29mZnNldF9vbGQsYS5uYXZpZ2F0aW9uLmJ1bGxldHMuaF9vZmZzZXQ9ImNlbnRlciI9PT1hLm5hdmlnYXRpb24uYnVsbGV0cy5oX2FsaWduP2EubmF2aWdhdGlvbi5idWxsZXRzLmhfb2Zmc2V0X29sZCtjLzItZC8yOmEubmF2aWdhdGlvbi5idWxsZXRzLmhfb2Zmc2V0X29sZCtjLWQpLHQoYS5jLmZpbmQoIi50cC1idWxsZXRzIiksYS5uYXZpZ2F0aW9uLmJ1bGxldHMsYSkpLG0oYS5uYXZpZ2F0aW9uLnRodW1ibmFpbHMpJiZ0KGEuYy5wYXJlbnQoKS5maW5kKCIudHAtdGh1bWJzIiksYS5uYXZpZ2F0aW9uLnRodW1ibmFpbHMsYSksbShhLm5hdmlnYXRpb24udGFicykmJnQoYS5jLnBhcmVudCgpLmZpbmQoIi50cC10YWJzIiksYS5uYXZpZ2F0aW9uLnRhYnMsYSksbShhLm5hdmlnYXRpb24uYXJyb3dzKSYmKCJmdWxsc2NyZWVuIiE9YS5zbGlkZXJMYXlvdXQmJiJmdWxsd2lkdGgiIT1hLnNsaWRlckxheW91dCYmKGEubmF2aWdhdGlvbi5hcnJvd3MubGVmdC5oX29mZnNldF9vbGQ9dm9pZCAwPT09YS5uYXZpZ2F0aW9uLmFycm93cy5sZWZ0Lmhfb2Zmc2V0X29sZD9hLm5hdmlnYXRpb24uYXJyb3dzLmxlZnQuaF9vZmZzZXQ6YS5uYXZpZ2F0aW9uLmFycm93cy5sZWZ0Lmhfb2Zmc2V0X29sZCxhLm5hdmlnYXRpb24uYXJyb3dzLmxlZnQuaF9vZmZzZXQ9InJpZ2h0Ij09PWEubmF2aWdhdGlvbi5hcnJvd3MubGVmdC5oX2FsaWduP2EubmF2aWdhdGlvbi5hcnJvd3MubGVmdC5oX29mZnNldF9vbGQrZDphLm5hdmlnYXRpb24uYXJyb3dzLmxlZnQuaF9vZmZzZXRfb2xkK2MsYS5uYXZpZ2F0aW9uLmFycm93cy5yaWdodC5oX29mZnNldF9vbGQ9dm9pZCAwPT09YS5uYXZpZ2F0aW9uLmFycm93cy5yaWdodC5oX29mZnNldF9vbGQ/YS5uYXZpZ2F0aW9uLmFycm93cy5yaWdodC5oX29mZnNldDphLm5hdmlnYXRpb24uYXJyb3dzLnJpZ2h0Lmhfb2Zmc2V0X29sZCxhLm5hdmlnYXRpb24uYXJyb3dzLnJpZ2h0Lmhfb2Zmc2V0PSJyaWdodCI9PT1hLm5hdmlnYXRpb24uYXJyb3dzLnJpZ2h0LmhfYWxpZ24/YS5uYXZpZ2F0aW9uLmFycm93cy5yaWdodC5oX29mZnNldF9vbGQrZDphLm5hdmlnYXRpb24uYXJyb3dzLnJpZ2h0Lmhfb2Zmc2V0X29sZCtjKSx0KGEuYy5maW5kKCIudHAtbGVmdGFycm93LnRwYXJyb3dzIiksYS5uYXZpZ2F0aW9uLmFycm93cy5sZWZ0LGEpLHQoYS5jLmZpbmQoIi50cC1yaWdodGFycm93LnRwYXJyb3dzIiksYS5uYXZpZ2F0aW9uLmFycm93cy5yaWdodCxhKSksbShhLm5hdmlnYXRpb24udGh1bWJuYWlscykmJmUoYS5jLnBhcmVudCgpLmZpbmQoIi50cC10aHVtYnMiKSxhLm5hdmlnYXRpb24udGh1bWJuYWlscyksbShhLm5hdmlnYXRpb24udGFicykmJmUoYS5jLnBhcmVudCgpLmZpbmQoIi50cC10YWJzIiksYS5uYXZpZ2F0aW9uLnRhYnMpfSxjcmVhdGVOYXZpZ2F0aW9uOmZ1bmN0aW9uKGEsZil7aWYoInN0b3AiPT09Yi5jb21wYXJlX3ZlcnNpb24oZCkuY2hlY2spcmV0dXJuITE7dmFyIGc9YS5wYXJlbnQoKSxqPWYubmF2aWdhdGlvbi5hcnJvd3Msbj1mLm5hdmlnYXRpb24uYnVsbGV0cyxyPWYubmF2aWdhdGlvbi50aHVtYm5haWxzLHM9Zi5uYXZpZ2F0aW9uLnRhYnMsdD1tKGopLHY9bShuKSx4PW0ocikseT1tKHMpO2goYSxmKSxpKGEsZiksdCYmcShhLGosZiksZi5saS5lYWNoKGZ1bmN0aW9uKGIpe3ZhciBjPWpRdWVyeShmLmxpW2YubGkubGVuZ3RoLTEtYl0pLGQ9alF1ZXJ5KHRoaXMpO3YmJihmLm5hdmlnYXRpb24uYnVsbGV0cy5ydGw/dShhLG4sYyxmKTp1KGEsbixkLGYpKSx4JiYoZi5uYXZpZ2F0aW9uLnRodW1ibmFpbHMucnRsP3coYSxyLGMsInRwLXRodW1iIixmKTp3KGEscixkLCJ0cC10aHVtYiIsZikpLHkmJihmLm5hdmlnYXRpb24udGFicy5ydGw/dyhhLHMsYywidHAtdGFiIixmKTp3KGEscyxkLCJ0cC10YWIiLGYpKX0pLGEuYmluZCgicmV2b2x1dGlvbi5zbGlkZS5vbmFmdGVyc3dhcCByZXZvbHV0aW9uLm5leHRzbGlkZS53YWl0aW5nIixmdW5jdGlvbigpe3ZhciBiPTA9PWEuZmluZCgiLm5leHQtcmV2c2xpZGUiKS5sZW5ndGg/YS5maW5kKCIuYWN0aXZlLXJldnNsaWRlIikuZGF0YSgiaW5kZXgiKTphLmZpbmQoIi5uZXh0LXJldnNsaWRlIikuZGF0YSgiaW5kZXgiKTthLmZpbmQoIi50cC1idWxsZXQiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpO2EuZGF0YSgibGlyZWYiKT09PWI/YS5hZGRDbGFzcygic2VsZWN0ZWQiKTphLnJlbW92ZUNsYXNzKCJzZWxlY3RlZCIpfSksZy5maW5kKCIudHAtdGh1bWIsIC50cC10YWIiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpO2EuZGF0YSgibGlyZWYiKT09PWI/KGEuYWRkQ2xhc3MoInNlbGVjdGVkIiksYS5oYXNDbGFzcygidHAtdGFiIik/ZShnLmZpbmQoIi50cC10YWJzIikscyk6ZShnLmZpbmQoIi50cC10aHVtYnMiKSxyKSk6YS5yZW1vdmVDbGFzcygic2VsZWN0ZWQiKX0pO3ZhciBjPTAsZD0hMTtmLnRodW1icyYmalF1ZXJ5LmVhY2goZi50aHVtYnMsZnVuY3Rpb24oYSxlKXtjPSExPT09ZD9hOmMsZD1lLmlkPT09Ynx8YT09PWJ8fGR9KTt2YXIgaD1jPjA/Yy0xOmYuc2xpZGVhbW91bnQtMSxpPWMrMT09Zi5zbGlkZWFtb3VudD8wOmMrMTtpZighMD09PWouZW5hYmxlKXt2YXIgaz1qLnRtcDtpZih2b2lkIDAhPWYudGh1bWJzW2hdJiZqUXVlcnkuZWFjaChmLnRodW1ic1toXS5wYXJhbXMsZnVuY3Rpb24oYSxiKXtrPWsucmVwbGFjZShiLmZyb20sYi50byl9KSxqLmxlZnQuai5odG1sKGspLGs9ai50bXAsaT5mLnNsaWRlYW1vdW50KXJldHVybjtqUXVlcnkuZWFjaChmLnRodW1ic1tpXS5wYXJhbXMsZnVuY3Rpb24oYSxiKXtrPWsucmVwbGFjZShiLmZyb20sYi50byl9KSxqLnJpZ2h0LmouaHRtbChrKSxqLnJ0bD8ocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGoubGVmdC5qLmZpbmQoIi50cC1hcnItaW1naG9sZGVyIikse2JhY2tncm91bmRJbWFnZToidXJsKCIrZi50aHVtYnNbaV0uc3JjKyIpIn0pLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChqLnJpZ2h0LmouZmluZCgiLnRwLWFyci1pbWdob2xkZXIiKSx7YmFja2dyb3VuZEltYWdlOiJ1cmwoIitmLnRodW1ic1toXS5zcmMrIikifSkpOihwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoai5sZWZ0LmouZmluZCgiLnRwLWFyci1pbWdob2xkZXIiKSx7YmFja2dyb3VuZEltYWdlOiJ1cmwoIitmLnRodW1ic1toXS5zcmMrIikifSkscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGoucmlnaHQuai5maW5kKCIudHAtYXJyLWltZ2hvbGRlciIpLHtiYWNrZ3JvdW5kSW1hZ2U6InVybCgiK2YudGh1bWJzW2ldLnNyYysiKSJ9KSl9fSksbChqKSxsKG4pLGwociksbChzKSxnLm9uKCJtb3VzZWVudGVyIG1vdXNlbW92ZSIsZnVuY3Rpb24oKXtnLmhhc0NsYXNzKCJ0cC1tb3VzZW92ZXIiKXx8KGcuYWRkQ2xhc3MoInRwLW1vdXNlb3ZlciIpLHB1bmNoZ3MuVHdlZW5MaXRlLmtpbGxEZWxheWVkQ2FsbHNUbyhwKSx0JiZqLmhpZGVfb25sZWF2ZSYmcChnLmZpbmQoIi50cGFycm93cyIpLGosInNob3ciKSx2JiZuLmhpZGVfb25sZWF2ZSYmcChnLmZpbmQoIi50cC1idWxsZXRzIiksbiwic2hvdyIpLHgmJnIuaGlkZV9vbmxlYXZlJiZwKGcuZmluZCgiLnRwLXRodW1icyIpLHIsInNob3ciKSx5JiZzLmhpZGVfb25sZWF2ZSYmcChnLmZpbmQoIi50cC10YWJzIikscywic2hvdyIpLGMmJihnLnJlbW92ZUNsYXNzKCJ0cC1tb3VzZW92ZXIiKSxvKGEsZikpKX0pLGcub24oIm1vdXNlbGVhdmUiLGZ1bmN0aW9uKCl7Zy5yZW1vdmVDbGFzcygidHAtbW91c2VvdmVyIiksbyhhLGYpfSksdCYmai5oaWRlX29ubGVhdmUmJnAoZy5maW5kKCIudHBhcnJvd3MiKSxqLCJoaWRlIiwwKSx2JiZuLmhpZGVfb25sZWF2ZSYmcChnLmZpbmQoIi50cC1idWxsZXRzIiksbiwiaGlkZSIsMCkseCYmci5oaWRlX29ubGVhdmUmJnAoZy5maW5kKCIudHAtdGh1bWJzIiksciwiaGlkZSIsMCkseSYmcy5oaWRlX29ubGVhdmUmJnAoZy5maW5kKCIudHAtdGFicyIpLHMsImhpZGUiLDApLHgmJmsoZy5maW5kKCIudHAtdGh1bWJzIiksZikseSYmayhnLmZpbmQoIi50cC10YWJzIiksZiksImNhcm91c2VsIj09PWYuc2xpZGVyVHlwZSYmayhhLGYsITApLCgib24iPT09Zi5uYXZpZ2F0aW9uLnRvdWNoLnRvdWNoT25EZXNrdG9wfHwib24iPT1mLm5hdmlnYXRpb24udG91Y2gudG91Y2hlbmFibGVkJiZjKSYmayhhLGYsInN3aXBlYmFzZWQiKX19KTt2YXIgZT1mdW5jdGlvbihhLGIpe3ZhciBkPShhLmhhc0NsYXNzKCJ0cC10aHVtYnMiKSxhLmhhc0NsYXNzKCJ0cC10aHVtYnMiKT8iLnRwLXRodW1iLW1hc2siOiIudHAtdGFiLW1hc2siKSxlPWEuaGFzQ2xhc3MoInRwLXRodW1icyIpPyIudHAtdGh1bWJzLWlubmVyLXdyYXBwZXIiOiIudHAtdGFicy1pbm5lci13cmFwcGVyIixmPWEuaGFzQ2xhc3MoInRwLXRodW1icyIpPyIudHAtdGh1bWIiOiIudHAtdGFiIixnPWEuZmluZChkKSxoPWcuZmluZChlKSxpPWIuZGlyZWN0aW9uLGo9InZlcnRpY2FsIj09PWk/Zy5maW5kKGYpLmZpcnN0KCkub3V0ZXJIZWlnaHQoITApK2Iuc3BhY2U6Zy5maW5kKGYpLmZpcnN0KCkub3V0ZXJXaWR0aCghMCkrYi5zcGFjZSxrPSJ2ZXJ0aWNhbCI9PT1pP2cuaGVpZ2h0KCk6Zy53aWR0aCgpLGw9cGFyc2VJbnQoZy5maW5kKGYrIi5zZWxlY3RlZCIpLmRhdGEoImxpaW5kZXgiKSwwKSxtPWsvaixuPSJ2ZXJ0aWNhbCI9PT1pP2cuaGVpZ2h0KCk6Zy53aWR0aCgpLG89MC1sKmoscD0idmVydGljYWwiPT09aT9oLmhlaWdodCgpOmgud2lkdGgoKSxxPW88MC0ocC1uKT8wLShwLW4pOnE+MD8wOm8scj1oLmRhdGEoIm9mZnNldCIpO20+MiYmKHE9by0ocitqKTw9MD9vLShyK2opPDAtaj9yOnErajpxLHE9by1qK3IrazxqJiZvKyhNYXRoLnJvdW5kKG0pLTIpKmo8cj9vKyhNYXRoLnJvdW5kKG0pLTIpKmo6cSkscT1xPDAtKHAtbik/MC0ocC1uKTpxPjA/MDpxLCJ2ZXJ0aWNhbCIhPT1pJiZnLndpZHRoKCk+PWgud2lkdGgoKSYmKHE9MCksInZlcnRpY2FsIj09PWkmJmcuaGVpZ2h0KCk+PWguaGVpZ2h0KCkmJihxPTApLGEuaGFzQ2xhc3MoImRyYWdnZWQiKXx8KCJ2ZXJ0aWNhbCI9PT1pP2guZGF0YSgidG1tb3ZlIixwdW5jaGdzLlR3ZWVuTGl0ZS50byhoLC41LHt0b3A6cSsicHgiLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0fSkpOmguZGF0YSgidG1tb3ZlIixwdW5jaGdzLlR3ZWVuTGl0ZS50byhoLC41LHtsZWZ0OnErInB4IixlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dH0pKSxoLmRhdGEoIm9mZnNldCIscSkpfSxmPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXt2YXIgZz1jLnBhcmVudCgpLmZpbmQoIi50cC0iK2YrInMiKSxoPWcuZmluZCgiLnRwLSIrZisicy1pbm5lci13cmFwcGVyIiksaT1nLmZpbmQoIi50cC0iK2YrIi1tYXNrIiksaj1kLndpZHRoKmE8ZC5taW5fd2lkdGg/ZC5taW5fd2lkdGg6TWF0aC5yb3VuZChkLndpZHRoKmEpLGs9TWF0aC5yb3VuZChqL2Qud2lkdGgqZC5oZWlnaHQpLGw9InZlcnRpY2FsIj09PWQuZGlyZWN0aW9uP2o6aiplK2Quc3BhY2UqKGUtMSksbT0idmVydGljYWwiPT09ZC5kaXJlY3Rpb24/ayplK2Quc3BhY2UqKGUtMSk6ayxuPSJ2ZXJ0aWNhbCI9PT1kLmRpcmVjdGlvbj97d2lkdGg6aisicHgifTp7aGVpZ2h0OmsrInB4In07Yi5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGcsbikpLGIuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChoLHt3aWR0aDpsKyJweCIsaGVpZ2h0Om0rInB4In0pKSxiLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaSx7d2lkdGg6bCsicHgiLGhlaWdodDptKyJweCJ9KSk7dmFyIG89aC5maW5kKCIudHAtIitmKTtyZXR1cm4gbyYmalF1ZXJ5LmVhY2gobyxmdW5jdGlvbihhLGMpeyJ2ZXJ0aWNhbCI9PT1kLmRpcmVjdGlvbj9iLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYyx7dG9wOmEqKGsrcGFyc2VJbnQodm9pZCAwPT09ZC5zcGFjZT8wOmQuc3BhY2UsMCkpLHdpZHRoOmorInB4IixoZWlnaHQ6aysicHgifSkpOiJob3Jpem9udGFsIj09PWQuZGlyZWN0aW9uJiZiLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYyx7bGVmdDphKihqK3BhcnNlSW50KHZvaWQgMD09PWQuc3BhY2U/MDpkLnNwYWNlLDApKSx3aWR0aDpqKyJweCIsaGVpZ2h0OmsrInB4In0pKX0pLGJ9LGc9ZnVuY3Rpb24oYSl7dmFyIGI9MCxjPTAsZD0wLGU9MCxmPTEsZz0xLGg9MTtyZXR1cm4iZGV0YWlsImluIGEmJihjPWEuZGV0YWlsKSwid2hlZWxEZWx0YSJpbiBhJiYoYz0tYS53aGVlbERlbHRhLzEyMCksIndoZWVsRGVsdGFZImluIGEmJihjPS1hLndoZWVsRGVsdGFZLzEyMCksIndoZWVsRGVsdGFYImluIGEmJihiPS1hLndoZWVsRGVsdGFYLzEyMCksImF4aXMiaW4gYSYmYS5heGlzPT09YS5IT1JJWk9OVEFMX0FYSVMmJihiPWMsYz0wKSxkPWIqZixlPWMqZiwiZGVsdGFZImluIGEmJihlPWEuZGVsdGFZKSwiZGVsdGFYImluIGEmJihkPWEuZGVsdGFYKSwoZHx8ZSkmJmEuZGVsdGFNb2RlJiYoMT09YS5kZWx0YU1vZGU/KGQqPWcsZSo9Zyk6KGQqPWgsZSo9aCkpLGQmJiFiJiYoYj1kPDE/LTE6MSksZSYmIWMmJihjPWU8MT8tMToxKSxlPW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL21vemlsbGEvaSk/MTAqZTplLChlPjMwMHx8ZTwtMzAwKSYmKGUvPTEwKSx7c3Bpblg6YixzcGluWTpjLHBpeGVsWDpkLHBpeGVsWTplfX0saD1mdW5jdGlvbihhLGMpeyJvbiI9PT1jLm5hdmlnYXRpb24ua2V5Ym9hcmROYXZpZ2F0aW9uJiZqUXVlcnkoZG9jdW1lbnQpLmtleWRvd24oZnVuY3Rpb24oZCl7KCJob3Jpem9udGFsIj09Yy5uYXZpZ2F0aW9uLmtleWJvYXJkX2RpcmVjdGlvbiYmMzk9PWQua2V5Q29kZXx8InZlcnRpY2FsIj09Yy5uYXZpZ2F0aW9uLmtleWJvYXJkX2RpcmVjdGlvbiYmNDA9PWQua2V5Q29kZSkmJihjLnNjX2luZGljYXRvcj0iYXJyb3ciLGMuc2NfaW5kaWNhdG9yX2Rpcj0wLGIuY2FsbGluZ05ld1NsaWRlKGEsMSkpLCgiaG9yaXpvbnRhbCI9PWMubmF2aWdhdGlvbi5rZXlib2FyZF9kaXJlY3Rpb24mJjM3PT1kLmtleUNvZGV8fCJ2ZXJ0aWNhbCI9PWMubmF2aWdhdGlvbi5rZXlib2FyZF9kaXJlY3Rpb24mJjM4PT1kLmtleUNvZGUpJiYoYy5zY19pbmRpY2F0b3I9ImFycm93IixjLnNjX2luZGljYXRvcl9kaXI9MSxiLmNhbGxpbmdOZXdTbGlkZShhLC0xKSl9KX0saT1mdW5jdGlvbihhLGMpe2lmKCJvbiI9PT1jLm5hdmlnYXRpb24ubW91c2VTY3JvbGxOYXZpZ2F0aW9ufHwiY2Fyb3VzZWwiPT09Yy5uYXZpZ2F0aW9uLm1vdXNlU2Nyb2xsTmF2aWdhdGlvbil7Yy5pc0lFRWxldmVuPSEhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvVHJpZGVudC4qcnZcOjExXC4vKSxjLmlzU2FmYXJpPSEhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvc2FmYXJpL2kpLGMuaXNjaHJvbWU9ISFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9jaHJvbWUvaSk7dmFyIGQ9Yy5pc2Nocm9tZT8tNDk6Yy5pc0lFRWxldmVufHxjLmlzU2FmYXJpPy05Om5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL21vemlsbGEvaSk/LTI5Oi00OSxlPWMuaXNjaHJvbWU/NDk6Yy5pc0lFRWxldmVufHxjLmlzU2FmYXJpPzk6bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvbW96aWxsYS9pKT8yOTo0OTthLm9uKCJtb3VzZXdoZWVsIERPTU1vdXNlU2Nyb2xsIixmdW5jdGlvbihmKXt2YXIgaD1nKGYub3JpZ2luYWxFdmVudCksaT1hLmZpbmQoIi50cC1yZXZzbGlkZXItc2xpZGVzbGkuYWN0aXZlLXJldnNsaWRlIikuaW5kZXgoKSxqPWEuZmluZCgiLnRwLXJldnNsaWRlci1zbGlkZXNsaS5wcm9jZXNzaW5nLXJldnNsaWRlIikuaW5kZXgoKSxrPS0xIT1pJiYwPT1pfHwtMSE9aiYmMD09aixsPS0xIT1pJiZpPT1jLnNsaWRlYW1vdW50LTF8fDEhPWomJmo9PWMuc2xpZGVhbW91bnQtMSxtPSEwOyJjYXJvdXNlbCI9PWMubmF2aWdhdGlvbi5tb3VzZVNjcm9sbE5hdmlnYXRpb24mJihrPWw9ITEpLC0xPT1qP2gucGl4ZWxZPGQ/KGt8fChjLnNjX2luZGljYXRvcj0iYXJyb3ciLCJyZXZlcnNlIiE9PWMubmF2aWdhdGlvbi5tb3VzZVNjcm9sbFJldmVyc2UmJihjLnNjX2luZGljYXRvcl9kaXI9MSxiLmNhbGxpbmdOZXdTbGlkZShhLC0xKSksbT0hMSksbHx8KGMuc2NfaW5kaWNhdG9yPSJhcnJvdyIsInJldmVyc2UiPT09Yy5uYXZpZ2F0aW9uLm1vdXNlU2Nyb2xsUmV2ZXJzZSYmKGMuc2NfaW5kaWNhdG9yX2Rpcj0wLGIuY2FsbGluZ05ld1NsaWRlKGEsMSkpLG09ITEpKTpoLnBpeGVsWT5lJiYobHx8KGMuc2NfaW5kaWNhdG9yPSJhcnJvdyIsInJldmVyc2UiIT09Yy5uYXZpZ2F0aW9uLm1vdXNlU2Nyb2xsUmV2ZXJzZSYmKGMuc2NfaW5kaWNhdG9yX2Rpcj0wLGIuY2FsbGluZ05ld1NsaWRlKGEsMSkpLG09ITEpLGt8fChjLnNjX2luZGljYXRvcj0iYXJyb3ciLCJyZXZlcnNlIj09PWMubmF2aWdhdGlvbi5tb3VzZVNjcm9sbFJldmVyc2UmJihjLnNjX2luZGljYXRvcl9kaXI9MSxiLmNhbGxpbmdOZXdTbGlkZShhLC0xKSksbT0hMSkpOm09ITE7dmFyIG49Yy5jLm9mZnNldCgpLnRvcC1qUXVlcnkoImJvZHkiKS5zY3JvbGxUb3AoKSxvPW4rYy5jLmhlaWdodCgpO3JldHVybiJjYXJvdXNlbCIhPWMubmF2aWdhdGlvbi5tb3VzZVNjcm9sbE5hdmlnYXRpb24/KCJyZXZlcnNlIiE9PWMubmF2aWdhdGlvbi5tb3VzZVNjcm9sbFJldmVyc2UmJihuPjAmJmgucGl4ZWxZPjB8fG88alF1ZXJ5KHdpbmRvdykuaGVpZ2h0KCkmJmgucGl4ZWxZPDApJiYobT0hMCksInJldmVyc2UiPT09Yy5uYXZpZ2F0aW9uLm1vdXNlU2Nyb2xsUmV2ZXJzZSYmKG48MCYmaC5waXhlbFk8MHx8bz5qUXVlcnkod2luZG93KS5oZWlnaHQoKSYmaC5waXhlbFk+MCkmJihtPSEwKSk6bT0hMSwwPT1tPyhmLnByZXZlbnREZWZhdWx0KGYpLCExKTp2b2lkIDB9KX19LGo9ZnVuY3Rpb24oYSxiLGQpe3JldHVybiBhPWM/alF1ZXJ5KGQudGFyZ2V0KS5jbG9zZXN0KCIuIithKS5sZW5ndGh8fGpRdWVyeShkLnNyY0VsZW1lbnQpLmNsb3Nlc3QoIi4iK2EpLmxlbmd0aDpqUXVlcnkoZC50b0VsZW1lbnQpLmNsb3Nlc3QoIi4iK2EpLmxlbmd0aHx8alF1ZXJ5KGQub3JpZ2luYWxUYXJnZXQpLmNsb3Nlc3QoIi4iK2EpLmxlbmd0aCwhMD09PWF8fDE9PT1hPzE6MH0saz1mdW5jdGlvbihhLGQsZSl7dmFyIGY9ZC5jYXJvdXNlbDtqUXVlcnkoIi5idWxsZXQsIC5idWxsZXRzLCAudHAtYnVsbGV0cywgLnRwYXJyb3dzIikuYWRkQ2xhc3MoIm5vU3dpcGUiKSxmLkxpbWl0PSJlbmRsZXNzIjt2YXIgaD0oY3x8Yi5nZXRfYnJvd3NlcigpLGEpLGk9InZlcnRpY2FsIj09PWQubmF2aWdhdGlvbi50aHVtYm5haWxzLmRpcmVjdGlvbnx8InZlcnRpY2FsIj09PWQubmF2aWdhdGlvbi50YWJzLmRpcmVjdGlvbj8ibm9uZSI6InZlcnRpY2FsIixrPWQubmF2aWdhdGlvbi50b3VjaC5zd2lwZV9kaXJlY3Rpb258fCJob3Jpem9udGFsIjtpPSJzd2lwZWJhc2VkIj09ZSYmInZlcnRpY2FsIj09az8ibm9uZSI6ZT8idmVydGljYWwiOmksalF1ZXJ5LmZuLnN3aXBldHB8fChqUXVlcnkuZm4uc3dpcGV0cD1qUXVlcnkuZm4uc3dpcGUpLGpRdWVyeS5mbi5zd2lwZXRwLmRlZmF1bHRzJiZqUXVlcnkuZm4uc3dpcGV0cC5kZWZhdWx0cy5leGNsdWRlZEVsZW1lbnRzfHxqUXVlcnkuZm4uc3dpcGV0cC5kZWZhdWx0c3x8KGpRdWVyeS5mbi5zd2lwZXRwLmRlZmF1bHRzPW5ldyBPYmplY3QpLGpRdWVyeS5mbi5zd2lwZXRwLmRlZmF1bHRzLmV4Y2x1ZGVkRWxlbWVudHM9ImxhYmVsLCBidXR0b24sIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhLCAubm9Td2lwZSIsaC5zd2lwZXRwKHthbGxvd1BhZ2VTY3JvbGw6aSx0cmlnZ2VyT25Ub3VjaExlYXZlOiEwLHRyZXNob2xkOmQubmF2aWdhdGlvbi50b3VjaC5zd2lwZV90cmVzaG9sZCxmaW5nZXJzOmQubmF2aWdhdGlvbi50b3VjaC5zd2lwZV9taW5fdG91Y2hlcyxleGNsdWRlRWxlbWVudHM6alF1ZXJ5LmZuLnN3aXBldHAuZGVmYXVsdHMuZXhjbHVkZWRFbGVtZW50cyxzd2lwZVN0YXR1czpmdW5jdGlvbihlLGcsaCxpLGwsbSxuKXt2YXIgbz1qKCJyZXZfc2xpZGVyX3dyYXBwZXIiLGEsZSkscD1qKCJ0cC10aHVtYnMiLGEsZSkscT1qKCJ0cC10YWJzIixhLGUpLHI9alF1ZXJ5KHRoaXMpLmF0dHIoImNsYXNzIikscz0hIXIubWF0Y2goL3RwLXRhYnN8dHAtdGh1bWIvZ2kpO2lmKCJjYXJvdXNlbCI9PT1kLnNsaWRlclR5cGUmJigoIm1vdmUiPT09Z3x8ImVuZCI9PT1nfHwiY2FuY2VsIj09ZykmJmQuZHJhZ1N0YXJ0ZWRPdmVyU2xpZGVyJiYhZC5kcmFnU3RhcnRlZE92ZXJUaHVtYnMmJiFkLmRyYWdTdGFydGVkT3ZlclRhYnN8fCJzdGFydCI9PT1nJiZvPjAmJjA9PT1wJiYwPT09cSkpe2lmKGMmJigidXAiPT09aHx8ImRvd24iPT09aCkpcmV0dXJuO3N3aXRjaChkLmRyYWdTdGFydGVkT3ZlclNsaWRlcj0hMCxpPWgmJmgubWF0Y2goL2xlZnR8dXAvZyk/TWF0aC5yb3VuZCgtMSppKTppPU1hdGgucm91bmQoMSppKSxnKXtjYXNlInN0YXJ0Ijp2b2lkIDAhPT1mLnBvc2l0aW9uYW5pbSYmKGYucG9zaXRpb25hbmltLmtpbGwoKSxmLnNsaWRlX2dsb2JhbG9mZnNldD0ib2ZmIj09PWYuaW5maW5pdHk/Zi5zbGlkZV9vZmZzZXQ6Yi5zaW1wKGYuc2xpZGVfb2Zmc2V0LGYubWF4d2lkdGgpKSxmLm92ZXJwdWxsPSJub25lIixmLndyYXAuYWRkQ2xhc3MoImRyYWdnZWQiKTticmVhaztjYXNlIm1vdmUiOmlmKGQuYy5maW5kKCIudHAtd2l0aGFjdGlvbiIpLmFkZENsYXNzKCJ0cC10ZW1wb3JhcnlkaXNhYmxlZCIpLGYuc2xpZGVfb2Zmc2V0PSJvZmYiPT09Zi5pbmZpbml0eT9mLnNsaWRlX2dsb2JhbG9mZnNldCtpOmIuc2ltcChmLnNsaWRlX2dsb2JhbG9mZnNldCtpLGYubWF4d2lkdGgpLCJvZmYiPT09Zi5pbmZpbml0eSl7dmFyIHQ9ImNlbnRlciI9PT1mLmhvcml6b250YWxfYWxpZ24/KGYud3JhcHdpZHRoLzItZi5zbGlkZV93aWR0aC8yLWYuc2xpZGVfb2Zmc2V0KS9mLnNsaWRlX3dpZHRoOigwLWYuc2xpZGVfb2Zmc2V0KS9mLnNsaWRlX3dpZHRoOyJub25lIiE9PWYub3ZlcnB1bGwmJjAhPT1mLm92ZXJwdWxsfHwhKHQ8MHx8dD5kLnNsaWRlYW1vdW50LTEpP3Q+PTAmJnQ8PWQuc2xpZGVhbW91bnQtMSYmKHQ+PTAmJmk+Zi5vdmVycHVsbHx8dDw9ZC5zbGlkZWFtb3VudC0xJiZpPGYub3ZlcnB1bGwpJiYoZi5vdmVycHVsbD0wKTpmLm92ZXJwdWxsPWksZi5zbGlkZV9vZmZzZXQ9dDwwP2Yuc2xpZGVfb2Zmc2V0KyhmLm92ZXJwdWxsLWkpLzEuMStNYXRoLnNxcnQoTWF0aC5hYnMoKGYub3ZlcnB1bGwtaSkvMS4xKSk6dD5kLnNsaWRlYW1vdW50LTE/Zi5zbGlkZV9vZmZzZXQrKGYub3ZlcnB1bGwtaSkvMS4xLU1hdGguc3FydChNYXRoLmFicygoZi5vdmVycHVsbC1pKS8xLjEpKTpmLnNsaWRlX29mZnNldH1iLm9yZ2FuaXNlQ2Fyb3VzZWwoZCxoLCEwLCEwKTticmVhaztjYXNlImVuZCI6Y2FzZSJjYW5jZWwiOmYuc2xpZGVfZ2xvYmFsb2Zmc2V0PWYuc2xpZGVfb2Zmc2V0LGYud3JhcC5yZW1vdmVDbGFzcygiZHJhZ2dlZCIpLGIuY2Fyb3VzZWxUb0V2YWxQb3NpdGlvbihkLGgpLGQuZHJhZ1N0YXJ0ZWRPdmVyU2xpZGVyPSExLGQuZHJhZ1N0YXJ0ZWRPdmVyVGh1bWJzPSExLGQuZHJhZ1N0YXJ0ZWRPdmVyVGFicz0hMSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZC5jLmZpbmQoIi50cC13aXRoYWN0aW9uIikucmVtb3ZlQ2xhc3MoInRwLXRlbXBvcmFyeWRpc2FibGVkIil9LDE5KX19ZWxzZXtpZigoIm1vdmUiIT09ZyYmImVuZCIhPT1nJiYiY2FuY2VsIiE9Z3x8ZC5kcmFnU3RhcnRlZE92ZXJTbGlkZXJ8fCFkLmRyYWdTdGFydGVkT3ZlclRodW1icyYmIWQuZHJhZ1N0YXJ0ZWRPdmVyVGFicykmJiEoInN0YXJ0Ij09PWcmJm8+MCYmKHA+MHx8cT4wKSkpe2lmKCJlbmQiPT1nJiYhcyl7aWYoZC5zY19pbmRpY2F0b3I9ImFycm93IiwiaG9yaXpvbnRhbCI9PWsmJiJsZWZ0Ij09aHx8InZlcnRpY2FsIj09ayYmInVwIj09aClyZXR1cm4gZC5zY19pbmRpY2F0b3JfZGlyPTAsYi5jYWxsaW5nTmV3U2xpZGUoZC5jLDEpLCExO2lmKCJob3Jpem9udGFsIj09ayYmInJpZ2h0Ij09aHx8InZlcnRpY2FsIj09ayYmImRvd24iPT1oKXJldHVybiBkLnNjX2luZGljYXRvcl9kaXI9MSxiLmNhbGxpbmdOZXdTbGlkZShkLmMsLTEpLCExfXJldHVybiBkLmRyYWdTdGFydGVkT3ZlclNsaWRlcj0hMSxkLmRyYWdTdGFydGVkT3ZlclRodW1icz0hMSxkLmRyYWdTdGFydGVkT3ZlclRhYnM9ITEsITB9cD4wJiYoZC5kcmFnU3RhcnRlZE92ZXJUaHVtYnM9ITApLHE+MCYmKGQuZHJhZ1N0YXJ0ZWRPdmVyVGFicz0hMCk7dmFyIHU9ZC5kcmFnU3RhcnRlZE92ZXJUaHVtYnM/Ii50cC10aHVtYnMiOiIudHAtdGFicyIsdj1kLmRyYWdTdGFydGVkT3ZlclRodW1icz8iLnRwLXRodW1iLW1hc2siOiIudHAtdGFiLW1hc2siLHc9ZC5kcmFnU3RhcnRlZE92ZXJUaHVtYnM/Ii50cC10aHVtYnMtaW5uZXItd3JhcHBlciI6Ii50cC10YWJzLWlubmVyLXdyYXBwZXIiLHg9ZC5kcmFnU3RhcnRlZE92ZXJUaHVtYnM/Ii50cC10aHVtYiI6Ii50cC10YWIiLHk9ZC5kcmFnU3RhcnRlZE92ZXJUaHVtYnM/ZC5uYXZpZ2F0aW9uLnRodW1ibmFpbHM6ZC5uYXZpZ2F0aW9uLnRhYnM7aT1oJiZoLm1hdGNoKC9sZWZ0fHVwL2cpP01hdGgucm91bmQoLTEqaSk6aT1NYXRoLnJvdW5kKDEqaSk7dmFyIHo9YS5wYXJlbnQoKS5maW5kKHYpLEE9ei5maW5kKHcpLEI9eS5kaXJlY3Rpb24sQz0idmVydGljYWwiPT09Qj9BLmhlaWdodCgpOkEud2lkdGgoKSxEPSJ2ZXJ0aWNhbCI9PT1CP3ouaGVpZ2h0KCk6ei53aWR0aCgpLEU9InZlcnRpY2FsIj09PUI/ei5maW5kKHgpLmZpcnN0KCkub3V0ZXJIZWlnaHQoITApK3kuc3BhY2U6ei5maW5kKHgpLmZpcnN0KCkub3V0ZXJXaWR0aCghMCkreS5zcGFjZSxGPXZvaWQgMD09PUEuZGF0YSgib2Zmc2V0Iik/MDpwYXJzZUludChBLmRhdGEoIm9mZnNldCIpLDApLEc9MDtzd2l0Y2goZyl7Y2FzZSJzdGFydCI6YS5wYXJlbnQoKS5maW5kKHUpLmFkZENsYXNzKCJkcmFnZ2VkIiksRj0idmVydGljYWwiPT09Qj9BLnBvc2l0aW9uKCkudG9wOkEucG9zaXRpb24oKS5sZWZ0LEEuZGF0YSgib2Zmc2V0IixGKSxBLmRhdGEoInRtbW92ZSIpJiZBLmRhdGEoInRtbW92ZSIpLnBhdXNlKCk7YnJlYWs7Y2FzZSJtb3ZlIjppZihDPD1EKXJldHVybiExO0c9RitpLEc9Rz4wPyJob3Jpem9udGFsIj09PUI/Ry1BLndpZHRoKCkqKEcvQS53aWR0aCgpKkcvQS53aWR0aCgpKTpHLUEuaGVpZ2h0KCkqKEcvQS5oZWlnaHQoKSpHL0EuaGVpZ2h0KCkpOkc7dmFyIEg9InZlcnRpY2FsIj09PUI/MC0oQS5oZWlnaHQoKS16LmhlaWdodCgpKTowLShBLndpZHRoKCktei53aWR0aCgpKTtHPUc8SD8iaG9yaXpvbnRhbCI9PT1CP0crQS53aWR0aCgpKihHLUgpL0Eud2lkdGgoKSooRy1IKS9BLndpZHRoKCk6RytBLmhlaWdodCgpKihHLUgpL0EuaGVpZ2h0KCkqKEctSCkvQS5oZWlnaHQoKTpHLCJ2ZXJ0aWNhbCI9PT1CP3B1bmNoZ3MuVHdlZW5MaXRlLnNldChBLHt0b3A6RysicHgifSk6cHVuY2hncy5Ud2VlbkxpdGUuc2V0KEEse2xlZnQ6RysicHgifSk7YnJlYWs7Y2FzZSJlbmQiOmNhc2UiY2FuY2VsIjppZihzKXJldHVybiBHPUYraSxHPSJ2ZXJ0aWNhbCI9PT1CP0c8MC0oQS5oZWlnaHQoKS16LmhlaWdodCgpKT8wLShBLmhlaWdodCgpLXouaGVpZ2h0KCkpOkc6RzwwLShBLndpZHRoKCktei53aWR0aCgpKT8wLShBLndpZHRoKCktei53aWR0aCgpKTpHLEc9Rz4wPzA6RyxHPU1hdGguYWJzKGkpPkUvMTA/aTw9MD9NYXRoLmZsb29yKEcvRSkqRTpNYXRoLmNlaWwoRy9FKSpFOmk8MD9NYXRoLmNlaWwoRy9FKSpFOk1hdGguZmxvb3IoRy9FKSpFLEc9InZlcnRpY2FsIj09PUI/RzwwLShBLmhlaWdodCgpLXouaGVpZ2h0KCkpPzAtKEEuaGVpZ2h0KCktei5oZWlnaHQoKSk6RzpHPDAtKEEud2lkdGgoKS16LndpZHRoKCkpPzAtKEEud2lkdGgoKS16LndpZHRoKCkpOkcsRz1HPjA/MDpHLCJ2ZXJ0aWNhbCI9PT1CP3B1bmNoZ3MuVHdlZW5MaXRlLnRvKEEsLjUse3RvcDpHKyJweCIsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlT3V0fSk6cHVuY2hncy5Ud2VlbkxpdGUudG8oQSwuNSx7bGVmdDpHKyJweCIsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlT3V0fSksRz1HfHwoInZlcnRpY2FsIj09PUI/QS5wb3NpdGlvbigpLnRvcDpBLnBvc2l0aW9uKCkubGVmdCksQS5kYXRhKCJvZmZzZXQiLEcpLEEuZGF0YSgiZGlzdGFuY2UiLGkpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtkLmRyYWdTdGFydGVkT3ZlclNsaWRlcj0hMSxkLmRyYWdTdGFydGVkT3ZlclRodW1icz0hMSxkLmRyYWdTdGFydGVkT3ZlclRhYnM9ITF9LDEwMCksYS5wYXJlbnQoKS5maW5kKHUpLnJlbW92ZUNsYXNzKCJkcmFnZ2VkIiksITF9fX19KX0sbD1mdW5jdGlvbihhKXthLmhpZGVfZGVsYXk9alF1ZXJ5LmlzTnVtZXJpYyhwYXJzZUludChhLmhpZGVfZGVsYXksMCkpP2EuaGlkZV9kZWxheS8xZTM6LjIsYS5oaWRlX2RlbGF5X21vYmlsZT1qUXVlcnkuaXNOdW1lcmljKHBhcnNlSW50KGEuaGlkZV9kZWxheV9tb2JpbGUsMCkpP2EuaGlkZV9kZWxheV9tb2JpbGUvMWUzOi4yfSxtPWZ1bmN0aW9uKGEpe3JldHVybiBhJiZhLmVuYWJsZX0sbj1mdW5jdGlvbihhKXtyZXR1cm4gYSYmYS5lbmFibGUmJiEwPT09YS5oaWRlX29ubGVhdmUmJih2b2lkIDA9PT1hLnBvc2l0aW9ufHwhYS5wb3NpdGlvbi5tYXRjaCgvb3V0ZXIvZykpfSxvPWZ1bmN0aW9uKGEsYil7dmFyIGQ9YS5wYXJlbnQoKTtuKGIubmF2aWdhdGlvbi5hcnJvd3MpJiZwdW5jaGdzLlR3ZWVuTGl0ZS5kZWxheWVkQ2FsbChjP2IubmF2aWdhdGlvbi5hcnJvd3MuaGlkZV9kZWxheV9tb2JpbGU6Yi5uYXZpZ2F0aW9uLmFycm93cy5oaWRlX2RlbGF5LHAsW2QuZmluZCgiLnRwYXJyb3dzIiksYi5uYXZpZ2F0aW9uLmFycm93cywiaGlkZSJdKSxuKGIubmF2aWdhdGlvbi5idWxsZXRzKSYmcHVuY2hncy5Ud2VlbkxpdGUuZGVsYXllZENhbGwoYz9iLm5hdmlnYXRpb24uYnVsbGV0cy5oaWRlX2RlbGF5X21vYmlsZTpiLm5hdmlnYXRpb24uYnVsbGV0cy5oaWRlX2RlbGF5LHAsW2QuZmluZCgiLnRwLWJ1bGxldHMiKSxiLm5hdmlnYXRpb24uYnVsbGV0cywiaGlkZSJdKSxuKGIubmF2aWdhdGlvbi50aHVtYm5haWxzKSYmcHVuY2hncy5Ud2VlbkxpdGUuZGVsYXllZENhbGwoYz9iLm5hdmlnYXRpb24udGh1bWJuYWlscy5oaWRlX2RlbGF5X21vYmlsZTpiLm5hdmlnYXRpb24udGh1bWJuYWlscy5oaWRlX2RlbGF5LHAsW2QuZmluZCgiLnRwLXRodW1icyIpLGIubmF2aWdhdGlvbi50aHVtYm5haWxzLCJoaWRlIl0pLG4oYi5uYXZpZ2F0aW9uLnRhYnMpJiZwdW5jaGdzLlR3ZWVuTGl0ZS5kZWxheWVkQ2FsbChjP2IubmF2aWdhdGlvbi50YWJzLmhpZGVfZGVsYXlfbW9iaWxlOmIubmF2aWdhdGlvbi50YWJzLmhpZGVfZGVsYXkscCxbZC5maW5kKCIudHAtdGFicyIpLGIubmF2aWdhdGlvbi50YWJzLCJoaWRlIl0pfSxwPWZ1bmN0aW9uKGEsYixjLGQpe3N3aXRjaChkPXZvaWQgMD09PWQ/LjU6ZCxjKXtjYXNlInNob3ciOnB1bmNoZ3MuVHdlZW5MaXRlLnRvKGEsZCx7YXV0b0FscGhhOjEsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlSW5PdXQsb3ZlcndyaXRlOiJhdXRvIn0pO2JyZWFrO2Nhc2UiaGlkZSI6cHVuY2hncy5Ud2VlbkxpdGUudG8oYSxkLHthdXRvQWxwaGE6MCxlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91LG92ZXJ3cml0ZToiYXV0byJ9KX19LHE9ZnVuY3Rpb24oYSxiLGMpe2Iuc3R5bGU9dm9pZCAwPT09Yi5zdHlsZT8iIjpiLnN0eWxlLGIubGVmdC5zdHlsZT12b2lkIDA9PT1iLmxlZnQuc3R5bGU/IiI6Yi5sZWZ0LnN0eWxlLGIucmlnaHQuc3R5bGU9dm9pZCAwPT09Yi5yaWdodC5zdHlsZT8iIjpiLnJpZ2h0LnN0eWxlLDA9PT1hLmZpbmQoIi50cC1sZWZ0YXJyb3cudHBhcnJvd3MiKS5sZW5ndGgmJmEuYXBwZW5kKCc8ZGl2IGNsYXNzPSJ0cC1sZWZ0YXJyb3cgdHBhcnJvd3MgJytiLnN0eWxlKyIgIitiLmxlZnQuc3R5bGUrJyI+JytiLnRtcCsiPC9kaXY+IiksMD09PWEuZmluZCgiLnRwLXJpZ2h0YXJyb3cudHBhcnJvd3MiKS5sZW5ndGgmJmEuYXBwZW5kKCc8ZGl2IGNsYXNzPSJ0cC1yaWdodGFycm93IHRwYXJyb3dzICcrYi5zdHlsZSsiICIrYi5yaWdodC5zdHlsZSsnIj4nK2IudG1wKyI8L2Rpdj4iKTt2YXIgZD1hLmZpbmQoIi50cC1sZWZ0YXJyb3cudHBhcnJvd3MiKSxlPWEuZmluZCgiLnRwLXJpZ2h0YXJyb3cudHBhcnJvd3MiKTtiLnJ0bD8oZC5jbGljayhmdW5jdGlvbigpe2Muc2NfaW5kaWNhdG9yPSJhcnJvdyIsYy5zY19pbmRpY2F0b3JfZGlyPTAsYS5yZXZuZXh0KCl9KSxlLmNsaWNrKGZ1bmN0aW9uKCl7Yy5zY19pbmRpY2F0b3I9ImFycm93IixjLnNjX2luZGljYXRvcl9kaXI9MSxhLnJldnByZXYoKX0pKTooZS5jbGljayhmdW5jdGlvbigpe2Muc2NfaW5kaWNhdG9yPSJhcnJvdyIsYy5zY19pbmRpY2F0b3JfZGlyPTAsYS5yZXZuZXh0KCl9KSxkLmNsaWNrKGZ1bmN0aW9uKCl7Yy5zY19pbmRpY2F0b3I9ImFycm93IixjLnNjX2luZGljYXRvcl9kaXI9MSxhLnJldnByZXYoKX0pKSxiLnJpZ2h0Lmo9YS5maW5kKCIudHAtcmlnaHRhcnJvdy50cGFycm93cyIpLGIubGVmdC5qPWEuZmluZCgiLnRwLWxlZnRhcnJvdy50cGFycm93cyIpLGIucGFkZGluZ190b3A9cGFyc2VJbnQoYy5jYXJvdXNlbC5wYWRkaW5nX3RvcHx8MCwwKSxiLnBhZGRpbmdfYm90dG9tPXBhcnNlSW50KGMuY2Fyb3VzZWwucGFkZGluZ19ib3R0b218fDAsMCksdChkLGIubGVmdCxjKSx0KGUsYi5yaWdodCxjKSxiLmxlZnQub3B0PWMsYi5yaWdodC5vcHQ9Yywib3V0ZXItbGVmdCIhPWIucG9zaXRpb24mJiJvdXRlci1yaWdodCIhPWIucG9zaXRpb258fChjLm91dGVybmF2PSEwKX0scj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5vdXRlckhlaWdodCghMCksZj0oYS5vdXRlcldpZHRoKCEwKSx2b2lkIDA9PWIub3B0PzA6MD09Yy5jb25oP2MuaGVpZ2h0OmMuY29uaCksZz0ibGF5ZXJncmlkIj09Yi5jb250YWluZXI/ImZ1bGxzY3JlZW4iPT1jLnNsaWRlckxheW91dD9jLmhlaWdodC8yLWMuZ3JpZGhlaWdodFtjLmN1cldpblJhbmdlXSpjLmJoLzI6Im9uIj09Yy5hdXRvSGVpZ2h0fHx2b2lkIDAhPWMubWluSGVpZ2h0JiZjLm1pbkhlaWdodD4wP2YvMi1jLmdyaWRoZWlnaHRbYy5jdXJXaW5SYW5nZV0qYy5iaC8yOjA6MCxoPSJ0b3AiPT09Yi52X2FsaWduP3t0b3A6IjBweCIseTpNYXRoLnJvdW5kKGIudl9vZmZzZXQrZykrInB4In06ImNlbnRlciI9PT1iLnZfYWxpZ24/e3RvcDoiNTAlIix5Ok1hdGgucm91bmQoMC1kLzIrYi52X29mZnNldCkrInB4In06e3RvcDoiMTAwJSIseTpNYXRoLnJvdW5kKDAtKGQrYi52X29mZnNldCtnKSkrInB4In07YS5oYXNDbGFzcygib3V0ZXItYm90dG9tIil8fHB1bmNoZ3MuVHdlZW5MaXRlLnNldChhLGgpfSxzPWZ1bmN0aW9uKGEsYixjKXt2YXIgZT0oYS5vdXRlckhlaWdodCghMCksYS5vdXRlcldpZHRoKCEwKSksZj0ibGF5ZXJncmlkIj09Yi5jb250YWluZXI/ImNhcm91c2VsIj09PWMuc2xpZGVyVHlwZT8wOmMud2lkdGgvMi1jLmdyaWR3aWR0aFtjLmN1cldpblJhbmdlXSpjLmJ3LzI6MCxnPSJsZWZ0Ij09PWIuaF9hbGlnbj97bGVmdDoiMHB4Iix4Ok1hdGgucm91bmQoYi5oX29mZnNldCtmKSsicHgifToiY2VudGVyIj09PWIuaF9hbGlnbj97bGVmdDoiNTAlIix4Ok1hdGgucm91bmQoMC1lLzIrYi5oX29mZnNldCkrInB4In06e2xlZnQ6IjEwMCUiLHg6TWF0aC5yb3VuZCgwLShlK2IuaF9vZmZzZXQrZikpKyJweCJ9O3B1bmNoZ3MuVHdlZW5MaXRlLnNldChhLGcpfSx0PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLmNsb3Nlc3QoIi50cC1zaW1wbGVyZXNwb25zaXZlIikubGVuZ3RoPjA/YS5jbG9zZXN0KCIudHAtc2ltcGxlcmVzcG9uc2l2ZSIpOmEuY2xvc2VzdCgiLnRwLXJldnNsaWRlci1tYWludWwiKS5sZW5ndGg+MD9hLmNsb3Nlc3QoIi50cC1yZXZzbGlkZXItbWFpbnVsIik6YS5jbG9zZXN0KCIucmV2X3NsaWRlcl93cmFwcGVyIikubGVuZ3RoPjA/YS5jbG9zZXN0KCIucmV2X3NsaWRlcl93cmFwcGVyIik6YS5wYXJlbnQoKS5maW5kKCIudHAtcmV2c2xpZGVyLW1haW51bCIpLGU9ZC53aWR0aCgpLGY9ZC5oZWlnaHQoKTtpZihyKGEsYixjKSxzKGEsYixjKSwib3V0ZXItbGVmdCIhPT1iLnBvc2l0aW9ufHwiZnVsbHdpZHRoIiE9Yi5zbGlkZXJMYXlvdXQmJiJmdWxsc2NyZWVuIiE9Yi5zbGlkZXJMYXlvdXQ/Im91dGVyLXJpZ2h0IiE9PWIucG9zaXRpb258fCJmdWxsd2lkdGgiIT1iLnNsaWRlckxheW91dCYmImZ1bGxzY3JlZW4iIT1iLnNsaWRlckxheW91dHx8cHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEse3JpZ2h0OjAtYS5vdXRlcldpZHRoKCkrInB4Iix4OmIuaF9vZmZzZXQrInB4In0pOnB1bmNoZ3MuVHdlZW5MaXRlLnNldChhLHtsZWZ0OjAtYS5vdXRlcldpZHRoKCkrInB4Iix4OmIuaF9vZmZzZXQrInB4In0pLGEuaGFzQ2xhc3MoInRwLXRodW1icyIpfHxhLmhhc0NsYXNzKCJ0cC10YWJzIikpe3ZhciBnPWEuZGF0YSgid3JfcGFkZGluZyIpLGg9YS5kYXRhKCJtYXh3IiksaT1hLmRhdGEoIm1heGgiKSxqPWEuaGFzQ2xhc3MoInRwLXRodW1icyIpP2EuZmluZCgiLnRwLXRodW1iLW1hc2siKTphLmZpbmQoIi50cC10YWItbWFzayIpLGs9cGFyc2VJbnQoYi5wYWRkaW5nX3RvcHx8MCwwKSxsPXBhcnNlSW50KGIucGFkZGluZ19ib3R0b218fDAsMCk7aD5lJiYib3V0ZXItbGVmdCIhPT1iLnBvc2l0aW9uJiYib3V0ZXItcmlnaHQiIT09Yi5wb3NpdGlvbj8ocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEse2xlZnQ6IjBweCIseDowLG1heFdpZHRoOmUtMipnKyJweCJ9KSxwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaix7bWF4V2lkdGg6ZS0yKmcrInB4In0pKToocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEse21heFdpZHRoOmgrInB4In0pLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChqLHttYXhXaWR0aDpoKyJweCJ9KSksaSsyKmc+ZiYmIm91dGVyLWJvdHRvbSIhPT1iLnBvc2l0aW9uJiYib3V0ZXItdG9wIiE9PWIucG9zaXRpb24/KHB1bmNoZ3MuVHdlZW5MaXRlLnNldChhLHt0b3A6IjBweCIseTowLG1heEhlaWdodDprK2wrKGYtMipnKSsicHgifSkscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGose21heEhlaWdodDprK2wrKGYtMipnKSsicHgifSkpOihwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYSx7bWF4SGVpZ2h0OmkrInB4In0pLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChqLHttYXhIZWlnaHQ6aSsicHgifSkpLCJvdXRlci1sZWZ0IiE9PWIucG9zaXRpb24mJiJvdXRlci1yaWdodCIhPT1iLnBvc2l0aW9uJiYoaz0wLGw9MCksITA9PT1iLnNwYW4mJiJ2ZXJ0aWNhbCI9PT1iLmRpcmVjdGlvbj8ocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEse21heEhlaWdodDprK2wrKGYtMipnKSsicHgiLGhlaWdodDprK2wrKGYtMipnKSsicHgiLHRvcDowLWsseTowfSkscihqLGIsYykpOiEwPT09Yi5zcGFuJiYiaG9yaXpvbnRhbCI9PT1iLmRpcmVjdGlvbiYmKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChhLHttYXhXaWR0aDoiMTAwJSIsd2lkdGg6ZS0yKmcrInB4IixsZWZ0OjAseDowfSkscyhqLGIsYykpfX0sdT1mdW5jdGlvbihhLGIsYyxkKXswPT09YS5maW5kKCIudHAtYnVsbGV0cyIpLmxlbmd0aCYmKGIuc3R5bGU9dm9pZCAwPT09Yi5zdHlsZT8iIjpiLnN0eWxlLGEuYXBwZW5kKCc8ZGl2IGNsYXNzPSJ0cC1idWxsZXRzICcrYi5zdHlsZSsiICIrYi5kaXJlY3Rpb24rJyI+PC9kaXY+JykpO3ZhciBlPWEuZmluZCgiLnRwLWJ1bGxldHMiKSxmPWMuZGF0YSgiaW5kZXgiKSxnPWIudG1wO2pRdWVyeS5lYWNoKGQudGh1bWJzW2MuaW5kZXgoKV0ucGFyYW1zLGZ1bmN0aW9uKGEsYil7Zz1nLnJlcGxhY2UoYi5mcm9tLGIudG8pfSksZS5hcHBlbmQoJzxkaXYgY2xhc3M9Imp1c3RhZGRlZGJ1bGxldCB0cC1idWxsZXQiPicrZysiPC9kaXY+Iik7dmFyIGg9YS5maW5kKCIuanVzdGFkZGVkYnVsbGV0IiksaT1hLmZpbmQoIi50cC1idWxsZXQiKS5sZW5ndGgsaj1oLm91dGVyV2lkdGgoKStwYXJzZUludCh2b2lkIDA9PT1iLnNwYWNlPzA6Yi5zcGFjZSwwKSxrPWgub3V0ZXJIZWlnaHQoKStwYXJzZUludCh2b2lkIDA9PT1iLnNwYWNlPzA6Yi5zcGFjZSwwKTsidmVydGljYWwiPT09Yi5kaXJlY3Rpb24/KGguY3NzKHt0b3A6KGktMSkqaysicHgiLGxlZnQ6IjBweCJ9KSxlLmNzcyh7aGVpZ2h0OihpLTEpKmsraC5vdXRlckhlaWdodCgpLHdpZHRoOmgub3V0ZXJXaWR0aCgpfSkpOihoLmNzcyh7bGVmdDooaS0xKSpqKyJweCIsdG9wOiIwcHgifSksZS5jc3Moe3dpZHRoOihpLTEpKmoraC5vdXRlcldpZHRoKCksaGVpZ2h0Omgub3V0ZXJIZWlnaHQoKX0pKSxoLmZpbmQoIi50cC1idWxsZXQtaW1hZ2UiKS5jc3Moe2JhY2tncm91bmRJbWFnZToidXJsKCIrZC50aHVtYnNbYy5pbmRleCgpXS5zcmMrIikifSksaC5kYXRhKCJsaXJlZiIsZiksaC5jbGljayhmdW5jdGlvbigpe2Quc2NfaW5kaWNhdG9yPSJidWxsZXQiLGEucmV2Y2FsbHNsaWRld2l0aGlkKGYpLGEuZmluZCgiLnRwLWJ1bGxldCIpLnJlbW92ZUNsYXNzKCJzZWxlY3RlZCIpLGpRdWVyeSh0aGlzKS5hZGRDbGFzcygic2VsZWN0ZWQiKX0pLGgucmVtb3ZlQ2xhc3MoImp1c3RhZGRlZGJ1bGxldCIpLGIucGFkZGluZ190b3A9cGFyc2VJbnQoZC5jYXJvdXNlbC5wYWRkaW5nX3RvcHx8MCwwKSxiLnBhZGRpbmdfYm90dG9tPXBhcnNlSW50KGQuY2Fyb3VzZWwucGFkZGluZ19ib3R0b218fDAsMCksYi5vcHQ9ZCwib3V0ZXItbGVmdCIhPWIucG9zaXRpb24mJiJvdXRlci1yaWdodCIhPWIucG9zaXRpb258fChkLm91dGVybmF2PSEwKSxlLmFkZENsYXNzKCJuYXYtcG9zLWhvci0iK2IuaF9hbGlnbiksZS5hZGRDbGFzcygibmF2LXBvcy12ZXItIitiLnZfYWxpZ24pLGUuYWRkQ2xhc3MoIm5hdi1kaXItIitiLmRpcmVjdGlvbiksdChlLGIsZCl9LHc9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj0idHAtdGh1bWIiPT09ZD8iLnRwLXRodW1icyI6Ii50cC10YWJzIixnPSJ0cC10aHVtYiI9PT1kPyIudHAtdGh1bWItbWFzayI6Ii50cC10YWItbWFzayIsaD0idHAtdGh1bWIiPT09ZD8iLnRwLXRodW1icy1pbm5lci13cmFwcGVyIjoiLnRwLXRhYnMtaW5uZXItd3JhcHBlciIsaT0idHAtdGh1bWIiPT09ZD8iLnRwLXRodW1iIjoiLnRwLXRhYiIsaj0idHAtdGh1bWIiPT09ZD8iLnRwLXRodW1iLWltYWdlIjoiLnRwLXRhYi1pbWFnZSI7aWYoYi52aXNpYmxlQW1vdW50PWIudmlzaWJsZUFtb3VudD5lLnNsaWRlYW1vdW50P2Uuc2xpZGVhbW91bnQ6Yi52aXNpYmxlQW1vdW50LGIuc2xpZGVyTGF5b3V0PWUuc2xpZGVyTGF5b3V0LDA9PT1hLnBhcmVudCgpLmZpbmQoZikubGVuZ3RoKXtiLnN0eWxlPXZvaWQgMD09PWIuc3R5bGU/IiI6Yi5zdHlsZTt2YXIgaz0hMD09PWIuc3Bhbj8idHAtc3Bhbi13cmFwcGVyIjoiIixsPSc8ZGl2IGNsYXNzPSInK2QrInMgIitrKyIgIitiLnBvc2l0aW9uKyIgIitiLnN0eWxlKyciPjxkaXYgY2xhc3M9IicrZCsnLW1hc2siPjxkaXYgY2xhc3M9IicrZCsncy1pbm5lci13cmFwcGVyIiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7Ij48L2Rpdj48L2Rpdj48L2Rpdj4nOyJvdXRlci10b3AiPT09Yi5wb3NpdGlvbj9hLnBhcmVudCgpLnByZXBlbmQobCk6Im91dGVyLWJvdHRvbSI9PT1iLnBvc2l0aW9uP2EuYWZ0ZXIobCk6YS5hcHBlbmQobCksYi5wYWRkaW5nX3RvcD1wYXJzZUludChlLmNhcm91c2VsLnBhZGRpbmdfdG9wfHwwLDApLGIucGFkZGluZ19ib3R0b209cGFyc2VJbnQoZS5jYXJvdXNlbC5wYWRkaW5nX2JvdHRvbXx8MCwwKSwib3V0ZXItbGVmdCIhPWIucG9zaXRpb24mJiJvdXRlci1yaWdodCIhPWIucG9zaXRpb258fChlLm91dGVybmF2PSEwKX12YXIgbT1jLmRhdGEoImluZGV4Iiksbj1hLnBhcmVudCgpLmZpbmQoZiksbz1uLmZpbmQoZykscD1vLmZpbmQoaCkscT0iaG9yaXpvbnRhbCI9PT1iLmRpcmVjdGlvbj9iLndpZHRoKmIudmlzaWJsZUFtb3VudCtiLnNwYWNlKihiLnZpc2libGVBbW91bnQtMSk6Yi53aWR0aCxyPSJob3Jpem9udGFsIj09PWIuZGlyZWN0aW9uP2IuaGVpZ2h0OmIuaGVpZ2h0KmIudmlzaWJsZUFtb3VudCtiLnNwYWNlKihiLnZpc2libGVBbW91bnQtMSkscz1iLnRtcDtqUXVlcnkuZWFjaChlLnRodW1ic1tjLmluZGV4KCldLnBhcmFtcyxmdW5jdGlvbihhLGIpe3M9cy5yZXBsYWNlKGIuZnJvbSxiLnRvKX0pLHAuYXBwZW5kKCc8ZGl2IGRhdGEtbGlpbmRleD0iJytjLmluZGV4KCkrJyIgZGF0YS1saXJlZj0iJyttKyciIGNsYXNzPSJqdXN0YWRkZWR0aHVtYiAnK2QrJyIgc3R5bGU9IndpZHRoOicrYi53aWR0aCsicHg7aGVpZ2h0OiIrYi5oZWlnaHQrJ3B4OyI+JytzKyI8L2Rpdj4iKTt2YXIgdT1uLmZpbmQoIi5qdXN0YWRkZWR0aHVtYiIpLHY9bi5maW5kKGkpLmxlbmd0aCx3PXUub3V0ZXJXaWR0aCgpK3BhcnNlSW50KHZvaWQgMD09PWIuc3BhY2U/MDpiLnNwYWNlLDApLHg9dS5vdXRlckhlaWdodCgpK3BhcnNlSW50KHZvaWQgMD09PWIuc3BhY2U/MDpiLnNwYWNlLDApO3UuZmluZChqKS5jc3Moe2JhY2tncm91bmRJbWFnZToidXJsKCIrZS50aHVtYnNbYy5pbmRleCgpXS5zcmMrIikifSksInZlcnRpY2FsIj09PWIuZGlyZWN0aW9uPyh1LmNzcyh7dG9wOih2LTEpKngrInB4IixsZWZ0OiIwcHgifSkscC5jc3Moe2hlaWdodDoodi0xKSp4K3Uub3V0ZXJIZWlnaHQoKSx3aWR0aDp1Lm91dGVyV2lkdGgoKX0pKToodS5jc3Moe2xlZnQ6KHYtMSkqdysicHgiLHRvcDoiMHB4In0pLHAuY3NzKHt3aWR0aDoodi0xKSp3K3Uub3V0ZXJXaWR0aCgpLGhlaWdodDp1Lm91dGVySGVpZ2h0KCl9KSksbi5kYXRhKCJtYXh3IixxKSxuLmRhdGEoIm1heGgiLHIpLG4uZGF0YSgid3JfcGFkZGluZyIsYi53cmFwcGVyX3BhZGRpbmcpO3ZhciB5PSJvdXRlci10b3AiPT09Yi5wb3NpdGlvbnx8Im91dGVyLWJvdHRvbSI9PT1iLnBvc2l0aW9uPyJyZWxhdGl2ZSI6ImFic29sdXRlIjsib3V0ZXItdG9wIiE9PWIucG9zaXRpb24mJiJvdXRlci1ib3R0b20iIT09Yi5wb3NpdGlvbnx8Yi5oX2FsaWduO28uY3NzKHttYXhXaWR0aDpxKyJweCIsbWF4SGVpZ2h0OnIrInB4IixvdmVyZmxvdzoiaGlkZGVuIixwb3NpdGlvbjoicmVsYXRpdmUifSksbi5jc3Moe21heFdpZHRoOnErInB4IixtYXhIZWlnaHQ6cisicHgiLG92ZXJmbG93OiJ2aXNpYmxlIixwb3NpdGlvbjp5LGJhY2tncm91bmQ6Yi53cmFwcGVyX2NvbG9yLHBhZGRpbmc6Yi53cmFwcGVyX3BhZGRpbmcrInB4Iixib3hTaXppbmc6ImNvbnRldC1ib3gifSksdS5jbGljayhmdW5jdGlvbigpe2Uuc2NfaW5kaWNhdG9yPSJidWxsZXQiO3ZhciBiPWEucGFyZW50KCkuZmluZChoKS5kYXRhKCJkaXN0YW5jZSIpO2I9dm9pZCAwPT09Yj8wOmIsTWF0aC5hYnMoYik8MTAmJihhLnJldmNhbGxzbGlkZXdpdGhpZChtKSxhLnBhcmVudCgpLmZpbmQoZikucmVtb3ZlQ2xhc3MoInNlbGVjdGVkIiksalF1ZXJ5KHRoaXMpLmFkZENsYXNzKCJzZWxlY3RlZCIpKX0pLHUucmVtb3ZlQ2xhc3MoImp1c3RhZGRlZHRodW1iIiksYi5vcHQ9ZSxuLmFkZENsYXNzKCJuYXYtcG9zLWhvci0iK2IuaF9hbGlnbiksbi5hZGRDbGFzcygibmF2LXBvcy12ZXItIitiLnZfYWxpZ24pLG4uYWRkQ2xhc3MoIm5hdi1kaXItIitiLmRpcmVjdGlvbiksdChuLGIsZSl9LHg9ZnVuY3Rpb24oYSl7dmFyIGI9YS5jLnBhcmVudCgpLmZpbmQoIi5vdXRlci10b3AiKSxjPWEuYy5wYXJlbnQoKS5maW5kKCIub3V0ZXItYm90dG9tIik7YS50b3Bfb3V0ZXI9Yi5oYXNDbGFzcygidHAtZm9yY2Vub3R2aXNpYmxlIik/MDpiLm91dGVySGVpZ2h0KCl8fDAsYS5ib3R0b21fb3V0ZXI9Yy5oYXNDbGFzcygidHAtZm9yY2Vub3R2aXNpYmxlIik/MDpjLm91dGVySGVpZ2h0KCl8fDB9LHk9ZnVuY3Rpb24oYSxiLGMsZCl7Yj5jfHxjPmQ/YS5hZGRDbGFzcygidHAtZm9yY2Vub3R2aXNpYmxlIik6YS5yZW1vdmVDbGFzcygidHAtZm9yY2Vub3R2aXNpYmxlIil9fShqUXVlcnkpOw=="}},"time_used":56,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":43,"receive":13,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/js/appear.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.609Z","timestamp":1785123231609,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /js/appear.js HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Wed, 22 Apr 2026 17:27:39 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 1234\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":4379,"size_decoded":1557,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with CRLF line terminators","md5":"5a457d262e3c32d25c003ca412ee7fe6","sha1":"b08e23c986259073419a7068fcd36296a91b1ae4","sha256":"46fb2235bcf84086a9b939ae509ecacc01bb31c68ba94e6473e31d8adebec3eb","sha512":"826945d028efc7a9f95c22c5f4d34dfab6704b75f45e7d6fc2e93e2b42f7078aaf7b8508f9155b36dd15ca759a765fff3b4550f17e3b187e79285f63de455d53","ssdeep":"48:3l3Xwqhd24ayV+zFLAPftUIeohhR9zIreFfFoBSxMEh1u1cq6KjD4W7j9:V3XWz1zFkmDo7R9cr+YSpTocqBksj9","tlshash":"7391db4a759b2ab54877722a9f2fa20cd721513b1202c21138eede6c2f71c50a197fdc","first_seen":"2023-03-07T12:02:41Z","last_seen":"2026-07-27T05:27:08.975874Z","times_seen":4035,"resource_available":true,"data":"LyoNCiAqIGpRdWVyeS5hcHBlYXINCiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9iYXMyay9qcXVlcnkuYXBwZWFyLw0KICogaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2pxdWVyeS1hcHBlYXIvDQogKiBodHRwOi8vYmFzMmsucnUvDQogKg0KICogQ29weXJpZ2h0IChjKSAyMDA5IE1pY2hhZWwgSGl4c29uDQogKiBDb3B5cmlnaHQgKGMpIDIwMTItMjAxNCBBbGV4YW5kZXIgQnJvdmlrb3YNCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHApDQogKi8NCihmdW5jdGlvbigkKSB7DQogICAgJC5mbi5hcHBlYXIgPSBmdW5jdGlvbihmbiwgb3B0aW9ucykgew0KDQogICAgICAgIHZhciBzZXR0aW5ncyA9ICQuZXh0ZW5kKHsNCg0KICAgICAgICAgICAgLy9hcmJpdHJhcnkgZGF0YSB0byBwYXNzIHRvIGZuDQogICAgICAgICAgICBkYXRhOiB1bmRlZmluZWQsDQoNCiAgICAgICAgICAgIC8vY2FsbCBmbiBvbmx5IG9uIHRoZSBmaXJzdCBhcHBlYXI/DQogICAgICAgICAgICBvbmU6IHRydWUsDQoNCiAgICAgICAgICAgIC8vIFggJiBZIGFjY3VyYWN5DQogICAgICAgICAgICBhY2NYOiAwLA0KICAgICAgICAgICAgYWNjWTogMA0KDQogICAgICAgIH0sIG9wdGlvbnMpOw0KDQogICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7DQoNCiAgICAgICAgICAgIHZhciB0ID0gJCh0aGlzKTsNCg0KICAgICAgICAgICAgLy93aGV0aGVyIHRoZSBlbGVtZW50IGlzIGN1cnJlbnRseSB2aXNpYmxlDQogICAgICAgICAgICB0LmFwcGVhcmVkID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGlmICghZm4pIHsNCg0KICAgICAgICAgICAgICAgIC8vdHJpZ2dlciB0aGUgY3VzdG9tIGV2ZW50DQogICAgICAgICAgICAgICAgdC50cmlnZ2VyKCdhcHBlYXInLCBzZXR0aW5ncy5kYXRhKTsNCiAgICAgICAgICAgICAgICByZXR1cm47DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciB3ID0gJCh3aW5kb3cpOw0KDQogICAgICAgICAgICAvL2ZpcmVzIHRoZSBhcHBlYXIgZXZlbnQgd2hlbiBhcHByb3ByaWF0ZQ0KICAgICAgICAgICAgdmFyIGNoZWNrID0gZnVuY3Rpb24oKSB7DQoNCiAgICAgICAgICAgICAgICAvL2lzIHRoZSBlbGVtZW50IGhpZGRlbj8NCiAgICAgICAgICAgICAgICBpZiAoIXQuaXMoJzp2aXNpYmxlJykpIHsNCg0KICAgICAgICAgICAgICAgICAgICAvL2l0IGJlY2FtZSBoaWRkZW4NCiAgICAgICAgICAgICAgICAgICAgdC5hcHBlYXJlZCA9IGZhbHNlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm47DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgLy9pcyB0aGUgZWxlbWVudCBpbnNpZGUgdGhlIHZpc2libGUgd2luZG93Pw0KICAgICAgICAgICAgICAgIHZhciBhID0gdy5zY3JvbGxMZWZ0KCk7DQogICAgICAgICAgICAgICAgdmFyIGIgPSB3LnNjcm9sbFRvcCgpOw0KICAgICAgICAgICAgICAgIHZhciBvID0gdC5vZmZzZXQoKTsNCiAgICAgICAgICAgICAgICB2YXIgeCA9IG8ubGVmdDsNCiAgICAgICAgICAgICAgICB2YXIgeSA9IG8udG9wOw0KDQogICAgICAgICAgICAgICAgdmFyIGF4ID0gc2V0dGluZ3MuYWNjWDsNCiAgICAgICAgICAgICAgICB2YXIgYXkgPSBzZXR0aW5ncy5hY2NZOw0KICAgICAgICAgICAgICAgIHZhciB0aCA9IHQuaGVpZ2h0KCk7DQogICAgICAgICAgICAgICAgdmFyIHdoID0gdy5oZWlnaHQoKTsNCiAgICAgICAgICAgICAgICB2YXIgdHcgPSB0LndpZHRoKCk7DQogICAgICAgICAgICAgICAgdmFyIHd3ID0gdy53aWR0aCgpOw0KDQogICAgICAgICAgICAgICAgaWYgKHkgKyB0aCArIGF5ID49IGIgJiYNCiAgICAgICAgICAgICAgICAgICAgeSA8PSBiICsgd2ggKyBheSAmJg0KICAgICAgICAgICAgICAgICAgICB4ICsgdHcgKyBheCA+PSBhICYmDQogICAgICAgICAgICAgICAgICAgIHggPD0gYSArIHd3ICsgYXgpIHsNCg0KICAgICAgICAgICAgICAgICAgICAvL3RyaWdnZXIgdGhlIGN1c3RvbSBldmVudA0KICAgICAgICAgICAgICAgICAgICBpZiAoIXQuYXBwZWFyZWQpIHQudHJpZ2dlcignYXBwZWFyJywgc2V0dGluZ3MuZGF0YSk7DQoNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KDQogICAgICAgICAgICAgICAgICAgIC8vaXQgc2Nyb2xsZWQgb3V0IG9mIHZpZXcNCiAgICAgICAgICAgICAgICAgICAgdC5hcHBlYXJlZCA9IGZhbHNlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIC8vY3JlYXRlIGEgbW9kaWZpZWQgZm4gd2l0aCBzb21lIGFkZGl0aW9uYWwgbG9naWMNCiAgICAgICAgICAgIHZhciBtb2RpZmllZEZuID0gZnVuY3Rpb24oKSB7DQoNCiAgICAgICAgICAgICAgICAvL21hcmsgdGhlIGVsZW1lbnQgYXMgdmlzaWJsZQ0KICAgICAgICAgICAgICAgIHQuYXBwZWFyZWQgPSB0cnVlOw0KDQogICAgICAgICAgICAgICAgLy9pcyB0aGlzIHN1cHBvc2VkIHRvIGhhcHBlbiBvbmx5IG9uY2U/DQogICAgICAgICAgICAgICAgaWYgKHNldHRpbmdzLm9uZSkgew0KDQogICAgICAgICAgICAgICAgICAgIC8vcmVtb3ZlIHRoZSBjaGVjaw0KICAgICAgICAgICAgICAgICAgICB3LnVuYmluZCgnc2Nyb2xsJywgY2hlY2spOw0KICAgICAgICAgICAgICAgICAgICB2YXIgaSA9ICQuaW5BcnJheShjaGVjaywgJC5mbi5hcHBlYXIuY2hlY2tzKTsNCiAgICAgICAgICAgICAgICAgICAgaWYgKGkgPj0gMCkgJC5mbi5hcHBlYXIuY2hlY2tzLnNwbGljZShpLCAxKTsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAvL3RyaWdnZXIgdGhlIG9yaWdpbmFsIGZuDQogICAgICAgICAgICAgICAgZm4uYXBwbHkodGhpcywgYXJndW1lbnRzKTsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIC8vYmluZCB0aGUgbW9kaWZpZWQgZm4gdG8gdGhlIGVsZW1lbnQNCiAgICAgICAgICAgIGlmIChzZXR0aW5ncy5vbmUpIHQub25lKCdhcHBlYXInLCBzZXR0aW5ncy5kYXRhLCBtb2RpZmllZEZuKTsNCiAgICAgICAgICAgIGVsc2UgdC5iaW5kKCdhcHBlYXInLCBzZXR0aW5ncy5kYXRhLCBtb2RpZmllZEZuKTsNCg0KICAgICAgICAgICAgLy9jaGVjayB3aGVuZXZlciB0aGUgd2luZG93IHNjcm9sbHMNCiAgICAgICAgICAgIHcuc2Nyb2xsKGNoZWNrKTsNCg0KICAgICAgICAgICAgLy9jaGVjayB3aGVuZXZlciB0aGUgZG9tIGNoYW5nZXMNCiAgICAgICAgICAgICQuZm4uYXBwZWFyLmNoZWNrcy5wdXNoKGNoZWNrKTsNCg0KICAgICAgICAgICAgLy9jaGVjayBub3cNCiAgICAgICAgICAgIChjaGVjaykoKTsNCiAgICAgICAgfSk7DQogICAgfTsNCg0KICAgIC8va2VlcCBhIHF1ZXVlIG9mIGFwcGVhcmFuY2UgY2hlY2tzDQogICAgJC5leHRlbmQoJC5mbi5hcHBlYXIsIHsNCg0KICAgICAgICBjaGVja3M6IFtdLA0KICAgICAgICB0aW1lb3V0OiBudWxsLA0KDQogICAgICAgIC8vcHJvY2VzcyB0aGUgcXVldWUNCiAgICAgICAgY2hlY2tBbGw6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIGxlbmd0aCA9ICQuZm4uYXBwZWFyLmNoZWNrcy5sZW5ndGg7DQogICAgICAgICAgICBpZiAobGVuZ3RoID4gMCkgd2hpbGUgKGxlbmd0aC0tKSAoJC5mbi5hcHBlYXIuY2hlY2tzW2xlbmd0aF0pKCk7DQogICAgICAgIH0sDQoNCiAgICAgICAgLy9jaGVjayB0aGUgcXVldWUgYXN5bmNocm9ub3VzbHkNCiAgICAgICAgcnVuOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIGlmICgkLmZuLmFwcGVhci50aW1lb3V0KSBjbGVhclRpbWVvdXQoJC5mbi5hcHBlYXIudGltZW91dCk7DQogICAgICAgICAgICAkLmZuLmFwcGVhci50aW1lb3V0ID0gc2V0VGltZW91dCgkLmZuLmFwcGVhci5jaGVja0FsbCwgMjApOw0KICAgICAgICB9DQogICAgfSk7DQoNCiAgICAvL3J1biBjaGVja3Mgd2hlbiB0aGVzZSBtZXRob2RzIGFyZSBjYWxsZWQNCiAgICAkLmVhY2goWydhcHBlbmQnLCAncHJlcGVuZCcsICdhZnRlcicsICdiZWZvcmUnLCAnYXR0cicsDQogICAgICAgICdyZW1vdmVBdHRyJywgJ2FkZENsYXNzJywgJ3JlbW92ZUNsYXNzJywgJ3RvZ2dsZUNsYXNzJywNCiAgICAgICAgJ3JlbW92ZScsICdjc3MnLCAnc2hvdycsICdoaWRlJ10sIGZ1bmN0aW9uKGksIG4pIHsNCiAgICAgICAgdmFyIG9sZCA9ICQuZm5bbl07DQogICAgICAgIGlmIChvbGQpIHsNCiAgICAgICAgICAgICQuZm5bbl0gPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICB2YXIgciA9IG9sZC5hcHBseSh0aGlzLCBhcmd1bWVudHMpOw0KICAgICAgICAgICAgICAgICQuZm4uYXBwZWFyLnJ1bigpOw0KICAgICAgICAgICAgICAgIHJldHVybiByOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfSk7DQoNCn0pKGpRdWVyeSk7DQo="}},"time_used":79,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":36,"receive":43,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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/HPoJhVNSHdk","date":"2026-07-27T03:33:52.076Z","timestamp":1785123232076,"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: 350205\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-07-27T05:13:54.226554Z","times_seen":946887,"resource_available":false,"data":"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"}},"time_used":23,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":17,"receive":6,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/raleway/v22/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrQ.ttf","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://agilitetrade.com/","date":"2026-07-27T03:33:52.133Z","timestamp":1785123232133,"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/raleway/v22/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVvaorCIPrQ.ttf 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: gzip, deflate, br, zstd\r\nOrigin: https://agilitetrade.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.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\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\ntiming-allow-origin: *\r\ncontent-length: 27568\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Tue, 21 Jul 2026 18:19:38 GMT\r\nexpires: Wed, 21 Jul 2027 18:19:38 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Tue, 29 Jun 2021 19:40:22 GMT\r\ncontent-type: font/ttf\r\nvary: Accept-Encoding\r\nage: 465254\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":46660,"size_decoded":28426,"mime_type":"font/ttf","magic":"TrueType Font data, 18 tables, 1st \"GDEF\", 12 names, Microsoft, language 0x409, Copyright 2010 The Raleway Project Authors (impallari@gmail.com), with Reserved Font Name \"Ralew","md5":"794042eb4733123da66b2713bc5aeadc","sha1":"a5c0c87ab316b6c3103baff1d9b49732881708ec","sha256":"835a1a77b6dcff46c67e1a6335cf0bc03139adfb4a58c0a7da2c2e2c0e149617","sha512":"a4e139bf01a817a98e97efe803a88fd7de42b94dcdcb4c1ee5b2ac040025f261d12c90117f4a6d9d98500e9b50784ec03d159f7ea9b75a040df3edc8127fa8a2","ssdeep":"768:ykYsSG39tuQ7w7g7jBisiobgUh+ohMVKAML1oJ1m+ChL7p6+PWPEd/7WyNzSvdAI:ykt9U0kIgKOM+Ch3ZaAI","tlshash":"8d236db1f3815709d12375b84ee2e724e786f41def96030b3489264e9c9d9d4ce94b8a","first_seen":"2023-06-14T10:57:00Z","last_seen":"2026-07-27T05:05:33.574684Z","times_seen":45,"resource_available":false,"data":"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JIckhySHJIck2yUvJasmACZpJqYmvSbbJuwnGSc+J1cndSeTJ7on7SgBKEQoxSlnKcwqDSqSKwkrdSusK+Mr9CwQLCosPCxILF8sbyyCLJUssSzeLRUtJi09LWUteC2ALYgtkC2YLaAtsy27LcMt9y33AAAAAQAAAAQGqMqPoMVfDzz1AAsD6AAAAADT3F4jAAAAANsrdHb/Hf8hBRoEfwAAAAYAAgAAAAAAAAJgADICpAAMAqQADAKkAAwCpAAMAqQADAKkAAwCpAAMA8H/5gKaAFkCrgAqAq4AKgLLAFkC0QAiAmEAWQJhAFkCYQBZAmEAWQJhAFkCTQBZAswAKgLiAFkA+ABZAPgAWQD4AAAA+AAVAPgAHgHhAA4CgwBZAkcAWQNtAFkDBABZAwQAWQLvACoC7wAqAu8AKgLvACoC7wAqAu8AKgLvACoEgQAqAm4AWQJbAFkC7QAqAo0AWQJfACACYgARAvMATwLzAE8C8wBPAvMATwLzAE8CpwANBBYADAJ4AAUCiwAQAosAEAJ1AB8CIQAhAiEAIQIhACECIQAhAiEAIQIhACECIQAhA6QAIQJpAEsCJQAnAiUAJwJuACgCWgAqAksAJwJLACcCSwAnAksAJwJLACcBSgAcAmoAKAJHAEsA2gBLANoASwDaAEsA2v/xANoABgDaAEsA2gAPAOH/iwISAEsBEABOA5cASwJHAEsCRwBLAlMAJwJTACcCUwAnAlMAJwJTACcCUwAnAlMAJwQKACcCaQBLAlsASwJpACgBXwBLAeMAIAInAEsBTwAZAlIARgJSAEYCUgBGAlIARgJSAEYCFQATAy0ADwH4AA8CHgAPAh4ADwIeAA8B7AAfAkYAHALeABwDMQAcAfgAHAJHABwBsgAwAcEALAJkADcBrAAuAgkALAIWACYCIgAXAiEAIwJbADQCFwAiAlEAMgJKACQCrAAwAaAAKgJFAC8CSAAwAjkAGgIsACgCWwA0AgkAHwJRADICWwAsAcoAJgEfACIBhwAkAYcAIwGAABgBdgAfAZQAKAFjABoBjgAmAZUAIQHKACYBEAAiAYQAJAGGACMBgAAYAXYAHwGTACgBYwAaAY4AJgGTACABEAAiAYQAJAGGACMBgAAYAJr/KAMnACIDHAAiA5IAIwFBAD4COAAcAL0AQQFfAFYAvABBAOEAUAHJAEEA/ABc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sCVTsAGIsEBRWrAGiLAAVVpbWLEBAY5ZhY2NAB1CS7CQU1iyAwAAHUJZsQICQ1FYsQQDjllCcwArACsrK3MAK3MAKwArcwArKysrKwArACsrKwArACsrKwErASsBKwErASsBKwArKwErACsrASsAKysrASsAKysBKysAKysrKwErKwArKysrKysrKxgC2gAKAsYABQI7ABECBwAIAAD/+wAA//YAAP/2/yv/9gLGAAoAAP/2AAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAnABQAEQAUABQAFAAUABQAFAAWABEAFAAPABQAEQAUABQAEQAUABcAJQAoAhwABQGk/6sBvQFKAaQAAAAAAAwAlgADAAEECQAAAMgAAAADAAEECQABABgAyAADAAEECQACAA4A4AADAAEECQADADwA7gADAAEECQAEACgBKgADAAEECQAFABoBUgADAAEECQAGACYBbAADAAEECQAOADQBkgADAAEECQEAAAwBxgADAAEECQEEAA4A4AADAAEECQETAAwB0gADAAEECQEUAAoB3gBDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADAAIABUAGgAZQAgAFIAYQBsAGUAdwBhAHkAIABQAHIAbwBqAGUAYwB0ACAAQQB1AHQAaABvAHIAcwAgACgAaQBtAHAAYQBsAGwAYQByAGkAQABnAG0AYQBpAGwALgBjAG8AbQApACwAIAB3AGkAdABoACAAUgBlAHMAZQByAHYAZQBkACAARgBvAG4AdAAgAE4AYQBtAGUAIAAiAFIAYQBsAGUAdwBhAHkAIgAuAFIAYQBsAGUAdwBhAHkAIABUAGgAaQBuAFIAZQBnAHUAbABhAHIANAAuADAAMgA2ADsATgBPAE4ARQA7AFIAYQBsAGUAdwBhAHkAVABoAGkAbgAtAFIAZQBnAHUAbABhAHIAUgBhAGwAZQB3AGEAeQAgAFQAaABpAG4AIABSAGUAZwB1AGwAYQByAFYAZQByAHMAaQBvAG4AIAA0AC4AMAAyADYAUgBhAGwAZQB3AGEAeQBUAGgAaQBuAC0AUgBlAGcAdQBsAGEAcgBoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAVwBlAGkAZwBoAHQASQB0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AHH/5gBz/+YAdP/mAHX/5gB3//gAeP/4AHn/+AB6//gAe//4AH7/8QCAAAAAggAAAK4AAACvAAQAvgAAAMYAAADH/+sAyP/rAMn/6wDK/+sAy//nAM3/5wDT/9gA1v/1APL/7gDz/+4A9AAFACMADf/1AD3/pgBA/6YARv+gAEr/pABQ/74AUf/2AFIAAABTAA0AVQAAAF//pABp/9gAcP/aAHL/4wB+/8QAf//VAID/2ACB/9UAgv+tAIP/ywCE/9wAhv/lAIf/xwCuAAAArwAAALUAAAC+/6wAxgAAANP/ygDW/9wA7v+5AO//4QDy/9YA8//WAPQAAAAJAEb/8QBQ//gAUgAIAFMAAABw/+0Afv/9ANP/0ADy//IA8//yAAoADf/4ADT/yABw//AAfAAAAH3/+gCu/+0Ar//OALn/7ADT/8QA9P/uAAsADf/3ADT/xgA2//wARv/5AHD/+AByAAAArv/0AK//3gC5//0A0//HAPT/8wAMAA3/9wA0/8YANv/8AEb/+QBWAAAAcP/4AHIAAACu//QAr//eALn//QDT/8cA9P/zAAUADf/6ADQAAABTAAAAcAAAANP/3gBBAAH/7wAC/+8AA//vAAT/7wAF/+8ABv/vAAf/7wAI//IACf/8AAz//AAN//QADv/8AA///AAQ//wAEf/8ABL//AAT//wAFf/8ABb//AAX//wAGP/8ABn//AAa//wAG//xABz//AAd//wAHv/8AB///AAg//wAKf/8ACr//AAs//wALf/7AC7/5wAv//gAMP/4ADH/+AAy//gAM//4ADT/5QA1/+QANv/jADf/3QA4/90AOf/eAEz//ABTAAAAav//AHD/9gBx//cAcv/xAHP/9gB0//YAdf/2AHb/+gB3//wAeP/8AHn//AB6//wAe//8AK7//gCv//0Auf/9AL7/9wDG//QAEAA0AC8ANgA2AEb/3gBSACYAUwA2AFUAFgCuAAgArwAkAL7/4QDCAAsAxAALAMYAHwDTADIA1v/qAO7/+gD0ACMABwA0/9UANf/WADb/+QBWABcAr//jANP/1AD0//gACQAN//gANP/IADb/+wBw//QArv/vAK//1gC5/+0A0/+zAPT/8AAGAFIAAABTAAAArwAAAMYAAADT/98A9AAAABkAQgAAAE4AAABPAAAAUAAAAFEAAABSAAAAUwAA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/+4AN//DADj/wwA5//MAhf/5AK//2gC7//wAvP/8AL7/+QDG/+4A9f/sACAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAJAAbAAAALv/FAC//8wAw//MAMf/zADL/8wAz//MANP/PADX/zwA2AAAAN//CADj/wgCF//sAr//TALD/8QC7/+0AvP/tAMf/9QDI//UAyf/1AMr/9QDi/+oA5f/tAPX/6gAJAAgACwAu/8YANP/kADX/5AA3/9EAOP/RAK//5QDl//0A9f/0AAsACAAFAC7/vgA0/90ANf/dADf/ywA4/8sAhf/7AK//4QC7//oAvP/6APX/6QARAAgAAAAu/88ANP/aADX/2gA3/84AOP/OAIX/+wCv/94Au//8ALz//ADH//0AyP/9AMn//QDK//0A4v/zAOX/9wD1//QADwAIAAgALv/iADT/8AA1//EAN//qADj/6gCF//0Ar//2AMf//ADI//wAyf/8AMr//ADi/+cA4//9AOX/9AAOAAH/8QAC//EAA//xAAT/8QAF//EABv/xAAf/8QAI//gALv/7ADT/7gA1/+8AN//mADj/5gCBAAAAIgAB/9MAAv/TAAP/0wAE/9MABf/TAAb/0wAH/9MACP/KABv/wgAu//MAOf/7AH7//ACC/80Ag//xAIUAAACH//0AsP/rALP/vwC0/78AuP+/AL7/xwDH/+IAyP/iAMn/4gDK/+IAz/+/ANT/vwDb/+0A4v/zAOP/5wDk//AA5f/nAOb/8AD1AAAADQAB//YAAv/2AAP/9gAE//YABf/2AAb/9gAH//YACP/5AC7//AA0/+4ANf/uADf/5QA4/+UACgAu/7cANP/YADX/2AA3/8IAOP/CAIX/+QCv/9wAu//sALz/7AD1/94ACgCJ//0Aj//uAK//7ACz//wAtP/8ALj//AC+/+0Axv/wAM///ADU//wADACI//wAjP/7AK//7gC7/+8AvP/vAMf//QDI//0Ayf/9AMr//QDi/+oA5f/0APX/8AAHAIz/8QDH//wAyP/8AMn//ADK//wA4v/8AOX/8QAEAK//+QC7AAAAvAAAAPUAAAABAI///QAZAIj/9ACM/9MAjQAAAI7/9gCPAAYArwAJALD/5ACz/7cAtP+3ALf/7AC4/7cAvv+xAMYABADH/98AyP/fAMn/3wDK/98Az/+3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AAAACgASAAgAFAAoABEAKwAzACYANQA1AC8ANwBFADAARwBTAD8AVQBoAEwAagBvAGAAcQBxAGYAcwB7AGcAsACwAHAAsgCzAHEAuAC4AHMAuwC9AHQAwADAAHcAxwDUAHgAAgBDAAEABwADAAgACAAEAAoACwAQAAwADQARAA4AEgAEABQAFAAdABsAGwAeABwAHAAfAB0AHQAgACEAJwACACgAKAAEACsAKwACACwALAAhAC0ALQAiAC4ALgAjAC8AMwAIADUANQAkADcAOAASADkAOQAlADoAQAAFAEEAQQAGAEIAQgAMAEMARAATAEUARQAmAEcASwAGAEwATAAVAE0ATQAWAE4ATgAnAE8AUwABAFUAVgABAFcAVwAoAFgAWAANAFkAWwAOAFwAYgAHAGMAYwAGAGQAZQAMAGYAZgAWAGcAZwApAGgAaAAqAGoAagArAGsAbwAJAHEAcQAsAHMAdQAPAHYAdgAtAHcAdwAVAHgAeAABAHkAeQANAHoAegABAHsAewANALAAsAAXALIAsgAUALMAswAKALgAuAAKALsAvAAaAL0AvQAUAMAAwAAXAMcAygALAMsAywAYAMwAzAAZAM0AzQAYAM4AzgAZAM8AzwAKANAA0AAbANEA0QAcANIA0gAbANMA0wAcANQA1AAKAAIAPwABAAcABQAIAAgAGAAJAAkAAQAKAAsAAwAMABMAAQAUABQAAwAVABoAAQAbABsAGQAcACAAAQAhACgAAwApACoAAQArACsAAwAsACwAAQAtAC0AGgAuAC4AGwAvADMACAA1ADUAHAA3ADgAEAA5ADkAHQA6AEEABABCAEIACQBDAEQAAgBFAEUADgBHAEsAAgBMAEwABwBNAE0ADgBOAE4ACQBPAFMABgBVAFYABgBXAFcACQBYAFgAHgBZAFsACwBcAGMAAgBkAGQACwBlAGUACQBmAGYADgBnAGcACwBoAGgAHwBpAGkACQBqAGoAIABrAG8ADABxAHEAIQBzAHUADwB2AHYAIgB3AHsABwCwALAAEgCyALIAEQCzALQACgC4ALgACgC7ALwAFQC9AL0AEQDAAMAAEgDHAMoADQDLAMsAEwDMAMwAFADNAM0AEwDOAM4AFADPAM8ACgDQANAAFgDRANEAFwDSANIAFgDTANMAFwDUANQACgAAAAEAAAAKAMYBUAADREZMVAAUY3lybAAUbGF0bgAYACwAAAAoAAZBWkUgADhDQVQgAEpDUlQgAFxLQVogAG5UQVQgAIBUUksgAJIAAP//AAUAAAABAAIAAwAKAAD//wAGAAAAAQACAAMABAAKAAD//wAGAAAAAQACAAMABQAKAAD//wAGAAAAAQACAAMABgAKAAD//wAGAAAAAQACAAMABwAKAAD//wAGAAAAAQACAAMACAAKAAD//wAGAAAAAQACAAMACQAKAAtkbm9tAERmcmFjAEpsaWdhAFRsbnVtAFpsb2NsAGBsb2NsAGZsb2NsAGxsb2NsAHJsb2NsAHhsb2NsAH5udW1yAIQAAAABAAkAAAADAAoACwAMAAAAAQAPAAAAAQAQAAAAAQAHAAAAAQAAAAAAAQAGAAAAAQADAAAAAQAEAAAAAQAFAAAAAQAIABEAJABiAGIAdgB2AHYAdgB2AKwAigCYAKwAugD4APgBEAFUAAYAAAACAAoAJAADAAEAFAABAEIAAQAUAAEAAAABAAEAAQBYAAMAAQAUAAEAKAABABQAAQAAAAIAAQABAB0AAQAAAAEACAABAAYAEAABAAEAsAABAAAAAQAIAAEABgAFAAEAAQBPAAEAAAABAAgAAQDQABQAAQAAAAEACAABAAb/7AABAAEAvgABAAAAAQAIAAEArgAeAAYAAAACAAoAIgADAAEAEgABAEIAAAABAAAADQABAAEAqgADAAEAEgABACoAAAABAAAADgACAAEAkgCbAAAAAQAAAAEACAABAAb/9gACAAEAnAClAAAABAAAAAEACAABADYAAQAIAAUADAAUABwAIgAoAHgAAwBMAE8AeQADAEwAWAB3AAIATAB6AAIATwB7AAIAWAABAAEATAABAAAAAQAIAAEABgAKAAIAAQB+AIcAAAABAAEACAACAAAAFAACAAAAJAACd2dodAEAAABpdGFsARMAAQAEABQAAwAAAAIBBAGQAAACvAAAAAMAAQACARQAAAAAAAEAAA=="}},"time_used":18,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":17,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/css/animate.css","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.718Z","timestamp":1785123231718,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /css/animate.css HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/css/style.css\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: text/css\r\nlast-modified: Wed, 22 Apr 2026 17:27:28 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 4291\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":79169,"size_decoded":4600,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"57fb9e2cfb317959f7824f4fbe950dbe","sha1":"378aaa5cd626d05d5a45f21a5629bbb5c09bf534","sha256":"75a917eda5c7d388adaa10a684b5468d51dd043ed1c517bec76b4ae0a6a4995d","sha512":"5b0371267fe722041c014f22c86a43bfd0c35f2826b6e918cc71bd7aa9b37ca85820d55d0a1409f37eff4dcce85fae8aea98eab8f40fe2a1d36e0e3fb279d6f7","ssdeep":"768:I1A1vYyY21f1NYtY7XXYzYtYOYrVDV5YMYw:dYyYaYtY7XXYzYtYOY9YMYw","tlshash":"8c732c5e1d40118447724b29d7de8f68eb3d917318222eee72c2588b8fb6fa853c9d47","first_seen":"2023-04-05T08:09:08Z","last_seen":"2026-07-27T05:19:19.670914Z","times_seen":2270,"resource_available":false,"data":"QGNoYXJzZXQgIlVURi04IjsNCg0KLyohDQpBbmltYXRlLmNzcyAtIGh0dHA6Ly9kYW5lZGVuLm1lL2FuaW1hdGUNCkxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAtIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVQNCg0KQ29weXJpZ2h0IChjKSAyMDE1IERhbmllbCBFZGVuDQoqLw0KDQouYW5pbWF0ZWQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7DQogIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7DQogIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsNCiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsNCn0NCg0KLmFuaW1hdGVkLmluZmluaXRlIHsNCiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsNCiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7DQp9DQoNCi5hbmltYXRlZC5oaW5nZSB7DQogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAyczsNCiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyczsNCn0NCg0KLmFuaW1hdGVkLmJvdW5jZUluLA0KLmFuaW1hdGVkLmJvdW5jZU91dCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAuNzVzOw0KICBhbmltYXRpb24tZHVyYXRpb246IC43NXM7DQp9DQoNCi5hbmltYXRlZC5mbGlwT3V0WCwNCi5hbmltYXRlZC5mbGlwT3V0WSB7DQogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAuNzVzOw0KICBhbmltYXRpb24tZHVyYXRpb246IC43NXM7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2Ugew0KICAwJSwgMjAlLCA1MyUsIDgwJSwgMTAwJSB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTsNCiAgfQ0KDQogIDQwJSwgNDMlIHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApOw0KICB9DQoNCiAgNzAlIHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApOw0KICB9DQoNCiAgOTAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNHB4LDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNHB4LDApOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgYm91bmNlIHsNCiAgMCUsIDIwJSwgNTMlLCA4MCUsIDEwMCUgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7DQogIH0NCg0KICA0MCUsIDQzJSB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTsNCiAgfQ0KDQogIDcwJSB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTsNCiAgfQ0KDQogIDkwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTsNCiAgfQ0KfQ0KDQouYm91bmNlIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlOw0KICBhbmltYXRpb24tbmFtZTogYm91bmNlOw0KICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207DQogIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmbGFzaCB7DQogIDAlLCA1MCUsIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICAyNSUsIDc1JSB7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZsYXNoIHsNCiAgMCUsIDUwJSwgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KDQogIDI1JSwgNzUlIHsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCi5mbGFzaCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsYXNoOw0KICBhbmltYXRpb24tbmFtZTogZmxhc2g7DQp9DQoNCi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqLw0KDQpALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2Ugew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOw0KICB9DQoNCiAgNTAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBwdWxzZSB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7DQogIH0NCg0KICA1MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsNCiAgfQ0KfQ0KDQoucHVsc2Ugew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTsNCiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgcnViYmVyQmFuZCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7DQogIH0NCg0KICAzMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTsNCiAgfQ0KDQogIDQwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpOw0KICB9DQoNCiAgNTAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7DQogIH0NCg0KICA2NSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgMS4wNSwgMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgMS4wNSwgMSk7DQogIH0NCg0KICA3NSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIC45NSwgMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIC45NSwgMSk7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBydWJiZXJCYW5kIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsNCiAgfQ0KDQogIDMwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpOw0KICB9DQoNCiAgNDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7DQogIH0NCg0KICA1MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTsNCiAgfQ0KDQogIDY1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTsNCiAgfQ0KDQogIDc1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsNCiAgfQ0KfQ0KDQoucnViYmVyQmFuZCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7DQogIGFuaW1hdGlvbi1uYW1lOiBydWJiZXJCYW5kOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgc2hha2Ugew0KICAwJSwgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogIH0NCg0KICAxMCUsIDMwJSwgNTAlLCA3MCUsIDkwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsNCiAgfQ0KDQogIDIwJSwgNDAlLCA2MCUsIDgwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBzaGFrZSB7DQogIDAlLCAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgfQ0KDQogIDEwJSwgMzAlLCA1MCUsIDcwJSwgOTAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOw0KICB9DQoNCiAgMjAlLCA0MCUsIDYwJSwgODAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsNCiAgfQ0KfQ0KDQouc2hha2Ugew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZTsNCiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgc3dpbmcgew0KICAyMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7DQogIH0NCg0KICA0MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTsNCiAgfQ0KDQogIDYwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7DQogIH0NCg0KICA4MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHN3aW5nIHsNCiAgMjAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpOw0KICB9DQoNCiAgNDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7DQogIH0NCg0KICA2MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpOw0KICB9DQoNCiAgODAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7DQogIH0NCn0NCg0KLnN3aW5nIHsNCiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyOw0KICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyOw0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzd2luZzsNCiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgdGFkYSB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7DQogIH0NCg0KICAxMCUsIDIwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7DQogIH0NCg0KICAzMCUsIDUwJSwgNzAlLCA5MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTsNCiAgfQ0KDQogIDQwJSwgNjAlLCA4MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgdGFkYSB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7DQogIH0NCg0KICAxMCUsIDIwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7DQogIH0NCg0KICAzMCUsIDUwJSwgNzAlLCA5MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTsNCiAgfQ0KDQogIDQwJSwgNjAlLCA4MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOw0KICB9DQp9DQoNCi50YWRhIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdGFkYTsNCiAgYW5pbWF0aW9uLW5hbWU6IHRhZGE7DQp9DQoNCi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqLw0KDQpALXdlYmtpdC1rZXlmcmFtZXMgd29iYmxlIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOw0KICAgIHRyYW5zZm9ybTogbm9uZTsNCiAgfQ0KDQogIDE1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTsNCiAgfQ0KDQogIDMwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpOw0KICB9DQoNCiAgNDUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOw0KICB9DQoNCiAgNjAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7DQogIH0NCg0KICA3NSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7DQogICAgdHJhbnNmb3JtOiBub25lOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgd29iYmxlIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOw0KICAgIHRyYW5zZm9ybTogbm9uZTsNCiAgfQ0KDQogIDE1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTsNCiAgfQ0KDQogIDMwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpOw0KICB9DQoNCiAgNDUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOw0KICB9DQoNCiAgNjAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7DQogIH0NCg0KICA3NSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7DQogICAgdHJhbnNmb3JtOiBub25lOw0KICB9DQp9DQoNCi53b2JibGUgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB3b2JibGU7DQogIGFuaW1hdGlvbi1uYW1lOiB3b2JibGU7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBqZWxsbyB7DQogIDExLjElIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsNCiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZQ0KICB9DQoNCiAgMjIuMiUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpOw0KICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpDQogIH0NCiAgMzMuMyUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTsNCiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZykNCiAgfQ0KICA0NC40JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTsNCiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpDQogIH0NCiAgNTUuNSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7DQogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKQ0KICB9DQogIDY2LjYlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTsNCiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKQ0KICB9DQogIDc3LjclIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTsNCiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKQ0KICB9DQogIDg4LjglIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7DQogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpDQogIH0NCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7DQogICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmUNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGplbGxvIHsNCiAgMTEuMSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOw0KICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lDQogIH0NCg0KICAyMi4yJSB7DQoNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTsNCiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKQ0KICB9DQogIDMzLjMlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7DQogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpDQogIH0NCiAgNDQuNCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7DQogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKQ0KICB9DQogIDU1LjUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpOw0KICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZykNCiAgfQ0KICA2Ni42JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7DQogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZykNCiAgfQ0KICA3Ny43JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7DQogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZykNCiAgfQ0KICA4OC44JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpOw0KICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKQ0KICB9DQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOw0KICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lDQogIH0NCn0NCg0KDQoNCi5qZWxsb3sNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOmplbGxvOw0KICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6amVsbG87DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7DQoNCiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcg0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW4gew0KICAwJSwgMjAlLCA0MCUsIDYwJSwgODAlLCAxMDAlIHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTsNCiAgfQ0KDQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTsNCiAgfQ0KDQogIDIwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOw0KICB9DQoNCiAgNDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7DQogIH0NCg0KICA2MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpOw0KICB9DQoNCiAgODAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOTcsIC45NywgLjk3KTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk3LCAuOTcsIC45Nyk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGJvdW5jZUluIHsNCiAgMCUsIDIwJSwgNDAlLCA2MCUsIDgwJSwgMTAwJSB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7DQogIH0NCg0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7DQogIH0NCg0KICAyMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTsNCiAgfQ0KDQogIDQwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpOw0KICB9DQoNCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTsNCiAgfQ0KDQogIDgwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk3LCAuOTcsIC45Nyk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NywgLjk3LCAuOTcpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7DQogIH0NCn0NCg0KLmJvdW5jZUluIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW47DQogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluRG93biB7DQogIDAlLCA2MCUsIDc1JSwgOTAlLCAxMDAlIHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTsNCiAgfQ0KDQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApOw0KICB9DQoNCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApOw0KICB9DQoNCiAgNzUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApOw0KICB9DQoNCiAgOTAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsNCiAgICB0cmFuc2Zvcm06IG5vbmU7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBib3VuY2VJbkRvd24gew0KICAwJSwgNjAlLCA3NSUsIDkwJSwgMTAwJSB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7DQogIH0NCg0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTsNCiAgfQ0KDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTsNCiAgfQ0KDQogIDc1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTsNCiAgfQ0KDQogIDkwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7DQogICAgdHJhbnNmb3JtOiBub25lOw0KICB9DQp9DQoNCi5ib3VuY2VJbkRvd24gew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247DQogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkxlZnQgew0KICAwJSwgNjAlLCA3NSUsIDkwJSwgMTAwJSB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7DQogIH0NCg0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTsNCiAgfQ0KDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTsNCiAgfQ0KDQogIDc1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsNCiAgfQ0KDQogIDkwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7DQogICAgdHJhbnNmb3JtOiBub25lOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHsNCiAgMCUsIDYwJSwgNzUlLCA5MCUsIDEwMCUgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOw0KICB9DQoNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7DQogIH0NCg0KICA2MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7DQogIH0NCg0KICA3NSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7DQogIH0NCg0KICA5MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOw0KICAgIHRyYW5zZm9ybTogbm9uZTsNCiAgfQ0KfQ0KDQouYm91bmNlSW5MZWZ0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0Ow0KICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7DQogIDAlLCA2MCUsIDc1JSwgOTAlLCAxMDAlIHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTsNCiAgfQ0KDQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTsNCiAgfQ0KDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApOw0KICB9DQoNCiAgNzUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsNCiAgfQ0KDQogIDkwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsNCiAgICB0cmFuc2Zvcm06IG5vbmU7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHsNCiAgMCUsIDYwJSwgNzUlLCA5MCUsIDEwMCUgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOw0KICB9DQoNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApOw0KICB9DQoNCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7DQogIH0NCg0KICA3NSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApOw0KICB9DQoNCiAgOTAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOw0KICAgIHRyYW5zZm9ybTogbm9uZTsNCiAgfQ0KfQ0KDQouYm91bmNlSW5SaWdodCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7DQogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5VcCB7DQogIDAlLCA2MCUsIDc1JSwgOTAlLCAxMDAlIHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTsNCiAgfQ0KDQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTsNCiAgfQ0KDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApOw0KICB9DQoNCiAgNzUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTsNCiAgfQ0KDQogIDkwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGJvdW5jZUluVXAgew0KICAwJSwgNjAlLCA3NSUsIDkwJSwgMTAwJSB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7DQogIH0NCg0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7DQogIH0NCg0KICA2MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTsNCiAgfQ0KDQogIDc1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7DQogIH0NCg0KICA5MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogIH0NCn0NCg0KLmJvdW5jZUluVXAgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwOw0KICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dCB7DQogIDIwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpOw0KICB9DQoNCiAgNTAlLCA1NSUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBib3VuY2VPdXQgew0KICAyMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTsNCiAgfQ0KDQogIDUwJSwgNTUlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOw0KICB9DQp9DQoNCi5ib3VuY2VPdXQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXQ7DQogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXREb3duIHsNCiAgMjAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTsNCiAgfQ0KDQogIDQwJSwgNDUlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGJvdW5jZU91dERvd24gew0KICAyMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApOw0KICB9DQoNCiAgNDAlLCA0NSUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOw0KICB9DQp9DQoNCi5ib3VuY2VPdXREb3duIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjsNCiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHsNCiAgMjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGJvdW5jZU91dExlZnQgew0KICAyMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOw0KICB9DQp9DQoNCi5ib3VuY2VPdXRMZWZ0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDsNCiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7DQogIDIwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7DQogIDIwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7DQogIH0NCn0NCg0KLmJvdW5jZU91dFJpZ2h0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7DQogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFVwIHsNCiAgMjAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApOw0KICB9DQoNCiAgNDAlLCA0NSUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgYm91bmNlT3V0VXAgew0KICAyMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7DQogIH0NCg0KICA0MCUsIDQ1JSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7DQogIH0NCn0NCg0KLmJvdW5jZU91dFVwIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7DQogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDsNCn0NCg0KDQpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZUluIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCi5mYWRlSW4gew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW47DQogIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVJbkRvd24gew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCn0NCg0KLmZhZGVJbkRvd24gew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duOw0KICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCn0NCg0KLmZhZGVJbkRvd25CaWcgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnOw0KICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZzsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZUluTGVmdCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KDQouZmFkZUluTGVmdCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7DQogIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KDQouZmFkZUluTGVmdEJpZyB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7DQogIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQp9DQoNCi5mYWRlSW5SaWdodCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0Ow0KICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQp9DQoNCi5mYWRlSW5SaWdodEJpZyB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnOw0KICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZUluVXAgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCn0NCg0KLmZhZGVJblVwIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXA7DQogIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwQmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZUluVXBCaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCn0NCg0KLmZhZGVJblVwQmlnIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7DQogIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZzsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBmYWRlT3V0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCi5mYWRlT3V0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dDsNCiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93biB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZU91dERvd24gew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7DQogIH0NCn0NCg0KLmZhZGVPdXREb3duIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd247DQogIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZU91dERvd25CaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7DQogIH0NCn0NCg0KLmZhZGVPdXREb3duQmlnIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7DQogIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZzsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOw0KICB9DQp9DQoNCi5mYWRlT3V0TGVmdCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0Ow0KICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZyB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZU91dExlZnRCaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7DQogIH0NCn0NCg0KLmZhZGVPdXRMZWZ0QmlnIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7DQogIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZzsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOw0KICB9DQp9DQoNCi5mYWRlT3V0UmlnaHQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7DQogIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogIH0NCn0NCg0KLmZhZGVPdXRSaWdodEJpZyB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZzsNCiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZzsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBmYWRlT3V0VXAgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7DQogIH0NCn0NCg0KLmZhZGVPdXRVcCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDsNCiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZU91dFVwQmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOw0KICB9DQp9DQoNCi5mYWRlT3V0VXBCaWcgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7DQogIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmbGlwIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgfQ0KDQogIDQwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogIH0NCg0KICA1MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgfQ0KDQogIDgwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoLjk1LCAuOTUsIC45NSk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmxpcCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogIH0NCg0KICA0MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICB9DQoNCiAgNTAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogIH0NCg0KICA4MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KTsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgfQ0KfQ0KDQouYW5pbWF0ZWQuZmxpcCB7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcDsNCiAgYW5pbWF0aW9uLW5hbWU6IGZsaXA7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5YIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQoNCiAgNDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgfQ0KDQogIDYwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICA4MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBmbGlwSW5YIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQoNCiAgNDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgfQ0KDQogIDYwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICA4MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7DQogIH0NCn0NCg0KLmZsaXBJblggew0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50Ow0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YOw0KICBhbmltYXRpb24tbmFtZTogZmxpcEluWDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblkgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCg0KICA0MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICB9DQoNCiAgNjAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KDQogIDgwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZsaXBJblkgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCg0KICA0MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICB9DQoNCiAgNjAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KDQogIDgwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsNCiAgfQ0KfQ0KDQouZmxpcEluWSB7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50Ow0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7DQogIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFggew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsNCiAgfQ0KDQogIDMwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmxpcE91dFggew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsNCiAgfQ0KDQogIDMwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCi5mbGlwT3V0WCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYOw0KICBhbmltYXRpb24tbmFtZTogZmxpcE91dFg7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50Ow0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WSB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOw0KICB9DQoNCiAgMzAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBmbGlwT3V0WSB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOw0KICB9DQoNCiAgMzAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCg0KLmZsaXBPdXRZIHsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFk7DQogIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbiB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KDQogIDYwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgODAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTVkZWcpOw0KICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsNCiAgICB0cmFuc2Zvcm06IG5vbmU7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbiB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KDQogIDYwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgODAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTVkZWcpOw0KICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsNCiAgICB0cmFuc2Zvcm06IG5vbmU7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQoubGlnaHRTcGVlZEluIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluOw0KICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluOw0KICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQoubGlnaHRTcGVlZE91dCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXQ7DQogIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0Ow0KICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbiB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsNCiAgICB0cmFuc2Zvcm06IG5vbmU7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHJvdGF0ZUluIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOw0KICAgIHRyYW5zZm9ybTogbm9uZTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCi5yb3RhdGVJbiB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluOw0KICBhbmltYXRpb24tbmFtZTogcm90YXRlSW47DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOw0KICAgIHRyYW5zZm9ybTogbm9uZTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsNCiAgICB0cmFuc2Zvcm06IG5vbmU7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQoucm90YXRlSW5Eb3duTGVmdCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7DQogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsNCiAgICB0cmFuc2Zvcm06IG5vbmU7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7DQogICAgdHJhbnNmb3JtOiBub25lOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCn0NCg0KLnJvdGF0ZUluRG93blJpZ2h0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7DQogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsNCiAgICB0cmFuc2Zvcm06IG5vbmU7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsNCiAgICB0cmFuc2Zvcm06IG5vbmU7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQoucm90YXRlSW5VcExlZnQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDsNCiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsNCiAgICB0cmFuc2Zvcm06IG5vbmU7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7DQogICAgdHJhbnNmb3JtOiBub25lOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCn0NCg0KLnJvdGF0ZUluVXBSaWdodCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDsNCiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHJvdGF0ZU91dCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQoucm90YXRlT3V0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0Ow0KICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCg0KQGtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQoucm90YXRlT3V0RG93bkxlZnQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDsNCiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCi5yb3RhdGVPdXREb3duUmlnaHQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7DQogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCi5yb3RhdGVPdXRVcExlZnQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7DQogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCi5yb3RhdGVPdXRVcFJpZ2h0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDsNCiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBoaW5nZSB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Ow0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Ow0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7DQogIH0NCg0KICAyMCUsIDYwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Ow0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Ow0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7DQogIH0NCg0KICA0MCUsIDgwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Ow0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Ow0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGhpbmdlIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsNCiAgfQ0KDQogIDIwJSwgNjAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsNCiAgfQ0KDQogIDQwJSwgODAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCi5oaW5nZSB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhpbmdlOw0KICBhbmltYXRpb24tbmFtZTogaGluZ2U7DQp9DQoNCi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqLw0KDQpALXdlYmtpdC1rZXlmcmFtZXMgcm9sbEluIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7DQogICAgdHJhbnNmb3JtOiBub25lOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgcm9sbEluIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7DQogICAgdHJhbnNmb3JtOiBub25lOw0KICB9DQp9DQoNCi5yb2xsSW4gew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsSW47DQogIGFuaW1hdGlvbi1uYW1lOiByb2xsSW47DQp9DQoNCi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqLw0KDQpALXdlYmtpdC1rZXlmcmFtZXMgcm9sbE91dCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyByb2xsT3V0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTsNCiAgfQ0KfQ0KDQoucm9sbE91dCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7DQogIGFuaW1hdGlvbi1uYW1lOiByb2xsT3V0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOw0KICB9DQoNCiAgNTAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgem9vbUluIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOw0KICB9DQoNCiAgNTAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCi56b29tSW4gew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW47DQogIGFuaW1hdGlvbi1uYW1lOiB6b29tSW47DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5TdGFibGUgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7DQogIH0NCg0KICAzMy4zMzMlIHsNCiAgICBvcGFjaXR5OiAxOw0KCS13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTsNCiAgfQ0KICANCiAgNjYuNjY2NjY2JSB7DQogICAgb3BhY2l0eTogMTsNCgktd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyB6b29tSW5TdGFibGUgew0KIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTsNCiAgfQ0KDQogIDMzLjMzMyUgew0KICAgIG9wYWNpdHk6IDE7DQoJLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOw0KICB9DQogIA0KICA2Ni42NjY2NjYlIHsNCiAgICBvcGFjaXR5OiAxOw0KCS13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsNCiAgfQ0KfQ0KDQouem9vbUluU3RhYmxlIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluU3RhYmxlOw0KICBhbmltYXRpb24tbmFtZTogem9vbUluU3RhYmxlOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluRG93biB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsNCiAgfQ0KDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgem9vbUluRG93biB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsNCiAgfQ0KDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICB9DQp9DQoNCi56b29tSW5Eb3duIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluRG93bjsNCiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd247DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5MZWZ0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOw0KICB9DQoNCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyB6b29tSW5MZWZ0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOw0KICB9DQoNCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogIH0NCn0NCg0KLnpvb21JbkxlZnQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0Ow0KICBhbmltYXRpb24tbmFtZTogem9vbUluTGVmdDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JblJpZ2h0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsNCiAgfQ0KDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyB6b29tSW5SaWdodCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7DQogIH0NCg0KICA2MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICB9DQp9DQoNCi56b29tSW5SaWdodCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0Ow0KICBhbmltYXRpb24tbmFtZTogem9vbUluUmlnaHQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5VcCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7DQogIH0NCg0KICA2MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgem9vbUluVXAgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOw0KICB9DQoNCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTsNCiAgfQ0KfQ0KDQouem9vbUluVXAgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDsNCiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblVwOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgNTAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCg0KQGtleWZyYW1lcyB6b29tT3V0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICA1MCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQouem9vbU91dCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXQ7DQogIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dERvd24gew0KICA0MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgem9vbU91dERvd24gew0KICA0MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICB9DQp9DQoNCi56b29tT3V0RG93biB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXREb3duOw0KICBhbmltYXRpb24tbmFtZTogem9vbU91dERvd247DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0TGVmdCB7DQogIDQwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHpvb21PdXRMZWZ0IHsNCiAgNDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyOw0KICB9DQp9DQoNCi56b29tT3V0TGVmdCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRMZWZ0Ow0KICBhbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0UmlnaHQgew0KICA0MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7DQogIDQwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyOw0KICB9DQp9DQoNCi56b29tT3V0UmlnaHQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0UmlnaHQ7DQogIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0UmlnaHQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0VXAgew0KICA0MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgem9vbU91dFVwIHsNCiAgNDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTsNCiAgfQ0KfQ0KDQouem9vbU91dFVwIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dFVwOw0KICBhbmltYXRpb24tbmFtZTogem9vbU91dFVwOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkRvd24gew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsNCiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBzbGlkZUluRG93biB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOw0KICAgIHZpc2liaWxpdHk6IHZpc2libGU7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgfQ0KfQ0KDQouc2xpZGVJbkRvd24gew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluRG93bjsNCiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkxlZnQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsNCiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBzbGlkZUluTGVmdCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOw0KICAgIHZpc2liaWxpdHk6IHZpc2libGU7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgfQ0KfQ0KDQouc2xpZGVJbkxlZnQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDsNCiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOw0KICAgIHZpc2liaWxpdHk6IHZpc2libGU7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsNCiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogIH0NCn0NCg0KLnNsaWRlSW5SaWdodCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDsNCiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5VcCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsNCiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBzbGlkZUluVXAgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7DQogICAgdmlzaWJpbGl0eTogdmlzaWJsZTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICB9DQp9DQoNCi5zbGlkZUluVXAgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7DQogIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dERvd24gew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICB2aXNpYmlsaXR5OiBoaWRkZW47DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBzbGlkZU91dERvd24gew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICB2aXNpYmlsaXR5OiBoaWRkZW47DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7DQogIH0NCn0NCg0KLnNsaWRlT3V0RG93biB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjsNCiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIHZpc2liaWxpdHk6IGhpZGRlbjsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgdmlzaWJpbGl0eTogaGlkZGVuOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7DQogIH0NCn0NCg0KLnNsaWRlT3V0TGVmdCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDsNCiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICB2aXNpYmlsaXR5OiBoaWRkZW47DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgdmlzaWJpbGl0eTogaGlkZGVuOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOw0KICB9DQp9DQoNCi5zbGlkZU91dFJpZ2h0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDsNCiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFVwIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgdmlzaWJpbGl0eTogaGlkZGVuOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBzbGlkZU91dFVwIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgdmlzaWJpbGl0eTogaGlkZGVuOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7DQogIH0NCn0NCg0KLnNsaWRlT3V0VXAgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwOw0KICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDsNCn0NCg0KQGtleWZyYW1lcyBhbmltZSB7DQpmcm9tIHsNCglvcGFjaXR5OiAwOw0KCXRyYW5zZm9ybTogc2NhbGVZKDApOw0KCS13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMCk7DQoJLW1vei10cmFuc2Zvcm06IHNjYWxlWSgwKTsNCgktbXMtdHJhbnNmb3JtOiBzY2FsZVkoMCk7DQoJLW8tdHJhbnNmb3JtOiBzY2FsZVkoMCk7DQp9DQp0byB7DQoJb3BhY2l0eTogMTsNCgl0cmFuc2Zvcm06IHNjYWxlWSgxKTsNCgktd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDEpOw0KCS1tcy10cmFuc2Zvcm06IHNjYWxlWSgxKTsNCgktby10cmFuc2Zvcm06IHNjYWxlWSgxKTsNCgktbW96LXRyYW5zZm9ybTogc2NhbGVZKDEpOw0KfQ0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgYW5pbWUgew0KZnJvbSB7DQoJb3BhY2l0eTogMDsNCgl0cmFuc2Zvcm06IHNjYWxlWSgwKTsNCgktd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDApOw0KCS1tb3otdHJhbnNmb3JtOiBzY2FsZVkoMCk7DQoJLW1zLXRyYW5zZm9ybTogc2NhbGVZKDApOw0KCS1vLXRyYW5zZm9ybTogc2NhbGVZKDApOw0KfQ0KdG8gew0KCW9wYWNpdHk6IDE7DQoJdHJhbnNmb3JtOiBzY2FsZVkoMSk7DQoJLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgxKTsNCgktbXMtdHJhbnNmb3JtOiBzY2FsZVkoMSk7DQoJLW8tdHJhbnNmb3JtOiBzY2FsZVkoMSk7DQoJLW1vei10cmFuc2Zvcm06IHNjYWxlWSgxKTsNCn0NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIGFuaW1lIHsNCmZyb20gew0KCW9wYWNpdHk6IDA7DQoJdHJhbnNmb3JtOiBzY2FsZVkoMCk7DQoJLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgwKTsNCgktbW96LXRyYW5zZm9ybTogc2NhbGVZKDApOw0KCS1tcy10cmFuc2Zvcm06IHNjYWxlWSgwKTsNCgktby10cmFuc2Zvcm06IHNjYWxlWSgwKTsNCn0NCnRvIHsNCglvcGFjaXR5OiAxOw0KCXRyYW5zZm9ybTogc2NhbGVZKDEpOw0KCS13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMSk7DQoJLW1zLXRyYW5zZm9ybTogc2NhbGVZKDEpOw0KCS1vLXRyYW5zZm9ybTogc2NhbGVZKDEpOw0KCS1tb3otdHJhbnNmb3JtOiBzY2FsZVkoMSk7DQp9DQoNCn0NCg0KQC1vLWtleWZyYW1lcyBhbmltZSB7DQpmcm9tIHsNCglvcGFjaXR5OiAwOw0KCXRyYW5zZm9ybTogc2NhbGVZKDApOw0KCS13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMCk7DQoJLW1vei10cmFuc2Zvcm06IHNjYWxlWSgwKTsNCgktbXMtdHJhbnNmb3JtOiBzY2FsZVkoMCk7DQoJLW8tdHJhbnNmb3JtOiBzY2FsZVkoMCk7DQp9DQp0byB7DQoJb3BhY2l0eTogMTsNCgl0cmFuc2Zvcm06IHNjYWxlWSgxKTsNCgktd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDEpOw0KCS1tcy10cmFuc2Zvcm06IHNjYWxlWSgxKTsNCgktby10cmFuc2Zvcm06IHNjYWxlWSgxKTsNCgktbW96LXRyYW5zZm9ybTogc2NhbGVZKDEpOw0KfQ0KfQ0KDQpALW1zLWtleWZyYW1lcyBhbmltZSB7DQpmcm9tIHsNCglvcGFjaXR5OiAwOw0KCXRyYW5zZm9ybTogc2NhbGVZKDApOw0KCS13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMCk7DQoJLW1vei10cmFuc2Zvcm06IHNjYWxlWSgwKTsNCgktbXMtdHJhbnNmb3JtOiBzY2FsZVkoMCk7DQoJLW8tdHJhbnNmb3JtOiBzY2FsZVkoMCk7DQp9DQp0byB7DQoJb3BhY2l0eTogMTsNCgl0cmFuc2Zvcm06IHNjYWxlWSgxKTsNCgktd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDEpOw0KCS1tcy10cmFuc2Zvcm06IHNjYWxlWSgxKTsNCgktby10cmFuc2Zvcm06IHNjYWxlWSgxKTsNCgktbW96LXRyYW5zZm9ybTogc2NhbGVZKDEpOw0KfQ0KDQp9DQo="}},"time_used":31,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":29,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/css/hover.css","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.723Z","timestamp":1785123231723,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /css/hover.css HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/css/style.css\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: text/css\r\nlast-modified: Wed, 22 Apr 2026 17:27:28 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 8101\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":132601,"size_decoded":8410,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"8caf7b60470c36c1f1f4038eed4af6ef","sha1":"52bbfe22f9eb161156eb0c71362d75968153a903","sha256":"2ccbbea25b06596a234bcb2ff5b95b8a72fe806ec160e8390776fe71f5cbec30","sha512":"1c26e936469ccada70f028bc45d1128e531131928cab5bc37172a1b76c8e951abfbd29bebf2a1d485032c56828a667e3f5dd38ab7d51cbd568002b13388a1d88","ssdeep":"1536:9IsIFDtYo125oP2NYEY2YMY1HZl/vxMR5tj1NgoqY49wuflkrszIiIQE:5o125oP2Ys","tlshash":"85d3d0b96841120416378e09c7ce5f7deb3ce4736a221eedb787590b8b52e5c12c6e27","first_seen":"2023-04-05T08:09:08Z","last_seen":"2026-07-27T05:05:33.647464Z","times_seen":702,"resource_available":false,"data":"LyohDQogKiBIb3Zlci5jc3MgKGh0dHA6Ly9pYW5sdW5uLmdpdGh1Yi5pby9Ib3Zlci8pDQogKiBWZXJzaW9uOiAyLjAuMg0KICogQXV0aG9yOiBJYW4gTHVubiBASWFuTHVubg0KICogQXV0aG9yIFVSTDogaHR0cDovL2lhbmx1bm4uY28udWsvDQogKiBHaXRodWI6IGh0dHBzOi8vZ2l0aHViLmNvbS9JYW5MdW5uL0hvdmVyDQoNCiAqIE1hZGUgYXZhaWxhYmxlIHVuZGVyIGEgTUlUIExpY2Vuc2U6DQogKiBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocA0KDQogKiBIb3Zlci5jc3MgQ29weXJpZ2h0IElhbiBMdW5uIDIwMTQuIEdlbmVyYXRlZCB3aXRoIFNhc3MuDQogKi8NCi8qIDJEIFRSQU5TSVRJT05TICovDQovKiBHcm93ICovDQouaHZyLWdyb3cgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsNCiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KfQ0KLmh2ci1ncm93OmhvdmVyLCAuaHZyLWdyb3c6Zm9jdXMsIC5odnItZ3JvdzphY3RpdmUgew0KICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTsNCiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOw0KfQ0KDQovKiBTaHJpbmsgKi8NCi5odnItc2hyaW5rIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsNCn0NCi5odnItc2hyaW5rOmhvdmVyLCAuaHZyLXNocmluazpmb2N1cywgLmh2ci1zaHJpbms6YWN0aXZlIHsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOSk7DQogIHRyYW5zZm9ybTogc2NhbGUoMC45KTsNCn0NCg0KLyogUHVsc2UgKi8NCkAtd2Via2l0LWtleWZyYW1lcyBodnItcHVsc2Ugew0KICAyNSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsNCiAgfQ0KDQogIDc1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgaHZyLXB1bHNlIHsNCiAgMjUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7DQogIH0NCg0KICA3NSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjkpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTsNCiAgfQ0KfQ0KDQouaHZyLXB1bHNlIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQp9DQouaHZyLXB1bHNlOmhvdmVyLCAuaHZyLXB1bHNlOmZvY3VzLCAuaHZyLXB1bHNlOmFjdGl2ZSB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci1wdWxzZTsNCiAgYW5pbWF0aW9uLW5hbWU6IGh2ci1wdWxzZTsNCiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzOw0KICBhbmltYXRpb24tZHVyYXRpb246IDFzOw0KICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsNCiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOw0KICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOw0KICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsNCn0NCg0KLyogUHVsc2UgR3JvdyAqLw0KQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1wdWxzZS1ncm93IHsNCiAgdG8gew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGh2ci1wdWxzZS1ncm93IHsNCiAgdG8gew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsNCiAgfQ0KfQ0KDQouaHZyLXB1bHNlLWdyb3cgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCn0NCi5odnItcHVsc2UtZ3Jvdzpob3ZlciwgLmh2ci1wdWxzZS1ncm93OmZvY3VzLCAuaHZyLXB1bHNlLWdyb3c6YWN0aXZlIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLXB1bHNlLWdyb3c7DQogIGFuaW1hdGlvbi1uYW1lOiBodnItcHVsc2UtZ3JvdzsNCiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuM3M7DQogIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsNCiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsNCiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7DQogIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlOw0KICBhbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7DQp9DQoNCi8qIFB1bHNlIFNocmluayAqLw0KQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1wdWxzZS1zaHJpbmsgew0KICB0byB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgaHZyLXB1bHNlLXNocmluayB7DQogIHRvIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7DQogIH0NCn0NCg0KLmh2ci1wdWxzZS1zaHJpbmsgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCn0NCi5odnItcHVsc2Utc2hyaW5rOmhvdmVyLCAuaHZyLXB1bHNlLXNocmluazpmb2N1cywgLmh2ci1wdWxzZS1zaHJpbms6YWN0aXZlIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLXB1bHNlLXNocmluazsNCiAgYW5pbWF0aW9uLW5hbWU6IGh2ci1wdWxzZS1zaHJpbms7DQogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICBhbmltYXRpb24tZHVyYXRpb246IDAuM3M7DQogIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOw0KICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQogIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7DQogIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOw0KICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTsNCiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlOw0KfQ0KDQovKiBQdXNoICovDQpALXdlYmtpdC1rZXlmcmFtZXMgaHZyLXB1c2ggew0KICA1MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgaHZyLXB1c2ggew0KICA1MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOw0KICB9DQp9DQoNCi5odnItcHVzaCB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOw0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOw0KfQ0KLmh2ci1wdXNoOmhvdmVyLCAuaHZyLXB1c2g6Zm9jdXMsIC5odnItcHVzaDphY3RpdmUgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItcHVzaDsNCiAgYW5pbWF0aW9uLW5hbWU6IGh2ci1wdXNoOw0KICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsNCiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOw0KICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7DQogIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7DQp9DQoNCi8qIFBvcCAqLw0KQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1wb3Agew0KICA1MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjIpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGh2ci1wb3Agew0KICA1MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjIpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTsNCiAgfQ0KfQ0KDQouaHZyLXBvcCB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOw0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOw0KfQ0KLmh2ci1wb3A6aG92ZXIsIC5odnItcG9wOmZvY3VzLCAuaHZyLXBvcDphY3RpdmUgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItcG9wOw0KICBhbmltYXRpb24tbmFtZTogaHZyLXBvcDsNCiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuM3M7DQogIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsNCiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOw0KICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOw0KfQ0KDQovKiBCb3VuY2UgSW4gKi8NCi5odnItYm91bmNlLWluIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41czsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41czsNCn0NCi5odnItYm91bmNlLWluOmhvdmVyLCAuaHZyLWJvdW5jZS1pbjpmb2N1cywgLmh2ci1ib3VuY2UtaW46YWN0aXZlIHsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMik7DQogIHRyYW5zZm9ybTogc2NhbGUoMS4yKTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDcsIDIuMDIsIDAuMzEsIC0wLjM2KTsNCiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ3LCAyLjAyLCAwLjMxLCAtMC4zNik7DQp9DQoNCi8qIEJvdW5jZSBPdXQgKi8NCi5odnItYm91bmNlLW91dCB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOw0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7DQp9DQouaHZyLWJvdW5jZS1vdXQ6aG92ZXIsIC5odnItYm91bmNlLW91dDpmb2N1cywgLmh2ci1ib3VuY2Utb3V0OmFjdGl2ZSB7DQogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpOw0KICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7DQogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ3LCAyLjAyLCAwLjMxLCAtMC4zNik7DQogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NywgMi4wMiwgMC4zMSwgLTAuMzYpOw0KfQ0KDQovKiBSb3RhdGUgKi8NCi5odnItcm90YXRlIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsNCn0NCi5odnItcm90YXRlOmhvdmVyLCAuaHZyLXJvdGF0ZTpmb2N1cywgLmh2ci1yb3RhdGU6YWN0aXZlIHsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0ZGVnKTsNCiAgdHJhbnNmb3JtOiByb3RhdGUoNGRlZyk7DQp9DQoNCi8qIEdyb3cgUm90YXRlICovDQouaHZyLWdyb3ctcm90YXRlIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsNCn0NCi5odnItZ3Jvdy1yb3RhdGU6aG92ZXIsIC5odnItZ3Jvdy1yb3RhdGU6Zm9jdXMsIC5odnItZ3Jvdy1yb3RhdGU6YWN0aXZlIHsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDRkZWcpOw0KICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDRkZWcpOw0KfQ0KDQovKiBGbG9hdCAqLw0KLmh2ci1mbG9hdCB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOw0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQp9DQouaHZyLWZsb2F0OmhvdmVyLCAuaHZyLWZsb2F0OmZvY3VzLCAuaHZyLWZsb2F0OmFjdGl2ZSB7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7DQp9DQoNCi8qIFNpbmsgKi8NCi5odnItc2luayB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOw0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQp9DQouaHZyLXNpbms6aG92ZXIsIC5odnItc2luazpmb2N1cywgLmh2ci1zaW5rOmFjdGl2ZSB7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOw0KfQ0KDQovKiBCb2IgKi8NCkAtd2Via2l0LWtleWZyYW1lcyBodnItYm9iIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTsNCiAgfQ0KDQogIDUwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgaHZyLWJvYiB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7DQogIH0NCg0KICA1MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTsNCiAgfQ0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWJvYi1mbG9hdCB7DQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGh2ci1ib2ItZmxvYXQgew0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7DQogIH0NCn0NCg0KLmh2ci1ib2Igew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCn0NCi5odnItYm9iOmhvdmVyLCAuaHZyLWJvYjpmb2N1cywgLmh2ci1ib2I6YWN0aXZlIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLWJvYi1mbG9hdCwgaHZyLWJvYjsNCiAgYW5pbWF0aW9uLW5hbWU6IGh2ci1ib2ItZmxvYXQsIGh2ci1ib2I7DQogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAuM3MsIDEuNXM7DQogIGFuaW1hdGlvbi1kdXJhdGlvbjogLjNzLCAxLjVzOw0KICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMHMsIC4zczsNCiAgYW5pbWF0aW9uLWRlbGF5OiAwcywgLjNzOw0KICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0LCBlYXNlLWluLW91dDsNCiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQsIGVhc2UtaW4tb3V0Ow0KICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEsIGluZmluaXRlOw0KICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxLCBpbmZpbml0ZTsNCiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsNCiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7DQogIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogbm9ybWFsLCBhbHRlcm5hdGU7DQogIGFuaW1hdGlvbi1kaXJlY3Rpb246IG5vcm1hbCwgYWx0ZXJuYXRlOw0KfQ0KDQovKiBIYW5nICovDQpALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWhhbmcgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTsNCiAgfQ0KDQogIDUwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBodnItaGFuZyB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOw0KICB9DQoNCiAgNTAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTsNCiAgfQ0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWhhbmctc2luayB7DQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBodnItaGFuZy1zaW5rIHsNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTsNCiAgfQ0KfQ0KDQouaHZyLWhhbmcgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCn0NCi5odnItaGFuZzpob3ZlciwgLmh2ci1oYW5nOmZvY3VzLCAuaHZyLWhhbmc6YWN0aXZlIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLWhhbmctc2luaywgaHZyLWhhbmc7DQogIGFuaW1hdGlvbi1uYW1lOiBodnItaGFuZy1zaW5rLCBodnItaGFuZzsNCiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IC4zcywgMS41czsNCiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuM3MsIDEuNXM7DQogIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwcywgLjNzOw0KICBhbmltYXRpb24tZGVsYXk6IDBzLCAuM3M7DQogIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQsIGVhc2UtaW4tb3V0Ow0KICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCwgZWFzZS1pbi1vdXQ7DQogIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSwgaW5maW5pdGU7DQogIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEsIGluZmluaXRlOw0KICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzOw0KICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsNCiAgLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOiBub3JtYWwsIGFsdGVybmF0ZTsNCiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogbm9ybWFsLCBhbHRlcm5hdGU7DQp9DQoNCi8qIFNrZXcgKi8NCi5odnItc2tldyB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOw0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQp9DQouaHZyLXNrZXc6aG92ZXIsIC5odnItc2tldzpmb2N1cywgLmh2ci1za2V3OmFjdGl2ZSB7DQogIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KC0xMGRlZyk7DQogIHRyYW5zZm9ybTogc2tldygtMTBkZWcpOw0KfQ0KDQovKiBTa2V3IEZvcndhcmQgKi8NCi5odnItc2tldy1mb3J3YXJkIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsNCiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7DQogIHRyYW5zZm9ybS1vcmlnaW46IDAgMTAwJTsNCn0NCi5odnItc2tldy1mb3J3YXJkOmhvdmVyLCAuaHZyLXNrZXctZm9yd2FyZDpmb2N1cywgLmh2ci1za2V3LWZvcndhcmQ6YWN0aXZlIHsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTEwZGVnKTsNCiAgdHJhbnNmb3JtOiBza2V3KC0xMGRlZyk7DQp9DQoNCi8qIFNrZXcgQmFja3dhcmQgKi8NCi5odnItc2tldy1iYWNrd2FyZCB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOw0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQogIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlOw0KICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7DQp9DQouaHZyLXNrZXctYmFja3dhcmQ6aG92ZXIsIC5odnItc2tldy1iYWNrd2FyZDpmb2N1cywgLmh2ci1za2V3LWJhY2t3YXJkOmFjdGl2ZSB7DQogIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDEwZGVnKTsNCiAgdHJhbnNmb3JtOiBza2V3KDEwZGVnKTsNCn0NCg0KLyogV29iYmxlIFZlcnRpY2FsICovDQpALXdlYmtpdC1rZXlmcmFtZXMgaHZyLXdvYmJsZS12ZXJ0aWNhbCB7DQogIDE2LjY1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTsNCiAgfQ0KDQogIDMzLjMlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7DQogIH0NCg0KICA0OS45NSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7DQogIH0NCg0KICA2Ni42JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOw0KICB9DQoNCiAgODMuMjUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgaHZyLXdvYmJsZS12ZXJ0aWNhbCB7DQogIDE2LjY1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTsNCiAgfQ0KDQogIDMzLjMlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7DQogIH0NCg0KICA0OS45NSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7DQogIH0NCg0KICA2Ni42JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOw0KICB9DQoNCiAgODMuMjUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQp9DQoNCi5odnItd29iYmxlLXZlcnRpY2FsIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQp9DQouaHZyLXdvYmJsZS12ZXJ0aWNhbDpob3ZlciwgLmh2ci13b2JibGUtdmVydGljYWw6Zm9jdXMsIC5odnItd29iYmxlLXZlcnRpY2FsOmFjdGl2ZSB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci13b2JibGUtdmVydGljYWw7DQogIGFuaW1hdGlvbi1uYW1lOiBodnItd29iYmxlLXZlcnRpY2FsOw0KICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7DQogIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7DQogIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7DQogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0Ow0KICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7DQogIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7DQp9DQoNCi8qIFdvYmJsZSBIb3Jpem9udGFsICovDQpALXdlYmtpdC1rZXlmcmFtZXMgaHZyLXdvYmJsZS1ob3Jpem9udGFsIHsNCiAgMTYuNjUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpOw0KICB9DQoNCiAgMzMuMyUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KTsNCiAgfQ0KDQogIDQ5Ljk1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTsNCiAgfQ0KDQogIDY2LjYlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCk7DQogIH0NCg0KICA4My4yNSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBodnItd29iYmxlLWhvcml6b250YWwgew0KICAxNi42NSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDhweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDhweCk7DQogIH0NCg0KICAzMy4zJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpOw0KICB9DQoNCiAgNDkuOTUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpOw0KICB9DQoNCiAgNjYuNiUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KTsNCiAgfQ0KDQogIDgzLjI1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMXB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMXB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KDQouaHZyLXdvYmJsZS1ob3Jpem9udGFsIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQp9DQouaHZyLXdvYmJsZS1ob3Jpem9udGFsOmhvdmVyLCAuaHZyLXdvYmJsZS1ob3Jpem9udGFsOmZvY3VzLCAuaHZyLXdvYmJsZS1ob3Jpem9udGFsOmFjdGl2ZSB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci13b2JibGUtaG9yaXpvbnRhbDsNCiAgYW5pbWF0aW9uLW5hbWU6IGh2ci13b2JibGUtaG9yaXpvbnRhbDsNCiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzOw0KICBhbmltYXRpb24tZHVyYXRpb246IDFzOw0KICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0Ow0KICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsNCiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOw0KICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOw0KfQ0KDQovKiBXb2JibGUgVG8gQm90dG9tIFJpZ2h0ICovDQpALXdlYmtpdC1rZXlmcmFtZXMgaHZyLXdvYmJsZS10by1ib3R0b20tcmlnaHQgew0KICAxNi42NSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoOHB4LCA4cHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDhweCwgOHB4KTsNCiAgfQ0KDQogIDMzLjMlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC02cHgsIC02cHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC02cHgsIC02cHgpOw0KICB9DQoNCiAgNDkuOTUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDRweCwgNHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg0cHgsIDRweCk7DQogIH0NCg0KICA2Ni42JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMnB4LCAtMnB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMnB4LCAtMnB4KTsNCiAgfQ0KDQogIDgzLjI1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIDFweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAxcHgpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGh2ci13b2JibGUtdG8tYm90dG9tLXJpZ2h0IHsNCiAgMTYuNjUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDhweCwgOHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg4cHgsIDhweCk7DQogIH0NCg0KICAzMy4zJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNnB4LCAtNnB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNnB4LCAtNnB4KTsNCiAgfQ0KDQogIDQ5Ljk1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg0cHgsIDRweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNHB4LCA0cHgpOw0KICB9DQoNCiAgNjYuNiUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTJweCwgLTJweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTJweCwgLTJweCk7DQogIH0NCg0KICA4My4yNSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAxcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgMXB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7DQogIH0NCn0NCg0KLmh2ci13b2JibGUtdG8tYm90dG9tLXJpZ2h0IHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQp9DQouaHZyLXdvYmJsZS10by1ib3R0b20tcmlnaHQ6aG92ZXIsIC5odnItd29iYmxlLXRvLWJvdHRvbS1yaWdodDpmb2N1cywgLmh2ci13b2JibGUtdG8tYm90dG9tLXJpZ2h0OmFjdGl2ZSB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci13b2JibGUtdG8tYm90dG9tLXJpZ2h0Ow0KICBhbmltYXRpb24tbmFtZTogaHZyLXdvYmJsZS10by1ib3R0b20tcmlnaHQ7DQogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsNCiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsNCiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsNCiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7DQogIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsNCiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsNCn0NCg0KLyogV29iYmxlIFRvIFRvcCBSaWdodCAqLw0KQC13ZWJraXQta2V5ZnJhbWVzIGh2ci13b2JibGUtdG8tdG9wLXJpZ2h0IHsNCiAgMTYuNjUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDhweCwgLThweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoOHB4LCAtOHB4KTsNCiAgfQ0KDQogIDMzLjMlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC02cHgsIDZweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTZweCwgNnB4KTsNCiAgfQ0KDQogIDQ5Ljk1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg0cHgsIC00cHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDRweCwgLTRweCk7DQogIH0NCg0KICA2Ni42JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMnB4LCAycHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0ycHgsIDJweCk7DQogIH0NCg0KICA4My4yNSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAtMXB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIC0xcHgpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGh2ci13b2JibGUtdG8tdG9wLXJpZ2h0IHsNCiAgMTYuNjUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDhweCwgLThweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoOHB4LCAtOHB4KTsNCiAgfQ0KDQogIDMzLjMlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC02cHgsIDZweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTZweCwgNnB4KTsNCiAgfQ0KDQogIDQ5Ljk1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg0cHgsIC00cHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDRweCwgLTRweCk7DQogIH0NCg0KICA2Ni42JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMnB4LCAycHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0ycHgsIDJweCk7DQogIH0NCg0KICA4My4yNSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAtMXB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIC0xcHgpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsNCiAgfQ0KfQ0KDQouaHZyLXdvYmJsZS10by10b3AtcmlnaHQgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCn0NCi5odnItd29iYmxlLXRvLXRvcC1yaWdodDpob3ZlciwgLmh2ci13b2JibGUtdG8tdG9wLXJpZ2h0OmZvY3VzLCAuaHZyLXdvYmJsZS10by10b3AtcmlnaHQ6YWN0aXZlIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLXdvYmJsZS10by10b3AtcmlnaHQ7DQogIGFuaW1hdGlvbi1uYW1lOiBodnItd29iYmxlLXRvLXRvcC1yaWdodDsNCiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzOw0KICBhbmltYXRpb24tZHVyYXRpb246IDFzOw0KICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0Ow0KICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsNCiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOw0KICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOw0KfQ0KDQovKiBXb2JibGUgVG9wICovDQpALXdlYmtpdC1rZXlmcmFtZXMgaHZyLXdvYmJsZS10b3Agew0KICAxNi42NSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KC0xMmRlZyk7DQogICAgdHJhbnNmb3JtOiBza2V3KC0xMmRlZyk7DQogIH0NCg0KICAzMy4zJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMTBkZWcpOw0KICAgIHRyYW5zZm9ybTogc2tldygxMGRlZyk7DQogIH0NCg0KICA0OS45NSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KC02ZGVnKTsNCiAgICB0cmFuc2Zvcm06IHNrZXcoLTZkZWcpOw0KICB9DQoNCiAgNjYuNiUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDRkZWcpOw0KICAgIHRyYW5zZm9ybTogc2tldyg0ZGVnKTsNCiAgfQ0KDQogIDgzLjI1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTJkZWcpOw0KICAgIHRyYW5zZm9ybTogc2tldygtMmRlZyk7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwKTsNCiAgICB0cmFuc2Zvcm06IHNrZXcoMCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBodnItd29iYmxlLXRvcCB7DQogIDE2LjY1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTEyZGVnKTsNCiAgICB0cmFuc2Zvcm06IHNrZXcoLTEyZGVnKTsNCiAgfQ0KDQogIDMzLjMlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygxMGRlZyk7DQogICAgdHJhbnNmb3JtOiBza2V3KDEwZGVnKTsNCiAgfQ0KDQogIDQ5Ljk1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTZkZWcpOw0KICAgIHRyYW5zZm9ybTogc2tldygtNmRlZyk7DQogIH0NCg0KICA2Ni42JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoNGRlZyk7DQogICAgdHJhbnNmb3JtOiBza2V3KDRkZWcpOw0KICB9DQoNCiAgODMuMjUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygtMmRlZyk7DQogICAgdHJhbnNmb3JtOiBza2V3KC0yZGVnKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDApOw0KICAgIHRyYW5zZm9ybTogc2tldygwKTsNCiAgfQ0KfQ0KDQouaHZyLXdvYmJsZS10b3Agew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7DQogIHRyYW5zZm9ybS1vcmlnaW46IDAgMTAwJTsNCn0NCi5odnItd29iYmxlLXRvcDpob3ZlciwgLmh2ci13b2JibGUtdG9wOmZvY3VzLCAuaHZyLXdvYmJsZS10b3A6YWN0aXZlIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLXdvYmJsZS10b3A7DQogIGFuaW1hdGlvbi1uYW1lOiBodnItd29iYmxlLXRvcDsNCiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzOw0KICBhbmltYXRpb24tZHVyYXRpb246IDFzOw0KICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0Ow0KICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsNCiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOw0KICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOw0KfQ0KDQovKiBXb2JibGUgQm90dG9tICovDQpALXdlYmtpdC1rZXlmcmFtZXMgaHZyLXdvYmJsZS1ib3R0b20gew0KICAxNi42NSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KC0xMmRlZyk7DQogICAgdHJhbnNmb3JtOiBza2V3KC0xMmRlZyk7DQogIH0NCg0KICAzMy4zJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMTBkZWcpOw0KICAgIHRyYW5zZm9ybTogc2tldygxMGRlZyk7DQogIH0NCg0KICA0OS45NSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KC02ZGVnKTsNCiAgICB0cmFuc2Zvcm06IHNrZXcoLTZkZWcpOw0KICB9DQoNCiAgNjYuNiUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDRkZWcpOw0KICAgIHRyYW5zZm9ybTogc2tldyg0ZGVnKTsNCiAgfQ0KDQogIDgzLjI1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTJkZWcpOw0KICAgIHRyYW5zZm9ybTogc2tldygtMmRlZyk7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygwKTsNCiAgICB0cmFuc2Zvcm06IHNrZXcoMCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBodnItd29iYmxlLWJvdHRvbSB7DQogIDE2LjY1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTEyZGVnKTsNCiAgICB0cmFuc2Zvcm06IHNrZXcoLTEyZGVnKTsNCiAgfQ0KDQogIDMzLjMlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygxMGRlZyk7DQogICAgdHJhbnNmb3JtOiBza2V3KDEwZGVnKTsNCiAgfQ0KDQogIDQ5Ljk1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTZkZWcpOw0KICAgIHRyYW5zZm9ybTogc2tldygtNmRlZyk7DQogIH0NCg0KICA2Ni42JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoNGRlZyk7DQogICAgdHJhbnNmb3JtOiBza2V3KDRkZWcpOw0KICB9DQoNCiAgODMuMjUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygtMmRlZyk7DQogICAgdHJhbnNmb3JtOiBza2V3KC0yZGVnKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDApOw0KICAgIHRyYW5zZm9ybTogc2tldygwKTsNCiAgfQ0KfQ0KDQouaHZyLXdvYmJsZS1ib3R0b20gew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7DQogIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDsNCn0NCi5odnItd29iYmxlLWJvdHRvbTpob3ZlciwgLmh2ci13b2JibGUtYm90dG9tOmZvY3VzLCAuaHZyLXdvYmJsZS1ib3R0b206YWN0aXZlIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLXdvYmJsZS1ib3R0b207DQogIGFuaW1hdGlvbi1uYW1lOiBodnItd29iYmxlLWJvdHRvbTsNCiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzOw0KICBhbmltYXRpb24tZHVyYXRpb246IDFzOw0KICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0Ow0KICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsNCiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOw0KICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOw0KfQ0KDQovKiBXb2JibGUgU2tldyAqLw0KQC13ZWJraXQta2V5ZnJhbWVzIGh2ci13b2JibGUtc2tldyB7DQogIDE2LjY1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTEyZGVnKTsNCiAgICB0cmFuc2Zvcm06IHNrZXcoLTEyZGVnKTsNCiAgfQ0KDQogIDMzLjMlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygxMGRlZyk7DQogICAgdHJhbnNmb3JtOiBza2V3KDEwZGVnKTsNCiAgfQ0KDQogIDQ5Ljk1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTZkZWcpOw0KICAgIHRyYW5zZm9ybTogc2tldygtNmRlZyk7DQogIH0NCg0KICA2Ni42JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoNGRlZyk7DQogICAgdHJhbnNmb3JtOiBza2V3KDRkZWcpOw0KICB9DQoNCiAgODMuMjUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygtMmRlZyk7DQogICAgdHJhbnNmb3JtOiBza2V3KC0yZGVnKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDApOw0KICAgIHRyYW5zZm9ybTogc2tldygwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGh2ci13b2JibGUtc2tldyB7DQogIDE2LjY1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTEyZGVnKTsNCiAgICB0cmFuc2Zvcm06IHNrZXcoLTEyZGVnKTsNCiAgfQ0KDQogIDMzLjMlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygxMGRlZyk7DQogICAgdHJhbnNmb3JtOiBza2V3KDEwZGVnKTsNCiAgfQ0KDQogIDQ5Ljk1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoLTZkZWcpOw0KICAgIHRyYW5zZm9ybTogc2tldygtNmRlZyk7DQogIH0NCg0KICA2Ni42JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoNGRlZyk7DQogICAgdHJhbnNmb3JtOiBza2V3KDRkZWcpOw0KICB9DQoNCiAgODMuMjUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygtMmRlZyk7DQogICAgdHJhbnNmb3JtOiBza2V3KC0yZGVnKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KDApOw0KICAgIHRyYW5zZm9ybTogc2tldygwKTsNCiAgfQ0KfQ0KDQouaHZyLXdvYmJsZS1za2V3IHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQp9DQouaHZyLXdvYmJsZS1za2V3OmhvdmVyLCAuaHZyLXdvYmJsZS1za2V3OmZvY3VzLCAuaHZyLXdvYmJsZS1za2V3OmFjdGl2ZSB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci13b2JibGUtc2tldzsNCiAgYW5pbWF0aW9uLW5hbWU6IGh2ci13b2JibGUtc2tldzsNCiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzOw0KICBhbmltYXRpb24tZHVyYXRpb246IDFzOw0KICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0Ow0KICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsNCiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOw0KICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOw0KfQ0KDQovKiBCdXp6ICovDQpALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWJ1enogew0KICA1MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBodnItYnV6eiB7DQogIDUwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTsNCiAgfQ0KfQ0KDQouaHZyLWJ1enogew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCn0NCi5odnItYnV6ejpob3ZlciwgLmh2ci1idXp6OmZvY3VzLCAuaHZyLWJ1eno6YWN0aXZlIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLWJ1eno7DQogIGFuaW1hdGlvbi1uYW1lOiBodnItYnV6ejsNCiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuMTVzOw0KICBhbmltYXRpb24tZHVyYXRpb246IDAuMTVzOw0KICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsNCiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOw0KICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOw0KICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsNCn0NCg0KLyogQnV6eiBPdXQgKi8NCkAtd2Via2l0LWtleWZyYW1lcyBodnItYnV6ei1vdXQgew0KICAxMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTsNCiAgfQ0KDQogIDIwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTsNCiAgfQ0KDQogIDMwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpOw0KICB9DQoNCiAgNDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpOw0KICB9DQoNCiAgNTAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgxZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGUoMWRlZyk7DQogIH0NCg0KICA2MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpIHJvdGF0ZSgtMWRlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpIHJvdGF0ZSgtMWRlZyk7DQogIH0NCg0KICA3MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlKDFkZWcpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgxZGVnKTsNCiAgfQ0KDQogIDgwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKTsNCiAgfQ0KDQogIDkwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMXB4KSByb3RhdGUoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCkgcm90YXRlKDApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTFweCkgcm90YXRlKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXB4KSByb3RhdGUoMCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBodnItYnV6ei1vdXQgew0KICAxMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTsNCiAgfQ0KDQogIDIwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTsNCiAgfQ0KDQogIDMwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpOw0KICB9DQoNCiAgNDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpOw0KICB9DQoNCiAgNTAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgxZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGUoMWRlZyk7DQogIH0NCg0KICA2MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpIHJvdGF0ZSgtMWRlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpIHJvdGF0ZSgtMWRlZyk7DQogIH0NCg0KICA3MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlKDFkZWcpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgxZGVnKTsNCiAgfQ0KDQogIDgwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKTsNCiAgfQ0KDQogIDkwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMXB4KSByb3RhdGUoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCkgcm90YXRlKDApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTFweCkgcm90YXRlKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXB4KSByb3RhdGUoMCk7DQogIH0NCn0NCg0KLmh2ci1idXp6LW91dCB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOw0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOw0KfQ0KLmh2ci1idXp6LW91dDpob3ZlciwgLmh2ci1idXp6LW91dDpmb2N1cywgLmh2ci1idXp6LW91dDphY3RpdmUgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItYnV6ei1vdXQ7DQogIGFuaW1hdGlvbi1uYW1lOiBodnItYnV6ei1vdXQ7DQogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1czsNCiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1czsNCiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsNCiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOw0KICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOw0KfQ0KDQovKiBCQUNLR1JPVU5EIFRSQU5TSVRJT05TICovDQovKiBGYWRlICovDQouaHZyLWZhZGUgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yOw0KICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjsNCn0NCi5odnItZmFkZTpob3ZlciwgLmh2ci1mYWRlOmZvY3VzLCAuaHZyLWZhZGU6YWN0aXZlIHsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzIwOThkMTsNCiAgY29sb3I6IHdoaXRlOw0KfQ0KDQovKiBCYWNrIFB1bHNlICovDQpALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWJhY2stcHVsc2Ugew0KICA1MCUgew0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzIsIDE1MiwgMjA5LCAwLjc1KTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGh2ci1iYWNrLXB1bHNlIHsNCiAgNTAlIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMyLCAxNTIsIDIwOSwgMC43NSk7DQogIH0NCn0NCg0KLmh2ci1iYWNrLXB1bHNlIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIG92ZXJmbG93OiBoaWRkZW47DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41czsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41czsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjsNCiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3I7DQp9DQouaHZyLWJhY2stcHVsc2U6aG92ZXIsIC5odnItYmFjay1wdWxzZTpmb2N1cywgLmh2ci1iYWNrLXB1bHNlOmFjdGl2ZSB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci1iYWNrLXB1bHNlOw0KICBhbmltYXRpb24tbmFtZTogaHZyLWJhY2stcHVsc2U7DQogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsNCiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsNCiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuNXM7DQogIGFuaW1hdGlvbi1kZWxheTogMC41czsNCiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsNCiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsNCiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7DQogIGJhY2tncm91bmQtY29sb3I6ICMyMDk4ZDE7DQogIGJhY2tncm91bmQtY29sb3I6ICMyMDk4ZDE7DQogIGNvbG9yOiB3aGl0ZTsNCn0NCg0KLyogU3dlZXAgVG8gUmlnaHQgKi8NCi5odnItc3dlZXAtdG8tcmlnaHQgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yOw0KICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KfQ0KLmh2ci1zd2VlcC10by1yaWdodDpiZWZvcmUgew0KICBjb250ZW50OiAiIjsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB6LWluZGV4OiAtMTsNCiAgdG9wOiAwOw0KICBsZWZ0OiAwOw0KICByaWdodDogMDsNCiAgYm90dG9tOiAwOw0KICBiYWNrZ3JvdW5kOiAjMjA5OGQxOw0KICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDApOw0KICB0cmFuc2Zvcm06IHNjYWxlWCgwKTsNCiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTsNCiAgdHJhbnNmb3JtLW9yaWdpbjogMCA1MCU7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCn0NCi5odnItc3dlZXAtdG8tcmlnaHQ6aG92ZXIsIC5odnItc3dlZXAtdG8tcmlnaHQ6Zm9jdXMsIC5odnItc3dlZXAtdG8tcmlnaHQ6YWN0aXZlIHsNCiAgY29sb3I6IHdoaXRlOw0KfQ0KLmh2ci1zd2VlcC10by1yaWdodDpob3ZlcjpiZWZvcmUsIC5odnItc3dlZXAtdG8tcmlnaHQ6Zm9jdXM6YmVmb3JlLCAuaHZyLXN3ZWVwLXRvLXJpZ2h0OmFjdGl2ZTpiZWZvcmUgew0KICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDEpOw0KICB0cmFuc2Zvcm06IHNjYWxlWCgxKTsNCn0NCg0KLyogU3dlZXAgVG8gTGVmdCAqLw0KLmh2ci1zd2VlcC10by1sZWZ0IHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjsNCiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCn0NCi5odnItc3dlZXAtdG8tbGVmdDpiZWZvcmUgew0KICBjb250ZW50OiAiIjsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB6LWluZGV4OiAtMTsNCiAgdG9wOiAwOw0KICBsZWZ0OiAwOw0KICByaWdodDogMDsNCiAgYm90dG9tOiAwOw0KICBiYWNrZ3JvdW5kOiAjMjA5OGQxOw0KICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDApOw0KICB0cmFuc2Zvcm06IHNjYWxlWCgwKTsNCiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTsNCiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCn0NCi5odnItc3dlZXAtdG8tbGVmdDpob3ZlciwgLmh2ci1zd2VlcC10by1sZWZ0OmZvY3VzLCAuaHZyLXN3ZWVwLXRvLWxlZnQ6YWN0aXZlIHsNCiAgY29sb3I6IHdoaXRlOw0KfQ0KLmh2ci1zd2VlcC10by1sZWZ0OmhvdmVyOmJlZm9yZSwgLmh2ci1zd2VlcC10by1sZWZ0OmZvY3VzOmJlZm9yZSwgLmh2ci1zd2VlcC10by1sZWZ0OmFjdGl2ZTpiZWZvcmUgew0KICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDEpOw0KICB0cmFuc2Zvcm06IHNjYWxlWCgxKTsNCn0NCg0KLyogU3dlZXAgVG8gQm90dG9tICovDQouaHZyLXN3ZWVwLXRvLWJvdHRvbSB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOw0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOw0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQp9DQouaHZyLXN3ZWVwLXRvLWJvdHRvbTpiZWZvcmUgew0KICBjb250ZW50OiAiIjsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB6LWluZGV4OiAtMTsNCiAgdG9wOiAwOw0KICBsZWZ0OiAwOw0KICByaWdodDogMDsNCiAgYm90dG9tOiAwOw0KICBiYWNrZ3JvdW5kOiAjMjA5OGQxOw0KICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDApOw0KICB0cmFuc2Zvcm06IHNjYWxlWSgwKTsNCiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDsNCiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCn0NCi5odnItc3dlZXAtdG8tYm90dG9tOmhvdmVyLCAuaHZyLXN3ZWVwLXRvLWJvdHRvbTpmb2N1cywgLmh2ci1zd2VlcC10by1ib3R0b206YWN0aXZlIHsNCiAgY29sb3I6IHdoaXRlOw0KfQ0KLmh2ci1zd2VlcC10by1ib3R0b206aG92ZXI6YmVmb3JlLCAuaHZyLXN3ZWVwLXRvLWJvdHRvbTpmb2N1czpiZWZvcmUsIC5odnItc3dlZXAtdG8tYm90dG9tOmFjdGl2ZTpiZWZvcmUgew0KICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDEpOw0KICB0cmFuc2Zvcm06IHNjYWxlWSgxKTsNCn0NCg0KLyogU3dlZXAgVG8gVG9wICovDQouaHZyLXN3ZWVwLXRvLXRvcCB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOw0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOw0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQp9DQouaHZyLXN3ZWVwLXRvLXRvcDpiZWZvcmUgew0KICBjb250ZW50OiAiIjsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB6LWluZGV4OiAtMTsNCiAgdG9wOiAwOw0KICBsZWZ0OiAwOw0KICByaWdodDogMDsNCiAgYm90dG9tOiAwOw0KICBiYWNrZ3JvdW5kOiAjMjA5OGQxOw0KICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDApOw0KICB0cmFuc2Zvcm06IHNjYWxlWSgwKTsNCiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTsNCiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCn0NCi5odnItc3dlZXAtdG8tdG9wOmhvdmVyLCAuaHZyLXN3ZWVwLXRvLXRvcDpmb2N1cywgLmh2ci1zd2VlcC10by10b3A6YWN0aXZlIHsNCiAgY29sb3I6IHdoaXRlOw0KfQ0KLmh2ci1zd2VlcC10by10b3A6aG92ZXI6YmVmb3JlLCAuaHZyLXN3ZWVwLXRvLXRvcDpmb2N1czpiZWZvcmUsIC5odnItc3dlZXAtdG8tdG9wOmFjdGl2ZTpiZWZvcmUgew0KICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDEpOw0KICB0cmFuc2Zvcm06IHNjYWxlWSgxKTsNCn0NCg0KLyogQm91bmNlIFRvIFJpZ2h0ICovDQouaHZyLWJvdW5jZS10by1yaWdodCB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOw0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOw0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7DQp9DQouaHZyLWJvdW5jZS10by1yaWdodDpiZWZvcmUgew0KICBjb250ZW50OiAiIjsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB6LWluZGV4OiAtMTsNCiAgdG9wOiAwOw0KICBsZWZ0OiAwOw0KICByaWdodDogMDsNCiAgYm90dG9tOiAwOw0KICBiYWNrZ3JvdW5kOiAjMjA5OGQxOw0KICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDApOw0KICB0cmFuc2Zvcm06IHNjYWxlWCgwKTsNCiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTsNCiAgdHJhbnNmb3JtLW9yaWdpbjogMCA1MCU7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41czsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41czsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCn0NCg0KLmh2ci1ib3VuY2UtdG8tcmlnaHQ6aG92ZXIsIC5odnItYm91bmNlLXRvLXJpZ2h0OmZvY3VzLCAuaHZyLWJvdW5jZS10by1yaWdodDphY3RpdmUgew0KICBjb2xvcjogd2hpdGU7DQp9DQouaHZyLWJvdW5jZS10by1yaWdodDpob3ZlcjpiZWZvcmUsIC5odnItYm91bmNlLXRvLXJpZ2h0OmZvY3VzOmJlZm9yZSwgLmh2ci1ib3VuY2UtdG8tcmlnaHQ6YWN0aXZlOmJlZm9yZSB7DQogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMSk7DQogIHRyYW5zZm9ybTogc2NhbGVYKDEpOw0KICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41MiwgMS42NCwgMC4zNywgMC42Nik7DQogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41MiwgMS42NCwgMC4zNywgMC42Nik7DQp9DQoNCi8qIEJvdW5jZSBUbyBMZWZ0ICovDQouaHZyLWJvdW5jZS10by1sZWZ0IHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjsNCiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41czsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41czsNCn0NCi5odnItYm91bmNlLXRvLWxlZnQ6YmVmb3JlIHsNCiAgY29udGVudDogIiI7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgei1pbmRleDogLTE7DQogIHRvcDogMDsNCiAgbGVmdDogMDsNCiAgcmlnaHQ6IDA7DQogIGJvdHRvbTogMDsNCiAgYmFja2dyb3VuZDogIzIwOThkMTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgwKTsNCiAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7DQogIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7DQogIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgNTAlOw0KICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsNCiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7DQogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQp9DQouaHZyLWJvdW5jZS10by1sZWZ0OmhvdmVyLCAuaHZyLWJvdW5jZS10by1sZWZ0OmZvY3VzLCAuaHZyLWJvdW5jZS10by1sZWZ0OmFjdGl2ZSB7DQogIGNvbG9yOiB3aGl0ZTsNCn0NCi5odnItYm91bmNlLXRvLWxlZnQ6aG92ZXI6YmVmb3JlLCAuaHZyLWJvdW5jZS10by1sZWZ0OmZvY3VzOmJlZm9yZSwgLmh2ci1ib3VuY2UtdG8tbGVmdDphY3RpdmU6YmVmb3JlIHsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgxKTsNCiAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7DQogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUyLCAxLjY0LCAwLjM3LCAwLjY2KTsNCiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUyLCAxLjY0LCAwLjM3LCAwLjY2KTsNCn0NCg0KLyogQm91bmNlIFRvIEJvdHRvbSAqLw0KLmh2ci1ib3VuY2UtdG8tYm90dG9tIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjsNCiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41czsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41czsNCn0NCi5odnItYm91bmNlLXRvLWJvdHRvbTpiZWZvcmUgew0KICBjb250ZW50OiAiIjsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB6LWluZGV4OiAtMTsNCiAgdG9wOiAwOw0KICBsZWZ0OiAwOw0KICByaWdodDogMDsNCiAgYm90dG9tOiAwOw0KICBiYWNrZ3JvdW5kOiAjMjA5OGQxOw0KICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDApOw0KICB0cmFuc2Zvcm06IHNjYWxlWSgwKTsNCiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDsNCiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41czsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41czsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCn0NCi5odnItYm91bmNlLXRvLWJvdHRvbTpob3ZlciwgLmh2ci1ib3VuY2UtdG8tYm90dG9tOmZvY3VzLCAuaHZyLWJvdW5jZS10by1ib3R0b206YWN0aXZlIHsNCiAgY29sb3I6IHdoaXRlOw0KfQ0KLmh2ci1ib3VuY2UtdG8tYm90dG9tOmhvdmVyOmJlZm9yZSwgLmh2ci1ib3VuY2UtdG8tYm90dG9tOmZvY3VzOmJlZm9yZSwgLmh2ci1ib3VuY2UtdG8tYm90dG9tOmFjdGl2ZTpiZWZvcmUgew0KICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDEpOw0KICB0cmFuc2Zvcm06IHNjYWxlWSgxKTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTIsIDEuNjQsIDAuMzcsIDAuNjYpOw0KICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTIsIDEuNjQsIDAuMzcsIDAuNjYpOw0KfQ0KDQovKiBCb3VuY2UgVG8gVG9wICovDQouaHZyLWJvdW5jZS10by10b3Agew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yOw0KICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzOw0KICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzOw0KfQ0KLmh2ci1ib3VuY2UtdG8tdG9wOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICIiOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHotaW5kZXg6IC0xOw0KICB0b3A6IDA7DQogIGxlZnQ6IDA7DQogIHJpZ2h0OiAwOw0KICBib3R0b206IDA7DQogIGJhY2tncm91bmQ6ICMyMDk4ZDE7DQogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMCk7DQogIHRyYW5zZm9ybTogc2NhbGVZKDApOw0KICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlOw0KICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzOw0KICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzOw0KICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KfQ0KLmh2ci1ib3VuY2UtdG8tdG9wOmhvdmVyLCAuaHZyLWJvdW5jZS10by10b3A6Zm9jdXMsIC5odnItYm91bmNlLXRvLXRvcDphY3RpdmUgew0KICBjb2xvcjogd2hpdGU7DQp9DQouaHZyLWJvdW5jZS10by10b3A6aG92ZXI6YmVmb3JlLCAuaHZyLWJvdW5jZS10by10b3A6Zm9jdXM6YmVmb3JlLCAuaHZyLWJvdW5jZS10by10b3A6YWN0aXZlOmJlZm9yZSB7DQogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMSk7DQogIHRyYW5zZm9ybTogc2NhbGVZKDEpOw0KICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41MiwgMS42NCwgMC4zNywgMC42Nik7DQogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41MiwgMS42NCwgMC4zNywgMC42Nik7DQp9DQoNCi8qIFJhZGlhbCBPdXQgKi8NCi5odnItcmFkaWFsLW91dCB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOw0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOw0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIG92ZXJmbG93OiBoaWRkZW47DQogIGJhY2tncm91bmQ6ICNlMWUxZTE7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQp9DQouaHZyLXJhZGlhbC1vdXQ6YmVmb3JlIHsNCiAgY29udGVudDogIiI7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgei1pbmRleDogLTE7DQogIHRvcDogMDsNCiAgbGVmdDogMDsNCiAgcmlnaHQ6IDA7DQogIGJvdHRvbTogMDsNCiAgYmFja2dyb3VuZDogIzIwOThkMTsNCiAgYm9yZGVyLXJhZGl1czogMTAwJTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApOw0KICB0cmFuc2Zvcm06IHNjYWxlKDApOw0KICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsNCiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQp9DQouaHZyLXJhZGlhbC1vdXQ6aG92ZXIsIC5odnItcmFkaWFsLW91dDpmb2N1cywgLmh2ci1yYWRpYWwtb3V0OmFjdGl2ZSB7DQogIGNvbG9yOiB3aGl0ZTsNCn0NCi5odnItcmFkaWFsLW91dDpob3ZlcjpiZWZvcmUsIC5odnItcmFkaWFsLW91dDpmb2N1czpiZWZvcmUsIC5odnItcmFkaWFsLW91dDphY3RpdmU6YmVmb3JlIHsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDIpOw0KICB0cmFuc2Zvcm06IHNjYWxlKDIpOw0KfQ0KDQovKiBSYWRpYWwgSW4gKi8NCi5odnItcmFkaWFsLWluIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgYmFja2dyb3VuZDogIzIwOThkMTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjsNCiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCn0NCi5odnItcmFkaWFsLWluOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICIiOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHotaW5kZXg6IC0xOw0KICB0b3A6IDA7DQogIGxlZnQ6IDA7DQogIHJpZ2h0OiAwOw0KICBib3R0b206IDA7DQogIGJhY2tncm91bmQ6ICNlMWUxZTE7DQogIGJvcmRlci1yYWRpdXM6IDEwMCU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgyKTsNCiAgdHJhbnNmb3JtOiBzY2FsZSgyKTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KfQ0KLmh2ci1yYWRpYWwtaW46aG92ZXIsIC5odnItcmFkaWFsLWluOmZvY3VzLCAuaHZyLXJhZGlhbC1pbjphY3RpdmUgew0KICBjb2xvcjogd2hpdGU7DQp9DQouaHZyLXJhZGlhbC1pbjpob3ZlcjpiZWZvcmUsIC5odnItcmFkaWFsLWluOmZvY3VzOmJlZm9yZSwgLmh2ci1yYWRpYWwtaW46YWN0aXZlOmJlZm9yZSB7DQogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTsNCiAgdHJhbnNmb3JtOiBzY2FsZSgwKTsNCn0NCg0KLyogUmVjdGFuZ2xlIEluICovDQouaHZyLXJlY3RhbmdsZS1pbiB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOw0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOw0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIGJhY2tncm91bmQ6ICMyMDk4ZDE7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQp9DQouaHZyLXJlY3RhbmdsZS1pbjpiZWZvcmUgew0KICBjb250ZW50OiAiIjsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB6LWluZGV4OiAtMTsNCiAgdG9wOiAwOw0KICBsZWZ0OiAwOw0KICByaWdodDogMDsNCiAgYm90dG9tOiAwOw0KICBiYWNrZ3JvdW5kOiAjZTFlMWUxOw0KICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7DQogIHRyYW5zZm9ybTogc2NhbGUoMSk7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCn0NCi5odnItcmVjdGFuZ2xlLWluOmhvdmVyLCAuaHZyLXJlY3RhbmdsZS1pbjpmb2N1cywgLmh2ci1yZWN0YW5nbGUtaW46YWN0aXZlIHsNCiAgY29sb3I6IHdoaXRlOw0KfQ0KLmh2ci1yZWN0YW5nbGUtaW46aG92ZXI6YmVmb3JlLCAuaHZyLXJlY3RhbmdsZS1pbjpmb2N1czpiZWZvcmUsIC5odnItcmVjdGFuZ2xlLWluOmFjdGl2ZTpiZWZvcmUgew0KICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7DQogIHRyYW5zZm9ybTogc2NhbGUoMCk7DQp9DQoNCi8qIFJlY3RhbmdsZSBPdXQgKi8NCi5odnItcmVjdGFuZ2xlLW91dCB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOw0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOw0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIGJhY2tncm91bmQ6ICNlMWUxZTE7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQp9DQouaHZyLXJlY3RhbmdsZS1vdXQ6YmVmb3JlIHsNCiAgY29udGVudDogIiI7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgei1pbmRleDogLTE7DQogIHRvcDogMDsNCiAgbGVmdDogMDsNCiAgcmlnaHQ6IDA7DQogIGJvdHRvbTogMDsNCiAgYmFja2dyb3VuZDogIzIwOThkMTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApOw0KICB0cmFuc2Zvcm06IHNjYWxlKDApOw0KICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsNCiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQp9DQouaHZyLXJlY3RhbmdsZS1vdXQ6aG92ZXIsIC5odnItcmVjdGFuZ2xlLW91dDpmb2N1cywgLmh2ci1yZWN0YW5nbGUtb3V0OmFjdGl2ZSB7DQogIGNvbG9yOiB3aGl0ZTsNCn0NCi5odnItcmVjdGFuZ2xlLW91dDpob3ZlcjpiZWZvcmUsIC5odnItcmVjdGFuZ2xlLW91dDpmb2N1czpiZWZvcmUsIC5odnItcmVjdGFuZ2xlLW91dDphY3RpdmU6YmVmb3JlIHsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOw0KICB0cmFuc2Zvcm06IHNjYWxlKDEpOw0KfQ0KDQoudG9wLXNlcnZpY2VzIC5odnItcmVjdGFuZ2xlLW91dCwgLnNlcnZpY2VzLXNsaWRlciAuaHZyLXJlY3RhbmdsZS1vdXR7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41czsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41czsNCn0NCi50b3Atc2VydmljZXMgLmh2ci1yZWN0YW5nbGUtb3V0OmJlZm9yZSwgLnNlcnZpY2VzLXNsaWRlciAuaHZyLXJlY3RhbmdsZS1vdXQ6YmVmb3JlIHsNCiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjA1KTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzOw0KICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzOw0KfQ0KDQovKiBTaHV0dGVyIEluIEhvcml6b250YWwgKi8NCi5odnItc2h1dHRlci1pbi1ob3Jpem9udGFsIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgYmFja2dyb3VuZDogIzIwOThkMTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjsNCiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCn0NCi5odnItc2h1dHRlci1pbi1ob3Jpem9udGFsOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICIiOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHotaW5kZXg6IC0xOw0KICB0b3A6IDA7DQogIGJvdHRvbTogMDsNCiAgbGVmdDogMDsNCiAgcmlnaHQ6IDA7DQogIGJhY2tncm91bmQ6ICNlMWUxZTE7DQogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoMSk7DQogIHRyYW5zZm9ybTogc2NhbGVYKDEpOw0KICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJTsNCiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlOw0KICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsNCiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQp9DQouaHZyLXNodXR0ZXItaW4taG9yaXpvbnRhbDpob3ZlciwgLmh2ci1zaHV0dGVyLWluLWhvcml6b250YWw6Zm9jdXMsIC5odnItc2h1dHRlci1pbi1ob3Jpem9udGFsOmFjdGl2ZSB7DQogIGNvbG9yOiB3aGl0ZTsNCn0NCi5odnItc2h1dHRlci1pbi1ob3Jpem9udGFsOmhvdmVyOmJlZm9yZSwgLmh2ci1zaHV0dGVyLWluLWhvcml6b250YWw6Zm9jdXM6YmVmb3JlLCAuaHZyLXNodXR0ZXItaW4taG9yaXpvbnRhbDphY3RpdmU6YmVmb3JlIHsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgwKTsNCiAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7DQp9DQoNCi8qIFNodXR0ZXIgT3V0IEhvcml6b250YWwgKi8NCi5odnItc2h1dHRlci1vdXQtaG9yaXpvbnRhbCB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOw0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOw0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIGJhY2tncm91bmQ6ICNlMWUxZTE7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQp9DQouaHZyLXNodXR0ZXItb3V0LWhvcml6b250YWw6YmVmb3JlIHsNCiAgY29udGVudDogIiI7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgei1pbmRleDogLTE7DQogIHRvcDogMDsNCiAgYm90dG9tOiAwOw0KICBsZWZ0OiAwOw0KICByaWdodDogMDsNCiAgYmFja2dyb3VuZDogIzIwOThkMTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgwKTsNCiAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7DQogIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlOw0KICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCU7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCn0NCi5odnItc2h1dHRlci1vdXQtaG9yaXpvbnRhbDpob3ZlciwgLmh2ci1zaHV0dGVyLW91dC1ob3Jpem9udGFsOmZvY3VzLCAuaHZyLXNodXR0ZXItb3V0LWhvcml6b250YWw6YWN0aXZlIHsNCiAgY29sb3I6IHdoaXRlOw0KfQ0KLmh2ci1zaHV0dGVyLW91dC1ob3Jpem9udGFsOmhvdmVyOmJlZm9yZSwgLmh2ci1zaHV0dGVyLW91dC1ob3Jpem9udGFsOmZvY3VzOmJlZm9yZSwgLmh2ci1zaHV0dGVyLW91dC1ob3Jpem9udGFsOmFjdGl2ZTpiZWZvcmUgew0KICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDEpOw0KICB0cmFuc2Zvcm06IHNjYWxlWCgxKTsNCn0NCg0KLyogU2h1dHRlciBJbiBWZXJ0aWNhbCAqLw0KLmh2ci1zaHV0dGVyLWluLXZlcnRpY2FsIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgYmFja2dyb3VuZDogIzIwOThkMTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjsNCiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCn0NCi5odnItc2h1dHRlci1pbi12ZXJ0aWNhbDpiZWZvcmUgew0KICBjb250ZW50OiAiIjsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB6LWluZGV4OiAtMTsNCiAgdG9wOiAwOw0KICBib3R0b206IDA7DQogIGxlZnQ6IDA7DQogIHJpZ2h0OiAwOw0KICBiYWNrZ3JvdW5kOiAjZTFlMWUxOw0KICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDEpOw0KICB0cmFuc2Zvcm06IHNjYWxlWSgxKTsNCiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCU7DQogIHRyYW5zZm9ybS1vcmlnaW46IDUwJTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KfQ0KLmh2ci1zaHV0dGVyLWluLXZlcnRpY2FsOmhvdmVyLCAuaHZyLXNodXR0ZXItaW4tdmVydGljYWw6Zm9jdXMsIC5odnItc2h1dHRlci1pbi12ZXJ0aWNhbDphY3RpdmUgew0KICBjb2xvcjogd2hpdGU7DQp9DQouaHZyLXNodXR0ZXItaW4tdmVydGljYWw6aG92ZXI6YmVmb3JlLCAuaHZyLXNodXR0ZXItaW4tdmVydGljYWw6Zm9jdXM6YmVmb3JlLCAuaHZyLXNodXR0ZXItaW4tdmVydGljYWw6YWN0aXZlOmJlZm9yZSB7DQogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMCk7DQogIHRyYW5zZm9ybTogc2NhbGVZKDApOw0KfQ0KDQovKiBTaHV0dGVyIE91dCBWZXJ0aWNhbCAqLw0KLmh2ci1zaHV0dGVyLW91dC12ZXJ0aWNhbCB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOw0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOw0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIGJhY2tncm91bmQ6ICNlMWUxZTE7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQp9DQouaHZyLXNodXR0ZXItb3V0LXZlcnRpY2FsOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICIiOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHotaW5kZXg6IC0xOw0KICB0b3A6IDA7DQogIGJvdHRvbTogMDsNCiAgbGVmdDogMDsNCiAgcmlnaHQ6IDA7DQogIGJhY2tncm91bmQ6ICMyMDk4ZDE7DQogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMCk7DQogIHRyYW5zZm9ybTogc2NhbGVZKDApOw0KICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJTsNCiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlOw0KICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsNCiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQp9DQouaHZyLXNodXR0ZXItb3V0LXZlcnRpY2FsOmhvdmVyLCAuaHZyLXNodXR0ZXItb3V0LXZlcnRpY2FsOmZvY3VzLCAuaHZyLXNodXR0ZXItb3V0LXZlcnRpY2FsOmFjdGl2ZSB7DQogIGNvbG9yOiB3aGl0ZTsNCn0NCi5odnItc2h1dHRlci1vdXQtdmVydGljYWw6aG92ZXI6YmVmb3JlLCAuaHZyLXNodXR0ZXItb3V0LXZlcnRpY2FsOmZvY3VzOmJlZm9yZSwgLmh2ci1zaHV0dGVyLW91dC12ZXJ0aWNhbDphY3RpdmU6YmVmb3JlIHsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgxKTsNCiAgdHJhbnNmb3JtOiBzY2FsZVkoMSk7DQp9DQoNCi8qIEJPUkRFUiBUUkFOU0lUSU9OUyAqLw0KLyogQm9yZGVyIEZhZGUgKi8NCi5odnItYm9yZGVyLWZhZGUgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGJveC1zaGFkb3c7DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IGJveC1zaGFkb3c7DQogIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDRweCAjZTFlMWUxLCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC8qIEhhY2sgdG8gaW1wcm92ZSBhbGlhc2luZyBvbiBtb2JpbGUvdGFibGV0IGRldmljZXMgKi8NCn0NCi5odnItYm9yZGVyLWZhZGU6aG92ZXIsIC5odnItYm9yZGVyLWZhZGU6Zm9jdXMsIC5odnItYm9yZGVyLWZhZGU6YWN0aXZlIHsNCiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgNHB4ICMyMDk4ZDEsIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLyogSGFjayB0byBpbXByb3ZlIGFsaWFzaW5nIG9uIG1vYmlsZS90YWJsZXQgZGV2aWNlcyAqLw0KfQ0KDQovKiBIb2xsb3cgKi8NCi5odnItaG9sbG93IHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kOw0KICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kOw0KICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCA0cHggI2UxZTFlMSwgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOw0KICAvKiBIYWNrIHRvIGltcHJvdmUgYWxpYXNpbmcgb24gbW9iaWxlL3RhYmxldCBkZXZpY2VzICovDQp9DQouaHZyLWhvbGxvdzpob3ZlciwgLmh2ci1ob2xsb3c6Zm9jdXMsIC5odnItaG9sbG93OmFjdGl2ZSB7DQogIGJhY2tncm91bmQ6IG5vbmU7DQp9DQoNCi8qIFRyaW0gKi8NCi5odnItdHJpbSB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOw0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOw0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQouaHZyLXRyaW06YmVmb3JlIHsNCiAgY29udGVudDogJyc7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgYm9yZGVyOiB3aGl0ZSBzb2xpZCA0cHg7DQogIHRvcDogNHB4Ow0KICBsZWZ0OiA0cHg7DQogIHJpZ2h0OiA0cHg7DQogIGJvdHRvbTogNHB4Ow0KICBvcGFjaXR5OiAwOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsNCiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsNCn0NCi5odnItdHJpbTpob3ZlcjpiZWZvcmUsIC5odnItdHJpbTpmb2N1czpiZWZvcmUsIC5odnItdHJpbTphY3RpdmU6YmVmb3JlIHsNCiAgb3BhY2l0eTogMTsNCn0NCg0KLyogUmlwcGxlIE91dCAqLw0KQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1yaXBwbGUtb3V0IHsNCiAgMTAwJSB7DQogICAgdG9wOiAtMTJweDsNCiAgICByaWdodDogLTEycHg7DQogICAgYm90dG9tOiAtMTJweDsNCiAgICBsZWZ0OiAtMTJweDsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgaHZyLXJpcHBsZS1vdXQgew0KICAxMDAlIHsNCiAgICB0b3A6IC0xMnB4Ow0KICAgIHJpZ2h0OiAtMTJweDsNCiAgICBib3R0b206IC0xMnB4Ow0KICAgIGxlZnQ6IC0xMnB4Ow0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCg0KLmh2ci1yaXBwbGUtb3V0IHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCn0NCi5odnItcmlwcGxlLW91dDpiZWZvcmUgew0KICBjb250ZW50OiAnJzsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICBib3JkZXI6ICNlMWUxZTEgc29saWQgNnB4Ow0KICB0b3A6IDA7DQogIHJpZ2h0OiAwOw0KICBib3R0b206IDA7DQogIGxlZnQ6IDA7DQogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsNCiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsNCn0NCg0KLm1lZXQtdGhlLXRlYW0gLm1lbWJlciAuc29jaWFsIGxpLmh2ci1yaXBwbGUtb3V0OmJlZm9yZSB7DQogIGJvcmRlcjogIzBmODZmZiBzb2xpZCA2cHg7DQp9DQoNCi5odnItcmlwcGxlLW91dDpob3ZlcjpiZWZvcmUsIC5odnItcmlwcGxlLW91dDpmb2N1czpiZWZvcmUsIC5odnItcmlwcGxlLW91dDphY3RpdmU6YmVmb3JlIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLXJpcHBsZS1vdXQ7DQogIGFuaW1hdGlvbi1uYW1lOiBodnItcmlwcGxlLW91dDsNCn0NCg0KLyogUmlwcGxlIEluICovDQpALXdlYmtpdC1rZXlmcmFtZXMgaHZyLXJpcHBsZS1pbiB7DQogIDEwMCUgew0KICAgIHRvcDogMDsNCiAgICByaWdodDogMDsNCiAgICBib3R0b206IDA7DQogICAgbGVmdDogMDsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgaHZyLXJpcHBsZS1pbiB7DQogIDEwMCUgew0KICAgIHRvcDogMDsNCiAgICByaWdodDogMDsNCiAgICBib3R0b206IDA7DQogICAgbGVmdDogMDsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCi5odnItcmlwcGxlLWluIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCn0NCi5odnItcmlwcGxlLWluOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICcnOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIGJvcmRlcjogI2UxZTFlMSBzb2xpZCA0cHg7DQogIHRvcDogLTEycHg7DQogIHJpZ2h0OiAtMTJweDsNCiAgYm90dG9tOiAtMTJweDsNCiAgbGVmdDogLTEycHg7DQogIG9wYWNpdHk6IDA7DQogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsNCiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsNCn0NCi5odnItcmlwcGxlLWluOmhvdmVyOmJlZm9yZSwgLmh2ci1yaXBwbGUtaW46Zm9jdXM6YmVmb3JlLCAuaHZyLXJpcHBsZS1pbjphY3RpdmU6YmVmb3JlIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLXJpcHBsZS1pbjsNCiAgYW5pbWF0aW9uLW5hbWU6IGh2ci1yaXBwbGUtaW47DQp9DQoNCi8qIE91dGxpbmUgT3V0ICovDQouaHZyLW91dGxpbmUtb3V0IHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCn0NCi5odnItb3V0bGluZS1vdXQ6YmVmb3JlIHsNCiAgY29udGVudDogJyc7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgYm9yZGVyOiAjZTFlMWUxIHNvbGlkIDRweDsNCiAgdG9wOiAwOw0KICByaWdodDogMDsNCiAgYm90dG9tOiAwOw0KICBsZWZ0OiAwOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdG9wLCByaWdodCwgYm90dG9tLCBsZWZ0Ow0KICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQ7DQp9DQouaHZyLW91dGxpbmUtb3V0OmhvdmVyOmJlZm9yZSwgLmh2ci1vdXRsaW5lLW91dDpmb2N1czpiZWZvcmUsIC5odnItb3V0bGluZS1vdXQ6YWN0aXZlOmJlZm9yZSB7DQogIHRvcDogLThweDsNCiAgcmlnaHQ6IC04cHg7DQogIGJvdHRvbTogLThweDsNCiAgbGVmdDogLThweDsNCn0NCg0KLyogT3V0bGluZSBJbiAqLw0KLmh2ci1vdXRsaW5lLWluIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCn0NCi5odnItb3V0bGluZS1pbjpiZWZvcmUgew0KICBwb2ludGVyLWV2ZW50czogbm9uZTsNCiAgY29udGVudDogJyc7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgYm9yZGVyOiAjZTFlMWUxIHNvbGlkIDRweDsNCiAgdG9wOiAtMTZweDsNCiAgcmlnaHQ6IC0xNnB4Ow0KICBib3R0b206IC0xNnB4Ow0KICBsZWZ0OiAtMTZweDsNCiAgb3BhY2l0eTogMDsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdDsNCiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdG9wLCByaWdodCwgYm90dG9tLCBsZWZ0Ow0KfQ0KLmh2ci1vdXRsaW5lLWluOmhvdmVyOmJlZm9yZSwgLmh2ci1vdXRsaW5lLWluOmZvY3VzOmJlZm9yZSwgLmh2ci1vdXRsaW5lLWluOmFjdGl2ZTpiZWZvcmUgew0KICB0b3A6IC04cHg7DQogIHJpZ2h0OiAtOHB4Ow0KICBib3R0b206IC04cHg7DQogIGxlZnQ6IC04cHg7DQogIG9wYWNpdHk6IDE7DQp9DQoNCi8qIFJvdW5kIENvcm5lcnMgKi8NCi5odnItcm91bmQtY29ybmVycyB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOw0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm9yZGVyLXJhZGl1czsNCiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm9yZGVyLXJhZGl1czsNCn0NCi5odnItcm91bmQtY29ybmVyczpob3ZlciwgLmh2ci1yb3VuZC1jb3JuZXJzOmZvY3VzLCAuaHZyLXJvdW5kLWNvcm5lcnM6YWN0aXZlIHsNCiAgYm9yZGVyLXJhZGl1czogMWVtOw0KfQ0KDQovKiBVbmRlcmxpbmUgRnJvbSBMZWZ0ICovDQouaHZyLXVuZGVybGluZS1mcm9tLWxlZnQgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICBvdmVyZmxvdzogaGlkZGVuOw0KfQ0KLmh2ci11bmRlcmxpbmUtZnJvbS1sZWZ0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICIiOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHotaW5kZXg6IC0xOw0KICBsZWZ0OiAwOw0KICByaWdodDogMTAwJTsNCiAgYm90dG9tOiAwOw0KICBiYWNrZ3JvdW5kOiAjMjA5OGQxOw0KICBoZWlnaHQ6IDRweDsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiByaWdodDsNCiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogcmlnaHQ7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCn0NCi5odnItdW5kZXJsaW5lLWZyb20tbGVmdDpob3ZlcjpiZWZvcmUsIC5odnItdW5kZXJsaW5lLWZyb20tbGVmdDpmb2N1czpiZWZvcmUsIC5odnItdW5kZXJsaW5lLWZyb20tbGVmdDphY3RpdmU6YmVmb3JlIHsNCiAgcmlnaHQ6IDA7DQp9DQoNCi8qIFVuZGVybGluZSBGcm9tIENlbnRlciAqLw0KLmh2ci11bmRlcmxpbmUtZnJvbS1jZW50ZXIgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICBvdmVyZmxvdzogaGlkZGVuOw0KfQ0KLmh2ci11bmRlcmxpbmUtZnJvbS1jZW50ZXI6YmVmb3JlIHsNCiAgY29udGVudDogIiI7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgei1pbmRleDogLTE7DQogIGxlZnQ6IDUwJTsNCiAgcmlnaHQ6IDUwJTsNCiAgYm90dG9tOiAwOw0KICBiYWNrZ3JvdW5kOiAjMjA5OGQxOw0KICBoZWlnaHQ6IDRweDsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBsZWZ0LCByaWdodDsNCiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogbGVmdCwgcmlnaHQ7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCn0NCi5odnItdW5kZXJsaW5lLWZyb20tY2VudGVyOmhvdmVyOmJlZm9yZSwgLmh2ci11bmRlcmxpbmUtZnJvbS1jZW50ZXI6Zm9jdXM6YmVmb3JlLCAuaHZyLXVuZGVybGluZS1mcm9tLWNlbnRlcjphY3RpdmU6YmVmb3JlIHsNCiAgbGVmdDogMDsNCiAgcmlnaHQ6IDA7DQp9DQoNCi8qIFVuZGVybGluZSBGcm9tIFJpZ2h0ICovDQouaHZyLXVuZGVybGluZS1mcm9tLXJpZ2h0IHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgb3ZlcmZsb3c6IGhpZGRlbjsNCn0NCi5odnItdW5kZXJsaW5lLWZyb20tcmlnaHQ6YmVmb3JlIHsNCiAgY29udGVudDogIiI7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgei1pbmRleDogLTE7DQogIGxlZnQ6IDEwMCU7DQogIHJpZ2h0OiAwOw0KICBib3R0b206IDA7DQogIGJhY2tncm91bmQ6ICMyMDk4ZDE7DQogIGhlaWdodDogNHB4Ow0KICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQ7DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQ7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCn0NCi5odnItdW5kZXJsaW5lLWZyb20tcmlnaHQ6aG92ZXI6YmVmb3JlLCAuaHZyLXVuZGVybGluZS1mcm9tLXJpZ2h0OmZvY3VzOmJlZm9yZSwgLmh2ci11bmRlcmxpbmUtZnJvbS1yaWdodDphY3RpdmU6YmVmb3JlIHsNCiAgbGVmdDogMDsNCn0NCg0KLyogT3ZlcmxpbmUgRnJvbSBMZWZ0ICovDQouaHZyLW92ZXJsaW5lLWZyb20tbGVmdCB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOw0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOw0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIG92ZXJmbG93OiBoaWRkZW47DQp9DQouaHZyLW92ZXJsaW5lLWZyb20tbGVmdDpiZWZvcmUgew0KICBjb250ZW50OiAiIjsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB6LWluZGV4OiAtMTsNCiAgbGVmdDogMDsNCiAgcmlnaHQ6IDEwMCU7DQogIHRvcDogMDsNCiAgYmFja2dyb3VuZDogIzIwOThkMTsNCiAgaGVpZ2h0OiA0cHg7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogcmlnaHQ7DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IHJpZ2h0Ow0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQp9DQouaHZyLW92ZXJsaW5lLWZyb20tbGVmdDpob3ZlcjpiZWZvcmUsIC5odnItb3ZlcmxpbmUtZnJvbS1sZWZ0OmZvY3VzOmJlZm9yZSwgLmh2ci1vdmVybGluZS1mcm9tLWxlZnQ6YWN0aXZlOmJlZm9yZSB7DQogIHJpZ2h0OiAwOw0KfQ0KDQovKiBPdmVybGluZSBGcm9tIENlbnRlciAqLw0KLmh2ci1vdmVybGluZS1mcm9tLWNlbnRlciB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOw0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOw0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIG92ZXJmbG93OiBoaWRkZW47DQp9DQouaHZyLW92ZXJsaW5lLWZyb20tY2VudGVyOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICIiOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHotaW5kZXg6IC0xOw0KICBsZWZ0OiA1MCU7DQogIHJpZ2h0OiA1MCU7DQogIHRvcDogMDsNCiAgYmFja2dyb3VuZDogIzIwOThkMTsNCiAgaGVpZ2h0OiA0cHg7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogbGVmdCwgcmlnaHQ7DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQsIHJpZ2h0Ow0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQp9DQouaHZyLW92ZXJsaW5lLWZyb20tY2VudGVyOmhvdmVyOmJlZm9yZSwgLmh2ci1vdmVybGluZS1mcm9tLWNlbnRlcjpmb2N1czpiZWZvcmUsIC5odnItb3ZlcmxpbmUtZnJvbS1jZW50ZXI6YWN0aXZlOmJlZm9yZSB7DQogIGxlZnQ6IDA7DQogIHJpZ2h0OiAwOw0KfQ0KDQovKiBPdmVybGluZSBGcm9tIFJpZ2h0ICovDQouaHZyLW92ZXJsaW5lLWZyb20tcmlnaHQgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICBvdmVyZmxvdzogaGlkZGVuOw0KfQ0KLmh2ci1vdmVybGluZS1mcm9tLXJpZ2h0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICIiOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHotaW5kZXg6IC0xOw0KICBsZWZ0OiAxMDAlOw0KICByaWdodDogMDsNCiAgdG9wOiAwOw0KICBiYWNrZ3JvdW5kOiAjMjA5OGQxOw0KICBoZWlnaHQ6IDRweDsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBsZWZ0Ow0KICB0cmFuc2l0aW9uLXByb3BlcnR5OiBsZWZ0Ow0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQp9DQouaHZyLW92ZXJsaW5lLWZyb20tcmlnaHQ6aG92ZXI6YmVmb3JlLCAuaHZyLW92ZXJsaW5lLWZyb20tcmlnaHQ6Zm9jdXM6YmVmb3JlLCAuaHZyLW92ZXJsaW5lLWZyb20tcmlnaHQ6YWN0aXZlOmJlZm9yZSB7DQogIGxlZnQ6IDA7DQp9DQoNCi8qIFJldmVhbCAqLw0KLmh2ci1yZXZlYWwgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICBvdmVyZmxvdzogaGlkZGVuOw0KfQ0KLmh2ci1yZXZlYWw6YmVmb3JlIHsNCiAgY29udGVudDogIiI7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgei1pbmRleDogLTE7DQogIGxlZnQ6IDA7DQogIHJpZ2h0OiAwOw0KICB0b3A6IDA7DQogIGJvdHRvbTogMDsNCiAgYm9yZGVyLWNvbG9yOiAjMjA5OGQxOw0KICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICBib3JkZXItd2lkdGg6IDA7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm9yZGVyLXdpZHRoOw0KICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3JkZXItd2lkdGg7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xczsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCn0NCi5odnItcmV2ZWFsOmhvdmVyOmJlZm9yZSwgLmh2ci1yZXZlYWw6Zm9jdXM6YmVmb3JlLCAuaHZyLXJldmVhbDphY3RpdmU6YmVmb3JlIHsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgYm9yZGVyLXdpZHRoOiA0cHg7DQp9DQoNCi8qIFVuZGVybGluZSBSZXZlYWwgKi8NCi5odnItdW5kZXJsaW5lLXJldmVhbCB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOw0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOw0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIG92ZXJmbG93OiBoaWRkZW47DQp9DQouaHZyLXVuZGVybGluZS1yZXZlYWw6YmVmb3JlIHsNCiAgY29udGVudDogIiI7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgei1pbmRleDogLTE7DQogIGxlZnQ6IDA7DQogIHJpZ2h0OiAwOw0KICBib3R0b206IDA7DQogIGJhY2tncm91bmQ6ICMyMDk4ZDE7DQogIGhlaWdodDogNHB4Ow0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KfQ0KLmh2ci11bmRlcmxpbmUtcmV2ZWFsOmhvdmVyOmJlZm9yZSwgLmh2ci11bmRlcmxpbmUtcmV2ZWFsOmZvY3VzOmJlZm9yZSwgLmh2ci11bmRlcmxpbmUtcmV2ZWFsOmFjdGl2ZTpiZWZvcmUgew0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KfQ0KDQovKiBPdmVybGluZSBSZXZlYWwgKi8NCi5odnItb3ZlcmxpbmUtcmV2ZWFsIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgb3ZlcmZsb3c6IGhpZGRlbjsNCn0NCi5odnItb3ZlcmxpbmUtcmV2ZWFsOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICIiOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHotaW5kZXg6IC0xOw0KICBsZWZ0OiAwOw0KICByaWdodDogMDsNCiAgdG9wOiAwOw0KICBiYWNrZ3JvdW5kOiAjMjA5OGQxOw0KICBoZWlnaHQ6IDRweDsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KfQ0KLmh2ci1vdmVybGluZS1yZXZlYWw6aG92ZXI6YmVmb3JlLCAuaHZyLW92ZXJsaW5lLXJldmVhbDpmb2N1czpiZWZvcmUsIC5odnItb3ZlcmxpbmUtcmV2ZWFsOmFjdGl2ZTpiZWZvcmUgew0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KfQ0KDQovKiBTSEFET1cvR0xPVyBUUkFOU0lUSU9OUyAqLw0KLyogR2xvdyAqLw0KLmh2ci1nbG93IHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBib3gtc2hhZG93Ow0KICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3gtc2hhZG93Ow0KfQ0KLmh2ci1nbG93OmhvdmVyLCAuaHZyLWdsb3c6Zm9jdXMsIC5odnItZ2xvdzphY3RpdmUgew0KICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KTsNCn0NCg0KLyogU2hhZG93ICovDQouaHZyLXNoYWRvdyB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOw0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm94LXNoYWRvdzsNCiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm94LXNoYWRvdzsNCn0NCi5odnItc2hhZG93OmhvdmVyLCAuaHZyLXNoYWRvdzpmb2N1cywgLmh2ci1zaGFkb3c6YWN0aXZlIHsNCiAgYm94LXNoYWRvdzogMCAxMHB4IDEwcHggLTEwcHggcmdiYSgwLCAwLCAwLCAwLjUpOw0KfQ0KDQovKiBHcm93IFNoYWRvdyAqLw0KLmh2ci1ncm93LXNoYWRvdyB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOw0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm94LXNoYWRvdywgdHJhbnNmb3JtOw0KICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3gtc2hhZG93LCB0cmFuc2Zvcm07DQp9DQouaHZyLWdyb3ctc2hhZG93OmhvdmVyLCAuaHZyLWdyb3ctc2hhZG93OmZvY3VzLCAuaHZyLWdyb3ctc2hhZG93OmFjdGl2ZSB7DQogIGJveC1zaGFkb3c6IDAgMTBweCAxMHB4IC0xMHB4IHJnYmEoMCwgMCwgMCwgMC41KTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7DQogIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsNCn0NCg0KLyogQm94IFNoYWRvdyBPdXRzZXQgKi8NCi5odnItYm94LXNoYWRvdy1vdXRzZXQgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGJveC1zaGFkb3c7DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IGJveC1zaGFkb3c7DQp9DQouaHZyLWJveC1zaGFkb3ctb3V0c2V0OmhvdmVyLCAuaHZyLWJveC1zaGFkb3ctb3V0c2V0OmZvY3VzLCAuaHZyLWJveC1zaGFkb3ctb3V0c2V0OmFjdGl2ZSB7DQogIGJveC1zaGFkb3c6IDJweCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTsNCn0NCg0KLyogQm94IFNoYWRvdyBJbnNldCAqLw0KLmh2ci1ib3gtc2hhZG93LWluc2V0IHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBib3gtc2hhZG93Ow0KICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3gtc2hhZG93Ow0KICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCByZ2JhKDAsIDAsIDAsIDAuNiksIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLyogSGFjayB0byBpbXByb3ZlIGFsaWFzaW5nIG9uIG1vYmlsZS90YWJsZXQgZGV2aWNlcyAqLw0KfQ0KLmh2ci1ib3gtc2hhZG93LWluc2V0OmhvdmVyLCAuaHZyLWJveC1zaGFkb3ctaW5zZXQ6Zm9jdXMsIC5odnItYm94LXNoYWRvdy1pbnNldDphY3RpdmUgew0KICBib3gtc2hhZG93OiBpbnNldCAycHggMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNiksIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLyogSGFjayB0byBpbXByb3ZlIGFsaWFzaW5nIG9uIG1vYmlsZS90YWJsZXQgZGV2aWNlcyAqLw0KfQ0KDQovKiBGbG9hdCBTaGFkb3cgKi8NCi5odnItZmxvYXQtc2hhZG93IHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsNCiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KfQ0KLmh2ci1mbG9hdC1zaGFkb3c6YmVmb3JlIHsNCiAgcG9pbnRlci1ldmVudHM6IG5vbmU7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgei1pbmRleDogLTE7DQogIGNvbnRlbnQ6ICcnOw0KICB0b3A6IDEwMCU7DQogIGxlZnQ6IDUlOw0KICBoZWlnaHQ6IDEwcHg7DQogIHdpZHRoOiA5MCU7DQogIG9wYWNpdHk6IDA7DQogIGJhY2tncm91bmQ6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSwgcmdiYSgwLCAwLCAwLCAwLjM1KSAwJSwgcmdiYSgwLCAwLCAwLCAwKSA4MCUpOw0KICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCBjZW50ZXIsIHJnYmEoMCwgMCwgMCwgMC4zNSkgMCUsIHJnYmEoMCwgMCwgMCwgMCkgODAlKTsNCiAgLyogVzNDICovDQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTsNCn0NCg0KLmh2ci1mbG9hdC1zaGFkb3c6aG92ZXIsIC5odnItZmxvYXQtc2hhZG93OmZvY3VzLCAuaHZyLWZsb2F0LXNoYWRvdzphY3RpdmUgew0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpOw0KICAvKiBtb3ZlIHRoZSBlbGVtZW50IHVwIGJ5IDVweCAqLw0KfQ0KLmh2ci1mbG9hdC1zaGFkb3c6aG92ZXI6YmVmb3JlLCAuaHZyLWZsb2F0LXNoYWRvdzpmb2N1czpiZWZvcmUsIC5odnItZmxvYXQtc2hhZG93OmFjdGl2ZTpiZWZvcmUgew0KICBvcGFjaXR5OiAxOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg1cHgpOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNXB4KTsNCiAgLyogbW92ZSB0aGUgZWxlbWVudCBkb3duIGJ5IDVweCAoaXQgd2lsbCBzdGF5IGluIHBsYWNlIGJlY2F1c2UgaXQncyBhdHRhY2hlZCB0byB0aGUgZWxlbWVudCB0aGF0IGFsc28gbW92ZXMgdXAgNXB4KSAqLw0KfQ0KDQovKiBTaGFkb3cgUmFkaWFsICovDQouaHZyLXNoYWRvdy1yYWRpYWwgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KLmh2ci1zaGFkb3ctcmFkaWFsOmJlZm9yZSwgLmh2ci1zaGFkb3ctcmFkaWFsOmFmdGVyIHsNCiAgcG9pbnRlci1ldmVudHM6IG5vbmU7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgY29udGVudDogJyc7DQogIGxlZnQ6IDA7DQogIHdpZHRoOiAxMDAlOw0KICBib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0Ow0KICBoZWlnaHQ6IDVweDsNCiAgb3BhY2l0eTogMDsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7DQp9DQouaHZyLXNoYWRvdy1yYWRpYWw6YmVmb3JlIHsNCiAgYm90dG9tOiAxMDAlOw0KICBiYWNrZ3JvdW5kOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudCg1MCUgMTUwJSwgZWxsaXBzZSwgcmdiYSgwLCAwLCAwLCAwLjYpIDAlLCByZ2JhKDAsIDAsIDAsIDApIDgwJSk7DQogIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IDUwJSAxNTAlLCByZ2JhKDAsIDAsIDAsIDAuNikgMCUsIHJnYmEoMCwgMCwgMCwgMCkgODAlKTsNCn0NCi5odnItc2hhZG93LXJhZGlhbDphZnRlciB7DQogIHRvcDogMTAwJTsNCiAgYmFja2dyb3VuZDogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoNTAlIC01MCUsIGVsbGlwc2UsIHJnYmEoMCwgMCwgMCwgMC42KSAwJSwgcmdiYSgwLCAwLCAwLCAwKSA4MCUpOw0KICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCA1MCUgLTUwJSwgcmdiYSgwLCAwLCAwLCAwLjYpIDAlLCByZ2JhKDAsIDAsIDAsIDApIDgwJSk7DQp9DQouaHZyLXNoYWRvdy1yYWRpYWw6aG92ZXI6YmVmb3JlLCAuaHZyLXNoYWRvdy1yYWRpYWw6Zm9jdXM6YmVmb3JlLCAuaHZyLXNoYWRvdy1yYWRpYWw6YWN0aXZlOmJlZm9yZSwgLmh2ci1zaGFkb3ctcmFkaWFsOmhvdmVyOmFmdGVyLCAuaHZyLXNoYWRvdy1yYWRpYWw6Zm9jdXM6YWZ0ZXIsIC5odnItc2hhZG93LXJhZGlhbDphY3RpdmU6YWZ0ZXIgew0KICBvcGFjaXR5OiAxOw0KfQ0KDQovKiBTUEVFQ0ggQlVCQkxFUyAqLw0KLyogQnViYmxlIFRvcCAqLw0KLmh2ci1idWJibGUtdG9wIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCn0NCi5odnItYnViYmxlLXRvcDpiZWZvcmUgew0KICBwb2ludGVyLWV2ZW50czogbm9uZTsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB6LWluZGV4OiAtMTsNCiAgY29udGVudDogJyc7DQogIGJvcmRlci1zdHlsZTogc29saWQ7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsNCiAgbGVmdDogY2FsYyg1MCUgLSAxMHB4KTsNCiAgdG9wOiAwOw0KICBib3JkZXItd2lkdGg6IDAgMTBweCAxMHB4IDEwcHg7DQogIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2UxZTFlMSB0cmFuc3BhcmVudDsNCn0NCi5odnItYnViYmxlLXRvcDpob3ZlcjpiZWZvcmUsIC5odnItYnViYmxlLXRvcDpmb2N1czpiZWZvcmUsIC5odnItYnViYmxlLXRvcDphY3RpdmU6YmVmb3JlIHsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOw0KfQ0KDQovKiBCdWJibGUgUmlnaHQgKi8NCi5odnItYnViYmxlLXJpZ2h0IHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCn0NCi5odnItYnViYmxlLXJpZ2h0OmJlZm9yZSB7DQogIHBvaW50ZXItZXZlbnRzOiBub25lOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHotaW5kZXg6IC0xOw0KICBjb250ZW50OiAnJzsNCiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsNCiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KICB0b3A6IGNhbGMoNTAlIC0gMTBweCk7DQogIHJpZ2h0OiAwOw0KICBib3JkZXItd2lkdGg6IDEwcHggMCAxMHB4IDEwcHg7DQogIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2UxZTFlMTsNCn0NCi5odnItYnViYmxlLXJpZ2h0OmhvdmVyOmJlZm9yZSwgLmh2ci1idWJibGUtcmlnaHQ6Zm9jdXM6YmVmb3JlLCAuaHZyLWJ1YmJsZS1yaWdodDphY3RpdmU6YmVmb3JlIHsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsNCn0NCg0KLyogQnViYmxlIEJvdHRvbSAqLw0KLmh2ci1idWJibGUtYm90dG9tIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCn0NCi5odnItYnViYmxlLWJvdHRvbTpiZWZvcmUgew0KICBwb2ludGVyLWV2ZW50czogbm9uZTsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB6LWluZGV4OiAtMTsNCiAgY29udGVudDogJyc7DQogIGJvcmRlci1zdHlsZTogc29saWQ7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsNCiAgbGVmdDogY2FsYyg1MCUgLSAxMHB4KTsNCiAgYm90dG9tOiAwOw0KICBib3JkZXItd2lkdGg6IDEwcHggMTBweCAwIDEwcHg7DQogIGJvcmRlci1jb2xvcjogI2UxZTFlMSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsNCn0NCi5odnItYnViYmxlLWJvdHRvbTpob3ZlcjpiZWZvcmUsIC5odnItYnViYmxlLWJvdHRvbTpmb2N1czpiZWZvcmUsIC5odnItYnViYmxlLWJvdHRvbTphY3RpdmU6YmVmb3JlIHsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsNCn0NCg0KLyogQnViYmxlIExlZnQgKi8NCi5odnItYnViYmxlLWxlZnQgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KLmh2ci1idWJibGUtbGVmdDpiZWZvcmUgew0KICBwb2ludGVyLWV2ZW50czogbm9uZTsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB6LWluZGV4OiAtMTsNCiAgY29udGVudDogJyc7DQogIGJvcmRlci1zdHlsZTogc29saWQ7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsNCiAgdG9wOiBjYWxjKDUwJSAtIDEwcHgpOw0KICBsZWZ0OiAwOw0KICBib3JkZXItd2lkdGg6IDEwcHggMTBweCAxMHB4IDA7DQogIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2UxZTFlMSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsNCn0NCi5odnItYnViYmxlLWxlZnQ6aG92ZXI6YmVmb3JlLCAuaHZyLWJ1YmJsZS1sZWZ0OmZvY3VzOmJlZm9yZSwgLmh2ci1idWJibGUtbGVmdDphY3RpdmU6YmVmb3JlIHsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOw0KfQ0KDQovKiBCdWJibGUgRmxvYXQgVG9wICovDQouaHZyLWJ1YmJsZS1mbG9hdC10b3Agew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQp9DQouaHZyLWJ1YmJsZS1mbG9hdC10b3A6YmVmb3JlIHsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB6LWluZGV4OiAtMTsNCiAgY29udGVudDogJyc7DQogIGxlZnQ6IGNhbGMoNTAlIC0gMTBweCk7DQogIHRvcDogMDsNCiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgYm9yZGVyLXdpZHRoOiAwIDEwcHggMTBweCAxMHB4Ow0KICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNlMWUxZTEgdHJhbnNwYXJlbnQ7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsNCn0NCi5odnItYnViYmxlLWZsb2F0LXRvcDpob3ZlciwgLmh2ci1idWJibGUtZmxvYXQtdG9wOmZvY3VzLCAuaHZyLWJ1YmJsZS1mbG9hdC10b3A6YWN0aXZlIHsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsNCn0NCi5odnItYnViYmxlLWZsb2F0LXRvcDpob3ZlcjpiZWZvcmUsIC5odnItYnViYmxlLWZsb2F0LXRvcDpmb2N1czpiZWZvcmUsIC5odnItYnViYmxlLWZsb2F0LXRvcDphY3RpdmU6YmVmb3JlIHsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOw0KfQ0KDQovKiBCdWJibGUgRmxvYXQgUmlnaHQgKi8NCi5odnItYnViYmxlLWZsb2F0LXJpZ2h0IHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsNCiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KfQ0KLmh2ci1idWJibGUtZmxvYXQtcmlnaHQ6YmVmb3JlIHsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICB6LWluZGV4OiAtMTsNCiAgdG9wOiBjYWxjKDUwJSAtIDEwcHgpOw0KICByaWdodDogMDsNCiAgY29udGVudDogJyc7DQogIGJvcmRlci1zdHlsZTogc29saWQ7DQogIGJvcmRlci13aWR0aDogMTBweCAwIDEwcHggMTBweDsNCiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZTFlMWUxOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQp9DQouaHZyLWJ1YmJsZS1mbG9hdC1yaWdodDpob3ZlciwgLmh2ci1idWJibGUtZmxvYXQtcmlnaHQ6Zm9jdXMsIC5odnItYnViYmxlLWZsb2F0LXJpZ2h0OmFjdGl2ZSB7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsNCn0NCi5odnItYnViYmxlLWZsb2F0LXJpZ2h0OmhvdmVyOmJlZm9yZSwgLmh2ci1idWJibGUtZmxvYXQtcmlnaHQ6Zm9jdXM6YmVmb3JlLCAuaHZyLWJ1YmJsZS1mbG9hdC1yaWdodDphY3RpdmU6YmVmb3JlIHsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsNCn0NCg0KLyogQnViYmxlIEZsb2F0IEJvdHRvbSAqLw0KLmh2ci1idWJibGUtZmxvYXQtYm90dG9tIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsNCiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KfQ0KLmh2ci1idWJibGUtZmxvYXQtYm90dG9tOmJlZm9yZSB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgei1pbmRleDogLTE7DQogIGNvbnRlbnQ6ICcnOw0KICBsZWZ0OiBjYWxjKDUwJSAtIDEwcHgpOw0KICBib3R0b206IDA7DQogIGJvcmRlci1zdHlsZTogc29saWQ7DQogIGJvcmRlci13aWR0aDogMTBweCAxMHB4IDAgMTBweDsNCiAgYm9yZGVyLWNvbG9yOiAjZTFlMWUxIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50Ow0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQp9DQouaHZyLWJ1YmJsZS1mbG9hdC1ib3R0b206aG92ZXIsIC5odnItYnViYmxlLWZsb2F0LWJvdHRvbTpmb2N1cywgLmh2ci1idWJibGUtZmxvYXQtYm90dG9tOmFjdGl2ZSB7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsNCn0NCi5odnItYnViYmxlLWZsb2F0LWJvdHRvbTpob3ZlcjpiZWZvcmUsIC5odnItYnViYmxlLWZsb2F0LWJvdHRvbTpmb2N1czpiZWZvcmUsIC5odnItYnViYmxlLWZsb2F0LWJvdHRvbTphY3RpdmU6YmVmb3JlIHsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsNCn0NCg0KLyogQnViYmxlIEZsb2F0IExlZnQgKi8NCi5odnItYnViYmxlLWZsb2F0LWxlZnQgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQp9DQouaHZyLWJ1YmJsZS1mbG9hdC1sZWZ0OmJlZm9yZSB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgei1pbmRleDogLTE7DQogIGNvbnRlbnQ6ICcnOw0KICB0b3A6IGNhbGMoNTAlIC0gMTBweCk7DQogIGxlZnQ6IDA7DQogIGJvcmRlci1zdHlsZTogc29saWQ7DQogIGJvcmRlci13aWR0aDogMTBweCAxMHB4IDEwcHggMDsNCiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZTFlMWUxIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50Ow0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQp9DQouaHZyLWJ1YmJsZS1mbG9hdC1sZWZ0OmhvdmVyLCAuaHZyLWJ1YmJsZS1mbG9hdC1sZWZ0OmZvY3VzLCAuaHZyLWJ1YmJsZS1mbG9hdC1sZWZ0OmFjdGl2ZSB7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7DQp9DQouaHZyLWJ1YmJsZS1mbG9hdC1sZWZ0OmhvdmVyOmJlZm9yZSwgLmh2ci1idWJibGUtZmxvYXQtbGVmdDpmb2N1czpiZWZvcmUsIC5odnItYnViYmxlLWZsb2F0LWxlZnQ6YWN0aXZlOmJlZm9yZSB7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsNCn0NCg0KLyogSUNPTlMgKi8NCi8qIEljb24gQmFjayAqLw0KLmh2ci1pY29uLWJhY2sgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICBwYWRkaW5nLWxlZnQ6IDIuMmVtOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuMXM7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMXM7DQp9DQouaHZyLWljb24tYmFjazpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMzciOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIGxlZnQ6IDFlbTsNCiAgcGFkZGluZzogMCAxcHg7DQogIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFzOw0KICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFzOw0KICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsNCiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KfQ0KLmh2ci1pY29uLWJhY2s6aG92ZXI6YmVmb3JlLCAuaHZyLWljb24tYmFjazpmb2N1czpiZWZvcmUsIC5odnItaWNvbi1iYWNrOmFjdGl2ZTpiZWZvcmUgew0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNHB4KTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00cHgpOw0KfQ0KDQovKiBJY29uIEZvcndhcmQgKi8NCi5odnItaWNvbi1mb3J3YXJkIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgcGFkZGluZy1yaWdodDogMi4yZW07DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xczsNCn0NCi5odnItaWNvbi1mb3J3YXJkOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjEzOCI7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgcmlnaHQ6IDFlbTsNCiAgcGFkZGluZzogMCAxcHg7DQogIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFzOw0KICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFzOw0KICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsNCiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KfQ0KLmh2ci1pY29uLWZvcndhcmQ6aG92ZXI6YmVmb3JlLCAuaHZyLWljb24tZm9yd2FyZDpmb2N1czpiZWZvcmUsIC5odnItaWNvbi1mb3J3YXJkOmFjdGl2ZTpiZWZvcmUgew0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTsNCn0NCg0KLyogSWNvbiBEb3duICovDQpALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24tZG93biB7DQogIDAlLA0KICA1MCUsDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KDQogIDI1JSwNCiAgNzUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgaHZyLWljb24tZG93biB7DQogIDAlLA0KICA1MCUsDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KDQogIDI1JSwNCiAgNzUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpOw0KICB9DQp9DQoNCi8qIEljb24gRG93biAqLw0KLmh2ci1pY29uLWRvd24gew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICBwYWRkaW5nLXJpZ2h0OiAyLjJlbTsNCn0NCi5odnItaWNvbi1kb3duOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAxYSI7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgcmlnaHQ6IDFlbTsNCiAgcGFkZGluZzogMCAxcHg7DQogIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCn0NCi5odnItaWNvbi1kb3duOmhvdmVyOmJlZm9yZSwgLmh2ci1pY29uLWRvd246Zm9jdXM6YmVmb3JlLCAuaHZyLWljb24tZG93bjphY3RpdmU6YmVmb3JlIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLWljb24tZG93bjsNCiAgYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLWRvd247DQogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1czsNCiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1czsNCiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQp9DQoNCi8qIEljb24gVXAgKi8NCkAtd2Via2l0LWtleWZyYW1lcyBodnItaWNvbi11cCB7DQogIDAlLA0KICA1MCUsDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KDQogIDI1JSwNCiAgNzUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBodnItaWNvbi11cCB7DQogIDAlLA0KICA1MCUsDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KDQogIDI1JSwNCiAgNzUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7DQogIH0NCn0NCg0KLyogSWNvbiBVcCAqLw0KLmh2ci1pY29uLXVwIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgcGFkZGluZy1yaWdodDogMi4yZW07DQp9DQouaHZyLWljb24tdXA6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDFiIjsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICByaWdodDogMWVtOw0KICBwYWRkaW5nOiAwIDFweDsNCiAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KfQ0KLmh2ci1pY29uLXVwOmhvdmVyOmJlZm9yZSwgLmh2ci1pY29uLXVwOmZvY3VzOmJlZm9yZSwgLmh2ci1pY29uLXVwOmFjdGl2ZTpiZWZvcmUgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi11cDsNCiAgYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLXVwOw0KICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC43NXM7DQogIGFuaW1hdGlvbi1kdXJhdGlvbjogMC43NXM7DQogIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KfQ0KDQovKiBJY29uIFNwaW4gKi8NCi5odnItaWNvbi1zcGluIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgcGFkZGluZy1yaWdodDogMi4yZW07DQp9DQouaHZyLWljb24tc3BpbjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMjEiOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHJpZ2h0OiAxZW07DQogIHBhZGRpbmc6IDAgMXB4Ow0KICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMXM7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDFzOw0KICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsNCiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsNCiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0Ow0KfQ0KLmh2ci1pY29uLXNwaW46aG92ZXI6YmVmb3JlLCAuaHZyLWljb24tc3Bpbjpmb2N1czpiZWZvcmUsIC5odnItaWNvbi1zcGluOmFjdGl2ZTpiZWZvcmUgew0KICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7DQogIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7DQp9DQoNCi8qIEljb24gRHJvcCAqLw0KQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLWRyb3Agew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KDQogIDUwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsNCiAgfQ0KDQogIDUxJSwNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGh2ci1pY29uLWRyb3Agew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KDQogIDUwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsNCiAgfQ0KDQogIDUxJSwNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQovKiBJY29uIERyb3AgKi8NCi5odnItaWNvbi1kcm9wIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgcGFkZGluZy1yaWdodDogMi4yZW07DQp9DQouaHZyLWljb24tZHJvcDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNDEiOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHJpZ2h0OiAxZW07DQogIG9wYWNpdHk6IDE7DQogIHBhZGRpbmc6IDAgMXB4Ow0KICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQp9DQouaHZyLWljb24tZHJvcDpob3ZlcjpiZWZvcmUsIC5odnItaWNvbi1kcm9wOmZvY3VzOmJlZm9yZSwgLmh2ci1pY29uLWRyb3A6YWN0aXZlOmJlZm9yZSB7DQogIG9wYWNpdHk6IDA7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLWljb24tZHJvcDsNCiAgYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLWRyb3A7DQogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzOw0KICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7DQogIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwLjNzOw0KICBhbmltYXRpb24tZGVsYXk6IDAuM3M7DQogIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7DQogIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzOw0KICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0Ow0KICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsNCiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41MiwgMS42NCwgMC4zNywgMC42Nik7DQogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUyLCAxLjY0LCAwLjM3LCAwLjY2KTsNCn0NCg0KLyogSWNvbiBGYWRlICovDQouaHZyLWljb24tZmFkZSB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOw0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOw0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIHBhZGRpbmctcmlnaHQ6IDIuMmVtOw0KfQ0KLmh2ci1pY29uLWZhZGU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDBjIjsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICByaWdodDogMWVtOw0KICBwYWRkaW5nOiAwIDFweDsNCiAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yOw0KfQ0KLmh2ci1pY29uLWZhZGU6aG92ZXI6YmVmb3JlLCAuaHZyLWljb24tZmFkZTpmb2N1czpiZWZvcmUsIC5odnItaWNvbi1mYWRlOmFjdGl2ZTpiZWZvcmUgew0KICBjb2xvcjogIzBGOUU1RTsNCn0NCg0KLyogSWNvbiBGbG9hdCBBd2F5ICovDQpALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24tZmxvYXQtYXdheSB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMWVtKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFlbSk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBodnItaWNvbi1mbG9hdC1hd2F5IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xZW0pOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMWVtKTsNCiAgfQ0KfQ0KDQovKiBJY29uIEZsb2F0IEF3YXkgKi8NCi5odnItaWNvbi1mbG9hdC1hd2F5IHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgcGFkZGluZy1yaWdodDogMi4yZW07DQp9DQouaHZyLWljb24tZmxvYXQtYXdheTpiZWZvcmUsIC5odnItaWNvbi1mbG9hdC1hd2F5OmFmdGVyIHsNCiAgY29udGVudDogIlxmMDU1IjsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICByaWdodDogMWVtOw0KICBwYWRkaW5nOiAwIDFweDsNCiAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOw0KfQ0KLmh2ci1pY29uLWZsb2F0LWF3YXk6YWZ0ZXIgew0KICBvcGFjaXR5OiAwOw0KICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC41czsNCiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzOw0KICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzOw0KICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsNCn0NCi5odnItaWNvbi1mbG9hdC1hd2F5OmhvdmVyOmFmdGVyLCAuaHZyLWljb24tZmxvYXQtYXdheTpmb2N1czphZnRlciwgLmh2ci1pY29uLWZsb2F0LWF3YXk6YWN0aXZlOmFmdGVyIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLWljb24tZmxvYXQtYXdheTsNCiAgYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLWZsb2F0LWF3YXk7DQogIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KfQ0KDQovKiBJY29uIFNpbmsgQXdheSAqLw0KQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLXNpbmstYXdheSB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxZW0pOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxZW0pOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgaHZyLWljb24tc2luay1hd2F5IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFlbSk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFlbSk7DQogIH0NCn0NCg0KLyogSWNvbiBTaW5rIEF3YXkgKi8NCi5odnItaWNvbi1zaW5rLWF3YXkgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICBwYWRkaW5nLXJpZ2h0OiAyLjJlbTsNCn0NCi5odnItaWNvbi1zaW5rLWF3YXk6YmVmb3JlLCAuaHZyLWljb24tc2luay1hd2F5OmFmdGVyIHsNCiAgY29udGVudDogIlxmMDU2IjsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICByaWdodDogMWVtOw0KICBwYWRkaW5nOiAwIDFweDsNCiAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KfQ0KLmh2ci1pY29uLXNpbmstYXdheTphZnRlciB7DQogIG9wYWNpdHk6IDA7DQogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzOw0KICBhbmltYXRpb24tZHVyYXRpb246IDAuNXM7DQogIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7DQogIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzOw0KfQ0KLmh2ci1pY29uLXNpbmstYXdheTpob3ZlcjphZnRlciwgLmh2ci1pY29uLXNpbmstYXdheTpmb2N1czphZnRlciwgLmh2ci1pY29uLXNpbmstYXdheTphY3RpdmU6YWZ0ZXIgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1zaW5rLWF3YXk7DQogIGFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1zaW5rLWF3YXk7DQogIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KfQ0KDQovKiBJY29uIEdyb3cgKi8NCi5odnItaWNvbi1ncm93IHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgcGFkZGluZy1yaWdodDogMi4yZW07DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCn0NCi5odnItaWNvbi1ncm93OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjExOCI7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgcmlnaHQ6IDFlbTsNCiAgcGFkZGluZzogMCAxcHg7DQogIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsNCiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KfQ0KLmh2ci1pY29uLWdyb3c6aG92ZXI6YmVmb3JlLCAuaHZyLWljb24tZ3Jvdzpmb2N1czpiZWZvcmUsIC5odnItaWNvbi1ncm93OmFjdGl2ZTpiZWZvcmUgew0KICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKSB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHNjYWxlKDEuMykgdHJhbnNsYXRlWigwKTsNCn0NCg0KLyogSWNvbiBTaHJpbmsgKi8NCi5odnItaWNvbi1zaHJpbmsgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICBwYWRkaW5nLXJpZ2h0OiAyLjJlbTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KfQ0KLmh2ci1pY29uLXNocmluazpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMTkiOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHJpZ2h0OiAxZW07DQogIHBhZGRpbmc6IDAgMXB4Ow0KICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCn0NCi5odnItaWNvbi1zaHJpbms6aG92ZXI6YmVmb3JlLCAuaHZyLWljb24tc2hyaW5rOmZvY3VzOmJlZm9yZSwgLmh2ci1pY29uLXNocmluazphY3RpdmU6YmVmb3JlIHsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCk7DQogIHRyYW5zZm9ybTogc2NhbGUoMC44KTsNCn0NCg0KLyogSWNvbiBQdWxzZSAqLw0KQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLXB1bHNlIHsNCiAgMjUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7DQogIH0NCg0KICA3NSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGh2ci1pY29uLXB1bHNlIHsNCiAgMjUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7DQogIH0NCg0KICA3NSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTsNCiAgfQ0KfQ0KDQouaHZyLWljb24tcHVsc2Ugew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICBwYWRkaW5nLXJpZ2h0OiAyLjJlbTsNCn0NCi5odnItaWNvbi1wdWxzZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMTUiOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHJpZ2h0OiAxZW07DQogIHBhZGRpbmc6IDAgMXB4Ow0KICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQp9DQouaHZyLWljb24tcHVsc2U6aG92ZXI6YmVmb3JlLCAuaHZyLWljb24tcHVsc2U6Zm9jdXM6YmVmb3JlLCAuaHZyLWljb24tcHVsc2U6YWN0aXZlOmJlZm9yZSB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLXB1bHNlOw0KICBhbmltYXRpb24tbmFtZTogaHZyLWljb24tcHVsc2U7DQogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsNCiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsNCiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsNCiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsNCiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7DQp9DQoNCi8qIEljb24gUHVsc2UgR3JvdyAqLw0KQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLXB1bHNlLWdyb3cgew0KICB0byB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7DQogICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgaHZyLWljb24tcHVsc2UtZ3JvdyB7DQogIHRvIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7DQogIH0NCn0NCg0KLmh2ci1pY29uLXB1bHNlLWdyb3cgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICBwYWRkaW5nLXJpZ2h0OiAyLjJlbTsNCn0NCi5odnItaWNvbi1wdWxzZS1ncm93OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAxNSI7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgcmlnaHQ6IDFlbTsNCiAgcGFkZGluZzogMCAxcHg7DQogIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCn0NCi5odnItaWNvbi1wdWxzZS1ncm93OmhvdmVyOmJlZm9yZSwgLmh2ci1pY29uLXB1bHNlLWdyb3c6Zm9jdXM6YmVmb3JlLCAuaHZyLWljb24tcHVsc2UtZ3JvdzphY3RpdmU6YmVmb3JlIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLWljb24tcHVsc2UtZ3JvdzsNCiAgYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLXB1bHNlLWdyb3c7DQogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICBhbmltYXRpb24tZHVyYXRpb246IDAuM3M7DQogIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOw0KICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQogIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7DQogIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOw0KICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTsNCiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlOw0KfQ0KDQovKiBJY29uIFB1bHNlIFNocmluayAqLw0KQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLXB1bHNlLXNocmluayB7DQogIHRvIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44KTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBodnItaWNvbi1wdWxzZS1zaHJpbmsgew0KICB0byB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpOw0KICB9DQp9DQoNCi5odnItaWNvbi1wdWxzZS1zaHJpbmsgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICBwYWRkaW5nLXJpZ2h0OiAyLjJlbTsNCn0NCi5odnItaWNvbi1wdWxzZS1zaHJpbms6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDE1IjsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICByaWdodDogMWVtOw0KICBwYWRkaW5nOiAwIDFweDsNCiAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KfQ0KLmh2ci1pY29uLXB1bHNlLXNocmluazpob3ZlcjpiZWZvcmUsIC5odnItaWNvbi1wdWxzZS1zaHJpbms6Zm9jdXM6YmVmb3JlLCAuaHZyLWljb24tcHVsc2Utc2hyaW5rOmFjdGl2ZTpiZWZvcmUgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1wdWxzZS1zaHJpbms7DQogIGFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1wdWxzZS1zaHJpbms7DQogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICBhbmltYXRpb24tZHVyYXRpb246IDAuM3M7DQogIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOw0KICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQogIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7DQogIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOw0KICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTsNCiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlOw0KfQ0KDQovKiBJY29uIFB1c2ggKi8NCkAtd2Via2l0LWtleWZyYW1lcyBodnItaWNvbi1wdXNoIHsNCiAgNTAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC41KTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBodnItaWNvbi1wdXNoIHsNCiAgNTAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC41KTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7DQogIH0NCn0NCg0KLmh2ci1pY29uLXB1c2ggew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICBwYWRkaW5nLXJpZ2h0OiAyLjJlbTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KfQ0KLmh2ci1pY29uLXB1c2g6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDA2IjsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICByaWdodDogMWVtOw0KICBwYWRkaW5nOiAwIDFweDsNCiAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQp9DQouaHZyLWljb24tcHVzaDpob3ZlcjpiZWZvcmUsIC5odnItaWNvbi1wdXNoOmZvY3VzOmJlZm9yZSwgLmh2ci1pY29uLXB1c2g6YWN0aXZlOmJlZm9yZSB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLXB1c2g7DQogIGFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1wdXNoOw0KICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsNCiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOw0KICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7DQogIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7DQp9DQoNCi8qIEljb24gUG9wICovDQpALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24tcG9wIHsNCiAgNTAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS41KTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBodnItaWNvbi1wb3Agew0KICA1MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjUpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoMS41KTsNCiAgfQ0KfQ0KDQouaHZyLWljb24tcG9wIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgcGFkZGluZy1yaWdodDogMi4yZW07DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCn0NCi5odnItaWNvbi1wb3A6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDA1IjsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICByaWdodDogMWVtOw0KICBwYWRkaW5nOiAwIDFweDsNCiAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQp9DQouaHZyLWljb24tcG9wOmhvdmVyOmJlZm9yZSwgLmh2ci1pY29uLXBvcDpmb2N1czpiZWZvcmUsIC5odnItaWNvbi1wb3A6YWN0aXZlOmJlZm9yZSB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLXBvcDsNCiAgYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLXBvcDsNCiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuM3M7DQogIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsNCiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOw0KICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOw0KfQ0KDQovKiBJY29uIEJvdW5jZSAqLw0KLmh2ci1pY29uLWJvdW5jZSB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOw0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOw0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIHBhZGRpbmctcmlnaHQ6IDIuMmVtOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQp9DQouaHZyLWljb24tYm91bmNlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA4NyI7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgcmlnaHQ6IDFlbTsNCiAgcGFkZGluZzogMCAxcHg7DQogIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsNCiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KfQ0KLmh2ci1pY29uLWJvdW5jZTpob3ZlcjpiZWZvcmUsIC5odnItaWNvbi1ib3VuY2U6Zm9jdXM6YmVmb3JlLCAuaHZyLWljb24tYm91bmNlOmFjdGl2ZTpiZWZvcmUgew0KICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS41KTsNCiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpOw0KICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NywgMi4wMiwgMC4zMSwgLTAuMzYpOw0KICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDcsIDIuMDIsIDAuMzEsIC0wLjM2KTsNCn0NCg0KLyogSWNvbiBSb3RhdGUgKi8NCi5odnItaWNvbi1yb3RhdGUgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICBwYWRkaW5nLXJpZ2h0OiAyLjJlbTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KfQ0KLmh2ci1pY29uLXJvdGF0ZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwYzYiOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHJpZ2h0OiAxZW07DQogIHBhZGRpbmc6IDAgMXB4Ow0KICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCn0NCi5odnItaWNvbi1yb3RhdGU6aG92ZXI6YmVmb3JlLCAuaHZyLWljb24tcm90YXRlOmZvY3VzOmJlZm9yZSwgLmh2ci1pY29uLXJvdGF0ZTphY3RpdmU6YmVmb3JlIHsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyMGRlZyk7DQogIHRyYW5zZm9ybTogcm90YXRlKDIwZGVnKTsNCn0NCg0KLyogSWNvbiBHcm93IFJvdGF0ZSAqLw0KLmh2ci1pY29uLWdyb3ctcm90YXRlIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgcGFkZGluZy1yaWdodDogMi4yZW07DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCn0NCi5odnItaWNvbi1ncm93LXJvdGF0ZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwOTUiOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHJpZ2h0OiAxZW07DQogIHBhZGRpbmc6IDAgMXB4Ow0KICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCn0NCi5odnItaWNvbi1ncm93LXJvdGF0ZTpob3ZlcjpiZWZvcmUsIC5odnItaWNvbi1ncm93LXJvdGF0ZTpmb2N1czpiZWZvcmUsIC5odnItaWNvbi1ncm93LXJvdGF0ZTphY3RpdmU6YmVmb3JlIHsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuNSkgcm90YXRlKDEyZGVnKTsNCiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpIHJvdGF0ZSgxMmRlZyk7DQp9DQoNCi8qIEljb24gRmxvYXQgKi8NCi5odnItaWNvbi1mbG9hdCB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOw0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOw0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIHBhZGRpbmctcmlnaHQ6IDIuMmVtOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQp9DQouaHZyLWljb24tZmxvYXQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDFiIjsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICByaWdodDogMWVtOw0KICBwYWRkaW5nOiAwIDFweDsNCiAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQp9DQouaHZyLWljb24tZmxvYXQ6aG92ZXI6YmVmb3JlLCAuaHZyLWljb24tZmxvYXQ6Zm9jdXM6YmVmb3JlLCAuaHZyLWljb24tZmxvYXQ6YWN0aXZlOmJlZm9yZSB7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7DQp9DQoNCi8qIEljb24gU2luayAqLw0KLmh2ci1pY29uLXNpbmsgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICBwYWRkaW5nLXJpZ2h0OiAyLjJlbTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KfQ0KLmh2ci1pY29uLXNpbms6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDFhIjsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICByaWdodDogMWVtOw0KICBwYWRkaW5nOiAwIDFweDsNCiAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOw0KICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07DQogIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQp9DQouaHZyLWljb24tc2luazpob3ZlcjpiZWZvcmUsIC5odnItaWNvbi1zaW5rOmZvY3VzOmJlZm9yZSwgLmh2ci1pY29uLXNpbms6YWN0aXZlOmJlZm9yZSB7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpOw0KfQ0KDQovKiBJY29uIEJvYiAqLw0KQC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLWJvYiB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7DQogIH0NCg0KICA1MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGh2ci1pY29uLWJvYiB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7DQogIH0NCg0KICA1MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTsNCiAgfQ0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24tYm9iLWZsb2F0IHsNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgaHZyLWljb24tYm9iLWZsb2F0IHsNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpOw0KICB9DQp9DQoNCi5odnItaWNvbi1ib2Igew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICBwYWRkaW5nLXJpZ2h0OiAyLjJlbTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KfQ0KLmh2ci1pY29uLWJvYjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNzciOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHJpZ2h0OiAxZW07DQogIHBhZGRpbmc6IDAgMXB4Ow0KICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQp9DQouaHZyLWljb24tYm9iOmhvdmVyOmJlZm9yZSwgLmh2ci1pY29uLWJvYjpmb2N1czpiZWZvcmUsIC5odnItaWNvbi1ib2I6YWN0aXZlOmJlZm9yZSB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLWJvYi1mbG9hdCwgaHZyLWljb24tYm9iOw0KICBhbmltYXRpb24tbmFtZTogaHZyLWljb24tYm9iLWZsb2F0LCBodnItaWNvbi1ib2I7DQogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAuM3MsIDEuNXM7DQogIGFuaW1hdGlvbi1kdXJhdGlvbjogLjNzLCAxLjVzOw0KICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMHMsIC4zczsNCiAgYW5pbWF0aW9uLWRlbGF5OiAwcywgLjNzOw0KICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0LCBlYXNlLWluLW91dDsNCiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQsIGVhc2UtaW4tb3V0Ow0KICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEsIGluZmluaXRlOw0KICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxLCBpbmZpbml0ZTsNCiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsNCiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7DQogIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogbm9ybWFsLCBhbHRlcm5hdGU7DQogIGFuaW1hdGlvbi1kaXJlY3Rpb246IG5vcm1hbCwgYWx0ZXJuYXRlOw0KfQ0KDQovKiBJY29uIEhhbmcgKi8NCkAtd2Via2l0LWtleWZyYW1lcyBodnItaWNvbi1oYW5nIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7DQogIH0NCg0KICA1MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgaHZyLWljb24taGFuZyB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpOw0KICB9DQoNCiAgNTAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTsNCiAgfQ0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24taGFuZy1zaW5rIHsNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGh2ci1pY29uLWhhbmctc2luayB7DQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7DQogIH0NCn0NCg0KLmh2ci1pY29uLWhhbmcgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICBwYWRkaW5nLXJpZ2h0OiAyLjJlbTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KfQ0KLmh2ci1pY29uLWhhbmc6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDc4IjsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICByaWdodDogMWVtOw0KICBwYWRkaW5nOiAwIDFweDsNCiAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KfQ0KLmh2ci1pY29uLWhhbmc6aG92ZXI6YmVmb3JlLCAuaHZyLWljb24taGFuZzpmb2N1czpiZWZvcmUsIC5odnItaWNvbi1oYW5nOmFjdGl2ZTpiZWZvcmUgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1oYW5nLXNpbmssIGh2ci1pY29uLWhhbmc7DQogIGFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1oYW5nLXNpbmssIGh2ci1pY29uLWhhbmc7DQogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAuM3MsIDEuNXM7DQogIGFuaW1hdGlvbi1kdXJhdGlvbjogLjNzLCAxLjVzOw0KICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMHMsIC4zczsNCiAgYW5pbWF0aW9uLWRlbGF5OiAwcywgLjNzOw0KICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0LCBlYXNlLWluLW91dDsNCiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQsIGVhc2UtaW4tb3V0Ow0KICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEsIGluZmluaXRlOw0KICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxLCBpbmZpbml0ZTsNCiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsNCiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7DQogIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogbm9ybWFsLCBhbHRlcm5hdGU7DQogIGFuaW1hdGlvbi1kaXJlY3Rpb246IG5vcm1hbCwgYWx0ZXJuYXRlOw0KfQ0KDQovKiBJY29uIFdvYmJsZSBIb3Jpem9udGFsICovDQpALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24td29iYmxlLWhvcml6b250YWwgew0KICAxNi42NSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDZweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDZweCk7DQogIH0NCg0KICAzMy4zJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTVweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpOw0KICB9DQoNCiAgNDkuOTUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpOw0KICB9DQoNCiAgNjYuNiUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KTsNCiAgfQ0KDQogIDgzLjI1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMXB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMXB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGh2ci1pY29uLXdvYmJsZS1ob3Jpem9udGFsIHsNCiAgMTYuNjUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg2cHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg2cHgpOw0KICB9DQoNCiAgMzMuMyUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTsNCiAgfQ0KDQogIDQ5Ljk1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTsNCiAgfQ0KDQogIDY2LjYlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCk7DQogIH0NCg0KICA4My4yNSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCn0NCg0KLmh2ci1pY29uLXdvYmJsZS1ob3Jpem9udGFsIHsNCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMCk7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgcGFkZGluZy1yaWdodDogMi4yZW07DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCn0NCi5odnItaWNvbi13b2JibGUtaG9yaXpvbnRhbDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNjEiOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHJpZ2h0OiAxZW07DQogIHBhZGRpbmc6IDAgMXB4Ow0KICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQp9DQouaHZyLWljb24td29iYmxlLWhvcml6b250YWw6aG92ZXI6YmVmb3JlLCAuaHZyLWljb24td29iYmxlLWhvcml6b250YWw6Zm9jdXM6YmVmb3JlLCAuaHZyLWljb24td29iYmxlLWhvcml6b250YWw6YWN0aXZlOmJlZm9yZSB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLXdvYmJsZS1ob3Jpem9udGFsOw0KICBhbmltYXRpb24tbmFtZTogaHZyLWljb24td29iYmxlLWhvcml6b250YWw7DQogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsNCiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsNCiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsNCiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7DQogIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsNCiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsNCn0NCg0KLyogSWNvbiBXb2JibGUgVmVydGljYWwgKi8NCkAtd2Via2l0LWtleWZyYW1lcyBodnItaWNvbi13b2JibGUtdmVydGljYWwgew0KICAxNi42NSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7DQogIH0NCg0KICAzMy4zJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpOw0KICB9DQoNCiAgNDkuOTUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpOw0KICB9DQoNCiAgNjYuNiUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTsNCiAgfQ0KDQogIDgzLjI1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGh2ci1pY29uLXdvYmJsZS12ZXJ0aWNhbCB7DQogIDE2LjY1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTsNCiAgfQ0KDQogIDMzLjMlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7DQogIH0NCg0KICA0OS45NSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7DQogIH0NCg0KICA2Ni42JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOw0KICB9DQoNCiAgODMuMjUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQp9DQoNCi5odnItaWNvbi13b2JibGUtdmVydGljYWwgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICBwYWRkaW5nLXJpZ2h0OiAyLjJlbTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KfQ0KLmh2ci1pY29uLXdvYmJsZS12ZXJ0aWNhbDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNjIiOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHJpZ2h0OiAxZW07DQogIHBhZGRpbmc6IDAgMXB4Ow0KICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQp9DQouaHZyLWljb24td29iYmxlLXZlcnRpY2FsOmhvdmVyOmJlZm9yZSwgLmh2ci1pY29uLXdvYmJsZS12ZXJ0aWNhbDpmb2N1czpiZWZvcmUsIC5odnItaWNvbi13b2JibGUtdmVydGljYWw6YWN0aXZlOmJlZm9yZSB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLXdvYmJsZS12ZXJ0aWNhbDsNCiAgYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLXdvYmJsZS12ZXJ0aWNhbDsNCiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzOw0KICBhbmltYXRpb24tZHVyYXRpb246IDFzOw0KICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0Ow0KICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsNCiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOw0KICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOw0KfQ0KDQovKiBJY29uIEJ1enogKi8NCkAtd2Via2l0LWtleWZyYW1lcyBodnItaWNvbi1idXp6IHsNCiAgNTAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgaHZyLWljb24tYnV6eiB7DQogIDUwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTsNCiAgfQ0KfQ0KDQouaHZyLWljb24tYnV6eiB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOw0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOw0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIHBhZGRpbmctcmlnaHQ6IDIuMmVtOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQp9DQouaHZyLWljb24tYnV6ejpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMTciOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHJpZ2h0OiAxZW07DQogIHBhZGRpbmc6IDAgMXB4Ow0KICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQp9DQouaHZyLWljb24tYnV6ejpob3ZlcjpiZWZvcmUsIC5odnItaWNvbi1idXp6OmZvY3VzOmJlZm9yZSwgLmh2ci1pY29uLWJ1eno6YWN0aXZlOmJlZm9yZSB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGh2ci1pY29uLWJ1eno7DQogIGFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1idXp6Ow0KICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC4xNXM7DQogIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4xNXM7DQogIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOw0KICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQogIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7DQogIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOw0KfQ0KDQovKiBJY29uIEJ1enogT3V0ICovDQpALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24tYnV6ei1vdXQgew0KICAxMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTsNCiAgfQ0KDQogIDIwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTsNCiAgfQ0KDQogIDMwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpOw0KICB9DQoNCiAgNDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpOw0KICB9DQoNCiAgNTAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgxZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGUoMWRlZyk7DQogIH0NCg0KICA2MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpIHJvdGF0ZSgtMWRlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpIHJvdGF0ZSgtMWRlZyk7DQogIH0NCg0KICA3MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlKDFkZWcpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgxZGVnKTsNCiAgfQ0KDQogIDgwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKTsNCiAgfQ0KDQogIDkwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMXB4KSByb3RhdGUoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCkgcm90YXRlKDApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTFweCkgcm90YXRlKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXB4KSByb3RhdGUoMCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBodnItaWNvbi1idXp6LW91dCB7DQogIDEwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpOw0KICB9DQoNCiAgMjAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpOw0KICB9DQoNCiAgMzAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7DQogIH0NCg0KICA0MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7DQogIH0NCg0KICA1MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlKDFkZWcpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgxZGVnKTsNCiAgfQ0KDQogIDYwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKTsNCiAgfQ0KDQogIDcwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGUoMWRlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlKDFkZWcpOw0KICB9DQoNCiAgODAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KSByb3RhdGUoLTFkZWcpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KSByb3RhdGUoLTFkZWcpOw0KICB9DQoNCiAgOTAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcHgpIHJvdGF0ZSgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMXB4KSByb3RhdGUoMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXB4KSByb3RhdGUoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcHgpIHJvdGF0ZSgwKTsNCiAgfQ0KfQ0KDQouaHZyLWljb24tYnV6ei1vdXQgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICBwYWRkaW5nLXJpZ2h0OiAyLjJlbTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KfQ0KLmh2ci1pY29uLWJ1enotb3V0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAyMyI7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgcmlnaHQ6IDFlbTsNCiAgcGFkZGluZzogMCAxcHg7DQogIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCn0NCi5odnItaWNvbi1idXp6LW91dDpob3ZlcjpiZWZvcmUsIC5odnItaWNvbi1idXp6LW91dDpmb2N1czpiZWZvcmUsIC5odnItaWNvbi1idXp6LW91dDphY3RpdmU6YmVmb3JlIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaHZyLWljb24tYnV6ei1vdXQ7DQogIGFuaW1hdGlvbi1uYW1lOiBodnItaWNvbi1idXp6LW91dDsNCiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuNzVzOw0KICBhbmltYXRpb24tZHVyYXRpb246IDAuNzVzOw0KICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsNCiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOw0KICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7DQogIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7DQp9DQoNCi8qIENVUkxTICovDQovKiBDdXJsIFRvcCBMZWZ0ICovDQouaHZyLWN1cmwtdG9wLWxlZnQgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KLmh2ci1jdXJsLXRvcC1sZWZ0OmJlZm9yZSB7DQogIHBvaW50ZXItZXZlbnRzOiBub25lOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIGNvbnRlbnQ6ICcnOw0KICBoZWlnaHQ6IDA7DQogIHdpZHRoOiAwOw0KICB0b3A6IDA7DQogIGxlZnQ6IDA7DQogIGJhY2tncm91bmQ6IHdoaXRlOw0KICAvKiBJRTkgKi8NCiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgd2hpdGUgNDUlLCAjYWFhYWFhIDUwJSwgI2NjY2NjYyA1NiUsIHdoaXRlIDgwJSk7DQogIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KEdyYWRpZW50VHlwZT0wLHN0YXJ0Q29sb3JzdHI9JyNmZmZmZmYnLCBlbmRDb2xvcnN0cj0nIzAwMDAwMCcpOw0KICAvKkZvciBJRTctOC05Ki8NCiAgei1pbmRleDogMTAwMDsNCiAgYm94LXNoYWRvdzogMXB4IDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjQpOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogd2lkdGgsIGhlaWdodDsNCiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogd2lkdGgsIGhlaWdodDsNCn0NCi5odnItY3VybC10b3AtbGVmdDpob3ZlcjpiZWZvcmUsIC5odnItY3VybC10b3AtbGVmdDpmb2N1czpiZWZvcmUsIC5odnItY3VybC10b3AtbGVmdDphY3RpdmU6YmVmb3JlIHsNCiAgd2lkdGg6IDI1cHg7DQogIGhlaWdodDogMjVweDsNCn0NCg0KLnRvcC1zZXJ2aWNlcyAuaHZyLWN1cmwtdG9wLWxlZnQ6YmVmb3JlIHsNCiAgcG9pbnRlci1ldmVudHM6IG5vbmU7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgY29udGVudDogJyc7DQogIGhlaWdodDogMDsNCiAgd2lkdGg6IDA7DQogIHRvcDogMDsNCiAgbGVmdDogMDsNCiAgYmFja2dyb3VuZDogIzBmODZmZjsNCiAgLyogSUU5ICovDQogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHdoaXRlIDQ1JSwgIzBmODZmZiA1MCUsICMwZjg2ZmYgNTYlLCAjMGY4NmZmIDgwJSk7DQogIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KEdyYWRpZW50VHlwZT0wLHN0YXJ0Q29sb3JzdHI9JyNmZmZmZmYnLCBlbmRDb2xvcnN0cj0nIzBmODZmZicpOw0KICAvKkZvciBJRTctOC05Ki8NCiAgei1pbmRleDogMTAwMDsNCiAgYm94LXNoYWRvdzogMXB4IDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjQpOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogd2lkdGgsIGhlaWdodDsNCiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogd2lkdGgsIGhlaWdodDsNCn0NCi50b3Atc2VydmljZXMgLmh2ci1jdXJsLXRvcC1sZWZ0OmhvdmVyOmJlZm9yZSwgLnRvcC1zZXJ2aWNlcyAuaHZyLWN1cmwtdG9wLWxlZnQ6Zm9jdXM6YmVmb3JlLCAudG9wLXNlcnZpY2VzIC5odnItY3VybC10b3AtbGVmdDphY3RpdmU6YmVmb3JlIHsNCiAgd2lkdGg6IDQwcHg7DQogIGhlaWdodDogNDBweDsNCn0NCg0KLyogQ3VybCBUb3AgUmlnaHQgKi8NCi5odnItY3VybC10b3AtcmlnaHQgew0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOw0KICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KLmh2ci1jdXJsLXRvcC1yaWdodDpiZWZvcmUgew0KICBwb2ludGVyLWV2ZW50czogbm9uZTsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICBjb250ZW50OiAnJzsNCiAgaGVpZ2h0OiAwOw0KICB3aWR0aDogMDsNCiAgdG9wOiAwOw0KICByaWdodDogMDsNCiAgYmFja2dyb3VuZDogd2hpdGU7DQogIC8qIElFOSAqLw0KICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjI1ZGVnLCB3aGl0ZSA0NSUsICNhYWFhYWEgNTAlLCAjY2NjY2NjIDU2JSwgd2hpdGUgODAlKTsNCiAgYm94LXNoYWRvdzogLTFweCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC40KTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHdpZHRoLCBoZWlnaHQ7DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IHdpZHRoLCBoZWlnaHQ7DQp9DQouaHZyLWN1cmwtdG9wLXJpZ2h0OmhvdmVyOmJlZm9yZSwgLmh2ci1jdXJsLXRvcC1yaWdodDpmb2N1czpiZWZvcmUsIC5odnItY3VybC10b3AtcmlnaHQ6YWN0aXZlOmJlZm9yZSB7DQogIHdpZHRoOiAyNXB4Ow0KICBoZWlnaHQ6IDI1cHg7DQp9DQoNCi50b3Atc2VydmljZXMgLmh2ci1jdXJsLXRvcC1yaWdodDpiZWZvcmUgew0KICBwb2ludGVyLWV2ZW50czogbm9uZTsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICBjb250ZW50OiAnJzsNCiAgaGVpZ2h0OiAwOw0KICB3aWR0aDogMDsNCiAgdG9wOiAwOw0KICByaWdodDogMDsNCiAgYmFja2dyb3VuZDogIzZlYzdmOTsNCiAgLyogSUU5ICovDQogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyMjVkZWcsIHdoaXRlIDQ1JSwgIzZlYzdmOSA1MCUsICM2ZWM3ZjkgNTYlLCAjNmVjN2Y5IDgwJSk7DQogIGJveC1zaGFkb3c6IC0xcHggMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuNCk7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB3aWR0aCwgaGVpZ2h0Ow0KICB0cmFuc2l0aW9uLXByb3BlcnR5OiB3aWR0aCwgaGVpZ2h0Ow0KfQ0KLnRvcC1zZXJ2aWNlcyAuaHZyLWN1cmwtdG9wLXJpZ2h0OmhvdmVyOmJlZm9yZSwgLnRvcC1zZXJ2aWNlcyAuaHZyLWN1cmwtdG9wLXJpZ2h0OmZvY3VzOmJlZm9yZSwgLnRvcC1zZXJ2aWNlcyAuaHZyLWN1cmwtdG9wLXJpZ2h0OmFjdGl2ZTpiZWZvcmUgew0KICB3aWR0aDogNDBweDsNCiAgaGVpZ2h0OiA0MHB4Ow0KfQ0KDQovKiBDdXJsIEJvdHRvbSBSaWdodCAqLw0KLmh2ci1jdXJsLWJvdHRvbS1yaWdodCB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOw0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOw0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQouaHZyLWN1cmwtYm90dG9tLXJpZ2h0OmJlZm9yZSB7DQogIHBvaW50ZXItZXZlbnRzOiBub25lOw0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIGNvbnRlbnQ6ICcnOw0KICBoZWlnaHQ6IDA7DQogIHdpZHRoOiAwOw0KICBib3R0b206IDA7DQogIHJpZ2h0OiAwOw0KICBiYWNrZ3JvdW5kOiB3aGl0ZTsNCiAgLyogSUU5ICovDQogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgzMTVkZWcsIHdoaXRlIDQ1JSwgI2FhYWFhYSA1MCUsICNjY2NjY2MgNTYlLCB3aGl0ZSA4MCUpOw0KICBib3gtc2hhZG93OiAtMXB4IC0xcHggMXB4IHJnYmEoMCwgMCwgMCwgMC40KTsNCiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzOw0KICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHdpZHRoLCBoZWlnaHQ7DQogIHRyYW5zaXRpb24tcHJvcGVydHk6IHdpZHRoLCBoZWlnaHQ7DQp9DQouaHZyLWN1cmwtYm90dG9tLXJpZ2h0OmhvdmVyOmJlZm9yZSwgLmh2ci1jdXJsLWJvdHRvbS1yaWdodDpmb2N1czpiZWZvcmUsIC5odnItY3VybC1ib3R0b20tcmlnaHQ6YWN0aXZlOmJlZm9yZSB7DQogIHdpZHRoOiAyNXB4Ow0KICBoZWlnaHQ6IDI1cHg7DQp9DQoNCi8qIEN1cmwgQm90dG9tIExlZnQgKi8NCi5odnItY3VybC1ib3R0b20tbGVmdCB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsNCiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIDApOw0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOw0KICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOw0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQouaHZyLWN1cmwtYm90dG9tLWxlZnQ6YmVmb3JlIHsNCiAgcG9pbnRlci1ldmVudHM6IG5vbmU7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgY29udGVudDogJyc7DQogIGhlaWdodDogMDsNCiAgd2lkdGg6IDA7DQogIGJvdHRvbTogMDsNCiAgbGVmdDogMDsNCiAgYmFja2dyb3VuZDogd2hpdGU7DQogIC8qIElFOSAqLw0KICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHdoaXRlIDQ1JSwgI2FhYWFhYSA1MCUsICNjY2NjY2MgNTYlLCB3aGl0ZSA4MCUpOw0KICBib3gtc2hhZG93OiAxcHggLTFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjQpOw0KICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7DQogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogd2lkdGgsIGhlaWdodDsNCiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogd2lkdGgsIGhlaWdodDsNCn0NCi5odnItY3VybC1ib3R0b20tbGVmdDpob3ZlcjpiZWZvcmUsIC5odnItY3VybC1ib3R0b20tbGVmdDpmb2N1czpiZWZvcmUsIC5odnItY3VybC1ib3R0b20tbGVmdDphY3RpdmU6YmVmb3JlIHsNCiAgd2lkdGg6IDI1cHg7DQogIGhlaWdodDogMjVweDsNCn0NCg=="}},"time_used":34,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":32,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmWUlfBBc9.ttf","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://agilitetrade.com/","date":"2026-07-27T03:33:51.864Z","timestamp":1785123231864,"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/v27/KFOlCnqEu92Fr1MmWUlfBBc9.ttf 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: gzip, deflate, br, zstd\r\nOrigin: https://agilitetrade.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.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\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\ntiming-allow-origin: *\r\ncontent-length: 20778\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:57:25 GMT\r\nexpires: Thu, 22 Jul 2027 13:57:25 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Mon, 05 Apr 2021 21:10:45 GMT\r\ncontent-type: font/ttf\r\nvary: Accept-Encoding\r\nage: 394586\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":36052,"size_decoded":21636,"mime_type":"font/ttf","magic":"TrueType Font data, 18 tables, 1st \"GDEF\", 8 names, Microsoft, language 0x409, Copyright 2011 Google Inc. All Rights Reserved.RobotoBoldRoboto BoldVersion 2.137; 2017Roboto-Bo","md5":"9a12199a43c93cdb17ed977352c49cca","sha1":"142f456d6810713c1829d10bc37f8ed6f597e87c","sha256":"52dc362cae7e441a98741305a38b045859ac60e99377d9d88922ec32cb944cfa","sha512":"b018b3a04f434a64813826b1d158a686ebbc6915440bb5afc7bf959faeb2f70775f373ac55e7c16e88601d68f075549ed5408980e12bca31fb1660a52444a55d","ssdeep":"768:NBLBg59dznyrE3WqK1CBQLsAM28pX3woWL09U:3Ba9dbL3iUiLNWX3woK","tlshash":"c3f2c601e643e229c9c6b678bd7cd3be5d70e42abc6d621631c5cb3258c8905ec69b7c","first_seen":"2023-05-22T05:36:03Z","last_seen":"2026-07-27T05:05:33.54812Z","times_seen":324,"resource_available":false,"data":"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As8AfALSACgDoAAbBF4AOQH0ACMDGgBuAlMAfgL9//MElwBfBJcApwSXAEYElwBABJcANwSXAGkElwBkBJcAPQSXAF8ElwBWAkIAfQIZADkEEgA2BJQAiAQiAHgD+wAtBykASwViAAcFGwCCBTwAVgUzAIIEgACCBGIAggVzAF4FpwCCAlUAlQR4ACgFFACCBFUAggcCAIIFpgCCBYYAVgUpAIIFhgBUBRsAggTrAEUE8wAoBUQAdAU7AAcG/wAjBRUAFgTyAAIE2QBJAjkAeANgAAACOQANA38ALAOSAAECpQA0BEoARASBAG8ELABCBIIAQgRTAEgC3gAdBJEARQR6AGgCHwBtAhT/oQRGAG8CHwB+Bu0AbwR7AGkEhgBCBIEAbwSFAEIC6wBvBB0AOAK0AAoEegBoBAsADQXhABwEEgAVBAQAAwQSAEoCpAAwAgYArQKkACIFMABqAkIAgASaAGMEwQBjBYoAUQRKAAoCBACABQcAXAO8AF4GRgBWA40AiQP/AE0EaQB+BkYAVgQCAKgDGwB+BEwAWQL7ADcC+wAwAqcAZQTtAIsD6wBLAmkAjAIkAGIC+wCHA6gAdgP/AFUFvgBlBhcAVAZ3AF4D+wBFB4UAAgRAAEEFgwBdBN4AhQUMAIcGwQBCBJoAVASQAD8EhABCBIoAcQIxAIYHvwBgBzcAUwP3AHsCqgB3A9kAdQQUAAABogAAAQAAAAAAAAAFDgCYBhsAbQHfAGgB1gA6AfwAQgM/AHADRQBIAzkAQgLgAIcF6wCFAn4AbAJqAFADkQAeAvsANQSXAFkFDQB0BHIAkwTeABQE5wAdB20AHQdtAB0AAAAACDUAXAL6ADcC+gCHAvoARwL6ADAC+gA1AvoARQL6AEYC+gAzAvoARwL6AEMC+wBHAvsANQL7AEUC+wBGAvsAMwL7AEcC+wBDBJcAXwSXAF8EPgA4A9QAZgH+AAADGgBuBVH/7AViAAcFYgAHBWIABwViAAcFYgAHBWIABwU8AFYEgACCBIAAggSAAIIEgACCAlX/ugJVAJUCVf+vAlX/rQWmAIIFhgBWBYYAVgWGAFYFhgBWBYYAVgVEAHQFRAB0BUQAdAVEAHQE8gACBEoARARKAEQESgBEBEoARARKAEQESgBEBCwAQgRTAEgEUwBIBFMASARTAEgCMf+oAjEAhgIx/50CMf+b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AD4AEABFAEUABwBHAEkAAQBLAEsAAQBRAFIAAwBTAFMABABUAFQAAwBVAFUAAQBXAFcADABZAFkABQBaAFoACABcAFwAEgBdAF0ACABeAF4ADQCDAIMAAgCMAIwAAgCNAI0AAQCVAJYAFgCXAJgAEQCZAJkAFACaAJsAEQCcAJwAFACeAJ4AFADCAMIAFgDEAMkABgDKAMoAAgDUANgAAgDZANwACQDdAN0ACwDeAOMABwDkAOgAAQDtAO0AAwDuAPIABADzAPYABQD3APgACAD5APsAEQAAAAEAAAAKALoBQAAEREZMVAAaY3lybAAaZ3JlawAabGF0bgAwAAQAAAAA//8ABgAAAAEABQAHAAgACQAuAAdBWkUgAGxDUlQgAGxGUkEgAEJNT0wgAFhOQVYgAFhST00gAFhUUksgAGwAAP//AAcAAAABAAQABQAHAAgACQAA//8ACAAAAAEAAwAFAAYABwAIAAkAAP//AAcAAAABAAMABQAHAAgACQAA//8ABwAAAAEAAgAFAAcACAAJAApkbm9tAD5mcmFjAERsaWdhAE5saWdhAFRsaWdhAGBsbnVtAGhsb2NsAG5udW1yAHRwbnVtAHp0bnVtAIAAAAABAAgAAAADAAYABwAJAAAAAQACAAAABAABAAIAAQACAAAAAgABAAIAAAABAAUAAAABAAAAAAABAAkAAAABAAMAAAABAAQACgAWACoATgB4AK4A8AESASYBUAFyAAEAAAABAAgAAQAGAAEAAQABAJIABAAAAAEACAABAEAAAQAIAAIABgAOAKgAAwBKAE0ApgACAE0ABAAAAAEACAABABwAAQAIAAIABgAOAKkAAwBKAFAApwACAFAAAQABAEoAAQAAAAEACAACAB4ADAEDAMAA/AD9AP4A/wEAAL8BAQECABoAHAACAAIAFAAdAAAAvQC+AAoAAQAAAAEACAACAB4ADAC9AL4AGwAVABYAFwAYABkAGgAcAB0AFAABAAwAGgAcAL8AwAD8AP0A/gD/AQABAQECAQMAAQAAAAEACAACAA4ABAEAAQEAGgAcAAEABAAaABwAvQC+AAEAAAABAAgAAQAGAI4AAQABABMABgAAAAEACAADAAEAEgABAGYAAAABAAAACAACAAIAoQChAAAArAC1AAEAAQAAAAEACAACADwACgCuAK0ArACvALAAsQCyALMAtAC1AAEAAAABAAgAAgAaAAoAtgB6AHMAdAC3ALgAuQC6ALsAvAACAAEAFAAdAAAAAA=="}},"time_used":49,"timings":{"blocked":27,"dns":0,"connect":0,"send":0,"wait":17,"receive":5,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/images/background/2.jpg","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:52.132Z","timestamp":1785123232132,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /images/background/2.jpg HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:52 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Wed, 22 Apr 2026 21:44:12 GMT\r\naccept-ranges: bytes\r\ncontent-length: 149552\r\ndate: Mon, 27 Jul 2026 03:33:52 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":149552,"size_decoded":149820,"mime_type":"image/jpeg","magic":"PNG image data, 757 x 393, 8-bit colormap, non-interlaced","md5":"f837176703e0cf96fd3464f9b5b1d088","sha1":"8291a3dfbae101d781ed72ce874ee287f8c8f9e9","sha256":"1f1314a4dac2ca16cdd324ce6065ae54bed245de0f51ae4df3c2b94e2429b8f0","sha512":"67710c709d3be85e2ffa0d07ec9890597f62301199e3e01b41ebfbeb5d4370a58ddb16861376658e03f455594ad385ebc9dff8269928d218415eb4b391bdc443","ssdeep":"3072:S25RpR9YQUOA7dNmMEr/CTq4k6NJV4bsaOjUSEp1IDHP:S25gcA7o8rV4g36uj","tlshash":"53e3124471229e90250577cd8c5ef674ea461d2b6f1b0cce6dca2e8ff069756007d3ab","first_seen":"2026-06-26T06:01:48.649148Z","last_seen":"2026-07-27T05:05:33.577754Z","times_seen":7,"resource_available":false,"data":"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"}},"time_used":32,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":29,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:34:03.167Z","timestamp":1785123243167,"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://agilitetrade.com/\r\nOrigin: https://agilitetrade.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://agilitetrade.com\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 03:34:03 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":524,"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-07-27T05:14:11.3544Z","times_seen":17556491,"resource_available":true,"data":""}},"time_used":32,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":32,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.cryptohopper.com/widgets/widgets/?id=%5B%7B%22id%22%3A5%2C%22options%22%3A%7B%22realtime%22%3A0%2C%22news_count%22%3A5%7D%7D%2C%7B%22id%22%3A5%2C%22options%22%3A%7B%22realtime%22%3A0%2C%22news_count%22%3A5%7D%7D%2C%7B%22id%22%3A5%2C%22options%22%3A%7B%22realtime%22%3A0%2C%22news_count%22%3A5%7D%7D%2C%7B%22id%22%3A5%2C%22options%22%3A%7B%22realtime%22%3A0%2C%22news_count%22%3A5%7D%7D%5D","fqdn":"www.cryptohopper.com","domain":"cryptohopper.com","tld":"com"},"ip":{"addr":"172.66.153.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:52.320Z","timestamp":1785123232320,"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":"cryptohopper.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 30 May 2026 04:15:50 GMT","end":"Fri, 28 Aug 2026 05:15:20 GMT"},"fingerprint":{"sha1":"76:C3:06:CF:AB:6D:33:4E:AE:DF:C4:54:C2:1D:03:D4:CF:1B:9C:A3","sha256":"10:12:9C:D7:A2:4D:11:94:F2:85:64:80:13:42:3F:4D:AF:06:BA:15:05:A8:C2:4D:43:D3:AB:5A:DE:02:6E:BA"}}},"request":{"raw":"GET /widgets/widgets/?id=%5B%7B%22id%22%3A5%2C%22options%22%3A%7B%22realtime%22%3A0%2C%22news_count%22%3A5%7D%7D%2C%7B%22id%22%3A5%2C%22options%22%3A%7B%22realtime%22%3A0%2C%22news_count%22%3A5%7D%7D%2C%7B%22id%22%3A5%2C%22options%22%3A%7B%22realtime%22%3A0%2C%22news_count%22%3A5%7D%7D%2C%7B%22id%22%3A5%2C%22options%22%3A%7B%22realtime%22%3A0%2C%22news_count%22%3A5%7D%7D%5D HTTP/1.1\r\nHost: www.cryptohopper.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/json, text/javascript, */*; q=0.01\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://agilitetrade.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.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":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: application/json; charset=UTF-8\r\ncontent-encoding: br\r\ndate: Mon, 27 Jul 2026 03:33:52 GMT\r\nx-content-type-options: nosniff\r\nserver: cloudflare\r\nx-frame-options: SAMEORIGIN\r\nx-xss-protection: 1; mode=block\r\naccess-control-allow-origin: *\r\nset-cookie: widgets_csrf_cookie_name=66974e13a588bf199858882166121984; expires=Mon, 27-Jul-2026 05:33:52 GMT; Max-Age=7200; path=/; domain=.cryptohopper.com; secure\r\ncontent-security-policy: default-src 'self' *.cryptohopper.com *.cryptohopper.tech *.candletrader.app *.hotjar.io *.hotjar.com; object-src 'self' *.cryptohopper.com *.cryptohopper.tech partners.liquid.com *.candletrader.app widget.changelly.com *.intercom.io *.intercomcdn.com *.posthog.com cdn.paddle.com; script-src 'self' 'unsafe-inline' 'unsafe-eval' static.tradingview.com *.candletrader.app *.cryptohopper.com *.cryptohopper.tech *.posthog.com eu-assets.i.posthog.com *.intercom.io *.intercomcdn.com ajax.googleapis.com cdnjs.cloudflare.com static.cloudflareinsights.com *.shopifycdn.com *.myshopify.com sortablejs.github.io cdn.paddle.com www.googletagmanager.com *.hotjar.com *.hotjar.io cdn.jsdelivr.net optimize.google.com partners.liquid.com widget.changelly.com s0.2mdn.net unpkg.com wchat.freshchat.com cryptohopper.webchat.freshchat.com cdn.plyr.io cointelegraph.com s3.tradingview.com connect.facebook.net d.adroll.mgr.consensu.org d.adroll.com s.adroll.com cdn4.mxpnl.com ssl.google-analytics.com bat.bing.com s3.amazonaws.com platform.twitter.com cdn.syndication.twimg.com cryptohopper.us17.list-manage.com ajax.cloudflare.com www.gstatic.com js.stripe.com www.google-analytics.com www.googleadservices.com www.youtube.com www.google.com googleads.g.doubleclick.net static.doubleclick.net cdn.segment.com fast.appcues.com www.googleanalytics.com www.googleoptimize.com assets.customer.io code.gist.build; connect-src 'self' www.tradingview.com *.candletrader.app *.posthog.com *.shopifycdn.com *.intercom.io *.cryptohopper.com *.cryptohopper.tech *.intercomcdn.com *.myshopify.com *.shopify.com *.cryptohopper.tech *.hotjar.com track-eu.customer.io *.api.gist.build *.cloud.gist.build ws: *.cryptohopper.com *.cryptohopper.tech stats.g.doubleclick.net cdn.paddle.com api.appcues.net fast.appcues.com api.segment.io *.google-analytics.com *.analytics.google.com widget.changelly.com api.cointelegraph.com wchat.freshchat.com *.hotjar.com *.hotjar.io saveload.tradingview.com cdn.plyr.io cdn4.mxpnl.com; img-src 'self' blob: data: *.cryptohopper.com *.cryptohopper.tech www.google.ie *.candletrader.app *.posthog.com *.coingecko.com *.intercomassets.com *.intercom.io *.intercomcdn.com *.shopifycdn.com cdn.shopify.com *.hotjar.com cdn.paddle.com cdn.jsdelivr.net img.youtube.com *.giphy.com res.cloudinary.com appleid.apple.com sync.taboola.com widget.changelly.com assets.coingecko.com stats.g.doubleclick.net www.google.nl dsum-sec.casalemedia.com ups.analytics.yahoo.com pixel.advertising.com pixel.rubiconproject.com sync.outbrain.com image2.pubmatic.com ads.yahoo.com trc.taboola.com eb2.3lift.com x.bidswitch.net idsync.rlcdn.com pixel.tapad.com cm.g.doubleclick.net us-u.openx.net assetscdn-wchat.freshchat.com s.adroll.com d.adroll.com ib.adnxs.com cdn-images.mailchimp.com cdn4.mxpnl.com s3.tradingview.com bat.bing.com chart.googleapis.com pbs.twimg.com abs.twimg.com syndication.twitter.com q.stripe.com www.google.com googleads.g.doubleclick.net i.ytimg.com cdn.plyr.io *.google-analytics.com *.analytics.google.com www.facebook.com maxcdn.bootstrapcdn.com www.googletagmanager.com optimize.google.com track-eu.customer.io data:; style-src 'self' 'unsafe-inline' *.cryptohopper.com *.cryptohopper.tech *.candletrader.app *.intercom.io *.intercomcdn.com *.shopifycdn.com cdn.shopify.com *.hotjar.com fast.appcues.com cdn.paddle.com unpkg.com cdnjs.cloudflare.com widget.changelly.com assetscdn-wchat.freshchat.com wchat.freshchat.com stats.g.doubleclick.net cdn-images.mailchimp.com s3.tradingview.com cdn.plyr.io fonts.googleapis.com maxcdn.bootstrapcdn.com platform.twitter.com www.youtube.com optimize.google.com fonts.googleapis.com code.gist.build; font-src 'self' *.cryptohopper.com *.cryptohopper.tech *.candletrader.app *.hotjar.com *.shopifycdn.com *.intercom.io *.intercomcdn.com *.myshopify.com *.shopify.com cdn.paddle.com cdn-images.mailchimp.com widget.changelly.com s3.tradingview.com fonts.googleapis.com maxcdn.bootstrapcdn.com fonts.gstatic.com; frame-src 'self' static.cryptohopper.com *.candletrader.app *.intercom.io *.posthog.com *.intercom-sheets.com intercom-sheets.com *.intercomcdn.com *.tradingview-widget.com buy.paddle.com *.shopifycdn.com *.myshopify.com *.shopify.com cdn.paddle.com create-checkout.paddle.com widget.changelly.com plugin.partners.liquid.com *.hotjar.com cryptohopper.webpush.freshchat.com wchat.freshchat.com js.stripe.com *.sumsub.com renderer.gist.build code.gist.build data: *.cryptohopper.com *.cryptohopper.tech coin360.com coins.gourl.io platform.twitter.com www.emjcd.com cj.dotomi.com www.facebook.com cdn4.mxpnl.com www.youtube.com www.tradingview.com discordapp.com s3.tradingview.com s.tradingview.com googleads.g.doubleclick.net www.google.com www.google.nl optimize.google.com; media-src 'self' blob: *.cryptohopper.com *.cryptohopper.tech *.candletrader.app res.cloudinary.com *.intercom.io *.intercomcdn.com *.shopifycdn.com *.myshopify.com *.shopify.com cdn.paddle.com widget.changelly.com s3.tradingview.com cdn.plyr.io; child-src 'self' *.cryptohopper.com *.candletrader.app *.cryptohopper.tech *.intercom.io *.intercomcdn.com cdn.paddle.com *.shopifycdn.com *.myshopify.com *.shopify.com widget.changelly.com plugin.partners.liquid.com www.youtube.com; form-action *;\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nx-cache: Miss from cloudfront\r\nvia: 1.1 2f1d504785a7b18c010970da2bd4ab8c.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: OSL50-P3\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-amz-cf-id: uy1NLgGztTBUVR5g16rA4K_OTn7rjovzW6g17hNjqgBlqkG4uQnk4w==\r\ncf-cache-status: DYNAMIC\r\npriority: u=3,i=?0\r\ncf-ray: a21895ca0c8c5684-OSL\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]}],"data":{"size":4582,"size_decoded":7312,"mime_type":"application/json; charset=UTF-8","magic":"JSON text data","md5":"6f1fbb3e6c95297db1973a20e87f0352","sha1":"6759f5512653ad76143b285a195b92356da6e082","sha256":"481785fbafff218359bccf33def0c3a01c073802c4673c566e3a6f0fc39547fa","sha512":"f62b1257406d69c774f8241f6824a94b5c4dce98e46b3d3ab0def369bb2d9f3bc9232d9d4c466667b54596a2483c4b22a980ca3e6961f85fb18af1982b4fba60","ssdeep":"96:/JkrH+/51DiprIDipn/Kto7x3/dbDkNPOB01Ua9eUoLcOS:p/51w8wn/Kts/dUNWBFajoLcd","tlshash":"8c916160f486a1a546f30bc13d35f27e3323b05a4f32cec517ee519c6f50ea0462b592","first_seen":"2026-07-27T03:07:13.33298Z","last_seen":"2026-07-27T03:37:34.921117Z","times_seen":5,"resource_available":false,"data":"eyI1IjoiPGRpdiBjbGFzcz1cImNyeXB0b2JveGVzXCIgaWQ9XCJtY3ctNVwiPjx1bCBjbGFzcz1cIm1jdy1uZXdzXCI+PGxpPjxkaXYgY2xhc3M9XCJtY3ctbi1zaW5nbGVcIj48YSBocmVmPVwiaHR0cHM6XC9cL3d3dy5jcnlwdG9ob3BwZXIuY29tXC9uZXdzXC9idWlsZGluZy1maW5hbmNpYWwtaW5mcmFzdHJ1Y3R1cmUtb24tYml0Y29pbi13aXRoLWFyay0xMzIyMFwiIHRpdGxlPVwiQnVpbGRpbmcgRmluYW5jaWFsIEluZnJhc3RydWN0dXJlIG9uIEJpdGNvaW4gd2l0aCBBcmtcIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgY2xhc3M9XCJtY3ctbi1tZWRpYVwiPjxkaXYgY2xhc3M9XCJtY3ctbi1pbWdcIj48XC9kaXY+PFwvYT48ZGl2IGNsYXNzPVwibWN3LW4tY29udGVudFwiPjxhIGhyZWY9XCJodHRwczpcL1wvd3d3LmNyeXB0b2hvcHBlci5jb21cL25ld3NcL2J1aWxkaW5nLWZpbmFuY2lhbC1pbmZyYXN0cnVjdHVyZS1vbi1iaXRjb2luLXdpdGgtYXJrLTEzMjIwXCIgdGFyZ2V0PVwiX2JsYW5rXCIgY2xhc3M9XCJtY3ctbi10aXRsZVwiPkJ1aWxkaW5nIEZpbmFuY2lhbCBJbmZyYXN0cnVjdHVyZSBvbiBCaXRjb2luIHdpdGggQXJrPFwvYT48ZGl2IGNsYXNzPVwibWN3LW4tc3RhdFwiPkNyeXB0b2hvcHBlciAtIDIgRGF5cyBhZ288XC9kaXY+PGRpdiBjbGFzcz1cIm1jdy1uLXRleHRcIj5UaHJlZSB5ZWFycyBhZnRlciBCaXRmaW5leCBjb3ZlcmVkIEFyayBhcyBhbiB1bmltcGxlbWVudGVkIHByb3Bvc2FsLCB0d28gZGlmZmVyZW50IGltcGxlbWVudGF0aW9ucyBcdTIwMTQgQXJrIExhYnNcdTIwMTkgQXJrYWRlIGFuZCBTZWNvbmRcdTIwMTlzIEJhcmsgXHUyMDE0IGFyZSBub3cgbGl2ZSBvbiYjODIzMDs8XC9kaXY+PFwvZGl2PjxcL2Rpdj48XC9saT48bGk+PGRpdiBjbGFzcz1cIm1jdy1uLXNpbmdsZVwiPjxhIGhyZWY9XCJodHRwczpcL1wvd3d3LmNyeXB0b2hvcHBlci5jb21cL25ld3NcL2h0eC1nZW5lc2lzLWhhY2thdGhvbi1zdWNjZXNzZnVsbHktY29uY2x1ZGVzLWZ1ZWxpbmctZWNvc3lzdGVtLWdyb3d0aC1hbmQtbG9uZy10ZXJtLWh0eC12YWx1ZS0xMzIxOVwiIHRpdGxlPVwiSFRYIEdlbmVzaXMgSGFja2F0aG9uIFN1Y2Nlc3NmdWxseSBDb25jbHVkZXM6IEZ1ZWxpbmcgRWNvc3lzdGVtIEdyb3d0aCBhbmRcdTAwYTAgTG9uZy1UZXJtICRIVFggVmFsdWVcIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgY2xhc3M9XCJtY3ctbi1tZWRpYVwiPjxkaXYgY2xhc3M9XCJtY3ctbi1pbWdcIj48XC9kaXY+PFwvYT48ZGl2IGNsYXNzPVwibWN3LW4tY29udGVudFwiPjxhIGhyZWY9XCJodHRwczpcL1wvd3d3LmNyeXB0b2hvcHBlci5jb21cL25ld3NcL2h0eC1nZW5lc2lzLWhhY2thdGhvbi1zdWNjZXNzZnVsbHktY29uY2x1ZGVzLWZ1ZWxpbmctZWNvc3lzdGVtLWdyb3d0aC1hbmQtbG9uZy10ZXJtLWh0eC12YWx1ZS0xMzIxOVwiIHRhcmdldD1cIl9ibGFua1wiIGNsYXNzPVwibWN3LW4tdGl0bGVcIj5IVFggR2VuZXNpcyBIYWNrYXRob24gU3VjY2Vzc2Z1bGx5IENvbmNsdWRlczogRnVlbGluZyBFY29zeXN0ZW0gR3Jvd3RoIGFuZFx1MDBhMCBMb25nLVRlcm0gJEhUWCBWYWx1ZTxcL2E+PGRpdiBjbGFzcz1cIm1jdy1uLXN0YXRcIj5DcnlwdG9ob3BwZXIgLSAyIERheXMgYWdvPFwvZGl2PjxkaXYgY2xhc3M9XCJtY3ctbi10ZXh0XCI+QWZ0ZXIgbmVhcmx5IHRocmVlIG1vbnRocyBvZiBjb21wZXRpdGlvbiwgdGhlIEhUWCBHZW5lc2lzIEhhY2thdGhvbiwgY28taG9zdGVkIGJ5IEhUWCBEQU8gYW5kIEIuQUksIHdpdGggVGluVGluTGFuZCBzZXJ2aW5nIGFzIG9yZ2FuaXplciwgaGFzIHN1Y2Nlc3NmdWxseSBjb25jbHVkZWQuIFRoZSYjODIzMDs8XC9kaXY+PFwvZGl2PjxcL2Rpdj48XC9saT48bGk+PGRpdiBjbGFzcz1cIm1jdy1uLXNpbmdsZVwiPjxhIGhyZWY9XCJodHRwczpcL1wvd3d3LmNyeXB0b2hvcHBlci5jb21cL25ld3NcL2h0eC1rLWxpbmUtY2hhcnRzLWFyZS1mdWxseS11cGdyYWRlZC0xMzIxOFwiIHRpdGxlPVwiSFRYIEstbGluZSBDaGFydHMgQXJlIEZ1bGx5IFVwZ3JhZGVkIVwiIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiBjbGFzcz1cIm1jdy1uLW1lZGlhXCI+PGRpdiBjbGFzcz1cIm1jdy1uLWltZ1wiPjxcL2Rpdj48XC9hPjxkaXYgY2xhc3M9XCJtY3ctbi1jb250ZW50XCI+PGEgaHJlZj1cImh0dHBzOlwvXC93d3cuY3J5cHRvaG9wcGVyLmNvbVwvbmV3c1wvaHR4LWstbGluZS1jaGFydHMtYXJlLWZ1bGx5LXVwZ3JhZGVkLTEzMjE4XCIgdGFyZ2V0PVwiX2JsYW5rXCIgY2xhc3M9XCJtY3ctbi10aXRsZVwiPkhUWCBLLWxpbmUgQ2hhcnRzIEFyZSBGdWxseSBVcGdyYWRlZCE8XC9hPjxkaXYgY2xhc3M9XCJtY3ctbi1zdGF0XCI+Q3J5cHRvaG9wcGVyIC0gMiBEYXlzIGFnbzxcL2Rpdj48ZGl2IGNsYXNzPVwibWN3LW4tdGV4dFwiPkNhblx1MjAxOXQgcmVhZCB0aGUgbWFya2V0PyBOb3QgZW5vdWdoIGluZGljYXRvcnM/IENhblx1MjAxOXQgZmluZCB0aGUgZGF0YT9cblxuXG5cbkhUWCBLLWxpbmUgY2hhcnRzIGFyZSBmdWxseSB1cGdyYWRlZCEgQWRkZWQgcHJvZmVzc2lvbmFsIHRlY2huaWNhbCBpbmRpY2F0b3JzLCBjdXN0b21pemFibGUgaW5kaWNhdG9yIHN0eWxlcywgYW5kJiM4MjMwOzxcL2Rpdj48XC9kaXY+PFwvZGl2PjxcL2xpPjxsaT48ZGl2IGNsYXNzPVwibWN3LW4tc2luZ2xlXCI+PGEgaHJlZj1cImh0dHBzOlwvXC93d3cuY3J5cHRvaG9wcGVyLmNvbVwvbmV3c1wvdGhlLWNsaW1iLXRvd2FyZHMtNjgtMDAwLWNvbnRpbnVlcy0xMzIxNlwiIHRpdGxlPVwiVGhlIENsaW1iIFRvd2FyZHMgJDY4LDAwMCBDb250aW51ZXNcIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgY2xhc3M9XCJtY3ctbi1tZWRpYVwiPjxkaXYgY2xhc3M9XCJtY3ctbi1pbWdcIj48XC9kaXY+PFwvYT48ZGl2IGNsYXNzPVwibWN3LW4tY29udGVudFwiPjxhIGhyZWY9XCJodHRwczpcL1wvd3d3LmNyeXB0b2hvcHBlci5jb21cL25ld3NcL3RoZS1jbGltYi10b3dhcmRzLTY4LTAwMC1jb250aW51ZXMtMTMyMTZcIiB0YXJnZXQ9XCJfYmxhbmtcIiBjbGFzcz1cIm1jdy1uLXRpdGxlXCI+VGhlIENsaW1iIFRvd2FyZHMgJDY4LDAwMCBDb250aW51ZXM8XC9hPjxkaXYgY2xhc3M9XCJtY3ctbi1zdGF0XCI+Q3J5cHRvaG9wcGVyIC0gNCBEYXlzIGFnbzxcL2Rpdj48ZGl2IGNsYXNzPVwibWN3LW4tdGV4dFwiPkJpdGNvaW4gaGFzIGdyb3VuZCBoaWdoZXIgZm9yIGEgc2Vjb25kIHdlZWssIHByaW50aW5nICQ2Niw5OTAgb24gMjEgSnVseSwgMjAyNiwgaXRzIGhpZ2hlc3QgcHJpY2Ugc2luY2UgbWlkLUp1bmUuIFRoZSBwcmljZSBpcyBub3cgdXAgMTUuOSYjODIzMDs8XC9kaXY+PFwvZGl2PjxcL2Rpdj48XC9saT48bGk+PGRpdiBjbGFzcz1cIm1jdy1uLXNpbmdsZVwiPjxhIGhyZWY9XCJodHRwczpcL1wvd3d3LmNyeXB0b2hvcHBlci5jb21cL25ld3NcL2EtZGVuc2Utd2Vlay1haGVhZC1mZWQtZGVjaXNpb24tYmlnLXRlY2gtZWFybmluZ3MtYW5kLW1vbnRoLWVuZC1jcnlwdG8tZXhwaXJ5LTEzMjE1XCIgdGl0bGU9XCJBIGRlbnNlIHdlZWsgYWhlYWQ6IEZlZCBkZWNpc2lvbiwgQmlnIFRlY2ggZWFybmluZ3MsIGFuZCBtb250aC1lbmQgY3J5cHRvIGV4cGlyeVwiIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIiBjbGFzcz1cIm1jdy1uLW1lZGlhXCI+PGRpdiBjbGFzcz1cIm1jdy1uLWltZ1wiPjxcL2Rpdj48XC9hPjxkaXYgY2xhc3M9XCJtY3ctbi1jb250ZW50XCI+PGEgaHJlZj1cImh0dHBzOlwvXC93d3cuY3J5cHRvaG9wcGVyLmNvbVwvbmV3c1wvYS1kZW5zZS13ZWVrLWFoZWFkLWZlZC1kZWNpc2lvbi1iaWctdGVjaC1lYXJuaW5ncy1hbmQtbW9udGgtZW5kLWNyeXB0by1leHBpcnktMTMyMTVcIiB0YXJnZXQ9XCJfYmxhbmtcIiBjbGFzcz1cIm1jdy1uLXRpdGxlXCI+QSBkZW5zZSB3ZWVrIGFoZWFkOiBGZWQgZGVjaXNpb24sIEJpZyBUZWNoIGVhcm5pbmdzLCBhbmQgbW9udGgtZW5kIGNyeXB0byBleHBpcnk8XC9hPjxkaXYgY2xhc3M9XCJtY3ctbi1zdGF0XCI+Q3J5cHRvaG9wcGVyIC0gNCBEYXlzIGFnbzxcL2Rpdj48ZGl2IGNsYXNzPVwibWN3LW4tdGV4dFwiPlRMO0RSXG5cblxuXG5GZWQsIEdEUCwgYW5kIFBDRSByZWxlYXNlcyBjb21wcmVzcyBmb3VyIHJhdGUgc2lnbmFscyBpbnRvIHR3byBjb25zZWN1dGl2ZSBkYXlzIChKdWx5IDI5IGFuZCAzMCksIHBvdGVudGlhbGx5IGZvcmNpbmcgcmFwaWQgbWFya2V0IHJlcG9zaXRpb25pbmcgaWYgc2lnbmFscyYjODIzMDs8XC9kaXY+PFwvZGl2PjxcL2Rpdj48XC9saT48XC91bD48YSBocmVmPVwiaHR0cHM6XC9cL3d3dy5jcnlwdG9ob3BwZXIuY29tXC9uZXdzXCIgdGl0bGU9XCJQb3dlcmVkIGJ5IENyeXB0b2hvcHBlclwiIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vcmVmZXJyZXIgbm9vcGVuZXJcIiBjbGFzcz1cInB1bGwtcmlnaHRcIj5SZWFkIG1vcmUgbmV3cyBhdCBDcnlwdG9ob3BwZXI8XC9hPjxcL2Rpdj4ifQ=="}},"time_used":450,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":450,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/plugins/revolution/js/jquery.themepunch.tools.min.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.589Z","timestamp":1785123231589,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /plugins/revolution/js/jquery.themepunch.tools.min.js HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Wed, 22 Apr 2026 17:27:51 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 37077\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":110563,"size_decoded":37401,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (27287), with CRLF line terminators","md5":"a748a9e56b2c639013c770506f1fd529","sha1":"537edd9b364ac005df2d1c57be873945b2fecdf6","sha256":"6eabb193731278713f4208ea84b8c7334c3dfc98f01cb074778280e1df536e62","sha512":"ade8062894443994d5dc96497426dde1e238adfb9600aab7b3713ce804934aca5e12ae3267d961268ac8a146bd06754aa110006964af95e9394dfb1ea5b825b8","ssdeep":"1536:iQpnayKBPfF5aknBDU0KsIu5XOKvITONqvUejr3P99cN7H98rYx5s14/gCsBMXw7:iJfFYoDU0xVqvUejbs7dCYdInBwD0a+","tlshash":"96b329ca35517022859622a5517f0643723bdcbab4098d3cf548d9ed3e2cc8921bffba","first_seen":"2023-03-07T01:03:49Z","last_seen":"2026-07-27T05:21:44.294958Z","times_seen":5135,"resource_available":true,"data":"LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQoJLQlUSEVNRVBVTkNIIFRPT0xTIFZlci4gMS4wICAgICAtDQoJIExhc3QgVXBkYXRlIG9mIFRvb2xzIDI3LjAyLjIwMTUNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KDQovKg0KKiBAZmlsZU92ZXJ2aWV3IFRvdWNoU3dpcGUgLSBqUXVlcnkgUGx1Z2luDQoqIEB2ZXJzaW9uIDEuNi45DQoqDQoqIEBhdXRob3IgTWF0dCBCcnlzb24gaHR0cDovL3d3dy5naXRodWIuY29tL21hdHRicnlzb24NCiogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vbWF0dGJyeXNvbi9Ub3VjaFN3aXBlLUpxdWVyeS1QbHVnaW4NCiogQHNlZSBodHRwOi8vbGFicy5za2lua2Vycy5jb20vdG91Y2hTd2lwZS8NCiogQHNlZSBodHRwOi8vcGx1Z2lucy5qcXVlcnkuY29tL3Byb2plY3QvdG91Y2hTd2lwZQ0KKg0KKiBDb3B5cmlnaHQgKGMpIDIwMTAgTWF0dCBCcnlzb24NCiogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuDQoqDQoqLw0KDQoNCg0KKGZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBkZWZpbmU9PT0iZnVuY3Rpb24iJiZkZWZpbmUuYW1kJiZkZWZpbmUuYW1kLmpRdWVyeSl7ZGVmaW5lKFsianF1ZXJ5Il0sYSl9ZWxzZXthKGpRdWVyeSl9fShmdW5jdGlvbihmKXt2YXIgeT0iMS42LjkiLHA9ImxlZnQiLG89InJpZ2h0IixlPSJ1cCIseD0iZG93biIsYz0iaW4iLEE9Im91dCIsbT0ibm9uZSIscz0iYXV0byIsbD0ic3dpcGUiLHQ9InBpbmNoIixCPSJ0YXAiLGo9ImRvdWJsZXRhcCIsYj0ibG9uZ3RhcCIsej0iaG9sZCIsRT0iaG9yaXpvbnRhbCIsdT0idmVydGljYWwiLGk9ImFsbCIscj0xMCxnPSJzdGFydCIsaz0ibW92ZSIsaD0iZW5kIixxPSJjYW5jZWwiLGE9Im9udG91Y2hzdGFydCIgaW4gd2luZG93LHY9d2luZG93Lm5hdmlnYXRvci5tc1BvaW50ZXJFbmFibGVkJiYhd2luZG93Lm5hdmlnYXRvci5wb2ludGVyRW5hYmxlZCxkPXdpbmRvdy5uYXZpZ2F0b3IucG9pbnRlckVuYWJsZWR8fHdpbmRvdy5uYXZpZ2F0b3IubXNQb2ludGVyRW5hYmxlZCxDPSJUb3VjaFN3aXBlIjt2YXIgbj17ZmluZ2VyczoxLHRocmVzaG9sZDo3NSxjYW5jZWxUaHJlc2hvbGQ6bnVsbCxwaW5jaFRocmVzaG9sZDoyMCxtYXhUaW1lVGhyZXNob2xkOm51bGwsZmluZ2VyUmVsZWFzZVRocmVzaG9sZDoyNTAsbG9uZ1RhcFRocmVzaG9sZDo1MDAsZG91YmxlVGFwVGhyZXNob2xkOjIwMCxzd2lwZTpudWxsLHN3aXBlTGVmdDpudWxsLHN3aXBlUmlnaHQ6bnVsbCxzd2lwZVVwOm51bGwsc3dpcGVEb3duOm51bGwsc3dpcGVTdGF0dXM6bnVsbCxwaW5jaEluOm51bGwscGluY2hPdXQ6bnVsbCxwaW5jaFN0YXR1czpudWxsLGNsaWNrOm51bGwsdGFwOm51bGwsZG91YmxlVGFwOm51bGwsbG9uZ1RhcDpudWxsLGhvbGQ6bnVsbCx0cmlnZ2VyT25Ub3VjaEVuZDp0cnVlLHRyaWdnZXJPblRvdWNoTGVhdmU6ZmFsc2UsYWxsb3dQYWdlU2Nyb2xsOiJhdXRvIixmYWxsYmFja1RvTW91c2VFdmVudHM6dHJ1ZSxleGNsdWRlZEVsZW1lbnRzOiJsYWJlbCwgYnV0dG9uLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgYSwgLm5vU3dpcGUiLHByZXZlbnREZWZhdWx0RXZlbnRzOnRydWV9O2YuZm4uc3dpcGV0cD1mdW5jdGlvbihIKXt2YXIgRz1mKHRoaXMpLEY9Ry5kYXRhKEMpO2lmKEYmJnR5cGVvZiBIPT09InN0cmluZyIpe2lmKEZbSF0pe3JldHVybiBGW0hdLmFwcGx5KHRoaXMsQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpKX1lbHNle2YuZXJyb3IoIk1ldGhvZCAiK0grIiBkb2VzIG5vdCBleGlzdCBvbiBqUXVlcnkuc3dpcGV0cCIpfX1lbHNle2lmKCFGJiYodHlwZW9mIEg9PT0ib2JqZWN0Inx8IUgpKXtyZXR1cm4gdy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fXJldHVybiBHfTtmLmZuLnN3aXBldHAudmVyc2lvbj15O2YuZm4uc3dpcGV0cC5kZWZhdWx0cz1uO2YuZm4uc3dpcGV0cC5waGFzZXM9e1BIQVNFX1NUQVJUOmcsUEhBU0VfTU9WRTprLFBIQVNFX0VORDpoLFBIQVNFX0NBTkNFTDpxfTtmLmZuLnN3aXBldHAuZGlyZWN0aW9ucz17TEVGVDpwLFJJR0hUOm8sVVA6ZSxET1dOOngsSU46YyxPVVQ6QX07Zi5mbi5zd2lwZXRwLnBhZ2VTY3JvbGw9e05PTkU6bSxIT1JJWk9OVEFMOkUsVkVSVElDQUw6dSxBVVRPOnN9O2YuZm4uc3dpcGV0cC5maW5nZXJzPXtPTkU6MSxUV086MixUSFJFRTozLEFMTDppfTtmdW5jdGlvbiB3KEYpe2lmKEYmJihGLmFsbG93UGFnZVNjcm9sbD09PXVuZGVmaW5lZCYmKEYuc3dpcGUhPT11bmRlZmluZWR8fEYuc3dpcGVTdGF0dXMhPT11bmRlZmluZWQpKSl7Ri5hbGxvd1BhZ2VTY3JvbGw9bX1pZihGLmNsaWNrIT09dW5kZWZpbmVkJiZGLnRhcD09PXVuZGVmaW5lZCl7Ri50YXA9Ri5jbGlja31pZighRil7Rj17fX1GPWYuZXh0ZW5kKHt9LGYuZm4uc3dpcGV0cC5kZWZhdWx0cyxGKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIEg9Zih0aGlzKTt2YXIgRz1ILmRhdGEoQyk7aWYoIUcpe0c9bmV3IEQodGhpcyxGKTtILmRhdGEoQyxHKX19KX1mdW5jdGlvbiBEKGE1LGF3KXt2YXIgYUE9KGF8fGR8fCFhdy5mYWxsYmFja1RvTW91c2VFdmVudHMpLEs9YUE/KGQ/KHY/Ik1TUG9pbnRlckRvd24iOiJwb2ludGVyZG93biIpOiJ0b3VjaHN0YXJ0Iik6Im1vdXNlZG93biIsYXo9YUE/KGQ/KHY/Ik1TUG9pbnRlck1vdmUiOiJwb2ludGVybW92ZSIpOiJ0b3VjaG1vdmUiKToibW91c2Vtb3ZlIixWPWFBPyhkPyh2PyJNU1BvaW50ZXJVcCI6InBvaW50ZXJ1cCIpOiJ0b3VjaGVuZCIpOiJtb3VzZXVwIixUPWFBP251bGw6Im1vdXNlbGVhdmUiLGFFPShkPyh2PyJNU1BvaW50ZXJDYW5jZWwiOiJwb2ludGVyY2FuY2VsIik6InRvdWNoY2FuY2VsIik7dmFyIGFoPTAsYVE9bnVsbCxhYz0wLGEyPTAsYTA9MCxIPTEsYXI9MCxhSz0wLE49bnVsbDt2YXIgYVM9ZihhNSk7dmFyIGFhPSJzdGFydCI7dmFyIFg9MDt2YXIgYVI9bnVsbDt2YXIgVT0wLGEzPTAsYTY9MCxhZT0wLE89MDt2YXIgYVg9bnVsbCxhZz1udWxsO3RyeXthUy5iaW5kKEssYU8pO2FTLmJpbmQoYUUsYmEpfWNhdGNoKGFsKXtmLmVycm9yKCJldmVudHMgbm90IHN1cHBvcnRlZCAiK0srIiwiK2FFKyIgb24galF1ZXJ5LnN3aXBldHAiKX10aGlzLmVuYWJsZT1mdW5jdGlvbigpe2FTLmJpbmQoSyxhTyk7YVMuYmluZChhRSxiYSk7cmV0dXJuIGFTfTt0aGlzLmRpc2FibGU9ZnVuY3Rpb24oKXthTCgpO3JldHVybiBhU307dGhpcy5kZXN0cm95PWZ1bmN0aW9uKCl7YUwoKTthUy5kYXRhKEMsbnVsbCk7YVM9bnVsbH07dGhpcy5vcHRpb249ZnVuY3Rpb24oYmQsYmMpe2lmKGF3W2JkXSE9PXVuZGVmaW5lZCl7aWYoYmM9PT11bmRlZmluZWQpe3JldHVybiBhd1tiZF19ZWxzZXthd1tiZF09YmN9fWVsc2V7Zi5lcnJvcigiT3B0aW9uICIrYmQrIiBkb2VzIG5vdCBleGlzdCBvbiBqUXVlcnkuc3dpcGV0cC5vcHRpb25zIil9cmV0dXJuIG51bGx9O2Z1bmN0aW9uIGFPKGJlKXtpZihhQygpKXtyZXR1cm59aWYoZihiZS50YXJnZXQpLmNsb3Nlc3QoYXcuZXhjbHVkZWRFbGVtZW50cyxhUykubGVuZ3RoPjApe3JldHVybn12YXIgYmY9YmUub3JpZ2luYWxFdmVudD9iZS5vcmlnaW5hbEV2ZW50OmJlO3ZhciBiZCxiZz1iZi50b3VjaGVzLGJjPWJnP2JnWzBdOmJmO2FhPWc7aWYoYmcpe1g9YmcubGVuZ3RofWVsc2V7YmUucHJldmVudERlZmF1bHQoKX1haD0wO2FRPW51bGw7YUs9bnVsbDthYz0wO2EyPTA7YTA9MDtIPTE7YXI9MDthUj1haygpO049YWIoKTtTKCk7aWYoIWJnfHwoWD09PWF3LmZpbmdlcnN8fGF3LmZpbmdlcnM9PT1pKXx8YVkoKSl7YWooMCxiYyk7VT1hdSgpO2lmKFg9PTIpe2FqKDEsYmdbMV0pO2EyPWEwPWF2KGFSWzBdLnN0YXJ0LGFSWzFdLnN0YXJ0KX1pZihhdy5zd2lwZVN0YXR1c3x8YXcucGluY2hTdGF0dXMpe2JkPVAoYmYsYWEpfX1lbHNle2JkPWZhbHNlfWlmKGJkPT09ZmFsc2Upe2FhPXE7UChiZixhYSk7cmV0dXJuIGJkfWVsc2V7aWYoYXcuaG9sZCl7YWc9c2V0VGltZW91dChmLnByb3h5KGZ1bmN0aW9uKCl7YVMudHJpZ2dlcigiaG9sZCIsW2JmLnRhcmdldF0pO2lmKGF3LmhvbGQpe2JkPWF3LmhvbGQuY2FsbChhUyxiZixiZi50YXJnZXQpfX0sdGhpcyksYXcubG9uZ1RhcFRocmVzaG9sZCl9YXAodHJ1ZSl9cmV0dXJuIG51bGx9ZnVuY3Rpb24gYTQoYmYpe3ZhciBiaT1iZi5vcmlnaW5hbEV2ZW50P2JmLm9yaWdpbmFsRXZlbnQ6YmY7aWYoYWE9PT1ofHxhYT09PXF8fGFuKCkpe3JldHVybn12YXIgYmUsYmo9YmkudG91Y2hlcyxiZD1iaj9ialswXTpiaTt2YXIgYmc9YUkoYmQpO2EzPWF1KCk7aWYoYmope1g9YmoubGVuZ3RofWlmKGF3LmhvbGQpe2NsZWFyVGltZW91dChhZyl9YWE9aztpZihYPT0yKXtpZihhMj09MCl7YWooMSxialsxXSk7YTI9YTA9YXYoYVJbMF0uc3RhcnQsYVJbMV0uc3RhcnQpfWVsc2V7YUkoYmpbMV0pO2EwPWF2KGFSWzBdLmVuZCxhUlsxXS5lbmQpO2FLPWF0KGFSWzBdLmVuZCxhUlsxXS5lbmQpfUg9YTgoYTIsYTApO2FyPU1hdGguYWJzKGEyLWEwKX1pZigoWD09PWF3LmZpbmdlcnN8fGF3LmZpbmdlcnM9PT1pKXx8IWJqfHxhWSgpKXthUT1hTShiZy5zdGFydCxiZy5lbmQpO2FtKGJmLGFRKTthaD1hVChiZy5zdGFydCxiZy5lbmQpO2FjPWFOKCk7YUooYVEsYWgpO2lmKGF3LnN3aXBlU3RhdHVzfHxhdy5waW5jaFN0YXR1cyl7YmU9UChiaSxhYSl9aWYoIWF3LnRyaWdnZXJPblRvdWNoRW5kfHxhdy50cmlnZ2VyT25Ub3VjaExlYXZlKXt2YXIgYmM9dHJ1ZTtpZihhdy50cmlnZ2VyT25Ub3VjaExlYXZlKXt2YXIgYmg9YVoodGhpcyk7YmM9RihiZy5lbmQsYmgpfWlmKCFhdy50cmlnZ2VyT25Ub3VjaEVuZCYmYmMpe2FhPWFEKGspfWVsc2V7aWYoYXcudHJpZ2dlck9uVG91Y2hMZWF2ZSYmIWJjKXthYT1hRChoKX19aWYoYWE9PXF8fGFhPT1oKXtQKGJpLGFhKX19fWVsc2V7YWE9cTtQKGJpLGFhKX1pZihiZT09PWZhbHNlKXthYT1xO1AoYmksYWEpfX1mdW5jdGlvbiBNKGJjKXt2YXIgYmQ9YmMub3JpZ2luYWxFdmVudD9iYy5vcmlnaW5hbEV2ZW50OmJjLGJlPWJkLnRvdWNoZXM7aWYoYmUpe2lmKGJlLmxlbmd0aCl7RygpO3JldHVybiB0cnVlfX1pZihhbigpKXtYPWFlfWEzPWF1KCk7YWM9YU4oKTtpZihiYigpfHwhYW8oKSl7YWE9cTtQKGJkLGFhKX1lbHNle2lmKGF3LnRyaWdnZXJPblRvdWNoRW5kfHwoYXcudHJpZ2dlck9uVG91Y2hFbmQ9PWZhbHNlJiZhYT09PWspKXtiYy5wcmV2ZW50RGVmYXVsdCgpO2FhPWg7UChiZCxhYSl9ZWxzZXtpZighYXcudHJpZ2dlck9uVG91Y2hFbmQmJmE3KCkpe2FhPWg7YUcoYmQsYWEsQil9ZWxzZXtpZihhYT09PWspe2FhPXE7UChiZCxhYSl9fX19YXAoZmFsc2UpO3JldHVybiBudWxsfWZ1bmN0aW9uIGJhKCl7WD0wO2EzPTA7VT0wO2EyPTA7YTA9MDtIPTE7UygpO2FwKGZhbHNlKX1mdW5jdGlvbiBMKGJjKXt2YXIgYmQ9YmMub3JpZ2luYWxFdmVudD9iYy5vcmlnaW5hbEV2ZW50OmJjO2lmKGF3LnRyaWdnZXJPblRvdWNoTGVhdmUpe2FhPWFEKGgpO1AoYmQsYWEpfX1mdW5jdGlvbiBhTCgpe2FTLnVuYmluZChLLGFPKTthUy51bmJpbmQoYUUsYmEpO2FTLnVuYmluZChheixhNCk7YVMudW5iaW5kKFYsTSk7aWYoVCl7YVMudW5iaW5kKFQsTCl9YXAoZmFsc2UpfWZ1bmN0aW9uIGFEKGJnKXt2YXIgYmY9Ymc7dmFyIGJlPWFCKCk7dmFyIGJkPWFvKCk7dmFyIGJjPWJiKCk7aWYoIWJlfHxiYyl7YmY9cX1lbHNle2lmKGJkJiZiZz09ayYmKCFhdy50cmlnZ2VyT25Ub3VjaEVuZHx8YXcudHJpZ2dlck9uVG91Y2hMZWF2ZSkpe2JmPWh9ZWxzZXtpZighYmQmJmJnPT1oJiZhdy50cmlnZ2VyT25Ub3VjaExlYXZlKXtiZj1xfX19cmV0dXJuIGJmfWZ1bmN0aW9uIFAoYmUsYmMpe3ZhciBiZCxiZj1iZS50b3VjaGVzO2lmKChKKCl8fFcoKSl8fChRKCl8fGFZKCkpKXtpZihKKCl8fFcoKSl7YmQ9YUcoYmUsYmMsbCl9aWYoKFEoKXx8YVkoKSkmJmJkIT09ZmFsc2Upe2JkPWFHKGJlLGJjLHQpfX1lbHNle2lmKGFIKCkmJmJkIT09ZmFsc2Upe2JkPWFHKGJlLGJjLGopfWVsc2V7aWYoYXEoKSYmYmQhPT1mYWxzZSl7YmQ9YUcoYmUsYmMsYil9ZWxzZXtpZihhaSgpJiZiZCE9PWZhbHNlKXtiZD1hRyhiZSxiYyxCKX19fX1pZihiYz09PXEpe2JhKGJlKX1pZihiYz09PWgpe2lmKGJmKXtpZighYmYubGVuZ3RoKXtiYShiZSl9fWVsc2V7YmEoYmUpfX1yZXR1cm4gYmR9ZnVuY3Rpb24gYUcoYmYsYmMsYmUpe3ZhciBiZDtpZihiZT09bCl7YVMudHJpZ2dlcigic3dpcGVTdGF0dXMiLFtiYyxhUXx8bnVsbCxhaHx8MCxhY3x8MCxYLGFSXSk7aWYoYXcuc3dpcGVTdGF0dXMpe2JkPWF3LnN3aXBlU3RhdHVzLmNhbGwoYVMsYmYsYmMsYVF8fG51bGwsYWh8fDAsYWN8fDAsWCxhUik7aWYoYmQ9PT1mYWxzZSl7cmV0dXJuIGZhbHNlfX1pZihiYz09aCYmYVcoKSl7YVMudHJpZ2dlcigic3dpcGUiLFthUSxhaCxhYyxYLGFSXSk7aWYoYXcuc3dpcGUpe2JkPWF3LnN3aXBlLmNhbGwoYVMsYmYsYVEsYWgsYWMsWCxhUik7aWYoYmQ9PT1mYWxzZSl7cmV0dXJuIGZhbHNlfX1zd2l0Y2goYVEpe2Nhc2UgcDphUy50cmlnZ2VyKCJzd2lwZUxlZnQiLFthUSxhaCxhYyxYLGFSXSk7aWYoYXcuc3dpcGVMZWZ0KXtiZD1hdy5zd2lwZUxlZnQuY2FsbChhUyxiZixhUSxhaCxhYyxYLGFSKX1icmVhaztjYXNlIG86YVMudHJpZ2dlcigic3dpcGVSaWdodCIsW2FRLGFoLGFjLFgsYVJdKTtpZihhdy5zd2lwZVJpZ2h0KXtiZD1hdy5zd2lwZVJpZ2h0LmNhbGwoYVMsYmYsYVEsYWgsYWMsWCxhUil9YnJlYWs7Y2FzZSBlOmFTLnRyaWdnZXIoInN3aXBlVXAiLFthUSxhaCxhYyxYLGFSXSk7aWYoYXcuc3dpcGVVcCl7YmQ9YXcuc3dpcGVVcC5jYWxsKGFTLGJmLGFRLGFoLGFjLFgsYVIpfWJyZWFrO2Nhc2UgeDphUy50cmlnZ2VyKCJzd2lwZURvd24iLFthUSxhaCxhYyxYLGFSXSk7aWYoYXcuc3dpcGVEb3duKXtiZD1hdy5zd2lwZURvd24uY2FsbChhUyxiZixhUSxhaCxhYyxYLGFSKX1icmVha319fWlmKGJlPT10KXthUy50cmlnZ2VyKCJwaW5jaFN0YXR1cyIsW2JjLGFLfHxudWxsLGFyfHwwLGFjfHwwLFgsSCxhUl0pO2lmKGF3LnBpbmNoU3RhdHVzKXtiZD1hdy5waW5jaFN0YXR1cy5jYWxsKGFTLGJmLGJjLGFLfHxudWxsLGFyfHwwLGFjfHwwLFgsSCxhUik7aWYoYmQ9PT1mYWxzZSl7cmV0dXJuIGZhbHNlfX1pZihiYz09aCYmYTkoKSl7c3dpdGNoKGFLKXtjYXNlIGM6YVMudHJpZ2dlcigicGluY2hJbiIsW2FLfHxudWxsLGFyfHwwLGFjfHwwLFgsSCxhUl0pO2lmKGF3LnBpbmNoSW4pe2JkPWF3LnBpbmNoSW4uY2FsbChhUyxiZixhS3x8bnVsbCxhcnx8MCxhY3x8MCxYLEgsYVIpfWJyZWFrO2Nhc2UgQTphUy50cmlnZ2VyKCJwaW5jaE91dCIsW2FLfHxudWxsLGFyfHwwLGFjfHwwLFgsSCxhUl0pO2lmKGF3LnBpbmNoT3V0KXtiZD1hdy5waW5jaE91dC5jYWxsKGFTLGJmLGFLfHxudWxsLGFyfHwwLGFjfHwwLFgsSCxhUil9YnJlYWt9fX1pZihiZT09Qil7aWYoYmM9PT1xfHxiYz09PWgpe2NsZWFyVGltZW91dChhWCk7Y2xlYXJUaW1lb3V0KGFnKTtpZihaKCkmJiFJKCkpe089YXUoKTthWD1zZXRUaW1lb3V0KGYucHJveHkoZnVuY3Rpb24oKXtPPW51bGw7YVMudHJpZ2dlcigidGFwIixbYmYudGFyZ2V0XSk7aWYoYXcudGFwKXtiZD1hdy50YXAuY2FsbChhUyxiZixiZi50YXJnZXQpfX0sdGhpcyksYXcuZG91YmxlVGFwVGhyZXNob2xkKX1lbHNle089bnVsbDthUy50cmlnZ2VyKCJ0YXAiLFtiZi50YXJnZXRdKTtpZihhdy50YXApe2JkPWF3LnRhcC5jYWxsKGFTLGJmLGJmLnRhcmdldCl9fX19ZWxzZXtpZihiZT09ail7aWYoYmM9PT1xfHxiYz09PWgpe2NsZWFyVGltZW91dChhWCk7Tz1udWxsO2FTLnRyaWdnZXIoImRvdWJsZXRhcCIsW2JmLnRhcmdldF0pO2lmKGF3LmRvdWJsZVRhcCl7YmQ9YXcuZG91YmxlVGFwLmNhbGwoYVMsYmYsYmYudGFyZ2V0KX19fWVsc2V7aWYoYmU9PWIpe2lmKGJjPT09cXx8YmM9PT1oKXtjbGVhclRpbWVvdXQoYVgpO089bnVsbDthUy50cmlnZ2VyKCJsb25ndGFwIixbYmYudGFyZ2V0XSk7aWYoYXcubG9uZ1RhcCl7YmQ9YXcubG9uZ1RhcC5jYWxsKGFTLGJmLGJmLnRhcmdldCl9fX19fXJldHVybiBiZH1mdW5jdGlvbiBhbygpe3ZhciBiYz10cnVlO2lmKGF3LnRocmVzaG9sZCE9PW51bGwpe2JjPWFoPj1hdy50aHJlc2hvbGR9cmV0dXJuIGJjfWZ1bmN0aW9uIGJiKCl7dmFyIGJjPWZhbHNlO2lmKGF3LmNhbmNlbFRocmVzaG9sZCE9PW51bGwmJmFRIT09bnVsbCl7YmM9KGFVKGFRKS1haCk+PWF3LmNhbmNlbFRocmVzaG9sZH1yZXR1cm4gYmN9ZnVuY3Rpb24gYWYoKXtpZihhdy5waW5jaFRocmVzaG9sZCE9PW51bGwpe3JldHVybiBhcj49YXcucGluY2hUaHJlc2hvbGR9cmV0dXJuIHRydWV9ZnVuY3Rpb24gYUIoKXt2YXIgYmM7aWYoYXcubWF4VGltZVRocmVzaG9sZCl7aWYoYWM+PWF3Lm1heFRpbWVUaHJlc2hvbGQpe2JjPWZhbHNlfWVsc2V7YmM9dHJ1ZX19ZWxzZXtiYz10cnVlfXJldHVybiBiY31mdW5jdGlvbiBhbShiYyxiZCl7aWYoYXcucHJldmVudERlZmF1bHRFdmVudHM9PT1mYWxzZSl7cmV0dXJufWlmKGF3LmFsbG93UGFnZVNjcm9sbD09PW0pe2JjLnByZXZlbnREZWZhdWx0KCl9ZWxzZXt2YXIgYmU9YXcuYWxsb3dQYWdlU2Nyb2xsPT09cztzd2l0Y2goYmQpe2Nhc2UgcDppZigoYXcuc3dpcGVMZWZ0JiZiZSl8fCghYmUmJmF3LmFsbG93UGFnZVNjcm9sbCE9RSkpe2JjLnByZXZlbnREZWZhdWx0KCl9YnJlYWs7Y2FzZSBvOmlmKChhdy5zd2lwZVJpZ2h0JiZiZSl8fCghYmUmJmF3LmFsbG93UGFnZVNjcm9sbCE9RSkpe2JjLnByZXZlbnREZWZhdWx0KCl9YnJlYWs7Y2FzZSBlOmlmKChhdy5zd2lwZVVwJiZiZSl8fCghYmUmJmF3LmFsbG93UGFnZVNjcm9sbCE9dSkpe2JjLnByZXZlbnREZWZhdWx0KCl9YnJlYWs7Y2FzZSB4OmlmKChhdy5zd2lwZURvd24mJmJlKXx8KCFiZSYmYXcuYWxsb3dQYWdlU2Nyb2xsIT11KSl7YmMucHJldmVudERlZmF1bHQoKX1icmVha319fWZ1bmN0aW9uIGE5KCl7dmFyIGJkPWFQKCk7dmFyIGJjPVkoKTt2YXIgYmU9YWYoKTtyZXR1cm4gYmQmJmJjJiZiZX1mdW5jdGlvbiBhWSgpe3JldHVybiAhIShhdy5waW5jaFN0YXR1c3x8YXcucGluY2hJbnx8YXcucGluY2hPdXQpfWZ1bmN0aW9uIFEoKXtyZXR1cm4gISEoYTkoKSYmYVkoKSl9ZnVuY3Rpb24gYVcoKXt2YXIgYmY9YUIoKTt2YXIgYmg9YW8oKTt2YXIgYmU9YVAoKTt2YXIgYmM9WSgpO3ZhciBiZD1iYigpO3ZhciBiZz0hYmQmJmJjJiZiZSYmYmgmJmJmO3JldHVybiBiZ31mdW5jdGlvbiBXKCl7cmV0dXJuICEhKGF3LnN3aXBlfHxhdy5zd2lwZVN0YXR1c3x8YXcuc3dpcGVMZWZ0fHxhdy5zd2lwZVJpZ2h0fHxhdy5zd2lwZVVwfHxhdy5zd2lwZURvd24pfWZ1bmN0aW9uIEooKXtyZXR1cm4gISEoYVcoKSYmVygpKX1mdW5jdGlvbiBhUCgpe3JldHVybigoWD09PWF3LmZpbmdlcnN8fGF3LmZpbmdlcnM9PT1pKXx8IWEpfWZ1bmN0aW9uIFkoKXtyZXR1cm4gYVJbMF0uZW5kLnghPT0wfWZ1bmN0aW9uIGE3KCl7cmV0dXJuICEhKGF3LnRhcCl9ZnVuY3Rpb24gWigpe3JldHVybiAhIShhdy5kb3VibGVUYXApfWZ1bmN0aW9uIGFWKCl7cmV0dXJuICEhKGF3LmxvbmdUYXApfWZ1bmN0aW9uIFIoKXtpZihPPT1udWxsKXtyZXR1cm4gZmFsc2V9dmFyIGJjPWF1KCk7cmV0dXJuKFooKSYmKChiYy1PKTw9YXcuZG91YmxlVGFwVGhyZXNob2xkKSl9ZnVuY3Rpb24gSSgpe3JldHVybiBSKCl9ZnVuY3Rpb24gYXkoKXtyZXR1cm4oKFg9PT0xfHwhYSkmJihpc05hTihhaCl8fGFoPGF3LnRocmVzaG9sZCkpfWZ1bmN0aW9uIGExKCl7cmV0dXJuKChhYz5hdy5sb25nVGFwVGhyZXNob2xkKSYmKGFoPHIpKX1mdW5jdGlvbiBhaSgpe3JldHVybiAhIShheSgpJiZhNygpKX1mdW5jdGlvbiBhSCgpe3JldHVybiAhIShSKCkmJlooKSl9ZnVuY3Rpb24gYXEoKXtyZXR1cm4gISEoYTEoKSYmYVYoKSl9ZnVuY3Rpb24gRygpe2E2PWF1KCk7YWU9ZXZlbnQudG91Y2hlcy5sZW5ndGgrMX1mdW5jdGlvbiBTKCl7YTY9MDthZT0wfWZ1bmN0aW9uIGFuKCl7dmFyIGJjPWZhbHNlO2lmKGE2KXt2YXIgYmQ9YXUoKS1hNjtpZihiZDw9YXcuZmluZ2VyUmVsZWFzZVRocmVzaG9sZCl7YmM9dHJ1ZX19cmV0dXJuIGJjfWZ1bmN0aW9uIGFDKCl7cmV0dXJuICEhKGFTLmRhdGEoQysiX2ludG91Y2giKT09PXRydWUpfWZ1bmN0aW9uIGFwKGJjKXtpZihiYz09PXRydWUpe2FTLmJpbmQoYXosYTQpO2FTLmJpbmQoVixNKTtpZihUKXthUy5iaW5kKFQsTCl9fWVsc2V7YVMudW5iaW5kKGF6LGE0LGZhbHNlKTthUy51bmJpbmQoVixNLGZhbHNlKTtpZihUKXthUy51bmJpbmQoVCxMLGZhbHNlKX19YVMuZGF0YShDKyJfaW50b3VjaCIsYmM9PT10cnVlKX1mdW5jdGlvbiBhaihiZCxiYyl7dmFyIGJlPWJjLmlkZW50aWZpZXIhPT11bmRlZmluZWQ/YmMuaWRlbnRpZmllcjowO2FSW2JkXS5pZGVudGlmaWVyPWJlO2FSW2JkXS5zdGFydC54PWFSW2JkXS5lbmQueD1iYy5wYWdlWHx8YmMuY2xpZW50WDthUltiZF0uc3RhcnQueT1hUltiZF0uZW5kLnk9YmMucGFnZVl8fGJjLmNsaWVudFk7cmV0dXJuIGFSW2JkXX1mdW5jdGlvbiBhSShiYyl7dmFyIGJlPWJjLmlkZW50aWZpZXIhPT11bmRlZmluZWQ/YmMuaWRlbnRpZmllcjowO3ZhciBiZD1hZChiZSk7YmQuZW5kLng9YmMucGFnZVh8fGJjLmNsaWVudFg7YmQuZW5kLnk9YmMucGFnZVl8fGJjLmNsaWVudFk7cmV0dXJuIGJkfWZ1bmN0aW9uIGFkKGJkKXtmb3IodmFyIGJjPTA7YmM8YVIubGVuZ3RoO2JjKyspe2lmKGFSW2JjXS5pZGVudGlmaWVyPT1iZCl7cmV0dXJuIGFSW2JjXX19fWZ1bmN0aW9uIGFrKCl7dmFyIGJjPVtdO2Zvcih2YXIgYmQ9MDtiZDw9NTtiZCsrKXtiYy5wdXNoKHtzdGFydDp7eDowLHk6MH0sZW5kOnt4OjAseTowfSxpZGVudGlmaWVyOjB9KX1yZXR1cm4gYmN9ZnVuY3Rpb24gYUooYmMsYmQpe2JkPU1hdGgubWF4KGJkLGFVKGJjKSk7TltiY10uZGlzdGFuY2U9YmR9ZnVuY3Rpb24gYVUoYmMpe2lmKE5bYmNdKXtyZXR1cm4gTltiY10uZGlzdGFuY2V9cmV0dXJuIHVuZGVmaW5lZH1mdW5jdGlvbiBhYigpe3ZhciBiYz17fTtiY1twXT1heChwKTtiY1tvXT1heChvKTtiY1tlXT1heChlKTtiY1t4XT1heCh4KTtyZXR1cm4gYmN9ZnVuY3Rpb24gYXgoYmMpe3JldHVybntkaXJlY3Rpb246YmMsZGlzdGFuY2U6MH19ZnVuY3Rpb24gYU4oKXtyZXR1cm4gYTMtVX1mdW5jdGlvbiBhdihiZixiZSl7dmFyIGJkPU1hdGguYWJzKGJmLngtYmUueCk7dmFyIGJjPU1hdGguYWJzKGJmLnktYmUueSk7cmV0dXJuIE1hdGgucm91bmQoTWF0aC5zcXJ0KGJkKmJkK2JjKmJjKSl9ZnVuY3Rpb24gYTgoYmMsYmQpe3ZhciBiZT0oYmQvYmMpKjE7cmV0dXJuIGJlLnRvRml4ZWQoMil9ZnVuY3Rpb24gYXQoKXtpZihIPDEpe3JldHVybiBBfWVsc2V7cmV0dXJuIGN9fWZ1bmN0aW9uIGFUKGJkLGJjKXtyZXR1cm4gTWF0aC5yb3VuZChNYXRoLnNxcnQoTWF0aC5wb3coYmMueC1iZC54LDIpK01hdGgucG93KGJjLnktYmQueSwyKSkpfWZ1bmN0aW9uIGFGKGJmLGJkKXt2YXIgYmM9YmYueC1iZC54O3ZhciBiaD1iZC55LWJmLnk7dmFyIGJlPU1hdGguYXRhbjIoYmgsYmMpO3ZhciBiZz1NYXRoLnJvdW5kKGJlKjE4MC9NYXRoLlBJKTtpZihiZzwwKXtiZz0zNjAtTWF0aC5hYnMoYmcpfXJldHVybiBiZ31mdW5jdGlvbiBhTShiZCxiYyl7dmFyIGJlPWFGKGJkLGJjKTtpZigoYmU8PTQ1KSYmKGJlPj0wKSl7cmV0dXJuIHB9ZWxzZXtpZigoYmU8PTM2MCkmJihiZT49MzE1KSl7cmV0dXJuIHB9ZWxzZXtpZigoYmU+PTEzNSkmJihiZTw9MjI1KSl7cmV0dXJuIG99ZWxzZXtpZigoYmU+NDUpJiYoYmU8MTM1KSl7cmV0dXJuIHh9ZWxzZXtyZXR1cm4gZX19fX19ZnVuY3Rpb24gYXUoKXt2YXIgYmM9bmV3IERhdGUoKTtyZXR1cm4gYmMuZ2V0VGltZSgpfWZ1bmN0aW9uIGFaKGJjKXtiYz1mKGJjKTt2YXIgYmU9YmMub2Zmc2V0KCk7dmFyIGJkPXtsZWZ0OmJlLmxlZnQscmlnaHQ6YmUubGVmdCtiYy5vdXRlcldpZHRoKCksdG9wOmJlLnRvcCxib3R0b206YmUudG9wK2JjLm91dGVySGVpZ2h0KCl9O3JldHVybiBiZH1mdW5jdGlvbiBGKGJjLGJkKXtyZXR1cm4oYmMueD5iZC5sZWZ0JiZiYy54PGJkLnJpZ2h0JiZiYy55PmJkLnRvcCYmYmMueTxiZC5ib3R0b20pfX19KSk7DQoNCmlmKHR5cGVvZihjb25zb2xlKSA9PT0gJ3VuZGVmaW5lZCcpIHsNCiAgICB2YXIgY29uc29sZSA9IHt9Ow0KICAgIGNvbnNvbGUubG9nID0gY29uc29sZS5lcnJvciA9IGNvbnNvbGUuaW5mbyA9IGNvbnNvbGUuZGVidWcgPSBjb25zb2xlLndhcm4gPSBjb25zb2xlLnRyYWNlID0gY29uc29sZS5kaXIgPSBjb25zb2xlLmRpcnhtbCA9IGNvbnNvbGUuZ3JvdXAgPSBjb25zb2xlLmdyb3VwRW5kID0gY29uc29sZS50aW1lID0gY29uc29sZS50aW1lRW5kID0gY29uc29sZS5hc3NlcnQgPSBjb25zb2xlLnByb2ZpbGUgPSBjb25zb2xlLmdyb3VwQ29sbGFwc2VkID0gZnVuY3Rpb24oKSB7fTsNCn0NCg0KaWYgKHdpbmRvdy50cGxvZ3M9PXRydWUpDQoJdHJ5IHsNCgkJY29uc29sZS5ncm91cENvbGxhcHNlZCgiVGhlbWVQdW5jaCBHcmVlblNvY2tzIExvZ3MiKTsNCgl9IGNhdGNoKGUpIHsgfQ0KDQoNCnZhciBvbGRncyA9IHdpbmRvdy5HcmVlblNvY2tHbG9iYWxzOw0KCW9sZGdzX3F1ZXVlID0gd2luZG93Ll9nc1F1ZXVlOw0KCQ0KdmFyIHB1bmNoZ3MgPSB3aW5kb3cuR3JlZW5Tb2NrR2xvYmFscyA9IHt9Ow0KDQppZiAod2luZG93LnRwbG9ncz09dHJ1ZSkNCgl0cnkgew0KCQljb25zb2xlLmluZm8oIkJ1aWxkIEdyZWVuU29jayBTYW5kQm94IGZvciBUaGVtZVB1bmNoIFBsdWdpbnMiKTsNCgkJY29uc29sZS5pbmZvKCJHcmVlblNvY2sgVHdlZW5MaXRlIEVuZ2luZSBJbml0YWxpc2VkIGJ5IFRoZW1lUHVuY2ggUGx1Z2luIik7DQoJfSBjYXRjaChlKSB7fQ0KDQoNCi8qIFRXRUVOIExJVEUgKi8NCi8qIQ0KICogVkVSU0lPTjogMS4xOS4xDQogKiBEQVRFOiAyMDE3LTAxLTE3DQogKiBVUERBVEVTIEFORCBET0NTIEFUOiBodHRwOi8vZ3JlZW5zb2NrLmNvbQ0KICoNCiAqIEBsaWNlbnNlIENvcHlyaWdodCAoYykgMjAwOC0yMDE3LCBHcmVlblNvY2suIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQogKiBUaGlzIHdvcmsgaXMgc3ViamVjdCB0byB0aGUgdGVybXMgYXQgaHR0cDovL2dyZWVuc29jay5jb20vc3RhbmRhcmQtbGljZW5zZSBvciBmb3INCiAqIENsdWIgR3JlZW5Tb2NrIG1lbWJlcnMsIHRoZSBzb2Z0d2FyZSBhZ3JlZW1lbnQgdGhhdCB3YXMgaXNzdWVkIHdpdGggeW91ciBtZW1iZXJzaGlwLg0KICogDQogKiBAYXV0aG9yOiBKYWNrIERveWxlLCBqYWNrQGdyZWVuc29jay5jb20NCiAqLw0KIWZ1bmN0aW9uKGEsYil7InVzZSBzdHJpY3QiO3ZhciBjPXt9LGQ9YS5kb2N1bWVudCxlPWEuR3JlZW5Tb2NrR2xvYmFscz1hLkdyZWVuU29ja0dsb2JhbHN8fGE7aWYoIWUuVHdlZW5MaXRlKXt2YXIgZixnLGgsaSxqLGs9ZnVuY3Rpb24oYSl7dmFyIGIsYz1hLnNwbGl0KCIuIiksZD1lO2ZvcihiPTA7YjxjLmxlbmd0aDtiKyspZFtjW2JdXT1kPWRbY1tiXV18fHt9O3JldHVybiBkfSxsPWsoImNvbS5ncmVlbnNvY2siKSxtPTFlLTEwLG49ZnVuY3Rpb24oYSl7dmFyIGIsYz1bXSxkPWEubGVuZ3RoO2ZvcihiPTA7YiE9PWQ7Yy5wdXNoKGFbYisrXSkpO3JldHVybiBjfSxvPWZ1bmN0aW9uKCl7fSxwPWZ1bmN0aW9uKCl7dmFyIGE9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyxiPWEuY2FsbChbXSk7cmV0dXJuIGZ1bmN0aW9uKGMpe3JldHVybiBudWxsIT1jJiYoYyBpbnN0YW5jZW9mIEFycmF5fHwib2JqZWN0Ij09dHlwZW9mIGMmJiEhYy5wdXNoJiZhLmNhbGwoYyk9PT1iKX19KCkscT17fSxyPWZ1bmN0aW9uKGQsZixnLGgpe3RoaXMuc2M9cVtkXT9xW2RdLnNjOltdLHFbZF09dGhpcyx0aGlzLmdzQ2xhc3M9bnVsbCx0aGlzLmZ1bmM9Zzt2YXIgaT1bXTt0aGlzLmNoZWNrPWZ1bmN0aW9uKGope2Zvcih2YXIgbCxtLG4sbyxwLHM9Zi5sZW5ndGgsdD1zOy0tcz4tMTspKGw9cVtmW3NdXXx8bmV3IHIoZltzXSxbXSkpLmdzQ2xhc3M/KGlbc109bC5nc0NsYXNzLHQtLSk6aiYmbC5zYy5wdXNoKHRoaXMpO2lmKDA9PT10JiZnKXtpZihtPSgiY29tLmdyZWVuc29jay4iK2QpLnNwbGl0KCIuIiksbj1tLnBvcCgpLG89ayhtLmpvaW4oIi4iKSlbbl09dGhpcy5nc0NsYXNzPWcuYXBwbHkoZyxpKSxoKWlmKGVbbl09Y1tuXT1vLHA9InVuZGVmaW5lZCIhPXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzLCFwJiYiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kKWRlZmluZSgoYS5HcmVlblNvY2tBTURQYXRoP2EuR3JlZW5Tb2NrQU1EUGF0aCsiLyI6IiIpK2Quc3BsaXQoIi4iKS5wb3AoKSxbXSxmdW5jdGlvbigpe3JldHVybiBvfSk7ZWxzZSBpZihwKWlmKGQ9PT1iKXttb2R1bGUuZXhwb3J0cz1jW2JdPW87Zm9yKHMgaW4gYylvW3NdPWNbc119ZWxzZSBjW2JdJiYoY1tiXVtuXT1vKTtmb3Iocz0wO3M8dGhpcy5zYy5sZW5ndGg7cysrKXRoaXMuc2Nbc10uY2hlY2soKX19LHRoaXMuY2hlY2soITApfSxzPWEuX2dzRGVmaW5lPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBuZXcgcihhLGIsYyxkKX0sdD1sLl9jbGFzcz1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGI9Ynx8ZnVuY3Rpb24oKXt9LHMoYSxbXSxmdW5jdGlvbigpe3JldHVybiBifSxjKSxifTtzLmdsb2JhbHM9ZTt2YXIgdT1bMCwwLDEsMV0sdj10KCJlYXNpbmcuRWFzZSIsZnVuY3Rpb24oYSxiLGMsZCl7dGhpcy5fZnVuYz1hLHRoaXMuX3R5cGU9Y3x8MCx0aGlzLl9wb3dlcj1kfHwwLHRoaXMuX3BhcmFtcz1iP3UuY29uY2F0KGIpOnV9LCEwKSx3PXYubWFwPXt9LHg9di5yZWdpc3Rlcj1mdW5jdGlvbihhLGIsYyxkKXtmb3IodmFyIGUsZixnLGgsaT1iLnNwbGl0KCIsIiksaj1pLmxlbmd0aCxrPShjfHwiZWFzZUluLGVhc2VPdXQsZWFzZUluT3V0Iikuc3BsaXQoIiwiKTstLWo+LTE7KWZvcihmPWlbal0sZT1kP3QoImVhc2luZy4iK2YsbnVsbCwhMCk6bC5lYXNpbmdbZl18fHt9LGc9ay5sZW5ndGg7LS1nPi0xOyloPWtbZ10sd1tmKyIuIitoXT13W2grZl09ZVtoXT1hLmdldFJhdGlvP2E6YVtoXXx8bmV3IGF9O2ZvcihoPXYucHJvdG90eXBlLGguX2NhbGNFbmQ9ITEsaC5nZXRSYXRpbz1mdW5jdGlvbihhKXtpZih0aGlzLl9mdW5jKXJldHVybiB0aGlzLl9wYXJhbXNbMF09YSx0aGlzLl9mdW5jLmFwcGx5KG51bGwsdGhpcy5fcGFyYW1zKTt2YXIgYj10aGlzLl90eXBlLGM9dGhpcy5fcG93ZXIsZD0xPT09Yj8xLWE6Mj09PWI/YTouNT5hPzIqYToyKigxLWEpO3JldHVybiAxPT09Yz9kKj1kOjI9PT1jP2QqPWQqZDozPT09Yz9kKj1kKmQqZDo0PT09YyYmKGQqPWQqZCpkKmQpLDE9PT1iPzEtZDoyPT09Yj9kOi41PmE/ZC8yOjEtZC8yfSxmPVsiTGluZWFyIiwiUXVhZCIsIkN1YmljIiwiUXVhcnQiLCJRdWludCxTdHJvbmciXSxnPWYubGVuZ3RoOy0tZz4tMTspaD1mW2ddKyIsUG93ZXIiK2cseChuZXcgdihudWxsLG51bGwsMSxnKSxoLCJlYXNlT3V0IiwhMCkseChuZXcgdihudWxsLG51bGwsMixnKSxoLCJlYXNlSW4iKygwPT09Zz8iLGVhc2VOb25lIjoiIikpLHgobmV3IHYobnVsbCxudWxsLDMsZyksaCwiZWFzZUluT3V0Iik7dy5saW5lYXI9bC5lYXNpbmcuTGluZWFyLmVhc2VJbix3LnN3aW5nPWwuZWFzaW5nLlF1YWQuZWFzZUluT3V0O3ZhciB5PXQoImV2ZW50cy5FdmVudERpc3BhdGNoZXIiLGZ1bmN0aW9uKGEpe3RoaXMuX2xpc3RlbmVycz17fSx0aGlzLl9ldmVudFRhcmdldD1hfHx0aGlzfSk7aD15LnByb3RvdHlwZSxoLmFkZEV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSxiLGMsZCxlKXtlPWV8fDA7dmFyIGYsZyxoPXRoaXMuX2xpc3RlbmVyc1thXSxrPTA7Zm9yKHRoaXMhPT1pfHxqfHxpLndha2UoKSxudWxsPT1oJiYodGhpcy5fbGlzdGVuZXJzW2FdPWg9W10pLGc9aC5sZW5ndGg7LS1nPi0xOylmPWhbZ10sZi5jPT09YiYmZi5zPT09Yz9oLnNwbGljZShnLDEpOjA9PT1rJiZmLnByPGUmJihrPWcrMSk7aC5zcGxpY2UoaywwLHtjOmIsczpjLHVwOmQscHI6ZX0pfSxoLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPXRoaXMuX2xpc3RlbmVyc1thXTtpZihkKWZvcihjPWQubGVuZ3RoOy0tYz4tMTspaWYoZFtjXS5jPT09YilyZXR1cm4gdm9pZCBkLnNwbGljZShjLDEpfSxoLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGU9dGhpcy5fbGlzdGVuZXJzW2FdO2lmKGUpZm9yKGI9ZS5sZW5ndGgsYj4xJiYoZT1lLnNsaWNlKDApKSxjPXRoaXMuX2V2ZW50VGFyZ2V0Oy0tYj4tMTspZD1lW2JdLGQmJihkLnVwP2QuYy5jYWxsKGQuc3x8Yyx7dHlwZTphLHRhcmdldDpjfSk6ZC5jLmNhbGwoZC5zfHxjKSl9O3ZhciB6PWEucmVxdWVzdEFuaW1hdGlvbkZyYW1lLEE9YS5jYW5jZWxBbmltYXRpb25GcmFtZSxCPURhdGUubm93fHxmdW5jdGlvbigpe3JldHVybihuZXcgRGF0ZSkuZ2V0VGltZSgpfSxDPUIoKTtmb3IoZj1bIm1zIiwibW96Iiwid2Via2l0IiwibyJdLGc9Zi5sZW5ndGg7LS1nPi0xJiYhejspej1hW2ZbZ10rIlJlcXVlc3RBbmltYXRpb25GcmFtZSJdLEE9YVtmW2ddKyJDYW5jZWxBbmltYXRpb25GcmFtZSJdfHxhW2ZbZ10rIkNhbmNlbFJlcXVlc3RBbmltYXRpb25GcmFtZSJdO3QoIlRpY2tlciIsZnVuY3Rpb24oYSxiKXt2YXIgYyxlLGYsZyxoLGs9dGhpcyxsPUIoKSxuPWIhPT0hMSYmej8iYXV0byI6ITEscD01MDAscT0zMyxyPSJ0aWNrIixzPWZ1bmN0aW9uKGEpe3ZhciBiLGQsaT1CKCktQztpPnAmJihsKz1pLXEpLEMrPWksay50aW1lPShDLWwpLzFlMyxiPWsudGltZS1oLCghY3x8Yj4wfHxhPT09ITApJiYoay5mcmFtZSsrLGgrPWIrKGI+PWc/LjAwNDpnLWIpLGQ9ITApLGEhPT0hMCYmKGY9ZShzKSksZCYmay5kaXNwYXRjaEV2ZW50KHIpfTt5LmNhbGwoayksay50aW1lPWsuZnJhbWU9MCxrLnRpY2s9ZnVuY3Rpb24oKXtzKCEwKX0say5sYWdTbW9vdGhpbmc9ZnVuY3Rpb24oYSxiKXtwPWF8fDEvbSxxPU1hdGgubWluKGIscCwwKX0say5zbGVlcD1mdW5jdGlvbigpe251bGwhPWYmJihuJiZBP0EoZik6Y2xlYXJUaW1lb3V0KGYpLGU9byxmPW51bGwsaz09PWkmJihqPSExKSl9LGsud2FrZT1mdW5jdGlvbihhKXtudWxsIT09Zj9rLnNsZWVwKCk6YT9sKz0tQysoQz1CKCkpOmsuZnJhbWU+MTAmJihDPUIoKS1wKzUpLGU9MD09PWM/bzpuJiZ6P3o6ZnVuY3Rpb24oYSl7cmV0dXJuIHNldFRpbWVvdXQoYSwxZTMqKGgtay50aW1lKSsxfDApfSxrPT09aSYmKGo9ITApLHMoMil9LGsuZnBzPWZ1bmN0aW9uKGEpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhjPWEsZz0xLyhjfHw2MCksaD10aGlzLnRpbWUrZyx2b2lkIGsud2FrZSgpKTpjfSxrLnVzZVJBRj1mdW5jdGlvbihhKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oay5zbGVlcCgpLG49YSx2b2lkIGsuZnBzKGMpKTpufSxrLmZwcyhhKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ImF1dG8iPT09biYmay5mcmFtZTw1JiYiaGlkZGVuIiE9PWQudmlzaWJpbGl0eVN0YXRlJiZrLnVzZVJBRighMSl9LDE1MDApfSksaD1sLlRpY2tlci5wcm90b3R5cGU9bmV3IGwuZXZlbnRzLkV2ZW50RGlzcGF0Y2hlcixoLmNvbnN0cnVjdG9yPWwuVGlja2VyO3ZhciBEPXQoImNvcmUuQW5pbWF0aW9uIixmdW5jdGlvbihhLGIpe2lmKHRoaXMudmFycz1iPWJ8fHt9LHRoaXMuX2R1cmF0aW9uPXRoaXMuX3RvdGFsRHVyYXRpb249YXx8MCx0aGlzLl9kZWxheT1OdW1iZXIoYi5kZWxheSl8fDAsdGhpcy5fdGltZVNjYWxlPTEsdGhpcy5fYWN0aXZlPWIuaW1tZWRpYXRlUmVuZGVyPT09ITAsdGhpcy5kYXRhPWIuZGF0YSx0aGlzLl9yZXZlcnNlZD1iLnJldmVyc2VkPT09ITAsVyl7anx8aS53YWtlKCk7dmFyIGM9dGhpcy52YXJzLnVzZUZyYW1lcz9WOlc7Yy5hZGQodGhpcyxjLl90aW1lKSx0aGlzLnZhcnMucGF1c2VkJiZ0aGlzLnBhdXNlZCghMCl9fSk7aT1ELnRpY2tlcj1uZXcgbC5UaWNrZXIsaD1ELnByb3RvdHlwZSxoLl9kaXJ0eT1oLl9nYz1oLl9pbml0dGVkPWguX3BhdXNlZD0hMSxoLl90b3RhbFRpbWU9aC5fdGltZT0wLGguX3Jhd1ByZXZUaW1lPS0xLGguX25leHQ9aC5fbGFzdD1oLl9vblVwZGF0ZT1oLl90aW1lbGluZT1oLnRpbWVsaW5lPW51bGwsaC5fcGF1c2VkPSExO3ZhciBFPWZ1bmN0aW9uKCl7aiYmQigpLUM+MmUzJiZpLndha2UoKSxzZXRUaW1lb3V0KEUsMmUzKX07RSgpLGgucGxheT1mdW5jdGlvbihhLGIpe3JldHVybiBudWxsIT1hJiZ0aGlzLnNlZWsoYSxiKSx0aGlzLnJldmVyc2VkKCExKS5wYXVzZWQoITEpfSxoLnBhdXNlPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG51bGwhPWEmJnRoaXMuc2VlayhhLGIpLHRoaXMucGF1c2VkKCEwKX0saC5yZXN1bWU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbnVsbCE9YSYmdGhpcy5zZWVrKGEsYiksdGhpcy5wYXVzZWQoITEpfSxoLnNlZWs9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy50b3RhbFRpbWUoTnVtYmVyKGEpLGIhPT0hMSl9LGgucmVzdGFydD1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLnJldmVyc2VkKCExKS5wYXVzZWQoITEpLnRvdGFsVGltZShhPy10aGlzLl9kZWxheTowLGIhPT0hMSwhMCl9LGgucmV2ZXJzZT1mdW5jdGlvbihhLGIpe3JldHVybiBudWxsIT1hJiZ0aGlzLnNlZWsoYXx8dGhpcy50b3RhbER1cmF0aW9uKCksYiksdGhpcy5yZXZlcnNlZCghMCkucGF1c2VkKCExKX0saC5yZW5kZXI9ZnVuY3Rpb24oYSxiLGMpe30saC5pbnZhbGlkYXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3RpbWU9dGhpcy5fdG90YWxUaW1lPTAsdGhpcy5faW5pdHRlZD10aGlzLl9nYz0hMSx0aGlzLl9yYXdQcmV2VGltZT0tMSwodGhpcy5fZ2N8fCF0aGlzLnRpbWVsaW5lKSYmdGhpcy5fZW5hYmxlZCghMCksdGhpc30saC5pc0FjdGl2ZT1mdW5jdGlvbigpe3ZhciBhLGI9dGhpcy5fdGltZWxpbmUsYz10aGlzLl9zdGFydFRpbWU7cmV0dXJuIWJ8fCF0aGlzLl9nYyYmIXRoaXMuX3BhdXNlZCYmYi5pc0FjdGl2ZSgpJiYoYT1iLnJhd1RpbWUoITApKT49YyYmYTxjK3RoaXMudG90YWxEdXJhdGlvbigpL3RoaXMuX3RpbWVTY2FsZX0saC5fZW5hYmxlZD1mdW5jdGlvbihhLGIpe3JldHVybiBqfHxpLndha2UoKSx0aGlzLl9nYz0hYSx0aGlzLl9hY3RpdmU9dGhpcy5pc0FjdGl2ZSgpLGIhPT0hMCYmKGEmJiF0aGlzLnRpbWVsaW5lP3RoaXMuX3RpbWVsaW5lLmFkZCh0aGlzLHRoaXMuX3N0YXJ0VGltZS10aGlzLl9kZWxheSk6IWEmJnRoaXMudGltZWxpbmUmJnRoaXMuX3RpbWVsaW5lLl9yZW1vdmUodGhpcywhMCkpLCExfSxoLl9raWxsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuX2VuYWJsZWQoITEsITEpfSxoLmtpbGw9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5fa2lsbChhLGIpLHRoaXN9LGguX3VuY2FjaGU9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWE/dGhpczp0aGlzLnRpbWVsaW5lO2I7KWIuX2RpcnR5PSEwLGI9Yi50aW1lbGluZTtyZXR1cm4gdGhpc30saC5fc3dhcFNlbGZJblBhcmFtcz1mdW5jdGlvbihhKXtmb3IodmFyIGI9YS5sZW5ndGgsYz1hLmNvbmNhdCgpOy0tYj4tMTspIntzZWxmfSI9PT1hW2JdJiYoY1tiXT10aGlzKTtyZXR1cm4gY30saC5fY2FsbGJhY2s9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy52YXJzLGM9YlthXSxkPWJbYSsiUGFyYW1zIl0sZT1iW2ErIlNjb3BlIl18fGIuY2FsbGJhY2tTY29wZXx8dGhpcyxmPWQ/ZC5sZW5ndGg6MDtzd2l0Y2goZil7Y2FzZSAwOmMuY2FsbChlKTticmVhaztjYXNlIDE6Yy5jYWxsKGUsZFswXSk7YnJlYWs7Y2FzZSAyOmMuY2FsbChlLGRbMF0sZFsxXSk7YnJlYWs7ZGVmYXVsdDpjLmFwcGx5KGUsZCl9fSxoLmV2ZW50Q2FsbGJhY2s9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoIm9uIj09PShhfHwiIikuc3Vic3RyKDAsMikpe3ZhciBlPXRoaXMudmFycztpZigxPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZVthXTtudWxsPT1iP2RlbGV0ZSBlW2FdOihlW2FdPWIsZVthKyJQYXJhbXMiXT1wKGMpJiYtMSE9PWMuam9pbigiIikuaW5kZXhPZigie3NlbGZ9Iik/dGhpcy5fc3dhcFNlbGZJblBhcmFtcyhjKTpjLGVbYSsiU2NvcGUiXT1kKSwib25VcGRhdGUiPT09YSYmKHRoaXMuX29uVXBkYXRlPWIpfXJldHVybiB0aGlzfSxoLmRlbGF5PWZ1bmN0aW9uKGEpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLl90aW1lbGluZS5zbW9vdGhDaGlsZFRpbWluZyYmdGhpcy5zdGFydFRpbWUodGhpcy5fc3RhcnRUaW1lK2EtdGhpcy5fZGVsYXkpLHRoaXMuX2RlbGF5PWEsdGhpcyk6dGhpcy5fZGVsYXl9LGguZHVyYXRpb249ZnVuY3Rpb24oYSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX2R1cmF0aW9uPXRoaXMuX3RvdGFsRHVyYXRpb249YSx0aGlzLl91bmNhY2hlKCEwKSx0aGlzLl90aW1lbGluZS5zbW9vdGhDaGlsZFRpbWluZyYmdGhpcy5fdGltZT4wJiZ0aGlzLl90aW1lPHRoaXMuX2R1cmF0aW9uJiYwIT09YSYmdGhpcy50b3RhbFRpbWUodGhpcy5fdG90YWxUaW1lKihhL3RoaXMuX2R1cmF0aW9uKSwhMCksdGhpcyk6KHRoaXMuX2RpcnR5PSExLHRoaXMuX2R1cmF0aW9uKX0saC50b3RhbER1cmF0aW9uPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLl9kaXJ0eT0hMSxhcmd1bWVudHMubGVuZ3RoP3RoaXMuZHVyYXRpb24oYSk6dGhpcy5fdG90YWxEdXJhdGlvbn0saC50aW1lPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX2RpcnR5JiZ0aGlzLnRvdGFsRHVyYXRpb24oKSx0aGlzLnRvdGFsVGltZShhPnRoaXMuX2R1cmF0aW9uP3RoaXMuX2R1cmF0aW9uOmEsYikpOnRoaXMuX3RpbWV9LGgudG90YWxUaW1lPWZ1bmN0aW9uKGEsYixjKXtpZihqfHxpLndha2UoKSwhYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdGhpcy5fdG90YWxUaW1lO2lmKHRoaXMuX3RpbWVsaW5lKXtpZigwPmEmJiFjJiYoYSs9dGhpcy50b3RhbER1cmF0aW9uKCkpLHRoaXMuX3RpbWVsaW5lLnNtb290aENoaWxkVGltaW5nKXt0aGlzLl9kaXJ0eSYmdGhpcy50b3RhbER1cmF0aW9uKCk7dmFyIGQ9dGhpcy5fdG90YWxEdXJhdGlvbixlPXRoaXMuX3RpbWVsaW5lO2lmKGE+ZCYmIWMmJihhPWQpLHRoaXMuX3N0YXJ0VGltZT0odGhpcy5fcGF1c2VkP3RoaXMuX3BhdXNlVGltZTplLl90aW1lKS0odGhpcy5fcmV2ZXJzZWQ/ZC1hOmEpL3RoaXMuX3RpbWVTY2FsZSxlLl9kaXJ0eXx8dGhpcy5fdW5jYWNoZSghMSksZS5fdGltZWxpbmUpZm9yKDtlLl90aW1lbGluZTspZS5fdGltZWxpbmUuX3RpbWUhPT0oZS5fc3RhcnRUaW1lK2UuX3RvdGFsVGltZSkvZS5fdGltZVNjYWxlJiZlLnRvdGFsVGltZShlLl90b3RhbFRpbWUsITApLGU9ZS5fdGltZWxpbmV9dGhpcy5fZ2MmJnRoaXMuX2VuYWJsZWQoITAsITEpLCh0aGlzLl90b3RhbFRpbWUhPT1hfHwwPT09dGhpcy5fZHVyYXRpb24pJiYoSi5sZW5ndGgmJlkoKSx0aGlzLnJlbmRlcihhLGIsITEpLEoubGVuZ3RoJiZZKCkpfXJldHVybiB0aGlzfSxoLnByb2dyZXNzPWgudG90YWxQcm9ncmVzcz1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuZHVyYXRpb24oKTtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD90aGlzLnRvdGFsVGltZShjKmEsYik6Yz90aGlzLl90aW1lL2M6dGhpcy5yYXRpb30saC5zdGFydFRpbWU9ZnVuY3Rpb24oYSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGEhPT10aGlzLl9zdGFydFRpbWUmJih0aGlzLl9zdGFydFRpbWU9YSx0aGlzLnRpbWVsaW5lJiZ0aGlzLnRpbWVsaW5lLl9zb3J0Q2hpbGRyZW4mJnRoaXMudGltZWxpbmUuYWRkKHRoaXMsYS10aGlzLl9kZWxheSkpLHRoaXMpOnRoaXMuX3N0YXJ0VGltZX0saC5lbmRUaW1lPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLl9zdGFydFRpbWUrKDAhPWE/dGhpcy50b3RhbER1cmF0aW9uKCk6dGhpcy5kdXJhdGlvbigpKS90aGlzLl90aW1lU2NhbGV9LGgudGltZVNjYWxlPWZ1bmN0aW9uKGEpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiB0aGlzLl90aW1lU2NhbGU7aWYoYT1hfHxtLHRoaXMuX3RpbWVsaW5lJiZ0aGlzLl90aW1lbGluZS5zbW9vdGhDaGlsZFRpbWluZyl7dmFyIGI9dGhpcy5fcGF1c2VUaW1lLGM9Ynx8MD09PWI/Yjp0aGlzLl90aW1lbGluZS50b3RhbFRpbWUoKTt0aGlzLl9zdGFydFRpbWU9Yy0oYy10aGlzLl9zdGFydFRpbWUpKnRoaXMuX3RpbWVTY2FsZS9hfXJldHVybiB0aGlzLl90aW1lU2NhbGU9YSx0aGlzLl91bmNhY2hlKCExKX0saC5yZXZlcnNlZD1mdW5jdGlvbihhKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYSE9dGhpcy5fcmV2ZXJzZWQmJih0aGlzLl9yZXZlcnNlZD1hLHRoaXMudG90YWxUaW1lKHRoaXMuX3RpbWVsaW5lJiYhdGhpcy5fdGltZWxpbmUuc21vb3RoQ2hpbGRUaW1pbmc/dGhpcy50b3RhbER1cmF0aW9uKCktdGhpcy5fdG90YWxUaW1lOnRoaXMuX3RvdGFsVGltZSwhMCkpLHRoaXMpOnRoaXMuX3JldmVyc2VkfSxoLnBhdXNlZD1mdW5jdGlvbihhKXtpZighYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdGhpcy5fcGF1c2VkO3ZhciBiLGMsZD10aGlzLl90aW1lbGluZTtyZXR1cm4gYSE9dGhpcy5fcGF1c2VkJiZkJiYoanx8YXx8aS53YWtlKCksYj1kLnJhd1RpbWUoKSxjPWItdGhpcy5fcGF1c2VUaW1lLCFhJiZkLnNtb290aENoaWxkVGltaW5nJiYodGhpcy5fc3RhcnRUaW1lKz1jLHRoaXMuX3VuY2FjaGUoITEpKSx0aGlzLl9wYXVzZVRpbWU9YT9iOm51bGwsdGhpcy5fcGF1c2VkPWEsdGhpcy5fYWN0aXZlPXRoaXMuaXNBY3RpdmUoKSwhYSYmMCE9PWMmJnRoaXMuX2luaXR0ZWQmJnRoaXMuZHVyYXRpb24oKSYmKGI9ZC5zbW9vdGhDaGlsZFRpbWluZz90aGlzLl90b3RhbFRpbWU6KGItdGhpcy5fc3RhcnRUaW1lKS90aGlzLl90aW1lU2NhbGUsdGhpcy5yZW5kZXIoYixiPT09dGhpcy5fdG90YWxUaW1lLCEwKSkpLHRoaXMuX2djJiYhYSYmdGhpcy5fZW5hYmxlZCghMCwhMSksdGhpc307dmFyIEY9dCgiY29yZS5TaW1wbGVUaW1lbGluZSIsZnVuY3Rpb24oYSl7RC5jYWxsKHRoaXMsMCxhKSx0aGlzLmF1dG9SZW1vdmVDaGlsZHJlbj10aGlzLnNtb290aENoaWxkVGltaW5nPSEwfSk7aD1GLnByb3RvdHlwZT1uZXcgRCxoLmNvbnN0cnVjdG9yPUYsaC5raWxsKCkuX2djPSExLGguX2ZpcnN0PWguX2xhc3Q9aC5fcmVjZW50PW51bGwsaC5fc29ydENoaWxkcmVuPSExLGguYWRkPWguaW5zZXJ0PWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlLGY7aWYoYS5fc3RhcnRUaW1lPU51bWJlcihifHwwKSthLl9kZWxheSxhLl9wYXVzZWQmJnRoaXMhPT1hLl90aW1lbGluZSYmKGEuX3BhdXNlVGltZT1hLl9zdGFydFRpbWUrKHRoaXMucmF3VGltZSgpLWEuX3N0YXJ0VGltZSkvYS5fdGltZVNjYWxlKSxhLnRpbWVsaW5lJiZhLnRpbWVsaW5lLl9yZW1vdmUoYSwhMCksYS50aW1lbGluZT1hLl90aW1lbGluZT10aGlzLGEuX2djJiZhLl9lbmFibGVkKCEwLCEwKSxlPXRoaXMuX2xhc3QsdGhpcy5fc29ydENoaWxkcmVuKWZvcihmPWEuX3N0YXJ0VGltZTtlJiZlLl9zdGFydFRpbWU+ZjspZT1lLl9wcmV2O3JldHVybiBlPyhhLl9uZXh0PWUuX25leHQsZS5fbmV4dD1hKTooYS5fbmV4dD10aGlzLl9maXJzdCx0aGlzLl9maXJzdD1hKSxhLl9uZXh0P2EuX25leHQuX3ByZXY9YTp0aGlzLl9sYXN0PWEsYS5fcHJldj1lLHRoaXMuX3JlY2VudD1hLHRoaXMuX3RpbWVsaW5lJiZ0aGlzLl91bmNhY2hlKCEwKSx0aGlzfSxoLl9yZW1vdmU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS50aW1lbGluZT09PXRoaXMmJihifHxhLl9lbmFibGVkKCExLCEwKSxhLl9wcmV2P2EuX3ByZXYuX25leHQ9YS5fbmV4dDp0aGlzLl9maXJzdD09PWEmJih0aGlzLl9maXJzdD1hLl9uZXh0KSxhLl9uZXh0P2EuX25leHQuX3ByZXY9YS5fcHJldjp0aGlzLl9sYXN0PT09YSYmKHRoaXMuX2xhc3Q9YS5fcHJldiksYS5fbmV4dD1hLl9wcmV2PWEudGltZWxpbmU9bnVsbCxhPT09dGhpcy5fcmVjZW50JiYodGhpcy5fcmVjZW50PXRoaXMuX2xhc3QpLHRoaXMuX3RpbWVsaW5lJiZ0aGlzLl91bmNhY2hlKCEwKSksdGhpc30saC5yZW5kZXI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGU9dGhpcy5fZmlyc3Q7Zm9yKHRoaXMuX3RvdGFsVGltZT10aGlzLl90aW1lPXRoaXMuX3Jhd1ByZXZUaW1lPWE7ZTspZD1lLl9uZXh0LChlLl9hY3RpdmV8fGE+PWUuX3N0YXJ0VGltZSYmIWUuX3BhdXNlZCkmJihlLl9yZXZlcnNlZD9lLnJlbmRlcigoZS5fZGlydHk/ZS50b3RhbER1cmF0aW9uKCk6ZS5fdG90YWxEdXJhdGlvbiktKGEtZS5fc3RhcnRUaW1lKSplLl90aW1lU2NhbGUsYixjKTplLnJlbmRlcigoYS1lLl9zdGFydFRpbWUpKmUuX3RpbWVTY2FsZSxiLGMpKSxlPWR9LGgucmF3VGltZT1mdW5jdGlvbigpe3JldHVybiBqfHxpLndha2UoKSx0aGlzLl90b3RhbFRpbWV9O3ZhciBHPXQoIlR3ZWVuTGl0ZSIsZnVuY3Rpb24oYixjLGQpe2lmKEQuY2FsbCh0aGlzLGMsZCksdGhpcy5yZW5kZXI9Ry5wcm90b3R5cGUucmVuZGVyLG51bGw9PWIpdGhyb3ciQ2Fubm90IHR3ZWVuIGEgbnVsbCB0YXJnZXQuIjt0aGlzLnRhcmdldD1iPSJzdHJpbmciIT10eXBlb2YgYj9iOkcuc2VsZWN0b3IoYil8fGI7dmFyIGUsZixnLGg9Yi5qcXVlcnl8fGIubGVuZ3RoJiZiIT09YSYmYlswXSYmKGJbMF09PT1hfHxiWzBdLm5vZGVUeXBlJiZiWzBdLnN0eWxlJiYhYi5ub2RlVHlwZSksaT10aGlzLnZhcnMub3ZlcndyaXRlO2lmKHRoaXMuX292ZXJ3cml0ZT1pPW51bGw9PWk/VVtHLmRlZmF1bHRPdmVyd3JpdGVdOiJudW1iZXIiPT10eXBlb2YgaT9pPj4wOlVbaV0sKGh8fGIgaW5zdGFuY2VvZiBBcnJheXx8Yi5wdXNoJiZwKGIpKSYmIm51bWJlciIhPXR5cGVvZiBiWzBdKWZvcih0aGlzLl90YXJnZXRzPWc9bihiKSx0aGlzLl9wcm9wTG9va3VwPVtdLHRoaXMuX3NpYmxpbmdzPVtdLGU9MDtlPGcubGVuZ3RoO2UrKylmPWdbZV0sZj8ic3RyaW5nIiE9dHlwZW9mIGY/Zi5sZW5ndGgmJmYhPT1hJiZmWzBdJiYoZlswXT09PWF8fGZbMF0ubm9kZVR5cGUmJmZbMF0uc3R5bGUmJiFmLm5vZGVUeXBlKT8oZy5zcGxpY2UoZS0tLDEpLHRoaXMuX3RhcmdldHM9Zz1nLmNvbmNhdChuKGYpKSk6KHRoaXMuX3NpYmxpbmdzW2VdPVooZix0aGlzLCExKSwxPT09aSYmdGhpcy5fc2libGluZ3NbZV0ubGVuZ3RoPjEmJl8oZix0aGlzLG51bGwsMSx0aGlzLl9zaWJsaW5nc1tlXSkpOihmPWdbZS0tXT1HLnNlbGVjdG9yKGYpLCJzdHJpbmciPT10eXBlb2YgZiYmZy5zcGxpY2UoZSsxLDEpKTpnLnNwbGljZShlLS0sMSk7ZWxzZSB0aGlzLl9wcm9wTG9va3VwPXt9LHRoaXMuX3NpYmxpbmdzPVooYix0aGlzLCExKSwxPT09aSYmdGhpcy5fc2libGluZ3MubGVuZ3RoPjEmJl8oYix0aGlzLG51bGwsMSx0aGlzLl9zaWJsaW5ncyk7KHRoaXMudmFycy5pbW1lZGlhdGVSZW5kZXJ8fDA9PT1jJiYwPT09dGhpcy5fZGVsYXkmJnRoaXMudmFycy5pbW1lZGlhdGVSZW5kZXIhPT0hMSkmJih0aGlzLl90aW1lPS1tLHRoaXMucmVuZGVyKE1hdGgubWluKDAsLXRoaXMuX2RlbGF5KSkpfSwhMCksSD1mdW5jdGlvbihiKXtyZXR1cm4gYiYmYi5sZW5ndGgmJmIhPT1hJiZiWzBdJiYoYlswXT09PWF8fGJbMF0ubm9kZVR5cGUmJmJbMF0uc3R5bGUmJiFiLm5vZGVUeXBlKX0sST1mdW5jdGlvbihhLGIpe3ZhciBjLGQ9e307Zm9yKGMgaW4gYSlUW2NdfHxjIGluIGImJiJ0cmFuc2Zvcm0iIT09YyYmIngiIT09YyYmInkiIT09YyYmIndpZHRoIiE9PWMmJiJoZWlnaHQiIT09YyYmImNsYXNzTmFtZSIhPT1jJiYiYm9yZGVyIiE9PWN8fCEoIVFbY118fFFbY10mJlFbY10uX2F1dG9DU1MpfHwoZFtjXT1hW2NdLGRlbGV0ZSBhW2NdKTthLmNzcz1kfTtoPUcucHJvdG90eXBlPW5ldyBELGguY29uc3RydWN0b3I9RyxoLmtpbGwoKS5fZ2M9ITEsaC5yYXRpbz0wLGguX2ZpcnN0UFQ9aC5fdGFyZ2V0cz1oLl9vdmVyd3JpdHRlblByb3BzPWguX3N0YXJ0QXQ9bnVsbCxoLl9ub3RpZnlQbHVnaW5zT2ZFbmFibGVkPWguX2xhenk9ITEsRy52ZXJzaW9uPSIxLjE5LjEiLEcuZGVmYXVsdEVhc2U9aC5fZWFzZT1uZXcgdihudWxsLG51bGwsMSwxKSxHLmRlZmF1bHRPdmVyd3JpdGU9ImF1dG8iLEcudGlja2VyPWksRy5hdXRvU2xlZXA9MTIwLEcubGFnU21vb3RoaW5nPWZ1bmN0aW9uKGEsYil7aS5sYWdTbW9vdGhpbmcoYSxiKX0sRy5zZWxlY3Rvcj1hLiR8fGEualF1ZXJ5fHxmdW5jdGlvbihiKXt2YXIgYz1hLiR8fGEualF1ZXJ5O3JldHVybiBjPyhHLnNlbGVjdG9yPWMsYyhiKSk6InVuZGVmaW5lZCI9PXR5cGVvZiBkP2I6ZC5xdWVyeVNlbGVjdG9yQWxsP2QucXVlcnlTZWxlY3RvckFsbChiKTpkLmdldEVsZW1lbnRCeUlkKCIjIj09PWIuY2hhckF0KDApP2Iuc3Vic3RyKDEpOmIpfTt2YXIgSj1bXSxLPXt9LEw9Lyg/OigtfC09fFwrPSk/XGQqXC4/XGQqKD86ZVtcLStdP1xkKyk/KVswLTldL2dpLE09ZnVuY3Rpb24oYSl7Zm9yKHZhciBiLGM9dGhpcy5fZmlyc3RQVCxkPTFlLTY7YzspYj1jLmJsb2I/MT09PWE/dGhpcy5lbmQ6YT90aGlzLmpvaW4oIiIpOnRoaXMuc3RhcnQ6Yy5jKmErYy5zLGMubT9iPWMubShiLHRoaXMuX3RhcmdldHx8Yy50KTpkPmImJmI+LWQmJiFjLmJsb2ImJihiPTApLGMuZj9jLmZwP2MudFtjLnBdKGMuZnAsYik6Yy50W2MucF0oYik6Yy50W2MucF09YixjPWMuX25leHR9LE49ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixnLGgsaSxqLGssbD1bXSxtPTAsbj0iIixvPTA7Zm9yKGwuc3RhcnQ9YSxsLmVuZD1iLGE9bFswXT1hKyIiLGI9bFsxXT1iKyIiLGMmJihjKGwpLGE9bFswXSxiPWxbMV0pLGwubGVuZ3RoPTAsZT1hLm1hdGNoKEwpfHxbXSxmPWIubWF0Y2goTCl8fFtdLGQmJihkLl9uZXh0PW51bGwsZC5ibG9iPTEsbC5fZmlyc3RQVD1sLl9hcHBseVBUPWQpLGk9Zi5sZW5ndGgsaD0wO2k+aDtoKyspaz1mW2hdLGo9Yi5zdWJzdHIobSxiLmluZGV4T2YoayxtKS1tKSxuKz1qfHwhaD9qOiIsIixtKz1qLmxlbmd0aCxvP289KG8rMSklNToicmdiYSgiPT09ai5zdWJzdHIoLTUpJiYobz0xKSxrPT09ZVtoXXx8ZS5sZW5ndGg8PWg/bis9azoobiYmKGwucHVzaChuKSxuPSIiKSxnPXBhcnNlRmxvYXQoZVtoXSksbC5wdXNoKGcpLGwuX2ZpcnN0UFQ9e19uZXh0OmwuX2ZpcnN0UFQsdDpsLHA6bC5sZW5ndGgtMSxzOmcsYzooIj0iPT09ay5jaGFyQXQoMSk/cGFyc2VJbnQoay5jaGFyQXQoMCkrIjEiLDEwKSpwYXJzZUZsb2F0KGsuc3Vic3RyKDIpKTpwYXJzZUZsb2F0KGspLWcpfHwwLGY6MCxtOm8mJjQ+bz9NYXRoLnJvdW5kOjB9KSxtKz1rLmxlbmd0aDtyZXR1cm4gbis9Yi5zdWJzdHIobSksbiYmbC5wdXNoKG4pLGwuc2V0UmF0aW89TSxsfSxPPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCxpKXsiZnVuY3Rpb24iPT10eXBlb2YgZCYmKGQ9ZChpfHwwLGEpKTt2YXIgaixrPXR5cGVvZiBhW2JdLGw9ImZ1bmN0aW9uIiE9PWs/IiI6Yi5pbmRleE9mKCJzZXQiKXx8ImZ1bmN0aW9uIiE9dHlwZW9mIGFbImdldCIrYi5zdWJzdHIoMyldP2I6ImdldCIrYi5zdWJzdHIoMyksbT0iZ2V0IiE9PWM/YzpsP2c/YVtsXShnKTphW2xdKCk6YVtiXSxuPSJzdHJpbmciPT10eXBlb2YgZCYmIj0iPT09ZC5jaGFyQXQoMSksbz17dDphLHA6YixzOm0sZjoiZnVuY3Rpb24iPT09ayxwZzowLG46ZXx8YixtOmY/ImZ1bmN0aW9uIj09dHlwZW9mIGY/ZjpNYXRoLnJvdW5kOjAscHI6MCxjOm4/cGFyc2VJbnQoZC5jaGFyQXQoMCkrIjEiLDEwKSpwYXJzZUZsb2F0KGQuc3Vic3RyKDIpKTpwYXJzZUZsb2F0KGQpLW18fDB9O3JldHVybigibnVtYmVyIiE9dHlwZW9mIG18fCJudW1iZXIiIT10eXBlb2YgZCYmIW4pJiYoZ3x8aXNOYU4obSl8fCFuJiZpc05hTihkKXx8ImJvb2xlYW4iPT10eXBlb2YgbXx8ImJvb2xlYW4iPT10eXBlb2YgZD8oby5mcD1nLGo9TihtLG4/by5zK28uYzpkLGh8fEcuZGVmYXVsdFN0cmluZ0ZpbHRlcixvKSxvPXt0OmoscDoic2V0UmF0aW8iLHM6MCxjOjEsZjoyLHBnOjAsbjplfHxiLHByOjAsbTowfSk6KG8ucz1wYXJzZUZsb2F0KG0pLG58fChvLmM9cGFyc2VGbG9hdChkKS1vLnN8fDApKSksby5jPygoby5fbmV4dD10aGlzLl9maXJzdFBUKSYmKG8uX25leHQuX3ByZXY9byksdGhpcy5fZmlyc3RQVD1vLG8pOnZvaWQgMH0sUD1HLl9pbnRlcm5hbHM9e2lzQXJyYXk6cCxpc1NlbGVjdG9yOkgsbGF6eVR3ZWVuczpKLGJsb2JEaWY6Tn0sUT1HLl9wbHVnaW5zPXt9LFI9UC50d2Vlbkxvb2t1cD17fSxTPTAsVD1QLnJlc2VydmVkUHJvcHM9e2Vhc2U6MSxkZWxheToxLG92ZXJ3cml0ZToxLG9uQ29tcGxldGU6MSxvbkNvbXBsZXRlUGFyYW1zOjEsb25Db21wbGV0ZVNjb3BlOjEsdXNlRnJhbWVzOjEscnVuQmFja3dhcmRzOjEsc3RhcnRBdDoxLG9uVXBkYXRlOjEsb25VcGRhdGVQYXJhbXM6MSxvblVwZGF0ZVNjb3BlOjEsb25TdGFydDoxLG9uU3RhcnRQYXJhbXM6MSxvblN0YXJ0U2NvcGU6MSxvblJldmVyc2VDb21wbGV0ZToxLG9uUmV2ZXJzZUNvbXBsZXRlUGFyYW1zOjEsb25SZXZlcnNlQ29tcGxldGVTY29wZToxLG9uUmVwZWF0OjEsb25SZXBlYXRQYXJhbXM6MSxvblJlcGVhdFNjb3BlOjEsZWFzZVBhcmFtczoxLHlveW86MSxpbW1lZGlhdGVSZW5kZXI6MSxyZXBlYXQ6MSxyZXBlYXREZWxheToxLGRhdGE6MSxwYXVzZWQ6MSxyZXZlcnNlZDoxLGF1dG9DU1M6MSxsYXp5OjEsb25PdmVyd3JpdGU6MSxjYWxsYmFja1Njb3BlOjEsc3RyaW5nRmlsdGVyOjEsaWQ6MX0sVT17bm9uZTowLGFsbDoxLGF1dG86Mixjb25jdXJyZW50OjMsYWxsT25TdGFydDo0LHByZWV4aXN0aW5nOjUsInRydWUiOjEsImZhbHNlIjowfSxWPUQuX3Jvb3RGcmFtZXNUaW1lbGluZT1uZXcgRixXPUQuX3Jvb3RUaW1lbGluZT1uZXcgRixYPTMwLFk9UC5sYXp5UmVuZGVyPWZ1bmN0aW9uKCl7dmFyIGEsYj1KLmxlbmd0aDtmb3IoSz17fTstLWI+LTE7KWE9SltiXSxhJiZhLl9sYXp5IT09ITEmJihhLnJlbmRlcihhLl9sYXp5WzBdLGEuX2xhenlbMV0sITApLGEuX2xhenk9ITEpO0oubGVuZ3RoPTB9O1cuX3N0YXJ0VGltZT1pLnRpbWUsVi5fc3RhcnRUaW1lPWkuZnJhbWUsVy5fYWN0aXZlPVYuX2FjdGl2ZT0hMCxzZXRUaW1lb3V0KFksMSksRC5fdXBkYXRlUm9vdD1HLnJlbmRlcj1mdW5jdGlvbigpe3ZhciBhLGIsYztpZihKLmxlbmd0aCYmWSgpLFcucmVuZGVyKChpLnRpbWUtVy5fc3RhcnRUaW1lKSpXLl90aW1lU2NhbGUsITEsITEpLFYucmVuZGVyKChpLmZyYW1lLVYuX3N0YXJ0VGltZSkqVi5fdGltZVNjYWxlLCExLCExKSxKLmxlbmd0aCYmWSgpLGkuZnJhbWU+PVgpe1g9aS5mcmFtZSsocGFyc2VJbnQoRy5hdXRvU2xlZXAsMTApfHwxMjApO2ZvcihjIGluIFIpe2ZvcihiPVJbY10udHdlZW5zLGE9Yi5sZW5ndGg7LS1hPi0xOyliW2FdLl9nYyYmYi5zcGxpY2UoYSwxKTswPT09Yi5sZW5ndGgmJmRlbGV0ZSBSW2NdfWlmKGM9Vy5fZmlyc3QsKCFjfHxjLl9wYXVzZWQpJiZHLmF1dG9TbGVlcCYmIVYuX2ZpcnN0JiYxPT09aS5fbGlzdGVuZXJzLnRpY2subGVuZ3RoKXtmb3IoO2MmJmMuX3BhdXNlZDspYz1jLl9uZXh0O2N8fGkuc2xlZXAoKX19fSxpLmFkZEV2ZW50TGlzdGVuZXIoInRpY2siLEQuX3VwZGF0ZVJvb3QpO3ZhciBaPWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9YS5fZ3NUd2VlbklEO2lmKFJbZnx8KGEuX2dzVHdlZW5JRD1mPSJ0IitTKyspXXx8KFJbZl09e3RhcmdldDphLHR3ZWVuczpbXX0pLGImJihkPVJbZl0udHdlZW5zLGRbZT1kLmxlbmd0aF09YixjKSlmb3IoOy0tZT4tMTspZFtlXT09PWImJmQuc3BsaWNlKGUsMSk7cmV0dXJuIFJbZl0udHdlZW5zfSwkPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlLGYsZz1hLnZhcnMub25PdmVyd3JpdGU7cmV0dXJuIGcmJihlPWcoYSxiLGMsZCkpLGc9Ry5vbk92ZXJ3cml0ZSxnJiYoZj1nKGEsYixjLGQpKSxlIT09ITEmJmYhPT0hMX0sXz1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmLGcsaCxpO2lmKDE9PT1kfHxkPj00KXtmb3IoaT1lLmxlbmd0aCxmPTA7aT5mO2YrKylpZigoaD1lW2ZdKSE9PWIpaC5fZ2N8fGguX2tpbGwobnVsbCxhLGIpJiYoZz0hMCk7ZWxzZSBpZig1PT09ZClicmVhaztyZXR1cm4gZ312YXIgaixrPWIuX3N0YXJ0VGltZSttLGw9W10sbj0wLG89MD09PWIuX2R1cmF0aW9uO2ZvcihmPWUubGVuZ3RoOy0tZj4tMTspKGg9ZVtmXSk9PT1ifHxoLl9nY3x8aC5fcGF1c2VkfHwoaC5fdGltZWxpbmUhPT1iLl90aW1lbGluZT8oaj1qfHxhYShiLDAsbyksMD09PWFhKGgsaixvKSYmKGxbbisrXT1oKSk6aC5fc3RhcnRUaW1lPD1rJiZoLl9zdGFydFRpbWUraC50b3RhbER1cmF0aW9uKCkvaC5fdGltZVNjYWxlPmsmJigob3x8IWguX2luaXR0ZWQpJiZrLWguX3N0YXJ0VGltZTw9MmUtMTB8fChsW24rK109aCkpKTtmb3IoZj1uOy0tZj4tMTspaWYoaD1sW2ZdLDI9PT1kJiZoLl9raWxsKGMsYSxiKSYmKGc9ITApLDIhPT1kfHwhaC5fZmlyc3RQVCYmaC5faW5pdHRlZCl7aWYoMiE9PWQmJiEkKGgsYikpY29udGludWU7aC5fZW5hYmxlZCghMSwhMSkmJihnPSEwKX1yZXR1cm4gZ30sYWE9ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZD1hLl90aW1lbGluZSxlPWQuX3RpbWVTY2FsZSxmPWEuX3N0YXJ0VGltZTtkLl90aW1lbGluZTspe2lmKGYrPWQuX3N0YXJ0VGltZSxlKj1kLl90aW1lU2NhbGUsZC5fcGF1c2VkKXJldHVybi0xMDA7ZD1kLl90aW1lbGluZX1yZXR1cm4gZi89ZSxmPmI/Zi1iOmMmJmY9PT1ifHwhYS5faW5pdHRlZCYmMiptPmYtYj9tOihmKz1hLnRvdGFsRHVyYXRpb24oKS9hLl90aW1lU2NhbGUvZSk+YittPzA6Zi1iLW19O2guX2luaXQ9ZnVuY3Rpb24oKXt2YXIgYSxiLGMsZCxlLGYsZz10aGlzLnZhcnMsaD10aGlzLl9vdmVyd3JpdHRlblByb3BzLGk9dGhpcy5fZHVyYXRpb24saj0hIWcuaW1tZWRpYXRlUmVuZGVyLGs9Zy5lYXNlO2lmKGcuc3RhcnRBdCl7dGhpcy5fc3RhcnRBdCYmKHRoaXMuX3N0YXJ0QXQucmVuZGVyKC0xLCEwKSx0aGlzLl9zdGFydEF0LmtpbGwoKSksZT17fTtmb3IoZCBpbiBnLnN0YXJ0QXQpZVtkXT1nLnN0YXJ0QXRbZF07aWYoZS5vdmVyd3JpdGU9ITEsZS5pbW1lZGlhdGVSZW5kZXI9ITAsZS5sYXp5PWomJmcubGF6eSE9PSExLGUuc3RhcnRBdD1lLmRlbGF5PW51bGwsdGhpcy5fc3RhcnRBdD1HLnRvKHRoaXMudGFyZ2V0LDAsZSksailpZih0aGlzLl90aW1lPjApdGhpcy5fc3RhcnRBdD1udWxsO2Vsc2UgaWYoMCE9PWkpcmV0dXJufWVsc2UgaWYoZy5ydW5CYWNrd2FyZHMmJjAhPT1pKWlmKHRoaXMuX3N0YXJ0QXQpdGhpcy5fc3RhcnRBdC5yZW5kZXIoLTEsITApLHRoaXMuX3N0YXJ0QXQua2lsbCgpLHRoaXMuX3N0YXJ0QXQ9bnVsbDtlbHNlezAhPT10aGlzLl90aW1lJiYoaj0hMSksYz17fTtmb3IoZCBpbiBnKVRbZF0mJiJhdXRvQ1NTIiE9PWR8fChjW2RdPWdbZF0pO2lmKGMub3ZlcndyaXRlPTAsYy5kYXRhPSJpc0Zyb21TdGFydCIsYy5sYXp5PWomJmcubGF6eSE9PSExLGMuaW1tZWRpYXRlUmVuZGVyPWosdGhpcy5fc3RhcnRBdD1HLnRvKHRoaXMudGFyZ2V0LDAsYyksail7aWYoMD09PXRoaXMuX3RpbWUpcmV0dXJufWVsc2UgdGhpcy5fc3RhcnRBdC5faW5pdCgpLHRoaXMuX3N0YXJ0QXQuX2VuYWJsZWQoITEpLHRoaXMudmFycy5pbW1lZGlhdGVSZW5kZXImJih0aGlzLl9zdGFydEF0PW51bGwpfWlmKHRoaXMuX2Vhc2U9az1rP2sgaW5zdGFuY2VvZiB2P2s6ImZ1bmN0aW9uIj09dHlwZW9mIGs/bmV3IHYoayxnLmVhc2VQYXJhbXMpOndba118fEcuZGVmYXVsdEVhc2U6Ry5kZWZhdWx0RWFzZSxnLmVhc2VQYXJhbXMgaW5zdGFuY2VvZiBBcnJheSYmay5jb25maWcmJih0aGlzLl9lYXNlPWsuY29uZmlnLmFwcGx5KGssZy5lYXNlUGFyYW1zKSksdGhpcy5fZWFzZVR5cGU9dGhpcy5fZWFzZS5fdHlwZSx0aGlzLl9lYXNlUG93ZXI9dGhpcy5fZWFzZS5fcG93ZXIsdGhpcy5fZmlyc3RQVD1udWxsLHRoaXMuX3RhcmdldHMpZm9yKGY9dGhpcy5fdGFyZ2V0cy5sZW5ndGgsYT0wO2Y+YTthKyspdGhpcy5faW5pdFByb3BzKHRoaXMuX3RhcmdldHNbYV0sdGhpcy5fcHJvcExvb2t1cFthXT17fSx0aGlzLl9zaWJsaW5nc1thXSxoP2hbYV06bnVsbCxhKSYmKGI9ITApO2Vsc2UgYj10aGlzLl9pbml0UHJvcHModGhpcy50YXJnZXQsdGhpcy5fcHJvcExvb2t1cCx0aGlzLl9zaWJsaW5ncyxoLDApO2lmKGImJkcuX29uUGx1Z2luRXZlbnQoIl9vbkluaXRBbGxQcm9wcyIsdGhpcyksaCYmKHRoaXMuX2ZpcnN0UFR8fCJmdW5jdGlvbiIhPXR5cGVvZiB0aGlzLnRhcmdldCYmdGhpcy5fZW5hYmxlZCghMSwhMSkpLGcucnVuQmFja3dhcmRzKWZvcihjPXRoaXMuX2ZpcnN0UFQ7YzspYy5zKz1jLmMsYy5jPS1jLmMsYz1jLl9uZXh0O3RoaXMuX29uVXBkYXRlPWcub25VcGRhdGUsdGhpcy5faW5pdHRlZD0hMH0saC5faW5pdFByb3BzPWZ1bmN0aW9uKGIsYyxkLGUsZil7dmFyIGcsaCxpLGosayxsO2lmKG51bGw9PWIpcmV0dXJuITE7S1tiLl9nc1R3ZWVuSURdJiZZKCksdGhpcy52YXJzLmNzc3x8Yi5zdHlsZSYmYiE9PWEmJmIubm9kZVR5cGUmJlEuY3NzJiZ0aGlzLnZhcnMuYXV0b0NTUyE9PSExJiZJKHRoaXMudmFycyxiKTtmb3IoZyBpbiB0aGlzLnZhcnMpaWYobD10aGlzLnZhcnNbZ10sVFtnXSlsJiYobCBpbnN0YW5jZW9mIEFycmF5fHxsLnB1c2gmJnAobCkpJiYtMSE9PWwuam9pbigiIikuaW5kZXhPZigie3NlbGZ9IikmJih0aGlzLnZhcnNbZ109bD10aGlzLl9zd2FwU2VsZkluUGFyYW1zKGwsdGhpcykpO2Vsc2UgaWYoUVtnXSYmKGo9bmV3IFFbZ10pLl9vbkluaXRUd2VlbihiLHRoaXMudmFyc1tnXSx0aGlzLGYpKXtmb3IodGhpcy5fZmlyc3RQVD1rPXtfbmV4dDp0aGlzLl9maXJzdFBULHQ6aixwOiJzZXRSYXRpbyIsczowLGM6MSxmOjEsbjpnLHBnOjEscHI6ai5fcHJpb3JpdHksbTowfSxoPWouX292ZXJ3cml0ZVByb3BzLmxlbmd0aDstLWg+LTE7KWNbai5fb3ZlcndyaXRlUHJvcHNbaF1dPXRoaXMuX2ZpcnN0UFQ7KGouX3ByaW9yaXR5fHxqLl9vbkluaXRBbGxQcm9wcykmJihpPSEwKSwoai5fb25EaXNhYmxlfHxqLl9vbkVuYWJsZSkmJih0aGlzLl9ub3RpZnlQbHVnaW5zT2ZFbmFibGVkPSEwKSxrLl9uZXh0JiYoay5fbmV4dC5fcHJldj1rKX1lbHNlIGNbZ109Ty5jYWxsKHRoaXMsYixnLCJnZXQiLGwsZywwLG51bGwsdGhpcy52YXJzLnN0cmluZ0ZpbHRlcixmKTtyZXR1cm4gZSYmdGhpcy5fa2lsbChlLGIpP3RoaXMuX2luaXRQcm9wcyhiLGMsZCxlLGYpOnRoaXMuX292ZXJ3cml0ZT4xJiZ0aGlzLl9maXJzdFBUJiZkLmxlbmd0aD4xJiZfKGIsdGhpcyxjLHRoaXMuX292ZXJ3cml0ZSxkKT8odGhpcy5fa2lsbChjLGIpLHRoaXMuX2luaXRQcm9wcyhiLGMsZCxlLGYpKToodGhpcy5fZmlyc3RQVCYmKHRoaXMudmFycy5sYXp5IT09ITEmJnRoaXMuX2R1cmF0aW9ufHx0aGlzLnZhcnMubGF6eSYmIXRoaXMuX2R1cmF0aW9uKSYmKEtbYi5fZ3NUd2VlbklEXT0hMCksaSl9LGgucmVuZGVyPWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGYsZyxoPXRoaXMuX3RpbWUsaT10aGlzLl9kdXJhdGlvbixqPXRoaXMuX3Jhd1ByZXZUaW1lO2lmKGE+PWktMWUtNyYmYT49MCl0aGlzLl90b3RhbFRpbWU9dGhpcy5fdGltZT1pLHRoaXMucmF0aW89dGhpcy5fZWFzZS5fY2FsY0VuZD90aGlzLl9lYXNlLmdldFJhdGlvKDEpOjEsdGhpcy5fcmV2ZXJzZWR8fChkPSEwLGU9Im9uQ29tcGxldGUiLGM9Y3x8dGhpcy5fdGltZWxpbmUuYXV0b1JlbW92ZUNoaWxkcmVuKSwwPT09aSYmKHRoaXMuX2luaXR0ZWR8fCF0aGlzLnZhcnMubGF6eXx8YykmJih0aGlzLl9zdGFydFRpbWU9PT10aGlzLl90aW1lbGluZS5fZHVyYXRpb24mJihhPTApLCgwPmp8fDA+PWEmJmE+PS0xZS03fHxqPT09bSYmImlzUGF1c2UiIT09dGhpcy5kYXRhKSYmaiE9PWEmJihjPSEwLGo+bSYmKGU9Im9uUmV2ZXJzZUNvbXBsZXRlIikpLHRoaXMuX3Jhd1ByZXZUaW1lPWc9IWJ8fGF8fGo9PT1hP2E6bSk7ZWxzZSBpZigxZS03PmEpdGhpcy5fdG90YWxUaW1lPXRoaXMuX3RpbWU9MCx0aGlzLnJhdGlvPXRoaXMuX2Vhc2UuX2NhbGNFbmQ/dGhpcy5fZWFzZS5nZXRSYXRpbygwKTowLCgwIT09aHx8MD09PWkmJmo+MCkmJihlPSJvblJldmVyc2VDb21wbGV0ZSIsZD10aGlzLl9yZXZlcnNlZCksMD5hJiYodGhpcy5fYWN0aXZlPSExLDA9PT1pJiYodGhpcy5faW5pdHRlZHx8IXRoaXMudmFycy5sYXp5fHxjKSYmKGo+PTAmJihqIT09bXx8ImlzUGF1c2UiIT09dGhpcy5kYXRhKSYmKGM9ITApLHRoaXMuX3Jhd1ByZXZUaW1lPWc9IWJ8fGF8fGo9PT1hP2E6bSkpLHRoaXMuX2luaXR0ZWR8fChjPSEwKTtlbHNlIGlmKHRoaXMuX3RvdGFsVGltZT10aGlzLl90aW1lPWEsdGhpcy5fZWFzZVR5cGUpe3ZhciBrPWEvaSxsPXRoaXMuX2Vhc2VUeXBlLG49dGhpcy5fZWFzZVBvd2VyOygxPT09bHx8Mz09PWwmJms+PS41KSYmKGs9MS1rKSwzPT09bCYmKGsqPTIpLDE9PT1uP2sqPWs6Mj09PW4/ayo9ayprOjM9PT1uP2sqPWsqayprOjQ9PT1uJiYoayo9ayprKmsqayksMT09PWw/dGhpcy5yYXRpbz0xLWs6Mj09PWw/dGhpcy5yYXRpbz1rOi41PmEvaT90aGlzLnJhdGlvPWsvMjp0aGlzLnJhdGlvPTEtay8yfWVsc2UgdGhpcy5yYXRpbz10aGlzLl9lYXNlLmdldFJhdGlvKGEvaSk7aWYodGhpcy5fdGltZSE9PWh8fGMpe2lmKCF0aGlzLl9pbml0dGVkKXtpZih0aGlzLl9pbml0KCksIXRoaXMuX2luaXR0ZWR8fHRoaXMuX2djKXJldHVybjtpZighYyYmdGhpcy5fZmlyc3RQVCYmKHRoaXMudmFycy5sYXp5IT09ITEmJnRoaXMuX2R1cmF0aW9ufHx0aGlzLnZhcnMubGF6eSYmIXRoaXMuX2R1cmF0aW9uKSlyZXR1cm4gdGhpcy5fdGltZT10aGlzLl90b3RhbFRpbWU9aCx0aGlzLl9yYXdQcmV2VGltZT1qLEoucHVzaCh0aGlzKSx2b2lkKHRoaXMuX2xhenk9W2EsYl0pO3RoaXMuX3RpbWUmJiFkP3RoaXMucmF0aW89dGhpcy5fZWFzZS5nZXRSYXRpbyh0aGlzLl90aW1lL2kpOmQmJnRoaXMuX2Vhc2UuX2NhbGNFbmQmJih0aGlzLnJhdGlvPXRoaXMuX2Vhc2UuZ2V0UmF0aW8oMD09PXRoaXMuX3RpbWU/MDoxKSl9Zm9yKHRoaXMuX2xhenkhPT0hMSYmKHRoaXMuX2xhenk9ITEpLHRoaXMuX2FjdGl2ZXx8IXRoaXMuX3BhdXNlZCYmdGhpcy5fdGltZSE9PWgmJmE+PTAmJih0aGlzLl9hY3RpdmU9ITApLDA9PT1oJiYodGhpcy5fc3RhcnRBdCYmKGE+PTA/dGhpcy5fc3RhcnRBdC5yZW5kZXIoYSxiLGMpOmV8fChlPSJfZHVtbXlHUyIpKSx0aGlzLnZhcnMub25TdGFydCYmKDAhPT10aGlzLl90aW1lfHwwPT09aSkmJihifHx0aGlzLl9jYWxsYmFjaygib25TdGFydCIpKSksZj10aGlzLl9maXJzdFBUO2Y7KWYuZj9mLnRbZi5wXShmLmMqdGhpcy5yYXRpbytmLnMpOmYudFtmLnBdPWYuYyp0aGlzLnJhdGlvK2YucyxmPWYuX25leHQ7dGhpcy5fb25VcGRhdGUmJigwPmEmJnRoaXMuX3N0YXJ0QXQmJmEhPT0tMWUtNCYmdGhpcy5fc3RhcnRBdC5yZW5kZXIoYSxiLGMpLGJ8fCh0aGlzLl90aW1lIT09aHx8ZHx8YykmJnRoaXMuX2NhbGxiYWNrKCJvblVwZGF0ZSIpKSxlJiYoIXRoaXMuX2djfHxjKSYmKDA+YSYmdGhpcy5fc3RhcnRBdCYmIXRoaXMuX29uVXBkYXRlJiZhIT09LTFlLTQmJnRoaXMuX3N0YXJ0QXQucmVuZGVyKGEsYixjKSxkJiYodGhpcy5fdGltZWxpbmUuYXV0b1JlbW92ZUNoaWxkcmVuJiZ0aGlzLl9lbmFibGVkKCExLCExKSx0aGlzLl9hY3RpdmU9ITEpLCFiJiZ0aGlzLnZhcnNbZV0mJnRoaXMuX2NhbGxiYWNrKGUpLDA9PT1pJiZ0aGlzLl9yYXdQcmV2VGltZT09PW0mJmchPT1tJiYodGhpcy5fcmF3UHJldlRpbWU9MCkpfX0saC5fa2lsbD1mdW5jdGlvbihhLGIsYyl7aWYoImFsbCI9PT1hJiYoYT1udWxsKSxudWxsPT1hJiYobnVsbD09Ynx8Yj09PXRoaXMudGFyZ2V0KSlyZXR1cm4gdGhpcy5fbGF6eT0hMSx0aGlzLl9lbmFibGVkKCExLCExKTtiPSJzdHJpbmciIT10eXBlb2YgYj9ifHx0aGlzLl90YXJnZXRzfHx0aGlzLnRhcmdldDpHLnNlbGVjdG9yKGIpfHxiO3ZhciBkLGUsZixnLGgsaSxqLGssbCxtPWMmJnRoaXMuX3RpbWUmJmMuX3N0YXJ0VGltZT09PXRoaXMuX3N0YXJ0VGltZSYmdGhpcy5fdGltZWxpbmU9PT1jLl90aW1lbGluZTtpZigocChiKXx8SChiKSkmJiJudW1iZXIiIT10eXBlb2YgYlswXSlmb3IoZD1iLmxlbmd0aDstLWQ+LTE7KXRoaXMuX2tpbGwoYSxiW2RdLGMpJiYoaT0hMCk7ZWxzZXtpZih0aGlzLl90YXJnZXRzKXtmb3IoZD10aGlzLl90YXJnZXRzLmxlbmd0aDstLWQ+LTE7KWlmKGI9PT10aGlzLl90YXJnZXRzW2RdKXtoPXRoaXMuX3Byb3BMb29rdXBbZF18fHt9LHRoaXMuX292ZXJ3cml0dGVuUHJvcHM9dGhpcy5fb3ZlcndyaXR0ZW5Qcm9wc3x8W10sZT10aGlzLl9vdmVyd3JpdHRlblByb3BzW2RdPWE/dGhpcy5fb3ZlcndyaXR0ZW5Qcm9wc1tkXXx8e306ImFsbCI7YnJlYWt9fWVsc2V7aWYoYiE9PXRoaXMudGFyZ2V0KXJldHVybiExO2g9dGhpcy5fcHJvcExvb2t1cCxlPXRoaXMuX292ZXJ3cml0dGVuUHJvcHM9YT90aGlzLl9vdmVyd3JpdHRlblByb3BzfHx7fToiYWxsIn1pZihoKXtpZihqPWF8fGgsaz1hIT09ZSYmImFsbCIhPT1lJiZhIT09aCYmKCJvYmplY3QiIT10eXBlb2YgYXx8IWEuX3RlbXBLaWxsKSxjJiYoRy5vbk92ZXJ3cml0ZXx8dGhpcy52YXJzLm9uT3ZlcndyaXRlKSl7Zm9yKGYgaW4gailoW2ZdJiYobHx8KGw9W10pLGwucHVzaChmKSk7aWYoKGx8fCFhKSYmISQodGhpcyxjLGIsbCkpcmV0dXJuITF9Zm9yKGYgaW4gaikoZz1oW2ZdKSYmKG0mJihnLmY/Zy50W2cucF0oZy5zKTpnLnRbZy5wXT1nLnMsaT0hMCksZy5wZyYmZy50Ll9raWxsKGopJiYoaT0hMCksZy5wZyYmMCE9PWcudC5fb3ZlcndyaXRlUHJvcHMubGVuZ3RofHwoZy5fcHJldj9nLl9wcmV2Ll9uZXh0PWcuX25leHQ6Zz09PXRoaXMuX2ZpcnN0UFQmJih0aGlzLl9maXJzdFBUPWcuX25leHQpLGcuX25leHQmJihnLl9uZXh0Ll9wcmV2PWcuX3ByZXYpLGcuX25leHQ9Zy5fcHJldj1udWxsKSxkZWxldGUgaFtmXSksayYmKGVbZl09MSk7IXRoaXMuX2ZpcnN0UFQmJnRoaXMuX2luaXR0ZWQmJnRoaXMuX2VuYWJsZWQoITEsITEpfX1yZXR1cm4gaX0saC5pbnZhbGlkYXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX25vdGlmeVBsdWdpbnNPZkVuYWJsZWQmJkcuX29uUGx1Z2luRXZlbnQoIl9vbkRpc2FibGUiLHRoaXMpLHRoaXMuX2ZpcnN0UFQ9dGhpcy5fb3ZlcndyaXR0ZW5Qcm9wcz10aGlzLl9zdGFydEF0PXRoaXMuX29uVXBkYXRlPW51bGwsdGhpcy5fbm90aWZ5UGx1Z2luc09mRW5hYmxlZD10aGlzLl9hY3RpdmU9dGhpcy5fbGF6eT0hMSx0aGlzLl9wcm9wTG9va3VwPXRoaXMuX3RhcmdldHM/e306W10sRC5wcm90b3R5cGUuaW52YWxpZGF0ZS5jYWxsKHRoaXMpLHRoaXMudmFycy5pbW1lZGlhdGVSZW5kZXImJih0aGlzLl90aW1lPS1tLHRoaXMucmVuZGVyKE1hdGgubWluKDAsLXRoaXMuX2RlbGF5KSkpLHRoaXN9LGguX2VuYWJsZWQ9ZnVuY3Rpb24oYSxiKXtpZihqfHxpLndha2UoKSxhJiZ0aGlzLl9nYyl7dmFyIGMsZD10aGlzLl90YXJnZXRzO2lmKGQpZm9yKGM9ZC5sZW5ndGg7LS1jPi0xOyl0aGlzLl9zaWJsaW5nc1tjXT1aKGRbY10sdGhpcywhMCk7ZWxzZSB0aGlzLl9zaWJsaW5ncz1aKHRoaXMudGFyZ2V0LHRoaXMsITApfXJldHVybiBELnByb3RvdHlwZS5fZW5hYmxlZC5jYWxsKHRoaXMsYSxiKSx0aGlzLl9ub3RpZnlQbHVnaW5zT2ZFbmFibGVkJiZ0aGlzLl9maXJzdFBUP0cuX29uUGx1Z2luRXZlbnQoYT8iX29uRW5hYmxlIjoiX29uRGlzYWJsZSIsdGhpcyk6ITF9LEcudG89ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBuZXcgRyhhLGIsYyl9LEcuZnJvbT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGMucnVuQmFja3dhcmRzPSEwLGMuaW1tZWRpYXRlUmVuZGVyPTAhPWMuaW1tZWRpYXRlUmVuZGVyLG5ldyBHKGEsYixjKX0sRy5mcm9tVG89ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIGQuc3RhcnRBdD1jLGQuaW1tZWRpYXRlUmVuZGVyPTAhPWQuaW1tZWRpYXRlUmVuZGVyJiYwIT1jLmltbWVkaWF0ZVJlbmRlcixuZXcgRyhhLGIsZCl9LEcuZGVsYXllZENhbGw9ZnVuY3Rpb24oYSxiLGMsZCxlKXtyZXR1cm4gbmV3IEcoYiwwLHtkZWxheTphLG9uQ29tcGxldGU6YixvbkNvbXBsZXRlUGFyYW1zOmMsY2FsbGJhY2tTY29wZTpkLG9uUmV2ZXJzZUNvbXBsZXRlOmIsb25SZXZlcnNlQ29tcGxldGVQYXJhbXM6YyxpbW1lZGlhdGVSZW5kZXI6ITEsbGF6eTohMSx1c2VGcmFtZXM6ZSxvdmVyd3JpdGU6MH0pfSxHLnNldD1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgRyhhLDAsYil9LEcuZ2V0VHdlZW5zT2Y9ZnVuY3Rpb24oYSxiKXtpZihudWxsPT1hKXJldHVybltdO2E9InN0cmluZyIhPXR5cGVvZiBhP2E6Ry5zZWxlY3RvcihhKXx8YTt2YXIgYyxkLGUsZjtpZigocChhKXx8SChhKSkmJiJudW1iZXIiIT10eXBlb2YgYVswXSl7Zm9yKGM9YS5sZW5ndGgsZD1bXTstLWM+LTE7KWQ9ZC5jb25jYXQoRy5nZXRUd2VlbnNPZihhW2NdLGIpKTtmb3IoYz1kLmxlbmd0aDstLWM+LTE7KWZvcihmPWRbY10sZT1jOy0tZT4tMTspZj09PWRbZV0mJmQuc3BsaWNlKGMsMSl9ZWxzZSBmb3IoZD1aKGEpLmNvbmNhdCgpLGM9ZC5sZW5ndGg7LS1jPi0xOykoZFtjXS5fZ2N8fGImJiFkW2NdLmlzQWN0aXZlKCkpJiZkLnNwbGljZShjLDEpO3JldHVybiBkfSxHLmtpbGxUd2VlbnNPZj1HLmtpbGxEZWxheWVkQ2FsbHNUbz1mdW5jdGlvbihhLGIsYyl7Im9iamVjdCI9PXR5cGVvZiBiJiYoYz1iLGI9ITEpO2Zvcih2YXIgZD1HLmdldFR3ZWVuc09mKGEsYiksZT1kLmxlbmd0aDstLWU+LTE7KWRbZV0uX2tpbGwoYyxhKX07dmFyIGJhPXQoInBsdWdpbnMuVHdlZW5QbHVnaW4iLGZ1bmN0aW9uKGEsYil7dGhpcy5fb3ZlcndyaXRlUHJvcHM9KGF8fCIiKS5zcGxpdCgiLCIpLHRoaXMuX3Byb3BOYW1lPXRoaXMuX292ZXJ3cml0ZVByb3BzWzBdLHRoaXMuX3ByaW9yaXR5PWJ8fDAsdGhpcy5fc3VwZXI9YmEucHJvdG90eXBlfSwhMCk7aWYoaD1iYS5wcm90b3R5cGUsYmEudmVyc2lvbj0iMS4xOS4wIixiYS5BUEk9MixoLl9maXJzdFBUPW51bGwsaC5fYWRkVHdlZW49TyxoLnNldFJhdGlvPU0saC5fa2lsbD1mdW5jdGlvbihhKXt2YXIgYixjPXRoaXMuX292ZXJ3cml0ZVByb3BzLGQ9dGhpcy5fZmlyc3RQVDtpZihudWxsIT1hW3RoaXMuX3Byb3BOYW1lXSl0aGlzLl9vdmVyd3JpdGVQcm9wcz1bXTtlbHNlIGZvcihiPWMubGVuZ3RoOy0tYj4tMTspbnVsbCE9YVtjW2JdXSYmYy5zcGxpY2UoYiwxKTtmb3IoO2Q7KW51bGwhPWFbZC5uXSYmKGQuX25leHQmJihkLl9uZXh0Ll9wcmV2PWQuX3ByZXYpLGQuX3ByZXY/KGQuX3ByZXYuX25leHQ9ZC5fbmV4dCxkLl9wcmV2PW51bGwpOnRoaXMuX2ZpcnN0UFQ9PT1kJiYodGhpcy5fZmlyc3RQVD1kLl9uZXh0KSksZD1kLl9uZXh0O3JldHVybiExfSxoLl9tb2Q9aC5fcm91bmRQcm9wcz1mdW5jdGlvbihhKXtmb3IodmFyIGIsYz10aGlzLl9maXJzdFBUO2M7KWI9YVt0aGlzLl9wcm9wTmFtZV18fG51bGwhPWMubiYmYVtjLm4uc3BsaXQodGhpcy5fcHJvcE5hbWUrIl8iKS5qb2luKCIiKV0sYiYmImZ1bmN0aW9uIj09dHlwZW9mIGImJigyPT09Yy5mP2MudC5fYXBwbHlQVC5tPWI6Yy5tPWIpLGM9Yy5fbmV4dH0sRy5fb25QbHVnaW5FdmVudD1mdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGcsaD1iLl9maXJzdFBUO2lmKCJfb25Jbml0QWxsUHJvcHMiPT09YSl7Zm9yKDtoOyl7Zm9yKGc9aC5fbmV4dCxkPWU7ZCYmZC5wcj5oLnByOylkPWQuX25leHQ7KGguX3ByZXY9ZD9kLl9wcmV2OmYpP2guX3ByZXYuX25leHQ9aDplPWgsKGguX25leHQ9ZCk/ZC5fcHJldj1oOmY9aCxoPWd9aD1iLl9maXJzdFBUPWV9Zm9yKDtoOyloLnBnJiYiZnVuY3Rpb24iPT10eXBlb2YgaC50W2FdJiZoLnRbYV0oKSYmKGM9ITApLGg9aC5fbmV4dDtyZXR1cm4gY30sYmEuYWN0aXZhdGU9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWEubGVuZ3RoOy0tYj4tMTspYVtiXS5BUEk9PT1iYS5BUEkmJihRWyhuZXcgYVtiXSkuX3Byb3BOYW1lXT1hW2JdKTtyZXR1cm4hMH0scy5wbHVnaW49ZnVuY3Rpb24oYSl7aWYoIShhJiZhLnByb3BOYW1lJiZhLmluaXQmJmEuQVBJKSl0aHJvdyJpbGxlZ2FsIHBsdWdpbiBkZWZpbml0aW9uLiI7dmFyIGIsYz1hLnByb3BOYW1lLGQ9YS5wcmlvcml0eXx8MCxlPWEub3ZlcndyaXRlUHJvcHMsZj17aW5pdDoiX29uSW5pdFR3ZWVuIixzZXQ6InNldFJhdGlvIixraWxsOiJfa2lsbCIscm91bmQ6Il9tb2QiLG1vZDoiX21vZCIsaW5pdEFsbDoiX29uSW5pdEFsbFByb3BzIn0sZz10KCJwbHVnaW5zLiIrYy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStjLnN1YnN0cigxKSsiUGx1Z2luIixmdW5jdGlvbigpe2JhLmNhbGwodGhpcyxjLGQpLHRoaXMuX292ZXJ3cml0ZVByb3BzPWV8fFtdfSxhLmdsb2JhbD09PSEwKSxoPWcucHJvdG90eXBlPW5ldyBiYShjKTtoLmNvbnN0cnVjdG9yPWcsZy5BUEk9YS5BUEk7Zm9yKGIgaW4gZikiZnVuY3Rpb24iPT10eXBlb2YgYVtiXSYmKGhbZltiXV09YVtiXSk7cmV0dXJuIGcudmVyc2lvbj1hLnZlcnNpb24sYmEuYWN0aXZhdGUoW2ddKSxnfSxmPWEuX2dzUXVldWUpe2ZvcihnPTA7ZzxmLmxlbmd0aDtnKyspZltnXSgpO2ZvcihoIGluIHEpcVtoXS5mdW5jfHxhLmNvbnNvbGUubG9nKCJHU0FQIGVuY291bnRlcmVkIG1pc3NpbmcgZGVwZW5kZW5jeTogIitoKX1qPSExfX0oInVuZGVmaW5lZCIhPXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzJiYidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6dGhpc3x8d2luZG93LCJUd2VlbkxpdGUiKTsNCi8qIFRJTUUgTElORSBMSVRFICovDQovKiENCiAqIFZFUlNJT046IDEuMTcuMA0KICogREFURTogMjAxNS0wNS0yNw0KICogVVBEQVRFUyBBTkQgRE9DUyBBVDogaHR0cDovL2dyZWVuc29jay5jb20NCiAqDQogKiBAbGljZW5zZSBDb3B5cmlnaHQgKGMpIDIwMDgtMjAxNSwgR3JlZW5Tb2NrLiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KICogVGhpcyB3b3JrIGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIGF0IGh0dHA6Ly9ncmVlbnNvY2suY29tL3N0YW5kYXJkLWxpY2Vuc2Ugb3IgZm9yDQogKiBDbHViIEdyZWVuU29jayBtZW1iZXJzLCB0aGUgc29mdHdhcmUgYWdyZWVtZW50IHRoYXQgd2FzIGlzc3VlZCB3aXRoIHlvdXIgbWVtYmVyc2hpcC4NCiAqIA0KICogQGF1dGhvcjogSmFjayBEb3lsZSwgamFja0BncmVlbnNvY2suY29tDQogKi8NCnZhciBfZ3NTY29wZT0idW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHMmJiJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsP2dsb2JhbDp0aGlzfHx3aW5kb3c7KF9nc1Njb3BlLl9nc1F1ZXVlfHwoX2dzU2NvcGUuX2dzUXVldWU9W10pKS5wdXNoKGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO19nc1Njb3BlLl9nc0RlZmluZSgiVGltZWxpbmVMaXRlIixbImNvcmUuQW5pbWF0aW9uIiwiY29yZS5TaW1wbGVUaW1lbGluZSIsIlR3ZWVuTGl0ZSJdLGZ1bmN0aW9uKHQsZSxpKXt2YXIgcz1mdW5jdGlvbih0KXtlLmNhbGwodGhpcyx0KSx0aGlzLl9sYWJlbHM9e30sdGhpcy5hdXRvUmVtb3ZlQ2hpbGRyZW49dGhpcy52YXJzLmF1dG9SZW1vdmVDaGlsZHJlbj09PSEwLHRoaXMuc21vb3RoQ2hpbGRUaW1pbmc9dGhpcy52YXJzLnNtb290aENoaWxkVGltaW5nPT09ITAsdGhpcy5fc29ydENoaWxkcmVuPSEwLHRoaXMuX29uVXBkYXRlPXRoaXMudmFycy5vblVwZGF0ZTt2YXIgaSxzLHI9dGhpcy52YXJzO2ZvcihzIGluIHIpaT1yW3NdLGgoaSkmJi0xIT09aS5qb2luKCIiKS5pbmRleE9mKCJ7c2VsZn0iKSYmKHJbc109dGhpcy5fc3dhcFNlbGZJblBhcmFtcyhpKSk7aChyLnR3ZWVucykmJnRoaXMuYWRkKHIudHdlZW5zLDAsci5hbGlnbixyLnN0YWdnZXIpfSxyPTFlLTEwLG49aS5faW50ZXJuYWxzLGE9cy5faW50ZXJuYWxzPXt9LG89bi5pc1NlbGVjdG9yLGg9bi5pc0FycmF5LGw9bi5sYXp5VHdlZW5zLF89bi5sYXp5UmVuZGVyLHU9W10sZj1fZ3NTY29wZS5fZ3NEZWZpbmUuZ2xvYmFscyxjPWZ1bmN0aW9uKHQpe3ZhciBlLGk9e307Zm9yKGUgaW4gdClpW2VdPXRbZV07cmV0dXJuIGl9LHA9YS5wYXVzZUNhbGxiYWNrPWZ1bmN0aW9uKHQsZSxpLHMpe3ZhciBuLGE9dC5fdGltZWxpbmUsbz1hLl90b3RhbFRpbWUsaD10Ll9zdGFydFRpbWUsbD0wPnQuX3Jhd1ByZXZUaW1lfHwwPT09dC5fcmF3UHJldlRpbWUmJmEuX3JldmVyc2VkLF89bD8wOnIsZj1sP3I6MDtpZihlfHwhdGhpcy5fZm9yY2luZ1BsYXloZWFkKXtmb3IoYS5wYXVzZShoKSxuPXQuX3ByZXY7biYmbi5fc3RhcnRUaW1lPT09aDspbi5fcmF3UHJldlRpbWU9ZixuPW4uX3ByZXY7Zm9yKG49dC5fbmV4dDtuJiZuLl9zdGFydFRpbWU9PT1oOyluLl9yYXdQcmV2VGltZT1fLG49bi5fbmV4dDtlJiZlLmFwcGx5KHN8fGEudmFycy5jYWxsYmFja1Njb3BlfHxhLGl8fHUpLCh0aGlzLl9mb3JjaW5nUGxheWhlYWR8fCFhLl9wYXVzZWQpJiZhLnNlZWsobyl9fSxtPWZ1bmN0aW9uKHQpe3ZhciBlLGk9W10scz10Lmxlbmd0aDtmb3IoZT0wO2UhPT1zO2kucHVzaCh0W2UrK10pKTtyZXR1cm4gaX0sZD1zLnByb3RvdHlwZT1uZXcgZTtyZXR1cm4gcy52ZXJzaW9uPSIxLjE3LjAiLGQuY29uc3RydWN0b3I9cyxkLmtpbGwoKS5fZ2M9ZC5fZm9yY2luZ1BsYXloZWFkPSExLGQudG89ZnVuY3Rpb24odCxlLHMscil7dmFyIG49cy5yZXBlYXQmJmYuVHdlZW5NYXh8fGk7cmV0dXJuIGU/dGhpcy5hZGQobmV3IG4odCxlLHMpLHIpOnRoaXMuc2V0KHQscyxyKX0sZC5mcm9tPWZ1bmN0aW9uKHQsZSxzLHIpe3JldHVybiB0aGlzLmFkZCgocy5yZXBlYXQmJmYuVHdlZW5NYXh8fGkpLmZyb20odCxlLHMpLHIpfSxkLmZyb21Ubz1mdW5jdGlvbih0LGUscyxyLG4pe3ZhciBhPXIucmVwZWF0JiZmLlR3ZWVuTWF4fHxpO3JldHVybiBlP3RoaXMuYWRkKGEuZnJvbVRvKHQsZSxzLHIpLG4pOnRoaXMuc2V0KHQscixuKX0sZC5zdGFnZ2VyVG89ZnVuY3Rpb24odCxlLHIsbixhLGgsbCxfKXt2YXIgdSxmPW5ldyBzKHtvbkNvbXBsZXRlOmgsb25Db21wbGV0ZVBhcmFtczpsLGNhbGxiYWNrU2NvcGU6XyxzbW9vdGhDaGlsZFRpbWluZzp0aGlzLnNtb290aENoaWxkVGltaW5nfSk7Zm9yKCJzdHJpbmciPT10eXBlb2YgdCYmKHQ9aS5zZWxlY3Rvcih0KXx8dCksdD10fHxbXSxvKHQpJiYodD1tKHQpKSxuPW58fDAsMD5uJiYodD1tKHQpLHQucmV2ZXJzZSgpLG4qPS0xKSx1PTA7dC5sZW5ndGg+dTt1Kyspci5zdGFydEF0JiYoci5zdGFydEF0PWMoci5zdGFydEF0KSksZi50byh0W3VdLGUsYyhyKSx1Km4pO3JldHVybiB0aGlzLmFkZChmLGEpfSxkLnN0YWdnZXJGcm9tPWZ1bmN0aW9uKHQsZSxpLHMscixuLGEsbyl7cmV0dXJuIGkuaW1tZWRpYXRlUmVuZGVyPTAhPWkuaW1tZWRpYXRlUmVuZGVyLGkucnVuQmFja3dhcmRzPSEwLHRoaXMuc3RhZ2dlclRvKHQsZSxpLHMscixuLGEsbyl9LGQuc3RhZ2dlckZyb21Ubz1mdW5jdGlvbih0LGUsaSxzLHIsbixhLG8saCl7cmV0dXJuIHMuc3RhcnRBdD1pLHMuaW1tZWRpYXRlUmVuZGVyPTAhPXMuaW1tZWRpYXRlUmVuZGVyJiYwIT1pLmltbWVkaWF0ZVJlbmRlcix0aGlzLnN0YWdnZXJUbyh0LGUscyxyLG4sYSxvLGgpfSxkLmNhbGw9ZnVuY3Rpb24odCxlLHMscil7cmV0dXJuIHRoaXMuYWRkKGkuZGVsYXllZENhbGwoMCx0LGUscykscil9LGQuc2V0PWZ1bmN0aW9uKHQsZSxzKXtyZXR1cm4gcz10aGlzLl9wYXJzZVRpbWVPckxhYmVsKHMsMCwhMCksbnVsbD09ZS5pbW1lZGlhdGVSZW5kZXImJihlLmltbWVkaWF0ZVJlbmRlcj1zPT09dGhpcy5fdGltZSYmIXRoaXMuX3BhdXNlZCksdGhpcy5hZGQobmV3IGkodCwwLGUpLHMpfSxzLmV4cG9ydFJvb3Q9ZnVuY3Rpb24odCxlKXt0PXR8fHt9LG51bGw9PXQuc21vb3RoQ2hpbGRUaW1pbmcmJih0LnNtb290aENoaWxkVGltaW5nPSEwKTt2YXIgcixuLGE9bmV3IHModCksbz1hLl90aW1lbGluZTtmb3IobnVsbD09ZSYmKGU9ITApLG8uX3JlbW92ZShhLCEwKSxhLl9zdGFydFRpbWU9MCxhLl9yYXdQcmV2VGltZT1hLl90aW1lPWEuX3RvdGFsVGltZT1vLl90aW1lLHI9by5fZmlyc3Q7cjspbj1yLl9uZXh0LGUmJnIgaW5zdGFuY2VvZiBpJiZyLnRhcmdldD09PXIudmFycy5vbkNvbXBsZXRlfHxhLmFkZChyLHIuX3N0YXJ0VGltZS1yLl9kZWxheSkscj1uO3JldHVybiBvLmFkZChhLDApLGF9LGQuYWRkPWZ1bmN0aW9uKHIsbixhLG8pe3ZhciBsLF8sdSxmLGMscDtpZigibnVtYmVyIiE9dHlwZW9mIG4mJihuPXRoaXMuX3BhcnNlVGltZU9yTGFiZWwobiwwLCEwLHIpKSwhKHIgaW5zdGFuY2VvZiB0KSl7aWYociBpbnN0YW5jZW9mIEFycmF5fHxyJiZyLnB1c2gmJmgocikpe2ZvcihhPWF8fCJub3JtYWwiLG89b3x8MCxsPW4sXz1yLmxlbmd0aCx1PTA7Xz51O3UrKyloKGY9clt1XSkmJihmPW5ldyBzKHt0d2VlbnM6Zn0pKSx0aGlzLmFkZChmLGwpLCJzdHJpbmciIT10eXBlb2YgZiYmImZ1bmN0aW9uIiE9dHlwZW9mIGYmJigic2VxdWVuY2UiPT09YT9sPWYuX3N0YXJ0VGltZStmLnRvdGFsRHVyYXRpb24oKS9mLl90aW1lU2NhbGU6InN0YXJ0Ij09PWEmJihmLl9zdGFydFRpbWUtPWYuZGVsYXkoKSkpLGwrPW87cmV0dXJuIHRoaXMuX3VuY2FjaGUoITApfWlmKCJzdHJpbmciPT10eXBlb2YgcilyZXR1cm4gdGhpcy5hZGRMYWJlbChyLG4pO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiByKXRocm93IkNhbm5vdCBhZGQgIityKyIgaW50byB0aGUgdGltZWxpbmU7IGl0IGlzIG5vdCBhIHR3ZWVuLCB0aW1lbGluZSwgZnVuY3Rpb24sIG9yIHN0cmluZy4iO3I9aS5kZWxheWVkQ2FsbCgwLHIpfWlmKGUucHJvdG90eXBlLmFkZC5jYWxsKHRoaXMscixuKSwodGhpcy5fZ2N8fHRoaXMuX3RpbWU9PT10aGlzLl9kdXJhdGlvbikmJiF0aGlzLl9wYXVzZWQmJnRoaXMuX2R1cmF0aW9uPHRoaXMuZHVyYXRpb24oKSlmb3IoYz10aGlzLHA9Yy5yYXdUaW1lKCk+ci5fc3RhcnRUaW1lO2MuX3RpbWVsaW5lOylwJiZjLl90aW1lbGluZS5zbW9vdGhDaGlsZFRpbWluZz9jLnRvdGFsVGltZShjLl90b3RhbFRpbWUsITApOmMuX2djJiZjLl9lbmFibGVkKCEwLCExKSxjPWMuX3RpbWVsaW5lO3JldHVybiB0aGlzfSxkLnJlbW92ZT1mdW5jdGlvbihlKXtpZihlIGluc3RhbmNlb2YgdClyZXR1cm4gdGhpcy5fcmVtb3ZlKGUsITEpO2lmKGUgaW5zdGFuY2VvZiBBcnJheXx8ZSYmZS5wdXNoJiZoKGUpKXtmb3IodmFyIGk9ZS5sZW5ndGg7LS1pPi0xOyl0aGlzLnJlbW92ZShlW2ldKTtyZXR1cm4gdGhpc31yZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/dGhpcy5yZW1vdmVMYWJlbChlKTp0aGlzLmtpbGwobnVsbCxlKX0sZC5fcmVtb3ZlPWZ1bmN0aW9uKHQsaSl7ZS5wcm90b3R5cGUuX3JlbW92ZS5jYWxsKHRoaXMsdCxpKTt2YXIgcz10aGlzLl9sYXN0O3JldHVybiBzP3RoaXMuX3RpbWU+cy5fc3RhcnRUaW1lK3MuX3RvdGFsRHVyYXRpb24vcy5fdGltZVNjYWxlJiYodGhpcy5fdGltZT10aGlzLmR1cmF0aW9uKCksdGhpcy5fdG90YWxUaW1lPXRoaXMuX3RvdGFsRHVyYXRpb24pOnRoaXMuX3RpbWU9dGhpcy5fdG90YWxUaW1lPXRoaXMuX2R1cmF0aW9uPXRoaXMuX3RvdGFsRHVyYXRpb249MCx0aGlzfSxkLmFwcGVuZD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmFkZCh0LHRoaXMuX3BhcnNlVGltZU9yTGFiZWwobnVsbCxlLCEwLHQpKX0sZC5pbnNlcnQ9ZC5pbnNlcnRNdWx0aXBsZT1mdW5jdGlvbih0LGUsaSxzKXtyZXR1cm4gdGhpcy5hZGQodCxlfHwwLGkscyl9LGQuYXBwZW5kTXVsdGlwbGU9ZnVuY3Rpb24odCxlLGkscyl7cmV0dXJuIHRoaXMuYWRkKHQsdGhpcy5fcGFyc2VUaW1lT3JMYWJlbChudWxsLGUsITAsdCksaSxzKX0sZC5hZGRMYWJlbD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl9sYWJlbHNbdF09dGhpcy5fcGFyc2VUaW1lT3JMYWJlbChlKSx0aGlzfSxkLmFkZFBhdXNlPWZ1bmN0aW9uKHQsZSxzLHIpe3ZhciBuPWkuZGVsYXllZENhbGwoMCxwLFsie3NlbGZ9IixlLHMscl0sdGhpcyk7cmV0dXJuIG4uZGF0YT0iaXNQYXVzZSIsdGhpcy5hZGQobix0KX0sZC5yZW1vdmVMYWJlbD1mdW5jdGlvbih0KXtyZXR1cm4gZGVsZXRlIHRoaXMuX2xhYmVsc1t0XSx0aGlzfSxkLmdldExhYmVsVGltZT1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbCE9dGhpcy5fbGFiZWxzW3RdP3RoaXMuX2xhYmVsc1t0XTotMX0sZC5fcGFyc2VUaW1lT3JMYWJlbD1mdW5jdGlvbihlLGkscyxyKXt2YXIgbjtpZihyIGluc3RhbmNlb2YgdCYmci50aW1lbGluZT09PXRoaXMpdGhpcy5yZW1vdmUocik7ZWxzZSBpZihyJiYociBpbnN0YW5jZW9mIEFycmF5fHxyLnB1c2gmJmgocikpKWZvcihuPXIubGVuZ3RoOy0tbj4tMTspcltuXWluc3RhbmNlb2YgdCYmcltuXS50aW1lbGluZT09PXRoaXMmJnRoaXMucmVtb3ZlKHJbbl0pO2lmKCJzdHJpbmciPT10eXBlb2YgaSlyZXR1cm4gdGhpcy5fcGFyc2VUaW1lT3JMYWJlbChpLHMmJiJudW1iZXIiPT10eXBlb2YgZSYmbnVsbD09dGhpcy5fbGFiZWxzW2ldP2UtdGhpcy5kdXJhdGlvbigpOjAscyk7aWYoaT1pfHwwLCJzdHJpbmciIT10eXBlb2YgZXx8IWlzTmFOKGUpJiZudWxsPT10aGlzLl9sYWJlbHNbZV0pbnVsbD09ZSYmKGU9dGhpcy5kdXJhdGlvbigpKTtlbHNle2lmKG49ZS5pbmRleE9mKCI9IiksLTE9PT1uKXJldHVybiBudWxsPT10aGlzLl9sYWJlbHNbZV0/cz90aGlzLl9sYWJlbHNbZV09dGhpcy5kdXJhdGlvbigpK2k6aTp0aGlzLl9sYWJlbHNbZV0raTtpPXBhcnNlSW50KGUuY2hhckF0KG4tMSkrIjEiLDEwKSpOdW1iZXIoZS5zdWJzdHIobisxKSksZT1uPjE/dGhpcy5fcGFyc2VUaW1lT3JMYWJlbChlLnN1YnN0cigwLG4tMSksMCxzKTp0aGlzLmR1cmF0aW9uKCl9cmV0dXJuIE51bWJlcihlKStpfSxkLnNlZWs9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy50b3RhbFRpbWUoIm51bWJlciI9PXR5cGVvZiB0P3Q6dGhpcy5fcGFyc2VUaW1lT3JMYWJlbCh0KSxlIT09ITEpfSxkLnN0b3A9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXVzZWQoITApfSxkLmdvdG9BbmRQbGF5PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMucGxheSh0LGUpfSxkLmdvdG9BbmRTdG9wPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMucGF1c2UodCxlKX0sZC5yZW5kZXI9ZnVuY3Rpb24odCxlLGkpe3RoaXMuX2djJiZ0aGlzLl9lbmFibGVkKCEwLCExKTt2YXIgcyxuLGEsbyxoLHU9dGhpcy5fZGlydHk/dGhpcy50b3RhbER1cmF0aW9uKCk6dGhpcy5fdG90YWxEdXJhdGlvbixmPXRoaXMuX3RpbWUsYz10aGlzLl9zdGFydFRpbWUscD10aGlzLl90aW1lU2NhbGUsbT10aGlzLl9wYXVzZWQ7aWYodD49dSl0aGlzLl90b3RhbFRpbWU9dGhpcy5fdGltZT11LHRoaXMuX3JldmVyc2VkfHx0aGlzLl9oYXNQYXVzZWRDaGlsZCgpfHwobj0hMCxvPSJvbkNvbXBsZXRlIixoPSEhdGhpcy5fdGltZWxpbmUuYXV0b1JlbW92ZUNoaWxkcmVuLDA9PT10aGlzLl9kdXJhdGlvbiYmKDA9PT10fHwwPnRoaXMuX3Jhd1ByZXZUaW1lfHx0aGlzLl9yYXdQcmV2VGltZT09PXIpJiZ0aGlzLl9yYXdQcmV2VGltZSE9PXQmJnRoaXMuX2ZpcnN0JiYoaD0hMCx0aGlzLl9yYXdQcmV2VGltZT5yJiYobz0ib25SZXZlcnNlQ29tcGxldGUiKSkpLHRoaXMuX3Jhd1ByZXZUaW1lPXRoaXMuX2R1cmF0aW9ufHwhZXx8dHx8dGhpcy5fcmF3UHJldlRpbWU9PT10P3Q6cix0PXUrMWUtNDtlbHNlIGlmKDFlLTc+dClpZih0aGlzLl90b3RhbFRpbWU9dGhpcy5fdGltZT0wLCgwIT09Znx8MD09PXRoaXMuX2R1cmF0aW9uJiZ0aGlzLl9yYXdQcmV2VGltZSE9PXImJih0aGlzLl9yYXdQcmV2VGltZT4wfHwwPnQmJnRoaXMuX3Jhd1ByZXZUaW1lPj0wKSkmJihvPSJvblJldmVyc2VDb21wbGV0ZSIsbj10aGlzLl9yZXZlcnNlZCksMD50KXRoaXMuX2FjdGl2ZT0hMSx0aGlzLl90aW1lbGluZS5hdXRvUmVtb3ZlQ2hpbGRyZW4mJnRoaXMuX3JldmVyc2VkPyhoPW49ITAsbz0ib25SZXZlcnNlQ29tcGxldGUiKTp0aGlzLl9yYXdQcmV2VGltZT49MCYmdGhpcy5fZmlyc3QmJihoPSEwKSx0aGlzLl9yYXdQcmV2VGltZT10O2Vsc2V7aWYodGhpcy5fcmF3UHJldlRpbWU9dGhpcy5fZHVyYXRpb258fCFlfHx0fHx0aGlzLl9yYXdQcmV2VGltZT09PXQ/dDpyLDA9PT10JiZuKWZvcihzPXRoaXMuX2ZpcnN0O3MmJjA9PT1zLl9zdGFydFRpbWU7KXMuX2R1cmF0aW9ufHwobj0hMSkscz1zLl9uZXh0O3Q9MCx0aGlzLl9pbml0dGVkfHwoaD0hMCl9ZWxzZSB0aGlzLl90b3RhbFRpbWU9dGhpcy5fdGltZT10aGlzLl9yYXdQcmV2VGltZT10O2lmKHRoaXMuX3RpbWUhPT1mJiZ0aGlzLl9maXJzdHx8aXx8aCl7aWYodGhpcy5faW5pdHRlZHx8KHRoaXMuX2luaXR0ZWQ9ITApLHRoaXMuX2FjdGl2ZXx8IXRoaXMuX3BhdXNlZCYmdGhpcy5fdGltZSE9PWYmJnQ+MCYmKHRoaXMuX2FjdGl2ZT0hMCksMD09PWYmJnRoaXMudmFycy5vblN0YXJ0JiYwIT09dGhpcy5fdGltZSYmKGV8fHRoaXMuX2NhbGxiYWNrKCJvblN0YXJ0IikpLHRoaXMuX3RpbWU+PWYpZm9yKHM9dGhpcy5fZmlyc3Q7cyYmKGE9cy5fbmV4dCwhdGhpcy5fcGF1c2VkfHxtKTspKHMuX2FjdGl2ZXx8cy5fc3RhcnRUaW1lPD10aGlzLl90aW1lJiYhcy5fcGF1c2VkJiYhcy5fZ2MpJiYocy5fcmV2ZXJzZWQ/cy5yZW5kZXIoKHMuX2RpcnR5P3MudG90YWxEdXJhdGlvbigpOnMuX3RvdGFsRHVyYXRpb24pLSh0LXMuX3N0YXJ0VGltZSkqcy5fdGltZVNjYWxlLGUsaSk6cy5yZW5kZXIoKHQtcy5fc3RhcnRUaW1lKSpzLl90aW1lU2NhbGUsZSxpKSkscz1hO2Vsc2UgZm9yKHM9dGhpcy5fbGFzdDtzJiYoYT1zLl9wcmV2LCF0aGlzLl9wYXVzZWR8fG0pOykocy5fYWN0aXZlfHxmPj1zLl9zdGFydFRpbWUmJiFzLl9wYXVzZWQmJiFzLl9nYykmJihzLl9yZXZlcnNlZD9zLnJlbmRlcigocy5fZGlydHk/cy50b3RhbER1cmF0aW9uKCk6cy5fdG90YWxEdXJhdGlvbiktKHQtcy5fc3RhcnRUaW1lKSpzLl90aW1lU2NhbGUsZSxpKTpzLnJlbmRlcigodC1zLl9zdGFydFRpbWUpKnMuX3RpbWVTY2FsZSxlLGkpKSxzPWE7dGhpcy5fb25VcGRhdGUmJihlfHwobC5sZW5ndGgmJl8oKSx0aGlzLl9jYWxsYmFjaygib25VcGRhdGUiKSkpLG8mJih0aGlzLl9nY3x8KGM9PT10aGlzLl9zdGFydFRpbWV8fHAhPT10aGlzLl90aW1lU2NhbGUpJiYoMD09PXRoaXMuX3RpbWV8fHU+PXRoaXMudG90YWxEdXJhdGlvbigpKSYmKG4mJihsLmxlbmd0aCYmXygpLHRoaXMuX3RpbWVsaW5lLmF1dG9SZW1vdmVDaGlsZHJlbiYmdGhpcy5fZW5hYmxlZCghMSwhMSksdGhpcy5fYWN0aXZlPSExKSwhZSYmdGhpcy52YXJzW29dJiZ0aGlzLl9jYWxsYmFjayhvKSkpfX0sZC5faGFzUGF1c2VkQ2hpbGQ9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcy5fZmlyc3Q7dDspe2lmKHQuX3BhdXNlZHx8dCBpbnN0YW5jZW9mIHMmJnQuX2hhc1BhdXNlZENoaWxkKCkpcmV0dXJuITA7dD10Ll9uZXh0fXJldHVybiExfSxkLmdldENoaWxkcmVuPWZ1bmN0aW9uKHQsZSxzLHIpe3I9cnx8LTk5OTk5OTk5OTk7Zm9yKHZhciBuPVtdLGE9dGhpcy5fZmlyc3Qsbz0wO2E7KXI+YS5fc3RhcnRUaW1lfHwoYSBpbnN0YW5jZW9mIGk/ZSE9PSExJiYobltvKytdPWEpOihzIT09ITEmJihuW28rK109YSksdCE9PSExJiYobj1uLmNvbmNhdChhLmdldENoaWxkcmVuKCEwLGUscykpLG89bi5sZW5ndGgpKSksYT1hLl9uZXh0O3JldHVybiBufSxkLmdldFR3ZWVuc09mPWZ1bmN0aW9uKHQsZSl7dmFyIHMscixuPXRoaXMuX2djLGE9W10sbz0wO2ZvcihuJiZ0aGlzLl9lbmFibGVkKCEwLCEwKSxzPWkuZ2V0VHdlZW5zT2YodCkscj1zLmxlbmd0aDstLXI+LTE7KShzW3JdLnRpbWVsaW5lPT09dGhpc3x8ZSYmdGhpcy5fY29udGFpbnMoc1tyXSkpJiYoYVtvKytdPXNbcl0pO3JldHVybiBuJiZ0aGlzLl9lbmFibGVkKCExLCEwKSxhfSxkLnJlY2VudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9yZWNlbnR9LGQuX2NvbnRhaW5zPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10LnRpbWVsaW5lO2U7KXtpZihlPT09dGhpcylyZXR1cm4hMDtlPWUudGltZWxpbmV9cmV0dXJuITF9LGQuc2hpZnRDaGlsZHJlbj1mdW5jdGlvbih0LGUsaSl7aT1pfHwwO2Zvcih2YXIgcyxyPXRoaXMuX2ZpcnN0LG49dGhpcy5fbGFiZWxzO3I7KXIuX3N0YXJ0VGltZT49aSYmKHIuX3N0YXJ0VGltZSs9dCkscj1yLl9uZXh0O2lmKGUpZm9yKHMgaW4gbiluW3NdPj1pJiYobltzXSs9dCk7cmV0dXJuIHRoaXMuX3VuY2FjaGUoITApfSxkLl9raWxsPWZ1bmN0aW9uKHQsZSl7aWYoIXQmJiFlKXJldHVybiB0aGlzLl9lbmFibGVkKCExLCExKTtmb3IodmFyIGk9ZT90aGlzLmdldFR3ZWVuc09mKGUpOnRoaXMuZ2V0Q2hpbGRyZW4oITAsITAsITEpLHM9aS5sZW5ndGgscj0hMTstLXM+LTE7KWlbc10uX2tpbGwodCxlKSYmKHI9ITApO3JldHVybiByfSxkLmNsZWFyPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZ2V0Q2hpbGRyZW4oITEsITAsITApLGk9ZS5sZW5ndGg7Zm9yKHRoaXMuX3RpbWU9dGhpcy5fdG90YWxUaW1lPTA7LS1pPi0xOyllW2ldLl9lbmFibGVkKCExLCExKTtyZXR1cm4gdCE9PSExJiYodGhpcy5fbGFiZWxzPXt9KSx0aGlzLl91bmNhY2hlKCEwKX0sZC5pbnZhbGlkYXRlPWZ1bmN0aW9uKCl7Zm9yKHZhciBlPXRoaXMuX2ZpcnN0O2U7KWUuaW52YWxpZGF0ZSgpLGU9ZS5fbmV4dDtyZXR1cm4gdC5wcm90b3R5cGUuaW52YWxpZGF0ZS5jYWxsKHRoaXMpfSxkLl9lbmFibGVkPWZ1bmN0aW9uKHQsaSl7aWYodD09PXRoaXMuX2djKWZvcih2YXIgcz10aGlzLl9maXJzdDtzOylzLl9lbmFibGVkKHQsITApLHM9cy5fbmV4dDtyZXR1cm4gZS5wcm90b3R5cGUuX2VuYWJsZWQuY2FsbCh0aGlzLHQsaSl9LGQudG90YWxUaW1lPWZ1bmN0aW9uKCl7dGhpcy5fZm9yY2luZ1BsYXloZWFkPSEwO3ZhciBlPXQucHJvdG90eXBlLnRvdGFsVGltZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIHRoaXMuX2ZvcmNpbmdQbGF5aGVhZD0hMSxlfSxkLmR1cmF0aW9uPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPygwIT09dGhpcy5kdXJhdGlvbigpJiYwIT09dCYmdGhpcy50aW1lU2NhbGUodGhpcy5fZHVyYXRpb24vdCksdGhpcyk6KHRoaXMuX2RpcnR5JiZ0aGlzLnRvdGFsRHVyYXRpb24oKSx0aGlzLl9kdXJhdGlvbil9LGQudG90YWxEdXJhdGlvbj1mdW5jdGlvbih0KXtpZighYXJndW1lbnRzLmxlbmd0aCl7aWYodGhpcy5fZGlydHkpe2Zvcih2YXIgZSxpLHM9MCxyPXRoaXMuX2xhc3Qsbj05OTk5OTk5OTk5OTk7cjspZT1yLl9wcmV2LHIuX2RpcnR5JiZyLnRvdGFsRHVyYXRpb24oKSxyLl9zdGFydFRpbWU+biYmdGhpcy5fc29ydENoaWxkcmVuJiYhci5fcGF1c2VkP3RoaXMuYWRkKHIsci5fc3RhcnRUaW1lLXIuX2RlbGF5KTpuPXIuX3N0YXJ0VGltZSwwPnIuX3N0YXJ0VGltZSYmIXIuX3BhdXNlZCYmKHMtPXIuX3N0YXJ0VGltZSx0aGlzLl90aW1lbGluZS5zbW9vdGhDaGlsZFRpbWluZyYmKHRoaXMuX3N0YXJ0VGltZSs9ci5fc3RhcnRUaW1lL3RoaXMuX3RpbWVTY2FsZSksdGhpcy5zaGlmdENoaWxkcmVuKC1yLl9zdGFydFRpbWUsITEsLTk5OTk5OTk5OTkpLG49MCksaT1yLl9zdGFydFRpbWUrci5fdG90YWxEdXJhdGlvbi9yLl90aW1lU2NhbGUsaT5zJiYocz1pKSxyPWU7dGhpcy5fZHVyYXRpb249dGhpcy5fdG90YWxEdXJhdGlvbj1zLHRoaXMuX2RpcnR5PSExfXJldHVybiB0aGlzLl90b3RhbER1cmF0aW9ufXJldHVybiAwIT09dGhpcy50b3RhbER1cmF0aW9uKCkmJjAhPT10JiZ0aGlzLnRpbWVTY2FsZSh0aGlzLl90b3RhbER1cmF0aW9uL3QpLHRoaXN9LGQucGF1c2VkPWZ1bmN0aW9uKGUpe2lmKCFlKWZvcih2YXIgaT10aGlzLl9maXJzdCxzPXRoaXMuX3RpbWU7aTspaS5fc3RhcnRUaW1lPT09cyYmImlzUGF1c2UiPT09aS5kYXRhJiYoaS5fcmF3UHJldlRpbWU9MCksaT1pLl9uZXh0O3JldHVybiB0LnByb3RvdHlwZS5wYXVzZWQuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxkLnVzZXNGcmFtZXM9ZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy5fdGltZWxpbmU7ZS5fdGltZWxpbmU7KWU9ZS5fdGltZWxpbmU7cmV0dXJuIGU9PT10Ll9yb290RnJhbWVzVGltZWxpbmV9LGQucmF3VGltZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9wYXVzZWQ/dGhpcy5fdG90YWxUaW1lOih0aGlzLl90aW1lbGluZS5yYXdUaW1lKCktdGhpcy5fc3RhcnRUaW1lKSp0aGlzLl90aW1lU2NhbGV9LHN9LCEwKX0pLF9nc1Njb3BlLl9nc0RlZmluZSYmX2dzU2NvcGUuX2dzUXVldWUucG9wKCkoKSxmdW5jdGlvbih0KXsidXNlIHN0cmljdCI7dmFyIGU9ZnVuY3Rpb24oKXtyZXR1cm4oX2dzU2NvcGUuR3JlZW5Tb2NrR2xvYmFsc3x8X2dzU2NvcGUpW3RdfTsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbIlR3ZWVuTGl0ZSJdLGUpOiJ1bmRlZmluZWQiIT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cyYmKHJlcXVpcmUoIi4vVHdlZW5MaXRlLmpzIiksbW9kdWxlLmV4cG9ydHM9ZSgpKX0oIlRpbWVsaW5lTGl0ZSIpOw0KDQoNCi8qIEVBU0lORyBQTFVHSU4qLw0KLyohDQogKiBWRVJTSU9OOiAxLjE1LjUNCiAqIERBVEU6IDIwMTYtMDctMDgNCiAqIFVQREFURVMgQU5EIERPQ1MgQVQ6IGh0dHA6Ly9ncmVlbnNvY2suY29tDQogKg0KICogQGxpY2Vuc2UgQ29weXJpZ2h0IChjKSAyMDA4LTIwMTYsIEdyZWVuU29jay4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCiAqIFRoaXMgd29yayBpcyBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBhdCBodHRwOi8vZ3JlZW5zb2NrLmNvbS9zdGFuZGFyZC1saWNlbnNlIG9yIGZvcg0KICogQ2x1YiBHcmVlblNvY2sgbWVtYmVycywgdGhlIHNvZnR3YXJlIGFncmVlbWVudCB0aGF0IHdhcyBpc3N1ZWQgd2l0aCB5b3VyIG1lbWJlcnNoaXAuDQogKiANCiAqIEBhdXRob3I6IEphY2sgRG95bGUsIGphY2tAZ3JlZW5zb2NrLmNvbQ0KICoqLw0KdmFyIF9nc1Njb3BlPSJ1bmRlZmluZWQiIT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cyYmInVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOnRoaXN8fHdpbmRvdzsoX2dzU2NvcGUuX2dzUXVldWV8fChfZ3NTY29wZS5fZ3NRdWV1ZT1bXSkpLnB1c2goZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7X2dzU2NvcGUuX2dzRGVmaW5lKCJlYXNpbmcuQmFjayIsWyJlYXNpbmcuRWFzZSJdLGZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlPV9nc1Njb3BlLkdyZWVuU29ja0dsb2JhbHN8fF9nc1Njb3BlLGY9ZS5jb20uZ3JlZW5zb2NrLGc9MipNYXRoLlBJLGg9TWF0aC5QSS8yLGk9Zi5fY2xhc3Msaj1mdW5jdGlvbihiLGMpe3ZhciBkPWkoImVhc2luZy4iK2IsZnVuY3Rpb24oKXt9LCEwKSxlPWQucHJvdG90eXBlPW5ldyBhO3JldHVybiBlLmNvbnN0cnVjdG9yPWQsZS5nZXRSYXRpbz1jLGR9LGs9YS5yZWdpc3Rlcnx8ZnVuY3Rpb24oKXt9LGw9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1pKCJlYXNpbmcuIithLHtlYXNlT3V0Om5ldyBiLGVhc2VJbjpuZXcgYyxlYXNlSW5PdXQ6bmV3IGR9LCEwKTtyZXR1cm4gayhmLGEpLGZ9LG09ZnVuY3Rpb24oYSxiLGMpe3RoaXMudD1hLHRoaXMudj1iLGMmJih0aGlzLm5leHQ9YyxjLnByZXY9dGhpcyx0aGlzLmM9Yy52LWIsdGhpcy5nYXA9Yy50LWEpfSxuPWZ1bmN0aW9uKGIsYyl7dmFyIGQ9aSgiZWFzaW5nLiIrYixmdW5jdGlvbihhKXt0aGlzLl9wMT1hfHwwPT09YT9hOjEuNzAxNTgsdGhpcy5fcDI9MS41MjUqdGhpcy5fcDF9LCEwKSxlPWQucHJvdG90eXBlPW5ldyBhO3JldHVybiBlLmNvbnN0cnVjdG9yPWQsZS5nZXRSYXRpbz1jLGUuY29uZmlnPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgZChhKX0sZH0sbz1sKCJCYWNrIixuKCJCYWNrT3V0IixmdW5jdGlvbihhKXtyZXR1cm4oYS09MSkqYSooKHRoaXMuX3AxKzEpKmErdGhpcy5fcDEpKzF9KSxuKCJCYWNrSW4iLGZ1bmN0aW9uKGEpe3JldHVybiBhKmEqKCh0aGlzLl9wMSsxKSphLXRoaXMuX3AxKX0pLG4oIkJhY2tJbk91dCIsZnVuY3Rpb24oYSl7cmV0dXJuKGEqPTIpPDE/LjUqYSphKigodGhpcy5fcDIrMSkqYS10aGlzLl9wMik6LjUqKChhLT0yKSphKigodGhpcy5fcDIrMSkqYSt0aGlzLl9wMikrMil9KSkscD1pKCJlYXNpbmcuU2xvd01vIixmdW5jdGlvbihhLGIsYyl7Yj1ifHwwPT09Yj9iOi43LG51bGw9PWE/YT0uNzphPjEmJihhPTEpLHRoaXMuX3A9MSE9PWE/YjowLHRoaXMuX3AxPSgxLWEpLzIsdGhpcy5fcDI9YSx0aGlzLl9wMz10aGlzLl9wMSt0aGlzLl9wMix0aGlzLl9jYWxjRW5kPWM9PT0hMH0sITApLHE9cC5wcm90b3R5cGU9bmV3IGE7cmV0dXJuIHEuY29uc3RydWN0b3I9cCxxLmdldFJhdGlvPWZ1bmN0aW9uKGEpe3ZhciBiPWErKC41LWEpKnRoaXMuX3A7cmV0dXJuIGE8dGhpcy5fcDE/dGhpcy5fY2FsY0VuZD8xLShhPTEtYS90aGlzLl9wMSkqYTpiLShhPTEtYS90aGlzLl9wMSkqYSphKmEqYjphPnRoaXMuX3AzP3RoaXMuX2NhbGNFbmQ/MS0oYT0oYS10aGlzLl9wMykvdGhpcy5fcDEpKmE6YisoYS1iKSooYT0oYS10aGlzLl9wMykvdGhpcy5fcDEpKmEqYSphOnRoaXMuX2NhbGNFbmQ/MTpifSxwLmVhc2U9bmV3IHAoLjcsLjcpLHEuY29uZmlnPXAuY29uZmlnPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbmV3IHAoYSxiLGMpfSxiPWkoImVhc2luZy5TdGVwcGVkRWFzZSIsZnVuY3Rpb24oYSl7YT1hfHwxLHRoaXMuX3AxPTEvYSx0aGlzLl9wMj1hKzF9LCEwKSxxPWIucHJvdG90eXBlPW5ldyBhLHEuY29uc3RydWN0b3I9YixxLmdldFJhdGlvPWZ1bmN0aW9uKGEpe3JldHVybiAwPmE/YT0wOmE+PTEmJihhPS45OTk5OTk5OTkpLCh0aGlzLl9wMiphPj4wKSp0aGlzLl9wMX0scS5jb25maWc9Yi5jb25maWc9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBiKGEpfSxjPWkoImVhc2luZy5Sb3VnaEVhc2UiLGZ1bmN0aW9uKGIpe2I9Ynx8e307Zm9yKHZhciBjLGQsZSxmLGcsaCxpPWIudGFwZXJ8fCJub25lIixqPVtdLGs9MCxsPTB8KGIucG9pbnRzfHwyMCksbj1sLG89Yi5yYW5kb21pemUhPT0hMSxwPWIuY2xhbXA9PT0hMCxxPWIudGVtcGxhdGUgaW5zdGFuY2VvZiBhP2IudGVtcGxhdGU6bnVsbCxyPSJudW1iZXIiPT10eXBlb2YgYi5zdHJlbmd0aD8uNCpiLnN0cmVuZ3RoOi40Oy0tbj4tMTspYz1vP01hdGgucmFuZG9tKCk6MS9sKm4sZD1xP3EuZ2V0UmF0aW8oYyk6Yywibm9uZSI9PT1pP2U9cjoib3V0Ij09PWk/KGY9MS1jLGU9ZipmKnIpOiJpbiI9PT1pP2U9YypjKnI6LjU+Yz8oZj0yKmMsZT1mKmYqLjUqcik6KGY9MiooMS1jKSxlPWYqZiouNSpyKSxvP2QrPU1hdGgucmFuZG9tKCkqZS0uNSplOm4lMj9kKz0uNSplOmQtPS41KmUscCYmKGQ+MT9kPTE6MD5kJiYoZD0wKSksaltrKytdPXt4OmMseTpkfTtmb3Ioai5zb3J0KGZ1bmN0aW9uKGEsYil7cmV0dXJuIGEueC1iLnh9KSxoPW5ldyBtKDEsMSxudWxsKSxuPWw7LS1uPi0xOylnPWpbbl0saD1uZXcgbShnLngsZy55LGgpO3RoaXMuX3ByZXY9bmV3IG0oMCwwLDAhPT1oLnQ/aDpoLm5leHQpfSwhMCkscT1jLnByb3RvdHlwZT1uZXcgYSxxLmNvbnN0cnVjdG9yPWMscS5nZXRSYXRpbz1mdW5jdGlvbihhKXt2YXIgYj10aGlzLl9wcmV2O2lmKGE+Yi50KXtmb3IoO2IubmV4dCYmYT49Yi50OyliPWIubmV4dDtiPWIucHJldn1lbHNlIGZvcig7Yi5wcmV2JiZhPD1iLnQ7KWI9Yi5wcmV2O3JldHVybiB0aGlzLl9wcmV2PWIsYi52KyhhLWIudCkvYi5nYXAqYi5jfSxxLmNvbmZpZz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IGMoYSl9LGMuZWFzZT1uZXcgYyxsKCJCb3VuY2UiLGooIkJvdW5jZU91dCIsZnVuY3Rpb24oYSl7cmV0dXJuIDEvMi43NT5hPzcuNTYyNSphKmE6Mi8yLjc1PmE/Ny41NjI1KihhLT0xLjUvMi43NSkqYSsuNzU6Mi41LzIuNzU+YT83LjU2MjUqKGEtPTIuMjUvMi43NSkqYSsuOTM3NTo3LjU2MjUqKGEtPTIuNjI1LzIuNzUpKmErLjk4NDM3NX0pLGooIkJvdW5jZUluIixmdW5jdGlvbihhKXtyZXR1cm4oYT0xLWEpPDEvMi43NT8xLTcuNTYyNSphKmE6Mi8yLjc1PmE/MS0oNy41NjI1KihhLT0xLjUvMi43NSkqYSsuNzUpOjIuNS8yLjc1PmE/MS0oNy41NjI1KihhLT0yLjI1LzIuNzUpKmErLjkzNzUpOjEtKDcuNTYyNSooYS09Mi42MjUvMi43NSkqYSsuOTg0Mzc1KX0pLGooIkJvdW5jZUluT3V0IixmdW5jdGlvbihhKXt2YXIgYj0uNT5hO3JldHVybiBhPWI/MS0yKmE6MiphLTEsYT0xLzIuNzU+YT83LjU2MjUqYSphOjIvMi43NT5hPzcuNTYyNSooYS09MS41LzIuNzUpKmErLjc1OjIuNS8yLjc1PmE/Ny41NjI1KihhLT0yLjI1LzIuNzUpKmErLjkzNzU6Ny41NjI1KihhLT0yLjYyNS8yLjc1KSphKy45ODQzNzUsYj8uNSooMS1hKTouNSphKy41fSkpLGwoIkNpcmMiLGooIkNpcmNPdXQiLGZ1bmN0aW9uKGEpe3JldHVybiBNYXRoLnNxcnQoMS0oYS09MSkqYSl9KSxqKCJDaXJjSW4iLGZ1bmN0aW9uKGEpe3JldHVybi0oTWF0aC5zcXJ0KDEtYSphKS0xKX0pLGooIkNpcmNJbk91dCIsZnVuY3Rpb24oYSl7cmV0dXJuKGEqPTIpPDE/LS41KihNYXRoLnNxcnQoMS1hKmEpLTEpOi41KihNYXRoLnNxcnQoMS0oYS09MikqYSkrMSl9KSksZD1mdW5jdGlvbihiLGMsZCl7dmFyIGU9aSgiZWFzaW5nLiIrYixmdW5jdGlvbihhLGIpe3RoaXMuX3AxPWE+PTE/YToxLHRoaXMuX3AyPShifHxkKS8oMT5hP2E6MSksdGhpcy5fcDM9dGhpcy5fcDIvZyooTWF0aC5hc2luKDEvdGhpcy5fcDEpfHwwKSx0aGlzLl9wMj1nL3RoaXMuX3AyfSwhMCksZj1lLnByb3RvdHlwZT1uZXcgYTtyZXR1cm4gZi5jb25zdHJ1Y3Rvcj1lLGYuZ2V0UmF0aW89YyxmLmNvbmZpZz1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgZShhLGIpfSxlfSxsKCJFbGFzdGljIixkKCJFbGFzdGljT3V0IixmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5fcDEqTWF0aC5wb3coMiwtMTAqYSkqTWF0aC5zaW4oKGEtdGhpcy5fcDMpKnRoaXMuX3AyKSsxfSwuMyksZCgiRWxhc3RpY0luIixmdW5jdGlvbihhKXtyZXR1cm4tKHRoaXMuX3AxKk1hdGgucG93KDIsMTAqKGEtPTEpKSpNYXRoLnNpbigoYS10aGlzLl9wMykqdGhpcy5fcDIpKX0sLjMpLGQoIkVsYXN0aWNJbk91dCIsZnVuY3Rpb24oYSl7cmV0dXJuKGEqPTIpPDE/LS41Kih0aGlzLl9wMSpNYXRoLnBvdygyLDEwKihhLT0xKSkqTWF0aC5zaW4oKGEtdGhpcy5fcDMpKnRoaXMuX3AyKSk6dGhpcy5fcDEqTWF0aC5wb3coMiwtMTAqKGEtPTEpKSpNYXRoLnNpbigoYS10aGlzLl9wMykqdGhpcy5fcDIpKi41KzF9LC40NSkpLGwoIkV4cG8iLGooIkV4cG9PdXQiLGZ1bmN0aW9uKGEpe3JldHVybiAxLU1hdGgucG93KDIsLTEwKmEpfSksaigiRXhwb0luIixmdW5jdGlvbihhKXtyZXR1cm4gTWF0aC5wb3coMiwxMCooYS0xKSktLjAwMX0pLGooIkV4cG9Jbk91dCIsZnVuY3Rpb24oYSl7cmV0dXJuKGEqPTIpPDE/LjUqTWF0aC5wb3coMiwxMCooYS0xKSk6LjUqKDItTWF0aC5wb3coMiwtMTAqKGEtMSkpKX0pKSxsKCJTaW5lIixqKCJTaW5lT3V0IixmdW5jdGlvbihhKXtyZXR1cm4gTWF0aC5zaW4oYSpoKX0pLGooIlNpbmVJbiIsZnVuY3Rpb24oYSl7cmV0dXJuLU1hdGguY29zKGEqaCkrMX0pLGooIlNpbmVJbk91dCIsZnVuY3Rpb24oYSl7cmV0dXJuLS41KihNYXRoLmNvcyhNYXRoLlBJKmEpLTEpfSkpLGkoImVhc2luZy5FYXNlTG9va3VwIix7ZmluZDpmdW5jdGlvbihiKXtyZXR1cm4gYS5tYXBbYl19fSwhMCksayhlLlNsb3dNbywiU2xvd01vIiwiZWFzZSwiKSxrKGMsIlJvdWdoRWFzZSIsImVhc2UsIiksayhiLCJTdGVwcGVkRWFzZSIsImVhc2UsIiksb30sITApfSksX2dzU2NvcGUuX2dzRGVmaW5lJiZfZ3NTY29wZS5fZ3NRdWV1ZS5wb3AoKSgpLGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBhPWZ1bmN0aW9uKCl7cmV0dXJuIF9nc1Njb3BlLkdyZWVuU29ja0dsb2JhbHN8fF9nc1Njb3BlfTsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbIlR3ZWVuTGl0ZSJdLGEpOiJ1bmRlZmluZWQiIT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cyYmKHJlcXVpcmUoIi4uL1R3ZWVuTGl0ZS5qcyIpLG1vZHVsZS5leHBvcnRzPWEoKSl9KCk7DQoNCg0KLyogQ1NTIFBMVUdJTiAqLw0KLyohDQogKiBWRVJTSU9OOiAxLjE5LjENCiAqIERBVEU6IDIwMTctMDEtMTcNCiAqIFVQREFURVMgQU5EIERPQ1MgQVQ6IGh0dHA6Ly9ncmVlbnNvY2suY29tDQogKg0KICogQGxpY2Vuc2UgQ29weXJpZ2h0IChjKSAyMDA4LTIwMTcsIEdyZWVuU29jay4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCiAqIFRoaXMgd29yayBpcyBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBhdCBodHRwOi8vZ3JlZW5zb2NrLmNvbS9zdGFuZGFyZC1saWNlbnNlIG9yIGZvcg0KICogQ2x1YiBHcmVlblNvY2sgbWVtYmVycywgdGhlIHNvZnR3YXJlIGFncmVlbWVudCB0aGF0IHdhcyBpc3N1ZWQgd2l0aCB5b3VyIG1lbWJlcnNoaXAuDQogKiANCiAqIEBhdXRob3I6IEphY2sgRG95bGUsIGphY2tAZ3JlZW5zb2NrLmNvbQ0KICovDQp2YXIgX2dzU2NvcGU9InVuZGVmaW5lZCIhPXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzJiYidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6dGhpc3x8d2luZG93OyhfZ3NTY29wZS5fZ3NRdWV1ZXx8KF9nc1Njb3BlLl9nc1F1ZXVlPVtdKSkucHVzaChmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0IjtfZ3NTY29wZS5fZ3NEZWZpbmUoInBsdWdpbnMuQ1NTUGx1Z2luIixbInBsdWdpbnMuVHdlZW5QbHVnaW4iLCJUd2VlbkxpdGUiXSxmdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGc9ZnVuY3Rpb24oKXthLmNhbGwodGhpcywiY3NzIiksdGhpcy5fb3ZlcndyaXRlUHJvcHMubGVuZ3RoPTAsdGhpcy5zZXRSYXRpbz1nLnByb3RvdHlwZS5zZXRSYXRpb30saD1fZ3NTY29wZS5fZ3NEZWZpbmUuZ2xvYmFscyxpPXt9LGo9Zy5wcm90b3R5cGU9bmV3IGEoImNzcyIpO2ouY29uc3RydWN0b3I9ZyxnLnZlcnNpb249IjEuMTkuMSIsZy5BUEk9MixnLmRlZmF1bHRUcmFuc2Zvcm1QZXJzcGVjdGl2ZT0wLGcuZGVmYXVsdFNrZXdUeXBlPSJjb21wZW5zYXRlZCIsZy5kZWZhdWx0U21vb3RoT3JpZ2luPSEwLGo9InB4IixnLnN1ZmZpeE1hcD17dG9wOmoscmlnaHQ6aixib3R0b206aixsZWZ0Omosd2lkdGg6aixoZWlnaHQ6aixmb250U2l6ZTpqLHBhZGRpbmc6aixtYXJnaW46aixwZXJzcGVjdGl2ZTpqLGxpbmVIZWlnaHQ6IiJ9O3ZhciBrLGwsbSxuLG8scCxxLHIscz0vKD86XC18XC58XGIpKFxkfFwufGVcLSkrL2csdD0vKD86XGR8XC1cZHxcLlxkfFwtXC5cZHxcKz1cZHxcLT1cZHxcKz0uXGR8XC09XC5cZCkrL2csdT0vKD86XCs9fFwtPXxcLXxcYilbXGRcLVwuXStbYS16QS1aMC05XSooPzolfFxiKS9naSx2PS8oPyFbKy1dP1xkKlwuP1xkK3xbKy1dfGVbKy1dXGQrKVteMC05XS9nLHc9Lyg/OlxkfFwtfFwrfD18I3xcLikqL2cseD0vb3BhY2l0eSAqPSAqKFteKV0qKS9pLHk9L29wYWNpdHk6KFteO10qKS9pLHo9L2FscGhhXChvcGFjaXR5ICo9Lis/XCkvaSxBPS9eKHJnYnxoc2wpLyxCPS8oW0EtWl0pL2csQz0vLShbYS16XSkvZ2ksRD0vKF4oPzp1cmxcKFwifHVybFwoKSl8KD86KFwiXCkpJHxcKSQpL2dpLEU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi50b1VwcGVyQ2FzZSgpfSxGPS8oPzpMZWZ0fFJpZ2h0fFdpZHRoKS9pLEc9LyhNMTF8TTEyfE0yMXxNMjIpPVtcZFwtXC5lXSsvZ2ksSD0vcHJvZ2lkXDpEWEltYWdlVHJhbnNmb3JtXC5NaWNyb3NvZnRcLk1hdHJpeFwoLis/XCkvaSxJPS8sKD89W15cKV0qKD86XCh8JCkpL2dpLEo9L1tccyxcKF0vaSxLPU1hdGguUEkvMTgwLEw9MTgwL01hdGguUEksTT17fSxOPXtzdHlsZTp7fX0sTz1fZ3NTY29wZS5kb2N1bWVudHx8e2NyZWF0ZUVsZW1lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gTn19LFA9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gTy5jcmVhdGVFbGVtZW50TlM/Ty5jcmVhdGVFbGVtZW50TlMoYnx8Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLGEpOk8uY3JlYXRlRWxlbWVudChhKX0sUT1QKCJkaXYiKSxSPVAoImltZyIpLFM9Zy5faW50ZXJuYWxzPXtfc3BlY2lhbFByb3BzOml9LFQ9KF9nc1Njb3BlLm5hdmlnYXRvcnx8e30pLnVzZXJBZ2VudHx8IiIsVT1mdW5jdGlvbigpe3ZhciBhPVQuaW5kZXhPZigiQW5kcm9pZCIpLGI9UCgiYSIpO3JldHVybiBtPS0xIT09VC5pbmRleE9mKCJTYWZhcmkiKSYmLTE9PT1ULmluZGV4T2YoIkNocm9tZSIpJiYoLTE9PT1hfHxwYXJzZUZsb2F0KFQuc3Vic3RyKGErOCwyKSk+Myksbz1tJiZwYXJzZUZsb2F0KFQuc3Vic3RyKFQuaW5kZXhPZigiVmVyc2lvbi8iKSs4LDIpKTw2LG49LTEhPT1ULmluZGV4T2YoIkZpcmVmb3giKSwoL01TSUUgKFswLTldezEsfVtcLjAtOV17MCx9KS8uZXhlYyhUKXx8L1RyaWRlbnRcLy4qcnY6KFswLTldezEsfVtcLjAtOV17MCx9KS8uZXhlYyhUKSkmJihwPXBhcnNlRmxvYXQoUmVnRXhwLiQxKSksYj8oYi5zdHlsZS5jc3NUZXh0PSJ0b3A6MXB4O29wYWNpdHk6LjU1OyIsL14wLjU1Ly50ZXN0KGIuc3R5bGUub3BhY2l0eSkpOiExfSgpLFY9ZnVuY3Rpb24oYSl7cmV0dXJuIHgudGVzdCgic3RyaW5nIj09dHlwZW9mIGE/YTooYS5jdXJyZW50U3R5bGU/YS5jdXJyZW50U3R5bGUuZmlsdGVyOmEuc3R5bGUuZmlsdGVyKXx8IiIpP3BhcnNlRmxvYXQoUmVnRXhwLiQxKS8xMDA6MX0sVz1mdW5jdGlvbihhKXtfZ3NTY29wZS5jb25zb2xlJiZjb25zb2xlLmxvZyhhKX0sWD0iIixZPSIiLFo9ZnVuY3Rpb24oYSxiKXtiPWJ8fFE7dmFyIGMsZCxlPWIuc3R5bGU7aWYodm9pZCAwIT09ZVthXSlyZXR1cm4gYTtmb3IoYT1hLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK2Euc3Vic3RyKDEpLGM9WyJPIiwiTW96IiwibXMiLCJNcyIsIldlYmtpdCJdLGQ9NTstLWQ+LTEmJnZvaWQgMD09PWVbY1tkXSthXTspO3JldHVybiBkPj0wPyhZPTM9PT1kPyJtcyI6Y1tkXSxYPSItIitZLnRvTG93ZXJDYXNlKCkrIi0iLFkrYSk6bnVsbH0sJD1PLmRlZmF1bHRWaWV3P08uZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZTpmdW5jdGlvbigpe30sXz1nLmdldFN0eWxlPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY7cmV0dXJuIFV8fCJvcGFjaXR5IiE9PWI/KCFkJiZhLnN0eWxlW2JdP2Y9YS5zdHlsZVtiXTooYz1jfHwkKGEpKT9mPWNbYl18fGMuZ2V0UHJvcGVydHlWYWx1ZShiKXx8Yy5nZXRQcm9wZXJ0eVZhbHVlKGIucmVwbGFjZShCLCItJDEiKS50b0xvd2VyQ2FzZSgpKTphLmN1cnJlbnRTdHlsZSYmKGY9YS5jdXJyZW50U3R5bGVbYl0pLG51bGw9PWV8fGYmJiJub25lIiE9PWYmJiJhdXRvIiE9PWYmJiJhdXRvIGF1dG8iIT09Zj9mOmUpOlYoYSl9LGFhPVMuY29udmVydFRvUGl4ZWxzPWZ1bmN0aW9uKGEsYyxkLGUsZil7aWYoInB4Ij09PWV8fCFlKXJldHVybiBkO2lmKCJhdXRvIj09PWV8fCFkKXJldHVybiAwO3ZhciBoLGksaixrPUYudGVzdChjKSxsPWEsbT1RLnN0eWxlLG49MD5kLG89MT09PWQ7aWYobiYmKGQ9LWQpLG8mJihkKj0xMDApLCIlIj09PWUmJi0xIT09Yy5pbmRleE9mKCJib3JkZXIiKSloPWQvMTAwKihrP2EuY2xpZW50V2lkdGg6YS5jbGllbnRIZWlnaHQpO2Vsc2V7aWYobS5jc3NUZXh0PSJib3JkZXI6MCBzb2xpZCByZWQ7cG9zaXRpb246IitfKGEsInBvc2l0aW9uIikrIjtsaW5lLWhlaWdodDowOyIsIiUiIT09ZSYmbC5hcHBlbmRDaGlsZCYmInYiIT09ZS5jaGFyQXQoMCkmJiJyZW0iIT09ZSltW2s/ImJvcmRlckxlZnRXaWR0aCI6ImJvcmRlclRvcFdpZHRoIl09ZCtlO2Vsc2V7aWYobD1hLnBhcmVudE5vZGV8fE8uYm9keSxpPWwuX2dzQ2FjaGUsaj1iLnRpY2tlci5mcmFtZSxpJiZrJiZpLnRpbWU9PT1qKXJldHVybiBpLndpZHRoKmQvMTAwO21baz8id2lkdGgiOiJoZWlnaHQiXT1kK2V9bC5hcHBlbmRDaGlsZChRKSxoPXBhcnNlRmxvYXQoUVtrPyJvZmZzZXRXaWR0aCI6Im9mZnNldEhlaWdodCJdKSxsLnJlbW92ZUNoaWxkKFEpLGsmJiIlIj09PWUmJmcuY2FjaGVXaWR0aHMhPT0hMSYmKGk9bC5fZ3NDYWNoZT1sLl9nc0NhY2hlfHx7fSxpLnRpbWU9aixpLndpZHRoPWgvZCoxMDApLDAhPT1ofHxmfHwoaD1hYShhLGMsZCxlLCEwKSl9cmV0dXJuIG8mJihoLz0xMDApLG4/LWg6aH0sYmE9Uy5jYWxjdWxhdGVPZmZzZXQ9ZnVuY3Rpb24oYSxiLGMpe2lmKCJhYnNvbHV0ZSIhPT1fKGEsInBvc2l0aW9uIixjKSlyZXR1cm4gMDt2YXIgZD0ibGVmdCI9PT1iPyJMZWZ0IjoiVG9wIixlPV8oYSwibWFyZ2luIitkLGMpO3JldHVybiBhWyJvZmZzZXQiK2RdLShhYShhLGIscGFyc2VGbG9hdChlKSxlLnJlcGxhY2UodywiIikpfHwwKX0sY2E9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZj17fTtpZihiPWJ8fCQoYSxudWxsKSlpZihjPWIubGVuZ3RoKWZvcig7LS1jPi0xOyllPWJbY10sKC0xPT09ZS5pbmRleE9mKCItdHJhbnNmb3JtIil8fERhPT09ZSkmJihmW2UucmVwbGFjZShDLEUpXT1iLmdldFByb3BlcnR5VmFsdWUoZSkpO2Vsc2UgZm9yKGMgaW4gYikoLTE9PT1jLmluZGV4T2YoIlRyYW5zZm9ybSIpfHxDYT09PWMpJiYoZltjXT1iW2NdKTtlbHNlIGlmKGI9YS5jdXJyZW50U3R5bGV8fGEuc3R5bGUpZm9yKGMgaW4gYikic3RyaW5nIj09dHlwZW9mIGMmJnZvaWQgMD09PWZbY10mJihmW2MucmVwbGFjZShDLEUpXT1iW2NdKTtyZXR1cm4gVXx8KGYub3BhY2l0eT1WKGEpKSxkPVJhKGEsYiwhMSksZi5yb3RhdGlvbj1kLnJvdGF0aW9uLGYuc2tld1g9ZC5za2V3WCxmLnNjYWxlWD1kLnNjYWxlWCxmLnNjYWxlWT1kLnNjYWxlWSxmLng9ZC54LGYueT1kLnksRmEmJihmLno9ZC56LGYucm90YXRpb25YPWQucm90YXRpb25YLGYucm90YXRpb25ZPWQucm90YXRpb25ZLGYuc2NhbGVaPWQuc2NhbGVaKSxmLmZpbHRlcnMmJmRlbGV0ZSBmLmZpbHRlcnMsZn0sZGE9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZixnLGgsaT17fSxqPWEuc3R5bGU7Zm9yKGcgaW4gYykiY3NzVGV4dCIhPT1nJiYibGVuZ3RoIiE9PWcmJmlzTmFOKGcpJiYoYltnXSE9PShmPWNbZ10pfHxlJiZlW2ddKSYmLTE9PT1nLmluZGV4T2YoIk9yaWdpbiIpJiYoIm51bWJlciI9PXR5cGVvZiBmfHwic3RyaW5nIj09dHlwZW9mIGYpJiYoaVtnXT0iYXV0byIhPT1mfHwibGVmdCIhPT1nJiYidG9wIiE9PWc/IiIhPT1mJiYiYXV0byIhPT1mJiYibm9uZSIhPT1mfHwic3RyaW5nIiE9dHlwZW9mIGJbZ118fCIiPT09YltnXS5yZXBsYWNlKHYsIiIpP2Y6MDpiYShhLGcpLHZvaWQgMCE9PWpbZ10mJihoPW5ldyBzYShqLGcsaltnXSxoKSkpO2lmKGQpZm9yKGcgaW4gZCkiY2xhc3NOYW1lIiE9PWcmJihpW2ddPWRbZ10pO3JldHVybntkaWZzOmksZmlyc3RNUFQ6aH19LGVhPXt3aWR0aDpbIkxlZnQiLCJSaWdodCJdLGhlaWdodDpbIlRvcCIsIkJvdHRvbSJdfSxmYT1bIm1hcmdpbkxlZnQiLCJtYXJnaW5SaWdodCIsIm1hcmdpblRvcCIsIm1hcmdpbkJvdHRvbSJdLGdhPWZ1bmN0aW9uKGEsYixjKXtpZigic3ZnIj09PShhLm5vZGVOYW1lKyIiKS50b0xvd2VyQ2FzZSgpKXJldHVybihjfHwkKGEpKVtiXXx8MDtpZihhLmdldENUTSYmT2EoYSkpcmV0dXJuIGEuZ2V0QkJveCgpW2JdfHwwO3ZhciBkPXBhcnNlRmxvYXQoIndpZHRoIj09PWI/YS5vZmZzZXRXaWR0aDphLm9mZnNldEhlaWdodCksZT1lYVtiXSxmPWUubGVuZ3RoO2ZvcihjPWN8fCQoYSxudWxsKTstLWY+LTE7KWQtPXBhcnNlRmxvYXQoXyhhLCJwYWRkaW5nIitlW2ZdLGMsITApKXx8MCxkLT1wYXJzZUZsb2F0KF8oYSwiYm9yZGVyIitlW2ZdKyJXaWR0aCIsYywhMCkpfHwwO3JldHVybiBkfSxoYT1mdW5jdGlvbihhLGIpe2lmKCJjb250YWluIj09PWF8fCJhdXRvIj09PWF8fCJhdXRvIGF1dG8iPT09YSlyZXR1cm4gYSsiICI7KG51bGw9PWF8fCIiPT09YSkmJihhPSIwIDAiKTt2YXIgYyxkPWEuc3BsaXQoIiAiKSxlPS0xIT09YS5pbmRleE9mKCJsZWZ0Iik/IjAlIjotMSE9PWEuaW5kZXhPZigicmlnaHQiKT8iMTAwJSI6ZFswXSxmPS0xIT09YS5pbmRleE9mKCJ0b3AiKT8iMCUiOi0xIT09YS5pbmRleE9mKCJib3R0b20iKT8iMTAwJSI6ZFsxXTtpZihkLmxlbmd0aD4zJiYhYil7Zm9yKGQ9YS5zcGxpdCgiLCAiKS5qb2luKCIsIikuc3BsaXQoIiwiKSxhPVtdLGM9MDtjPGQubGVuZ3RoO2MrKylhLnB1c2goaGEoZFtjXSkpO3JldHVybiBhLmpvaW4oIiwiKX1yZXR1cm4gbnVsbD09Zj9mPSJjZW50ZXIiPT09ZT8iNTAlIjoiMCI6ImNlbnRlciI9PT1mJiYoZj0iNTAlIiksKCJjZW50ZXIiPT09ZXx8aXNOYU4ocGFyc2VGbG9hdChlKSkmJi0xPT09KGUrIiIpLmluZGV4T2YoIj0iKSkmJihlPSI1MCUiKSxhPWUrIiAiK2YrKGQubGVuZ3RoPjI/IiAiK2RbMl06IiIpLGImJihiLm94cD0tMSE9PWUuaW5kZXhPZigiJSIpLGIub3lwPS0xIT09Zi5pbmRleE9mKCIlIiksYi5veHI9Ij0iPT09ZS5jaGFyQXQoMSksYi5veXI9Ij0iPT09Zi5jaGFyQXQoMSksYi5veD1wYXJzZUZsb2F0KGUucmVwbGFjZSh2LCIiKSksYi5veT1wYXJzZUZsb2F0KGYucmVwbGFjZSh2LCIiKSksYi52PWEpLGJ8fGF9LGlhPWZ1bmN0aW9uKGEsYil7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGEmJihhPWEocixxKSksInN0cmluZyI9PXR5cGVvZiBhJiYiPSI9PT1hLmNoYXJBdCgxKT9wYXJzZUludChhLmNoYXJBdCgwKSsiMSIsMTApKnBhcnNlRmxvYXQoYS5zdWJzdHIoMikpOnBhcnNlRmxvYXQoYSktcGFyc2VGbG9hdChiKXx8MH0samE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgYSYmKGE9YShyLHEpKSxudWxsPT1hP2I6InN0cmluZyI9PXR5cGVvZiBhJiYiPSI9PT1hLmNoYXJBdCgxKT9wYXJzZUludChhLmNoYXJBdCgwKSsiMSIsMTApKnBhcnNlRmxvYXQoYS5zdWJzdHIoMikpK2I6cGFyc2VGbG9hdChhKXx8MH0sa2E9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixnLGgsaSxqPTFlLTY7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGEmJihhPWEocixxKSksbnVsbD09YT9oPWI6Im51bWJlciI9PXR5cGVvZiBhP2g9YTooZT0zNjAsZj1hLnNwbGl0KCJfIiksaT0iPSI9PT1hLmNoYXJBdCgxKSxnPShpP3BhcnNlSW50KGEuY2hhckF0KDApKyIxIiwxMCkqcGFyc2VGbG9hdChmWzBdLnN1YnN0cigyKSk6cGFyc2VGbG9hdChmWzBdKSkqKC0xPT09YS5pbmRleE9mKCJyYWQiKT8xOkwpLShpPzA6YiksZi5sZW5ndGgmJihkJiYoZFtjXT1iK2cpLC0xIT09YS5pbmRleE9mKCJzaG9ydCIpJiYoZyU9ZSxnIT09ZyUoZS8yKSYmKGc9MD5nP2crZTpnLWUpKSwtMSE9PWEuaW5kZXhPZigiX2N3IikmJjA+Zz9nPShnKzk5OTk5OTk5OTkqZSklZS0oZy9lfDApKmU6LTEhPT1hLmluZGV4T2YoImNjdyIpJiZnPjAmJihnPShnLTk5OTk5OTk5OTkqZSklZS0oZy9lfDApKmUpKSxoPWIrZyksaj5oJiZoPi1qJiYoaD0wKSxofSxsYT17YXF1YTpbMCwyNTUsMjU1XSxsaW1lOlswLDI1NSwwXSxzaWx2ZXI6WzE5MiwxOTIsMTkyXSxibGFjazpbMCwwLDBdLG1hcm9vbjpbMTI4LDAsMF0sdGVhbDpbMCwxMjgsMTI4XSxibHVlOlswLDAsMjU1XSxuYXZ5OlswLDAsMTI4XSx3aGl0ZTpbMjU1LDI1NSwyNTVdLGZ1Y2hzaWE6WzI1NSwwLDI1NV0sb2xpdmU6WzEyOCwxMjgsMF0seWVsbG93OlsyNTUsMjU1LDBdLG9yYW5nZTpbMjU1LDE2NSwwXSxncmF5OlsxMjgsMTI4LDEyOF0scHVycGxlOlsxMjgsMCwxMjhdLGdyZWVuOlswLDEyOCwwXSxyZWQ6WzI1NSwwLDBdLHBpbms6WzI1NSwxOTIsMjAzXSxjeWFuOlswLDI1NSwyNTVdLHRyYW5zcGFyZW50OlsyNTUsMjU1LDI1NSwwXX0sbWE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhPTA+YT9hKzE6YT4xP2EtMTphLDI1NSooMT42KmE/YisoYy1iKSphKjY6LjU+YT9jOjI+MyphP2IrKGMtYikqKDIvMy1hKSo2OmIpKy41fDB9LG5hPWcucGFyc2VDb2xvcj1mdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGcsaCxpLGosayxsLG07aWYoYSlpZigibnVtYmVyIj09dHlwZW9mIGEpYz1bYT4+MTYsYT4+OCYyNTUsMjU1JmFdO2Vsc2V7aWYoIiwiPT09YS5jaGFyQXQoYS5sZW5ndGgtMSkmJihhPWEuc3Vic3RyKDAsYS5sZW5ndGgtMSkpLGxhW2FdKWM9bGFbYV07ZWxzZSBpZigiIyI9PT1hLmNoYXJBdCgwKSk0PT09YS5sZW5ndGgmJihkPWEuY2hhckF0KDEpLGU9YS5jaGFyQXQoMiksZj1hLmNoYXJBdCgzKSxhPSIjIitkK2QrZStlK2YrZiksYT1wYXJzZUludChhLnN1YnN0cigxKSwxNiksYz1bYT4+MTYsYT4+OCYyNTUsMjU1JmFdO2Vsc2UgaWYoImhzbCI9PT1hLnN1YnN0cigwLDMpKWlmKGM9bT1hLm1hdGNoKHMpLGIpe2lmKC0xIT09YS5pbmRleE9mKCI9IikpcmV0dXJuIGEubWF0Y2godCl9ZWxzZSBnPU51bWJlcihjWzBdKSUzNjAvMzYwLGg9TnVtYmVyKGNbMV0pLzEwMCxpPU51bWJlcihjWzJdKS8xMDAsZT0uNT49aT9pKihoKzEpOmkraC1pKmgsZD0yKmktZSxjLmxlbmd0aD4zJiYoY1szXT1OdW1iZXIoYVszXSkpLGNbMF09bWEoZysxLzMsZCxlKSxjWzFdPW1hKGcsZCxlKSxjWzJdPW1hKGctMS8zLGQsZSk7ZWxzZSBjPWEubWF0Y2gocyl8fGxhLnRyYW5zcGFyZW50O2NbMF09TnVtYmVyKGNbMF0pLGNbMV09TnVtYmVyKGNbMV0pLGNbMl09TnVtYmVyKGNbMl0pLGMubGVuZ3RoPjMmJihjWzNdPU51bWJlcihjWzNdKSl9ZWxzZSBjPWxhLmJsYWNrO3JldHVybiBiJiYhbSYmKGQ9Y1swXS8yNTUsZT1jWzFdLzI1NSxmPWNbMl0vMjU1LGo9TWF0aC5tYXgoZCxlLGYpLGs9TWF0aC5taW4oZCxlLGYpLGk9KGoraykvMixqPT09az9nPWg9MDoobD1qLWssaD1pPi41P2wvKDItai1rKTpsLyhqK2spLGc9aj09PWQ/KGUtZikvbCsoZj5lPzY6MCk6aj09PWU/KGYtZCkvbCsyOihkLWUpL2wrNCxnKj02MCksY1swXT1nKy41fDAsY1sxXT0xMDAqaCsuNXwwLGNbMl09MTAwKmkrLjV8MCksY30sb2E9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZj1hLm1hdGNoKHBhKXx8W10sZz0wLGg9Zi5sZW5ndGg/IiI6YTtmb3IoYz0wO2M8Zi5sZW5ndGg7YysrKWQ9ZltjXSxlPWEuc3Vic3RyKGcsYS5pbmRleE9mKGQsZyktZyksZys9ZS5sZW5ndGgrZC5sZW5ndGgsZD1uYShkLGIpLDM9PT1kLmxlbmd0aCYmZC5wdXNoKDEpLGgrPWUrKGI/ImhzbGEoIitkWzBdKyIsIitkWzFdKyIlLCIrZFsyXSsiJSwiK2RbM106InJnYmEoIitkLmpvaW4oIiwiKSkrIikiO3JldHVybiBoK2Euc3Vic3RyKGcpfSxwYT0iKD86XFxiKD86KD86cmdifHJnYmF8aHNsfGhzbGEpXFwoLis/XFwpKXxcXEIjKD86WzAtOWEtZl17M30pezEsMn1cXGIiO2ZvcihqIGluIGxhKXBhKz0ifCIraisiXFxiIjtwYT1uZXcgUmVnRXhwKHBhKyIpIiwiZ2kiKSxnLmNvbG9yU3RyaW5nRmlsdGVyPWZ1bmN0aW9uKGEpe3ZhciBiLGM9YVswXSthWzFdO3BhLnRlc3QoYykmJihiPS0xIT09Yy5pbmRleE9mKCJoc2woIil8fC0xIT09Yy5pbmRleE9mKCJoc2xhKCIpLGFbMF09b2EoYVswXSxiKSxhWzFdPW9hKGFbMV0sYikpLHBhLmxhc3RJbmRleD0wfSxiLmRlZmF1bHRTdHJpbmdGaWx0ZXJ8fChiLmRlZmF1bHRTdHJpbmdGaWx0ZXI9Zy5jb2xvclN0cmluZ0ZpbHRlcik7dmFyIHFhPWZ1bmN0aW9uKGEsYixjLGQpe2lmKG51bGw9PWEpcmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiBhfTt2YXIgZSxmPWI/KGEubWF0Y2gocGEpfHxbIiJdKVswXToiIixnPWEuc3BsaXQoZikuam9pbigiIikubWF0Y2godSl8fFtdLGg9YS5zdWJzdHIoMCxhLmluZGV4T2YoZ1swXSkpLGk9IikiPT09YS5jaGFyQXQoYS5sZW5ndGgtMSk/IikiOiIiLGo9LTEhPT1hLmluZGV4T2YoIiAiKT8iICI6IiwiLGs9Zy5sZW5ndGgsbD1rPjA/Z1swXS5yZXBsYWNlKHMsIiIpOiIiO3JldHVybiBrP2U9Yj9mdW5jdGlvbihhKXt2YXIgYixtLG4sbztpZigibnVtYmVyIj09dHlwZW9mIGEpYSs9bDtlbHNlIGlmKGQmJkkudGVzdChhKSl7Zm9yKG89YS5yZXBsYWNlKEksInwiKS5zcGxpdCgifCIpLG49MDtuPG8ubGVuZ3RoO24rKylvW25dPWUob1tuXSk7cmV0dXJuIG8uam9pbigiLCIpfWlmKGI9KGEubWF0Y2gocGEpfHxbZl0pWzBdLG09YS5zcGxpdChiKS5qb2luKCIiKS5tYXRjaCh1KXx8W10sbj1tLmxlbmd0aCxrPm4tLSlmb3IoOysrbjxrOyltW25dPWM/bVsobi0xKS8yfDBdOmdbbl07cmV0dXJuIGgrbS5qb2luKGopK2orYitpKygtMSE9PWEuaW5kZXhPZigiaW5zZXQiKT8iIGluc2V0IjoiIil9OmZ1bmN0aW9uKGEpe3ZhciBiLGYsbTtpZigibnVtYmVyIj09dHlwZW9mIGEpYSs9bDtlbHNlIGlmKGQmJkkudGVzdChhKSl7Zm9yKGY9YS5yZXBsYWNlKEksInwiKS5zcGxpdCgifCIpLG09MDttPGYubGVuZ3RoO20rKylmW21dPWUoZlttXSk7cmV0dXJuIGYuam9pbigiLCIpfWlmKGI9YS5tYXRjaCh1KXx8W10sbT1iLmxlbmd0aCxrPm0tLSlmb3IoOysrbTxrOyliW21dPWM/YlsobS0xKS8yfDBdOmdbbV07cmV0dXJuIGgrYi5qb2luKGopK2l9OmZ1bmN0aW9uKGEpe3JldHVybiBhfX0scmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9YS5zcGxpdCgiLCIpLGZ1bmN0aW9uKGIsYyxkLGUsZixnLGgpe3ZhciBpLGo9KGMrIiIpLnNwbGl0KCIgIik7Zm9yKGg9e30saT0wOzQ+aTtpKyspaFthW2ldXT1qW2ldPWpbaV18fGpbKGktMSkvMj4+MF07cmV0dXJuIGUucGFyc2UoYixoLGYsZyl9fSxzYT0oUy5fc2V0UGx1Z2luUmF0aW89ZnVuY3Rpb24oYSl7dGhpcy5wbHVnaW4uc2V0UmF0aW8oYSk7Zm9yKHZhciBiLGMsZCxlLGYsZz10aGlzLmRhdGEsaD1nLnByb3h5LGk9Zy5maXJzdE1QVCxqPTFlLTY7aTspYj1oW2kudl0saS5yP2I9TWF0aC5yb3VuZChiKTpqPmImJmI+LWomJihiPTApLGkudFtpLnBdPWIsaT1pLl9uZXh0O2lmKGcuYXV0b1JvdGF0ZSYmKGcuYXV0b1JvdGF0ZS5yb3RhdGlvbj1nLm1vZD9nLm1vZChoLnJvdGF0aW9uLHRoaXMudCk6aC5yb3RhdGlvbiksMT09PWF8fDA9PT1hKWZvcihpPWcuZmlyc3RNUFQsZj0xPT09YT8iZSI6ImIiO2k7KXtpZihjPWkudCxjLnR5cGUpe2lmKDE9PT1jLnR5cGUpe2ZvcihlPWMueHMwK2MucytjLnhzMSxkPTE7ZDxjLmw7ZCsrKWUrPWNbInhuIitkXStjWyJ4cyIrKGQrMSldO2NbZl09ZX19ZWxzZSBjW2ZdPWMucytjLnhzMDtpPWkuX25leHR9fSxmdW5jdGlvbihhLGIsYyxkLGUpe3RoaXMudD1hLHRoaXMucD1iLHRoaXMudj1jLHRoaXMucj1lLGQmJihkLl9wcmV2PXRoaXMsdGhpcy5fbmV4dD1kKX0pLHRhPShTLl9wYXJzZVRvUHJveHk9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3ZhciBnLGgsaSxqLGssbD1kLG09e30sbj17fSxvPWMuX3RyYW5zZm9ybSxwPU07Zm9yKGMuX3RyYW5zZm9ybT1udWxsLE09YixkPWs9Yy5wYXJzZShhLGIsZCxlKSxNPXAsZiYmKGMuX3RyYW5zZm9ybT1vLGwmJihsLl9wcmV2PW51bGwsbC5fcHJldiYmKGwuX3ByZXYuX25leHQ9bnVsbCkpKTtkJiZkIT09bDspe2lmKGQudHlwZTw9MSYmKGg9ZC5wLG5baF09ZC5zK2QuYyxtW2hdPWQucyxmfHwoaj1uZXcgc2EoZCwicyIsaCxqLGQuciksZC5jPTApLDE9PT1kLnR5cGUpKWZvcihnPWQubDstLWc+MDspaT0ieG4iK2csaD1kLnArIl8iK2ksbltoXT1kLmRhdGFbaV0sbVtoXT1kW2ldLGZ8fChqPW5ldyBzYShkLGksaCxqLGQucnhwW2ldKSk7ZD1kLl9uZXh0fXJldHVybntwcm94eTptLGVuZDpuLGZpcnN0TVBUOmoscHQ6a319LFMuQ1NTUHJvcFR3ZWVuPWZ1bmN0aW9uKGEsYixkLGUsZyxoLGksaixrLGwsbSl7dGhpcy50PWEsdGhpcy5wPWIsdGhpcy5zPWQsdGhpcy5jPWUsdGhpcy5uPWl8fGIsYSBpbnN0YW5jZW9mIHRhfHxmLnB1c2godGhpcy5uKSx0aGlzLnI9aix0aGlzLnR5cGU9aHx8MCxrJiYodGhpcy5wcj1rLGM9ITApLHRoaXMuYj12b2lkIDA9PT1sP2Q6bCx0aGlzLmU9dm9pZCAwPT09bT9kK2U6bSxnJiYodGhpcy5fbmV4dD1nLGcuX3ByZXY9dGhpcyl9KSx1YT1mdW5jdGlvbihhLGIsYyxkLGUsZil7dmFyIGc9bmV3IHRhKGEsYixjLGQtYyxlLC0xLGYpO3JldHVybiBnLmI9YyxnLmU9Zy54czA9ZCxnfSx2YT1nLnBhcnNlQ29tcGxleD1mdW5jdGlvbihhLGIsYyxkLGUsZixoLGksaixsKXtjPWN8fGZ8fCIiLCJmdW5jdGlvbiI9PXR5cGVvZiBkJiYoZD1kKHIscSkpLGg9bmV3IHRhKGEsYiwwLDAsaCxsPzI6MSxudWxsLCExLGksYyxkKSxkKz0iIixlJiZwYS50ZXN0KGQrYykmJihkPVtjLGRdLGcuY29sb3JTdHJpbmdGaWx0ZXIoZCksYz1kWzBdLGQ9ZFsxXSk7dmFyIG0sbixvLHAsdSx2LHcseCx5LHosQSxCLEMsRD1jLnNwbGl0KCIsICIpLmpvaW4oIiwiKS5zcGxpdCgiICIpLEU9ZC5zcGxpdCgiLCAiKS5qb2luKCIsIikuc3BsaXQoIiAiKSxGPUQubGVuZ3RoLEc9ayE9PSExO2ZvcigoLTEhPT1kLmluZGV4T2YoIiwiKXx8LTEhPT1jLmluZGV4T2YoIiwiKSkmJihEPUQuam9pbigiICIpLnJlcGxhY2UoSSwiLCAiKS5zcGxpdCgiICIpLEU9RS5qb2luKCIgIikucmVwbGFjZShJLCIsICIpLnNwbGl0KCIgIiksRj1ELmxlbmd0aCksRiE9PUUubGVuZ3RoJiYoRD0oZnx8IiIpLnNwbGl0KCIgIiksRj1ELmxlbmd0aCksaC5wbHVnaW49aixoLnNldFJhdGlvPWwscGEubGFzdEluZGV4PTAsbT0wO0Y+bTttKyspaWYocD1EW21dLHU9RVttXSx4PXBhcnNlRmxvYXQocCkseHx8MD09PXgpaC5hcHBlbmRYdHJhKCIiLHgsaWEodSx4KSx1LnJlcGxhY2UodCwiIiksRyYmLTEhPT11LmluZGV4T2YoInB4IiksITApO2Vsc2UgaWYoZSYmcGEudGVzdChwKSlCPXUuaW5kZXhPZigiKSIpKzEsQj0iKSIrKEI/dS5zdWJzdHIoQik6IiIpLEM9LTEhPT11LmluZGV4T2YoImhzbCIpJiZVLHA9bmEocCxDKSx1PW5hKHUsQykseT1wLmxlbmd0aCt1Lmxlbmd0aD42LHkmJiFVJiYwPT09dVszXT8oaFsieHMiK2gubF0rPWgubD8iIHRyYW5zcGFyZW50IjoidHJhbnNwYXJlbnQiLGguZT1oLmUuc3BsaXQoRVttXSkuam9pbigidHJhbnNwYXJlbnQiKSk6KFV8fCh5PSExKSxDP2guYXBwZW5kWHRyYSh5PyJoc2xhKCI6ImhzbCgiLHBbMF0saWEodVswXSxwWzBdKSwiLCIsITEsITApLmFwcGVuZFh0cmEoIiIscFsxXSxpYSh1WzFdLHBbMV0pLCIlLCIsITEpLmFwcGVuZFh0cmEoIiIscFsyXSxpYSh1WzJdLHBbMl0pLHk/IiUsIjoiJSIrQiwhMSk6aC5hcHBlbmRYdHJhKHk/InJnYmEoIjoicmdiKCIscFswXSx1WzBdLXBbMF0sIiwiLCEwLCEwKS5hcHBlbmRYdHJhKCIiLHBbMV0sdVsxXS1wWzFdLCIsIiwhMCkuYXBwZW5kWHRyYSgiIixwWzJdLHVbMl0tcFsyXSx5PyIsIjpCLCEwKSx5JiYocD1wLmxlbmd0aDw0PzE6cFszXSxoLmFwcGVuZFh0cmEoIiIscCwodS5sZW5ndGg8ND8xOnVbM10pLXAsQiwhMSkpKSxwYS5sYXN0SW5kZXg9MDtlbHNlIGlmKHY9cC5tYXRjaChzKSl7aWYodz11Lm1hdGNoKHQpLCF3fHx3Lmxlbmd0aCE9PXYubGVuZ3RoKXJldHVybiBoO2ZvcihvPTAsbj0wO248di5sZW5ndGg7bisrKUE9dltuXSx6PXAuaW5kZXhPZihBLG8pLGguYXBwZW5kWHRyYShwLnN1YnN0cihvLHotbyksTnVtYmVyKEEpLGlhKHdbbl0sQSksIiIsRyYmInB4Ij09PXAuc3Vic3RyKHorQS5sZW5ndGgsMiksMD09PW4pLG89eitBLmxlbmd0aDtoWyJ4cyIraC5sXSs9cC5zdWJzdHIobyl9ZWxzZSBoWyJ4cyIraC5sXSs9aC5sfHxoWyJ4cyIraC5sXT8iICIrdTp1O2lmKC0xIT09ZC5pbmRleE9mKCI9IikmJmguZGF0YSl7Zm9yKEI9aC54czAraC5kYXRhLnMsbT0xO208aC5sO20rKylCKz1oWyJ4cyIrbV0raC5kYXRhWyJ4biIrbV07aC5lPUIraFsieHMiK21dfXJldHVybiBoLmx8fChoLnR5cGU9LTEsaC54czA9aC5lKSxoLnhmaXJzdHx8aH0sd2E9OTtmb3Ioaj10YS5wcm90b3R5cGUsai5sPWoucHI9MDstLXdhPjA7KWpbInhuIit3YV09MCxqWyJ4cyIrd2FdPSIiO2oueHMwPSIiLGouX25leHQ9ai5fcHJldj1qLnhmaXJzdD1qLmRhdGE9ai5wbHVnaW49ai5zZXRSYXRpbz1qLnJ4cD1udWxsLGouYXBwZW5kWHRyYT1mdW5jdGlvbihhLGIsYyxkLGUsZil7dmFyIGc9dGhpcyxoPWcubDtyZXR1cm4gZ1sieHMiK2hdKz1mJiYoaHx8Z1sieHMiK2hdKT8iICIrYTphfHwiIixjfHwwPT09aHx8Zy5wbHVnaW4/KGcubCsrLGcudHlwZT1nLnNldFJhdGlvPzI6MSxnWyJ4cyIrZy5sXT1kfHwiIixoPjA/KGcuZGF0YVsieG4iK2hdPWIrYyxnLnJ4cFsieG4iK2hdPWUsZ1sieG4iK2hdPWIsZy5wbHVnaW58fChnLnhmaXJzdD1uZXcgdGEoZywieG4iK2gsYixjLGcueGZpcnN0fHxnLDAsZy5uLGUsZy5wciksZy54Zmlyc3QueHMwPTApLGcpOihnLmRhdGE9e3M6YitjfSxnLnJ4cD17fSxnLnM9YixnLmM9YyxnLnI9ZSxnKSk6KGdbInhzIitoXSs9YisoZHx8IiIpLGcpfTt2YXIgeGE9ZnVuY3Rpb24oYSxiKXtiPWJ8fHt9LHRoaXMucD1iLnByZWZpeD9aKGEpfHxhOmEsaVthXT1pW3RoaXMucF09dGhpcyx0aGlzLmZvcm1hdD1iLmZvcm1hdHRlcnx8cWEoYi5kZWZhdWx0VmFsdWUsYi5jb2xvcixiLmNvbGxhcHNpYmxlLGIubXVsdGkpLGIucGFyc2VyJiYodGhpcy5wYXJzZT1iLnBhcnNlciksdGhpcy5jbHJzPWIuY29sb3IsdGhpcy5tdWx0aT1iLm11bHRpLHRoaXMua2V5d29yZD1iLmtleXdvcmQsdGhpcy5kZmx0PWIuZGVmYXVsdFZhbHVlLHRoaXMucHI9Yi5wcmlvcml0eXx8MH0seWE9Uy5fcmVnaXN0ZXJDb21wbGV4U3BlY2lhbFByb3A9ZnVuY3Rpb24oYSxiLGMpeyJvYmplY3QiIT10eXBlb2YgYiYmKGI9e3BhcnNlcjpjfSk7dmFyIGQsZSxmPWEuc3BsaXQoIiwiKSxnPWIuZGVmYXVsdFZhbHVlO2ZvcihjPWN8fFtnXSxkPTA7ZDxmLmxlbmd0aDtkKyspYi5wcmVmaXg9MD09PWQmJmIucHJlZml4LGIuZGVmYXVsdFZhbHVlPWNbZF18fGcsZT1uZXcgeGEoZltkXSxiKX0semE9Uy5fcmVnaXN0ZXJQbHVnaW5Qcm9wPWZ1bmN0aW9uKGEpe2lmKCFpW2FdKXt2YXIgYj1hLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK2Euc3Vic3RyKDEpKyJQbHVnaW4iO3lhKGEse3BhcnNlcjpmdW5jdGlvbihhLGMsZCxlLGYsZyxqKXt2YXIgaz1oLmNvbS5ncmVlbnNvY2sucGx1Z2luc1tiXTtyZXR1cm4gaz8oay5fY3NzUmVnaXN0ZXIoKSxpW2RdLnBhcnNlKGEsYyxkLGUsZixnLGopKTooVygiRXJyb3I6ICIrYisiIGpzIGZpbGUgbm90IGxvYWRlZC4iKSxmKX19KX19O2o9eGEucHJvdG90eXBlLGoucGFyc2VDb21wbGV4PWZ1bmN0aW9uKGEsYixjLGQsZSxmKXt2YXIgZyxoLGksaixrLGwsbT10aGlzLmtleXdvcmQ7aWYodGhpcy5tdWx0aSYmKEkudGVzdChjKXx8SS50ZXN0KGIpPyhoPWIucmVwbGFjZShJLCJ8Iikuc3BsaXQoInwiKSxpPWMucmVwbGFjZShJLCJ8Iikuc3BsaXQoInwiKSk6bSYmKGg9W2JdLGk9W2NdKSksaSl7Zm9yKGo9aS5sZW5ndGg+aC5sZW5ndGg/aS5sZW5ndGg6aC5sZW5ndGgsZz0wO2o+ZztnKyspYj1oW2ddPWhbZ118fHRoaXMuZGZsdCxjPWlbZ109aVtnXXx8dGhpcy5kZmx0LG0mJihrPWIuaW5kZXhPZihtKSxsPWMuaW5kZXhPZihtKSxrIT09bCYmKC0xPT09bD9oW2ddPWhbZ10uc3BsaXQobSkuam9pbigiIik6LTE9PT1rJiYoaFtnXSs9IiAiK20pKSk7Yj1oLmpvaW4oIiwgIiksYz1pLmpvaW4oIiwgIil9cmV0dXJuIHZhKGEsdGhpcy5wLGIsYyx0aGlzLmNscnMsdGhpcy5kZmx0LGQsdGhpcy5wcixlLGYpfSxqLnBhcnNlPWZ1bmN0aW9uKGEsYixjLGQsZixnLGgpe3JldHVybiB0aGlzLnBhcnNlQ29tcGxleChhLnN0eWxlLHRoaXMuZm9ybWF0KF8oYSx0aGlzLnAsZSwhMSx0aGlzLmRmbHQpKSx0aGlzLmZvcm1hdChiKSxmLGcpfSxnLnJlZ2lzdGVyU3BlY2lhbFByb3A9ZnVuY3Rpb24oYSxiLGMpe3lhKGEse3BhcnNlcjpmdW5jdGlvbihhLGQsZSxmLGcsaCxpKXt2YXIgaj1uZXcgdGEoYSxlLDAsMCxnLDIsZSwhMSxjKTtyZXR1cm4gai5wbHVnaW49aCxqLnNldFJhdGlvPWIoYSxkLGYuX3R3ZWVuLGUpLGp9LHByaW9yaXR5OmN9KX0sZy51c2VTVkdUcmFuc2Zvcm1BdHRyPSEwO3ZhciBBYSxCYT0ic2NhbGVYLHNjYWxlWSxzY2FsZVoseCx5LHosc2tld1gsc2tld1kscm90YXRpb24scm90YXRpb25YLHJvdGF0aW9uWSxwZXJzcGVjdGl2ZSx4UGVyY2VudCx5UGVyY2VudCIuc3BsaXQoIiwiKSxDYT1aKCJ0cmFuc2Zvcm0iKSxEYT1YKyJ0cmFuc2Zvcm0iLEVhPVooInRyYW5zZm9ybU9yaWdpbiIpLEZhPW51bGwhPT1aKCJwZXJzcGVjdGl2ZSIpLEdhPVMuVHJhbnNmb3JtPWZ1bmN0aW9uKCl7dGhpcy5wZXJzcGVjdGl2ZT1wYXJzZUZsb2F0KGcuZGVmYXVsdFRyYW5zZm9ybVBlcnNwZWN0aXZlKXx8MCx0aGlzLmZvcmNlM0Q9Zy5kZWZhdWx0Rm9yY2UzRCE9PSExJiZGYT9nLmRlZmF1bHRGb3JjZTNEfHwiYXV0byI6ITF9LEhhPV9nc1Njb3BlLlNWR0VsZW1lbnQsSWE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGU9Ty5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixhKSxmPS8oW2Etel0pKFtBLVpdKS9nO2ZvcihkIGluIGMpZS5zZXRBdHRyaWJ1dGVOUyhudWxsLGQucmVwbGFjZShmLCIkMS0kMiIpLnRvTG93ZXJDYXNlKCksY1tkXSk7cmV0dXJuIGIuYXBwZW5kQ2hpbGQoZSksZX0sSmE9Ty5kb2N1bWVudEVsZW1lbnR8fHt9LEthPWZ1bmN0aW9uKCl7dmFyIGEsYixjLGQ9cHx8L0FuZHJvaWQvaS50ZXN0KFQpJiYhX2dzU2NvcGUuY2hyb21lO3JldHVybiBPLmNyZWF0ZUVsZW1lbnROUyYmIWQmJihhPUlhKCJzdmciLEphKSxiPUlhKCJyZWN0IixhLHt3aWR0aDoxMDAsaGVpZ2h0OjUwLHg6MTAwfSksYz1iLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoLGIuc3R5bGVbRWFdPSI1MCUgNTAlIixiLnN0eWxlW0NhXT0ic2NhbGVYKDAuNSkiLGQ9Yz09PWIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgmJiEobiYmRmEpLEphLnJlbW92ZUNoaWxkKGEpKSxkfSgpLExhPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXt2YXIgaCxpLGosayxsLG0sbixvLHAscSxyLHMsdCx1LHY9YS5fZ3NUcmFuc2Zvcm0sdz1RYShhLCEwKTt2JiYodD12LnhPcmlnaW4sdT12LnlPcmlnaW4pLCghZHx8KGg9ZC5zcGxpdCgiICIpKS5sZW5ndGg8MikmJihuPWEuZ2V0QkJveCgpLDA9PT1uLngmJjA9PT1uLnkmJm4ud2lkdGgrbi5oZWlnaHQ9PT0wJiYobj17eDpwYXJzZUZsb2F0KGEuaGFzQXR0cmlidXRlKCJ4Iik/YS5nZXRBdHRyaWJ1dGUoIngiKTphLmhhc0F0dHJpYnV0ZSgiY3giKT9hLmdldEF0dHJpYnV0ZSgiY3giKTowKXx8MCx5OnBhcnNlRmxvYXQoYS5oYXNBdHRyaWJ1dGUoInkiKT9hLmdldEF0dHJpYnV0ZSgieSIpOmEuaGFzQXR0cmlidXRlKCJjeSIpP2EuZ2V0QXR0cmlidXRlKCJjeSIpOjApfHwwLHdpZHRoOjAsaGVpZ2h0OjB9KSxiPWhhKGIpLnNwbGl0KCIgIiksaD1bKC0xIT09YlswXS5pbmRleE9mKCIlIik/cGFyc2VGbG9hdChiWzBdKS8xMDAqbi53aWR0aDpwYXJzZUZsb2F0KGJbMF0pKStuLngsKC0xIT09YlsxXS5pbmRleE9mKCIlIik/cGFyc2VGbG9hdChiWzFdKS8xMDAqbi5oZWlnaHQ6cGFyc2VGbG9hdChiWzFdKSkrbi55XSksYy54T3JpZ2luPWs9cGFyc2VGbG9hdChoWzBdKSxjLnlPcmlnaW49bD1wYXJzZUZsb2F0KGhbMV0pLGQmJnchPT1QYSYmKG09d1swXSxuPXdbMV0sbz13WzJdLHA9d1szXSxxPXdbNF0scj13WzVdLHM9bSpwLW4qbyxzJiYoaT1rKihwL3MpK2wqKC1vL3MpKyhvKnItcCpxKS9zLGo9ayooLW4vcykrbCoobS9zKS0obSpyLW4qcSkvcyxrPWMueE9yaWdpbj1oWzBdPWksbD1jLnlPcmlnaW49aFsxXT1qKSksdiYmKGYmJihjLnhPZmZzZXQ9di54T2Zmc2V0LGMueU9mZnNldD12LnlPZmZzZXQsdj1jKSxlfHxlIT09ITEmJmcuZGVmYXVsdFNtb290aE9yaWdpbiE9PSExPyhpPWstdCxqPWwtdSx2LnhPZmZzZXQrPWkqd1swXStqKndbMl0taSx2LnlPZmZzZXQrPWkqd1sxXStqKndbM10taik6di54T2Zmc2V0PXYueU9mZnNldD0wKSxmfHxhLnNldEF0dHJpYnV0ZSgiZGF0YS1zdmctb3JpZ2luIixoLmpvaW4oIiAiKSl9LE1hPWZ1bmN0aW9uKGEpe3ZhciBiLGM9UCgic3ZnIix0aGlzLm93bmVyU1ZHRWxlbWVudC5nZXRBdHRyaWJ1dGUoInhtbG5zIil8fCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIpLGQ9dGhpcy5wYXJlbnROb2RlLGU9dGhpcy5uZXh0U2libGluZyxmPXRoaXMuc3R5bGUuY3NzVGV4dDtpZihKYS5hcHBlbmRDaGlsZChjKSxjLmFwcGVuZENoaWxkKHRoaXMpLHRoaXMuc3R5bGUuZGlzcGxheT0iYmxvY2siLGEpdHJ5e2I9dGhpcy5nZXRCQm94KCksdGhpcy5fb3JpZ2luYWxHZXRCQm94PXRoaXMuZ2V0QkJveCx0aGlzLmdldEJCb3g9TWF9Y2F0Y2goZyl7fWVsc2UgdGhpcy5fb3JpZ2luYWxHZXRCQm94JiYoYj10aGlzLl9vcmlnaW5hbEdldEJCb3goKSk7cmV0dXJuIGU/ZC5pbnNlcnRCZWZvcmUodGhpcyxlKTpkLmFwcGVuZENoaWxkKHRoaXMpLEphLnJlbW92ZUNoaWxkKGMpLHRoaXMuc3R5bGUuY3NzVGV4dD1mLGJ9LE5hPWZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4gYS5nZXRCQm94KCl9Y2F0Y2goYil7cmV0dXJuIE1hLmNhbGwoYSwhMCl9fSxPYT1mdW5jdGlvbihhKXtyZXR1cm4hKCEoSGEmJmEuZ2V0Q1RNJiZOYShhKSl8fGEucGFyZW50Tm9kZSYmIWEub3duZXJTVkdFbGVtZW50KX0sUGE9WzEsMCwwLDEsMCwwXSxRYT1mdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGcsaCxpPWEuX2dzVHJhbnNmb3JtfHxuZXcgR2Esaj0xZTUsaz1hLnN0eWxlO2lmKENhP2Q9XyhhLERhLG51bGwsITApOmEuY3VycmVudFN0eWxlJiYoZD1hLmN1cnJlbnRTdHlsZS5maWx0ZXIubWF0Y2goRyksZD1kJiY0PT09ZC5sZW5ndGg/W2RbMF0uc3Vic3RyKDQpLE51bWJlcihkWzJdLnN1YnN0cig0KSksTnVtYmVyKGRbMV0uc3Vic3RyKDQpKSxkWzNdLnN1YnN0cig0KSxpLnh8fDAsaS55fHwwXS5qb2luKCIsIik6IiIpLGM9IWR8fCJub25lIj09PWR8fCJtYXRyaXgoMSwgMCwgMCwgMSwgMCwgMCkiPT09ZCxjJiZDYSYmKChoPSJub25lIj09PSQoYSkuZGlzcGxheSl8fCFhLnBhcmVudE5vZGUpJiYoaCYmKGY9ay5kaXNwbGF5LGsuZGlzcGxheT0iYmxvY2siKSxhLnBhcmVudE5vZGV8fChnPTEsSmEuYXBwZW5kQ2hpbGQoYSkpLGQ9XyhhLERhLG51bGwsITApLGM9IWR8fCJub25lIj09PWR8fCJtYXRyaXgoMSwgMCwgMCwgMSwgMCwgMCkiPT09ZCxmP2suZGlzcGxheT1mOmgmJlZhKGssImRpc3BsYXkiKSxnJiZKYS5yZW1vdmVDaGlsZChhKSksKGkuc3ZnfHxhLmdldENUTSYmT2EoYSkpJiYoYyYmLTEhPT0oa1tDYV0rIiIpLmluZGV4T2YoIm1hdHJpeCIpJiYoZD1rW0NhXSxjPTApLGU9YS5nZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIpLGMmJmUmJigtMSE9PWUuaW5kZXhPZigibWF0cml4Iik/KGQ9ZSxjPTApOi0xIT09ZS5pbmRleE9mKCJ0cmFuc2xhdGUiKSYmKGQ9Im1hdHJpeCgxLDAsMCwxLCIrZS5tYXRjaCgvKD86XC18XGIpW1xkXC1cLmVdK1xiL2dpKS5qb2luKCIsIikrIikiLGM9MCkpKSxjKXJldHVybiBQYTtmb3IoZT0oZHx8IiIpLm1hdGNoKHMpfHxbXSx3YT1lLmxlbmd0aDstLXdhPi0xOylmPU51bWJlcihlW3dhXSksZVt3YV09KGc9Zi0oZnw9MCkpPyhnKmorKDA+Zz8tLjU6LjUpfDApL2orZjpmO3JldHVybiBiJiZlLmxlbmd0aD42P1tlWzBdLGVbMV0sZVs0XSxlWzVdLGVbMTJdLGVbMTNdXTplfSxSYT1TLmdldFRyYW5zZm9ybT1mdW5jdGlvbihhLGMsZCxlKXtpZihhLl9nc1RyYW5zZm9ybSYmZCYmIWUpcmV0dXJuIGEuX2dzVHJhbnNmb3JtO3ZhciBmLGgsaSxqLGssbCxtPWQ/YS5fZ3NUcmFuc2Zvcm18fG5ldyBHYTpuZXcgR2Esbj1tLnNjYWxlWDwwLG89MmUtNSxwPTFlNSxxPUZhP3BhcnNlRmxvYXQoXyhhLEVhLGMsITEsIjAgMCAwIikuc3BsaXQoIiAiKVsyXSl8fG0uek9yaWdpbnx8MDowLHI9cGFyc2VGbG9hdChnLmRlZmF1bHRUcmFuc2Zvcm1QZXJzcGVjdGl2ZSl8fDA7aWYobS5zdmc9ISghYS5nZXRDVE18fCFPYShhKSksbS5zdmcmJihMYShhLF8oYSxFYSxjLCExLCI1MCUgNTAlIikrIiIsbSxhLmdldEF0dHJpYnV0ZSgiZGF0YS1zdmctb3JpZ2luIikpLEFhPWcudXNlU1ZHVHJhbnNmb3JtQXR0cnx8S2EpLGY9UWEoYSksZiE9PVBhKXtpZigxNj09PWYubGVuZ3RoKXt2YXIgcyx0LHUsdix3LHg9ZlswXSx5PWZbMV0sej1mWzJdLEE9ZlszXSxCPWZbNF0sQz1mWzVdLEQ9Zls2XSxFPWZbN10sRj1mWzhdLEc9Zls5XSxIPWZbMTBdLEk9ZlsxMl0sSj1mWzEzXSxLPWZbMTRdLE09ZlsxMV0sTj1NYXRoLmF0YW4yKEQsSCk7bS56T3JpZ2luJiYoSz0tbS56T3JpZ2luLEk9RipLLWZbMTJdLEo9RypLLWZbMTNdLEs9SCpLK20uek9yaWdpbi1mWzE0XSksbS5yb3RhdGlvblg9TipMLE4mJih2PU1hdGguY29zKC1OKSx3PU1hdGguc2luKC1OKSxzPUIqditGKncsdD1DKnYrRyp3LHU9RCp2K0gqdyxGPUIqLXcrRip2LEc9QyotdytHKnYsSD1EKi13K0gqdixNPUUqLXcrTSp2LEI9cyxDPXQsRD11KSxOPU1hdGguYXRhbjIoLXosSCksbS5yb3RhdGlvblk9TipMLE4mJih2PU1hdGguY29zKC1OKSx3PU1hdGguc2luKC1OKSxzPXgqdi1GKncsdD15KnYtRyp3LHU9eip2LUgqdyxHPXkqdytHKnYsSD16KncrSCp2LE09QSp3K00qdix4PXMseT10LHo9dSksTj1NYXRoLmF0YW4yKHkseCksbS5yb3RhdGlvbj1OKkwsTiYmKHY9TWF0aC5jb3MoLU4pLHc9TWF0aC5zaW4oLU4pLHg9eCp2K0Iqdyx0PXkqditDKncsQz15Ki13K0MqdixEPXoqLXcrRCp2LHk9dCksbS5yb3RhdGlvblgmJk1hdGguYWJzKG0ucm90YXRpb25YKStNYXRoLmFicyhtLnJvdGF0aW9uKT4zNTkuOSYmKG0ucm90YXRpb25YPW0ucm90YXRpb249MCxtLnJvdGF0aW9uWT0xODAtbS5yb3RhdGlvblkpLG0uc2NhbGVYPShNYXRoLnNxcnQoeCp4K3kqeSkqcCsuNXwwKS9wLG0uc2NhbGVZPShNYXRoLnNxcnQoQypDK0cqRykqcCsuNXwwKS9wLG0uc2NhbGVaPShNYXRoLnNxcnQoRCpEK0gqSCkqcCsuNXwwKS9wLG0ucm90YXRpb25YfHxtLnJvdGF0aW9uWT9tLnNrZXdYPTA6KG0uc2tld1g9Qnx8Qz9NYXRoLmF0YW4yKEIsQykqTCttLnJvdGF0aW9uOm0uc2tld1h8fDAsTWF0aC5hYnMobS5za2V3WCk+OTAmJk1hdGguYWJzKG0uc2tld1gpPDI3MCYmKG4/KG0uc2NhbGVYKj0tMSxtLnNrZXdYKz1tLnJvdGF0aW9uPD0wPzE4MDotMTgwLG0ucm90YXRpb24rPW0ucm90YXRpb248PTA/MTgwOi0xODApOihtLnNjYWxlWSo9LTEsbS5za2V3WCs9bS5za2V3WDw9MD8xODA6LTE4MCkpKSxtLnBlcnNwZWN0aXZlPU0/MS8oMD5NPy1NOk0pOjAsbS54PUksbS55PUosbS56PUssbS5zdmcmJihtLngtPW0ueE9yaWdpbi0obS54T3JpZ2luKngtbS55T3JpZ2luKkIpLG0ueS09bS55T3JpZ2luLShtLnlPcmlnaW4qeS1tLnhPcmlnaW4qQykpfWVsc2UgaWYoIUZhfHxlfHwhZi5sZW5ndGh8fG0ueCE9PWZbNF18fG0ueSE9PWZbNV18fCFtLnJvdGF0aW9uWCYmIW0ucm90YXRpb25ZKXt2YXIgTz1mLmxlbmd0aD49NixQPU8/ZlswXToxLFE9ZlsxXXx8MCxSPWZbMl18fDAsUz1PP2ZbM106MTttLng9Zls0XXx8MCxtLnk9Zls1XXx8MCxpPU1hdGguc3FydChQKlArUSpRKSxqPU1hdGguc3FydChTKlMrUipSKSxrPVB8fFE/TWF0aC5hdGFuMihRLFApKkw6bS5yb3RhdGlvbnx8MCxsPVJ8fFM/TWF0aC5hdGFuMihSLFMpKkwrazptLnNrZXdYfHwwLE1hdGguYWJzKGwpPjkwJiZNYXRoLmFicyhsKTwyNzAmJihuPyhpKj0tMSxsKz0wPj1rPzE4MDotMTgwLGsrPTA+PWs/MTgwOi0xODApOihqKj0tMSxsKz0wPj1sPzE4MDotMTgwKSksbS5zY2FsZVg9aSxtLnNjYWxlWT1qLG0ucm90YXRpb249ayxtLnNrZXdYPWwsRmEmJihtLnJvdGF0aW9uWD1tLnJvdGF0aW9uWT1tLno9MCxtLnBlcnNwZWN0aXZlPXIsbS5zY2FsZVo9MSksbS5zdmcmJihtLngtPW0ueE9yaWdpbi0obS54T3JpZ2luKlArbS55T3JpZ2luKlIpLG0ueS09bS55T3JpZ2luLShtLnhPcmlnaW4qUSttLnlPcmlnaW4qUykpfW0uek9yaWdpbj1xO2ZvcihoIGluIG0pbVtoXTxvJiZtW2hdPi1vJiYobVtoXT0wKX1yZXR1cm4gZCYmKGEuX2dzVHJhbnNmb3JtPW0sbS5zdmcmJihBYSYmYS5zdHlsZVtDYV0/Yi5kZWxheWVkQ2FsbCguMDAxLGZ1bmN0aW9uKCl7VmEoYS5zdHlsZSxDYSl9KTohQWEmJmEuZ2V0QXR0cmlidXRlKCJ0cmFuc2Zvcm0iKSYmYi5kZWxheWVkQ2FsbCguMDAxLGZ1bmN0aW9uKCl7YS5yZW1vdmVBdHRyaWJ1dGUoInRyYW5zZm9ybSIpfSkpKSxtfSxTYT1mdW5jdGlvbihhKXt2YXIgYixjLGQ9dGhpcy5kYXRhLGU9LWQucm90YXRpb24qSyxmPWUrZC5za2V3WCpLLGc9MWU1LGg9KE1hdGguY29zKGUpKmQuc2NhbGVYKmd8MCkvZyxpPShNYXRoLnNpbihlKSpkLnNjYWxlWCpnfDApL2csaj0oTWF0aC5zaW4oZikqLWQuc2NhbGVZKmd8MCkvZyxrPShNYXRoLmNvcyhmKSpkLnNjYWxlWSpnfDApL2csbD10aGlzLnQuc3R5bGUsbT10aGlzLnQuY3VycmVudFN0eWxlO2lmKG0pe2M9aSxpPS1qLGo9LWMsYj1tLmZpbHRlcixsLmZpbHRlcj0iIjt2YXIgbixvLHE9dGhpcy50Lm9mZnNldFdpZHRoLHI9dGhpcy50Lm9mZnNldEhlaWdodCxzPSJhYnNvbHV0ZSIhPT1tLnBvc2l0aW9uLHQ9InByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5NYXRyaXgoTTExPSIraCsiLCBNMTI9IitpKyIsIE0yMT0iK2orIiwgTTIyPSIrayx1PWQueCtxKmQueFBlcmNlbnQvMTAwLHY9ZC55K3IqZC55UGVyY2VudC8xMDA7aWYobnVsbCE9ZC5veCYmKG49KGQub3hwP3EqZC5veCouMDE6ZC5veCktcS8yLG89KGQub3lwP3IqZC5veSouMDE6ZC5veSktci8yLHUrPW4tKG4qaCtvKmkpLHYrPW8tKG4qaitvKmspKSxzPyhuPXEvMixvPXIvMix0Kz0iLCBEeD0iKyhuLShuKmgrbyppKSt1KSsiLCBEeT0iKyhvLShuKmorbyprKSt2KSsiKSIpOnQrPSIsIHNpemluZ01ldGhvZD0nYXV0byBleHBhbmQnKSIsLTEhPT1iLmluZGV4T2YoIkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0Lk1hdHJpeCgiKT9sLmZpbHRlcj1iLnJlcGxhY2UoSCx0KTpsLmZpbHRlcj10KyIgIitiLCgwPT09YXx8MT09PWEpJiYxPT09aCYmMD09PWkmJjA9PT1qJiYxPT09ayYmKHMmJi0xPT09dC5pbmRleE9mKCJEeD0wLCBEeT0wIil8fHgudGVzdChiKSYmMTAwIT09cGFyc2VGbG9hdChSZWdFeHAuJDEpfHwtMT09PWIuaW5kZXhPZihiLmluZGV4T2YoIkFscGhhIikpJiZsLnJlbW92ZUF0dHJpYnV0ZSgiZmlsdGVyIikpLCFzKXt2YXIgeSx6LEEsQj04PnA/MTotMTtmb3Iobj1kLmllT2Zmc2V0WHx8MCxvPWQuaWVPZmZzZXRZfHwwLGQuaWVPZmZzZXRYPU1hdGgucm91bmQoKHEtKCgwPmg/LWg6aCkqcSsoMD5pPy1pOmkpKnIpKS8yK3UpLGQuaWVPZmZzZXRZPU1hdGgucm91bmQoKHItKCgwPms/LWs6aykqcisoMD5qPy1qOmopKnEpKS8yK3YpLHdhPTA7ND53YTt3YSsrKXo9ZmFbd2FdLHk9bVt6XSxjPS0xIT09eS5pbmRleE9mKCJweCIpP3BhcnNlRmxvYXQoeSk6YWEodGhpcy50LHoscGFyc2VGbG9hdCh5KSx5LnJlcGxhY2UodywiIikpfHwwLEE9YyE9PWRbel0/Mj53YT8tZC5pZU9mZnNldFg6LWQuaWVPZmZzZXRZOjI+d2E/bi1kLmllT2Zmc2V0WDpvLWQuaWVPZmZzZXRZLGxbel09KGRbel09TWF0aC5yb3VuZChjLUEqKDA9PT13YXx8Mj09PXdhPzE6QikpKSsicHgifX19LFRhPVMuc2V0M0RUcmFuc2Zvcm1SYXRpbz1TLnNldFRyYW5zZm9ybVJhdGlvPWZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlLGYsZyxoLGksaixrLGwsbSxvLHAscSxyLHMsdCx1LHYsdyx4LHksej10aGlzLmRhdGEsQT10aGlzLnQuc3R5bGUsQj16LnJvdGF0aW9uLEM9ei5yb3RhdGlvblgsRD16LnJvdGF0aW9uWSxFPXouc2NhbGVYLEY9ei5zY2FsZVksRz16LnNjYWxlWixIPXoueCxJPXoueSxKPXoueixMPXouc3ZnLE09ei5wZXJzcGVjdGl2ZSxOPXouZm9yY2UzRCxPPXouc2tld1ksUD16LnNrZXdYO2lmKE8mJihQKz1PLEIrPU8pLCgoMT09PWF8fDA9PT1hKSYmImF1dG8iPT09TiYmKHRoaXMudHdlZW4uX3RvdGFsVGltZT09PXRoaXMudHdlZW4uX3RvdGFsRHVyYXRpb258fCF0aGlzLnR3ZWVuLl90b3RhbFRpbWUpfHwhTikmJiFKJiYhTSYmIUQmJiFDJiYxPT09R3x8QWEmJkx8fCFGYSlyZXR1cm4gdm9pZChCfHxQfHxMPyhCKj1LLHg9UCpLLHk9MWU1LGM9TWF0aC5jb3MoQikqRSxmPU1hdGguc2luKEIpKkUsZD1NYXRoLnNpbihCLXgpKi1GLGc9TWF0aC5jb3MoQi14KSpGLHgmJiJzaW1wbGUiPT09ei5za2V3VHlwZSYmKGI9TWF0aC50YW4oeC1PKkspLGI9TWF0aC5zcXJ0KDErYipiKSxkKj1iLGcqPWIsTyYmKGI9TWF0aC50YW4oTypLKSxiPU1hdGguc3FydCgxK2IqYiksYyo9YixmKj1iKSksTCYmKEgrPXoueE9yaWdpbi0oei54T3JpZ2luKmMrei55T3JpZ2luKmQpK3oueE9mZnNldCxJKz16LnlPcmlnaW4tKHoueE9yaWdpbipmK3oueU9yaWdpbipnKSt6LnlPZmZzZXQsQWEmJih6LnhQZXJjZW50fHx6LnlQZXJjZW50KSYmKHE9dGhpcy50LmdldEJCb3goKSxIKz0uMDEqei54UGVyY2VudCpxLndpZHRoLEkrPS4wMSp6LnlQZXJjZW50KnEuaGVpZ2h0KSxxPTFlLTYscT5IJiZIPi1xJiYoSD0wKSxxPkkmJkk+LXEmJihJPTApKSx1PShjKnl8MCkveSsiLCIrKGYqeXwwKS95KyIsIisoZCp5fDApL3krIiwiKyhnKnl8MCkveSsiLCIrSCsiLCIrSSsiKSIsTCYmQWE/dGhpcy50LnNldEF0dHJpYnV0ZSgidHJhbnNmb3JtIiwibWF0cml4KCIrdSk6QVtDYV09KHoueFBlcmNlbnR8fHoueVBlcmNlbnQ/InRyYW5zbGF0ZSgiK3oueFBlcmNlbnQrIiUsIit6LnlQZXJjZW50KyIlKSBtYXRyaXgoIjoibWF0cml4KCIpK3UpOkFbQ2FdPSh6LnhQZXJjZW50fHx6LnlQZXJjZW50PyJ0cmFuc2xhdGUoIit6LnhQZXJjZW50KyIlLCIrei55UGVyY2VudCsiJSkgbWF0cml4KCI6Im1hdHJpeCgiKStFKyIsMCwwLCIrRisiLCIrSCsiLCIrSSsiKSIpO2lmKG4mJihxPTFlLTQscT5FJiZFPi1xJiYoRT1HPTJlLTUpLHE+RiYmRj4tcSYmKEY9Rz0yZS01KSwhTXx8ei56fHx6LnJvdGF0aW9uWHx8ei5yb3RhdGlvbll8fChNPTApKSxCfHxQKUIqPUsscj1jPU1hdGguY29zKEIpLHM9Zj1NYXRoLnNpbihCKSxQJiYoQi09UCpLLHI9TWF0aC5jb3MoQikscz1NYXRoLnNpbihCKSwic2ltcGxlIj09PXouc2tld1R5cGUmJihiPU1hdGgudGFuKChQLU8pKkspLGI9TWF0aC5zcXJ0KDErYipiKSxyKj1iLHMqPWIsei5za2V3WSYmKGI9TWF0aC50YW4oTypLKSxiPU1hdGguc3FydCgxK2IqYiksYyo9YixmKj1iKSkpLGQ9LXMsZz1yO2Vsc2V7aWYoIShEfHxDfHwxIT09R3x8TXx8TCkpcmV0dXJuIHZvaWQoQVtDYV09KHoueFBlcmNlbnR8fHoueVBlcmNlbnQ/InRyYW5zbGF0ZSgiK3oueFBlcmNlbnQrIiUsIit6LnlQZXJjZW50KyIlKSB0cmFuc2xhdGUzZCgiOiJ0cmFuc2xhdGUzZCgiKStIKyJweCwiK0krInB4LCIrSisicHgpIisoMSE9PUV8fDEhPT1GPyIgc2NhbGUoIitFKyIsIitGKyIpIjoiIikpO2M9Zz0xLGQ9Zj0wfWs9MSxlPWg9aT1qPWw9bT0wLG89TT8tMS9NOjAscD16LnpPcmlnaW4scT0xZS02LHY9IiwiLHc9IjAiLEI9RCpLLEImJihyPU1hdGguY29zKEIpLHM9TWF0aC5zaW4oQiksaT0tcyxsPW8qLXMsZT1jKnMsaD1mKnMsaz1yLG8qPXIsYyo9cixmKj1yKSxCPUMqSyxCJiYocj1NYXRoLmNvcyhCKSxzPU1hdGguc2luKEIpLGI9ZCpyK2Uqcyx0PWcqcitoKnMsaj1rKnMsbT1vKnMsZT1kKi1zK2UqcixoPWcqLXMraCpyLGsqPXIsbyo9cixkPWIsZz10KSwxIT09RyYmKGUqPUcsaCo9RyxrKj1HLG8qPUcpLDEhPT1GJiYoZCo9RixnKj1GLGoqPUYsbSo9RiksMSE9PUUmJihjKj1FLGYqPUUsaSo9RSxsKj1FKSwocHx8TCkmJihwJiYoSCs9ZSotcCxJKz1oKi1wLEorPWsqLXArcCksTCYmKEgrPXoueE9yaWdpbi0oei54T3JpZ2luKmMrei55T3JpZ2luKmQpK3oueE9mZnNldCxJKz16LnlPcmlnaW4tKHoueE9yaWdpbipmK3oueU9yaWdpbipnKSt6LnlPZmZzZXQpLHE+SCYmSD4tcSYmKEg9dykscT5JJiZJPi1xJiYoST13KSxxPkomJko+LXEmJihKPTApKSx1PXoueFBlcmNlbnR8fHoueVBlcmNlbnQ/InRyYW5zbGF0ZSgiK3oueFBlcmNlbnQrIiUsIit6LnlQZXJjZW50KyIlKSBtYXRyaXgzZCgiOiJtYXRyaXgzZCgiLHUrPShxPmMmJmM+LXE/dzpjKSt2KyhxPmYmJmY+LXE/dzpmKSt2KyhxPmkmJmk+LXE/dzppKSx1Kz12KyhxPmwmJmw+LXE/dzpsKSt2KyhxPmQmJmQ+LXE/dzpkKSt2KyhxPmcmJmc+LXE/dzpnKSxDfHxEfHwxIT09Rz8odSs9disocT5qJiZqPi1xP3c6aikrdisocT5tJiZtPi1xP3c6bSkrdisocT5lJiZlPi1xP3c6ZSksdSs9disocT5oJiZoPi1xP3c6aCkrdisocT5rJiZrPi1xP3c6aykrdisocT5vJiZvPi1xP3c6bykrdik6dSs9IiwwLDAsMCwwLDEsMCwiLHUrPUgrditJK3YrSit2KyhNPzErLUovTToxKSsiKSIsQVtDYV09dX07aj1HYS5wcm90b3R5cGUsai54PWoueT1qLno9ai5za2V3WD1qLnNrZXdZPWoucm90YXRpb249ai5yb3RhdGlvblg9ai5yb3RhdGlvblk9ai56T3JpZ2luPWoueFBlcmNlbnQ9ai55UGVyY2VudD1qLnhPZmZzZXQ9ai55T2Zmc2V0PTAsai5zY2FsZVg9ai5zY2FsZVk9ai5zY2FsZVo9MSx5YSgidHJhbnNmb3JtLHNjYWxlLHNjYWxlWCxzY2FsZVksc2NhbGVaLHgseSx6LHJvdGF0aW9uLHJvdGF0aW9uWCxyb3RhdGlvblkscm90YXRpb25aLHNrZXdYLHNrZXdZLHNob3J0Um90YXRpb24sc2hvcnRSb3RhdGlvblgsc2hvcnRSb3RhdGlvblksc2hvcnRSb3RhdGlvblosdHJhbnNmb3JtT3JpZ2luLHN2Z09yaWdpbix0cmFuc2Zvcm1QZXJzcGVjdGl2ZSxkaXJlY3Rpb25hbFJvdGF0aW9uLHBhcnNlVHJhbnNmb3JtLGZvcmNlM0Qsc2tld1R5cGUseFBlcmNlbnQseVBlcmNlbnQsc21vb3RoT3JpZ2luIix7cGFyc2VyOmZ1bmN0aW9uKGEsYixjLGQsZixoLGkpe2lmKGQuX2xhc3RQYXJzZWRUcmFuc2Zvcm09PT1pKXJldHVybiBmO2QuX2xhc3RQYXJzZWRUcmFuc2Zvcm09aTt2YXIgaixrPWkuc2NhbGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBpLnNjYWxlP2kuc2NhbGU6MDsiZnVuY3Rpb24iPT10eXBlb2YgaVtjXSYmKGo9aVtjXSxpW2NdPWIpLGsmJihpLnNjYWxlPWsocixhKSk7dmFyIGwsbSxuLG8scCxzLHQsdSx2LHc9YS5fZ3NUcmFuc2Zvcm0seD1hLnN0eWxlLHk9MWUtNix6PUJhLmxlbmd0aCxBPWksQj17fSxDPSJ0cmFuc2Zvcm1PcmlnaW4iLEQ9UmEoYSxlLCEwLEEucGFyc2VUcmFuc2Zvcm0pLEU9QS50cmFuc2Zvcm0mJigiZnVuY3Rpb24iPT10eXBlb2YgQS50cmFuc2Zvcm0/QS50cmFuc2Zvcm0ocixxKTpBLnRyYW5zZm9ybSk7aWYoZC5fdHJhbnNmb3JtPUQsRSYmInN0cmluZyI9PXR5cGVvZiBFJiZDYSltPVEuc3R5bGUsbVtDYV09RSxtLmRpc3BsYXk9ImJsb2NrIixtLnBvc2l0aW9uPSJhYnNvbHV0ZSIsTy5ib2R5LmFwcGVuZENoaWxkKFEpLGw9UmEoUSxudWxsLCExKSxELnN2ZyYmKHM9RC54T3JpZ2luLHQ9RC55T3JpZ2luLGwueC09RC54T2Zmc2V0LGwueS09RC55T2Zmc2V0LChBLnRyYW5zZm9ybU9yaWdpbnx8QS5zdmdPcmlnaW4pJiYoRT17fSxMYShhLGhhKEEudHJhbnNmb3JtT3JpZ2luKSxFLEEuc3ZnT3JpZ2luLEEuc21vb3RoT3JpZ2luLCEwKSxzPUUueE9yaWdpbix0PUUueU9yaWdpbixsLngtPUUueE9mZnNldC1ELnhPZmZzZXQsbC55LT1FLnlPZmZzZXQtRC55T2Zmc2V0KSwoc3x8dCkmJih1PVFhKFEsITApLGwueC09cy0ocyp1WzBdK3QqdVsyXSksbC55LT10LShzKnVbMV0rdCp1WzNdKSkpLE8uYm9keS5yZW1vdmVDaGlsZChRKSxsLnBlcnNwZWN0aXZlfHwobC5wZXJzcGVjdGl2ZT1ELnBlcnNwZWN0aXZlKSxudWxsIT1BLnhQZXJjZW50JiYobC54UGVyY2VudD1qYShBLnhQZXJjZW50LEQueFBlcmNlbnQpKSxudWxsIT1BLnlQZXJjZW50JiYobC55UGVyY2VudD1qYShBLnlQZXJjZW50LEQueVBlcmNlbnQpKTtlbHNlIGlmKCJvYmplY3QiPT10eXBlb2YgQSl7aWYobD17c2NhbGVYOmphKG51bGwhPUEuc2NhbGVYP0Euc2NhbGVYOkEuc2NhbGUsRC5zY2FsZVgpLHNjYWxlWTpqYShudWxsIT1BLnNjYWxlWT9BLnNjYWxlWTpBLnNjYWxlLEQuc2NhbGVZKSxzY2FsZVo6amEoQS5zY2FsZVosRC5zY2FsZVopLHg6amEoQS54LEQueCkseTpqYShBLnksRC55KSx6OmphKEEueixELnopLHhQZXJjZW50OmphKEEueFBlcmNlbnQsRC54UGVyY2VudCkseVBlcmNlbnQ6amEoQS55UGVyY2VudCxELnlQZXJjZW50KSxwZXJzcGVjdGl2ZTpqYShBLnRyYW5zZm9ybVBlcnNwZWN0aXZlLEQucGVyc3BlY3RpdmUpfSxwPUEuZGlyZWN0aW9uYWxSb3RhdGlvbixudWxsIT1wKWlmKCJvYmplY3QiPT10eXBlb2YgcClmb3IobSBpbiBwKUFbbV09cFttXTtlbHNlIEEucm90YXRpb249cDsic3RyaW5nIj09dHlwZW9mIEEueCYmLTEhPT1BLnguaW5kZXhPZigiJSIpJiYobC54PTAsbC54UGVyY2VudD1qYShBLngsRC54UGVyY2VudCkpLCJzdHJpbmciPT10eXBlb2YgQS55JiYtMSE9PUEueS5pbmRleE9mKCIlIikmJihsLnk9MCxsLnlQZXJjZW50PWphKEEueSxELnlQZXJjZW50KSksbC5yb3RhdGlvbj1rYSgicm90YXRpb24iaW4gQT9BLnJvdGF0aW9uOiJzaG9ydFJvdGF0aW9uImluIEE/QS5zaG9ydFJvdGF0aW9uKyJfc2hvcnQiOiJyb3RhdGlvbloiaW4gQT9BLnJvdGF0aW9uWjpELnJvdGF0aW9uLEQucm90YXRpb24sInJvdGF0aW9uIixCKSxGYSYmKGwucm90YXRpb25YPWthKCJyb3RhdGlvblgiaW4gQT9BLnJvdGF0aW9uWDoic2hvcnRSb3RhdGlvblgiaW4gQT9BLnNob3J0Um90YXRpb25YKyJfc2hvcnQiOkQucm90YXRpb25YfHwwLEQucm90YXRpb25YLCJyb3RhdGlvblgiLEIpLGwucm90YXRpb25ZPWthKCJyb3RhdGlvblkiaW4gQT9BLnJvdGF0aW9uWToic2hvcnRSb3RhdGlvblkiaW4gQT9BLnNob3J0Um90YXRpb25ZKyJfc2hvcnQiOkQucm90YXRpb25ZfHwwLEQucm90YXRpb25ZLCJyb3RhdGlvblkiLEIpKSxsLnNrZXdYPWthKEEuc2tld1gsRC5za2V3WCksbC5za2V3WT1rYShBLnNrZXdZLEQuc2tld1kpfWZvcihGYSYmbnVsbCE9QS5mb3JjZTNEJiYoRC5mb3JjZTNEPUEuZm9yY2UzRCxvPSEwKSxELnNrZXdUeXBlPUEuc2tld1R5cGV8fEQuc2tld1R5cGV8fGcuZGVmYXVsdFNrZXdUeXBlLG49RC5mb3JjZTNEfHxELnp8fEQucm90YXRpb25YfHxELnJvdGF0aW9uWXx8bC56fHxsLnJvdGF0aW9uWHx8bC5yb3RhdGlvbll8fGwucGVyc3BlY3RpdmUsbnx8bnVsbD09QS5zY2FsZXx8KGwuc2NhbGVaPTEpOy0tej4tMTspdj1CYVt6XSxFPWxbdl0tRFt2XSwoRT55fHwteT5FfHxudWxsIT1BW3ZdfHxudWxsIT1NW3ZdKSYmKG89ITAsZj1uZXcgdGEoRCx2LERbdl0sRSxmKSx2IGluIEImJihmLmU9Qlt2XSksZi54czA9MCxmLnBsdWdpbj1oLGQuX292ZXJ3cml0ZVByb3BzLnB1c2goZi5uKSk7cmV0dXJuIEU9QS50cmFuc2Zvcm1PcmlnaW4sRC5zdmcmJihFfHxBLnN2Z09yaWdpbikmJihzPUQueE9mZnNldCx0PUQueU9mZnNldCxMYShhLGhhKEUpLGwsQS5zdmdPcmlnaW4sQS5zbW9vdGhPcmlnaW4pLGY9dWEoRCwieE9yaWdpbiIsKHc/RDpsKS54T3JpZ2luLGwueE9yaWdpbixmLEMpLGY9dWEoRCwieU9yaWdpbiIsKHc/RDpsKS55T3JpZ2luLGwueU9yaWdpbixmLEMpLChzIT09RC54T2Zmc2V0fHx0IT09RC55T2Zmc2V0KSYmKGY9dWEoRCwieE9mZnNldCIsdz9zOkQueE9mZnNldCxELnhPZmZzZXQsZixDKSxmPXVhKEQsInlPZmZzZXQiLHc/dDpELnlPZmZzZXQsRC55T2Zmc2V0LGYsQykpLEU9IjBweCAwcHgiKSwoRXx8RmEmJm4mJkQuek9yaWdpbikmJihDYT8obz0hMCx2PUVhLEU9KEV8fF8oYSx2LGUsITEsIjUwJSA1MCUiKSkrIiIsZj1uZXcgdGEoeCx2LDAsMCxmLC0xLEMpLGYuYj14W3ZdLGYucGx1Z2luPWgsRmE/KG09RC56T3JpZ2luLEU9RS5zcGxpdCgiICIpLEQuek9yaWdpbj0oRS5sZW5ndGg+MiYmKDA9PT1tfHwiMHB4IiE9PUVbMl0pP3BhcnNlRmxvYXQoRVsyXSk6bSl8fDAsZi54czA9Zi5lPUVbMF0rIiAiKyhFWzFdfHwiNTAlIikrIiAwcHgiLGY9bmV3IHRhKEQsInpPcmlnaW4iLDAsMCxmLC0xLGYubiksZi5iPW0sZi54czA9Zi5lPUQuek9yaWdpbik6Zi54czA9Zi5lPUUpOmhhKEUrIiIsRCkpLG8mJihkLl90cmFuc2Zvcm1UeXBlPUQuc3ZnJiZBYXx8IW4mJjMhPT10aGlzLl90cmFuc2Zvcm1UeXBlPzI6MyksaiYmKGlbY109aiksayYmKGkuc2NhbGU9ayksZn0scHJlZml4OiEwfSkseWEoImJveFNoYWRvdyIse2RlZmF1bHRWYWx1ZToiMHB4IDBweCAwcHggMHB4ICM5OTkiLHByZWZpeDohMCxjb2xvcjohMCxtdWx0aTohMCxrZXl3b3JkOiJpbnNldCJ9KSx5YSgiYm9yZGVyUmFkaXVzIix7ZGVmYXVsdFZhbHVlOiIwcHgiLHBhcnNlcjpmdW5jdGlvbihhLGIsYyxmLGcsaCl7Yj10aGlzLmZvcm1hdChiKTt2YXIgaSxqLGssbCxtLG4sbyxwLHEscixzLHQsdSx2LHcseCx5PVsiYm9yZGVyVG9wTGVmdFJhZGl1cyIsImJvcmRlclRvcFJpZ2h0UmFkaXVzIiwiYm9yZGVyQm90dG9tUmlnaHRSYWRpdXMiLCJib3JkZXJCb3R0b21MZWZ0UmFkaXVzIl0sej1hLnN0eWxlO2ZvcihxPXBhcnNlRmxvYXQoYS5vZmZzZXRXaWR0aCkscj1wYXJzZUZsb2F0KGEub2Zmc2V0SGVpZ2h0KSxpPWIuc3BsaXQoIiAiKSxqPTA7ajx5Lmxlbmd0aDtqKyspdGhpcy5wLmluZGV4T2YoImJvcmRlciIpJiYoeVtqXT1aKHlbal0pKSxtPWw9XyhhLHlbal0sZSwhMSwiMHB4IiksLTEhPT1tLmluZGV4T2YoIiAiKSYmKGw9bS5zcGxpdCgiICIpLG09bFswXSxsPWxbMV0pLG49az1pW2pdLG89cGFyc2VGbG9hdChtKSx0PW0uc3Vic3RyKChvKyIiKS5sZW5ndGgpLHU9Ij0iPT09bi5jaGFyQXQoMSksdT8ocD1wYXJzZUludChuLmNoYXJBdCgwKSsiMSIsMTApLG49bi5zdWJzdHIoMikscCo9cGFyc2VGbG9hdChuKSxzPW4uc3Vic3RyKChwKyIiKS5sZW5ndGgtKDA+cD8xOjApKXx8IiIpOihwPXBhcnNlRmxvYXQobikscz1uLnN1YnN0cigocCsiIikubGVuZ3RoKSksIiI9PT1zJiYocz1kW2NdfHx0KSxzIT09dCYmKHY9YWEoYSwiYm9yZGVyTGVmdCIsbyx0KSx3PWFhKGEsImJvcmRlclRvcCIsbyx0KSwiJSI9PT1zPyhtPXYvcSoxMDArIiUiLGw9dy9yKjEwMCsiJSIpOiJlbSI9PT1zPyh4PWFhKGEsImJvcmRlckxlZnQiLDEsImVtIiksbT12L3grImVtIixsPXcveCsiZW0iKToobT12KyJweCIsbD13KyJweCIpLHUmJihuPXBhcnNlRmxvYXQobSkrcCtzLGs9cGFyc2VGbG9hdChsKStwK3MpKSxnPXZhKHoseVtqXSxtKyIgIitsLG4rIiAiK2ssITEsIjBweCIsZyk7cmV0dXJuIGd9LHByZWZpeDohMCxmb3JtYXR0ZXI6cWEoIjBweCAwcHggMHB4IDBweCIsITEsITApfSkseWEoImJvcmRlckJvdHRvbUxlZnRSYWRpdXMsYm9yZGVyQm90dG9tUmlnaHRSYWRpdXMsYm9yZGVyVG9wTGVmdFJhZGl1cyxib3JkZXJUb3BSaWdodFJhZGl1cyIse2RlZmF1bHRWYWx1ZToiMHB4IixwYXJzZXI6ZnVuY3Rpb24oYSxiLGMsZCxmLGcpe3JldHVybiB2YShhLnN0eWxlLGMsdGhpcy5mb3JtYXQoXyhhLGMsZSwhMSwiMHB4IDBweCIpKSx0aGlzLmZvcm1hdChiKSwhMSwiMHB4IixmKX0scHJlZml4OiEwLGZvcm1hdHRlcjpxYSgiMHB4IDBweCIsITEsITApfSkseWEoImJhY2tncm91bmRQb3NpdGlvbiIse2RlZmF1bHRWYWx1ZToiMCAwIixwYXJzZXI6ZnVuY3Rpb24oYSxiLGMsZCxmLGcpe3ZhciBoLGksaixrLGwsbSxuPSJiYWNrZ3JvdW5kLXBvc2l0aW9uIixvPWV8fCQoYSxudWxsKSxxPXRoaXMuZm9ybWF0KChvP3A/by5nZXRQcm9wZXJ0eVZhbHVlKG4rIi14IikrIiAiK28uZ2V0UHJvcGVydHlWYWx1ZShuKyIteSIpOm8uZ2V0UHJvcGVydHlWYWx1ZShuKTphLmN1cnJlbnRTdHlsZS5iYWNrZ3JvdW5kUG9zaXRpb25YKyIgIithLmN1cnJlbnRTdHlsZS5iYWNrZ3JvdW5kUG9zaXRpb25ZKXx8IjAgMCIpLHI9dGhpcy5mb3JtYXQoYik7aWYoLTEhPT1xLmluZGV4T2YoIiUiKSE9KC0xIT09ci5pbmRleE9mKCIlIikpJiZyLnNwbGl0KCIsIikubGVuZ3RoPDImJihtPV8oYSwiYmFja2dyb3VuZEltYWdlIikucmVwbGFjZShELCIiKSxtJiYibm9uZSIhPT1tKSl7Zm9yKGg9cS5zcGxpdCgiICIpLGk9ci5zcGxpdCgiICIpLFIuc2V0QXR0cmlidXRlKCJzcmMiLG0pLGo9MjstLWo+LTE7KXE9aFtqXSxrPS0xIT09cS5pbmRleE9mKCIlIiksayE9PSgtMSE9PWlbal0uaW5kZXhPZigiJSIpKSYmKGw9MD09PWo/YS5vZmZzZXRXaWR0aC1SLndpZHRoOmEub2Zmc2V0SGVpZ2h0LVIuaGVpZ2h0LGhbal09az9wYXJzZUZsb2F0KHEpLzEwMCpsKyJweCI6cGFyc2VGbG9hdChxKS9sKjEwMCsiJSIpO3E9aC5qb2luKCIgIil9cmV0dXJuIHRoaXMucGFyc2VDb21wbGV4KGEuc3R5bGUscSxyLGYsZyl9LGZvcm1hdHRlcjpoYX0pLHlhKCJiYWNrZ3JvdW5kU2l6ZSIse2RlZmF1bHRWYWx1ZToiMCAwIixmb3JtYXR0ZXI6ZnVuY3Rpb24oYSl7cmV0dXJuIGErPSIiLGhhKC0xPT09YS5pbmRleE9mKCIgIik/YSsiICIrYTphKX19KSx5YSgicGVyc3BlY3RpdmUiLHtkZWZhdWx0VmFsdWU6IjBweCIscHJlZml4OiEwfSkseWEoInBlcnNwZWN0aXZlT3JpZ2luIix7ZGVmYXVsdFZhbHVlOiI1MCUgNTAlIixwcmVmaXg6ITB9KSx5YSgidHJhbnNmb3JtU3R5bGUiLHtwcmVmaXg6ITB9KSx5YSgiYmFja2ZhY2VWaXNpYmlsaXR5Iix7cHJlZml4OiEwfSkseWEoInVzZXJTZWxlY3QiLHtwcmVmaXg6ITB9KSx5YSgibWFyZ2luIix7cGFyc2VyOnJhKCJtYXJnaW5Ub3AsbWFyZ2luUmlnaHQsbWFyZ2luQm90dG9tLG1hcmdpbkxlZnQiKX0pLHlhKCJwYWRkaW5nIix7cGFyc2VyOnJhKCJwYWRkaW5nVG9wLHBhZGRpbmdSaWdodCxwYWRkaW5nQm90dG9tLHBhZGRpbmdMZWZ0Iil9KSx5YSgiY2xpcCIse2RlZmF1bHRWYWx1ZToicmVjdCgwcHgsMHB4LDBweCwwcHgpIixwYXJzZXI6ZnVuY3Rpb24oYSxiLGMsZCxmLGcpe3ZhciBoLGksajtyZXR1cm4gOT5wPyhpPWEuY3VycmVudFN0eWxlLGo9OD5wPyIgIjoiLCIsaD0icmVjdCgiK2kuY2xpcFRvcCtqK2kuY2xpcFJpZ2h0K2oraS5jbGlwQm90dG9tK2oraS5jbGlwTGVmdCsiKSIsDQpiPXRoaXMuZm9ybWF0KGIpLnNwbGl0KCIsIikuam9pbihqKSk6KGg9dGhpcy5mb3JtYXQoXyhhLHRoaXMucCxlLCExLHRoaXMuZGZsdCkpLGI9dGhpcy5mb3JtYXQoYikpLHRoaXMucGFyc2VDb21wbGV4KGEuc3R5bGUsaCxiLGYsZyl9fSkseWEoInRleHRTaGFkb3ciLHtkZWZhdWx0VmFsdWU6IjBweCAwcHggMHB4ICM5OTkiLGNvbG9yOiEwLG11bHRpOiEwfSkseWEoImF1dG9Sb3VuZCxzdHJpY3RVbml0cyIse3BhcnNlcjpmdW5jdGlvbihhLGIsYyxkLGUpe3JldHVybiBlfX0pLHlhKCJib3JkZXIiLHtkZWZhdWx0VmFsdWU6IjBweCBzb2xpZCAjMDAwIixwYXJzZXI6ZnVuY3Rpb24oYSxiLGMsZCxmLGcpe3ZhciBoPV8oYSwiYm9yZGVyVG9wV2lkdGgiLGUsITEsIjBweCIpLGk9dGhpcy5mb3JtYXQoYikuc3BsaXQoIiAiKSxqPWlbMF0ucmVwbGFjZSh3LCIiKTtyZXR1cm4icHgiIT09aiYmKGg9cGFyc2VGbG9hdChoKS9hYShhLCJib3JkZXJUb3BXaWR0aCIsMSxqKStqKSx0aGlzLnBhcnNlQ29tcGxleChhLnN0eWxlLHRoaXMuZm9ybWF0KGgrIiAiK18oYSwiYm9yZGVyVG9wU3R5bGUiLGUsITEsInNvbGlkIikrIiAiK18oYSwiYm9yZGVyVG9wQ29sb3IiLGUsITEsIiMwMDAiKSksaS5qb2luKCIgIiksZixnKX0sY29sb3I6ITAsZm9ybWF0dGVyOmZ1bmN0aW9uKGEpe3ZhciBiPWEuc3BsaXQoIiAiKTtyZXR1cm4gYlswXSsiICIrKGJbMV18fCJzb2xpZCIpKyIgIisoYS5tYXRjaChwYSl8fFsiIzAwMCJdKVswXX19KSx5YSgiYm9yZGVyV2lkdGgiLHtwYXJzZXI6cmEoImJvcmRlclRvcFdpZHRoLGJvcmRlclJpZ2h0V2lkdGgsYm9yZGVyQm90dG9tV2lkdGgsYm9yZGVyTGVmdFdpZHRoIil9KSx5YSgiZmxvYXQsY3NzRmxvYXQsc3R5bGVGbG9hdCIse3BhcnNlcjpmdW5jdGlvbihhLGIsYyxkLGUsZil7dmFyIGc9YS5zdHlsZSxoPSJjc3NGbG9hdCJpbiBnPyJjc3NGbG9hdCI6InN0eWxlRmxvYXQiO3JldHVybiBuZXcgdGEoZyxoLDAsMCxlLC0xLGMsITEsMCxnW2hdLGIpfX0pO3ZhciBVYT1mdW5jdGlvbihhKXt2YXIgYixjPXRoaXMudCxkPWMuZmlsdGVyfHxfKHRoaXMuZGF0YSwiZmlsdGVyIil8fCIiLGU9dGhpcy5zK3RoaXMuYyphfDA7MTAwPT09ZSYmKC0xPT09ZC5pbmRleE9mKCJhdHJpeCgiKSYmLTE9PT1kLmluZGV4T2YoInJhZGllbnQoIikmJi0xPT09ZC5pbmRleE9mKCJvYWRlcigiKT8oYy5yZW1vdmVBdHRyaWJ1dGUoImZpbHRlciIpLGI9IV8odGhpcy5kYXRhLCJmaWx0ZXIiKSk6KGMuZmlsdGVyPWQucmVwbGFjZSh6LCIiKSxiPSEwKSksYnx8KHRoaXMueG4xJiYoYy5maWx0ZXI9ZD1kfHwiYWxwaGEob3BhY2l0eT0iK2UrIikiKSwtMT09PWQuaW5kZXhPZigicGFjaXR5Iik/MD09PWUmJnRoaXMueG4xfHwoYy5maWx0ZXI9ZCsiIGFscGhhKG9wYWNpdHk9IitlKyIpIik6Yy5maWx0ZXI9ZC5yZXBsYWNlKHgsIm9wYWNpdHk9IitlKSl9O3lhKCJvcGFjaXR5LGFscGhhLGF1dG9BbHBoYSIse2RlZmF1bHRWYWx1ZToiMSIscGFyc2VyOmZ1bmN0aW9uKGEsYixjLGQsZixnKXt2YXIgaD1wYXJzZUZsb2F0KF8oYSwib3BhY2l0eSIsZSwhMSwiMSIpKSxpPWEuc3R5bGUsaj0iYXV0b0FscGhhIj09PWM7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBiJiYiPSI9PT1iLmNoYXJBdCgxKSYmKGI9KCItIj09PWIuY2hhckF0KDApPy0xOjEpKnBhcnNlRmxvYXQoYi5zdWJzdHIoMikpK2gpLGomJjE9PT1oJiYiaGlkZGVuIj09PV8oYSwidmlzaWJpbGl0eSIsZSkmJjAhPT1iJiYoaD0wKSxVP2Y9bmV3IHRhKGksIm9wYWNpdHkiLGgsYi1oLGYpOihmPW5ldyB0YShpLCJvcGFjaXR5IiwxMDAqaCwxMDAqKGItaCksZiksZi54bjE9aj8xOjAsaS56b29tPTEsZi50eXBlPTIsZi5iPSJhbHBoYShvcGFjaXR5PSIrZi5zKyIpIixmLmU9ImFscGhhKG9wYWNpdHk9IisoZi5zK2YuYykrIikiLGYuZGF0YT1hLGYucGx1Z2luPWcsZi5zZXRSYXRpbz1VYSksaiYmKGY9bmV3IHRhKGksInZpc2liaWxpdHkiLDAsMCxmLC0xLG51bGwsITEsMCwwIT09aD8iaW5oZXJpdCI6ImhpZGRlbiIsMD09PWI/ImhpZGRlbiI6ImluaGVyaXQiKSxmLnhzMD0iaW5oZXJpdCIsZC5fb3ZlcndyaXRlUHJvcHMucHVzaChmLm4pLGQuX292ZXJ3cml0ZVByb3BzLnB1c2goYykpLGZ9fSk7dmFyIFZhPWZ1bmN0aW9uKGEsYil7YiYmKGEucmVtb3ZlUHJvcGVydHk/KCgibXMiPT09Yi5zdWJzdHIoMCwyKXx8IndlYmtpdCI9PT1iLnN1YnN0cigwLDYpKSYmKGI9Ii0iK2IpLGEucmVtb3ZlUHJvcGVydHkoYi5yZXBsYWNlKEIsIi0kMSIpLnRvTG93ZXJDYXNlKCkpKTphLnJlbW92ZUF0dHJpYnV0ZShiKSl9LFdhPWZ1bmN0aW9uKGEpe2lmKHRoaXMudC5fZ3NDbGFzc1BUPXRoaXMsMT09PWF8fDA9PT1hKXt0aGlzLnQuc2V0QXR0cmlidXRlKCJjbGFzcyIsMD09PWE/dGhpcy5iOnRoaXMuZSk7Zm9yKHZhciBiPXRoaXMuZGF0YSxjPXRoaXMudC5zdHlsZTtiOyliLnY/Y1tiLnBdPWIudjpWYShjLGIucCksYj1iLl9uZXh0OzE9PT1hJiZ0aGlzLnQuX2dzQ2xhc3NQVD09PXRoaXMmJih0aGlzLnQuX2dzQ2xhc3NQVD1udWxsKX1lbHNlIHRoaXMudC5nZXRBdHRyaWJ1dGUoImNsYXNzIikhPT10aGlzLmUmJnRoaXMudC5zZXRBdHRyaWJ1dGUoImNsYXNzIix0aGlzLmUpfTt5YSgiY2xhc3NOYW1lIix7cGFyc2VyOmZ1bmN0aW9uKGEsYixkLGYsZyxoLGkpe3ZhciBqLGssbCxtLG4sbz1hLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiIscD1hLnN0eWxlLmNzc1RleHQ7aWYoZz1mLl9jbGFzc05hbWVQVD1uZXcgdGEoYSxkLDAsMCxnLDIpLGcuc2V0UmF0aW89V2EsZy5wcj0tMTEsYz0hMCxnLmI9byxrPWNhKGEsZSksbD1hLl9nc0NsYXNzUFQpe2ZvcihtPXt9LG49bC5kYXRhO247KW1bbi5wXT0xLG49bi5fbmV4dDtsLnNldFJhdGlvKDEpfXJldHVybiBhLl9nc0NsYXNzUFQ9ZyxnLmU9Ij0iIT09Yi5jaGFyQXQoMSk/YjpvLnJlcGxhY2UobmV3IFJlZ0V4cCgiKD86XFxzfF4pIitiLnN1YnN0cigyKSsiKD8hW1xcdy1dKSIpLCIiKSsoIisiPT09Yi5jaGFyQXQoMCk/IiAiK2Iuc3Vic3RyKDIpOiIiKSxhLnNldEF0dHJpYnV0ZSgiY2xhc3MiLGcuZSksaj1kYShhLGssY2EoYSksaSxtKSxhLnNldEF0dHJpYnV0ZSgiY2xhc3MiLG8pLGcuZGF0YT1qLmZpcnN0TVBULGEuc3R5bGUuY3NzVGV4dD1wLGc9Zy54Zmlyc3Q9Zi5wYXJzZShhLGouZGlmcyxnLGgpfX0pO3ZhciBYYT1mdW5jdGlvbihhKXtpZigoMT09PWF8fDA9PT1hKSYmdGhpcy5kYXRhLl90b3RhbFRpbWU9PT10aGlzLmRhdGEuX3RvdGFsRHVyYXRpb24mJiJpc0Zyb21TdGFydCIhPT10aGlzLmRhdGEuZGF0YSl7dmFyIGIsYyxkLGUsZixnPXRoaXMudC5zdHlsZSxoPWkudHJhbnNmb3JtLnBhcnNlO2lmKCJhbGwiPT09dGhpcy5lKWcuY3NzVGV4dD0iIixlPSEwO2Vsc2UgZm9yKGI9dGhpcy5lLnNwbGl0KCIgIikuam9pbigiIikuc3BsaXQoIiwiKSxkPWIubGVuZ3RoOy0tZD4tMTspYz1iW2RdLGlbY10mJihpW2NdLnBhcnNlPT09aD9lPSEwOmM9InRyYW5zZm9ybU9yaWdpbiI9PT1jP0VhOmlbY10ucCksVmEoZyxjKTtlJiYoVmEoZyxDYSksZj10aGlzLnQuX2dzVHJhbnNmb3JtLGYmJihmLnN2ZyYmKHRoaXMudC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtc3ZnLW9yaWdpbiIpLHRoaXMudC5yZW1vdmVBdHRyaWJ1dGUoInRyYW5zZm9ybSIpKSxkZWxldGUgdGhpcy50Ll9nc1RyYW5zZm9ybSkpfX07Zm9yKHlhKCJjbGVhclByb3BzIix7cGFyc2VyOmZ1bmN0aW9uKGEsYixkLGUsZil7cmV0dXJuIGY9bmV3IHRhKGEsZCwwLDAsZiwyKSxmLnNldFJhdGlvPVhhLGYuZT1iLGYucHI9LTEwLGYuZGF0YT1lLl90d2VlbixjPSEwLGZ9fSksaj0iYmV6aWVyLHRocm93UHJvcHMscGh5c2ljc1Byb3BzLHBoeXNpY3MyRCIuc3BsaXQoIiwiKSx3YT1qLmxlbmd0aDt3YS0tOyl6YShqW3dhXSk7aj1nLnByb3RvdHlwZSxqLl9maXJzdFBUPWouX2xhc3RQYXJzZWRUcmFuc2Zvcm09ai5fdHJhbnNmb3JtPW51bGwsai5fb25Jbml0VHdlZW49ZnVuY3Rpb24oYSxiLGgsail7aWYoIWEubm9kZVR5cGUpcmV0dXJuITE7dGhpcy5fdGFyZ2V0PXE9YSx0aGlzLl90d2Vlbj1oLHRoaXMuX3ZhcnM9YixyPWosaz1iLmF1dG9Sb3VuZCxjPSExLGQ9Yi5zdWZmaXhNYXB8fGcuc3VmZml4TWFwLGU9JChhLCIiKSxmPXRoaXMuX292ZXJ3cml0ZVByb3BzO3ZhciBuLHAscyx0LHUsdix3LHgseixBPWEuc3R5bGU7aWYobCYmIiI9PT1BLnpJbmRleCYmKG49XyhhLCJ6SW5kZXgiLGUpLCgiYXV0byI9PT1ufHwiIj09PW4pJiZ0aGlzLl9hZGRMYXp5U2V0KEEsInpJbmRleCIsMCkpLCJzdHJpbmciPT10eXBlb2YgYiYmKHQ9QS5jc3NUZXh0LG49Y2EoYSxlKSxBLmNzc1RleHQ9dCsiOyIrYixuPWRhKGEsbixjYShhKSkuZGlmcywhVSYmeS50ZXN0KGIpJiYobi5vcGFjaXR5PXBhcnNlRmxvYXQoUmVnRXhwLiQxKSksYj1uLEEuY3NzVGV4dD10KSxiLmNsYXNzTmFtZT90aGlzLl9maXJzdFBUPXA9aS5jbGFzc05hbWUucGFyc2UoYSxiLmNsYXNzTmFtZSwiY2xhc3NOYW1lIix0aGlzLG51bGwsbnVsbCxiKTp0aGlzLl9maXJzdFBUPXA9dGhpcy5wYXJzZShhLGIsbnVsbCksdGhpcy5fdHJhbnNmb3JtVHlwZSl7Zm9yKHo9Mz09PXRoaXMuX3RyYW5zZm9ybVR5cGUsQ2E/bSYmKGw9ITAsIiI9PT1BLnpJbmRleCYmKHc9XyhhLCJ6SW5kZXgiLGUpLCgiYXV0byI9PT13fHwiIj09PXcpJiZ0aGlzLl9hZGRMYXp5U2V0KEEsInpJbmRleCIsMCkpLG8mJnRoaXMuX2FkZExhenlTZXQoQSwiV2Via2l0QmFja2ZhY2VWaXNpYmlsaXR5Iix0aGlzLl92YXJzLldlYmtpdEJhY2tmYWNlVmlzaWJpbGl0eXx8KHo/InZpc2libGUiOiJoaWRkZW4iKSkpOkEuem9vbT0xLHM9cDtzJiZzLl9uZXh0OylzPXMuX25leHQ7eD1uZXcgdGEoYSwidHJhbnNmb3JtIiwwLDAsbnVsbCwyKSx0aGlzLl9saW5rQ1NTUCh4LG51bGwscykseC5zZXRSYXRpbz1DYT9UYTpTYSx4LmRhdGE9dGhpcy5fdHJhbnNmb3JtfHxSYShhLGUsITApLHgudHdlZW49aCx4LnByPS0xLGYucG9wKCl9aWYoYyl7Zm9yKDtwOyl7Zm9yKHY9cC5fbmV4dCxzPXQ7cyYmcy5wcj5wLnByOylzPXMuX25leHQ7KHAuX3ByZXY9cz9zLl9wcmV2OnUpP3AuX3ByZXYuX25leHQ9cDp0PXAsKHAuX25leHQ9cyk/cy5fcHJldj1wOnU9cCxwPXZ9dGhpcy5fZmlyc3RQVD10fXJldHVybiEwfSxqLnBhcnNlPWZ1bmN0aW9uKGEsYixjLGYpe3ZhciBnLGgsaixsLG0sbixvLHAscyx0LHU9YS5zdHlsZTtmb3IoZyBpbiBiKW49YltnXSwiZnVuY3Rpb24iPT10eXBlb2YgbiYmKG49bihyLHEpKSxoPWlbZ10saD9jPWgucGFyc2UoYSxuLGcsdGhpcyxjLGYsYik6KG09XyhhLGcsZSkrIiIscz0ic3RyaW5nIj09dHlwZW9mIG4sImNvbG9yIj09PWd8fCJmaWxsIj09PWd8fCJzdHJva2UiPT09Z3x8LTEhPT1nLmluZGV4T2YoIkNvbG9yIil8fHMmJkEudGVzdChuKT8oc3x8KG49bmEobiksbj0obi5sZW5ndGg+Mz8icmdiYSgiOiJyZ2IoIikrbi5qb2luKCIsIikrIikiKSxjPXZhKHUsZyxtLG4sITAsInRyYW5zcGFyZW50IixjLDAsZikpOnMmJkoudGVzdChuKT9jPXZhKHUsZyxtLG4sITAsbnVsbCxjLDAsZik6KGo9cGFyc2VGbG9hdChtKSxvPWp8fDA9PT1qP20uc3Vic3RyKChqKyIiKS5sZW5ndGgpOiIiLCgiIj09PW18fCJhdXRvIj09PW0pJiYoIndpZHRoIj09PWd8fCJoZWlnaHQiPT09Zz8oaj1nYShhLGcsZSksbz0icHgiKToibGVmdCI9PT1nfHwidG9wIj09PWc/KGo9YmEoYSxnLGUpLG89InB4Iik6KGo9Im9wYWNpdHkiIT09Zz8wOjEsbz0iIikpLHQ9cyYmIj0iPT09bi5jaGFyQXQoMSksdD8obD1wYXJzZUludChuLmNoYXJBdCgwKSsiMSIsMTApLG49bi5zdWJzdHIoMiksbCo9cGFyc2VGbG9hdChuKSxwPW4ucmVwbGFjZSh3LCIiKSk6KGw9cGFyc2VGbG9hdChuKSxwPXM/bi5yZXBsYWNlKHcsIiIpOiIiKSwiIj09PXAmJihwPWcgaW4gZD9kW2ddOm8pLG49bHx8MD09PWw/KHQ/bCtqOmwpK3A6YltnXSxvIT09cCYmIiIhPT1wJiYobHx8MD09PWwpJiZqJiYoaj1hYShhLGcsaixvKSwiJSI9PT1wPyhqLz1hYShhLGcsMTAwLCIlIikvMTAwLGIuc3RyaWN0VW5pdHMhPT0hMCYmKG09aisiJSIpKToiZW0iPT09cHx8InJlbSI9PT1wfHwidnciPT09cHx8InZoIj09PXA/ai89YWEoYSxnLDEscCk6InB4IiE9PXAmJihsPWFhKGEsZyxsLHApLHA9InB4IiksdCYmKGx8fDA9PT1sKSYmKG49bCtqK3ApKSx0JiYobCs9aiksIWomJjAhPT1qfHwhbCYmMCE9PWw/dm9pZCAwIT09dVtnXSYmKG58fG4rIiIhPSJOYU4iJiZudWxsIT1uKT8oYz1uZXcgdGEodSxnLGx8fGp8fDAsMCxjLC0xLGcsITEsMCxtLG4pLGMueHMwPSJub25lIiE9PW58fCJkaXNwbGF5IiE9PWcmJi0xPT09Zy5pbmRleE9mKCJTdHlsZSIpP246bSk6VygiaW52YWxpZCAiK2crIiB0d2VlbiB2YWx1ZTogIitiW2ddKTooYz1uZXcgdGEodSxnLGosbC1qLGMsMCxnLGshPT0hMSYmKCJweCI9PT1wfHwiekluZGV4Ij09PWcpLDAsbSxuKSxjLnhzMD1wKSkpLGYmJmMmJiFjLnBsdWdpbiYmKGMucGx1Z2luPWYpO3JldHVybiBjfSxqLnNldFJhdGlvPWZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlPXRoaXMuX2ZpcnN0UFQsZj0xZS02O2lmKDEhPT1hfHx0aGlzLl90d2Vlbi5fdGltZSE9PXRoaXMuX3R3ZWVuLl9kdXJhdGlvbiYmMCE9PXRoaXMuX3R3ZWVuLl90aW1lKWlmKGF8fHRoaXMuX3R3ZWVuLl90aW1lIT09dGhpcy5fdHdlZW4uX2R1cmF0aW9uJiYwIT09dGhpcy5fdHdlZW4uX3RpbWV8fHRoaXMuX3R3ZWVuLl9yYXdQcmV2VGltZT09PS0xZS02KWZvcig7ZTspe2lmKGI9ZS5jKmErZS5zLGUucj9iPU1hdGgucm91bmQoYik6Zj5iJiZiPi1mJiYoYj0wKSxlLnR5cGUpaWYoMT09PWUudHlwZSlpZihkPWUubCwyPT09ZCllLnRbZS5wXT1lLnhzMCtiK2UueHMxK2UueG4xK2UueHMyO2Vsc2UgaWYoMz09PWQpZS50W2UucF09ZS54czArYitlLnhzMStlLnhuMStlLnhzMitlLnhuMitlLnhzMztlbHNlIGlmKDQ9PT1kKWUudFtlLnBdPWUueHMwK2IrZS54czErZS54bjErZS54czIrZS54bjIrZS54czMrZS54bjMrZS54czQ7ZWxzZSBpZig1PT09ZCllLnRbZS5wXT1lLnhzMCtiK2UueHMxK2UueG4xK2UueHMyK2UueG4yK2UueHMzK2UueG4zK2UueHM0K2UueG40K2UueHM1O2Vsc2V7Zm9yKGM9ZS54czArYitlLnhzMSxkPTE7ZDxlLmw7ZCsrKWMrPWVbInhuIitkXStlWyJ4cyIrKGQrMSldO2UudFtlLnBdPWN9ZWxzZS0xPT09ZS50eXBlP2UudFtlLnBdPWUueHMwOmUuc2V0UmF0aW8mJmUuc2V0UmF0aW8oYSk7ZWxzZSBlLnRbZS5wXT1iK2UueHMwO2U9ZS5fbmV4dH1lbHNlIGZvcig7ZTspMiE9PWUudHlwZT9lLnRbZS5wXT1lLmI6ZS5zZXRSYXRpbyhhKSxlPWUuX25leHQ7ZWxzZSBmb3IoO2U7KXtpZigyIT09ZS50eXBlKWlmKGUuciYmLTEhPT1lLnR5cGUpaWYoYj1NYXRoLnJvdW5kKGUucytlLmMpLGUudHlwZSl7aWYoMT09PWUudHlwZSl7Zm9yKGQ9ZS5sLGM9ZS54czArYitlLnhzMSxkPTE7ZDxlLmw7ZCsrKWMrPWVbInhuIitkXStlWyJ4cyIrKGQrMSldO2UudFtlLnBdPWN9fWVsc2UgZS50W2UucF09YitlLnhzMDtlbHNlIGUudFtlLnBdPWUuZTtlbHNlIGUuc2V0UmF0aW8oYSk7ZT1lLl9uZXh0fX0sai5fZW5hYmxlVHJhbnNmb3Jtcz1mdW5jdGlvbihhKXt0aGlzLl90cmFuc2Zvcm09dGhpcy5fdHJhbnNmb3JtfHxSYSh0aGlzLl90YXJnZXQsZSwhMCksdGhpcy5fdHJhbnNmb3JtVHlwZT10aGlzLl90cmFuc2Zvcm0uc3ZnJiZBYXx8IWEmJjMhPT10aGlzLl90cmFuc2Zvcm1UeXBlPzI6M307dmFyIFlhPWZ1bmN0aW9uKGEpe3RoaXMudFt0aGlzLnBdPXRoaXMuZSx0aGlzLmRhdGEuX2xpbmtDU1NQKHRoaXMsdGhpcy5fbmV4dCxudWxsLCEwKX07ai5fYWRkTGF6eVNldD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5fZmlyc3RQVD1uZXcgdGEoYSxiLDAsMCx0aGlzLl9maXJzdFBULDIpO2QuZT1jLGQuc2V0UmF0aW89WWEsZC5kYXRhPXRoaXN9LGouX2xpbmtDU1NQPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBhJiYoYiYmKGIuX3ByZXY9YSksYS5fbmV4dCYmKGEuX25leHQuX3ByZXY9YS5fcHJldiksYS5fcHJldj9hLl9wcmV2Ll9uZXh0PWEuX25leHQ6dGhpcy5fZmlyc3RQVD09PWEmJih0aGlzLl9maXJzdFBUPWEuX25leHQsZD0hMCksYz9jLl9uZXh0PWE6ZHx8bnVsbCE9PXRoaXMuX2ZpcnN0UFR8fCh0aGlzLl9maXJzdFBUPWEpLGEuX25leHQ9YixhLl9wcmV2PWMpLGF9LGouX21vZD1mdW5jdGlvbihhKXtmb3IodmFyIGI9dGhpcy5fZmlyc3RQVDtiOykiZnVuY3Rpb24iPT10eXBlb2YgYVtiLnBdJiZhW2IucF09PT1NYXRoLnJvdW5kJiYoYi5yPTEpLGI9Yi5fbmV4dH0sai5fa2lsbD1mdW5jdGlvbihiKXt2YXIgYyxkLGUsZj1iO2lmKGIuYXV0b0FscGhhfHxiLmFscGhhKXtmPXt9O2ZvcihkIGluIGIpZltkXT1iW2RdO2Yub3BhY2l0eT0xLGYuYXV0b0FscGhhJiYoZi52aXNpYmlsaXR5PTEpfWZvcihiLmNsYXNzTmFtZSYmKGM9dGhpcy5fY2xhc3NOYW1lUFQpJiYoZT1jLnhmaXJzdCxlJiZlLl9wcmV2P3RoaXMuX2xpbmtDU1NQKGUuX3ByZXYsYy5fbmV4dCxlLl9wcmV2Ll9wcmV2KTplPT09dGhpcy5fZmlyc3RQVCYmKHRoaXMuX2ZpcnN0UFQ9Yy5fbmV4dCksYy5fbmV4dCYmdGhpcy5fbGlua0NTU1AoYy5fbmV4dCxjLl9uZXh0Ll9uZXh0LGUuX3ByZXYpLHRoaXMuX2NsYXNzTmFtZVBUPW51bGwpLGM9dGhpcy5fZmlyc3RQVDtjOyljLnBsdWdpbiYmYy5wbHVnaW4hPT1kJiZjLnBsdWdpbi5fa2lsbCYmKGMucGx1Z2luLl9raWxsKGIpLGQ9Yy5wbHVnaW4pLGM9Yy5fbmV4dDtyZXR1cm4gYS5wcm90b3R5cGUuX2tpbGwuY2FsbCh0aGlzLGYpfTt2YXIgWmE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnO2lmKGEuc2xpY2UpZm9yKGU9YS5sZW5ndGg7LS1lPi0xOylaYShhW2VdLGIsYyk7ZWxzZSBmb3IoZD1hLmNoaWxkTm9kZXMsZT1kLmxlbmd0aDstLWU+LTE7KWY9ZFtlXSxnPWYudHlwZSxmLnN0eWxlJiYoYi5wdXNoKGNhKGYpKSxjJiZjLnB1c2goZikpLDEhPT1nJiY5IT09ZyYmMTEhPT1nfHwhZi5jaGlsZE5vZGVzLmxlbmd0aHx8WmEoZixiLGMpfTtyZXR1cm4gZy5jYXNjYWRlVG89ZnVuY3Rpb24oYSxjLGQpe3ZhciBlLGYsZyxoLGk9Yi50byhhLGMsZCksaj1baV0saz1bXSxsPVtdLG09W10sbj1iLl9pbnRlcm5hbHMucmVzZXJ2ZWRQcm9wcztmb3IoYT1pLl90YXJnZXRzfHxpLnRhcmdldCxaYShhLGssbSksaS5yZW5kZXIoYywhMCwhMCksWmEoYSxsKSxpLnJlbmRlcigwLCEwLCEwKSxpLl9lbmFibGVkKCEwKSxlPW0ubGVuZ3RoOy0tZT4tMTspaWYoZj1kYShtW2VdLGtbZV0sbFtlXSksZi5maXJzdE1QVCl7Zj1mLmRpZnM7Zm9yKGcgaW4gZCluW2ddJiYoZltnXT1kW2ddKTtoPXt9O2ZvcihnIGluIGYpaFtnXT1rW2VdW2ddO2oucHVzaChiLmZyb21UbyhtW2VdLGMsaCxmKSl9cmV0dXJuIGp9LGEuYWN0aXZhdGUoW2ddKSxnfSwhMCl9KSxfZ3NTY29wZS5fZ3NEZWZpbmUmJl9nc1Njb3BlLl9nc1F1ZXVlLnBvcCgpKCksZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO3ZhciBiPWZ1bmN0aW9uKCl7cmV0dXJuKF9nc1Njb3BlLkdyZWVuU29ja0dsb2JhbHN8fF9nc1Njb3BlKVthXX07ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoWyJUd2VlbkxpdGUiXSxiKToidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHMmJihyZXF1aXJlKCIuLi9Ud2VlbkxpdGUuanMiKSxtb2R1bGUuZXhwb3J0cz1iKCkpfSgiQ1NTUGx1Z2luIik7DQoNCg0KLyogU1BMSVQgVEVYVCBVVElMICovDQovKiENCiAqIFZFUlNJT046IDAuNS42DQogKiBEQVRFOiAyMDE3LTAxLTE3DQogKiBVUERBVEVTIEFORCBET0NTIEFUOiBodHRwOi8vZ3JlZW5zb2NrLmNvbQ0KICoNCiAqIEBsaWNlbnNlIENvcHlyaWdodCAoYykgMjAwOC0yMDE3LCBHcmVlblNvY2suIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQogKiBTcGxpdFRleHQgaXMgYSBDbHViIEdyZWVuU29jayBtZW1iZXJzaGlwIGJlbmVmaXQ7IFlvdSBtdXN0IGhhdmUgYSB2YWxpZCBtZW1iZXJzaGlwIHRvIHVzZQ0KICogdGhpcyBjb2RlIHdpdGhvdXQgdmlvbGF0aW5nIHRoZSB0ZXJtcyBvZiB1c2UuIFZpc2l0IGh0dHA6Ly9ncmVlbnNvY2suY29tL2NsdWIvIHRvIHNpZ24gdXAgb3IgZ2V0IG1vcmUgZGV0YWlscy4NCiAqIFRoaXMgd29yayBpcyBzdWJqZWN0IHRvIHRoZSBzb2Z0d2FyZSBhZ3JlZW1lbnQgdGhhdCB3YXMgaXNzdWVkIHdpdGggeW91ciBtZW1iZXJzaGlwLg0KICogDQogKiBAYXV0aG9yOiBKYWNrIERveWxlLCBqYWNrQGdyZWVuc29jay5jb20NCiAqLw0KdmFyIF9nc1Njb3BlPSJ1bmRlZmluZWQiIT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cyYmInVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOnRoaXN8fHdpbmRvdzshZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO3ZhciBiPWEuR3JlZW5Tb2NrR2xvYmFsc3x8YSxjPWZ1bmN0aW9uKGEpe3ZhciBjLGQ9YS5zcGxpdCgiLiIpLGU9Yjtmb3IoYz0wO2M8ZC5sZW5ndGg7YysrKWVbZFtjXV09ZT1lW2RbY11dfHx7fTtyZXR1cm4gZX0sZD1jKCJjb20uZ3JlZW5zb2NrLnV0aWxzIiksZT1mdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVUeXBlLGM9IiI7aWYoMT09PWJ8fDk9PT1ifHwxMT09PWIpe2lmKCJzdHJpbmciPT10eXBlb2YgYS50ZXh0Q29udGVudClyZXR1cm4gYS50ZXh0Q29udGVudDtmb3IoYT1hLmZpcnN0Q2hpbGQ7YTthPWEubmV4dFNpYmxpbmcpYys9ZShhKX1lbHNlIGlmKDM9PT1ifHw0PT09YilyZXR1cm4gYS5ub2RlVmFsdWU7cmV0dXJuIGN9LGY9ZG9jdW1lbnQsZz1mLmRlZmF1bHRWaWV3P2YuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZTpmdW5jdGlvbigpe30saD0vKFtBLVpdKS9nLGk9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU7cmV0dXJuKGM9Y3x8ZyhhLG51bGwpKT8oYT1jLmdldFByb3BlcnR5VmFsdWUoYi5yZXBsYWNlKGgsIi0kMSIpLnRvTG93ZXJDYXNlKCkpLGU9YXx8Yy5sZW5ndGg/YTpjW2JdKTphLmN1cnJlbnRTdHlsZSYmKGM9YS5jdXJyZW50U3R5bGUsZT1jW2JdKSxkP2U6cGFyc2VJbnQoZSwxMCl8fDB9LGo9ZnVuY3Rpb24oYSl7cmV0dXJuIGEubGVuZ3RoJiZhWzBdJiYoYVswXS5ub2RlVHlwZSYmYVswXS5zdHlsZSYmIWEubm9kZVR5cGV8fGFbMF0ubGVuZ3RoJiZhWzBdWzBdKT8hMDohMX0saz1mdW5jdGlvbihhKXt2YXIgYixjLGQsZT1bXSxmPWEubGVuZ3RoO2ZvcihiPTA7Zj5iO2IrKylpZihjPWFbYl0saihjKSlmb3IoZD1jLmxlbmd0aCxkPTA7ZDxjLmxlbmd0aDtkKyspZS5wdXNoKGNbZF0pO2Vsc2UgZS5wdXNoKGMpO3JldHVybiBlfSxsPS8oPzpccnxcbnxcdFx0KS9nLG09Lyg/OlxzXHMrKS9nLG49NTUyOTYsbz01NjMxOSxwPTU2MzIwLHE9MTI3NDYyLHI9MTI3NDg3LHM9MTI3OTk1LHQ9MTI3OTk5LHU9ZnVuY3Rpb24oYSl7cmV0dXJuKGEuY2hhckNvZGVBdCgwKS1uPDwxMCkrKGEuY2hhckNvZGVBdCgxKS1wKSs2NTUzNn0sdj1mLmFsbCYmIWYuYWRkRXZlbnRMaXN0ZW5lcix3PSIgc3R5bGU9J3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrOyIrKHY/IipkaXNwbGF5OmlubGluZTsqem9vbToxOyciOiInIikseD1mdW5jdGlvbihhLGIpe2E9YXx8IiI7dmFyIGM9LTEhPT1hLmluZGV4T2YoIisrIiksZD0xO3JldHVybiBjJiYoYT1hLnNwbGl0KCIrKyIpLmpvaW4oIiIpKSxmdW5jdGlvbigpe3JldHVybiI8IitiK3crKGE/IiBjbGFzcz0nIithKyhjP2QrKzoiIikrIic+IjoiPiIpfX0seT1kLlNwbGl0VGV4dD1iLlNwbGl0VGV4dD1mdW5jdGlvbihhLGIpe2lmKCJzdHJpbmciPT10eXBlb2YgYSYmKGE9eS5zZWxlY3RvcihhKSksIWEpdGhyb3ciY2Fubm90IHNwbGl0IGEgbnVsbCBlbGVtZW50LiI7dGhpcy5lbGVtZW50cz1qKGEpP2soYSk6W2FdLHRoaXMuY2hhcnM9W10sdGhpcy53b3Jkcz1bXSx0aGlzLmxpbmVzPVtdLHRoaXMuX29yaWdpbmFscz1bXSx0aGlzLnZhcnM9Ynx8e30sdGhpcy5zcGxpdChiKX0sej1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5ub2RlVHlwZTtpZigxPT09ZHx8OT09PWR8fDExPT09ZClmb3IoYT1hLmZpcnN0Q2hpbGQ7YTthPWEubmV4dFNpYmxpbmcpeihhLGIsYyk7ZWxzZSgzPT09ZHx8ND09PWQpJiYoYS5ub2RlVmFsdWU9YS5ub2RlVmFsdWUuc3BsaXQoYikuam9pbihjKSl9LEE9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9Yi5sZW5ndGg7LS1jPi0xOylhLnB1c2goYltjXSl9LEI9ZnVuY3Rpb24oYSl7dmFyIGIsYz1bXSxkPWEubGVuZ3RoO2ZvcihiPTA7YiE9PWQ7Yy5wdXNoKGFbYisrXSkpO3JldHVybiBjfSxDPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ7YSYmYSE9PWI7KXtpZihkPWEuX25leHR8fGEubmV4dFNpYmxpbmcpcmV0dXJuIGQudGV4dENvbnRlbnQuY2hhckF0KDApPT09YzthPWEucGFyZW50Tm9kZXx8YS5fcGFyZW50fXJldHVybiExfSxEPWZ1bmN0aW9uKGEpe3ZhciBiLGMsZD1CKGEuY2hpbGROb2RlcyksZT1kLmxlbmd0aDtmb3IoYj0wO2U+YjtiKyspYz1kW2JdLGMuX2lzU3BsaXQ/RChjKTooYiYmMz09PWMucHJldmlvdXNTaWJsaW5nLm5vZGVUeXBlP2MucHJldmlvdXNTaWJsaW5nLm5vZGVWYWx1ZSs9Mz09PWMubm9kZVR5cGU/Yy5ub2RlVmFsdWU6Yy5maXJzdENoaWxkLm5vZGVWYWx1ZTozIT09Yy5ub2RlVHlwZSYmYS5pbnNlcnRCZWZvcmUoYy5maXJzdENoaWxkLGMpLGEucmVtb3ZlQ2hpbGQoYykpfSxFPWZ1bmN0aW9uKGEsYixjLGQsZSxoLGope3ZhciBrLGwsbSxuLG8scCxxLHIscyx0LHUsdix3PWcoYSkseD1pKGEsInBhZGRpbmdMZWZ0Iix3KSx5PS05OTksQj1pKGEsImJvcmRlckJvdHRvbVdpZHRoIix3KStpKGEsImJvcmRlclRvcFdpZHRoIix3KSxFPWkoYSwiYm9yZGVyTGVmdFdpZHRoIix3KStpKGEsImJvcmRlclJpZ2h0V2lkdGgiLHcpLEY9aShhLCJwYWRkaW5nVG9wIix3KStpKGEsInBhZGRpbmdCb3R0b20iLHcpLEc9aShhLCJwYWRkaW5nTGVmdCIsdykraShhLCJwYWRkaW5nUmlnaHQiLHcpLEg9LjIqaShhLCJmb250U2l6ZSIpLEk9aShhLCJ0ZXh0QWxpZ24iLHcsITApLEo9W10sSz1bXSxMPVtdLE09Yi53b3JkRGVsaW1pdGVyfHwiICIsTj1iLnNwYW4/InNwYW4iOiJkaXYiLE89Yi50eXBlfHxiLnNwbGl0fHwiY2hhcnMsd29yZHMsbGluZXMiLFA9ZSYmLTEhPT1PLmluZGV4T2YoImxpbmVzIik/W106bnVsbCxRPS0xIT09Ty5pbmRleE9mKCJ3b3JkcyIpLFI9LTEhPT1PLmluZGV4T2YoImNoYXJzIiksUz0iYWJzb2x1dGUiPT09Yi5wb3NpdGlvbnx8Yi5hYnNvbHV0ZT09PSEwLFQ9Yi5saW5lc0NsYXNzLFU9LTEhPT0oVHx8IiIpLmluZGV4T2YoIisrIiksVj1bXTtmb3IoUCYmMT09PWEuY2hpbGRyZW4ubGVuZ3RoJiZhLmNoaWxkcmVuWzBdLl9pc1NwbGl0JiYoYT1hLmNoaWxkcmVuWzBdKSxVJiYoVD1ULnNwbGl0KCIrKyIpLmpvaW4oIiIpKSxsPWEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSxtPWwubGVuZ3RoLG89W10saz0wO20+aztrKyspb1trXT1sW2tdO2lmKFB8fFMpZm9yKGs9MDttPms7aysrKW49b1trXSxwPW4ucGFyZW50Tm9kZT09PWEsKHB8fFN8fFImJiFRKSYmKHY9bi5vZmZzZXRUb3AsUCYmcCYmTWF0aC5hYnModi15KT5IJiYiQlIiIT09bi5ub2RlTmFtZSYmKHE9W10sUC5wdXNoKHEpLHk9diksUyYmKG4uX3g9bi5vZmZzZXRMZWZ0LG4uX3k9dixuLl93PW4ub2Zmc2V0V2lkdGgsbi5faD1uLm9mZnNldEhlaWdodCksUCYmKChuLl9pc1NwbGl0JiZwfHwhUiYmcHx8USYmcHx8IVEmJm4ucGFyZW50Tm9kZS5wYXJlbnROb2RlPT09YSYmIW4ucGFyZW50Tm9kZS5faXNTcGxpdCkmJihxLnB1c2gobiksbi5feC09eCxDKG4sYSxNKSYmKG4uX3dvcmRFbmQ9ITApKSwiQlIiPT09bi5ub2RlTmFtZSYmbi5uZXh0U2libGluZyYmIkJSIj09PW4ubmV4dFNpYmxpbmcubm9kZU5hbWUmJlAucHVzaChbXSkpKTtmb3Ioaz0wO20+aztrKyspbj1vW2tdLHA9bi5wYXJlbnROb2RlPT09YSwiQlIiIT09bi5ub2RlTmFtZT8oUyYmKHM9bi5zdHlsZSxRfHxwfHwobi5feCs9bi5wYXJlbnROb2RlLl94LG4uX3krPW4ucGFyZW50Tm9kZS5feSkscy5sZWZ0PW4uX3grInB4IixzLnRvcD1uLl95KyJweCIscy5wb3NpdGlvbj0iYWJzb2x1dGUiLHMuZGlzcGxheT0iYmxvY2siLHMud2lkdGg9bi5fdysxKyJweCIscy5oZWlnaHQ9bi5faCsicHgiKSwhUSYmUj9uLl9pc1NwbGl0PyhuLl9uZXh0PW4ubmV4dFNpYmxpbmcsbi5wYXJlbnROb2RlLmFwcGVuZENoaWxkKG4pKTpuLnBhcmVudE5vZGUuX2lzU3BsaXQ/KG4uX3BhcmVudD1uLnBhcmVudE5vZGUsIW4ucHJldmlvdXNTaWJsaW5nJiZuLmZpcnN0Q2hpbGQmJihuLmZpcnN0Q2hpbGQuX2lzRmlyc3Q9ITApLG4ubmV4dFNpYmxpbmcmJiIgIj09PW4ubmV4dFNpYmxpbmcudGV4dENvbnRlbnQmJiFuLm5leHRTaWJsaW5nLm5leHRTaWJsaW5nJiZWLnB1c2gobi5uZXh0U2libGluZyksbi5fbmV4dD1uLm5leHRTaWJsaW5nJiZuLm5leHRTaWJsaW5nLl9pc0ZpcnN0P251bGw6bi5uZXh0U2libGluZyxuLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobiksby5zcGxpY2Uoay0tLDEpLG0tLSk6cHx8KHY9IW4ubmV4dFNpYmxpbmcmJkMobi5wYXJlbnROb2RlLGEsTSksbi5wYXJlbnROb2RlLl9wYXJlbnQmJm4ucGFyZW50Tm9kZS5fcGFyZW50LmFwcGVuZENoaWxkKG4pLHYmJm4ucGFyZW50Tm9kZS5hcHBlbmRDaGlsZChmLmNyZWF0ZVRleHROb2RlKCIgIikpLGIuc3BhbiYmKG4uc3R5bGUuZGlzcGxheT0iaW5saW5lIiksSi5wdXNoKG4pKTpuLnBhcmVudE5vZGUuX2lzU3BsaXQmJiFuLl9pc1NwbGl0JiYiIiE9PW4uaW5uZXJIVE1MP0sucHVzaChuKTpSJiYhbi5faXNTcGxpdCYmKGIuc3BhbiYmKG4uc3R5bGUuZGlzcGxheT0iaW5saW5lIiksSi5wdXNoKG4pKSk6UHx8Uz8obi5wYXJlbnROb2RlJiZuLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobiksby5zcGxpY2Uoay0tLDEpLG0tLSk6UXx8YS5hcHBlbmRDaGlsZChuKTtmb3Ioaz1WLmxlbmd0aDstLWs+LTE7KVZba10ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChWW2tdKTtpZihQKXtmb3IoUyYmKHQ9Zi5jcmVhdGVFbGVtZW50KE4pLGEuYXBwZW5kQ2hpbGQodCksdT10Lm9mZnNldFdpZHRoKyJweCIsdj10Lm9mZnNldFBhcmVudD09PWE/MDphLm9mZnNldExlZnQsYS5yZW1vdmVDaGlsZCh0KSkscz1hLnN0eWxlLmNzc1RleHQsYS5zdHlsZS5jc3NUZXh0PSJkaXNwbGF5Om5vbmU7IjthLmZpcnN0Q2hpbGQ7KWEucmVtb3ZlQ2hpbGQoYS5maXJzdENoaWxkKTtmb3Iocj0iICI9PT1NJiYoIVN8fCFRJiYhUiksaz0wO2s8UC5sZW5ndGg7aysrKXtmb3IocT1QW2tdLHQ9Zi5jcmVhdGVFbGVtZW50KE4pLHQuc3R5bGUuY3NzVGV4dD0iZGlzcGxheTpibG9jazt0ZXh0LWFsaWduOiIrSSsiO3Bvc2l0aW9uOiIrKFM/ImFic29sdXRlOyI6InJlbGF0aXZlOyIpLFQmJih0LmNsYXNzTmFtZT1UKyhVP2srMToiIikpLEwucHVzaCh0KSxtPXEubGVuZ3RoLGw9MDttPmw7bCsrKSJCUiIhPT1xW2xdLm5vZGVOYW1lJiYobj1xW2xdLHQuYXBwZW5kQ2hpbGQobiksciYmbi5fd29yZEVuZCYmdC5hcHBlbmRDaGlsZChmLmNyZWF0ZVRleHROb2RlKCIgIikpLFMmJigwPT09bCYmKHQuc3R5bGUudG9wPW4uX3krInB4Iix0LnN0eWxlLmxlZnQ9eCt2KyJweCIpLG4uc3R5bGUudG9wPSIwcHgiLHYmJihuLnN0eWxlLmxlZnQ9bi5feC12KyJweCIpKSk7MD09PW0/dC5pbm5lckhUTUw9IiZuYnNwOyI6UXx8Unx8KEQodCkseih0LFN0cmluZy5mcm9tQ2hhckNvZGUoMTYwKSwiICIpKSxTJiYodC5zdHlsZS53aWR0aD11LHQuc3R5bGUuaGVpZ2h0PW4uX2grInB4IiksYS5hcHBlbmRDaGlsZCh0KX1hLnN0eWxlLmNzc1RleHQ9c31TJiYoaj5hLmNsaWVudEhlaWdodCYmKGEuc3R5bGUuaGVpZ2h0PWotRisicHgiLGEuY2xpZW50SGVpZ2h0PGomJihhLnN0eWxlLmhlaWdodD1qK0IrInB4IikpLGg+YS5jbGllbnRXaWR0aCYmKGEuc3R5bGUud2lkdGg9aC1HKyJweCIsYS5jbGllbnRXaWR0aDxoJiYoYS5zdHlsZS53aWR0aD1oK0UrInB4IikpKSxBKGMsSiksQShkLEspLEEoZSxMKX0sRj1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZyxoLGksaixrLHAsdix3LHgseT1iLnNwYW4/InNwYW4iOiJkaXYiLEE9Yi50eXBlfHxiLnNwbGl0fHwiY2hhcnMsd29yZHMsbGluZXMiLEI9KC0xIT09QS5pbmRleE9mKCJ3b3JkcyIpLC0xIT09QS5pbmRleE9mKCJjaGFycyIpKSxDPSJhYnNvbHV0ZSI9PT1iLnBvc2l0aW9ufHxiLmFic29sdXRlPT09ITAsRD1iLndvcmREZWxpbWl0ZXJ8fCIgIixFPSIgIiE9PUQ/IiI6Qz8iJiMxNzM7ICI6IiAiLEY9Yi5zcGFuPyI8L3NwYW4+IjoiPC9kaXY+IixHPSEwLEg9Zi5jcmVhdGVFbGVtZW50KCJkaXYiKSxJPWEucGFyZW50Tm9kZTtmb3IoSS5pbnNlcnRCZWZvcmUoSCxhKSxILnRleHRDb250ZW50PWEubm9kZVZhbHVlLEkucmVtb3ZlQ2hpbGQoYSksYT1ILGc9ZShhKSx2PS0xIT09Zy5pbmRleE9mKCI8IiksYi5yZWR1Y2VXaGl0ZVNwYWNlIT09ITEmJihnPWcucmVwbGFjZShtLCIgIikucmVwbGFjZShsLCIiKSksdiYmKGc9Zy5zcGxpdCgiPCIpLmpvaW4oInt7TFR9fSIpKSxrPWcubGVuZ3RoLGg9KCIgIj09PWcuY2hhckF0KDApP0U6IiIpK2MoKSxpPTA7az5pO2krKylpZihwPWcuY2hhckF0KGkpLHA9PT1EJiZnLmNoYXJBdChpLTEpIT09RCYmaSl7Zm9yKGgrPUc/RjoiIixHPSExO2cuY2hhckF0KGkrMSk9PT1EOyloKz1FLGkrKztpPT09ay0xP2grPUU6IikiIT09Zy5jaGFyQXQoaSsxKSYmKGgrPUUrYygpLEc9ITApfWVsc2UieyI9PT1wJiYie3tMVH19Ij09PWcuc3Vic3RyKGksNik/KGgrPUI/ZCgpKyJ7e0xUfX08LyIreSsiPiI6Int7TFR9fSIsaSs9NSk6cC5jaGFyQ29kZUF0KDApPj1uJiZwLmNoYXJDb2RlQXQoMCk8PW98fGcuY2hhckNvZGVBdChpKzEpPj02NTAyNCYmZy5jaGFyQ29kZUF0KGkrMSk8PTY1MDM5Pyh3PXUoZy5zdWJzdHIoaSwyKSkseD11KGcuc3Vic3RyKGkrMiwyKSksaj13Pj1xJiZyPj13JiZ4Pj1xJiZyPj14fHx4Pj1zJiZ0Pj14PzQ6MixoKz1CJiYiICIhPT1wP2QoKStnLnN1YnN0cihpLGopKyI8LyIreSsiPiI6Zy5zdWJzdHIoaSxqKSxpKz1qLTEpOmgrPUImJiIgIiE9PXA/ZCgpK3ArIjwvIit5KyI+IjpwO2Eub3V0ZXJIVE1MPWgrKEc/RjoiIiksdiYmeihJLCJ7e0xUfX0iLCI8Iil9LEc9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixnPUIoYS5jaGlsZE5vZGVzKSxoPWcubGVuZ3RoLGo9ImFic29sdXRlIj09PWIucG9zaXRpb258fGIuYWJzb2x1dGU9PT0hMDtpZigzIT09YS5ub2RlVHlwZXx8aD4xKXtmb3IoYi5hYnNvbHV0ZT0hMSxlPTA7aD5lO2UrKylmPWdbZV0sKDMhPT1mLm5vZGVUeXBlfHwvXFMrLy50ZXN0KGYubm9kZVZhbHVlKSkmJihqJiYzIT09Zi5ub2RlVHlwZSYmImlubGluZSI9PT1pKGYsImRpc3BsYXkiLG51bGwsITApJiYoZi5zdHlsZS5kaXNwbGF5PSJpbmxpbmUtYmxvY2siLGYuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIiksZi5faXNTcGxpdD0hMCxHKGYsYixjLGQpKTtyZXR1cm4gYi5hYnNvbHV0ZT1qLHZvaWQoYS5faXNTcGxpdD0hMCl9RihhLGIsYyxkKX0sSD15LnByb3RvdHlwZTtILnNwbGl0PWZ1bmN0aW9uKGEpe3RoaXMuaXNTcGxpdCYmdGhpcy5yZXZlcnQoKSx0aGlzLnZhcnM9YT1hfHx0aGlzLnZhcnMsdGhpcy5fb3JpZ2luYWxzLmxlbmd0aD10aGlzLmNoYXJzLmxlbmd0aD10aGlzLndvcmRzLmxlbmd0aD10aGlzLmxpbmVzLmxlbmd0aD0wO2Zvcih2YXIgYixjLGQsZT10aGlzLmVsZW1lbnRzLmxlbmd0aCxmPWEuc3Bhbj8ic3BhbiI6ImRpdiIsZz0oImFic29sdXRlIj09PWEucG9zaXRpb258fGEuYWJzb2x1dGU9PT0hMCx4KGEud29yZHNDbGFzcyxmKSksaD14KGEuY2hhcnNDbGFzcyxmKTstLWU+LTE7KWQ9dGhpcy5lbGVtZW50c1tlXSx0aGlzLl9vcmlnaW5hbHNbZV09ZC5pbm5lckhUTUwsYj1kLmNsaWVudEhlaWdodCxjPWQuY2xpZW50V2lkdGgsRyhkLGEsZyxoKSxFKGQsYSx0aGlzLmNoYXJzLHRoaXMud29yZHMsdGhpcy5saW5lcyxjLGIpO3JldHVybiB0aGlzLmNoYXJzLnJldmVyc2UoKSx0aGlzLndvcmRzLnJldmVyc2UoKSx0aGlzLmxpbmVzLnJldmVyc2UoKSx0aGlzLmlzU3BsaXQ9ITAsdGhpc30sSC5yZXZlcnQ9ZnVuY3Rpb24oKXtpZighdGhpcy5fb3JpZ2luYWxzKXRocm93InJldmVydCgpIGNhbGwgd2Fzbid0IHNjb3BlZCBwcm9wZXJseS4iO2Zvcih2YXIgYT10aGlzLl9vcmlnaW5hbHMubGVuZ3RoOy0tYT4tMTspdGhpcy5lbGVtZW50c1thXS5pbm5lckhUTUw9dGhpcy5fb3JpZ2luYWxzW2FdO3JldHVybiB0aGlzLmNoYXJzPVtdLHRoaXMud29yZHM9W10sdGhpcy5saW5lcz1bXSx0aGlzLmlzU3BsaXQ9ITEsdGhpc30seS5zZWxlY3Rvcj1hLiR8fGEualF1ZXJ5fHxmdW5jdGlvbihiKXt2YXIgYz1hLiR8fGEualF1ZXJ5O3JldHVybiBjPyh5LnNlbGVjdG9yPWMsYyhiKSk6InVuZGVmaW5lZCI9PXR5cGVvZiBkb2N1bWVudD9iOmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGw/ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChiKTpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiIyI9PT1iLmNoYXJBdCgwKT9iLnN1YnN0cigxKTpiKX0seS52ZXJzaW9uPSIwLjUuNiJ9KF9nc1Njb3BlKSxmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7dmFyIGI9ZnVuY3Rpb24oKXtyZXR1cm4oX2dzU2NvcGUuR3JlZW5Tb2NrR2xvYmFsc3x8X2dzU2NvcGUpW2FdfTsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbXSxiKToidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHMmJihtb2R1bGUuZXhwb3J0cz1iKCkpfSgiU3BsaXRUZXh0Iik7DQoNCg0KdHJ5ew0KCXdpbmRvdy5HcmVlblNvY2tHbG9iYWxzID0gbnVsbDsNCgl3aW5kb3cuX2dzUXVldWUgPSBudWxsOw0KCXdpbmRvdy5fZ3NEZWZpbmUgPSBudWxsOw0KDQoJZGVsZXRlKHdpbmRvdy5HcmVlblNvY2tHbG9iYWxzKTsNCglkZWxldGUod2luZG93Ll9nc1F1ZXVlKTsNCglkZWxldGUod2luZG93Ll9nc0RlZmluZSk7CQ0KICAgfSBjYXRjaChlKSB7fQ0KDQp0cnl7DQoJd2luZG93LkdyZWVuU29ja0dsb2JhbHMgPSBvbGRnczsNCgl3aW5kb3cuX2dzUXVldWUgPSBvbGRnc19xdWV1ZTsNCgl9IGNhdGNoKGUpIHt9DQoNCmlmICh3aW5kb3cudHBsb2dzPT10cnVlKQ0KCXRyeSB7DQoJCWNvbnNvbGUuZ3JvdXBFbmQoKTsNCgl9IGNhdGNoKGUpIHt9DQoNCihmdW5jdGlvbihlLHQpew0KCQllLndhaXRGb3JJbWFnZXM9e2hhc0ltYWdlUHJvcGVydGllczpbImJhY2tncm91bmRJbWFnZSIsImxpc3RTdHlsZUltYWdlIiwiYm9yZGVySW1hZ2UiLCJib3JkZXJDb3JuZXJJbWFnZSJdfTtlLmV4cHJbIjoiXS51bmNhY2hlZD1mdW5jdGlvbih0KXt2YXIgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTtuLnNyYz10LnNyYztyZXR1cm4gZSh0KS5pcygnaW1nW3NyYyE9IiJdJykmJiFuLmNvbXBsZXRlfTtlLmZuLndhaXRGb3JJbWFnZXM9ZnVuY3Rpb24odCxuLHIpe2lmKGUuaXNQbGFpbk9iamVjdChhcmd1bWVudHNbMF0pKXtuPXQuZWFjaDtyPXQud2FpdEZvckFsbDt0PXQuZmluaXNoZWR9dD10fHxlLm5vb3A7bj1ufHxlLm5vb3A7cj0hIXI7aWYoIWUuaXNGdW5jdGlvbih0KXx8IWUuaXNGdW5jdGlvbihuKSl7dGhyb3cgbmV3IFR5cGVFcnJvcigiQW4gaW52YWxpZCBjYWxsYmFjayB3YXMgc3VwcGxpZWQuIil9cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBpPWUodGhpcykscz1bXTtpZihyKXt2YXIgbz1lLndhaXRGb3JJbWFnZXMuaGFzSW1hZ2VQcm9wZXJ0aWVzfHxbXSx1PS91cmxcKChbJyJdPykoLio/KVwxXCkvZztpLmZpbmQoIioiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKTtpZih0LmlzKCJpbWc6dW5jYWNoZWQiKSl7cy5wdXNoKHtzcmM6dC5hdHRyKCJzcmMiKSxlbGVtZW50OnRbMF19KX1lLmVhY2gobyxmdW5jdGlvbihlLG4pe3ZhciByPXQuY3NzKG4pO2lmKCFyKXtyZXR1cm4gdHJ1ZX12YXIgaTt3aGlsZShpPXUuZXhlYyhyKSl7cy5wdXNoKHtzcmM6aVsyXSxlbGVtZW50OnRbMF19KX19KX0pfWVsc2V7aS5maW5kKCJpbWc6dW5jYWNoZWQiKS5lYWNoKGZ1bmN0aW9uKCl7cy5wdXNoKHtzcmM6dGhpcy5zcmMsZWxlbWVudDp0aGlzfSl9KX12YXIgZj1zLmxlbmd0aCxsPTA7aWYoZj09MCl7dC5jYWxsKGlbMF0pfWUuZWFjaChzLGZ1bmN0aW9uKHIscyl7dmFyIG89bmV3IEltYWdlO2UobykuYmluZCgibG9hZCBlcnJvciIsZnVuY3Rpb24oZSl7bCsrO24uY2FsbChzLmVsZW1lbnQsbCxmLGUudHlwZT09ImxvYWQiKTtpZihsPT1mKXt0LmNhbGwoaVswXSk7cmV0dXJuIGZhbHNlfX0pO28uc3JjPXMuc3JjfSl9KX07CQkNCn0pKGpRdWVyeSkNCg=="}},"time_used":50,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":31,"receive":19,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/js/owl.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.607Z","timestamp":1785123231607,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /js/owl.js HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Wed, 22 Apr 2026 17:27:39 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 17911\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":85303,"size_decoded":18235,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (360)","md5":"54428880ec8df798ac3d666f5113c7ff","sha1":"9e43e74b8677f39e87f1b11be4d536c618b14bb3","sha256":"0402874ff311f284b18af9e4c453ee5bf0916a3b7335f0be52dcb54a1a31338b","sha512":"abceb872c8942d366a533c0c572e0e6e31d1b428ad2bc6fa1e746fd31811b6f8dfcd77814723adf44e1a8585436b511097576159b8eab40706b025e3158eda24","ssdeep":"1536:/PLoreUScogMjVNPP8aLMBJk8u9hKt1o619IYj1oJ0SQIOZ:/fHNPP/qJ9BoC9XplIOZ","tlshash":"e48383c5f36c261b422a31785e9e23ce713d412ad91118af7ca4e9dc28d546c836eff9","first_seen":"2023-03-07T01:10:42Z","last_seen":"2026-07-27T05:05:33.730765Z","times_seen":4576,"resource_available":true,"data":"LyoqCiAqIE93bCBDYXJvdXNlbCB2Mi4yLjAKICogQ29weXJpZ2h0IDIwMTMtMjAxNiBEYXZpZCBEZXV0c2NoCiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL093bENhcm91c2VsMi9Pd2xDYXJvdXNlbDIvYmxvYi9tYXN0ZXIvTElDRU5TRSkKICovCi8qKgogKiBPd2wgY2Fyb3VzZWwKICogQHZlcnNpb24gMi4xLjYKICogQGF1dGhvciBCYXJ0b3N6IFdvamNpZWNob3dza2kKICogQGF1dGhvciBEYXZpZCBEZXV0c2NoCiAqIEBsaWNlbnNlIFRoZSBNSVQgTGljZW5zZSAoTUlUKQogKiBAdG9kbyBMYXp5IExvYWQgSWNvbgogKiBAdG9kbyBwcmV2ZW50IGFuaW1hdGlvbmVuZCBidWJsaW5nCiAqIEB0b2RvIGl0ZW1zU2NhbGVVcAogKiBAdG9kbyBUZXN0IFplcHRvCiAqIEB0b2RvIHN0YWdlUGFkZGluZyBjYWxjdWxhdGUgd3JvbmcgYWN0aXZlIGNsYXNzZXMKICovCjsoZnVuY3Rpb24oJCwgd2luZG93LCBkb2N1bWVudCwgdW5kZWZpbmVkKSB7CgoJLyoqCgkgKiBDcmVhdGVzIGEgY2Fyb3VzZWwuCgkgKiBAY2xhc3MgVGhlIE93bCBDYXJvdXNlbC4KCSAqIEBwdWJsaWMKCSAqIEBwYXJhbSB7SFRNTEVsZW1lbnR8alF1ZXJ5fSBlbGVtZW50IC0gVGhlIGVsZW1lbnQgdG8gY3JlYXRlIHRoZSBjYXJvdXNlbCBmb3IuCgkgKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnNdIC0gVGhlIG9wdGlvbnMKCSAqLwoJZnVuY3Rpb24gT3dsKGVsZW1lbnQsIG9wdGlvbnMpIHsKCgkJLyoqCgkJICogQ3VycmVudCBzZXR0aW5ncyBmb3IgdGhlIGNhcm91c2VsLgoJCSAqIEBwdWJsaWMKCQkgKi8KCQl0aGlzLnNldHRpbmdzID0gbnVsbDsKCgkJLyoqCgkJICogQ3VycmVudCBvcHRpb25zIHNldCBieSB0aGUgY2FsbGVyIGluY2x1ZGluZyBkZWZhdWx0cy4KCQkgKiBAcHVibGljCgkJICovCgkJdGhpcy5vcHRpb25zID0gJC5leHRlbmQoe30sIE93bC5EZWZhdWx0cywgb3B0aW9ucyk7CgoJCS8qKgoJCSAqIFBsdWdpbiBlbGVtZW50LgoJCSAqIEBwdWJsaWMKCQkgKi8KCQl0aGlzLiRlbGVtZW50ID0gJChlbGVtZW50KTsKCgkJLyoqCgkJICogUHJveGllZCBldmVudCBoYW5kbGVycy4KCQkgKiBAcHJvdGVjdGVkCgkJICovCgkJdGhpcy5faGFuZGxlcnMgPSB7fTsKCgkJLyoqCgkJICogUmVmZXJlbmNlcyB0byB0aGUgcnVubmluZyBwbHVnaW5zIG9mIHRoaXMgY2Fyb3VzZWwuCgkJICogQHByb3RlY3RlZAoJCSAqLwoJCXRoaXMuX3BsdWdpbnMgPSB7fTsKCgkJLyoqCgkJICogQ3VycmVudGx5IHN1cHByZXNzZWQgZXZlbnRzIHRvIHByZXZlbnQgdGhlbSBmcm9tIGJlZWluZyByZXRyaWdnZXJlZC4KCQkgKiBAcHJvdGVjdGVkCgkJICovCgkJdGhpcy5fc3VwcmVzcyA9IHt9OwoKCQkvKioKCQkgKiBBYnNvbHV0ZSBjdXJyZW50IHBvc2l0aW9uLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKi8KCQl0aGlzLl9jdXJyZW50ID0gbnVsbDsKCgkJLyoqCgkJICogQW5pbWF0aW9uIHNwZWVkIGluIG1pbGxpc2Vjb25kcy4KCQkgKiBAcHJvdGVjdGVkCgkJICovCgkJdGhpcy5fc3BlZWQgPSBudWxsOwoKCQkvKioKCQkgKiBDb29yZGluYXRlcyBvZiBhbGwgaXRlbXMgaW4gcGl4ZWwuCgkJICogQHRvZG8gVGhlIG5hbWUgb2YgdGhpcyBtZW1iZXIgaXMgbWlzc2xlYWRpbmcuCgkJICogQHByb3RlY3RlZAoJCSAqLwoJCXRoaXMuX2Nvb3JkaW5hdGVzID0gW107CgoJCS8qKgoJCSAqIEN1cnJlbnQgYnJlYWtwb2ludC4KCQkgKiBAdG9kbyBSZWFsIG1lZGlhIHF1ZXJpZXMgd291bGQgYmUgbmljZS4KCQkgKiBAcHJvdGVjdGVkCgkJICovCgkJdGhpcy5fYnJlYWtwb2ludCA9IG51bGw7CgoJCS8qKgoJCSAqIEN1cnJlbnQgd2lkdGggb2YgdGhlIHBsdWdpbiBlbGVtZW50LgoJCSAqLwoJCXRoaXMuX3dpZHRoID0gbnVsbDsKCgkJLyoqCgkJICogQWxsIHJlYWwgaXRlbXMuCgkJICogQHByb3RlY3RlZAoJCSAqLwoJCXRoaXMuX2l0ZW1zID0gW107CgoJCS8qKgoJCSAqIEFsbCBjbG9uZWQgaXRlbXMuCgkJICogQHByb3RlY3RlZAoJCSAqLwoJCXRoaXMuX2Nsb25lcyA9IFtdOwoKCQkvKioKCQkgKiBNZXJnZSB2YWx1ZXMgb2YgYWxsIGl0ZW1zLgoJCSAqIEB0b2RvIE1heWJlIHRoaXMgY291bGQgYmUgcGFydCBvZiBhIHBsdWdpbi4KCQkgKiBAcHJvdGVjdGVkCgkJICovCgkJdGhpcy5fbWVyZ2VycyA9IFtdOwoKCQkvKioKCQkgKiBXaWR0aHMgb2YgYWxsIGl0ZW1zLgoJCSAqLwoJCXRoaXMuX3dpZHRocyA9IFtdOwoKCQkvKioKCQkgKiBJbnZhbGlkYXRlZCBwYXJ0cyB3aXRoaW4gdGhlIHVwZGF0ZSBwcm9jZXNzLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKi8KCQl0aGlzLl9pbnZhbGlkYXRlZCA9IHt9OwoKCQkvKioKCQkgKiBPcmRlcmVkIGxpc3Qgb2Ygd29ya2VycyBmb3IgdGhlIHVwZGF0ZSBwcm9jZXNzLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKi8KCQl0aGlzLl9waXBlID0gW107CgoJCS8qKgoJCSAqIEN1cnJlbnQgc3RhdGUgaW5mb3JtYXRpb24gZm9yIHRoZSBkcmFnIG9wZXJhdGlvbi4KCQkgKiBAdG9kbyAjMjYxCgkJICogQHByb3RlY3RlZAoJCSAqLwoJCXRoaXMuX2RyYWcgPSB7CgkJCXRpbWU6IG51bGwsCgkJCXRhcmdldDogbnVsbCwKCQkJcG9pbnRlcjogbnVsbCwKCQkJc3RhZ2U6IHsKCQkJCXN0YXJ0OiBudWxsLAoJCQkJY3VycmVudDogbnVsbAoJCQl9LAoJCQlkaXJlY3Rpb246IG51bGwKCQl9OwoKCQkvKioKCQkgKiBDdXJyZW50IHN0YXRlIGluZm9ybWF0aW9uIGFuZCB0aGVpciB0YWdzLgoJCSAqIEB0eXBlIHtPYmplY3R9CgkJICogQHByb3RlY3RlZAoJCSAqLwoJCXRoaXMuX3N0YXRlcyA9IHsKCQkJY3VycmVudDoge30sCgkJCXRhZ3M6IHsKCQkJCSdpbml0aWFsaXppbmcnOiBbICdidXN5JyBdLAoJCQkJJ2FuaW1hdGluZyc6IFsgJ2J1c3knIF0sCgkJCQknZHJhZ2dpbmcnOiBbICdpbnRlcmFjdGluZycgXQoJCQl9CgkJfTsKCgkJJC5lYWNoKFsgJ29uUmVzaXplJywgJ29uVGhyb3R0bGVkUmVzaXplJyBdLCAkLnByb3h5KGZ1bmN0aW9uKGksIGhhbmRsZXIpIHsKCQkJdGhpcy5faGFuZGxlcnNbaGFuZGxlcl0gPSAkLnByb3h5KHRoaXNbaGFuZGxlcl0sIHRoaXMpOwoJCX0sIHRoaXMpKTsKCgkJJC5lYWNoKE93bC5QbHVnaW5zLCAkLnByb3h5KGZ1bmN0aW9uKGtleSwgcGx1Z2luKSB7CgkJCXRoaXMuX3BsdWdpbnNba2V5LmNoYXJBdCgwKS50b0xvd2VyQ2FzZSgpICsga2V5LnNsaWNlKDEpXQoJCQkJPSBuZXcgcGx1Z2luKHRoaXMpOwoJCX0sIHRoaXMpKTsKCgkJJC5lYWNoKE93bC5Xb3JrZXJzLCAkLnByb3h5KGZ1bmN0aW9uKHByaW9yaXR5LCB3b3JrZXIpIHsKCQkJdGhpcy5fcGlwZS5wdXNoKHsKCQkJCSdmaWx0ZXInOiB3b3JrZXIuZmlsdGVyLAoJCQkJJ3J1bic6ICQucHJveHkod29ya2VyLnJ1biwgdGhpcykKCQkJfSk7CgkJfSwgdGhpcykpOwoKCQl0aGlzLnNldHVwKCk7CgkJdGhpcy5pbml0aWFsaXplKCk7Cgl9CgoJLyoqCgkgKiBEZWZhdWx0IG9wdGlvbnMgZm9yIHRoZSBjYXJvdXNlbC4KCSAqIEBwdWJsaWMKCSAqLwoJT3dsLkRlZmF1bHRzID0gewoJCWl0ZW1zOiAzLAoJCWxvb3A6IGZhbHNlLAoJCWNlbnRlcjogZmFsc2UsCgkJcmV3aW5kOiBmYWxzZSwKCgkJbW91c2VEcmFnOiB0cnVlLAoJCXRvdWNoRHJhZzogdHJ1ZSwKCQlwdWxsRHJhZzogdHJ1ZSwKCQlmcmVlRHJhZzogZmFsc2UsCgoJCW1hcmdpbjogMCwKCQlzdGFnZVBhZGRpbmc6IDAsCgoJCW1lcmdlOiBmYWxzZSwKCQltZXJnZUZpdDogdHJ1ZSwKCQlhdXRvV2lkdGg6IGZhbHNlLAoKCQlzdGFydFBvc2l0aW9uOiAwLAoJCXJ0bDogZmFsc2UsCgoJCXNtYXJ0U3BlZWQ6IDI1MCwKCQlmbHVpZFNwZWVkOiBmYWxzZSwKCQlkcmFnRW5kU3BlZWQ6IGZhbHNlLAoKCQlyZXNwb25zaXZlOiB7fSwKCQlyZXNwb25zaXZlUmVmcmVzaFJhdGU6IDIwMCwKCQlyZXNwb25zaXZlQmFzZUVsZW1lbnQ6IHdpbmRvdywKCgkJZmFsbGJhY2tFYXNpbmc6ICdzd2luZycsCgoJCWluZm86IGZhbHNlLAoKCQluZXN0ZWRJdGVtU2VsZWN0b3I6IGZhbHNlLAoJCWl0ZW1FbGVtZW50OiAnZGl2JywKCQlzdGFnZUVsZW1lbnQ6ICdkaXYnLAoKCQlyZWZyZXNoQ2xhc3M6ICdvd2wtcmVmcmVzaCcsCgkJbG9hZGVkQ2xhc3M6ICdvd2wtbG9hZGVkJywKCQlsb2FkaW5nQ2xhc3M6ICdvd2wtbG9hZGluZycsCgkJcnRsQ2xhc3M6ICdvd2wtcnRsJywKCQlyZXNwb25zaXZlQ2xhc3M6ICdvd2wtcmVzcG9uc2l2ZScsCgkJZHJhZ0NsYXNzOiAnb3dsLWRyYWcnLAoJCWl0ZW1DbGFzczogJ293bC1pdGVtJywKCQlzdGFnZUNsYXNzOiAnb3dsLXN0YWdlJywKCQlzdGFnZU91dGVyQ2xhc3M6ICdvd2wtc3RhZ2Utb3V0ZXInLAoJCWdyYWJDbGFzczogJ293bC1ncmFiJwoJfTsKCgkvKioKCSAqIEVudW1lcmF0aW9uIGZvciB3aWR0aC4KCSAqIEBwdWJsaWMKCSAqIEByZWFkb25seQoJICogQGVudW0ge1N0cmluZ30KCSAqLwoJT3dsLldpZHRoID0gewoJCURlZmF1bHQ6ICdkZWZhdWx0JywKCQlJbm5lcjogJ2lubmVyJywKCQlPdXRlcjogJ291dGVyJwoJfTsKCgkvKioKCSAqIEVudW1lcmF0aW9uIGZvciB0eXBlcy4KCSAqIEBwdWJsaWMKCSAqIEByZWFkb25seQoJICogQGVudW0ge1N0cmluZ30KCSAqLwoJT3dsLlR5cGUgPSB7CgkJRXZlbnQ6ICdldmVudCcsCgkJU3RhdGU6ICdzdGF0ZScKCX07CgoJLyoqCgkgKiBDb250YWlucyBhbGwgcmVnaXN0ZXJlZCBwbHVnaW5zLgoJICogQHB1YmxpYwoJICovCglPd2wuUGx1Z2lucyA9IHt9OwoKCS8qKgoJICogTGlzdCBvZiB3b3JrZXJzIGludm9sdmVkIGluIHRoZSB1cGRhdGUgcHJvY2Vzcy4KCSAqLwoJT3dsLldvcmtlcnMgPSBbIHsKCQlmaWx0ZXI6IFsgJ3dpZHRoJywgJ3NldHRpbmdzJyBdLAoJCXJ1bjogZnVuY3Rpb24oKSB7CgkJCXRoaXMuX3dpZHRoID0gdGhpcy4kZWxlbWVudC53aWR0aCgpOwoJCX0KCX0sIHsKCQlmaWx0ZXI6IFsgJ3dpZHRoJywgJ2l0ZW1zJywgJ3NldHRpbmdzJyBdLAoJCXJ1bjogZnVuY3Rpb24oY2FjaGUpIHsKCQkJY2FjaGUuY3VycmVudCA9IHRoaXMuX2l0ZW1zICYmIHRoaXMuX2l0ZW1zW3RoaXMucmVsYXRpdmUodGhpcy5fY3VycmVudCldOwoJCX0KCX0sIHsKCQlmaWx0ZXI6IFsgJ2l0ZW1zJywgJ3NldHRpbmdzJyBdLAoJCXJ1bjogZnVuY3Rpb24oKSB7CgkJCXRoaXMuJHN0YWdlLmNoaWxkcmVuKCcuY2xvbmVkJykucmVtb3ZlKCk7CgkJfQoJfSwgewoJCWZpbHRlcjogWyAnd2lkdGgnLCAnaXRlbXMnLCAnc2V0dGluZ3MnIF0sCgkJcnVuOiBmdW5jdGlvbihjYWNoZSkgewoJCQl2YXIgbWFyZ2luID0gdGhpcy5zZXR0aW5ncy5tYXJnaW4gfHwgJycsCgkJCQlncmlkID0gIXRoaXMuc2V0dGluZ3MuYXV0b1dpZHRoLAoJCQkJcnRsID0gdGhpcy5zZXR0aW5ncy5ydGwsCgkJCQljc3MgPSB7CgkJCQkJJ3dpZHRoJzogJ2F1dG8nLAoJCQkJCSdtYXJnaW4tbGVmdCc6IHJ0bCA/IG1hcmdpbiA6ICcnLAoJCQkJCSdtYXJnaW4tcmlnaHQnOiBydGwgPyAnJyA6IG1hcmdpbgoJCQkJfTsKCgkJCSFncmlkICYmIHRoaXMuJHN0YWdlLmNoaWxkcmVuKCkuY3NzKGNzcyk7CgoJCQljYWNoZS5jc3MgPSBjc3M7CgkJfQoJfSwgewoJCWZpbHRlcjogWyAnd2lkdGgnLCAnaXRlbXMnLCAnc2V0dGluZ3MnIF0sCgkJcnVuOiBmdW5jdGlvbihjYWNoZSkgewoJCQl2YXIgd2lkdGggPSAodGhpcy53aWR0aCgpIC8gdGhpcy5zZXR0aW5ncy5pdGVtcykudG9GaXhlZCgzKSAtIHRoaXMuc2V0dGluZ3MubWFyZ2luLAoJCQkJbWVyZ2UgPSBudWxsLAoJCQkJaXRlcmF0b3IgPSB0aGlzLl9pdGVtcy5sZW5ndGgsCgkJCQlncmlkID0gIXRoaXMuc2V0dGluZ3MuYXV0b1dpZHRoLAoJCQkJd2lkdGhzID0gW107CgoJCQljYWNoZS5pdGVtcyA9IHsKCQkJCW1lcmdlOiBmYWxzZSwKCQkJCXdpZHRoOiB3aWR0aAoJCQl9OwoKCQkJd2hpbGUgKGl0ZXJhdG9yLS0pIHsKCQkJCW1lcmdlID0gdGhpcy5fbWVyZ2Vyc1tpdGVyYXRvcl07CgkJCQltZXJnZSA9IHRoaXMuc2V0dGluZ3MubWVyZ2VGaXQgJiYgTWF0aC5taW4obWVyZ2UsIHRoaXMuc2V0dGluZ3MuaXRlbXMpIHx8IG1lcmdlOwoKCQkJCWNhY2hlLml0ZW1zLm1lcmdlID0gbWVyZ2UgPiAxIHx8IGNhY2hlLml0ZW1zLm1lcmdlOwoKCQkJCXdpZHRoc1tpdGVyYXRvcl0gPSAhZ3JpZCA/IHRoaXMuX2l0ZW1zW2l0ZXJhdG9yXS53aWR0aCgpIDogd2lkdGggKiBtZXJnZTsKCQkJfQoKCQkJdGhpcy5fd2lkdGhzID0gd2lkdGhzOwoJCX0KCX0sIHsKCQlmaWx0ZXI6IFsgJ2l0ZW1zJywgJ3NldHRpbmdzJyBdLAoJCXJ1bjogZnVuY3Rpb24oKSB7CgkJCXZhciBjbG9uZXMgPSBbXSwKCQkJCWl0ZW1zID0gdGhpcy5faXRlbXMsCgkJCQlzZXR0aW5ncyA9IHRoaXMuc2V0dGluZ3MsCgkJCQl2aWV3ID0gTWF0aC5tYXgoc2V0dGluZ3MuaXRlbXMgKiAyLCA0KSwKCQkJCXNpemUgPSBNYXRoLmNlaWwoaXRlbXMubGVuZ3RoIC8gMikgKiAyLAoJCQkJcmVwZWF0ID0gc2V0dGluZ3MubG9vcCAmJiBpdGVtcy5sZW5ndGggPyBzZXR0aW5ncy5yZXdpbmQgPyB2aWV3IDogTWF0aC5tYXgodmlldywgc2l6ZSkgOiAwLAoJCQkJYXBwZW5kID0gJycsCgkJCQlwcmVwZW5kID0gJyc7CgoJCQlyZXBlYXQgLz0gMjsKCgkJCXdoaWxlIChyZXBlYXQtLSkgewoJCQkJY2xvbmVzLnB1c2godGhpcy5ub3JtYWxpemUoY2xvbmVzLmxlbmd0aCAvIDIsIHRydWUpKTsKCQkJCWFwcGVuZCA9IGFwcGVuZCArIGl0ZW1zW2Nsb25lc1tjbG9uZXMubGVuZ3RoIC0gMV1dWzBdLm91dGVySFRNTDsKCQkJCWNsb25lcy5wdXNoKHRoaXMubm9ybWFsaXplKGl0ZW1zLmxlbmd0aCAtIDEgLSAoY2xvbmVzLmxlbmd0aCAtIDEpIC8gMiwgdHJ1ZSkpOwoJCQkJcHJlcGVuZCA9IGl0ZW1zW2Nsb25lc1tjbG9uZXMubGVuZ3RoIC0gMV1dWzBdLm91dGVySFRNTCArIHByZXBlbmQ7CgkJCX0KCgkJCXRoaXMuX2Nsb25lcyA9IGNsb25lczsKCgkJCSQoYXBwZW5kKS5hZGRDbGFzcygnY2xvbmVkJykuYXBwZW5kVG8odGhpcy4kc3RhZ2UpOwoJCQkkKHByZXBlbmQpLmFkZENsYXNzKCdjbG9uZWQnKS5wcmVwZW5kVG8odGhpcy4kc3RhZ2UpOwoJCX0KCX0sIHsKCQlmaWx0ZXI6IFsgJ3dpZHRoJywgJ2l0ZW1zJywgJ3NldHRpbmdzJyBdLAoJCXJ1bjogZnVuY3Rpb24oKSB7CgkJCXZhciBydGwgPSB0aGlzLnNldHRpbmdzLnJ0bCA/IDEgOiAtMSwKCQkJCXNpemUgPSB0aGlzLl9jbG9uZXMubGVuZ3RoICsgdGhpcy5faXRlbXMubGVuZ3RoLAoJCQkJaXRlcmF0b3IgPSAtMSwKCQkJCXByZXZpb3VzID0gMCwKCQkJCWN1cnJlbnQgPSAwLAoJCQkJY29vcmRpbmF0ZXMgPSBbXTsKCgkJCXdoaWxlICgrK2l0ZXJhdG9yIDwgc2l6ZSkgewoJCQkJcHJldmlvdXMgPSBjb29yZGluYXRlc1tpdGVyYXRvciAtIDFdIHx8IDA7CgkJCQljdXJyZW50ID0gdGhpcy5fd2lkdGhzW3RoaXMucmVsYXRpdmUoaXRlcmF0b3IpXSArIHRoaXMuc2V0dGluZ3MubWFyZ2luOwoJCQkJY29vcmRpbmF0ZXMucHVzaChwcmV2aW91cyArIGN1cnJlbnQgKiBydGwpOwoJCQl9CgoJCQl0aGlzLl9jb29yZGluYXRlcyA9IGNvb3JkaW5hdGVzOwoJCX0KCX0sIHsKCQlmaWx0ZXI6IFsgJ3dpZHRoJywgJ2l0ZW1zJywgJ3NldHRpbmdzJyBdLAoJCXJ1bjogZnVuY3Rpb24oKSB7CgkJCXZhciBwYWRkaW5nID0gdGhpcy5zZXR0aW5ncy5zdGFnZVBhZGRpbmcsCgkJCQljb29yZGluYXRlcyA9IHRoaXMuX2Nvb3JkaW5hdGVzLAoJCQkJY3NzID0gewoJCQkJCSd3aWR0aCc6IE1hdGguY2VpbChNYXRoLmFicyhjb29yZGluYXRlc1tjb29yZGluYXRlcy5sZW5ndGggLSAxXSkpICsgcGFkZGluZyAqIDIsCgkJCQkJJ3BhZGRpbmctbGVmdCc6IHBhZGRpbmcgfHwgJycsCgkJCQkJJ3BhZGRpbmctcmlnaHQnOiBwYWRkaW5nIHx8ICcnCgkJCQl9OwoKCQkJdGhpcy4kc3RhZ2UuY3NzKGNzcyk7CgkJfQoJfSwgewoJCWZpbHRlcjogWyAnd2lkdGgnLCAnaXRlbXMnLCAnc2V0dGluZ3MnIF0sCgkJcnVuOiBmdW5jdGlvbihjYWNoZSkgewoJCQl2YXIgaXRlcmF0b3IgPSB0aGlzLl9jb29yZGluYXRlcy5sZW5ndGgsCgkJCQlncmlkID0gIXRoaXMuc2V0dGluZ3MuYXV0b1dpZHRoLAoJCQkJaXRlbXMgPSB0aGlzLiRzdGFnZS5jaGlsZHJlbigpOwoKCQkJaWYgKGdyaWQgJiYgY2FjaGUuaXRlbXMubWVyZ2UpIHsKCQkJCXdoaWxlIChpdGVyYXRvci0tKSB7CgkJCQkJY2FjaGUuY3NzLndpZHRoID0gdGhpcy5fd2lkdGhzW3RoaXMucmVsYXRpdmUoaXRlcmF0b3IpXTsKCQkJCQlpdGVtcy5lcShpdGVyYXRvcikuY3NzKGNhY2hlLmNzcyk7CgkJCQl9CgkJCX0gZWxzZSBpZiAoZ3JpZCkgewoJCQkJY2FjaGUuY3NzLndpZHRoID0gY2FjaGUuaXRlbXMud2lkdGg7CgkJCQlpdGVtcy5jc3MoY2FjaGUuY3NzKTsKCQkJfQoJCX0KCX0sIHsKCQlmaWx0ZXI6IFsgJ2l0ZW1zJyBdLAoJCXJ1bjogZnVuY3Rpb24oKSB7CgkJCXRoaXMuX2Nvb3JkaW5hdGVzLmxlbmd0aCA8IDEgJiYgdGhpcy4kc3RhZ2UucmVtb3ZlQXR0cignc3R5bGUnKTsKCQl9Cgl9LCB7CgkJZmlsdGVyOiBbICd3aWR0aCcsICdpdGVtcycsICdzZXR0aW5ncycgXSwKCQlydW46IGZ1bmN0aW9uKGNhY2hlKSB7CgkJCWNhY2hlLmN1cnJlbnQgPSBjYWNoZS5jdXJyZW50ID8gdGhpcy4kc3RhZ2UuY2hpbGRyZW4oKS5pbmRleChjYWNoZS5jdXJyZW50KSA6IDA7CgkJCWNhY2hlLmN1cnJlbnQgPSBNYXRoLm1heCh0aGlzLm1pbmltdW0oKSwgTWF0aC5taW4odGhpcy5tYXhpbXVtKCksIGNhY2hlLmN1cnJlbnQpKTsKCQkJdGhpcy5yZXNldChjYWNoZS5jdXJyZW50KTsKCQl9Cgl9LCB7CgkJZmlsdGVyOiBbICdwb3NpdGlvbicgXSwKCQlydW46IGZ1bmN0aW9uKCkgewoJCQl0aGlzLmFuaW1hdGUodGhpcy5jb29yZGluYXRlcyh0aGlzLl9jdXJyZW50KSk7CgkJfQoJfSwgewoJCWZpbHRlcjogWyAnd2lkdGgnLCAncG9zaXRpb24nLCAnaXRlbXMnLCAnc2V0dGluZ3MnIF0sCgkJcnVuOiBmdW5jdGlvbigpIHsKCQkJdmFyIHJ0bCA9IHRoaXMuc2V0dGluZ3MucnRsID8gMSA6IC0xLAoJCQkJcGFkZGluZyA9IHRoaXMuc2V0dGluZ3Muc3RhZ2VQYWRkaW5nICogMiwKCQkJCWJlZ2luID0gdGhpcy5jb29yZGluYXRlcyh0aGlzLmN1cnJlbnQoKSkgKyBwYWRkaW5nLAoJCQkJZW5kID0gYmVnaW4gKyB0aGlzLndpZHRoKCkgKiBydGwsCgkJCQlpbm5lciwgb3V0ZXIsIG1hdGNoZXMgPSBbXSwgaSwgbjsKCgkJCWZvciAoaSA9IDAsIG4gPSB0aGlzLl9jb29yZGluYXRlcy5sZW5ndGg7IGkgPCBuOyBpKyspIHsKCQkJCWlubmVyID0gdGhpcy5fY29vcmRpbmF0ZXNbaSAtIDFdIHx8IDA7CgkJCQlvdXRlciA9IE1hdGguYWJzKHRoaXMuX2Nvb3JkaW5hdGVzW2ldKSArIHBhZGRpbmcgKiBydGw7CgoJCQkJaWYgKCh0aGlzLm9wKGlubmVyLCAnPD0nLCBiZWdpbikgJiYgKHRoaXMub3AoaW5uZXIsICc+JywgZW5kKSkpCgkJCQkJfHwgKHRoaXMub3Aob3V0ZXIsICc8JywgYmVnaW4pICYmIHRoaXMub3Aob3V0ZXIsICc+JywgZW5kKSkpIHsKCQkJCQltYXRjaGVzLnB1c2goaSk7CgkJCQl9CgkJCX0KCgkJCXRoaXMuJHN0YWdlLmNoaWxkcmVuKCcuYWN0aXZlJykucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpOwoJCQl0aGlzLiRzdGFnZS5jaGlsZHJlbignOmVxKCcgKyBtYXRjaGVzLmpvaW4oJyksIDplcSgnKSArICcpJykuYWRkQ2xhc3MoJ2FjdGl2ZScpOwoKCQkJaWYgKHRoaXMuc2V0dGluZ3MuY2VudGVyKSB7CgkJCQl0aGlzLiRzdGFnZS5jaGlsZHJlbignLmNlbnRlcicpLnJlbW92ZUNsYXNzKCdjZW50ZXInKTsKCQkJCXRoaXMuJHN0YWdlLmNoaWxkcmVuKCkuZXEodGhpcy5jdXJyZW50KCkpLmFkZENsYXNzKCdjZW50ZXInKTsKCQkJfQoJCX0KCX0gXTsKCgkvKioKCSAqIEluaXRpYWxpemVzIHRoZSBjYXJvdXNlbC4KCSAqIEBwcm90ZWN0ZWQKCSAqLwoJT3dsLnByb3RvdHlwZS5pbml0aWFsaXplID0gZnVuY3Rpb24oKSB7CgkJdGhpcy5lbnRlcignaW5pdGlhbGl6aW5nJyk7CgkJdGhpcy50cmlnZ2VyKCdpbml0aWFsaXplJyk7CgoJCXRoaXMuJGVsZW1lbnQudG9nZ2xlQ2xhc3ModGhpcy5zZXR0aW5ncy5ydGxDbGFzcywgdGhpcy5zZXR0aW5ncy5ydGwpOwoKCQlpZiAodGhpcy5zZXR0aW5ncy5hdXRvV2lkdGggJiYgIXRoaXMuaXMoJ3ByZS1sb2FkaW5nJykpIHsKCQkJdmFyIGltZ3MsIG5lc3RlZFNlbGVjdG9yLCB3aWR0aDsKCQkJaW1ncyA9IHRoaXMuJGVsZW1lbnQuZmluZCgnaW1nJyk7CgkJCW5lc3RlZFNlbGVjdG9yID0gdGhpcy5zZXR0aW5ncy5uZXN0ZWRJdGVtU2VsZWN0b3IgPyAnLicgKyB0aGlzLnNldHRpbmdzLm5lc3RlZEl0ZW1TZWxlY3RvciA6IHVuZGVmaW5lZDsKCQkJd2lkdGggPSB0aGlzLiRlbGVtZW50LmNoaWxkcmVuKG5lc3RlZFNlbGVjdG9yKS53aWR0aCgpOwoKCQkJaWYgKGltZ3MubGVuZ3RoICYmIHdpZHRoIDw9IDApIHsKCQkJCXRoaXMucHJlbG9hZEF1dG9XaWR0aEltYWdlcyhpbWdzKTsKCQkJfQoJCX0KCgkJdGhpcy4kZWxlbWVudC5hZGRDbGFzcyh0aGlzLm9wdGlvbnMubG9hZGluZ0NsYXNzKTsKCgkJLy8gY3JlYXRlIHN0YWdlCgkJdGhpcy4kc3RhZ2UgPSAkKCc8JyArIHRoaXMuc2V0dGluZ3Muc3RhZ2VFbGVtZW50ICsgJyBjbGFzcz0iJyArIHRoaXMuc2V0dGluZ3Muc3RhZ2VDbGFzcyArICciLz4nKQoJCQkud3JhcCgnPGRpdiBjbGFzcz0iJyArIHRoaXMuc2V0dGluZ3Muc3RhZ2VPdXRlckNsYXNzICsgJyIvPicpOwoKCQkvLyBhcHBlbmQgc3RhZ2UKCQl0aGlzLiRlbGVtZW50LmFwcGVuZCh0aGlzLiRzdGFnZS5wYXJlbnQoKSk7CgoJCS8vIGFwcGVuZCBjb250ZW50CgkJdGhpcy5yZXBsYWNlKHRoaXMuJGVsZW1lbnQuY2hpbGRyZW4oKS5ub3QodGhpcy4kc3RhZ2UucGFyZW50KCkpKTsKCgkJLy8gY2hlY2sgdmlzaWJpbGl0eQoJCWlmICh0aGlzLiRlbGVtZW50LmlzKCc6dmlzaWJsZScpKSB7CgkJCS8vIHVwZGF0ZSB2aWV3CgkJCXRoaXMucmVmcmVzaCgpOwoJCX0gZWxzZSB7CgkJCS8vIGludmFsaWRhdGUgd2lkdGgKCQkJdGhpcy5pbnZhbGlkYXRlKCd3aWR0aCcpOwoJCX0KCgkJdGhpcy4kZWxlbWVudAoJCQkucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmxvYWRpbmdDbGFzcykKCQkJLmFkZENsYXNzKHRoaXMub3B0aW9ucy5sb2FkZWRDbGFzcyk7CgoJCS8vIHJlZ2lzdGVyIGV2ZW50IGhhbmRsZXJzCgkJdGhpcy5yZWdpc3RlckV2ZW50SGFuZGxlcnMoKTsKCgkJdGhpcy5sZWF2ZSgnaW5pdGlhbGl6aW5nJyk7CgkJdGhpcy50cmlnZ2VyKCdpbml0aWFsaXplZCcpOwoJfTsKCgkvKioKCSAqIFNldHVwcyB0aGUgY3VycmVudCBzZXR0aW5ncy4KCSAqIEB0b2RvIFJlbW92ZSByZXNwb25zaXZlIGNsYXNzZXMuIFdoeSBzaG91bGQgYWRhcHRpdmUgZGVzaWducyBiZSBicm91Z2h0IGludG8gSUU4PwoJICogQHRvZG8gU3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBieSB1c2luZyBgbWF0Y2hNZWRpYWAgd291bGQgYmUgbmljZS4KCSAqIEBwdWJsaWMKCSAqLwoJT3dsLnByb3RvdHlwZS5zZXR1cCA9IGZ1bmN0aW9uKCkgewoJCXZhciB2aWV3cG9ydCA9IHRoaXMudmlld3BvcnQoKSwKCQkJb3ZlcndyaXRlcyA9IHRoaXMub3B0aW9ucy5yZXNwb25zaXZlLAoJCQltYXRjaCA9IC0xLAoJCQlzZXR0aW5ncyA9IG51bGw7CgoJCWlmICghb3ZlcndyaXRlcykgewoJCQlzZXR0aW5ncyA9ICQuZXh0ZW5kKHt9LCB0aGlzLm9wdGlvbnMpOwoJCX0gZWxzZSB7CgkJCSQuZWFjaChvdmVyd3JpdGVzLCBmdW5jdGlvbihicmVha3BvaW50KSB7CgkJCQlpZiAoYnJlYWtwb2ludCA8PSB2aWV3cG9ydCAmJiBicmVha3BvaW50ID4gbWF0Y2gpIHsKCQkJCQltYXRjaCA9IE51bWJlcihicmVha3BvaW50KTsKCQkJCX0KCQkJfSk7CgoJCQlzZXR0aW5ncyA9ICQuZXh0ZW5kKHt9LCB0aGlzLm9wdGlvbnMsIG92ZXJ3cml0ZXNbbWF0Y2hdKTsKCQkJaWYgKHR5cGVvZiBzZXR0aW5ncy5zdGFnZVBhZGRpbmcgPT09ICdmdW5jdGlvbicpIHsKCQkJCXNldHRpbmdzLnN0YWdlUGFkZGluZyA9IHNldHRpbmdzLnN0YWdlUGFkZGluZygpOwoJCQl9CgkJCWRlbGV0ZSBzZXR0aW5ncy5yZXNwb25zaXZlOwoKCQkJLy8gcmVzcG9uc2l2ZSBjbGFzcwoJCQlpZiAoc2V0dGluZ3MucmVzcG9uc2l2ZUNsYXNzKSB7CgkJCQl0aGlzLiRlbGVtZW50LmF0dHIoJ2NsYXNzJywKCQkJCQl0aGlzLiRlbGVtZW50LmF0dHIoJ2NsYXNzJykucmVwbGFjZShuZXcgUmVnRXhwKCcoJyArIHRoaXMub3B0aW9ucy5yZXNwb25zaXZlQ2xhc3MgKyAnLSlcXFMrXFxzJywgJ2cnKSwgJyQxJyArIG1hdGNoKQoJCQkJKTsKCQkJfQoJCX0KCgkJdGhpcy50cmlnZ2VyKCdjaGFuZ2UnLCB7IHByb3BlcnR5OiB7IG5hbWU6ICdzZXR0aW5ncycsIHZhbHVlOiBzZXR0aW5ncyB9IH0pOwoJCXRoaXMuX2JyZWFrcG9pbnQgPSBtYXRjaDsKCQl0aGlzLnNldHRpbmdzID0gc2V0dGluZ3M7CgkJdGhpcy5pbnZhbGlkYXRlKCdzZXR0aW5ncycpOwoJCXRoaXMudHJpZ2dlcignY2hhbmdlZCcsIHsgcHJvcGVydHk6IHsgbmFtZTogJ3NldHRpbmdzJywgdmFsdWU6IHRoaXMuc2V0dGluZ3MgfSB9KTsKCX07CgoJLyoqCgkgKiBVcGRhdGVzIG9wdGlvbiBsb2dpYyBpZiBuZWNlc3NlcnkuCgkgKiBAcHJvdGVjdGVkCgkgKi8KCU93bC5wcm90b3R5cGUub3B0aW9uc0xvZ2ljID0gZnVuY3Rpb24oKSB7CgkJaWYgKHRoaXMuc2V0dGluZ3MuYXV0b1dpZHRoKSB7CgkJCXRoaXMuc2V0dGluZ3Muc3RhZ2VQYWRkaW5nID0gZmFsc2U7CgkJCXRoaXMuc2V0dGluZ3MubWVyZ2UgPSBmYWxzZTsKCQl9Cgl9OwoKCS8qKgoJICogUHJlcGFyZXMgYW4gaXRlbSBiZWZvcmUgYWRkLgoJICogQHRvZG8gUmVuYW1lIGV2ZW50IHBhcmFtZXRlciBgY29udGVudGAgdG8gYGl0ZW1gLgoJICogQHByb3RlY3RlZAoJICogQHJldHVybnMge2pRdWVyeXxIVE1MRWxlbWVudH0gLSBUaGUgaXRlbSBjb250YWluZXIuCgkgKi8KCU93bC5wcm90b3R5cGUucHJlcGFyZSA9IGZ1bmN0aW9uKGl0ZW0pIHsKCQl2YXIgZXZlbnQgPSB0aGlzLnRyaWdnZXIoJ3ByZXBhcmUnLCB7IGNvbnRlbnQ6IGl0ZW0gfSk7CgoJCWlmICghZXZlbnQuZGF0YSkgewoJCQlldmVudC5kYXRhID0gJCgnPCcgKyB0aGlzLnNldHRpbmdzLml0ZW1FbGVtZW50ICsgJy8+JykKCQkJCS5hZGRDbGFzcyh0aGlzLm9wdGlvbnMuaXRlbUNsYXNzKS5hcHBlbmQoaXRlbSkKCQl9CgoJCXRoaXMudHJpZ2dlcigncHJlcGFyZWQnLCB7IGNvbnRlbnQ6IGV2ZW50LmRhdGEgfSk7CgoJCXJldHVybiBldmVudC5kYXRhOwoJfTsKCgkvKioKCSAqIFVwZGF0ZXMgdGhlIHZpZXcuCgkgKiBAcHVibGljCgkgKi8KCU93bC5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24oKSB7CgkJdmFyIGkgPSAwLAoJCQluID0gdGhpcy5fcGlwZS5sZW5ndGgsCgkJCWZpbHRlciA9ICQucHJveHkoZnVuY3Rpb24ocCkgeyByZXR1cm4gdGhpc1twXSB9LCB0aGlzLl9pbnZhbGlkYXRlZCksCgkJCWNhY2hlID0ge307CgoJCXdoaWxlIChpIDwgbikgewoJCQlpZiAodGhpcy5faW52YWxpZGF0ZWQuYWxsIHx8ICQuZ3JlcCh0aGlzLl9waXBlW2ldLmZpbHRlciwgZmlsdGVyKS5sZW5ndGggPiAwKSB7CgkJCQl0aGlzLl9waXBlW2ldLnJ1bihjYWNoZSk7CgkJCX0KCQkJaSsrOwoJCX0KCgkJdGhpcy5faW52YWxpZGF0ZWQgPSB7fTsKCgkJIXRoaXMuaXMoJ3ZhbGlkJykgJiYgdGhpcy5lbnRlcigndmFsaWQnKTsKCX07CgoJLyoqCgkgKiBHZXRzIHRoZSB3aWR0aCBvZiB0aGUgdmlldy4KCSAqIEBwdWJsaWMKCSAqIEBwYXJhbSB7T3dsLldpZHRofSBbZGltZW5zaW9uPU93bC5XaWR0aC5EZWZhdWx0XSAtIFRoZSBkaW1lbnNpb24gdG8gcmV0dXJuLgoJICogQHJldHVybnMge051bWJlcn0gLSBUaGUgd2lkdGggb2YgdGhlIHZpZXcgaW4gcGl4ZWwuCgkgKi8KCU93bC5wcm90b3R5cGUud2lkdGggPSBmdW5jdGlvbihkaW1lbnNpb24pIHsKCQlkaW1lbnNpb24gPSBkaW1lbnNpb24gfHwgT3dsLldpZHRoLkRlZmF1bHQ7CgkJc3dpdGNoIChkaW1lbnNpb24pIHsKCQkJY2FzZSBPd2wuV2lkdGguSW5uZXI6CgkJCWNhc2UgT3dsLldpZHRoLk91dGVyOgoJCQkJcmV0dXJuIHRoaXMuX3dpZHRoOwoJCQlkZWZhdWx0OgoJCQkJcmV0dXJuIHRoaXMuX3dpZHRoIC0gdGhpcy5zZXR0aW5ncy5zdGFnZVBhZGRpbmcgKiAyICsgdGhpcy5zZXR0aW5ncy5tYXJnaW47CgkJfQoJfTsKCgkvKioKCSAqIFJlZnJlc2hlcyB0aGUgY2Fyb3VzZWwgcHJpbWFyaWx5IGZvciBhZGFwdGl2ZSBwdXJwb3Nlcy4KCSAqIEBwdWJsaWMKCSAqLwoJT3dsLnByb3RvdHlwZS5yZWZyZXNoID0gZnVuY3Rpb24oKSB7CgkJdGhpcy5lbnRlcigncmVmcmVzaGluZycpOwoJCXRoaXMudHJpZ2dlcigncmVmcmVzaCcpOwoKCQl0aGlzLnNldHVwKCk7CgoJCXRoaXMub3B0aW9uc0xvZ2ljKCk7CgoJCXRoaXMuJGVsZW1lbnQuYWRkQ2xhc3ModGhpcy5vcHRpb25zLnJlZnJlc2hDbGFzcyk7CgoJCXRoaXMudXBkYXRlKCk7CgoJCXRoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLnJlZnJlc2hDbGFzcyk7CgoJCXRoaXMubGVhdmUoJ3JlZnJlc2hpbmcnKTsKCQl0aGlzLnRyaWdnZXIoJ3JlZnJlc2hlZCcpOwoJfTsKCgkvKioKCSAqIENoZWNrcyB3aW5kb3cgYHJlc2l6ZWAgZXZlbnQuCgkgKiBAcHJvdGVjdGVkCgkgKi8KCU93bC5wcm90b3R5cGUub25UaHJvdHRsZWRSZXNpemUgPSBmdW5jdGlvbigpIHsKCQl3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMucmVzaXplVGltZXIpOwoJCXRoaXMucmVzaXplVGltZXIgPSB3aW5kb3cuc2V0VGltZW91dCh0aGlzLl9oYW5kbGVycy5vblJlc2l6ZSwgdGhpcy5zZXR0aW5ncy5yZXNwb25zaXZlUmVmcmVzaFJhdGUpOwoJfTsKCgkvKioKCSAqIENoZWNrcyB3aW5kb3cgYHJlc2l6ZWAgZXZlbnQuCgkgKiBAcHJvdGVjdGVkCgkgKi8KCU93bC5wcm90b3R5cGUub25SZXNpemUgPSBmdW5jdGlvbigpIHsKCQlpZiAoIXRoaXMuX2l0ZW1zLmxlbmd0aCkgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoKCQlpZiAodGhpcy5fd2lkdGggPT09IHRoaXMuJGVsZW1lbnQud2lkdGgoKSkgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoKCQlpZiAoIXRoaXMuJGVsZW1lbnQuaXMoJzp2aXNpYmxlJykpIHsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCgkJdGhpcy5lbnRlcigncmVzaXppbmcnKTsKCgkJaWYgKHRoaXMudHJpZ2dlcigncmVzaXplJykuaXNEZWZhdWx0UHJldmVudGVkKCkpIHsKCQkJdGhpcy5sZWF2ZSgncmVzaXppbmcnKTsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCgkJdGhpcy5pbnZhbGlkYXRlKCd3aWR0aCcpOwoKCQl0aGlzLnJlZnJlc2goKTsKCgkJdGhpcy5sZWF2ZSgncmVzaXppbmcnKTsKCQl0aGlzLnRyaWdnZXIoJ3Jlc2l6ZWQnKTsKCX07CgoJLyoqCgkgKiBSZWdpc3RlcnMgZXZlbnQgaGFuZGxlcnMuCgkgKiBAdG9kbyBDaGVjayBgbXNQb2ludGVyRW5hYmxlZGAKCSAqIEB0b2RvICMyNjEKCSAqIEBwcm90ZWN0ZWQKCSAqLwoJT3dsLnByb3RvdHlwZS5yZWdpc3RlckV2ZW50SGFuZGxlcnMgPSBmdW5jdGlvbigpIHsKCQlpZiAoJC5zdXBwb3J0LnRyYW5zaXRpb24pIHsKCQkJdGhpcy4kc3RhZ2Uub24oJC5zdXBwb3J0LnRyYW5zaXRpb24uZW5kICsgJy5vd2wuY29yZScsICQucHJveHkodGhpcy5vblRyYW5zaXRpb25FbmQsIHRoaXMpKTsKCQl9CgoJCWlmICh0aGlzLnNldHRpbmdzLnJlc3BvbnNpdmUgIT09IGZhbHNlKSB7CgkJCXRoaXMub24od2luZG93LCAncmVzaXplJywgdGhpcy5faGFuZGxlcnMub25UaHJvdHRsZWRSZXNpemUpOwoJCX0KCgkJaWYgKHRoaXMuc2V0dGluZ3MubW91c2VEcmFnKSB7CgkJCXRoaXMuJGVsZW1lbnQuYWRkQ2xhc3ModGhpcy5vcHRpb25zLmRyYWdDbGFzcyk7CgkJCXRoaXMuJHN0YWdlLm9uKCdtb3VzZWRvd24ub3dsLmNvcmUnLCAkLnByb3h5KHRoaXMub25EcmFnU3RhcnQsIHRoaXMpKTsKCQkJdGhpcy4kc3RhZ2Uub24oJ2RyYWdzdGFydC5vd2wuY29yZSBzZWxlY3RzdGFydC5vd2wuY29yZScsIGZ1bmN0aW9uKCkgeyByZXR1cm4gZmFsc2UgfSk7CgkJfQoKCQlpZiAodGhpcy5zZXR0aW5ncy50b3VjaERyYWcpewoJCQl0aGlzLiRzdGFnZS5vbigndG91Y2hzdGFydC5vd2wuY29yZScsICQucHJveHkodGhpcy5vbkRyYWdTdGFydCwgdGhpcykpOwoJCQl0aGlzLiRzdGFnZS5vbigndG91Y2hjYW5jZWwub3dsLmNvcmUnLCAkLnByb3h5KHRoaXMub25EcmFnRW5kLCB0aGlzKSk7CgkJfQoJfTsKCgkvKioKCSAqIEhhbmRsZXMgYHRvdWNoc3RhcnRgIGFuZCBgbW91c2Vkb3duYCBldmVudHMuCgkgKiBAdG9kbyBIb3Jpem9udGFsIHN3aXBlIHRocmVzaG9sZCBhcyBvcHRpb24KCSAqIEB0b2RvICMyNjEKCSAqIEBwcm90ZWN0ZWQKCSAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50IC0gVGhlIGV2ZW50IGFyZ3VtZW50cy4KCSAqLwoJT3dsLnByb3RvdHlwZS5vbkRyYWdTdGFydCA9IGZ1bmN0aW9uKGV2ZW50KSB7CgkJdmFyIHN0YWdlID0gbnVsbDsKCgkJaWYgKGV2ZW50LndoaWNoID09PSAzKSB7CgkJCXJldHVybjsKCQl9CgoJCWlmICgkLnN1cHBvcnQudHJhbnNmb3JtKSB7CgkJCXN0YWdlID0gdGhpcy4kc3RhZ2UuY3NzKCd0cmFuc2Zvcm0nKS5yZXBsYWNlKC8uKlwofFwpfCAvZywgJycpLnNwbGl0KCcsJyk7CgkJCXN0YWdlID0gewoJCQkJeDogc3RhZ2Vbc3RhZ2UubGVuZ3RoID09PSAxNiA/IDEyIDogNF0sCgkJCQl5OiBzdGFnZVtzdGFnZS5sZW5ndGggPT09IDE2ID8gMTMgOiA1XQoJCQl9OwoJCX0gZWxzZSB7CgkJCXN0YWdlID0gdGhpcy4kc3RhZ2UucG9zaXRpb24oKTsKCQkJc3RhZ2UgPSB7CgkJCQl4OiB0aGlzLnNldHRpbmdzLnJ0bCA/CgkJCQkJc3RhZ2UubGVmdCArIHRoaXMuJHN0YWdlLndpZHRoKCkgLSB0aGlzLndpZHRoKCkgKyB0aGlzLnNldHRpbmdzLm1hcmdpbiA6CgkJCQkJc3RhZ2UubGVmdCwKCQkJCXk6IHN0YWdlLnRvcAoJCQl9OwoJCX0KCgkJaWYgKHRoaXMuaXMoJ2FuaW1hdGluZycpKSB7CgkJCSQuc3VwcG9ydC50cmFuc2Zvcm0gPyB0aGlzLmFuaW1hdGUoc3RhZ2UueCkgOiB0aGlzLiRzdGFnZS5zdG9wKCkKCQkJdGhpcy5pbnZhbGlkYXRlKCdwb3NpdGlvbicpOwoJCX0KCgkJdGhpcy4kZWxlbWVudC50b2dnbGVDbGFzcyh0aGlzLm9wdGlvbnMuZ3JhYkNsYXNzLCBldmVudC50eXBlID09PSAnbW91c2Vkb3duJyk7CgoJCXRoaXMuc3BlZWQoMCk7CgoJCXRoaXMuX2RyYWcudGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpOwoJCXRoaXMuX2RyYWcudGFyZ2V0ID0gJChldmVudC50YXJnZXQpOwoJCXRoaXMuX2RyYWcuc3RhZ2Uuc3RhcnQgPSBzdGFnZTsKCQl0aGlzLl9kcmFnLnN0YWdlLmN1cnJlbnQgPSBzdGFnZTsKCQl0aGlzLl9kcmFnLnBvaW50ZXIgPSB0aGlzLnBvaW50ZXIoZXZlbnQpOwoKCQkkKGRvY3VtZW50KS5vbignbW91c2V1cC5vd2wuY29yZSB0b3VjaGVuZC5vd2wuY29yZScsICQucHJveHkodGhpcy5vbkRyYWdFbmQsIHRoaXMpKTsKCgkJJChkb2N1bWVudCkub25lKCdtb3VzZW1vdmUub3dsLmNvcmUgdG91Y2htb3ZlLm93bC5jb3JlJywgJC5wcm94eShmdW5jdGlvbihldmVudCkgewoJCQl2YXIgZGVsdGEgPSB0aGlzLmRpZmZlcmVuY2UodGhpcy5fZHJhZy5wb2ludGVyLCB0aGlzLnBvaW50ZXIoZXZlbnQpKTsKCgkJCSQoZG9jdW1lbnQpLm9uKCdtb3VzZW1vdmUub3dsLmNvcmUgdG91Y2htb3ZlLm93bC5jb3JlJywgJC5wcm94eSh0aGlzLm9uRHJhZ01vdmUsIHRoaXMpKTsKCgkJCWlmIChNYXRoLmFicyhkZWx0YS54KSA8IE1hdGguYWJzKGRlbHRhLnkpICYmIHRoaXMuaXMoJ3ZhbGlkJykpIHsKCQkJCXJldHVybjsKCQkJfQoKCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsKCgkJCXRoaXMuZW50ZXIoJ2RyYWdnaW5nJyk7CgkJCXRoaXMudHJpZ2dlcignZHJhZycpOwoJCX0sIHRoaXMpKTsKCX07CgoJLyoqCgkgKiBIYW5kbGVzIHRoZSBgdG91Y2htb3ZlYCBhbmQgYG1vdXNlbW92ZWAgZXZlbnRzLgoJICogQHRvZG8gIzI2MQoJICogQHByb3RlY3RlZAoJICogQHBhcmFtIHtFdmVudH0gZXZlbnQgLSBUaGUgZXZlbnQgYXJndW1lbnRzLgoJICovCglPd2wucHJvdG90eXBlLm9uRHJhZ01vdmUgPSBmdW5jdGlvbihldmVudCkgewoJCXZhciBtaW5pbXVtID0gbnVsbCwKCQkJbWF4aW11bSA9IG51bGwsCgkJCXB1bGwgPSBudWxsLAoJCQlkZWx0YSA9IHRoaXMuZGlmZmVyZW5jZSh0aGlzLl9kcmFnLnBvaW50ZXIsIHRoaXMucG9pbnRlcihldmVudCkpLAoJCQlzdGFnZSA9IHRoaXMuZGlmZmVyZW5jZSh0aGlzLl9kcmFnLnN0YWdlLnN0YXJ0LCBkZWx0YSk7CgoJCWlmICghdGhpcy5pcygnZHJhZ2dpbmcnKSkgewoJCQlyZXR1cm47CgkJfQoKCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOwoKCQlpZiAodGhpcy5zZXR0aW5ncy5sb29wKSB7CgkJCW1pbmltdW0gPSB0aGlzLmNvb3JkaW5hdGVzKHRoaXMubWluaW11bSgpKTsKCQkJbWF4aW11bSA9IHRoaXMuY29vcmRpbmF0ZXModGhpcy5tYXhpbXVtKCkgKyAxKSAtIG1pbmltdW07CgkJCXN0YWdlLnggPSAoKChzdGFnZS54IC0gbWluaW11bSkgJSBtYXhpbXVtICsgbWF4aW11bSkgJSBtYXhpbXVtKSArIG1pbmltdW07CgkJfSBlbHNlIHsKCQkJbWluaW11bSA9IHRoaXMuc2V0dGluZ3MucnRsID8gdGhpcy5jb29yZGluYXRlcyh0aGlzLm1heGltdW0oKSkgOiB0aGlzLmNvb3JkaW5hdGVzKHRoaXMubWluaW11bSgpKTsKCQkJbWF4aW11bSA9IHRoaXMuc2V0dGluZ3MucnRsID8gdGhpcy5jb29yZGluYXRlcyh0aGlzLm1pbmltdW0oKSkgOiB0aGlzLmNvb3JkaW5hdGVzKHRoaXMubWF4aW11bSgpKTsKCQkJcHVsbCA9IHRoaXMuc2V0dGluZ3MucHVsbERyYWcgPyAtMSAqIGRlbHRhLnggLyA1IDogMDsKCQkJc3RhZ2UueCA9IE1hdGgubWF4KE1hdGgubWluKHN0YWdlLngsIG1pbmltdW0gKyBwdWxsKSwgbWF4aW11bSArIHB1bGwpOwoJCX0KCgkJdGhpcy5fZHJhZy5zdGFnZS5jdXJyZW50ID0gc3RhZ2U7CgoJCXRoaXMuYW5pbWF0ZShzdGFnZS54KTsKCX07CgoJLyoqCgkgKiBIYW5kbGVzIHRoZSBgdG91Y2hlbmRgIGFuZCBgbW91c2V1cGAgZXZlbnRzLgoJICogQHRvZG8gIzI2MQoJICogQHRvZG8gVGhyZXNob2xkIGZvciBjbGljayBldmVudAoJICogQHByb3RlY3RlZAoJICogQHBhcmFtIHtFdmVudH0gZXZlbnQgLSBUaGUgZXZlbnQgYXJndW1lbnRzLgoJICovCglPd2wucHJvdG90eXBlLm9uRHJhZ0VuZCA9IGZ1bmN0aW9uKGV2ZW50KSB7CgkJdmFyIGRlbHRhID0gdGhpcy5kaWZmZXJlbmNlKHRoaXMuX2RyYWcucG9pbnRlciwgdGhpcy5wb2ludGVyKGV2ZW50KSksCgkJCXN0YWdlID0gdGhpcy5fZHJhZy5zdGFnZS5jdXJyZW50LAoJCQlkaXJlY3Rpb24gPSBkZWx0YS54ID4gMCBeIHRoaXMuc2V0dGluZ3MucnRsID8gJ2xlZnQnIDogJ3JpZ2h0JzsKCgkJJChkb2N1bWVudCkub2ZmKCcub3dsLmNvcmUnKTsKCgkJdGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMuZ3JhYkNsYXNzKTsKCgkJaWYgKGRlbHRhLnggIT09IDAgJiYgdGhpcy5pcygnZHJhZ2dpbmcnKSB8fCAhdGhpcy5pcygndmFsaWQnKSkgewoJCQl0aGlzLnNwZWVkKHRoaXMuc2V0dGluZ3MuZHJhZ0VuZFNwZWVkIHx8IHRoaXMuc2V0dGluZ3Muc21hcnRTcGVlZCk7CgkJCXRoaXMuY3VycmVudCh0aGlzLmNsb3Nlc3Qoc3RhZ2UueCwgZGVsdGEueCAhPT0gMCA/IGRpcmVjdGlvbiA6IHRoaXMuX2RyYWcuZGlyZWN0aW9uKSk7CgkJCXRoaXMuaW52YWxpZGF0ZSgncG9zaXRpb24nKTsKCQkJdGhpcy51cGRhdGUoKTsKCgkJCXRoaXMuX2RyYWcuZGlyZWN0aW9uID0gZGlyZWN0aW9uOwoKCQkJaWYgKE1hdGguYWJzKGRlbHRhLngpID4gMyB8fCBuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIHRoaXMuX2RyYWcudGltZSA+IDMwMCkgewoJCQkJdGhpcy5fZHJhZy50YXJnZXQub25lKCdjbGljay5vd2wuY29yZScsIGZ1bmN0aW9uKCkgeyByZXR1cm4gZmFsc2U7IH0pOwoJCQl9CgkJfQoKCQlpZiAoIXRoaXMuaXMoJ2RyYWdnaW5nJykpIHsKCQkJcmV0dXJuOwoJCX0KCgkJdGhpcy5sZWF2ZSgnZHJhZ2dpbmcnKTsKCQl0aGlzLnRyaWdnZXIoJ2RyYWdnZWQnKTsKCX07CgoJLyoqCgkgKiBHZXRzIGFic29sdXRlIHBvc2l0aW9uIG9mIHRoZSBjbG9zZXN0IGl0ZW0gZm9yIGEgY29vcmRpbmF0ZS4KCSAqIEB0b2RvIFNldHRpbmcgYGZyZWVEcmFnYCBtYWtlcyBgY2xvc2VzdGAgbm90IHJldXNhYmxlLiBTZWUgIzE2NS4KCSAqIEBwcm90ZWN0ZWQKCSAqIEBwYXJhbSB7TnVtYmVyfSBjb29yZGluYXRlIC0gVGhlIGNvb3JkaW5hdGUgaW4gcGl4ZWwuCgkgKiBAcGFyYW0ge1N0cmluZ30gZGlyZWN0aW9uIC0gVGhlIGRpcmVjdGlvbiB0byBjaGVjayBmb3IgdGhlIGNsb3Nlc3QgaXRlbS4gRXRoZXIgYGxlZnRgIG9yIGByaWdodGAuCgkgKiBAcmV0dXJuIHtOdW1iZXJ9IC0gVGhlIGFic29sdXRlIHBvc2l0aW9uIG9mIHRoZSBjbG9zZXN0IGl0ZW0uCgkgKi8KCU93bC5wcm90b3R5cGUuY2xvc2VzdCA9IGZ1bmN0aW9uKGNvb3JkaW5hdGUsIGRpcmVjdGlvbikgewoJCXZhciBwb3NpdGlvbiA9IC0xLAoJCQlwdWxsID0gMzAsCgkJCXdpZHRoID0gdGhpcy53aWR0aCgpLAoJCQljb29yZGluYXRlcyA9IHRoaXMuY29vcmRpbmF0ZXMoKTsKCgkJaWYgKCF0aGlzLnNldHRpbmdzLmZyZWVEcmFnKSB7CgkJCS8vIGNoZWNrIGNsb3Nlc3QgaXRlbQoJCQkkLmVhY2goY29vcmRpbmF0ZXMsICQucHJveHkoZnVuY3Rpb24oaW5kZXgsIHZhbHVlKSB7CgkJCQkvLyBvbiBhIGxlZnQgcHVsbCwgY2hlY2sgb24gY3VycmVudCBpbmRleAoJCQkJaWYgKGRpcmVjdGlvbiA9PT0gJ2xlZnQnICYmIGNvb3JkaW5hdGUgPiB2YWx1ZSAtIHB1bGwgJiYgY29vcmRpbmF0ZSA8IHZhbHVlICsgcHVsbCkgewoJCQkJCXBvc2l0aW9uID0gaW5kZXg7CgkJCQkvLyBvbiBhIHJpZ2h0IHB1bGwsIGNoZWNrIG9uIHByZXZpb3VzIGluZGV4CgkJCQkvLyB0byBkbyBzbywgc3VidHJhY3Qgd2lkdGggZnJvbSB2YWx1ZSBhbmQgc2V0IHBvc2l0aW9uID0gaW5kZXggKyAxCgkJCQl9IGVsc2UgaWYgKGRpcmVjdGlvbiA9PT0gJ3JpZ2h0JyAmJiBjb29yZGluYXRlID4gdmFsdWUgLSB3aWR0aCAtIHB1bGwgJiYgY29vcmRpbmF0ZSA8IHZhbHVlIC0gd2lkdGggKyBwdWxsKSB7CgkJCQkJcG9zaXRpb24gPSBpbmRleCArIDE7CgkJCQl9IGVsc2UgaWYgKHRoaXMub3AoY29vcmRpbmF0ZSwgJzwnLCB2YWx1ZSkKCQkJCQkmJiB0aGlzLm9wKGNvb3JkaW5hdGUsICc+JywgY29vcmRpbmF0ZXNbaW5kZXggKyAxXSB8fCB2YWx1ZSAtIHdpZHRoKSkgewoJCQkJCXBvc2l0aW9uID0gZGlyZWN0aW9uID09PSAnbGVmdCcgPyBpbmRleCArIDEgOiBpbmRleDsKCQkJCX0KCQkJCXJldHVybiBwb3NpdGlvbiA9PT0gLTE7CgkJCX0sIHRoaXMpKTsKCQl9CgoJCWlmICghdGhpcy5zZXR0aW5ncy5sb29wKSB7CgkJCS8vIG5vbiBsb29wIGJvdW5kcmllcwoJCQlpZiAodGhpcy5vcChjb29yZGluYXRlLCAnPicsIGNvb3JkaW5hdGVzW3RoaXMubWluaW11bSgpXSkpIHsKCQkJCXBvc2l0aW9uID0gY29vcmRpbmF0ZSA9IHRoaXMubWluaW11bSgpOwoJCQl9IGVsc2UgaWYgKHRoaXMub3AoY29vcmRpbmF0ZSwgJzwnLCBjb29yZGluYXRlc1t0aGlzLm1heGltdW0oKV0pKSB7CgkJCQlwb3NpdGlvbiA9IGNvb3JkaW5hdGUgPSB0aGlzLm1heGltdW0oKTsKCQkJfQoJCX0KCgkJcmV0dXJuIHBvc2l0aW9uOwoJfTsKCgkvKioKCSAqIEFuaW1hdGVzIHRoZSBzdGFnZS4KCSAqIEB0b2RvICMyNzAKCSAqIEBwdWJsaWMKCSAqIEBwYXJhbSB7TnVtYmVyfSBjb29yZGluYXRlIC0gVGhlIGNvb3JkaW5hdGUgaW4gcGl4ZWxzLgoJICovCglPd2wucHJvdG90eXBlLmFuaW1hdGUgPSBmdW5jdGlvbihjb29yZGluYXRlKSB7CgkJdmFyIGFuaW1hdGUgPSB0aGlzLnNwZWVkKCkgPiAwOwoKCQl0aGlzLmlzKCdhbmltYXRpbmcnKSAmJiB0aGlzLm9uVHJhbnNpdGlvbkVuZCgpOwoKCQlpZiAoYW5pbWF0ZSkgewoJCQl0aGlzLmVudGVyKCdhbmltYXRpbmcnKTsKCQkJdGhpcy50cmlnZ2VyKCd0cmFuc2xhdGUnKTsKCQl9CgoJCWlmICgkLnN1cHBvcnQudHJhbnNmb3JtM2QgJiYgJC5zdXBwb3J0LnRyYW5zaXRpb24pIHsKCQkJdGhpcy4kc3RhZ2UuY3NzKHsKCQkJCXRyYW5zZm9ybTogJ3RyYW5zbGF0ZTNkKCcgKyBjb29yZGluYXRlICsgJ3B4LDBweCwwcHgpJywKCQkJCXRyYW5zaXRpb246ICh0aGlzLnNwZWVkKCkgLyAxMDAwKSArICdzJwoJCQl9KTsKCQl9IGVsc2UgaWYgKGFuaW1hdGUpIHsKCQkJdGhpcy4kc3RhZ2UuYW5pbWF0ZSh7CgkJCQlsZWZ0OiBjb29yZGluYXRlICsgJ3B4JwoJCQl9LCB0aGlzLnNwZWVkKCksIHRoaXMuc2V0dGluZ3MuZmFsbGJhY2tFYXNpbmcsICQucHJveHkodGhpcy5vblRyYW5zaXRpb25FbmQsIHRoaXMpKTsKCQl9IGVsc2UgewoJCQl0aGlzLiRzdGFnZS5jc3MoewoJCQkJbGVmdDogY29vcmRpbmF0ZSArICdweCcKCQkJfSk7CgkJfQoJfTsKCgkvKioKCSAqIENoZWNrcyB3aGV0aGVyIHRoZSBjYXJvdXNlbCBpcyBpbiBhIHNwZWNpZmljIHN0YXRlIG9yIG5vdC4KCSAqIEBwYXJhbSB7U3RyaW5nfSBzdGF0ZSAtIFRoZSBzdGF0ZSB0byBjaGVjay4KCSAqIEByZXR1cm5zIHtCb29sZWFufSAtIFRoZSBmbGFnIHdoaWNoIGluZGljYXRlcyBpZiB0aGUgY2Fyb3VzZWwgaXMgYnVzeS4KCSAqLwoJT3dsLnByb3RvdHlwZS5pcyA9IGZ1bmN0aW9uKHN0YXRlKSB7CgkJcmV0dXJuIHRoaXMuX3N0YXRlcy5jdXJyZW50W3N0YXRlXSAmJiB0aGlzLl9zdGF0ZXMuY3VycmVudFtzdGF0ZV0gPiAwOwoJfTsKCgkvKioKCSAqIFNldHMgdGhlIGFic29sdXRlIHBvc2l0aW9uIG9mIHRoZSBjdXJyZW50IGl0ZW0uCgkgKiBAcHVibGljCgkgKiBAcGFyYW0ge051bWJlcn0gW3Bvc2l0aW9uXSAtIFRoZSBuZXcgYWJzb2x1dGUgcG9zaXRpb24gb3Igbm90aGluZyB0byBsZWF2ZSBpdCB1bmNoYW5nZWQuCgkgKiBAcmV0dXJucyB7TnVtYmVyfSAtIFRoZSBhYnNvbHV0ZSBwb3NpdGlvbiBvZiB0aGUgY3VycmVudCBpdGVtLgoJICovCglPd2wucHJvdG90eXBlLmN1cnJlbnQgPSBmdW5jdGlvbihwb3NpdGlvbikgewoJCWlmIChwb3NpdGlvbiA9PT0gdW5kZWZpbmVkKSB7CgkJCXJldHVybiB0aGlzLl9jdXJyZW50OwoJCX0KCgkJaWYgKHRoaXMuX2l0ZW1zLmxlbmd0aCA9PT0gMCkgewoJCQlyZXR1cm4gdW5kZWZpbmVkOwoJCX0KCgkJcG9zaXRpb24gPSB0aGlzLm5vcm1hbGl6ZShwb3NpdGlvbik7CgoJCWlmICh0aGlzLl9jdXJyZW50ICE9PSBwb3NpdGlvbikgewoJCQl2YXIgZXZlbnQgPSB0aGlzLnRyaWdnZXIoJ2NoYW5nZScsIHsgcHJvcGVydHk6IHsgbmFtZTogJ3Bvc2l0aW9uJywgdmFsdWU6IHBvc2l0aW9uIH0gfSk7CgoJCQlpZiAoZXZlbnQuZGF0YSAhPT0gdW5kZWZpbmVkKSB7CgkJCQlwb3NpdGlvbiA9IHRoaXMubm9ybWFsaXplKGV2ZW50LmRhdGEpOwoJCQl9CgoJCQl0aGlzLl9jdXJyZW50ID0gcG9zaXRpb247CgoJCQl0aGlzLmludmFsaWRhdGUoJ3Bvc2l0aW9uJyk7CgoJCQl0aGlzLnRyaWdnZXIoJ2NoYW5nZWQnLCB7IHByb3BlcnR5OiB7IG5hbWU6ICdwb3NpdGlvbicsIHZhbHVlOiB0aGlzLl9jdXJyZW50IH0gfSk7CgkJfQoKCQlyZXR1cm4gdGhpcy5fY3VycmVudDsKCX07CgoJLyoqCgkgKiBJbnZhbGlkYXRlcyB0aGUgZ2l2ZW4gcGFydCBvZiB0aGUgdXBkYXRlIHJvdXRpbmUuCgkgKiBAcGFyYW0ge1N0cmluZ30gW3BhcnRdIC0gVGhlIHBhcnQgdG8gaW52YWxpZGF0ZS4KCSAqIEByZXR1cm5zIHtBcnJheS48U3RyaW5nPn0gLSBUaGUgaW52YWxpZGF0ZWQgcGFydHMuCgkgKi8KCU93bC5wcm90b3R5cGUuaW52YWxpZGF0ZSA9IGZ1bmN0aW9uKHBhcnQpIHsKCQlpZiAoJC50eXBlKHBhcnQpID09PSAnc3RyaW5nJykgewoJCQl0aGlzLl9pbnZhbGlkYXRlZFtwYXJ0XSA9IHRydWU7CgkJCXRoaXMuaXMoJ3ZhbGlkJykgJiYgdGhpcy5sZWF2ZSgndmFsaWQnKTsKCQl9CgkJcmV0dXJuICQubWFwKHRoaXMuX2ludmFsaWRhdGVkLCBmdW5jdGlvbih2LCBpKSB7IHJldHVybiBpIH0pOwoJfTsKCgkvKioKCSAqIFJlc2V0cyB0aGUgYWJzb2x1dGUgcG9zaXRpb24gb2YgdGhlIGN1cnJlbnQgaXRlbS4KCSAqIEBwdWJsaWMKCSAqIEBwYXJhbSB7TnVtYmVyfSBwb3NpdGlvbiAtIFRoZSBhYnNvbHV0ZSBwb3NpdGlvbiBvZiB0aGUgbmV3IGl0ZW0uCgkgKi8KCU93bC5wcm90b3R5cGUucmVzZXQgPSBmdW5jdGlvbihwb3NpdGlvbikgewoJCXBvc2l0aW9uID0gdGhpcy5ub3JtYWxpemUocG9zaXRpb24pOwoKCQlpZiAocG9zaXRpb24gPT09IHVuZGVmaW5lZCkgewoJCQlyZXR1cm47CgkJfQoKCQl0aGlzLl9zcGVlZCA9IDA7CgkJdGhpcy5fY3VycmVudCA9IHBvc2l0aW9uOwoKCQl0aGlzLnN1cHByZXNzKFsgJ3RyYW5zbGF0ZScsICd0cmFuc2xhdGVkJyBdKTsKCgkJdGhpcy5hbmltYXRlKHRoaXMuY29vcmRpbmF0ZXMocG9zaXRpb24pKTsKCgkJdGhpcy5yZWxlYXNlKFsgJ3RyYW5zbGF0ZScsICd0cmFuc2xhdGVkJyBdKTsKCX07CgoJLyoqCgkgKiBOb3JtYWxpemVzIGFuIGFic29sdXRlIG9yIGEgcmVsYXRpdmUgcG9zaXRpb24gb2YgYW4gaXRlbS4KCSAqIEBwdWJsaWMKCSAqIEBwYXJhbSB7TnVtYmVyfSBwb3NpdGlvbiAtIFRoZSBhYnNvbHV0ZSBvciByZWxhdGl2ZSBwb3NpdGlvbiB0byBub3JtYWxpemUuCgkgKiBAcGFyYW0ge0Jvb2xlYW59IFtyZWxhdGl2ZT1mYWxzZV0gLSBXaGV0aGVyIHRoZSBnaXZlbiBwb3NpdGlvbiBpcyByZWxhdGl2ZSBvciBub3QuCgkgKiBAcmV0dXJucyB7TnVtYmVyfSAtIFRoZSBub3JtYWxpemVkIHBvc2l0aW9uLgoJICovCglPd2wucHJvdG90eXBlLm5vcm1hbGl6ZSA9IGZ1bmN0aW9uKHBvc2l0aW9uLCByZWxhdGl2ZSkgewoJCXZhciBuID0gdGhpcy5faXRlbXMubGVuZ3RoLAoJCQltID0gcmVsYXRpdmUgPyAwIDogdGhpcy5fY2xvbmVzLmxlbmd0aDsKCgkJaWYgKCF0aGlzLmlzTnVtZXJpYyhwb3NpdGlvbikgfHwgbiA8IDEpIHsKCQkJcG9zaXRpb24gPSB1bmRlZmluZWQ7CgkJfSBlbHNlIGlmIChwb3NpdGlvbiA8IDAgfHwgcG9zaXRpb24gPj0gbiArIG0pIHsKCQkJcG9zaXRpb24gPSAoKHBvc2l0aW9uIC0gbSAvIDIpICUgbiArIG4pICUgbiArIG0gLyAyOwoJCX0KCgkJcmV0dXJuIHBvc2l0aW9uOwoJfTsKCgkvKioKCSAqIENvbnZlcnRzIGFuIGFic29sdXRlIHBvc2l0aW9uIG9mIGFuIGl0ZW0gaW50byBhIHJlbGF0aXZlIG9uZS4KCSAqIEBwdWJsaWMKCSAqIEBwYXJhbSB7TnVtYmVyfSBwb3NpdGlvbiAtIFRoZSBhYnNvbHV0ZSBwb3NpdGlvbiB0byBjb252ZXJ0LgoJICogQHJldHVybnMge051bWJlcn0gLSBUaGUgY29udmVydGVkIHBvc2l0aW9uLgoJICovCglPd2wucHJvdG90eXBlLnJlbGF0aXZlID0gZnVuY3Rpb24ocG9zaXRpb24pIHsKCQlwb3NpdGlvbiAtPSB0aGlzLl9jbG9uZXMubGVuZ3RoIC8gMjsKCQlyZXR1cm4gdGhpcy5ub3JtYWxpemUocG9zaXRpb24sIHRydWUpOwoJfTsKCgkvKioKCSAqIEdldHMgdGhlIG1heGltdW0gcG9zaXRpb24gZm9yIHRoZSBjdXJyZW50IGl0ZW0uCgkgKiBAcHVibGljCgkgKiBAcGFyYW0ge0Jvb2xlYW59IFtyZWxhdGl2ZT1mYWxzZV0gLSBXaGV0aGVyIHRvIHJldHVybiBhbiBhYnNvbHV0ZSBwb3NpdGlvbiBvciBhIHJlbGF0aXZlIHBvc2l0aW9uLgoJICogQHJldHVybnMge051bWJlcn0KCSAqLwoJT3dsLnByb3RvdHlwZS5tYXhpbXVtID0gZnVuY3Rpb24ocmVsYXRpdmUpIHsKCQl2YXIgc2V0dGluZ3MgPSB0aGlzLnNldHRpbmdzLAoJCQltYXhpbXVtID0gdGhpcy5fY29vcmRpbmF0ZXMubGVuZ3RoLAoJCQlpdGVyYXRvciwKCQkJcmVjaXByb2NhbEl0ZW1zV2lkdGgsCgkJCWVsZW1lbnRXaWR0aDsKCgkJaWYgKHNldHRpbmdzLmxvb3ApIHsKCQkJbWF4aW11bSA9IHRoaXMuX2Nsb25lcy5sZW5ndGggLyAyICsgdGhpcy5faXRlbXMubGVuZ3RoIC0gMTsKCQl9IGVsc2UgaWYgKHNldHRpbmdzLmF1dG9XaWR0aCB8fCBzZXR0aW5ncy5tZXJnZSkgewoJCQlpdGVyYXRvciA9IHRoaXMuX2l0ZW1zLmxlbmd0aDsKCQkJcmVjaXByb2NhbEl0ZW1zV2lkdGggPSB0aGlzLl9pdGVtc1stLWl0ZXJhdG9yXS53aWR0aCgpOwoJCQllbGVtZW50V2lkdGggPSB0aGlzLiRlbGVtZW50LndpZHRoKCk7CgkJCXdoaWxlIChpdGVyYXRvci0tKSB7CgkJCQlyZWNpcHJvY2FsSXRlbXNXaWR0aCArPSB0aGlzLl9pdGVtc1tpdGVyYXRvcl0ud2lkdGgoKSArIHRoaXMuc2V0dGluZ3MubWFyZ2luOwoJCQkJaWYgKHJlY2lwcm9jYWxJdGVtc1dpZHRoID4gZWxlbWVudFdpZHRoKSB7CgkJCQkJYnJlYWs7CgkJCQl9CgkJCX0KCQkJbWF4aW11bSA9IGl0ZXJhdG9yICsgMTsKCQl9IGVsc2UgaWYgKHNldHRpbmdzLmNlbnRlcikgewoJCQltYXhpbXVtID0gdGhpcy5faXRlbXMubGVuZ3RoIC0gMTsKCQl9IGVsc2UgewoJCQltYXhpbXVtID0gdGhpcy5faXRlbXMubGVuZ3RoIC0gc2V0dGluZ3MuaXRlbXM7CgkJfQoKCQlpZiAocmVsYXRpdmUpIHsKCQkJbWF4aW11bSAtPSB0aGlzLl9jbG9uZXMubGVuZ3RoIC8gMjsKCQl9CgoJCXJldHVybiBNYXRoLm1heChtYXhpbXVtLCAwKTsKCX07CgoJLyoqCgkgKiBHZXRzIHRoZSBtaW5pbXVtIHBvc2l0aW9uIGZvciB0aGUgY3VycmVudCBpdGVtLgoJICogQHB1YmxpYwoJICogQHBhcmFtIHtCb29sZWFufSBbcmVsYXRpdmU9ZmFsc2VdIC0gV2hldGhlciB0byByZXR1cm4gYW4gYWJzb2x1dGUgcG9zaXRpb24gb3IgYSByZWxhdGl2ZSBwb3NpdGlvbi4KCSAqIEByZXR1cm5zIHtOdW1iZXJ9CgkgKi8KCU93bC5wcm90b3R5cGUubWluaW11bSA9IGZ1bmN0aW9uKHJlbGF0aXZlKSB7CgkJcmV0dXJuIHJlbGF0aXZlID8gMCA6IHRoaXMuX2Nsb25lcy5sZW5ndGggLyAyOwoJfTsKCgkvKioKCSAqIEdldHMgYW4gaXRlbSBhdCB0aGUgc3BlY2lmaWVkIHJlbGF0aXZlIHBvc2l0aW9uLgoJICogQHB1YmxpYwoJICogQHBhcmFtIHtOdW1iZXJ9IFtwb3NpdGlvbl0gLSBUaGUgcmVsYXRpdmUgcG9zaXRpb24gb2YgdGhlIGl0ZW0uCgkgKiBAcmV0dXJuIHtqUXVlcnl8QXJyYXkuPGpRdWVyeT59IC0gVGhlIGl0ZW0gYXQgdGhlIGdpdmVuIHBvc2l0aW9uIG9yIGFsbCBpdGVtcyBpZiBubyBwb3NpdGlvbiB3YXMgZ2l2ZW4uCgkgKi8KCU93bC5wcm90b3R5cGUuaXRlbXMgPSBmdW5jdGlvbihwb3NpdGlvbikgewoJCWlmIChwb3NpdGlvbiA9PT0gdW5kZWZpbmVkKSB7CgkJCXJldHVybiB0aGlzLl9pdGVtcy5zbGljZSgpOwoJCX0KCgkJcG9zaXRpb24gPSB0aGlzLm5vcm1hbGl6ZShwb3NpdGlvbiwgdHJ1ZSk7CgkJcmV0dXJuIHRoaXMuX2l0ZW1zW3Bvc2l0aW9uXTsKCX07CgoJLyoqCgkgKiBHZXRzIGFuIGl0ZW0gYXQgdGhlIHNwZWNpZmllZCByZWxhdGl2ZSBwb3NpdGlvbi4KCSAqIEBwdWJsaWMKCSAqIEBwYXJhbSB7TnVtYmVyfSBbcG9zaXRpb25dIC0gVGhlIHJlbGF0aXZlIHBvc2l0aW9uIG9mIHRoZSBpdGVtLgoJICogQHJldHVybiB7alF1ZXJ5fEFycmF5LjxqUXVlcnk+fSAtIFRoZSBpdGVtIGF0IHRoZSBnaXZlbiBwb3NpdGlvbiBvciBhbGwgaXRlbXMgaWYgbm8gcG9zaXRpb24gd2FzIGdpdmVuLgoJICovCglPd2wucHJvdG90eXBlLm1lcmdlcnMgPSBmdW5jdGlvbihwb3NpdGlvbikgewoJCWlmIChwb3NpdGlvbiA9PT0gdW5kZWZpbmVkKSB7CgkJCXJldHVybiB0aGlzLl9tZXJnZXJzLnNsaWNlKCk7CgkJfQoKCQlwb3NpdGlvbiA9IHRoaXMubm9ybWFsaXplKHBvc2l0aW9uLCB0cnVlKTsKCQlyZXR1cm4gdGhpcy5fbWVyZ2Vyc1twb3NpdGlvbl07Cgl9OwoKCS8qKgoJICogR2V0cyB0aGUgYWJzb2x1dGUgcG9zaXRpb25zIG9mIGNsb25lcyBmb3IgYW4gaXRlbS4KCSAqIEBwdWJsaWMKCSAqIEBwYXJhbSB7TnVtYmVyfSBbcG9zaXRpb25dIC0gVGhlIHJlbGF0aXZlIHBvc2l0aW9uIG9mIHRoZSBpdGVtLgoJICogQHJldHVybnMge0FycmF5LjxOdW1iZXI+fSAtIFRoZSBhYnNvbHV0ZSBwb3NpdGlvbnMgb2YgY2xvbmVzIGZvciB0aGUgaXRlbSBvciBhbGwgaWYgbm8gcG9zaXRpb24gd2FzIGdpdmVuLgoJICovCglPd2wucHJvdG90eXBlLmNsb25lcyA9IGZ1bmN0aW9uKHBvc2l0aW9uKSB7CgkJdmFyIG9kZCA9IHRoaXMuX2Nsb25lcy5sZW5ndGggLyAyLAoJCQlldmVuID0gb2RkICsgdGhpcy5faXRlbXMubGVuZ3RoLAoJCQltYXAgPSBmdW5jdGlvbihpbmRleCkgeyByZXR1cm4gaW5kZXggJSAyID09PSAwID8gZXZlbiArIGluZGV4IC8gMiA6IG9kZCAtIChpbmRleCArIDEpIC8gMiB9OwoKCQlpZiAocG9zaXRpb24gPT09IHVuZGVmaW5lZCkgewoJCQlyZXR1cm4gJC5tYXAodGhpcy5fY2xvbmVzLCBmdW5jdGlvbih2LCBpKSB7IHJldHVybiBtYXAoaSkgfSk7CgkJfQoKCQlyZXR1cm4gJC5tYXAodGhpcy5fY2xvbmVzLCBmdW5jdGlvbih2LCBpKSB7IHJldHVybiB2ID09PSBwb3NpdGlvbiA/IG1hcChpKSA6IG51bGwgfSk7Cgl9OwoKCS8qKgoJICogU2V0cyB0aGUgY3VycmVudCBhbmltYXRpb24gc3BlZWQuCgkgKiBAcHVibGljCgkgKiBAcGFyYW0ge051bWJlcn0gW3NwZWVkXSAtIFRoZSBhbmltYXRpb24gc3BlZWQgaW4gbWlsbGlzZWNvbmRzIG9yIG5vdGhpbmcgdG8gbGVhdmUgaXQgdW5jaGFuZ2VkLgoJICogQHJldHVybnMge051bWJlcn0gLSBUaGUgY3VycmVudCBhbmltYXRpb24gc3BlZWQgaW4gbWlsbGlzZWNvbmRzLgoJICovCglPd2wucHJvdG90eXBlLnNwZWVkID0gZnVuY3Rpb24oc3BlZWQpIHsKCQlpZiAoc3BlZWQgIT09IHVuZGVmaW5lZCkgewoJCQl0aGlzLl9zcGVlZCA9IHNwZWVkOwoJCX0KCgkJcmV0dXJuIHRoaXMuX3NwZWVkOwoJfTsKCgkvKioKCSAqIEdldHMgdGhlIGNvb3JkaW5hdGUgb2YgYW4gaXRlbS4KCSAqIEB0b2RvIFRoZSBuYW1lIG9mIHRoaXMgbWV0aG9kIGlzIG1pc3NsZWFuZGluZy4KCSAqIEBwdWJsaWMKCSAqIEBwYXJhbSB7TnVtYmVyfSBwb3NpdGlvbiAtIFRoZSBhYnNvbHV0ZSBwb3NpdGlvbiBvZiB0aGUgaXRlbSB3aXRoaW4gYG1pbmltdW0oKWAgYW5kIGBtYXhpbXVtKClgLgoJICogQHJldHVybnMge051bWJlcnxBcnJheS48TnVtYmVyPn0gLSBUaGUgY29vcmRpbmF0ZSBvZiB0aGUgaXRlbSBpbiBwaXhlbCBvciBhbGwgY29vcmRpbmF0ZXMuCgkgKi8KCU93bC5wcm90b3R5cGUuY29vcmRpbmF0ZXMgPSBmdW5jdGlvbihwb3NpdGlvbikgewoJCXZhciBtdWx0aXBsaWVyID0gMSwKCQkJbmV3UG9zaXRpb24gPSBwb3NpdGlvbiAtIDEsCgkJCWNvb3JkaW5hdGU7CgoJCWlmIChwb3NpdGlvbiA9PT0gdW5kZWZpbmVkKSB7CgkJCXJldHVybiAkLm1hcCh0aGlzLl9jb29yZGluYXRlcywgJC5wcm94eShmdW5jdGlvbihjb29yZGluYXRlLCBpbmRleCkgewoJCQkJcmV0dXJuIHRoaXMuY29vcmRpbmF0ZXMoaW5kZXgpOwoJCQl9LCB0aGlzKSk7CgkJfQoKCQlpZiAodGhpcy5zZXR0aW5ncy5jZW50ZXIpIHsKCQkJaWYgKHRoaXMuc2V0dGluZ3MucnRsKSB7CgkJCQltdWx0aXBsaWVyID0gLTE7CgkJCQluZXdQb3NpdGlvbiA9IHBvc2l0aW9uICsgMTsKCQkJfQoKCQkJY29vcmRpbmF0ZSA9IHRoaXMuX2Nvb3JkaW5hdGVzW3Bvc2l0aW9uXTsKCQkJY29vcmRpbmF0ZSArPSAodGhpcy53aWR0aCgpIC0gY29vcmRpbmF0ZSArICh0aGlzLl9jb29yZGluYXRlc1tuZXdQb3NpdGlvbl0gfHwgMCkpIC8gMiAqIG11bHRpcGxpZXI7CgkJfSBlbHNlIHsKCQkJY29vcmRpbmF0ZSA9IHRoaXMuX2Nvb3JkaW5hdGVzW25ld1Bvc2l0aW9uXSB8fCAwOwoJCX0KCgkJY29vcmRpbmF0ZSA9IE1hdGguY2VpbChjb29yZGluYXRlKTsKCgkJcmV0dXJuIGNvb3JkaW5hdGU7Cgl9OwoKCS8qKgoJICogQ2FsY3VsYXRlcyB0aGUgc3BlZWQgZm9yIGEgdHJhbnNsYXRpb24uCgkgKiBAcHJvdGVjdGVkCgkgKiBAcGFyYW0ge051bWJlcn0gZnJvbSAtIFRoZSBhYnNvbHV0ZSBwb3NpdGlvbiBvZiB0aGUgc3RhcnQgaXRlbS4KCSAqIEBwYXJhbSB7TnVtYmVyfSB0byAtIFRoZSBhYnNvbHV0ZSBwb3NpdGlvbiBvZiB0aGUgdGFyZ2V0IGl0ZW0uCgkgKiBAcGFyYW0ge051bWJlcn0gW2ZhY3Rvcj11bmRlZmluZWRdIC0gVGhlIHRpbWUgZmFjdG9yIGluIG1pbGxpc2Vjb25kcy4KCSAqIEByZXR1cm5zIHtOdW1iZXJ9IC0gVGhlIHRpbWUgaW4gbWlsbGlzZWNvbmRzIGZvciB0aGUgdHJhbnNsYXRpb24uCgkgKi8KCU93bC5wcm90b3R5cGUuZHVyYXRpb24gPSBmdW5jdGlvbihmcm9tLCB0bywgZmFjdG9yKSB7CgkJaWYgKGZhY3RvciA9PT0gMCkgewoJCQlyZXR1cm4gMDsKCQl9CgoJCXJldHVybiBNYXRoLm1pbihNYXRoLm1heChNYXRoLmFicyh0byAtIGZyb20pLCAxKSwgNikgKiBNYXRoLmFicygoZmFjdG9yIHx8IHRoaXMuc2V0dGluZ3Muc21hcnRTcGVlZCkpOwoJfTsKCgkvKioKCSAqIFNsaWRlcyB0byB0aGUgc3BlY2lmaWVkIGl0ZW0uCgkgKiBAcHVibGljCgkgKiBAcGFyYW0ge051bWJlcn0gcG9zaXRpb24gLSBUaGUgcG9zaXRpb24gb2YgdGhlIGl0ZW0uCgkgKiBAcGFyYW0ge051bWJlcn0gW3NwZWVkXSAtIFRoZSB0aW1lIGluIG1pbGxpc2Vjb25kcyBmb3IgdGhlIHRyYW5zaXRpb24uCgkgKi8KCU93bC5wcm90b3R5cGUudG8gPSBmdW5jdGlvbihwb3NpdGlvbiwgc3BlZWQpIHsKCQl2YXIgY3VycmVudCA9IHRoaXMuY3VycmVudCgpLAoJCQlyZXZlcnQgPSBudWxsLAoJCQlkaXN0YW5jZSA9IHBvc2l0aW9uIC0gdGhpcy5yZWxhdGl2ZShjdXJyZW50KSwKCQkJZGlyZWN0aW9uID0gKGRpc3RhbmNlID4gMCkgLSAoZGlzdGFuY2UgPCAwKSwKCQkJaXRlbXMgPSB0aGlzLl9pdGVtcy5sZW5ndGgsCgkJCW1pbmltdW0gPSB0aGlzLm1pbmltdW0oKSwKCQkJbWF4aW11bSA9IHRoaXMubWF4aW11bSgpOwoKCQlpZiAodGhpcy5zZXR0aW5ncy5sb29wKSB7CgkJCWlmICghdGhpcy5zZXR0aW5ncy5yZXdpbmQgJiYgTWF0aC5hYnMoZGlzdGFuY2UpID4gaXRlbXMgLyAyKSB7CgkJCQlkaXN0YW5jZSArPSBkaXJlY3Rpb24gKiAtMSAqIGl0ZW1zOwoJCQl9CgoJCQlwb3NpdGlvbiA9IGN1cnJlbnQgKyBkaXN0YW5jZTsKCQkJcmV2ZXJ0ID0gKChwb3NpdGlvbiAtIG1pbmltdW0pICUgaXRlbXMgKyBpdGVtcykgJSBpdGVtcyArIG1pbmltdW07CgoJCQlpZiAocmV2ZXJ0ICE9PSBwb3NpdGlvbiAmJiByZXZlcnQgLSBkaXN0YW5jZSA8PSBtYXhpbXVtICYmIHJldmVydCAtIGRpc3RhbmNlID4gMCkgewoJCQkJY3VycmVudCA9IHJldmVydCAtIGRpc3RhbmNlOwoJCQkJcG9zaXRpb24gPSByZXZlcnQ7CgkJCQl0aGlzLnJlc2V0KGN1cnJlbnQpOwoJCQl9CgkJfSBlbHNlIGlmICh0aGlzLnNldHRpbmdzLnJld2luZCkgewoJCQltYXhpbXVtICs9IDE7CgkJCXBvc2l0aW9uID0gKHBvc2l0aW9uICUgbWF4aW11bSArIG1heGltdW0pICUgbWF4aW11bTsKCQl9IGVsc2UgewoJCQlwb3NpdGlvbiA9IE1hdGgubWF4KG1pbmltdW0sIE1hdGgubWluKG1heGltdW0sIHBvc2l0aW9uKSk7CgkJfQoKCQl0aGlzLnNwZWVkKHRoaXMuZHVyYXRpb24oY3VycmVudCwgcG9zaXRpb24sIHNwZWVkKSk7CgkJdGhpcy5jdXJyZW50KHBvc2l0aW9uKTsKCgkJaWYgKHRoaXMuJGVsZW1lbnQuaXMoJzp2aXNpYmxlJykpIHsKCQkJdGhpcy51cGRhdGUoKTsKCQl9Cgl9OwoKCS8qKgoJICogU2xpZGVzIHRvIHRoZSBuZXh0IGl0ZW0uCgkgKiBAcHVibGljCgkgKiBAcGFyYW0ge051bWJlcn0gW3NwZWVkXSAtIFRoZSB0aW1lIGluIG1pbGxpc2Vjb25kcyBmb3IgdGhlIHRyYW5zaXRpb24uCgkgKi8KCU93bC5wcm90b3R5cGUubmV4dCA9IGZ1bmN0aW9uKHNwZWVkKSB7CgkJc3BlZWQgPSBzcGVlZCB8fCBmYWxzZTsKCQl0aGlzLnRvKHRoaXMucmVsYXRpdmUodGhpcy5jdXJyZW50KCkpICsgMSwgc3BlZWQpOwoJfTsKCgkvKioKCSAqIFNsaWRlcyB0byB0aGUgcHJldmlvdXMgaXRlbS4KCSAqIEBwdWJsaWMKCSAqIEBwYXJhbSB7TnVtYmVyfSBbc3BlZWRdIC0gVGhlIHRpbWUgaW4gbWlsbGlzZWNvbmRzIGZvciB0aGUgdHJhbnNpdGlvbi4KCSAqLwoJT3dsLnByb3RvdHlwZS5wcmV2ID0gZnVuY3Rpb24oc3BlZWQpIHsKCQlzcGVlZCA9IHNwZWVkIHx8IGZhbHNlOwoJCXRoaXMudG8odGhpcy5yZWxhdGl2ZSh0aGlzLmN1cnJlbnQoKSkgLSAxLCBzcGVlZCk7Cgl9OwoKCS8qKgoJICogSGFuZGxlcyB0aGUgZW5kIG9mIGFuIGFuaW1hdGlvbi4KCSAqIEBwcm90ZWN0ZWQKCSAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50IC0gVGhlIGV2ZW50IGFyZ3VtZW50cy4KCSAqLwoJT3dsLnByb3RvdHlwZS5vblRyYW5zaXRpb25FbmQgPSBmdW5jdGlvbihldmVudCkgewoKCQkvLyBpZiBjc3MyIGFuaW1hdGlvbiB0aGVuIGV2ZW50IG9iamVjdCBpcyB1bmRlZmluZWQKCQlpZiAoZXZlbnQgIT09IHVuZGVmaW5lZCkgewoJCQlldmVudC5zdG9wUHJvcGFnYXRpb24oKTsKCgkJCS8vIENhdGNoIG9ubHkgb3dsLXN0YWdlIHRyYW5zaXRpb25FbmQgZXZlbnQKCQkJaWYgKChldmVudC50YXJnZXQgfHwgZXZlbnQuc3JjRWxlbWVudCB8fCBldmVudC5vcmlnaW5hbFRhcmdldCkgIT09IHRoaXMuJHN0YWdlLmdldCgwKSkgewoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJfQoKCQl0aGlzLmxlYXZlKCdhbmltYXRpbmcnKTsKCQl0aGlzLnRyaWdnZXIoJ3RyYW5zbGF0ZWQnKTsKCX07CgoJLyoqCgkgKiBHZXRzIHZpZXdwb3J0IHdpZHRoLgoJICogQHByb3RlY3RlZAoJICogQHJldHVybiB7TnVtYmVyfSAtIFRoZSB3aWR0aCBpbiBwaXhlbC4KCSAqLwoJT3dsLnByb3RvdHlwZS52aWV3cG9ydCA9IGZ1bmN0aW9uKCkgewoJCXZhciB3aWR0aDsKCQlpZiAodGhpcy5vcHRpb25zLnJlc3BvbnNpdmVCYXNlRWxlbWVudCAhPT0gd2luZG93KSB7CgkJCXdpZHRoID0gJCh0aGlzLm9wdGlvbnMucmVzcG9uc2l2ZUJhc2VFbGVtZW50KS53aWR0aCgpOwoJCX0gZWxzZSBpZiAod2luZG93LmlubmVyV2lkdGgpIHsKCQkJd2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDsKCQl9IGVsc2UgaWYgKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCAmJiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgpIHsKCQkJd2lkdGggPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGg7CgkJfSBlbHNlIHsKCQkJdGhyb3cgJ0NhbiBub3QgZGV0ZWN0IHZpZXdwb3J0IHdpZHRoLic7CgkJfQoJCXJldHVybiB3aWR0aDsKCX07CgoJLyoqCgkgKiBSZXBsYWNlcyB0aGUgY3VycmVudCBjb250ZW50LgoJICogQHB1YmxpYwoJICogQHBhcmFtIHtIVE1MRWxlbWVudHxqUXVlcnl8U3RyaW5nfSBjb250ZW50IC0gVGhlIG5ldyBjb250ZW50LgoJICovCglPd2wucHJvdG90eXBlLnJlcGxhY2UgPSBmdW5jdGlvbihjb250ZW50KSB7CgkJdGhpcy4kc3RhZ2UuZW1wdHkoKTsKCQl0aGlzLl9pdGVtcyA9IFtdOwoKCQlpZiAoY29udGVudCkgewoJCQljb250ZW50ID0gKGNvbnRlbnQgaW5zdGFuY2VvZiBqUXVlcnkpID8gY29udGVudCA6ICQoY29udGVudCk7CgkJfQoKCQlpZiAodGhpcy5zZXR0aW5ncy5uZXN0ZWRJdGVtU2VsZWN0b3IpIHsKCQkJY29udGVudCA9IGNvbnRlbnQuZmluZCgnLicgKyB0aGlzLnNldHRpbmdzLm5lc3RlZEl0ZW1TZWxlY3Rvcik7CgkJfQoKCQljb250ZW50LmZpbHRlcihmdW5jdGlvbigpIHsKCQkJcmV0dXJuIHRoaXMubm9kZVR5cGUgPT09IDE7CgkJfSkuZWFjaCgkLnByb3h5KGZ1bmN0aW9uKGluZGV4LCBpdGVtKSB7CgkJCWl0ZW0gPSB0aGlzLnByZXBhcmUoaXRlbSk7CgkJCXRoaXMuJHN0YWdlLmFwcGVuZChpdGVtKTsKCQkJdGhpcy5faXRlbXMucHVzaChpdGVtKTsKCQkJdGhpcy5fbWVyZ2Vycy5wdXNoKGl0ZW0uZmluZCgnW2RhdGEtbWVyZ2VdJykuYWRkQmFjaygnW2RhdGEtbWVyZ2VdJykuYXR0cignZGF0YS1tZXJnZScpICogMSB8fCAxKTsKCQl9LCB0aGlzKSk7CgoJCXRoaXMucmVzZXQodGhpcy5pc051bWVyaWModGhpcy5zZXR0aW5ncy5zdGFydFBvc2l0aW9uKSA/IHRoaXMuc2V0dGluZ3Muc3RhcnRQb3NpdGlvbiA6IDApOwoKCQl0aGlzLmludmFsaWRhdGUoJ2l0ZW1zJyk7Cgl9OwoKCS8qKgoJICogQWRkcyBhbiBpdGVtLgoJICogQHRvZG8gVXNlIGBpdGVtYCBpbnN0ZWFkIG9mIGBjb250ZW50YCBmb3IgdGhlIGV2ZW50IGFyZ3VtZW50cy4KCSAqIEBwdWJsaWMKCSAqIEBwYXJhbSB7SFRNTEVsZW1lbnR8alF1ZXJ5fFN0cmluZ30gY29udGVudCAtIFRoZSBpdGVtIGNvbnRlbnQgdG8gYWRkLgoJICogQHBhcmFtIHtOdW1iZXJ9IFtwb3NpdGlvbl0gLSBUaGUgcmVsYXRpdmUgcG9zaXRpb24gYXQgd2hpY2ggdG8gaW5zZXJ0IHRoZSBpdGVtIG90aGVyd2lzZSB0aGUgaXRlbSB3aWxsIGJlIGFkZGVkIHRvIHRoZSBlbmQuCgkgKi8KCU93bC5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24oY29udGVudCwgcG9zaXRpb24pIHsKCQl2YXIgY3VycmVudCA9IHRoaXMucmVsYXRpdmUodGhpcy5fY3VycmVudCk7CgoJCXBvc2l0aW9uID0gcG9zaXRpb24gPT09IHVuZGVmaW5lZCA/IHRoaXMuX2l0ZW1zLmxlbmd0aCA6IHRoaXMubm9ybWFsaXplKHBvc2l0aW9uLCB0cnVlKTsKCQljb250ZW50ID0gY29udGVudCBpbnN0YW5jZW9mIGpRdWVyeSA/IGNvbnRlbnQgOiAkKGNvbnRlbnQpOwoKCQl0aGlzLnRyaWdnZXIoJ2FkZCcsIHsgY29udGVudDogY29udGVudCwgcG9zaXRpb246IHBvc2l0aW9uIH0pOwoKCQljb250ZW50ID0gdGhpcy5wcmVwYXJlKGNvbnRlbnQpOwoKCQlpZiAodGhpcy5faXRlbXMubGVuZ3RoID09PSAwIHx8IHBvc2l0aW9uID09PSB0aGlzLl9pdGVtcy5sZW5ndGgpIHsKCQkJdGhpcy5faXRlbXMubGVuZ3RoID09PSAwICYmIHRoaXMuJHN0YWdlLmFwcGVuZChjb250ZW50KTsKCQkJdGhpcy5faXRlbXMubGVuZ3RoICE9PSAwICYmIHRoaXMuX2l0ZW1zW3Bvc2l0aW9uIC0gMV0uYWZ0ZXIoY29udGVudCk7CgkJCXRoaXMuX2l0ZW1zLnB1c2goY29udGVudCk7CgkJCXRoaXMuX21lcmdlcnMucHVzaChjb250ZW50LmZpbmQoJ1tkYXRhLW1lcmdlXScpLmFkZEJhY2soJ1tkYXRhLW1lcmdlXScpLmF0dHIoJ2RhdGEtbWVyZ2UnKSAqIDEgfHwgMSk7CgkJfSBlbHNlIHsKCQkJdGhpcy5faXRlbXNbcG9zaXRpb25dLmJlZm9yZShjb250ZW50KTsKCQkJdGhpcy5faXRlbXMuc3BsaWNlKHBvc2l0aW9uLCAwLCBjb250ZW50KTsKCQkJdGhpcy5fbWVyZ2Vycy5zcGxpY2UocG9zaXRpb24sIDAsIGNvbnRlbnQuZmluZCgnW2RhdGEtbWVyZ2VdJykuYWRkQmFjaygnW2RhdGEtbWVyZ2VdJykuYXR0cignZGF0YS1tZXJnZScpICogMSB8fCAxKTsKCQl9CgoJCXRoaXMuX2l0ZW1zW2N1cnJlbnRdICYmIHRoaXMucmVzZXQodGhpcy5faXRlbXNbY3VycmVudF0uaW5kZXgoKSk7CgoJCXRoaXMuaW52YWxpZGF0ZSgnaXRlbXMnKTsKCgkJdGhpcy50cmlnZ2VyKCdhZGRlZCcsIHsgY29udGVudDogY29udGVudCwgcG9zaXRpb246IHBvc2l0aW9uIH0pOwoJfTsKCgkvKioKCSAqIFJlbW92ZXMgYW4gaXRlbSBieSBpdHMgcG9zaXRpb24uCgkgKiBAdG9kbyBVc2UgYGl0ZW1gIGluc3RlYWQgb2YgYGNvbnRlbnRgIGZvciB0aGUgZXZlbnQgYXJndW1lbnRzLgoJICogQHB1YmxpYwoJICogQHBhcmFtIHtOdW1iZXJ9IHBvc2l0aW9uIC0gVGhlIHJlbGF0aXZlIHBvc2l0aW9uIG9mIHRoZSBpdGVtIHRvIHJlbW92ZS4KCSAqLwoJT3dsLnByb3RvdHlwZS5yZW1vdmUgPSBmdW5jdGlvbihwb3NpdGlvbikgewoJCXBvc2l0aW9uID0gdGhpcy5ub3JtYWxpemUocG9zaXRpb24sIHRydWUpOwoKCQlpZiAocG9zaXRpb24gPT09IHVuZGVmaW5lZCkgewoJCQlyZXR1cm47CgkJfQoKCQl0aGlzLnRyaWdnZXIoJ3JlbW92ZScsIHsgY29udGVudDogdGhpcy5faXRlbXNbcG9zaXRpb25dLCBwb3NpdGlvbjogcG9zaXRpb24gfSk7CgoJCXRoaXMuX2l0ZW1zW3Bvc2l0aW9uXS5yZW1vdmUoKTsKCQl0aGlzLl9pdGVtcy5zcGxpY2UocG9zaXRpb24sIDEpOwoJCXRoaXMuX21lcmdlcnMuc3BsaWNlKHBvc2l0aW9uLCAxKTsKCgkJdGhpcy5pbnZhbGlkYXRlKCdpdGVtcycpOwoKCQl0aGlzLnRyaWdnZXIoJ3JlbW92ZWQnLCB7IGNvbnRlbnQ6IG51bGwsIHBvc2l0aW9uOiBwb3NpdGlvbiB9KTsKCX07CgoJLyoqCgkgKiBQcmVsb2FkcyBpbWFnZXMgd2l0aCBhdXRvIHdpZHRoLgoJICogQHRvZG8gUmVwbGFjZSBieSBhIG1vcmUgZ2VuZXJpYyBhcHByb2FjaAoJICogQHByb3RlY3RlZAoJICovCglPd2wucHJvdG90eXBlLnByZWxvYWRBdXRvV2lkdGhJbWFnZXMgPSBmdW5jdGlvbihpbWFnZXMpIHsKCQlpbWFnZXMuZWFjaCgkLnByb3h5KGZ1bmN0aW9uKGksIGVsZW1lbnQpIHsKCQkJdGhpcy5lbnRlcigncHJlLWxvYWRpbmcnKTsKCQkJZWxlbWVudCA9ICQoZWxlbWVudCk7CgkJCSQobmV3IEltYWdlKCkpLm9uZSgnbG9hZCcsICQucHJveHkoZnVuY3Rpb24oZSkgewoJCQkJZWxlbWVudC5hdHRyKCdzcmMnLCBlLnRhcmdldC5zcmMpOwoJCQkJZWxlbWVudC5jc3MoJ29wYWNpdHknLCAxKTsKCQkJCXRoaXMubGVhdmUoJ3ByZS1sb2FkaW5nJyk7CgkJCQkhdGhpcy5pcygncHJlLWxvYWRpbmcnKSAmJiAhdGhpcy5pcygnaW5pdGlhbGl6aW5nJykgJiYgdGhpcy5yZWZyZXNoKCk7CgkJCX0sIHRoaXMpKS5hdHRyKCdzcmMnLCBlbGVtZW50LmF0dHIoJ3NyYycpIHx8IGVsZW1lbnQuYXR0cignZGF0YS1zcmMnKSB8fCBlbGVtZW50LmF0dHIoJ2RhdGEtc3JjLXJldGluYScpKTsKCQl9LCB0aGlzKSk7Cgl9OwoKCS8qKgoJICogRGVzdHJveXMgdGhlIGNhcm91c2VsLgoJICogQHB1YmxpYwoJICovCglPd2wucHJvdG90eXBlLmRlc3Ryb3kgPSBmdW5jdGlvbigpIHsKCgkJdGhpcy4kZWxlbWVudC5vZmYoJy5vd2wuY29yZScpOwoJCXRoaXMuJHN0YWdlLm9mZignLm93bC5jb3JlJyk7CgkJJChkb2N1bWVudCkub2ZmKCcub3dsLmNvcmUnKTsKCgkJaWYgKHRoaXMuc2V0dGluZ3MucmVzcG9uc2l2ZSAhPT0gZmFsc2UpIHsKCQkJd2luZG93LmNsZWFyVGltZW91dCh0aGlzLnJlc2l6ZVRpbWVyKTsKCQkJdGhpcy5vZmYod2luZG93LCAncmVzaXplJywgdGhpcy5faGFuZGxlcnMub25UaHJvdHRsZWRSZXNpemUpOwoJCX0KCgkJZm9yICh2YXIgaSBpbiB0aGlzLl9wbHVnaW5zKSB7CgkJCXRoaXMuX3BsdWdpbnNbaV0uZGVzdHJveSgpOwoJCX0KCgkJdGhpcy4kc3RhZ2UuY2hpbGRyZW4oJy5jbG9uZWQnKS5yZW1vdmUoKTsKCgkJdGhpcy4kc3RhZ2UudW53cmFwKCk7CgkJdGhpcy4kc3RhZ2UuY2hpbGRyZW4oKS5jb250ZW50cygpLnVud3JhcCgpOwoJCXRoaXMuJHN0YWdlLmNoaWxkcmVuKCkudW53cmFwKCk7CgoJCXRoaXMuJGVsZW1lbnQKCQkJLnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5yZWZyZXNoQ2xhc3MpCgkJCS5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMubG9hZGluZ0NsYXNzKQoJCQkucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmxvYWRlZENsYXNzKQoJCQkucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLnJ0bENsYXNzKQoJCQkucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmRyYWdDbGFzcykKCQkJLnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5ncmFiQ2xhc3MpCgkJCS5hdHRyKCdjbGFzcycsIHRoaXMuJGVsZW1lbnQuYXR0cignY2xhc3MnKS5yZXBsYWNlKG5ldyBSZWdFeHAodGhpcy5vcHRpb25zLnJlc3BvbnNpdmVDbGFzcyArICctXFxTK1xccycsICdnJyksICcnKSkKCQkJLnJlbW92ZURhdGEoJ293bC5jYXJvdXNlbCcpOwoJfTsKCgkvKioKCSAqIE9wZXJhdG9ycyB0byBjYWxjdWxhdGUgcmlnaHQtdG8tbGVmdCBhbmQgbGVmdC10by1yaWdodC4KCSAqIEBwcm90ZWN0ZWQKCSAqIEBwYXJhbSB7TnVtYmVyfSBbYV0gLSBUaGUgbGVmdCBzaWRlIG9wZXJhbmQuCgkgKiBAcGFyYW0ge1N0cmluZ30gW29dIC0gVGhlIG9wZXJhdG9yLgoJICogQHBhcmFtIHtOdW1iZXJ9IFtiXSAtIFRoZSByaWdodCBzaWRlIG9wZXJhbmQuCgkgKi8KCU93bC5wcm90b3R5cGUub3AgPSBmdW5jdGlvbihhLCBvLCBiKSB7CgkJdmFyIHJ0bCA9IHRoaXMuc2V0dGluZ3MucnRsOwoJCXN3aXRjaCAobykgewoJCQljYXNlICc8JzoKCQkJCXJldHVybiBydGwgPyBhID4gYiA6IGEgPCBiOwoJCQljYXNlICc+JzoKCQkJCXJldHVybiBydGwgPyBhIDwgYiA6IGEgPiBiOwoJCQljYXNlICc+PSc6CgkJCQlyZXR1cm4gcnRsID8gYSA8PSBiIDogYSA+PSBiOwoJCQljYXNlICc8PSc6CgkJCQlyZXR1cm4gcnRsID8gYSA+PSBiIDogYSA8PSBiOwoJCQlkZWZhdWx0OgoJCQkJYnJlYWs7CgkJfQoJfTsKCgkvKioKCSAqIEF0dGFjaGVzIHRvIGFuIGludGVybmFsIGV2ZW50LgoJICogQHByb3RlY3RlZAoJICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWxlbWVudCAtIFRoZSBldmVudCBzb3VyY2UuCgkgKiBAcGFyYW0ge1N0cmluZ30gZXZlbnQgLSBUaGUgZXZlbnQgbmFtZS4KCSAqIEBwYXJhbSB7RnVuY3Rpb259IGxpc3RlbmVyIC0gVGhlIGV2ZW50IGhhbmRsZXIgdG8gYXR0YWNoLgoJICogQHBhcmFtIHtCb29sZWFufSBjYXB0dXJlIC0gV2V0aGVyIHRoZSBldmVudCBzaG91bGQgYmUgaGFuZGxlZCBhdCB0aGUgY2FwdHVyaW5nIHBoYXNlIG9yIG5vdC4KCSAqLwoJT3dsLnByb3RvdHlwZS5vbiA9IGZ1bmN0aW9uKGVsZW1lbnQsIGV2ZW50LCBsaXN0ZW5lciwgY2FwdHVyZSkgewoJCWlmIChlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIpIHsKCQkJZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCBsaXN0ZW5lciwgY2FwdHVyZSk7CgkJfSBlbHNlIGlmIChlbGVtZW50LmF0dGFjaEV2ZW50KSB7CgkJCWVsZW1lbnQuYXR0YWNoRXZlbnQoJ29uJyArIGV2ZW50LCBsaXN0ZW5lcik7CgkJfQoJfTsKCgkvKioKCSAqIERldGFjaGVzIGZyb20gYW4gaW50ZXJuYWwgZXZlbnQuCgkgKiBAcHJvdGVjdGVkCgkgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbGVtZW50IC0gVGhlIGV2ZW50IHNvdXJjZS4KCSAqIEBwYXJhbSB7U3RyaW5nfSBldmVudCAtIFRoZSBldmVudCBuYW1lLgoJICogQHBhcmFtIHtGdW5jdGlvbn0gbGlzdGVuZXIgLSBUaGUgYXR0YWNoZWQgZXZlbnQgaGFuZGxlciB0byBkZXRhY2guCgkgKiBAcGFyYW0ge0Jvb2xlYW59IGNhcHR1cmUgLSBXZXRoZXIgdGhlIGF0dGFjaGVkIGV2ZW50IGhhbmRsZXIgd2FzIHJlZ2lzdGVyZWQgYXMgYSBjYXB0dXJpbmcgbGlzdGVuZXIgb3Igbm90LgoJICovCglPd2wucHJvdG90eXBlLm9mZiA9IGZ1bmN0aW9uKGVsZW1lbnQsIGV2ZW50LCBsaXN0ZW5lciwgY2FwdHVyZSkgewoJCWlmIChlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIpIHsKCQkJZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50LCBsaXN0ZW5lciwgY2FwdHVyZSk7CgkJfSBlbHNlIGlmIChlbGVtZW50LmRldGFjaEV2ZW50KSB7CgkJCWVsZW1lbnQuZGV0YWNoRXZlbnQoJ29uJyArIGV2ZW50LCBsaXN0ZW5lcik7CgkJfQoJfTsKCgkvKioKCSAqIFRyaWdnZXJzIGEgcHVibGljIGV2ZW50LgoJICogQHRvZG8gUmVtb3ZlIGBzdGF0dXNgLCBgcmVsYXRlZFRhcmdldGAgc2hvdWxkIGJlIHVzZWQgaW5zdGVhZC4KCSAqIEBwcm90ZWN0ZWQKCSAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lIC0gVGhlIGV2ZW50IG5hbWUuCgkgKiBAcGFyYW0geyp9IFtkYXRhPW51bGxdIC0gVGhlIGV2ZW50IGRhdGEuCgkgKiBAcGFyYW0ge1N0cmluZ30gW25hbWVzcGFjZT1jYXJvdXNlbF0gLSBUaGUgZXZlbnQgbmFtZXNwYWNlLgoJICogQHBhcmFtIHtTdHJpbmd9IFtzdGF0ZV0gLSBUaGUgc3RhdGUgd2hpY2ggaXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBldmVudC4KCSAqIEBwYXJhbSB7Qm9vbGVhbn0gW2VudGVyPWZhbHNlXSAtIEluZGljYXRlcyBpZiB0aGUgY2FsbCBlbnRlcnMgdGhlIHNwZWNpZmllZCBzdGF0ZSBvciBub3QuCgkgKiBAcmV0dXJucyB7RXZlbnR9IC0gVGhlIGV2ZW50IGFyZ3VtZW50cy4KCSAqLwoJT3dsLnByb3RvdHlwZS50cmlnZ2VyID0gZnVuY3Rpb24obmFtZSwgZGF0YSwgbmFtZXNwYWNlLCBzdGF0ZSwgZW50ZXIpIHsKCQl2YXIgc3RhdHVzID0gewoJCQlpdGVtOiB7IGNvdW50OiB0aGlzLl9pdGVtcy5sZW5ndGgsIGluZGV4OiB0aGlzLmN1cnJlbnQoKSB9CgkJfSwgaGFuZGxlciA9ICQuY2FtZWxDYXNlKAoJCQkkLmdyZXAoWyAnb24nLCBuYW1lLCBuYW1lc3BhY2UgXSwgZnVuY3Rpb24odikgeyByZXR1cm4gdiB9KQoJCQkJLmpvaW4oJy0nKS50b0xvd2VyQ2FzZSgpCgkJKSwgZXZlbnQgPSAkLkV2ZW50KAoJCQlbIG5hbWUsICdvd2wnLCBuYW1lc3BhY2UgfHwgJ2Nhcm91c2VsJyBdLmpvaW4oJy4nKS50b0xvd2VyQ2FzZSgpLAoJCQkkLmV4dGVuZCh7IHJlbGF0ZWRUYXJnZXQ6IHRoaXMgfSwgc3RhdHVzLCBkYXRhKQoJCSk7CgoJCWlmICghdGhpcy5fc3VwcmVzc1tuYW1lXSkgewoJCQkkLmVhY2godGhpcy5fcGx1Z2lucywgZnVuY3Rpb24obmFtZSwgcGx1Z2luKSB7CgkJCQlpZiAocGx1Z2luLm9uVHJpZ2dlcikgewoJCQkJCXBsdWdpbi5vblRyaWdnZXIoZXZlbnQpOwoJCQkJfQoJCQl9KTsKCgkJCXRoaXMucmVnaXN0ZXIoeyB0eXBlOiBPd2wuVHlwZS5FdmVudCwgbmFtZTogbmFtZSB9KTsKCQkJdGhpcy4kZWxlbWVudC50cmlnZ2VyKGV2ZW50KTsKCgkJCWlmICh0aGlzLnNldHRpbmdzICYmIHR5cGVvZiB0aGlzLnNldHRpbmdzW2hhbmRsZXJdID09PSAnZnVuY3Rpb24nKSB7CgkJCQl0aGlzLnNldHRpbmdzW2hhbmRsZXJdLmNhbGwodGhpcywgZXZlbnQpOwoJCQl9CgkJfQoKCQlyZXR1cm4gZXZlbnQ7Cgl9OwoKCS8qKgoJICogRW50ZXJzIGEgc3RhdGUuCgkgKiBAcGFyYW0gbmFtZSAtIFRoZSBzdGF0ZSBuYW1lLgoJICovCglPd2wucHJvdG90eXBlLmVudGVyID0gZnVuY3Rpb24obmFtZSkgewoJCSQuZWFjaChbIG5hbWUgXS5jb25jYXQodGhpcy5fc3RhdGVzLnRhZ3NbbmFtZV0gfHwgW10pLCAkLnByb3h5KGZ1bmN0aW9uKGksIG5hbWUpIHsKCQkJaWYgKHRoaXMuX3N0YXRlcy5jdXJyZW50W25hbWVdID09PSB1bmRlZmluZWQpIHsKCQkJCXRoaXMuX3N0YXRlcy5jdXJyZW50W25hbWVdID0gMDsKCQkJfQoKCQkJdGhpcy5fc3RhdGVzLmN1cnJlbnRbbmFtZV0rKzsKCQl9LCB0aGlzKSk7Cgl9OwoKCS8qKgoJICogTGVhdmVzIGEgc3RhdGUuCgkgKiBAcGFyYW0gbmFtZSAtIFRoZSBzdGF0ZSBuYW1lLgoJICovCglPd2wucHJvdG90eXBlLmxlYXZlID0gZnVuY3Rpb24obmFtZSkgewoJCSQuZWFjaChbIG5hbWUgXS5jb25jYXQodGhpcy5fc3RhdGVzLnRhZ3NbbmFtZV0gfHwgW10pLCAkLnByb3h5KGZ1bmN0aW9uKGksIG5hbWUpIHsKCQkJdGhpcy5fc3RhdGVzLmN1cnJlbnRbbmFtZV0tLTsKCQl9LCB0aGlzKSk7Cgl9OwoKCS8qKgoJICogUmVnaXN0ZXJzIGFuIGV2ZW50IG9yIHN0YXRlLgoJICogQHB1YmxpYwoJICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCAtIFRoZSBldmVudCBvciBzdGF0ZSB0byByZWdpc3Rlci4KCSAqLwoJT3dsLnByb3RvdHlwZS5yZWdpc3RlciA9IGZ1bmN0aW9uKG9iamVjdCkgewoJCWlmIChvYmplY3QudHlwZSA9PT0gT3dsLlR5cGUuRXZlbnQpIHsKCQkJaWYgKCEkLmV2ZW50LnNwZWNpYWxbb2JqZWN0Lm5hbWVdKSB7CgkJCQkkLmV2ZW50LnNwZWNpYWxbb2JqZWN0Lm5hbWVdID0ge307CgkJCX0KCgkJCWlmICghJC5ldmVudC5zcGVjaWFsW29iamVjdC5uYW1lXS5vd2wpIHsKCQkJCXZhciBfZGVmYXVsdCA9ICQuZXZlbnQuc3BlY2lhbFtvYmplY3QubmFtZV0uX2RlZmF1bHQ7CgkJCQkkLmV2ZW50LnNwZWNpYWxbb2JqZWN0Lm5hbWVdLl9kZWZhdWx0ID0gZnVuY3Rpb24oZSkgewoJCQkJCWlmIChfZGVmYXVsdCAmJiBfZGVmYXVsdC5hcHBseSAmJiAoIWUubmFtZXNwYWNlIHx8IGUubmFtZXNwYWNlLmluZGV4T2YoJ293bCcpID09PSAtMSkpIHsKCQkJCQkJcmV0dXJuIF9kZWZhdWx0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CgkJCQkJfQoJCQkJCXJldHVybiBlLm5hbWVzcGFjZSAmJiBlLm5hbWVzcGFjZS5pbmRleE9mKCdvd2wnKSA+IC0xOwoJCQkJfTsKCQkJCSQuZXZlbnQuc3BlY2lhbFtvYmplY3QubmFtZV0ub3dsID0gdHJ1ZTsKCQkJfQoJCX0gZWxzZSBpZiAob2JqZWN0LnR5cGUgPT09IE93bC5UeXBlLlN0YXRlKSB7CgkJCWlmICghdGhpcy5fc3RhdGVzLnRhZ3Nbb2JqZWN0Lm5hbWVdKSB7CgkJCQl0aGlzLl9zdGF0ZXMudGFnc1tvYmplY3QubmFtZV0gPSBvYmplY3QudGFnczsKCQkJfSBlbHNlIHsKCQkJCXRoaXMuX3N0YXRlcy50YWdzW29iamVjdC5uYW1lXSA9IHRoaXMuX3N0YXRlcy50YWdzW29iamVjdC5uYW1lXS5jb25jYXQob2JqZWN0LnRhZ3MpOwoJCQl9CgoJCQl0aGlzLl9zdGF0ZXMudGFnc1tvYmplY3QubmFtZV0gPSAkLmdyZXAodGhpcy5fc3RhdGVzLnRhZ3Nbb2JqZWN0Lm5hbWVdLCAkLnByb3h5KGZ1bmN0aW9uKHRhZywgaSkgewoJCQkJcmV0dXJuICQuaW5BcnJheSh0YWcsIHRoaXMuX3N0YXRlcy50YWdzW29iamVjdC5uYW1lXSkgPT09IGk7CgkJCX0sIHRoaXMpKTsKCQl9Cgl9OwoKCS8qKgoJICogU3VwcHJlc3NlcyBldmVudHMuCgkgKiBAcHJvdGVjdGVkCgkgKiBAcGFyYW0ge0FycmF5LjxTdHJpbmc+fSBldmVudHMgLSBUaGUgZXZlbnRzIHRvIHN1cHByZXNzLgoJICovCglPd2wucHJvdG90eXBlLnN1cHByZXNzID0gZnVuY3Rpb24oZXZlbnRzKSB7CgkJJC5lYWNoKGV2ZW50cywgJC5wcm94eShmdW5jdGlvbihpbmRleCwgZXZlbnQpIHsKCQkJdGhpcy5fc3VwcmVzc1tldmVudF0gPSB0cnVlOwoJCX0sIHRoaXMpKTsKCX07CgoJLyoqCgkgKiBSZWxlYXNlcyBzdXBwcmVzc2VkIGV2ZW50cy4KCSAqIEBwcm90ZWN0ZWQKCSAqIEBwYXJhbSB7QXJyYXkuPFN0cmluZz59IGV2ZW50cyAtIFRoZSBldmVudHMgdG8gcmVsZWFzZS4KCSAqLwoJT3dsLnByb3RvdHlwZS5yZWxlYXNlID0gZnVuY3Rpb24oZXZlbnRzKSB7CgkJJC5lYWNoKGV2ZW50cywgJC5wcm94eShmdW5jdGlvbihpbmRleCwgZXZlbnQpIHsKCQkJZGVsZXRlIHRoaXMuX3N1cHJlc3NbZXZlbnRdOwoJCX0sIHRoaXMpKTsKCX07CgoJLyoqCgkgKiBHZXRzIHVuaWZpZWQgcG9pbnRlciBjb29yZGluYXRlcyBmcm9tIGV2ZW50LgoJICogQHRvZG8gIzI2MQoJICogQHByb3RlY3RlZAoJICogQHBhcmFtIHtFdmVudH0gLSBUaGUgYG1vdXNlZG93bmAgb3IgYHRvdWNoc3RhcnRgIGV2ZW50LgoJICogQHJldHVybnMge09iamVjdH0gLSBDb250YWlucyBgeGAgYW5kIGB5YCBjb29yZGluYXRlcyBvZiBjdXJyZW50IHBvaW50ZXIgcG9zaXRpb24uCgkgKi8KCU93bC5wcm90b3R5cGUucG9pbnRlciA9IGZ1bmN0aW9uKGV2ZW50KSB7CgkJdmFyIHJlc3VsdCA9IHsgeDogbnVsbCwgeTogbnVsbCB9OwoKCQlldmVudCA9IGV2ZW50Lm9yaWdpbmFsRXZlbnQgfHwgZXZlbnQgfHwgd2luZG93LmV2ZW50OwoKCQlldmVudCA9IGV2ZW50LnRvdWNoZXMgJiYgZXZlbnQudG91Y2hlcy5sZW5ndGggPwoJCQlldmVudC50b3VjaGVzWzBdIDogZXZlbnQuY2hhbmdlZFRvdWNoZXMgJiYgZXZlbnQuY2hhbmdlZFRvdWNoZXMubGVuZ3RoID8KCQkJCWV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdIDogZXZlbnQ7CgoJCWlmIChldmVudC5wYWdlWCkgewoJCQlyZXN1bHQueCA9IGV2ZW50LnBhZ2VYOwoJCQlyZXN1bHQueSA9IGV2ZW50LnBhZ2VZOwoJCX0gZWxzZSB7CgkJCXJlc3VsdC54ID0gZXZlbnQuY2xpZW50WDsKCQkJcmVzdWx0LnkgPSBldmVudC5jbGllbnRZOwoJCX0KCgkJcmV0dXJuIHJlc3VsdDsKCX07CgoJLyoqCgkgKiBEZXRlcm1pbmVzIGlmIHRoZSBpbnB1dCBpcyBhIE51bWJlciBvciBzb21ldGhpbmcgdGhhdCBjYW4gYmUgY29lcmNlZCB0byBhIE51bWJlcgoJICogQHByb3RlY3RlZAoJICogQHBhcmFtIHtOdW1iZXJ8U3RyaW5nfE9iamVjdHxBcnJheXxCb29sZWFufFJlZ0V4cHxGdW5jdGlvbnxTeW1ib2x9IC0gVGhlIGlucHV0IHRvIGJlIHRlc3RlZAoJICogQHJldHVybnMge0Jvb2xlYW59IC0gQW4gaW5kaWNhdGlvbiBpZiB0aGUgaW5wdXQgaXMgYSBOdW1iZXIgb3IgY2FuIGJlIGNvZXJjZWQgdG8gYSBOdW1iZXIKCSAqLwoJT3dsLnByb3RvdHlwZS5pc051bWVyaWMgPSBmdW5jdGlvbihudW1iZXIpIHsKCQlyZXR1cm4gIWlzTmFOKHBhcnNlRmxvYXQobnVtYmVyKSk7Cgl9OwoKCS8qKgoJICogR2V0cyB0aGUgZGlmZmVyZW5jZSBvZiB0d28gdmVjdG9ycy4KCSAqIEB0b2RvICMyNjEKCSAqIEBwcm90ZWN0ZWQKCSAqIEBwYXJhbSB7T2JqZWN0fSAtIFRoZSBmaXJzdCB2ZWN0b3IuCgkgKiBAcGFyYW0ge09iamVjdH0gLSBUaGUgc2Vjb25kIHZlY3Rvci4KCSAqIEByZXR1cm5zIHtPYmplY3R9IC0gVGhlIGRpZmZlcmVuY2UuCgkgKi8KCU93bC5wcm90b3R5cGUuZGlmZmVyZW5jZSA9IGZ1bmN0aW9uKGZpcnN0LCBzZWNvbmQpIHsKCQlyZXR1cm4gewoJCQl4OiBmaXJzdC54IC0gc2Vjb25kLngsCgkJCXk6IGZpcnN0LnkgLSBzZWNvbmQueQoJCX07Cgl9OwoKCS8qKgoJICogVGhlIGpRdWVyeSBQbHVnaW4gZm9yIHRoZSBPd2wgQ2Fyb3VzZWwKCSAqIEB0b2RvIE5hdmlnYXRpb24gcGx1Z2luIGBuZXh0YCBhbmQgYHByZXZgCgkgKiBAcHVibGljCgkgKi8KCSQuZm4ub3dsQ2Fyb3VzZWwgPSBmdW5jdGlvbihvcHRpb24pIHsKCQl2YXIgYXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMSk7CgoJCXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CgkJCXZhciAkdGhpcyA9ICQodGhpcyksCgkJCQlkYXRhID0gJHRoaXMuZGF0YSgnb3dsLmNhcm91c2VsJyk7CgoJCQlpZiAoIWRhdGEpIHsKCQkJCWRhdGEgPSBuZXcgT3dsKHRoaXMsIHR5cGVvZiBvcHRpb24gPT0gJ29iamVjdCcgJiYgb3B0aW9uKTsKCQkJCSR0aGlzLmRhdGEoJ293bC5jYXJvdXNlbCcsIGRhdGEpOwoKCQkJCSQuZWFjaChbCgkJCQkJJ25leHQnLCAncHJldicsICd0bycsICdkZXN0cm95JywgJ3JlZnJlc2gnLCAncmVwbGFjZScsICdhZGQnLCAncmVtb3ZlJwoJCQkJXSwgZnVuY3Rpb24oaSwgZXZlbnQpIHsKCQkJCQlkYXRhLnJlZ2lzdGVyKHsgdHlwZTogT3dsLlR5cGUuRXZlbnQsIG5hbWU6IGV2ZW50IH0pOwoJCQkJCWRhdGEuJGVsZW1lbnQub24oZXZlbnQgKyAnLm93bC5jYXJvdXNlbC5jb3JlJywgJC5wcm94eShmdW5jdGlvbihlKSB7CgkJCQkJCWlmIChlLm5hbWVzcGFjZSAmJiBlLnJlbGF0ZWRUYXJnZXQgIT09IHRoaXMpIHsKCQkJCQkJCXRoaXMuc3VwcHJlc3MoWyBldmVudCBdKTsKCQkJCQkJCWRhdGFbZXZlbnRdLmFwcGx5KHRoaXMsIFtdLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAxKSk7CgkJCQkJCQl0aGlzLnJlbGVhc2UoWyBldmVudCBdKTsKCQkJCQkJfQoJCQkJCX0sIGRhdGEpKTsKCQkJCX0pOwoJCQl9CgoJCQlpZiAodHlwZW9mIG9wdGlvbiA9PSAnc3RyaW5nJyAmJiBvcHRpb24uY2hhckF0KDApICE9PSAnXycpIHsKCQkJCWRhdGFbb3B0aW9uXS5hcHBseShkYXRhLCBhcmdzKTsKCQkJfQoJCX0pOwoJfTsKCgkvKioKCSAqIFRoZSBjb25zdHJ1Y3RvciBmb3IgdGhlIGpRdWVyeSBQbHVnaW4KCSAqIEBwdWJsaWMKCSAqLwoJJC5mbi5vd2xDYXJvdXNlbC5Db25zdHJ1Y3RvciA9IE93bDsKCn0pKHdpbmRvdy5aZXB0byB8fCB3aW5kb3cualF1ZXJ5LCB3aW5kb3csIGRvY3VtZW50KTsKCi8qKgogKiBBdXRvUmVmcmVzaCBQbHVnaW4KICogQHZlcnNpb24gMi4xLjAKICogQGF1dGhvciBBcnR1cyBLb2xhbm93c2tpCiAqIEBhdXRob3IgRGF2aWQgRGV1dHNjaAogKiBAbGljZW5zZSBUaGUgTUlUIExpY2Vuc2UgKE1JVCkKICovCjsoZnVuY3Rpb24oJCwgd2luZG93LCBkb2N1bWVudCwgdW5kZWZpbmVkKSB7CgoJLyoqCgkgKiBDcmVhdGVzIHRoZSBhdXRvIHJlZnJlc2ggcGx1Z2luLgoJICogQGNsYXNzIFRoZSBBdXRvIFJlZnJlc2ggUGx1Z2luCgkgKiBAcGFyYW0ge093bH0gY2Fyb3VzZWwgLSBUaGUgT3dsIENhcm91c2VsCgkgKi8KCXZhciBBdXRvUmVmcmVzaCA9IGZ1bmN0aW9uKGNhcm91c2VsKSB7CgkJLyoqCgkJICogUmVmZXJlbmNlIHRvIHRoZSBjb3JlLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7T3dsfQoJCSAqLwoJCXRoaXMuX2NvcmUgPSBjYXJvdXNlbDsKCgkJLyoqCgkJICogUmVmcmVzaCBpbnRlcnZhbC4KCQkgKiBAcHJvdGVjdGVkCgkJICogQHR5cGUge251bWJlcn0KCQkgKi8KCQl0aGlzLl9pbnRlcnZhbCA9IG51bGw7CgoJCS8qKgoJCSAqIFdoZXRoZXIgdGhlIGVsZW1lbnQgaXMgY3VycmVudGx5IHZpc2libGUgb3Igbm90LgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7Qm9vbGVhbn0KCQkgKi8KCQl0aGlzLl92aXNpYmxlID0gbnVsbDsKCgkJLyoqCgkJICogQWxsIGV2ZW50IGhhbmRsZXJzLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7T2JqZWN0fQoJCSAqLwoJCXRoaXMuX2hhbmRsZXJzID0gewoJCQknaW5pdGlhbGl6ZWQub3dsLmNhcm91c2VsJzogJC5wcm94eShmdW5jdGlvbihlKSB7CgkJCQlpZiAoZS5uYW1lc3BhY2UgJiYgdGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvUmVmcmVzaCkgewoJCQkJCXRoaXMud2F0Y2goKTsKCQkJCX0KCQkJfSwgdGhpcykKCQl9OwoKCQkvLyBzZXQgZGVmYXVsdCBvcHRpb25zCgkJdGhpcy5fY29yZS5vcHRpb25zID0gJC5leHRlbmQoe30sIEF1dG9SZWZyZXNoLkRlZmF1bHRzLCB0aGlzLl9jb3JlLm9wdGlvbnMpOwoKCQkvLyByZWdpc3RlciBldmVudCBoYW5kbGVycwoJCXRoaXMuX2NvcmUuJGVsZW1lbnQub24odGhpcy5faGFuZGxlcnMpOwoJfTsKCgkvKioKCSAqIERlZmF1bHQgb3B0aW9ucy4KCSAqIEBwdWJsaWMKCSAqLwoJQXV0b1JlZnJlc2guRGVmYXVsdHMgPSB7CgkJYXV0b1JlZnJlc2g6IHRydWUsCgkJYXV0b1JlZnJlc2hJbnRlcnZhbDogNTAwCgl9OwoKCS8qKgoJICogV2F0Y2hlcyB0aGUgZWxlbWVudC4KCSAqLwoJQXV0b1JlZnJlc2gucHJvdG90eXBlLndhdGNoID0gZnVuY3Rpb24oKSB7CgkJaWYgKHRoaXMuX2ludGVydmFsKSB7CgkJCXJldHVybjsKCQl9CgoJCXRoaXMuX3Zpc2libGUgPSB0aGlzLl9jb3JlLiRlbGVtZW50LmlzKCc6dmlzaWJsZScpOwoJCXRoaXMuX2ludGVydmFsID0gd2luZG93LnNldEludGVydmFsKCQucHJveHkodGhpcy5yZWZyZXNoLCB0aGlzKSwgdGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvUmVmcmVzaEludGVydmFsKTsKCX07CgoJLyoqCgkgKiBSZWZyZXNoZXMgdGhlIGVsZW1lbnQuCgkgKi8KCUF1dG9SZWZyZXNoLnByb3RvdHlwZS5yZWZyZXNoID0gZnVuY3Rpb24oKSB7CgkJaWYgKHRoaXMuX2NvcmUuJGVsZW1lbnQuaXMoJzp2aXNpYmxlJykgPT09IHRoaXMuX3Zpc2libGUpIHsKCQkJcmV0dXJuOwoJCX0KCgkJdGhpcy5fdmlzaWJsZSA9ICF0aGlzLl92aXNpYmxlOwoKCQl0aGlzLl9jb3JlLiRlbGVtZW50LnRvZ2dsZUNsYXNzKCdvd2wtaGlkZGVuJywgIXRoaXMuX3Zpc2libGUpOwoKCQl0aGlzLl92aXNpYmxlICYmICh0aGlzLl9jb3JlLmludmFsaWRhdGUoJ3dpZHRoJykgJiYgdGhpcy5fY29yZS5yZWZyZXNoKCkpOwoJfTsKCgkvKioKCSAqIERlc3Ryb3lzIHRoZSBwbHVnaW4uCgkgKi8KCUF1dG9SZWZyZXNoLnByb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24oKSB7CgkJdmFyIGhhbmRsZXIsIHByb3BlcnR5OwoKCQl3aW5kb3cuY2xlYXJJbnRlcnZhbCh0aGlzLl9pbnRlcnZhbCk7CgoJCWZvciAoaGFuZGxlciBpbiB0aGlzLl9oYW5kbGVycykgewoJCQl0aGlzLl9jb3JlLiRlbGVtZW50Lm9mZihoYW5kbGVyLCB0aGlzLl9oYW5kbGVyc1toYW5kbGVyXSk7CgkJfQoJCWZvciAocHJvcGVydHkgaW4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcykpIHsKCQkJdHlwZW9mIHRoaXNbcHJvcGVydHldICE9ICdmdW5jdGlvbicgJiYgKHRoaXNbcHJvcGVydHldID0gbnVsbCk7CgkJfQoJfTsKCgkkLmZuLm93bENhcm91c2VsLkNvbnN0cnVjdG9yLlBsdWdpbnMuQXV0b1JlZnJlc2ggPSBBdXRvUmVmcmVzaDsKCn0pKHdpbmRvdy5aZXB0byB8fCB3aW5kb3cualF1ZXJ5LCB3aW5kb3csIGRvY3VtZW50KTsKCi8qKgogKiBMYXp5IFBsdWdpbgogKiBAdmVyc2lvbiAyLjEuMAogKiBAYXV0aG9yIEJhcnRvc3ogV29qY2llY2hvd3NraQogKiBAYXV0aG9yIERhdmlkIERldXRzY2gKICogQGxpY2Vuc2UgVGhlIE1JVCBMaWNlbnNlIChNSVQpCiAqLwo7KGZ1bmN0aW9uKCQsIHdpbmRvdywgZG9jdW1lbnQsIHVuZGVmaW5lZCkgewoKCS8qKgoJICogQ3JlYXRlcyB0aGUgbGF6eSBwbHVnaW4uCgkgKiBAY2xhc3MgVGhlIExhenkgUGx1Z2luCgkgKiBAcGFyYW0ge093bH0gY2Fyb3VzZWwgLSBUaGUgT3dsIENhcm91c2VsCgkgKi8KCXZhciBMYXp5ID0gZnVuY3Rpb24oY2Fyb3VzZWwpIHsKCgkJLyoqCgkJICogUmVmZXJlbmNlIHRvIHRoZSBjb3JlLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7T3dsfQoJCSAqLwoJCXRoaXMuX2NvcmUgPSBjYXJvdXNlbDsKCgkJLyoqCgkJICogQWxyZWFkeSBsb2FkZWQgaXRlbXMuCgkJICogQHByb3RlY3RlZAoJCSAqIEB0eXBlIHtBcnJheS48alF1ZXJ5Pn0KCQkgKi8KCQl0aGlzLl9sb2FkZWQgPSBbXTsKCgkJLyoqCgkJICogRXZlbnQgaGFuZGxlcnMuCgkJICogQHByb3RlY3RlZAoJCSAqIEB0eXBlIHtPYmplY3R9CgkJICovCgkJdGhpcy5faGFuZGxlcnMgPSB7CgkJCSdpbml0aWFsaXplZC5vd2wuY2Fyb3VzZWwgY2hhbmdlLm93bC5jYXJvdXNlbCByZXNpemVkLm93bC5jYXJvdXNlbCc6ICQucHJveHkoZnVuY3Rpb24oZSkgewoJCQkJaWYgKCFlLm5hbWVzcGFjZSkgewoJCQkJCXJldHVybjsKCQkJCX0KCgkJCQlpZiAoIXRoaXMuX2NvcmUuc2V0dGluZ3MgfHwgIXRoaXMuX2NvcmUuc2V0dGluZ3MubGF6eUxvYWQpIHsKCQkJCQlyZXR1cm47CgkJCQl9CgoJCQkJaWYgKChlLnByb3BlcnR5ICYmIGUucHJvcGVydHkubmFtZSA9PSAncG9zaXRpb24nKSB8fCBlLnR5cGUgPT0gJ2luaXRpYWxpemVkJykgewoJCQkJCXZhciBzZXR0aW5ncyA9IHRoaXMuX2NvcmUuc2V0dGluZ3MsCgkJCQkJCW4gPSAoc2V0dGluZ3MuY2VudGVyICYmIE1hdGguY2VpbChzZXR0aW5ncy5pdGVtcyAvIDIpIHx8IHNldHRpbmdzLml0ZW1zKSwKCQkJCQkJaSA9ICgoc2V0dGluZ3MuY2VudGVyICYmIG4gKiAtMSkgfHwgMCksCgkJCQkJCXBvc2l0aW9uID0gKGUucHJvcGVydHkgJiYgZS5wcm9wZXJ0eS52YWx1ZSAhPT0gdW5kZWZpbmVkID8gZS5wcm9wZXJ0eS52YWx1ZSA6IHRoaXMuX2NvcmUuY3VycmVudCgpKSArIGksCgkJCQkJCWNsb25lcyA9IHRoaXMuX2NvcmUuY2xvbmVzKCkubGVuZ3RoLAoJCQkJCQlsb2FkID0gJC5wcm94eShmdW5jdGlvbihpLCB2KSB7IHRoaXMubG9hZCh2KSB9LCB0aGlzKTsKCgkJCQkJd2hpbGUgKGkrKyA8IG4pIHsKCQkJCQkJdGhpcy5sb2FkKGNsb25lcyAvIDIgKyB0aGlzLl9jb3JlLnJlbGF0aXZlKHBvc2l0aW9uKSk7CgkJCQkJCWNsb25lcyAmJiAkLmVhY2godGhpcy5fY29yZS5jbG9uZXModGhpcy5fY29yZS5yZWxhdGl2ZShwb3NpdGlvbikpLCBsb2FkKTsKCQkJCQkJcG9zaXRpb24rKzsKCQkJCQl9CgkJCQl9CgkJCX0sIHRoaXMpCgkJfTsKCgkJLy8gc2V0IHRoZSBkZWZhdWx0IG9wdGlvbnMKCQl0aGlzLl9jb3JlLm9wdGlvbnMgPSAkLmV4dGVuZCh7fSwgTGF6eS5EZWZhdWx0cywgdGhpcy5fY29yZS5vcHRpb25zKTsKCgkJLy8gcmVnaXN0ZXIgZXZlbnQgaGFuZGxlcgoJCXRoaXMuX2NvcmUuJGVsZW1lbnQub24odGhpcy5faGFuZGxlcnMpOwoJfTsKCgkvKioKCSAqIERlZmF1bHQgb3B0aW9ucy4KCSAqIEBwdWJsaWMKCSAqLwoJTGF6eS5EZWZhdWx0cyA9IHsKCQlsYXp5TG9hZDogZmFsc2UKCX07CgoJLyoqCgkgKiBMb2FkcyBhbGwgcmVzb3VyY2VzIG9mIGFuIGl0ZW0gYXQgdGhlIHNwZWNpZmllZCBwb3NpdGlvbi4KCSAqIEBwYXJhbSB7TnVtYmVyfSBwb3NpdGlvbiAtIFRoZSBhYnNvbHV0ZSBwb3NpdGlvbiBvZiB0aGUgaXRlbS4KCSAqIEBwcm90ZWN0ZWQKCSAqLwoJTGF6eS5wcm90b3R5cGUubG9hZCA9IGZ1bmN0aW9uKHBvc2l0aW9uKSB7CgkJdmFyICRpdGVtID0gdGhpcy5fY29yZS4kc3RhZ2UuY2hpbGRyZW4oKS5lcShwb3NpdGlvbiksCgkJCSRlbGVtZW50cyA9ICRpdGVtICYmICRpdGVtLmZpbmQoJy5vd2wtbGF6eScpOwoKCQlpZiAoISRlbGVtZW50cyB8fCAkLmluQXJyYXkoJGl0ZW0uZ2V0KDApLCB0aGlzLl9sb2FkZWQpID4gLTEpIHsKCQkJcmV0dXJuOwoJCX0KCgkJJGVsZW1lbnRzLmVhY2goJC5wcm94eShmdW5jdGlvbihpbmRleCwgZWxlbWVudCkgewoJCQl2YXIgJGVsZW1lbnQgPSAkKGVsZW1lbnQpLCBpbWFnZSwKCQkJCXVybCA9ICh3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbyA+IDEgJiYgJGVsZW1lbnQuYXR0cignZGF0YS1zcmMtcmV0aW5hJykpIHx8ICRlbGVtZW50LmF0dHIoJ2RhdGEtc3JjJyk7CgoJCQl0aGlzLl9jb3JlLnRyaWdnZXIoJ2xvYWQnLCB7IGVsZW1lbnQ6ICRlbGVtZW50LCB1cmw6IHVybCB9LCAnbGF6eScpOwoKCQkJaWYgKCRlbGVtZW50LmlzKCdpbWcnKSkgewoJCQkJJGVsZW1lbnQub25lKCdsb2FkLm93bC5sYXp5JywgJC5wcm94eShmdW5jdGlvbigpIHsKCQkJCQkkZWxlbWVudC5jc3MoJ29wYWNpdHknLCAxKTsKCQkJCQl0aGlzLl9jb3JlLnRyaWdnZXIoJ2xvYWRlZCcsIHsgZWxlbWVudDogJGVsZW1lbnQsIHVybDogdXJsIH0sICdsYXp5Jyk7CgkJCQl9LCB0aGlzKSkuYXR0cignc3JjJywgdXJsKTsKCQkJfSBlbHNlIHsKCQkJCWltYWdlID0gbmV3IEltYWdlKCk7CgkJCQlpbWFnZS5vbmxvYWQgPSAkLnByb3h5KGZ1bmN0aW9uKCkgewoJCQkJCSRlbGVtZW50LmNzcyh7CgkJCQkJCSdiYWNrZ3JvdW5kLWltYWdlJzogJ3VybCgnICsgdXJsICsgJyknLAoJCQkJCQknb3BhY2l0eSc6ICcxJwoJCQkJCX0pOwoJCQkJCXRoaXMuX2NvcmUudHJpZ2dlcignbG9hZGVkJywgeyBlbGVtZW50OiAkZWxlbWVudCwgdXJsOiB1cmwgfSwgJ2xhenknKTsKCQkJCX0sIHRoaXMpOwoJCQkJaW1hZ2Uuc3JjID0gdXJsOwoJCQl9CgkJfSwgdGhpcykpOwoKCQl0aGlzLl9sb2FkZWQucHVzaCgkaXRlbS5nZXQoMCkpOwoJfTsKCgkvKioKCSAqIERlc3Ryb3lzIHRoZSBwbHVnaW4uCgkgKiBAcHVibGljCgkgKi8KCUxhenkucHJvdG90eXBlLmRlc3Ryb3kgPSBmdW5jdGlvbigpIHsKCQl2YXIgaGFuZGxlciwgcHJvcGVydHk7CgoJCWZvciAoaGFuZGxlciBpbiB0aGlzLmhhbmRsZXJzKSB7CgkJCXRoaXMuX2NvcmUuJGVsZW1lbnQub2ZmKGhhbmRsZXIsIHRoaXMuaGFuZGxlcnNbaGFuZGxlcl0pOwoJCX0KCQlmb3IgKHByb3BlcnR5IGluIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKSB7CgkJCXR5cGVvZiB0aGlzW3Byb3BlcnR5XSAhPSAnZnVuY3Rpb24nICYmICh0aGlzW3Byb3BlcnR5XSA9IG51bGwpOwoJCX0KCX07CgoJJC5mbi5vd2xDYXJvdXNlbC5Db25zdHJ1Y3Rvci5QbHVnaW5zLkxhenkgPSBMYXp5OwoKfSkod2luZG93LlplcHRvIHx8IHdpbmRvdy5qUXVlcnksIHdpbmRvdywgZG9jdW1lbnQpOwoKLyoqCiAqIEF1dG9IZWlnaHQgUGx1Z2luCiAqIEB2ZXJzaW9uIDIuMS4wCiAqIEBhdXRob3IgQmFydG9zeiBXb2pjaWVjaG93c2tpCiAqIEBhdXRob3IgRGF2aWQgRGV1dHNjaAogKiBAbGljZW5zZSBUaGUgTUlUIExpY2Vuc2UgKE1JVCkKICovCjsoZnVuY3Rpb24oJCwgd2luZG93LCBkb2N1bWVudCwgdW5kZWZpbmVkKSB7CgoJLyoqCgkgKiBDcmVhdGVzIHRoZSBhdXRvIGhlaWdodCBwbHVnaW4uCgkgKiBAY2xhc3MgVGhlIEF1dG8gSGVpZ2h0IFBsdWdpbgoJICogQHBhcmFtIHtPd2x9IGNhcm91c2VsIC0gVGhlIE93bCBDYXJvdXNlbAoJICovCgl2YXIgQXV0b0hlaWdodCA9IGZ1bmN0aW9uKGNhcm91c2VsKSB7CgkJLyoqCgkJICogUmVmZXJlbmNlIHRvIHRoZSBjb3JlLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7T3dsfQoJCSAqLwoJCXRoaXMuX2NvcmUgPSBjYXJvdXNlbDsKCgkJLyoqCgkJICogQWxsIGV2ZW50IGhhbmRsZXJzLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7T2JqZWN0fQoJCSAqLwoJCXRoaXMuX2hhbmRsZXJzID0gewoJCQknaW5pdGlhbGl6ZWQub3dsLmNhcm91c2VsIHJlZnJlc2hlZC5vd2wuY2Fyb3VzZWwnOiAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJCWlmIChlLm5hbWVzcGFjZSAmJiB0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9IZWlnaHQpIHsKCQkJCQl0aGlzLnVwZGF0ZSgpOwoJCQkJfQoJCQl9LCB0aGlzKSwKCQkJJ2NoYW5nZWQub3dsLmNhcm91c2VsJzogJC5wcm94eShmdW5jdGlvbihlKSB7CgkJCQlpZiAoZS5uYW1lc3BhY2UgJiYgdGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvSGVpZ2h0ICYmIGUucHJvcGVydHkubmFtZSA9PSAncG9zaXRpb24nKXsKCQkJCQl0aGlzLnVwZGF0ZSgpOwoJCQkJfQoJCQl9LCB0aGlzKSwKCQkJJ2xvYWRlZC5vd2wubGF6eSc6ICQucHJveHkoZnVuY3Rpb24oZSkgewoJCQkJaWYgKGUubmFtZXNwYWNlICYmIHRoaXMuX2NvcmUuc2V0dGluZ3MuYXV0b0hlaWdodAoJCQkJCSYmIGUuZWxlbWVudC5jbG9zZXN0KCcuJyArIHRoaXMuX2NvcmUuc2V0dGluZ3MuaXRlbUNsYXNzKS5pbmRleCgpID09PSB0aGlzLl9jb3JlLmN1cnJlbnQoKSkgewoJCQkJCXRoaXMudXBkYXRlKCk7CgkJCQl9CgkJCX0sIHRoaXMpCgkJfTsKCgkJLy8gc2V0IGRlZmF1bHQgb3B0aW9ucwoJCXRoaXMuX2NvcmUub3B0aW9ucyA9ICQuZXh0ZW5kKHt9LCBBdXRvSGVpZ2h0LkRlZmF1bHRzLCB0aGlzLl9jb3JlLm9wdGlvbnMpOwoKCQkvLyByZWdpc3RlciBldmVudCBoYW5kbGVycwoJCXRoaXMuX2NvcmUuJGVsZW1lbnQub24odGhpcy5faGFuZGxlcnMpOwoJfTsKCgkvKioKCSAqIERlZmF1bHQgb3B0aW9ucy4KCSAqIEBwdWJsaWMKCSAqLwoJQXV0b0hlaWdodC5EZWZhdWx0cyA9IHsKCQlhdXRvSGVpZ2h0OiBmYWxzZSwKCQlhdXRvSGVpZ2h0Q2xhc3M6ICdvd2wtaGVpZ2h0JwoJfTsKCgkvKioKCSAqIFVwZGF0ZXMgdGhlIHZpZXcuCgkgKi8KCUF1dG9IZWlnaHQucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uKCkgewoJCXZhciBzdGFydCA9IHRoaXMuX2NvcmUuX2N1cnJlbnQsCgkJCWVuZCA9IHN0YXJ0ICsgdGhpcy5fY29yZS5zZXR0aW5ncy5pdGVtcywKCQkJdmlzaWJsZSA9IHRoaXMuX2NvcmUuJHN0YWdlLmNoaWxkcmVuKCkudG9BcnJheSgpLnNsaWNlKHN0YXJ0LCBlbmQpLAoJCQloZWlnaHRzID0gW10sCgkJCW1heGhlaWdodCA9IDA7CgoJCSQuZWFjaCh2aXNpYmxlLCBmdW5jdGlvbihpbmRleCwgaXRlbSkgewoJCQloZWlnaHRzLnB1c2goJChpdGVtKS5oZWlnaHQoKSk7CgkJfSk7CgoJCW1heGhlaWdodCA9IE1hdGgubWF4LmFwcGx5KG51bGwsIGhlaWdodHMpOwoKCQl0aGlzLl9jb3JlLiRzdGFnZS5wYXJlbnQoKQoJCQkuaGVpZ2h0KG1heGhlaWdodCkKCQkJLmFkZENsYXNzKHRoaXMuX2NvcmUuc2V0dGluZ3MuYXV0b0hlaWdodENsYXNzKTsKCX07CgoJQXV0b0hlaWdodC5wcm90b3R5cGUuZGVzdHJveSA9IGZ1bmN0aW9uKCkgewoJCXZhciBoYW5kbGVyLCBwcm9wZXJ0eTsKCgkJZm9yIChoYW5kbGVyIGluIHRoaXMuX2hhbmRsZXJzKSB7CgkJCXRoaXMuX2NvcmUuJGVsZW1lbnQub2ZmKGhhbmRsZXIsIHRoaXMuX2hhbmRsZXJzW2hhbmRsZXJdKTsKCQl9CgkJZm9yIChwcm9wZXJ0eSBpbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSkgewoJCQl0eXBlb2YgdGhpc1twcm9wZXJ0eV0gIT0gJ2Z1bmN0aW9uJyAmJiAodGhpc1twcm9wZXJ0eV0gPSBudWxsKTsKCQl9Cgl9OwoKCSQuZm4ub3dsQ2Fyb3VzZWwuQ29uc3RydWN0b3IuUGx1Z2lucy5BdXRvSGVpZ2h0ID0gQXV0b0hlaWdodDsKCn0pKHdpbmRvdy5aZXB0byB8fCB3aW5kb3cualF1ZXJ5LCB3aW5kb3csIGRvY3VtZW50KTsKCi8qKgogKiBWaWRlbyBQbHVnaW4KICogQHZlcnNpb24gMi4xLjAKICogQGF1dGhvciBCYXJ0b3N6IFdvamNpZWNob3dza2kKICogQGF1dGhvciBEYXZpZCBEZXV0c2NoCiAqIEBsaWNlbnNlIFRoZSBNSVQgTGljZW5zZSAoTUlUKQogKi8KOyhmdW5jdGlvbigkLCB3aW5kb3csIGRvY3VtZW50LCB1bmRlZmluZWQpIHsKCgkvKioKCSAqIENyZWF0ZXMgdGhlIHZpZGVvIHBsdWdpbi4KCSAqIEBjbGFzcyBUaGUgVmlkZW8gUGx1Z2luCgkgKiBAcGFyYW0ge093bH0gY2Fyb3VzZWwgLSBUaGUgT3dsIENhcm91c2VsCgkgKi8KCXZhciBWaWRlbyA9IGZ1bmN0aW9uKGNhcm91c2VsKSB7CgkJLyoqCgkJICogUmVmZXJlbmNlIHRvIHRoZSBjb3JlLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7T3dsfQoJCSAqLwoJCXRoaXMuX2NvcmUgPSBjYXJvdXNlbDsKCgkJLyoqCgkJICogQ2FjaGUgYWxsIHZpZGVvIFVSTHMuCgkJICogQHByb3RlY3RlZAoJCSAqIEB0eXBlIHtPYmplY3R9CgkJICovCgkJdGhpcy5fdmlkZW9zID0ge307CgoJCS8qKgoJCSAqIEN1cnJlbnQgcGxheWluZyBpdGVtLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7alF1ZXJ5fQoJCSAqLwoJCXRoaXMuX3BsYXlpbmcgPSBudWxsOwoKCQkvKioKCQkgKiBBbGwgZXZlbnQgaGFuZGxlcnMuCgkJICogQHRvZG8gVGhlIGNsb25lZCBjb250ZW50IHJlbW92YWxlIGlzIHRvbyBsYXRlCgkJICogQHByb3RlY3RlZAoJCSAqIEB0eXBlIHtPYmplY3R9CgkJICovCgkJdGhpcy5faGFuZGxlcnMgPSB7CgkJCSdpbml0aWFsaXplZC5vd2wuY2Fyb3VzZWwnOiAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJCWlmIChlLm5hbWVzcGFjZSkgewoJCQkJCXRoaXMuX2NvcmUucmVnaXN0ZXIoeyB0eXBlOiAnc3RhdGUnLCBuYW1lOiAncGxheWluZycsIHRhZ3M6IFsgJ2ludGVyYWN0aW5nJyBdIH0pOwoJCQkJfQoJCQl9LCB0aGlzKSwKCQkJJ3Jlc2l6ZS5vd2wuY2Fyb3VzZWwnOiAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJCWlmIChlLm5hbWVzcGFjZSAmJiB0aGlzLl9jb3JlLnNldHRpbmdzLnZpZGVvICYmIHRoaXMuaXNJbkZ1bGxTY3JlZW4oKSkgewoJCQkJCWUucHJldmVudERlZmF1bHQoKTsKCQkJCX0KCQkJfSwgdGhpcyksCgkJCSdyZWZyZXNoZWQub3dsLmNhcm91c2VsJzogJC5wcm94eShmdW5jdGlvbihlKSB7CgkJCQlpZiAoZS5uYW1lc3BhY2UgJiYgdGhpcy5fY29yZS5pcygncmVzaXppbmcnKSkgewoJCQkJCXRoaXMuX2NvcmUuJHN0YWdlLmZpbmQoJy5jbG9uZWQgLm93bC12aWRlby1mcmFtZScpLnJlbW92ZSgpOwoJCQkJfQoJCQl9LCB0aGlzKSwKCQkJJ2NoYW5nZWQub3dsLmNhcm91c2VsJzogJC5wcm94eShmdW5jdGlvbihlKSB7CgkJCQlpZiAoZS5uYW1lc3BhY2UgJiYgZS5wcm9wZXJ0eS5uYW1lID09PSAncG9zaXRpb24nICYmIHRoaXMuX3BsYXlpbmcpIHsKCQkJCQl0aGlzLnN0b3AoKTsKCQkJCX0KCQkJfSwgdGhpcyksCgkJCSdwcmVwYXJlZC5vd2wuY2Fyb3VzZWwnOiAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJCWlmICghZS5uYW1lc3BhY2UpIHsKCQkJCQlyZXR1cm47CgkJCQl9CgoJCQkJdmFyICRlbGVtZW50ID0gJChlLmNvbnRlbnQpLmZpbmQoJy5vd2wtdmlkZW8nKTsKCgkJCQlpZiAoJGVsZW1lbnQubGVuZ3RoKSB7CgkJCQkJJGVsZW1lbnQuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsKCQkJCQl0aGlzLmZldGNoKCRlbGVtZW50LCAkKGUuY29udGVudCkpOwoJCQkJfQoJCQl9LCB0aGlzKQoJCX07CgoJCS8vIHNldCBkZWZhdWx0IG9wdGlvbnMKCQl0aGlzLl9jb3JlLm9wdGlvbnMgPSAkLmV4dGVuZCh7fSwgVmlkZW8uRGVmYXVsdHMsIHRoaXMuX2NvcmUub3B0aW9ucyk7CgoJCS8vIHJlZ2lzdGVyIGV2ZW50IGhhbmRsZXJzCgkJdGhpcy5fY29yZS4kZWxlbWVudC5vbih0aGlzLl9oYW5kbGVycyk7CgoJCXRoaXMuX2NvcmUuJGVsZW1lbnQub24oJ2NsaWNrLm93bC52aWRlbycsICcub3dsLXZpZGVvLXBsYXktaWNvbicsICQucHJveHkoZnVuY3Rpb24oZSkgewoJCQl0aGlzLnBsYXkoZSk7CgkJfSwgdGhpcykpOwoJfTsKCgkvKioKCSAqIERlZmF1bHQgb3B0aW9ucy4KCSAqIEBwdWJsaWMKCSAqLwoJVmlkZW8uRGVmYXVsdHMgPSB7CgkJdmlkZW86IGZhbHNlLAoJCXZpZGVvSGVpZ2h0OiBmYWxzZSwKCQl2aWRlb1dpZHRoOiBmYWxzZQoJfTsKCgkvKioKCSAqIEdldHMgdGhlIHZpZGVvIElEIGFuZCB0aGUgdHlwZSAoWW91VHViZS9WaW1lby92emFhciBvbmx5KS4KCSAqIEBwcm90ZWN0ZWQKCSAqIEBwYXJhbSB7alF1ZXJ5fSB0YXJnZXQgLSBUaGUgdGFyZ2V0IGNvbnRhaW5pbmcgdGhlIHZpZGVvIGRhdGEuCgkgKiBAcGFyYW0ge2pRdWVyeX0gaXRlbSAtIFRoZSBpdGVtIGNvbnRhaW5pbmcgdGhlIHZpZGVvLgoJICovCglWaWRlby5wcm90b3R5cGUuZmV0Y2ggPSBmdW5jdGlvbih0YXJnZXQsIGl0ZW0pIHsKCQkJdmFyIHR5cGUgPSAoZnVuY3Rpb24oKSB7CgkJCQkJaWYgKHRhcmdldC5hdHRyKCdkYXRhLXZpbWVvLWlkJykpIHsKCQkJCQkJcmV0dXJuICd2aW1lbyc7CgkJCQkJfSBlbHNlIGlmICh0YXJnZXQuYXR0cignZGF0YS12emFhci1pZCcpKSB7CgkJCQkJCXJldHVybiAndnphYXInCgkJCQkJfSBlbHNlIHsKCQkJCQkJcmV0dXJuICd5b3V0dWJlJzsKCQkJCQl9CgkJCQl9KSgpLAoJCQkJaWQgPSB0YXJnZXQuYXR0cignZGF0YS12aW1lby1pZCcpIHx8IHRhcmdldC5hdHRyKCdkYXRhLXlvdXR1YmUtaWQnKSB8fCB0YXJnZXQuYXR0cignZGF0YS12emFhci1pZCcpLAoJCQkJd2lkdGggPSB0YXJnZXQuYXR0cignZGF0YS13aWR0aCcpIHx8IHRoaXMuX2NvcmUuc2V0dGluZ3MudmlkZW9XaWR0aCwKCQkJCWhlaWdodCA9IHRhcmdldC5hdHRyKCdkYXRhLWhlaWdodCcpIHx8IHRoaXMuX2NvcmUuc2V0dGluZ3MudmlkZW9IZWlnaHQsCgkJCQl1cmwgPSB0YXJnZXQuYXR0cignaHJlZicpOwoKCQlpZiAodXJsKSB7CgoJCQkvKgoJCQkJCVBhcnNlcyB0aGUgaWQncyBvdXQgb2YgdGhlIGZvbGxvd2luZyB1cmxzIChhbmQgcHJvYmFibHkgbW9yZSk6CgkJCQkJaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj06aWQKCQkJCQlodHRwczovL3lvdXR1LmJlLzppZAoJCQkJCWh0dHBzOi8vdmltZW8uY29tLzppZAoJCQkJCWh0dHBzOi8vdmltZW8uY29tL2NoYW5uZWxzLzpjaGFubmVsLzppZAoJCQkJCWh0dHBzOi8vdmltZW8uY29tL2dyb3Vwcy86Z3JvdXAvdmlkZW9zLzppZAoJCQkJCWh0dHBzOi8vYXBwLnZ6YWFyLmNvbS92aWRlb3MvOmlkCgoJCQkJCVZpc3VhbCBleGFtcGxlOiBodHRwczovL3JlZ2V4cGVyLmNvbS8jKGh0dHAlM0ElN0NodHRwcyUzQSU3QyklNUMlMkYlNUMlMkYocGxheWVyLiU3Q3d3dy4lN0NhcHAuKSUzRih2aW1lbyU1Qy5jb20lN0N5b3V0dShiZSU1Qy5jb20lN0MlNUMuYmUlN0NiZSU1Qy5nb29nbGVhcGlzJTVDLmNvbSklN0N2emFhciU1Qy5jb20pJTVDJTJGKHZpZGVvJTVDJTJGJTdDdmlkZW9zJTVDJTJGJTdDZW1iZWQlNUMlMkYlN0NjaGFubmVscyU1QyUyRi4lMkIlNUMlMkYlN0Nncm91cHMlNUMlMkYuJTJCJTVDJTJGJTdDd2F0Y2glNUMlM0Z2JTNEJTdDdiU1QyUyRiklM0YoJTVCQS1aYS16MC05Ll8lMjUtJTVEKikoJTVDJTI2JTVDUyUyQiklM0YKCQkJKi8KCgkJCWlkID0gdXJsLm1hdGNoKC8oaHR0cDp8aHR0cHM6fClcL1wvKHBsYXllci58d3d3LnxhcHAuKT8odmltZW9cLmNvbXx5b3V0dShiZVwuY29tfFwuYmV8YmVcLmdvb2dsZWFwaXNcLmNvbSl8dnphYXJcLmNvbSlcLyh2aWRlb1wvfHZpZGVvc1wvfGVtYmVkXC98Y2hhbm5lbHNcLy4rXC98Z3JvdXBzXC8uK1wvfHdhdGNoXD92PXx2XC8pPyhbQS1aYS16MC05Ll8lLV0qKShcJlxTKyk/Lyk7CgoJCQlpZiAoaWRbM10uaW5kZXhPZigneW91dHUnKSA+IC0xKSB7CgkJCQl0eXBlID0gJ3lvdXR1YmUnOwoJCQl9IGVsc2UgaWYgKGlkWzNdLmluZGV4T2YoJ3ZpbWVvJykgPiAtMSkgewoJCQkJdHlwZSA9ICd2aW1lbyc7CgkJCX0gZWxzZSBpZiAoaWRbM10uaW5kZXhPZigndnphYXInKSA+IC0xKSB7CgkJCQl0eXBlID0gJ3Z6YWFyJzsKCQkJfSBlbHNlIHsKCQkJCXRocm93IG5ldyBFcnJvcignVmlkZW8gVVJMIG5vdCBzdXBwb3J0ZWQuJyk7CgkJCX0KCQkJaWQgPSBpZFs2XTsKCQl9IGVsc2UgewoJCQl0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgdmlkZW8gVVJMLicpOwoJCX0KCgkJdGhpcy5fdmlkZW9zW3VybF0gPSB7CgkJCXR5cGU6IHR5cGUsCgkJCWlkOiBpZCwKCQkJd2lkdGg6IHdpZHRoLAoJCQloZWlnaHQ6IGhlaWdodAoJCX07CgoJCWl0ZW0uYXR0cignZGF0YS12aWRlbycsIHVybCk7CgoJCXRoaXMudGh1bWJuYWlsKHRhcmdldCwgdGhpcy5fdmlkZW9zW3VybF0pOwoJfTsKCgkvKioKCSAqIENyZWF0ZXMgdmlkZW8gdGh1bWJuYWlsLgoJICogQHByb3RlY3RlZAoJICogQHBhcmFtIHtqUXVlcnl9IHRhcmdldCAtIFRoZSB0YXJnZXQgY29udGFpbmluZyB0aGUgdmlkZW8gZGF0YS4KCSAqIEBwYXJhbSB7T2JqZWN0fSBpbmZvIC0gVGhlIHZpZGVvIGluZm8gb2JqZWN0LgoJICogQHNlZSBgZmV0Y2hgCgkgKi8KCVZpZGVvLnByb3RvdHlwZS50aHVtYm5haWwgPSBmdW5jdGlvbih0YXJnZXQsIHZpZGVvKSB7CgkJdmFyIHRuTGluaywKCQkJaWNvbiwKCQkJcGF0aCwKCQkJZGltZW5zaW9ucyA9IHZpZGVvLndpZHRoICYmIHZpZGVvLmhlaWdodCA/ICdzdHlsZT0id2lkdGg6JyArIHZpZGVvLndpZHRoICsgJ3B4O2hlaWdodDonICsgdmlkZW8uaGVpZ2h0ICsgJ3B4OyInIDogJycsCgkJCWN1c3RvbVRuID0gdGFyZ2V0LmZpbmQoJ2ltZycpLAoJCQlzcmNUeXBlID0gJ3NyYycsCgkJCWxhenlDbGFzcyA9ICcnLAoJCQlzZXR0aW5ncyA9IHRoaXMuX2NvcmUuc2V0dGluZ3MsCgkJCWNyZWF0ZSA9IGZ1bmN0aW9uKHBhdGgpIHsKCQkJCWljb24gPSAnPGRpdiBjbGFzcz0ib3dsLXZpZGVvLXBsYXktaWNvbiI+PC9kaXY+JzsKCgkJCQlpZiAoc2V0dGluZ3MubGF6eUxvYWQpIHsKCQkJCQl0bkxpbmsgPSAnPGRpdiBjbGFzcz0ib3dsLXZpZGVvLXRuICcgKyBsYXp5Q2xhc3MgKyAnIiAnICsgc3JjVHlwZSArICc9IicgKyBwYXRoICsgJyI+PC9kaXY+JzsKCQkJCX0gZWxzZSB7CgkJCQkJdG5MaW5rID0gJzxkaXYgY2xhc3M9Im93bC12aWRlby10biIgc3R5bGU9Im9wYWNpdHk6MTtiYWNrZ3JvdW5kLWltYWdlOnVybCgnICsgcGF0aCArICcpIj48L2Rpdj4nOwoJCQkJfQoJCQkJdGFyZ2V0LmFmdGVyKHRuTGluayk7CgkJCQl0YXJnZXQuYWZ0ZXIoaWNvbik7CgkJCX07CgoJCS8vIHdyYXAgdmlkZW8gY29udGVudCBpbnRvIG93bC12aWRlby13cmFwcGVyIGRpdgoJCXRhcmdldC53cmFwKCc8ZGl2IGNsYXNzPSJvd2wtdmlkZW8td3JhcHBlciInICsgZGltZW5zaW9ucyArICc+PC9kaXY+Jyk7CgoJCWlmICh0aGlzLl9jb3JlLnNldHRpbmdzLmxhenlMb2FkKSB7CgkJCXNyY1R5cGUgPSAnZGF0YS1zcmMnOwoJCQlsYXp5Q2xhc3MgPSAnb3dsLWxhenknOwoJCX0KCgkJLy8gY3VzdG9tIHRodW1ibmFpbAoJCWlmIChjdXN0b21Ubi5sZW5ndGgpIHsKCQkJY3JlYXRlKGN1c3RvbVRuLmF0dHIoc3JjVHlwZSkpOwoJCQljdXN0b21Ubi5yZW1vdmUoKTsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCgkJaWYgKHZpZGVvLnR5cGUgPT09ICd5b3V0dWJlJykgewoJCQlwYXRoID0gIi8vaW1nLnlvdXR1YmUuY29tL3ZpLyIgKyB2aWRlby5pZCArICIvaHFkZWZhdWx0LmpwZyI7CgkJCWNyZWF0ZShwYXRoKTsKCQl9IGVsc2UgaWYgKHZpZGVvLnR5cGUgPT09ICd2aW1lbycpIHsKCQkJJC5hamF4KHsKCQkJCXR5cGU6ICdHRVQnLAoJCQkJdXJsOiAnLy92aW1lby5jb20vYXBpL3YyL3ZpZGVvLycgKyB2aWRlby5pZCArICcuanNvbicsCgkJCQlqc29ucDogJ2NhbGxiYWNrJywKCQkJCWRhdGFUeXBlOiAnanNvbnAnLAoJCQkJc3VjY2VzczogZnVuY3Rpb24oZGF0YSkgewoJCQkJCXBhdGggPSBkYXRhWzBdLnRodW1ibmFpbF9sYXJnZTsKCQkJCQljcmVhdGUocGF0aCk7CgkJCQl9CgkJCX0pOwoJCX0gZWxzZSBpZiAodmlkZW8udHlwZSA9PT0gJ3Z6YWFyJykgewoJCQkkLmFqYXgoewoJCQkJdHlwZTogJ0dFVCcsCgkJCQl1cmw6ICcvL3Z6YWFyLmNvbS9hcGkvdmlkZW9zLycgKyB2aWRlby5pZCArICcuanNvbicsCgkJCQlqc29ucDogJ2NhbGxiYWNrJywKCQkJCWRhdGFUeXBlOiAnanNvbnAnLAoJCQkJc3VjY2VzczogZnVuY3Rpb24oZGF0YSkgewoJCQkJCXBhdGggPSBkYXRhLmZyYW1lZ3JhYl91cmw7CgkJCQkJY3JlYXRlKHBhdGgpOwoJCQkJfQoJCQl9KTsKCQl9Cgl9OwoKCS8qKgoJICogU3RvcHMgdGhlIGN1cnJlbnQgdmlkZW8uCgkgKiBAcHVibGljCgkgKi8KCVZpZGVvLnByb3RvdHlwZS5zdG9wID0gZnVuY3Rpb24oKSB7CgkJdGhpcy5fY29yZS50cmlnZ2VyKCdzdG9wJywgbnVsbCwgJ3ZpZGVvJyk7CgkJdGhpcy5fcGxheWluZy5maW5kKCcub3dsLXZpZGVvLWZyYW1lJykucmVtb3ZlKCk7CgkJdGhpcy5fcGxheWluZy5yZW1vdmVDbGFzcygnb3dsLXZpZGVvLXBsYXlpbmcnKTsKCQl0aGlzLl9wbGF5aW5nID0gbnVsbDsKCQl0aGlzLl9jb3JlLmxlYXZlKCdwbGF5aW5nJyk7CgkJdGhpcy5fY29yZS50cmlnZ2VyKCdzdG9wcGVkJywgbnVsbCwgJ3ZpZGVvJyk7Cgl9OwoKCS8qKgoJICogU3RhcnRzIHRoZSBjdXJyZW50IHZpZGVvLgoJICogQHB1YmxpYwoJICogQHBhcmFtIHtFdmVudH0gZXZlbnQgLSBUaGUgZXZlbnQgYXJndW1lbnRzLgoJICovCglWaWRlby5wcm90b3R5cGUucGxheSA9IGZ1bmN0aW9uKGV2ZW50KSB7CgkJdmFyIHRhcmdldCA9ICQoZXZlbnQudGFyZ2V0KSwKCQkJaXRlbSA9IHRhcmdldC5jbG9zZXN0KCcuJyArIHRoaXMuX2NvcmUuc2V0dGluZ3MuaXRlbUNsYXNzKSwKCQkJdmlkZW8gPSB0aGlzLl92aWRlb3NbaXRlbS5hdHRyKCdkYXRhLXZpZGVvJyldLAoJCQl3aWR0aCA9IHZpZGVvLndpZHRoIHx8ICcxMDAlJywKCQkJaGVpZ2h0ID0gdmlkZW8uaGVpZ2h0IHx8IHRoaXMuX2NvcmUuJHN0YWdlLmhlaWdodCgpLAoJCQlodG1sOwoKCQlpZiAodGhpcy5fcGxheWluZykgewoJCQlyZXR1cm47CgkJfQoKCQl0aGlzLl9jb3JlLmVudGVyKCdwbGF5aW5nJyk7CgkJdGhpcy5fY29yZS50cmlnZ2VyKCdwbGF5JywgbnVsbCwgJ3ZpZGVvJyk7CgoJCWl0ZW0gPSB0aGlzLl9jb3JlLml0ZW1zKHRoaXMuX2NvcmUucmVsYXRpdmUoaXRlbS5pbmRleCgpKSk7CgoJCXRoaXMuX2NvcmUucmVzZXQoaXRlbS5pbmRleCgpKTsKCgkJaWYgKHZpZGVvLnR5cGUgPT09ICd5b3V0dWJlJykgewoJCQlodG1sID0gJzxpZnJhbWUgd2lkdGg9IicgKyB3aWR0aCArICciIGhlaWdodD0iJyArIGhlaWdodCArICciIHNyYz0iLy93d3cueW91dHViZS5jb20vZW1iZWQvJyArCgkJCQl2aWRlby5pZCArICc/YXV0b3BsYXk9MSZ2PScgKyB2aWRlby5pZCArICciIGZyYW1lYm9yZGVyPSIwIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+JzsKCQl9IGVsc2UgaWYgKHZpZGVvLnR5cGUgPT09ICd2aW1lbycpIHsKCQkJaHRtbCA9ICc8aWZyYW1lIHNyYz0iLy9wbGF5ZXIudmltZW8uY29tL3ZpZGVvLycgKyB2aWRlby5pZCArCgkJCQknP2F1dG9wbGF5PTEiIHdpZHRoPSInICsgd2lkdGggKyAnIiBoZWlnaHQ9IicgKyBoZWlnaHQgKwoJCQkJJyIgZnJhbWVib3JkZXI9IjAiIHdlYmtpdGFsbG93ZnVsbHNjcmVlbiBtb3phbGxvd2Z1bGxzY3JlZW4gYWxsb3dmdWxsc2NyZWVuPjwvaWZyYW1lPic7CgkJfSBlbHNlIGlmICh2aWRlby50eXBlID09PSAndnphYXInKSB7CgkJCWh0bWwgPSAnPGlmcmFtZSBmcmFtZWJvcmRlcj0iMCInICsgJ2hlaWdodD0iJyArIGhlaWdodCArICciJyArICd3aWR0aD0iJyArIHdpZHRoICsKCQkJCSciIGFsbG93ZnVsbHNjcmVlbiBtb3phbGxvd2Z1bGxzY3JlZW4gd2Via2l0QWxsb3dGdWxsU2NyZWVuICcgKwoJCQkJJ3NyYz0iLy92aWV3LnZ6YWFyLmNvbS8nICsgdmlkZW8uaWQgKyAnL3BsYXllcj9hdXRvcGxheT10cnVlIj48L2lmcmFtZT4nOwoJCX0KCgkJJCgnPGRpdiBjbGFzcz0ib3dsLXZpZGVvLWZyYW1lIj4nICsgaHRtbCArICc8L2Rpdj4nKS5pbnNlcnRBZnRlcihpdGVtLmZpbmQoJy5vd2wtdmlkZW8nKSk7CgoJCXRoaXMuX3BsYXlpbmcgPSBpdGVtLmFkZENsYXNzKCdvd2wtdmlkZW8tcGxheWluZycpOwoJfTsKCgkvKioKCSAqIENoZWNrcyB3aGV0aGVyIGFuIHZpZGVvIGlzIGN1cnJlbnRseSBpbiBmdWxsIHNjcmVlbiBtb2RlIG9yIG5vdC4KCSAqIEB0b2RvIEJhZCBzdHlsZSBiZWNhdXNlIGxvb2tzIGxpa2UgYSByZWFkb25seSBtZXRob2QgYnV0IGNoYW5nZXMgbWVtYmVycy4KCSAqIEBwcm90ZWN0ZWQKCSAqIEByZXR1cm5zIHtCb29sZWFufQoJICovCglWaWRlby5wcm90b3R5cGUuaXNJbkZ1bGxTY3JlZW4gPSBmdW5jdGlvbigpIHsKCQl2YXIgZWxlbWVudCA9IGRvY3VtZW50LmZ1bGxzY3JlZW5FbGVtZW50IHx8IGRvY3VtZW50Lm1vekZ1bGxTY3JlZW5FbGVtZW50IHx8CgkJCQlkb2N1bWVudC53ZWJraXRGdWxsc2NyZWVuRWxlbWVudDsKCgkJcmV0dXJuIGVsZW1lbnQgJiYgJChlbGVtZW50KS5wYXJlbnQoKS5oYXNDbGFzcygnb3dsLXZpZGVvLWZyYW1lJyk7Cgl9OwoKCS8qKgoJICogRGVzdHJveXMgdGhlIHBsdWdpbi4KCSAqLwoJVmlkZW8ucHJvdG90eXBlLmRlc3Ryb3kgPSBmdW5jdGlvbigpIHsKCQl2YXIgaGFuZGxlciwgcHJvcGVydHk7CgoJCXRoaXMuX2NvcmUuJGVsZW1lbnQub2ZmKCdjbGljay5vd2wudmlkZW8nKTsKCgkJZm9yIChoYW5kbGVyIGluIHRoaXMuX2hhbmRsZXJzKSB7CgkJCXRoaXMuX2NvcmUuJGVsZW1lbnQub2ZmKGhhbmRsZXIsIHRoaXMuX2hhbmRsZXJzW2hhbmRsZXJdKTsKCQl9CgkJZm9yIChwcm9wZXJ0eSBpbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSkgewoJCQl0eXBlb2YgdGhpc1twcm9wZXJ0eV0gIT0gJ2Z1bmN0aW9uJyAmJiAodGhpc1twcm9wZXJ0eV0gPSBudWxsKTsKCQl9Cgl9OwoKCSQuZm4ub3dsQ2Fyb3VzZWwuQ29uc3RydWN0b3IuUGx1Z2lucy5WaWRlbyA9IFZpZGVvOwoKfSkod2luZG93LlplcHRvIHx8IHdpbmRvdy5qUXVlcnksIHdpbmRvdywgZG9jdW1lbnQpOwoKLyoqCiAqIEFuaW1hdGUgUGx1Z2luCiAqIEB2ZXJzaW9uIDIuMS4wCiAqIEBhdXRob3IgQmFydG9zeiBXb2pjaWVjaG93c2tpCiAqIEBhdXRob3IgRGF2aWQgRGV1dHNjaAogKiBAbGljZW5zZSBUaGUgTUlUIExpY2Vuc2UgKE1JVCkKICovCjsoZnVuY3Rpb24oJCwgd2luZG93LCBkb2N1bWVudCwgdW5kZWZpbmVkKSB7CgoJLyoqCgkgKiBDcmVhdGVzIHRoZSBhbmltYXRlIHBsdWdpbi4KCSAqIEBjbGFzcyBUaGUgTmF2aWdhdGlvbiBQbHVnaW4KCSAqIEBwYXJhbSB7T3dsfSBzY29wZSAtIFRoZSBPd2wgQ2Fyb3VzZWwKCSAqLwoJdmFyIEFuaW1hdGUgPSBmdW5jdGlvbihzY29wZSkgewoJCXRoaXMuY29yZSA9IHNjb3BlOwoJCXRoaXMuY29yZS5vcHRpb25zID0gJC5leHRlbmQoe30sIEFuaW1hdGUuRGVmYXVsdHMsIHRoaXMuY29yZS5vcHRpb25zKTsKCQl0aGlzLnN3YXBwaW5nID0gdHJ1ZTsKCQl0aGlzLnByZXZpb3VzID0gdW5kZWZpbmVkOwoJCXRoaXMubmV4dCA9IHVuZGVmaW5lZDsKCgkJdGhpcy5oYW5kbGVycyA9IHsKCQkJJ2NoYW5nZS5vd2wuY2Fyb3VzZWwnOiAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJCWlmIChlLm5hbWVzcGFjZSAmJiBlLnByb3BlcnR5Lm5hbWUgPT0gJ3Bvc2l0aW9uJykgewoJCQkJCXRoaXMucHJldmlvdXMgPSB0aGlzLmNvcmUuY3VycmVudCgpOwoJCQkJCXRoaXMubmV4dCA9IGUucHJvcGVydHkudmFsdWU7CgkJCQl9CgkJCX0sIHRoaXMpLAoJCQknZHJhZy5vd2wuY2Fyb3VzZWwgZHJhZ2dlZC5vd2wuY2Fyb3VzZWwgdHJhbnNsYXRlZC5vd2wuY2Fyb3VzZWwnOiAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJCWlmIChlLm5hbWVzcGFjZSkgewoJCQkJCXRoaXMuc3dhcHBpbmcgPSBlLnR5cGUgPT0gJ3RyYW5zbGF0ZWQnOwoJCQkJfQoJCQl9LCB0aGlzKSwKCQkJJ3RyYW5zbGF0ZS5vd2wuY2Fyb3VzZWwnOiAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJCWlmIChlLm5hbWVzcGFjZSAmJiB0aGlzLnN3YXBwaW5nICYmICh0aGlzLmNvcmUub3B0aW9ucy5hbmltYXRlT3V0IHx8IHRoaXMuY29yZS5vcHRpb25zLmFuaW1hdGVJbikpIHsKCQkJCQl0aGlzLnN3YXAoKTsKCQkJCX0KCQkJfSwgdGhpcykKCQl9OwoKCQl0aGlzLmNvcmUuJGVsZW1lbnQub24odGhpcy5oYW5kbGVycyk7Cgl9OwoKCS8qKgoJICogRGVmYXVsdCBvcHRpb25zLgoJICogQHB1YmxpYwoJICovCglBbmltYXRlLkRlZmF1bHRzID0gewoJCWFuaW1hdGVPdXQ6IGZhbHNlLAoJCWFuaW1hdGVJbjogZmFsc2UKCX07CgoJLyoqCgkgKiBUb2dnbGVzIHRoZSBhbmltYXRpb24gY2xhc3NlcyB3aGVuZXZlciBhbiB0cmFuc2xhdGlvbnMgc3RhcnRzLgoJICogQHByb3RlY3RlZAoJICogQHJldHVybnMge0Jvb2xlYW58dW5kZWZpbmVkfQoJICovCglBbmltYXRlLnByb3RvdHlwZS5zd2FwID0gZnVuY3Rpb24oKSB7CgoJCWlmICh0aGlzLmNvcmUuc2V0dGluZ3MuaXRlbXMgIT09IDEpIHsKCQkJcmV0dXJuOwoJCX0KCgkJaWYgKCEkLnN1cHBvcnQuYW5pbWF0aW9uIHx8ICEkLnN1cHBvcnQudHJhbnNpdGlvbikgewoJCQlyZXR1cm47CgkJfQoKCQl0aGlzLmNvcmUuc3BlZWQoMCk7CgoJCXZhciBsZWZ0LAoJCQljbGVhciA9ICQucHJveHkodGhpcy5jbGVhciwgdGhpcyksCgkJCXByZXZpb3VzID0gdGhpcy5jb3JlLiRzdGFnZS5jaGlsZHJlbigpLmVxKHRoaXMucHJldmlvdXMpLAoJCQluZXh0ID0gdGhpcy5jb3JlLiRzdGFnZS5jaGlsZHJlbigpLmVxKHRoaXMubmV4dCksCgkJCWluY29taW5nID0gdGhpcy5jb3JlLnNldHRpbmdzLmFuaW1hdGVJbiwKCQkJb3V0Z29pbmcgPSB0aGlzLmNvcmUuc2V0dGluZ3MuYW5pbWF0ZU91dDsKCgkJaWYgKHRoaXMuY29yZS5jdXJyZW50KCkgPT09IHRoaXMucHJldmlvdXMpIHsKCQkJcmV0dXJuOwoJCX0KCgkJaWYgKG91dGdvaW5nKSB7CgkJCWxlZnQgPSB0aGlzLmNvcmUuY29vcmRpbmF0ZXModGhpcy5wcmV2aW91cykgLSB0aGlzLmNvcmUuY29vcmRpbmF0ZXModGhpcy5uZXh0KTsKCQkJcHJldmlvdXMub25lKCQuc3VwcG9ydC5hbmltYXRpb24uZW5kLCBjbGVhcikKCQkJCS5jc3MoIHsgJ2xlZnQnOiBsZWZ0ICsgJ3B4JyB9ICkKCQkJCS5hZGRDbGFzcygnYW5pbWF0ZWQgb3dsLWFuaW1hdGVkLW91dCcpCgkJCQkuYWRkQ2xhc3Mob3V0Z29pbmcpOwoJCX0KCgkJaWYgKGluY29taW5nKSB7CgkJCW5leHQub25lKCQuc3VwcG9ydC5hbmltYXRpb24uZW5kLCBjbGVhcikKCQkJCS5hZGRDbGFzcygnYW5pbWF0ZWQgb3dsLWFuaW1hdGVkLWluJykKCQkJCS5hZGRDbGFzcyhpbmNvbWluZyk7CgkJfQoJfTsKCglBbmltYXRlLnByb3RvdHlwZS5jbGVhciA9IGZ1bmN0aW9uKGUpIHsKCQkkKGUudGFyZ2V0KS5jc3MoIHsgJ2xlZnQnOiAnJyB9ICkKCQkJLnJlbW92ZUNsYXNzKCdhbmltYXRlZCBvd2wtYW5pbWF0ZWQtb3V0IG93bC1hbmltYXRlZC1pbicpCgkJCS5yZW1vdmVDbGFzcyh0aGlzLmNvcmUuc2V0dGluZ3MuYW5pbWF0ZUluKQoJCQkucmVtb3ZlQ2xhc3ModGhpcy5jb3JlLnNldHRpbmdzLmFuaW1hdGVPdXQpOwoJCXRoaXMuY29yZS5vblRyYW5zaXRpb25FbmQoKTsKCX07CgoJLyoqCgkgKiBEZXN0cm95cyB0aGUgcGx1Z2luLgoJICogQHB1YmxpYwoJICovCglBbmltYXRlLnByb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24oKSB7CgkJdmFyIGhhbmRsZXIsIHByb3BlcnR5OwoKCQlmb3IgKGhhbmRsZXIgaW4gdGhpcy5oYW5kbGVycykgewoJCQl0aGlzLmNvcmUuJGVsZW1lbnQub2ZmKGhhbmRsZXIsIHRoaXMuaGFuZGxlcnNbaGFuZGxlcl0pOwoJCX0KCQlmb3IgKHByb3BlcnR5IGluIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKSB7CgkJCXR5cGVvZiB0aGlzW3Byb3BlcnR5XSAhPSAnZnVuY3Rpb24nICYmICh0aGlzW3Byb3BlcnR5XSA9IG51bGwpOwoJCX0KCX07CgoJJC5mbi5vd2xDYXJvdXNlbC5Db25zdHJ1Y3Rvci5QbHVnaW5zLkFuaW1hdGUgPSBBbmltYXRlOwoKfSkod2luZG93LlplcHRvIHx8IHdpbmRvdy5qUXVlcnksIHdpbmRvdywgZG9jdW1lbnQpOwoKLyoqCiAqIEF1dG9wbGF5IFBsdWdpbgogKiBAdmVyc2lvbiAyLjEuMAogKiBAYXV0aG9yIEJhcnRvc3ogV29qY2llY2hvd3NraQogKiBAYXV0aG9yIEFydHVzIEtvbGFub3dza2kKICogQGF1dGhvciBEYXZpZCBEZXV0c2NoCiAqIEBsaWNlbnNlIFRoZSBNSVQgTGljZW5zZSAoTUlUKQogKi8KOyhmdW5jdGlvbigkLCB3aW5kb3csIGRvY3VtZW50LCB1bmRlZmluZWQpIHsKCgkvKioKCSAqIENyZWF0ZXMgdGhlIGF1dG9wbGF5IHBsdWdpbi4KCSAqIEBjbGFzcyBUaGUgQXV0b3BsYXkgUGx1Z2luCgkgKiBAcGFyYW0ge093bH0gc2NvcGUgLSBUaGUgT3dsIENhcm91c2VsCgkgKi8KCXZhciBBdXRvcGxheSA9IGZ1bmN0aW9uKGNhcm91c2VsKSB7CgkJLyoqCgkJICogUmVmZXJlbmNlIHRvIHRoZSBjb3JlLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7T3dsfQoJCSAqLwoJCXRoaXMuX2NvcmUgPSBjYXJvdXNlbDsKCgkJLyoqCgkJICogVGhlIGF1dG9wbGF5IHRpbWVvdXQuCgkJICogQHR5cGUge1RpbWVvdXR9CgkJICovCgkJdGhpcy5fdGltZW91dCA9IG51bGw7CgoJCS8qKgoJCSAqIEluZGljYXRlcyB3aGVuZXZlciB0aGUgYXV0b3BsYXkgaXMgcGF1c2VkLgoJCSAqIEB0eXBlIHtCb29sZWFufQoJCSAqLwoJCXRoaXMuX3BhdXNlZCA9IGZhbHNlOwoKCQkvKioKCQkgKiBBbGwgZXZlbnQgaGFuZGxlcnMuCgkJICogQHByb3RlY3RlZAoJCSAqIEB0eXBlIHtPYmplY3R9CgkJICovCgkJdGhpcy5faGFuZGxlcnMgPSB7CgkJCSdjaGFuZ2VkLm93bC5jYXJvdXNlbCc6ICQucHJveHkoZnVuY3Rpb24oZSkgewoJCQkJaWYgKGUubmFtZXNwYWNlICYmIGUucHJvcGVydHkubmFtZSA9PT0gJ3NldHRpbmdzJykgewoJCQkJCWlmICh0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9wbGF5KSB7CgkJCQkJCXRoaXMucGxheSgpOwoJCQkJCX0gZWxzZSB7CgkJCQkJCXRoaXMuc3RvcCgpOwoJCQkJCX0KCQkJCX0gZWxzZSBpZiAoZS5uYW1lc3BhY2UgJiYgZS5wcm9wZXJ0eS5uYW1lID09PSAncG9zaXRpb24nKSB7CgkJCQkJLy9jb25zb2xlLmxvZygncGxheT8nLCBlKTsKCQkJCQlpZiAodGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvcGxheSkgewoJCQkJCQl0aGlzLl9zZXRBdXRvUGxheUludGVydmFsKCk7CgkJCQkJfQoJCQkJfQoJCQl9LCB0aGlzKSwKCQkJJ2luaXRpYWxpemVkLm93bC5jYXJvdXNlbCc6ICQucHJveHkoZnVuY3Rpb24oZSkgewoJCQkJaWYgKGUubmFtZXNwYWNlICYmIHRoaXMuX2NvcmUuc2V0dGluZ3MuYXV0b3BsYXkpIHsKCQkJCQl0aGlzLnBsYXkoKTsKCQkJCX0KCQkJfSwgdGhpcyksCgkJCSdwbGF5Lm93bC5hdXRvcGxheSc6ICQucHJveHkoZnVuY3Rpb24oZSwgdCwgcykgewoJCQkJaWYgKGUubmFtZXNwYWNlKSB7CgkJCQkJdGhpcy5wbGF5KHQsIHMpOwoJCQkJfQoJCQl9LCB0aGlzKSwKCQkJJ3N0b3Aub3dsLmF1dG9wbGF5JzogJC5wcm94eShmdW5jdGlvbihlKSB7CgkJCQlpZiAoZS5uYW1lc3BhY2UpIHsKCQkJCQl0aGlzLnN0b3AoKTsKCQkJCX0KCQkJfSwgdGhpcyksCgkJCSdtb3VzZW92ZXIub3dsLmF1dG9wbGF5JzogJC5wcm94eShmdW5jdGlvbigpIHsKCQkJCWlmICh0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9wbGF5SG92ZXJQYXVzZSAmJiB0aGlzLl9jb3JlLmlzKCdyb3RhdGluZycpKSB7CgkJCQkJdGhpcy5wYXVzZSgpOwoJCQkJfQoJCQl9LCB0aGlzKSwKCQkJJ21vdXNlbGVhdmUub3dsLmF1dG9wbGF5JzogJC5wcm94eShmdW5jdGlvbigpIHsKCQkJCWlmICh0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9wbGF5SG92ZXJQYXVzZSAmJiB0aGlzLl9jb3JlLmlzKCdyb3RhdGluZycpKSB7CgkJCQkJdGhpcy5wbGF5KCk7CgkJCQl9CgkJCX0sIHRoaXMpLAoJCQkndG91Y2hzdGFydC5vd2wuY29yZSc6ICQucHJveHkoZnVuY3Rpb24oKSB7CgkJCQlpZiAodGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvcGxheUhvdmVyUGF1c2UgJiYgdGhpcy5fY29yZS5pcygncm90YXRpbmcnKSkgewoJCQkJCXRoaXMucGF1c2UoKTsKCQkJCX0KCQkJfSwgdGhpcyksCgkJCSd0b3VjaGVuZC5vd2wuY29yZSc6ICQucHJveHkoZnVuY3Rpb24oKSB7CgkJCQlpZiAodGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvcGxheUhvdmVyUGF1c2UpIHsKCQkJCQl0aGlzLnBsYXkoKTsKCQkJCX0KCQkJfSwgdGhpcykKCQl9OwoKCQkvLyByZWdpc3RlciBldmVudCBoYW5kbGVycwoJCXRoaXMuX2NvcmUuJGVsZW1lbnQub24odGhpcy5faGFuZGxlcnMpOwoKCQkvLyBzZXQgZGVmYXVsdCBvcHRpb25zCgkJdGhpcy5fY29yZS5vcHRpb25zID0gJC5leHRlbmQoe30sIEF1dG9wbGF5LkRlZmF1bHRzLCB0aGlzLl9jb3JlLm9wdGlvbnMpOwoJfTsKCgkvKioKCSAqIERlZmF1bHQgb3B0aW9ucy4KCSAqIEBwdWJsaWMKCSAqLwoJQXV0b3BsYXkuRGVmYXVsdHMgPSB7CgkJYXV0b3BsYXk6IGZhbHNlLAoJCWF1dG9wbGF5VGltZW91dDogNTAwMCwKCQlhdXRvcGxheUhvdmVyUGF1c2U6IGZhbHNlLAoJCWF1dG9wbGF5U3BlZWQ6IGZhbHNlCgl9OwoKCS8qKgoJICogU3RhcnRzIHRoZSBhdXRvcGxheS4KCSAqIEBwdWJsaWMKCSAqIEBwYXJhbSB7TnVtYmVyfSBbdGltZW91dF0gLSBUaGUgaW50ZXJ2YWwgYmVmb3JlIHRoZSBuZXh0IGFuaW1hdGlvbiBzdGFydHMuCgkgKiBAcGFyYW0ge051bWJlcn0gW3NwZWVkXSAtIFRoZSBhbmltYXRpb24gc3BlZWQgZm9yIHRoZSBhbmltYXRpb25zLgoJICovCglBdXRvcGxheS5wcm90b3R5cGUucGxheSA9IGZ1bmN0aW9uKHRpbWVvdXQsIHNwZWVkKSB7CgkJdGhpcy5fcGF1c2VkID0gZmFsc2U7CgoJCWlmICh0aGlzLl9jb3JlLmlzKCdyb3RhdGluZycpKSB7CgkJCXJldHVybjsKCQl9CgoJCXRoaXMuX2NvcmUuZW50ZXIoJ3JvdGF0aW5nJyk7CgoJCXRoaXMuX3NldEF1dG9QbGF5SW50ZXJ2YWwoKTsKCX07CgoJLyoqCgkgKiBHZXRzIGEgbmV3IHRpbWVvdXQKCSAqIEBwcml2YXRlCgkgKiBAcGFyYW0ge051bWJlcn0gW3RpbWVvdXRdIC0gVGhlIGludGVydmFsIGJlZm9yZSB0aGUgbmV4dCBhbmltYXRpb24gc3RhcnRzLgoJICogQHBhcmFtIHtOdW1iZXJ9IFtzcGVlZF0gLSBUaGUgYW5pbWF0aW9uIHNwZWVkIGZvciB0aGUgYW5pbWF0aW9ucy4KCSAqIEByZXR1cm4ge1RpbWVvdXR9CgkgKi8KCUF1dG9wbGF5LnByb3RvdHlwZS5fZ2V0TmV4dFRpbWVvdXQgPSBmdW5jdGlvbih0aW1lb3V0LCBzcGVlZCkgewoJCWlmICggdGhpcy5fdGltZW91dCApIHsKCQkJd2luZG93LmNsZWFyVGltZW91dCh0aGlzLl90aW1lb3V0KTsKCQl9CgkJcmV0dXJuIHdpbmRvdy5zZXRUaW1lb3V0KCQucHJveHkoZnVuY3Rpb24oKSB7CgkJCWlmICh0aGlzLl9wYXVzZWQgfHwgdGhpcy5fY29yZS5pcygnYnVzeScpIHx8IHRoaXMuX2NvcmUuaXMoJ2ludGVyYWN0aW5nJykgfHwgZG9jdW1lbnQuaGlkZGVuKSB7CgkJCQlyZXR1cm47CgkJCX0KCQkJdGhpcy5fY29yZS5uZXh0KHNwZWVkIHx8IHRoaXMuX2NvcmUuc2V0dGluZ3MuYXV0b3BsYXlTcGVlZCk7CgkJfSwgdGhpcyksIHRpbWVvdXQgfHwgdGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvcGxheVRpbWVvdXQpOwoJfTsKCgkvKioKCSAqIFNldHMgYXV0b3BsYXkgaW4gbW90aW9uLgoJICogQHByaXZhdGUKCSAqLwoJQXV0b3BsYXkucHJvdG90eXBlLl9zZXRBdXRvUGxheUludGVydmFsID0gZnVuY3Rpb24oKSB7CgkJdGhpcy5fdGltZW91dCA9IHRoaXMuX2dldE5leHRUaW1lb3V0KCk7Cgl9OwoKCS8qKgoJICogU3RvcHMgdGhlIGF1dG9wbGF5LgoJICogQHB1YmxpYwoJICovCglBdXRvcGxheS5wcm90b3R5cGUuc3RvcCA9IGZ1bmN0aW9uKCkgewoJCWlmICghdGhpcy5fY29yZS5pcygncm90YXRpbmcnKSkgewoJCQlyZXR1cm47CgkJfQoKCQl3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVvdXQpOwoJCXRoaXMuX2NvcmUubGVhdmUoJ3JvdGF0aW5nJyk7Cgl9OwoKCS8qKgoJICogU3RvcHMgdGhlIGF1dG9wbGF5LgoJICogQHB1YmxpYwoJICovCglBdXRvcGxheS5wcm90b3R5cGUucGF1c2UgPSBmdW5jdGlvbigpIHsKCQlpZiAoIXRoaXMuX2NvcmUuaXMoJ3JvdGF0aW5nJykpIHsKCQkJcmV0dXJuOwoJCX0KCgkJdGhpcy5fcGF1c2VkID0gdHJ1ZTsKCX07CgoJLyoqCgkgKiBEZXN0cm95cyB0aGUgcGx1Z2luLgoJICovCglBdXRvcGxheS5wcm90b3R5cGUuZGVzdHJveSA9IGZ1bmN0aW9uKCkgewoJCXZhciBoYW5kbGVyLCBwcm9wZXJ0eTsKCgkJdGhpcy5zdG9wKCk7CgoJCWZvciAoaGFuZGxlciBpbiB0aGlzLl9oYW5kbGVycykgewoJCQl0aGlzLl9jb3JlLiRlbGVtZW50Lm9mZihoYW5kbGVyLCB0aGlzLl9oYW5kbGVyc1toYW5kbGVyXSk7CgkJfQoJCWZvciAocHJvcGVydHkgaW4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcykpIHsKCQkJdHlwZW9mIHRoaXNbcHJvcGVydHldICE9ICdmdW5jdGlvbicgJiYgKHRoaXNbcHJvcGVydHldID0gbnVsbCk7CgkJfQoJfTsKCgkkLmZuLm93bENhcm91c2VsLkNvbnN0cnVjdG9yLlBsdWdpbnMuYXV0b3BsYXkgPSBBdXRvcGxheTsKCn0pKHdpbmRvdy5aZXB0byB8fCB3aW5kb3cualF1ZXJ5LCB3aW5kb3csIGRvY3VtZW50KTsKCi8qKgogKiBOYXZpZ2F0aW9uIFBsdWdpbgogKiBAdmVyc2lvbiAyLjEuMAogKiBAYXV0aG9yIEFydHVzIEtvbGFub3dza2kKICogQGF1dGhvciBEYXZpZCBEZXV0c2NoCiAqIEBsaWNlbnNlIFRoZSBNSVQgTGljZW5zZSAoTUlUKQogKi8KOyhmdW5jdGlvbigkLCB3aW5kb3csIGRvY3VtZW50LCB1bmRlZmluZWQpIHsKCSd1c2Ugc3RyaWN0JzsKCgkvKioKCSAqIENyZWF0ZXMgdGhlIG5hdmlnYXRpb24gcGx1Z2luLgoJICogQGNsYXNzIFRoZSBOYXZpZ2F0aW9uIFBsdWdpbgoJICogQHBhcmFtIHtPd2x9IGNhcm91c2VsIC0gVGhlIE93bCBDYXJvdXNlbC4KCSAqLwoJdmFyIE5hdmlnYXRpb24gPSBmdW5jdGlvbihjYXJvdXNlbCkgewoJCS8qKgoJCSAqIFJlZmVyZW5jZSB0byB0aGUgY29yZS4KCQkgKiBAcHJvdGVjdGVkCgkJICogQHR5cGUge093bH0KCQkgKi8KCQl0aGlzLl9jb3JlID0gY2Fyb3VzZWw7CgoJCS8qKgoJCSAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBwbHVnaW4gaXMgaW5pdGlhbGl6ZWQgb3Igbm90LgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7Qm9vbGVhbn0KCQkgKi8KCQl0aGlzLl9pbml0aWFsaXplZCA9IGZhbHNlOwoKCQkvKioKCQkgKiBUaGUgY3VycmVudCBwYWdpbmcgaW5kZXhlcy4KCQkgKiBAcHJvdGVjdGVkCgkJICogQHR5cGUge0FycmF5fQoJCSAqLwoJCXRoaXMuX3BhZ2VzID0gW107CgoJCS8qKgoJCSAqIEFsbCBET00gZWxlbWVudHMgb2YgdGhlIHVzZXIgaW50ZXJmYWNlLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7T2JqZWN0fQoJCSAqLwoJCXRoaXMuX2NvbnRyb2xzID0ge307CgoJCS8qKgoJCSAqIE1hcmt1cCBmb3IgYW4gaW5kaWNhdG9yLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7QXJyYXkuPFN0cmluZz59CgkJICovCgkJdGhpcy5fdGVtcGxhdGVzID0gW107CgoJCS8qKgoJCSAqIFRoZSBjYXJvdXNlbCBlbGVtZW50LgoJCSAqIEB0eXBlIHtqUXVlcnl9CgkJICovCgkJdGhpcy4kZWxlbWVudCA9IHRoaXMuX2NvcmUuJGVsZW1lbnQ7CgoJCS8qKgoJCSAqIE92ZXJyaWRkZW4gbWV0aG9kcyBvZiB0aGUgY2Fyb3VzZWwuCgkJICogQHByb3RlY3RlZAoJCSAqIEB0eXBlIHtPYmplY3R9CgkJICovCgkJdGhpcy5fb3ZlcnJpZGVzID0gewoJCQluZXh0OiB0aGlzLl9jb3JlLm5leHQsCgkJCXByZXY6IHRoaXMuX2NvcmUucHJldiwKCQkJdG86IHRoaXMuX2NvcmUudG8KCQl9OwoKCQkvKioKCQkgKiBBbGwgZXZlbnQgaGFuZGxlcnMuCgkJICogQHByb3RlY3RlZAoJCSAqIEB0eXBlIHtPYmplY3R9CgkJICovCgkJdGhpcy5faGFuZGxlcnMgPSB7CgkJCSdwcmVwYXJlZC5vd2wuY2Fyb3VzZWwnOiAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJCWlmIChlLm5hbWVzcGFjZSAmJiB0aGlzLl9jb3JlLnNldHRpbmdzLmRvdHNEYXRhKSB7CgkJCQkJdGhpcy5fdGVtcGxhdGVzLnB1c2goJzxkaXYgY2xhc3M9IicgKyB0aGlzLl9jb3JlLnNldHRpbmdzLmRvdENsYXNzICsgJyI+JyArCgkJCQkJCSQoZS5jb250ZW50KS5maW5kKCdbZGF0YS1kb3RdJykuYWRkQmFjaygnW2RhdGEtZG90XScpLmF0dHIoJ2RhdGEtZG90JykgKyAnPC9kaXY+Jyk7CgkJCQl9CgkJCX0sIHRoaXMpLAoJCQknYWRkZWQub3dsLmNhcm91c2VsJzogJC5wcm94eShmdW5jdGlvbihlKSB7CgkJCQlpZiAoZS5uYW1lc3BhY2UgJiYgdGhpcy5fY29yZS5zZXR0aW5ncy5kb3RzRGF0YSkgewoJCQkJCXRoaXMuX3RlbXBsYXRlcy5zcGxpY2UoZS5wb3NpdGlvbiwgMCwgdGhpcy5fdGVtcGxhdGVzLnBvcCgpKTsKCQkJCX0KCQkJfSwgdGhpcyksCgkJCSdyZW1vdmUub3dsLmNhcm91c2VsJzogJC5wcm94eShmdW5jdGlvbihlKSB7CgkJCQlpZiAoZS5uYW1lc3BhY2UgJiYgdGhpcy5fY29yZS5zZXR0aW5ncy5kb3RzRGF0YSkgewoJCQkJCXRoaXMuX3RlbXBsYXRlcy5zcGxpY2UoZS5wb3NpdGlvbiwgMSk7CgkJCQl9CgkJCX0sIHRoaXMpLAoJCQknY2hhbmdlZC5vd2wuY2Fyb3VzZWwnOiAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJCWlmIChlLm5hbWVzcGFjZSAmJiBlLnByb3BlcnR5Lm5hbWUgPT0gJ3Bvc2l0aW9uJykgewoJCQkJCXRoaXMuZHJhdygpOwoJCQkJfQoJCQl9LCB0aGlzKSwKCQkJJ2luaXRpYWxpemVkLm93bC5jYXJvdXNlbCc6ICQucHJveHkoZnVuY3Rpb24oZSkgewoJCQkJaWYgKGUubmFtZXNwYWNlICYmICF0aGlzLl9pbml0aWFsaXplZCkgewoJCQkJCXRoaXMuX2NvcmUudHJpZ2dlcignaW5pdGlhbGl6ZScsIG51bGwsICduYXZpZ2F0aW9uJyk7CgkJCQkJdGhpcy5pbml0aWFsaXplKCk7CgkJCQkJdGhpcy51cGRhdGUoKTsKCQkJCQl0aGlzLmRyYXcoKTsKCQkJCQl0aGlzLl9pbml0aWFsaXplZCA9IHRydWU7CgkJCQkJdGhpcy5fY29yZS50cmlnZ2VyKCdpbml0aWFsaXplZCcsIG51bGwsICduYXZpZ2F0aW9uJyk7CgkJCQl9CgkJCX0sIHRoaXMpLAoJCQkncmVmcmVzaGVkLm93bC5jYXJvdXNlbCc6ICQucHJveHkoZnVuY3Rpb24oZSkgewoJCQkJaWYgKGUubmFtZXNwYWNlICYmIHRoaXMuX2luaXRpYWxpemVkKSB7CgkJCQkJdGhpcy5fY29yZS50cmlnZ2VyKCdyZWZyZXNoJywgbnVsbCwgJ25hdmlnYXRpb24nKTsKCQkJCQl0aGlzLnVwZGF0ZSgpOwoJCQkJCXRoaXMuZHJhdygpOwoJCQkJCXRoaXMuX2NvcmUudHJpZ2dlcigncmVmcmVzaGVkJywgbnVsbCwgJ25hdmlnYXRpb24nKTsKCQkJCX0KCQkJfSwgdGhpcykKCQl9OwoKCQkvLyBzZXQgZGVmYXVsdCBvcHRpb25zCgkJdGhpcy5fY29yZS5vcHRpb25zID0gJC5leHRlbmQoe30sIE5hdmlnYXRpb24uRGVmYXVsdHMsIHRoaXMuX2NvcmUub3B0aW9ucyk7CgoJCS8vIHJlZ2lzdGVyIGV2ZW50IGhhbmRsZXJzCgkJdGhpcy4kZWxlbWVudC5vbih0aGlzLl9oYW5kbGVycyk7Cgl9OwoKCS8qKgoJICogRGVmYXVsdCBvcHRpb25zLgoJICogQHB1YmxpYwoJICogQHRvZG8gUmVuYW1lIGBzbGlkZUJ5YCB0byBgbmF2QnlgCgkgKi8KCU5hdmlnYXRpb24uRGVmYXVsdHMgPSB7CgkJbmF2OiBmYWxzZSwKCQluYXZUZXh0OiBbICdwcmV2JywgJ25leHQnIF0sCgkJbmF2U3BlZWQ6IGZhbHNlLAoJCW5hdkVsZW1lbnQ6ICdkaXYnLAoJCW5hdkNvbnRhaW5lcjogZmFsc2UsCgkJbmF2Q29udGFpbmVyQ2xhc3M6ICdvd2wtbmF2JywKCQluYXZDbGFzczogWyAnb3dsLXByZXYnLCAnb3dsLW5leHQnIF0sCgkJc2xpZGVCeTogMSwKCQlkb3RDbGFzczogJ293bC1kb3QnLAoJCWRvdHNDbGFzczogJ293bC1kb3RzJywKCQlkb3RzOiB0cnVlLAoJCWRvdHNFYWNoOiBmYWxzZSwKCQlkb3RzRGF0YTogZmFsc2UsCgkJZG90c1NwZWVkOiBmYWxzZSwKCQlkb3RzQ29udGFpbmVyOiBmYWxzZQoJfTsKCgkvKioKCSAqIEluaXRpYWxpemVzIHRoZSBsYXlvdXQgb2YgdGhlIHBsdWdpbiBhbmQgZXh0ZW5kcyB0aGUgY2Fyb3VzZWwuCgkgKiBAcHJvdGVjdGVkCgkgKi8KCU5hdmlnYXRpb24ucHJvdG90eXBlLmluaXRpYWxpemUgPSBmdW5jdGlvbigpIHsKCQl2YXIgb3ZlcnJpZGUsCgkJCXNldHRpbmdzID0gdGhpcy5fY29yZS5zZXR0aW5nczsKCgkJLy8gY3JlYXRlIERPTSBzdHJ1Y3R1cmUgZm9yIHJlbGF0aXZlIG5hdmlnYXRpb24KCQl0aGlzLl9jb250cm9scy4kcmVsYXRpdmUgPSAoc2V0dGluZ3MubmF2Q29udGFpbmVyID8gJChzZXR0aW5ncy5uYXZDb250YWluZXIpCgkJCTogJCgnPGRpdj4nKS5hZGRDbGFzcyhzZXR0aW5ncy5uYXZDb250YWluZXJDbGFzcykuYXBwZW5kVG8odGhpcy4kZWxlbWVudCkpLmFkZENsYXNzKCdkaXNhYmxlZCcpOwoKCQl0aGlzLl9jb250cm9scy4kcHJldmlvdXMgPSAkKCc8JyArIHNldHRpbmdzLm5hdkVsZW1lbnQgKyAnPicpCgkJCS5hZGRDbGFzcyhzZXR0aW5ncy5uYXZDbGFzc1swXSkKCQkJLmh0bWwoc2V0dGluZ3MubmF2VGV4dFswXSkKCQkJLnByZXBlbmRUbyh0aGlzLl9jb250cm9scy4kcmVsYXRpdmUpCgkJCS5vbignY2xpY2snLCAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJCXRoaXMucHJldihzZXR0aW5ncy5uYXZTcGVlZCk7CgkJCX0sIHRoaXMpKTsKCQl0aGlzLl9jb250cm9scy4kbmV4dCA9ICQoJzwnICsgc2V0dGluZ3MubmF2RWxlbWVudCArICc+JykKCQkJLmFkZENsYXNzKHNldHRpbmdzLm5hdkNsYXNzWzFdKQoJCQkuaHRtbChzZXR0aW5ncy5uYXZUZXh0WzFdKQoJCQkuYXBwZW5kVG8odGhpcy5fY29udHJvbHMuJHJlbGF0aXZlKQoJCQkub24oJ2NsaWNrJywgJC5wcm94eShmdW5jdGlvbihlKSB7CgkJCQl0aGlzLm5leHQoc2V0dGluZ3MubmF2U3BlZWQpOwoJCQl9LCB0aGlzKSk7CgoJCS8vIGNyZWF0ZSBET00gc3RydWN0dXJlIGZvciBhYnNvbHV0ZSBuYXZpZ2F0aW9uCgkJaWYgKCFzZXR0aW5ncy5kb3RzRGF0YSkgewoJCQl0aGlzLl90ZW1wbGF0ZXMgPSBbICQoJzxkaXY+JykKCQkJCS5hZGRDbGFzcyhzZXR0aW5ncy5kb3RDbGFzcykKCQkJCS5hcHBlbmQoJCgnPHNwYW4+JykpCgkJCQkucHJvcCgnb3V0ZXJIVE1MJykgXTsKCQl9CgoJCXRoaXMuX2NvbnRyb2xzLiRhYnNvbHV0ZSA9IChzZXR0aW5ncy5kb3RzQ29udGFpbmVyID8gJChzZXR0aW5ncy5kb3RzQ29udGFpbmVyKQoJCQk6ICQoJzxkaXY+JykuYWRkQ2xhc3Moc2V0dGluZ3MuZG90c0NsYXNzKS5hcHBlbmRUbyh0aGlzLiRlbGVtZW50KSkuYWRkQ2xhc3MoJ2Rpc2FibGVkJyk7CgoJCXRoaXMuX2NvbnRyb2xzLiRhYnNvbHV0ZS5vbignY2xpY2snLCAnZGl2JywgJC5wcm94eShmdW5jdGlvbihlKSB7CgkJCXZhciBpbmRleCA9ICQoZS50YXJnZXQpLnBhcmVudCgpLmlzKHRoaXMuX2NvbnRyb2xzLiRhYnNvbHV0ZSkKCQkJCT8gJChlLnRhcmdldCkuaW5kZXgoKSA6ICQoZS50YXJnZXQpLnBhcmVudCgpLmluZGV4KCk7CgoJCQllLnByZXZlbnREZWZhdWx0KCk7CgoJCQl0aGlzLnRvKGluZGV4LCBzZXR0aW5ncy5kb3RzU3BlZWQpOwoJCX0sIHRoaXMpKTsKCgkJLy8gb3ZlcnJpZGUgcHVibGljIG1ldGhvZHMgb2YgdGhlIGNhcm91c2VsCgkJZm9yIChvdmVycmlkZSBpbiB0aGlzLl9vdmVycmlkZXMpIHsKCQkJdGhpcy5fY29yZVtvdmVycmlkZV0gPSAkLnByb3h5KHRoaXNbb3ZlcnJpZGVdLCB0aGlzKTsKCQl9Cgl9OwoKCS8qKgoJICogRGVzdHJveXMgdGhlIHBsdWdpbi4KCSAqIEBwcm90ZWN0ZWQKCSAqLwoJTmF2aWdhdGlvbi5wcm90b3R5cGUuZGVzdHJveSA9IGZ1bmN0aW9uKCkgewoJCXZhciBoYW5kbGVyLCBjb250cm9sLCBwcm9wZXJ0eSwgb3ZlcnJpZGU7CgoJCWZvciAoaGFuZGxlciBpbiB0aGlzLl9oYW5kbGVycykgewoJCQl0aGlzLiRlbGVtZW50Lm9mZihoYW5kbGVyLCB0aGlzLl9oYW5kbGVyc1toYW5kbGVyXSk7CgkJfQoJCWZvciAoY29udHJvbCBpbiB0aGlzLl9jb250cm9scykgewoJCQl0aGlzLl9jb250cm9sc1tjb250cm9sXS5yZW1vdmUoKTsKCQl9CgkJZm9yIChvdmVycmlkZSBpbiB0aGlzLm92ZXJpZGVzKSB7CgkJCXRoaXMuX2NvcmVbb3ZlcnJpZGVdID0gdGhpcy5fb3ZlcnJpZGVzW292ZXJyaWRlXTsKCQl9CgkJZm9yIChwcm9wZXJ0eSBpbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSkgewoJCQl0eXBlb2YgdGhpc1twcm9wZXJ0eV0gIT0gJ2Z1bmN0aW9uJyAmJiAodGhpc1twcm9wZXJ0eV0gPSBudWxsKTsKCQl9Cgl9OwoKCS8qKgoJICogVXBkYXRlcyB0aGUgaW50ZXJuYWwgc3RhdGUuCgkgKiBAcHJvdGVjdGVkCgkgKi8KCU5hdmlnYXRpb24ucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uKCkgewoJCXZhciBpLCBqLCBrLAoJCQlsb3dlciA9IHRoaXMuX2NvcmUuY2xvbmVzKCkubGVuZ3RoIC8gMiwKCQkJdXBwZXIgPSBsb3dlciArIHRoaXMuX2NvcmUuaXRlbXMoKS5sZW5ndGgsCgkJCW1heGltdW0gPSB0aGlzLl9jb3JlLm1heGltdW0odHJ1ZSksCgkJCXNldHRpbmdzID0gdGhpcy5fY29yZS5zZXR0aW5ncywKCQkJc2l6ZSA9IHNldHRpbmdzLmNlbnRlciB8fCBzZXR0aW5ncy5hdXRvV2lkdGggfHwgc2V0dGluZ3MuZG90c0RhdGEKCQkJCT8gMSA6IHNldHRpbmdzLmRvdHNFYWNoIHx8IHNldHRpbmdzLml0ZW1zOwoKCQlpZiAoc2V0dGluZ3Muc2xpZGVCeSAhPT0gJ3BhZ2UnKSB7CgkJCXNldHRpbmdzLnNsaWRlQnkgPSBNYXRoLm1pbihzZXR0aW5ncy5zbGlkZUJ5LCBzZXR0aW5ncy5pdGVtcyk7CgkJfQoKCQlpZiAoc2V0dGluZ3MuZG90cyB8fCBzZXR0aW5ncy5zbGlkZUJ5ID09ICdwYWdlJykgewoJCQl0aGlzLl9wYWdlcyA9IFtdOwoKCQkJZm9yIChpID0gbG93ZXIsIGogPSAwLCBrID0gMDsgaSA8IHVwcGVyOyBpKyspIHsKCQkJCWlmIChqID49IHNpemUgfHwgaiA9PT0gMCkgewoJCQkJCXRoaXMuX3BhZ2VzLnB1c2goewoJCQkJCQlzdGFydDogTWF0aC5taW4obWF4aW11bSwgaSAtIGxvd2VyKSwKCQkJCQkJZW5kOiBpIC0gbG93ZXIgKyBzaXplIC0gMQoJCQkJCX0pOwoJCQkJCWlmIChNYXRoLm1pbihtYXhpbXVtLCBpIC0gbG93ZXIpID09PSBtYXhpbXVtKSB7CgkJCQkJCWJyZWFrOwoJCQkJCX0KCQkJCQlqID0gMCwgKytrOwoJCQkJfQoJCQkJaiArPSB0aGlzLl9jb3JlLm1lcmdlcnModGhpcy5fY29yZS5yZWxhdGl2ZShpKSk7CgkJCX0KCQl9Cgl9OwoKCS8qKgoJICogRHJhd3MgdGhlIHVzZXIgaW50ZXJmYWNlLgoJICogQHRvZG8gVGhlIG9wdGlvbiBgZG90c0RhdGFgIHdvbnQgd29yay4KCSAqIEBwcm90ZWN0ZWQKCSAqLwoJTmF2aWdhdGlvbi5wcm90b3R5cGUuZHJhdyA9IGZ1bmN0aW9uKCkgewoJCXZhciBkaWZmZXJlbmNlLAoJCQlzZXR0aW5ncyA9IHRoaXMuX2NvcmUuc2V0dGluZ3MsCgkJCWRpc2FibGVkID0gdGhpcy5fY29yZS5pdGVtcygpLmxlbmd0aCA8PSBzZXR0aW5ncy5pdGVtcywKCQkJaW5kZXggPSB0aGlzLl9jb3JlLnJlbGF0aXZlKHRoaXMuX2NvcmUuY3VycmVudCgpKSwKCQkJbG9vcCA9IHNldHRpbmdzLmxvb3AgfHwgc2V0dGluZ3MucmV3aW5kOwoKCQl0aGlzLl9jb250cm9scy4kcmVsYXRpdmUudG9nZ2xlQ2xhc3MoJ2Rpc2FibGVkJywgIXNldHRpbmdzLm5hdiB8fCBkaXNhYmxlZCk7CgoJCWlmIChzZXR0aW5ncy5uYXYpIHsKCQkJdGhpcy5fY29udHJvbHMuJHByZXZpb3VzLnRvZ2dsZUNsYXNzKCdkaXNhYmxlZCcsICFsb29wICYmIGluZGV4IDw9IHRoaXMuX2NvcmUubWluaW11bSh0cnVlKSk7CgkJCXRoaXMuX2NvbnRyb2xzLiRuZXh0LnRvZ2dsZUNsYXNzKCdkaXNhYmxlZCcsICFsb29wICYmIGluZGV4ID49IHRoaXMuX2NvcmUubWF4aW11bSh0cnVlKSk7CgkJfQoKCQl0aGlzLl9jb250cm9scy4kYWJzb2x1dGUudG9nZ2xlQ2xhc3MoJ2Rpc2FibGVkJywgIXNldHRpbmdzLmRvdHMgfHwgZGlzYWJsZWQpOwoKCQlpZiAoc2V0dGluZ3MuZG90cykgewoJCQlkaWZmZXJlbmNlID0gdGhpcy5fcGFnZXMubGVuZ3RoIC0gdGhpcy5fY29udHJvbHMuJGFic29sdXRlLmNoaWxkcmVuKCkubGVuZ3RoOwoKCQkJaWYgKHNldHRpbmdzLmRvdHNEYXRhICYmIGRpZmZlcmVuY2UgIT09IDApIHsKCQkJCXRoaXMuX2NvbnRyb2xzLiRhYnNvbHV0ZS5odG1sKHRoaXMuX3RlbXBsYXRlcy5qb2luKCcnKSk7CgkJCX0gZWxzZSBpZiAoZGlmZmVyZW5jZSA+IDApIHsKCQkJCXRoaXMuX2NvbnRyb2xzLiRhYnNvbHV0ZS5hcHBlbmQobmV3IEFycmF5KGRpZmZlcmVuY2UgKyAxKS5qb2luKHRoaXMuX3RlbXBsYXRlc1swXSkpOwoJCQl9IGVsc2UgaWYgKGRpZmZlcmVuY2UgPCAwKSB7CgkJCQl0aGlzLl9jb250cm9scy4kYWJzb2x1dGUuY2hpbGRyZW4oKS5zbGljZShkaWZmZXJlbmNlKS5yZW1vdmUoKTsKCQkJfQoKCQkJdGhpcy5fY29udHJvbHMuJGFic29sdXRlLmZpbmQoJy5hY3RpdmUnKS5yZW1vdmVDbGFzcygnYWN0aXZlJyk7CgkJCXRoaXMuX2NvbnRyb2xzLiRhYnNvbHV0ZS5jaGlsZHJlbigpLmVxKCQuaW5BcnJheSh0aGlzLmN1cnJlbnQoKSwgdGhpcy5fcGFnZXMpKS5hZGRDbGFzcygnYWN0aXZlJyk7CgkJfQoJfTsKCgkvKioKCSAqIEV4dGVuZHMgZXZlbnQgZGF0YS4KCSAqIEBwcm90ZWN0ZWQKCSAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50IC0gVGhlIGV2ZW50IG9iamVjdCB3aGljaCBnZXRzIHRocm93bi4KCSAqLwoJTmF2aWdhdGlvbi5wcm90b3R5cGUub25UcmlnZ2VyID0gZnVuY3Rpb24oZXZlbnQpIHsKCQl2YXIgc2V0dGluZ3MgPSB0aGlzLl9jb3JlLnNldHRpbmdzOwoKCQlldmVudC5wYWdlID0gewoJCQlpbmRleDogJC5pbkFycmF5KHRoaXMuY3VycmVudCgpLCB0aGlzLl9wYWdlcyksCgkJCWNvdW50OiB0aGlzLl9wYWdlcy5sZW5ndGgsCgkJCXNpemU6IHNldHRpbmdzICYmIChzZXR0aW5ncy5jZW50ZXIgfHwgc2V0dGluZ3MuYXV0b1dpZHRoIHx8IHNldHRpbmdzLmRvdHNEYXRhCgkJCQk/IDEgOiBzZXR0aW5ncy5kb3RzRWFjaCB8fCBzZXR0aW5ncy5pdGVtcykKCQl9OwoJfTsKCgkvKioKCSAqIEdldHMgdGhlIGN1cnJlbnQgcGFnZSBwb3NpdGlvbiBvZiB0aGUgY2Fyb3VzZWwuCgkgKiBAcHJvdGVjdGVkCgkgKiBAcmV0dXJucyB7TnVtYmVyfQoJICovCglOYXZpZ2F0aW9uLnByb3RvdHlwZS5jdXJyZW50ID0gZnVuY3Rpb24oKSB7CgkJdmFyIGN1cnJlbnQgPSB0aGlzLl9jb3JlLnJlbGF0aXZlKHRoaXMuX2NvcmUuY3VycmVudCgpKTsKCQlyZXR1cm4gJC5ncmVwKHRoaXMuX3BhZ2VzLCAkLnByb3h5KGZ1bmN0aW9uKHBhZ2UsIGluZGV4KSB7CgkJCXJldHVybiBwYWdlLnN0YXJ0IDw9IGN1cnJlbnQgJiYgcGFnZS5lbmQgPj0gY3VycmVudDsKCQl9LCB0aGlzKSkucG9wKCk7Cgl9OwoKCS8qKgoJICogR2V0cyB0aGUgY3VycmVudCBzdWNjZXNvci9wcmVkZWNlc3NvciBwb3NpdGlvbi4KCSAqIEBwcm90ZWN0ZWQKCSAqIEByZXR1cm5zIHtOdW1iZXJ9CgkgKi8KCU5hdmlnYXRpb24ucHJvdG90eXBlLmdldFBvc2l0aW9uID0gZnVuY3Rpb24oc3VjY2Vzc29yKSB7CgkJdmFyIHBvc2l0aW9uLCBsZW5ndGgsCgkJCXNldHRpbmdzID0gdGhpcy5fY29yZS5zZXR0aW5nczsKCgkJaWYgKHNldHRpbmdzLnNsaWRlQnkgPT0gJ3BhZ2UnKSB7CgkJCXBvc2l0aW9uID0gJC5pbkFycmF5KHRoaXMuY3VycmVudCgpLCB0aGlzLl9wYWdlcyk7CgkJCWxlbmd0aCA9IHRoaXMuX3BhZ2VzLmxlbmd0aDsKCQkJc3VjY2Vzc29yID8gKytwb3NpdGlvbiA6IC0tcG9zaXRpb247CgkJCXBvc2l0aW9uID0gdGhpcy5fcGFnZXNbKChwb3NpdGlvbiAlIGxlbmd0aCkgKyBsZW5ndGgpICUgbGVuZ3RoXS5zdGFydDsKCQl9IGVsc2UgewoJCQlwb3NpdGlvbiA9IHRoaXMuX2NvcmUucmVsYXRpdmUodGhpcy5fY29yZS5jdXJyZW50KCkpOwoJCQlsZW5ndGggPSB0aGlzLl9jb3JlLml0ZW1zKCkubGVuZ3RoOwoJCQlzdWNjZXNzb3IgPyBwb3NpdGlvbiArPSBzZXR0aW5ncy5zbGlkZUJ5IDogcG9zaXRpb24gLT0gc2V0dGluZ3Muc2xpZGVCeTsKCQl9CgoJCXJldHVybiBwb3NpdGlvbjsKCX07CgoJLyoqCgkgKiBTbGlkZXMgdG8gdGhlIG5leHQgaXRlbSBvciBwYWdlLgoJICogQHB1YmxpYwoJICogQHBhcmFtIHtOdW1iZXJ9IFtzcGVlZD1mYWxzZV0gLSBUaGUgdGltZSBpbiBtaWxsaXNlY29uZHMgZm9yIHRoZSB0cmFuc2l0aW9uLgoJICovCglOYXZpZ2F0aW9uLnByb3RvdHlwZS5uZXh0ID0gZnVuY3Rpb24oc3BlZWQpIHsKCQkkLnByb3h5KHRoaXMuX292ZXJyaWRlcy50bywgdGhpcy5fY29yZSkodGhpcy5nZXRQb3NpdGlvbih0cnVlKSwgc3BlZWQpOwoJfTsKCgkvKioKCSAqIFNsaWRlcyB0byB0aGUgcHJldmlvdXMgaXRlbSBvciBwYWdlLgoJICogQHB1YmxpYwoJICogQHBhcmFtIHtOdW1iZXJ9IFtzcGVlZD1mYWxzZV0gLSBUaGUgdGltZSBpbiBtaWxsaXNlY29uZHMgZm9yIHRoZSB0cmFuc2l0aW9uLgoJICovCglOYXZpZ2F0aW9uLnByb3RvdHlwZS5wcmV2ID0gZnVuY3Rpb24oc3BlZWQpIHsKCQkkLnByb3h5KHRoaXMuX292ZXJyaWRlcy50bywgdGhpcy5fY29yZSkodGhpcy5nZXRQb3NpdGlvbihmYWxzZSksIHNwZWVkKTsKCX07CgoJLyoqCgkgKiBTbGlkZXMgdG8gdGhlIHNwZWNpZmllZCBpdGVtIG9yIHBhZ2UuCgkgKiBAcHVibGljCgkgKiBAcGFyYW0ge051bWJlcn0gcG9zaXRpb24gLSBUaGUgcG9zaXRpb24gb2YgdGhlIGl0ZW0gb3IgcGFnZS4KCSAqIEBwYXJhbSB7TnVtYmVyfSBbc3BlZWRdIC0gVGhlIHRpbWUgaW4gbWlsbGlzZWNvbmRzIGZvciB0aGUgdHJhbnNpdGlvbi4KCSAqIEBwYXJhbSB7Qm9vbGVhbn0gW3N0YW5kYXJkPWZhbHNlXSAtIFdoZXRoZXIgdG8gdXNlIHRoZSBzdGFuZGFyZCBiZWhhdmlvdXIgb3Igbm90LgoJICovCglOYXZpZ2F0aW9uLnByb3RvdHlwZS50byA9IGZ1bmN0aW9uKHBvc2l0aW9uLCBzcGVlZCwgc3RhbmRhcmQpIHsKCQl2YXIgbGVuZ3RoOwoKCQlpZiAoIXN0YW5kYXJkICYmIHRoaXMuX3BhZ2VzLmxlbmd0aCkgewoJCQlsZW5ndGggPSB0aGlzLl9wYWdlcy5sZW5ndGg7CgkJCSQucHJveHkodGhpcy5fb3ZlcnJpZGVzLnRvLCB0aGlzLl9jb3JlKSh0aGlzLl9wYWdlc1soKHBvc2l0aW9uICUgbGVuZ3RoKSArIGxlbmd0aCkgJSBsZW5ndGhdLnN0YXJ0LCBzcGVlZCk7CgkJfSBlbHNlIHsKCQkJJC5wcm94eSh0aGlzLl9vdmVycmlkZXMudG8sIHRoaXMuX2NvcmUpKHBvc2l0aW9uLCBzcGVlZCk7CgkJfQoJfTsKCgkkLmZuLm93bENhcm91c2VsLkNvbnN0cnVjdG9yLlBsdWdpbnMuTmF2aWdhdGlvbiA9IE5hdmlnYXRpb247Cgp9KSh3aW5kb3cuWmVwdG8gfHwgd2luZG93LmpRdWVyeSwgd2luZG93LCBkb2N1bWVudCk7CgovKioKICogSGFzaCBQbHVnaW4KICogQHZlcnNpb24gMi4xLjAKICogQGF1dGhvciBBcnR1cyBLb2xhbm93c2tpCiAqIEBhdXRob3IgRGF2aWQgRGV1dHNjaAogKiBAbGljZW5zZSBUaGUgTUlUIExpY2Vuc2UgKE1JVCkKICovCjsoZnVuY3Rpb24oJCwgd2luZG93LCBkb2N1bWVudCwgdW5kZWZpbmVkKSB7CgkndXNlIHN0cmljdCc7CgoJLyoqCgkgKiBDcmVhdGVzIHRoZSBoYXNoIHBsdWdpbi4KCSAqIEBjbGFzcyBUaGUgSGFzaCBQbHVnaW4KCSAqIEBwYXJhbSB7T3dsfSBjYXJvdXNlbCAtIFRoZSBPd2wgQ2Fyb3VzZWwKCSAqLwoJdmFyIEhhc2ggPSBmdW5jdGlvbihjYXJvdXNlbCkgewoJCS8qKgoJCSAqIFJlZmVyZW5jZSB0byB0aGUgY29yZS4KCQkgKiBAcHJvdGVjdGVkCgkJICogQHR5cGUge093bH0KCQkgKi8KCQl0aGlzLl9jb3JlID0gY2Fyb3VzZWw7CgoJCS8qKgoJCSAqIEhhc2ggaW5kZXggZm9yIHRoZSBpdGVtcy4KCQkgKiBAcHJvdGVjdGVkCgkJICogQHR5cGUge09iamVjdH0KCQkgKi8KCQl0aGlzLl9oYXNoZXMgPSB7fTsKCgkJLyoqCgkJICogVGhlIGNhcm91c2VsIGVsZW1lbnQuCgkJICogQHR5cGUge2pRdWVyeX0KCQkgKi8KCQl0aGlzLiRlbGVtZW50ID0gdGhpcy5fY29yZS4kZWxlbWVudDsKCgkJLyoqCgkJICogQWxsIGV2ZW50IGhhbmRsZXJzLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7T2JqZWN0fQoJCSAqLwoJCXRoaXMuX2hhbmRsZXJzID0gewoJCQknaW5pdGlhbGl6ZWQub3dsLmNhcm91c2VsJzogJC5wcm94eShmdW5jdGlvbihlKSB7CgkJCQlpZiAoZS5uYW1lc3BhY2UgJiYgdGhpcy5fY29yZS5zZXR0aW5ncy5zdGFydFBvc2l0aW9uID09PSAnVVJMSGFzaCcpIHsKCQkJCQkkKHdpbmRvdykudHJpZ2dlcignaGFzaGNoYW5nZS5vd2wubmF2aWdhdGlvbicpOwoJCQkJfQoJCQl9LCB0aGlzKSwKCQkJJ3ByZXBhcmVkLm93bC5jYXJvdXNlbCc6ICQucHJveHkoZnVuY3Rpb24oZSkgewoJCQkJaWYgKGUubmFtZXNwYWNlKSB7CgkJCQkJdmFyIGhhc2ggPSAkKGUuY29udGVudCkuZmluZCgnW2RhdGEtaGFzaF0nKS5hZGRCYWNrKCdbZGF0YS1oYXNoXScpLmF0dHIoJ2RhdGEtaGFzaCcpOwoKCQkJCQlpZiAoIWhhc2gpIHsKCQkJCQkJcmV0dXJuOwoJCQkJCX0KCgkJCQkJdGhpcy5faGFzaGVzW2hhc2hdID0gZS5jb250ZW50OwoJCQkJfQoJCQl9LCB0aGlzKSwKCQkJJ2NoYW5nZWQub3dsLmNhcm91c2VsJzogJC5wcm94eShmdW5jdGlvbihlKSB7CgkJCQlpZiAoZS5uYW1lc3BhY2UgJiYgZS5wcm9wZXJ0eS5uYW1lID09PSAncG9zaXRpb24nKSB7CgkJCQkJdmFyIGN1cnJlbnQgPSB0aGlzLl9jb3JlLml0ZW1zKHRoaXMuX2NvcmUucmVsYXRpdmUodGhpcy5fY29yZS5jdXJyZW50KCkpKSwKCQkJCQkJaGFzaCA9ICQubWFwKHRoaXMuX2hhc2hlcywgZnVuY3Rpb24oaXRlbSwgaGFzaCkgewoJCQkJCQkJcmV0dXJuIGl0ZW0gPT09IGN1cnJlbnQgPyBoYXNoIDogbnVsbDsKCQkJCQkJfSkuam9pbigpOwoKCQkJCQlpZiAoIWhhc2ggfHwgd2luZG93LmxvY2F0aW9uLmhhc2guc2xpY2UoMSkgPT09IGhhc2gpIHsKCQkJCQkJcmV0dXJuOwoJCQkJCX0KCgkJCQkJd2luZG93LmxvY2F0aW9uLmhhc2ggPSBoYXNoOwoJCQkJfQoJCQl9LCB0aGlzKQoJCX07CgoJCS8vIHNldCBkZWZhdWx0IG9wdGlvbnMKCQl0aGlzLl9jb3JlLm9wdGlvbnMgPSAkLmV4dGVuZCh7fSwgSGFzaC5EZWZhdWx0cywgdGhpcy5fY29yZS5vcHRpb25zKTsKCgkJLy8gcmVnaXN0ZXIgdGhlIGV2ZW50IGhhbmRsZXJzCgkJdGhpcy4kZWxlbWVudC5vbih0aGlzLl9oYW5kbGVycyk7CgoJCS8vIHJlZ2lzdGVyIGV2ZW50IGxpc3RlbmVyIGZvciBoYXNoIG5hdmlnYXRpb24KCQkkKHdpbmRvdykub24oJ2hhc2hjaGFuZ2Uub3dsLm5hdmlnYXRpb24nLCAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJdmFyIGhhc2ggPSB3aW5kb3cubG9jYXRpb24uaGFzaC5zdWJzdHJpbmcoMSksCgkJCQlpdGVtcyA9IHRoaXMuX2NvcmUuJHN0YWdlLmNoaWxkcmVuKCksCgkJCQlwb3NpdGlvbiA9IHRoaXMuX2hhc2hlc1toYXNoXSAmJiBpdGVtcy5pbmRleCh0aGlzLl9oYXNoZXNbaGFzaF0pOwoKCQkJaWYgKHBvc2l0aW9uID09PSB1bmRlZmluZWQgfHwgcG9zaXRpb24gPT09IHRoaXMuX2NvcmUuY3VycmVudCgpKSB7CgkJCQlyZXR1cm47CgkJCX0KCgkJCXRoaXMuX2NvcmUudG8odGhpcy5fY29yZS5yZWxhdGl2ZShwb3NpdGlvbiksIGZhbHNlLCB0cnVlKTsKCQl9LCB0aGlzKSk7Cgl9OwoKCS8qKgoJICogRGVmYXVsdCBvcHRpb25zLgoJICogQHB1YmxpYwoJICovCglIYXNoLkRlZmF1bHRzID0gewoJCVVSTGhhc2hMaXN0ZW5lcjogZmFsc2UKCX07CgoJLyoqCgkgKiBEZXN0cm95cyB0aGUgcGx1Z2luLgoJICogQHB1YmxpYwoJICovCglIYXNoLnByb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24oKSB7CgkJdmFyIGhhbmRsZXIsIHByb3BlcnR5OwoKCQkkKHdpbmRvdykub2ZmKCdoYXNoY2hhbmdlLm93bC5uYXZpZ2F0aW9uJyk7CgoJCWZvciAoaGFuZGxlciBpbiB0aGlzLl9oYW5kbGVycykgewoJCQl0aGlzLl9jb3JlLiRlbGVtZW50Lm9mZihoYW5kbGVyLCB0aGlzLl9oYW5kbGVyc1toYW5kbGVyXSk7CgkJfQoJCWZvciAocHJvcGVydHkgaW4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcykpIHsKCQkJdHlwZW9mIHRoaXNbcHJvcGVydHldICE9ICdmdW5jdGlvbicgJiYgKHRoaXNbcHJvcGVydHldID0gbnVsbCk7CgkJfQoJfTsKCgkkLmZuLm93bENhcm91c2VsLkNvbnN0cnVjdG9yLlBsdWdpbnMuSGFzaCA9IEhhc2g7Cgp9KSh3aW5kb3cuWmVwdG8gfHwgd2luZG93LmpRdWVyeSwgd2luZG93LCBkb2N1bWVudCk7CgovKioKICogU3VwcG9ydCBQbHVnaW4KICoKICogQHZlcnNpb24gMi4xLjAKICogQGF1dGhvciBWaXZpZCBQbGFuZXQgU29mdHdhcmUgR21iSAogKiBAYXV0aG9yIEFydHVzIEtvbGFub3dza2kKICogQGF1dGhvciBEYXZpZCBEZXV0c2NoCiAqIEBsaWNlbnNlIFRoZSBNSVQgTGljZW5zZSAoTUlUKQogKi8KOyhmdW5jdGlvbigkLCB3aW5kb3csIGRvY3VtZW50LCB1bmRlZmluZWQpIHsKCgl2YXIgc3R5bGUgPSAkKCc8c3VwcG9ydD4nKS5nZXQoMCkuc3R5bGUsCgkJcHJlZml4ZXMgPSAnV2Via2l0IE1veiBPIG1zJy5zcGxpdCgnICcpLAoJCWV2ZW50cyA9IHsKCQkJdHJhbnNpdGlvbjogewoJCQkJZW5kOiB7CgkJCQkJV2Via2l0VHJhbnNpdGlvbjogJ3dlYmtpdFRyYW5zaXRpb25FbmQnLAoJCQkJCU1velRyYW5zaXRpb246ICd0cmFuc2l0aW9uZW5kJywKCQkJCQlPVHJhbnNpdGlvbjogJ29UcmFuc2l0aW9uRW5kJywKCQkJCQl0cmFuc2l0aW9uOiAndHJhbnNpdGlvbmVuZCcKCQkJCX0KCQkJfSwKCQkJYW5pbWF0aW9uOiB7CgkJCQllbmQ6IHsKCQkJCQlXZWJraXRBbmltYXRpb246ICd3ZWJraXRBbmltYXRpb25FbmQnLAoJCQkJCU1vekFuaW1hdGlvbjogJ2FuaW1hdGlvbmVuZCcsCgkJCQkJT0FuaW1hdGlvbjogJ29BbmltYXRpb25FbmQnLAoJCQkJCWFuaW1hdGlvbjogJ2FuaW1hdGlvbmVuZCcKCQkJCX0KCQkJfQoJCX0sCgkJdGVzdHMgPSB7CgkJCWNzc3RyYW5zZm9ybXM6IGZ1bmN0aW9uKCkgewoJCQkJcmV0dXJuICEhdGVzdCgndHJhbnNmb3JtJyk7CgkJCX0sCgkJCWNzc3RyYW5zZm9ybXMzZDogZnVuY3Rpb24oKSB7CgkJCQlyZXR1cm4gISF0ZXN0KCdwZXJzcGVjdGl2ZScpOwoJCQl9LAoJCQljc3N0cmFuc2l0aW9uczogZnVuY3Rpb24oKSB7CgkJCQlyZXR1cm4gISF0ZXN0KCd0cmFuc2l0aW9uJyk7CgkJCX0sCgkJCWNzc2FuaW1hdGlvbnM6IGZ1bmN0aW9uKCkgewoJCQkJcmV0dXJuICEhdGVzdCgnYW5pbWF0aW9uJyk7CgkJCX0KCQl9OwoKCWZ1bmN0aW9uIHRlc3QocHJvcGVydHksIHByZWZpeGVkKSB7CgkJdmFyIHJlc3VsdCA9IGZhbHNlLAoJCQl1cHBlciA9IHByb3BlcnR5LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgcHJvcGVydHkuc2xpY2UoMSk7CgoJCSQuZWFjaCgocHJvcGVydHkgKyAnICcgKyBwcmVmaXhlcy5qb2luKHVwcGVyICsgJyAnKSArIHVwcGVyKS5zcGxpdCgnICcpLCBmdW5jdGlvbihpLCBwcm9wZXJ0eSkgewoJCQlpZiAoc3R5bGVbcHJvcGVydHldICE9PSB1bmRlZmluZWQpIHsKCQkJCXJlc3VsdCA9IHByZWZpeGVkID8gcHJvcGVydHkgOiB0cnVlOwoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJfSk7CgoJCXJldHVybiByZXN1bHQ7Cgl9CgoJZnVuY3Rpb24gcHJlZml4ZWQocHJvcGVydHkpIHsKCQlyZXR1cm4gdGVzdChwcm9wZXJ0eSwgdHJ1ZSk7Cgl9CgoJaWYgKHRlc3RzLmNzc3RyYW5zaXRpb25zKCkpIHsKCQkvKiBqc2hpbnQgLVcwNTMgKi8KCQkkLnN1cHBvcnQudHJhbnNpdGlvbiA9IG5ldyBTdHJpbmcocHJlZml4ZWQoJ3RyYW5zaXRpb24nKSkKCQkkLnN1cHBvcnQudHJhbnNpdGlvbi5lbmQgPSBldmVudHMudHJhbnNpdGlvbi5lbmRbICQuc3VwcG9ydC50cmFuc2l0aW9uIF07Cgl9CgoJaWYgKHRlc3RzLmNzc2FuaW1hdGlvbnMoKSkgewoJCS8qIGpzaGludCAtVzA1MyAqLwoJCSQuc3VwcG9ydC5hbmltYXRpb24gPSBuZXcgU3RyaW5nKHByZWZpeGVkKCdhbmltYXRpb24nKSkKCQkkLnN1cHBvcnQuYW5pbWF0aW9uLmVuZCA9IGV2ZW50cy5hbmltYXRpb24uZW5kWyAkLnN1cHBvcnQuYW5pbWF0aW9uIF07Cgl9CgoJaWYgKHRlc3RzLmNzc3RyYW5zZm9ybXMoKSkgewoJCS8qIGpzaGludCAtVzA1MyAqLwoJCSQuc3VwcG9ydC50cmFuc2Zvcm0gPSBuZXcgU3RyaW5nKHByZWZpeGVkKCd0cmFuc2Zvcm0nKSk7CgkJJC5zdXBwb3J0LnRyYW5zZm9ybTNkID0gdGVzdHMuY3NzdHJhbnNmb3JtczNkKCk7Cgl9Cgp9KSh3aW5kb3cuWmVwdG8gfHwgd2luZG93LmpRdWVyeSwgd2luZG93LCBkb2N1bWVudCk7Cg=="}},"time_used":77,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":40,"receive":37,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmEU9fBBc9.ttf","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://agilitetrade.com/","date":"2026-07-27T03:33:51.975Z","timestamp":1785123231975,"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/v27/KFOlCnqEu92Fr1MmEU9fBBc9.ttf 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: gzip, deflate, br, zstd\r\nOrigin: https://agilitetrade.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.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\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\ntiming-allow-origin: *\r\ncontent-length: 20911\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Fri, 24 Jul 2026 20:11:45 GMT\r\nexpires: Sat, 24 Jul 2027 20:11:45 GMT\r\ncache-control: public, max-age=31536000\r\nage: 199326\r\nlast-modified: Mon, 05 Apr 2021 21:10:39 GMT\r\ncontent-type: font/ttf\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":36460,"size_decoded":21769,"mime_type":"font/ttf","magic":"TrueType Font data, 18 tables, 1st \"GDEF\", 8 names, Microsoft, language 0x409, Copyright 2011 Google Inc. All Rights Reserved.Roboto MediumRegularVersion 2.137; 2017Roboto-Med","md5":"b383c3fca0b202f27afe0633de89731e","sha1":"ae845b970e9018cec3030588140332bef9f00e44","sha256":"7796600b2ee4c84552cb08fd79603c19b95cd21089e802f222320feceba74c45","sha512":"8f6eea5777fa69ca7f65a4aa590313e9c9ff4bb822d3af38f9847e00de1aa0a39f68cd8e3bd78368b22da2495ccc9759a416179e30f1962da19cd0402b47d958","ssdeep":"768:UIyVJgIpAqZsXgDNHOxBlNOKdhr6N+0cZXSxnrXXGqpxk0SbL09U:U8nq805Ox7dhr6NPsXSxnDXGqps","tlshash":"26f2b600e241be25c6c2f7787c3c93be4db4e42abc5da52630c99b3169c8945ec68b7d","first_seen":"2023-06-10T20:41:59Z","last_seen":"2026-07-27T05:05:33.757045Z","times_seen":324,"resource_available":false,"data":"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ERI5ALAARViwAS8bsQEgPlmwAEVYsAUvG7EFID5ZsABFWLADLxuxAxA+WbIAAQMREjkwMQEBIQEjASEClQFyARb99PX99gEVAT0Ec/pQBbAAAQAwAAAG5QWwAAwAYLIFDQ4REjkAsABFWLABLxuxASA+WbAARViwCC8bsQggPlmwAEVYsAsvG7ELID5ZsABFWLADLxuxAxA+WbAARViwBi8bsQYQPlmyAAEDERI5sgUBAxESObIKAQMREjkwMQETMwEjAQEjATMTATMFCuD7/rDy/uv+5fP+sPviARbUAWgESPpQBCf72QWw+7oERgABACkAAATpBbAACwBTALAARViwAS8bsQEgPlmwAEVYsAovG7EKID5ZsABFWLAELxuxBBA+WbAARViwBy8bsQcQPlmyAAEEERI5sgYBBBESObIDAAYREjmyCQYAERI5MDEBASEBASEBASEBASECiQEyAST+SAHC/tn+x/7G/toBw/5HASQDogIO/S79IgIW/eoC3gLSAAABAAcAAATWBbAACAAxALAARViwAS8bsQEgPlmwAEVYsAcvG7EHID5ZsABFWLAELxuxBBA+WbIAAQQREjkwMQEBIQERIxEBIQJvAU8BGP4Y/v4XARkC/gKy/Gj96AIYA5gAAAEAUAAABIwFsAAJAEYAsABFWLAHLxuxByA+WbAARViwAi8bsQIQPlmxAAGwCitYIdgb9FmyBAACERI5sAcQsQUBsAorWCHYG/RZsgkFBxESOTAxJSEVITUBITUhFQGCAwr7xALx/RQEH8rKpARAzKAAAAEAhP68AhwGjgAHACQAsAQvsAcvsQABsAorWCHYG/RZsAQQsQMBsAorWCHYG/RZMDEBIxEzFSERIQIcpaX+aAGYBdD5qb0H0gAAAQAU/4MDZAWwAAMAEwCwAi+wAEVYsAAvG7EAID5ZMDETMwEjFPACYPAFsPnTAAEADP68AaYGjgAHACcAsAIvsAEvsAIQsQUBsAorWCHYG/RZsAEQsQYBsAorWCHYG/RZMDETIREhNTMRIwwBmv5mp6cGjvguvQZXAAABADUC2QM1BbAABgAnsgAHCBESOQCwAEVYsAMvG7EDID5ZsADQsgEHAxESObABL7AF0DAxAQMjATMBIwG1ss4BK6sBKs0Epv4zAtf9KQABAAP/QQOYAAAAAwAcALAARViwAy8bsQMQPlmxAAGwCitYIdgb9FkwMQUhNSEDmPxrA5W/vwABADEE0QIJBgAAAwAkALABL7IPAQFdsAPQsAMvtA8DHwMCXbIAAQMREjkZsAAvGDAxASMBIQIJyv7yARUE0QEvAAACAFr/7AP7BE4AHgApAIiyFyorERI5sBcQsCDQALAARViwFy8bsRccPlmwAEVYsAQvG7EEED5ZsABFWLAALxuxABA+WbICFwQREjmyCxcEERI5sAsvsBcQsQ8BsAorWCHYG/RZshILDxESOUAJDBIcEiwSPBIEXbAEELEfAbAKK1gh2Bv0WbALELEjB7AKK1gh2Bv0WTAxISYnBiMiJjU0JDMzNTQmIyIGFSM0NjYzMhYXERQXFSUyNjc1IyIGFRQWAwMQDHSoo84BAe+VXmBTavN2y32+4gMp/f1IfyCDh4hdH0Z5uomtuUdUZVNAWZtYv63+GJJXEa9GO8xeVkZTAAACAHz/7AQyBgAADwAbAGayExwdERI5sBMQsAzQALAJL7AARViwDC8bsQwcPlmwAEVYsAMvG7EDED5ZsABFWLAGLxuxBhA+WbIFDAMREjmyCgwDERI5sAwQsRMBsAorWCHYG/RZsAMQsRgBsAorWCHYG/RZMDEBFAIjIicHIxEzETYzMhIRJzQmIyIHERYzMjY3BDLhxb5qDNzzabLG4vN8dp5AQZ9yfAICEvz+1ol1BgD90nz+2v74B7Cwiv5CjaqsAAEAT//sA/UETgAcAE2yAB0eERI5ALAARViwDy8bsQ8cPlmwAEVYsAgvG7EIED5ZsQABsAorWCHYG/RZsgMIDxESObITDwgREjmwDxCxFgGwCitYIdgb9FkwMSUyNjczDgIjIgARNTQAMzIWFyMmJiMiBgcVFBYCOVt4BOUEdsp14/72AQjkwfMG5QR3XHaAAX+uak5lr2YBJgEDGfcBKeG3XXirriewrQAAAgBP/+wEAwYAAA4AGQBmshcaGxESObAXELAD0ACwBi+wAEVYsAMvG7EDHD5ZsABFWLAMLxuxDBA+WbAARViwCC8bsQgQPlmyBQMMERI5sgoDDBESObAMELESAbAKK1gh2Bv0WbADELEXAbAKK1gh2Bv0WTAxEzQSMzIXETMRIycGIyICNxQWMzI3ESYjIgZP6MOsavPcDG22vuvzf3WVRUOVdoACJfoBL3gCKvoAcIQBMvKluYUBzoK7AAACAFP/7AQLBE4AFQAdAIayFh4fERI5sBYQsAjQALAARViwCC8bsQgcPlmwAEVYsAAvG7EAED5ZshoACBESObAaL7S/Gs8aAl20XxpvGgJxtB8aLxoCcbTvGv8aAnGyjBoBXbEMB7AKK1gh2Bv0WbAAELEQAbAKK1gh2Bv0WbISCAAREjmwCBCxFgGwCitYIdgb9FkwMQUiADU1NDY2MzISERUhFhYzMjcXBgYDIgYHITUmJgJZ5/7hfeKL3fH9PQudd6dpg0HZpGR7EQHPCHIUASPyHqL/jv7m/v5ihpyHfWFrA5+MfRJ6fQABAC0AAALWBhUAFABVsgcVFhESOQCwAEVYsAgvG7EIIj5ZsABFWLAELxuxBBw+WbAARViwAC8bsQAQPlmwBBCwENCxEwGwCitYIdgb9FmwAdCwCBCxDQGwCitYIdgb9FkwMTMRIzUzNTQ2MzIXByYjIhUVMxUjEdKlpci0QEgGKDWu3NwDhrRjtMQSvgizYLT8egAAAgBS/lYEDAROABkAJACGsiIlJhESObAiELAL0ACwAEVYsAMvG7EDHD5ZsABFWLAGLxuxBhw+WbAARViwCy8bsQsSPlmwAEVYsBcvG7EXED5ZsgUDFxESObALELERAbAKK1gh2Bv0WbIPERcREjmyFQMXERI5sBcQsR0BsAorWCHYG/RZsAMQsSIBsAorWCHYG/RZMDETNBIzMhc3MxEUBCMiJic3FjMyNjU1BiMiAjcUFjMyNxEmIyIGUu3EuWoL2/734XfjO3NwpHmMaa++8fKFdpNHRZN4hQIl/AEtgW3759X2Y1CShYN/SXUBLvaju34B3Hu+AAABAHkAAAP4BgAAEABDsgoREhESOQCwEC+wAEVYsAIvG7ECHD5ZsABFWLANLxuxDRA+WbAARViwBi8bsQYQPlmwAhCxCgGwCitYIdgb9FkwMQE2MyATESMRNCYjIgcRIxEzAWx3tgFaBfNhXpJI8/MDxIr+df09ArpwXYL8+wYAAAIAfQAAAZAF1QADAA0AP7IGDg8REjmwBhCwAdAAsABFWLACLxuxAhw+WbAARViwAS8bsQEQPlmwAhCwDNCwDC+xBg2wCitYIdgb9FkwMSEjETMBNDYyFhUUBiImAX/z8/7+R4RISIRHBDoBGThKSjg3SUkAAv+1/ksBhQXVAAwAFgBLsgMXGBESObADELAQ0ACwAEVYsAwvG7EMHD5ZsABFWLAELxuxBBI+WbEJAbAKK1gh2Bv0WbAMELAV0LAVL7EPDbAKK1gh2Bv0WTAxAREUBiMiJzUWMzI3EQM0NjIWFRQGIiYBeqWfQz4mMHkDFUeESEiERwQ6+2amrxHACYQEowEZOEpKODdJSQABAH0AAAQ2BgAADABTALAARViwBC8bsQQiPlmwAEVYsAgvG7EIHD5ZsABFWLACLxuxAhA+WbAARViwCy8bsQsQPlmyAAgCERI5tGoAegACXbIGCAIREjm0ZQZ1BgJdMDEBBxEjETMRNwEhAQEhAdxs8/NMASsBJP5uAb3+5wHQb/6fBgD8il8BUf49/YkAAQCMAAABfwYAAAMAHQCwAEVYsAIvG7ECIj5ZsABFWLAALxuxABA+WTAxISMRMwF/8/MGAAAAAQB8AAAGeQROAB0AeLIEHh8REjkAsABFWLADLxuxAxw+WbAARViwBy8bsQccPlmwAEVYsAAvG7EAHD5ZsABFWLAbLxuxGxA+WbAARViwFS8bsRUQPlmwAEVYsAwvG7EMED5ZsgEDGxESObIFBxUREjmwBxCxEAGwCitYIdgb9FmwGNAwMQEXNjMyFzYzMhYXESMRNCYjIgYHEyMRJiMiBxEjEQFhB3LG2VB21rOvAvNaaFNpFQHzBb6SPfMEOnGFpqbGwf05AsBnYFlI/RoCyL93/PAEOgAAAQB5AAAD+AROABAAVLILERIREjkAsABFWLADLxuxAxw+WbAARViwAC8bsQAcPlmwAEVYsA4vG7EOED5ZsABFWLAHLxuxBxA+WbIBDgMREjmwAxCxCwGwCitYIdgb9FkwMQEXNjMgExEjETQmIyIHESMRAV4HeMMBUgbzWWWTSPMEOn2R/n39NQK9Z2OF/P4EOgACAE//7AQ9BE4ADwAaAEWyDBscERI5sAwQsBjQALAARViwBC8bsQQcPlmwAEVYsAwvG7EMED5ZsRIBsAorWCHYG/RZsAQQsRgBsAorWCHYG/RZMDETNDY2MzIAFxcUBgYjIgA1FxQWMjY1NCYjIgZPfuSU2wERCwF75Zbl/u3zivaJjXl3jAInn/+J/ubpOaD8igEx/gmnvcC5pMC9AAIAfP5gBDAETgAPABoAcLITGxwREjmwExCwDNAAsABFWLAMLxuxDBw+WbAARViwCS8bsQkcPlmwAEVYsAYvG7EGEj5ZsABFWLADLxuxAxA+WbIFDAMREjmyCgwDERI5sAwQsRMBsAorWCHYG/RZsAMQsRgBsAorWCHYG/RZMDEBFAIjIicRIxEzFzYzMhIRJzQmIyIHERYzMjYEMOTAsmvz4ApruMbh8oF4lUFClnSDAhL7/tV1/f8F2m6C/tn++gaivnv+IH67AAACAE/+YAQCBE4ADgAZAG2yFxobERI5sBcQsAPQALAARViwAy8bsQMcPlmwAEVYsAYvG7EGHD5ZsABFWLAILxuxCBI+WbAARViwDC8bsQwQPlmyBQMMERI5sgoDDBESObESAbAKK1gh2Bv0WbADELEXAbAKK1gh2Bv0WTAxEzQSMzIXNzMRIxEGIyICNxQWMzI3ESYjIgZP6Ma1ag7Y82qqwurzg3SQRkaOdIUCJv4BKn9r+iYB/HABL/amvXsB7Ha6AAEAfAAAArQETgANAEeyCQ4PERI5ALAARViwCC8bsQgcPlmwAEVYsAsvG7ELHD5ZsABFWLAFLxuxBRA+WbALELECAbAKK1gh2Bv0WbIJCwUREjkwMQEmIyIHESMRMxc2MzIXArMwM6c68+gGWJw0IgNcCID9HAQ6eY0OAAABAEv/7APKBE4AJgBrsgknKBESOQCwAEVYsAkvG7EJHD5ZsABFWLAcLxuxHBA+WbICHAkREjmwAhCwFtCwCRCxEAGwCitYIdgb9FmyDRYQERI5tAwNHA0CXbAcELEkAbAKK1gh2Bv0WbIhJAIREjm0AyETIQJdMDEBNCYmJyY1NDYzMhYVIzQmIyIGFRQWBBYWFRQGIyImJjUzFhYzMjYC22v4U7bstsLv82hWUGVeAR6jT/LEhdB07AV4Y2BkASZBRDQoWKeMvMCZRl1KPjg+P1d6V5K1YKhhVl1JAAABAAj/7AJyBUEAFABUsgAVFhESOQCwAEVYsBMvG7ETHD5ZsABFWLANLxuxDRA+WbATELAB0LAA0LAAL7ABELEEAbAKK1gh2Bv0WbANELEIAbAKK1gh2Bv0WbAEELAQ0DAxAREzFSMRFBYzMjcVBiMgEREjNTMRAa2/vzE/KitTTf7osrIFQf75tP2kPjcKvBcBNQJltAEHAAEAd//sA/cEOgAQAFSyChESERI5ALAARViwBy8bsQccPlmwAEVYsA0vG7ENHD5ZsABFWLACLxuxAhA+WbAARViwDy8bsQ8QPlmyAAINERI5sAIQsQoBsAorWCHYG/RZMDElBiMiJjURMxEUMzI3ETMRIwMMa8WwtfOrsT7z5Wp+zsMCvf1Gzn8DCfvGAAABABYAAAPaBDoABgA4sgAHCBESOQCwAEVYsAEvG7EBHD5ZsABFWLAFLxuxBRw+WbAARViwAy8bsQMQPlmyAAUDERI5MDEBEzMBIwEzAfrl+/6J0/6G/AE0Awb7xgQ6AAABACEAAAXMBDoADABgsgUNDhESOQCwAEVYsAEvG7EBHD5ZsABFWLAILxuxCBw+WbAARViwCy8bsQscPlmwAEVYsAMvG7EDED5ZsABFWLAGLxuxBhA+WbIACwMREjmyBQsDERI5sgoLAxESOTAxARMzASMDAyMBMxMTMwQzrO3+2cjo5Mj+2O2v3rcBTwLr+8YC5/0ZBDr9HQLjAAABAB8AAAPoBDoACwBTALAARViwAS8bsQEcPlmwAEVYsAovG7EKHD5ZsABFWLAELxuxBBA+WbAARViwBy8bsQcQPlmyAAoEERI5sgYKBBESObIDAAYREjmyCQYAERI5MDEBEyEBASEDAyEBASECAc4BDv61AVb+9NjX/vIBVv62AQwC1gFk/ev92wFy/o4CJQIVAAEADP5LA9YEOgAPAECyABARERI5ALAARViwDy8bsQ8cPlmwAEVYsAUvG7EFEj5ZsgAFDxESObAPELAB0LAFELEJAbAKK1gh2Bv0WTAxARMhAQIjIic1FzI2NzcBIQH33AED/lJj7TVALlxdGyP+hAEGAVwC3vsi/u8SvANDT10ENQABAFIAAAPABDoACQBGALAARViwBy8bsQccPlmwAEVYsAIvG7ECED5ZsQABsAorWCHYG/RZsgQAAhESObAHELEFAbAKK1gh2Bv0WbIJBQcREjkwMSUhFSE1ASE1IRUBgAJA/JICJf3lA0/Cwp8C18SaAAABADj+mAKRBj0AFwA3shIYGRESOQCwDC+wAEVYsAAvG7EAGD5ZsgYADBESObAGL7EFB7AKK1gh2Bv0WbISBQYREjkwMQEkAzU0IzUyNTU2NjcXBgcVFAcWFRUWFwJh/p8HwcEDtbAwrQatrQat/phjAWDV4bLi1LTeMow4+tjhW1zj1fo4AAEArv7yAVUFsAADABMAsAAvsABFWLACLxuxAiA+WTAxASMRMwFVp6f+8ga+AAABABv+mAJ1Bj0AGAA3sgUZGhESOQCwCy+wAEVYsBgvG7EYGD5ZshEYCxESObARL7ESB7AKK1gh2Bv0WbIFEhEREjkwMRc2NzU0NyY1NSYnNxYWFRUUMxUiFRUUBgcbsAS2tgSwMLaywsKztds5/9DnVlbqz/85jDPlucjhsuHFu+UzAAABAHUBgwTcAy8AFwBBshEYGRESOQCwDy+yAxgPERI5sAMvsA8QsQgBsAorWCHYG/RZsAMQsAvQsAMQsRQBsAorWCHYG/RZsA8QsBfQMDEBFAYjIi4CIyIGFSM0NjMyHgIzMjY1BNy+jkp9mkMmQ03BtpRKhZFDJ0NUAxKw3ziJIWhUq9s7hCJwVAACAIb+lAGZBE0AAwAPAD+yBxARERI5sAcQsADQALAARViwDS8bsQ0cPlmwAEVYsAMvG7EDGD5ZsA0QsQcNsAorWCHYG/RZsADQsAAvMDETMxMhARQGIyImNTQ2MzIWqtEY/v8BB0hBQkhIQkFIApb7/gU3OEtLODdLSwAAAQBk/wsECgUmACAAX7IbISIREjkAsABFWLARLxuxERw+WbAARViwCi8bsQoQPlmxAAGwCitYIdgb9FmyAwoRERI5sAoQsAfQsAcvsBEQsBTQsBQvshgRChESObARELEbAbAKK1gh2Bv0WTAxJTI2NzMGBgcVIzUmAjU1NBI3NTMVFhYXIyYmIyIDBxQWAk9ZeAbkBMWSyLfMzLfInrkE5Ad2W+YQAX+uaFCIzRzq6iIBH9wc1QEgIuHgHNicYHX+yEiwrQAAAQBeAAAEfAXDAB8AaLIaICEREjkAsABFWLASLxuxEiA+WbAARViwBS8bsQUQPlmxBAGwCitYIdgb9FmwCNCyHgUSERI5sB4vsR8BsAorWCHYG/RZsAzQsB4QsA/QshYFEhESObASELEZAbAKK1gh2Bv0WTAxARcUByEHITUzNjY1JyM1Myc0NiAWFSM0JiMiBhUXIRUB/QdAArgB++dSJysHoZsI+gGW6PVpXllnCQE3Alawh1XKyglvW7nH8srq2rhfaYJo8scAAAIAXf/lBU8E8QAbACgAQbICKSoREjmwAhCwH9AAsABFWLACLxuxAhA+WbAQ0LAQL7ACELEgB7AKK1gh2Bv0WbAQELEmB7AKK1gh2Bv0WTAxJQYjIicHJzcmNTQ3JzcXNjMyFzcXBxYVFAcXBwEUFhYyNjY0JiYiBgYEPZ/Lyp6BjYdkbZCNjpvAwpuRjpRrYouO/Hhuvty+bW293r5ta39+hJCJnMXIpZOQkXN1lJGXn8rBnI2RAnt4znV2zu7MdXXMAAABAAsAAAQ0BbAAFgBxsgAXGBESOQCwAEVYsAEvG7EBID5ZsABFWLALLxuxCxA+WbIACwEREjmyBwELERI5sAcvsAPQsAMvsQUDsAorWCHYG/RZsAcQsQkDsAorWCHYG/RZsA3QsAcQsA/QsAUQsBHQsAMQsBPQsAEQsBXQMDEBASEBMxUhFSEVIREjESE1ITUhNTMBIQIhAQYBDf6r6v7RAS/+0fz+zAE0/sz4/qkBEQNPAmH9NpiKl/7TAS2XipgCygAAAgCI/vIBbQWwAAMABwAYALAAL7AARViwBi8bsQYgPlmyBQEDKzAxExEzEREjETOI5eXl/vIDG/zlA8gC9gACAFr+JgSMBcQALwA9AIayID4/ERI5sCAQsDDQALAHL7AARViwIC8bsSAgPlmyOSAHERI5sDkQsRMBsAorWCHYG/RZsgI5ExESObAHELEOAbAKK1gh2Bv0WbILDhMREjmyMiAHERI5sDIQsSwBsAorWCHYG/RZshoyLBESObAgELEnAbAKK1gh2Bv0WbIkLCcREjkwMQEUBxYVFAQjIiQ1NxQWMzI2NTQmJy4CNTQ3JiY1NCQzMgQVIzQmIyIGFRQWBBYWJSYnBhUUFh8CNjU0JgSMq4f+8ur2/uDynIh5jYa7vL5dqUFEARPm8AEM85F4e4t4AYPCWv3NUUxsY5WzLnOIAce4WWS5rcbZzwFueF9PTVs3M26abbhaMohkqszhzGqAX1JUV2hxmW4VHCh8UVYvNRAvdVFhAAIAXQTfAyMFzAAIABEAIwCwBy+yDwcBXbECBbAKK1gh2Bv0WbAL0LAHELAQ0LAQLzAxEzQ2MhYUBiImJTQ2MhYUBiImXUN2RER2QwHJQ3ZERHZDBVYyRERkREQxMkREZEREAAADAFf/7AXiBcQAGgAoADYAkrIfNzgREjmwHxCwCdCwHxCwM9AAsABFWLAzLxuxMxA+WbAt0LAtL7ICMy0REjmwAi+0DwIfAgJdsgktMxESObAJL7QACRAJAl2yDQkCERI5sRACsAorWCHYG/RZsAIQsRcCsAorWCHYG/RZshoCCRESObAtELEfCLAKK1gh2Bv0WbAzELElCLAKK1gh2Bv0WTAxARQGICY1NTQ2MzIWFSM0JiMiBhUVFBYzMjY1JTQCJCMiBAIQEgQgJBIlNBIkIAQSEAIEIyIkAgRer/7Avb+eo62cXFhcZ2hbWVoBppb+7qOf/u+cmwERAUABE5j677sBSwGAAUq7u/64wsH+t7wCVJii1bRxrtWllWBTiHZ1doZRYoWmAR2rpP7g/qz+4KeqASCnygFax8f+pv5s/qbJyAFaAAIAjQKzAxEFxAAaACQAkrINJSYREjmwDRCwHNAAsABFWLAULxuxFCA+WbIDJRQREjmwAy+wANCwAC+yAQMUERI5sgoDFBESObAKL7AUELENArAKK1gh2Bv0WbIQCg0REjmyzBABXUATDBAcECwQPBBMEFwQbBB8EIwQCV2yuhABcbADELEbArAKK1gh2Bv0WbAKELEfArAKK1gh2Bv0WTAxAScGIyImNTQ2MzM1NCMiBhUnNDYzMhYVERQXJTI2NzUjBgYVFAJgEU18doOorWZ0QUmtr4iJmhr+oChUG2pMVgLBRFJ7aW55M38zMA5ogZGE/sRhUYIkGYkBPDFYAP//AFcAigOFA6kAJgCf6wAABwCfAVIAAAABAH8BdgPCAyUABQAbALAEL7AB0LABL7AEELECAbAKK1gh2Bv0WTAxASMRITUhA8LI/YUDQwF2AQSrAAAEAFf/7AXiBcQADQAbADEAOgChsgo7PBESObAKELAS0LAKELAx0LAKELAz0ACwAEVYsAMvG7EDID5ZsABFWLAKLxuxChA+WbADELESCLAKK1gh2Bv0WbAKELEYCLAKK1gh2Bv0WbIdCgMREjmwHS+yHwMKERI5sB8vtAAfEB8CXbIyHR8REjmwMi+xHAiwCitYIdgb9FmyJRwyERI5sB0QsCzQsB8QsToIsAorWCHYG/RZMDETNBIkIAQSEAIEIyIkAiU0AiQjIgQCEBIEICQSJREjESEyFhUUBxYWFBYXFSMmNTQmIyczMjY1NCYnI1e7AUsBgAFKu7v+uMLB/re8BRGW/u6jn/7vnJsBEQFAAROY/SWXARmZrHhBNAcKmw1CTZ6PRV1HXY0C2coBWsfH/qb+bP6mycgBWsumAR2rpP7g/qz+4KeqASBb/q8DUod9dT8db6NEFxAioExDhj42RjsBAAEAmwUMA0oFqgADABmyAQQFERI5ALACL7EAA7AKK1gh2Bv0WTAxASE1IQNK/VECrwUMngACAH8DrwKLBcQACQATADuyABQVERI5sArQALAARViwAC8bsQAgPlmwCtCwCi+xBQKwCitYIdgb9FmwABCxEAKwCitYIdgb9FkwMQEyFhQGIyImNDYTMjY1NCYiBhQWAYdqmphsbZudazVFRWpISQXEntybm9ye/nhHNTRMTGhIAAIAXwABA/ME/AALAA8ASACwCS+wAEVYsA0vG7ENED5ZsAkQsADQsAkQsQYBsAorWCHYG/RZsAPQsA0QsQ4BsAorWCHYG/RZsgUOBhESObQLBRsFAl0wMQEhFSERIxEhNSERMwEhNSECnAFX/qnY/psBZdgBMvyvA1EDg8f+fAGExwF5+wXEAAABADwCmwKyBbsAFwBbsggYGRESOQCwAEVYsA8vG7EPID5ZsABFWLAALxuxABQ+WbEWArAKK1gh2Bv0WbICABYREjmyAw8AERI5sA8QsQgCsAorWCHYG/RZsgwPABESObITDwAREjkwMQEhNQE2NTQmIyIGFSM0NjMyFhUUDwIhArL9nAEdcTY0OkK6qYePnGpijAFzApt9AQVnQyo1QjZ0mYBza2ZXcQABADcCkAKpBbsAJACAsh4lJhESOQCwAEVYsA0vG7ENID5ZsABFWLAXLxuxFxQ+WbIBFw0REjl8sAEvGLZAAVABYAEDcbKQAQFdsA0QsQYCsAorWCHYG/RZsgkBDRESObABELEjArAKK1gh2Bv0WbISIwEREjmyGxcNERI5sBcQsR4CsAorWCHYG/RZMDEBMzI1NCYjIgYVIzQ2MzIWFRQHFhUUBiMiJjUzFBYzMjY1NCcjAQxRhDY+MEG6pYKPo4eVsY+Hq7pFPD89hlwEbWEjNScjY3x5aXczKY5qfn9xJjU3KmUBAAEAcATRAkgGAAADACMAsAIvsg8CAV2wANCwAC+0DwAfAAJdsAIQsAPQGbADLxgwMQEhASMBMwEV/uvDBgD+0QABAJL+YAQfBDoAEgBhsg0TFBESOQCwAEVYsAAvG7EAHD5ZsABFWLAHLxuxBxw+WbAARViwEC8bsRASPlmwAEVYsA0vG7ENED5ZsABFWLAKLxuxChA+WbANELEEAbAKK1gh2Bv0WbILDQcREjkwMQERFhYzMjcRMxEjJwYjIicRIxEBhAJZaqg7898HXJN5TfIEOv2EjYJ5AxL7xlZrN/4+BdoAAAEARQAAA1YFsAAKACuyAgsMERI5ALAARViwCC8bsQggPlmwAEVYsAAvG7EAED5ZsgEACBESOTAxIREjIiQ1NCQzIREChFDm/vcBCuYBIQII/tbV//pQAAABAI4CRQGpA1IACgAXsggLDBESOQCwAi+wCLAKK1jYG9xZMDETNDYyFhUUBiMiJo5KhktOQEFMAso6Tk46O0pKAAABAG3+QQHJAAMADgA1sgkPEBESOQCwBi+wAEVYsA4vG7EOED5ZsAYQsAewCitY2BvcWbINBw4REjmyAQ0OERI5MDElBxYVFAYjJzI2NTQmJzcBPguWrJsHQkdHUCADNhuSaXaJLyotIwWLAAABAIACmwICBa4ABgA6sgEHCBESOQCwAEVYsAUvG7EFID5ZsABFWLAALxuxABQ+WbIEBQAREjmwBBCxAwKwCitYIdgb9FkwMQEjEQc1JTMCArnJAW8TApsCOjCSdwAAAgB3ArIDLAXEAAwAGgBCsgkbHBESObAJELAQ0ACwAEVYsAIvG7ECID5ZsgkbAhESObAJL7EQArAKK1gh2Bv0WbACELEXArAKK1gh2Bv0WTAxEzQ2IBYVFRQGIyImNRcUFjMyNjc1NCYjIgYVd78BNsC8nZ6+r11QTlsBXU9OXQRhoMPCpkifw8SjBWJubGFQYW5tZgD//wBdAIoDmQOpACYAoAkAAAcAoAF+AAD//wBZAAAFgwWrACcArf/ZApgAJwChARsACAEHALACxQAAABAAsABFWLAFLxuxBSA+WTAx//8AUAAABcwFrgAnAKEA8AAIACcArf/QApsBBwCsAxoAAAAQALAARViwCS8bsQkgPlkwMf//AGcAAAX8BbsAJwChAagACAAnALADPgAAAQcArwAwApsAEACwAEVYsCAvG7EgID5ZMDEAAgBC/n8DpQROABkAIwBjshAkJRESObAQELAd0ACwAEVYsCEvG7EhHD5ZsABFWLAQLxuxEBg+WbAhELEdDbAKK1gh2Bv0WbAA0LAAL7IDABAREjmwEBCxCQGwCitYIdgb9FmyDBAAERI5shYQABESOTAxAQYGBwcGFRQWMzI2NTMGBiMiJjU0Nzc2NzcTFAYiJjU0NjIWAnYCNUlnWmJZWGrzAu/CzuKbXE4KAvdHhEhIhEcClXyRT2phal5dZFOx0Mm4paNdSHM1ATc4S0s4N0tLAAAC//YAAAdXBbAADwASAHsAsABFWLAGLxuxBiA+WbAARViwAC8bsQAQPlmwAEVYsAQvG7EEED5ZshEGABESObARL7ECAbAKK1gh2Bv0WbAGELEIAbAKK1gh2Bv0WbILBgAREjmwCy+xDAGwCitYIdgb9FmwABCxDgGwCitYIdgb9FmyEgYAERI5MDEhIQMhAyEBIRUhEyEVIRMhASEDB1f8fg/+Crj+3gNDA+D9ehECJP3kFAKX+u0BeRsBVP6sBbDF/mjF/jYBZwKIAAABAE0A1gPsBIYACwA4ALADL7IJDAMREjmwCS+yCgkDERI5sgQDCRESObIBCgQREjmwAxCwBdCyBwQKERI5sAkQsAvQMDETAQE3AQEXAQEHAQFNATz+xJQBOwE8lP7EATyU/sT+xQFsAUIBQpb+vgFClv6+/r6WAUH+vwAAAwBp/6EFIgXuABcAIAApAGiyECorERI5sBAQsB3QsBAQsCbQALAARViwEC8bsRAgPlmwAEVYsAQvG7EEED5ZshoQBBESObIjEAQREjmwIxCwG9CwEBCxHQGwCitYIdgb9FmwGhCwJNCwBBCxJgGwCitYIdgb9FkwMQEUAgQjIicHIzcmETU0EiQzMhc3MwcWEwUUFwEmIyICBwU0JwEWMzISNQUilP7ttKSEW6mRw5YBFLLFj1enk50B/ERHAfZXh6S5AgK/LP4XTmmptQKy1v69rUuW7sMBZ0PVAUSvZY/zwf7DS8+AAzpV/v/rCKZy/Nw2AQD2AAACAJQAAAR+BbAADAAUAFmyAhUWERI5sAIQsA/QALAARViwAC8bsQAgPlmwAEVYsAovG7EKED5ZsgEKABESObABL7IOCgAREjmwDi+xCQGwCitYIdgb9FmwARCxDQGwCitYIdgb9FkwMQERMzIEFRQEIyMRIxETETMyNjQmJwGH8fQBEv7u8/Lz8/Z9kYx6BbD+6O7Ix+/+1AWw/iX+GoLehAIAAAEAiP/sBJsGFQAsAF2yIy0uERI5ALAARViwBS8bsQUiPlmwAEVYsBUvG7EVED5ZsABFWLAALxuxABA+WbIOBRUREjmwFRCxHAGwCitYIdgb9FmyIhUFERI5sAUQsSoBsAorWCHYG/RZMDEhIxE0NjMyFhUUDgIVFB4CFRQGIyImJzcWFjMyNjU0LgI1NDY1NCYjIgcBevLlzrvXG0UWQbJR2cZQqyYxLX82YVpGrlF+XFC4BARR1u67qT5icUEnLFSUiUuruScZwxwlVkMxW4iIUFjJTVFh9wAAAwBI/+wGhARQACkANAA8ANCyAj0+ERI5sAIQsC3QsAIQsDjQALAARViwFy8bsRccPlmwAEVYsAUvG7EFED5ZsADQsAAvsgwFFxESObAML7KPDAFdsBcQsRABsAorWCHYG/RZsBcQsBvQsBsvsjgAGxESObA4L7QfOC84AnG07zj/OAJxtF84bzgCcbS/OM84Al2yjDgBXbEgB7AKK1gh2Bv0WbAAELEjAbAKK1gh2Bv0WbAFELEqAbAKK1gh2Bv0WbAMELEvB7AKK1gh2Bv0WbAbELE1AbAKK1gh2Bv0WTAxBSInBgYjIiY1NDYzMzU0JiMiBhUnNDYzMhc2FzISFRUhFhYzMjc3FwYGJTI2NzUjBgYVFBYBIgYHITU0JgTm/YxB1oawyO7pv19YW3Py/cXfb4PI1O79SQmYholrPUlG0fyYOogtxGh4XQMrY38QAcRtFKFNVLCcnqxHW2dZQhOSuYWHAv7964mLnjoipjhAuDsr0QJfRkFPAueKfx5xegACAGf/7ARABiwAHQArAGiyBywtERI5sAcQsCjQALAARViwGS8bsRkiPlmwAEVYsAcvG7EHED5Zsg8HGRESObAPL7IRDwcREjmwGRCxGAGwCitYIdgb9FmwDxCxIgGwCitYIdgb9FmwBxCxKAGwCitYIdgb9FkwMQESERUUAgYjIiYmNTQ2NjMyFyYnByc3Jic3Fhc3FwMnJiYjIgYVFBYzMjY1A0L+fuWMiuJ+cc6EknExfsxOrH6iS+6xtE6PASB7Tn6LjW5viQUX/vf+b1Km/vmSfuKIled9W6l6h21yUirDMod4bf0ZEjA4qJV+qMitAAMAQwCTBDcEzAADAA0AGQBXsgQaGxESObAEELAA0LAEELAR0ACwAy+xAAGwCitYIdgb9FmwAxCwCbAKK1jYG9xZsQQNsAorWCHYG/RZsAAQsBGwCitY2BvcWbEXDbAKK1gh2Bv0WTAxASE1IQEyFhQGIyImNDYDNDYzMhYVFAYjIiYEN/wMA/T+CURKSkRDSkpKSkNESkpEQ0oCRtQBskxyS0tyTPxKOkxMOjlKSgAAAwBP/3cEPQS7ABUAHQAlAGiyBCYnERI5sAQQsBvQsAQQsCPQALAARViwBC8bsQQcPlmwAEVYsA8vG7EPED5ZshgEDxESObIgBA8REjmwIBCwGdCwBBCxGwGwCitYIdgb9FmwGBCwIdCwDxCxIwGwCitYIdgb9FkwMRM0NjYzMhc3MwcWERQGBiMiJwcjNyYTFBcBJiMiBgU0JwEWMzI2T37klGpYR5FmxHvlll1aSJFmzvNAASsvOXeMAgk6/tgrM3uJAief/4kij9CZ/sCg/Ioek8+WATacYgJhFr2nlF39pxHAAAACAIL+YAQ3BgAADwAaAGayExscERI5sBMQsAzQALAJL7AARViwDC8bsQwcPlmwAEVYsAYvG7EGEj5ZsABFWLADLxuxAxA+WbIFDAMREjmyCgwDERI5sAwQsRMBsAorWCHYG/RZsAMQsRgBsAorWCHYG/RZMDEBFAIjIicRIxEzETYzMhIRJzQmIyIHERYzMjYEN+PCsmvz82qwxePzg3aVQUKWdIMCEvf+0XX9/weg/dd3/tr++gWmunv+IH67AAABAI8AAAGCBDoAAwAdALAARViwAi8bsQIcPlmwAEVYsAAvG7EAED5ZMDEhIxEzAYLz8wQ6AAACAGT/7ActBcQAFwAjAJayASQlERI5sAEQsBrQALAARViwDC8bsQwgPlmwAEVYsA4vG7EOID5ZsABFWLADLxuxAxA+WbAARViwAC8bsQAQPlmwDhCxEAGwCitYIdgb9FmyEgAOERI5sBIvsRUBsAorWCHYG/RZsAAQsRcBsAorWCHYG/RZsAMQsRgBsAorWCHYG/RZsAwQsR0BsAorWCHYG/RZMDEhIQYjIiQCJxE0EiQzMhchFSERIRUhESEFMjcRJiMiBgcRFBYHLfydp3mn/veUApEBC6h7pwNc/UwCVv2qArv7fWNocluhrwGyFJMBDaoBOqwBEpYUzP5uyP5AHA0EOA7PvP7KwdEAAwBb/+wG8gRPAB4AKgAyAJ6yGTM0ERI5sBkQsCTQsBkQsC7QALAARViwAy8bsQMcPlmwAEVYsAgvG7EIHD5ZsABFWLAXLxuxFxA+WbAARViwGy8bsRsQPlmyBQgXERI5si8XCBESObAvL7QfLy8vAnGyjC8BXbEMB7AKK1gh2Bv0WbAXELEQAbAKK1gh2Bv0WbIZCBcREjmwItCwAxCxKAGwCitYIdgb9FmwK9AwMRM0ADMyFzY2FzISFRUhFhYzMjY3FwYGIyInBiMiABEXFBYzMjY1NCYjIgYlIgYHITU0JlsBD+D5hkG3bdbu/VYLkXVZj0dPR81494yG9uP+8vKGeXeGh3h1iAPhVXgUAbVxAif4AS+xVF4B/v3siIueKjKeP0GurgEtAQIJqrq5wKa+urqJeRlvegABAJQE4ANDBgEACABFALAEL7IPBAFdslAEAV2ycAQBXbAC0LACL7AB0BmwAS8YsAQQsAfQsAcvtA8HHwcCXbIDBwQREjmwARCwBdAZsAUvGDAxARUjJwcjNQEzA0PDlpXBAQ+PBOsLnJwNARQAAAIAeASNAjMGKgAJABQALACwBS+yDwUBXbAT0LATL7EACrAKK1gh2Bv0WbAFELENCrAKK1gh2Bv0WTAxATIWFAYjIiY0NgcUFjMyNjU0JiIGAVZdgH1gYX1/EUIuL0E/Yj8GKnuqeHiqe9AvQUAwLkNDAAEAegTbA1cF9QAVAEIAsAMvsAjQsAgvtg8IHwgvCANdsAMQsAvQsAsvsAgQsQ8DsAorWCHYG/RZsAMQsRIDsAorWCHYG/RZsA8QsBXQMDEBFAYjIi4CIyIGFSc0NjMyFjMyNjUDV39gJzlpKxomNZV/XzmhNCY2BelukhE8DDkuCG6WWjkvAP//AJ4CbQSYAzEARgCl4ABMzUAA//8AggJtBdADMQBGAKWFAGZmQAAAAQBjBCABlgYaAAgAHbIICQoREjkAsABFWLAALxuxACI+WbAE0LAELzAxARcGBxUjNTY2ARp8WwPVAWcGGk2FkJiKYNEAAAEAMwQAAWUGAAAIAB2yCAkKERI5ALAARViwBC8bsQQiPlmwANCwAC8wMRMnNjc1MxUUBq98WgPVaQQATYOSnopn0QAAAQAy/tYBZADKAAgAGbIICQoREjkAsAkvsQQNsAorWCHYG/RZMDETJzY3NTMVBgate1UD2gFm/tZOf5SThV3Q//8AbAQgAu8GGgAmAJcJAAAHAJcBWQAA//8AQAQAAsAGAAAmAJgNAAAHAJgBWwAAAAIAMv7CAqoA/wAJABIAIrILExQREjmwCxCwBdAAsBMvsQQNsAorWCHYG/RZsA7QMDETJzY3NTMVBgcGFyc2NzUzFRQGsX9VA9oBNzH4f1gE2mb+wk6Jncm6bHJkQU6Olsu2Y90AAAEAiAIGAkQD2wANABeyAw4PERI5ALADL7AKsAorWNgb3FkwMRM0NjMyFhUVFAYjIiYniHlkZ3h3Z2N5AgMDX3l5YiVed3Nd//8Aiv/1BSgBAAAmABIDAAAnABIBzQAAAAcAEgOGAAAAAQBsAIoCMwOpAAYAEACwBS+yAgcFERI5sAIvMDEBEyMBNQEzATz3p/7gASCnAhn+cQGGEwGGAAABAFQAigIbA6kABgAQALAAL7IDBwAREjmwAy8wMRMBFQEjEwP7ASD+4Kf39wOp/noT/noBjwGQAAEALQBtA3EFJwADAAkAsAAvsAIvMDE3JwEXqn0Cx31tSARySAD//wA1ApsCvgWwAwcAsAAAApsAEwCwAEVYsAkvG7EJID5ZsA3QMDEAAAEAXv/tBDAFwwAjAI6yFSQlERI5ALAARViwFi8bsRYgPlmwAEVYsAkvG7EJED5ZsiMWCRESObAjL7EAArAKK1gh2Bv0WbAJELEEAbAKK1gh2Bv0WbAAELAM0LAjELAO0LAjELAT0LATL7YPEx8TLxMDXbEQArAKK1gh2Bv0WbAWELEbAbAKK1gh2Bv0WbATELAe0LAQELAg0DAxASEWFjMyNxcGIyAAAyM1MzUjNTM2ADMyFwcmIyIGByEVIRUhA2r+nAajmG5fHHiA/wD+2gisrKytDQEs/WqFHGZll6IJAWP+nAFkAg+urCHMHQEgAQKNgI3/ARsfzSKspI2AAAACAG0DlARXBbAADAAUAG4AsABFWLAGLxuxBiA+WbAARViwCS8bsQkgPlmwAEVYsBMvG7ETID5ZsgEVBhESObABL7IACQEREjmyAwEGERI5sATQsggBCRESObABELAL0LAGELANsAorWNgb3FmwARCwD9CwDRCwEdCwEtAwMQEDIwMRIxEzExMzESMBIxEjESM1IQPofD58b4mBhYVv/hGKdY0BjAUJ/osBdP6MAhz+gwF9/eQBvf5FAbtfAAEAngJtA+8DMQADABIAsAIvsQEBsAorWCHYG/RZMDEBITUhA+/8rwNRAm3EAAACABgAAAQXBhUAFwAbAHWyCRwdERI5sAkQsBnQALAARViwCS8bsQkiPlmwAEVYsAQvG7EEHD5ZsABFWLAaLxuxGhw+WbAARViwFy8bsRcQPlmwAEVYsBkvG7EZED5ZsAQQsBPQsRYBsAorWCHYG/RZsAHQsAkQsQ8BsAorWCHYG/RZMDEzESM1MzU+AjMyFhcHJiMiBhUVMxUjESEjETO9paUBasKIUJNPJYpyb2TV1QJn8/MDhrRKf7ZcIhrJMGFhRLT8egQ6AAEALQAABCwGFQAWAGWyEhcYERI5ALAARViwEi8bsRIiPlmwAEVYsA4vG7EOHD5ZsABFWLAJLxuxCRA+WbAARViwFi8bsRYQPlmwEhCxAgGwCitYIdgb9FmwDhCwBdCwDhCxCwGwCitYIdgb9FmwCNAwMQEmIyIVFTMVIxEjESM1MzU2NjMyBREjAzlmSsTc3POlpQHXxHoBRPMFPw64W7T8egOGtGG3wzD6GwACAC0AAAaTBhUAKAAsALiyFC0uERI5sBQQsCrQALAARViwCC8bsQgiPlmwAEVYsBYvG7EWIj5ZsABFWLArLxuxKxw+WbAARViwIS8bsSEcPlmwAEVYsBEvG7ERHD5ZsABFWLAELxuxBBw+WbAARViwKC8bsSgQPlmwAEVYsCUvG7ElED5ZsABFWLAqLxuxKhA+WbAhELEiAbAKK1gh2Bv0WbAm0LAB0LAIELENAbAKK1gh2Bv0WbAWELEcAbAKK1gh2Bv0WTAxMxEjNTM1NDYzMhcHJiMiFRUhNT4CMzIWFwcmIyIGFRUzFSMRIxEhESEjETPSpaXItEBIBig1rgF0AWrCiFCTTyaIc29k1dXz/owEzvPzA4a0Y7TEEr4Is2BKf7ZcIhrJMGFhRLT8egOG/HoEOgAAAQAtAAAGkwYVACcAqLITKCkREjkAsABFWLAVLxuxFSI+WbAARViwCC8bsQgiPlmwAEVYsAQvG7EEHD5ZsABFWLAQLxuxEBw+WbAARViwHy8bsR8cPlmwAEVYsCcvG7EnED5ZsABFWLAkLxuxJBA+WbAARViwGS8bsRkQPlmwBBCxAQGwCitYIdgb9FmwCBCxDQGwCitYIdgb9FmwFRCxHAGwCitYIdgb9FmwARCwJtCwItAwMTMRIzUzNTQ2MzIXByYjIhUVITU2NjMyBREjESYjIhUVMxUjESMRIRHSpaXItEBIBig1rgF0AdfEegFE82ZKxNzc8/6MA4a0Y7TEEr4Is2Bht8Mw+hsFPw64W7T8egOG/HoAAAUAXP3VB9cIcwADABwAIAAkACgATACwIS+wJS+wANCwAC+wIRCwAtCwAi+yIAIAERI5sCAvsB3QsB0vsATQsAQvsg0AAhESObANL7AU0LAUL7IHBBQREjmyGRQEERI5MDEJAwU0Njc2NjU0JiMiBgczNjYzMhYVFAcGBhUXIxUzAzMVIwMzFSMEGAO//EH8RAQPHiRKXKeVkKACywI6Kzk4XVsvysrKSwQEAgQEBlL8MfwxA8/xOjoYJ4dKgJeLfzM0QDRfPEFcTFuq/UwECp4EAAEAPAAAArIDIAAXAFuyCBgZERI5ALAARViwDy8bsQ8aPlmwAEVYsAAvG7EAED5ZsRYCsAorWCHYG/RZsgIWABESObIDDwAREjmwDxCxCAKwCitYIdgb9FmyDAAPERI5shUADxESOTAxISE1ATY1NCYjIgYVIzQ2MzIWFRQPAiECsv2cAR1xNjQ6Qrqph4+camKMAXN9AQVnQyo1QjZ0mYBza2ZXcQABAIAAAAICAxMABgAyALAARViwBS8bsQUaPlmwAEVYsAEvG7EBED5ZsAUQsATQsAQvsQMCsAorWCHYG/RZMDEhIxEHNSUzAgK5yQFvEwI6MJJ3AAACAEv/9QKqAyAADQAXAEiyAxgZERI5sAMQsBDQALAARViwCi8bsQoaPlmwAEVYsAMvG7EDED5ZsAoQsRACsAorWCHYG/RZsAMQsRUCsAorWCHYG/RZMDEBFAYjIiY1NTQ2MzIWFSc0IyIHFRQzMjcCqp6Qkp+ekZCgu3VyA3dvBAE+n6qqnpidrq2eDKmfuKmaAAEAN//1AqkDIAAkAIKyHiUmERI5ALAARViwDS8bsQ0aPlmwAEVYsBcvG7EXED5ZsgAXDRESOXywAC8YtFAAYAACcbaAAJAAoAADXbANELEGArAKK1gh2Bv0WbIKAAYREjmwABCxJAKwCitYIdgb9FmyEiQAERI5sBcQsR4CsAorWCHYG/RZshskHhESOTAxATMyNTQmIyIGFSM0NjMyFhUUBxYVFAYjIiY1MxQWMzI2NTQnIwEMUYQ2PjBBuqWCj6OHlbGPh6u6RTw/PYZcAdJhIzUnI2N8eWl3MymOan5/cSY1NyplAQACADUAAAK+AxUACgAOAEoAsABFWLAJLxuxCRo+WbAARViwBC8bsQQQPlmyAQkEERI5sAEvsQICsAorWCHYG/RZsAbQsAEQsAvQsggLBhESObINCQQREjkwMQEzFSMVIzUhJwEzATM1BwJfX1+7/poJAW29/ou6DgE6l6OjeQH5/iXyFgABAE//9QKuAxUAGgBtsg0bHBESOQCwAEVYsAIvG7ECGj5ZsABFWLANLxuxDRA+WbACELEDArAKK1gh2Bv0WbIHAg0REjmwBy+xGAKwCitYIdgb9FmyBRgHERI5sA0QsRMCsAorWCHYG/RZshETGBESObIaGBMREjkwMRMTIRUhBzYzMhYVFAYjIiYnMxYzMjU0JiMiB2I0Aez+rBQ+R4OMo4yBrQK5BXJ1Q0JDNQF/AZaWlBuGeniZhGNSfThEKAACAE3/9QK5AyIAEwAeAF6yFB8gERI5sBQQsAzQALAARViwAC8bsQAaPlmwAEVYsAwvG7EMED5ZsAAQsQECsAorWCHYG/RZsgYMABESObAGL7EUArAKK1gh2Bv0WbAMELEaArAKK1gh2Bv0WTAxARUiBgc2MzIWFRQGIyImNTU0NjMDIgYHFRQzMjY1NAIykYkNR2t1h6iGk6vw3pYtQg9/NUQDIplfYkWOeneZp5sx0uj+VyQXJJFGNnQAAAEANgAAAq4DFQAGADMAsABFWLAFLxuxBRo+WbAARViwAi8bsQIQPlmwBRCxBAKwCitYIdgb9FmyAAQFERI5MDEBASMBITUhAq7+rcQBU/5MAngCrP1UAn+WAAMAS//1AqoDIAATABwAJACZsgclJhESObAHELAU0LAHELAi0ACwAEVYsBEvG7ERGj5ZsABFWLAHLxuxBxA+WbIiBxEREjl8sCIvGLaAIpAioCIDXbRQImAiAnG0ACIQIgJxtEAiUCICXbTQIuAiAnGxGQKwCitYIdgb9FmyAiIZERI5sgwZIhESObAHELEUArAKK1gh2Bv0WbARELEfArAKK1gh2Bv0WTAxARQHFhUUBiMiJjU0NyY1NDYzMhYBMjY0JiIGFBYTNCIVFBYyNgKXcYShjoykhHGbgYKb/uQ1QEFqQECXxDNgMQJBdDc9gGp6eWuAPTd0aXZ2/eAzWjAwWjMBq1ZWJzAwAAACAEb/9wKjAyAAEwAfAGOyFCAhERI5sBQQsAjQALAARViwCC8bsQgaPlmwAEVYsBAvG7EQED5ZsgIQCBESOXywAi8YsBAQsRECsAorWCHYG/RZsAIQsRQCsAorWCHYG/RZsAgQsRoCsAorWCHYG/RZMDEBBiMiJjU0NjMyFhcVFAYHIzUyNicyNzU0JiMiBhUUFgHnQlp+h6qEi6IC3OATj3ljTiNCNDNBPAE2OYp9eKSmlzvX2QGTUqw0RUhBTjk3RAD//wBLAo0CqgW4AwcArgAAApgAEwCwAEVYsAovG7EKID5ZsBDQMDEA//8ANQKYAr4FrQMHALAAAAKYABMAsABFWLAJLxuxCSA+WbAN0DAxAP//AE8CjQKuBa0DBwCxAAACmAAQALAARViwAS8bsQEgPlkwMf//AE0CjQK5BboDBwCyAAACmAATALAARViwAC8bsQAgPlmwFNAwMQD//wA2ApgCrgWtAwcAswAAApgAEACwAEVYsAUvG7EFID5ZMDH//wBLAo0CqgW4AwcAtAAAApgAGQCwAEVYsBEvG7ERID5ZsBnQsBEQsB/QMDEA//8ARgKPAqMFuAMHALUAAAKYABMAsABFWLAILxuxCCA+WbAa0DAxAP//AG//7AQxBbcDBgAa+gAAEwCwAEVYsAAvG7EAID5ZsBXQMDEA//8AaP/sBCIFxAMGABwAAAAZALAARViwFS8bsRUgPlmwG9CwFRCwJdAwMQAAAQA6AAAD6gWwAAYAMwCwAEVYsAUvG7EFID5ZsABFWLABLxuxARA+WbAFELEDAbAKK1gh2Bv0WbIAAwUREjkwMQEBIwEhNSED6v3U9AIs/UQDsAUp+tcE7cP//wBbAAACsgW1AAYAFbMA//8ARwIJAlQCzQIGABEAAAAC//cAAATwBbAADwAdAIWyEB4fERI5sBAQsAbQALAARViwBS8bsQUgPlmwAEVYsAAvG7EAED5ZsgMABRESObADL7LPAwFdsj8DAXGybwMBcbIfAwFxsp8DAV2yDwMBcrECB7AKK1gh2Bv0WbAR0LAAELESAbAKK1gh2Bv0WbAFELEbAbAKK1gh2Bv0WbADELAd0DAxMxEjNTMRITIEEhUVFAIEIxMjETMyNjU1NCYjIxEzsru7Aa7BASukpf7PxT/lo8vVzsSx5QKMqgJ6rP7EzEnP/saqAoz+Pv3wRu36/lL//wASAAAFQgc2AiYAJQAAAQcARAEjATYAEwCwAEVYsAQvG7EEID5ZsAzcMDEA//8AEgAABUIHNgImACUAAAEHAHUBwgE2ABMAsABFWLAFLxuxBSA+WbAN3DAxAP//ABIAAAVCBzcCJgAlAAABBwCOAMMBNgATALAARViwBC8bsQQgPlmwD9wwMQD//wASAAAFQgcsAiYAJQAAAQcAkADFATcACQCwBC+wFtwwMQD//wASAAAFQgcCAiYAJQAAAQcAagDuATYAFgCwAEVYsAQvG7EEID5ZsBLcsBvQMDH//wASAAAFQgeUAiYAJQAAAQcAjwFYAWoADACwBC+wENywFdAwMf//AGb+PATrBcQCJgAnAAAABwB5Acn/+///AJQAAARMBz0CJgApAAABBwBEAOgBPQATALAARViwBi8bsQYgPlmwDdwwMQD//wCUAAAETAc9AiYAKQAAAQcAdQGHAT0AEwCwAEVYsAYvG7EGID5ZsA7cMDEA//8AlAAABEwHPgImACkAAAEHAI4AiAE9ABMAsABFWLAGLxuxBiA+WbAQ3DAxAP//AJQAAARMBwkCJgApAAABBwBqALMBPQAWALAARViwBi8bsQYgPlmwE9ywHNAwMf///8gAAAGgBz0CJgAtAAABBwBE/5cBPQATALAARViwAi8bsQIgPlmwBdwwMQD//wCjAAACfQc9AiYALQAAAQcAdQA1AT0AEwCwAEVYsAMvG7EDID5ZsAbcMDEA////ywAAAnoHPgImAC0AAAEHAI7/NwE9ABMAsABFWLACLxuxAiA+WbAI3DAxAP///78AAAKFBwkCJgAtAAABBwBq/2IBPQAWALAARViwAi8bsQIgPlmwC9ywFNAwMf//AJQAAAUXBywCJgAyAAABBwCQAO4BNwAJALAFL7AV3DAxAP//AGb/7AUeBzYCJgAzAAABBwBEAToBNgATALAARViwDC8bsQwgPlmwINwwMQD//wBm/+wFHgc2AiYAMwAAAQcAdQHZATYAEwCwAEVYsA0vG7ENID5ZsCHcMDEA//8AZv/sBR4HNwImADMAAAEHAI4A2gE2ABMAsABFWLAMLxuxDCA+WbAj3DAxAP//AGb/7AUeBywCJgAzAAABBwCQANwBNwATALAARViwDS8bsQ0gPlmwItwwMQD//wBm/+wFHgcCAiYAMwAAAQcAagEFATYAFgCwAEVYsAwvG7EMID5ZsCbcsC/QMDH//wB9/+wEvQc2AiYAOQAAAQcARAERATYAEwCwAEVYsAkvG7EJID5ZsBLcMDEA//8Aff/sBL0HNgImADkAAAEHAHUBsAE2AAkAsAAvsBPcMDEA//8Aff/sBL0HNwImADkAAAEHAI4AsQE2ABMAsABFWLAJLxuxCSA+WbAV3DAxAP//AH3/7AS9BwICJgA5AAABBwBqANwBNgAWALAARViwCS8bsQkgPlmwGNywIdAwMf//AAcAAATWBzYCJgA9AAABBwB1AYcBNgATALAARViwAS8bsQEgPlmwC9wwMQD//wBa/+wD+wYAAiYARQAAAQcARACtAAAAEwCwAEVYsBcvG7EXHD5ZsCvcMDEA//8AWv/sA/sGAAImAEUAAAEHAHUBTAAAAAkAsBcvsCzcMDEA//8AWv/sA/sGAQImAEUAAAEGAI5NAAATALAARViwFy8bsRccPlmwLtwwMQD//wBa/+wD+wX2AiYARQAAAQYAkE8BABMAsABFWLAXLxuxFxw+WbAt3DAxAP//AFr/7AP7BcwCJgBFAAABBgBqeAAAFgCwAEVYsBcvG7EXHD5ZsDHcsDrQMDH//wBa/+wD+wZeAiYARQAAAQcAjwDiADQAFgCwAEVYsBcvG7EXHD5ZsC/csDfQMDH//wBP/jwD9QROAiYARwAAAAcAeQE9//v//wBT/+wECwYAAiYASQAAAQcARAChAAAAEwCwAEVYsAgvG7EIHD5ZsB/cMDEA//8AU//sBAsGAAImAEkAAAEHAHUBQAAAAAkAsAgvsCDcMDEA//8AU//sBAsGAQImAEkAAAEGAI5BAAATALAARViwCC8bsQgcPlmwItwwMQD//wBT/+wECwXMAiYASQAAAQYAamwAABYAsABFWLAILxuxCBw+WbAl3LAu0DAx////tAAAAYwF+QImAIsAAAEGAESD+QATALAARViwAi8bsQIcPlmwBdwwMQD//wCPAAACaQX5AiYAiwAAAQYAdSH5ABMAsABFWLADLxuxAxw+WbAG3DAxAP///7cAAAJmBfoCJgCLAAABBwCO/yP/+QATALAARViwAi8bsQIcPlmwCNwwMQD///+rAAACcQXFAiYAiwAAAQcAav9O//kAFgCwAEVYsAIvG7ECHD5ZsAvcsBTQMDH//wB5AAAD+AX2AiYAUgAAAQYAkFUBAAkAsAMvsBzcMDEA//8AT//sBD0GAAImAFMAAAEHAEQAtgAAABMAsABFWLAELxuxBBw+WbAc3DAxAP//AE//7AQ9BgACJgBTAAABBwB1AVUAAAAJALAEL7Ad3DAxAP//AE//7AQ9BgECJgBTAAABBgCOVgAAEwCwAEVYsAQvG7EEHD5ZsB/cMDEA//8AT//sBD0F9gImAFMAAAEGAJBYAQAJALAEL7Am3DAxAP//AE//7AQ9BcwCJgBTAAABBwBqAIEAAAAWALAARViwBC8bsQQcPlmwItywK9AwMf//AHf/7AP3BgACJgBZAAABBwBEAK8AAAATALAARViwBy8bsQccPlmwEtwwMQD//wB3/+wD9wYAAiYAWQAAAQcAdQFOAAAACQCwBi+wE9wwMQD//wB3/+wD9wYBAiYAWQAAAQYAjk8AABMAsABFWLAHLxuxBxw+WbAV3DAxAP//AHf/7AP3BcwCJgBZAAABBgBqegAAFgCwAEVYsAcvG7EHHD5ZsBjcsCHQMDH//wAM/ksD1gYAAiYAXQAAAQcAdQEWAAAACQCwAS+wEtwwMQD//wAM/ksD1gXMAiYAXQAAAQYAakIAABYAsABFWLAPLxuxDxw+WbAX3LAg0DAx//8AUgP8AQsGAAMGAAsAAAAWALAARViwBC8bsQQiPlmwAdCwAS8wMf//AGUD9AJABgADBgAGAAAALACwAEVYsAkvG7EJIj5ZsABFWLAELxuxBCI+WbAJELAG0LAGL7AB0LABLzAx//8AMwQAAWUGAAIGAJgAAP//AFEAAARABcQCBgAWAAD//wBP/+wEFQXEAgYAFwAA//8ANAAABFgFsAIGABgAAP//AIH/7AQ6BbACBgAZAAD//wCJ/+wESwW3AAYAGhQA//8AfP/sBDYFxAAGABwUAP//AF3/+gQSBcQABgAdAAD//wB9/+wENgXEAAYAFBQAAAEAAAEEAI8AFgBOAAUAAQAAAAAADgAAAgACMAAGAAEAAABgAGAAYABgAGAAmwDFAUIBwgJdAvoDFANAA28DogPIA+oEAQQoBD8ElATCBRQFiAXMBjMGnAbJB0gHswe/B8sH6ggSCDEImAlGCYcJ8wpHCpEK0wsKC2sLqQvEC/gMPwxjDLwM+A1TDZ8OAA5aDskO9A8zD2QPsw/+EC8QaBCNEKQQyhDxEQwRLRGuEg8SZBLCEzcTgRP9FD0UdxTDFQoVJRWRFdoWKRaOFu8XLRecF+gYLxhfGK0Y9hk3GXAZsxnKGgwaURqPGvIbVxu5HBscOhzXHQkdrB4sHjgeVh8IHyIfYh+mH/ogbSCNIN8hCyEsIWIhkSHcIegiAiIcIjYioCMGI0QjwCQSJH8lQCW5JhEmhCbkJv8nhSgiKFkokijWKNYo1ijWKNYo4CjqKQ0pLylPKVspZymaKb4pzinqKgYqGSotKq0rCysiK4Yr3Cx3LQMtAy1sLb8t6S4yLqYu6C9IL6Yv0zBZMLswzzDjMPUxCTEbMTIxRjFZMW8xnDGkMaQxrDIdMjQySzJiMnQyjDKfMqsywjLZMvAzCDMfMzYzTTNlM3czjjOlM7wz0zPrNAI0FDQrNEM0WjRxNIM0mTSvNMY03jTqNQE1EzUpNUA1VjVsNYM1mzWsNcM11TXrNfw2FDYrNj02UzZqNnw2kzanNsY2zjbWNt425jbuNvY2/jcGNw4AAAABAAAAAiMSKn7NEl8PPPUAGQgAAAAAAMTwES4AAAAA1QFS7Pok/dUJXAhzAAAACQACAAAAAAAAA4wAZAAAAAAAAAAAAf4AAAH+AAACJQCPApgAZQTiAGAEjABkBeAAYwUdAFYBWgBSAsoAgALSACgDiQAbBHUARAHCABwCoABHAjwAhwMqAAIEjABpBIwAqASMAFEEjABPBIwANASMAIEEjAB1BIwARQSMAGgEjABdAh8AggHnAC4EEQA/BHoAkQQqAIAD5AA8BygAWwVTABIFDACUBTkAZgU6AJQEhgCUBGUAlAVyAGoFrwCUAkIAowRxAC0FCwCUBFQAlAcBAJQFrgCUBYYAZgUdAJQFhgBgBP4AlATUAEoE2wAtBTcAfQUtABIHCgAwBRAAKQTgAAcE0QBQAjEAhANYABQCMQAMA2sANQOcAAMClAAxBFQAWgSBAHwEMABPBIQATwRLAFMC1gAtBIkAUgRxAHkCCwB9AgH/tQQtAH0CCwCMBvYAfARzAHkEjgBPBIEAfASLAE8C0AB8BCEASwKpAAgEcgB3A/UAFgXyACEEBgAfA+UADAQGAFICrwA4AgIArgKvABsFUQB1Ah4AhgR9AGQEtQBeBZ0AXQRAAAsB/ACIBPgAWgOFAF0GRABXA5EAjQPiAFcEbQB/BkQAVwPbAJsDCgB/BEoAXwL2ADwC9gA3ApsAcAS7AJID7QBFAkIAjgIQAG0C9gCAA6cAdwPiAF0F0ABZBisAUAZXAGcD5ABCB4X/9gREAE0FhABpBMoAlATnAIgGwQBIBKcAZwSRAEMEiABPBJcAggIaAI8HtABkBzoAWwPmAJQCsgB4A9gAegQUAAABogAAAQAAAAAAAAAFKQCdBjAAgQHAAGMBvAAzAc4AMgMUAGwDGwBAAwgAMgLLAIgFpgCKAnIAbAJpAFQDnAAtAvYANQSMAF4FCQBtBIMAngSoABgEvAAtByMALQcjAC0AAAAACDUAXAL2ADwC9gCAAvYASwL2ADcC9gA1AvYATwL2AE0C9gA2AvYASwL2AEYC9gBLAvYANQL2AE8C9gBNAvYANgL2AEsC9gBGBIwAbwSMAGgEMwA6A6QAWwH+AAACoABHBVj/9wVTABIFUwASBVMAEgVTABIFUwASBVMAEgU5AGYEhgCUBIYAlASGAJQEhgCUAkL/yAJCAKMCQv/LAkL/vwWuAJQFhgBmBYYAZgWGAGYFhgBmBYYAZgU3AH0FNwB9BTcAfQU3AH0E4AAHBFQAWgRUAFoEVABaBFQAWgRUAFoEVABaBDAATwRLAFMESwBTBEsAUwRLAFMCGv+0AhoAjwIa/7cCGv+rBHMAeQSOAE8EjgBPBI4ATwSOAE8EjgBPBHIAdwRyAHcEcgB3BHIAdwPlAAwD5QAMAVoAUgKYAGUBvAAzBIwAUQSMAE8EjAA0BIwAgQSgAIkEtAB8BKAAXQS0AH0AAQAAB2z+DAAACWv6JP5BCVwAAQAAAAAAAAAAAAAAAAAAAQQAAwSYAfQABQAABZoFMwAAAR8FmgUzAAAD0QBmAgAAAAIAAAAAAAAAAACAAAAnAAAASwAAACAAAAAAR09PRwBAAAD//QYA/gAAZgeaAgAgAAGfAAAAAAQ6BbAAIAAgAAMAAAABAAABCAkJBAAAAgICAwYFBwYCAwMEBQIDAwQFBQUFBQUFBQUFAgIFBQUECAYGBgYFBQYGAwUGBQgGBgYGBgUFBgYIBgUFAgQCBAQDBQUFBQUDBQUCAgUCCAUFBQUDBQMFBAcFBAUDAgMGAgUFBgUCBgQHBAQFBwQDBQMDAwUEAwIDBAQHBwcECAUGBQYIBQUFBQIJCAQDBAUCAQAGBwICAgMEAwMGAwMEAwUGBQUFCAgACQMDAwMDAwMDAwMDAwMDAwMDBQUFBAIDBgYGBgYGBgYFBQUFAwMDAwYGBgYGBgYGBgYFBQUFBQUFBQUFBQUCAgICBQUFBQUFBQUFBQQEAgMCBQUFBQUFBQUAAAAAAAIAAAADAAAAFAADAAEAAAAUAAQBjAAAAEgAQAAFAAgAAAANAH4AoACsAK0AvwDGAM8A5gDvAP8BMQFTArwCxgLaAtwgAiAJIAsgFCAaIB4gIiAmIDMgOiBEIHQgrCEiIhL+///9//8AAAAAAA0AIACgAKEArQCuAMAAxwDQAOcA8AExAVICvALGAtoC3CACIAkgCyATIBggHCAiICYgMiA5IEQgdCCsISIiEv7///3//wAB//b/5AAh/8IAFf/BAAAAAwAA//0AAP9a/zr+P/3I/bX9tOCP4IngieCC4H/gfuB74Hjgx+Bm4F3gLt/334LekwGrAK4AAQAAAAAAAAAAAAAAAAAAADoAAABEAAAAbgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADEAMUAxgDHAMgAyQCBAMMA0wDUANUA1gDXANgAggCDANkA2gDbANwA3QCEAIUA3gDfAOAA4QDiAOMAhgCHAO0A7gDvAPAA8QDyAIgAiQDzAPQA9QD2APcAigD4sAAsS7AJUFixAQGOWbgB/4WwRB2xCQNfXi2wASwgIEVpRLABYC2wAiywASohLbADLCBGsAMlRlJYI1kgiiCKSWSKIEYgaGFksAQlRiBoYWRSWCNlilkvILAAU1hpILAAVFghsEBZG2kgsABUWCGwQGVZWTotsAQsIEawBCVGUlgjilkgRiBqYWSwBCVGIGphZFJYI4pZL/0tsAUsSyCwAyZQWFFYsIBEG7BARFkbISEgRbDAUFiwwEQbIVlZLbAGLCAgRWlEsAFgICBFfWkYRLABYC2wByywBiotsAgsSyCwAyZTWLBAG7AAWYqKILADJlNYIyGwgIqKG4ojWSCwAyZTWCMhsMCKihuKI1kgsAMmU1gjIbgBAIqKG4ojWSCwAyZTWCMhuAFAioobiiNZILADJlNYsAMlRbgBgFBYIyG4AYAjIRuwAyVFIyEjIVkbIVlELbAJLEtTWEVEGyEhWS2wCiywLEUtsAsssC1FLbAMLLEnAYggilNYuUAABABjuAgAiFRYuQAsA+hwWRuwI1NYsCCIuBAAVFi5ACwD6HBZWVktsA0ssECIuCAAWlixLQBEG7kALQPoRFktsAwrsAArALIBDgIrAbIPAQIrAbcPOjAlGxAACCsAtwE4LiQaEQAIK7cCTkAyIxUACCu3A0g7LiEUAAgrtwROQDIjFQAIK7cFMCgfFg4ACCu3BmNRPy0bAAgrtwdANCQaEQAIK7cIW0o6KRkACCu3CYNkTjojAAgrtwp3Ykw2IQAIK7cLkXdcOiMACCu3DHZgSzYdAAgrtw0sJBwUDAAIK7cOQzcrHxIACCsAshAOByuwACBFfWkYRLKAFAFzsrAUAXOyUBQBdLKAFAF0sj8cAXOyXxwBc7J/HAFzsi8cAXSyTxwBdLJvHAF0so8cAXSyrxwBdLL/HAF0sh8cAXWyPxwBdbJfHAF1sn8cAXWyDyABc7JvIAF1sn8gAXOy7yABc7IfIAF0sl8gAXSyjyABdLLPIAF0sv8gAXSyPyABdbIvIgFzsm8iAXOyLyoBc7I/KgFzAAAqAMwAkQCeAJEA7AByALIAfQBWAF8ATgBgAQQAqgDEAAAAFP5gABQCmwAQ/zkADf6XABIDIQALBDoAFASNABAFsAAUBhgAFQbAABACWwASBwQABQbeAAEAAAAAAAAACABmAAMAAQQJAAAAXgAAAAMAAQQJAAEAGgBeAAMAAQQJAAIADgB4AAMAAQQJAAMAGgBeAAMAAQQJAAQAGgBeAAMAAQQJAAUAJgCGAAMAAQQJAAYAGgCsAAMAAQQJAA4AVADGAEMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEAMQAgAEcAbwBvAGcAbABlACAASQBuAGMALgAgAEEAbABsACAAUgBpAGcAaAB0AHMAIABSAGUAcwBlAHIAdgBlAGQALgBSAG8AYgBvAHQAbwAgAE0AZQBkAGkAdQBtAFIAZQBnAHUAbABhAHIAVgBlAHIAcwBpAG8AbgAgADIALgAxADMANwA7ACAAMgAwADEANwBSAG8AYgBvAHQAbwAtAE0AZQBkAGkAdQBtAGgAdAB0AHAAOgAvAC8AdwB3AHcALgBhAHAAYQBjAGgAZQAuAG8AcgBnAC8AbABpAGMAZQBuAHMAZQBzAC8ATABJAEMARQBOAFMARQAtADIALgAwAAMAAAAAAAD/agBkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQACAAgAAv//AA8AAQACAA4AAAAAAAAATgACAAoAJQA+AAEARQBeAAEAeQB5AAEAgQCBAAEAgwCDAAEAhgCGAAEAiQCJAAEAiwCNAAEApgCpAAIAwwD4AAEAAQACAAAADAAAABAAAQAAAAEAAQB5AAEAAAAKADAAPgAEREZMVAAaY3lybAAaZ3JlawAabGF0bgAaAAQAAAAA//8AAQAAAAFrZXJuAAgAAAABAAAAAQAEAAIAAAACAAoEgAABAJoABAAAAEgBLgRwBHABNAFGA/IEAAQYBA4BTAIOAhQEGAIaAiQCOgJMAm4CgAQeApICmARYArIDEAMWBF4EXgRkA0QDVgRqA3QEagOKBHADpARwBHAEGAPyA/ID8gPyA/ID8gQABA4EDgQOBA4EGAQYBBgEGAQYBB4EWARYBFgEWAReBGQEZARkBGQEZARqBGoEcARwBHAAAQBIAAQABgALAAwAEwAlACcAKAApACoALwAwADMANAA1ADYAOAA6ADsAPQA+AD8ASQBKAEwATwBRAFIAUwBWAFgAWgBbAF0AXwCXAJgAmgCbAMMAxADFAMYAxwDIAMkAygDLAMwAzQDOANQA1QDWANcA2ADdAOUA5gDnAOgA7QDuAO8A8ADxAPIA9wD4APkA+gD7AAEAOP/EAAQAOgAUADsAJgA9ABYA3QAWAAEAE/8IADAAEP7uABL+7gAl/0AALv8wADgAFABF/94AR//rAEj/6wBJ/+sAS//rAFP/6wBV/+sAVv/mAFn/6gBa/+gAXf/oAI3/6wCZ/u4AnP7uAJ7+7gDE/0AAxf9AAMb/QADH/0AAyP9AAMn/QADe/94A3//eAOD/3gDh/94A4v/eAOP/3gDk/+sA5f/rAOb/6wDn/+sA6P/rAO7/6wDv/+sA8P/rAPH/6wDy/+sA8//qAPT/6gD1/+oA9v/qAPf/6AD4/+gAAQBb/8EAAQBb/8wAAgBYAA4Agf7XAAUAOP/fADr/5AA7/+wAPf/dAN3/3QAEADj/zgA6/+0APf/QAN3/0AAIAAT/xABW/78AW//RAG3/bAB8/24Agf9DAIb/rACJ/6EABAANABQAQQARAFb/4gBhABMABAANAA8AQQAMAFb/6wBhAA4AAQBb/+UABgAu/+4AOf/uANn/7gDa/+4A2//uANz/7gAXAAYAEAALABAADQAUAEEAEgBH/+gASP/oAEn/6ABL/+gAVf/oAGEAEwCN/+gAlwAQAJgAEACaABAAmwAQAOT/6ADl/+gA5v/oAOf/6ADo/+gA+QAQAPoAEAD7ABAAAQCY/5gACwBH/+wASP/sAEn/7ABL/+wAVf/sAI3/7ADk/+wA5f/sAOb/7ADn/+wA6P/sAAQASgAUAFgAMgBbABEAmAAQAAcAU//iAJgAGADu/+IA7//iAPD/4gDx/+IA8v/iAAUAEP+EABL/hACZ/4QAnP+EAJ7/hAAGAC7/7AA5/+wA2f/sANr/7ADb/+wA3P/sABMAR/+YAEj/mABJ/5gAS/+YAFP/cABV/5gAV/8YAFsACwCN/5gA5P+YAOX/mADm/5gA5/+YAOj/mADu/3AA7/9wAPD/cADx/3AA8v9wAAMAI/+vAFj/7wBb/98AAwAN/+YAQf/0AGH/7wACAEr/7gBb/+oAAQCB/98ADgAK/+IADQAUAA7/zwBBABIASv/qAFb/2ABY/+oAYQATAG3/rgB8/80Agf+gAIb/wQCJ/8AAnf/TAAEAmP/AAAEAmP+IAAEAmP+QAAEASgANAAEAWwALAAIFUAAEAAAFzAcUABwAGAAAAAAAAAAAAAAAAAASAAAAAAAA/+P/5AAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/rAAAAAAAA/6v/1QAAAAAAAP/q/+kAAAAAAAD/hv/qAAAAAAAAAAD/6//Q//T/9QAAAAD/zv/v/4j/agAAAAwAAAAAAAD/iAAA/9kAAP+zAAAAAAAAAAAAAAAAAAAAAAAAAAD/8QAAAAAAAAAA//AAAAAAAAD/qP/rAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/sAAAAAAAAAAAAAAAAAAA/+0AAAAA/+3/7wAAAAD/5gAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8QAAAAAAAAAAAAAAAAAAAAD/7wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9QAAAAAAAAAA//EAAAAAAAD/4//xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8wAAAAAAAAAAAAAAAAAAAAD/8gAAAAAAAAAAAAAAAAAA//MAAAAA//EAAAAA//EAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAD/WQAAAAAAAAAAAAAAAAAAAAAAAP/qAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+b/4QAA/+X/6QAAAAD/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/1wAAAAA/7//4//Y/7//2f9q/8H/7P+gABEAEv/G/+L/8AANAAAAAP/pABH/GQAS/2j/oAAA/6f/5P+n/zD/v/+I/1j/rgAAABAAEP+0/8T/8AAAAAAAAP+zAA/+/gAQ/vD/KAAA//AAAAAA//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+v/5gAA/+v/7QANAAD/5QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+b/5wAA/+v/6wAAAAD/4QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO/2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+wAAAAA/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+0AAAAA/9wAAAAA/+IAEgAAAAAAAAAAAAAAAAAAAAAAEAAAAAD/UwAAAAAAAAAA//MAAAAA//MAAP9O//UADwAAAAAAAAAAAAAAAP/N/9wAAAAAAAD+bAAAAAD/SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9QAAAAAAAAAAAAAAAAAAAAD/wAAAAAD/8gATAAD/hf/o/zP+6QAAAAAAAAAAAAD+4AAA/6MAAP8yAAAAAAAA/8UAAP/s/6UAAP+I/84AAAAAAAAAAP+kAAAAAAAAAAD/2wAAAAAAAAAAAAAAAAAA/+EAAAAA/+H/7f/V/98AAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAD/cQAA/8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+X/yQAAAAAAAAAAAAAAAAAAAAAAAP/oAAAAAAAA/9T/8wAA/9L/5P+1/9L/9QAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/KQAA/2MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+4wAAAAAAAAAAAAAAAAACABQABgAGAAAACwALAAEAEAAQAAIAEgASAAMAJQApAAQALAA0AAkAOAA+ABIARQBHABkASQBJABwATABMAB0AUQBUAB4AVgBWACIAWgBaACMAXABeACQAigCKACcAlwCcACgAngCeAC4AwwDoAC8A7QDyAFUA9wD7AFsAAgA2AAYABgAXAAsACwAXABAAEAAbABIAEgAbACUAJQACACYAJgAZACcAJwARACgAKAABACkAKQAFAC4ALgAKAC8ALwALADAAMAAWADMAMwABADQANAAUADgAOAANADkAOQAKADoAOgAaADsAOwAYADwAPAAQAD0APQAMAD4APgAPAEUARQAGAEYARgAHAEcARwAVAEkASQAIAEwATAAEAFEAUgAEAFMAUwADAFQAVAAHAFYAVgATAFoAWgAJAFwAXAASAF0AXQAJAF4AXgAOAIoAigAHAJcAmAAXAJkAmQAbAJoAmwAXAJwAnAAbAJ4AngAbAMMAwwABAMQAyQACAMoAygARAMsAzgAFANQA2AABANkA3AAKAN0A3QAMAN4A4wAGAOQA5AAVAOUA6AAIAO0A7QAEAO4A8gADAPcA+AAJAPkA+wAXAAIANgAGAAYAEQALAAsAEQAQABAAFAARABEAFgASABIAFAAlACUABgAnACcAAgArACsAAgAuAC4AFwAzADMAAgA1ADUAAgA3ADcADgA4ADgACgA5ADkACQA6ADoAFQA7ADsAEwA8ADwADwA9AD0ACwA+AD4AEABFAEUABwBHAEkAAQBLAEsAAQBRAFIAAwBTAFMABABUAFQAAwBVAFUAAQBXAFcADABZAFkABQBaAFoACABcAFwAEgBdAF0ACABeAF4ADQCDAIMAAgCMAIwAAgCNAI0AAQCVAJYAFgCXAJgAEQCZAJkAFACaAJsAEQCcAJwAFACeAJ4AFADCAMIAFgDEAMkABgDKAMoAAgDUANgAAgDZANwACQDdAN0ACwDeAOMABwDkAOgAAQDtAO0AAwDuAPIABADzAPYABQD3APgACAD5APsAEQAAAAEAAAAKALoBQAAEREZMVAAaY3lybAAaZ3JlawAabGF0bgAwAAQAAAAA//8ABgAAAAEABQAHAAgACQAuAAdBWkUgAGxDUlQgAGxGUkEgAEJNT0wgAFhOQVYgAFhST00gAFhUUksgAGwAAP//AAcAAAABAAQABQAHAAgACQAA//8ACAAAAAEAAwAFAAYABwAIAAkAAP//AAcAAAABAAMABQAHAAgACQAA//8ABwAAAAEAAgAFAAcACAAJAApkbm9tAD5mcmFjAERsaWdhAE5saWdhAFRsaWdhAGBsbnVtAGhsb2NsAG5udW1yAHRwbnVtAHp0bnVtAIAAAAABAAgAAAADAAYABwAJAAAAAQACAAAABAABAAIAAQACAAAAAgABAAIAAAABAAUAAAABAAAAAAABAAkAAAABAAMAAAABAAQACgAWACoATgB4AK4A8AESASYBUAFyAAEAAAABAAgAAQAGAAEAAQABAJIABAAAAAEACAABAEAAAQAIAAIABgAOAKgAAwBKAE0ApgACAE0ABAAAAAEACAABABwAAQAIAAIABgAOAKkAAwBKAFAApwACAFAAAQABAEoAAQAAAAEACAACAB4ADAEDAMAA/AD9AP4A/wEAAL8BAQECABoAHAACAAIAFAAdAAAAvQC+AAoAAQAAAAEACAACAB4ADAC9AL4AGwAVABYAFwAYABkAGgAcAB0AFAABAAwAGgAcAL8AwAD8AP0A/gD/AQABAQECAQMAAQAAAAEACAACAA4ABAEAAQEAGgAcAAEABAAaABwAvQC+AAEAAAABAAgAAQAGAI4AAQABABMABgAAAAEACAADAAEAEgABAGYAAAABAAAACAACAAIAoQChAAAArAC1AAEAAQAAAAEACAACADwACgCuAK0ArACvALAAsQCyALMAtAC1AAEAAAABAAgAAgAaAAoAtgB6AHMAdAC3ALgAuQC6ALsAvAACAAEAFAAdAAAAAA=="}},"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":"agilitetrade.com/#","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:53.209Z","timestamp":1785123233209,"http_version":"","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: agilitetrade.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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-07-27T05:14:11.3544Z","times_seen":17556491,"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":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/css/responsive.css","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.382Z","timestamp":1785123231382,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /css/responsive.css HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: text/css\r\nlast-modified: Wed, 22 Apr 2026 17:27:28 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 3314\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":20091,"size_decoded":3623,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"71d673d2c390f935637226ff4eb49bd1","sha1":"76bd38bcf375bb30329b04bfa9710518ec76a0be","sha256":"00f0be65f01ba816eb0be756d59c90d76a76a681718c03c538e6655276347af5","sha512":"b65a5f74ff98f9c8373c00f79aaf97371d300394d9ebfc40e13724764e371073c711e463c2e9061e6bf0d4c73c0e7bd45f22e047d498c36ca7fd08c9197ab983","ssdeep":"384:PcRQNgGHNdcECuwYmwwHn8ivTDH7Aky2vSqBRtK8MSuIf8WstSJjLT8L60kVBn8n:PcKCGthbqVn8sTwktSmRtK8MjIEWPRGD","tlshash":"fb92ef2bb41a700e17970666fbb72ea4fd74d01697a381f2e872c215c2e146e0bd1edd","first_seen":"2024-12-04T10:10:15.783477Z","last_seen":"2026-07-27T05:05:33.712084Z","times_seen":12,"resource_available":false,"data":"LyogTWFzdGVyQ29pbnMgQ3J5cHRvIEN1cnJlbmN5IE1hcmtldGluZyBIVE1MIFRlbXBsYXRlICovDQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwMHB4KXsNCgkNCgkucGFnZS13cmFwcGVyew0KCQlvdmVyZmxvdzpoaWRkZW47CQ0KCX0NCgkNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpew0KCS5tYWluLWZvb3RlciAubG9nby13aWRnZXQgLnRleHQsDQoJLm1haW4tZm9vdGVyIC5mb290ZXItaW5mby1zZWN0aW9uIC5pbmZvLWJsb2NrIC5pbm5lciAudGV4dHsNCgkJZm9udC1zaXplOjE1cHg7DQoJfQ0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExNDBweCl7DQoJDQoJLm1haW4taGVhZGVyIC5pbmZvLWJveHsNCgkJZGlzcGxheTppbmxpbmUtYmxvY2s7DQoJCWZsb2F0Om5vbmU7DQoJCXRleHQtYWxpZ246bGVmdDsNCgl9DQoJDQoJLm1haW4taGVhZGVyIC5sb2dvLW91dGVyew0KCQlwYWRkaW5nOjVweCAwcHggMHB4Ow0KCX0NCgkNCgkubWFpbi1oZWFkZXIgLmhlYWRlci11cHBlciAudXBwZXItcmlnaHR7DQoJCXBhZGRpbmctdG9wOjhweDsNCgl9DQoJDQoJLmluZm8tbGlzdCBsaSBiciwNCgkubWFpbi1mb290ZXIgLndpZGdldHMtc2VjdGlvbiAuZm9vdGVyLXdpZGdldDpiZWZvcmUsDQoJLm1haW4taGVhZGVyIC5oZWFkZXItbG93ZXIgLnNlYXJjaC1ib3gtb3V0ZXIsDQoJLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpID4gYTphZnRlciwNCgkubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGk6YWZ0ZXIsDQoJLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpID4gYTpiZWZvcmUsDQoJLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpID4gYTphZnRlciwNCgkubWFpbi1oZWFkZXIgLm91dGVyLWJveCwNCgkuc2VydmljZXMtYmxvY2stdGhyZWU6bnRoLWNoaWxkKDIpOmJlZm9yZSwNCgkuc2VydmljZXMtYmxvY2stdGhyZWU6bnRoLWNoaWxkKDIpOmFmdGVyLA0KCS5oaXN0b3J5LWJsb2NrIC5pbm5lci1ib3ggLnllYXIsDQoJLmhpc3Rvcnktc2VjdGlvbiAubGVmdC1saW5lLA0KCS5oaXN0b3J5LXNlY3Rpb24gLnJpZ2h0LWxpbmUsDQoJLmhpc3RvcnktYmxvY2stdHdvIC5pbm5lci1ib3ggLnllYXIsDQoJLmNvbXBhbnktc2VjdGlvbiAuaW1hZ2UtY29sdW1uIC5sb3dlci1jb250ZW50IC5jb2x1bW46Zmlyc3QtY2hpbGQ6OmFmdGVyew0KCQlkaXNwbGF5Om5vbmU7DQoJfQ0KCQ0KCS5tYWluLWZvb3RlciAud2lkZ2V0cy1zZWN0aW9uew0KCQlib3JkZXItcmlnaHQ6MHB4Ow0KCX0NCgkNCgkubWFpbi1mb290ZXIgLndpZGdldHMtc2VjdGlvbiAuZm9vdGVyLXdpZGdldHsNCgkJcGFkZGluZy1sZWZ0OjBweDsNCgkJcGFkZGluZy1yaWdodDowcHg7DQoJfQ0KCQ0KCS5tYWluLWhlYWRlciAuaW5mby1ib3h7DQoJCW1hcmdpbi1ib3R0b206MzBweDsNCgl9DQoJDQoJLm1haW4taGVhZGVyew0KCQlwb3NpdGlvbjpyZWxhdGl2ZTsNCgl9DQoJDQoJLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpID4gYXsNCgkJcGFkZGluZzoyMHB4IDBweDsNCgl9DQoJDQoJLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpew0KCQltYXJnaW4tbGVmdDoyNXB4Ow0KCX0NCgkNCgkubWFpbi1oZWFkZXIgLm91dGVyLWJveHsNCgkJbWFyZ2luLXRvcDotMTVweDsNCgl9DQoJDQoJLm1haW4tbWVudXsNCgkJcGFkZGluZy10b3A6MHB4Ow0KCX0NCgkNCgkubWFpbi1zbGlkZXIgaDJ7DQoJCWZvbnQtc2l6ZTo2MHB4Ow0KCX0NCgkNCgkuY29tcGFueS1zZWN0aW9uIC5pbWFnZS1jb2x1bW4gLmxvd2VyLWNvbnRlbnQgLmNvbHVtbjpmaXJzdC1jaGlsZCAudGV4dCwNCgkuYnV5LXNlY3Rpb24gLmNvbnRlbnQtY29sdW1uIC5pbm5lci1jb2x1bW57DQoJCXBhZGRpbmctcmlnaHQ6MHB4Ow0KCX0NCgkNCgkuc2VydmljZXMtYmxvY2stdGhyZWUgLmlubmVyLWJveCAuaWNvbi1ib3h7DQoJCXdpZHRoOjEwMCU7DQoJCWxpbmUtaGVpZ2h0OjE5MHB4Ow0KCQltYXJnaW4tYm90dG9tOjBweDsNCgkJYmFja2dyb3VuZC1zaXplOmNvbnRhaW47DQoJfQ0KCQ0KCS5yZWdpc3Rlci1mb3JtIC5mb3JtLWdyb3VwIGJ1dHRvbnsNCgkJcGFkZGluZzo5cHggMTBweDsNCgl9DQoJDQoJLmhpc3RvcnktYmxvY2sgLmlubmVyLWJveHsNCgkJcGFkZGluZy1sZWZ0OjBweDsNCgl9DQoJDQoJLmhpc3RvcnktYmxvY2stdHdvIC5pbm5lci1ib3h7DQoJCXBhZGRpbmctcmlnaHQ6MHB4Ow0KCX0NCgkNCgkuc2lkZWJhci1icm9jaHVyZSAuYnJvY2h1cmV7DQoJCWZvbnQtc2l6ZToxNXB4Ow0KCX0NCgkNCgkuY2FsbC10by1hY3Rpb24tc2VjdGlvbiBoMnsNCgkJZm9udC1zaXplOjIwcHg7DQoJfQ0KCQ0KCS53b3JrLWJsb2NrLW9uZSAuY29udGVudC1jb2x1bW4gLmlubmVyLWNvbHVtbnsNCgkJcGFkZGluZzozMHB4IDBweDsNCgl9DQoJDQoJLndvcmstYmxvY2stb25lLnN0eWxlLXR3byAuY29udGVudC1jb2x1bW4gLmlubmVyLWNvbHVtbnsNCgkJcGFkZGluZy10b3A6ODBweDsNCgl9DQoJDQoJLmluZm8tbGlzdC10d28gbGl7DQoJCW1hcmdpbi1ib3R0b206MTRweDsNCgl9DQoJDQoJLmNvbnRhY3QtaW5mbyAuY29udGVudC1jb2x1bW4gLmlubmVyLWNvbHVtbnsNCgkJcGFkZGluZzoyNXB4IDE1cHg7DQoJfQ0KCQ0KCS5wcmljZS10YWJsZSAudGFibGUtb3V0ZXJ7DQoJCW92ZXJmbG93LXg6CWF1dG87DQoJfQ0KCQ0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KXsNCgkubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiB1bCwNCgkubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiB1bCA+IGxpID4gdWx7DQoJCWRpc3BsYXk6YmxvY2sgIWltcG9ydGFudDsNCgkJdmlzaWJpbGl0eTpoaWRkZW47DQoJCW9wYWNpdHk6MDsNCgl9DQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KXsNCgkNCgkubWFpbi1oZWFkZXIgLm5hdi1vdXRlcnsNCgkJcGFkZGluZy1yaWdodDowcHg7CQ0KCX0NCgkNCgkubWFpbi1oZWFkZXIgLmhlYWRlci11cHBlciAudXBwZXItcmlnaHR7DQoJCXBvc2l0aW9uOnJlbGF0aXZlOw0KCQl3aWR0aDoxMDAlOw0KCQlwYWRkaW5nLXRvcDowcHg7DQoJfQ0KDQoJLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpIGF7DQoJCWJhY2tncm91bmQ6bm9uZTsNCgl9DQoJDQoJLm1haW4tc2xpZGVyIGgyew0KCQlmb250LXNpemU6MzRweDsNCgl9DQoJDQoJLm1haW4tc2xpZGVyIC50ZXh0ew0KCQlmb250LXNpemU6MTZweDsNCgl9DQoJDQoJLm1haW4tc2xpZGVyIC5kYXJrLWhlYWRpbmcsDQoJLm1haW4tc2xpZGVyIGgxew0KCQlmb250LXNpemU6NTBweDsNCgl9DQoJDQoJLnNsaWRlci1jb250ZW50IGgzew0KCQlmb250LXNpemU6MjRweDsNCgl9DQoJDQoJLmZpeGVkLWhlYWRlciAuc3RpY2t5LWhlYWRlciwNCgkuaGVhZGVyLXRvcCAudG9wLWlubmVyOmJlZm9yZSwNCgkuaGVhZGVyLXRvcCAudG9wLWlubmVyOmFmdGVyLA0KCS5idGMtZm9ybSAucGx1cywNCgkuY29udGFjdC1mb3JtLXNlY3Rpb24gLmlubmVyLWNvbnRhaW5lciAudGV4dCBiciwNCgkuc2lkZWJhci1wYWdlLWNvbnRhaW5lciAuc2lkZWJhci1zaWRlIC53aXRoLWJvcmRlcjpiZWZvcmV7DQoJCWRpc3BsYXk6bm9uZTsNCgl9DQoJDQoJLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpew0KCQltYXJnaW4tbGVmdDowcHg7DQoJCW1hcmdpbi1yaWdodDoyMHB4Ow0KCX0NCgkNCgkubmV3cy1ibG9jayAuaW5uZXItYm94IC5taWRkbGUtYm94IC50ZXh0ew0KCQlmb250LXNpemU6MTVweDsNCgl9DQoJDQoJLnNpZGViYXItcGFnZS1jb250YWluZXIgLnNpZGViYXItc2lkZSAud2l0aC1ib3JkZXJ7DQoJCXBhZGRpbmctbGVmdDowcHg7DQoJfQ0KCQ0KCS5tYWluLXNsaWRlciBoMi50ZXh0LWNlbnRlcnsNCgkJZGlzcGxheTpibG9jazsNCgl9DQoJDQoJLm1haW4taGVhZGVyIC5oZWFkZXItdXBwZXJ7DQoJCXBhZGRpbmctdG9wOjEwcHg7DQoJfQ0KCQ0KCS5tYWluLWhlYWRlciAuc2VhcmNoLWJveC1idG57DQoJCW1hcmdpbi10b3A6MjJweDsNCgl9DQoJDQoJLm1haW4taGVhZGVyIC5vdXRlci1ib3h7DQoJCWRpc3BsYXk6YmxvY2s7DQoJCWZsb2F0OnJpZ2h0Ow0KCQltYXJnaW4tdG9wOi02cHg7DQoJfQ0KCQ0KCS5oZWFkZXItdG9wIC50b3AtbGVmdCwNCgkuaGVhZGVyLXRvcCAudG9wLXJpZ2h0ew0KCQl3aWR0aDoxMDAlOw0KCQlkaXNwbGF5OmJsb2NrOw0KCQl0ZXh0LWFsaWduOmNlbnRlcjsNCgl9DQoJDQoJLmhlYWRlci10b3AgLnRvcC1sZWZ0IHVsIGxpLmVtYWlsew0KCQltYXJnaW4tbGVmdDowcHg7DQoJfQ0KCQ0KCS5oZWFkZXItdG9wIC50b3AtbGVmdCB1bCBsaXsNCgkJY29sb3I6I2ZmZmZmZjsNCgl9DQoJDQoJLnNlcnZpY2VzLWJsb2NrLXRocmVlew0KCQltYXJnaW4tdG9wOjBweDsNCgl9DQoJDQoJLnNlcnZpY2VzLWJsb2NrLXRocmVlIC5pbm5lci1ib3ggLmljb24tYm94ew0KCQlsaW5lLWhlaWdodDoxODBweDsNCgl9DQoJDQoJLnNlcnZpY2VzLWJsb2NrLXRocmVlIC5pbm5lci1ib3ggLm51bWJlcnsNCgkJcG9zaXRpb246cmVsYXRpdmU7DQoJCXJpZ2h0OmF1dG87DQoJCWxlZnQ6YXV0bzsNCgkJdG9wOmF1dG87DQoJCW1hcmdpbi10b3A6MTBweCAhaW1wb3J0YW50Ow0KCQltYXJnaW4tYm90dG9tOjE1cHg7DQoJCW1hcmdpbjowIGF1dG87DQoJfQ0KCQ0KCS5zZXJ2aWNlcy1ibG9jay10aHJlZTpudGgtY2hpbGQoMykgLmlubmVyLWJveCAubnVtYmVyew0KCQlsZWZ0OmF1dG87DQoJfQ0KCQ0KCS5zZXJ2aWNlcy1ibG9jay10aHJlZSwNCgkuaGlzdG9yeS1ibG9jaywNCgkuaGlzdG9yeS1ibG9jay10d28sDQoJLmV4cGxvcmUtc2VjdGlvbiAucmVhZC1tb3Jlew0KCQltYXJnaW4tYm90dG9tOjMwcHg7DQoJfQ0KCQ0KCS5mb3JtLWdyb3VwIC51aS1zZWxlY3RtZW51LWJ1dHRvbi51aS1idXR0b24sDQoJLmJ0Yy1mb3JtIC5mb3JtLWdyb3VwIC50aGVtZS1idG57DQoJCXdpZHRoOjEwMCU7DQoJCWRpc3BsYXk6YmxvY2s7DQoJfQ0KCQ0KCS50ZXN0aW1vbmlhbC1ibG9ja3sNCgkJYmFja2dyb3VuZC1jb2xvcjojMjg0NDYyOw0KCQliYWNrZ3JvdW5kLWltYWdlOm5vbmUgIWltcG9ydGFudDsNCgl9DQoJDQoJLm1haW4tZm9vdGVyIC5mb290ZXItYm90dG9tLA0KCS5tYWluLWZvb3RlciAuZm9vdGVyLWJvdHRvbSAuY2FyZHMtY29sdW1uew0KCQl0ZXh0LWFsaWduOmNlbnRlcjsNCgl9DQoJDQoJLm1haW4tZm9vdGVyIC5mb290ZXItYm90dG9tIC5jb3B5cmlnaHQsDQoJLmNhbGwtdG8tYWN0aW9uLXNlY3Rpb24gaDJ7DQoJCW1hcmdpbi1ib3R0b206MTBweDsNCgl9DQoJDQoJLmFuYWx5c2ljLXNlY3Rpb24gLmxvd2VyLXNlY3Rpb24gLmxvd2VyLWlubmVyLXNlY3Rpb257DQoJCXBhZGRpbmc6NDBweCA0MHB4Ow0KCX0NCgkNCgkuY2FsbC10by1hY3Rpb24tc2VjdGlvbiwNCgkuY2FsbC10by1hY3Rpb24tc2VjdGlvbiAuYnRuLWNvbHVtbiwNCgkud29yay1ibG9jay1vbmUgLmNvbnRlbnQtY29sdW1uIC5pbm5lci1jb2x1bW4sDQoJLndvcmstYmxvY2stdHdvIC5jb250ZW50LWNvbHVtbiAuaW5uZXItY29sdW1uew0KCQl0ZXh0LWFsaWduOmNlbnRlcjsNCgl9DQoJDQoJLndvcmstYmxvY2stdHdvIC5jb250ZW50LWNvbHVtbiAuaW5uZXItY29sdW1uew0KCQlwYWRkaW5nLWxlZnQ6MHB4Ow0KCX0NCgkNCgkud29yay1ibG9jay10d28gLmNvbnRlbnQtY29sdW1uIC5pbm5lci1jb2x1bW57DQoJCXBhZGRpbmctYm90dG9tOjBweDsNCgl9DQoJDQoJLm5ld3MtYmxvY2stdHdvIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgaDN7DQoJCWZvbnQtc2l6ZToyMnB4Ow0KCX0NCgkNCgkuY29udGFjdC1mb3JtLXNlY3Rpb24gLmlubmVyLWNvbnRhaW5lcnsNCgkJcGFkZGluZzo0NXB4IDMwcHggNDBweDsNCgl9DQoJDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpew0KCQ0KCS5tYWluLXNsaWRlciBoMnsNCgkJZm9udC1zaXplOjMwcHg7DQoJCXBhZGRpbmctYm90dG9tOjEwcHg7DQoJfQ0KCQ0KCS5tYWluLXNsaWRlciAuZGFyay1oZWFkaW5new0KCQlmb250LXNpemU6MzJweDsNCgl9DQoJDQoJLm1haW4tc2xpZGVyIGgxew0KCQlmb250LXNpemU6MzJweDsNCgl9DQoJDQoJLm1haW4tc2xpZGVyIGg0ew0KCQlmb250LXNpemU6MjhweDsNCgl9DQoJDQoJLm1haW4tc2xpZGVyIC50ZXh0ew0KCQlmb250LXNpemU6MTRweDsNCgl9DQoJDQoJLm1haW4taGVhZGVyIC5uYXYtb3V0ZXJ7DQoJCXBhZGRpbmctcmlnaHQ6MHB4Ow0KCQlib3JkZXItcmlnaHQ6MHB4Ow0KCQlib3JkZXItbGVmdDowcHg7DQoJfQ0KCQ0KCS5tYWluLWhlYWRlciAuYnRuLW91dGVyew0KCQlib3JkZXI6IDAgbm9uZTsNCgkJcmlnaHQ6IGF1dG87DQoJCXRleHQtYWxpZ246IGxlZnQ7DQoJCXRvcDogMDsNCgkJd2lkdGg6IGF1dG87DQoJCXotaW5kZXg6IDE0Ow0KCX0NCgkNCgkubWFpbi1oZWFkZXIgLmhlYWRlci1sb3dlciAuc2VhcmNoLWJveC1vdXRlciAuZHJvcGRvd24tbWVudXsNCgkJcmlnaHQ6YXV0bzsNCgkJbGVmdDowcHg7CQ0KCX0NCgkNCgkubWFpbi1oZWFkZXIgLmJ0bi1vdXRlciAucXVvdGUtYnRuew0KCQltYXJnaW4tdG9wOjhweDsJDQoJfQ0KCQ0KCS5oZWFkZXItbWFpbi1ib3ggLm5hdi1vdXRlciAuc2VhcmNoLWJveC1idG57DQoJCXRvcDoxNXB4Ow0KCQlyaWdodDo2MHB4Ow0KCQltYXJnaW4tdG9wOjBweDsNCgkJei1pbmRleDoyMDsNCgl9DQoJDQoJLm1haW4taGVhZGVyIC5oZWFkZXItdG9wIC50b3AtcmlnaHQsIA0KCS5tYWluLWhlYWRlciAuaGVhZGVyLXRvcCAudG9wLWxlZnQgew0KCQl3aWR0aDogMTAwJTsNCgkJdGV4dC1hbGlnbjpjZW50ZXI7DQoJfQ0KCQ0KCS5tYWluLWhlYWRlciAuaGVhZGVyLXRvcCAudG9wLXJpZ2h0IHVsLA0KCS5tYWluLWhlYWRlciAuaGVhZGVyLXRvcCAudG9wLWxlZnQgdWwgew0KCQl0ZXh0LWFsaWduOiBjZW50ZXI7DQoJfQ0KCQ0KCS5tYWluLWhlYWRlciAuaGVhZGVyLXRvcCAudG9wLXJpZ2h0IHVsIGxpLA0KCS5tYWluLWhlYWRlciAuaGVhZGVyLXRvcCAudG9wLWxlZnQgdWwgbGkgew0KCQlkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQoJCWZsb2F0OiBub25lOw0KCX0NCgkNCgkubWFpbi1oZWFkZXIgLmhlYWRlci10b3AgLnNvY2lhbC1pY29uLWZvdXIgbGl7DQoJCW1hcmdpbi1yaWdodDotM3B4Ow0KCX0NCg0KCS5oZWFkZXItdXBwZXIgLmxvZ28tb3V0ZXJ7DQoJCWRpc3BsYXk6IGJsb2NrOw0KCQl3aWR0aDogMTAwJTsNCgkJdGV4dC1hbGlnbjpjZW50ZXI7DQoJfQ0KCQ0KCS5tYWluLWhlYWRlciAuaGVhZGVyLXVwcGVyIC51cHBlci1jb2x1bW57DQoJCW1hcmdpbi1sZWZ0OjBweDsNCgkJd2lkdGg6MTAwJTsJDQoJfQ0KCQ0KCS5tYWluLWhlYWRlciAuaGVhZGVyLXVwcGVyIC51cHBlci1jb2x1bW57DQoJCXBhZGRpbmctcmlnaHQ6MHB4OwkNCgl9DQoJDQoJLm1haW4taGVhZGVyIC5oZWFkZXItdXBwZXIgLnVwcGVyLWNvbHVtbi5pbmZvLWJveCB7DQoJCWRpc3BsYXk6IGJsb2NrOw0KCQl3aWR0aDoxMDAlOw0KCQl0ZXh0LWFsaWduOmNlbnRlcjsNCgkJcGFkZGluZzowcHg7DQoJCW1heC13aWR0aDpub25lOw0KCX0NCgkNCgkubWFpbi1oZWFkZXIgLmluZm8tYm94IC5pY29uLWJveHsNCgkJcG9zaXRpb246cmVsYXRpdmU7DQoJCWRpc3BsYXk6YmxvY2s7DQoJCXRvcDowcHg7DQoJCXRleHQtYWxpZ246Y2VudGVyOw0KCQltYXJnaW46MCBhdXRvIDEycHg7CQ0KCX0NCgkNCgkubWFpbi1oZWFkZXIgLm1haW4tbWVudXsNCgkJcGFkZGluZy10b3A6MHB4Ow0KCQl3aWR0aDoxMDAlOw0KCQltYXJnaW46MHB4Ow0KCX0NCgkNCgkubWFpbi1tZW51IC5jb2xsYXBzZSB7DQoJICAgbWF4LWhlaWdodDozMDBweDsNCgkJb3ZlcmZsb3c6YXV0bzsNCgkJZmxvYXQ6bm9uZTsNCgkJd2lkdGg6MTAwJTsNCgkJcGFkZGluZzoxMHB4IDBweCAwcHg7DQoJCWJvcmRlcjpub25lOw0KCQltYXJnaW46MHB4Ow0KCQktbXMtYm9yZGVyLXJhZGl1czozcHg7DQoJCS1tb3otYm9yZGVyLXJhZGl1czozcHg7DQoJCS13ZWJraXQtYm9yZGVyLXJhZGl1czozcHg7DQoJCS1vLWJvcmRlci1yYWRpdXM6M3B4Ow0KCQlib3JkZXItcmFkaXVzOjNweDsNCiAgIH0NCiAgIA0KCS5tYWluLW1lbnUgLmNvbGxhcHNlLmluLA0KCS5tYWluLW1lbnUgLmNvbGxhcHNpbmd7DQoJCXBhZGRpbmc6MHB4IDBweCAwcHg7DQoJCWJvcmRlcjpub25lOw0KCQltYXJnaW46MHB4IDBweCAxNXB4Ow0KCQktbXMtYm9yZGVyLXJhZGl1czozcHg7DQoJCS1tb3otYm9yZGVyLXJhZGl1czozcHg7DQoJCS13ZWJraXQtYm9yZGVyLXJhZGl1czozcHg7DQoJCS1vLWJvcmRlci1yYWRpdXM6M3B4Ow0KCQlib3JkZXItcmFkaXVzOjNweDsJDQoJfQ0KCQ0KCS5tYWluLW1lbnUgLm5hdmJhci1oZWFkZXJ7DQoJCXBvc2l0aW9uOnJlbGF0aXZlOw0KCQlmbG9hdDpub25lOw0KCQlkaXNwbGF5OmJsb2NrOw0KCQl0ZXh0LWFsaWduOnJpZ2h0Ow0KCQl3aWR0aDoxMDAlOw0KCQlwYWRkaW5nOjEzcHggMHB4IDE0cHg7DQoJCXJpZ2h0OjBweDsNCgkJei1pbmRleDoxMjsNCgl9DQoJDQoJLm1haW4tbWVudSAubmF2YmFyLWhlYWRlciAubmF2YmFyLXRvZ2dsZXsNCgkJZGlzcGxheTppbmxpbmUtYmxvY2s7DQoJCXotaW5kZXg6NzsNCgkJYm9yZGVyOjFweCBzb2xpZCAjZmViZTI4Ow0KCQlmbG9hdDpub25lOw0KCQltYXJnaW46MHB4IDBweCAwcHggMHB4Ow0KCQlib3JkZXItcmFkaXVzOjBweDsNCgkJYmFja2dyb3VuZDojZmViZTI4Ow0KCX0NCgkNCgkubWFpbi1tZW51IC5uYXZiYXItaGVhZGVyIC5uYXZiYXItdG9nZ2xlIC5pY29uLWJhcnsNCgkJYmFja2dyb3VuZDojZmZmZmZmOwkNCgl9DQoJDQoJLm1haW4tbWVudSAubmF2YmFyLWNvbGxhcHNlID4gLm5hdmlnYXRpb257DQoJCWZsb2F0Om5vbmUgIWltcG9ydGFudDsNCgkJbWFyZ2luOjBweCAhaW1wb3J0YW50Ow0KCQl3aWR0aDoxMDAlICFpbXBvcnRhbnQ7DQoJCWJhY2tncm91bmQ6I2ZlYmUyODsNCgkJYm9yZGVyOjFweCBzb2xpZCAjZmZmZmZmOw0KCQlib3JkZXItdG9wOm5vbmU7DQoJfQ0KCQ0KCS5tYWluLW1lbnUgLm5hdmJhci1jb2xsYXBzZSA+IC5uYXZpZ2F0aW9uID4gbGl7DQoJCW1hcmdpbjowcHggIWltcG9ydGFudDsNCgkJZmxvYXQ6bm9uZSAhaW1wb3J0YW50Ow0KCQl3aWR0aDoxMDAlOw0KCX0NCgkNCgkubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiBhLA0KCS5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaSA+IHVsOmJlZm9yZXsNCgkJYm9yZGVyOm5vbmU7CQ0KCX0NCgkNCgkubWFpbi1tZW51IC5uYXZiYXItY29sbGFwc2UgPiAubmF2aWdhdGlvbiA+IGxpID4gYXsNCgkJcGFkZGluZzoxMHB4IDEwcHggIWltcG9ydGFudDsNCgkJYm9yZGVyOm5vbmUgIWltcG9ydGFudDsNCgl9DQoJDQoJLm1haW4tbWVudSAubmF2aWdhdGlvbiBsaS5kcm9wZG93biA+IGE6YWZ0ZXIsDQoJLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpLmRyb3Bkb3duID4gYTpiZWZvcmUsDQoJLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpID4gdWwgPiBsaSA+IGE6OmJlZm9yZSwNCgkubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiB1bCA+IGxpID4gdWwgPiBsaSA+IGE6OmJlZm9yZXsNCgkJY29sb3I6I2ZmZmZmZiAhaW1wb3J0YW50Ow0KCQlyaWdodDoxNXB4Ow0KCQlmb250LXNpemU6MTZweDsNCgkJZGlzcGxheTpub25lICFpbXBvcnRhbnQ7DQoJfQ0KCQ0KCS5tYWluLW1lbnUgLm5hdmJhci1jb2xsYXBzZSA+IC5uYXZpZ2F0aW9uID4gbGkgPiB1bCwNCgkubWFpbi1tZW51IC5uYXZiYXItY29sbGFwc2UgPiAubmF2aWdhdGlvbiA+IGxpID4gdWwgPiBsaSA+IHVsew0KCQlwb3NpdGlvbjpyZWxhdGl2ZTsNCgkJYm9yZGVyOm5vbmU7DQoJCWZsb2F0Om5vbmU7DQoJCXZpc2liaWxpdHk6dmlzaWJsZTsNCgkJb3BhY2l0eToxOw0KCQlkaXNwbGF5Om5vbmU7DQoJCW1hcmdpbjowcHg7DQoJCXBhZGRpbmc6MHB4Ow0KCQlsZWZ0OmF1dG8gIWltcG9ydGFudDsNCgkJcmlnaHQ6YXV0byAhaW1wb3J0YW50Ow0KCQl0b3A6YXV0byAhaW1wb3J0YW50Ow0KCQl3aWR0aDoxMDAlOw0KCQliYWNrZ3JvdW5kOiNmZWJlMjg7DQoJCS13ZWJraXQtYm9yZGVyLXJhZGl1czowcHg7DQoJCS1tcy1ib3JkZXItcmFkaXVzOjBweDsNCgkJLW8tYm9yZGVyLXJhZGl1czowcHg7DQoJCS1tb3otYm9yZGVyLXJhZGl1czowcHg7DQoJCWJvcmRlci1yYWRpdXM6MHB4Ow0KCQl0cmFuc2l0aW9uOm5vbmUgIWltcG9ydGFudDsNCgkJLXdlYmtpdC10cmFuc2l0aW9uOm5vbmUgIWltcG9ydGFudDsNCgkJLW1zLXRyYW5zaXRpb246bm9uZSAhaW1wb3J0YW50Ow0KCQktby10cmFuc2l0aW9uOm5vbmUgIWltcG9ydGFudDsNCgkJLW1vei10cmFuc2l0aW9uOm5vbmUgIWltcG9ydGFudDsNCgkJYm94LXNoYWRvdzpub25lICFpbXBvcnRhbnQ7DQoJfQ0KCQkNCgkubWFpbi1tZW51IC5uYXZiYXItY29sbGFwc2UgPiAubmF2aWdhdGlvbiA+IGxpID4gdWwsDQoJLm1haW4tbWVudSAubmF2YmFyLWNvbGxhcHNlID4gLm5hdmlnYXRpb24gPiBsaSA+IHVsID4gbGkgPiB1bHsNCgkJYm9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwxKSAhaW1wb3J0YW50OwkNCgl9DQoJDQoJLm1haW4tbWVudSAubmF2YmFyLWNvbGxhcHNlID4gLm5hdmlnYXRpb24gPiBsaSwNCgkubWFpbi1tZW51IC5uYXZiYXItY29sbGFwc2UgPiAubmF2aWdhdGlvbiA+IGxpID4gdWwgPiBsaSwNCgkubWFpbi1tZW51IC5uYXZiYXItY29sbGFwc2UgPiAubmF2aWdhdGlvbiA+IGxpID4gdWwgPiBsaSA+IHVsID4gbGl7DQoJCWJvcmRlci10b3A6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMSkgIWltcG9ydGFudDsNCgkJb3BhY2l0eToxICFpbXBvcnRhbnQ7DQoJCXRvcDowcHggIWltcG9ydGFudDsNCgkJbGVmdDowcHggIWltcG9ydGFudDsNCgkJdmlzaWJpbGl0eTp2aXNpYmxlICFpbXBvcnRhbnQ7DQoJfQ0KCQ0KCS5tYWluLW1lbnUgLm5hdmJhci1jb2xsYXBzZSA+IC5uYXZpZ2F0aW9uID4gbGk6Zmlyc3QtY2hpbGR7DQoJCWJvcmRlcjpub25lOwkNCgl9DQoJDQoJLm1haW4tbWVudSAubmF2YmFyLWNvbGxhcHNlID4gLm5hdmlnYXRpb24gPiBsaSA+IGEsDQoJLm1haW4tbWVudSAubmF2YmFyLWNvbGxhcHNlID4gLm5hdmlnYXRpb24gPiBsaSA+IHVsID4gbGkgPiBhLA0KCS5tYWluLW1lbnUgLm5hdmJhci1jb2xsYXBzZSA+IC5uYXZpZ2F0aW9uID4gbGkgPiB1bCA+IGxpID4gdWwgPiBsaSA+IGF7DQoJCXBhZGRpbmc6MTBweCAxMHB4ICFpbXBvcnRhbnQ7DQoJCWxpbmUtaGVpZ2h0OjIycHg7DQoJCWNvbG9yOiNmZmZmZmY7DQoJCWJhY2tncm91bmQ6I2ZlYmUyODsNCgkJdGV4dC1hbGlnbjpsZWZ0Ow0KCQltaW4taGVpZ2h0OjBweDsNCgl9DQoJDQoJLm1haW4tbWVudSAubmF2YmFyLWNvbGxhcHNlID4gLm5hdmlnYXRpb24gPiBsaSA+IGE6aG92ZXIsDQoJLm1haW4tbWVudSAubmF2YmFyLWNvbGxhcHNlID4gLm5hdmlnYXRpb24gPiBsaSA+IGE6YWN0aXZlLA0KCS5tYWluLW1lbnUgLm5hdmJhci1jb2xsYXBzZSA+IC5uYXZpZ2F0aW9uID4gbGkgPiBhOmZvY3Vzew0KCQliYWNrZ3JvdW5kOiNmZWJlMjg7DQoJfQ0KCQ0KCS5tYWluLW1lbnUgLm5hdmJhci1jb2xsYXBzZSA+IC5uYXZpZ2F0aW9uID4gbGk6aG92ZXIgPiBhLA0KCS5tYWluLW1lbnUgLm5hdmJhci1jb2xsYXBzZSA+IC5uYXZpZ2F0aW9uID4gbGkgPiB1bCA+IGxpOmhvdmVyID4gYSwNCgkubWFpbi1tZW51IC5uYXZiYXItY29sbGFwc2UgPiAubmF2aWdhdGlvbiA+IGxpID4gdWwgPiBsaSA+IHVsID4gbGk6aG92ZXIgPiBhLA0KCS5tYWluLW1lbnUgLm5hdmJhci1jb2xsYXBzZSA+IC5uYXZpZ2F0aW9uID4gbGkuY3VycmVudCA+IGEsDQoJLm1haW4tbWVudSAubmF2YmFyLWNvbGxhcHNlID4gLm5hdmlnYXRpb24gPiBsaS5jdXJyZW50LW1lbnUtaXRlbSA+IGF7DQoJCWJhY2tncm91bmQ6I2ZlYmUyODsNCgkJY29sb3I6I2ZmZmZmZiAhaW1wb3J0YW50Ow0KCX0NCgkNCgkubWFpbi1tZW51IC5uYXZiYXItY29sbGFwc2UgPiAubmF2aWdhdGlvbiBsaS5kcm9wZG93biAuZHJvcGRvd24tYnRuew0KCQlkaXNwbGF5OmJsb2NrOw0KCX0NCgkNCgkubWFpbi1tZW51IC5uYXZiYXItY29sbGFwc2UgPiAubmF2aWdhdGlvbiBsaS5kcm9wZG93bjphZnRlciwNCgkubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiB1bDpiZWZvcmUsDQoJLm1haW4taGVhZGVyIC5pbmZvLWJveDphZnRlciwNCgkuc2VydmljZXMtc2VjdGlvbi10d28gLm93bC1kb3Rzew0KCQlkaXNwbGF5Om5vbmUgIWltcG9ydGFudDsJDQoJfQ0KCQ0KCS5tYWluLXNsaWRlcnsNCgkJbWFyZ2luLXRvcDowcHggIWltcG9ydGFudDsJDQoJfQ0KCQ0KCS5tYWluLWhlYWRlciAudG9wLXJpZ2h0IC5saW5rcy1uYXYgbGl7DQoJCW1hcmdpbi1sZWZ0OjVweDsNCgl9DQoJDQoJLm1haW4taGVhZGVyIC5zZWFyY2gtYm94LW91dGVyIC5kcm9wZG93bi1tZW51ew0KCQl0b3A6NTNweDsNCgkJbGVmdDowcHg7DQoJCXJpZ2h0OjBweDsNCgl9DQoJDQoJLm1haW4taGVhZGVyIC5vdXRlci1ib3h7DQoJCXBvc2l0aW9uOmFic29sdXRlOw0KCQlkaXNwbGF5OmJsb2NrOw0KCQlyaWdodDphdXRvOw0KCQl6LWluZGV4OjEyOw0KCQlsZWZ0OjBweDsNCgkJbWFyZ2luLWxlZnQ6MHB4Ow0KCQltYXJnaW4tdG9wOjVweDsNCgl9DQoJDQoJLm1haW4taGVhZGVyIC5zZWFyY2gtZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJ0ZXh0Il0sDQoJLm1haW4taGVhZGVyIC5zZWFyY2gtZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJ0ZWwiXSwNCgkubWFpbi1oZWFkZXIgLnNlYXJjaC1mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9ImVtYWlsIl0sDQoJLm1haW4taGVhZGVyIC5zZWFyY2gtZm9ybSAuZm9ybS1ncm91cCB0ZXh0YXJlYXsNCgkJaGVpZ2h0OjYwcHg7DQoJfQ0KCQ0KCS5tYWluLWhlYWRlciAuc2VhcmNoLWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0ic3VibWl0Il0sDQoJLm1haW4taGVhZGVyIC5zZWFyY2gtZm9ybSBidXR0b257DQoJCWxpbmUtaGVpZ2h0OjYwcHg7CQ0KCX0NCgkNCgkubWFpbi1oZWFkZXIgLmJ0bi1ib3ggLmRvbmF0ZS1idG57DQoJCXBhZGRpbmc6MTJweCAzNXB4IDEycHggMzhweDsNCgl9DQoJDQoJLm1haW4taGVhZGVyIC5idG4tYm94ew0KCQlkaXNwbGF5OmJsb2NrOw0KCQltYXJnaW4tdG9wOjdweDsNCgl9DQoJDQoJLm1haW4taGVhZGVyIC5vdXRlci1ib3h7DQoJCQ0KCX0NCgkNCgkuaGVhZGVyLXRvcCAudG9wLWxlZnQsDQoJLmhlYWRlci10b3AgLnRvcC1yaWdodHsNCgkJd2lkdGg6MTAwJTsNCgkJdGV4dC1hbGlnbjpjZW50ZXI7DQoJfQ0KCQ0KCS5tYWluLWhlYWRlciAuaGVhZGVyLXVwcGVyew0KCQlwYWRkaW5nLWJvdHRvbTowcHg7DQoJfQ0KCQ0KCS5tYWluLWhlYWRlciAuaGVhZGVyLWxvd2VyIC5zZWFyY2gtYm94LW91dGVyew0KCQlwYWRkaW5nLXRvcDoyMHB4Ow0KCQlwYWRkaW5nLWJvdHRvbToyMHB4Ow0KCX0NCgkNCgkubWFpbi1oZWFkZXIgLm91dGVyLWJveCAuY29uc3VsdC1idG57DQoJCW1hcmdpbjo5cHggMHB4Ow0KCX0NCgkNCgkubWFpbi1mb290ZXIgLmZvb3Rlci1pbmZvLXNlY3Rpb24gLmluZm8tYmxvY2sgLmlubmVyIC5pY29uew0KCQlwb3NpdGlvbjpyZWxhdGl2ZTsNCgkJdG9wOjBweDsNCgkJbWFyZ2luLWJvdHRvbToxNXB4Ow0KCX0NCgkNCgkubWFpbi1mb290ZXIgLmZvb3Rlci1pbmZvLXNlY3Rpb24gLmluZm8tYmxvY2sgLmlubmVyew0KCQlwYWRkaW5nLWxlZnQ6MHB4Ow0KCQl0ZXh0LWFsaWduOmNlbnRlcjsNCgkJbWFyZ2luLWxlZnQ6MHB4Ow0KCX0NCgkNCgkucGFnZS10aXRsZSBoMSwNCgkuc2VjLXRpdGxlIGgyLA0KCS5ob3ctd29ya3Mtc2VjdGlvbiBoMnsNCgkJZm9udC1zaXplOjI2cHg7DQoJfQ0KCQ0KCS5hdXRob3ItYm94IC5hdXRob3ItY29tbWVudCAuaW5uZXItYm94LA0KCS5zaWRlYmFyLXBhZ2UtY29udGFpbmVyIC5jb21tZW50cy1hcmVhIC5jb21tZW50ew0KCQlwYWRkaW5nLWxlZnQ6MHB4Ow0KCX0NCgkNCgkuc2lkZWJhci1wYWdlLWNvbnRhaW5lciAuY29tbWVudHMtYXJlYSAuY29tbWVudC1ib3ggLmF1dGhvci10aHVtYiwNCgkuYXV0aG9yLWJveCAuYXV0aG9yLWNvbW1lbnQgLmlubmVyLWJveCAuaW1hZ2V7DQoJCXBvc2l0aW9uOnJlbGF0aXZlOw0KCX0NCgkNCgkuY2FydC1zZWN0aW9uIC5hcHBseS1jb3Vwb24sDQoJLnNpZGViYXItcGFnZS1jb250YWluZXIgLmNvbW1lbnRzLWFyZWEgLmNvbW1lbnQtYm94LnJlcGx5LWNvbW1lbnR7DQoJCW1hcmdpbi1sZWZ0OjBweDsNCgl9DQoJDQoJLmNhcnQtc2VjdGlvbiAuY291cG9uLW91dGVyIC5wdWxsLXJpZ2h0ew0KCQl3aWR0aDoxMDAlOw0KCQltYXJnaW4tdG9wOjEwcHg7DQoJfQ0KCQ0KCS5tYWluLWhlYWRlciAuc2VhcmNoLWJveC1idG57DQoJCW1hcmdpbi10b3A6MHB4Ow0KCX0NCgkNCgkucmVnaXN0ZXItc2VjdGlvbiAuY29udGVudC1jb2x1bW4gLmlubmVyLWNvbHVtbiAudXBwZXItYm94IGgyew0KCQlmb250LXNpemU6MzJweDsNCgl9DQoJDQoJLnRlc3RpbW9uaWFsLWJsb2NrIC50ZXN0aW1vbmlhbC1pbm5lciAudGV4dHsNCgkJcGFkZGluZy1yaWdodDowcHg7DQoJfQ0KCQ0KCS5saXN0LXN0eWxlLXR3bywNCgkuY29tcGFueS1zZWN0aW9uIC5pbWFnZS1jb2x1bW4gLmxvd2VyLWNvbnRlbnQgLmNvbHVtbnsNCgkJbWFyZ2luLWJvdHRvbTozMHB4Ow0KCX0NCgkNCgkubmV3cy1ibG9jay10d28gLmlubmVyLWJveCAuaW1hZ2UgLm92ZXJsYXlib3ggLnJlYWQtbW9yZXsNCgkJbGVmdDoxNXB4Ow0KCQlib3R0b206MTVweDsNCgl9DQoJDQoJLnByb2R1Y3QtZGV0YWlscyAuaW1hZ2UtY29sdW1uew0KCQltYXJnaW4tYm90dG9tOjMwcHg7DQoJfQ0KCQ0KCS5jcnlwdG9uYXRvcndpZGdldCB0YWJsZSB0Ym9keSB0ciwNCgkuY3J5cHRvbmF0b3J3aWRnZXQgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKDIpew0KCQlmbG9hdDpub25lOw0KCQl3aWR0aDoxMDAlOw0KCQlkaXNwbGF5OmJsb2NrOw0KCQltYXJnaW46MCAwIDIwcHggIWltcG9ydGFudDsNCgl9DQoJDQoJLmJ0Yy1mb3JtIC5idGMtY2xjLCAuYnRjLWZvcm0gLmxpbmstZ3JvdXB7DQoJCXdpZHRoOjEwMCU7DQoJfQ0KCQ0KCS5idGMtZm9ybSAuYnRjLWNsY3sNCgkJbWFyZ2luLWJvdHRvbToyMHB4Ow0KCX0NCgkNCgkuY3J5cHRvbmF0b3J3aWRnZXQgdGFibGUgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQgaW5wdXQsDQoJLmNyeXB0b25hdG9yd2lkZ2V0IHRhYmxlIHRib2R5IHRyOm50aC1jaGlsZCgyKSB0ZCBpbnB1dHsNCgkJd2lkdGg6MTAwJSAhaW1wb3J0YW50Ow0KCQloZWlnaHQ6NTBweCAhaW1wb3J0YW50Ow0KCQlwYWRkaW5nOjEwcHggMjBweCAhaW1wb3J0YW50Ow0KCQlsaW5lLWhlaWdodDozMHB4ICFpbXBvcnRhbnQ7DQoJfQ0KCQ0KCS5jcnlwdG9uYXRvcndpZGdldCB0YWJsZSB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0ZCBzZWxlY3QsDQoJLmNyeXB0b25hdG9yd2lkZ2V0IHRhYmxlIHRib2R5IHRyOm50aC1jaGlsZCgyKSB0ZCBzZWxlY3R7DQoJCXdpZHRoOjEwMCUgIWltcG9ydGFudDsNCgkJaGVpZ2h0OjUwcHggIWltcG9ydGFudDsNCgkJcGFkZGluZzoxMHB4IDE1cHggIWltcG9ydGFudDsNCgkJbGluZS1oZWlnaHQ6MzBweCAhaW1wb3J0YW50Ow0KCQl0ZXh0LWFsaWduOnJpZ2h0Ow0KCX0NCgkNCgkuY3J5cHRvbmF0b3J3aWRnZXQgdGFibGUgdGJvZHkgdHIgdGR7DQoJCXdpZHRoOjUwJSAhaW1wb3J0YW50Ow0KCX0NCgkNCgkuY3J5cHRvbmF0b3J3aWRnZXQgdGFibGUgdGJvZHkgdHI6Zmlyc3QtY2hpbGQ6YWZ0ZXJ7DQoJCWRpc3BsYXk6bm9uZTsNCgl9DQoJDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpew0KCQ0KCS5tYWluLWhlYWRlciAuc29jaWFsLWxpbmtzLW9uZXsNCgkJdG9wOjBweDsNCgl9DQoNCgkubWFpbi1oZWFkZXIgLmhlYWRlci10b3AgLnRvcC1sZWZ0LA0KCS5tYWluLWhlYWRlciAuaGVhZGVyLXRvcCAudG9wLXJpZ2h0ew0KCQlmbG9hdDpub25lICFpbXBvcnRhbnQ7DQoJCXRleHQtYWxpZ246Y2VudGVyOw0KCX0NCgkNCgkubWFpbi1oZWFkZXIgLmhlYWRlci11cHBlciAudXBwZXItcmlnaHR7DQoJCXBhZGRpbmc6MHB4IDBweDsJDQoJfQ0KCQ0KCS5tYWluLWhlYWRlciAuc2VhcmNoLWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0idGV4dCJdLA0KCS5tYWluLWhlYWRlciAuc2VhcmNoLWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0idGVsIl0sDQoJLm1haW4taGVhZGVyIC5zZWFyY2gtZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJlbWFpbCJdLA0KCS5tYWluLWhlYWRlciAuc2VhcmNoLWZvcm0gLmZvcm0tZ3JvdXAgdGV4dGFyZWF7DQoJCXdpZHRoOjIzMHB4Ow0KCX0NCgkNCgkubWFpbi1zbGlkZXIgaDJ7DQoJCWZvbnQtc2l6ZToyNHB4Ow0KCQlwYWRkaW5nLWJvdHRvbToxMHB4Ow0KCX0NCgkNCgkubWFpbi1zbGlkZXIgLnRleHR7DQoJCWZvbnQtc2l6ZToxM3B4Ow0KCX0NCgkNCgkuc2VjLXRpdGxlIGgyLA0KCS5yZWdpc3Rlci1zZWN0aW9uIC5jb250ZW50LWNvbHVtbiAuaW5uZXItY29sdW1uIC51cHBlci1ib3ggaDJ7DQoJCWZvbnQtc2l6ZToyMnB4Ow0KCX0NCgkNCgkuaGVhZGVyLXVwcGVyIC5sb2dvLW91dGVyew0KCQltYXJnaW4tYm90dG9tOjEwcHg7DQoJfQ0KCQ0KCS5oZWFkZXItdG9wIC50b3AtbGVmdCwNCgkuc2VydmljZXMtYmxvY2sgLmlubmVyLWJveCAudGV4dCBiciwNCgkucmVnaXN0ZXItc2VjdGlvbiAuY29udGVudC1jb2x1bW4gLmlubmVyLWNvbHVtbiAudXBwZXItYm94IGgyIGJyew0KCQlkaXNwbGF5Om5vbmU7DQoJfQ0KCQ0KCS50ZXN0aW1vbmlhbC1ibG9jayAudGVzdGltb25pYWwtaW5uZXIgLnRleHQsDQoJLm5ld3MtYmxvY2stdHdvIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgaDN7DQoJCWZvbnQtc2l6ZToxOHB4Ow0KCX0NCgkNCgkudGVzdGltb25pYWwtc2VjdGlvbiAub3dsLWRvdHN7DQoJCWxlZnQ6MCU7DQoJCW1hcmdpbi1sZWZ0OjE1cHg7DQoJfQ0KCQ0KCS5yZWdpc3Rlci1zZWN0aW9uIC5jb250ZW50LWNvbHVtbiAuaW5uZXItY29sdW1uIC51cHBlci1ib3h7DQoJCXBhZGRpbmctbGVmdDowcHg7DQoJfQ0KCQ0KCS5yZWdpc3Rlci1zZWN0aW9uIC5jb250ZW50LWNvbHVtbiAuaW5uZXItY29sdW1uIC51cHBlci1ib3ggLmljb24tYm94ew0KCQlwb3NpdGlvbjpyZWxhdGl2ZTsNCgkJdGV4dC1hbGlnbjpsZWZ0Ow0KCX0NCgkNCgkucmVnaXN0ZXItc2VjdGlvbiAuY29udGVudC1jb2x1bW4gLmlubmVyLWNvbHVtbiAudXBwZXItYm94IC5pY29uLWJveCAuaWNvbnsNCgkJbWFyZ2luLWxlZnQ6NTBweDsNCgl9DQoJDQoJLmhvdy13b3Jrcy1zZWN0aW9uIGgyLA0KCS5jb21wYW55LXNlY3Rpb24gLmNvbnRlbnQtY29sdW1uIC5pbm5lci1jb2x1bW4gLmRhcmstdGV4dHsNCgkJZm9udC1zaXplOjIwcHg7DQoJfQ0KCQ0KCS5jb21wYW55LXNlY3Rpb24gLmNvbnRlbnQtY29sdW1uIC5pbm5lci1jb2x1bW57DQoJCXBhZGRpbmc6MjVweCAxNXB4Ow0KCX0NCgkNCgkuYW5hbHlzaWMtc2VjdGlvbiAubG93ZXItc2VjdGlvbiAubG93ZXItaW5uZXItc2VjdGlvbnsNCgkJcGFkZGluZzoyMHB4IDIwcHg7DQoJfQ0KCQ0KCS5zZXJ2aWNlcy1zaW5nbGUgLnByb2QtdGFicyAudGFiLWJ0bnMgLnRhYi1idG57DQoJCXdpZHRoOjEwMCU7DQoJCWRpc3BsYXk6YmxvY2s7DQoJCXRleHQtYWxpZ246Y2VudGVyOw0KCQltYXJnaW4tYm90dG9tOjE1cHg7DQoJCWJvcmRlci1sZWZ0OjFweCBzb2xpZCAjZjJmMmYyOw0KCQlib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZjJmMmYyOw0KCX0NCgkNCgkubmV3cy1ibG9jay10d28gLmlubmVyLWJveCAudGV4dCBibG9ja3F1b3RlIC5ibG9ja3F1b3RlLXRleHR7DQoJCWZvbnQtc2l6ZToxNnB4Ow0KCX0NCgkNCgkuYmxvZy1zaW5nbGUgLnBvc3Qtc2hhcmUtb3B0aW9ucyAudGFnc3sNCgkJd2lkdGg6MTAwJTsNCgkJbWFyZ2luLXRvcDoxMHB4Ow0KCX0NCgkNCgkubmV3cy1ibG9jay10d28gLmlubmVyLWJveCAudGV4dCBibG9ja3F1b3RlIC5xdW90ZS1pbmZvew0KCQlwYWRkaW5nOjBweDsNCgkJcGFkZGluZy10b3A6MTVweDsNCgl9DQoJDQoJLm5ld3MtYmxvY2stdHdvIC5pbm5lci1ib3ggLnRleHQgYmxvY2txdW90ZXsNCgkJcGFkZGluZzoyNXB4IDE1cHg7DQoJfQ0KCQ0KCS5ibG9nLXNpbmdsZSAucG9zdC1zaGFyZS1vcHRpb25zew0KCQlwYWRkaW5nLWxlZnQ6MHB4Ow0KCQlwYWRkaW5nLXJpZ2h0OjBweDsNCgl9DQoJDQoJLnNob3Atc2luZ2xlIC5wcm9kdWN0LWRldGFpbHMgLnByb2QtdGFicyAudGFicy1jb250ZW50ew0KCQlwYWRkaW5nOjE1cHggMTVweDsNCgl9DQoJDQoJLnN0eWxlZC1mb3JtIC5wdWxsLXJpZ2h0ew0KCQl3aWR0aDoxMDAlOw0KCQltYXJnaW4tdG9wOjBweDsNCgl9DQoJDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDc5cHgpIHsNCgkNCgkubWFpbi1oZWFkZXIgLmhlYWRlci11cHBlciAudXBwZXItY29sdW1uLmluZm8tYm94ew0KCQltYXJnaW4tbGVmdDogYXV0bzsNCgkJbWFyZ2luLXJpZ2h0OiBhdXRvOw0KCQlmbG9hdDogbm9uZTsNCgl9DQoJDQoJLm1haW4tc2xpZGVyIGgyOmJlZm9yZSwNCgkucGFnZS10aXRsZSAudGl0bGUgYnIsDQoJLmhpc3RvcnktYmxvY2sgLmlubmVyLWJveCAuaW1hZ2UgLm92ZXJsYXktYm94IC50ZXh0LA0KCS5oaXN0b3J5LWJsb2NrLXR3byAuaW5uZXItYm94IC5pbWFnZSAub3ZlcmxheS1ib3ggLnRleHR7DQoJCWRpc3BsYXk6bm9uZTsNCgl9DQoJDQoJLm1haW4tc2xpZGVyIGgxew0KCQlmb250LXNpemU6MTlweDsNCgl9DQoJDQoJLm1haW4tc2xpZGVyIGgyew0KCQlmb250LXNpemU6MTlweDsNCgkJYm9yZGVyOm5vbmU7DQoJCXBhZGRpbmctYm90dG9tOjEwcHg7DQoJfQ0KCQ0KCS5tYWluLXNsaWRlciAudGV4dHsNCgkJZm9udC1zaXplOjEycHg7DQoJfQ0KCQ0KCS5jYXJ0LXNlY3Rpb24gLmFwcGx5LWNvdXBvbiAuZm9ybS1ncm91cCwNCgkuY2FydC1zZWN0aW9uIC5hcHBseS1jb3Vwb24gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0idGV4dCJdew0KCQl3aWR0aDoxMDAlOw0KCX0NCgkNCgkuaGVhZGVyLXRvcCAudG9wLWxlZnQgdWwgbGl7DQoJCWJvcmRlcjpub25lOw0KCX0NCgkNCgkuaGVhZGVyLXRvcCAudG9wLWxlZnQgdWwgbGl7DQoJCXBhZGRpbmc6NXB4IDBweDsNCgl9DQoJDQoJLmhlYWRlci10b3AgLnRvcC1sZWZ0ew0KCQlwYWRkaW5nOjEwcHggMHB4Ow0KCX0NCgkNCgkuYmxvZy1zZWN0aW9uIC5vd2wtbmF2ew0KCQlwb3NpdGlvbjpyZWxhdGl2ZTsNCgkJdG9wOjBweDsNCgkJbWFyZ2luLXRvcDowcHg7DQoJfQ0KCQ0KCS5oaXN0b3J5LWJsb2NrIC5pbm5lci1ib3ggLmltYWdlIC5vdmVybGF5LWJveCBoMywNCgkuaGlzdG9yeS1ibG9jay10d28gLmlubmVyLWJveCAuaW1hZ2UgLm92ZXJsYXktYm94IGgzew0KCQlmb250LXNpemU6MTZweDsNCgl9DQoJDQoJLmhpc3Rvcnktc2VjdGlvbiAub3dsLW5hdnsNCgkJcG9zaXRpb246cmVsYXRpdmU7DQoJCXRvcDowcHg7DQoJfQ0KCQ0KCS5jYXNlcy1zaW5nbGUtc2VjdGlvbiAuaW5mby1jb2x1bW4gLmluZm8taW5uZXIgdWwgbGkgc3BhbnsNCgkJd2lkdGg6OTBweDsNCgl9DQoJDQoJLmNhc2VzLXNpbmdsZS1zZWN0aW9uIC5pbmZvLWNvbHVtbiAuaW5mby1pbm5lciB1bCBsaSBzcGFuLA0KCS5jYXNlcy1zaW5nbGUtc2VjdGlvbiAuaW5mby1jb2x1bW4gLmluZm8taW5uZXIgdWwgbGl7DQoJCWZvbnQtc2l6ZToxNHB4Ow0KCX0NCgkNCgkuYW5hbHlzaWMtc2VjdGlvbiAubG93ZXItc2VjdGlvbiAubG93ZXItaW5uZXItc2VjdGlvbiAucHVsbC1yaWdodHsNCgkJd2lkdGg6MTAwJTsNCgkJZGlzcGxheTpibG9jazsNCgkJbWFyZ2luLXRvcDoxMnB4Ow0KCX0NCgkNCgkuc2VydmljZXMtc2luZ2xlIC51cHBlci1ib3ggLmNvbnRlbnQtY29sdW1uIC5jb250ZW50ew0KCQlwYWRkaW5nOjIwcHggMTVweDsNCgl9DQoJDQoJLnNpZGViYXItcGFnZS1jb250YWluZXIgLmNvbW1lbnRzLWFyZWEgLmNvbW1lbnQgLmNvbW1lbnQtaW5uZXIgLnJhdGluZ3sNCgkJcG9zaXRpb246cmVsYXRpdmU7DQoJCXJpZ2h0OmF1dG87DQoJCXRvcDowcHg7DQoJCW1hcmdpbi10b3A6MTBweDsNCgl9DQoJDQp9"}},"time_used":44,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":43,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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.74","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.880Z","timestamp":1785123231880,"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://agilitetrade.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/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: 380027\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-27T05:17:12.549661Z","times_seen":1374,"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":84,"timings":{"blocked":-1,"dns":3,"connect":14,"send":0,"wait":15,"receive":24,"ssl":27},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/css/color-themes/default-theme.css","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.579Z","timestamp":1785123231579,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /css/color-themes/default-theme.css HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: text/css\r\nlast-modified: Wed, 22 Apr 2026 17:27:29 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 1917\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":10406,"size_decoded":2226,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"c1adc1ed5af1312b1f985542cfc6086f","sha1":"ba82671fc81d4db776dfc62dc133a62e5538e840","sha256":"f5d53f1183f3280d9ab3225050109400e2bbc811778e0a1315a9611956b4fc45","sha512":"49a43232d14143cff7ec615569982fe5aed343acd5ea59ec754564c6839eceb4ef60c3bbb0b7e5670c654eeb9c043f2992878e33a69e058aa2c6a05f3926647b","ssdeep":"192:JjV/r6j6WCM3aD//oTf/N9KJETI4uVe4B9haD9cwcMeJHJugNycW:tExwQ","tlshash":"ed2265c8631a3cac1397132629d73bb0578ee364db4241e9f07ac109929d5a417f6f6f","first_seen":"2026-06-26T06:01:48.639869Z","last_seen":"2026-07-27T05:05:33.616615Z","times_seen":7,"resource_available":false,"data":"LyogVGhlbWUgQ29sb3IgKi8NCg0KYSwNCi50aGVtZV9jb2xvciwNCi5idG4tc3R5bGUtb25lOmhvdmVyLA0KLmJ0bi1zdHlsZS10d28sDQouc2VydmljZXMtYmxvY2sgLmlubmVyLWJveCBoMyBhOmhvdmVyLA0KLnNlcnZpY2VzLWJsb2NrLXR3byAuaW5uZXItYm94IC5pbWFnZSAub3ZlcmxheWJveCAuaWNvbi1ib3gsDQouaGVhZGVyLXRvcCAudG9wLWxlZnQgdWwgbGkgLmljb24sDQouaGVhZGVyLXRvcCAudG9wLWxlZnQgdWwgbGkuZW1haWwgYTpob3ZlciwNCi5oZWFkZXItdG9wIC50b3AtcmlnaHQgPiB1bCA+IGxpID4gYTpob3ZlciwNCi5oZWFkZXItdG9wIC50b3AtcmlnaHQgPiB1bCA+IGxpID4gYSA+IC5pY29uLA0KLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpOmhvdmVyID4gYSwNCi5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaS5jdXJyZW50ID4gYSwNCi5zZXJ2aWNlcy1ibG9jayAuaW5uZXItYm94IC5pY29uLWJveCwNCi5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaS5jdXJyZW50LW1lbnUtaXRlbSA+IGEsDQouc2VydmljZXMtYmxvY2stdGhyZWUgLmlubmVyLWJveCAuaWNvbi1ib3gsDQouY2FsY3VsYXRvci1ibG9jayAuaW5uZXItYm94IC5wcmljZSwNCi5uZXdzLWJsb2NrIC5pbm5lci1ib3ggLmltYWdlIC5vdmVybGF5Ym94IC5yZWFkLW1vcmUsDQoubmV3cy1ibG9jayAuaW5uZXItYm94IC5sb3dlci1jb250ZW50IGgzIGE6aG92ZXIsDQoudGVzdGltb25pYWwtYmxvY2sgLnRlc3RpbW9uaWFsLWlubmVyIC5xdW90ZS1pY29uLA0KLmluZm8tbGlzdCBsaSBzcGFuLA0KLmxpc3QtbGlua3MgbGkgYTpob3ZlciwNCi5saXN0LWxpbmtzIGxpIGE6aG92ZXI6OmJlZm9yZSwNCi5tYWluLWZvb3RlciAuc29jaWFsLWxpbmtzIGxpIGE6aG92ZXIsDQoubWFpbi1mb290ZXIgLmZvb3Rlci1uYXYtbGlua3MgbGkgYTpob3ZlciwNCi5wYWdlLWluZm8gLmJyZWFkLWNydW1iIGxpLA0KLnBhZ2UtaW5mbyAuYnJlYWQtY3J1bWIgbGk6YWZ0ZXIsDQouZmVhdHVyZWQtYmxvY2sgLmlubmVyLWJveCAuaWNvbi1ib3gsDQoucGFnZS1pbmZvIC5icmVhZC1jcnVtYiBsaSBhOmhvdmVyLA0KLmNhc2UtYmxvY2sgLmlubmVyLWJveCAubG93ZXItYm94IC5kZXNpZ25hdGlvbiwNCi5jYXNlLWJsb2NrIC5pbm5lci1ib3ggLmxvd2VyLWJveCBoMyBhOmhvdmVyLA0KLmZlYXR1cmVkLWJsb2NrIC5pbm5lci1ib3ggaDMgYTpob3ZlciwNCi5oaXN0b3J5LWJsb2NrLXR3byAuaW5uZXItYm94IC5pbWFnZSAub3ZlcmxheS1ib3ggaDMgYTpob3ZlciwNCi5oaXN0b3J5LWJsb2NrIC5pbm5lci1ib3ggLmltYWdlIC5vdmVybGF5LWJveCBoMyBhOmhvdmVyLA0KLnRlYW0tYmxvY2sgLmlubmVyLWJveCAubG93ZXItY29udGVudC1ib3ggLmRlc2lnbmF0aW9uLA0KLnRlYW0tYmxvY2sgLmlubmVyLWJveCAubG93ZXItY29udGVudC1ib3ggLmxvd2VyLWJveCAuZW1haWw6YmVmb3JlLA0KLnRlYW0tYmxvY2sgLmlubmVyLWJveCAub3ZlcmxheS1ib3ggLmlubmVyLWNvbnRlbnQgLnVwcGVyLWNvbnRlbnQgaDMgYTpob3ZlciwNCi50ZWFtLWJsb2NrIC5pbm5lci1ib3ggLm92ZXJsYXktYm94IC5pbm5lci1jb250ZW50IC51cHBlci1jb250ZW50IC5kZXNpZ25hdGlvbiwNCi50ZWFtLWJsb2NrIC5pbm5lci1ib3ggLm92ZXJsYXktYm94IC5pbm5lci1jb250ZW50IC5sb3dlci1jb250ZW50IC5lbWFpbGVkOmJlZm9yZSwNCi5oaXN0b3J5LWJsb2NrLXR3byAuaW5uZXItYm94IC5pbWFnZSAub3ZlcmxheS1ib3ggLnJlYWQtbW9yZTpob3ZlciwNCi5oaXN0b3J5LWJsb2NrIC5pbm5lci1ib3ggLmltYWdlIC5vdmVybGF5LWJveCAucmVhZC1tb3JlOmhvdmVyLA0KLmNhc2VzLXNpbmdsZS1zZWN0aW9uIC5jb250ZW50LXNlY3Rpb24gLmRlc2lnbmF0aW9uLA0KLnRlc3RpbW9uaWFsLXdpZGdldCAuaW5uZXItd2lkZ2V0IC51cHBlci1ib3ggLmlubmVyIC5sb2NhdGlvbiwNCi5yZWdpc3Rlci1zZWN0aW9uIC5jb250ZW50LWNvbHVtbiAuaW5uZXItY29sdW1uIC51cHBlci1ib3ggLmljb24tYm94LA0KLnRlc3RpbW9uaWFsLWJsb2NrIC50ZXN0aW1vbmlhbC1pbm5lciAuYXV0aG9yLWluZm8gLmF1dGhvci1pbm5lciAuZGVzaWduYXRpb24sDQouYmxvZy1zZWN0aW9uIC5vd2wtbmF2IC5vd2wtcHJldjpob3ZlciwgLmJsb2ctc2VjdGlvbiAub3dsLW5hdiAub3dsLW5leHQ6aG92ZXIsDQouc2VydmljZXMtYmxvY2stdHdvIC5pbm5lci1ib3ggLmltYWdlIC5vdmVybGF5Ym94IC5jb250ZW50IGgzIGE6aG92ZXIsDQouc2VydmljZXMtc2luZ2xlIC51cHBlci1ib3ggLmNvbnRlbnQtY29sdW1uIC50aXRsZSwNCi5zZXJ2aWNlcy1zaW5nbGUgLnByb2QtdGFicyAudGFiLWJ0bnMgLnRhYi1idG46aG92ZXIsDQouc2VydmljZXMtc2luZ2xlIC5wcm9kLXRhYnMgLnRhYi1idG5zIC50YWItYnRuLmFjdGl2ZS1idG4sDQoud29yay1ibG9jay1vbmUgLmNvbnRlbnQtY29sdW1uIC5pbm5lci1jb2x1bW4gLmljb24tYm94LA0KLndvcmstYmxvY2stdHdvIC5jb250ZW50LWNvbHVtbiAuaW5uZXItY29sdW1uIC5pY29uLWJveCwNCi5uZXdzLWJsb2NrLXR3byAuaW5uZXItYm94IC5pbWFnZSAub3ZlcmxheWJveCAucmVhZC1tb3JlLA0KLm5ld3MtYmxvY2stdHdvIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgaDMgYTpob3ZlciwNCi5zaWRlYmFyIC5wb3B1bGFyLXBvc3RzIC5wb3N0LWluZm86YmVmb3JlLA0KLmNvbW1lbnQtYmxvY2sgLmlubmVyIC5jb250ZW50IC5yZXBseS1idG46aG92ZXIsDQouYmxvZy1jYXQgbGkgYTpob3ZlciwNCi5ibG9nLXNpbmdsZSAucG9zdC1zaGFyZS1vcHRpb25zIC50YWdzIGEsDQouc29jaWFsLWljb24tdHdvIGxpIGE6aG92ZXIsDQouc2lkZWJhciAucmVsYXRlZC1wb3N0cyAucG9zdCAucmF0aW5nIC5mYSwNCi5zaG9wLWl0ZW0gLmlubmVyLWJveCAubG93ZXItY29udGVudCAubG93ZXItYm94IC5yYXRpbmcsDQoucHJvZHVjdC1kZXRhaWxzIC5iYXNpYy1kZXRhaWxzIC5kZXRhaWxzLWhlYWRlciAucmF0aW5nLA0KLnByb2R1Y3QtZGV0YWlscyAuYmFzaWMtZGV0YWlscyAuZXhwaXJlZCwNCi5zaG9wLWl0ZW0gLmlubmVyLWJveCAubG93ZXItY29udGVudCAubG93ZXItYm94IC5hZGQtY2FydDpob3ZlciwNCi5zaG9wLWl0ZW0gLmlubmVyLWJveCAubG93ZXItY29udGVudCAudXBwZXItYm94IGgzIGE6aG92ZXIsDQouc2lkZWJhciAucmVsYXRlZC1wb3N0cyAucG9zdCBhLCAuc2lkZWJhciAucmVsYXRlZC1wb3N0cyAucG9zdCBhOmhvdmVyLA0KLmNvbW1lbnQtZm9ybSAucmF0aW5nLWJveCAucmF0aW5nIGE6aG92ZXIsDQouY2FydC10YWJsZSB0Ym9keSB0ciAuc3ViLXRvdGFsLA0KLmNhcnQtdGFibGUgdGJvZHkgdHIgLnJlbW92ZS1idG46aG92ZXIsDQouY2hlY2tvdXQtcGFnZSAuZGVmYXVsdC1saW5rcyBsaSBhLA0KLmNoZWNrb3V0LXBhZ2UgLmNoZWNrLWJveCBsYWJlbCwNCi5pbmZvLWxpc3QtdHdvIGxpIC5pY29uLA0KLnNvY2lhbC1pY29uLXRocmVlIGxpIGE6aG92ZXIsDQoucHJpY2UtdGFibGUgLnRhYmxlLW91dGVyIC5idGMtdGFibGUgLmJ0Yy1oZWFkZXIsDQouY2hlY2tvdXQtcGFnZSAucGF5bWVudC1vcHRpb25zIGxpIC5yYWRpby1vcHRpb24gbGFiZWwgc3Ryb25nIGEsDQouc2hvcC1jb21tZW50LWZvcm0gLnJhdGluZy1ib3ggLnJhdGluZyBhOmhvdmVyLA0KLnNpZGViYXItcGFnZS1jb250YWluZXIgLmNvbW1lbnRzLWFyZWEgLmNvbW1lbnQgLmNvbW1lbnQtaW5uZXIgLnJhdGluZyAuZmEsDQoubmV3cy1ibG9jay10d28gLmlubmVyLWJveCAudGV4dCBibG9ja3F1b3RlIC5xdW90ZS1pbmZvIC5xdW90ZS1kZXNpbmF0aW9uLA0KLnNpZGViYXIgLnBvcHVsYXItcG9zdHMgLnBvc3QgYSwgLnNpZGViYXIgLnBvcHVsYXItcG9zdHMgLnBvc3QgYTpob3ZlciwNCi5zaG9wLXNpbmdsZSAucHJvZHVjdC1kZXRhaWxzIC5wcm9kLXRhYnMgLnRhYi1idG5zIC50YWItYnRuOmhvdmVyLA0KLnNob3Atc2luZ2xlIC5wcm9kdWN0LWRldGFpbHMgLnByb2QtdGFicyAudGFiLWJ0bnMgLnRhYi1idG4uYWN0aXZlLWJ0biwNCi5zZXJ2aWNlcy1ibG9jay10d28gLmlubmVyLWJveDpob3ZlciAuaW1hZ2UgLm92ZXJsYXlib3ggLmNvbnRlbnQgaDMgYSwNCi5jb25zdWx0aW5nLWZvcm0gLmlubmVyLWJveCAuYnRucy1ib3ggLnNpZ25pbi1idG4sDQouY29uc3VsdGluZy1mb3JtIC5pbm5lci1ib3ggLmJ0bnMtYm94IC5vciwNCi5mZWF0dXJlZC1ibG9jayAuaW5uZXItYm94IGgzIGE6aG92ZXIsDQouZmVhdHVyZWQtYmxvY2sgLmlubmVyLWJveDpob3ZlciBoMyBhew0KCWNvbG9yOiMxQzNGQUE7DQp9DQoNCi8qQmFja2dyb3VuZCBDb2xvciovDQouYnRuLXN0eWxlLW9uZSwNCi5idG4tc3R5bGUtdHdvOmhvdmVyLA0KLmhlYWRlci10b3AgLnRvcC1pbm5lcjpiZWZvcmUsDQoubWFpbi1oZWFkZXIgLm91dGVyLWJveCAucmVzZXJ2YXRpb24tZm9ybS1idG4sDQouaGVhZGVyLXRvcCAubGFuZ3VhZ2UgLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGE6aG92ZXIsDQoubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiBhOmJlZm9yZSwNCi5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaSA+IGE6YWZ0ZXIsDQoubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiB1bCA+IGxpOmhvdmVyID4gYSwNCi5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaSA+IHVsID4gbGkgID4gdWwgPiBsaSA+IGE6aG92ZXIsDQoubWFpbi1zbGlkZXIgLnRwYXJyb3dzLmd5Z2VzOmhvdmVyLA0KLnNjcm9sbC10by10b3AsDQouc2VjLXRpdGxlIC5zZXBhcmF0b3IsDQouY2xpZW50cy1zZWN0aW9uLA0KLnNpZGViYXIgLnBvcHVsYXItdGFncyBhOmhvdmVyLA0KLm1haW4tZm9vdGVyIC5mb290ZXItdGl0bGUgLnNlcGFyYXRvciwNCi5tYWluLWZvb3RlciAuZm9vdGVyLXRpdGxlIC5zZXBhcmF0b3I6YmVmb3JlLA0KLnNlYy10aXRsZSAuc2VwYXJhdG9yOmJlZm9yZSwNCi5zZXJ2aWNlcy1ibG9jay10aHJlZSAuaW5uZXItYm94IC5udW1iZXIsDQouc29jaWFsLWljb24tb25lIGxpIGE6aG92ZXIsDQouY2FzZS1ibG9jayAuaW5uZXItYm94IC5pbWFnZSAub3ZlcmxheS1ib3ggLmxpbmstYm94LA0KLmNvbXBhbnktc2VjdGlvbiAuaW1hZ2UtY29sdW1uIC5sb3dlci1jb250ZW50IGgyOmFmdGVyLA0KLnVpLXN0YXRlLWFjdGl2ZSwgLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1hY3RpdmUsDQoubmV3cy1ibG9jayAuaW5uZXItYm94IC5pbWFnZSAub3ZlcmxheWJveCAucmVhZC1tb3JlOmFmdGVyLA0KLmxpc3Qtc3R5bGUtb25lIGxpOmJlZm9yZSwNCi5oZWxwLXdpZGdldCAuaW5uZXItYm94LA0KLmNhbGwtdG8tYWN0aW9uLXNlY3Rpb24sDQouYmxvZy1jYXQtdHdvIGxpIGE6aG92ZXIsDQoubGlzdC1zdHlsZS10d28gbGk6YmVmb3JlLA0KLmJsb2ctY2F0IGxpIGE6aG92ZXI6OmJlZm9yZSwNCi5ibG9nLWNhdCBsaSBhOmhvdmVyOjphZnRlciwNCi5yYW5nZS1zbGlkZXItb25lIC50aGVtZS1idG4sDQouc2hvcC1pdGVtIC5pbm5lci1ib3ggLmltYWdlIC5pY29uLA0KLnNob3AtY29tbWVudC1mb3JtIC50aXRsZS1ib3hlZCAuc2VwYXJhdG9yLA0KLmNhcnQtdGFibGUgdGJvZHkgLmF2YWlsYWJsZS1pbmZvIC5pY29uLA0KLmNhcnQtc2VjdGlvbiAuY291cG9uLW91dGVyIC5jYXJ0LWJ0bjpob3ZlciwNCi5zaG9wLWNvbW1lbnQtZm9ybSAudGl0bGUtYm94ZWQgLnNlcGFyYXRvcjpiZWZvcmUsDQoubmV3cy1ibG9jay10d28gLmlubmVyLWJveCAuaW1hZ2UgLm92ZXJsYXlib3ggLnJlYWQtbW9yZTphZnRlciwNCi5uZXdzLWJsb2NrIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgLnVwcGVyLWJveCAuY29tbWVudHMsDQouc3R5bGVkLXBhZ2luYXRpb24gbGkgYTpob3ZlciwgLnN0eWxlZC1wYWdpbmF0aW9uIGxpIGEuYWN0aXZlLA0KLmNhbGN1bGF0b3ItYmxvY2sgLmlubmVyLWJveDpob3ZlciAuYnRjLCAuY2FsY3VsYXRvci1ibG9jayAuaW5uZXItYm94OmhvdmVyIC5idXktYnRuLA0KLm1haW4taGVhZGVyIC5zdGlja3ktaGVhZGVyIC5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaTpob3ZlciA+IGEsDQoubWFpbi1oZWFkZXIgLnN0aWNreS1oZWFkZXIgLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpLmN1cnJlbnQgPiBhLA0KLm1haW4taGVhZGVyIC5zdGlja3ktaGVhZGVyIC5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaS5jdXJyZW50LW1lbnUtaXRlbSA+IGEsDQoudGVzdGltb25pYWwtd2lkZ2V0IC5vd2wtZG90cyAub3dsLWRvdDpob3ZlciwgLnRlc3RpbW9uaWFsLXdpZGdldCAub3dsLWRvdHMgLm93bC1kb3QuYWN0aXZlLA0KLnJhbmdlLXNsaWRlci1vbmUgLnVpLXN0YXRlLWRlZmF1bHQsIC5yYW5nZS1zbGlkZXItb25lIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGVmYXVsdCwNCi5jb25zdWx0aW5nLWZvcm0gLmlubmVyLWJveCAudGl0bGUgLnNlcGFyYXRvciwNCi5jb25zdWx0aW5nLWZvcm0gLmlubmVyLWJveCAudGl0bGUgLnNlcGFyYXRvcjpiZWZvcmUsDQouY29uc3VsdGluZy1mb3JtIC5pbm5lci1ib3ggLmJ0bnMtYm94IC5zaWdudXAtYnRuLA0KLmJsb2ctY2F0LXR3byBsaSBhOmhvdmVyLA0KLmJsb2ctY2F0LXR3byBsaS5hY3RpdmUgYXsNCgliYWNrZ3JvdW5kLWNvbG9yOiMxQzNGQUE7DQp9DQoNCi5jdXJyZW5jeS1jaGFydCwNCi5jdXJyZW5jeS1jaGFydCAjbWFycXVlZS1jb250YWluZXIsDQouYnRjd2RndC1oZWFkbGluZXMgLmJ0Y3dkZ3QtaGVhZGVyLA0KLmN1cnJlbmN5LWdyYXBoIC5jb2x1bW4gLmJ0Y3dkZ3QtY2hhcnQgLmJ0Y3dkZ3QtaGVhZGVyLA0KLmN1cnJlbmN5LWdyYXBoIC5jb2x1bW4gLmJ0Y3dkZ3QtY2hhcnQgLmJ0Y3dkZ3QtaGVhZGVyIGgyew0KCWJhY2tncm91bmQtY29sb3I6IzFDM0ZBQSAhaW1wb3J0YW50Ow0KfQ0KDQovKkJvcmRlciBDb2xvciovDQoNCi5idG4tc3R5bGUtb25lLA0KLnNjcm9sbC10by10b3AsDQouYnRuLXN0eWxlLXR3bzpob3ZlciwNCi5zaWRlYmFyIC5wb3B1bGFyLXRhZ3MgYTpob3ZlciwNCi5zZXJ2aWNlcy1zZWN0aW9uLXR3byAub3dsLWRvdHMgLm93bC1kb3QuYWN0aXZlLA0KLmhlYWRlci10b3AgLmxhbmd1YWdlIC5kcm9wZG93bi1tZW51LA0KLnNvY2lhbC1pY29uLW9uZSBsaSBhOmhvdmVyLA0KLnJhbmdlLXNsaWRlci1vbmUgLnRoZW1lLWJ0biwNCi5oaXN0b3J5LWJsb2NrIC5pbm5lci1ib3ggLnllYXIgLmRvdHQ6YmVmb3JlLA0KLmhpc3RvcnktYmxvY2stdHdvIC5pbm5lci1ib3ggLnllYXIgLmRvdHQ6YmVmb3JlLA0KLmJsb2ctc2VjdGlvbiAub3dsLW5hdiAub3dsLXByZXY6aG92ZXIsIC5ibG9nLXNlY3Rpb24gLm93bC1uYXYgLm93bC1uZXh0OmhvdmVyLA0KLnVpLXN0YXRlLWFjdGl2ZSwgLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1hY3RpdmUsDQoudGVzdGltb25pYWwtc2VjdGlvbiAub3dsLWRvdHMgLm93bC1kb3QuYWN0aXZlLA0KLnRlc3RpbW9uaWFsLXNlY3Rpb24gLm93bC1kb3RzIC5vd2wtZG90OmhvdmVyLA0KLnN0eWxlZC1wYWdpbmF0aW9uIGxpIGE6aG92ZXIsIC5zdHlsZWQtcGFnaW5hdGlvbiBsaSBhLmFjdGl2ZSwNCi50ZXN0aW1vbmlhbC13aWRnZXQgLm93bC1kb3RzIC5vd2wtZG90OmhvdmVyLA0KLnRlc3RpbW9uaWFsLXdpZGdldCAub3dsLWRvdHMgLm93bC1kb3QuYWN0aXZlLA0KLmNvbW1lbnQtZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJ0ZXh0Il06Zm9jdXMsDQouY29tbWVudC1mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9InBhc3N3b3JkIl06Zm9jdXMsDQouY29tbWVudC1mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9InRlbCJdOmZvY3VzLA0KLmNvbW1lbnQtZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJlbWFpbCJdOmZvY3VzLA0KLmNvbW1lbnQtZm9ybSAuZm9ybS1ncm91cCBzZWxlY3Q6Zm9jdXMsDQouY29tbWVudC1mb3JtIC5mb3JtLWdyb3VwIHRleHRhcmVhOmZvY3VzLA0KLnJhbmdlLXNsaWRlci1vbmUgLnVpLXN0YXRlLWRlZmF1bHQsDQouY2FydC10YWJsZSB0Ym9keSB0ciAucmVtb3ZlLWJ0bjpob3ZlciwNCi5yYW5nZS1zbGlkZXItb25lIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGVmYXVsdCwNCi5zaG9wLWNvbW1lbnQtZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJ0ZXh0Il06Zm9jdXMsDQouc2hvcC1jb21tZW50LWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0icGFzc3dvcmQiXTpmb2N1cywNCi5zaG9wLWNvbW1lbnQtZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJ0ZWwiXTpmb2N1cywNCi5zaG9wLWNvbW1lbnQtZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJlbWFpbCJdOmZvY3VzLA0KLnNob3AtY29tbWVudC1mb3JtIC5mb3JtLWdyb3VwIHNlbGVjdDpmb2N1cywNCi5zaG9wLWNvbW1lbnQtZm9ybSAuZm9ybS1ncm91cCB0ZXh0YXJlYTpmb2N1cywNCi5zaGlwcGluZy1mb3JtIC5mb3JtLWdyb3VwIGlucHV0OmZvY3VzLA0KLnNoaXBwaW5nLWZvcm0gLmZvcm0tZ3JvdXAgdGV4dGFyZWE6Zm9jdXMsDQouY2hlY2tvdXQtcGFnZSAuZGVmYXVsdC1saW5rcyBsaSwNCi5jaGVja291dC1mb3JtIGlucHV0OmZvY3VzLA0KLmNoZWNrb3V0LWZvcm0gc2VsZWN0OmZvY3VzLA0KLmNoZWNrb3V0LWZvcm0gdGV4dGFyZWE6Zm9jdXMsDQoubWFpbi1oZWFkZXIgLnNlYXJjaC1ib3gtb3V0ZXIgLmRyb3Bkb3duLW1lbnUsDQoubWFpbi1oZWFkZXIgLnNlYXJjaC1wYW5lbCBpbnB1dDpmb2N1cywNCi5tYWluLWhlYWRlciAuc2VhcmNoLXBhbmVsIHNlbGVjdDpmb2N1cywNCi5mZWF0dXJlZC1ibG9jayAuaW5uZXItYm94OmhvdmVyew0KCWJvcmRlci1jb2xvcjojMUMzRkFBOw0KfQ0KDQouaGVhZGVyLXRvcCAudG9wLWlubmVyOmFmdGVyew0KCWJvcmRlci1ib3R0b20tY29sb3I6IzFDM0ZBQTsNCn0NCg0KLm5ld3MtYmxvY2sgLmlubmVyLWJveCAubG93ZXItY29udGVudCAudXBwZXItYm94IC5jb21tZW50czphZnRlcnsNCglib3JkZXItdG9wLWNvbG9yOiMxQzNGQUE7DQp9DQoNCi5zaWRlYmFyLWJyb2NodXJlIC5icm9jaHVyZSwNCi50ZXN0aW1vbmlhbC13aWRnZXQgLmlubmVyLXdpZGdldCwNCi5ibG9nLWNhdC10d28sDQouYmxvZy1jYXR7DQoJYm9yZGVyLWxlZnQtY29sb3I6IzFDM0ZBQTsNCn0NCg0KLypMaWdodCBCb3JkZXIgQ29sb3IqLw0KDQouc2VydmljZXMtc2VjdGlvbi10d28gLm93bC1kb3RzIC5vd2wtZG90LmFjdGl2ZTpiZWZvcmV7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMjU0LDE5MCw0MCwwLjUwKTsNCn0NCg0KLypSR0JBIENvbG9yIExpZ2h0Ki8NCg0KLypSR0JBIENvbG9yIERhcmsqLw0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KXsNCgkNCgkubWFpbi1tZW51IC5uYXZiYXItaGVhZGVyIC5uYXZiYXItdG9nZ2xlew0KCQlib3JkZXItY29sb3I6I2ZmZmZmZjsNCgl9DQoJDQoJLm1haW4tbWVudSAubmF2YmFyLWhlYWRlciAubmF2YmFyLXRvZ2dsZSwNCgkubWFpbi1tZW51IC5uYXZiYXItY29sbGFwc2UgPiAubmF2aWdhdGlvbiwNCgkubWFpbi1tZW51IC5uYXZiYXItY29sbGFwc2UgPiAubmF2aWdhdGlvbiA+IGxpID4gdWwsDQoJLm1haW4tbWVudSAubmF2YmFyLWNvbGxhcHNlID4gLm5hdmlnYXRpb24gPiBsaSA+IHVsID4gbGkgPiB1bCwNCgkubWFpbi1tZW51IC5uYXZiYXItY29sbGFwc2UgPiAubmF2aWdhdGlvbiA+IGxpID4gYSwNCgkubWFpbi1tZW51IC5uYXZiYXItY29sbGFwc2UgPiAubmF2aWdhdGlvbiA+IGxpID4gdWwgPiBsaSA+IGEsDQoJLm1haW4tbWVudSAubmF2YmFyLWNvbGxhcHNlID4gLm5hdmlnYXRpb24gPiBsaSA+IHVsID4gbGkgPiB1bCA+IGxpID4gYSwNCgkubWFpbi1tZW51IC5uYXZiYXItY29sbGFwc2UgPiAubmF2aWdhdGlvbiA+IGxpID4gYTpob3ZlciwNCgkubWFpbi1tZW51IC5uYXZiYXItY29sbGFwc2UgPiAubmF2aWdhdGlvbiA+IGxpID4gYTphY3RpdmUsDQoJLm1haW4tbWVudSAubmF2YmFyLWNvbGxhcHNlID4gLm5hdmlnYXRpb24gPiBsaSA+IGE6Zm9jdXMsDQoJLm1haW4tbWVudSAubmF2YmFyLWNvbGxhcHNlID4gLm5hdmlnYXRpb24gPiBsaTpob3ZlciA+IGEsDQoJLm1haW4tbWVudSAubmF2YmFyLWNvbGxhcHNlID4gLm5hdmlnYXRpb24gPiBsaSA+IHVsID4gbGk6aG92ZXIgPiBhLA0KCS5tYWluLW1lbnUgLm5hdmJhci1jb2xsYXBzZSA+IC5uYXZpZ2F0aW9uID4gbGkgPiB1bCA+IGxpID4gdWwgPiBsaTpob3ZlciA+IGEsDQoJLm1haW4tbWVudSAubmF2YmFyLWNvbGxhcHNlID4gLm5hdmlnYXRpb24gPiBsaS5jdXJyZW50ID4gYSwNCgkubWFpbi1tZW51IC5uYXZiYXItY29sbGFwc2UgPiAubmF2aWdhdGlvbiA+IGxpLmN1cnJlbnQtbWVudS1pdGVtID4gYSwNCgkuaGVhZGVyLXN0eWxlLXR3by5pbm5lci1oZWFkZXIgLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpID4gYXsNCgkJYmFja2dyb3VuZC1jb2xvcjojMUMzRkFBOw0KCX0NCgkNCn0="}},"time_used":29,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":28,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/images/clients/1.png","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.651Z","timestamp":1785123231651,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /images/clients/1.png HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: image/png\r\nlast-modified: Wed, 22 Apr 2026 21:44:12 GMT\r\naccept-ranges: bytes\r\ncontent-length: 9139\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":9139,"size_decoded":9404,"mime_type":"image/png","magic":"JPEG image data, JFIF standard 1.01, resolution (DPI), density 72x72, segment length 16, Exif Standard: [TIFF image data, big-endian, direntries=1, orientation=upper-left], baseline, precision 8, 300x168, components 3","md5":"d0473a19e090387bdae0cd713d9ecf97","sha1":"c49d148df187dbfa31550f28d0ea3b0e39565d28","sha256":"3bb50f524b9f726051b05a3b504b793bb439b601089e51b999f9832285d5b133","sha512":"409574db542a3606da0ac534abd34cac7b4a0172d2a2ed24a9863c677370c4028b7400142e4643436f4f3189ab808fb6e1517cb0cf07518199d41a71eb301929","ssdeep":"192:08w2fbi2AoqaOTre7U4+WnlnJNmEMcQqsBES/5sbkKKskPKrw7:04qaOT4U4+klJNhQBn5sbL5kPem","tlshash":"59125b62104a1fc256de08e26e27e4c80f455b3dd6d32ecf08679b8b386877715ac63e","first_seen":"2026-06-26T06:01:48.629712Z","last_seen":"2026-07-27T05:05:33.718275Z","times_seen":7,"resource_available":false,"data":"/9j/4AAQSkZJRgABAQEASABIAAD/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAEAAAAAAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCACoASwDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+f+iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK9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"}},"time_used":57,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":42,"receive":15,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/npm/sweetalert2%408.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:52.220Z","timestamp":1785123232220,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /npm/sweetalert2%408.js HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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 404 \r\ncache-control: private, no-cache, no-store, must-revalidate, max-age=0\r\npragma: no-cache\r\ncontent-type: text/html\r\ncontent-length: 1238\r\ndate: Mon, 27 Jul 2026 03:33:52 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":1238,"size_decoded":1446,"mime_type":"text/html","magic":"HTML document, ASCII text, with CRLF, LF line terminators","md5":"0bde7d4b3da67537eaf9188e6f8049cf","sha1":"64300fc482d01d38b40ab20e15960b6509665e5a","sha256":"5dc1ae0b875dc0d78dbc5532226f5f31b762b4d1229984f605d27bf895ab6807","sha512":"2d4d27ab5b3dd2a701a944e9b5372b40ee4f8b3267f133be7ad0d4b42528302aaa002b6132722e2ad1fe629fc3e8baf1011c8dad326062e9c0946d6f1b6eafb4","ssdeep":"","tlshash":"8d21423ec1c1150a80271154fb81e2942619825192470fa1379e7167f6cc0f756937c8","first_seen":"2023-03-07T01:03:24Z","last_seen":"2026-07-27T05:16:58.324996Z","times_seen":41313,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIHN0eWxlPSJoZWlnaHQ6MTAwJSI+CjxoZWFkPgo8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHNocmluay10by1maXQ9bm8iIC8+Cjx0aXRsZT4gNDA0IE5vdCBGb3VuZA0KPC90aXRsZT48L2hlYWQ+Cjxib2R5IHN0eWxlPSJjb2xvcjogIzQ0NDsgbWFyZ2luOjA7Zm9udDogbm9ybWFsIDE0cHgvMjBweCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyBoZWlnaHQ6MTAwJTsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsiPgo8ZGl2IHN0eWxlPSJoZWlnaHQ6YXV0bzsgbWluLWhlaWdodDoxMDAlOyAiPiAgICAgPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyB3aWR0aDo4MDBweDsgbWFyZ2luLWxlZnQ6IC00MDBweDsgcG9zaXRpb246YWJzb2x1dGU7IHRvcDogMzAlOyBsZWZ0OjUwJTsiPgogICAgICAgIDxoMSBzdHlsZT0ibWFyZ2luOjA7IGZvbnQtc2l6ZToxNTBweDsgbGluZS1oZWlnaHQ6MTUwcHg7IGZvbnQtd2VpZ2h0OmJvbGQ7Ij40MDQ8L2gxPgo8aDIgc3R5bGU9Im1hcmdpbi10b3A6MjBweDtmb250LXNpemU6IDMwcHg7Ij5Ob3QgRm91bmQNCjwvaDI+CjxwPlRoZSByZXNvdXJjZSByZXF1ZXN0ZWQgY291bGQgbm90IGJlIGZvdW5kIG9uIHRoaXMgc2VydmVyITwvcD4KPC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0iY29sb3I6I2YwZjBmMDsgZm9udC1zaXplOjEycHg7bWFyZ2luOmF1dG87cGFkZGluZzowcHggMzBweCAwcHggMzBweDtwb3NpdGlvbjpyZWxhdGl2ZTtjbGVhcjpib3RoO2hlaWdodDoxMDBweDttYXJnaW4tdG9wOi0xMDFweDtiYWNrZ3JvdW5kLWNvbG9yOiM0NzQ3NDc7Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xNSk7Ym94LXNoYWRvdzogMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMykgaW5zZXQ7Ij4KPGJyPlByb3VkbHkgcG93ZXJlZCBieSAgPGEgc3R5bGU9ImNvbG9yOiNmZmY7IiBocmVmPSJodHRwOi8vd3d3LmxpdGVzcGVlZHRlY2guY29tL2Vycm9yLXBhZ2UiPkxpdGVTcGVlZCBXZWIgU2VydmVyPC9hPjxwPlBsZWFzZSBiZSBhZHZpc2VkIHRoYXQgTGl0ZVNwZWVkIFRlY2hub2xvZ2llcyBJbmMuIGlzIG5vdCBhIHdlYiBob3N0aW5nIGNvbXBhbnkgYW5kLCBhcyBzdWNoLCBoYXMgbm8gY29udHJvbCBvdmVyIGNvbnRlbnQgZm91bmQgb24gdGhpcyBzaXRlLjwvcD48L2Rpdj48L2JvZHk+PC9odG1sPgo="}},"time_used":25,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":25,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/roboto/v51/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmUiAo.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://agilitetrade.com/","date":"2026-07-27T03:33:52.357Z","timestamp":1785123232357,"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/v51/KFOMCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWubEbVmUiAo.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://agilitetrade.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://fonts.googleapis.com/\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=5\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\naccept-ranges: bytes\r\naccess-control-allow-origin: *\r\ncontent-security-policy-report-only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes\r\ncross-origin-resource-policy: cross-origin\r\ncross-origin-opener-policy: same-origin; report-to=\"apps-themes\"\r\nreport-to: {\"group\":\"apps-themes\",\"max_age\":2592000,\"endpoints\":[{\"url\":\"https://csp.withgoogle.com/csp/report-to/apps-themes\"}]}\r\ntiming-allow-origin: *\r\ncontent-length: 21884\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Sun, 26 Jul 2026 10:06:48 GMT\r\nexpires: Mon, 26 Jul 2027 10:06:48 GMT\r\ncache-control: public, max-age=31536000\r\nage: 62824\r\nlast-modified: Wed, 18 Feb 2026 19:51:41 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":21884,"size_decoded":22696,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 21884, version 1.0","md5":"4279528ce0e7dc28919e6f8ce5f0eaa5","sha1":"a0bec563643727d81bf21d0acec08227d9269da4","sha256":"425c0713a8176f92273d378599c7eac57de7fafabd4bd0ed457b70eb8f80d371","sha512":"2b6a62ea544e93669893bac8bb8a5233d55cda9c3b293add6f312808cdf5127822446a516b66656cdae7409c5938ad1ff4fe0a1ba48e52134e141d6a78100507","ssdeep":"384:74kazv9DMAYqVNsLRxmVN7UX3oC4JjImMex3viFG5Bt7/br6CfY/lC7:7fazv9DM2Q+I3oC4JjPb30G5rtfY/87","tlshash":"0aa2e187b3eaa46d5787b931fa0a1900b8fe73f65d27da6484e087c9a1456c48c3dd3c","first_seen":"2026-02-19T22:29:10.595811Z","last_seen":"2026-07-27T05:16:33.271542Z","times_seen":25614,"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":"agilitetrade.com/images/favicon.png","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:52.897Z","timestamp":1785123232897,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /images/favicon.png HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:52 GMT\r\ncontent-type: image/png\r\nlast-modified: Wed, 22 Apr 2026 21:44:12 GMT\r\naccept-ranges: bytes\r\ncontent-length: 2731\r\ndate: Mon, 27 Jul 2026 03:33:52 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":2731,"size_decoded":2996,"mime_type":"image/png","magic":"PNG image data, 100 x 100, 8-bit/color RGBA, non-interlaced","md5":"e25654acf29bf51e1853f2c6204ea5e6","sha1":"d35b78cad0affd641bb778bc98d6339d538d6114","sha256":"6266ec3152e10516daaad03646f0ea478613421da86f6b9ebcd6dadbe8246044","sha512":"ff2f5e0a541465a7587a9a13607c7bc3078747735c17161bde5a4f3109bac4f4757bd992d7022dc9ebd1670825b5c3a7a4f31cfff23e91bea0b7439009feb404","ssdeep":"","tlshash":"45512a5d48ea4a7c5b051eba0ab3456729e33a355befed32fc0387241c06a1fc400861","first_seen":"2026-07-27T03:07:13.312847Z","last_seen":"2026-07-27T03:34:40.903061Z","times_seen":2,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAApVSURBVHic7Z17bBTHHce/c3u+O585++DO2FAbMLjGdm0g4aG0EPKo2kLsllQJJEAqGil1oID6Uo3Sh+pWbRSbVGkrNSIVEq1CVTCQKK1KValRpDZRMKaq2rQhaaEOtQG79vl1Pt/5bnenf4DhsHdvXzNzlrqfv3y7s7/vnL+3M7u/nZkFXFxcXFxcXFxcXFxcXP6vIfmuwEw27TxKRerFyssSF1/49DyRmrnw5LsC2dTufXWZaM2h8rIi0Zq5mFOGFCfH/yZSjwIAIYi2X9grUjcXc8oQXzoTEqnXU18LAPAQ/Fikbi7mjCGrv3Byh2jNjN8PAKCgPtHaeswZQwqTieMi9VKBwB2fSzu6fyFSX485Y4hXUQtE6l2prZm56XMi9fWYE4bc/fSJHwkXJbOu+Eno2a6I8HrMYE4YEognDorUi5WVaW73S+R1kfXQIv+GtLxU4KFUaD2GFpdrbieErBZZDy3ybshaNdSV7zpks6D93D351M+7IYFEco1IvSs11Tn3e4j0G0FV0dbPp3hDy4kVBFRoPi1VlDtTQoCooKpokldDCjMZoc3VlM/c/V+kvesA56rokldD/KkpoZeZV26mSowgxPNDzlXRJW+GNO47tV2kHgVAZ997aEIAH7Z3SnxrpE3eDCmKJ4SmKmJlCy2Vj26oOsapKjnJmyFeRS4UqRdbvMjaARRP8KlJbvJiyF0tp4SmuzMF1tNkBCChZ8SnUvJiSHAivl+k3rWqpbaO88+X/si4KoaIN2R7p0SoKrTDNLr30IOA1jOuiiHCDbkrTP8iUi8RcvYQsvS5C5sYVcUUwg0pmog3itS7WrXM0fHUQ4WmUoQa0tByYoVIPQqASs6+IgHCbGpjDqGGFKbTb4vU619SwSROpOOCsOc1Qg3xT6VLReqNR9hctRKoLzAJZAJhhqzae/IRUVoAkPGxe0RPQCS0tQn5XwkzJJhICk2V9FWz7a5Kg80nmAbUQZghXlkWOmQzfXPMFTMIHmUbUBshhqx6+nSHCJ1pxsMl7INSShb+4B3t0REMEWJIKD72VRE60/QvXcIlLvWm3uQSOAvuhlQfPOsnlApNlVAPp69FkPuBPAO4GxJKxX/PWyObvqplXONH2889wDM+d0OCE/H7eGtkkygp5hqfEOkVnvG5GrLyQGeVyCElisejNUSUNVxTKVwNKUmk3+AZfyaXGz4iRCf6fPdXeMXmaogvlbL3ZMgmThOJplHRzis0t2/QuP/0Q7xiazHBue/IhgAFaOMzHpmbIUVj8V/xiq3FleVVQh8kLQz++TSPuNwM8SqKuJ8sgJHW9W+J1KOgn+URl4shjfs6v8sjrh5pSWoFAAqMiNArWFiCYH0lFh/rMTcU0gJe1gEBoHg0/g0ecfU4f/zJwwAAGloKEh/npeMp9CFQdTud5Q37ugEwnTnM/AxZ9vljAQLKxWgtKMWtlR+GDtXGuYh4CIJ1FXeYAQCkQGK+AgRzQyK+AJfOTg9VCtwx60kF/QPL+IEVZQjWVujecJYf+QfTtDxzQwLxSaGXu2//8ol3sj/HWjd8gkXcgrIwgvWV8Pj1pzCkB0ahjE8eYaE3DdOmZeWBzioSGxeWLaEUY6xjeoJ+BJYZD8ymigo5FgcApsNNmZ4hxRNTv2MZz4i3TjylmVeioF+3HEy62U+YMAOUIvn+1VsfIx3drZb1dGBqiH9qaiXLeHYZat3wvJXyhdWLEFyp30/MZPJi3x2fPcD3rOjlgpkhdQfPNLGKZQbZW3DWoIhqFMO3eAGC9ZUgPvMtd/Jf17U2+3HwLJOH+MwMCY+MC12r5NzLe3L+ABTq2ai3TwoFEKyvhDdsbdxFemAUNCNr7otWlr5sKZgOzAyRFEXokEsjhg+tPTdro9eDwtoK+Cutj9dT0/J0J64NBZNxZ0wMWfXFM99hEccsKX+B2U50aPqPwppFCNZ8CMRj/SKQqhSpS5pN1S0IgWf+cxccj65gYkhodPRbLOKY5cLP9xw2U06ZVFb4KiI3+gmv/Sv85Ht9xoUASEQ16tcMcWzIzVEleUmVGDHcds+4tzjoSC956ZrpsoQQx48sHRsybyre6TSGFSbCxZbWIlEV9U92tTIDI6BpxdIxkfbzH7erB7AwJB7/jNMYVvjrkR3nrZTv3bZ4sx0dmpaRiU1YPo4Q4ujBnCNDqg8eZzMBwySUkP8K0aEUSYNOXA8COJpy4ciQ8ASEpkpGwiFbQ9pVWX7WSvnkRXOduB7Rw122h846MiSQSjU4Od4q7764w3obAqD34Ypvmi2rcyduDSpZ+gFkY9uQxv1nbLXNdpElydklJaWGV2fpayO6d+JWIKB+tPUEjEvOxrYhReNxrkMqZ3Lu+JOOcmXpdPL+XPvVdAbyqK0TUJNI4ZCtVIpdQ4hXloUsOxGvW4HeXc7zltcfWa67KgOlFKlL/Y41siHEXirFliGr953hvsBXpiSE3l1NGL27DtKUzCQ1QxU1qbXdaSeuBQFI2eGuKqvH2TJk3tgotwW+qIeg9/Gt6G++79bziX8/WsnkecN/jr85a4RI8p/m78StolLpNavHWE55VG/9iZ9QymUV6v4tm5CJzEoas3ufyKkdCvbcbpqmrg6DytbuxK1BLa9aYfkMKalY+DOrxxgx1vBh9O5u1jIDZDzOdIKMkpFfBwA1lYYylmAZWpMF7d2WBl1YzkVv3HmU2TKi6fnFGHgo99XzleZy5oMmlvz6Gk2+d9W4IAsoBgcPrTe9nJ2lJqvuy2cWkQHnozUpIejbsQXw5p56SFQ64FhMA2FmAACxlkqx1GTNG0v81lptZtO/9V707WoyNAMA5EvDfNarIvRLXOLqEO0wP8HHUnPg5IVdo6trEW+wNomVR3M1TWlHt8iXj00Ntq43dedu+gyp3/vqBjs1yYRD6N3dbNkMkkpzTVxSijTP+DMwPSrFdB9SnBiz1FxRQnD1sS2gkr0p6h/8/TLX5ywUnjUE6rs8NbKJVpaeHAIeNipn9gwhXlk2tSY6BXC9aTP6djXZNgMA0PaA8yxfDmKH1l7kGX8mBNhmppwpQxr3vvKUmXLD6xrQt7sZctjZ5ClPfPLbjgKYp0eQDgCgxEQqxVSTVTw2/GKu/anofAx+8mPM5oj37Fz+fSaBDBicnKgpDc7LiNACAJ/qeQ3AqlxljM+QlpcKiI5x1OtF784mDH5qI8sJ+8L+QTeaRYEXWwSGqRRDQ9YqxT/V2n5924Poe2wLYGPgWS6kgdiDTAMaQCkRsjDZNKUd57fk2m/439y486hKssoNfXQNksv5jW3gee+hh+B7kqHB1vW6d+85+5Car70RJdcuEwCYrCxH7N61fNcSkRWBOY3bUBCVQNiLyaK48QPX/BHkrEQ41ndW8RWgd1cTYpvXcV/YJfF+Tx1XAR0IoS0i9SIdXc/o1iXXgdXHLipyYeBWQZr1ByEApVk7CEDonbZrHQOKG2+d0jjmg8er8vISFQAo7ei+BEDnC+h8NlNG4xhKSHqodZ3wdeVdXFxcXFxcXFxcXFxcXFys8j+AGr+vL3ncLwAAAABJRU5ErkJggg=="}},"time_used":28,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":27,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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.150.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/HPoJhVNSHdk","date":"2026-07-27T03:33:55.397Z","timestamp":1785123235397,"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: 1785123235371\r\nContent-Type: application/json\r\nX-Goog-Visitor-Id: CgsxNUNOU0I3aDYtNCifo5vTBjIoCgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgYWLfAgrcAjIwLllUPWVWMmxvZTVUYXJoRnFsVVZJRlNCcFFSam5fdl9UTVZjRzAxSjA5U29kYW5HdzI2cGUyZFZtcWF0NTlsUXRhb2NWYnNLQ1VkWUEycTBrVlZKSGFIYTlOOXFFNVloekRBRkpRcDI5d3NvT1JaZ29oUWd6bnU3U3JoRVVuWDk0UnlBMHliLTNSb0R5ZF9YbEo1N25rSEFoM2VWOVFzZDd4eGIzU0JjYllUM2hpQUhvWlpjNktQbG9lNUdweThvTXpFNUZKYVEtWDhOSTBlOGlsd0pjYVIzTkZSWVk5Y0ZUTDRseHhqQURPamVBRlVaWUdNcy1ab01zbUN0cnh1Z3ZST1ZiM1pIRGlFUFZJaFluczVTdHBnbF9vUEozOFgtYnlfUTBwYmRXMFFBV0RUOTZnTVpUdjNvM1hCRHVyNGJBV2ZpaXVwV3VGYl9CZUUzWENyQWFNT21IZw%3D%3D\r\nX-Goog-Event-Time: 1785123235371\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=1785123232191\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%2C560%2C315\u0026vis=1\u0026wgl=true\u0026ca_type=image\r\nContent-Length: 13054\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/HPoJhVNSHdk\r\nCookie: __Secure-YNID=20.YT=eV2loe5TarhFqlUVIFSBpQRjn_v_TMVcG01J09SodanGw26pe2dVmqat59lQtaocVbsKCUdYA2q0kVVJHaHa9N9qE5YhzDAFJQp29wsoORZgohQgznu7SrhEUnX94RyA0yb-3RoDyd_XlJ57nkHAh3eV9Qsd7xxb3SBcbYT3hiAHoZZc6KPloe5Gpy8oMzE5FJaQ-X8NI0e8ilwJcaR3NFRYY9cFTL4lxxjADOjeAFUZYGMs-ZoMsmCtrxugvROVb3ZHDiEPVIhYns5Stpgl_oPJ38X-by_Q0pbdW0QAWDT96gMZTv3o3XBDur4bAWfiiupWuFb_BeE3XCrAaMOmHg; YSC=6ky3ezEIvRY; VISITOR_INFO1_LIVE=15CNSB7h6-4; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgYQ%3D%3D; __Secure-ROLLOUT_TOKEN=COiu8dvIl-ubQBDLxvug9vGVAxjLxvug9vGVAw%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":13054,"data":"{\"context\":{\"client\":{\"hl\":\"en\",\"gl\":\"NO\",\"clientName\":56,\"clientVersion\":\"2.20260724.01.00\",\"configInfo\":{\"appInstallData\":\"CJ-jm9MGEMeN0hwQ4LfRHBDw3tEcENr3zhwQABCJsM4cELjw0RwQ9quwBRCOkNEcEM3w0RwQioe4IhC8pNAcEPny0RwQ8ZywBRCL988cEPb30RwQle_RHBC9mbAFEJ7QsAUQn8-AExCkqdEcEJmNsQUQt_iAExDxtNAcEMn2gBMQr4bPHBDevM4cEK7WzxwQhuGAExCHrM4cEIOHuCIQieTRHBDzzNEcEL22rgUQzN-uBRDK-4ATELXb0RwQ4OrRHBCdhrgiEMGP0BwQ6fjRHBCBzc4cEL2KsAUQuOTOHBD8ss4cEIiQ0RwQvoTRHCpkQ0FNU1JSVkctWnEtRE1lVUVwVUNuQTc1RlhLTUZLalZEOGdERE0wQjdnTGtCdEM1NlFzeW9Ld0VBNUN1QV9zbXR1UUc1SVVYME13R3hKSUZ5ejNGSjluVkJkd3M1MFlkQnc9PTAA\"},\"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\":560,\"windowHeightPoints\":315},\"thirdParty\":{\"embedUrl\":\"https://agilitetrade.com/\"}},\"events\":[{\"eventTimeMs\":1785123232198,\"latencyActionTicked\":{\"tickName\":\"mm_is\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123232200,\"latencyActionTicked\":{\"tickName\":\"mm_ie\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123232204,\"latencyActionTicked\":{\"tickName\":\"ep_init_cus\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123232204,\"latencyActionTicked\":{\"tickName\":\"ep_init_eps\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123232204,\"latencyActionTicked\":{\"tickName\":\"ep_init_epe\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123232204,\"latencyActionTicked\":{\"tickName\":\"ep_init_cue\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123232395,\"latencyActionTicked\":{\"tickName\":\"pe\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123232396,\"latencyActionTicked\":{\"tickName\":\"ep_init_wes\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123232008,\"latencyActionTicked\":{\"tickName\":\"srt\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123231893,\"latencyActionBaselined\":{\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123231939,\"latencyActionTicked\":{\"tickName\":\"nreqs\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123232008,\"latencyActionTicked\":{\"tickName\":\"nress\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123232020,\"latencyActionTicked\":{\"tickName\":\"nrese\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123231906,\"latencyActionTicked\":{\"tickName\":\"ndnss\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123231908,\"latencyActionTicked\":{\"tickName\":\"ndnse\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123231908,\"latencyActionTicked\":{\"tickName\":\"ntcps\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123231939,\"latencyActionTicked\":{\"tickName\":\"ntcpe\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123231917,\"latencyActionTicked\":{\"tickName\":\"nstcps\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123231939,\"latencyActionTicked\":{\"tickName\":\"ntcpe\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123232075,\"latencyActionTicked\":{\"tickName\":\"wffs\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123232099,\"latencyActionTicked\":{\"tickName\":\"wffe\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123232065,\"latencyActionTicked\":{\"tickName\":\"rsf_pj\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123232124,\"latencyActionTicked\":{\"tickName\":\"rse_pj\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123232064,\"latencyActionTicked\":{\"tickName\":\"rsf_pc\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123232096,\"latencyActionTicked\":{\"tickName\":\"rse_pc\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123232064,\"latencyActionTicked\":{\"tickName\":\"rsf_ecj\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123232114,\"latencyActionTicked\":{\"tickName\":\"rse_ecj\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123232064,\"latencyActionTicked\":{\"tickName\":\"rsf_ecc\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123232083,\"latencyActionTicked\":{\"tickName\":\"rse_ecc\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123232401,\"latencyActionInfo\":{\"isNavigation\":true,\"actionType\":\"LATENCY_ACTION_VIDEO_PREVIEW\",\"httpProtocol\":\"h2\",\"transportProtocol\":\"tcp\",\"isVisible\":true,\"loadType\":\"cold\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123232190,\"latencyActionTicked\":{\"tickName\":\"rses_dpj\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123232405,\"latencyActionTicked\":{\"tickName\":\"ep_init_wee\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123232407,\"latencyActionInfo\":{\"serverTimeMs\":48,\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"-1\"}},{\"eventTimeMs\":1785123232438,\"screenCreated\":{\"csn\":\"KFNbfNeBMmtNCJKe\",\"pageVe\":{\"veType\":16623,\"youtubeData\":{\"servletData\":{\"serializedServletEventId\":\"n9FmasvsObiJ8PMP1qWx2Q4\"}}}},\"context\":{\"lastActivityMs\":\"15\"}},{\"eventTimeMs\":1785123232438,\"latencyActionInfo\":{\"clientScreenNonce\":\"KFNbfNeBMmtNCJKe\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"16\"}},{\"eventTimeMs\":1785123232438,\"screenCreated\":{\"csn\":\"39Q9d1WOef2f8g9L\",\"pageVe\":{\"veType\":32594},\"implicitGesture\":{\"parentCsn\":\"KFNbfNeBMmtNCJKe\",\"gesturedVe\":{\"veType\":16623},\"gestureType\":\"INTERACTION_LOGGING_GESTURE_TYPE_AUTOMATED\"}},\"context\":{\"lastActivityMs\":\"16\"}},{\"eventTimeMs\":1785123232438,\"visualElementHidden\":{\"csn\":\"KFNbfNeBMmtNCJKe\",\"ve\":{\"veType\":16623},\"eventType\":16},\"context\":{\"lastActivityMs\":\"16\"}},{\"eventTimeMs\":1785123232438,\"latencyActionInfo\":{\"clientScreenNonce\":\"39Q9d1WOef2f8g9L\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"16\"}},{\"eventTimeMs\":1785123232439,\"visualElementAttached\":{\"csn\":\"39Q9d1WOef2f8g9L\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"trackingParams\":\"CAAQru4BIhMIwrL8oPbxlQMVo9VPCB0lfxLWygEEhrxX-A==\"}]},\"context\":{\"lastActivityMs\":\"17\"}},{\"eventTimeMs\":1785123232440,\"latencyActionTicked\":{\"tickName\":\"qoes\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"18\"}},{\"eventTimeMs\":1785123232441,\"latencyActionTicked\":{\"tickName\":\"fs\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"19\"}},{\"eventTimeMs\":1785123232464,\"latencyActionInfo\":{\"clientPlaybackNonce\":\"0tU8IYjRVLugE9r-\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"42\"}},{\"eventTimeMs\":1785123232465,\"latencyActionTicked\":{\"tickName\":\"ep_init_pr\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"43\"}},{\"eventTimeMs\":1785123232566,\"latencyActionTicked\":{\"tickName\":\"ep_init_ijs\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"143\"}},{\"eventTimeMs\":1785123232567,\"latencyActionTicked\":{\"tickName\":\"ep_init_ije\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"144\"}},{\"eventTimeMs\":1785123232569,\"latencyActionTicked\":{\"tickName\":\"ep_init_rs\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"146\"}},{\"eventTimeMs\":1785123232575,\"latencyActionTicked\":{\"tickName\":\"ep_init_re\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"152\"}},{\"eventTimeMs\":1785123232608,\"visualElementAttached\":{\"csn\":\"39Q9d1WOef2f8g9L\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"veType\":28572,\"veCounter\":2,\"elementIndex\":0}]},\"context\":{\"lastActivityMs\":\"185\"}},{\"eventTimeMs\":1785123232608,\"visualElementShown\":{\"csn\":\"39Q9d1WOef2f8g9L\",\"ve\":{\"veType\":28572,\"veCounter\":2,\"elementIndex\":0},\"eventType\":1},\"context\":{\"lastActivityMs\":\"185\"}},{\"eventTimeMs\":1785123232660,\"latencyActionTicked\":{\"tickName\":\"ftr\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"237\"}},{\"eventTimeMs\":1785123232905,\"latencyActionTicked\":{\"tickName\":\"pot_ist\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"482\"}},{\"eventTimeMs\":1785123233262,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChUvY2xpZW50X3N0cmVhbXovYmcvZWMSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIRCgMKAW8KBgoEYUdJZhICCAEiEQoDCgF0CgYKBGFHSWYSAggBIhEKAwoBaAoGCgRhR0lmEgIIEg==\"},\"context\":{\"lastActivityMs\":\"840\"}},{\"eventTimeMs\":1785123233265,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChUvY2xpZW50X3N0cmVhbXovYmcvZWwSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAACZAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAKkAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAA4QCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAACZAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAJkAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAmQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAACZAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAFEAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAIQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAADdAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAIEAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAmQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAAAAAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAJkAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAoQCIYCgMKAWgKBgoEYUdJZhIJEQAAAAAAwFVAIhgKAwoBaAoGCgRhR0lmEgkRAAAAAAAAJkAiGAoDCgFoCgYKBGFHSWYSCREAAAAAAAAAQCIYCgMKAXQKBgoEYUdJZhIJEQAAAAAAgHJA\"},\"context\":{\"lastActivityMs\":\"841\"}},{\"eventTimeMs\":1785123233319,\"visualElementAttached\":{\"csn\":\"39Q9d1WOef2f8g9L\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"veType\":23851,\"veCounter\":3,\"elementIndex\":0}]},\"context\":{\"lastActivityMs\":\"896\"}},{\"eventTimeMs\":1785123233319,\"visualElementShown\":{\"csn\":\"39Q9d1WOef2f8g9L\",\"ve\":{\"veType\":23851,\"veCounter\":3,\"elementIndex\":0},\"eventType\":1},\"context\":{\"lastActivityMs\":\"897\"}},{\"eventTimeMs\":1785123233320,\"visualElementAttached\":{\"csn\":\"39Q9d1WOef2f8g9L\",\"parentVe\":{\"veType\":32594},\"childVes\":[{\"veType\":36925,\"veCounter\":4,\"elementIndex\":0}]},\"context\":{\"lastActivityMs\":\"897\"}},{\"eventTimeMs\":1785123233320,\"visualElementShown\":{\"csn\":\"39Q9d1WOef2f8g9L\",\"ve\":{\"veType\":36925,\"veCounter\":4,\"elementIndex\":0},\"eventType\":1},\"context\":{\"lastActivityMs\":\"897\"}},{\"eventTimeMs\":1785123233320,\"foregroundHeartbeatScreenAssociated\":{\"clientDocumentNonce\":\"cYRpHOulL2Bem8w6\",\"clientScreenNonce\":\"KFNbfNeBMmtNCJKe\"},\"context\":{\"lastActivityMs\":\"897\"}},{\"eventTimeMs\":1785123233320,\"foregroundHeartbeatScreenAssociated\":{\"clientDocumentNonce\":\"cYRpHOulL2Bem8w6\",\"clientScreenNonce\":\"39Q9d1WOef2f8g9L\"},\"context\":{\"lastActivityMs\":\"897\"}},{\"eventTimeMs\":1785123233320,\"latencyActionTicked\":{\"tickName\":\"ol\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"897\"}},{\"eventTimeMs\":1785123233320,\"latencyActionTicked\":{\"tickName\":\"ol\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"898\"}},{\"eventTimeMs\":1785123233320,\"latencyActionTicked\":{\"tickName\":\"ftl\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"898\"}},{\"eventTimeMs\":1785123233369,\"latencyActionTicked\":{\"tickName\":\"pot_if\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"946\"}},{\"eventTimeMs\":1785123233369,\"latencyActionTicked\":{\"tickName\":\"pot_cms\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"946\"}},{\"eventTimeMs\":1785123233371,\"latencyActionTicked\":{\"tickName\":\"pot_cmf\",\"clientActionNonce\":\"pS1D-bndw9QCAzDp\"},\"context\":{\"lastActivityMs\":\"948\"}},{\"eventTimeMs\":1785123234265,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChYvY2xpZW50X3N0cmVhbXovYmcvZnJzEhAKDgoIYm90Z3VhcmQSAjUzGgJtayITCgYKBGFHSWYSCREAAAAAAIybQA==\"},\"context\":{\"lastActivityMs\":\"1843\"}},{\"eventTimeMs\":1785123234266,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChUvY2xpZW50X3N0cmVhbXovYmcvZWMSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIRCgMKAW4KBgoEYUdJZhICCAEiEQoDCgFtCgYKBGFHSWYSAggB\"},\"context\":{\"lastActivityMs\":\"1843\"}},{\"eventTimeMs\":1785123234267,\"streamzIncremented\":{\"serializedIncrementBatch\":\"ChUvY2xpZW50X3N0cmVhbXovYmcvZWwSEAoOCghib3RndWFyZBICNTMaAmVuGgJtayIYCgMKAW4KBgoEYUdJZhIJEQAAAAAAADhAIhgKAwoBaQoGCgRhR0lmEgkRAAAAAAAA8D8iGAoDCgFvCgYKBGFHSWYSCREAAAAAAOB8QCIYCgMKAWMKBgoEYUdJZhIJEQAAAAAAAAAAIhgKAwoBQwoGCgRhR0lmEgkRAAAAAAAA8D8iGAoDCgF4CgYKBGFHSWYSCREAAAAAAADwPyIYCgMKAW0KBgoEYUdJZhIJEQAAAAAAAABA\"},\"context\":{\"lastActivityMs\":\"1845\"}}],\"serializedClientEventId\":{\"serializedEventId\":\"n9FmasvsObiJ8PMP1qWx2Q4\",\"clientCounter\":\"32174\"}}"}},"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 03:33:55 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-07-27T05:12:06.994593Z","times_seen":281883,"resource_available":false,"data":"ewogICJyZXNwb25zZUNvbnRleHQiOiB7fQp9Cg=="}},"time_used":30,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":30,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/images/background/1.png","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.914Z","timestamp":1785123231914,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /images/background/1.png HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/css/style.css\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: image/png\r\nlast-modified: Wed, 22 Apr 2026 21:44:12 GMT\r\naccept-ranges: bytes\r\ncontent-length: 15220\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":15220,"size_decoded":15486,"mime_type":"image/png","magic":"PNG image data, 1920 x 123, 8-bit/color RGBA, non-interlaced","md5":"c18018505d6d570c03108ddab0562519","sha1":"96a6dd78b48e3e783e047a26a97b5e4f1c87e43c","sha256":"d62c403567332ca77def7a9e4c6ff9a7499bfc7638c379f4cd8a2b582f06c4c8","sha512":"38643ddb3f2a45f1c202ade54dff6b114b31db2c002b5db57d004f113568f2c177c7a2450a5a7eec1d4c5bbd560062de6cd552680caf6b55227c8e072abc99da","ssdeep":"384:SvU+DniahjC9yTUZY/01GAfiJQH2WyPc8wbzRjaS//9Mq/Bd:SDFj6yB81LfiJikwn99/r","tlshash":"db62c0238bf4409dd147323e4d5e0e9965436d2932d0329fa4acf40e3b79dab1c6f999","first_seen":"2024-12-04T10:10:15.857856Z","last_seen":"2026-07-27T05:05:33.707347Z","times_seen":11,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAB4AAAAB7CAYAAACVUJ2SAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3FpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDphOGE1ODRiYy1hOGIyLWUzNDQtYTM2Ny05OGNhMGFiM2NkZDgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzgwRTAyRjQwNEMxMTFFODkxMjQ4MjdGN0MyNDc5OEIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzgwRTAyRjMwNEMxMTFFODkxMjQ4MjdGN0MyNDc5OEIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOmIwNDc4NzM3LTA4NjktYWQ0Yy1iYTdiLWQ5MDU0OTQ1YTJkNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDphOGE1ODRiYy1hOGIyLWUzNDQtYTM2Ny05OGNhMGFiM2NkZDgiLz4gPC9y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"}},"time_used":33,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":32,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/css/bootstrap.css","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.371Z","timestamp":1785123231371,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /css/bootstrap.css HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: text/css\r\nlast-modified: Wed, 22 Apr 2026 17:27:27 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 17816\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\nalt-svc: h3=\":443\"; ma=2592000, h3-29=\":443\"; ma=2592000, h3-Q050=\":443\"; ma=2592000, h3-Q046=\":443\"; ma=2592000, h3-Q043=\":443\"; ma=2592000, quic=\":443\"; ma=2592000; v=\"43,46\"\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":117291,"size_decoded":18304,"mime_type":"text/css","magic":"ASCII text, with very long lines (65367), with CRLF line terminators","md5":"c7c5c963d8cb00522d37d3728a77721d","sha1":"8df31c087c08e95668c02970688724e451374408","sha256":"daae3db906020078d413409f99528f6d5a3a3b7906be9a51836d8c0faaeb7b8d","sha512":"72f23ebd8f054816c9c600817a02c045cfb17a0727a3110aa5b0f668eda14d2fd9938ab1a6a2de638c3b9751666ba252bfa9ea478843c1a3e238e190659d68d6","ssdeep":"768:fyJGxw/jyBQWlJxtQDINHHlOmqITm8qAdwFKbv2ctBDI35UPyu8psYvS1Ft:1w/GLiINHHlOmC8p5b5ZPUpE","tlshash":"bab3d8a0f11031ea7333c55a72d0ed872219a153e66b4eb7f22f25d84f856ca1673f1a","first_seen":"2026-06-26T06:01:48.542834Z","last_seen":"2026-07-27T05:05:33.640913Z","times_seen":7,"resource_available":false,"data":"LyohDQogKiBCb290c3RyYXAgdjMuMy40IChodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbSkNCiAqIENvcHlyaWdodCAyMDExLTIwMTUgVHdpdHRlciwgSW5jLg0KICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSkNCiAqLy8qISBub3JtYWxpemUuY3NzIHYzLjAuMiB8IE1JVCBMaWNlbnNlIHwgZ2l0LmlvL25vcm1hbGl6ZSAqL2h0bWx7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTstbXMtdGV4dC1zaXplLWFkanVzdDoxMDAlfWJvZHl7bWFyZ2luOjB9YXJ0aWNsZSxhc2lkZSxkZXRhaWxzLGZpZ2NhcHRpb24sZmlndXJlLGZvb3RlcixoZWFkZXIsaGdyb3VwLG1haW4sbWVudSxuYXYsc2VjdGlvbixzdW1tYXJ5e2Rpc3BsYXk6YmxvY2t9YXVkaW8sY2FudmFzLHByb2dyZXNzLHZpZGVve2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfWF1ZGlvOm5vdChbY29udHJvbHNdKXtkaXNwbGF5Om5vbmU7aGVpZ2h0OjB9W2hpZGRlbl0sdGVtcGxhdGV7ZGlzcGxheTpub25lfWF7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH1hOmFjdGl2ZSxhOmhvdmVye291dGxpbmU6MH1hYmJyW3RpdGxlXXtib3JkZXItYm90dG9tOjFweCBkb3R0ZWR9YixzdHJvbmd7Zm9udC13ZWlnaHQ6NzAwfWRmbntmb250LXN0eWxlOml0YWxpY31oMXttYXJnaW46LjY3ZW0gMDtmb250LXNpemU6MmVtfW1hcmt7Y29sb3I6IzAwMDtiYWNrZ3JvdW5kOiNmZjB9c21hbGx7Zm9udC1zaXplOjgwJX1zdWIsc3Vwe3Bvc2l0aW9uOnJlbGF0aXZlO2ZvbnQtc2l6ZTo3NSU7bGluZS1oZWlnaHQ6MDt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX1zdXB7dG9wOi0uNWVtfXN1Yntib3R0b206LS4yNWVtfWltZ3tib3JkZXI6MH1zdmc6bm90KDpyb290KXtvdmVyZmxvdzpoaWRkZW59ZmlndXJle21hcmdpbjoxZW0gNDBweH1ocntoZWlnaHQ6MDstd2Via2l0LWJveC1zaXppbmc6Y29udGVudC1ib3g7LW1vei1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3h9cHJle292ZXJmbG93OmF1dG99Y29kZSxrYmQscHJlLHNhbXB7Zm9udC1mYW1pbHk6bW9ub3NwYWNlLG1vbm9zcGFjZTtmb250LXNpemU6MWVtfWJ1dHRvbixpbnB1dCxvcHRncm91cCxzZWxlY3QsdGV4dGFyZWF7bWFyZ2luOjA7Zm9udDppbmhlcml0O2NvbG9yOmluaGVyaXR9YnV0dG9ue292ZXJmbG93OnZpc2libGV9YnV0dG9uLHNlbGVjdHt0ZXh0LXRyYW5zZm9ybTpub25lfWJ1dHRvbixodG1sIGlucHV0W3R5cGU9YnV0dG9uXSxpbnB1dFt0eXBlPXJlc2V0XSxpbnB1dFt0eXBlPXN1Ym1pdF17LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbjtjdXJzb3I6cG9pbnRlcn1idXR0b25bZGlzYWJsZWRdLGh0bWwgaW5wdXRbZGlzYWJsZWRde2N1cnNvcjpkZWZhdWx0fWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixpbnB1dDo6LW1vei1mb2N1cy1pbm5lcntwYWRkaW5nOjA7Ym9yZGVyOjB9aW5wdXR7bGluZS1oZWlnaHQ6bm9ybWFsfWlucHV0W3R5cGU9Y2hlY2tib3hdLGlucHV0W3R5cGU9cmFkaW9dey13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjB9aW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b31pbnB1dFt0eXBlPXNlYXJjaF17LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94Oy1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94Oy13ZWJraXQtYXBwZWFyYW5jZTp0ZXh0ZmllbGR9aW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLGlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX1maWVsZHNldHtwYWRkaW5nOi4zNWVtIC42MjVlbSAuNzVlbTttYXJnaW46MCAycHg7Ym9yZGVyOjFweCBzb2xpZCBzaWx2ZXJ9bGVnZW5ke3BhZGRpbmc6MDtib3JkZXI6MH10ZXh0YXJlYXtvdmVyZmxvdzphdXRvfW9wdGdyb3Vwe2ZvbnQtd2VpZ2h0OjcwMH10YWJsZXtib3JkZXItc3BhY2luZzowO2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZX10ZCx0aHtwYWRkaW5nOjB9LyohIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyAqL0BtZWRpYSBwcmludHsqLDphZnRlciw6YmVmb3Jle2NvbG9yOiMwMDAhaW1wb3J0YW50O3RleHQtc2hhZG93Om5vbmUhaW1wb3J0YW50O2JhY2tncm91bmQ6MCAwIWltcG9ydGFudDstd2Via2l0LWJveC1zaGFkb3c6bm9uZSFpbXBvcnRhbnQ7Ym94LXNoYWRvdzpub25lIWltcG9ydGFudH1hLGE6dmlzaXRlZHt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfWFbaHJlZl06YWZ0ZXJ7Y29udGVudDoiICgiIGF0dHIoaHJlZikgIikifWFiYnJbdGl0bGVdOmFmdGVye2NvbnRlbnQ6IiAoIiBhdHRyKHRpdGxlKSAiKSJ9YVtocmVmXj0iamF2YXNjcmlwdDoiXTphZnRlcixhW2hyZWZePSIjIl06YWZ0ZXJ7Y29udGVudDoiIn1ibG9ja3F1b3RlLHByZXtib3JkZXI6MXB4IHNvbGlkICM5OTk7cGFnZS1icmVhay1pbnNpZGU6YXZvaWR9dGhlYWR7ZGlzcGxheTp0YWJsZS1oZWFkZXItZ3JvdXB9aW1nLHRye3BhZ2UtYnJlYWstaW5zaWRlOmF2b2lkfWltZ3ttYXgtd2lkdGg6MTAwJSFpbXBvcnRhbnR9aDIsaDMscHtvcnBoYW5zOjM7d2lkb3dzOjN9aDIsaDN7cGFnZS1icmVhay1hZnRlcjphdm9pZH1zZWxlY3R7YmFja2dyb3VuZDojZmZmIWltcG9ydGFudH0ubmF2YmFye2Rpc3BsYXk6bm9uZX0uYnRuPi5jYXJldCwuZHJvcHVwPi5idG4+LmNhcmV0e2JvcmRlci10b3AtY29sb3I6IzAwMCFpbXBvcnRhbnR9LmxhYmVse2JvcmRlcjoxcHggc29saWQgIzAwMH0udGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlIWltcG9ydGFudH0udGFibGUgdGQsLnRhYmxlIHRoe2JhY2tncm91bmQtY29sb3I6I2ZmZiFpbXBvcnRhbnR9LnRhYmxlLWJvcmRlcmVkIHRkLC50YWJsZS1ib3JkZXJlZCB0aHtib3JkZXI6MXB4IHNvbGlkICNkZGQhaW1wb3J0YW50fX1AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidHbHlwaGljb25zIEhhbGZsaW5ncyc7c3JjOnVybCgiLi4vZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci5lb3QiKTtzcmM6dXJsKCIuLi9mb250cy9nbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyLS5lb3QiKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksdXJsKCIuLi9mb250cy9nbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyLndvZmYyIikgZm9ybWF0KCd3b2ZmMicpLHVybCgiLi4vZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci53b2ZmIikgZm9ybWF0KCd3b2ZmJyksdXJsKCIuLi9mb250cy9nbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyLnR0ZiIpIGZvcm1hdCgndHJ1ZXR5cGUnKSx1cmwoIi4uL2ZvbnRzL2dseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXIuc3ZnIikgZm9ybWF0KCdzdmcnKX0uZ2x5cGhpY29ue3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDoxcHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udC1mYW1pbHk6J0dseXBoaWNvbnMgSGFsZmxpbmdzJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MTstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZX0uZ2x5cGhpY29uLWFzdGVyaXNrOmJlZm9yZXtjb250ZW50OiJcMmEifS5nbHlwaGljb24tcGx1czpiZWZvcmV7Y29udGVudDoiXDJiIn0uZ2x5cGhpY29uLWV1cjpiZWZvcmUsLmdseXBoaWNvbi1ldXJvOmJlZm9yZXtjb250ZW50OiJcMjBhYyJ9LmdseXBoaWNvbi1taW51czpiZWZvcmV7Y29udGVudDoiXDIyMTIifS5nbHlwaGljb24tY2xvdWQ6YmVmb3Jle2NvbnRlbnQ6IlwyNjAxIn0uZ2x5cGhpY29uLWVudmVsb3BlOmJlZm9yZXtjb250ZW50OiJcMjcwOSJ9LmdseXBoaWNvbi1wZW5jaWw6YmVmb3Jle2NvbnRlbnQ6IlwyNzBmIn0uZ2x5cGhpY29uLWdsYXNzOmJlZm9yZXtjb250ZW50OiJcZTAwMSJ9LmdseXBoaWNvbi1tdXNpYzpiZWZvcmV7Y29udGVudDoiXGUwMDIifS5nbHlwaGljb24tc2VhcmNoOmJlZm9yZXtjb250ZW50OiJcZTAwMyJ9LmdseXBoaWNvbi1oZWFydDpiZWZvcmV7Y29udGVudDoiXGUwMDUifS5nbHlwaGljb24tc3RhcjpiZWZvcmV7Y29udGVudDoiXGUwMDYifS5nbHlwaGljb24tc3Rhci1lbXB0eTpiZWZvcmV7Y29udGVudDoiXGUwMDcifS5nbHlwaGljb24tdXNlcjpiZWZvcmV7Y29udGVudDoiXGUwMDgifS5nbHlwaGljb24tZmlsbTpiZWZvcmV7Y29udGVudDoiXGUwMDkifS5nbHlwaGljb24tdGgtbGFyZ2U6YmVmb3Jle2NvbnRlbnQ6IlxlMDEwIn0uZ2x5cGhpY29uLXRoOmJlZm9yZXtjb250ZW50OiJcZTAxMSJ9LmdseXBoaWNvbi10aC1saXN0OmJlZm9yZXtjb250ZW50OiJcZTAxMiJ9LmdseXBoaWNvbi1vazpiZWZvcmV7Y29udGVudDoiXGUwMTMifS5nbHlwaGljb24tcmVtb3ZlOmJlZm9yZXtjb250ZW50OiJcZTAxNCJ9LmdseXBoaWNvbi16b29tLWluOmJlZm9yZXtjb250ZW50OiJcZTAxNSJ9LmdseXBoaWNvbi16b29tLW91dDpiZWZvcmV7Y29udGVudDoiXGUwMTYifS5nbHlwaGljb24tb2ZmOmJlZm9yZXtjb250ZW50OiJcZTAxNyJ9LmdseXBoaWNvbi1zaWduYWw6YmVmb3Jle2NvbnRlbnQ6IlxlMDE4In0uZ2x5cGhpY29uLWNvZzpiZWZvcmV7Y29udGVudDoiXGUwMTkifS5nbHlwaGljb24tdHJhc2g6YmVmb3Jle2NvbnRlbnQ6IlxlMDIwIn0uZ2x5cGhpY29uLWhvbWU6YmVmb3Jle2NvbnRlbnQ6IlxlMDIxIn0uZ2x5cGhpY29uLWZpbGU6YmVmb3Jle2NvbnRlbnQ6IlxlMDIyIn0uZ2x5cGhpY29uLXRpbWU6YmVmb3Jle2NvbnRlbnQ6IlxlMDIzIn0uZ2x5cGhpY29uLXJvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDI0In0uZ2x5cGhpY29uLWRvd25sb2FkLWFsdDpiZWZvcmV7Y29udGVudDoiXGUwMjUifS5nbHlwaGljb24tZG93bmxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDI2In0uZ2x5cGhpY29uLXVwbG9hZDpiZWZvcmV7Y29udGVudDoiXGUwMjcifS5nbHlwaGljb24taW5ib3g6YmVmb3Jle2NvbnRlbnQ6IlxlMDI4In0uZ2x5cGhpY29uLXBsYXktY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZTAyOSJ9LmdseXBoaWNvbi1yZXBlYXQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDMwIn0uZ2x5cGhpY29uLXJlZnJlc2g6YmVmb3Jle2NvbnRlbnQ6IlxlMDMxIn0uZ2x5cGhpY29uLWxpc3QtYWx0OmJlZm9yZXtjb250ZW50OiJcZTAzMiJ9LmdseXBoaWNvbi1sb2NrOmJlZm9yZXtjb250ZW50OiJcZTAzMyJ9LmdseXBoaWNvbi1mbGFnOmJlZm9yZXtjb250ZW50OiJcZTAzNCJ9LmdseXBoaWNvbi1oZWFkcGhvbmVzOmJlZm9yZXtjb250ZW50OiJcZTAzNSJ9LmdseXBoaWNvbi12b2x1bWUtb2ZmOmJlZm9yZXtjb250ZW50OiJcZTAzNiJ9LmdseXBoaWNvbi12b2x1bWUtZG93bjpiZWZvcmV7Y29udGVudDoiXGUwMzcifS5nbHlwaGljb24tdm9sdW1lLXVwOmJlZm9yZXtjb250ZW50OiJcZTAzOCJ9LmdseXBoaWNvbi1xcmNvZGU6YmVmb3Jle2NvbnRlbnQ6IlxlMDM5In0uZ2x5cGhpY29uLWJhcmNvZGU6YmVmb3Jle2NvbnRlbnQ6IlxlMDQwIn0uZ2x5cGhpY29uLXRhZzpiZWZvcmV7Y29udGVudDoiXGUwNDEifS5nbHlwaGljb24tdGFnczpiZWZvcmV7Y29udGVudDoiXGUwNDIifS5nbHlwaGljb24tYm9vazpiZWZvcmV7Y29udGVudDoiXGUwNDMifS5nbHlwaGljb24tYm9va21hcms6YmVmb3Jle2NvbnRlbnQ6IlxlMDQ0In0uZ2x5cGhpY29uLXByaW50OmJlZm9yZXtjb250ZW50OiJcZTA0NSJ9LmdseXBoaWNvbi1jYW1lcmE6YmVmb3Jle2NvbnRlbnQ6IlxlMDQ2In0uZ2x5cGhpY29uLWZvbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDQ3In0uZ2x5cGhpY29uLWJvbGQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDQ4In0uZ2x5cGhpY29uLWl0YWxpYzpiZWZvcmV7Y29udGVudDoiXGUwNDkifS5nbHlwaGljb24tdGV4dC1oZWlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDUwIn0uZ2x5cGhpY29uLXRleHQtd2lkdGg6YmVmb3Jle2NvbnRlbnQ6IlxlMDUxIn0uZ2x5cGhpY29uLWFsaWduLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDUyIn0uZ2x5cGhpY29uLWFsaWduLWNlbnRlcjpiZWZvcmV7Y29udGVudDoiXGUwNTMifS5nbHlwaGljb24tYWxpZ24tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDU0In0uZ2x5cGhpY29uLWFsaWduLWp1c3RpZnk6YmVmb3Jle2NvbnRlbnQ6IlxlMDU1In0uZ2x5cGhpY29uLWxpc3Q6YmVmb3Jle2NvbnRlbnQ6IlxlMDU2In0uZ2x5cGhpY29uLWluZGVudC1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZTA1NyJ9LmdseXBoaWNvbi1pbmRlbnQtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDU4In0uZ2x5cGhpY29uLWZhY2V0aW1lLXZpZGVvOmJlZm9yZXtjb250ZW50OiJcZTA1OSJ9LmdseXBoaWNvbi1waWN0dXJlOmJlZm9yZXtjb250ZW50OiJcZTA2MCJ9LmdseXBoaWNvbi1tYXAtbWFya2VyOmJlZm9yZXtjb250ZW50OiJcZTA2MiJ9LmdseXBoaWNvbi1hZGp1c3Q6YmVmb3Jle2NvbnRlbnQ6IlxlMDYzIn0uZ2x5cGhpY29uLXRpbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDY0In0uZ2x5cGhpY29uLWVkaXQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDY1In0uZ2x5cGhpY29uLXNoYXJlOmJlZm9yZXtjb250ZW50OiJcZTA2NiJ9LmdseXBoaWNvbi1jaGVjazpiZWZvcmV7Y29udGVudDoiXGUwNjcifS5nbHlwaGljb24tbW92ZTpiZWZvcmV7Y29udGVudDoiXGUwNjgifS5nbHlwaGljb24tc3RlcC1iYWNrd2FyZDpiZWZvcmV7Y29udGVudDoiXGUwNjkifS5nbHlwaGljb24tZmFzdC1iYWNrd2FyZDpiZWZvcmV7Y29udGVudDoiXGUwNzAifS5nbHlwaGljb24tYmFja3dhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDcxIn0uZ2x5cGhpY29uLXBsYXk6YmVmb3Jle2NvbnRlbnQ6IlxlMDcyIn0uZ2x5cGhpY29uLXBhdXNlOmJlZm9yZXtjb250ZW50OiJcZTA3MyJ9LmdseXBoaWNvbi1zdG9wOmJlZm9yZXtjb250ZW50OiJcZTA3NCJ9LmdseXBoaWNvbi1mb3J3YXJkOmJlZm9yZXtjb250ZW50OiJcZTA3NSJ9LmdseXBoaWNvbi1mYXN0LWZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDc2In0uZ2x5cGhpY29uLXN0ZXAtZm9yd2FyZDpiZWZvcmV7Y29udGVudDoiXGUwNzcifS5nbHlwaGljb24tZWplY3Q6YmVmb3Jle2NvbnRlbnQ6IlxlMDc4In0uZ2x5cGhpY29uLWNoZXZyb24tbGVmdDpiZWZvcmV7Y29udGVudDoiXGUwNzkifS5nbHlwaGljb24tY2hldnJvbi1yaWdodDpiZWZvcmV7Y29udGVudDoiXGUwODAifS5nbHlwaGljb24tcGx1cy1zaWduOmJlZm9yZXtjb250ZW50OiJcZTA4MSJ9LmdseXBoaWNvbi1taW51cy1zaWduOmJlZm9yZXtjb250ZW50OiJcZTA4MiJ9LmdseXBoaWNvbi1yZW1vdmUtc2lnbjpiZWZvcmV7Y29udGVudDoiXGUwODMifS5nbHlwaGljb24tb2stc2lnbjpiZWZvcmV7Y29udGVudDoiXGUwODQifS5nbHlwaGljb24tcXVlc3Rpb24tc2lnbjpiZWZvcmV7Y29udGVudDoiXGUwODUifS5nbHlwaGljb24taW5mby1zaWduOmJlZm9yZXtjb250ZW50OiJcZTA4NiJ9LmdseXBoaWNvbi1zY3JlZW5zaG90OmJlZm9yZXtjb250ZW50OiJcZTA4NyJ9LmdseXBoaWNvbi1yZW1vdmUtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZTA4OCJ9LmdseXBoaWNvbi1vay1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlMDg5In0uZ2x5cGhpY29uLWJhbi1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlMDkwIn0uZ2x5cGhpY29uLWFycm93LWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDkxIn0uZ2x5cGhpY29uLWFycm93LXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZTA5MiJ9LmdseXBoaWNvbi1hcnJvdy11cDpiZWZvcmV7Y29udGVudDoiXGUwOTMifS5nbHlwaGljb24tYXJyb3ctZG93bjpiZWZvcmV7Y29udGVudDoiXGUwOTQifS5nbHlwaGljb24tc2hhcmUtYWx0OmJlZm9yZXtjb250ZW50OiJcZTA5NSJ9LmdseXBoaWNvbi1yZXNpemUtZnVsbDpiZWZvcmV7Y29udGVudDoiXGUwOTYifS5nbHlwaGljb24tcmVzaXplLXNtYWxsOmJlZm9yZXtjb250ZW50OiJcZTA5NyJ9LmdseXBoaWNvbi1leGNsYW1hdGlvbi1zaWduOmJlZm9yZXtjb250ZW50OiJcZTEwMSJ9LmdseXBoaWNvbi1naWZ0OmJlZm9yZXtjb250ZW50OiJcZTEwMiJ9LmdseXBoaWNvbi1sZWFmOmJlZm9yZXtjb250ZW50OiJcZTEwMyJ9LmdseXBoaWNvbi1maXJlOmJlZm9yZXtjb250ZW50OiJcZTEwNCJ9LmdseXBoaWNvbi1leWUtb3BlbjpiZWZvcmV7Y29udGVudDoiXGUxMDUifS5nbHlwaGljb24tZXllLWNsb3NlOmJlZm9yZXtjb250ZW50OiJcZTEwNiJ9LmdseXBoaWNvbi13YXJuaW5nLXNpZ246YmVmb3Jle2NvbnRlbnQ6IlxlMTA3In0uZ2x5cGhpY29uLXBsYW5lOmJlZm9yZXtjb250ZW50OiJcZTEwOCJ9LmdseXBoaWNvbi1jYWxlbmRhcjpiZWZvcmV7Y29udGVudDoiXGUxMDkifS5nbHlwaGljb24tcmFuZG9tOmJlZm9yZXtjb250ZW50OiJcZTExMCJ9LmdseXBoaWNvbi1jb21tZW50OmJlZm9yZXtjb250ZW50OiJcZTExMSJ9LmdseXBoaWNvbi1tYWduZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTEyIn0uZ2x5cGhpY29uLWNoZXZyb24tdXA6YmVmb3Jle2NvbnRlbnQ6IlxlMTEzIn0uZ2x5cGhpY29uLWNoZXZyb24tZG93bjpiZWZvcmV7Y29udGVudDoiXGUxMTQifS5nbHlwaGljb24tcmV0d2VldDpiZWZvcmV7Y29udGVudDoiXGUxMTUifS5nbHlwaGljb24tc2hvcHBpbmctY2FydDpiZWZvcmV7Y29udGVudDoiXGUxMTYifS5nbHlwaGljb24tZm9sZGVyLWNsb3NlOmJlZm9yZXtjb250ZW50OiJcZTExNyJ9LmdseXBoaWNvbi1mb2xkZXItb3BlbjpiZWZvcmV7Y29udGVudDoiXGUxMTgifS5nbHlwaGljb24tcmVzaXplLXZlcnRpY2FsOmJlZm9yZXtjb250ZW50OiJcZTExOSJ9LmdseXBoaWNvbi1yZXNpemUtaG9yaXpvbnRhbDpiZWZvcmV7Y29udGVudDoiXGUxMjAifS5nbHlwaGljb24taGRkOmJlZm9yZXtjb250ZW50OiJcZTEyMSJ9LmdseXBoaWNvbi1idWxsaG9ybjpiZWZvcmV7Y29udGVudDoiXGUxMjIifS5nbHlwaGljb24tYmVsbDpiZWZvcmV7Y29udGVudDoiXGUxMjMifS5nbHlwaGljb24tY2VydGlmaWNhdGU6YmVmb3Jle2NvbnRlbnQ6IlxlMTI0In0uZ2x5cGhpY29uLXRodW1icy11cDpiZWZvcmV7Y29udGVudDoiXGUxMjUifS5nbHlwaGljb24tdGh1bWJzLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxlMTI2In0uZ2x5cGhpY29uLWhhbmQtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTI3In0uZ2x5cGhpY29uLWhhbmQtbGVmdDpiZWZvcmV7Y29udGVudDoiXGUxMjgifS5nbHlwaGljb24taGFuZC11cDpiZWZvcmV7Y29udGVudDoiXGUxMjkifS5nbHlwaGljb24taGFuZC1kb3duOmJlZm9yZXtjb250ZW50OiJcZTEzMCJ9LmdseXBoaWNvbi1jaXJjbGUtYXJyb3ctcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTMxIn0uZ2x5cGhpY29uLWNpcmNsZS1hcnJvdy1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZTEzMiJ9LmdseXBoaWNvbi1jaXJjbGUtYXJyb3ctdXA6YmVmb3Jle2NvbnRlbnQ6IlxlMTMzIn0uZ2x5cGhpY29uLWNpcmNsZS1hcnJvdy1kb3duOmJlZm9yZXtjb250ZW50OiJcZTEzNCJ9LmdseXBoaWNvbi1nbG9iZTpiZWZvcmV7Y29udGVudDoiXGUxMzUifS5nbHlwaGljb24td3JlbmNoOmJlZm9yZXtjb250ZW50OiJcZTEzNiJ9LmdseXBoaWNvbi10YXNrczpiZWZvcmV7Y29udGVudDoiXGUxMzcifS5nbHlwaGljb24tZmlsdGVyOmJlZm9yZXtjb250ZW50OiJcZTEzOCJ9LmdseXBoaWNvbi1icmllZmNhc2U6YmVmb3Jle2NvbnRlbnQ6IlxlMTM5In0uZ2x5cGhpY29uLWZ1bGxzY3JlZW46YmVmb3Jle2NvbnRlbnQ6IlxlMTQwIn0uZ2x5cGhpY29uLWRhc2hib2FyZDpiZWZvcmV7Y29udGVudDoiXGUxNDEifS5nbHlwaGljb24tcGFwZXJjbGlwOmJlZm9yZXtjb250ZW50OiJcZTE0MiJ9LmdseXBoaWNvbi1oZWFydC1lbXB0eTpiZWZvcmV7Y29udGVudDoiXGUxNDMifS5nbHlwaGljb24tbGluazpiZWZvcmV7Y29udGVudDoiXGUxNDQifS5nbHlwaGljb24tcGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxlMTQ1In0uZ2x5cGhpY29uLXB1c2hwaW46YmVmb3Jle2NvbnRlbnQ6IlxlMTQ2In0uZ2x5cGhpY29uLXVzZDpiZWZvcmV7Y29udGVudDoiXGUxNDgifS5nbHlwaGljb24tZ2JwOmJlZm9yZXtjb250ZW50OiJcZTE0OSJ9LmdseXBoaWNvbi1zb3J0OmJlZm9yZXtjb250ZW50OiJcZTE1MCJ9LmdseXBoaWNvbi1zb3J0LWJ5LWFscGhhYmV0OmJlZm9yZXtjb250ZW50OiJcZTE1MSJ9LmdseXBoaWNvbi1zb3J0LWJ5LWFscGhhYmV0LWFsdDpiZWZvcmV7Y29udGVudDoiXGUxNTIifS5nbHlwaGljb24tc29ydC1ieS1vcmRlcjpiZWZvcmV7Y29udGVudDoiXGUxNTMifS5nbHlwaGljb24tc29ydC1ieS1vcmRlci1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTU0In0uZ2x5cGhpY29uLXNvcnQtYnktYXR0cmlidXRlczpiZWZvcmV7Y29udGVudDoiXGUxNTUifS5nbHlwaGljb24tc29ydC1ieS1hdHRyaWJ1dGVzLWFsdDpiZWZvcmV7Y29udGVudDoiXGUxNTYifS5nbHlwaGljb24tdW5jaGVja2VkOmJlZm9yZXtjb250ZW50OiJcZTE1NyJ9LmdseXBoaWNvbi1leHBhbmQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTU4In0uZ2x5cGhpY29uLWNvbGxhcHNlLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxlMTU5In0uZ2x5cGhpY29uLWNvbGxhcHNlLXVwOmJlZm9yZXtjb250ZW50OiJcZTE2MCJ9LmdseXBoaWNvbi1sb2ctaW46YmVmb3Jle2NvbnRlbnQ6IlxlMTYxIn0uZ2x5cGhpY29uLWZsYXNoOmJlZm9yZXtjb250ZW50OiJcZTE2MiJ9LmdseXBoaWNvbi1sb2ctb3V0OmJlZm9yZXtjb250ZW50OiJcZTE2MyJ9LmdseXBoaWNvbi1uZXctd2luZG93OmJlZm9yZXtjb250ZW50OiJcZTE2NCJ9LmdseXBoaWNvbi1yZWNvcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTY1In0uZ2x5cGhpY29uLXNhdmU6YmVmb3Jle2NvbnRlbnQ6IlxlMTY2In0uZ2x5cGhpY29uLW9wZW46YmVmb3Jle2NvbnRlbnQ6IlxlMTY3In0uZ2x5cGhpY29uLXNhdmVkOmJlZm9yZXtjb250ZW50OiJcZTE2OCJ9LmdseXBoaWNvbi1pbXBvcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTY5In0uZ2x5cGhpY29uLWV4cG9ydDpiZWZvcmV7Y29udGVudDoiXGUxNzAifS5nbHlwaGljb24tc2VuZDpiZWZvcmV7Y29udGVudDoiXGUxNzEifS5nbHlwaGljb24tZmxvcHB5LWRpc2s6YmVmb3Jle2NvbnRlbnQ6IlxlMTcyIn0uZ2x5cGhpY29uLWZsb3BweS1zYXZlZDpiZWZvcmV7Y29udGVudDoiXGUxNzMifS5nbHlwaGljb24tZmxvcHB5LXJlbW92ZTpiZWZvcmV7Y29udGVudDoiXGUxNzQifS5nbHlwaGljb24tZmxvcHB5LXNhdmU6YmVmb3Jle2NvbnRlbnQ6IlxlMTc1In0uZ2x5cGhpY29uLWZsb3BweS1vcGVuOmJlZm9yZXtjb250ZW50OiJcZTE3NiJ9LmdseXBoaWNvbi1jcmVkaXQtY2FyZDpiZWZvcmV7Y29udGVudDoiXGUxNzcifS5nbHlwaGljb24tdHJhbnNmZXI6YmVmb3Jle2NvbnRlbnQ6IlxlMTc4In0uZ2x5cGhpY29uLWN1dGxlcnk6YmVmb3Jle2NvbnRlbnQ6IlxlMTc5In0uZ2x5cGhpY29uLWhlYWRlcjpiZWZvcmV7Y29udGVudDoiXGUxODAifS5nbHlwaGljb24tY29tcHJlc3NlZDpiZWZvcmV7Y29udGVudDoiXGUxODEifS5nbHlwaGljb24tZWFycGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxlMTgyIn0uZ2x5cGhpY29uLXBob25lLWFsdDpiZWZvcmV7Y29udGVudDoiXGUxODMifS5nbHlwaGljb24tdG93ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlMTg0In0uZ2x5cGhpY29uLXN0YXRzOmJlZm9yZXtjb250ZW50OiJcZTE4NSJ9LmdseXBoaWNvbi1zZC12aWRlbzpiZWZvcmV7Y29udGVudDoiXGUxODYifS5nbHlwaGljb24taGQtdmlkZW86YmVmb3Jle2NvbnRlbnQ6IlxlMTg3In0uZ2x5cGhpY29uLXN1YnRpdGxlczpiZWZvcmV7Y29udGVudDoiXGUxODgifS5nbHlwaGljb24tc291bmQtc3RlcmVvOmJlZm9yZXtjb250ZW50OiJcZTE4OSJ9LmdseXBoaWNvbi1zb3VuZC1kb2xieTpiZWZvcmV7Y29udGVudDoiXGUxOTAifS5nbHlwaGljb24tc291bmQtNS0xOmJlZm9yZXtjb250ZW50OiJcZTE5MSJ9LmdseXBoaWNvbi1zb3VuZC02LTE6YmVmb3Jle2NvbnRlbnQ6IlxlMTkyIn0uZ2x5cGhpY29uLXNvdW5kLTctMTpiZWZvcmV7Y29udGVudDoiXGUxOTMifS5nbHlwaGljb24tY29weXJpZ2h0LW1hcms6YmVmb3Jle2NvbnRlbnQ6IlxlMTk0In0uZ2x5cGhpY29uLXJlZ2lzdHJhdGlvbi1tYXJrOmJlZm9yZXtjb250ZW50OiJcZTE5NSJ9LmdseXBoaWNvbi1jbG91ZC1kb3dubG9hZDpiZWZvcmV7Y29udGVudDoiXGUxOTcifS5nbHlwaGljb24tY2xvdWQtdXBsb2FkOmJlZm9yZXtjb250ZW50OiJcZTE5OCJ9LmdseXBoaWNvbi10cmVlLWNvbmlmZXI6YmVmb3Jle2NvbnRlbnQ6IlxlMTk5In0uZ2x5cGhpY29uLXRyZWUtZGVjaWR1b3VzOmJlZm9yZXtjb250ZW50OiJcZTIwMCJ9LmdseXBoaWNvbi1jZDpiZWZvcmV7Y29udGVudDoiXGUyMDEifS5nbHlwaGljb24tc2F2ZS1maWxlOmJlZm9yZXtjb250ZW50OiJcZTIwMiJ9LmdseXBoaWNvbi1vcGVuLWZpbGU6YmVmb3Jle2NvbnRlbnQ6IlxlMjAzIn0uZ2x5cGhpY29uLWxldmVsLXVwOmJlZm9yZXtjb250ZW50OiJcZTIwNCJ9LmdseXBoaWNvbi1jb3B5OmJlZm9yZXtjb250ZW50OiJcZTIwNSJ9LmdseXBoaWNvbi1wYXN0ZTpiZWZvcmV7Y29udGVudDoiXGUyMDYifS5nbHlwaGljb24tYWxlcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMjA5In0uZ2x5cGhpY29uLWVxdWFsaXplcjpiZWZvcmV7Y29udGVudDoiXGUyMTAifS5nbHlwaGljb24ta2luZzpiZWZvcmV7Y29udGVudDoiXGUyMTEifS5nbHlwaGljb24tcXVlZW46YmVmb3Jle2NvbnRlbnQ6IlxlMjEyIn0uZ2x5cGhpY29uLXBhd246YmVmb3Jle2NvbnRlbnQ6IlxlMjEzIn0uZ2x5cGhpY29uLWJpc2hvcDpiZWZvcmV7Y29udGVudDoiXGUyMTQifS5nbHlwaGljb24ta25pZ2h0OmJlZm9yZXtjb250ZW50OiJcZTIxNSJ9LmdseXBoaWNvbi1iYWJ5LWZvcm11bGE6YmVmb3Jle2NvbnRlbnQ6IlxlMjE2In0uZ2x5cGhpY29uLXRlbnQ6YmVmb3Jle2NvbnRlbnQ6IlwyNmZhIn0uZ2x5cGhpY29uLWJsYWNrYm9hcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlMjE4In0uZ2x5cGhpY29uLWJlZDpiZWZvcmV7Y29udGVudDoiXGUyMTkifS5nbHlwaGljb24tYXBwbGU6YmVmb3Jle2NvbnRlbnQ6IlxmOGZmIn0uZ2x5cGhpY29uLWVyYXNlOmJlZm9yZXtjb250ZW50OiJcZTIyMSJ9LmdseXBoaWNvbi1ob3VyZ2xhc3M6YmVmb3Jle2NvbnRlbnQ6IlwyMzFiIn0uZ2x5cGhpY29uLWxhbXA6YmVmb3Jle2NvbnRlbnQ6IlxlMjIzIn0uZ2x5cGhpY29uLWR1cGxpY2F0ZTpiZWZvcmV7Y29udGVudDoiXGUyMjQifS5nbHlwaGljb24tcGlnZ3ktYmFuazpiZWZvcmV7Y29udGVudDoiXGUyMjUifS5nbHlwaGljb24tc2Npc3NvcnM6YmVmb3Jle2NvbnRlbnQ6IlxlMjI2In0uZ2x5cGhpY29uLWJpdGNvaW46YmVmb3Jle2NvbnRlbnQ6IlxlMjI3In0uZ2x5cGhpY29uLWJ0YzpiZWZvcmV7Y29udGVudDoiXGUyMjcifS5nbHlwaGljb24teGJ0OmJlZm9yZXtjb250ZW50OiJcZTIyNyJ9LmdseXBoaWNvbi15ZW46YmVmb3Jle2NvbnRlbnQ6IlwwMGE1In0uZ2x5cGhpY29uLWpweTpiZWZvcmV7Y29udGVudDoiXDAwYTUifS5nbHlwaGljb24tcnVibGU6YmVmb3Jle2NvbnRlbnQ6IlwyMGJkIn0uZ2x5cGhpY29uLXJ1YjpiZWZvcmV7Y29udGVudDoiXDIwYmQifS5nbHlwaGljb24tc2NhbGU6YmVmb3Jle2NvbnRlbnQ6IlxlMjMwIn0uZ2x5cGhpY29uLWljZS1sb2xseTpiZWZvcmV7Y29udGVudDoiXGUyMzEifS5nbHlwaGljb24taWNlLWxvbGx5LXRhc3RlZDpiZWZvcmV7Y29udGVudDoiXGUyMzIifS5nbHlwaGljb24tZWR1Y2F0aW9uOmJlZm9yZXtjb250ZW50OiJcZTIzMyJ9LmdseXBoaWNvbi1vcHRpb24taG9yaXpvbnRhbDpiZWZvcmV7Y29udGVudDoiXGUyMzQifS5nbHlwaGljb24tb3B0aW9uLXZlcnRpY2FsOmJlZm9yZXtjb250ZW50OiJcZTIzNSJ9LmdseXBoaWNvbi1tZW51LWhhbWJ1cmdlcjpiZWZvcmV7Y29udGVudDoiXGUyMzYifS5nbHlwaGljb24tbW9kYWwtd2luZG93OmJlZm9yZXtjb250ZW50OiJcZTIzNyJ9LmdseXBoaWNvbi1vaWw6YmVmb3Jle2NvbnRlbnQ6IlxlMjM4In0uZ2x5cGhpY29uLWdyYWluOmJlZm9yZXtjb250ZW50OiJcZTIzOSJ9LmdseXBoaWNvbi1zdW5nbGFzc2VzOmJlZm9yZXtjb250ZW50OiJcZTI0MCJ9LmdseXBoaWNvbi10ZXh0LXNpemU6YmVmb3Jle2NvbnRlbnQ6IlxlMjQxIn0uZ2x5cGhpY29uLXRleHQtY29sb3I6YmVmb3Jle2NvbnRlbnQ6IlxlMjQyIn0uZ2x5cGhpY29uLXRleHQtYmFja2dyb3VuZDpiZWZvcmV7Y29udGVudDoiXGUyNDMifS5nbHlwaGljb24tb2JqZWN0LWFsaWduLXRvcDpiZWZvcmV7Y29udGVudDoiXGUyNDQifS5nbHlwaGljb24tb2JqZWN0LWFsaWduLWJvdHRvbTpiZWZvcmV7Y29udGVudDoiXGUyNDUifS5nbHlwaGljb24tb2JqZWN0LWFsaWduLWhvcml6b250YWw6YmVmb3Jle2NvbnRlbnQ6IlxlMjQ2In0uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZTI0NyJ9LmdseXBoaWNvbi1vYmplY3QtYWxpZ24tdmVydGljYWw6YmVmb3Jle2NvbnRlbnQ6IlxlMjQ4In0uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1yaWdodDpiZWZvcmV7Y29udGVudDoiXGUyNDkifS5nbHlwaGljb24tdHJpYW5nbGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMjUwIn0uZ2x5cGhpY29uLXRyaWFuZ2xlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMjUxIn0uZ2x5cGhpY29uLXRyaWFuZ2xlLWJvdHRvbTpiZWZvcmV7Y29udGVudDoiXGUyNTIifS5nbHlwaGljb24tdHJpYW5nbGUtdG9wOmJlZm9yZXtjb250ZW50OiJcZTI1MyJ9LmdseXBoaWNvbi1jb25zb2xlOmJlZm9yZXtjb250ZW50OiJcZTI1NCJ9LmdseXBoaWNvbi1zdXBlcnNjcmlwdDpiZWZvcmV7Y29udGVudDoiXGUyNTUifS5nbHlwaGljb24tc3Vic2NyaXB0OmJlZm9yZXtjb250ZW50OiJcZTI1NiJ9LmdseXBoaWNvbi1tZW51LWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMjU3In0uZ2x5cGhpY29uLW1lbnUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMjU4In0uZ2x5cGhpY29uLW1lbnUtZG93bjpiZWZvcmV7Y29udGVudDoiXGUyNTkifS5nbHlwaGljb24tbWVudS11cDpiZWZvcmV7Y29udGVudDoiXGUyNjAifSp7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fTphZnRlciw6YmVmb3Jley13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH1odG1se2ZvbnQtc2l6ZToxMHB4Oy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApfWJvZHl7Zm9udC1mYW1pbHk6IkhlbHZldGljYSBOZXVlIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxLjQyODU3MTQzO2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjojZmZmfWJ1dHRvbixpbnB1dCxzZWxlY3QsdGV4dGFyZWF7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6aW5oZXJpdDtsaW5lLWhlaWdodDppbmhlcml0fWF7Y29sb3I6IzMzN2FiNzt0ZXh0LWRlY29yYXRpb246bm9uZX1hOmZvY3VzLGE6aG92ZXJ7Y29sb3I6IzIzNTI3Yzt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfWE6Zm9jdXN7b3V0bGluZTp0aGluIGRvdHRlZDtvdXRsaW5lOjVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtvdXRsaW5lLW9mZnNldDotMnB4fWZpZ3VyZXttYXJnaW46MH1pbWd7dmVydGljYWwtYWxpZ246bWlkZGxlfS5jYXJvdXNlbC1pbm5lcj4uaXRlbT5hPmltZywuY2Fyb3VzZWwtaW5uZXI+Lml0ZW0+aW1nLC5pbWctcmVzcG9uc2l2ZSwudGh1bWJuYWlsIGE+aW1nLC50aHVtYm5haWw+aW1ne2Rpc3BsYXk6YmxvY2s7bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OmF1dG99LmltZy1yb3VuZGVke2JvcmRlci1yYWRpdXM6NnB4fS5pbWctdGh1bWJuYWlse2Rpc3BsYXk6aW5saW5lLWJsb2NrO21heC13aWR0aDoxMDAlO2hlaWdodDphdXRvO3BhZGRpbmc6NHB4O2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDM7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgI2RkZDtib3JkZXItcmFkaXVzOjRweDstd2Via2l0LXRyYW5zaXRpb246YWxsIC4ycyBlYXNlLWluLW91dDstby10cmFuc2l0aW9uOmFsbCAuMnMgZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbjphbGwgLjJzIGVhc2UtaW4tb3V0fS5pbWctY2lyY2xle2JvcmRlci1yYWRpdXM6NTAlfWhye21hcmdpbi10b3A6MjBweDttYXJnaW4tYm90dG9tOjIwcHg7Ym9yZGVyOjA7Ym9yZGVyLXRvcDoxcHggc29saWQgI2VlZX0uc3Itb25seXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7aGVpZ2h0OjFweDtwYWRkaW5nOjA7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO2NsaXA6cmVjdCgwLDAsMCwwKTtib3JkZXI6MH0uc3Itb25seS1mb2N1c2FibGU6YWN0aXZlLC5zci1vbmx5LWZvY3VzYWJsZTpmb2N1c3twb3NpdGlvbjpzdGF0aWM7d2lkdGg6YXV0bztoZWlnaHQ6YXV0bzttYXJnaW46MDtvdmVyZmxvdzp2aXNpYmxlO2NsaXA6YXV0b31bcm9sZT1idXR0b25de2N1cnNvcjpwb2ludGVyfS5oMSwuaDIsLmgzLC5oNCwuaDUsLmg2LGgxLGgyLGgzLGg0LGg1LGg2e2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjEuMTtjb2xvcjppbmhlcml0fS5oMSAuc21hbGwsLmgxIHNtYWxsLC5oMiAuc21hbGwsLmgyIHNtYWxsLC5oMyAuc21hbGwsLmgzIHNtYWxsLC5oNCAuc21hbGwsLmg0IHNtYWxsLC5oNSAuc21hbGwsLmg1IHNtYWxsLC5oNiAuc21hbGwsLmg2IHNtYWxsLGgxIC5zbWFsbCxoMSBzbWFsbCxoMiAuc21hbGwsaDIgc21hbGwsaDMgLnNtYWxsLGgzIHNtYWxsLGg0IC5zbWFsbCxoNCBzbWFsbCxoNSAuc21hbGwsaDUgc21hbGwsaDYgLnNtYWxsLGg2IHNtYWxse2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxO2NvbG9yOiM3Nzd9LmgxLC5oMiwuaDMsaDEsaDIsaDN7bWFyZ2luLXRvcDoyMHB4O21hcmdpbi1ib3R0b206MTBweH0uaDEgLnNtYWxsLC5oMSBzbWFsbCwuaDIgLnNtYWxsLC5oMiBzbWFsbCwuaDMgLnNtYWxsLC5oMyBzbWFsbCxoMSAuc21hbGwsaDEgc21hbGwsaDIgLnNtYWxsLGgyIHNtYWxsLGgzIC5zbWFsbCxoMyBzbWFsbHtmb250LXNpemU6NjUlfS5oNCwuaDUsLmg2LGg0LGg1LGg2e21hcmdpbi10b3A6MTBweDttYXJnaW4tYm90dG9tOjEwcHh9Lmg0IC5zbWFsbCwuaDQgc21hbGwsLmg1IC5zbWFsbCwuaDUgc21hbGwsLmg2IC5zbWFsbCwuaDYgc21hbGwsaDQgLnNtYWxsLGg0IHNtYWxsLGg1IC5zbWFsbCxoNSBzbWFsbCxoNiAuc21hbGwsaDYgc21hbGx7Zm9udC1zaXplOjc1JX0uaDEsaDF7Zm9udC1zaXplOjM2cHh9LmgyLGgye2ZvbnQtc2l6ZTozMHB4fS5oMyxoM3tmb250LXNpemU6MjRweH0uaDQsaDR7Zm9udC1zaXplOjE4cHh9Lmg1LGg1e2ZvbnQtc2l6ZToxNHB4fS5oNixoNntmb250LXNpemU6MTJweH1we21hcmdpbjowIDAgMTBweH0ubGVhZHttYXJnaW4tYm90dG9tOjIwcHg7Zm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6MzAwO2xpbmUtaGVpZ2h0OjEuNH1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7LmxlYWR7Zm9udC1zaXplOjIxcHh9fS5zbWFsbCxzbWFsbHtmb250LXNpemU6ODUlfS5tYXJrLG1hcmt7cGFkZGluZzouMmVtO2JhY2tncm91bmQtY29sb3I6I2ZjZjhlM30udGV4dC1sZWZ0e3RleHQtYWxpZ246bGVmdH0udGV4dC1yaWdodHt0ZXh0LWFsaWduOnJpZ2h0fS50ZXh0LWNlbnRlcnt0ZXh0LWFsaWduOmNlbnRlcn0udGV4dC1qdXN0aWZ5e3RleHQtYWxpZ246anVzdGlmeX0udGV4dC1ub3dyYXB7d2hpdGUtc3BhY2U6bm93cmFwfS50ZXh0LWxvd2VyY2FzZXt0ZXh0LXRyYW5zZm9ybTpsb3dlcmNhc2V9LnRleHQtdXBwZXJjYXNle3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0udGV4dC1jYXBpdGFsaXple3RleHQtdHJhbnNmb3JtOmNhcGl0YWxpemV9LnRleHQtbXV0ZWR7Y29sb3I6Izc3N30udGV4dC1wcmltYXJ5e2NvbG9yOiMzMzdhYjd9YS50ZXh0LXByaW1hcnk6aG92ZXJ7Y29sb3I6IzI4NjA5MH0udGV4dC1zdWNjZXNze2NvbG9yOiMzYzc2M2R9YS50ZXh0LXN1Y2Nlc3M6aG92ZXJ7Y29sb3I6IzJiNTQyY30udGV4dC1pbmZve2NvbG9yOiMzMTcwOGZ9YS50ZXh0LWluZm86aG92ZXJ7Y29sb3I6IzI0NTI2OX0udGV4dC13YXJuaW5ne2NvbG9yOiM4YTZkM2J9YS50ZXh0LXdhcm5pbmc6aG92ZXJ7Y29sb3I6IzY2NTEyY30udGV4dC1kYW5nZXJ7Y29sb3I6I2E5NDQ0Mn1hLnRleHQtZGFuZ2VyOmhvdmVye2NvbG9yOiM4NDM1MzR9LmJnLXByaW1hcnl7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzMzdhYjd9YS5iZy1wcmltYXJ5OmhvdmVye2JhY2tncm91bmQtY29sb3I6IzI4NjA5MH0uYmctc3VjY2Vzc3tiYWNrZ3JvdW5kLWNvbG9yOiNkZmYwZDh9YS5iZy1zdWNjZXNzOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2MxZTJiM30uYmctaW5mb3tiYWNrZ3JvdW5kLWNvbG9yOiNkOWVkZjd9YS5iZy1pbmZvOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2FmZDllZX0uYmctd2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOiNmY2Y4ZTN9YS5iZy13YXJuaW5nOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2Y3ZWNiNX0uYmctZGFuZ2Vye2JhY2tncm91bmQtY29sb3I6I2YyZGVkZX1hLmJnLWRhbmdlcjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNlNGI5Yjl9LnBhZ2UtaGVhZGVye3BhZGRpbmctYm90dG9tOjlweDttYXJnaW46NDBweCAwIDIwcHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2VlZX1vbCx1bHttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbToxMHB4fW9sIG9sLG9sIHVsLHVsIG9sLHVsIHVse21hcmdpbi1ib3R0b206MH0ubGlzdC11bnN0eWxlZHtwYWRkaW5nLWxlZnQ6MDtsaXN0LXN0eWxlOm5vbmV9Lmxpc3QtaW5saW5le3BhZGRpbmctbGVmdDowO21hcmdpbi1sZWZ0Oi01cHg7bGlzdC1zdHlsZTpub25lfS5saXN0LWlubGluZT5saXtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLXJpZ2h0OjVweDtwYWRkaW5nLWxlZnQ6NXB4fWRse21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjIwcHh9ZGQsZHR7bGluZS1oZWlnaHQ6MS40Mjg1NzE0M31kdHtmb250LXdlaWdodDo3MDB9ZGR7bWFyZ2luLWxlZnQ6MH1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7LmRsLWhvcml6b250YWwgZHR7ZmxvYXQ6bGVmdDt3aWR0aDoxNjBweDtvdmVyZmxvdzpoaWRkZW47Y2xlYXI6bGVmdDt0ZXh0LWFsaWduOnJpZ2h0O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5kbC1ob3Jpem9udGFsIGRke21hcmdpbi1sZWZ0OjE4MHB4fX1hYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdLGFiYnJbdGl0bGVde2N1cnNvcjpoZWxwO2JvcmRlci1ib3R0b206MXB4IGRvdHRlZCAjNzc3fS5pbml0aWFsaXNte2ZvbnQtc2l6ZTo5MCU7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfWJsb2NrcXVvdGV7cGFkZGluZzoxMHB4IDIwcHg7bWFyZ2luOjAgMCAyMHB4O2ZvbnQtc2l6ZToxNy41cHg7Ym9yZGVyLWxlZnQ6NXB4IHNvbGlkICNlZWV9YmxvY2txdW90ZSBvbDpsYXN0LWNoaWxkLGJsb2NrcXVvdGUgcDpsYXN0LWNoaWxkLGJsb2NrcXVvdGUgdWw6bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9YmxvY2txdW90ZSAuc21hbGwsYmxvY2txdW90ZSBmb290ZXIsYmxvY2txdW90ZSBzbWFsbHtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZTo4MCU7bGluZS1oZWlnaHQ6MS40Mjg1NzE0Mztjb2xvcjojNzc3fWJsb2NrcXVvdGUgLnNtYWxsOmJlZm9yZSxibG9ja3F1b3RlIGZvb3RlcjpiZWZvcmUsYmxvY2txdW90ZSBzbWFsbDpiZWZvcmV7Y29udGVudDonXDIwMTQgXDAwQTAnfS5ibG9ja3F1b3RlLXJldmVyc2UsYmxvY2txdW90ZS5wdWxsLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTVweDtwYWRkaW5nLWxlZnQ6MDt0ZXh0LWFsaWduOnJpZ2h0O2JvcmRlci1yaWdodDo1cHggc29saWQgI2VlZTtib3JkZXItbGVmdDowfS5ibG9ja3F1b3RlLXJldmVyc2UgLnNtYWxsOmJlZm9yZSwuYmxvY2txdW90ZS1yZXZlcnNlIGZvb3RlcjpiZWZvcmUsLmJsb2NrcXVvdGUtcmV2ZXJzZSBzbWFsbDpiZWZvcmUsYmxvY2txdW90ZS5wdWxsLXJpZ2h0IC5zbWFsbDpiZWZvcmUsYmxvY2txdW90ZS5wdWxsLXJpZ2h0IGZvb3RlcjpiZWZvcmUsYmxvY2txdW90ZS5wdWxsLXJpZ2h0IHNtYWxsOmJlZm9yZXtjb250ZW50OicnfS5ibG9ja3F1b3RlLXJldmVyc2UgLnNtYWxsOmFmdGVyLC5ibG9ja3F1b3RlLXJldmVyc2UgZm9vdGVyOmFmdGVyLC5ibG9ja3F1b3RlLXJldmVyc2Ugc21hbGw6YWZ0ZXIsYmxvY2txdW90ZS5wdWxsLXJpZ2h0IC5zbWFsbDphZnRlcixibG9ja3F1b3RlLnB1bGwtcmlnaHQgZm9vdGVyOmFmdGVyLGJsb2NrcXVvdGUucHVsbC1yaWdodCBzbWFsbDphZnRlcntjb250ZW50OidcMDBBMCBcMjAxNCd9YWRkcmVzc3ttYXJnaW4tYm90dG9tOjIwcHg7Zm9udC1zdHlsZTpub3JtYWw7bGluZS1oZWlnaHQ6MS40Mjg1NzE0M31jb2RlLGtiZCxwcmUsc2FtcHtmb250LWZhbWlseTpNZW5sbyxNb25hY28sQ29uc29sYXMsIkNvdXJpZXIgTmV3Iixtb25vc3BhY2V9Y29kZXtwYWRkaW5nOjJweCA0cHg7Zm9udC1zaXplOjkwJTtjb2xvcjojYzcyNTRlO2JhY2tncm91bmQtY29sb3I6I2Y5ZjJmNDtib3JkZXItcmFkaXVzOjRweH1rYmR7cGFkZGluZzoycHggNHB4O2ZvbnQtc2l6ZTo5MCU7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzMzM7Ym9yZGVyLXJhZGl1czozcHg7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgLTFweCAwIHJnYmEoMCwwLDAsLjI1KTtib3gtc2hhZG93Omluc2V0IDAgLTFweCAwIHJnYmEoMCwwLDAsLjI1KX1rYmQga2Jke3BhZGRpbmc6MDtmb250LXNpemU6MTAwJTtmb250LXdlaWdodDo3MDA7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lfXByZXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6OS41cHg7bWFyZ2luOjAgMCAxMHB4O2ZvbnQtc2l6ZToxM3B4O2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDM7Y29sb3I6IzMzMzt3b3JkLWJyZWFrOmJyZWFrLWFsbDt3b3JkLXdyYXA6YnJlYWstd29yZDtiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjU7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JvcmRlci1yYWRpdXM6NHB4fXByZSBjb2Rle3BhZGRpbmc6MDtmb250LXNpemU6aW5oZXJpdDtjb2xvcjppbmhlcml0O3doaXRlLXNwYWNlOnByZS13cmFwO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czowfS5wcmUtc2Nyb2xsYWJsZXttYXgtaGVpZ2h0OjM0MHB4O292ZXJmbG93LXk6c2Nyb2xsfS5jb250YWluZXJ7cGFkZGluZy1yaWdodDoxNXB4O3BhZGRpbmctbGVmdDoxNXB4O21hcmdpbi1yaWdodDphdXRvO21hcmdpbi1sZWZ0OmF1dG99QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5jb250YWluZXJ7d2lkdGg6NzUwcHh9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsuY29udGFpbmVye3dpZHRoOjk3MHB4fX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey5jb250YWluZXJ7d2lkdGg6MTE3MHB4fX0uY29udGFpbmVyLWZsdWlke3BhZGRpbmctcmlnaHQ6MTVweDtwYWRkaW5nLWxlZnQ6MTVweDttYXJnaW4tcmlnaHQ6YXV0bzttYXJnaW4tbGVmdDphdXRvfS5yb3d7bWFyZ2luLXJpZ2h0Oi0xNXB4O21hcmdpbi1sZWZ0Oi0xNXB4fS5jb2wtbGctMSwuY29sLWxnLTEwLC5jb2wtbGctMTEsLmNvbC1sZy0xMiwuY29sLWxnLTIsLmNvbC1sZy0zLC5jb2wtbGctNCwuY29sLWxnLTUsLmNvbC1sZy02LC5jb2wtbGctNywuY29sLWxnLTgsLmNvbC1sZy05LC5jb2wtbWQtMSwuY29sLW1kLTEwLC5jb2wtbWQtMTEsLmNvbC1tZC0xMiwuY29sLW1kLTIsLmNvbC1tZC0zLC5jb2wtbWQtNCwuY29sLW1kLTUsLmNvbC1tZC02LC5jb2wtbWQtNywuY29sLW1kLTgsLmNvbC1tZC05LC5jb2wtc20tMSwuY29sLXNtLTEwLC5jb2wtc20tMTEsLmNvbC1zbS0xMiwuY29sLXNtLTIsLmNvbC1zbS0zLC5jb2wtc20tNCwuY29sLXNtLTUsLmNvbC1zbS02LC5jb2wtc20tNywuY29sLXNtLTgsLmNvbC1zbS05LC5jb2wteHMtMSwuY29sLXhzLTEwLC5jb2wteHMtMTEsLmNvbC14cy0xMiwuY29sLXhzLTIsLmNvbC14cy0zLC5jb2wteHMtNCwuY29sLXhzLTUsLmNvbC14cy02LC5jb2wteHMtNywuY29sLXhzLTgsLmNvbC14cy05e3Bvc2l0aW9uOnJlbGF0aXZlO21pbi1oZWlnaHQ6MXB4O3BhZGRpbmctcmlnaHQ6MTVweDtwYWRkaW5nLWxlZnQ6MTVweH0uY29sLXhzLTEsLmNvbC14cy0xMCwuY29sLXhzLTExLC5jb2wteHMtMTIsLmNvbC14cy0yLC5jb2wteHMtMywuY29sLXhzLTQsLmNvbC14cy01LC5jb2wteHMtNiwuY29sLXhzLTcsLmNvbC14cy04LC5jb2wteHMtOXtmbG9hdDpsZWZ0fS5jb2wteHMtMTJ7d2lkdGg6MTAwJX0uY29sLXhzLTExe3dpZHRoOjkxLjY2NjY2NjY3JX0uY29sLXhzLTEwe3dpZHRoOjgzLjMzMzMzMzMzJX0uY29sLXhzLTl7d2lkdGg6NzUlfS5jb2wteHMtOHt3aWR0aDo2Ni42NjY2NjY2NyV9LmNvbC14cy03e3dpZHRoOjU4LjMzMzMzMzMzJX0uY29sLXhzLTZ7d2lkdGg6NTAlfS5jb2wteHMtNXt3aWR0aDo0MS42NjY2NjY2NyV9LmNvbC14cy00e3dpZHRoOjMzLjMzMzMzMzMzJX0uY29sLXhzLTN7d2lkdGg6MjUlfS5jb2wteHMtMnt3aWR0aDoxNi42NjY2NjY2NyV9LmNvbC14cy0xe3dpZHRoOjguMzMzMzMzMzMlfS5jb2wteHMtcHVsbC0xMntyaWdodDoxMDAlfS5jb2wteHMtcHVsbC0xMXtyaWdodDo5MS42NjY2NjY2NyV9LmNvbC14cy1wdWxsLTEwe3JpZ2h0OjgzLjMzMzMzMzMzJX0uY29sLXhzLXB1bGwtOXtyaWdodDo3NSV9LmNvbC14cy1wdWxsLTh7cmlnaHQ6NjYuNjY2NjY2NjclfS5jb2wteHMtcHVsbC03e3JpZ2h0OjU4LjMzMzMzMzMzJX0uY29sLXhzLXB1bGwtNntyaWdodDo1MCV9LmNvbC14cy1wdWxsLTV7cmlnaHQ6NDEuNjY2NjY2NjclfS5jb2wteHMtcHVsbC00e3JpZ2h0OjMzLjMzMzMzMzMzJX0uY29sLXhzLXB1bGwtM3tyaWdodDoyNSV9LmNvbC14cy1wdWxsLTJ7cmlnaHQ6MTYuNjY2NjY2NjclfS5jb2wteHMtcHVsbC0xe3JpZ2h0OjguMzMzMzMzMzMlfS5jb2wteHMtcHVsbC0we3JpZ2h0OmF1dG99LmNvbC14cy1wdXNoLTEye2xlZnQ6MTAwJX0uY29sLXhzLXB1c2gtMTF7bGVmdDo5MS42NjY2NjY2NyV9LmNvbC14cy1wdXNoLTEwe2xlZnQ6ODMuMzMzMzMzMzMlfS5jb2wteHMtcHVzaC05e2xlZnQ6NzUlfS5jb2wteHMtcHVzaC04e2xlZnQ6NjYuNjY2NjY2NjclfS5jb2wteHMtcHVzaC03e2xlZnQ6NTguMzMzMzMzMzMlfS5jb2wteHMtcHVzaC02e2xlZnQ6NTAlfS5jb2wteHMtcHVzaC01e2xlZnQ6NDEuNjY2NjY2NjclfS5jb2wteHMtcHVzaC00e2xlZnQ6MzMuMzMzMzMzMzMlfS5jb2wteHMtcHVzaC0ze2xlZnQ6MjUlfS5jb2wteHMtcHVzaC0ye2xlZnQ6MTYuNjY2NjY2NjclfS5jb2wteHMtcHVzaC0xe2xlZnQ6OC4zMzMzMzMzMyV9LmNvbC14cy1wdXNoLTB7bGVmdDphdXRvfS5jb2wteHMtb2Zmc2V0LTEye21hcmdpbi1sZWZ0OjEwMCV9LmNvbC14cy1vZmZzZXQtMTF7bWFyZ2luLWxlZnQ6OTEuNjY2NjY2NjclfS5jb2wteHMtb2Zmc2V0LTEwe21hcmdpbi1sZWZ0OjgzLjMzMzMzMzMzJX0uY29sLXhzLW9mZnNldC05e21hcmdpbi1sZWZ0Ojc1JX0uY29sLXhzLW9mZnNldC04e21hcmdpbi1sZWZ0OjY2LjY2NjY2NjY3JX0uY29sLXhzLW9mZnNldC03e21hcmdpbi1sZWZ0OjU4LjMzMzMzMzMzJX0uY29sLXhzLW9mZnNldC02e21hcmdpbi1sZWZ0OjUwJX0uY29sLXhzLW9mZnNldC01e21hcmdpbi1sZWZ0OjQxLjY2NjY2NjY3JX0uY29sLXhzLW9mZnNldC00e21hcmdpbi1sZWZ0OjMzLjMzMzMzMzMzJX0uY29sLXhzLW9mZnNldC0ze21hcmdpbi1sZWZ0OjI1JX0uY29sLXhzLW9mZnNldC0ye21hcmdpbi1sZWZ0OjE2LjY2NjY2NjY3JX0uY29sLXhzLW9mZnNldC0xe21hcmdpbi1sZWZ0OjguMzMzMzMzMzMlfS5jb2wteHMtb2Zmc2V0LTB7bWFyZ2luLWxlZnQ6MH1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7LmNvbC1zbS0xLC5jb2wtc20tMTAsLmNvbC1zbS0xMSwuY29sLXNtLTEyLC5jb2wtc20tMiwuY29sLXNtLTMsLmNvbC1zbS00LC5jb2wtc20tNSwuY29sLXNtLTYsLmNvbC1zbS03LC5jb2wtc20tOCwuY29sLXNtLTl7ZmxvYXQ6bGVmdH0uY29sLXNtLTEye3dpZHRoOjEwMCV9LmNvbC1zbS0xMXt3aWR0aDo5MS42NjY2NjY2NyV9LmNvbC1zbS0xMHt3aWR0aDo4My4zMzMzMzMzMyV9LmNvbC1zbS05e3dpZHRoOjc1JX0uY29sLXNtLTh7d2lkdGg6NjYuNjY2NjY2NjclfS5jb2wtc20tN3t3aWR0aDo1OC4zMzMzMzMzMyV9LmNvbC1zbS02e3dpZHRoOjUwJX0uY29sLXNtLTV7d2lkdGg6NDEuNjY2NjY2NjclfS5jb2wtc20tNHt3aWR0aDozMy4zMzMzMzMzMyV9LmNvbC1zbS0ze3dpZHRoOjI1JX0uY29sLXNtLTJ7d2lkdGg6MTYuNjY2NjY2NjclfS5jb2wtc20tMXt3aWR0aDo4LjMzMzMzMzMzJX0uY29sLXNtLXB1bGwtMTJ7cmlnaHQ6MTAwJX0uY29sLXNtLXB1bGwtMTF7cmlnaHQ6OTEuNjY2NjY2NjclfS5jb2wtc20tcHVsbC0xMHtyaWdodDo4My4zMzMzMzMzMyV9LmNvbC1zbS1wdWxsLTl7cmlnaHQ6NzUlfS5jb2wtc20tcHVsbC04e3JpZ2h0OjY2LjY2NjY2NjY3JX0uY29sLXNtLXB1bGwtN3tyaWdodDo1OC4zMzMzMzMzMyV9LmNvbC1zbS1wdWxsLTZ7cmlnaHQ6NTAlfS5jb2wtc20tcHVsbC01e3JpZ2h0OjQxLjY2NjY2NjY3JX0uY29sLXNtLXB1bGwtNHtyaWdodDozMy4zMzMzMzMzMyV9LmNvbC1zbS1wdWxsLTN7cmlnaHQ6MjUlfS5jb2wtc20tcHVsbC0ye3JpZ2h0OjE2LjY2NjY2NjY3JX0uY29sLXNtLXB1bGwtMXtyaWdodDo4LjMzMzMzMzMzJX0uY29sLXNtLXB1bGwtMHtyaWdodDphdXRvfS5jb2wtc20tcHVzaC0xMntsZWZ0OjEwMCV9LmNvbC1zbS1wdXNoLTExe2xlZnQ6OTEuNjY2NjY2NjclfS5jb2wtc20tcHVzaC0xMHtsZWZ0OjgzLjMzMzMzMzMzJX0uY29sLXNtLXB1c2gtOXtsZWZ0Ojc1JX0uY29sLXNtLXB1c2gtOHtsZWZ0OjY2LjY2NjY2NjY3JX0uY29sLXNtLXB1c2gtN3tsZWZ0OjU4LjMzMzMzMzMzJX0uY29sLXNtLXB1c2gtNntsZWZ0OjUwJX0uY29sLXNtLXB1c2gtNXtsZWZ0OjQxLjY2NjY2NjY3JX0uY29sLXNtLXB1c2gtNHtsZWZ0OjMzLjMzMzMzMzMzJX0uY29sLXNtLXB1c2gtM3tsZWZ0OjI1JX0uY29sLXNtLXB1c2gtMntsZWZ0OjE2LjY2NjY2NjY3JX0uY29sLXNtLXB1c2gtMXtsZWZ0OjguMzMzMzMzMzMlfS5jb2wtc20tcHVzaC0we2xlZnQ6YXV0b30uY29sLXNtLW9mZnNldC0xMnttYXJnaW4tbGVmdDoxMDAlfS5jb2wtc20tb2Zmc2V0LTExe21hcmdpbi1sZWZ0OjkxLjY2NjY2NjY3JX0uY29sLXNtLW9mZnNldC0xMHttYXJnaW4tbGVmdDo4My4zMzMzMzMzMyV9LmNvbC1zbS1vZmZzZXQtOXttYXJnaW4tbGVmdDo3NSV9LmNvbC1zbS1vZmZzZXQtOHttYXJnaW4tbGVmdDo2Ni42NjY2NjY2NyV9LmNvbC1zbS1vZmZzZXQtN3ttYXJnaW4tbGVmdDo1OC4zMzMzMzMzMyV9LmNvbC1zbS1vZmZzZXQtNnttYXJnaW4tbGVmdDo1MCV9LmNvbC1zbS1vZmZzZXQtNXttYXJnaW4tbGVmdDo0MS42NjY2NjY2NyV9LmNvbC1zbS1vZmZzZXQtNHttYXJnaW4tbGVmdDozMy4zMzMzMzMzMyV9LmNvbC1zbS1vZmZzZXQtM3ttYXJnaW4tbGVmdDoyNSV9LmNvbC1zbS1vZmZzZXQtMnttYXJnaW4tbGVmdDoxNi42NjY2NjY2NyV9LmNvbC1zbS1vZmZzZXQtMXttYXJnaW4tbGVmdDo4LjMzMzMzMzMzJX0uY29sLXNtLW9mZnNldC0we21hcmdpbi1sZWZ0OjB9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsuY29sLW1kLTEsLmNvbC1tZC0xMCwuY29sLW1kLTExLC5jb2wtbWQtMTIsLmNvbC1tZC0yLC5jb2wtbWQtMywuY29sLW1kLTQsLmNvbC1tZC01LC5jb2wtbWQtNiwuY29sLW1kLTcsLmNvbC1tZC04LC5jb2wtbWQtOXtmbG9hdDpsZWZ0fS5jb2wtbWQtMTJ7d2lkdGg6MTAwJX0uY29sLW1kLTExe3dpZHRoOjkxLjY2NjY2NjY3JX0uY29sLW1kLTEwe3dpZHRoOjgzLjMzMzMzMzMzJX0uY29sLW1kLTl7d2lkdGg6NzUlfS5jb2wtbWQtOHt3aWR0aDo2Ni42NjY2NjY2NyV9LmNvbC1tZC03e3dpZHRoOjU4LjMzMzMzMzMzJX0uY29sLW1kLTZ7d2lkdGg6NTAlfS5jb2wtbWQtNXt3aWR0aDo0MS42NjY2NjY2NyV9LmNvbC1tZC00e3dpZHRoOjMzLjMzMzMzMzMzJX0uY29sLW1kLTN7d2lkdGg6MjUlfS5jb2wtbWQtMnt3aWR0aDoxNi42NjY2NjY2NyV9LmNvbC1tZC0xe3dpZHRoOjguMzMzMzMzMzMlfS5jb2wtbWQtcHVsbC0xMntyaWdodDoxMDAlfS5jb2wtbWQtcHVsbC0xMXtyaWdodDo5MS42NjY2NjY2NyV9LmNvbC1tZC1wdWxsLTEwe3JpZ2h0OjgzLjMzMzMzMzMzJX0uY29sLW1kLXB1bGwtOXtyaWdodDo3NSV9LmNvbC1tZC1wdWxsLTh7cmlnaHQ6NjYuNjY2NjY2NjclfS5jb2wtbWQtcHVsbC03e3JpZ2h0OjU4LjMzMzMzMzMzJX0uY29sLW1kLXB1bGwtNntyaWdodDo1MCV9LmNvbC1tZC1wdWxsLTV7cmlnaHQ6NDEuNjY2NjY2NjclfS5jb2wtbWQtcHVsbC00e3JpZ2h0OjMzLjMzMzMzMzMzJX0uY29sLW1kLXB1bGwtM3tyaWdodDoyNSV9LmNvbC1tZC1wdWxsLTJ7cmlnaHQ6MTYuNjY2NjY2NjclfS5jb2wtbWQtcHVsbC0xe3JpZ2h0OjguMzMzMzMzMzMlfS5jb2wtbWQtcHVsbC0we3JpZ2h0OmF1dG99LmNvbC1tZC1wdXNoLTEye2xlZnQ6MTAwJX0uY29sLW1kLXB1c2gtMTF7bGVmdDo5MS42NjY2NjY2NyV9LmNvbC1tZC1wdXNoLTEwe2xlZnQ6ODMuMzMzMzMzMzMlfS5jb2wtbWQtcHVzaC05e2xlZnQ6NzUlfS5jb2wtbWQtcHVzaC04e2xlZnQ6NjYuNjY2NjY2NjclfS5jb2wtbWQtcHVzaC03e2xlZnQ6NTguMzMzMzMzMzMlfS5jb2wtbWQtcHVzaC02e2xlZnQ6NTAlfS5jb2wtbWQtcHVzaC01e2xlZnQ6NDEuNjY2NjY2NjclfS5jb2wtbWQtcHVzaC00e2xlZnQ6MzMuMzMzMzMzMzMlfS5jb2wtbWQtcHVzaC0ze2xlZnQ6MjUlfS5jb2wtbWQtcHVzaC0ye2xlZnQ6MTYuNjY2NjY2NjclfS5jb2wtbWQtcHVzaC0xe2xlZnQ6OC4zMzMzMzMzMyV9LmNvbC1tZC1wdXNoLTB7bGVmdDphdXRvfS5jb2wtbWQtb2Zmc2V0LTEye21hcmdpbi1sZWZ0OjEwMCV9LmNvbC1tZC1vZmZzZXQtMTF7bWFyZ2luLWxlZnQ6OTEuNjY2NjY2NjclfS5jb2wtbWQtb2Zmc2V0LTEwe21hcmdpbi1sZWZ0OjgzLjMzMzMzMzMzJX0uY29sLW1kLW9mZnNldC05e21hcmdpbi1sZWZ0Ojc1JX0uY29sLW1kLW9mZnNldC04e21hcmdpbi1sZWZ0OjY2LjY2NjY2NjY3JX0uY29sLW1kLW9mZnNldC03e21hcmdpbi1sZWZ0OjU4LjMzMzMzMzMzJX0uY29sLW1kLW9mZnNldC02e21hcmdpbi1sZWZ0OjUwJX0uY29sLW1kLW9mZnNldC01e21hcmdpbi1sZWZ0OjQxLjY2NjY2NjY3JX0uY29sLW1kLW9mZnNldC00e21hcmdpbi1sZWZ0OjMzLjMzMzMzMzMzJX0uY29sLW1kLW9mZnNldC0ze21hcmdpbi1sZWZ0OjI1JX0uY29sLW1kLW9mZnNldC0ye21hcmdpbi1sZWZ0OjE2LjY2NjY2NjY3JX0uY29sLW1kLW9mZnNldC0xe21hcmdpbi1sZWZ0OjguMzMzMzMzMzMlfS5jb2wtbWQtb2Zmc2V0LTB7bWFyZ2luLWxlZnQ6MH19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsuY29sLWxnLTEsLmNvbC1sZy0xMCwuY29sLWxnLTExLC5jb2wtbGctMTIsLmNvbC1sZy0yLC5jb2wtbGctMywuY29sLWxnLTQsLmNvbC1sZy01LC5jb2wtbGctNiwuY29sLWxnLTcsLmNvbC1sZy04LC5jb2wtbGctOXtmbG9hdDpsZWZ0fS5jb2wtbGctMTJ7d2lkdGg6MTAwJX0uY29sLWxnLTExe3dpZHRoOjkxLjY2NjY2NjY3JX0uY29sLWxnLTEwe3dpZHRoOjgzLjMzMzMzMzMzJX0uY29sLWxnLTl7d2lkdGg6NzUlfS5jb2wtbGctOHt3aWR0aDo2Ni42NjY2NjY2NyV9LmNvbC1sZy03e3dpZHRoOjU4LjMzMzMzMzMzJX0uY29sLWxnLTZ7d2lkdGg6NTAlfS5jb2wtbGctNXt3aWR0aDo0MS42NjY2NjY2NyV9LmNvbC1sZy00e3dpZHRoOjMzLjMzMzMzMzMzJX0uY29sLWxnLTN7d2lkdGg6MjUlfS5jb2wtbGctMnt3aWR0aDoxNi42NjY2NjY2NyV9LmNvbC1sZy0xe3dpZHRoOjguMzMzMzMzMzMlfS5jb2wtbGctcHVsbC0xMntyaWdodDoxMDAlfS5jb2wtbGctcHVsbC0xMXtyaWdodDo5MS42NjY2NjY2NyV9LmNvbC1sZy1wdWxsLTEwe3JpZ2h0OjgzLjMzMzMzMzMzJX0uY29sLWxnLXB1bGwtOXtyaWdodDo3NSV9LmNvbC1sZy1wdWxsLTh7cmlnaHQ6NjYuNjY2NjY2NjclfS5jb2wtbGctcHVsbC03e3JpZ2h0OjU4LjMzMzMzMzMzJX0uY29sLWxnLXB1bGwtNntyaWdodDo1MCV9LmNvbC1sZy1wdWxsLTV7cmlnaHQ6NDEuNjY2NjY2NjclfS5jb2wtbGctcHVsbC00e3JpZ2h0OjMzLjMzMzMzMzMzJX0uY29sLWxnLXB1bGwtM3tyaWdodDoyNSV9LmNvbC1sZy1wdWxsLTJ7cmlnaHQ6MTYuNjY2NjY2NjclfS5jb2wtbGctcHVsbC0xe3JpZ2h0OjguMzMzMzMzMzMlfS5jb2wtbGctcHVsbC0we3JpZ2h0OmF1dG99LmNvbC1sZy1wdXNoLTEye2xlZnQ6MTAwJX0uY29sLWxnLXB1c2gtMTF7bGVmdDo5MS42NjY2NjY2NyV9LmNvbC1sZy1wdXNoLTEwe2xlZnQ6ODMuMzMzMzMzMzMlfS5jb2wtbGctcHVzaC05e2xlZnQ6NzUlfS5jb2wtbGctcHVzaC04e2xlZnQ6NjYuNjY2NjY2NjclfS5jb2wtbGctcHVzaC03e2xlZnQ6NTguMzMzMzMzMzMlfS5jb2wtbGctcHVzaC02e2xlZnQ6NTAlfS5jb2wtbGctcHVzaC01e2xlZnQ6NDEuNjY2NjY2NjclfS5jb2wtbGctcHVzaC00e2xlZnQ6MzMuMzMzMzMzMzMlfS5jb2wtbGctcHVzaC0ze2xlZnQ6MjUlfS5jb2wtbGctcHVzaC0ye2xlZnQ6MTYuNjY2NjY2NjclfS5jb2wtbGctcHVzaC0xe2xlZnQ6OC4zMzMzMzMzMyV9LmNvbC1sZy1wdXNoLTB7bGVmdDphdXRvfS5jb2wtbGctb2Zmc2V0LTEye21hcmdpbi1sZWZ0OjEwMCV9LmNvbC1sZy1vZmZzZXQtMTF7bWFyZ2luLWxlZnQ6OTEuNjY2NjY2NjclfS5jb2wtbGctb2Zmc2V0LTEwe21hcmdpbi1sZWZ0OjgzLjMzMzMzMzMzJX0uY29sLWxnLW9mZnNldC05e21hcmdpbi1sZWZ0Ojc1JX0uY29sLWxnLW9mZnNldC04e21hcmdpbi1sZWZ0OjY2LjY2NjY2NjY3JX0uY29sLWxnLW9mZnNldC03e21hcmdpbi1sZWZ0OjU4LjMzMzMzMzMzJX0uY29sLWxnLW9mZnNldC02e21hcmdpbi1sZWZ0OjUwJX0uY29sLWxnLW9mZnNldC01e21hcmdpbi1sZWZ0OjQxLjY2NjY2NjY3JX0uY29sLWxnLW9mZnNldC00e21hcmdpbi1sZWZ0OjMzLjMzMzMzMzMzJX0uY29sLWxnLW9mZnNldC0ze21hcmdpbi1sZWZ0OjI1JX0uY29sLWxnLW9mZnNldC0ye21hcmdpbi1sZWZ0OjE2LjY2NjY2NjY3JX0uY29sLWxnLW9mZnNldC0xe21hcmdpbi1sZWZ0OjguMzMzMzMzMzMlfS5jb2wtbGctb2Zmc2V0LTB7bWFyZ2luLWxlZnQ6MH19dGFibGV7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH1jYXB0aW9ue3BhZGRpbmctdG9wOjhweDtwYWRkaW5nLWJvdHRvbTo4cHg7Y29sb3I6Izc3Nzt0ZXh0LWFsaWduOmxlZnR9dGh7dGV4dC1hbGlnbjpsZWZ0fS50YWJsZXt3aWR0aDoxMDAlO21heC13aWR0aDoxMDAlO21hcmdpbi1ib3R0b206MjBweH0udGFibGU+dGJvZHk+dHI+dGQsLnRhYmxlPnRib2R5PnRyPnRoLC50YWJsZT50Zm9vdD50cj50ZCwudGFibGU+dGZvb3Q+dHI+dGgsLnRhYmxlPnRoZWFkPnRyPnRkLC50YWJsZT50aGVhZD50cj50aHtwYWRkaW5nOjhweDtsaW5lLWhlaWdodDoxLjQyODU3MTQzO3ZlcnRpY2FsLWFsaWduOnRvcDtib3JkZXItdG9wOjFweCBzb2xpZCAjZGRkfS50YWJsZT50aGVhZD50cj50aHt2ZXJ0aWNhbC1hbGlnbjpib3R0b207Ym9yZGVyLWJvdHRvbToycHggc29saWQgI2RkZH0udGFibGU+Y2FwdGlvbit0aGVhZD50cjpmaXJzdC1jaGlsZD50ZCwudGFibGU+Y2FwdGlvbit0aGVhZD50cjpmaXJzdC1jaGlsZD50aCwudGFibGU+Y29sZ3JvdXArdGhlYWQ+dHI6Zmlyc3QtY2hpbGQ+dGQsLnRhYmxlPmNvbGdyb3VwK3RoZWFkPnRyOmZpcnN0LWNoaWxkPnRoLC50YWJsZT50aGVhZDpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZD50ZCwudGFibGU+dGhlYWQ6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQ+dGh7Ym9yZGVyLXRvcDowfS50YWJsZT50Ym9keSt0Ym9keXtib3JkZXItdG9wOjJweCBzb2xpZCAjZGRkfS50YWJsZSAudGFibGV7YmFja2dyb3VuZC1jb2xvcjojZmZmfS50YWJsZS1jb25kZW5zZWQ+dGJvZHk+dHI+dGQsLnRhYmxlLWNvbmRlbnNlZD50Ym9keT50cj50aCwudGFibGUtY29uZGVuc2VkPnRmb290PnRyPnRkLC50YWJsZS1jb25kZW5zZWQ+dGZvb3Q+dHI+dGgsLnRhYmxlLWNvbmRlbnNlZD50aGVhZD50cj50ZCwudGFibGUtY29uZGVuc2VkPnRoZWFkPnRyPnRoe3BhZGRpbmc6NXB4fS50YWJsZS1ib3JkZXJlZHtib3JkZXI6MXB4IHNvbGlkICNkZGR9LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyPnRkLC50YWJsZS1ib3JkZXJlZD50Ym9keT50cj50aCwudGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI+dGQsLnRhYmxlLWJvcmRlcmVkPnRmb290PnRyPnRoLC50YWJsZS1ib3JkZXJlZD50aGVhZD50cj50ZCwudGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI+dGh7Ym9yZGVyOjFweCBzb2xpZCAjZGRkfS50YWJsZS1ib3JkZXJlZD50aGVhZD50cj50ZCwudGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI+dGh7Ym9yZGVyLWJvdHRvbS13aWR0aDoycHh9LnRhYmxlLXN0cmlwZWQ+dGJvZHk+dHI6bnRoLW9mLXR5cGUob2RkKXtiYWNrZ3JvdW5kLWNvbG9yOiNmOWY5Zjl9LnRhYmxlLWhvdmVyPnRib2R5PnRyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNX10YWJsZSBjb2xbY2xhc3MqPWNvbC1de3Bvc2l0aW9uOnN0YXRpYztkaXNwbGF5OnRhYmxlLWNvbHVtbjtmbG9hdDpub25lfXRhYmxlIHRkW2NsYXNzKj1jb2wtXSx0YWJsZSB0aFtjbGFzcyo9Y29sLV17cG9zaXRpb246c3RhdGljO2Rpc3BsYXk6dGFibGUtY2VsbDtmbG9hdDpub25lfS50YWJsZT50Ym9keT50ci5hY3RpdmU+dGQsLnRhYmxlPnRib2R5PnRyLmFjdGl2ZT50aCwudGFibGU+dGJvZHk+dHI+dGQuYWN0aXZlLC50YWJsZT50Ym9keT50cj50aC5hY3RpdmUsLnRhYmxlPnRmb290PnRyLmFjdGl2ZT50ZCwudGFibGU+dGZvb3Q+dHIuYWN0aXZlPnRoLC50YWJsZT50Zm9vdD50cj50ZC5hY3RpdmUsLnRhYmxlPnRmb290PnRyPnRoLmFjdGl2ZSwudGFibGU+dGhlYWQ+dHIuYWN0aXZlPnRkLC50YWJsZT50aGVhZD50ci5hY3RpdmU+dGgsLnRhYmxlPnRoZWFkPnRyPnRkLmFjdGl2ZSwudGFibGU+dGhlYWQ+dHI+dGguYWN0aXZle2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNX0udGFibGUtaG92ZXI+dGJvZHk+dHIuYWN0aXZlOmhvdmVyPnRkLC50YWJsZS1ob3Zlcj50Ym9keT50ci5hY3RpdmU6aG92ZXI+dGgsLnRhYmxlLWhvdmVyPnRib2R5PnRyOmhvdmVyPi5hY3RpdmUsLnRhYmxlLWhvdmVyPnRib2R5PnRyPnRkLmFjdGl2ZTpob3ZlciwudGFibGUtaG92ZXI+dGJvZHk+dHI+dGguYWN0aXZlOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2U4ZThlOH0udGFibGU+dGJvZHk+dHIuc3VjY2Vzcz50ZCwudGFibGU+dGJvZHk+dHIuc3VjY2Vzcz50aCwudGFibGU+dGJvZHk+dHI+dGQuc3VjY2VzcywudGFibGU+dGJvZHk+dHI+dGguc3VjY2VzcywudGFibGU+dGZvb3Q+dHIuc3VjY2Vzcz50ZCwudGFibGU+dGZvb3Q+dHIuc3VjY2Vzcz50aCwudGFibGU+dGZvb3Q+dHI+dGQuc3VjY2VzcywudGFibGU+dGZvb3Q+dHI+dGguc3VjY2VzcywudGFibGU+dGhlYWQ+dHIuc3VjY2Vzcz50ZCwudGFibGU+dGhlYWQ+dHIuc3VjY2Vzcz50aCwudGFibGU+dGhlYWQ+dHI+dGQuc3VjY2VzcywudGFibGU+dGhlYWQ+dHI+dGguc3VjY2Vzc3tiYWNrZ3JvdW5kLWNvbG9yOiNkZmYwZDh9LnRhYmxlLWhvdmVyPnRib2R5PnRyLnN1Y2Nlc3M6aG92ZXI+dGQsLnRhYmxlLWhvdmVyPnRib2R5PnRyLnN1Y2Nlc3M6aG92ZXI+dGgsLnRhYmxlLWhvdmVyPnRib2R5PnRyOmhvdmVyPi5zdWNjZXNzLC50YWJsZS1ob3Zlcj50Ym9keT50cj50ZC5zdWNjZXNzOmhvdmVyLC50YWJsZS1ob3Zlcj50Ym9keT50cj50aC5zdWNjZXNzOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2QwZTljNn0udGFibGU+dGJvZHk+dHIuaW5mbz50ZCwudGFibGU+dGJvZHk+dHIuaW5mbz50aCwudGFibGU+dGJvZHk+dHI+dGQuaW5mbywudGFibGU+dGJvZHk+dHI+dGguaW5mbywudGFibGU+dGZvb3Q+dHIuaW5mbz50ZCwudGFibGU+dGZvb3Q+dHIuaW5mbz50aCwudGFibGU+dGZvb3Q+dHI+dGQuaW5mbywudGFibGU+dGZvb3Q+dHI+dGguaW5mbywudGFibGU+dGhlYWQ+dHIuaW5mbz50ZCwudGFibGU+dGhlYWQ+dHIuaW5mbz50aCwudGFibGU+dGhlYWQ+dHI+dGQuaW5mbywudGFibGU+dGhlYWQ+dHI+dGguaW5mb3tiYWNrZ3JvdW5kLWNvbG9yOiNkOWVkZjd9LnRhYmxlLWhvdmVyPnRib2R5PnRyLmluZm86aG92ZXI+dGQsLnRhYmxlLWhvdmVyPnRib2R5PnRyLmluZm86aG92ZXI+dGgsLnRhYmxlLWhvdmVyPnRib2R5PnRyOmhvdmVyPi5pbmZvLC50YWJsZS1ob3Zlcj50Ym9keT50cj50ZC5pbmZvOmhvdmVyLC50YWJsZS1ob3Zlcj50Ym9keT50cj50aC5pbmZvOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2M0ZTNmM30udGFibGU+dGJvZHk+dHIud2FybmluZz50ZCwudGFibGU+dGJvZHk+dHIud2FybmluZz50aCwudGFibGU+dGJvZHk+dHI+dGQud2FybmluZywudGFibGU+dGJvZHk+dHI+dGgud2FybmluZywudGFibGU+dGZvb3Q+dHIud2FybmluZz50ZCwudGFibGU+dGZvb3Q+dHIud2FybmluZz50aCwudGFibGU+dGZvb3Q+dHI+dGQud2FybmluZywudGFibGU+dGZvb3Q+dHI+dGgud2FybmluZywudGFibGU+dGhlYWQ+dHIud2FybmluZz50ZCwudGFibGU+dGhlYWQ+dHIud2FybmluZz50aCwudGFibGU+dGhlYWQ+dHI+dGQud2FybmluZywudGFibGU+dGhlYWQ+dHI+dGgud2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOiNmY2Y4ZTN9LnRhYmxlLWhvdmVyPnRib2R5PnRyLndhcm5pbmc6aG92ZXI+dGQsLnRhYmxlLWhvdmVyPnRib2R5PnRyLndhcm5pbmc6aG92ZXI+dGgsLnRhYmxlLWhvdmVyPnRib2R5PnRyOmhvdmVyPi53YXJuaW5nLC50YWJsZS1ob3Zlcj50Ym9keT50cj50ZC53YXJuaW5nOmhvdmVyLC50YWJsZS1ob3Zlcj50Ym9keT50cj50aC53YXJuaW5nOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZhZjJjY30udGFibGU+dGJvZHk+dHIuZGFuZ2VyPnRkLC50YWJsZT50Ym9keT50ci5kYW5nZXI+dGgsLnRhYmxlPnRib2R5PnRyPnRkLmRhbmdlciwudGFibGU+dGJvZHk+dHI+dGguZGFuZ2VyLC50YWJsZT50Zm9vdD50ci5kYW5nZXI+dGQsLnRhYmxlPnRmb290PnRyLmRhbmdlcj50aCwudGFibGU+dGZvb3Q+dHI+dGQuZGFuZ2VyLC50YWJsZT50Zm9vdD50cj50aC5kYW5nZXIsLnRhYmxlPnRoZWFkPnRyLmRhbmdlcj50ZCwudGFibGU+dGhlYWQ+dHIuZGFuZ2VyPnRoLC50YWJsZT50aGVhZD50cj50ZC5kYW5nZXIsLnRhYmxlPnRoZWFkPnRyPnRoLmRhbmdlcntiYWNrZ3JvdW5kLWNvbG9yOiNmMmRlZGV9LnRhYmxlLWhvdmVyPnRib2R5PnRyLmRhbmdlcjpob3Zlcj50ZCwudGFibGUtaG92ZXI+dGJvZHk+dHIuZGFuZ2VyOmhvdmVyPnRoLC50YWJsZS1ob3Zlcj50Ym9keT50cjpob3Zlcj4uZGFuZ2VyLC50YWJsZS1ob3Zlcj50Ym9keT50cj50ZC5kYW5nZXI6aG92ZXIsLnRhYmxlLWhvdmVyPnRib2R5PnRyPnRoLmRhbmdlcjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNlYmNjY2N9LnRhYmxlLXJlc3BvbnNpdmV7bWluLWhlaWdodDouMDElO292ZXJmbG93LXg6YXV0b31AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2N3B4KXsudGFibGUtcmVzcG9uc2l2ZXt3aWR0aDoxMDAlO21hcmdpbi1ib3R0b206MTVweDtvdmVyZmxvdy15OmhpZGRlbjstbXMtb3ZlcmZsb3ctc3R5bGU6LW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO2JvcmRlcjoxcHggc29saWQgI2RkZH0udGFibGUtcmVzcG9uc2l2ZT4udGFibGV7bWFyZ2luLWJvdHRvbTowfS50YWJsZS1yZXNwb25zaXZlPi50YWJsZT50Ym9keT50cj50ZCwudGFibGUtcmVzcG9uc2l2ZT4udGFibGU+dGJvZHk+dHI+dGgsLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlPnRmb290PnRyPnRkLC50YWJsZS1yZXNwb25zaXZlPi50YWJsZT50Zm9vdD50cj50aCwudGFibGUtcmVzcG9uc2l2ZT4udGFibGU+dGhlYWQ+dHI+dGQsLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlPnRoZWFkPnRyPnRoe3doaXRlLXNwYWNlOm5vd3JhcH0udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWR7Ym9yZGVyOjB9LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyPnRkOmZpcnN0LWNoaWxkLC50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cj50aDpmaXJzdC1jaGlsZCwudGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI+dGQ6Zmlyc3QtY2hpbGQsLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRmb290PnRyPnRoOmZpcnN0LWNoaWxkLC50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50aGVhZD50cj50ZDpmaXJzdC1jaGlsZCwudGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI+dGg6Zmlyc3QtY2hpbGR7Ym9yZGVyLWxlZnQ6MH0udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI+dGQ6bGFzdC1jaGlsZCwudGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI+dGg6bGFzdC1jaGlsZCwudGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI+dGQ6bGFzdC1jaGlsZCwudGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI+dGg6bGFzdC1jaGlsZCwudGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI+dGQ6bGFzdC1jaGlsZCwudGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI+dGg6bGFzdC1jaGlsZHtib3JkZXItcmlnaHQ6MH0udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI6bGFzdC1jaGlsZD50ZCwudGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI6bGFzdC1jaGlsZD50aCwudGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI6bGFzdC1jaGlsZD50ZCwudGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI6bGFzdC1jaGlsZD50aHtib3JkZXItYm90dG9tOjB9fWZpZWxkc2V0e21pbi13aWR0aDowO3BhZGRpbmc6MDttYXJnaW46MDtib3JkZXI6MH1sZWdlbmR7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO3BhZGRpbmc6MDttYXJnaW4tYm90dG9tOjIwcHg7Zm9udC1zaXplOjIxcHg7bGluZS1oZWlnaHQ6aW5oZXJpdDtjb2xvcjojMzMzO2JvcmRlcjowO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlNWU1ZTV9bGFiZWx7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWF4LXdpZHRoOjEwMCU7bWFyZ2luLWJvdHRvbTo1cHg7Zm9udC13ZWlnaHQ6NzAwfWlucHV0W3R5cGU9c2VhcmNoXXstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9aW5wdXRbdHlwZT1jaGVja2JveF0saW5wdXRbdHlwZT1yYWRpb117bWFyZ2luOjRweCAwIDA7bWFyZ2luLXRvcDoxcHggXDk7bGluZS1oZWlnaHQ6bm9ybWFsfWlucHV0W3R5cGU9ZmlsZV17ZGlzcGxheTpibG9ja31pbnB1dFt0eXBlPXJhbmdlXXtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCV9c2VsZWN0W211bHRpcGxlXSxzZWxlY3Rbc2l6ZV17aGVpZ2h0OmF1dG99aW5wdXRbdHlwZT1maWxlXTpmb2N1cyxpbnB1dFt0eXBlPWNoZWNrYm94XTpmb2N1cyxpbnB1dFt0eXBlPXJhZGlvXTpmb2N1c3tvdXRsaW5lOnRoaW4gZG90dGVkO291dGxpbmU6NXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO291dGxpbmUtb2Zmc2V0Oi0ycHh9b3V0cHV0e2Rpc3BsYXk6YmxvY2s7cGFkZGluZy10b3A6N3B4O2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDM7Y29sb3I6IzU1NX0uZm9ybS1jb250cm9se2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTtoZWlnaHQ6MzRweDtwYWRkaW5nOjZweCAxMnB4O2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDM7Y29sb3I6IzU1NTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1pbWFnZTpub25lO2JvcmRlcjoxcHggc29saWQgI2NjYztib3JkZXItcmFkaXVzOjRweDstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KTstd2Via2l0LXRyYW5zaXRpb246Ym9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsLXdlYmtpdC1ib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXM7LW8tdHJhbnNpdGlvbjpib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cyxib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXM7dHJhbnNpdGlvbjpib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cyxib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXN9LmZvcm0tY29udHJvbDpmb2N1c3tib3JkZXItY29sb3I6IzY2YWZlOTtvdXRsaW5lOjA7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLDAgMCA4cHggcmdiYSgxMDIsMTc1LDIzMywuNik7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwwIDAgOHB4IHJnYmEoMTAyLDE3NSwyMzMsLjYpfS5mb3JtLWNvbnRyb2w6Oi1tb3otcGxhY2Vob2xkZXJ7Y29sb3I6Izk5OTtvcGFjaXR5OjF9LmZvcm0tY29udHJvbDotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6Izk5OX0uZm9ybS1jb250cm9sOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOiM5OTl9LmZvcm0tY29udHJvbFtkaXNhYmxlZF0sLmZvcm0tY29udHJvbFtyZWFkb25seV0sZmllbGRzZXRbZGlzYWJsZWRdIC5mb3JtLWNvbnRyb2x7YmFja2dyb3VuZC1jb2xvcjojZWVlO29wYWNpdHk6MX0uZm9ybS1jb250cm9sW2Rpc2FibGVkXSxmaWVsZHNldFtkaXNhYmxlZF0gLmZvcm0tY29udHJvbHtjdXJzb3I6bm90LWFsbG93ZWR9dGV4dGFyZWEuZm9ybS1jb250cm9se2hlaWdodDphdXRvfWlucHV0W3R5cGU9c2VhcmNoXXstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX1AbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOjApe2lucHV0W3R5cGU9ZGF0ZV0saW5wdXRbdHlwZT10aW1lXSxpbnB1dFt0eXBlPWRhdGV0aW1lLWxvY2FsXSxpbnB1dFt0eXBlPW1vbnRoXXtsaW5lLWhlaWdodDozNHB4fS5pbnB1dC1ncm91cC1zbSBpbnB1dFt0eXBlPWRhdGVdLC5pbnB1dC1ncm91cC1zbSBpbnB1dFt0eXBlPXRpbWVdLC5pbnB1dC1ncm91cC1zbSBpbnB1dFt0eXBlPWRhdGV0aW1lLWxvY2FsXSwuaW5wdXQtZ3JvdXAtc20gaW5wdXRbdHlwZT1tb250aF0saW5wdXRbdHlwZT1kYXRlXS5pbnB1dC1zbSxpbnB1dFt0eXBlPXRpbWVdLmlucHV0LXNtLGlucHV0W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLmlucHV0LXNtLGlucHV0W3R5cGU9bW9udGhdLmlucHV0LXNte2xpbmUtaGVpZ2h0OjMwcHh9LmlucHV0LWdyb3VwLWxnIGlucHV0W3R5cGU9ZGF0ZV0sLmlucHV0LWdyb3VwLWxnIGlucHV0W3R5cGU9dGltZV0sLmlucHV0LWdyb3VwLWxnIGlucHV0W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLC5pbnB1dC1ncm91cC1sZyBpbnB1dFt0eXBlPW1vbnRoXSxpbnB1dFt0eXBlPWRhdGVdLmlucHV0LWxnLGlucHV0W3R5cGU9dGltZV0uaW5wdXQtbGcsaW5wdXRbdHlwZT1kYXRldGltZS1sb2NhbF0uaW5wdXQtbGcsaW5wdXRbdHlwZT1tb250aF0uaW5wdXQtbGd7bGluZS1oZWlnaHQ6NDZweH19LmZvcm0tZ3JvdXB7bWFyZ2luLWJvdHRvbToxNXB4fS5jaGVja2JveCwucmFkaW97cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOjEwcHg7bWFyZ2luLWJvdHRvbToxMHB4fS5jaGVja2JveCBsYWJlbCwucmFkaW8gbGFiZWx7bWluLWhlaWdodDoyMHB4O3BhZGRpbmctbGVmdDoyMHB4O21hcmdpbi1ib3R0b206MDtmb250LXdlaWdodDo0MDA7Y3Vyc29yOnBvaW50ZXJ9LmNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdLC5jaGVja2JveC1pbmxpbmUgaW5wdXRbdHlwZT1jaGVja2JveF0sLnJhZGlvIGlucHV0W3R5cGU9cmFkaW9dLC5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1yYWRpb117cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luLXRvcDo0cHggXDk7bWFyZ2luLWxlZnQ6LTIwcHh9LmNoZWNrYm94Ky5jaGVja2JveCwucmFkaW8rLnJhZGlve21hcmdpbi10b3A6LTVweH0uY2hlY2tib3gtaW5saW5lLC5yYWRpby1pbmxpbmV7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZy1sZWZ0OjIwcHg7bWFyZ2luLWJvdHRvbTowO2ZvbnQtd2VpZ2h0OjQwMDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Y3Vyc29yOnBvaW50ZXJ9LmNoZWNrYm94LWlubGluZSsuY2hlY2tib3gtaW5saW5lLC5yYWRpby1pbmxpbmUrLnJhZGlvLWlubGluZXttYXJnaW4tdG9wOjA7bWFyZ2luLWxlZnQ6MTBweH1maWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1jaGVja2JveF0sZmllbGRzZXRbZGlzYWJsZWRdIGlucHV0W3R5cGU9cmFkaW9dLGlucHV0W3R5cGU9Y2hlY2tib3hdLmRpc2FibGVkLGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXSxpbnB1dFt0eXBlPXJhZGlvXS5kaXNhYmxlZCxpbnB1dFt0eXBlPXJhZGlvXVtkaXNhYmxlZF17Y3Vyc29yOm5vdC1hbGxvd2VkfS5jaGVja2JveC1pbmxpbmUuZGlzYWJsZWQsLnJhZGlvLWlubGluZS5kaXNhYmxlZCxmaWVsZHNldFtkaXNhYmxlZF0gLmNoZWNrYm94LWlubGluZSxmaWVsZHNldFtkaXNhYmxlZF0gLnJhZGlvLWlubGluZXtjdXJzb3I6bm90LWFsbG93ZWR9LmNoZWNrYm94LmRpc2FibGVkIGxhYmVsLC5yYWRpby5kaXNhYmxlZCBsYWJlbCxmaWVsZHNldFtkaXNhYmxlZF0gLmNoZWNrYm94IGxhYmVsLGZpZWxkc2V0W2Rpc2FibGVkXSAucmFkaW8gbGFiZWx7Y3Vyc29yOm5vdC1hbGxvd2VkfS5mb3JtLWNvbnRyb2wtc3RhdGlje21pbi1oZWlnaHQ6MzRweDtwYWRkaW5nLXRvcDo3cHg7cGFkZGluZy1ib3R0b206N3B4O21hcmdpbi1ib3R0b206MH0uZm9ybS1jb250cm9sLXN0YXRpYy5pbnB1dC1sZywuZm9ybS1jb250cm9sLXN0YXRpYy5pbnB1dC1zbXtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjB9LmlucHV0LXNte2hlaWdodDozMHB4O3BhZGRpbmc6NXB4IDEwcHg7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MS41O2JvcmRlci1yYWRpdXM6M3B4fXNlbGVjdC5pbnB1dC1zbXtoZWlnaHQ6MzBweDtsaW5lLWhlaWdodDozMHB4fXNlbGVjdFttdWx0aXBsZV0uaW5wdXQtc20sdGV4dGFyZWEuaW5wdXQtc217aGVpZ2h0OmF1dG99LmZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbHtoZWlnaHQ6MzBweDtwYWRkaW5nOjVweCAxMHB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjEuNTtib3JkZXItcmFkaXVzOjNweH1zZWxlY3QuZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9se2hlaWdodDozMHB4O2xpbmUtaGVpZ2h0OjMwcHh9c2VsZWN0W211bHRpcGxlXS5mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wsdGV4dGFyZWEuZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9se2hlaWdodDphdXRvfS5mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wtc3RhdGlje2hlaWdodDozMHB4O21pbi1oZWlnaHQ6MzJweDtwYWRkaW5nOjVweCAxMHB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjEuNX0uaW5wdXQtbGd7aGVpZ2h0OjQ2cHg7cGFkZGluZzoxMHB4IDE2cHg7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MS4zMzMzMzMzO2JvcmRlci1yYWRpdXM6NnB4fXNlbGVjdC5pbnB1dC1sZ3toZWlnaHQ6NDZweDtsaW5lLWhlaWdodDo0NnB4fXNlbGVjdFttdWx0aXBsZV0uaW5wdXQtbGcsdGV4dGFyZWEuaW5wdXQtbGd7aGVpZ2h0OmF1dG99LmZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbHtoZWlnaHQ6NDZweDtwYWRkaW5nOjEwcHggMTZweDtmb250LXNpemU6MThweDtsaW5lLWhlaWdodDoxLjMzMzMzMzM7Ym9yZGVyLXJhZGl1czo2cHh9c2VsZWN0LmZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbHtoZWlnaHQ6NDZweDtsaW5lLWhlaWdodDo0NnB4fXNlbGVjdFttdWx0aXBsZV0uZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLHRleHRhcmVhLmZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbHtoZWlnaHQ6YXV0b30uZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9sLXN0YXRpY3toZWlnaHQ6NDZweDttaW4taGVpZ2h0OjM4cHg7cGFkZGluZzoxMHB4IDE2cHg7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MS4zMzMzMzMzfS5oYXMtZmVlZGJhY2t7cG9zaXRpb246cmVsYXRpdmV9Lmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9se3BhZGRpbmctcmlnaHQ6NDIuNXB4fS5mb3JtLWNvbnRyb2wtZmVlZGJhY2t7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDt6LWluZGV4OjI7ZGlzcGxheTpibG9jazt3aWR0aDozNHB4O2hlaWdodDozNHB4O2xpbmUtaGVpZ2h0OjM0cHg7dGV4dC1hbGlnbjpjZW50ZXI7cG9pbnRlci1ldmVudHM6bm9uZX0uaW5wdXQtbGcrLmZvcm0tY29udHJvbC1mZWVkYmFja3t3aWR0aDo0NnB4O2hlaWdodDo0NnB4O2xpbmUtaGVpZ2h0OjQ2cHh9LmlucHV0LXNtKy5mb3JtLWNvbnRyb2wtZmVlZGJhY2t7d2lkdGg6MzBweDtoZWlnaHQ6MzBweDtsaW5lLWhlaWdodDozMHB4fS5oYXMtc3VjY2VzcyAuY2hlY2tib3gsLmhhcy1zdWNjZXNzIC5jaGVja2JveC1pbmxpbmUsLmhhcy1zdWNjZXNzIC5jb250cm9sLWxhYmVsLC5oYXMtc3VjY2VzcyAuaGVscC1ibG9jaywuaGFzLXN1Y2Nlc3MgLnJhZGlvLC5oYXMtc3VjY2VzcyAucmFkaW8taW5saW5lLC5oYXMtc3VjY2Vzcy5jaGVja2JveCBsYWJlbCwuaGFzLXN1Y2Nlc3MuY2hlY2tib3gtaW5saW5lIGxhYmVsLC5oYXMtc3VjY2Vzcy5yYWRpbyBsYWJlbCwuaGFzLXN1Y2Nlc3MucmFkaW8taW5saW5lIGxhYmVse2NvbG9yOiMzYzc2M2R9Lmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2x7Ym9yZGVyLWNvbG9yOiMzYzc2M2Q7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSl9Lmhhcy1zdWNjZXNzIC5mb3JtLWNvbnRyb2w6Zm9jdXN7Ym9yZGVyLWNvbG9yOiMyYjU0MmM7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLDAgMCA2cHggIzY3YjE2ODtib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLDAgMCA2cHggIzY3YjE2OH0uaGFzLXN1Y2Nlc3MgLmlucHV0LWdyb3VwLWFkZG9ue2NvbG9yOiMzYzc2M2Q7YmFja2dyb3VuZC1jb2xvcjojZGZmMGQ4O2JvcmRlci1jb2xvcjojM2M3NjNkfS5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sLWZlZWRiYWNre2NvbG9yOiMzYzc2M2R9Lmhhcy13YXJuaW5nIC5jaGVja2JveCwuaGFzLXdhcm5pbmcgLmNoZWNrYm94LWlubGluZSwuaGFzLXdhcm5pbmcgLmNvbnRyb2wtbGFiZWwsLmhhcy13YXJuaW5nIC5oZWxwLWJsb2NrLC5oYXMtd2FybmluZyAucmFkaW8sLmhhcy13YXJuaW5nIC5yYWRpby1pbmxpbmUsLmhhcy13YXJuaW5nLmNoZWNrYm94IGxhYmVsLC5oYXMtd2FybmluZy5jaGVja2JveC1pbmxpbmUgbGFiZWwsLmhhcy13YXJuaW5nLnJhZGlvIGxhYmVsLC5oYXMtd2FybmluZy5yYWRpby1pbmxpbmUgbGFiZWx7Y29sb3I6IzhhNmQzYn0uaGFzLXdhcm5pbmcgLmZvcm0tY29udHJvbHtib3JkZXItY29sb3I6IzhhNmQzYjstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KX0uaGFzLXdhcm5pbmcgLmZvcm0tY29udHJvbDpmb2N1c3tib3JkZXItY29sb3I6IzY2NTEyYzstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksMCAwIDZweCAjYzBhMTZiO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksMCAwIDZweCAjYzBhMTZifS5oYXMtd2FybmluZyAuaW5wdXQtZ3JvdXAtYWRkb257Y29sb3I6IzhhNmQzYjtiYWNrZ3JvdW5kLWNvbG9yOiNmY2Y4ZTM7Ym9yZGVyLWNvbG9yOiM4YTZkM2J9Lmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2t7Y29sb3I6IzhhNmQzYn0uaGFzLWVycm9yIC5jaGVja2JveCwuaGFzLWVycm9yIC5jaGVja2JveC1pbmxpbmUsLmhhcy1lcnJvciAuY29udHJvbC1sYWJlbCwuaGFzLWVycm9yIC5oZWxwLWJsb2NrLC5oYXMtZXJyb3IgLnJhZGlvLC5oYXMtZXJyb3IgLnJhZGlvLWlubGluZSwuaGFzLWVycm9yLmNoZWNrYm94IGxhYmVsLC5oYXMtZXJyb3IuY2hlY2tib3gtaW5saW5lIGxhYmVsLC5oYXMtZXJyb3IucmFkaW8gbGFiZWwsLmhhcy1lcnJvci5yYWRpby1pbmxpbmUgbGFiZWx7Y29sb3I6I2E5NDQ0Mn0uaGFzLWVycm9yIC5mb3JtLWNvbnRyb2x7Ym9yZGVyLWNvbG9yOiNhOTQ0NDI7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSl9Lmhhcy1lcnJvciAuZm9ybS1jb250cm9sOmZvY3Vze2JvcmRlci1jb2xvcjojODQzNTM0Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwwIDAgNnB4ICNjZTg0ODM7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwwIDAgNnB4ICNjZTg0ODN9Lmhhcy1lcnJvciAuaW5wdXQtZ3JvdXAtYWRkb257Y29sb3I6I2E5NDQ0MjtiYWNrZ3JvdW5kLWNvbG9yOiNmMmRlZGU7Ym9yZGVyLWNvbG9yOiNhOTQ0NDJ9Lmhhcy1lcnJvciAuZm9ybS1jb250cm9sLWZlZWRiYWNre2NvbG9yOiNhOTQ0NDJ9Lmhhcy1mZWVkYmFjayBsYWJlbH4uZm9ybS1jb250cm9sLWZlZWRiYWNre3RvcDoyNXB4fS5oYXMtZmVlZGJhY2sgbGFiZWwuc3Itb25seX4uZm9ybS1jb250cm9sLWZlZWRiYWNre3RvcDowfS5oZWxwLWJsb2Nre2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDo1cHg7bWFyZ2luLWJvdHRvbToxMHB4O2NvbG9yOiM3MzczNzN9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5mb3JtLWlubGluZSAuZm9ybS1ncm91cHtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tYm90dG9tOjA7dmVydGljYWwtYWxpZ246bWlkZGxlfS5mb3JtLWlubGluZSAuZm9ybS1jb250cm9se2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOmF1dG87dmVydGljYWwtYWxpZ246bWlkZGxlfS5mb3JtLWlubGluZSAuZm9ybS1jb250cm9sLXN0YXRpY3tkaXNwbGF5OmlubGluZS1ibG9ja30uZm9ybS1pbmxpbmUgLmlucHV0LWdyb3Vwe2Rpc3BsYXk6aW5saW5lLXRhYmxlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wsLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYWRkb24sLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnRue3dpZHRoOmF1dG99LmZvcm0taW5saW5lIC5pbnB1dC1ncm91cD4uZm9ybS1jb250cm9se3dpZHRoOjEwMCV9LmZvcm0taW5saW5lIC5jb250cm9sLWxhYmVse21hcmdpbi1ib3R0b206MDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmZvcm0taW5saW5lIC5jaGVja2JveCwuZm9ybS1pbmxpbmUgLnJhZGlve2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjA7dmVydGljYWwtYWxpZ246bWlkZGxlfS5mb3JtLWlubGluZSAuY2hlY2tib3ggbGFiZWwsLmZvcm0taW5saW5lIC5yYWRpbyBsYWJlbHtwYWRkaW5nLWxlZnQ6MH0uZm9ybS1pbmxpbmUgLmNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdLC5mb3JtLWlubGluZSAucmFkaW8gaW5wdXRbdHlwZT1yYWRpb117cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLWxlZnQ6MH0uZm9ybS1pbmxpbmUgLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNre3RvcDowfX0uZm9ybS1ob3Jpem9udGFsIC5jaGVja2JveCwuZm9ybS1ob3Jpem9udGFsIC5jaGVja2JveC1pbmxpbmUsLmZvcm0taG9yaXpvbnRhbCAucmFkaW8sLmZvcm0taG9yaXpvbnRhbCAucmFkaW8taW5saW5le3BhZGRpbmctdG9wOjdweDttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowfS5mb3JtLWhvcml6b250YWwgLmNoZWNrYm94LC5mb3JtLWhvcml6b250YWwgLnJhZGlve21pbi1oZWlnaHQ6MjdweH0uZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3Vwe21hcmdpbi1yaWdodDotMTVweDttYXJnaW4tbGVmdDotMTVweH1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7LmZvcm0taG9yaXpvbnRhbCAuY29udHJvbC1sYWJlbHtwYWRkaW5nLXRvcDo3cHg7bWFyZ2luLWJvdHRvbTowO3RleHQtYWxpZ246cmlnaHR9fS5mb3JtLWhvcml6b250YWwgLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNre3JpZ2h0OjE1cHh9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5mb3JtLWhvcml6b250YWwgLmZvcm0tZ3JvdXAtbGcgLmNvbnRyb2wtbGFiZWx7cGFkZGluZy10b3A6MTQuMzNweH19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5mb3JtLWhvcml6b250YWwgLmZvcm0tZ3JvdXAtc20gLmNvbnRyb2wtbGFiZWx7cGFkZGluZy10b3A6NnB4fX0uYnRue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmc6NnB4IDEycHg7bWFyZ2luLWJvdHRvbTowO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjQyODU3MTQzO3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LW1zLXRvdWNoLWFjdGlvbjptYW5pcHVsYXRpb247dG91Y2gtYWN0aW9uOm1hbmlwdWxhdGlvbjtjdXJzb3I6cG9pbnRlcjstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7YmFja2dyb3VuZC1pbWFnZTpub25lO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czo0cHh9LmJ0bi5hY3RpdmUuZm9jdXMsLmJ0bi5hY3RpdmU6Zm9jdXMsLmJ0bi5mb2N1cywuYnRuOmFjdGl2ZS5mb2N1cywuYnRuOmFjdGl2ZTpmb2N1cywuYnRuOmZvY3Vze291dGxpbmU6dGhpbiBkb3R0ZWQ7b3V0bGluZTo1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7b3V0bGluZS1vZmZzZXQ6LTJweH0uYnRuLmZvY3VzLC5idG46Zm9jdXMsLmJ0bjpob3Zlcntjb2xvcjojMzMzO3RleHQtZGVjb3JhdGlvbjpub25lfS5idG4uYWN0aXZlLC5idG46YWN0aXZle2JhY2tncm91bmQtaW1hZ2U6bm9uZTtvdXRsaW5lOjA7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgM3B4IDVweCByZ2JhKDAsMCwwLC4xMjUpO2JveC1zaGFkb3c6aW5zZXQgMCAzcHggNXB4IHJnYmEoMCwwLDAsLjEyNSl9LmJ0bi5kaXNhYmxlZCwuYnRuW2Rpc2FibGVkXSxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bntwb2ludGVyLWV2ZW50czpub25lO2N1cnNvcjpub3QtYWxsb3dlZDtmaWx0ZXI6YWxwaGEob3BhY2l0eT02NSk7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lO29wYWNpdHk6LjY1fS5idG4tZGVmYXVsdHtjb2xvcjojMzMzO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItY29sb3I6I2NjY30uYnRuLWRlZmF1bHQuYWN0aXZlLC5idG4tZGVmYXVsdC5mb2N1cywuYnRuLWRlZmF1bHQ6YWN0aXZlLC5idG4tZGVmYXVsdDpmb2N1cywuYnRuLWRlZmF1bHQ6aG92ZXIsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4tZGVmYXVsdHsvKmNvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjojZTZlNmU2OyovYm9yZGVyLWNvbG9yOiNhZGFkYWR9LmJ0bi1kZWZhdWx0LmFjdGl2ZSwuYnRuLWRlZmF1bHQ6YWN0aXZlLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLWRlZmF1bHR7YmFja2dyb3VuZC1pbWFnZTpub25lfS5idG4tZGVmYXVsdC5kaXNhYmxlZCwuYnRuLWRlZmF1bHQuZGlzYWJsZWQuYWN0aXZlLC5idG4tZGVmYXVsdC5kaXNhYmxlZC5mb2N1cywuYnRuLWRlZmF1bHQuZGlzYWJsZWQ6YWN0aXZlLC5idG4tZGVmYXVsdC5kaXNhYmxlZDpmb2N1cywuYnRuLWRlZmF1bHQuZGlzYWJsZWQ6aG92ZXIsLmJ0bi1kZWZhdWx0W2Rpc2FibGVkXSwuYnRuLWRlZmF1bHRbZGlzYWJsZWRdLmFjdGl2ZSwuYnRuLWRlZmF1bHRbZGlzYWJsZWRdLmZvY3VzLC5idG4tZGVmYXVsdFtkaXNhYmxlZF06YWN0aXZlLC5idG4tZGVmYXVsdFtkaXNhYmxlZF06Zm9jdXMsLmJ0bi1kZWZhdWx0W2Rpc2FibGVkXTpob3ZlcixmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kZWZhdWx0LGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRlZmF1bHQuYWN0aXZlLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRlZmF1bHQuZm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGVmYXVsdDphY3RpdmUsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGVmYXVsdDpmb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kZWZhdWx0OmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItY29sb3I6I2NjY30uYnRuLWRlZmF1bHQgLmJhZGdle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMzMzfS5idG4tcHJpbWFyeXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzMzN2FiNztib3JkZXItY29sb3I6IzJlNmRhNH0uYnRuLXByaW1hcnkuYWN0aXZlLC5idG4tcHJpbWFyeS5mb2N1cywuYnRuLXByaW1hcnk6YWN0aXZlLC5idG4tcHJpbWFyeTpmb2N1cywuYnRuLXByaW1hcnk6aG92ZXIsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4tcHJpbWFyeXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzI4NjA5MDtib3JkZXItY29sb3I6IzIwNGQ3NH0uYnRuLXByaW1hcnkuYWN0aXZlLC5idG4tcHJpbWFyeTphY3RpdmUsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4tcHJpbWFyeXtiYWNrZ3JvdW5kLWltYWdlOm5vbmV9LmJ0bi1wcmltYXJ5LmRpc2FibGVkLC5idG4tcHJpbWFyeS5kaXNhYmxlZC5hY3RpdmUsLmJ0bi1wcmltYXJ5LmRpc2FibGVkLmZvY3VzLC5idG4tcHJpbWFyeS5kaXNhYmxlZDphY3RpdmUsLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmZvY3VzLC5idG4tcHJpbWFyeS5kaXNhYmxlZDpob3ZlciwuYnRuLXByaW1hcnlbZGlzYWJsZWRdLC5idG4tcHJpbWFyeVtkaXNhYmxlZF0uYWN0aXZlLC5idG4tcHJpbWFyeVtkaXNhYmxlZF0uZm9jdXMsLmJ0bi1wcmltYXJ5W2Rpc2FibGVkXTphY3RpdmUsLmJ0bi1wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cywuYnRuLXByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXByaW1hcnksZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tcHJpbWFyeS5hY3RpdmUsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tcHJpbWFyeS5mb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1wcmltYXJ5OmFjdGl2ZSxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1wcmltYXJ5OmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXByaW1hcnk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMzM3YWI3O2JvcmRlci1jb2xvcjojMmU2ZGE0fS5idG4tcHJpbWFyeSAuYmFkZ2V7Y29sb3I6IzMzN2FiNztiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LmJ0bi1zdWNjZXNze2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojNWNiODVjO2JvcmRlci1jb2xvcjojNGNhZTRjfS5idG4tc3VjY2Vzcy5hY3RpdmUsLmJ0bi1zdWNjZXNzLmZvY3VzLC5idG4tc3VjY2VzczphY3RpdmUsLmJ0bi1zdWNjZXNzOmZvY3VzLC5idG4tc3VjY2Vzczpob3Zlciwub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1zdWNjZXNze2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojNDQ5ZDQ0O2JvcmRlci1jb2xvcjojMzk4NDM5fS5idG4tc3VjY2Vzcy5hY3RpdmUsLmJ0bi1zdWNjZXNzOmFjdGl2ZSwub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1zdWNjZXNze2JhY2tncm91bmQtaW1hZ2U6bm9uZX0uYnRuLXN1Y2Nlc3MuZGlzYWJsZWQsLmJ0bi1zdWNjZXNzLmRpc2FibGVkLmFjdGl2ZSwuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQuZm9jdXMsLmJ0bi1zdWNjZXNzLmRpc2FibGVkOmFjdGl2ZSwuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsLmJ0bi1zdWNjZXNzLmRpc2FibGVkOmhvdmVyLC5idG4tc3VjY2Vzc1tkaXNhYmxlZF0sLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXS5hY3RpdmUsLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXS5mb2N1cywuYnRuLXN1Y2Nlc3NbZGlzYWJsZWRdOmFjdGl2ZSwuYnRuLXN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzLC5idG4tc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tc3VjY2VzcyxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1zdWNjZXNzLmFjdGl2ZSxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1zdWNjZXNzLmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXN1Y2Nlc3M6YWN0aXZlLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXN1Y2Nlc3M6Zm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tc3VjY2Vzczpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiM1Y2I4NWM7Ym9yZGVyLWNvbG9yOiM0Y2FlNGN9LmJ0bi1zdWNjZXNzIC5iYWRnZXtjb2xvcjojNWNiODVjO2JhY2tncm91bmQtY29sb3I6I2ZmZn0uYnRuLWluZm97Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM1YmMwZGU7Ym9yZGVyLWNvbG9yOiM0NmI4ZGF9LmJ0bi1pbmZvLmFjdGl2ZSwuYnRuLWluZm8uZm9jdXMsLmJ0bi1pbmZvOmFjdGl2ZSwuYnRuLWluZm86Zm9jdXMsLmJ0bi1pbmZvOmhvdmVyLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLWluZm97Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzMWIwZDU7Ym9yZGVyLWNvbG9yOiMyNjlhYmN9LmJ0bi1pbmZvLmFjdGl2ZSwuYnRuLWluZm86YWN0aXZlLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLWluZm97YmFja2dyb3VuZC1pbWFnZTpub25lfS5idG4taW5mby5kaXNhYmxlZCwuYnRuLWluZm8uZGlzYWJsZWQuYWN0aXZlLC5idG4taW5mby5kaXNhYmxlZC5mb2N1cywuYnRuLWluZm8uZGlzYWJsZWQ6YWN0aXZlLC5idG4taW5mby5kaXNhYmxlZDpmb2N1cywuYnRuLWluZm8uZGlzYWJsZWQ6aG92ZXIsLmJ0bi1pbmZvW2Rpc2FibGVkXSwuYnRuLWluZm9bZGlzYWJsZWRdLmFjdGl2ZSwuYnRuLWluZm9bZGlzYWJsZWRdLmZvY3VzLC5idG4taW5mb1tkaXNhYmxlZF06YWN0aXZlLC5idG4taW5mb1tkaXNhYmxlZF06Zm9jdXMsLmJ0bi1pbmZvW2Rpc2FibGVkXTpob3ZlcixmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1pbmZvLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWluZm8uYWN0aXZlLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWluZm8uZm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4taW5mbzphY3RpdmUsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4taW5mbzpmb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1pbmZvOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzViYzBkZTtib3JkZXItY29sb3I6IzQ2YjhkYX0uYnRuLWluZm8gLmJhZGdle2NvbG9yOiM1YmMwZGU7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5idG4td2FybmluZ3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2YwYWQ0ZTtib3JkZXItY29sb3I6I2VlYTIzNn0uYnRuLXdhcm5pbmcuYWN0aXZlLC5idG4td2FybmluZy5mb2N1cywuYnRuLXdhcm5pbmc6YWN0aXZlLC5idG4td2FybmluZzpmb2N1cywuYnRuLXdhcm5pbmc6aG92ZXIsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4td2FybmluZ3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2VjOTcxZjtib3JkZXItY29sb3I6I2Q1ODUxMn0uYnRuLXdhcm5pbmcuYWN0aXZlLC5idG4td2FybmluZzphY3RpdmUsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4td2FybmluZ3tiYWNrZ3JvdW5kLWltYWdlOm5vbmV9LmJ0bi13YXJuaW5nLmRpc2FibGVkLC5idG4td2FybmluZy5kaXNhYmxlZC5hY3RpdmUsLmJ0bi13YXJuaW5nLmRpc2FibGVkLmZvY3VzLC5idG4td2FybmluZy5kaXNhYmxlZDphY3RpdmUsLmJ0bi13YXJuaW5nLmRpc2FibGVkOmZvY3VzLC5idG4td2FybmluZy5kaXNhYmxlZDpob3ZlciwuYnRuLXdhcm5pbmdbZGlzYWJsZWRdLC5idG4td2FybmluZ1tkaXNhYmxlZF0uYWN0aXZlLC5idG4td2FybmluZ1tkaXNhYmxlZF0uZm9jdXMsLmJ0bi13YXJuaW5nW2Rpc2FibGVkXTphY3RpdmUsLmJ0bi13YXJuaW5nW2Rpc2FibGVkXTpmb2N1cywuYnRuLXdhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXdhcm5pbmcsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4td2FybmluZy5hY3RpdmUsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4td2FybmluZy5mb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi13YXJuaW5nOmFjdGl2ZSxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi13YXJuaW5nOmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXdhcm5pbmc6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZjBhZDRlO2JvcmRlci1jb2xvcjojZWVhMjM2fS5idG4td2FybmluZyAuYmFkZ2V7Y29sb3I6I2YwYWQ0ZTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LmJ0bi1kYW5nZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNkOTUzNGY7Ym9yZGVyLWNvbG9yOiNkNDNmM2F9LmJ0bi1kYW5nZXIuYWN0aXZlLC5idG4tZGFuZ2VyLmZvY3VzLC5idG4tZGFuZ2VyOmFjdGl2ZSwuYnRuLWRhbmdlcjpmb2N1cywuYnRuLWRhbmdlcjpob3Zlciwub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1kYW5nZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNjOTMwMmM7Ym9yZGVyLWNvbG9yOiNhYzI5MjV9LmJ0bi1kYW5nZXIuYWN0aXZlLC5idG4tZGFuZ2VyOmFjdGl2ZSwub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1kYW5nZXJ7YmFja2dyb3VuZC1pbWFnZTpub25lfS5idG4tZGFuZ2VyLmRpc2FibGVkLC5idG4tZGFuZ2VyLmRpc2FibGVkLmFjdGl2ZSwuYnRuLWRhbmdlci5kaXNhYmxlZC5mb2N1cywuYnRuLWRhbmdlci5kaXNhYmxlZDphY3RpdmUsLmJ0bi1kYW5nZXIuZGlzYWJsZWQ6Zm9jdXMsLmJ0bi1kYW5nZXIuZGlzYWJsZWQ6aG92ZXIsLmJ0bi1kYW5nZXJbZGlzYWJsZWRdLC5idG4tZGFuZ2VyW2Rpc2FibGVkXS5hY3RpdmUsLmJ0bi1kYW5nZXJbZGlzYWJsZWRdLmZvY3VzLC5idG4tZGFuZ2VyW2Rpc2FibGVkXTphY3RpdmUsLmJ0bi1kYW5nZXJbZGlzYWJsZWRdOmZvY3VzLC5idG4tZGFuZ2VyW2Rpc2FibGVkXTpob3ZlcixmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kYW5nZXIsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGFuZ2VyLmFjdGl2ZSxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kYW5nZXIuZm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGFuZ2VyOmFjdGl2ZSxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kYW5nZXI6Zm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGFuZ2VyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2Q5NTM0Zjtib3JkZXItY29sb3I6I2Q0M2YzYX0uYnRuLWRhbmdlciAuYmFkZ2V7Y29sb3I6I2Q5NTM0ZjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LmJ0bi1saW5re2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojMzM3YWI3O2JvcmRlci1yYWRpdXM6MH0uYnRuLWxpbmssLmJ0bi1saW5rLmFjdGl2ZSwuYnRuLWxpbms6YWN0aXZlLC5idG4tbGlua1tkaXNhYmxlZF0sZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tbGlua3tiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX0uYnRuLWxpbmssLmJ0bi1saW5rOmFjdGl2ZSwuYnRuLWxpbms6Zm9jdXMsLmJ0bi1saW5rOmhvdmVye2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudH0uYnRuLWxpbms6Zm9jdXMsLmJ0bi1saW5rOmhvdmVye2NvbG9yOiMyMzUyN2M7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5idG4tbGlua1tkaXNhYmxlZF06Zm9jdXMsLmJ0bi1saW5rW2Rpc2FibGVkXTpob3ZlcixmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1saW5rOmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWxpbms6aG92ZXJ7Y29sb3I6Izc3Nzt0ZXh0LWRlY29yYXRpb246bm9uZX0uYnRuLWdyb3VwLWxnPi5idG4sLmJ0bi1sZ3twYWRkaW5nOjEwcHggMTZweDtmb250LXNpemU6MThweDtsaW5lLWhlaWdodDoxLjMzMzMzMzM7Ym9yZGVyLXJhZGl1czo2cHh9LmJ0bi1ncm91cC1zbT4uYnRuLC5idG4tc217cGFkZGluZzo1cHggMTBweDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxLjU7Ym9yZGVyLXJhZGl1czozcHh9LmJ0bi1ncm91cC14cz4uYnRuLC5idG4teHN7cGFkZGluZzoxcHggNXB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjEuNTtib3JkZXItcmFkaXVzOjNweH0uYnRuLWJsb2Nre2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJX0uYnRuLWJsb2NrKy5idG4tYmxvY2t7bWFyZ2luLXRvcDo1cHh9aW5wdXRbdHlwZT1idXR0b25dLmJ0bi1ibG9jayxpbnB1dFt0eXBlPXJlc2V0XS5idG4tYmxvY2ssaW5wdXRbdHlwZT1zdWJtaXRdLmJ0bi1ibG9ja3t3aWR0aDoxMDAlfS5mYWRle29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMTVzIGxpbmVhcjstby10cmFuc2l0aW9uOm9wYWNpdHkgLjE1cyBsaW5lYXI7dHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgbGluZWFyfS5mYWRlLmlue29wYWNpdHk6MX0uY29sbGFwc2V7ZGlzcGxheTpub25lfS5jb2xsYXBzZS5pbntkaXNwbGF5OmJsb2NrfXRyLmNvbGxhcHNlLmlue2Rpc3BsYXk6dGFibGUtcm93fXRib2R5LmNvbGxhcHNlLmlue2Rpc3BsYXk6dGFibGUtcm93LWdyb3VwfS5jb2xsYXBzaW5ne3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDowO292ZXJmbG93OmhpZGRlbjstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2U7LW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouMzVzOy1vLXRyYW5zaXRpb24tZHVyYXRpb246LjM1czt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zNXM7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OmhlaWdodCx2aXNpYmlsaXR5Oy1vLXRyYW5zaXRpb24tcHJvcGVydHk6aGVpZ2h0LHZpc2liaWxpdHk7dHJhbnNpdGlvbi1wcm9wZXJ0eTpoZWlnaHQsdmlzaWJpbGl0eX0uY2FyZXR7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MDtoZWlnaHQ6MDttYXJnaW4tbGVmdDoycHg7dmVydGljYWwtYWxpZ246bWlkZGxlO2JvcmRlci10b3A6NHB4IGRhc2hlZDtib3JkZXItcmlnaHQ6NHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1sZWZ0OjRweCBzb2xpZCB0cmFuc3BhcmVudH0uZHJvcGRvd24sLmRyb3B1cHtwb3NpdGlvbjpyZWxhdGl2ZX0uZHJvcGRvd24tdG9nZ2xlOmZvY3Vze291dGxpbmU6MH0uZHJvcGRvd24tbWVudXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTAwJTtsZWZ0OjA7ei1pbmRleDoxMDAwO2Rpc3BsYXk6bm9uZTtmbG9hdDpsZWZ0O21pbi13aWR0aDoxNjBweDtwYWRkaW5nOjVweCAwO21hcmdpbjoycHggMCAwO2ZvbnQtc2l6ZToxNHB4O3RleHQtYWxpZ246bGVmdDtsaXN0LXN0eWxlOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojZmZmOy13ZWJraXQtYmFja2dyb3VuZC1jbGlwOnBhZGRpbmctYm94O2JhY2tncm91bmQtY2xpcDpwYWRkaW5nLWJveDtib3JkZXI6MXB4IHNvbGlkICNjY2M7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4xNSk7Ym9yZGVyLXJhZGl1czo0cHg7LXdlYmtpdC1ib3gtc2hhZG93OjAgNnB4IDEycHggcmdiYSgwLDAsMCwuMTc1KTtib3gtc2hhZG93OjAgNnB4IDEycHggcmdiYSgwLDAsMCwuMTc1KX0uZHJvcGRvd24tbWVudS5wdWxsLXJpZ2h0e3JpZ2h0OjA7bGVmdDphdXRvfS5kcm9wZG93bi1tZW51IC5kaXZpZGVye2hlaWdodDoxcHg7bWFyZ2luOjlweCAwO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kLWNvbG9yOiNlNWU1ZTV9LmRyb3Bkb3duLW1lbnU+bGk+YXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6M3B4IDIwcHg7Y2xlYXI6Ym90aDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS40Mjg1NzE0Mztjb2xvcjojMzMzO3doaXRlLXNwYWNlOm5vd3JhcH0uZHJvcGRvd24tbWVudT5saT5hOmZvY3VzLC5kcm9wZG93bi1tZW51PmxpPmE6aG92ZXJ7Y29sb3I6IzI2MjYyNjt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjV9LmRyb3Bkb3duLW1lbnU+LmFjdGl2ZT5hLC5kcm9wZG93bi1tZW51Pi5hY3RpdmU+YTpmb2N1cywuZHJvcGRvd24tbWVudT4uYWN0aXZlPmE6aG92ZXJ7Y29sb3I6I2ZmZjt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiMzMzdhYjc7b3V0bGluZTowfS5kcm9wZG93bi1tZW51Pi5kaXNhYmxlZD5hLC5kcm9wZG93bi1tZW51Pi5kaXNhYmxlZD5hOmZvY3VzLC5kcm9wZG93bi1tZW51Pi5kaXNhYmxlZD5hOmhvdmVye2NvbG9yOiM3Nzd9LmRyb3Bkb3duLW1lbnU+LmRpc2FibGVkPmE6Zm9jdXMsLmRyb3Bkb3duLW1lbnU+LmRpc2FibGVkPmE6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y3Vyc29yOm5vdC1hbGxvd2VkO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1pbWFnZTpub25lO2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZD1mYWxzZSl9Lm9wZW4+LmRyb3Bkb3duLW1lbnV7ZGlzcGxheTpibG9ja30ub3Blbj5he291dGxpbmU6MH0uZHJvcGRvd24tbWVudS1yaWdodHtyaWdodDowO2xlZnQ6YXV0b30uZHJvcGRvd24tbWVudS1sZWZ0e3JpZ2h0OmF1dG87bGVmdDowfS5kcm9wZG93bi1oZWFkZXJ7ZGlzcGxheTpibG9jaztwYWRkaW5nOjNweCAyMHB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDM7Y29sb3I6Izc3Nzt3aGl0ZS1zcGFjZTpub3dyYXB9LmRyb3Bkb3duLWJhY2tkcm9we3Bvc2l0aW9uOmZpeGVkO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowO3otaW5kZXg6OTkwfS5wdWxsLXJpZ2h0Pi5kcm9wZG93bi1tZW51e3JpZ2h0OjA7bGVmdDphdXRvfS5kcm9wdXAgLmNhcmV0LC5uYXZiYXItZml4ZWQtYm90dG9tIC5kcm9wZG93biAuY2FyZXR7Y29udGVudDoiIjtib3JkZXItdG9wOjA7Ym9yZGVyLWJvdHRvbTo0cHggc29saWR9LmRyb3B1cCAuZHJvcGRvd24tbWVudSwubmF2YmFyLWZpeGVkLWJvdHRvbSAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnV7dG9wOmF1dG87Ym90dG9tOjEwMCU7bWFyZ2luLWJvdHRvbToycHh9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXZiYXItcmlnaHQgLmRyb3Bkb3duLW1lbnV7cmlnaHQ6MDtsZWZ0OmF1dG99Lm5hdmJhci1yaWdodCAuZHJvcGRvd24tbWVudS1sZWZ0e3JpZ2h0OmF1dG87bGVmdDowfX0uYnRuLWdyb3VwLC5idG4tZ3JvdXAtdmVydGljYWx7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0biwuYnRuLWdyb3VwPi5idG57cG9zaXRpb246cmVsYXRpdmU7ZmxvYXQ6bGVmdH0uYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4uYWN0aXZlLC5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bjphY3RpdmUsLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuOmZvY3VzLC5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bjpob3ZlciwuYnRuLWdyb3VwPi5idG4uYWN0aXZlLC5idG4tZ3JvdXA+LmJ0bjphY3RpdmUsLmJ0bi1ncm91cD4uYnRuOmZvY3VzLC5idG4tZ3JvdXA+LmJ0bjpob3Zlcnt6LWluZGV4OjJ9LmJ0bi1ncm91cCAuYnRuKy5idG4sLmJ0bi1ncm91cCAuYnRuKy5idG4tZ3JvdXAsLmJ0bi1ncm91cCAuYnRuLWdyb3VwKy5idG4sLmJ0bi1ncm91cCAuYnRuLWdyb3VwKy5idG4tZ3JvdXB7bWFyZ2luLWxlZnQ6LTFweH0uYnRuLXRvb2xiYXJ7bWFyZ2luLWxlZnQ6LTVweH0uYnRuLXRvb2xiYXIgLmJ0bi1ncm91cCwuYnRuLXRvb2xiYXIgLmlucHV0LWdyb3Vwe2Zsb2F0OmxlZnR9LmJ0bi10b29sYmFyPi5idG4sLmJ0bi10b29sYmFyPi5idG4tZ3JvdXAsLmJ0bi10b29sYmFyPi5pbnB1dC1ncm91cHttYXJnaW4tbGVmdDo1cHh9LmJ0bi1ncm91cD4uYnRuOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpe2JvcmRlci1yYWRpdXM6MH0uYnRuLWdyb3VwPi5idG46Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6MH0uYnRuLWdyb3VwPi5idG46Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSl7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS5idG4tZ3JvdXA+LmJ0bjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLC5idG4tZ3JvdXA+LmRyb3Bkb3duLXRvZ2dsZTpub3QoOmZpcnN0LWNoaWxkKXtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5idG4tZ3JvdXA+LmJ0bi1ncm91cHtmbG9hdDpsZWZ0fS5idG4tZ3JvdXA+LmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpPi5idG57Ym9yZGVyLXJhZGl1czowfS5idG4tZ3JvdXA+LmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpPi5idG46bGFzdC1jaGlsZCwuYnRuLWdyb3VwPi5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKT4uZHJvcGRvd24tdG9nZ2xle2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MH0uYnRuLWdyb3VwPi5idG4tZ3JvdXA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKT4uYnRuOmZpcnN0LWNoaWxke2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LmJ0bi1ncm91cCAuZHJvcGRvd24tdG9nZ2xlOmFjdGl2ZSwuYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZXtvdXRsaW5lOjB9LmJ0bi1ncm91cD4uYnRuKy5kcm9wZG93bi10b2dnbGV7cGFkZGluZy1yaWdodDo4cHg7cGFkZGluZy1sZWZ0OjhweH0uYnRuLWdyb3VwPi5idG4tbGcrLmRyb3Bkb3duLXRvZ2dsZXtwYWRkaW5nLXJpZ2h0OjEycHg7cGFkZGluZy1sZWZ0OjEycHh9LmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGV7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgM3B4IDVweCByZ2JhKDAsMCwwLC4xMjUpO2JveC1zaGFkb3c6aW5zZXQgMCAzcHggNXB4IHJnYmEoMCwwLDAsLjEyNSl9LmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGUuYnRuLWxpbmt7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lfS5idG4gLmNhcmV0e21hcmdpbi1sZWZ0OjB9LmJ0bi1sZyAuY2FyZXR7Ym9yZGVyLXdpZHRoOjVweCA1cHggMDtib3JkZXItYm90dG9tLXdpZHRoOjB9LmRyb3B1cCAuYnRuLWxnIC5jYXJldHtib3JkZXItd2lkdGg6MCA1cHggNXB4fS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0biwuYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4tZ3JvdXAsLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLWdyb3VwPi5idG57ZGlzcGxheTpibG9jaztmbG9hdDpub25lO3dpZHRoOjEwMCU7bWF4LXdpZHRoOjEwMCV9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLWdyb3VwPi5idG57ZmxvYXQ6bm9uZX0uYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4rLmJ0biwuYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4rLmJ0bi1ncm91cCwuYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4tZ3JvdXArLmJ0biwuYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4tZ3JvdXArLmJ0bi1ncm91cHttYXJnaW4tdG9wOi0xcHg7bWFyZ2luLWxlZnQ6MH0uYnRuLWdyb3VwLXZlcnRpY2FsPi5idG46bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKXtib3JkZXItcmFkaXVzOjB9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCl7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6NHB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpe2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6NHB4fS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpPi5idG57Ym9yZGVyLXJhZGl1czowfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpPi5idG46bGFzdC1jaGlsZCwuYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKT4uZHJvcGRvd24tdG9nZ2xle2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpPi5idG46Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjB9LmJ0bi1ncm91cC1qdXN0aWZpZWR7ZGlzcGxheTp0YWJsZTt3aWR0aDoxMDAlO3RhYmxlLWxheW91dDpmaXhlZDtib3JkZXItY29sbGFwc2U6c2VwYXJhdGV9LmJ0bi1ncm91cC1qdXN0aWZpZWQ+LmJ0biwuYnRuLWdyb3VwLWp1c3RpZmllZD4uYnRuLWdyb3Vwe2Rpc3BsYXk6dGFibGUtY2VsbDtmbG9hdDpub25lO3dpZHRoOjElfS5idG4tZ3JvdXAtanVzdGlmaWVkPi5idG4tZ3JvdXAgLmJ0bnt3aWR0aDoxMDAlfS5idG4tZ3JvdXAtanVzdGlmaWVkPi5idG4tZ3JvdXAgLmRyb3Bkb3duLW1lbnV7bGVmdDphdXRvfVtkYXRhLXRvZ2dsZT1idXR0b25zXT4uYnRuIGlucHV0W3R5cGU9Y2hlY2tib3hdLFtkYXRhLXRvZ2dsZT1idXR0b25zXT4uYnRuIGlucHV0W3R5cGU9cmFkaW9dLFtkYXRhLXRvZ2dsZT1idXR0b25zXT4uYnRuLWdyb3VwPi5idG4gaW5wdXRbdHlwZT1jaGVja2JveF0sW2RhdGEtdG9nZ2xlPWJ1dHRvbnNdPi5idG4tZ3JvdXA+LmJ0biBpbnB1dFt0eXBlPXJhZGlvXXtwb3NpdGlvbjphYnNvbHV0ZTtjbGlwOnJlY3QoMCwwLDAsMCk7cG9pbnRlci1ldmVudHM6bm9uZX0uaW5wdXQtZ3JvdXB7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTp0YWJsZTtib3JkZXItY29sbGFwc2U6c2VwYXJhdGV9LmlucHV0LWdyb3VwW2NsYXNzKj1jb2wtXXtmbG9hdDpub25lO3BhZGRpbmctcmlnaHQ6MDtwYWRkaW5nLWxlZnQ6MH0uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjI7ZmxvYXQ6bGVmdDt3aWR0aDoxMDAlO21hcmdpbi1ib3R0b206MH0uaW5wdXQtZ3JvdXAtbGc+LmZvcm0tY29udHJvbCwuaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLWFkZG9uLC5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtYnRuPi5idG57aGVpZ2h0OjQ2cHg7cGFkZGluZzoxMHB4IDE2cHg7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MS4zMzMzMzMzO2JvcmRlci1yYWRpdXM6NnB4fXNlbGVjdC5pbnB1dC1ncm91cC1sZz4uZm9ybS1jb250cm9sLHNlbGVjdC5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtYWRkb24sc2VsZWN0LmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1idG4+LmJ0bntoZWlnaHQ6NDZweDtsaW5lLWhlaWdodDo0NnB4fXNlbGVjdFttdWx0aXBsZV0uaW5wdXQtZ3JvdXAtbGc+LmZvcm0tY29udHJvbCxzZWxlY3RbbXVsdGlwbGVdLmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1hZGRvbixzZWxlY3RbbXVsdGlwbGVdLmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1idG4+LmJ0bix0ZXh0YXJlYS5pbnB1dC1ncm91cC1sZz4uZm9ybS1jb250cm9sLHRleHRhcmVhLmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1hZGRvbix0ZXh0YXJlYS5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtYnRuPi5idG57aGVpZ2h0OmF1dG99LmlucHV0LWdyb3VwLXNtPi5mb3JtLWNvbnRyb2wsLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1hZGRvbiwuaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLWJ0bj4uYnRue2hlaWdodDozMHB4O3BhZGRpbmc6NXB4IDEwcHg7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MS41O2JvcmRlci1yYWRpdXM6M3B4fXNlbGVjdC5pbnB1dC1ncm91cC1zbT4uZm9ybS1jb250cm9sLHNlbGVjdC5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtYWRkb24sc2VsZWN0LmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1idG4+LmJ0bntoZWlnaHQ6MzBweDtsaW5lLWhlaWdodDozMHB4fXNlbGVjdFttdWx0aXBsZV0uaW5wdXQtZ3JvdXAtc20+LmZvcm0tY29udHJvbCxzZWxlY3RbbXVsdGlwbGVdLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1hZGRvbixzZWxlY3RbbXVsdGlwbGVdLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1idG4+LmJ0bix0ZXh0YXJlYS5pbnB1dC1ncm91cC1zbT4uZm9ybS1jb250cm9sLHRleHRhcmVhLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1hZGRvbix0ZXh0YXJlYS5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtYnRuPi5idG57aGVpZ2h0OmF1dG99LmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wsLmlucHV0LWdyb3VwLWFkZG9uLC5pbnB1dC1ncm91cC1idG57ZGlzcGxheTp0YWJsZS1jZWxsfS5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCksLmlucHV0LWdyb3VwLWFkZG9uOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCksLmlucHV0LWdyb3VwLWJ0bjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpe2JvcmRlci1yYWRpdXM6MH0uaW5wdXQtZ3JvdXAtYWRkb24sLmlucHV0LWdyb3VwLWJ0bnt3aWR0aDoxJTt3aGl0ZS1zcGFjZTpub3dyYXA7dmVydGljYWwtYWxpZ246bWlkZGxlfS5pbnB1dC1ncm91cC1hZGRvbntwYWRkaW5nOjZweCAxMnB4O2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxO2NvbG9yOiM1NTU7dGV4dC1hbGlnbjpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjojZWVlO2JvcmRlcjoxcHggc29saWQgI2NjYztib3JkZXItcmFkaXVzOjRweH0uaW5wdXQtZ3JvdXAtYWRkb24uaW5wdXQtc217cGFkZGluZzo1cHggMTBweDtmb250LXNpemU6MTJweDtib3JkZXItcmFkaXVzOjNweH0uaW5wdXQtZ3JvdXAtYWRkb24uaW5wdXQtbGd7cGFkZGluZzoxMHB4IDE2cHg7Zm9udC1zaXplOjE4cHg7Ym9yZGVyLXJhZGl1czo2cHh9LmlucHV0LWdyb3VwLWFkZG9uIGlucHV0W3R5cGU9Y2hlY2tib3hdLC5pbnB1dC1ncm91cC1hZGRvbiBpbnB1dFt0eXBlPXJhZGlvXXttYXJnaW4tdG9wOjB9LmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6Zmlyc3QtY2hpbGQsLmlucHV0LWdyb3VwLWFkZG9uOmZpcnN0LWNoaWxkLC5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQ+LmJ0biwuaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkPi5idG4tZ3JvdXA+LmJ0biwuaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkPi5kcm9wZG93bi10b2dnbGUsLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkPi5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKT4uYnRuLC5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZD4uYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpe2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MH0uaW5wdXQtZ3JvdXAtYWRkb246Zmlyc3QtY2hpbGR7Ym9yZGVyLXJpZ2h0OjB9LmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6bGFzdC1jaGlsZCwuaW5wdXQtZ3JvdXAtYWRkb246bGFzdC1jaGlsZCwuaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkPi5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCk+LmJ0biwuaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkPi5idG46bm90KDpmaXJzdC1jaGlsZCksLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkPi5idG4sLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkPi5idG4tZ3JvdXA+LmJ0biwuaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQ+LmRyb3Bkb3duLXRvZ2dsZXtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxke2JvcmRlci1sZWZ0OjB9LmlucHV0LWdyb3VwLWJ0bntwb3NpdGlvbjpyZWxhdGl2ZTtmb250LXNpemU6MDt3aGl0ZS1zcGFjZTpub3dyYXB9LmlucHV0LWdyb3VwLWJ0bj4uYnRue3Bvc2l0aW9uOnJlbGF0aXZlfS5pbnB1dC1ncm91cC1idG4+LmJ0bisuYnRue21hcmdpbi1sZWZ0Oi0xcHh9LmlucHV0LWdyb3VwLWJ0bj4uYnRuOmFjdGl2ZSwuaW5wdXQtZ3JvdXAtYnRuPi5idG46Zm9jdXMsLmlucHV0LWdyb3VwLWJ0bj4uYnRuOmhvdmVye3otaW5kZXg6Mn0uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkPi5idG4sLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZD4uYnRuLWdyb3Vwe21hcmdpbi1yaWdodDotMXB4fS5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZD4uYnRuLC5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZD4uYnRuLWdyb3Vwe21hcmdpbi1sZWZ0Oi0xcHh9Lm5hdntwYWRkaW5nLWxlZnQ6MDttYXJnaW4tYm90dG9tOjA7bGlzdC1zdHlsZTpub25lfS5uYXY+bGl7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9ja30ubmF2PmxpPmF7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jaztwYWRkaW5nOjEwcHggMTVweH0ubmF2PmxpPmE6Zm9jdXMsLm5hdj5saT5hOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQtY29sb3I6I2VlZX0ubmF2PmxpLmRpc2FibGVkPmF7Y29sb3I6Izc3N30ubmF2PmxpLmRpc2FibGVkPmE6Zm9jdXMsLm5hdj5saS5kaXNhYmxlZD5hOmhvdmVye2NvbG9yOiM3Nzc7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y3Vyc29yOm5vdC1hbGxvd2VkO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lm5hdiAub3Blbj5hLC5uYXYgLm9wZW4+YTpmb2N1cywubmF2IC5vcGVuPmE6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZWVlO2JvcmRlci1jb2xvcjojMzM3YWI3fS5uYXYgLm5hdi1kaXZpZGVye2hlaWdodDoxcHg7bWFyZ2luOjlweCAwO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kLWNvbG9yOiNlNWU1ZTV9Lm5hdj5saT5hPmltZ3ttYXgtd2lkdGg6bm9uZX0ubmF2LXRhYnN7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZH0ubmF2LXRhYnM+bGl7ZmxvYXQ6bGVmdDttYXJnaW4tYm90dG9tOi0xcHh9Lm5hdi10YWJzPmxpPmF7bWFyZ2luLXJpZ2h0OjJweDtsaW5lLWhlaWdodDoxLjQyODU3MTQzO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czo0cHggNHB4IDAgMH0ubmF2LXRhYnM+bGk+YTpob3Zlcntib3JkZXItY29sb3I6I2VlZSAjZWVlICNkZGR9Lm5hdi10YWJzPmxpLmFjdGl2ZT5hLC5uYXYtdGFicz5saS5hY3RpdmU+YTpmb2N1cywubmF2LXRhYnM+bGkuYWN0aXZlPmE6aG92ZXJ7Y29sb3I6IzU1NTtjdXJzb3I6ZGVmYXVsdDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZGRkO2JvcmRlci1ib3R0b20tY29sb3I6dHJhbnNwYXJlbnR9Lm5hdi10YWJzLm5hdi1qdXN0aWZpZWR7d2lkdGg6MTAwJTtib3JkZXItYm90dG9tOjB9Lm5hdi10YWJzLm5hdi1qdXN0aWZpZWQ+bGl7ZmxvYXQ6bm9uZX0ubmF2LXRhYnMubmF2LWp1c3RpZmllZD5saT5he21hcmdpbi1ib3R0b206NXB4O3RleHQtYWxpZ246Y2VudGVyfS5uYXYtdGFicy5uYXYtanVzdGlmaWVkPi5kcm9wZG93biAuZHJvcGRvd24tbWVudXt0b3A6YXV0bztsZWZ0OmF1dG99QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXYtdGFicy5uYXYtanVzdGlmaWVkPmxpe2Rpc3BsYXk6dGFibGUtY2VsbDt3aWR0aDoxJX0ubmF2LXRhYnMubmF2LWp1c3RpZmllZD5saT5he21hcmdpbi1ib3R0b206MH19Lm5hdi10YWJzLm5hdi1qdXN0aWZpZWQ+bGk+YXttYXJnaW4tcmlnaHQ6MDtib3JkZXItcmFkaXVzOjRweH0ubmF2LXRhYnMubmF2LWp1c3RpZmllZD4uYWN0aXZlPmEsLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQ+LmFjdGl2ZT5hOmZvY3VzLC5uYXYtdGFicy5uYXYtanVzdGlmaWVkPi5hY3RpdmU+YTpob3Zlcntib3JkZXI6MXB4IHNvbGlkICNkZGR9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXYtdGFicy5uYXYtanVzdGlmaWVkPmxpPmF7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZDtib3JkZXItcmFkaXVzOjRweCA0cHggMCAwfS5uYXYtdGFicy5uYXYtanVzdGlmaWVkPi5hY3RpdmU+YSwubmF2LXRhYnMubmF2LWp1c3RpZmllZD4uYWN0aXZlPmE6Zm9jdXMsLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQ+LmFjdGl2ZT5hOmhvdmVye2JvcmRlci1ib3R0b20tY29sb3I6I2ZmZn19Lm5hdi1waWxscz5saXtmbG9hdDpsZWZ0fS5uYXYtcGlsbHM+bGk+YXtib3JkZXItcmFkaXVzOjRweH0ubmF2LXBpbGxzPmxpK2xpe21hcmdpbi1sZWZ0OjJweH0ubmF2LXBpbGxzPmxpLmFjdGl2ZT5hLC5uYXYtcGlsbHM+bGkuYWN0aXZlPmE6Zm9jdXMsLm5hdi1waWxscz5saS5hY3RpdmU+YTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzMzN2FiN30ubmF2LXN0YWNrZWQ+bGl7ZmxvYXQ6bm9uZX0ubmF2LXN0YWNrZWQ+bGkrbGl7bWFyZ2luLXRvcDoycHg7bWFyZ2luLWxlZnQ6MH0ubmF2LWp1c3RpZmllZHt3aWR0aDoxMDAlfS5uYXYtanVzdGlmaWVkPmxpe2Zsb2F0Om5vbmV9Lm5hdi1qdXN0aWZpZWQ+bGk+YXttYXJnaW4tYm90dG9tOjVweDt0ZXh0LWFsaWduOmNlbnRlcn0ubmF2LWp1c3RpZmllZD4uZHJvcGRvd24gLmRyb3Bkb3duLW1lbnV7dG9wOmF1dG87bGVmdDphdXRvfUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubmF2LWp1c3RpZmllZD5saXtkaXNwbGF5OnRhYmxlLWNlbGw7d2lkdGg6MSV9Lm5hdi1qdXN0aWZpZWQ+bGk+YXttYXJnaW4tYm90dG9tOjB9fS5uYXYtdGFicy1qdXN0aWZpZWR7Ym9yZGVyLWJvdHRvbTowfS5uYXYtdGFicy1qdXN0aWZpZWQ+bGk+YXttYXJnaW4tcmlnaHQ6MDtib3JkZXItcmFkaXVzOjRweH0ubmF2LXRhYnMtanVzdGlmaWVkPi5hY3RpdmU+YSwubmF2LXRhYnMtanVzdGlmaWVkPi5hY3RpdmU+YTpmb2N1cywubmF2LXRhYnMtanVzdGlmaWVkPi5hY3RpdmU+YTpob3Zlcntib3JkZXI6MXB4IHNvbGlkICNkZGR9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXYtdGFicy1qdXN0aWZpZWQ+bGk+YXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZGRkO2JvcmRlci1yYWRpdXM6NHB4IDRweCAwIDB9Lm5hdi10YWJzLWp1c3RpZmllZD4uYWN0aXZlPmEsLm5hdi10YWJzLWp1c3RpZmllZD4uYWN0aXZlPmE6Zm9jdXMsLm5hdi10YWJzLWp1c3RpZmllZD4uYWN0aXZlPmE6aG92ZXJ7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZmZmfX0udGFiLWNvbnRlbnQ+LnRhYi1wYW5le2Rpc3BsYXk6bm9uZX0udGFiLWNvbnRlbnQ+LmFjdGl2ZXtkaXNwbGF5OmJsb2NrfS5uYXYtdGFicyAuZHJvcGRvd24tbWVudXttYXJnaW4tdG9wOi0xcHg7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjB9Lm5hdmJhcntwb3NpdGlvbjpyZWxhdGl2ZTttaW4taGVpZ2h0OjUwcHg7bWFyZ2luLWJvdHRvbToyMHB4O2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnR9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXZiYXJ7Ym9yZGVyLXJhZGl1czo0cHh9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubmF2YmFyLWhlYWRlcntmbG9hdDpsZWZ0fX0ubmF2YmFyLWNvbGxhcHNle3BhZGRpbmctcmlnaHQ6MTVweDtwYWRkaW5nLWxlZnQ6MTVweDtvdmVyZmxvdy14OnZpc2libGU7LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7Ym9yZGVyLXRvcDoxcHggc29saWQgdHJhbnNwYXJlbnQ7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMSk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsLjEpfS5uYXZiYXItY29sbGFwc2UuaW57b3ZlcmZsb3cteTphdXRvfUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubmF2YmFyLWNvbGxhcHNle3dpZHRoOmF1dG87Ym9yZGVyLXRvcDowOy13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX0ubmF2YmFyLWNvbGxhcHNlLmNvbGxhcHNle2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50O2hlaWdodDphdXRvIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTowO292ZXJmbG93OnZpc2libGUhaW1wb3J0YW50fS5uYXZiYXItY29sbGFwc2UuaW57b3ZlcmZsb3cteTp2aXNpYmxlfS5uYXZiYXItZml4ZWQtYm90dG9tIC5uYXZiYXItY29sbGFwc2UsLm5hdmJhci1maXhlZC10b3AgLm5hdmJhci1jb2xsYXBzZSwubmF2YmFyLXN0YXRpYy10b3AgLm5hdmJhci1jb2xsYXBzZXtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjB9fS5uYXZiYXItZml4ZWQtYm90dG9tIC5uYXZiYXItY29sbGFwc2UsLm5hdmJhci1maXhlZC10b3AgLm5hdmJhci1jb2xsYXBzZXttYXgtaGVpZ2h0OjM0MHB4fUBtZWRpYSAobWF4LWRldmljZS13aWR0aDo0ODBweClhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSl7Lm5hdmJhci1maXhlZC1ib3R0b20gLm5hdmJhci1jb2xsYXBzZSwubmF2YmFyLWZpeGVkLXRvcCAubmF2YmFyLWNvbGxhcHNle21heC1oZWlnaHQ6MjAwcHh9fS5jb250YWluZXItZmx1aWQ+Lm5hdmJhci1jb2xsYXBzZSwuY29udGFpbmVyLWZsdWlkPi5uYXZiYXItaGVhZGVyLC5jb250YWluZXI+Lm5hdmJhci1jb2xsYXBzZSwuY29udGFpbmVyPi5uYXZiYXItaGVhZGVye21hcmdpbi1yaWdodDotMTVweDttYXJnaW4tbGVmdDotMTVweH1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7LmNvbnRhaW5lci1mbHVpZD4ubmF2YmFyLWNvbGxhcHNlLC5jb250YWluZXItZmx1aWQ+Lm5hdmJhci1oZWFkZXIsLmNvbnRhaW5lcj4ubmF2YmFyLWNvbGxhcHNlLC5jb250YWluZXI+Lm5hdmJhci1oZWFkZXJ7bWFyZ2luLXJpZ2h0OjA7bWFyZ2luLWxlZnQ6MH19Lm5hdmJhci1zdGF0aWMtdG9we3otaW5kZXg6MTAwMDtib3JkZXItd2lkdGg6MCAwIDFweH1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm5hdmJhci1zdGF0aWMtdG9we2JvcmRlci1yYWRpdXM6MH19Lm5hdmJhci1maXhlZC1ib3R0b20sLm5hdmJhci1maXhlZC10b3B7cG9zaXRpb246Zml4ZWQ7cmlnaHQ6MDtsZWZ0OjA7ei1pbmRleDoxMDMwfUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubmF2YmFyLWZpeGVkLWJvdHRvbSwubmF2YmFyLWZpeGVkLXRvcHtib3JkZXItcmFkaXVzOjB9fS5uYXZiYXItZml4ZWQtdG9we3RvcDowO2JvcmRlci13aWR0aDowIDAgMXB4fS5uYXZiYXItZml4ZWQtYm90dG9te2JvdHRvbTowO21hcmdpbi1ib3R0b206MDtib3JkZXItd2lkdGg6MXB4IDAgMH0ubmF2YmFyLWJyYW5ke2Zsb2F0OmxlZnQ7aGVpZ2h0OjUwcHg7cGFkZGluZzoxNXB4IDE1cHg7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MjBweH0ubmF2YmFyLWJyYW5kOmZvY3VzLC5uYXZiYXItYnJhbmQ6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9Lm5hdmJhci1icmFuZD5pbWd7ZGlzcGxheTpibG9ja31AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm5hdmJhcj4uY29udGFpbmVyIC5uYXZiYXItYnJhbmQsLm5hdmJhcj4uY29udGFpbmVyLWZsdWlkIC5uYXZiYXItYnJhbmR7bWFyZ2luLWxlZnQ6LTE1cHh9fS5uYXZiYXItdG9nZ2xle3Bvc2l0aW9uOnJlbGF0aXZlO2Zsb2F0OnJpZ2h0O3BhZGRpbmc6OXB4IDEwcHg7bWFyZ2luLXRvcDo4cHg7bWFyZ2luLXJpZ2h0OjE1cHg7bWFyZ2luLWJvdHRvbTo4cHg7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjRweH0ubmF2YmFyLXRvZ2dsZTpmb2N1c3tvdXRsaW5lOjB9Lm5hdmJhci10b2dnbGUgLmljb24tYmFye2Rpc3BsYXk6YmxvY2s7d2lkdGg6MjJweDtoZWlnaHQ6MnB4O2JvcmRlci1yYWRpdXM6MXB4fS5uYXZiYXItdG9nZ2xlIC5pY29uLWJhcisuaWNvbi1iYXJ7bWFyZ2luLXRvcDo0cHh9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXZiYXItdG9nZ2xle2Rpc3BsYXk6bm9uZX19Lm5hdmJhci1uYXZ7bWFyZ2luOjcuNXB4IC0xNXB4fS5uYXZiYXItbmF2PmxpPmF7cGFkZGluZy10b3A6MTBweDtwYWRkaW5nLWJvdHRvbToxMHB4O2xpbmUtaGVpZ2h0OjIwcHh9QG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpey5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51e3Bvc2l0aW9uOnN0YXRpYztmbG9hdDpub25lO3dpZHRoOmF1dG87bWFyZ2luLXRvcDowO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOjA7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lfS5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51IC5kcm9wZG93bi1oZWFkZXIsLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+bGk+YXtwYWRkaW5nOjVweCAxNXB4IDVweCAyNXB4fS5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51PmxpPmF7bGluZS1oZWlnaHQ6MjBweH0ubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT5saT5hOmZvY3VzLC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51PmxpPmE6aG92ZXJ7YmFja2dyb3VuZC1pbWFnZTpub25lfX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm5hdmJhci1uYXZ7ZmxvYXQ6bGVmdDttYXJnaW46MH0ubmF2YmFyLW5hdj5saXtmbG9hdDpsZWZ0fS5uYXZiYXItbmF2PmxpPmF7cGFkZGluZy10b3A6MTVweDtwYWRkaW5nLWJvdHRvbToxNXB4fX0ubmF2YmFyLWZvcm17cGFkZGluZzoxMHB4IDE1cHg7bWFyZ2luLXRvcDo4cHg7bWFyZ2luLXJpZ2h0Oi0xNXB4O21hcmdpbi1ib3R0b206OHB4O21hcmdpbi1sZWZ0Oi0xNXB4O2JvcmRlci10b3A6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHRyYW5zcGFyZW50Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsLjEpLDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMSk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsLjEpLDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMSl9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXZiYXItZm9ybSAuZm9ybS1ncm91cHtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tYm90dG9tOjA7dmVydGljYWwtYWxpZ246bWlkZGxlfS5uYXZiYXItZm9ybSAuZm9ybS1jb250cm9se2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOmF1dG87dmVydGljYWwtYWxpZ246bWlkZGxlfS5uYXZiYXItZm9ybSAuZm9ybS1jb250cm9sLXN0YXRpY3tkaXNwbGF5OmlubGluZS1ibG9ja30ubmF2YmFyLWZvcm0gLmlucHV0LWdyb3Vwe2Rpc3BsYXk6aW5saW5lLXRhYmxlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ubmF2YmFyLWZvcm0gLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wsLm5hdmJhci1mb3JtIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYWRkb24sLm5hdmJhci1mb3JtIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnRue3dpZHRoOmF1dG99Lm5hdmJhci1mb3JtIC5pbnB1dC1ncm91cD4uZm9ybS1jb250cm9se3dpZHRoOjEwMCV9Lm5hdmJhci1mb3JtIC5jb250cm9sLWxhYmVse21hcmdpbi1ib3R0b206MDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lm5hdmJhci1mb3JtIC5jaGVja2JveCwubmF2YmFyLWZvcm0gLnJhZGlve2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjA7dmVydGljYWwtYWxpZ246bWlkZGxlfS5uYXZiYXItZm9ybSAuY2hlY2tib3ggbGFiZWwsLm5hdmJhci1mb3JtIC5yYWRpbyBsYWJlbHtwYWRkaW5nLWxlZnQ6MH0ubmF2YmFyLWZvcm0gLmNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdLC5uYXZiYXItZm9ybSAucmFkaW8gaW5wdXRbdHlwZT1yYWRpb117cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLWxlZnQ6MH0ubmF2YmFyLWZvcm0gLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNre3RvcDowfX1AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7Lm5hdmJhci1mb3JtIC5mb3JtLWdyb3Vwe21hcmdpbi1ib3R0b206NXB4fS5uYXZiYXItZm9ybSAuZm9ybS1ncm91cDpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXZiYXItZm9ybXt3aWR0aDphdXRvO3BhZGRpbmctdG9wOjA7cGFkZGluZy1ib3R0b206MDttYXJnaW4tcmlnaHQ6MDttYXJnaW4tbGVmdDowO2JvcmRlcjowOy13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX19Lm5hdmJhci1uYXY+bGk+LmRyb3Bkb3duLW1lbnV7bWFyZ2luLXRvcDowO2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowfS5uYXZiYXItZml4ZWQtYm90dG9tIC5uYXZiYXItbmF2PmxpPi5kcm9wZG93bi1tZW51e21hcmdpbi1ib3R0b206MDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjRweDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czo0cHg7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9Lm5hdmJhci1idG57bWFyZ2luLXRvcDo4cHg7bWFyZ2luLWJvdHRvbTo4cHh9Lm5hdmJhci1idG4uYnRuLXNte21hcmdpbi10b3A6MTBweDttYXJnaW4tYm90dG9tOjEwcHh9Lm5hdmJhci1idG4uYnRuLXhze21hcmdpbi10b3A6MTRweDttYXJnaW4tYm90dG9tOjE0cHh9Lm5hdmJhci10ZXh0e21hcmdpbi10b3A6MTVweDttYXJnaW4tYm90dG9tOjE1cHh9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXZiYXItdGV4dHtmbG9hdDpsZWZ0O21hcmdpbi1yaWdodDoxNXB4O21hcmdpbi1sZWZ0OjE1cHh9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubmF2YmFyLWxlZnR7ZmxvYXQ6bGVmdCFpbXBvcnRhbnR9Lm5hdmJhci1yaWdodHtmbG9hdDpyaWdodCFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0Oi0xNXB4fS5uYXZiYXItcmlnaHR+Lm5hdmJhci1yaWdodHttYXJnaW4tcmlnaHQ6MH19Lm5hdmJhci1kZWZhdWx0e2JhY2tncm91bmQtY29sb3I6I2Y4ZjhmODtib3JkZXItY29sb3I6I2U3ZTdlN30ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1icmFuZHtjb2xvcjojNzc3fS5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWJyYW5kOmZvY3VzLC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWJyYW5kOmhvdmVye2NvbG9yOiM1ZTVlNWU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10ZXh0e2NvbG9yOiM3Nzd9Lm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2PmxpPmF7Y29sb3I6Izc3N30ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXY+bGk+YTpmb2N1cywubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXY+bGk+YTpob3Zlcntjb2xvcjojMzMzO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2Pi5hY3RpdmU+YSwubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXY+LmFjdGl2ZT5hOmZvY3VzLC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdj4uYWN0aXZlPmE6aG92ZXJ7Y29sb3I6IzU1NTtiYWNrZ3JvdW5kLWNvbG9yOiNlN2U3ZTd9Lm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2Pi5kaXNhYmxlZD5hLC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdj4uZGlzYWJsZWQ+YTpmb2N1cywubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXY+LmRpc2FibGVkPmE6aG92ZXJ7Y29sb3I6I2NjYztiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRvZ2dsZXtib3JkZXItY29sb3I6I2RkZH0ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGU6Zm9jdXMsLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdG9nZ2xlOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2RkZH0ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGUgLmljb24tYmFye2JhY2tncm91bmQtY29sb3I6Izg4OH0ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1jb2xsYXBzZSwubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1mb3Jte2JvcmRlci1jb2xvcjojZTdlN2U3fS5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdj4ub3Blbj5hLC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdj4ub3Blbj5hOmZvY3VzLC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdj4ub3Blbj5hOmhvdmVye2NvbG9yOiM1NTU7YmFja2dyb3VuZC1jb2xvcjojZTdlN2U3fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+bGk+YXtjb2xvcjojNzc3fS5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT5saT5hOmZvY3VzLC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT5saT5hOmhvdmVye2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+LmFjdGl2ZT5hLC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT4uYWN0aXZlPmE6Zm9jdXMsLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51Pi5hY3RpdmU+YTpob3Zlcntjb2xvcjojNTU1O2JhY2tncm91bmQtY29sb3I6I2U3ZTdlN30ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+LmRpc2FibGVkPmEsLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51Pi5kaXNhYmxlZD5hOmZvY3VzLC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT4uZGlzYWJsZWQ+YTpob3Zlcntjb2xvcjojY2NjO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9fS5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWxpbmt7Y29sb3I6Izc3N30ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1saW5rOmhvdmVye2NvbG9yOiMzMzN9Lm5hdmJhci1kZWZhdWx0IC5idG4tbGlua3tjb2xvcjojNzc3fS5uYXZiYXItZGVmYXVsdCAuYnRuLWxpbms6Zm9jdXMsLm5hdmJhci1kZWZhdWx0IC5idG4tbGluazpob3Zlcntjb2xvcjojMzMzfS5uYXZiYXItZGVmYXVsdCAuYnRuLWxpbmtbZGlzYWJsZWRdOmZvY3VzLC5uYXZiYXItZGVmYXVsdCAuYnRuLWxpbmtbZGlzYWJsZWRdOmhvdmVyLGZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyLWRlZmF1bHQgLmJ0bi1saW5rOmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyLWRlZmF1bHQgLmJ0bi1saW5rOmhvdmVye2NvbG9yOiNjY2N9Lm5hdmJhci1pbnZlcnNle2JhY2tncm91bmQtY29sb3I6IzIyMjtib3JkZXItY29sb3I6IzA4MDgwOH0ubmF2YmFyLWludmVyc2UgLm5hdmJhci1icmFuZHtjb2xvcjojOWQ5ZDlkfS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWJyYW5kOmZvY3VzLC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWJyYW5kOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ubmF2YmFyLWludmVyc2UgLm5hdmJhci10ZXh0e2NvbG9yOiM5ZDlkOWR9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2PmxpPmF7Y29sb3I6IzlkOWQ5ZH0ubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXY+bGk+YTpmb2N1cywubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXY+bGk+YTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2Pi5hY3RpdmU+YSwubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXY+LmFjdGl2ZT5hOmZvY3VzLC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdj4uYWN0aXZlPmE6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwODA4MDh9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2Pi5kaXNhYmxlZD5hLC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdj4uZGlzYWJsZWQ+YTpmb2N1cywubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXY+LmRpc2FibGVkPmE6aG92ZXJ7Y29sb3I6IzQ0NDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLXRvZ2dsZXtib3JkZXItY29sb3I6IzMzM30ubmF2YmFyLWludmVyc2UgLm5hdmJhci10b2dnbGU6Zm9jdXMsLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItdG9nZ2xlOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzMzM30ubmF2YmFyLWludmVyc2UgLm5hdmJhci10b2dnbGUgLmljb24tYmFye2JhY2tncm91bmQtY29sb3I6I2ZmZn0ubmF2YmFyLWludmVyc2UgLm5hdmJhci1jb2xsYXBzZSwubmF2YmFyLWludmVyc2UgLm5hdmJhci1mb3Jte2JvcmRlci1jb2xvcjojMTAxMDEwfS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdj4ub3Blbj5hLC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdj4ub3Blbj5hOmZvY3VzLC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdj4ub3Blbj5hOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDgwODA4fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+LmRyb3Bkb3duLWhlYWRlcntib3JkZXItY29sb3I6IzA4MDgwOH0ubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgLmRpdmlkZXJ7YmFja2dyb3VuZC1jb2xvcjojMDgwODA4fS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT5saT5he2NvbG9yOiM5ZDlkOWR9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51PmxpPmE6Zm9jdXMsLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51PmxpPmE6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT4uYWN0aXZlPmEsLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51Pi5hY3RpdmU+YTpmb2N1cywubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+LmFjdGl2ZT5hOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDgwODA4fS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT4uZGlzYWJsZWQ+YSwubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+LmRpc2FibGVkPmE6Zm9jdXMsLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51Pi5kaXNhYmxlZD5hOmhvdmVye2NvbG9yOiM0NDQ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH19Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbGlua3tjb2xvcjojOWQ5ZDlkfS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWxpbms6aG92ZXJ7Y29sb3I6I2ZmZn0ubmF2YmFyLWludmVyc2UgLmJ0bi1saW5re2NvbG9yOiM5ZDlkOWR9Lm5hdmJhci1pbnZlcnNlIC5idG4tbGluazpmb2N1cywubmF2YmFyLWludmVyc2UgLmJ0bi1saW5rOmhvdmVye2NvbG9yOiNmZmZ9Lm5hdmJhci1pbnZlcnNlIC5idG4tbGlua1tkaXNhYmxlZF06Zm9jdXMsLm5hdmJhci1pbnZlcnNlIC5idG4tbGlua1tkaXNhYmxlZF06aG92ZXIsZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXItaW52ZXJzZSAuYnRuLWxpbms6Zm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXItaW52ZXJzZSAuYnRuLWxpbms6aG92ZXJ7Y29sb3I6IzQ0NH0uYnJlYWRjcnVtYntwYWRkaW5nOjhweCAxNXB4O21hcmdpbi1ib3R0b206MjBweDtsaXN0LXN0eWxlOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1O2JvcmRlci1yYWRpdXM6NHB4fS5icmVhZGNydW1iPmxpe2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5icmVhZGNydW1iPmxpK2xpOmJlZm9yZXtwYWRkaW5nOjAgNXB4O2NvbG9yOiNjY2M7Y29udGVudDoiL1wwMGEwIn0uYnJlYWRjcnVtYj4uYWN0aXZle2NvbG9yOiM3Nzd9LnBhZ2luYXRpb257ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZy1sZWZ0OjA7bWFyZ2luOjIwcHggMDtib3JkZXItcmFkaXVzOjRweH0ucGFnaW5hdGlvbj5saXtkaXNwbGF5OmlubGluZX0ucGFnaW5hdGlvbj5saT5hLC5wYWdpbmF0aW9uPmxpPnNwYW57cG9zaXRpb246cmVsYXRpdmU7ZmxvYXQ6bGVmdDtwYWRkaW5nOjZweCAxMnB4O21hcmdpbi1sZWZ0Oi0xcHg7bGluZS1oZWlnaHQ6MS40Mjg1NzE0Mztjb2xvcjojMzM3YWI3O3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkZGR9LnBhZ2luYXRpb24+bGk6Zmlyc3QtY2hpbGQ+YSwucGFnaW5hdGlvbj5saTpmaXJzdC1jaGlsZD5zcGFue21hcmdpbi1sZWZ0OjA7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czo0cHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czo0cHh9LnBhZ2luYXRpb24+bGk6bGFzdC1jaGlsZD5hLC5wYWdpbmF0aW9uPmxpOmxhc3QtY2hpbGQ+c3Bhbntib3JkZXItdG9wLXJpZ2h0LXJhZGl1czo0cHg7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6NHB4fS5wYWdpbmF0aW9uPmxpPmE6Zm9jdXMsLnBhZ2luYXRpb24+bGk+YTpob3ZlciwucGFnaW5hdGlvbj5saT5zcGFuOmZvY3VzLC5wYWdpbmF0aW9uPmxpPnNwYW46aG92ZXJ7Y29sb3I6IzIzNTI3YztiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7Ym9yZGVyLWNvbG9yOiNkZGR9LnBhZ2luYXRpb24+LmFjdGl2ZT5hLC5wYWdpbmF0aW9uPi5hY3RpdmU+YTpmb2N1cywucGFnaW5hdGlvbj4uYWN0aXZlPmE6aG92ZXIsLnBhZ2luYXRpb24+LmFjdGl2ZT5zcGFuLC5wYWdpbmF0aW9uPi5hY3RpdmU+c3Bhbjpmb2N1cywucGFnaW5hdGlvbj4uYWN0aXZlPnNwYW46aG92ZXJ7ei1pbmRleDoyO2NvbG9yOiNmZmY7Y3Vyc29yOmRlZmF1bHQ7YmFja2dyb3VuZC1jb2xvcjojMzM3YWI3O2JvcmRlci1jb2xvcjojMzM3YWI3fS5wYWdpbmF0aW9uPi5kaXNhYmxlZD5hLC5wYWdpbmF0aW9uPi5kaXNhYmxlZD5hOmZvY3VzLC5wYWdpbmF0aW9uPi5kaXNhYmxlZD5hOmhvdmVyLC5wYWdpbmF0aW9uPi5kaXNhYmxlZD5zcGFuLC5wYWdpbmF0aW9uPi5kaXNhYmxlZD5zcGFuOmZvY3VzLC5wYWdpbmF0aW9uPi5kaXNhYmxlZD5zcGFuOmhvdmVye2NvbG9yOiM3Nzc7Y3Vyc29yOm5vdC1hbGxvd2VkO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItY29sb3I6I2RkZH0ucGFnaW5hdGlvbi1sZz5saT5hLC5wYWdpbmF0aW9uLWxnPmxpPnNwYW57cGFkZGluZzoxMHB4IDE2cHg7Zm9udC1zaXplOjE4cHh9LnBhZ2luYXRpb24tbGc+bGk6Zmlyc3QtY2hpbGQ+YSwucGFnaW5hdGlvbi1sZz5saTpmaXJzdC1jaGlsZD5zcGFue2JvcmRlci10b3AtbGVmdC1yYWRpdXM6NnB4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6NnB4fS5wYWdpbmF0aW9uLWxnPmxpOmxhc3QtY2hpbGQ+YSwucGFnaW5hdGlvbi1sZz5saTpsYXN0LWNoaWxkPnNwYW57Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6NnB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjZweH0ucGFnaW5hdGlvbi1zbT5saT5hLC5wYWdpbmF0aW9uLXNtPmxpPnNwYW57cGFkZGluZzo1cHggMTBweDtmb250LXNpemU6MTJweH0ucGFnaW5hdGlvbi1zbT5saTpmaXJzdC1jaGlsZD5hLC5wYWdpbmF0aW9uLXNtPmxpOmZpcnN0LWNoaWxkPnNwYW57Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czozcHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czozcHh9LnBhZ2luYXRpb24tc20+bGk6bGFzdC1jaGlsZD5hLC5wYWdpbmF0aW9uLXNtPmxpOmxhc3QtY2hpbGQ+c3Bhbntib3JkZXItdG9wLXJpZ2h0LXJhZGl1czozcHg7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6M3B4fS5wYWdlcntwYWRkaW5nLWxlZnQ6MDttYXJnaW46MjBweCAwO3RleHQtYWxpZ246Y2VudGVyO2xpc3Qtc3R5bGU6bm9uZX0ucGFnZXIgbGl7ZGlzcGxheTppbmxpbmV9LnBhZ2VyIGxpPmEsLnBhZ2VyIGxpPnNwYW57ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZzo1cHggMTRweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZGRkO2JvcmRlci1yYWRpdXM6MTVweH0ucGFnZXIgbGk+YTpmb2N1cywucGFnZXIgbGk+YTpob3Zlcnt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNlZWV9LnBhZ2VyIC5uZXh0PmEsLnBhZ2VyIC5uZXh0PnNwYW57ZmxvYXQ6cmlnaHR9LnBhZ2VyIC5wcmV2aW91cz5hLC5wYWdlciAucHJldmlvdXM+c3BhbntmbG9hdDpsZWZ0fS5wYWdlciAuZGlzYWJsZWQ+YSwucGFnZXIgLmRpc2FibGVkPmE6Zm9jdXMsLnBhZ2VyIC5kaXNhYmxlZD5hOmhvdmVyLC5wYWdlciAuZGlzYWJsZWQ+c3Bhbntjb2xvcjojNzc3O2N1cnNvcjpub3QtYWxsb3dlZDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LmxhYmVse2Rpc3BsYXk6aW5saW5lO3BhZGRpbmc6LjJlbSAuNmVtIC4zZW07Zm9udC1zaXplOjc1JTtmb250LXdlaWdodDo3MDA7bGluZS1oZWlnaHQ6MTtjb2xvcjojZmZmO3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcDt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTtib3JkZXItcmFkaXVzOi4yNWVtfWEubGFiZWw6Zm9jdXMsYS5sYWJlbDpob3Zlcntjb2xvcjojZmZmO3RleHQtZGVjb3JhdGlvbjpub25lO2N1cnNvcjpwb2ludGVyfS5sYWJlbDplbXB0eXtkaXNwbGF5Om5vbmV9LmJ0biAubGFiZWx7cG9zaXRpb246cmVsYXRpdmU7dG9wOi0xcHh9LmxhYmVsLWRlZmF1bHR7YmFja2dyb3VuZC1jb2xvcjojNzc3fS5sYWJlbC1kZWZhdWx0W2hyZWZdOmZvY3VzLC5sYWJlbC1kZWZhdWx0W2hyZWZdOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzVlNWU1ZX0ubGFiZWwtcHJpbWFyeXtiYWNrZ3JvdW5kLWNvbG9yOiMzMzdhYjd9LmxhYmVsLXByaW1hcnlbaHJlZl06Zm9jdXMsLmxhYmVsLXByaW1hcnlbaHJlZl06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMjg2MDkwfS5sYWJlbC1zdWNjZXNze2JhY2tncm91bmQtY29sb3I6IzVjYjg1Y30ubGFiZWwtc3VjY2Vzc1tocmVmXTpmb2N1cywubGFiZWwtc3VjY2Vzc1tocmVmXTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiM0NDlkNDR9LmxhYmVsLWluZm97YmFja2dyb3VuZC1jb2xvcjojNWJjMGRlfS5sYWJlbC1pbmZvW2hyZWZdOmZvY3VzLC5sYWJlbC1pbmZvW2hyZWZdOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzMxYjBkNX0ubGFiZWwtd2FybmluZ3tiYWNrZ3JvdW5kLWNvbG9yOiNmMGFkNGV9LmxhYmVsLXdhcm5pbmdbaHJlZl06Zm9jdXMsLmxhYmVsLXdhcm5pbmdbaHJlZl06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZWM5NzFmfS5sYWJlbC1kYW5nZXJ7YmFja2dyb3VuZC1jb2xvcjojZDk1MzRmfS5sYWJlbC1kYW5nZXJbaHJlZl06Zm9jdXMsLmxhYmVsLWRhbmdlcltocmVmXTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNjOTMwMmN9LmJhZGdle2Rpc3BsYXk6aW5saW5lLWJsb2NrO21pbi13aWR0aDoxMHB4O3BhZGRpbmc6M3B4IDdweDtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo3MDA7bGluZS1oZWlnaHQ6MTtjb2xvcjojZmZmO3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcDt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZTtiYWNrZ3JvdW5kLWNvbG9yOiM3Nzc7Ym9yZGVyLXJhZGl1czoxMHB4fS5iYWRnZTplbXB0eXtkaXNwbGF5Om5vbmV9LmJ0biAuYmFkZ2V7cG9zaXRpb246cmVsYXRpdmU7dG9wOi0xcHh9LmJ0bi1ncm91cC14cz4uYnRuIC5iYWRnZSwuYnRuLXhzIC5iYWRnZXt0b3A6MDtwYWRkaW5nOjFweCA1cHh9YS5iYWRnZTpmb2N1cyxhLmJhZGdlOmhvdmVye2NvbG9yOiNmZmY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y3Vyc29yOnBvaW50ZXJ9Lmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU+LmJhZGdlLC5uYXYtcGlsbHM+LmFjdGl2ZT5hPi5iYWRnZXtjb2xvcjojMzM3YWI3O2JhY2tncm91bmQtY29sb3I6I2ZmZn0ubGlzdC1ncm91cC1pdGVtPi5iYWRnZXtmbG9hdDpyaWdodH0ubGlzdC1ncm91cC1pdGVtPi5iYWRnZSsuYmFkZ2V7bWFyZ2luLXJpZ2h0OjVweH0ubmF2LXBpbGxzPmxpPmE+LmJhZGdle21hcmdpbi1sZWZ0OjNweH0uanVtYm90cm9ue3BhZGRpbmc6MzBweCAxNXB4O21hcmdpbi1ib3R0b206MzBweDtjb2xvcjppbmhlcml0O2JhY2tncm91bmQtY29sb3I6I2VlZX0uanVtYm90cm9uIC5oMSwuanVtYm90cm9uIGgxe2NvbG9yOmluaGVyaXR9Lmp1bWJvdHJvbiBwe21hcmdpbi1ib3R0b206MTVweDtmb250LXNpemU6MjFweDtmb250LXdlaWdodDoyMDB9Lmp1bWJvdHJvbj5ocntib3JkZXItdG9wLWNvbG9yOiNkNWQ1ZDV9LmNvbnRhaW5lciAuanVtYm90cm9uLC5jb250YWluZXItZmx1aWQgLmp1bWJvdHJvbntib3JkZXItcmFkaXVzOjZweH0uanVtYm90cm9uIC5jb250YWluZXJ7bWF4LXdpZHRoOjEwMCV9QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo3NjhweCl7Lmp1bWJvdHJvbntwYWRkaW5nOjQ4cHggMH0uY29udGFpbmVyIC5qdW1ib3Ryb24sLmNvbnRhaW5lci1mbHVpZCAuanVtYm90cm9ue3BhZGRpbmctcmlnaHQ6NjBweDtwYWRkaW5nLWxlZnQ6NjBweH0uanVtYm90cm9uIC5oMSwuanVtYm90cm9uIGgxe2ZvbnQtc2l6ZTo2M3B4fX0udGh1bWJuYWlse2Rpc3BsYXk6YmxvY2s7cGFkZGluZzo0cHg7bWFyZ2luLWJvdHRvbToyMHB4O2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDM7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgI2RkZDtib3JkZXItcmFkaXVzOjRweDstd2Via2l0LXRyYW5zaXRpb246Ym9yZGVyIC4ycyBlYXNlLWluLW91dDstby10cmFuc2l0aW9uOmJvcmRlciAuMnMgZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbjpib3JkZXIgLjJzIGVhc2UtaW4tb3V0fS50aHVtYm5haWwgYT5pbWcsLnRodW1ibmFpbD5pbWd7bWFyZ2luLXJpZ2h0OmF1dG87bWFyZ2luLWxlZnQ6YXV0b31hLnRodW1ibmFpbC5hY3RpdmUsYS50aHVtYm5haWw6Zm9jdXMsYS50aHVtYm5haWw6aG92ZXJ7Ym9yZGVyLWNvbG9yOiMzMzdhYjd9LnRodW1ibmFpbCAuY2FwdGlvbntwYWRkaW5nOjlweDtjb2xvcjojMzMzfS5hbGVydHtwYWRkaW5nOjE1cHg7bWFyZ2luLWJvdHRvbToyMHB4O2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czo0cHh9LmFsZXJ0IGg0e21hcmdpbi10b3A6MDtjb2xvcjppbmhlcml0fS5hbGVydCAuYWxlcnQtbGlua3tmb250LXdlaWdodDo3MDB9LmFsZXJ0PnAsLmFsZXJ0PnVse21hcmdpbi1ib3R0b206MH0uYWxlcnQ+cCtwe21hcmdpbi10b3A6NXB4fS5hbGVydC1kaXNtaXNzYWJsZSwuYWxlcnQtZGlzbWlzc2libGV7cGFkZGluZy1yaWdodDozNXB4fS5hbGVydC1kaXNtaXNzYWJsZSAuY2xvc2UsLmFsZXJ0LWRpc21pc3NpYmxlIC5jbG9zZXtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6LTJweDtyaWdodDotMjFweDtjb2xvcjppbmhlcml0fS5hbGVydC1zdWNjZXNze2NvbG9yOiMzYzc2M2Q7YmFja2dyb3VuZC1jb2xvcjojZGZmMGQ4O2JvcmRlci1jb2xvcjojZDZlOWM2fS5hbGVydC1zdWNjZXNzIGhye2JvcmRlci10b3AtY29sb3I6I2M5ZTJiM30uYWxlcnQtc3VjY2VzcyAuYWxlcnQtbGlua3tjb2xvcjojMmI1NDJjfS5hbGVydC1pbmZve2NvbG9yOiMzMTcwOGY7YmFja2dyb3VuZC1jb2xvcjojZDllZGY3O2JvcmRlci1jb2xvcjojYmNlOGYxfS5hbGVydC1pbmZvIGhye2JvcmRlci10b3AtY29sb3I6I2E2ZTFlY30uYWxlcnQtaW5mbyAuYWxlcnQtbGlua3tjb2xvcjojMjQ1MjY5fS5hbGVydC13YXJuaW5ne2NvbG9yOiM4YTZkM2I7YmFja2dyb3VuZC1jb2xvcjojZmNmOGUzO2JvcmRlci1jb2xvcjojZmFlYmNjfS5hbGVydC13YXJuaW5nIGhye2JvcmRlci10b3AtY29sb3I6I2Y3ZTFiNX0uYWxlcnQtd2FybmluZyAuYWxlcnQtbGlua3tjb2xvcjojNjY1MTJjfS5hbGVydC1kYW5nZXJ7Y29sb3I6I2E5NDQ0MjtiYWNrZ3JvdW5kLWNvbG9yOiNmMmRlZGU7Ym9yZGVyLWNvbG9yOiNlYmNjZDF9LmFsZXJ0LWRhbmdlciBocntib3JkZXItdG9wLWNvbG9yOiNlNGI5YzB9LmFsZXJ0LWRhbmdlciAuYWxlcnQtbGlua3tjb2xvcjojODQzNTM0fUAtd2Via2l0LWtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlc3tmcm9te2JhY2tncm91bmQtcG9zaXRpb246NDBweCAwfXRve2JhY2tncm91bmQtcG9zaXRpb246MCAwfX1ALW8ta2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVze2Zyb217YmFja2dyb3VuZC1wb3NpdGlvbjo0MHB4IDB9dG97YmFja2dyb3VuZC1wb3NpdGlvbjowIDB9fUBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXN7ZnJvbXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjQwcHggMH10b3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMH19LnByb2dyZXNze2hlaWdodDoyMHB4O21hcmdpbi1ib3R0b206MjBweDtvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1O2JvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSl9LnByb2dyZXNzLWJhcntmbG9hdDpsZWZ0O3dpZHRoOjA7aGVpZ2h0OjEwMCU7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MjBweDtjb2xvcjojZmZmO3RleHQtYWxpZ246Y2VudGVyO2JhY2tncm91bmQtY29sb3I6IzMzN2FiNzstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAtMXB4IDAgcmdiYSgwLDAsMCwuMTUpO2JveC1zaGFkb3c6aW5zZXQgMCAtMXB4IDAgcmdiYSgwLDAsMCwuMTUpOy13ZWJraXQtdHJhbnNpdGlvbjp3aWR0aCAuNnMgZWFzZTstby10cmFuc2l0aW9uOndpZHRoIC42cyBlYXNlO3RyYW5zaXRpb246d2lkdGggLjZzIGVhc2V9LnByb2dyZXNzLWJhci1zdHJpcGVkLC5wcm9ncmVzcy1zdHJpcGVkIC5wcm9ncmVzcy1iYXJ7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCk7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQoNDVkZWcscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSx0cmFuc3BhcmVudCA3NSUsdHJhbnNwYXJlbnQpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDQ1ZGVnLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsdHJhbnNwYXJlbnQgNzUlLHRyYW5zcGFyZW50KTstd2Via2l0LWJhY2tncm91bmQtc2l6ZTo0MHB4IDQwcHg7YmFja2dyb3VuZC1zaXplOjQwcHggNDBweH0ucHJvZ3Jlc3MtYmFyLmFjdGl2ZSwucHJvZ3Jlc3MuYWN0aXZlIC5wcm9ncmVzcy1iYXJ7LXdlYmtpdC1hbmltYXRpb246cHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlOy1vLWFuaW1hdGlvbjpwcm9ncmVzcy1iYXItc3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnByb2dyZXNzLWJhci1zdHJpcGVzIDJzIGxpbmVhciBpbmZpbml0ZX0ucHJvZ3Jlc3MtYmFyLXN1Y2Nlc3N7YmFja2dyb3VuZC1jb2xvcjojNWNiODVjfS5wcm9ncmVzcy1zdHJpcGVkIC5wcm9ncmVzcy1iYXItc3VjY2Vzc3tiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KDQ1ZGVnLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsdHJhbnNwYXJlbnQgNzUlLHRyYW5zcGFyZW50KTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCk7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoNDVkZWcscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSx0cmFuc3BhcmVudCA3NSUsdHJhbnNwYXJlbnQpfS5wcm9ncmVzcy1iYXItaW5mb3tiYWNrZ3JvdW5kLWNvbG9yOiM1YmMwZGV9LnByb2dyZXNzLXN0cmlwZWQgLnByb2dyZXNzLWJhci1pbmZve2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQoNDVkZWcscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSx0cmFuc3BhcmVudCA3NSUsdHJhbnNwYXJlbnQpO2JhY2tncm91bmQtaW1hZ2U6LW8tbGluZWFyLWdyYWRpZW50KDQ1ZGVnLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsdHJhbnNwYXJlbnQgNzUlLHRyYW5zcGFyZW50KTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCl9LnByb2dyZXNzLWJhci13YXJuaW5ne2JhY2tncm91bmQtY29sb3I6I2YwYWQ0ZX0ucHJvZ3Jlc3Mtc3RyaXBlZCAucHJvZ3Jlc3MtYmFyLXdhcm5pbmd7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCk7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQoNDVkZWcscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSx0cmFuc3BhcmVudCA3NSUsdHJhbnNwYXJlbnQpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDQ1ZGVnLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsdHJhbnNwYXJlbnQgNzUlLHRyYW5zcGFyZW50KX0ucHJvZ3Jlc3MtYmFyLWRhbmdlcntiYWNrZ3JvdW5kLWNvbG9yOiNkOTUzNGZ9LnByb2dyZXNzLXN0cmlwZWQgLnByb2dyZXNzLWJhci1kYW5nZXJ7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCk7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQoNDVkZWcscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSx0cmFuc3BhcmVudCA3NSUsdHJhbnNwYXJlbnQpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDQ1ZGVnLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsdHJhbnNwYXJlbnQgNzUlLHRyYW5zcGFyZW50KX0ubWVkaWF7bWFyZ2luLXRvcDoxNXB4fS5tZWRpYTpmaXJzdC1jaGlsZHttYXJnaW4tdG9wOjB9Lm1lZGlhLC5tZWRpYS1ib2R5e292ZXJmbG93OmhpZGRlbjt6b29tOjF9Lm1lZGlhLWJvZHl7d2lkdGg6MTAwMDBweH0ubWVkaWEtb2JqZWN0e2Rpc3BsYXk6YmxvY2t9Lm1lZGlhLXJpZ2h0LC5tZWRpYT4ucHVsbC1yaWdodHtwYWRkaW5nLWxlZnQ6MTBweH0ubWVkaWEtbGVmdCwubWVkaWE+LnB1bGwtbGVmdHtwYWRkaW5nLXJpZ2h0OjEwcHh9Lm1lZGlhLWJvZHksLm1lZGlhLWxlZnQsLm1lZGlhLXJpZ2h0e2Rpc3BsYXk6dGFibGUtY2VsbDt2ZXJ0aWNhbC1hbGlnbjp0b3B9Lm1lZGlhLW1pZGRsZXt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lm1lZGlhLWJvdHRvbXt2ZXJ0aWNhbC1hbGlnbjpib3R0b219Lm1lZGlhLWhlYWRpbmd7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206NXB4fS5tZWRpYS1saXN0e3BhZGRpbmctbGVmdDowO2xpc3Qtc3R5bGU6bm9uZX0ubGlzdC1ncm91cHtwYWRkaW5nLWxlZnQ6MDttYXJnaW4tYm90dG9tOjIwcHh9Lmxpc3QtZ3JvdXAtaXRlbXtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MTBweCAxNXB4O21hcmdpbi1ib3R0b206LTFweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZGRkfS5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czo0cHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6NHB4fS5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjA7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6NHB4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6NHB4fWEubGlzdC1ncm91cC1pdGVte2NvbG9yOiM1NTV9YS5saXN0LWdyb3VwLWl0ZW0gLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5ne2NvbG9yOiMzMzN9YS5saXN0LWdyb3VwLWl0ZW06Zm9jdXMsYS5saXN0LWdyb3VwLWl0ZW06aG92ZXJ7Y29sb3I6IzU1NTt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjV9Lmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZCwubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkOmZvY3VzLC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQ6aG92ZXJ7Y29sb3I6Izc3NztjdXJzb3I6bm90LWFsbG93ZWQ7YmFja2dyb3VuZC1jb2xvcjojZWVlfS5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQ6Zm9jdXMgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQ6aG92ZXIgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5ne2NvbG9yOmluaGVyaXR9Lmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZCAubGlzdC1ncm91cC1pdGVtLXRleHQsLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZDpmb2N1cyAubGlzdC1ncm91cC1pdGVtLXRleHQsLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZDpob3ZlciAubGlzdC1ncm91cC1pdGVtLXRleHR7Y29sb3I6Izc3N30ubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSwubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpmb2N1cywubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpob3Zlcnt6LWluZGV4OjI7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzMzdhYjc7Ym9yZGVyLWNvbG9yOiMzMzdhYjd9Lmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZz4uc21hbGwsLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nPnNtYWxsLC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZywubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpmb2N1cyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmc+LnNtYWxsLC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZz5zbWFsbCwubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpob3ZlciAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6aG92ZXIgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nPi5zbWFsbCwubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpob3ZlciAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmc+c21hbGx7Y29sb3I6aW5oZXJpdH0ubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSAubGlzdC1ncm91cC1pdGVtLXRleHQsLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6Zm9jdXMgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0LC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmhvdmVyIC5saXN0LWdyb3VwLWl0ZW0tdGV4dHtjb2xvcjojYzdkZGVmfS5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzc3tjb2xvcjojM2M3NjNkO2JhY2tncm91bmQtY29sb3I6I2RmZjBkOH1hLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNze2NvbG9yOiMzYzc2M2R9YS5saXN0LWdyb3VwLWl0ZW0tc3VjY2VzcyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmd7Y29sb3I6aW5oZXJpdH1hLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzOmZvY3VzLGEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3M6aG92ZXJ7Y29sb3I6IzNjNzYzZDtiYWNrZ3JvdW5kLWNvbG9yOiNkMGU5YzZ9YS5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5hY3RpdmUsYS5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5hY3RpdmU6Zm9jdXMsYS5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5hY3RpdmU6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzYzc2M2Q7Ym9yZGVyLWNvbG9yOiMzYzc2M2R9Lmxpc3QtZ3JvdXAtaXRlbS1pbmZve2NvbG9yOiMzMTcwOGY7YmFja2dyb3VuZC1jb2xvcjojZDllZGY3fWEubGlzdC1ncm91cC1pdGVtLWluZm97Y29sb3I6IzMxNzA4Zn1hLmxpc3QtZ3JvdXAtaXRlbS1pbmZvIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZ3tjb2xvcjppbmhlcml0fWEubGlzdC1ncm91cC1pdGVtLWluZm86Zm9jdXMsYS5saXN0LWdyb3VwLWl0ZW0taW5mbzpob3Zlcntjb2xvcjojMzE3MDhmO2JhY2tncm91bmQtY29sb3I6I2M0ZTNmM31hLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmFjdGl2ZSxhLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmFjdGl2ZTpmb2N1cyxhLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmFjdGl2ZTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzMxNzA4Zjtib3JkZXItY29sb3I6IzMxNzA4Zn0ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmd7Y29sb3I6IzhhNmQzYjtiYWNrZ3JvdW5kLWNvbG9yOiNmY2Y4ZTN9YS5saXN0LWdyb3VwLWl0ZW0td2FybmluZ3tjb2xvcjojOGE2ZDNifWEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5ne2NvbG9yOmluaGVyaXR9YS5saXN0LWdyb3VwLWl0ZW0td2FybmluZzpmb2N1cyxhLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nOmhvdmVye2NvbG9yOiM4YTZkM2I7YmFja2dyb3VuZC1jb2xvcjojZmFmMmNjfWEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlLGEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlOmZvY3VzLGEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojOGE2ZDNiO2JvcmRlci1jb2xvcjojOGE2ZDNifS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2Vye2NvbG9yOiNhOTQ0NDI7YmFja2dyb3VuZC1jb2xvcjojZjJkZWRlfWEubGlzdC1ncm91cC1pdGVtLWRhbmdlcntjb2xvcjojYTk0NDQyfWEubGlzdC1ncm91cC1pdGVtLWRhbmdlciAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmd7Y29sb3I6aW5oZXJpdH1hLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXI6Zm9jdXMsYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyOmhvdmVye2NvbG9yOiNhOTQ0NDI7YmFja2dyb3VuZC1jb2xvcjojZWJjY2NjfWEubGlzdC1ncm91cC1pdGVtLWRhbmdlci5hY3RpdmUsYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmFjdGl2ZTpmb2N1cyxhLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIuYWN0aXZlOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojYTk0NDQyO2JvcmRlci1jb2xvcjojYTk0NDQyfS5saXN0LWdyb3VwLWl0ZW0taGVhZGluZ3ttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTo1cHh9Lmxpc3QtZ3JvdXAtaXRlbS10ZXh0e21hcmdpbi1ib3R0b206MDtsaW5lLWhlaWdodDoxLjN9LnBhbmVse21hcmdpbi1ib3R0b206MjBweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjRweDstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjA1KTtib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNSl9LnBhbmVsLWJvZHl7cGFkZGluZzoxNXB4fS5wYW5lbC1oZWFkaW5ne3BhZGRpbmc6MTBweCAxNXB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3AtbGVmdC1yYWRpdXM6M3B4O2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjNweH0ucGFuZWwtaGVhZGluZz4uZHJvcGRvd24gLmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjppbmhlcml0fS5wYW5lbC10aXRsZXttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowO2ZvbnQtc2l6ZToxNnB4O2NvbG9yOmluaGVyaXR9LnBhbmVsLXRpdGxlPi5zbWFsbCwucGFuZWwtdGl0bGU+LnNtYWxsPmEsLnBhbmVsLXRpdGxlPmEsLnBhbmVsLXRpdGxlPnNtYWxsLC5wYW5lbC10aXRsZT5zbWFsbD5he2NvbG9yOmluaGVyaXR9LnBhbmVsLWZvb3RlcntwYWRkaW5nOjEwcHggMTVweDtiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjU7Ym9yZGVyLXRvcDoxcHggc29saWQgI2RkZDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czozcHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czozcHh9LnBhbmVsPi5saXN0LWdyb3VwLC5wYW5lbD4ucGFuZWwtY29sbGFwc2U+Lmxpc3QtZ3JvdXB7bWFyZ2luLWJvdHRvbTowfS5wYW5lbD4ubGlzdC1ncm91cCAubGlzdC1ncm91cC1pdGVtLC5wYW5lbD4ucGFuZWwtY29sbGFwc2U+Lmxpc3QtZ3JvdXAgLmxpc3QtZ3JvdXAtaXRlbXtib3JkZXItd2lkdGg6MXB4IDA7Ym9yZGVyLXJhZGl1czowfS5wYW5lbD4ubGlzdC1ncm91cDpmaXJzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkLC5wYW5lbD4ucGFuZWwtY29sbGFwc2U+Lmxpc3QtZ3JvdXA6Zmlyc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZHtib3JkZXItdG9wOjA7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czozcHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6M3B4fS5wYW5lbD4ubGlzdC1ncm91cDpsYXN0LWNoaWxkIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCwucGFuZWw+LnBhbmVsLWNvbGxhcHNlPi5saXN0LWdyb3VwOmxhc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxke2JvcmRlci1ib3R0b206MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czozcHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czozcHh9LnBhbmVsLWhlYWRpbmcrLmxpc3QtZ3JvdXAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZHtib3JkZXItdG9wLXdpZHRoOjB9Lmxpc3QtZ3JvdXArLnBhbmVsLWZvb3Rlcntib3JkZXItdG9wLXdpZHRoOjB9LnBhbmVsPi5wYW5lbC1jb2xsYXBzZT4udGFibGUsLnBhbmVsPi50YWJsZSwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxle21hcmdpbi1ib3R0b206MH0ucGFuZWw+LnBhbmVsLWNvbGxhcHNlPi50YWJsZSBjYXB0aW9uLC5wYW5lbD4udGFibGUgY2FwdGlvbiwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlIGNhcHRpb257cGFkZGluZy1yaWdodDoxNXB4O3BhZGRpbmctbGVmdDoxNXB4fS5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZD4udGFibGU6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpmaXJzdC1jaGlsZHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjNweDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czozcHh9LnBhbmVsPi50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkPi50YWJsZTpmaXJzdC1jaGlsZD50Ym9keTpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQ+LnRhYmxlOmZpcnN0LWNoaWxkPnRoZWFkOmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGU6Zmlyc3QtY2hpbGQ+dGJvZHk6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpmaXJzdC1jaGlsZD50aGVhZDpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjNweDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czozcHh9LnBhbmVsPi50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkPi50YWJsZTpmaXJzdC1jaGlsZD50Ym9keTpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQ+LnRhYmxlOmZpcnN0LWNoaWxkPnRib2R5OmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkIHRoOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZD4udGFibGU6Zmlyc3QtY2hpbGQ+dGhlYWQ6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkPi50YWJsZTpmaXJzdC1jaGlsZD50aGVhZDpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmZpcnN0LWNoaWxkPnRib2R5OmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGU6Zmlyc3QtY2hpbGQ+dGJvZHk6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpmaXJzdC1jaGlsZD50aGVhZDpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmZpcnN0LWNoaWxkPnRoZWFkOmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkIHRoOmZpcnN0LWNoaWxke2JvcmRlci10b3AtbGVmdC1yYWRpdXM6M3B4fS5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZD4udGFibGU6Zmlyc3QtY2hpbGQ+dGJvZHk6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQ+LnRhYmxlOmZpcnN0LWNoaWxkPnRib2R5OmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkIHRoOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkPi50YWJsZTpmaXJzdC1jaGlsZD50aGVhZDpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZD4udGFibGU6Zmlyc3QtY2hpbGQ+dGhlYWQ6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmZpcnN0LWNoaWxkPnRib2R5OmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkIHRkOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpmaXJzdC1jaGlsZD50Ym9keTpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCB0aDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGU6Zmlyc3QtY2hpbGQ+dGhlYWQ6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmZpcnN0LWNoaWxkPnRoZWFkOmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkIHRoOmxhc3QtY2hpbGR7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6M3B4fS5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkPi50YWJsZTpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGU6bGFzdC1jaGlsZHtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czozcHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czozcHh9LnBhbmVsPi50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQ+LnRhYmxlOmxhc3QtY2hpbGQ+dGJvZHk6bGFzdC1jaGlsZD50cjpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkPi50YWJsZTpsYXN0LWNoaWxkPnRmb290Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmxhc3QtY2hpbGQ+dGJvZHk6bGFzdC1jaGlsZD50cjpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGU6bGFzdC1jaGlsZD50Zm9vdDpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6M3B4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6M3B4fS5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkPi50YWJsZTpsYXN0LWNoaWxkPnRib2R5Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZD4udGFibGU6bGFzdC1jaGlsZD50Ym9keTpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQ+LnRhYmxlOmxhc3QtY2hpbGQ+dGZvb3Q6bGFzdC1jaGlsZD50cjpsYXN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkPi50YWJsZTpsYXN0LWNoaWxkPnRmb290Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmxhc3QtY2hpbGQ+dGJvZHk6bGFzdC1jaGlsZD50cjpsYXN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGU6bGFzdC1jaGlsZD50Ym9keTpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpsYXN0LWNoaWxkPnRmb290Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmxhc3QtY2hpbGQ+dGZvb3Q6bGFzdC1jaGlsZD50cjpsYXN0LWNoaWxkIHRoOmZpcnN0LWNoaWxke2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6M3B4fS5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkPi50YWJsZTpsYXN0LWNoaWxkPnRib2R5Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkPi50YWJsZTpsYXN0LWNoaWxkPnRib2R5Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCB0aDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkPi50YWJsZTpsYXN0LWNoaWxkPnRmb290Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkPi50YWJsZTpsYXN0LWNoaWxkPnRmb290Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCB0aDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGU6bGFzdC1jaGlsZD50Ym9keTpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmxhc3QtY2hpbGQ+dGJvZHk6bGFzdC1jaGlsZD50cjpsYXN0LWNoaWxkIHRoOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpsYXN0LWNoaWxkPnRmb290Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGU6bGFzdC1jaGlsZD50Zm9vdDpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGQgdGg6bGFzdC1jaGlsZHtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czozcHh9LnBhbmVsPi5wYW5lbC1ib2R5Ky50YWJsZSwucGFuZWw+LnBhbmVsLWJvZHkrLnRhYmxlLXJlc3BvbnNpdmUsLnBhbmVsPi50YWJsZSsucGFuZWwtYm9keSwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmUrLnBhbmVsLWJvZHl7Ym9yZGVyLXRvcDoxcHggc29saWQgI2RkZH0ucGFuZWw+LnRhYmxlPnRib2R5OmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkIHRkLC5wYW5lbD4udGFibGU+dGJvZHk6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQgdGh7Ym9yZGVyLXRvcDowfS5wYW5lbD4udGFibGUtYm9yZGVyZWQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZHtib3JkZXI6MH0ucGFuZWw+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyPnRkOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI+dGg6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1ib3JkZXJlZD50Zm9vdD50cj50ZDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlLWJvcmRlcmVkPnRmb290PnRyPnRoOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI+dGQ6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1ib3JkZXJlZD50aGVhZD50cj50aDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyPnRkOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI+dGg6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Zm9vdD50cj50ZDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRmb290PnRyPnRoOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI+dGQ6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50aGVhZD50cj50aDpmaXJzdC1jaGlsZHtib3JkZXItbGVmdDowfS5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI+dGQ6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyPnRoOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1ib3JkZXJlZD50Zm9vdD50cj50ZDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI+dGg6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRkOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1ib3JkZXJlZD50aGVhZD50cj50aDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI+dGQ6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyPnRoOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Zm9vdD50cj50ZDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI+dGg6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRkOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50aGVhZD50cj50aDpsYXN0LWNoaWxke2JvcmRlci1yaWdodDowfS5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI6Zmlyc3QtY2hpbGQ+dGQsLnBhbmVsPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cjpmaXJzdC1jaGlsZD50aCwucGFuZWw+LnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyOmZpcnN0LWNoaWxkPnRkLC5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI6Zmlyc3QtY2hpbGQ+dGgsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cjpmaXJzdC1jaGlsZD50ZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyOmZpcnN0LWNoaWxkPnRoLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI6Zmlyc3QtY2hpbGQ+dGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50aGVhZD50cjpmaXJzdC1jaGlsZD50aHtib3JkZXItYm90dG9tOjB9LnBhbmVsPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cjpsYXN0LWNoaWxkPnRkLC5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI6bGFzdC1jaGlsZD50aCwucGFuZWw+LnRhYmxlLWJvcmRlcmVkPnRmb290PnRyOmxhc3QtY2hpbGQ+dGQsLnBhbmVsPi50YWJsZS1ib3JkZXJlZD50Zm9vdD50cjpsYXN0LWNoaWxkPnRoLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI6bGFzdC1jaGlsZD50ZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyOmxhc3QtY2hpbGQ+dGgsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Zm9vdD50cjpsYXN0LWNoaWxkPnRkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI6bGFzdC1jaGlsZD50aHtib3JkZXItYm90dG9tOjB9LnBhbmVsPi50YWJsZS1yZXNwb25zaXZle21hcmdpbi1ib3R0b206MDtib3JkZXI6MH0ucGFuZWwtZ3JvdXB7bWFyZ2luLWJvdHRvbToyMHB4fS5wYW5lbC1ncm91cCAucGFuZWx7bWFyZ2luLWJvdHRvbTowO2JvcmRlci1yYWRpdXM6NHB4fS5wYW5lbC1ncm91cCAucGFuZWwrLnBhbmVse21hcmdpbi10b3A6NXB4fS5wYW5lbC1ncm91cCAucGFuZWwtaGVhZGluZ3tib3JkZXItYm90dG9tOjB9LnBhbmVsLWdyb3VwIC5wYW5lbC1oZWFkaW5nKy5wYW5lbC1jb2xsYXBzZT4ubGlzdC1ncm91cCwucGFuZWwtZ3JvdXAgLnBhbmVsLWhlYWRpbmcrLnBhbmVsLWNvbGxhcHNlPi5wYW5lbC1ib2R5e2JvcmRlci10b3A6MXB4IHNvbGlkICNkZGR9LnBhbmVsLWdyb3VwIC5wYW5lbC1mb290ZXJ7Ym9yZGVyLXRvcDowfS5wYW5lbC1ncm91cCAucGFuZWwtZm9vdGVyKy5wYW5lbC1jb2xsYXBzZSAucGFuZWwtYm9keXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZGRkfS5wYW5lbC1kZWZhdWx0e2JvcmRlci1jb2xvcjojZGRkfS5wYW5lbC1kZWZhdWx0Pi5wYW5lbC1oZWFkaW5ne2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1O2JvcmRlci1jb2xvcjojZGRkfS5wYW5lbC1kZWZhdWx0Pi5wYW5lbC1oZWFkaW5nKy5wYW5lbC1jb2xsYXBzZT4ucGFuZWwtYm9keXtib3JkZXItdG9wLWNvbG9yOiNkZGR9LnBhbmVsLWRlZmF1bHQ+LnBhbmVsLWhlYWRpbmcgLmJhZGdle2NvbG9yOiNmNWY1ZjU7YmFja2dyb3VuZC1jb2xvcjojMzMzfS5wYW5lbC1kZWZhdWx0Pi5wYW5lbC1mb290ZXIrLnBhbmVsLWNvbGxhcHNlPi5wYW5lbC1ib2R5e2JvcmRlci1ib3R0b20tY29sb3I6I2RkZH0ucGFuZWwtcHJpbWFyeXtib3JkZXItY29sb3I6IzMzN2FiN30ucGFuZWwtcHJpbWFyeT4ucGFuZWwtaGVhZGluZ3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzMzN2FiNztib3JkZXItY29sb3I6IzMzN2FiN30ucGFuZWwtcHJpbWFyeT4ucGFuZWwtaGVhZGluZysucGFuZWwtY29sbGFwc2U+LnBhbmVsLWJvZHl7Ym9yZGVyLXRvcC1jb2xvcjojMzM3YWI3fS5wYW5lbC1wcmltYXJ5Pi5wYW5lbC1oZWFkaW5nIC5iYWRnZXtjb2xvcjojMzM3YWI3O2JhY2tncm91bmQtY29sb3I6I2ZmZn0ucGFuZWwtcHJpbWFyeT4ucGFuZWwtZm9vdGVyKy5wYW5lbC1jb2xsYXBzZT4ucGFuZWwtYm9keXtib3JkZXItYm90dG9tLWNvbG9yOiMzMzdhYjd9LnBhbmVsLXN1Y2Nlc3N7Ym9yZGVyLWNvbG9yOiNkNmU5YzZ9LnBhbmVsLXN1Y2Nlc3M+LnBhbmVsLWhlYWRpbmd7Y29sb3I6IzNjNzYzZDtiYWNrZ3JvdW5kLWNvbG9yOiNkZmYwZDg7Ym9yZGVyLWNvbG9yOiNkNmU5YzZ9LnBhbmVsLXN1Y2Nlc3M+LnBhbmVsLWhlYWRpbmcrLnBhbmVsLWNvbGxhcHNlPi5wYW5lbC1ib2R5e2JvcmRlci10b3AtY29sb3I6I2Q2ZTljNn0ucGFuZWwtc3VjY2Vzcz4ucGFuZWwtaGVhZGluZyAuYmFkZ2V7Y29sb3I6I2RmZjBkODtiYWNrZ3JvdW5kLWNvbG9yOiMzYzc2M2R9LnBhbmVsLXN1Y2Nlc3M+LnBhbmVsLWZvb3RlcisucGFuZWwtY29sbGFwc2U+LnBhbmVsLWJvZHl7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZDZlOWM2fS5wYW5lbC1pbmZve2JvcmRlci1jb2xvcjojYmNlOGYxfS5wYW5lbC1pbmZvPi5wYW5lbC1oZWFkaW5ne2NvbG9yOiMzMTcwOGY7YmFja2dyb3VuZC1jb2xvcjojZDllZGY3O2JvcmRlci1jb2xvcjojYmNlOGYxfS5wYW5lbC1pbmZvPi5wYW5lbC1oZWFkaW5nKy5wYW5lbC1jb2xsYXBzZT4ucGFuZWwtYm9keXtib3JkZXItdG9wLWNvbG9yOiNiY2U4ZjF9LnBhbmVsLWluZm8+LnBhbmVsLWhlYWRpbmcgLmJhZGdle2NvbG9yOiNkOWVkZjc7YmFja2dyb3VuZC1jb2xvcjojMzE3MDhmfS5wYW5lbC1pbmZvPi5wYW5lbC1mb290ZXIrLnBhbmVsLWNvbGxhcHNlPi5wYW5lbC1ib2R5e2JvcmRlci1ib3R0b20tY29sb3I6I2JjZThmMX0ucGFuZWwtd2FybmluZ3tib3JkZXItY29sb3I6I2ZhZWJjY30ucGFuZWwtd2FybmluZz4ucGFuZWwtaGVhZGluZ3tjb2xvcjojOGE2ZDNiO2JhY2tncm91bmQtY29sb3I6I2ZjZjhlMztib3JkZXItY29sb3I6I2ZhZWJjY30ucGFuZWwtd2FybmluZz4ucGFuZWwtaGVhZGluZysucGFuZWwtY29sbGFwc2U+LnBhbmVsLWJvZHl7Ym9yZGVyLXRvcC1jb2xvcjojZmFlYmNjfS5wYW5lbC13YXJuaW5nPi5wYW5lbC1oZWFkaW5nIC5iYWRnZXtjb2xvcjojZmNmOGUzO2JhY2tncm91bmQtY29sb3I6IzhhNmQzYn0ucGFuZWwtd2FybmluZz4ucGFuZWwtZm9vdGVyKy5wYW5lbC1jb2xsYXBzZT4ucGFuZWwtYm9keXtib3JkZXItYm90dG9tLWNvbG9yOiNmYWViY2N9LnBhbmVsLWRhbmdlcntib3JkZXItY29sb3I6I2ViY2NkMX0ucGFuZWwtZGFuZ2VyPi5wYW5lbC1oZWFkaW5ne2NvbG9yOiNhOTQ0NDI7YmFja2dyb3VuZC1jb2xvcjojZjJkZWRlO2JvcmRlci1jb2xvcjojZWJjY2QxfS5wYW5lbC1kYW5nZXI+LnBhbmVsLWhlYWRpbmcrLnBhbmVsLWNvbGxhcHNlPi5wYW5lbC1ib2R5e2JvcmRlci10b3AtY29sb3I6I2ViY2NkMX0ucGFuZWwtZGFuZ2VyPi5wYW5lbC1oZWFkaW5nIC5iYWRnZXtjb2xvcjojZjJkZWRlO2JhY2tncm91bmQtY29sb3I6I2E5NDQ0Mn0ucGFuZWwtZGFuZ2VyPi5wYW5lbC1mb290ZXIrLnBhbmVsLWNvbGxhcHNlPi5wYW5lbC1ib2R5e2JvcmRlci1ib3R0b20tY29sb3I6I2ViY2NkMX0uZW1iZWQtcmVzcG9uc2l2ZXtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO2hlaWdodDowO3BhZGRpbmc6MDtvdmVyZmxvdzpoaWRkZW59LmVtYmVkLXJlc3BvbnNpdmUgLmVtYmVkLXJlc3BvbnNpdmUtaXRlbSwuZW1iZWQtcmVzcG9uc2l2ZSBlbWJlZCwuZW1iZWQtcmVzcG9uc2l2ZSBpZnJhbWUsLmVtYmVkLXJlc3BvbnNpdmUgb2JqZWN0LC5lbWJlZC1yZXNwb25zaXZlIHZpZGVve3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvcmRlcjowfS5lbWJlZC1yZXNwb25zaXZlLTE2Ynk5e3BhZGRpbmctYm90dG9tOjU2LjI1JX0uZW1iZWQtcmVzcG9uc2l2ZS00Ynkze3BhZGRpbmctYm90dG9tOjc1JX0ud2VsbHttaW4taGVpZ2h0OjIwcHg7cGFkZGluZzoxOXB4O21hcmdpbi1ib3R0b206MjBweDtiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjU7Ym9yZGVyOjFweCBzb2xpZCAjZTNlM2UzO2JvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDUpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA1KX0ud2VsbCBibG9ja3F1b3Rle2JvcmRlci1jb2xvcjojZGRkO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4xNSl9LndlbGwtbGd7cGFkZGluZzoyNHB4O2JvcmRlci1yYWRpdXM6NnB4fS53ZWxsLXNte3BhZGRpbmc6OXB4O2JvcmRlci1yYWRpdXM6M3B4fS5jbG9zZXtmbG9hdDpyaWdodDtmb250LXNpemU6MjFweDtmb250LXdlaWdodDo3MDA7bGluZS1oZWlnaHQ6MTtjb2xvcjojMDAwO3RleHQtc2hhZG93OjAgMXB4IDAgI2ZmZjtmaWx0ZXI6YWxwaGEob3BhY2l0eT0yMCk7b3BhY2l0eTouMn0uY2xvc2U6Zm9jdXMsLmNsb3NlOmhvdmVye2NvbG9yOiMwMDA7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y3Vyc29yOnBvaW50ZXI7ZmlsdGVyOmFscGhhKG9wYWNpdHk9NTApO29wYWNpdHk6LjV9YnV0dG9uLmNsb3Nley13ZWJraXQtYXBwZWFyYW5jZTpub25lO3BhZGRpbmc6MDtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kOjAgMDtib3JkZXI6MH0ubW9kYWwtb3BlbntvdmVyZmxvdzpoaWRkZW59Lm1vZGFse3Bvc2l0aW9uOmZpeGVkO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowO3otaW5kZXg6MTA1MDtkaXNwbGF5Om5vbmU7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO291dGxpbmU6MH0ubW9kYWwuZmFkZSAubW9kYWwtZGlhbG9ney13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuM3MgZWFzZS1vdXQ7LW8tdHJhbnNpdGlvbjotby10cmFuc2Zvcm0gLjNzIGVhc2Utb3V0O3RyYW5zaXRpb246dHJhbnNmb3JtIC4zcyBlYXNlLW91dDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwtMjUlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLC0yNSUpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwtMjUlKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsLTI1JSl9Lm1vZGFsLmluIC5tb2RhbC1kaWFsb2d7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKTstby10cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApfS5tb2RhbC1vcGVuIC5tb2RhbHtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmF1dG99Lm1vZGFsLWRpYWxvZ3twb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDphdXRvO21hcmdpbjoxMHB4fS5tb2RhbC1jb250ZW50e3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQtY29sb3I6I2ZmZjstd2Via2l0LWJhY2tncm91bmQtY2xpcDpwYWRkaW5nLWJveDtiYWNrZ3JvdW5kLWNsaXA6cGFkZGluZy1ib3g7Ym9yZGVyOjFweCBzb2xpZCAjOTk5O2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMik7Ym9yZGVyLXJhZGl1czo2cHg7b3V0bGluZTowOy13ZWJraXQtYm94LXNoYWRvdzowIDNweCA5cHggcmdiYSgwLDAsMCwuNSk7Ym94LXNoYWRvdzowIDNweCA5cHggcmdiYSgwLDAsMCwuNSl9Lm1vZGFsLWJhY2tkcm9we3Bvc2l0aW9uOmZpeGVkO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowO3otaW5kZXg6MTA0MDtiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9Lm1vZGFsLWJhY2tkcm9wLmZhZGV7ZmlsdGVyOmFscGhhKG9wYWNpdHk9MCk7b3BhY2l0eTowfS5tb2RhbC1iYWNrZHJvcC5pbntmaWx0ZXI6YWxwaGEob3BhY2l0eT01MCk7b3BhY2l0eTouNX0ubW9kYWwtaGVhZGVye21pbi1oZWlnaHQ6MTYuNDNweDtwYWRkaW5nOjE1cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2U1ZTVlNX0ubW9kYWwtaGVhZGVyIC5jbG9zZXttYXJnaW4tdG9wOi0ycHh9Lm1vZGFsLXRpdGxle21hcmdpbjowO2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDN9Lm1vZGFsLWJvZHl7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZzoxNXB4fS5tb2RhbC1mb290ZXJ7cGFkZGluZzoxNXB4O3RleHQtYWxpZ246cmlnaHQ7Ym9yZGVyLXRvcDoxcHggc29saWQgI2U1ZTVlNX0ubW9kYWwtZm9vdGVyIC5idG4rLmJ0bnttYXJnaW4tYm90dG9tOjA7bWFyZ2luLWxlZnQ6NXB4fS5tb2RhbC1mb290ZXIgLmJ0bi1ncm91cCAuYnRuKy5idG57bWFyZ2luLWxlZnQ6LTFweH0ubW9kYWwtZm9vdGVyIC5idG4tYmxvY2srLmJ0bi1ibG9ja3ttYXJnaW4tbGVmdDowfS5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTk5OTlweDt3aWR0aDo1MHB4O2hlaWdodDo1MHB4O292ZXJmbG93OnNjcm9sbH1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm1vZGFsLWRpYWxvZ3t3aWR0aDo2MDBweDttYXJnaW46MzBweCBhdXRvfS5tb2RhbC1jb250ZW50ey13ZWJraXQtYm94LXNoYWRvdzowIDVweCAxNXB4IHJnYmEoMCwwLDAsLjUpO2JveC1zaGFkb3c6MCA1cHggMTVweCByZ2JhKDAsMCwwLC41KX0ubW9kYWwtc217d2lkdGg6MzAwcHh9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsubW9kYWwtbGd7d2lkdGg6OTAwcHh9fS50b29sdGlwe3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTA3MDtkaXNwbGF5OmJsb2NrO2ZvbnQtZmFtaWx5OiJIZWx2ZXRpY2EgTmV1ZSIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuNDtmaWx0ZXI6YWxwaGEob3BhY2l0eT0wKTtvcGFjaXR5OjB9LnRvb2x0aXAuaW57ZmlsdGVyOmFscGhhKG9wYWNpdHk9OTApO29wYWNpdHk6Ljl9LnRvb2x0aXAudG9we3BhZGRpbmc6NXB4IDA7bWFyZ2luLXRvcDotM3B4fS50b29sdGlwLnJpZ2h0e3BhZGRpbmc6MCA1cHg7bWFyZ2luLWxlZnQ6M3B4fS50b29sdGlwLmJvdHRvbXtwYWRkaW5nOjVweCAwO21hcmdpbi10b3A6M3B4fS50b29sdGlwLmxlZnR7cGFkZGluZzowIDVweDttYXJnaW4tbGVmdDotM3B4fS50b29sdGlwLWlubmVye21heC13aWR0aDoyMDBweDtwYWRkaW5nOjNweCA4cHg7Y29sb3I6I2ZmZjt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7Ym9yZGVyLXJhZGl1czo0cHh9LnRvb2x0aXAtYXJyb3d7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MDtoZWlnaHQ6MDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXN0eWxlOnNvbGlkfS50b29sdGlwLnRvcCAudG9vbHRpcC1hcnJvd3tib3R0b206MDtsZWZ0OjUwJTttYXJnaW4tbGVmdDotNXB4O2JvcmRlci13aWR0aDo1cHggNXB4IDA7Ym9yZGVyLXRvcC1jb2xvcjojMDAwfS50b29sdGlwLnRvcC1sZWZ0IC50b29sdGlwLWFycm93e3JpZ2h0OjVweDtib3R0b206MDttYXJnaW4tYm90dG9tOi01cHg7Ym9yZGVyLXdpZHRoOjVweCA1cHggMDtib3JkZXItdG9wLWNvbG9yOiMwMDB9LnRvb2x0aXAudG9wLXJpZ2h0IC50b29sdGlwLWFycm93e2JvdHRvbTowO2xlZnQ6NXB4O21hcmdpbi1ib3R0b206LTVweDtib3JkZXItd2lkdGg6NXB4IDVweCAwO2JvcmRlci10b3AtY29sb3I6IzAwMH0udG9vbHRpcC5yaWdodCAudG9vbHRpcC1hcnJvd3t0b3A6NTAlO2xlZnQ6MDttYXJnaW4tdG9wOi01cHg7Ym9yZGVyLXdpZHRoOjVweCA1cHggNXB4IDA7Ym9yZGVyLXJpZ2h0LWNvbG9yOiMwMDB9LnRvb2x0aXAubGVmdCAudG9vbHRpcC1hcnJvd3t0b3A6NTAlO3JpZ2h0OjA7bWFyZ2luLXRvcDotNXB4O2JvcmRlci13aWR0aDo1cHggMCA1cHggNXB4O2JvcmRlci1sZWZ0LWNvbG9yOiMwMDB9LnRvb2x0aXAuYm90dG9tIC50b29sdGlwLWFycm93e3RvcDowO2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi01cHg7Ym9yZGVyLXdpZHRoOjAgNXB4IDVweDtib3JkZXItYm90dG9tLWNvbG9yOiMwMDB9LnRvb2x0aXAuYm90dG9tLWxlZnQgLnRvb2x0aXAtYXJyb3d7dG9wOjA7cmlnaHQ6NXB4O21hcmdpbi10b3A6LTVweDtib3JkZXItd2lkdGg6MCA1cHggNXB4O2JvcmRlci1ib3R0b20tY29sb3I6IzAwMH0udG9vbHRpcC5ib3R0b20tcmlnaHQgLnRvb2x0aXAtYXJyb3d7dG9wOjA7bGVmdDo1cHg7bWFyZ2luLXRvcDotNXB4O2JvcmRlci13aWR0aDowIDVweCA1cHg7Ym9yZGVyLWJvdHRvbS1jb2xvcjojMDAwfS5wb3BvdmVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjEwNjA7ZGlzcGxheTpub25lO21heC13aWR0aDoyNzZweDtwYWRkaW5nOjFweDtmb250LWZhbWlseToiSGVsdmV0aWNhIE5ldWUiLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjQyODU3MTQzO3RleHQtYWxpZ246bGVmdDt3aGl0ZS1zcGFjZTpub3JtYWw7YmFja2dyb3VuZC1jb2xvcjojZmZmOy13ZWJraXQtYmFja2dyb3VuZC1jbGlwOnBhZGRpbmctYm94O2JhY2tncm91bmQtY2xpcDpwYWRkaW5nLWJveDtib3JkZXI6MXB4IHNvbGlkICNjY2M7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4yKTtib3JkZXItcmFkaXVzOjZweDstd2Via2l0LWJveC1zaGFkb3c6MCA1cHggMTBweCByZ2JhKDAsMCwwLC4yKTtib3gtc2hhZG93OjAgNXB4IDEwcHggcmdiYSgwLDAsMCwuMil9LnBvcG92ZXIudG9we21hcmdpbi10b3A6LTEwcHh9LnBvcG92ZXIucmlnaHR7bWFyZ2luLWxlZnQ6MTBweH0ucG9wb3Zlci5ib3R0b217bWFyZ2luLXRvcDoxMHB4fS5wb3BvdmVyLmxlZnR7bWFyZ2luLWxlZnQ6LTEwcHh9LnBvcG92ZXItdGl0bGV7cGFkZGluZzo4cHggMTRweDttYXJnaW46MDtmb250LXNpemU6MTRweDtiYWNrZ3JvdW5kLWNvbG9yOiNmN2Y3Zjc7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2ViZWJlYjtib3JkZXItcmFkaXVzOjVweCA1cHggMCAwfS5wb3BvdmVyLWNvbnRlbnR7cGFkZGluZzo5cHggMTRweH0ucG9wb3Zlcj4uYXJyb3csLnBvcG92ZXI+LmFycm93OmFmdGVye3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MDtoZWlnaHQ6MDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXN0eWxlOnNvbGlkfS5wb3BvdmVyPi5hcnJvd3tib3JkZXItd2lkdGg6MTFweH0ucG9wb3Zlcj4uYXJyb3c6YWZ0ZXJ7Y29udGVudDoiIjtib3JkZXItd2lkdGg6MTBweH0ucG9wb3Zlci50b3A+LmFycm93e2JvdHRvbTotMTFweDtsZWZ0OjUwJTttYXJnaW4tbGVmdDotMTFweDtib3JkZXItdG9wLWNvbG9yOiM5OTk7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDAsMCwwLC4yNSk7Ym9yZGVyLWJvdHRvbS13aWR0aDowfS5wb3BvdmVyLnRvcD4uYXJyb3c6YWZ0ZXJ7Ym90dG9tOjFweDttYXJnaW4tbGVmdDotMTBweDtjb250ZW50OiIgIjtib3JkZXItdG9wLWNvbG9yOiNmZmY7Ym9yZGVyLWJvdHRvbS13aWR0aDowfS5wb3BvdmVyLnJpZ2h0Pi5hcnJvd3t0b3A6NTAlO2xlZnQ6LTExcHg7bWFyZ2luLXRvcDotMTFweDtib3JkZXItcmlnaHQtY29sb3I6Izk5OTtib3JkZXItcmlnaHQtY29sb3I6cmdiYSgwLDAsMCwuMjUpO2JvcmRlci1sZWZ0LXdpZHRoOjB9LnBvcG92ZXIucmlnaHQ+LmFycm93OmFmdGVye2JvdHRvbTotMTBweDtsZWZ0OjFweDtjb250ZW50OiIgIjtib3JkZXItcmlnaHQtY29sb3I6I2ZmZjtib3JkZXItbGVmdC13aWR0aDowfS5wb3BvdmVyLmJvdHRvbT4uYXJyb3d7dG9wOi0xMXB4O2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi0xMXB4O2JvcmRlci10b3Atd2lkdGg6MDtib3JkZXItYm90dG9tLWNvbG9yOiM5OTk7Ym9yZGVyLWJvdHRvbS1jb2xvcjpyZ2JhKDAsMCwwLC4yNSl9LnBvcG92ZXIuYm90dG9tPi5hcnJvdzphZnRlcnt0b3A6MXB4O21hcmdpbi1sZWZ0Oi0xMHB4O2NvbnRlbnQ6IiAiO2JvcmRlci10b3Atd2lkdGg6MDtib3JkZXItYm90dG9tLWNvbG9yOiNmZmZ9LnBvcG92ZXIubGVmdD4uYXJyb3d7dG9wOjUwJTtyaWdodDotMTFweDttYXJnaW4tdG9wOi0xMXB4O2JvcmRlci1yaWdodC13aWR0aDowO2JvcmRlci1sZWZ0LWNvbG9yOiM5OTk7Ym9yZGVyLWxlZnQtY29sb3I6cmdiYSgwLDAsMCwuMjUpfS5wb3BvdmVyLmxlZnQ+LmFycm93OmFmdGVye3JpZ2h0OjFweDtib3R0b206LTEwcHg7Y29udGVudDoiICI7Ym9yZGVyLXJpZ2h0LXdpZHRoOjA7Ym9yZGVyLWxlZnQtY29sb3I6I2ZmZn0uY2Fyb3VzZWx7cG9zaXRpb246cmVsYXRpdmV9LmNhcm91c2VsLWlubmVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVufS5jYXJvdXNlbC1pbm5lcj4uaXRlbXtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Om5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOi42cyBlYXNlLWluLW91dCBsZWZ0Oy1vLXRyYW5zaXRpb246LjZzIGVhc2UtaW4tb3V0IGxlZnQ7dHJhbnNpdGlvbjouNnMgZWFzZS1pbi1vdXQgbGVmdH0uY2Fyb3VzZWwtaW5uZXI+Lml0ZW0+YT5pbWcsLmNhcm91c2VsLWlubmVyPi5pdGVtPmltZ3tsaW5lLWhlaWdodDoxfUBtZWRpYSBhbGwgYW5kICh0cmFuc2Zvcm0tM2QpLCgtd2Via2l0LXRyYW5zZm9ybS0zZCl7LmNhcm91c2VsLWlubmVyPi5pdGVtey13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuNnMgZWFzZS1pbi1vdXQ7LW8tdHJhbnNpdGlvbjotby10cmFuc2Zvcm0gLjZzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246dHJhbnNmb3JtIC42cyBlYXNlLWluLW91dDstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy13ZWJraXQtcGVyc3BlY3RpdmU6MTAwMDtwZXJzcGVjdGl2ZToxMDAwfS5jYXJvdXNlbC1pbm5lcj4uaXRlbS5hY3RpdmUucmlnaHQsLmNhcm91c2VsLWlubmVyPi5pdGVtLm5leHR7bGVmdDowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApfS5jYXJvdXNlbC1pbm5lcj4uaXRlbS5hY3RpdmUubGVmdCwuY2Fyb3VzZWwtaW5uZXI+Lml0ZW0ucHJldntsZWZ0OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKX0uY2Fyb3VzZWwtaW5uZXI+Lml0ZW0uYWN0aXZlLC5jYXJvdXNlbC1pbm5lcj4uaXRlbS5uZXh0LmxlZnQsLmNhcm91c2VsLWlubmVyPi5pdGVtLnByZXYucmlnaHR7bGVmdDowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApfX0uY2Fyb3VzZWwtaW5uZXI+LmFjdGl2ZSwuY2Fyb3VzZWwtaW5uZXI+Lm5leHQsLmNhcm91c2VsLWlubmVyPi5wcmV2e2Rpc3BsYXk6YmxvY2t9LmNhcm91c2VsLWlubmVyPi5hY3RpdmV7bGVmdDowfS5jYXJvdXNlbC1pbm5lcj4ubmV4dCwuY2Fyb3VzZWwtaW5uZXI+LnByZXZ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJX0uY2Fyb3VzZWwtaW5uZXI+Lm5leHR7bGVmdDoxMDAlfS5jYXJvdXNlbC1pbm5lcj4ucHJldntsZWZ0Oi0xMDAlfS5jYXJvdXNlbC1pbm5lcj4ubmV4dC5sZWZ0LC5jYXJvdXNlbC1pbm5lcj4ucHJldi5yaWdodHtsZWZ0OjB9LmNhcm91c2VsLWlubmVyPi5hY3RpdmUubGVmdHtsZWZ0Oi0xMDAlfS5jYXJvdXNlbC1pbm5lcj4uYWN0aXZlLnJpZ2h0e2xlZnQ6MTAwJX0uY2Fyb3VzZWwtY29udHJvbHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7d2lkdGg6MTUlO2ZvbnQtc2l6ZToyMHB4O2NvbG9yOiNmZmY7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwwLDAsLjYpO2ZpbHRlcjphbHBoYShvcGFjaXR5PTUwKTtvcGFjaXR5Oi41fS5jYXJvdXNlbC1jb250cm9sLmxlZnR7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LHJnYmEoMCwwLDAsLjUpIDAscmdiYSgwLDAsMCwuMDAwMSkgMTAwJSk7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQobGVmdCxyZ2JhKDAsMCwwLC41KSAwLHJnYmEoMCwwLDAsLjAwMDEpIDEwMCUpO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AscmlnaHQgdG9wLGZyb20ocmdiYSgwLDAsMCwuNSkpLHRvKHJnYmEoMCwwLDAsLjAwMDEpKSk7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQscmdiYSgwLDAsMCwuNSkgMCxyZ2JhKDAsMCwwLC4wMDAxKSAxMDAlKTtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyM4MDAwMDAwMCcsIGVuZENvbG9yc3RyPScjMDAwMDAwMDAnLCBHcmFkaWVudFR5cGU9MSk7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXh9LmNhcm91c2VsLWNvbnRyb2wucmlnaHR7cmlnaHQ6MDtsZWZ0OmF1dG87YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LHJnYmEoMCwwLDAsLjAwMDEpIDAscmdiYSgwLDAsMCwuNSkgMTAwJSk7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQobGVmdCxyZ2JhKDAsMCwwLC4wMDAxKSAwLHJnYmEoMCwwLDAsLjUpIDEwMCUpO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AscmlnaHQgdG9wLGZyb20ocmdiYSgwLDAsMCwuMDAwMSkpLHRvKHJnYmEoMCwwLDAsLjUpKSk7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQscmdiYSgwLDAsMCwuMDAwMSkgMCxyZ2JhKDAsMCwwLC41KSAxMDAlKTtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyMwMDAwMDAwMCcsIGVuZENvbG9yc3RyPScjODAwMDAwMDAnLCBHcmFkaWVudFR5cGU9MSk7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXh9LmNhcm91c2VsLWNvbnRyb2w6Zm9jdXMsLmNhcm91c2VsLWNvbnRyb2w6aG92ZXJ7Y29sb3I6I2ZmZjt0ZXh0LWRlY29yYXRpb246bm9uZTtmaWx0ZXI6YWxwaGEob3BhY2l0eT05MCk7b3V0bGluZTowO29wYWNpdHk6Ljl9LmNhcm91c2VsLWNvbnRyb2wgLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQsLmNhcm91c2VsLWNvbnRyb2wgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0LC5jYXJvdXNlbC1jb250cm9sIC5pY29uLW5leHQsLmNhcm91c2VsLWNvbnRyb2wgLmljb24tcHJldntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3otaW5kZXg6NTtkaXNwbGF5OmlubGluZS1ibG9ja30uY2Fyb3VzZWwtY29udHJvbCAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCwuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1wcmV2e2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi0xMHB4fS5jYXJvdXNlbC1jb250cm9sIC5nbHlwaGljb24tY2hldnJvbi1yaWdodCwuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1uZXh0e3JpZ2h0OjUwJTttYXJnaW4tcmlnaHQ6LTEwcHh9LmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dCwuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1wcmV2e3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7bWFyZ2luLXRvcDotMTBweDtmb250LWZhbWlseTpzZXJpZjtsaW5lLWhlaWdodDoxfS5jYXJvdXNlbC1jb250cm9sIC5pY29uLXByZXY6YmVmb3Jle2NvbnRlbnQ6J1wyMDM5J30uY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1uZXh0OmJlZm9yZXtjb250ZW50OidcMjAzYSd9LmNhcm91c2VsLWluZGljYXRvcnN7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjEwcHg7bGVmdDo1MCU7ei1pbmRleDoxNTt3aWR0aDo2MCU7cGFkZGluZy1sZWZ0OjA7bWFyZ2luLWxlZnQ6LTMwJTt0ZXh0LWFsaWduOmNlbnRlcjtsaXN0LXN0eWxlOm5vbmV9LmNhcm91c2VsLWluZGljYXRvcnMgbGl7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTBweDtoZWlnaHQ6MTBweDttYXJnaW46MXB4O3RleHQtaW5kZW50Oi05OTlweDtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAgXDk7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApO2JvcmRlcjoxcHggc29saWQgI2ZmZjtib3JkZXItcmFkaXVzOjEwcHh9LmNhcm91c2VsLWluZGljYXRvcnMgLmFjdGl2ZXt3aWR0aDoxMnB4O2hlaWdodDoxMnB4O21hcmdpbjowO2JhY2tncm91bmQtY29sb3I6I2ZmZn0uY2Fyb3VzZWwtY2FwdGlvbntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxNSU7Ym90dG9tOjIwcHg7bGVmdDoxNSU7ei1pbmRleDoxMDtwYWRkaW5nLXRvcDoyMHB4O3BhZGRpbmctYm90dG9tOjIwcHg7Y29sb3I6I2ZmZjt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LXNoYWRvdzowIDFweCAycHggcmdiYSgwLDAsMCwuNil9LmNhcm91c2VsLWNhcHRpb24gLmJ0bnt0ZXh0LXNoYWRvdzpub25lfUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NzY4cHgpey5jYXJvdXNlbC1jb250cm9sIC5nbHlwaGljb24tY2hldnJvbi1sZWZ0LC5jYXJvdXNlbC1jb250cm9sIC5nbHlwaGljb24tY2hldnJvbi1yaWdodCwuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1uZXh0LC5jYXJvdXNlbC1jb250cm9sIC5pY29uLXByZXZ7d2lkdGg6MzBweDtoZWlnaHQ6MzBweDttYXJnaW4tdG9wOi0xNXB4O2ZvbnQtc2l6ZTozMHB4fS5jYXJvdXNlbC1jb250cm9sIC5nbHlwaGljb24tY2hldnJvbi1sZWZ0LC5jYXJvdXNlbC1jb250cm9sIC5pY29uLXByZXZ7bWFyZ2luLWxlZnQ6LTE1cHh9LmNhcm91c2VsLWNvbnRyb2wgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0LC5jYXJvdXNlbC1jb250cm9sIC5pY29uLW5leHR7bWFyZ2luLXJpZ2h0Oi0xNXB4fS5jYXJvdXNlbC1jYXB0aW9ue3JpZ2h0OjIwJTtsZWZ0OjIwJTtwYWRkaW5nLWJvdHRvbTozMHB4fS5jYXJvdXNlbC1pbmRpY2F0b3Jze2JvdHRvbToyMHB4fX0uYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4tZ3JvdXA6YWZ0ZXIsLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLWdyb3VwOmJlZm9yZSwuYnRuLXRvb2xiYXI6YWZ0ZXIsLmJ0bi10b29sYmFyOmJlZm9yZSwuY2xlYXJmaXg6YWZ0ZXIsLmNsZWFyZml4OmJlZm9yZSwuY29udGFpbmVyLWZsdWlkOmFmdGVyLC5jb250YWluZXItZmx1aWQ6YmVmb3JlLC5jb250YWluZXI6YWZ0ZXIsLmNvbnRhaW5lcjpiZWZvcmUsLmRsLWhvcml6b250YWwgZGQ6YWZ0ZXIsLmRsLWhvcml6b250YWwgZGQ6YmVmb3JlLC5mb3JtLWhvcml6b250YWwgLmZvcm0tZ3JvdXA6YWZ0ZXIsLmZvcm0taG9yaXpvbnRhbCAuZm9ybS1ncm91cDpiZWZvcmUsLm1vZGFsLWZvb3RlcjphZnRlciwubW9kYWwtZm9vdGVyOmJlZm9yZSwubmF2OmFmdGVyLC5uYXY6YmVmb3JlLC5uYXZiYXItY29sbGFwc2U6YWZ0ZXIsLm5hdmJhci1jb2xsYXBzZTpiZWZvcmUsLm5hdmJhci1oZWFkZXI6YWZ0ZXIsLm5hdmJhci1oZWFkZXI6YmVmb3JlLC5uYXZiYXI6YWZ0ZXIsLm5hdmJhcjpiZWZvcmUsLnBhZ2VyOmFmdGVyLC5wYWdlcjpiZWZvcmUsLnBhbmVsLWJvZHk6YWZ0ZXIsLnBhbmVsLWJvZHk6YmVmb3JlLC5yb3c6YWZ0ZXIsLnJvdzpiZWZvcmV7ZGlzcGxheTp0YWJsZTtjb250ZW50OiIgIn0uYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4tZ3JvdXA6YWZ0ZXIsLmJ0bi10b29sYmFyOmFmdGVyLC5jbGVhcmZpeDphZnRlciwuY29udGFpbmVyLWZsdWlkOmFmdGVyLC5jb250YWluZXI6YWZ0ZXIsLmRsLWhvcml6b250YWwgZGQ6YWZ0ZXIsLmZvcm0taG9yaXpvbnRhbCAuZm9ybS1ncm91cDphZnRlciwubW9kYWwtZm9vdGVyOmFmdGVyLC5uYXY6YWZ0ZXIsLm5hdmJhci1jb2xsYXBzZTphZnRlciwubmF2YmFyLWhlYWRlcjphZnRlciwubmF2YmFyOmFmdGVyLC5wYWdlcjphZnRlciwucGFuZWwtYm9keTphZnRlciwucm93OmFmdGVye2NsZWFyOmJvdGh9LmNlbnRlci1ibG9ja3tkaXNwbGF5OmJsb2NrO21hcmdpbi1yaWdodDphdXRvO21hcmdpbi1sZWZ0OmF1dG99LnB1bGwtcmlnaHR7ZmxvYXQ6cmlnaHQhaW1wb3J0YW50fS5wdWxsLWxlZnR7ZmxvYXQ6bGVmdCFpbXBvcnRhbnR9LmhpZGV7ZGlzcGxheTpub25lIWltcG9ydGFudH0uc2hvd3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH0uaW52aXNpYmxle3Zpc2liaWxpdHk6aGlkZGVufS50ZXh0LWhpZGV7Zm9udDowLzAgYTtjb2xvcjp0cmFuc3BhcmVudDt0ZXh0LXNoYWRvdzpub25lO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOjB9LmhpZGRlbntkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5hZmZpeHtwb3NpdGlvbjpmaXhlZH1ALW1zLXZpZXdwb3J0e3dpZHRoOmRldmljZS13aWR0aH0udmlzaWJsZS1sZywudmlzaWJsZS1tZCwudmlzaWJsZS1zbSwudmlzaWJsZS14c3tkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS52aXNpYmxlLWxnLWJsb2NrLC52aXNpYmxlLWxnLWlubGluZSwudmlzaWJsZS1sZy1pbmxpbmUtYmxvY2ssLnZpc2libGUtbWQtYmxvY2ssLnZpc2libGUtbWQtaW5saW5lLC52aXNpYmxlLW1kLWlubGluZS1ibG9jaywudmlzaWJsZS1zbS1ibG9jaywudmlzaWJsZS1zbS1pbmxpbmUsLnZpc2libGUtc20taW5saW5lLWJsb2NrLC52aXNpYmxlLXhzLWJsb2NrLC52aXNpYmxlLXhzLWlubGluZSwudmlzaWJsZS14cy1pbmxpbmUtYmxvY2t7ZGlzcGxheTpub25lIWltcG9ydGFudH1AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7LnZpc2libGUteHN7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9dGFibGUudmlzaWJsZS14c3tkaXNwbGF5OnRhYmxlfXRyLnZpc2libGUteHN7ZGlzcGxheTp0YWJsZS1yb3chaW1wb3J0YW50fXRkLnZpc2libGUteHMsdGgudmlzaWJsZS14c3tkaXNwbGF5OnRhYmxlLWNlbGwhaW1wb3J0YW50fX1AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7LnZpc2libGUteHMtYmxvY2t7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsudmlzaWJsZS14cy1pbmxpbmV7ZGlzcGxheTppbmxpbmUhaW1wb3J0YW50fX1AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7LnZpc2libGUteHMtaW5saW5lLWJsb2Nre2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpYW5kIChtYXgtd2lkdGg6OTkxcHgpey52aXNpYmxlLXNte2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fXRhYmxlLnZpc2libGUtc217ZGlzcGxheTp0YWJsZX10ci52aXNpYmxlLXNte2Rpc3BsYXk6dGFibGUtcm93IWltcG9ydGFudH10ZC52aXNpYmxlLXNtLHRoLnZpc2libGUtc217ZGlzcGxheTp0YWJsZS1jZWxsIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpYW5kIChtYXgtd2lkdGg6OTkxcHgpey52aXNpYmxlLXNtLWJsb2Nre2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweClhbmQgKG1heC13aWR0aDo5OTFweCl7LnZpc2libGUtc20taW5saW5le2Rpc3BsYXk6aW5saW5lIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpYW5kIChtYXgtd2lkdGg6OTkxcHgpey52aXNpYmxlLXNtLWlubGluZS1ibG9ja3tkaXNwbGF5OmlubGluZS1ibG9jayFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KWFuZCAobWF4LXdpZHRoOjExOTlweCl7LnZpc2libGUtbWR7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9dGFibGUudmlzaWJsZS1tZHtkaXNwbGF5OnRhYmxlfXRyLnZpc2libGUtbWR7ZGlzcGxheTp0YWJsZS1yb3chaW1wb3J0YW50fXRkLnZpc2libGUtbWQsdGgudmlzaWJsZS1tZHtkaXNwbGF5OnRhYmxlLWNlbGwhaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweClhbmQgKG1heC13aWR0aDoxMTk5cHgpey52aXNpYmxlLW1kLWJsb2Nre2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweClhbmQgKG1heC13aWR0aDoxMTk5cHgpey52aXNpYmxlLW1kLWlubGluZXtkaXNwbGF5OmlubGluZSFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KWFuZCAobWF4LXdpZHRoOjExOTlweCl7LnZpc2libGUtbWQtaW5saW5lLWJsb2Nre2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsudmlzaWJsZS1sZ3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH10YWJsZS52aXNpYmxlLWxne2Rpc3BsYXk6dGFibGV9dHIudmlzaWJsZS1sZ3tkaXNwbGF5OnRhYmxlLXJvdyFpbXBvcnRhbnR9dGQudmlzaWJsZS1sZyx0aC52aXNpYmxlLWxne2Rpc3BsYXk6dGFibGUtY2VsbCFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7LnZpc2libGUtbGctYmxvY2t7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7LnZpc2libGUtbGctaW5saW5le2Rpc3BsYXk6aW5saW5lIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsudmlzaWJsZS1sZy1pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2shaW1wb3J0YW50fX1AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7LmhpZGRlbi14c3tkaXNwbGF5Om5vbmUhaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweClhbmQgKG1heC13aWR0aDo5OTFweCl7LmhpZGRlbi1zbXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweClhbmQgKG1heC13aWR0aDoxMTk5cHgpey5oaWRkZW4tbWR7ZGlzcGxheTpub25lIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsuaGlkZGVuLWxne2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9fS52aXNpYmxlLXByaW50e2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9QG1lZGlhIHByaW50ey52aXNpYmxlLXByaW50e2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fXRhYmxlLnZpc2libGUtcHJpbnR7ZGlzcGxheTp0YWJsZX10ci52aXNpYmxlLXByaW50e2Rpc3BsYXk6dGFibGUtcm93IWltcG9ydGFudH10ZC52aXNpYmxlLXByaW50LHRoLnZpc2libGUtcHJpbnR7ZGlzcGxheTp0YWJsZS1jZWxsIWltcG9ydGFudH19LnZpc2libGUtcHJpbnQtYmxvY2t7ZGlzcGxheTpub25lIWltcG9ydGFudH1AbWVkaWEgcHJpbnR7LnZpc2libGUtcHJpbnQtYmxvY2t7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9fS52aXNpYmxlLXByaW50LWlubGluZXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fUBtZWRpYSBwcmludHsudmlzaWJsZS1wcmludC1pbmxpbmV7ZGlzcGxheTppbmxpbmUhaW1wb3J0YW50fX0udmlzaWJsZS1wcmludC1pbmxpbmUtYmxvY2t7ZGlzcGxheTpub25lIWltcG9ydGFudH1AbWVkaWEgcHJpbnR7LnZpc2libGUtcHJpbnQtaW5saW5lLWJsb2Nre2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudH19QG1lZGlhIHByaW50ey5oaWRkZW4tcHJpbnR7ZGlzcGxheTpub25lIWltcG9ydGFudH19"}},"time_used":40,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":31,"receive":9,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/css/style.css","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.380Z","timestamp":1785123231380,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /css/style.css HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: text/css\r\nlast-modified: Wed, 22 Apr 2026 17:27:27 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 19215\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":160563,"size_decoded":19525,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"031332cfe47b40a1a3a2420c7b6662ae","sha1":"83b0810402bd4616b6b9afb3cf28d75c0e999ea4","sha256":"97ac55cbf443f7f735ec8643b28640820c49117b32042423dc68a9d294a11473","sha512":"e7516d648705135b53c65357e6156b1c2ee611fac72d1299bf187c6138c6e2edc4f4be8013bcf6b12765ae1a2442369f034880708b9f97a63c1b1fef50327767","ssdeep":"768:RwX1VkggMmAF2SgVtwHexgzit53fvl4neG7UlZFMfYuIACnYJeRZJnH8wGJdHmaH:JAF2SalmoWUi","tlshash":"ddf34395cb25204ea313a718bbf13aa42e348011dd3b495ef2b97624d3e177d2623bdd","first_seen":"2026-06-26T06:01:48.589911Z","last_seen":"2026-07-27T05:05:33.675525Z","times_seen":7,"resource_available":false,"data":"LyogTWFzdGVyQ29pbnMgQ3J5cHRvIEN1cnJlbmN5IE1hcmtldGluZyBIVE1MIFRlbXBsYXRlICovDQoNCi8qKioqKioqKioqKiogVEFCTEUgT0YgQ09OVEVOVFMgKioqKioqKioqKioqKioqDQoxLiBGb250cw0KMi4gUmVzZXQNCjMuIEdsb2JhbA0KNC4gTWFpbiBIZWFkZXINCjUuIE1haW4gU2xpZGVyDQo2LiBTZXJ2aWNlcyBTZWN0aW9uDQo3LiBNYXN0ZXIgQ29pbiBTZWN0aW9uDQo4LiBCdXkgU2VjdGlvbg0KOS4gQ2FsY3VsYXRlciBTZWN0aW9uDQoxMC4gQmxvZyBTZWN0aW9uDQoxMS4gVGVzdGltb25pYWwgU2VjdGlvbg0KMTIuIFJlZ2lzdGVyIFNlY3Rpb24NCjEzLiBDbGllbnRzIFNlY3Rpb24NCjE0LiBNYWluIEZvb3Rlcg0KMTUuIFBhZ2UgVGl0bGUNCjE2LiBDb21wYW55IFNlY3Rpb24NCjE3LiBIaXN0b3J5IFNlY3Rpb24NCjE4LiBUZWFtIFNlY3Rpb24NCjE5LiBDYXNlcyBTZWN0aW9uDQoyMC4gQ2FzZXMgU2luZ2xlIFNlY3Rpb24NCjIxLiBIb3cgSXQgV29yayBTZWN0aW9uDQoyMi4gU2hvcCBJdGVtDQoyMy4gU2hvcCBQYWdlDQoyNC4gQ2FydCBTZWN0aW9uDQoyNS4gQ2hlY2tvdXQgU2VjdGlvbg0KMjYuIEFjY291bnQgU2VjdGlvbg0KMjcuIE1hcCBTZWN0aW9uDQoyOC4gQ29udGFjdCBGb3JtIFNlY3Rpb24NCg0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KQGltcG9ydCB1cmwoJy4uL2Nzcy5jc3MnKTsNCg0KLypmb250LWZhbWlseTogJ1JvYm90bycsIHNhbnMtc2VyaWY7DQpmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmOyovDQoNCkBpbXBvcnQgdXJsKCdmb250LWF3ZXNvbWUuY3NzJyk7DQpAaW1wb3J0IHVybCgnZmxhdGljb24uY3NzJyk7DQpAaW1wb3J0IHVybCgnYW5pbWF0ZS5jc3MnKTsNCkBpbXBvcnQgdXJsKCdvd2wuY3NzJyk7DQpAaW1wb3J0IHVybCgnc2xpY2suY3NzJyk7DQpAaW1wb3J0IHVybCgnanF1ZXJ5LmZhbmN5Ym94Lm1pbi5jc3MnKTsNCkBpbXBvcnQgdXJsKCdob3Zlci5jc3MnKTsNCkBpbXBvcnQgdXJsKCdqcXVlcnktdWkuY3NzJyk7DQpAaW1wb3J0IHVybCgnanF1ZXJ5LmJvb3RzdHJhcC10b3VjaHNwaW4uY3NzJyk7DQoNCi8qKiogDQoNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoJUmVzZXQNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoNCiAqKiovDQogDQoqIHsNCgltYXJnaW46MHB4Ow0KCXBhZGRpbmc6MHB4Ow0KCWJvcmRlcjpub25lOw0KCW91dGxpbmU6bm9uZTsNCn0NCg0KLyoqKiANCg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCglHbG9iYWwgU2V0dGluZ3MNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoNCiAqKiovDQoNCmJvZHkgew0KCWZvbnQtc2l6ZToxNXB4Ow0KCWNvbG9yOiM3Nzc3Nzc7DQoJbGluZS1oZWlnaHQ6MS44ZW07DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWJhY2tncm91bmQ6I2ZmZmZmZjsNCgliYWNrZ3JvdW5kLXNpemU6Y292ZXI7DQoJYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0Ow0KCWJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIHRvcDsNCgktd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsNCglmb250LWZhbWlseTogJ1JvYm90bycsIHNhbnMtc2VyaWY7DQp9DQoNCmF7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQoJY3Vyc29yOnBvaW50ZXI7DQoJY29sb3I6I2ZlYmUyODsNCn0NCg0KLm5vLXBhZGRpbmd7DQoJcGFkZGluZzowcHggIWltcG9ydGFudDsNCn0NCg0KYTpob3ZlcixhOmZvY3VzLGE6dmlzaXRlZHsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCglvdXRsaW5lOm5vbmU7DQp9DQoNCmgxLGgyLGgzLGg0LGg1LGg2IHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglmb250LXdlaWdodDpub3JtYWw7DQoJbWFyZ2luOjBweDsNCgliYWNrZ3JvdW5kOm5vbmU7DQoJbGluZS1oZWlnaHQ6MS42ZW07DQoJZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBzYW5zLXNlcmlmOw0KfQ0KDQppbnB1dCxidXR0b24sc2VsZWN0ew0KCWZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjsNCn0NCg0KdGV4dGFyZWF7DQoJb3ZlcmZsb3c6aGlkZGVuOw0KfQ0KDQpwLC50ZXh0ew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWxpbmUtaGVpZ2h0OjEuOGVtOwkNCglmb250LWZhbWlseTogJ1JvYm90bycsIHNhbnMtc2VyaWY7DQp9DQoNCi5zdHJpa2UtdGhyb3VnaHsNCgl0ZXh0LWRlY29yYXRpb246bGluZS10aHJvdWdoOwkNCn0NCg0KLmF1dG8tY29udGFpbmVyew0KCXBvc2l0aW9uOnN0YXRpYzsNCgltYXgtd2lkdGg6MTIwMHB4Ow0KCXBhZGRpbmc6MHB4IDE1cHg7DQoJbWFyZ2luOjAgYXV0bzsNCn0NCg0KLnBhZ2Utd3JhcHBlcnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW46MCBhdXRvOw0KCXdpZHRoOjEwMCU7DQoJbWluLXdpZHRoOjMwMHB4Ow0KfQ0KDQovKkxpc3QgU3R5bGUgT25lKi8NCg0KLmxpc3Qtc3R5bGUtb25lew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KfQ0KDQoubGlzdC1zdHlsZS1vbmUgbGl7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6I2NiY2JjYzsNCglmb250LXNpemU6MTZweDsNCglmb250LXdlaWdodDozMDA7DQoJcGFkZGluZy1sZWZ0OjI4cHg7DQoJbWFyZ2luLWJvdHRvbToxMHB4Ow0KCWZvbnQtc3R5bGU6aXRhbGljOw0KCWZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7DQp9DQoNCi5saXN0LXN0eWxlLW9uZSBsaTpiZWZvcmV7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJY29udGVudDonJzsNCglsZWZ0OjBweDsNCgl0b3A6MTBweDsNCgl3aWR0aDo4cHg7DQoJaGVpZ2h0OjhweDsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmZWJlMjg7DQoJLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7DQoJYm9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuNTApOw0KfQ0KDQovKkxpc3QgU3R5bGUgVHdvKi8NCg0KLmxpc3Qtc3R5bGUtdHdvew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KfQ0KDQoubGlzdC1zdHlsZS10d28gbGl7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6Izg0ODQ4NDsNCglmb250LXNpemU6MTZweDsNCglmb250LXdlaWdodDo0MDA7DQoJcGFkZGluZy1sZWZ0OjI4cHg7DQoJbWFyZ2luLWJvdHRvbToxMHB4Ow0KCWZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7DQp9DQoNCi5saXN0LXN0eWxlLXR3byBsaTpiZWZvcmV7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJY29udGVudDonJzsNCglsZWZ0OjBweDsNCgl0b3A6MTBweDsNCgl3aWR0aDo4cHg7DQoJaGVpZ2h0OjhweDsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmZWJlMjg7DQoJYm9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NCwxOTAsNDAsMC41MCk7DQp9DQoNCnVsLGxpew0KCWxpc3Qtc3R5bGU6bm9uZTsNCglwYWRkaW5nOjBweDsNCgltYXJnaW46MHB4OwkNCn0NCg0KLnRoZW1lLWJ0bnsNCglkaXNwbGF5OmlubGluZS1ibG9jazsNCgl0cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLW1vei10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLW1zLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktby10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQp9DQoNCi5ncmV5LWJnew0KCWJhY2tncm91bmQtY29sb3I6I2Y2ZjZmNjsNCn0NCg0KLypCdG4gU3R5bGUgT25lKi8NCg0KLmJ0bi1zdHlsZS1vbmV7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJcGFkZGluZzo5cHggNDBweDsNCglsaW5lLWhlaWdodDoyOXB4Ow0KCWNvbG9yOiMxYjMzNGQ7DQoJZm9udC1zaXplOjE2cHg7DQoJZm9udC13ZWlnaHQ6NzAwOw0KCWxldHRlci1zcGFjaW5nOjFweDsNCglib3JkZXItcmFkaXVzOjUwcHg7DQoJYmFja2dyb3VuZC1jb2xvcjojZmViZTI4Ow0KCWJvcmRlcjoycHggc29saWQgI2ZlYmUyODsNCglmb250LWZhbWlseTogJ1JvYm90bycsIHNhbnMtc2VyaWY7DQp9DQoNCi5idG4tc3R5bGUtb25lOmhvdmVyew0KCWNvbG9yOiNmZWJlMjg7DQoJYmFja2dyb3VuZDpub25lOw0KfQ0KDQovKkJ0biBTdHlsZSBUd28qLw0KDQouYnRuLXN0eWxlLXR3b3sNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglwYWRkaW5nOjlweCA0MHB4Ow0KCWxpbmUtaGVpZ2h0OjI5cHg7DQoJY29sb3I6I2ZlYmUyODsNCglmb250LXNpemU6MTZweDsNCglmb250LXdlaWdodDo3MDA7DQoJbGV0dGVyLXNwYWNpbmc6MXB4Ow0KCWJvcmRlci1yYWRpdXM6NTBweDsNCgliYWNrZ3JvdW5kLWNvbG9yOiMxYjMzNGQ7DQoJYm9yZGVyOjJweCBzb2xpZCAjMWIzMzRkOw0KCWZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjsNCn0NCg0KLmJ0bi1zdHlsZS10d286aG92ZXJ7DQoJYmFja2dyb3VuZDojZmViZTI4Ow0KCWNvbG9yOiNmZmZmZmY7DQoJYm9yZGVyLWNvbG9yOiNmZWJlMjg7DQp9DQoNCi8qQnRuIFN0eWxlIFRocmVlKi8NCg0KLmJ0bi1zdHlsZS10aHJlZXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglwYWRkaW5nOjlweCAyNnB4Ow0KCWxpbmUtaGVpZ2h0OjI5cHg7DQoJY29sb3I6IzI2MjYyNjsNCglmb250LXNpemU6MTZweDsNCglmb250LXdlaWdodDo3MDA7DQoJbGV0dGVyLXNwYWNpbmc6MXB4Ow0KCWJvcmRlci1yYWRpdXM6NTBweDsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7DQoJYm9yZGVyOjJweCBzb2xpZCAjZmZmZmZmOw0KCWZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjsNCn0NCg0KLmJ0bi1zdHlsZS10aHJlZTpob3ZlcnsNCgljb2xvcjojZmZmZmZmOw0KCWJhY2tncm91bmQ6bm9uZTsNCn0NCg0KLnRoZW1lX2NvbG9yew0KCWNvbG9yOiNmZWJlMjg7CQ0KfQ0KDQppbWd7DQoJZGlzcGxheTppbmxpbmUtYmxvY2s7DQoJbWF4LXdpZHRoOjEwMCU7CQ0KfQ0KDQoucHJlbG9hZGVyeyBwb3NpdGlvbjpmaXhlZDsgbGVmdDowcHg7IHRvcDowcHg7IHdpZHRoOjEwMCU7IGhlaWdodDoxMDAlOyB6LWluZGV4Ojk5OTk5OTsgYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7IGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsgYmFja2dyb3VuZC1pbWFnZTp1cmwoIi4uL2ltYWdlcy9pY29ucy9wcmVsb2FkZXIuc3ZnIik7fQ0KDQovKioqIA0KDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KCVNjcm9sbCBUbyBUb3Agc3R5bGUNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoNCioqKi8NCg0KLnNjcm9sbC10by10b3B7DQoJcG9zaXRpb246Zml4ZWQ7DQoJYm90dG9tOjE1cHg7DQoJcmlnaHQ6MTVweDsNCgl3aWR0aDo0MHB4Ow0KCWhlaWdodDo3MHB4Ow0KCWNvbG9yOiMyODI3MjY7DQoJZm9udC1zaXplOjI0cHg7DQoJdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOw0KCWxpbmUtaGVpZ2h0OjY1cHg7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQoJei1pbmRleDo5OTk5OTsNCgljdXJzb3I6cG9pbnRlcjsNCglib3JkZXItcmFkaXVzOjUwcHg7DQoJYmFja2dyb3VuZDojZmViZTI4Ow0KCWRpc3BsYXk6bm9uZTsNCglib3JkZXI6MnB4IHNvbGlkICNmZWJlMjg7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLW1vei10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CQkNCn0NCg0KLnNjcm9sbC10by10b3A6aG92ZXJ7DQoJY29sb3I6I2ZmZmZmZjsNCn0NCg0KLyoqKiANCg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCglNYWluIEhlYWRlciBzdHlsZQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0KKioqLw0KDQoubWFpbi1oZWFkZXJ7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbGVmdDowcHg7DQoJdG9wOjBweDsNCgl6LWluZGV4Ojk5OTsNCgl3aWR0aDoxMDAlOw0KCXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJLW1vei10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktbXMtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktby10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KfQ0KDQovKlN0aWNreSBIZWFkZXIqLw0KDQouc3RpY2t5LWhlYWRlcnsNCglwb3NpdGlvbjpmaXhlZDsNCglvcGFjaXR5OjA7DQoJdmlzaWJpbGl0eTpoaWRkZW47DQoJbGVmdDowcHg7DQoJdG9wOjBweDsNCgl3aWR0aDoxMDAlOw0KCXBhZGRpbmc6MHB4IDBweDsNCgliYWNrZ3JvdW5kOiNmZmZmZmY7DQoJei1pbmRleDowOw0KCWJvcmRlci1ib3R0b206MXB4IHNvbGlkICNlMGUwZTA7DQoJdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktbW96LXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQp9DQoNCi5zdGlja3ktaGVhZGVyIC5sb2dvew0KCXBhZGRpbmc6MTBweCAwcHggM3B4OwkNCn0NCg0KLmZpeGVkLWhlYWRlciAuc3RpY2t5LWhlYWRlcnsNCgl6LWluZGV4Ojk5OTsNCglvcGFjaXR5OjE7DQoJdmlzaWJpbGl0eTp2aXNpYmxlOw0KCS1tcy1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bjsNCgktbW96LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duOw0KCS1vcC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bjsNCgktd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duOw0KCWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duOw0KCS1tcy1hbmltYXRpb24tZHVyYXRpb246IDUwMG1zOw0KCS1tb3otYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtczsNCgktb3AtYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtczsNCgktd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7DQoJYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtczsNCgktbXMtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOw0KCS1tb3otYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOw0KCS1vcC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQoJLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQoJYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOw0KCS1tcy1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOw0KCS1tb3otYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsNCgktb3AtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsNCgktd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7DQoJYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsJDQp9DQoNCi5tYWluLWhlYWRlci5maXhlZC1oZWFkZXIgLm1haW4tbWVudXsNCglwYWRkaW5nLXRvcDowcHg7DQp9DQoNCi5tYWluLWhlYWRlciAuaGVhZGVyLXVwcGVyew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXotaW5kZXg6NTsNCgl0cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS1tb3otdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJLW1zLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJLW8tdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCn0NCg0KLm1haW4taGVhZGVyIC5oZWFkZXItdXBwZXIgLmxvZ28gaW1new0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWRpc3BsYXk6aW5saW5lLWJsb2NrOw0KCW1heC13aWR0aDoxMDAlOw0KfQ0KDQoubWFpbi1oZWFkZXIgLmxvZ28tb3V0ZXJ7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJei1pbmRleDoyNTsNCglwYWRkaW5nOjEwcHggMHB4Ow0KfQ0KDQoubWFpbi1oZWFkZXIgLmxvZ28tb3V0ZXIgLmxvZ28gaW1new0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWRpc3BsYXk6aW5saW5lLWJsb2NrOw0KCW1heC13aWR0aDoxMDAlOw0KfQ0KDQoubWFpbi1oZWFkZXIgLmhlYWRlci11cHBlciAudXBwZXItcmlnaHR7DQoJcG9zaXRpb246cmVsYXRpdmU7DQp9DQoNCi5tYWluLWhlYWRlciAuaGVhZGVyLWxvd2Vyew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXRvcDowcHg7DQoJd2lkdGg6MTAwJTsNCgl6LWluZGV4OjU7DQp9DQoNCi5tYWluLWhlYWRlciAubmF2LW91dGVyew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KfQ0KDQoubWFpbi1tZW51ew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWZsb2F0OmxlZnQ7DQp9DQoNCi5tYWluLW1lbnUgLm5hdmJhci1jb2xsYXBzZXsNCglwYWRkaW5nOjBweDsJDQp9DQoNCi5tYWluLW1lbnUgLm5hdmlnYXRpb257DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWFyZ2luOjBweDsNCn0NCg0KLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWZsb2F0OmxlZnQ7DQp9DQoNCi5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaTphZnRlcnsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgljb250ZW50OicnOw0KCXJpZ2h0OjBweDsNCgl0b3A6NTAlOw0KCXdpZHRoOjFweDsNCgloZWlnaHQ6NDBweDsNCgltYXJnaW4tdG9wOi0yMHB4Ow0KCW9wYWNpdHk6MC4yOw0KCWJhY2tncm91bmQtY29sb3I6I2MwYzBjMDsNCn0NCg0KLnN0aWNreS1oZWFkZXIgLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpOmFmdGVyew0KCWRpc3BsYXk6bm9uZTsJDQp9DQoNCi5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaTpsYXN0LWNoaWxkOjphZnRlcnsNCglkaXNwbGF5Om5vbmU7DQp9DQoNCi5tYWluLWhlYWRlciAuc3RpY2t5LWhlYWRlciAubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGl7DQoJbWFyZ2luOjBweDsNCglib3JkZXI6MHB4Ow0KfQ0KDQoubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiBhew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWRpc3BsYXk6YmxvY2s7DQoJZm9udC1zaXplOjE3cHg7DQoJY29sb3I6IzI2MjYyNjsNCglsaW5lLWhlaWdodDozMHB4Ow0KCWZvbnQtd2VpZ2h0OjcwMDsNCglvcGFjaXR5OjE7DQoJdGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTsNCglwYWRkaW5nOjM1cHggMjBweCAzNXB4IDIwcHg7DQoJdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktbW96LXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBzYW5zLXNlcmlmOw0KfQ0KDQoubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiBhOmFmdGVyew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCWNvbnRlbnQ6Jyc7DQoJbGVmdDo1MCU7DQoJYm90dG9tOjI0cHg7DQoJd2lkdGg6MTJweDsNCgloZWlnaHQ6MnB4Ow0KCW9wYWNpdHk6MDsNCgltYXJnaW4tbGVmdDotNnB4Ow0KCWJhY2tncm91bmQtY29sb3I6I2ZlYmUyODsNCgl0cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS1tb3otdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJLW1zLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJLW8tdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCn0NCg0KLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpID4gYTpiZWZvcmV7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJY29udGVudDonJzsNCglsZWZ0OjUwJTsNCglib3R0b206MjhweDsNCgl3aWR0aDoxMnB4Ow0KCWhlaWdodDoycHg7DQoJb3BhY2l0eTowOw0KCW1hcmdpbi1sZWZ0Oi02cHg7DQoJYmFja2dyb3VuZC1jb2xvcjojZmViZTI4Ow0KCXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJLW1vei10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktbXMtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktby10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KfQ0KDQoubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkuY3VycmVudCA+IGE6YWZ0ZXIsDQoubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkuY3VycmVudCA+IGE6YmVmb3JlLA0KLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpOmhvdmVyID4gYTpiZWZvcmUsDQoubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGk6aG92ZXIgPiBhOmFmdGVyew0KCW9wYWNpdHk6MTsNCn0NCg0KLm1haW4taGVhZGVyIC5zdGlja3ktaGVhZGVyIC5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaSA+IGF7DQoJY29sb3I6IzE4MTgxODsNCglwYWRkaW5nOjE3cHggMTVweCAhaW1wb3J0YW50Ow0KCWxpbmUtaGVpZ2h0OjMwcHg7DQoJZm9udC1zaXplOjE2cHg7DQoJZm9udC13ZWlnaHQ6NjAwOw0KCW1pbi1oZWlnaHQ6MHB4Ow0KCWJhY2tncm91bmQ6bm9uZTsNCglib3JkZXI6MHB4Ow0KfQ0KDQouc3RpY2t5LWhlYWRlciAubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiBhOmJlZm9yZXsNCglkaXNwbGF5Om5vbmU7DQp9DQoNCi5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaTpob3ZlciA+IGEsDQoubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkuY3VycmVudCA+IGEsDQoubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkuY3VycmVudC1tZW51LWl0ZW0gPiBhew0KCWNvbG9yOiNmZWJlMjg7DQoJb3BhY2l0eToxOw0KfQ0KDQoubWFpbi1oZWFkZXIgLnN0aWNreS1oZWFkZXIgLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpOmhvdmVyID4gYSwNCi5tYWluLWhlYWRlciAuc3RpY2t5LWhlYWRlciAubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkuY3VycmVudCA+IGEsDQoubWFpbi1oZWFkZXIgLnN0aWNreS1oZWFkZXIgLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpLmN1cnJlbnQtbWVudS1pdGVtID4gYXsNCgliYWNrZ3JvdW5kOiNmZWJlMjg7DQoJY29sb3I6I2ZmZmZmZiAhaW1wb3J0YW50Ow0KCW9wYWNpdHk6MTsNCn0NCg0KLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpOmhvdmVyID4gYTphZnRlcnsNCglvcGFjaXR5OjE7DQp9DQoNCi5tYWluLWhlYWRlciAuc3RpY2t5LWhlYWRlciAubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiB1bDpiZWZvcmV7DQoJZGlzcGxheTpub25lOw0KfQ0KDQoubWFpbi1oZWFkZXIgLnN0aWNreS1oZWFkZXIgLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpID4gdWx7DQoJdG9wOjEwMCUgIWltcG9ydGFudDsNCn0NCg0KLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpID4gdWx7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJbGVmdDowcHg7DQoJdG9wOjEwMCU7DQoJd2lkdGg6MjcwcHg7DQoJcGFkZGluZzowcHggMzBweDsNCgl6LWluZGV4OjEwMDsNCglkaXNwbGF5Om5vbmU7DQoJYmFja2dyb3VuZDojZmZmZmZmOw0KCXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJLW1vei10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktbXMtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktby10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS13ZWJraXQtYm94LXNoYWRvdzoycHggMnB4IDVweCAxcHggcmdiYSgwLDAsMCwwLjA1KSwtMnB4IDBweCA1cHggMXB4IHJnYmEoMCwwLDAsMC4wNSk7DQoJLW1zLWJveC1zaGFkb3c6MnB4IDJweCA1cHggMXB4IHJnYmEoMCwwLDAsMC4wNSksLTJweCAwcHggNXB4IDFweCByZ2JhKDAsMCwwLDAuMDUpOw0KCS1vLWJveC1zaGFkb3c6MnB4IDJweCA1cHggMXB4IHJnYmEoMCwwLDAsMC4wNSksLTJweCAwcHggNXB4IDFweCByZ2JhKDAsMCwwLDAuMDUpOw0KCS1tb3otYm94LXNoYWRvdzoycHggMnB4IDVweCAxcHggcmdiYSgwLDAsMCwwLjA1KSwtMnB4IDBweCA1cHggMXB4IHJnYmEoMCwwLDAsMC4wNSk7DQoJYm94LXNoYWRvdzoycHggMnB4IDVweCAxcHggcmdiYSgwLDAsMCwwLjA1KSwtMnB4IDBweCA1cHggMXB4IHJnYmEoMCwwLDAsMC4wNSk7DQp9DQoNCi5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaSA+IHVsLmZyb20tcmlnaHR7DQoJbGVmdDphdXRvOw0KCXJpZ2h0OjBweDsJDQp9DQoNCi5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaSA+IHVsID4gbGl7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJd2lkdGg6MTAwJTsNCglwYWRkaW5nOjdweCAwcHg7DQoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2YyZjJmMjsNCn0NCg0KLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpID4gdWwgPiBsaTpsYXN0LWNoaWxkew0KCWJvcmRlci1ib3R0b206bm9uZTsJDQp9DQoNCi5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaSA+IHVsID4gbGkgPiBhew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWRpc3BsYXk6YmxvY2s7DQoJcGFkZGluZzo2cHggMHB4Ow0KCWxpbmUtaGVpZ2h0OjI0cHg7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWZvbnQtc2l6ZToxNnB4Ow0KCWNvbG9yOiMyNjI2MjY7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXBhZGRpbmctcmlnaHQ6MHB4ICFpbXBvcnRhbnQ7DQoJdGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTsNCgl0cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS1tb3otdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJLW1zLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJLW8tdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCglmb250LWZhbWlseTogJ1JvYm90bycsIHNhbnMtc2VyaWY7DQp9DQoNCi5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaSA+IHVsID4gbGkgPiBhOmJlZm9yZXsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgljb250ZW50OidcZjE3OCc7DQoJbGVmdDoxMHB4Ow0KCXRvcDo2cHg7DQoJb3BhY2l0eTowOw0KCWNvbG9yOiMyNjI2MjY7DQoJdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktbW96LXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7DQp9DQoNCi5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaSA+IHVsID4gbGk6aG92ZXIgPiBhew0KCXBhZGRpbmctbGVmdDozMnB4Ow0KfQ0KDQoubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiB1bCA+IGxpOmhvdmVyID4gYXsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmZWJlMjg7DQp9DQoNCi5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaSA+IHVsID4gbGk6aG92ZXIgPiBhOmJlZm9yZSwNCi5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaSA+IHVsID4gbGkgPiB1bCA+IGxpOmhvdmVyID4gYTpiZWZvcmV7DQoJb3BhY2l0eToxOw0KfQ0KDQoubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiB1bCA+IGxpID4gdWx7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJbGVmdDoxMDAlOw0KCXRvcDowJTsNCgl3aWR0aDoyNTBweDsNCglwYWRkaW5nOjBweCAzMHB4Ow0KCXotaW5kZXg6MTAwOw0KCWRpc3BsYXk6bm9uZTsNCgliYWNrZ3JvdW5kOiNmZmZmZmY7DQoJdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktbW96LXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJLXdlYmtpdC1ib3gtc2hhZG93OjJweCAycHggNXB4IDFweCByZ2JhKDAsMCwwLDAuMDUpLC0ycHggMHB4IDVweCAxcHggcmdiYSgwLDAsMCwwLjA1KTsNCgktbXMtYm94LXNoYWRvdzoycHggMnB4IDVweCAxcHggcmdiYSgwLDAsMCwwLjA1KSwtMnB4IDBweCA1cHggMXB4IHJnYmEoMCwwLDAsMC4wNSk7DQoJLW8tYm94LXNoYWRvdzoycHggMnB4IDVweCAxcHggcmdiYSgwLDAsMCwwLjA1KSwtMnB4IDBweCA1cHggMXB4IHJnYmEoMCwwLDAsMC4wNSk7DQoJLW1vei1ib3gtc2hhZG93OjJweCAycHggNXB4IDFweCByZ2JhKDAsMCwwLDAuMDUpLC0ycHggMHB4IDVweCAxcHggcmdiYSgwLDAsMCwwLjA1KTsNCglib3gtc2hhZG93OjJweCAycHggNXB4IDFweCByZ2JhKDAsMCwwLDAuMDUpLC0ycHggMHB4IDVweCAxcHggcmdiYSgwLDAsMCwwLjA1KTsNCn0NCg0KLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpID4gdWwgPiBsaSA+IHVsOmJlZm9yZXsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgljb250ZW50OicnOw0KCXJpZ2h0OjEwMCU7DQoJdG9wOjBweDsNCgl3aWR0aDoyMHB4Ow0KCWhlaWdodDoxMDAlOw0KfQ0KDQoubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiB1bCA+IGxpID4gdWwgPiBsaXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgl3aWR0aDoxMDAlOw0KCXBhZGRpbmc6N3B4IDBweDsNCglib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZjJmMmYyOw0KfQ0KDQoubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiB1bCA+IGxpID4gdWwgPiBsaTpsYXN0LWNoaWxkew0KCWJvcmRlci1ib3R0b206bm9uZTsJDQp9DQoNCi5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaSA+IHVsID4gbGkgID4gdWwgPiBsaSA+IGF7DQogICAgcG9zaXRpb246cmVsYXRpdmU7DQoJZGlzcGxheTpibG9jazsNCglwYWRkaW5nOjZweCAwcHg7DQoJbGluZS1oZWlnaHQ6MjRweDsNCglmb250LXdlaWdodDo0MDA7DQoJZm9udC1zaXplOjE2cHg7DQoJY29sb3I6IzI2MjYyNjsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJcGFkZGluZy1yaWdodDowcHggIWltcG9ydGFudDsNCgl0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplOw0KCXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJLW1vei10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktbXMtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktby10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCWZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjsNCn0NCg0KLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpID4gdWwgPiBsaSAgPiB1bCA+IGxpID4gYTpiZWZvcmV7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJY29udGVudDonXGYxNzgnOw0KCWxlZnQ6MTBweDsNCgl0b3A6NnB4Ow0KCW9wYWNpdHk6MDsNCgljb2xvcjojMjYyNjI2Ow0KCXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJLW1vei10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktbXMtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktby10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCWZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnOw0KfQ0KDQoubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiB1bCA+IGxpICA+IHVsID4gbGkgPiBhOmhvdmVyew0KCWJhY2tncm91bmQtY29sb3I6I2ZlYmUyODsNCglwYWRkaW5nLWxlZnQ6MzBweDsNCn0NCg0KLmZpeGVkLWhlYWRlciAubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiBhOmJlZm9yZSwNCi5maXhlZC1oZWFkZXIgLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpID4gYTphZnRlcnsNCglkaXNwbGF5Om5vbmU7DQp9DQoNCi5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaS5kcm9wZG93bjpob3ZlciA+IHVsew0KCXZpc2liaWxpdHk6dmlzaWJsZTsNCglvcGFjaXR5OjE7DQp9DQoNCi5tYWluLW1lbnUgLm5hdmlnYXRpb24gbGkgPiB1bCA+IGxpLmRyb3Bkb3duOmhvdmVyID4gdWx7DQoJdmlzaWJpbGl0eTp2aXNpYmxlOw0KCW9wYWNpdHk6MTsNCglsZWZ0OjExNSU7DQoJdG9wOjAlOw0KCXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJLW1vei10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktbXMtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktby10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwkNCn0NCg0KLm1haW4tbWVudSAubmF2YmFyLWNvbGxhcHNlID4gdWwgbGkuZHJvcGRvd24gLmRyb3Bkb3duLWJ0bnsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglyaWdodDoxMHB4Ow0KCXRvcDo2cHg7DQoJd2lkdGg6MzRweDsNCgloZWlnaHQ6MzBweDsNCglib3JkZXI6MXB4IHNvbGlkICNmZmZmZmY7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQoJZm9udC1zaXplOjE2cHg7DQoJbGluZS1oZWlnaHQ6MjZweDsNCgljb2xvcjojZmZmZmZmOw0KCWN1cnNvcjpwb2ludGVyOw0KCXotaW5kZXg6NTsNCglkaXNwbGF5Om5vbmU7DQp9DQoNCi5tYWluLWhlYWRlciAub3V0ZXItYm94ew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWZsb2F0OmxlZnQ7DQoJbWFyZ2luLWxlZnQ6MTVweDsNCgltYXJnaW4tdG9wOjMwcHg7DQp9DQoNCi5tYWluLWhlYWRlciAub3V0ZXItYm94IC5yZXNlcnZhdGlvbi1mb3JtLWJ0bnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglmb250LXNpemU6MTdweDsNCgljb2xvcjojNTE0NDI2Ow0KCWxlZnQ6LTFweDsNCgljdXJzb3I6cG9pbnRlcjsNCglwYWRkaW5nOjdweCAxNnB4IDdweCAxMnB4Ow0KCWRpc3BsYXk6aW5saW5lLWJsb2NrOw0KCWJhY2tncm91bmQtY29sb3I6I2ZlYmUyODsNCglib3JkZXItcmFkaXVzOjBweCA1MHB4IDUwcHggMHB4Ow0KfQ0KDQouaGVhZGVyLXRvcHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgliYWNrZ3JvdW5kLWNvbG9yOiMxYjMzNGQ7DQp9DQoNCi5oZWFkZXItdG9wIC50b3AtaW5uZXJ7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWluLWhlaWdodDo0NXB4Ow0KfQ0KDQouaGVhZGVyLXRvcCAudG9wLWlubmVyOmJlZm9yZXsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgljb250ZW50OicnOw0KCWJvdHRvbTowcHg7DQoJd2lkdGg6MzAwMHB4Ow0KCXJpZ2h0OjEwMCU7DQoJaGVpZ2h0OjQ3cHg7DQoJbWluLWhlaWdodDoxMDAlOw0KCW1hcmdpbi1yaWdodDotMjcwcHg7DQoJYmFja2dyb3VuZC1jb2xvcjojZmViZTI4Ow0KfQ0KDQouaGVhZGVyLXRvcCAudG9wLWlubmVyOmFmdGVyew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCWNvbnRlbnQ6Jyc7DQoJYm90dG9tOjBweDsNCgltYXJnaW4tbGVmdDoyNzBweDsNCglib3JkZXItYm90dG9tOiA0N3B4IHNvbGlkICNmZWJlMjg7DQoJYm9yZGVyLXJpZ2h0OiA0MHB4IHNvbGlkIHRyYW5zcGFyZW50Ow0KfQ0KDQouaGVhZGVyLXRvcCAudG9wLWxlZnR7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJZmxvYXQ6bGVmdDsNCn0NCg0KLmhlYWRlci10b3AgLnRvcC1sZWZ0IHVsIGxpew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWZvbnQtc2l6ZToxNXB4Ow0KCWNvbG9yOiMyNjI2MjY7DQoJZm9udC13ZWlnaHQ6NjAwOw0KCXBhZGRpbmc6OXB4IDBweDsNCglkaXNwbGF5OmlubGluZS1ibG9jazsNCglwYWRkaW5nLXJpZ2h0OjE2cHg7DQoJbWFyZ2luLXJpZ2h0OjE1cHg7DQoJZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjsNCn0NCg0KLmhlYWRlci10b3AgLnRvcC1sZWZ0IHVsIGxpIHNwYW57DQoJZm9udC13ZWlnaHQ6NzAwOw0KCWZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjsNCn0NCg0KLmhlYWRlci10b3AgLnRvcC1sZWZ0IHVsIGxpIGF7DQoJZm9udC1zaXplOjE1cHg7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWNvbG9yOiM3MjcyNzI7DQoJLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsNCiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7DQogICAgLW8tdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7DQogICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsNCiAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsNCn0NCg0KLmhlYWRlci10b3AgLnRvcC1sZWZ0IHVsIGxpOm50aC1jaGlsZCgyKTo6YWZ0ZXIsDQouaGVhZGVyLXRvcCAudG9wLXJpZ2h0ID4gdWwgPiBsaTpsYXN0LWNoaWxkOjphZnRlcnsNCglkaXNwbGF5Om5vbmU7DQp9DQoNCi5oZWFkZXItdG9wIC50b3AtbGVmdCB1bCBsaTphZnRlcnsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgljb250ZW50OicnOw0KCXJpZ2h0OjBweDsNCgl0b3A6MTVweDsNCgl3aWR0aDoxcHg7DQoJaGVpZ2h0OjEzcHg7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMjApOw0KfQ0KDQouaGVhZGVyLXRvcCAudG9wLWxlZnQgdWwgbGkgYTpob3ZlcnsNCgljb2xvcjojZmViZTI4Ow0KfQ0KDQouaGVhZGVyLXRvcCAudG9wLWxlZnQgdWwgbGkuZW1haWx7DQoJbWFyZ2luLWxlZnQ6NDBweDsNCn0NCg0KLmhlYWRlci10b3AgLnRvcC1sZWZ0IHVsIGxpLmVtYWlsIGF7DQoJY29sb3I6I2ZmZmZmZjsNCglmb250LXdlaWdodDo2MDA7DQoJLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsNCiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7DQogICAgLW8tdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7DQogICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsNCiAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsNCglmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmOw0KfQ0KDQouaGVhZGVyLXRvcCAudG9wLWxlZnQgdWwgbGkuZW1haWwgYTpob3ZlcnsNCgljb2xvcjojZmViZTI4Ow0KfQ0KDQouaGVhZGVyLXRvcCAudG9wLWxlZnQgdWwgbGkgLmljb257DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6I2ZlYmUyODsNCglmb250LXNpemU6MTZweDsNCglsaW5lLWhlaWdodDoxZW07DQoJbWFyZ2luLXJpZ2h0OjEwcHg7DQoJZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7DQp9DQoNCi5oZWFkZXItdG9wIC50b3AtcmlnaHR7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJZmxvYXQ6cmlnaHQ7DQp9DQoNCi5oZWFkZXItdG9wIC50b3AtcmlnaHQgPiB1bHsNCgkNCn0NCg0KLmhlYWRlci10b3AgLnRvcC1yaWdodCA+IHVsID4gbGl7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWFyZ2luLXJpZ2h0OjEwcHg7DQoJZm9udC1zaXplOjE0cHg7DQoJY29sb3I6I2JiYmJiYjsNCglwYWRkaW5nOjlweCAwcHg7DQoJcGFkZGluZy1yaWdodDoxMnB4Ow0KCWRpc3BsYXk6aW5saW5lLWJsb2NrOw0KfQ0KDQouaGVhZGVyLXRvcCAudG9wLXJpZ2h0ID4gdWwgPiBsaTphZnRlcnsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgljb250ZW50OicnOw0KCXJpZ2h0OjBweDsNCgl0b3A6MTZweDsNCgl3aWR0aDoxcHg7DQoJaGVpZ2h0OjE0cHg7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuMjApOw0KfQ0KDQouaGVhZGVyLXRvcCAudG9wLXJpZ2h0ID4gdWwgPiBsaTpsYXN0LWNoaWxkew0KCW1hcmdpbi1yaWdodDowcHg7DQoJcGFkZGluZy1yaWdodDowcHg7DQp9DQoNCi5oZWFkZXItdG9wIC50b3AtcmlnaHQgPiB1bCA+IGxpID4gYXsNCglmb250LXNpemU6MTVweDsNCglmb250LXdlaWdodDo2MDA7DQoJY29sb3I6I2ZmZmZmZjsNCgktd2Via2l0LXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOw0KICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsNCiAgICAtby10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsNCiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOw0KICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOw0KCWZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7DQp9DQoNCi5oZWFkZXItdG9wIC50b3AtcmlnaHQgPiB1bCA+IGxpID4gYTpob3ZlcnsNCgljb2xvcjojZmViZTI4Ow0KfQ0KDQouaGVhZGVyLXRvcCAudG9wLXJpZ2h0ID4gdWwgPiBsaSA+IGEgPiAuaWNvbnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgl0b3A6MXB4Ow0KCWZvbnQtc2l6ZToxNXB4Ow0KCWNvbG9yOiNmZWJlMjg7DQoJbWFyZ2luLXJpZ2h0OjhweDsNCn0NCg0KLmhlYWRlci10b3AgLmxhbmd1YWdlIC5kcm9wZG93bi1tZW51ew0KCXJpZ2h0OjBweDsNCglsZWZ0OmF1dG87DQoJd2lkdGg6MTgwcHg7DQoJcGFkZGluZzowcHggIWltcG9ydGFudDsNCgltYXJnaW4tdG9wOjFweDsNCglib3JkZXItcmFkaXVzOjBweDsNCgliYWNrZ3JvdW5kLWNvbG9yOiMyMjIyMjI7DQoJYm9yZGVyOm5vbmU7DQogICAgYm9yZGVyLXRvcDozcHggc29saWQgI2ZlYmUyODsNCglib3gtc2hhZG93Om5vbmUgIWltcG9ydGFudDsNCn0NCg0KLmhlYWRlci10b3AgbGkubGFuZ3VhZ2V7DQoJdG9wOi0xcHg7DQp9DQoNCi5oZWFkZXItdG9wIGxpLmxhbmd1YWdlIGF7DQoJYm9yZGVyOjBweDsNCglwYWRkaW5nOjBweDsNCgliYWNrZ3JvdW5kOm5vbmU7DQp9DQoNCi5oZWFkZXItdG9wIGxpLmxhbmd1YWdlIC5mbGFnLWljb257DQoJbWFyZ2luLXJpZ2h0OjhweDsNCn0NCg0KLmhlYWRlci10b3AgbGkubGFuZ3VhZ2UgYSAuYXJyb3ctaWNvbnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgl0b3A6MXB4Ow0KCWNvbG9yOiNjYmNiY2I7DQp9DQoNCi5oZWFkZXItdG9wIGxpLmxhbmd1YWdlIGE6aG92ZXJ7DQoJYmFja2dyb3VuZDpub25lOw0KfQ0KDQouaGVhZGVyLXRvcCAubGFuZ3VhZ2UgLmRyb3Bkb3duLW1lbnUgPiBsaXsNCglwYWRkaW5nOjBweCAhaW1wb3J0YW50Ow0KCW1hcmdpbjowcHggIWltcG9ydGFudDsNCglmbG9hdDpub25lOw0KCWJvcmRlcjpub25lOw0KCWRpc3BsYXk6YmxvY2sgIWltcG9ydGFudDsNCiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjIwKTsNCn0NCg0KLmhlYWRlci10b3AgLmxhbmd1YWdlIC5kcm9wZG93bi1tZW51ID4gbGk6bGFzdC1jaGlsZHsNCglib3JkZXItYm90dG9tOm5vbmU7CQ0KfQ0KDQouaGVhZGVyLXRvcCAubGFuZ3VhZ2UgLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGF7DQoJcGFkZGluZzoxMHB4IDIwcHggIWltcG9ydGFudDsNCgljb2xvcjojZmZmZmZmOw0KCXRleHQtYWxpZ246bGVmdDsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLW1zLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLW8tdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsNCgktbW96LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsJDQp9DQoNCi5oZWFkZXItdG9wIC5sYW5ndWFnZSAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpmb2N1c3sNCgliYWNrZ3JvdW5kOm5vbmU7DQp9DQoNCi5oZWFkZXItdG9wIC5sYW5ndWFnZSAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpob3ZlcnsNCgljb2xvcjojZmZmZmZmOw0KCWJhY2tncm91bmQ6bm9uZTsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmZWJlMjg7DQp9DQoNCi5tYWluLWhlYWRlciAuaGVhZGVyLWxvd2VyIC5zZWFyY2gtYm94LW91dGVyew0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCgltaW4td2lkdGg6NjBweDsNCglwYWRkaW5nLXJpZ2h0OjBweDsNCglwYWRkaW5nLWxlZnQ6MHB4Ow0KCXBhZGRpbmctdG9wOjI0cHg7DQoJcGFkZGluZy1ib3R0b206MjRweDsNCglkaXNwbGF5OmlubGluZS1ibG9jazsNCglib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNlZWVlZWU7DQp9DQoNCi5tYWluLWhlYWRlciAuaGVhZGVyLWxvd2VyIC5zZWFyY2gtYm94LWJ0bnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglkaXNwbGF5OmJsb2NrOw0KCXdpZHRoOjEwMCU7DQoJZm9udC1zaXplOjE2cHg7DQoJY29sb3I6IzIyMjIyMjsNCglsaW5lLWhlaWdodDoyMHB4ICFpbXBvcnRhbnQ7DQoJcGFkZGluZzowcHg7DQoJbWFyZ2luOjBweDsNCgljdXJzb3I6cG9pbnRlcjsNCgliYWNrZ3JvdW5kOm5vbmU7DQoJdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktbW96LXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQp9DQoNCi5tYWluLWhlYWRlciAuaGVhZGVyLWxvd2VyIC5zZWFyY2gtYm94LW91dGVyIC5kcm9wZG93bi1tZW51ew0KCXRvcDo0NHB4Ow0KCXJpZ2h0OjBweDsNCglwYWRkaW5nOjBweDsNCgl3aWR0aDoyODBweDsJDQoJYm9yZGVyLXJhZGl1czowcHg7DQoJYm9yZGVyLXRvcDozcHggc29saWQgI2ZlYmUyODsNCn0NCg0KLm1haW4taGVhZGVyIC5oZWFkZXItbG93ZXIgLnNlYXJjaC1ib3gtb3V0ZXIgLmRyb3Bkb3duLW1lbnUgPiBsaXsNCglwYWRkaW5nOjBweDsNCglib3JkZXI6bm9uZTsNCgliYWNrZ3JvdW5kOm5vbmU7DQp9DQoNCi5tYWluLWhlYWRlciAuaGVhZGVyLWxvd2VyIC5zZWFyY2gtcGFuZWwgLmZvcm0tY29udGFpbmVyew0KCXBhZGRpbmc6MjVweCAyMHB4OwkNCn0NCg0KLm1haW4taGVhZGVyIC5oZWFkZXItbG93ZXIgLnNlYXJjaC1wYW5lbCAuZm9ybS1ncm91cHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW46MHB4OwkNCn0NCg0KLm1haW4taGVhZGVyIC5oZWFkZXItbG93ZXIgLnNlYXJjaC1wYW5lbCBpbnB1dFt0eXBlPSJ0ZXh0Il0sDQoubWFpbi1oZWFkZXIgLmhlYWRlci1sb3dlciAuc2VhcmNoLXBhbmVsIGlucHV0W3R5cGU9InNlYXJjaCJdLA0KLm1haW4taGVhZGVyIC5oZWFkZXItbG93ZXIgLnNlYXJjaC1wYW5lbCBpbnB1dFt0eXBlPSJwYXNzd29yZCJdLA0KLm1haW4taGVhZGVyIC5oZWFkZXItbG93ZXIgLnNlYXJjaC1wYW5lbCBzZWxlY3R7DQoJZGlzcGxheTpibG9jazsNCgl3aWR0aDoxMDAlOw0KCWhlaWdodDo0MHB4Ow0KCWNvbG9yOiMwMDAwMDA7DQoJbGluZS1oZWlnaHQ6MjRweDsNCgliYWNrZ3JvdW5kOiNmZmZmZmY7CQ0KCWJvcmRlcjoxcHggc29saWQgI2UwZTBlMDsNCglwYWRkaW5nOjdweCA0MHB4IDdweCAxNXB4Ow0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsNCgktbXMtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsNCgktby10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1tb3otdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsNCgl0cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KfQ0KDQoubWFpbi1oZWFkZXIgLmhlYWRlci1sb3dlciAuc2VhcmNoLXBhbmVsIGlucHV0OmZvY3VzLA0KLm1haW4taGVhZGVyIC5oZWFkZXItbG93ZXIgLnNlYXJjaC1wYW5lbCBzZWxlY3Q6Zm9jdXN7DQoJYm9yZGVyLWNvbG9yOiNmZWJlMjg7CQ0KfQ0KDQoubWFpbi1oZWFkZXIgLmhlYWRlci1sb3dlciAuc2VhcmNoLXBhbmVsIC5zZWFyY2gtYnRuew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXJpZ2h0OjBweDsNCgl0b3A6MHB4Ow0KCXdpZHRoOjQwcHg7DQoJaGVpZ2h0OjQwcHg7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQoJY29sb3I6IzU1NTU1NTsNCglmb250LXNpemU6MTJweDsNCgliYWNrZ3JvdW5kOm5vbmU7DQoJY3Vyc29yOnBvaW50ZXI7DQp9DQoNCi8qc2VhcmNoIGJveCBidG4qLw0KDQoubWFpbi1oZWFkZXIgLnNlYXJjaC1ib3gtb3V0ZXJ7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbGVmdDozcHg7DQoJZGlzcGxheTppbmxpbmUtYmxvY2s7DQp9DQoNCi5tYWluLWhlYWRlciAuc2VhcmNoLWJveC1idG57DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJZm9udC1zaXplOjE2cHg7DQoJbGluZS1oZWlnaHQ6MjhweDsNCgljb2xvcjojZmZmZmZmOw0KCWN1cnNvcjpwb2ludGVyOw0KCWRpc3BsYXk6aW5saW5lLWJsb2NrOw0KCXBhZGRpbmc6N3B4IDE1cHggNnB4Ow0KCWJhY2tncm91bmQ6IzFiMzM0ZDsNCglib3JkZXItcmFkaXVzOjUwcHggMHB4IDBweCA1MHB4Ow0KfQ0KDQoubWFpbi1oZWFkZXIgLnNlYXJjaC1ib3gtb3V0ZXIgLmRyb3Bkb3duLW1lbnV7DQoJdG9wOjY4cHg7DQoJcGFkZGluZzowcHg7DQoJd2lkdGg6MjgwcHg7CQ0KCWJvcmRlci1yYWRpdXM6MHB4Ow0KCWJvcmRlci10b3A6M3B4IHNvbGlkICNmZWJlMjg7DQp9DQoNCi5tYWluLWhlYWRlciAuc2VhcmNoLXBhbmVsIC5mb3JtLWNvbnRhaW5lcnsNCglwYWRkaW5nOjI1cHggMjBweDsJDQp9DQoNCi5tYWluLWhlYWRlciAuc2VhcmNoLXBhbmVsIC5mb3JtLWdyb3Vwew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCW1hcmdpbjowcHg7CQ0KfQ0KDQoubWFpbi1oZWFkZXIgLnNlYXJjaC1wYW5lbCBpbnB1dFt0eXBlPSJ0ZXh0Il0sDQoubWFpbi1oZWFkZXIgLnNlYXJjaC1wYW5lbCBpbnB1dFt0eXBlPSJzZWFyY2giXSwNCi5tYWluLWhlYWRlciAuc2VhcmNoLXBhbmVsIGlucHV0W3R5cGU9InBhc3N3b3JkIl0sDQoubWFpbi1oZWFkZXIgLnNlYXJjaC1wYW5lbCBzZWxlY3R7DQoJZGlzcGxheTpibG9jazsNCgl3aWR0aDoxMDAlOw0KCWxpbmUtaGVpZ2h0OjI0cHg7DQoJcGFkZGluZzo5cHggNTBweCA5cHggMTVweDsNCgloZWlnaHQ6NDRweDsNCglib3JkZXI6MXB4IHNvbGlkICM3Nzc3Nzc7DQoJYm9yZGVyLXJhZGl1czozcHg7DQoJYmFja2dyb3VuZDojZmZmZmZmOwkNCn0NCg0KLm1haW4taGVhZGVyIC5zZWFyY2gtcGFuZWwgaW5wdXQ6Zm9jdXMsDQoubWFpbi1oZWFkZXIgLnNlYXJjaC1wYW5lbCBzZWxlY3Q6Zm9jdXN7DQoJYm9yZGVyLWNvbG9yOiNmZWJlMjg7CQ0KfQ0KDQoubWFpbi1oZWFkZXIgLnNlYXJjaC1wYW5lbCAuc2VhcmNoLWJ0bnsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglyaWdodDowcHg7DQoJdG9wOjBweDsNCgl3aWR0aDo1MHB4Ow0KCWhlaWdodDo0NHB4Ow0KCXRleHQtYWxpZ246Y2VudGVyOw0KCWNvbG9yOiNmZmZmZmY7DQoJYmFja2dyb3VuZDojMzMzMzMzOw0KCWZvbnQtc2l6ZToxNHB4Ow0KCWJvcmRlci1yYWRpdXM6MHB4IDNweCAzcHggMHB4Ow0KCWN1cnNvcjpwb2ludGVyOw0KfQ0KDQovKlNvY2lhbCBJY29uIE9uZSovDQoNCi5zb2NpYWwtaWNvbi1vbmV7DQoJcG9zaXRpb246cmVsYXRpdmU7DQp9DQoNCi5zb2NpYWwtaWNvbi1vbmUgbGl7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWFyZ2luOjBweCA1cHg7DQoJZGlzcGxheTppbmxpbmUtYmxvY2s7DQp9DQoNCi5zb2NpYWwtaWNvbi1vbmUgbGkgYXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojODQ4NDg0Ow0KCXdpZHRoOjMycHg7DQoJaGVpZ2h0OjMycHg7DQoJZm9udC1zaXplOjE0cHg7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQoJZGlzcGxheTppbmxpbmUtYmxvY2s7DQoJYm9yZGVyLXJhZGl1czo1MCU7DQoJbGluZS1oZWlnaHQ6MzJweDsNCglib3JkZXI6MXB4IHNvbGlkICNmMmYyZjI7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLW1vei10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CQ0KfQ0KDQouc29jaWFsLWljb24tb25lIGxpIGE6aG92ZXJ7DQoJY29sb3I6IzI2MjYyNjsNCglib3JkZXItY29sb3I6I2ZlYmUyODsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmZWJlMjg7DQp9DQoNCi8qU29jaWFsIEljb24gVHdvKi8NCg0KLnNvY2lhbC1pY29uLXR3b3sNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCn0NCg0KLnNvY2lhbC1pY29uLXR3byBsaXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW4tcmlnaHQ6MTBweDsNCglkaXNwbGF5OmlubGluZS1ibG9jazsNCn0NCg0KLnNvY2lhbC1pY29uLXR3byBsaSBhew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiM4NDg0ODQ7DQoJZm9udC1zaXplOjE0cHg7DQoJZGlzcGxheTppbmxpbmUtYmxvY2s7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLW1vei10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CQ0KfQ0KDQouc29jaWFsLWljb24tdHdvIGxpIGE6aG92ZXJ7DQoJY29sb3I6I2ZlYmUyODsNCn0NCg0KDQovKlNvY2lhbCBJY29uIFRocmVlKi8NCg0KLnNvY2lhbC1pY29uLXRocmVlew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KfQ0KDQouc29jaWFsLWljb24tdGhyZWUgbGl7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWFyZ2luLXJpZ2h0OjEycHg7DQoJZGlzcGxheTppbmxpbmUtYmxvY2s7DQp9DQoNCi5zb2NpYWwtaWNvbi10aHJlZSBsaSBhew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiNmZmZmZmY7DQoJZm9udC1zaXplOjE0cHg7DQoJZGlzcGxheTppbmxpbmUtYmxvY2s7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLW1vei10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CQ0KfQ0KDQouc29jaWFsLWljb24tdGhyZWUgbGkgYTpob3ZlcnsNCgljb2xvcjojZmViZTI4Ow0KfQ0KDQovKkN1c3RvbSBTZWxlY3QqLw0KDQouZm9ybS1ncm91cCAudWktc2VsZWN0bWVudS1idXR0b24udWktYnV0dG9uew0KCXdpZHRoOjEwMHB4Ow0KCWZvbnQtc2l6ZToxNnB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWhlaWdodDo1MHB4Ow0KCXBhZGRpbmc6MTBweCAyMHB4Ow0KCWxpbmUtaGVpZ2h0OjMzcHg7DQoJY29sb3I6IzI2MjYyNjsNCglmbG9hdDpsZWZ0Ow0KCWJvcmRlci1yYWRpdXM6MHB4Ow0KCWJvcmRlcjoxcHggc29saWQgI2YyZjJmMjsNCglmb250LWZhbWlseTonUm9ib3RvJywgc2Fucy1zZXJpZjsNCgliYWNrZ3JvdW5kOiNmZmZmZmY7DQp9DQoNCi5mb3JtLWdyb3VwIC51aS1idXR0b24gLnVpLWljb257DQoJYmFja2dyb3VuZDpub25lOw0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXRvcDoycHg7DQoJdGV4dC1pbmRlbnQ6MHB4Ow0KCWNvbG9yOiMzMzMzMzM7CQ0KfQ0KDQouZm9ybS1ncm91cCAudWktYnV0dG9uIC51aS1pY29uOmJlZm9yZXsNCglmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJzsNCgljb250ZW50OiAiXGYxMDciOw0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXJpZ2h0OjBweDsNCgl0b3A6MnB4ICFpbXBvcnRhbnQ7DQoJdG9wOjEzcHg7DQoJd2lkdGg6MTBweDsNCgloZWlnaHQ6MzBweDsNCglkaXNwbGF5OmJsb2NrOw0KCWNvbG9yOiMyNjI2MjY7DQoJbGluZS1oZWlnaHQ6MjNweDsNCglmb250LXNpemU6MTVweDsNCglmb250LXdlaWdodDpub3JtYWw7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQoJei1pbmRleDo1Ow0KfQ0KDQoudWktd2lkZ2V0LnVpLXdpZGdldC1jb250ZW50ew0KCWJvcmRlcjoxcHggc29saWQgI2UwZTBlMDsNCglmb250LWZhbWlseTonUm9ib3RvJywgc2Fucy1zZXJpZjsNCn0NCg0KLnVpLW1lbnUgLnVpLW1lbnUtaXRlbXsNCglmb250LXNpemU6MTRweDsNCglib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZTBlMGUwOw0KfQ0KDQoudWktbWVudSAudWktbWVudS1pdGVtOmxhc3QtY2hpbGR7DQoJYm9yZGVyOm5vbmU7CQ0KfQ0KDQoudWktc3RhdGUtYWN0aXZlLCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWFjdGl2ZXsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmZWJlMjg7DQoJYm9yZGVyLWNvbG9yOiNmZWJlMjg7DQp9DQoNCi51aS1tZW51IC51aS1tZW51LWl0ZW0td3JhcHBlcnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglkaXNwbGF5OmJsb2NrOw0KCXBhZGRpbmc6OHB4IDIwcHggOw0KCWZvbnQtc2l6ZToxNHB4Ow0KCWxpbmUtaGVpZ2h0OjI0cHg7DQp9DQoNCi51aS1tZW51LWl0ZW06aG92ZXJ7DQp9DQoNCi8qKiogDQoNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoJU2VjdGlvbiBUaXRsZQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0KKioqLw0KDQouc2VjLXRpdGxlew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCW1hcmdpbi1ib3R0b206NDVweDsNCn0NCg0KLnNlYy10aXRsZSBoMnsNCglmb250LXNpemU6MzBweDsNCgljb2xvcjojMjYyNjI2Ow0KCWZvbnQtd2VpZ2h0OjUwMDsNCglsaW5lLWhlaWdodDoxLjFlbTsNCglwYWRkaW5nLWJvdHRvbToyMHB4Ow0KCXRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsNCglmb250LWZhbWlseTogJ1JvYm90bycsIHNhbnMtc2VyaWY7DQp9DQoNCi5zZWMtdGl0bGUgLnNlcGFyYXRvcnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgl3aWR0aDo1MHB4Ow0KCWhlaWdodDo0cHg7DQoJbWFyZ2luLWxlZnQ6MjVweDsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmZWJlMjg7DQp9DQoNCi5zZWMtdGl0bGUgLnNlcGFyYXRvcjpiZWZvcmV7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJY29udGVudDonJzsNCgl0b3A6MHB4Ow0KCWxlZnQ6MHB4Ow0KCXdpZHRoOjIwcHg7DQoJaGVpZ2h0OjRweDsNCgltYXJnaW4tbGVmdDotMjVweDsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmZWJlMjg7DQp9DQoNCi5zZWMtdGl0bGUuY2VudGVyZWR7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQp9DQoNCi5zZWMtdGl0bGUuY2VudGVyZWQgLnNlcGFyYXRvcnsNCgltYXJnaW46MCBhdXRvOw0KfQ0KDQouc2VjLXRpdGxlLmxpZ2h0IGgyew0KCWNvbG9yOiNmZmZmZmY7DQp9DQoNCi5zZWMtdGl0bGUubWVkaXVtIGgyew0KCWZvbnQtc2l6ZToyNnB4Ow0KCWZvbnQtd2VpZ2h0OjQwMDsNCgl0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplOw0KfQ0KDQovKioqIA0KDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KCU1haW4gU2xpZGVyIHN0eWxlDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQoqKiovDQoNCi5tYWluLXNsaWRlcnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgl6LWluZGV4OjEwOw0KfQ0KDQoubWFpbi1zbGlkZXIgLnRwLWNhcHRpb257DQoJei1pbmRleDo1ICFpbXBvcnRhbnQ7DQp9DQoNCi5tYWluLXNsaWRlciAudHAtZG90dGVkb3ZlcmxheXsNCgliYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC40MCkgIWltcG9ydGFudDsJDQp9DQoNCi5tYWluLXNsaWRlciAudHBhcnJvd3MuZ3lnZXN7DQoJd2lkdGg6NjBweDsNCgloZWlnaHQ6NjBweDsNCglsaW5lLWhlaWdodDo2MHB4Ow0KCWJvcmRlci1yYWRpdXM6NTAlOw0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjIwKTsNCn0NCg0KLm1haW4tc2xpZGVyIC50cGFycm93cy5neWdlczpiZWZvcmV7DQoJbGluZS1oZWlnaHQ6NjBweDsNCn0NCg0KLm1haW4tc2xpZGVyIC50cGFycm93cy5neWdlczpob3ZlcnsNCgljb2xvcjojZmViZTI4ICFpbXBvcnRhbnQ7DQoJYmFja2dyb3VuZC1jb2xvcjojZmViZTI4Ow0KfQ0KDQoubWFpbi1zbGlkZXIgaDJ7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6I2ZmZmZmZjsNCglmb250LXNpemU6NzJweDsNCglmb250LXdlaWdodDo1MDA7DQoJbGluZS1oZWlnaHQ6MS4xZW07DQoJZGlzcGxheTppbmxpbmUtYmxvY2s7DQoJZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBzYW5zLXNlcmlmOw0KfQ0KDQoubWFpbi1zbGlkZXIgLnRleHR7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJZm9udC1zaXplOjE4cHg7DQoJZm9udC13ZWlnaHQ6NjAwOw0KCWNvbG9yOiNlN2U3ZTc7DQoJbGluZS1oZWlnaHQ6MS42ZW07DQoJZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjsNCn0NCg0KLm1haW4tc2xpZGVyIC5idG5zLWJveCAudGhlbWUtYnRuew0KCW1hcmdpbi1yaWdodDoyMHB4Ow0KfQ0KDQouc2xpZGVyLWNvbnRlbnR7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJcGFkZGluZzozNXB4IDMwcHg7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNjApOw0KfQ0KDQoubWFpbi1zbGlkZXIgLnRwLWJhbm5lcnRpbWVyLA0KLm1haW4tc2xpZGVyIC50cC1idWxsZXRzew0KCWRpc3BsYXk6bm9uZSAhaW1wb3J0YW50OwkNCn0NCg0KLyoqKiANCg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCglGYW5jeSBCb3gNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoNCioqKi8NCg0KLmZhbmN5Ym94LW5leHQgc3BhbiwNCi5mYW5jeWJveC1wcmV2IHNwYW57DQoJYmFja2dyb3VuZC1pbWFnZTpub25lICFpbXBvcnRhbnQ7DQoJd2lkdGg6NDRweCAhaW1wb3J0YW50Ow0KCWhlaWdodDo0NHB4ICFpbXBvcnRhbnQ7DQoJbGluZS1oZWlnaHQ6NDRweCAhaW1wb3J0YW50Ow0KCXRleHQtYWxpZ246Y2VudGVyOw0KfQ0KDQouZmFuY3lib3gtbmV4dCBzcGFuOmJlZm9yZSwNCi5mYW5jeWJveC1wcmV2IHNwYW46YmVmb3Jlew0KCWNvbnRlbnQ6Jyc7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7DQoJbGVmdDowcHg7DQoJdG9wOjBweDsNCglmb250LXNpemU6MTJweDsNCgl3aWR0aDo0NHB4ICFpbXBvcnRhbnQ7DQoJaGVpZ2h0OjQ0cHggIWltcG9ydGFudDsNCglsaW5lLWhlaWdodDo0NHB4ICFpbXBvcnRhbnQ7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI4LDI4LDI4LDAuNDApICFpbXBvcnRhbnQ7DQoJY29sb3I6I2ZmZmZmZjsNCgl2aXNpYmlsaXR5OnZpc2libGU7DQoJdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7DQoJLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsNCgktbXMtdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7DQoJLW8tdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7DQoJLW1vei10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsNCn0NCg0KLmZhbmN5Ym94LW5leHQgc3BhbjpiZWZvcmV7DQoJY29udGVudDonXGYxNzgnOw0KfQ0KDQouZmFuY3lib3gtcHJldiBzcGFuOmJlZm9yZXsNCgljb250ZW50OidcZjE3Nyc7DQp9DQoNCi5mYW5jeWJveC1uZXh0OmhvdmVyIHNwYW46YmVmb3JlLA0KLmZhbmN5Ym94LXByZXY6aG92ZXIgc3BhbjpiZWZvcmV7DQoJYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmICFpbXBvcnRhbnQ7DQoJY29sb3I6IzAwMDAwMDsJDQp9DQoNCi5mYW5jeWJveC10eXBlLWltYWdlIC5mYW5jeWJveC1jbG9zZXsNCglyaWdodDowcHg7DQoJdG9wOjBweDsNCgl3aWR0aDo0NXB4Ow0KCWhlaWdodDo0NXB4Ow0KCWJhY2tncm91bmQ6dXJsKCIuLi9pbWFnZXMvaWNvbnMvaWNvbi1jcm9zcy5wbmciKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTcsMTcsMTcsMC41MCkgIWltcG9ydGFudDsJDQp9DQoNCi5mYW5jeWJveC10eXBlLWltYWdlIC5mYW5jeWJveC1jbG9zZTpob3ZlcnsNCgliYWNrZ3JvdW5kLWNvbG9yOiMwMDAwMDAgIWltcG9ydGFudDsJDQp9DQoNCi5mYW5jeWJveC10eXBlLWltYWdlIC5mYW5jeWJveC1za2luew0KCXBhZGRpbmc6MHB4ICFpbXBvcnRhbnQ7CQ0KfQ0KDQovKioqIA0KDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KCVNlcnZpY2VzIFNlY3Rpb24NCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoNCioqKi8NCg0KLnNlcnZpY2VzLXNlY3Rpb257DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJcGFkZGluZzo4NXB4IDBweCA1NXB4Ow0KfQ0KDQouc2VydmljZXMtYmxvY2t7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWFyZ2luLWJvdHRvbTo0MHB4Ow0KfQ0KDQouc2VydmljZXMtYmxvY2s6YWZ0ZXJ7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJY29udGVudDonJzsNCglyaWdodDowcHg7DQoJdG9wOjBweDsNCgl3aWR0aDoxcHg7DQoJaGVpZ2h0OjEwMCU7DQoJYmFja2dyb3VuZC1jb2xvcjojZjJmMmYyOw0KfQ0KDQouc2VydmljZXMtYmxvY2s6bGFzdC1jaGlsZDo6YWZ0ZXJ7DQoJZGlzcGxheTpub25lOw0KfQ0KDQouc2VydmljZXMtYmxvY2sgLmlubmVyLWJveHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgl0ZXh0LWFsaWduOmNlbnRlcjsNCn0NCg0KLnNlcnZpY2VzLWJsb2NrIC5pbm5lci1ib3ggLmljb24tYm94ew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiNmZWJlMjg7DQoJZm9udC1zaXplOjEwMHB4Ow0KCWxpbmUtaGVpZ2h0OjFlbTsNCglwYWRkaW5nLWJvdHRvbTozMHB4Ow0KCXBhZGRpbmctdG9wOjMwcHg7DQoJYmFja2dyb3VuZDp1cmwoIi4uL2ltYWdlcy9yZXNvdXJjZS9pbWFnZS0xLnBuZyIpIGNlbnRlciBjZW50ZXI7DQoJYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0Ow0KfQ0KDQouc2VydmljZXMtYmxvY2sgLmlubmVyLWJveCBoM3sNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglmb250LXNpemU6MjBweDsNCglmb250LXdlaWdodDo1MDA7DQoJbGluZS1oZWlnaHQ6MS4yZW07DQoJbWFyZ2luLWJvdHRvbToxNXB4Ow0KfQ0KDQouc2VydmljZXMtYmxvY2sgLmlubmVyLWJveCBoMyBhew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiMyNjI2MjY7DQoJdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS1tb3otdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLW8tdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KfQ0KDQouc2VydmljZXMtYmxvY2sgLmlubmVyLWJveCBoMyBhOmhvdmVyew0KCWNvbG9yOiNmZWJlMjg7DQp9DQoNCi5zZXJ2aWNlcy1ibG9jayAuaW5uZXItYm94IC50ZXh0ew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiM4NDg0ODQ7DQoJZm9udC1zaXplOjE2cHg7DQoJbGluZS1oZWlnaHQ6MS44ZW07DQoJZm9udC13ZWlnaHQ6NDAwOw0KfQ0KDQovKioqIA0KDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KCVNlcnZpY2VzIFNlY3Rpb24gVHdvDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQoqKiovDQoNCi5zZXJ2aWNlcy1zZWN0aW9uLXR3b3sNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglwYWRkaW5nOjg1cHggMHB4IDE2NXB4Ow0KCWJhY2tncm91bmQ6IzFiMzM0ZCB1cmwoIi4uL2ltYWdlcy9iYWNrZ3JvdW5kLzEucG5nIikgbGVmdCBib3R0b20gcmVwZWF0LXg7DQp9DQoNCi5zZXJ2aWNlcy1zZWN0aW9uLXR3byAub3dsLW5hdnsNCglkaXNwbGF5Om5vbmU7DQp9DQoNCi5zZXJ2aWNlcy1zZWN0aW9uLXR3byAub3dsLWRvdHN7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQp9DQoNCi5zZXJ2aWNlcy1zZWN0aW9uLXR3byAub3dsLWRvdHMgLm93bC1kb3R7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJd2lkdGg6OHB4Ow0KCWhlaWdodDo4cHg7DQoJbWFyZ2luOjBweCAxMHB4Ow0KCWJvcmRlci1yYWRpdXM6NTAlOw0KCWRpc3BsYXk6aW5saW5lLWJsb2NrOw0KCWJvcmRlcjoycHggc29saWQgIzg5OTZhMzsNCn0NCg0KLnNlcnZpY2VzLXNlY3Rpb24tdHdvIC5vd2wtZG90cyAub3dsLWRvdC5hY3RpdmV7DQoJYm9yZGVyLWNvbG9yOiNmZWJlMjg7DQp9DQoNCi5zZXJ2aWNlcy1zZWN0aW9uLXR3byAub3dsLWRvdHMgLm93bC1kb3QuYWN0aXZlOmJlZm9yZXsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgljb250ZW50OicnOw0KCWxlZnQ6LTdweDsNCgl0b3A6LTdweDsNCglib3R0b206LTdweDsNCglyaWdodDotN3B4Ow0KCW9wYWNpdHk6MC40Ow0KCWJvcmRlci1yYWRpdXM6NTAlOw0KCWJvcmRlcjozcHggc29saWQgI2ZlYmUyODsNCn0NCg0KLnNlcnZpY2VzLWJsb2NrLXR3b3sNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW4tYm90dG9tOjQwcHg7DQp9DQoNCi5zZXJ2aWNlcy1ibG9jay10d28gLmlubmVyLWJveHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCn0NCg0KLnNlcnZpY2VzLWJsb2NrLXR3byAuaW5uZXItYm94IC5pbWFnZXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCn0NCg0KLnNlcnZpY2VzLWJsb2NrLXR3byAuaW5uZXItYm94IC5pbWFnZSBpbWd7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJd2lkdGg6MTAwJTsNCglkaXNwbGF5OmJsb2NrOw0KfQ0KDQouc2VydmljZXMtYmxvY2stdHdvIC5pbm5lci1ib3ggLmltYWdlIC5vdmVybGF5Ym94ew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCWxlZnQ6MHB4Ow0KCXRvcDowcHg7DQoJYm90dG9tOi0xcHg7DQoJd2lkdGg6MTAwJTsNCglkaXNwbGF5OmJsb2NrOw0KCXRleHQtYWxpZ246Y2VudGVyOw0KCWJhY2tncm91bmQtY29sb3I6cmdiYSg3MiwxMTYsMTU1LDAuOTApOw0KCXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQp9DQoNCi5zZXJ2aWNlcy1ibG9jay10d28gLmlubmVyLWJveCAuaW1hZ2UgLm92ZXJsYXlib3ggLmljb24tYm94ew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXRvcDo1MCU7DQoJd2lkdGg6MTAwJTsNCgljb2xvcjojZmViZTI4Ow0KCWZvbnQtc2l6ZTo4MHB4Ow0KCWxpbmUtaGVpZ2h0OjFlbTsNCgl0ZXh0LWFsaWduOmNlbnRlcjsNCgltYXJnaW4tdG9wOi02MHB4Ow0KCXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQp9DQoNCi5zZXJ2aWNlcy1ibG9jay10d28gLmlubmVyLWJveDpob3ZlciAuaW1hZ2UgLm92ZXJsYXlib3h7DQoJYmFja2dyb3VuZC1jb2xvcjppbmhlcml0ICFpbXBvcnRhbnQ7DQp9DQoNCi5zZXJ2aWNlcy1ibG9jay10d28gLmlubmVyLWJveDpob3ZlciAuaW1hZ2UgLm92ZXJsYXlib3ggLmljb24tYm94ew0KCW9wYWNpdHk6MDsNCgl2aXNpYmlsaXR5OmhpZGRlbjsNCn0NCg0KLnNlcnZpY2VzLWJsb2NrLXR3byAuaW5uZXItYm94OmhvdmVyIC5pbWFnZSAub3ZlcmxheWJveCAuY29udGVudHsNCglvcGFjaXR5OjE7DQp9DQoNCi5zZXJ2aWNlcy1ibG9jay10d28gLmlubmVyLWJveCAuaW1hZ2UgLm92ZXJsYXlib3ggLmNvbnRlbnR7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJbGVmdDowcHg7DQoJYm90dG9tOjBweDsNCgl3aWR0aDoxMDAlOw0KCW9wYWNpdHk6MC41Ow0KCXRleHQtYWxpZ246Y2VudGVyOw0KCXBhZGRpbmc6MTBweCAxNXB4IDI1cHg7DQoJdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLW1zLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLW8tdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsNCgliYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApLHJnYmEoMCwwLDAsMSkpOw0KCWJhY2tncm91bmQ6LW1vei1saW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMCwwLDAsMCkscmdiYSgwLDAsMCwxKSk7DQoJYmFja2dyb3VuZDotby1saW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMCwwLDAsMCkscmdiYSgwLDAsMCwxKSk7DQoJYmFja2dyb3VuZDotbXMtbGluZWFyLWdyYWRpZW50KHRvcCxyZ2JhKDAsMCwwLDApLHJnYmEoMCwwLDAsMSkpOw0KfQ0KDQouc2VydmljZXMtYmxvY2stdHdvIC5pbm5lci1ib3ggLmltYWdlIC5vdmVybGF5Ym94IC5jb250ZW50IGgzew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWZvbnQtc2l6ZToyMHB4Ow0KCWZvbnQtd2VpZ2h0OjUwMDsNCgljb2xvcjojZmZmZmZmOw0KCW1hcmdpbi1ib3R0b206MTBweDsNCn0NCg0KLnNlcnZpY2VzLWJsb2NrLXR3byAuaW5uZXItYm94IC5pbWFnZSAub3ZlcmxheWJveCAuY29udGVudCBoMyBhew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiNmZmZmZmY7DQoJdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLW1zLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLW8tdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsNCn0NCg0KLnNlcnZpY2VzLWJsb2NrLXR3byAuaW5uZXItYm94IC5pbWFnZSAub3ZlcmxheWJveCAuY29udGVudCBoMyBhOmhvdmVyLA0KLnNlcnZpY2VzLWJsb2NrLXR3byAuaW5uZXItYm94OmhvdmVyIC5pbWFnZSAub3ZlcmxheWJveCAuY29udGVudCBoMyBhew0KCWNvbG9yOiNmZWJlMjg7DQp9DQoNCi5zZXJ2aWNlcy1ibG9jay10d28gLmlubmVyLWJveCAuaW1hZ2UgLm92ZXJsYXlib3ggLmNvbnRlbnQgLnRleHR7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6I2ZmZmZmZjsNCgljb2xvcjojY2FjOWM5Ow0KCWZvbnQtc2l6ZToxNnB4Ow0KfQ0KDQouc2VydmljZXMtYmxvY2stdHdvOm50aC1jaGlsZCgyKSAuaW5uZXItYm94IC5pbWFnZSAub3ZlcmxheWJveCwNCi5zZXJ2aWNlcy1ibG9jay10d28uaHZyLXR3byAuaW5uZXItYm94IC5pbWFnZSAub3ZlcmxheWJveHsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNjcsMTUzLDE3NiwwLjkwKTsNCn0NCg0KLnNlcnZpY2VzLWJsb2NrLXR3bzpudGgtY2hpbGQoMykgLmlubmVyLWJveCAuaW1hZ2UgLm92ZXJsYXlib3gsDQouc2VydmljZXMtYmxvY2stdHdvLmh2ci10aHJlZSAuaW5uZXItYm94IC5pbWFnZSAub3ZlcmxheWJveHsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNTYsMTA1LDEwNCwwLjkwKTsNCn0NCg0KLnNlcnZpY2VzLWJsb2NrLXR3bzpudGgtY2hpbGQoNCkgLmlubmVyLWJveCAuaW1hZ2UgLm92ZXJsYXlib3gsDQouc2VydmljZXMtYmxvY2stdHdvLmh2ci1mb3VyIC5pbm5lci1ib3ggLmltYWdlIC5vdmVybGF5Ym94ew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSg4LDEyMCwxNTgsMC45MCk7DQp9DQoNCi5zZXJ2aWNlcy1ibG9jay10d286bnRoLWNoaWxkKDUpIC5pbm5lci1ib3ggLmltYWdlIC5vdmVybGF5Ym94ew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSg2NywxNTMsMTAyLDAuOTApOw0KfQ0KDQouc2VydmljZXMtYmxvY2stdHdvOm50aC1jaGlsZCg2KSAuaW5uZXItYm94IC5pbWFnZSAub3ZlcmxheWJveHsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoOCwxNTMsMTU4LDAuOTApOw0KfQ0KDQovKioqIA0KDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KCUJ1eSBTZWN0aW9uDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQoqKiovDQoNCi5idXktc2VjdGlvbnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglwYWRkaW5nOjg1cHggMHB4IDY1cHg7DQoJYmFja2dyb3VuZC1jb2xvcjojMWIzMzRkOw0KCWJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsNCgliYWNrZ3JvdW5kLXNpemU6Y292ZXI7DQp9DQoNCi5idXktc2VjdGlvbiAuY29udGVudC1jb2x1bW57DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWFyZ2luLWJvdHRvbTo0MHB4Ow0KfQ0KDQouYnV5LXNlY3Rpb24gLmNvbnRlbnQtY29sdW1uIC5pbm5lci1jb2x1bW57DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJcGFkZGluZy1yaWdodDo4MHB4Ow0KfQ0KDQouYnV5LXNlY3Rpb24gLmNvbnRlbnQtY29sdW1uIC5pbm5lci1jb2x1bW4gLnRoZW1lLWJ0bnsNCglwYWRkaW5nOjlweCA0OHB4Ow0KfQ0KDQouYnV5LXNlY3Rpb24gLmNvbnRlbnQtY29sdW1uIC50ZXh0ew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCW1hcmdpbi1ib3R0b206MjhweDsNCn0NCg0KLmJ1eS1zZWN0aW9uIC5jb250ZW50LWNvbHVtbiAudGV4dCBwew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiNlMGVmZmY7DQoJZm9udC1zaXplOjE2cHg7DQoJbGluZS1oZWlnaHQ6MS44ZW07DQoJbWFyZ2luLWJvdHRvbToxNXB4Ow0KfQ0KDQouc2VydmljZXMtYmxvY2stdGhyZWV7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWFyZ2luLXRvcDoxNDVweDsNCn0NCg0KLnNlcnZpY2VzLWJsb2NrLXRocmVlOm50aC1jaGlsZCgyKXsNCgltYXJnaW4tdG9wOjBweDsNCn0NCg0KLnNlcnZpY2VzLWJsb2NrLXRocmVlOm50aC1jaGlsZCgyKTpiZWZvcmV7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJY29udGVudDonJzsNCglsZWZ0Oi0xM3B4Ow0KCXRvcDoxMDAlOw0KCXdpZHRoOjExNHB4Ow0KCWhlaWdodDo4NXB4Ow0KCWJhY2tncm91bmQ6dXJsKCIuLi9pbWFnZXMvcmVzb3VyY2UvY3VydmUtMS5wbmciKSBuby1yZXBlYXQ7DQp9DQoNCi5zZXJ2aWNlcy1ibG9jay10aHJlZTpudGgtY2hpbGQoMik6YWZ0ZXJ7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJY29udGVudDonJzsNCglyaWdodDotMTNweDsNCgl0b3A6MTAwJTsNCgl3aWR0aDoxMTRweDsNCgloZWlnaHQ6ODVweDsNCgliYWNrZ3JvdW5kOnVybCgiLi4vaW1hZ2VzL3Jlc291cmNlL2N1cnZlLTIucG5nIikgbm8tcmVwZWF0Ow0KfQ0KDQouc2VydmljZXMtYmxvY2stdGhyZWU6bnRoLWNoaWxkKDIpIC5pbm5lci1ib3ggLm51bWJlcnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglyaWdodDphdXRvOw0KCW1hcmdpbjowIGF1dG87DQoJbWFyZ2luLXRvcDoxNXB4Ow0KfQ0KDQouc2VydmljZXMtYmxvY2stdGhyZWU6bnRoLWNoaWxkKDMpIC5pbm5lci1ib3ggLm51bWJlcnsNCglyaWdodDphdXRvOw0KCWxlZnQ6LTIwcHg7DQp9DQoNCi5zZXJ2aWNlcy1ibG9jay10aHJlZSAuaW5uZXItYm94ew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KfQ0KDQouc2VydmljZXMtYmxvY2stdGhyZWUgLmlubmVyLWJveCAuaWNvbi1ib3h7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJd2lkdGg6MTc3cHg7DQoJaGVpZ2h0OjE5M3B4Ow0KCW1hcmdpbjowIGF1dG87DQoJY29sb3I6I2ZlYmUyODsNCglsaW5lLWhlaWdodDoxOTBweDsNCgltYXJnaW4tYm90dG9tOjVweDsNCgl0ZXh0LWFsaWduOmNlbnRlcjsNCglmb250LXNpemU6NjBweDsNCgliYWNrZ3JvdW5kOnVybCgiLi4vaW1hZ2VzL3Jlc291cmNlL3NlcnZpY2VzLWJnLnBuZyIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0Ow0KfQ0KDQouc2VydmljZXMtYmxvY2stdGhyZWUgLmlubmVyLWJveCBoM3sNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojZmZmZmZmOw0KCXRleHQtYWxpZ246Y2VudGVyOw0KCWZvbnQtc2l6ZToxOHB4Ow0KCWZvbnQtd2VpZ2h0OjUwMDsNCn0NCg0KLnNlcnZpY2VzLWJsb2NrLXRocmVlIC5pbm5lci1ib3ggLm51bWJlcnsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglyaWdodDotMzBweDsNCglib3R0b206MHB4Ow0KCXdpZHRoOjMwcHg7DQoJaGVpZ2h0OjMwcHg7DQoJY29sb3I6I2ZmZmZmZjsNCglsaW5lLWhlaWdodDozMHB4Ow0KCXRleHQtYWxpZ246Y2VudGVyOw0KCWZvbnQtd2VpZ2h0OjUwMDsNCgl6LWluZGV4OjExOw0KCWJvcmRlci1yYWRpdXM6NTAlOw0KCXRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmZWJlMjg7DQoJZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBzYW5zLXNlcmlmOw0KfQ0KDQovKioqIA0KDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KCUNhbGN1bGF0ZXIgU2VjdGlvbg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0KKioqLw0KDQouY2FsY3VsYXRlci1zZWN0aW9uew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmc6ODVweCAwcHggODBweDsNCgliYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7DQoJYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyOw0KfQ0KDQouY2FsY3VsYXRlci1zZWN0aW9uIC5yb3d7DQoJbWFyZ2luOjBweCAtMjVweDsNCn0NCg0KLmNhbGN1bGF0ZXItc2VjdGlvbiAuY2FsY3VsYXRvci1ibG9ja3sNCglwYWRkaW5nOjBweCAyNXB4Ow0KfQ0KDQouY2FsY3VsYXRvci1ibG9ja3sNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW4tYm90dG9tOjMwcHg7DQp9DQoNCi5jYWxjdWxhdG9yLWJsb2NrIC5pbm5lci1ib3h7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJYm9yZGVyLXJhZGl1czo1MCU7DQoJZGlzcGxheTpibG9jazsNCgl0ZXh0LWFsaWduOmNlbnRlcjsNCglvdmVyZmxvdzpoaWRkZW47DQoJbWF4LXdpZHRoOjI1MnB4Ow0KCW1pbi1oZWlnaHQ6MjUycHg7DQoJYm9yZGVyOjFweCBzb2xpZCAjZWZlZmVmOw0KCW1hcmdpbjowIGF1dG87DQoJYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOw0KfQ0KDQouY2FsY3VsYXRvci1ibG9jayAuaW5uZXItYm94OmhvdmVyew0KCXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggNXB4IDExcHggMHB4IHJnYmEoMjA0LDIwNCwyMDQsMC41KTsNCgktbW96LWJveC1zaGFkb3c6IDBweCA1cHggMTFweCAwcHggcmdiYSgyMDQsMjA0LDIwNCwwLjUpOw0KCWJveC1zaGFkb3c6IDBweCA1cHggMTFweCAwcHggcmdiYSgyMDQsMjA0LDIwNCwwLjUpOw0KfQ0KDQouY2FsY3VsYXRvci1ibG9jayAuaW5uZXItYm94IC5idGN7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6IzI2MjYyNjsNCglmb250LXNpemU6MThweDsNCglmb250LXdlaWdodDo1MDA7DQoJcGFkZGluZzozMHB4IDBweCAyMnB4Ow0KCWRpc3BsYXk6YmxvY2s7DQoJYmFja2dyb3VuZC1jb2xvcjojZjdmN2Y3Ow0KCXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQp9DQoNCi5jYWxjdWxhdG9yLWJsb2NrIC5pbm5lci1ib3ggLnByaWNlew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiNmZWJlMjg7DQoJZm9udC1zaXplOjMwcHg7DQoJZm9udC13ZWlnaHQ6NzAwOw0KCWxpbmUtaGVpZ2h0OjEuMmVtOw0KCXBhZGRpbmc6MjBweCAwcHggMnB4Ow0KCXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQp9DQoNCi5jYWxjdWxhdG9yLWJsb2NrIC5pbm5lci1ib3g6aG92ZXIgLnByaWNlew0KCWNvbG9yOiMyNjI2MjY7DQp9DQoNCi5jYWxjdWxhdG9yLWJsb2NrIC5pbm5lci1ib3ggLnRleHR7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6Izg0ODQ4NDsNCglmb250LXNpemU6MTZweDsNCglmb250LXdlaWdodDo0MDA7DQoJbWFyZ2luLWJvdHRvbToyMXB4Ow0KCWZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7DQp9DQoNCi5jYWxjdWxhdG9yLWJsb2NrIC5pbm5lci1ib3ggLmJ1eS1idG57DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6IzI2MjYyNjsNCglmb250LXdlaWdodDo3MDA7DQoJZm9udC1zaXplOjE0cHg7DQoJcGFkZGluZzoycHggMjBweDsNCglib3JkZXItcmFkaXVzOjUwcHg7DQoJZGlzcGxheTppbmxpbmUtYmxvY2s7DQoJYmFja2dyb3VuZC1jb2xvcjojZjdmN2Y3Ow0KCXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQp9DQoNCi5jYWxjdWxhdG9yLWJsb2NrIC5pbm5lci1ib3g6aG92ZXIgLmJ0YywNCi5jYWxjdWxhdG9yLWJsb2NrIC5pbm5lci1ib3g6aG92ZXIgLmJ1eS1idG57DQoJYmFja2dyb3VuZC1jb2xvcjojZmViZTI4Ow0KfQ0KDQouYnRjLWZvcm17DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWFyZ2luLXRvcDoyMHB4Ow0KfQ0KDQouYnRjLWZvcm0gLmZvcm0taW5uZXJ7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWF4LXdpZHRoOjc0NXB4Ow0KCW1hcmdpbjowIGF1dG87DQp9DQoNCi5idGMtZm9ybSAuYnRjLWNsYywNCi5idGMtZm9ybSAubGluay1ncm91cHsNCglmbG9hdDpsZWZ0Ow0KCWRpc3BsYXk6aW5saW5lLWJsb2NrOwkNCn0NCg0KLmJ0Yy1mb3JtIC5mb3JtLWdyb3Vwew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWZsb2F0OmxlZnQ7DQp9DQoNCi5idGMtZm9ybSAuZm9ybS1ncm91cCBpbnB1dHsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglsZWZ0OjBweDsNCgl0b3A6MHB4Ow0KCXdpZHRoOjUwcHg7DQoJaGVpZ2h0OjUwcHg7DQoJZm9udC1zaXplOjE4cHg7DQoJY29sb3I6IzI2MjYyNjsNCglmb250LXdlaWdodDo0MDA7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQoJYm9yZGVyOjFweCBzb2xpZCAjZjJmMmYyOw0KCWJvcmRlci1yaWdodDpub25lOw0KfQ0KDQouYnRjLWZvcm0gLmZvcm0tZ3JvdXAgLmlubmVyLWdyb3Vwew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmctbGVmdDo1MHB4Ow0KfQ0KDQouYnRjLWZvcm0gLmZvcm0tZ3JvdXAgLmlubmVyLWdyb3VwLnRvdGFsLWJ0Y3sNCglwYWRkaW5nLWxlZnQ6MTIwcHg7DQp9DQoNCi5idGMtZm9ybSAuZm9ybS1ncm91cCAudG90YWx7DQoJd2lkdGg6MTIwcHg7DQp9DQoNCi5idGMtZm9ybSAucGx1c3sNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglmbG9hdDpsZWZ0Ow0KCW1hcmdpbjowcHggMTVweDsNCglmb250LXNpemU6MjhweDsNCgltYXJnaW4tdG9wOjEwcHg7DQp9DQoNCi8qKiogDQoNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoJQmxvZyBTZWN0aW9uDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQoqKiovDQoNCi5ibG9nLXNlY3Rpb257DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJcGFkZGluZzo4MHB4IDBweCA1MHB4Ow0KCWJhY2tncm91bmQtY29sb3I6I2Y3ZjdmNzsNCn0NCg0KLmJsb2ctc2VjdGlvbiAub3dsLWRvdHN7DQoJZGlzcGxheTpub25lOw0KfQ0KDQouYmxvZy1zZWN0aW9uIC5vd2wtbmF2ew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXJpZ2h0OjBweDsNCgl0b3A6LTEwMHB4Ow0KfQ0KDQouYmxvZy1zZWN0aW9uIC5vd2wtbmF2IC5vd2wtcHJldiwNCi5ibG9nLXNlY3Rpb24gLm93bC1uYXYgLm93bC1uZXh0ew0KCXdpZHRoOjUwcHg7DQoJaGVpZ2h0OjUwcHg7DQoJbGluZS1oZWlnaHQ6NDZweDsNCglmb250LXNpemU6MjRweDsNCgltYXJnaW4tbGVmdDoxMHB4Ow0KCXRleHQtYWxpZ246Y2VudGVyOw0KCWJvcmRlci1yYWRpdXM6NTAlOw0KCWNvbG9yOiM4NDg0ODQ7DQoJYm9yZGVyOjFweCBzb2xpZCAjZThlOGU4Ow0KCWRpc3BsYXk6aW5saW5lLWJsb2NrOw0KCXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktbW96LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktbXMtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCn0NCg0KLmJsb2ctc2VjdGlvbiAub3dsLW5hdiAub3dsLXByZXY6aG92ZXIsDQouYmxvZy1zZWN0aW9uIC5vd2wtbmF2IC5vd2wtbmV4dDpob3ZlcnsNCgljb2xvcjojZmViZTI4Ow0KCWJvcmRlci1jb2xvcjojZmViZTI4Ow0KfQ0KDQoubmV3cy1ibG9ja3sNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW4tYm90dG9tOjUwcHg7DQp9DQoNCi5uZXdzLWJsb2NrIC5pbm5lci1ib3h7DQoJcG9zaXRpb246cmVsYXRpdmU7DQp9DQoNCi5uZXdzLWJsb2NrIC5pbm5lci1ib3ggLmltYWdlew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KfQ0KDQoubmV3cy1ibG9jayAuaW5uZXItYm94IC5pbWFnZSBpbWd7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJd2lkdGg6MTAwJTsNCglkaXNwbGF5OmJsb2NrOw0KfQ0KDQoubmV3cy1ibG9jayAuaW5uZXItYm94IC5pbWFnZSAub3ZlcmxheWJveHsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglsZWZ0OjBweDsNCgl0b3A6MHB4Ow0KCXdpZHRoOjEwMCU7DQoJaGVpZ2h0OjEwMCU7DQoJZGlzcGxheTpibG9jazsNCglvcGFjaXR5OjA7DQoJcGFkZGluZzozMHB4IDMwcHg7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQoJdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLW1zLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLW8tdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjcsNTEsNzcsMC45NSk7DQp9DQoNCi5uZXdzLWJsb2NrIC5pbm5lci1ib3g6aG92ZXIgLmltYWdlIC5vdmVybGF5Ym94ew0KCW9wYWNpdHk6MTsNCn0NCg0KLm5ld3MtYmxvY2sgLmlubmVyLWJveCAuaW1hZ2UgLm92ZXJsYXlib3ggLmltYWdlLWxpbmt7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQoJY29sb3I6I2ZmZmZmZjsNCglmb250LXNpemU6MzJweDsNCgl0b3A6NDglOw0KCW1hcmdpbi10b3A6LTIwcHg7DQoJZGlzcGxheTppbmxpbmUtYmxvY2s7DQp9DQoNCi5uZXdzLWJsb2NrIC5pbm5lci1ib3ggLmltYWdlIC5vdmVybGF5Ym94IC5yZWFkLW1vcmV7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJbGVmdDozMHB4Ow0KCWJvdHRvbTozMHB4Ow0KCWNvbG9yOiNmZWJlMjg7DQoJZm9udC1zaXplOjE2cHg7DQoJZm9udC13ZWlnaHQ6NzAwOw0KCXBhZGRpbmctYm90dG9tOjVweDsNCgl0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplOw0KfQ0KDQoubmV3cy1ibG9jayAuaW5uZXItYm94IC5pbWFnZSAub3ZlcmxheWJveCAucmVhZC1tb3JlOmFmdGVyew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCWNvbnRlbnQ6Jyc7DQoJbGVmdDowcHg7DQoJYm90dG9tOjBweDsNCgl3aWR0aDo0MHB4Ow0KCWhlaWdodDozcHg7DQoJYmFja2dyb3VuZC1jb2xvcjojZmViZTI4Ow0KfQ0KDQoubmV3cy1ibG9jayAuaW5uZXItYm94IC5sb3dlci1jb250ZW50ew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmc6MTJweCAyMHB4IDIwcHg7DQoJYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOw0KCWJvcmRlcjoxcHggc29saWQgI2YyZjJmMjsNCn0NCg0KLm5ld3MtYmxvY2sgLmlubmVyLWJveCAubG93ZXItY29udGVudCAudXBwZXItYm94ew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmctYm90dG9tOjEwcHg7DQoJbWFyZ2luLWJvdHRvbToyNXB4Ow0KCWJvcmRlci1ib3R0b206MXB4IHNvbGlkICNmMmYyZjI7DQp9DQoNCi5uZXdzLWJsb2NrIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgLnVwcGVyLWJveCAucG9zdC1kYXRlew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiM4NDg0ODQ7DQoJZm9udC1zaXplOjE0cHg7DQoJcGFkZGluZy1sZWZ0OjcwcHg7DQoJbGluZS1oZWlnaHQ6MS41ZW07DQoJdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOw0KCWZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjsNCn0NCg0KLm5ld3MtYmxvY2sgLmlubmVyLWJveCAubG93ZXItY29udGVudCAudXBwZXItYm94IC5wb3N0LWRhdGUgc3BhbnsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglsZWZ0OjBweDsNCgl0b3A6MHB4Ow0KCWNvbG9yOiNkMmQyZDI7DQoJZm9udC1zaXplOjM2cHg7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWxpbmUtaGVpZ2h0OjFlbTsNCglwYWRkaW5nLXJpZ2h0OjEycHg7DQoJZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjsNCglib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNmMmYyZjI7DQp9DQoNCi5uZXdzLWJsb2NrIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgLnVwcGVyLWJveCAuY29tbWVudHN7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJcmlnaHQ6MHB4Ow0KCXRvcDo2cHg7DQoJY29sb3I6IzI2MjYyNjsNCglmb250LXNpemU6MTRweDsNCglwYWRkaW5nOjBweCAxMnB4Ow0KCWJvcmRlci1yYWRpdXM6NHB4Ow0KCWRpc3BsYXk6aW5saW5lLWJsb2NrOw0KCWJhY2tncm91bmQtY29sb3I6I2ZlYmUyODsNCn0NCg0KLm5ld3MtYmxvY2sgLmlubmVyLWJveCAubG93ZXItY29udGVudCAudXBwZXItYm94IC5jb21tZW50czphZnRlcnsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgljb250ZW50OicnOw0KCWxlZnQ6NXB4Ow0KCWJvdHRvbTotN3B4Ow0KCWJvcmRlci10b3A6IDEwcHggc29saWQgI2ZlYmUyODsNCglib3JkZXItcmlnaHQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7DQp9DQoNCi5uZXdzLWJsb2NrIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgLnBvc3QtbWV0YXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCn0NCg0KLm5ld3MtYmxvY2sgLmlubmVyLWJveCAubG93ZXItY29udGVudCAucG9zdC1tZXRhIGxpew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWRpc3BsYXk6aW5saW5lLWJsb2NrOw0KCXBhZGRpbmctcmlnaHQ6MTBweDsNCgltYXJnaW4tcmlnaHQ6OHB4Ow0KCWxpbmUtaGVpZ2h0OjFlbTsNCglib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNjNWM1YzU7DQp9DQoNCi5uZXdzLWJsb2NrIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgLnBvc3QtbWV0YSBsaSBhew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiM4NDg0ODQ7DQoJZm9udC1zaXplOjE2cHg7DQoJZm9udC13ZWlnaHQ6NDAwOw0KfQ0KDQoubmV3cy1ibG9jayAuaW5uZXItYm94IC5sb3dlci1jb250ZW50IC5wb3N0LW1ldGEgbGk6bGFzdC1jaGlsZHsNCglib3JkZXI6bm9uZTsNCglwYWRkaW5nOjBweDsNCgltYXJnaW46MHB4OwkNCn0NCg0KLm5ld3MtYmxvY2sgLmlubmVyLWJveCAubG93ZXItY29udGVudCBoM3sNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojMjYyNjI2Ow0KCWZvbnQtc2l6ZToyMHB4Ow0KCWZvbnQtd2VpZ2h0OjUwMDsNCglsaW5lLWhlaWdodDoxLjRlbTsNCgltYXJnaW4tdG9wOjhweDsNCgltYXJnaW4tYm90dG9tOjE0cHg7DQp9DQoNCi5uZXdzLWJsb2NrIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgaDMgYXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojMjYyNjI2Ow0KCXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQp9DQoNCi5uZXdzLWJsb2NrIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgaDMgYTpob3ZlcnsNCgljb2xvcjojZmViZTI4Ow0KfQ0KDQoubmV3cy1ibG9jayAuaW5uZXItYm94IC5sb3dlci1jb250ZW50IC50ZXh0ew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiM4NDg0ODQ7DQoJZm9udC1zaXplOjE2cHg7DQoJbGluZS1oZWlnaHQ6MS44ZW07DQp9DQoNCi8qKiogDQoNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoJVGVzdGltb25pYWwgU2VjdGlvbg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0KKioqLw0KDQoudGVzdGltb25pYWwtc2VjdGlvbnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglwYWRkaW5nOjkwcHggMHB4Ow0KCWJhY2tncm91bmQtY29sb3I6IzFiMzM0ZDsNCgliYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7DQoJYmFja2dyb3VuZC1zaXplOmNvdmVyOw0KfQ0KDQoudGVzdGltb25pYWwtc2VjdGlvbiAuaW5uZXItY29udGFpbmVyew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWJhY2tncm91bmQtY29sb3I6IzFiMzM0ZDsNCn0NCg0KLnRlc3RpbW9uaWFsLXNlY3Rpb24gLm93bC1uYXZ7DQoJZGlzcGxheTpub25lOw0KfQ0KDQoudGVzdGltb25pYWwtc2VjdGlvbiAub3dsLWRvdHN7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIGxlZnQ6IDU0JTsNCiAgICBib3R0b206IDIycHg7DQp9DQoNCi50ZXN0aW1vbmlhbC1zZWN0aW9uIC5vd2wtZG90cyAub3dsLWRvdC5hY3RpdmUsDQoudGVzdGltb25pYWwtc2VjdGlvbiAub3dsLWRvdHMgLm93bC1kb3Q6aG92ZXJ7DQoJYm9yZGVyLWNvbG9yOiNmZWJlMjg7DQp9DQoNCi50ZXN0aW1vbmlhbC1zZWN0aW9uIC5vd2wtZG90cyAub3dsLWRvdHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgl3aWR0aDoxMHB4Ow0KCWhlaWdodDoxMHB4Ow0KCW1hcmdpbi1yaWdodDoxMHB4Ow0KCWJvcmRlci1yYWRpdXM6NTAlOw0KCWRpc3BsYXk6aW5saW5lLWJsb2NrOw0KCWJvcmRlcjozcHggc29saWQgIzg5OTZhMzsNCn0NCg0KLnRlc3RpbW9uaWFsLWJsb2Nrew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KfQ0KDQoudGVzdGltb25pYWwtYmxvY2s6YmVmb3Jlew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCWNvbnRlbnQ6Jyc7DQoJd2lkdGg6NzAlOw0KCXJpZ2h0OjBweDsNCgl0b3A6MHB4Ow0KCWhlaWdodDoxMDAlOw0KCXotaW5kZXg6MTsNCglkaXNwbGF5OmJsb2NrOw0KCWJhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCxyZ2JhKDAsMCwwLDApLHJnYmEoMjcsNTEsNzcsMSkscmdiYSgyNyw1MSw3NywxKSxyZ2JhKDI3LDUxLDc3LDEpKTsNCgliYWNrZ3JvdW5kOi1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQscmdiYSgwLDAsMCwwKSxyZ2JhKDI3LDUxLDc3LDEpLHJnYmEoMjcsNTEsNzcsMSkscmdiYSgyNyw1MSw3NywxKSk7DQoJYmFja2dyb3VuZDotby1saW5lYXItZ3JhZGllbnQobGVmdCxyZ2JhKDAsMCwwLDApLHJnYmEoMjcsNTEsNzcsMSkscmdiYSgyNyw1MSw3NywxKSxyZ2JhKDI3LDUxLDc3LDEpKTsNCgliYWNrZ3JvdW5kOi1tcy1saW5lYXItZ3JhZGllbnQobGVmdCxyZ2JhKDAsMCwwLDApLHJnYmEoMjcsNTEsNzcsMSkscmdiYSgyNyw1MSw3NywxKSxyZ2JhKDI3LDUxLDc3LDEpKTsNCn0NCg0KLnRlc3RpbW9uaWFsLWJsb2NrIC50ZXN0aW1vbmlhbC1pbm5lcnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXgtd2lkdGg6NTYwcHg7DQoJZmxvYXQ6cmlnaHQ7DQoJei1pbmRleDoyOw0KCXBhZGRpbmc6NDhweCAxNXB4IDQ1cHg7DQp9DQoNCi50ZXN0aW1vbmlhbC1ibG9jayAudGVzdGltb25pYWwtaW5uZXIgLnF1b3RlLWljb257DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6I2ZlYmUyODsNCglmb250LXdlaWdodDozMDA7DQoJbGluZS1oZWlnaHQ6MWVtOw0KCWZvbnQtc2l6ZTo0MHB4Ow0KCW1hcmdpbi1ib3R0b206MjBweDsNCn0NCg0KLnRlc3RpbW9uaWFsLWJsb2NrIC50ZXN0aW1vbmlhbC1pbm5lciAudGV4dHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglmb250LXNpemU6MjJweDsNCglmb250LXdlaWdodDo1MDA7DQoJY29sb3I6I2ZmZmZmZjsNCglsaW5lLWhlaWdodDoxLjZlbTsNCgltYXJnaW4tYm90dG9tOjMwcHg7DQoJcGFkZGluZy1yaWdodDo0MHB4Ow0KCWZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7DQp9DQoNCi50ZXN0aW1vbmlhbC1ibG9jayAudGVzdGltb25pYWwtaW5uZXIgLmF1dGhvci1pbmZvew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCW1hcmdpbi1ib3R0b206MjVweDsNCn0NCg0KLnRlc3RpbW9uaWFsLWJsb2NrIC50ZXN0aW1vbmlhbC1pbm5lciAuYXV0aG9yLWluZm8gLmF1dGhvci1pbm5lcnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglwYWRkaW5nLWxlZnQ6OTBweDsNCglwYWRkaW5nLXRvcDoxMHB4Ow0KCW1pbi1oZWlnaHQ6NzBweDsNCn0NCg0KLnRlc3RpbW9uaWFsLWJsb2NrIC50ZXN0aW1vbmlhbC1pbm5lciAuYXV0aG9yLWluZm8gLmF1dGhvci1pbm5lciAuaW1hZ2V7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJbGVmdDowcHg7DQoJdG9wOjBweDsNCgl3aWR0aDo3MHB4Ow0KCWhlaWdodDo3MHB4Ow0KCW92ZXJmbG93OmhpZGRlbjsNCglib3JkZXItcmFkaXVzOjUwJTsNCn0NCg0KLnRlc3RpbW9uaWFsLWJsb2NrIC50ZXN0aW1vbmlhbC1pbm5lciAuYXV0aG9yLWluZm8gLmF1dGhvci1pbm5lciAuYXV0aG9yew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiNmZmZmZmY7DQoJZm9udC1zaXplOjIwcHg7DQoJZm9udC13ZWlnaHQ6NTAwOw0KfQ0KDQoudGVzdGltb25pYWwtYmxvY2sgLnRlc3RpbW9uaWFsLWlubmVyIC5hdXRob3ItaW5mbyAuYXV0aG9yLWlubmVyIC5kZXNpZ25hdGlvbnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojZmViZTI4Ow0KCWZvbnQtc2l6ZToxNnB4Ow0KCWZvbnQtd2VpZ2h0OjQwMDsNCglmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmOw0KfQ0KDQovKioqIA0KDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KCVJlZ2lzdGVyIFNlY3Rpb24NCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoNCioqKi8NCg0KLnJlZ2lzdGVyLXNlY3Rpb257DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJcGFkZGluZy10b3A6MzVweDsNCn0NCg0KLnJlZ2lzdGVyLXNlY3Rpb24gLmNvbnRlbnQtY29sdW1uew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KfQ0KDQoucmVnaXN0ZXItc2VjdGlvbiAuY29udGVudC1jb2x1bW4gLmlubmVyLWNvbHVtbnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglwYWRkaW5nLXRvcDo0MnB4Ow0KfQ0KDQoucmVnaXN0ZXItc2VjdGlvbiAuY29udGVudC1jb2x1bW4gLmlubmVyLWNvbHVtbiAudXBwZXItYm94ew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmctYm90dG9tOjQwcHg7DQoJcGFkZGluZy1sZWZ0OjIzMHB4Ow0KCW1hcmdpbi1ib3R0b206MzVweDsNCglib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZjJmMmYyOw0KfQ0KDQoucmVnaXN0ZXItc2VjdGlvbiAuY29udGVudC1jb2x1bW4gLmlubmVyLWNvbHVtbiAudXBwZXItYm94IC5pY29uLWJveHsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglsZWZ0OjBweDsNCgl0b3A6MHB4Ow0KCWNvbG9yOiNmZWJlMjg7DQoJZm9udC1zaXplOjgwcHg7DQoJbGluZS1oZWlnaHQ6MWVtOw0KCW1pbi13aWR0aDoyMDBweDsNCgl0ZXh0LWFsaWduOmNlbnRlcjsNCglwYWRkaW5nLXRvcDozMHB4Ow0KCXBhZGRpbmctYm90dG9tOjUwcHg7DQoJYmFja2dyb3VuZDp1cmwoIi4uL2ltYWdlcy9yZXNvdXJjZS9pbWFnZS00LnBuZyIpIGxlZnQgdG9wIG5vLXJlcGVhdDsNCn0NCg0KLnJlZ2lzdGVyLXNlY3Rpb24gLmNvbnRlbnQtY29sdW1uIC5pbm5lci1jb2x1bW4gLnVwcGVyLWJveCBoMnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojMjYyNjI2Ow0KCWZvbnQtc2l6ZTozNnB4Ow0KCWZvbnQtd2VpZ2h0OjQwMDsNCglsaW5lLWhlaWdodDoxLjNlbTsNCn0NCg0KLnJlZ2lzdGVyLXNlY3Rpb24gLmNvbnRlbnQtY29sdW1uIC5pbm5lci1jb2x1bW4gLmxvd2VyLWJveHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCn0NCg0KLnJlZ2lzdGVyLXNlY3Rpb24gLmNvbnRlbnQtY29sdW1uIC5pbm5lci1jb2x1bW4gLmxvd2VyLWJveCAudGV4dHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojODQ4NDg0Ow0KCWZvbnQtc2l6ZToxOHB4Ow0KCWZvbnQtd2VpZ2h0OjQwMDsNCglsaW5lLWhlaWdodDoxLjdlbTsNCgltYXJnaW4tYm90dG9tOjMwcHg7DQoJZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjsNCn0NCg0KLnJlZ2lzdGVyLXNlY3Rpb24gLmltYWdlLWNvbHVtbnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgl0ZXh0LWFsaWduOmNlbnRlcjsNCn0NCg0KLypBdWRpdCBGb3JtKi8NCg0KLnJlZ2lzdGVyLWZvcm17DQoJcG9zaXRpb246cmVsYXRpdmU7DQp9DQoNCi5yZWdpc3Rlci1mb3JtIC5mb3JtLWdyb3Vwew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCW1hcmdpbi1ib3R0b206MjBweDsNCn0NCg0KLnJlZ2lzdGVyLWZvcm0gaW5wdXRbdHlwZT0idGV4dCJdLA0KLnJlZ2lzdGVyLWZvcm0gaW5wdXRbdHlwZT0iZW1haWwiXXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglkaXNwbGF5OmJsb2NrOw0KCXdpZHRoOjEwMCU7DQoJbGluZS1oZWlnaHQ6MzBweDsNCglwYWRkaW5nOjEwcHggMzBweDsNCgloZWlnaHQ6NTJweDsNCgljb2xvcjojMjIyMjIyOw0KCWZvbnQtc2l6ZToxNnB4Ow0KCWJvcmRlci1yYWRpdXM6NTBweDsNCglib3JkZXI6MXB4IHNvbGlkICNlMGUwZTA7DQoJYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOw0KCXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLW1zLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KfQ0KDQoucmVnaXN0ZXItZm9ybSAuZm9ybS1ncm91cCBidXR0b257DQoJd2lkdGg6MTAwJTsNCglwYWRkaW5nOjlweCAzMHB4Ow0KfQ0KDQovKioqIA0KDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KCUNsaWVudHMgU2VjdGlvbg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0KKioqLw0KDQouY2xpZW50cy1zZWN0aW9uew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmc6MzVweCAwcHggMzVweDsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmZWJlMjg7DQp9DQoNCi5jbGllbnRzLXNlY3Rpb24gLnNwb25zb3JzLW91dGVyew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KfQ0KDQouY2xpZW50cy1zZWN0aW9uIC5zcG9uc29ycy1vdXRlciAub3dsLWRvdHMsDQouY2xpZW50cy1zZWN0aW9uIC5zcG9uc29ycy1vdXRlciAub3dsLW5hdnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglkaXNwbGF5Om5vbmU7DQp9DQoNCi5jbGllbnRzLXNlY3Rpb24gLnNwb25zb3JzLW91dGVyIC5pbWFnZS1ib3h7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLW1vei10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQp9DQoNCi5jbGllbnRzLXNlY3Rpb24gLnNwb25zb3JzLW91dGVyIC5pbWFnZS1ib3ggaW1new0KCW1heC13aWR0aDoxMDAlOw0KCXdpZHRoOmF1dG87DQoJb3BhY2l0eTowLjU7DQoJZGlzcGxheTppbmxpbmUtYmxvY2s7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLW1vei10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQp9DQoNCi5jbGllbnRzLXNlY3Rpb24gLnNwb25zb3JzLW91dGVyIC5pbWFnZS1ib3ggaW1nOmhvdmVyew0KCW9wYWNpdHk6MTsNCn0NCg0KLyoqKiANCg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCglNYWluIEZvb3Rlcg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0KKioqLw0KDQoubWFpbi1mb290ZXJ7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0Ow0KCWJhY2tncm91bmQtc2l6ZTpjb3ZlcjsNCn0NCg0KLm1haW4tZm9vdGVyOmJlZm9yZXsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgljb250ZW50OicnOw0KCWxlZnQ6MHB4Ow0KCXRvcDowcHg7DQoJd2lkdGg6MTAwJTsNCgloZWlnaHQ6MTAwJTsNCglkaXNwbGF5OmJsb2NrOw0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgyNyw1MSw3NywwLjk1KTsNCn0NCg0KLm1haW4tZm9vdGVyIC53aWRnZXRzLXNlY3Rpb257DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJcGFkZGluZzo4MHB4IDBweCAwcHg7DQp9DQoNCi5tYWluLWZvb3RlciAuZm9vdGVyLXdpZGdldHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW4tYm90dG9tOjMwcHg7DQp9DQoNCi5tYWluLWZvb3RlciAuZm9vdGVyLXRpdGxlew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCW1hcmdpbi1ib3R0b206MzBweDsNCn0NCg0KLm1haW4tZm9vdGVyIC5mb290ZXItdGl0bGUgaDJ7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJZm9udC1zaXplOjI0cHg7DQoJZm9udC13ZWlnaHQ6NTAwOw0KCWNvbG9yOiNmZmZmZmY7DQoJbWFyZ2luLWJvdHRvbToxNnB4Ow0KCXRleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7DQp9DQoNCi5tYWluLWZvb3RlciAuZm9vdGVyLXRpdGxlIC5zZXBhcmF0b3J7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJd2lkdGg6NTBweDsNCgloZWlnaHQ6NHB4Ow0KCW1hcmdpbi1sZWZ0OjI1cHg7DQoJdGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmZWJlMjg7DQp9DQoNCi5tYWluLWZvb3RlciAuZm9vdGVyLXRpdGxlIC5zZXBhcmF0b3I6YmVmb3Jlew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCWNvbnRlbnQ6Jyc7DQoJdG9wOjBweDsNCglsZWZ0OjBweDsNCgl3aWR0aDoyMHB4Ow0KCWhlaWdodDo0cHg7DQoJbWFyZ2luLWxlZnQ6LTI1cHg7DQoJYmFja2dyb3VuZC1jb2xvcjojZmViZTI4Ow0KfQ0KDQoubGlzdC1saW5rc3sNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCn0NCg0KLmxpc3QtbGlua3MgbGl7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWFyZ2luLWJvdHRvbToxMnB4Ow0KfQ0KDQoubGlzdC1saW5rcyBsaSBhew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiNjYmNiY2I7DQoJZm9udC1zaXplOjE2cHg7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCXBhZGRpbmctbGVmdDozMHB4Ow0KCXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktbW96LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktbXMtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCglmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmOw0KfQ0KDQoubGlzdC1saW5rcyBsaSBhOmJlZm9yZXsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglsZWZ0OjBweDsNCgl0b3A6LTRweDsNCglmb250LXNpemU6MTRweDsNCgljb2xvcjojY2JjYmNiOw0KCW9wYWNpdHk6MC41Ow0KCWNvbnRlbnQ6ICJcZjExZiI7DQoJZm9udC1mYW1pbHk6ICJGbGF0aWNvbiI7DQoJLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg0MmRlZyk7DQoJLW1zLXRyYW5zZm9ybTogcm90YXRlKDQyZGVnKTsNCgktby10cmFuc2Zvcm06IHJvdGF0ZSg0MmRlZyk7DQoJLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0MmRlZyk7DQoJdHJhbnNmb3JtOiByb3RhdGUoNDJkZWcpOw0KCXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktbW96LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktbXMtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCn0NCg0KLmxpc3QtbGlua3MgbGkgYTpob3ZlcnsNCgljb2xvcjojZmViZTI4Ow0KCW1hcmdpbi1sZWZ0OjEwcHg7DQp9DQoNCi5saXN0LWxpbmtzIGxpIGE6aG92ZXI6OmJlZm9yZXsNCgljb2xvcjojZmViZTI4Ow0KfQ0KDQoNCi5pbmZvLWxpc3R7DQoJcG9zaXRpb246cmVsYXRpdmU7DQp9DQoNCi5pbmZvLWxpc3QgbGl7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWFyZ2luLWJvdHRvbToxNXB4Ow0KCWNvbG9yOiNjYmNiY2I7DQoJZm9udC1zaXplOjE2cHg7DQoJZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjsNCn0NCg0KLmluZm8tbGlzdCBsaSBzcGFuew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWRpc3BsYXk6YmxvY2s7DQoJY29sb3I6I2ZlYmUyODsNCglmb250LXdlaWdodDo2MDA7DQoJbWFyZ2luLWJvdHRvbTo0cHg7DQoJZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjsNCn0NCg0KDQouaW5mby1saXN0LXR3b3sNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCn0NCg0KLmluZm8tbGlzdC10d28gbGl7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJZm9udC1zaXplOjE2cHg7DQoJcGFkZGluZy1ib3R0b206MHB4Ow0KCW1hcmdpbi1ib3R0b206MjFweDsNCglwYWRkaW5nLWxlZnQ6MzVweDsNCglsaW5lLWhlaWdodDoxLjRlbTsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuODApOw0KCWZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7DQp9DQoNCi5pbmZvLWxpc3QtdHdvIGxpIHN0cm9uZ3sNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojZmZmZmZmOw0KCWZvbnQtd2VpZ2h0OjUwMDsNCgltYXJnaW4tcmlnaHQ6NHB4Ow0KCWRpc3BsYXk6aW5saW5lLWJsb2NrOw0KfQ0KDQouaW5mby1saXN0LXR3byBsaSAuaWNvbnsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgljb250ZW50OicnOw0KCWxlZnQ6MHB4Ow0KCXRvcDoycHg7DQoJY29sb3I6I2ZlYmUyODsNCglmb250LXNpemU6MjBweDsNCglsaW5lLWhlaWdodDoxZW07DQp9DQoNCg0KDQoNCg0KDQoNCg0KDQoubWFpbi1mb290ZXIgLnNvY2lhbC1saW5rc3sNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCn0NCg0KLm1haW4tZm9vdGVyIC5zb2NpYWwtbGlua3MgbGl7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWFyZ2luLWJvdHRvbToxNXB4Ow0KfQ0KDQoubWFpbi1mb290ZXIgLnNvY2lhbC1saW5rcyBsaSBhew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWZvbnQtc2l6ZToxNnB4Ow0KCWNvbG9yOiNmZmZmZmY7DQoJdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS1tb3otdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLW8tdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KfQ0KDQoubWFpbi1mb290ZXIgLnNvY2lhbC1saW5rcyBsaSBhOmhvdmVyew0KCWNvbG9yOiNmZWJlMjg7DQp9DQoNCi5tYWluLWZvb3RlciAuc29jaWFsLWxpbmtzIGxpIGEgc3BhbnsNCgltYXJnaW4tcmlnaHQ6MjBweDsNCn0NCg0KLm1haW4tZm9vdGVyIC5mb290ZXItbmF2LWxpbmtzew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXRleHQtYWxpZ246Y2VudGVyOw0KCXBhZGRpbmc6MjBweCAwcHg7DQoJbWFyZ2luLXRvcDoxNXB4Ow0KCWJvcmRlci10b3A6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4wNSk7DQp9DQoNCi5tYWluLWZvb3RlciAuZm9vdGVyLW5hdi1saW5rcyBsaXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW46MHB4IDE1cHg7DQoJZGlzcGxheTppbmxpbmUtYmxvY2s7DQp9DQoNCi5tYWluLWZvb3RlciAuZm9vdGVyLW5hdi1saW5rcyBsaSBhew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiNmZmZmZmY7DQoJZm9udC13ZWlnaHQ6NzAwOw0KCWZvbnQtc2l6ZToxN3B4Ow0KCXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktbW96LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktbXMtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCn0NCg0KLm1haW4tZm9vdGVyIC5mb290ZXItbmF2LWxpbmtzIGxpIGE6aG92ZXJ7DQoJY29sb3I6I2ZlYmUyODsNCn0NCg0KLm1haW4tZm9vdGVyIC5mb290ZXItYm90dG9tew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmc6MThweCAwcHg7DQoJYmFja2dyb3VuZC1jb2xvcjojMTUyYjQzOw0KfQ0KDQoubWFpbi1mb290ZXIgLmZvb3Rlci1ib3R0b20gLmNvcHlyaWdodHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojZmZmZmZmOw0KCWZvbnQtc2l6ZToxNnB4Ow0KCW1hcmdpbi10b3A6NHB4Ow0KfQ0KDQoubWFpbi1mb290ZXIgLmZvb3Rlci1ib3R0b20gLmNhcmRzLWNvbHVtbnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgl0ZXh0LWFsaWduOnJpZ2h0Ow0KfQ0KDQouZm9ybS1iYWNrLWRyb3B7DQoJcG9zaXRpb246Zml4ZWQ7DQoJcmlnaHQ6MHB4Ow0KCXRvcDowcHg7DQoJd2lkdGg6MTAwJTsNCgloZWlnaHQ6MTAwJTsNCglvcGFjaXR5OjA7DQoJYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNzApOw0KCXZpc2liaWxpdHk6aGlkZGVuOw0KCXotaW5kZXg6OTk5MDsNCgl0cmFuc2l0aW9uOmFsbCAwLjVzIGVhc2U7DQoJLW1vei10cmFuc2l0aW9uOmFsbCAwLjVzIGVhc2U7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjVzIGVhc2U7DQoJLW1zLXRyYW5zaXRpb246YWxsIDAuNXMgZWFzZTsNCgktby10cmFuc2l0aW9uOmFsbCAwLjVzIGVhc2U7CQ0KfQ0KDQouY29zdWx0LWZvcm0tdmlzaWJsZSAuZm9ybS1iYWNrLWRyb3B7DQoJb3BhY2l0eToxOw0KCXZpc2liaWxpdHk6dmlzaWJsZTsNCn0NCg0KLmNvbnN1bHRpbmctZm9ybXsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglyaWdodDotNDUwcHg7DQoJdG9wOjBweDsNCgl3aWR0aDo0MjBweDsNCgltYXgtd2lkdGg6MTAwJTsNCgl6LWluZGV4Ojk5OTk5Ow0KCW9wYWNpdHk6MDsNCgl2aXNpYmlsaXR5OmhpZGRlbjsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7DQoJdHJhbnNpdGlvbjphbGwgMC41cyBlYXNlOw0KCS1tb3otdHJhbnNpdGlvbjphbGwgMC41cyBlYXNlOw0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC41cyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCAwLjVzIGVhc2U7DQoJLW8tdHJhbnNpdGlvbjphbGwgMC41cyBlYXNlOw0KfQ0KDQouY29zdWx0LWZvcm0tdmlzaWJsZSAuY29uc3VsdGluZy1mb3Jtew0KCXJpZ2h0OjBweDsNCglvcGFjaXR5OjE7DQoJdmlzaWJpbGl0eTp2aXNpYmxlOw0KfQ0KDQouY29uc3VsdGluZy1mb3JtIC5pbm5lci1ib3h7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJcGFkZGluZzo2MHB4IDQwcHggNjBweDsNCn0NCg0KLmNvbnN1bHRpbmctZm9ybSAuaW5uZXItYm94IC5jcm9zcy1pY29uew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXJpZ2h0OjIwcHg7DQoJdG9wOjIwcHg7DQoJd2lkdGg6MzBweDsNCgloZWlnaHQ6MzBweDsNCgl0ZXh0LWFsaWduOmNlbnRlcjsNCglmb250LXNpemU6MTBweDsNCgljdXJzb3I6cG9pbnRlcjsNCglib3JkZXItcmFkaXVzOjUwJTsNCglsaW5lLWhlaWdodDozMHB4Ow0KCWNvbG9yOiM1NTU1NTU7DQoJZm9udC13ZWlnaHQ6NzAwOw0KCWJvcmRlcjoxcHggc29saWQgIzU1NTU1NTsNCn0NCg0KLmNvbnN1bHRpbmctZm9ybSAuaW5uZXItYm94IC5sb2dvew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmctYm90dG9tOjMwcHg7DQoJbWFyZ2luLWJvdHRvbTozNXB4Ow0KCWJvcmRlci1ib3R0b206MXB4IHNvbGlkICNmMmYyZjI7DQp9DQoNCi5jb25zdWx0aW5nLWZvcm0gLmlubmVyLWJveCAudGl0bGV7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWFyZ2luLWJvdHRvbTozOHB4Ow0KfQ0KDQouY29uc3VsdGluZy1mb3JtIC5pbm5lci1ib3ggLnRpdGxlIGgyew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiMyNjI2MjY7DQoJZm9udC1zaXplOjI2cHg7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWxpbmUtaGVpZ2h0OjEuMWVtOw0KCXBhZGRpbmctYm90dG9tOjIwcHg7DQp9DQoNCi5jb25zdWx0aW5nLWZvcm0gLmlubmVyLWJveCAudGl0bGUgLnNlcGFyYXRvcnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgl3aWR0aDo1MHB4Ow0KCWhlaWdodDo0cHg7DQoJbWFyZ2luLWxlZnQ6MjVweDsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmZWJlMjg7DQp9DQoNCi5jb25zdWx0aW5nLWZvcm0gLmlubmVyLWJveCAudGl0bGUgLnNlcGFyYXRvcjpiZWZvcmV7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJY29udGVudDonJzsNCgl0b3A6MHB4Ow0KCWxlZnQ6MHB4Ow0KCXdpZHRoOjIwcHg7DQoJaGVpZ2h0OjRweDsNCgltYXJnaW4tbGVmdDotMjVweDsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmZWJlMjg7DQp9DQoNCi5jb25zdWx0aW5nLWZvcm0gLmlubmVyLWJveCAuYnRucy1ib3h7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJcGFkZGluZy10b3A6NDBweDsNCgltYXJnaW4tdG9wOjQwcHg7DQoJYm9yZGVyLXRvcDoxcHggc29saWQgI2YyZjJmMjsNCn0NCg0KLmNvbnN1bHRpbmctZm9ybSAuaW5uZXItYm94IC5idG5zLWJveCAuc2lnbmluLWJ0bnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgl3aWR0aDoxMDAlOw0KCWRpc3BsYXk6YmxvY2s7DQoJY29sb3I6I2ZlYmUyODsNCglmb250LXNpemU6MTZweDsNCglwYWRkaW5nOjExcHggMjBweDsNCgl0ZXh0LWFsaWduOmNlbnRlcjsNCgliYWNrZ3JvdW5kLWNvbG9yOiMxYjMzNGQ7DQp9DQoNCi5jb25zdWx0aW5nLWZvcm0gLmlubmVyLWJveCAuYnRucy1ib3ggLnNpZ25pbi1idG4gLmljb257DQoJbWFyZ2luLXJpZ2h0OjVweDsNCn0NCg0KLmNvbnN1bHRpbmctZm9ybSAuaW5uZXItYm94IC5idG5zLWJveCAuc2lnbnVwLWJ0bnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgl3aWR0aDoxMDAlOw0KCWRpc3BsYXk6YmxvY2s7DQoJY29sb3I6IzI2MjYyNjsNCglmb250LXNpemU6MTZweDsNCglmb250LXdlaWdodDo2MDA7DQoJcGFkZGluZzoxMXB4IDIwcHg7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQoJYmFja2dyb3VuZC1jb2xvcjojZmViZTI4Ow0KCWZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7DQp9DQoNCi5jb25zdWx0aW5nLWZvcm0gLmlubmVyLWJveCAuYnRucy1ib3ggLnNpZ251cC1idG4gLmljb257DQoJbWFyZ2luLXJpZ2h0OjVweDsNCn0NCg0KLmNvbnN1bHRpbmctZm9ybSAuaW5uZXItYm94IC5idG5zLWJveCAub3J7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6I2ZlYmUyODsNCglmb250LXNpemU6MTRweDsNCgl3aWR0aDoxMDAlOw0KCWRpc3BsYXk6YmxvY2s7DQoJbWFyZ2luOjEwcHggMHB4Ow0KCXRleHQtYWxpZ246Y2VudGVyOw0KCXRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsNCn0NCg0KLypDb25zdWx0IEZvcm0qLw0KDQouY29uc3VsdC1mb3Jtew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KfQ0KDQouY29uc3VsdC1mb3JtIC5mb3JtLWdyb3Vwew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCW1hcmdpbi1ib3R0b206MzBweDsNCn0NCg0KLmNvbnN1bHQtZm9ybSBpbnB1dFt0eXBlPSJ0ZXh0Il0sDQouY29uc3VsdC1mb3JtIGlucHV0W3R5cGU9ImVtYWlsIl0sDQouY29uc3VsdC1mb3JtIHRleHRhcmVhew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWRpc3BsYXk6YmxvY2s7DQoJd2lkdGg6MTAwJTsNCglsaW5lLWhlaWdodDoyOHB4Ow0KCXBhZGRpbmc6MTBweCAyMHB4Ow0KCWhlaWdodDo1MHB4Ow0KCWNvbG9yOiMyMjIyMjI7DQoJZm9udC1zaXplOjE2cHg7DQoJYm9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmN2Y3Zjc7DQoJdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsNCgktbXMtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQp9DQoNCi5jb25zdWx0LWZvcm0gdGV4dGFyZWF7DQoJaGVpZ2h0OjkwcHg7DQoJcmVzaXplOm5vbmU7DQp9DQoNCi5jb25zdWx0LWZvcm0gLmZvcm0tZ3JvdXAgYnV0dG9uew0KCXBhZGRpbmc6NXB4IDMwcHg7DQp9DQoNCi8qKiogDQoNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoJUGFnZSBUaXRsZSBTdHlsZQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0KKioqLw0KDQoucGFnZS10aXRsZXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgliYWNrZ3JvdW5kLXNpemU6Y292ZXI7DQoJYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0Ow0KCXBhZGRpbmc6MTAwcHggMHB4IDE2MHB4IDBweDsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7DQp9DQoNCi5wYWdlLXRpdGxlIGgxew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWZvbnQtc2l6ZTozNnB4Ow0KCWZvbnQtd2VpZ2h0OjUwMDsNCgljb2xvcjojZmZmZmZmOw0KCWxpbmUtaGVpZ2h0OjEuM2VtOw0KCXotaW5kZXg6OTk7DQoJbWFyZ2luLWJvdHRvbToxMHB4Ow0KCXRleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7DQoJZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBzYW5zLXNlcmlmOw0KfQ0KDQoucGFnZS10aXRsZSAudGl0bGV7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6I2NiY2JjYjsNCglmb250LXNpemU6MThweDsNCglmb250LXdlaWdodDo0MDA7DQoJZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjsNCn0NCg0KLnBhZ2UtdGl0bGUgLnBhZ2UtaW5mb3sNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglsZWZ0OjBweDsNCglib3R0b206MHB4Ow0KCXdpZHRoOjEwMCU7DQoJZGlzcGxheTpibG9jazsNCgljb2xvcjojMjcyNzI3Ow0KCXotaW5kZXg6MTsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEpOw0KfQ0KDQoucGFnZS1pbmZvIC5pbm5lci1jb250YWluZXJ7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2YyZjJmMjsNCn0NCg0KLnBhZ2UtaW5mbyBoMnsNCglmb250LXNpemU6MTZweDsNCgljb2xvcjojMjcyNzI3Ow0KCWxpbmUtaGVpZ2h0OjI0cHg7DQoJZm9udC13ZWlnaHQ6NzAwOwkNCn0NCg0KLnBhZ2UtaW5mbyAuYnJlYWQtY3J1bWJ7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJZm9udC1zaXplOjE1cHg7DQoJcGFkZGluZzoxOHB4IDBweCAxN3B4Ow0KfQ0KDQoucGFnZS1pbmZvIC5icmVhZC1jcnVtYiBsaXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglkaXNwbGF5OmlubGluZS1ibG9jazsNCglmb250LXNpemU6MTZweDsNCgltYXJnaW4tcmlnaHQ6MjRweDsNCgljb2xvcjojZmViZTI4Ow0KCWZvbnQtd2VpZ2h0OjQwMDsNCglsaW5lLWhlaWdodDoyNHB4Ow0KCXRleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7DQp9DQoNCi5wYWdlLWluZm8gLmJyZWFkLWNydW1iIGxpOmxhc3QtY2hpbGR7DQoJbWFyZ2luLXJpZ2h0OjBweDsNCn0NCg0KLnBhZ2UtaW5mbyAuYnJlYWQtY3J1bWIgbGk6YWZ0ZXJ7DQoJY29udGVudDonXGYxMDUnOw0KCXRvcDotMXB4Ow0KCWZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnOw0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXJpZ2h0Oi0yMXB4Ow0KCXdpZHRoOjEwcHg7DQoJbGluZS1oZWlnaHQ6MjRweDsNCglmb250LXNpemU6MTZweDsNCgljb2xvcjojZmViZTI4Ow0KfQ0KDQoucGFnZS1pbmZvIC5icmVhZC1jcnVtYiBsaTpsYXN0LWNoaWxkOmFmdGVyew0KCWRpc3BsYXk6bm9uZTsJDQp9DQoNCi5wYWdlLWluZm8gLmJyZWFkLWNydW1iIGxpIGF7DQoJY29sb3I6IzI2MjYyNjsNCgl0cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLW1vei10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLW1zLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktby10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQp9DQoNCi5wYWdlLWluZm8gLmJyZWFkLWNydW1iIGxpIGE6aG92ZXJ7DQoJY29sb3I6I2ZlYmUyODsJDQp9DQoNCi8qKiogDQoNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoJQ29tcGFueSBTZWN0aW9uDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQoqKiovDQoNCi5jb21wYW55LXNlY3Rpb257DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJcGFkZGluZzo5MHB4IDBweCA1MHB4Ow0KfQ0KDQouY29tcGFueS1zZWN0aW9uIC5jb250ZW50LWNvbHVtbnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW4tYm90dG9tOjQwcHg7DQp9DQoNCi5jb21wYW55LXNlY3Rpb24gLmNvbnRlbnQtY29sdW1uIC5pbm5lci1jb2x1bW57DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJcGFkZGluZzo2MHB4IDM1cHggNjBweDsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmN2Y3Zjc7DQp9DQoNCi5jb21wYW55LXNlY3Rpb24gLmNvbnRlbnQtY29sdW1uIC5pbm5lci1jb2x1bW4gLnNlYy10aXRsZXsNCgltYXJnaW4tYm90dG9tOjMwcHg7DQp9DQoNCi5jb21wYW55LXNlY3Rpb24gLmNvbnRlbnQtY29sdW1uIC5pbm5lci1jb2x1bW4gLmRhcmstdGV4dHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojMjYyNjI2Ow0KCWZvbnQtc2l6ZToyNHB4Ow0KCWZvbnQtd2VpZ2h0OjUwMDsNCglsaW5lLWhlaWdodDoxLjVlbTsNCgltYXJnaW4tYm90dG9tOjIwcHg7DQp9DQoNCi5jb21wYW55LXNlY3Rpb24gLmNvbnRlbnQtY29sdW1uIC5pbm5lci1jb2x1bW4gLnRleHR7DQoJcG9zaXRpb246cmVsYXRpdmU7DQp9DQoNCi5jb21wYW55LXNlY3Rpb24gLmNvbnRlbnQtY29sdW1uIC5pbm5lci1jb2x1bW4gLnRleHQgcHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglmb250LXNpemU6MTZweDsNCgljb2xvcjojODQ4NDg0Ow0KCWZvbnQtd2VpZ2h0OjQwMDsNCglsaW5lLWhlaWdodDoxLjhlbTsNCgltYXJnaW4tYm90dG9tOjE1cHg7DQoJZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjsNCn0NCg0KLmNvbXBhbnktc2VjdGlvbiAuY29udGVudC1jb2x1bW4gLmlubmVyLWNvbHVtbiAudGV4dCBwOmxhc3QtY2hpbGR7DQoJbWFyZ2luLWJvdHRvbTowcHg7DQp9DQoNCi5jb21wYW55LXNlY3Rpb24gLmltYWdlLWNvbHVtbnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCn0NCg0KLmNvbXBhbnktc2VjdGlvbiAuaW1hZ2UtY29sdW1uIC5pbWFnZXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCn0NCg0KLmNvbXBhbnktc2VjdGlvbiAuaW1hZ2UtY29sdW1uIC5pbWFnZSBpbWd7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJd2lkdGg6MTAwJTsNCglkaXNwbGF5OmJsb2NrOw0KfQ0KDQouY29tcGFueS1zZWN0aW9uIC5pbWFnZS1jb2x1bW4gLmxvd2VyLWNvbnRlbnR7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJcGFkZGluZzoyNXB4IDI1cHg7DQoJYm9yZGVyOjFweCBzb2xpZCAjZjJmMmYyOw0KfQ0KDQouY29tcGFueS1zZWN0aW9uIC5pbWFnZS1jb2x1bW4gLmxvd2VyLWNvbnRlbnQgLmNvbHVtbjpmaXJzdC1jaGlsZDo6YWZ0ZXJ7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJY29udGVudDonJzsNCglyaWdodDoxNXB4Ow0KCXRvcDowcHg7DQoJd2lkdGg6MXB4Ow0KCWhlaWdodDoxMDAlOw0KCWJhY2tncm91bmQtY29sb3I6I2Y3ZjdmNzsNCn0NCg0KLmNvbXBhbnktc2VjdGlvbiAuaW1hZ2UtY29sdW1uIC5sb3dlci1jb250ZW50IC5jb2x1bW46Zmlyc3QtY2hpbGQgLnRleHR7DQoJcGFkZGluZy1yaWdodDoyNXB4Ow0KfQ0KDQouY29tcGFueS1zZWN0aW9uIC5pbWFnZS1jb2x1bW4gLmxvd2VyLWNvbnRlbnQgaDJ7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6IzI2MjYyNjsNCglmb250LXNpemU6MjBweDsNCglmb250LXdlaWdodDo1MDA7DQoJcGFkZGluZy1ib3R0b206MTVweDsNCgltYXJnaW4tYm90dG9tOjIwcHg7DQp9DQoNCi5jb21wYW55LXNlY3Rpb24gLmltYWdlLWNvbHVtbiAubG93ZXItY29udGVudCBoMjphZnRlcnsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgljb250ZW50OicnOw0KCWxlZnQ6MHB4Ow0KCWJvdHRvbTowcHg7DQoJd2lkdGg6NTBweDsNCgloZWlnaHQ6NHB4Ow0KCWJhY2tncm91bmQtY29sb3I6I2ZlYmUyODsNCn0NCg0KLmNvbXBhbnktc2VjdGlvbiAuaW1hZ2UtY29sdW1uIC5sb3dlci1jb250ZW50IC50ZXh0ew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiM4MDgwODA7DQoJZm9udC1zaXplOjE2cHg7DQoJbGluZS1oZWlnaHQ6MS45ZW07DQoJZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjsNCn0NCg0KLyoqKiANCg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCglGZWF0dXJlcyBTZWN0aW9uDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQoqKiovDQoNCi5mZWF0dXJlcy1zZWN0aW9uew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmc6ODBweCAwcHggNTBweDsNCgliYWNrZ3JvdW5kLWNvbG9yOiMxYjMzNGQ7DQoJYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgdG9wOw0KCWJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsNCn0NCg0KLmZlYXR1cmVkLWJsb2Nrew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCW1hcmdpbi1ib3R0b206NDBweDsNCn0NCg0KLmZlYXR1cmVkLWJsb2NrIC5pbm5lci1ib3h7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQoJcGFkZGluZzo1MHB4IDE1cHggNTBweDsNCgliYWNrZ3JvdW5kLWNvbG9yOiMxOTMzNGU7DQoJYm9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMDUpOw0KCXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktbW96LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktbXMtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCn0NCg0KLmZlYXR1cmVkLWJsb2NrIC5pbm5lci1ib3g6aG92ZXJ7DQoJYm9yZGVyLWNvbG9yOiNmZWJlMjg7CQ0KfQ0KDQouZmVhdHVyZWQtYmxvY2sgLmlubmVyLWJveCAuaWNvbi1ib3h7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6I2ZlYmUyODsNCglmb250LXNpemU6NjZweDsNCglsaW5lLWhlaWdodDoxZW07DQoJbWFyZ2luLWJvdHRvbTozMHB4Ow0KfQ0KDQouZmVhdHVyZWQtYmxvY2sgLmlubmVyLWJveCAudGl0bGV7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6I2UwZWZmZjsNCglmb250LXNpemU6MTZweDsNCglmb250LXdlaWdodDo0MDA7DQoJcGFkZGluZzo0cHggNnB4Ow0KCWxpbmUtaGVpZ2h0OjFlbTsNCglkaXNwbGF5OmlubGluZS1ibG9jazsNCgltYXJnaW4tYm90dG9tOjE4cHg7DQoJYm9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMDUpOw0KfQ0KDQouZmVhdHVyZWQtYmxvY2sgLmlubmVyLWJveCBoM3sNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglmb250LXdlaWdodDo1MDA7DQoJZm9udC1zaXplOjIwcHg7DQoJbGluZS1oZWlnaHQ6MS4yZW07DQp9DQoNCi5mZWF0dXJlZC1ibG9jayAuaW5uZXItYm94IGgzIGF7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6I2Y2ZjZmNjsNCgl0cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLW1vei10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLW1zLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktby10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQp9DQoNCi5mZWF0dXJlZC1ibG9jayAuaW5uZXItYm94IGgzIGE6aG92ZXIsDQouZmVhdHVyZWQtYmxvY2sgLmlubmVyLWJveDpob3ZlciBoMyBhew0KCWNvbG9yOiNmZWJlMjg7DQp9DQoNCi8qKiogDQoNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoJSGlzdG9yeSBTZWN0aW9uDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQoqKiovDQoNCi5oaXN0b3J5LXNlY3Rpb257DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJcGFkZGluZzo4MHB4IDBweCA5MHB4Ow0KCWJhY2tncm91bmQtY29sb3I6I2Y3ZjdmNzsNCn0NCg0KLmhpc3Rvcnktc2VjdGlvbiAuc2luZ2xlLXZlcnRpY2xlLWNhcm91c2Vsew0KCXotaW5kZXg6OTk7DQp9DQoNCi5oaXN0b3J5LXNlY3Rpb24gLm91dGVyLWNvbnRhaW5lcnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCn0NCg0KLmhpc3Rvcnktc2VjdGlvbiAubGVmdC1saW5lew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCWxlZnQ6ODVweDsNCgl0b3A6MHB4Ow0KCXdpZHRoOjFweDsNCgloZWlnaHQ6MTAwJTsNCglib3JkZXI6MXB4IGRhc2hlZCAjYzBjMGMwOw0KfQ0KDQouaGlzdG9yeS1zZWN0aW9uIC5sZWZ0LWxpbmU6YmVmb3Jlew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCWNvbnRlbnQ6Jyc7DQoJbGVmdDotNHB4Ow0KCXRvcDotMXB4Ow0KCXdpZHRoOjhweDsNCgloZWlnaHQ6OHB4Ow0KCWJvcmRlci1yYWRpdXM6NTAlOw0KCWJhY2tncm91bmQtY29sb3I6I2RiZGJkYjsNCn0NCg0KLmhpc3Rvcnktc2VjdGlvbiAubGVmdC1saW5lOmFmdGVyew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCWNvbnRlbnQ6Jyc7DQoJbGVmdDotNHB4Ow0KCWJvdHRvbTotMXB4Ow0KCXdpZHRoOjhweDsNCgloZWlnaHQ6OHB4Ow0KCWJvcmRlci1yYWRpdXM6NTAlOw0KCWJhY2tncm91bmQtY29sb3I6I2RiZGJkYjsNCn0NCg0KLmhpc3Rvcnktc2VjdGlvbiAucmlnaHQtbGluZXsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglyaWdodDo4NXB4Ow0KCXRvcDowcHg7DQoJd2lkdGg6MXB4Ow0KCWhlaWdodDoxMDAlOw0KCWJvcmRlcjoxcHggZGFzaGVkICNjMGMwYzA7DQp9DQoNCi5oaXN0b3J5LXNlY3Rpb24gLnJpZ2h0LWxpbmU6YmVmb3Jlew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCWNvbnRlbnQ6Jyc7DQoJbGVmdDotNHB4Ow0KCXRvcDotMXB4Ow0KCXdpZHRoOjdweDsNCgloZWlnaHQ6N3B4Ow0KCWJvcmRlci1yYWRpdXM6NTAlOw0KCWJhY2tncm91bmQtY29sb3I6I2RiZGJkYjsNCn0NCg0KLmhpc3Rvcnktc2VjdGlvbiAucmlnaHQtbGluZTphZnRlcnsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgljb250ZW50OicnOw0KCWxlZnQ6LTRweDsNCglib3R0b206LTFweDsNCgl3aWR0aDo3cHg7DQoJaGVpZ2h0OjdweDsNCglib3JkZXItcmFkaXVzOjUwJTsNCgliYWNrZ3JvdW5kLWNvbG9yOiNkYmRiZGI7DQp9DQoNCi8qSGlzdG9yeSBCbG9jayovDQoNCi5oaXN0b3J5LWJsb2Nrew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KfQ0KDQouaGlzdG9yeS1ibG9jayAuaW5uZXItYm94ew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmctbGVmdDoxMTVweDsNCglvdmVyZmxvdzpoaWRkZW47DQp9DQoNCi5oaXN0b3J5LWJsb2NrIC5pbm5lci1ib3ggLmltYWdlew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KfQ0KDQouaGlzdG9yeS1ibG9jayAuaW5uZXItYm94IC5pbWFnZSBpbWd7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJd2lkdGg6MTAwJTsNCglkaXNwbGF5OmJsb2NrOw0KfQ0KDQouaGlzdG9yeS1ibG9jayAuaW5uZXItYm94IC55ZWFyew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCWxlZnQ6LTExNXB4Ow0KCXRvcDozMCU7DQoJY29sb3I6Izg0ODQ4NDsNCglmb250LXNpemU6MTVweDsNCglmb250LXdlaWdodDo1MDA7DQoJdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOw0KfQ0KDQouaGlzdG9yeS1ibG9jayAuaW5uZXItYm94IC55ZWFyIC5kb3R0ew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCWNvbnRlbnQ6Jyc7DQoJcmlnaHQ6LTI0cHg7DQoJdG9wOjhweDsNCgl3aWR0aDoxMHB4Ow0KCWhlaWdodDoxMHB4Ow0KCWJvcmRlci1yYWRpdXM6NTAlOw0KCWJhY2tncm91bmQtY29sb3I6IzFiMzM0ZDsNCn0NCg0KLmhpc3RvcnktYmxvY2sgLmlubmVyLWJveCAueWVhciAuZG90dDpiZWZvcmV7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJY29udGVudDonJzsNCglsZWZ0Oi0ycHg7DQoJdG9wOi0ycHg7DQoJcmlnaHQ6LTJweDsNCglib3R0b206LTJweDsNCglib3JkZXItcmFkaXVzOjUwJTsNCglib3JkZXI6M3B4IHNvbGlkICNmZWMyMzU7DQp9DQoNCi5oaXN0b3J5LWJsb2NrIC5pbm5lci1ib3ggLmltYWdlIC5vdmVybGF5LWJveHsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglsZWZ0OjBweDsNCgl0b3A6MHB4Ow0KCXdpZHRoOjEwMCU7DQoJZGlzcGxheTpibG9jazsNCgloZWlnaHQ6MTAwJTsNCgl0ZXh0LWFsaWduOmNlbnRlcjsNCglwYWRkaW5nOjBweCA0MHB4IDBweDsNCgktbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsNCgltYXJnaW4tdG9wOi01NHB4Ow0KCXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktbW96LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktbXMtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMCk7DQp9DQoNCi5oaXN0b3J5LWJsb2NrIC5pbm5lci1ib3g6aG92ZXIgLmltYWdlIC5vdmVybGF5LWJveHsNCgktbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTsNCgltYXJnaW4tdG9wOjBweDsNCglwYWRkaW5nLXRvcDo0MHB4Ow0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgyNyw1MSw3NywwLjgwKTsNCn0NCg0KLmhpc3RvcnktYmxvY2sgLmlubmVyLWJveCAuaW1hZ2UgLm92ZXJsYXktYm94IC5vdmVybGF5LWlubmVyew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmc6MTVweCAyMHB4IDQwcHg7DQoJYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOw0KfQ0KDQouaGlzdG9yeS1ibG9jayAuaW5uZXItYm94IC5pbWFnZSAub3ZlcmxheS1ib3ggaDN7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJZm9udC1zaXplOjE4cHg7DQoJZm9udC13ZWlnaHQ6NTAwOw0KCW1hcmdpbi1ib3R0b206MTBweDsNCn0NCg0KLmhpc3RvcnktYmxvY2sgLmlubmVyLWJveCAuaW1hZ2UgLm92ZXJsYXktYm94IGgzIGF7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6IzI2MjYyNjsNCgl0cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLW1vei10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLW1zLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktby10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQp9DQoNCi5oaXN0b3J5LWJsb2NrIC5pbm5lci1ib3ggLmltYWdlIC5vdmVybGF5LWJveCBoMyBhOmhvdmVyew0KCWNvbG9yOiNmZWJlMjg7DQp9DQoNCi5oaXN0b3J5LWJsb2NrIC5pbm5lci1ib3ggLmltYWdlIC5vdmVybGF5LWJveCAudGV4dHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojODQ4NDg0Ow0KCWZvbnQtc2l6ZToxNnB4Ow0KCWxpbmUtaGVpZ2h0OjEuN2VtOw0KCW1hcmdpbi1ib3R0b206MTJweDsNCglmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmOw0KfQ0KDQouaGlzdG9yeS1ibG9jayAuaW5uZXItYm94IC5pbWFnZSAub3ZlcmxheS1ib3ggLnJlYWQtbW9yZXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojMjYyNjI2Ow0KCWZvbnQtc2l6ZToxNnB4Ow0KCWZvbnQtd2VpZ2h0OjcwMDsNCgl0cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLW1vei10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLW1zLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktby10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQp9DQoNCi5oaXN0b3J5LWJsb2NrIC5pbm5lci1ib3ggLmltYWdlIC5vdmVybGF5LWJveCAucmVhZC1tb3JlOmhvdmVyew0KCWNvbG9yOiNmZWJlMjg7DQp9DQoNCi8qSGlzdG9yeSBCbG9jayBUd28qLw0KDQouaGlzdG9yeS1ibG9jay10d297DQoJcG9zaXRpb246cmVsYXRpdmU7DQp9DQoNCi5oaXN0b3J5LWJsb2NrLXR3byAuaW5uZXItYm94ew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmctcmlnaHQ6MTE1cHg7DQoJb3ZlcmZsb3c6aGlkZGVuOw0KfQ0KDQouaGlzdG9yeS1ibG9jay10d28gLmlubmVyLWJveCAuaW1hZ2V7DQoJcG9zaXRpb246cmVsYXRpdmU7DQp9DQoNCi5oaXN0b3J5LWJsb2NrLXR3byAuaW5uZXItYm94IC5pbWFnZSBpbWd7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJd2lkdGg6MTAwJTsNCglkaXNwbGF5OmJsb2NrOw0KfQ0KDQouaGlzdG9yeS1ibG9jay10d28gLmlubmVyLWJveCAueWVhcnsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglyaWdodDotMTE1cHg7DQoJdG9wOjMwJTsNCgljb2xvcjojODQ4NDg0Ow0KCWZvbnQtc2l6ZToxNXB4Ow0KCWZvbnQtd2VpZ2h0OjUwMDsNCgl0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7DQp9DQoNCi5oaXN0b3J5LWJsb2NrLXR3byAuaW5uZXItYm94IC55ZWFyIC5kb3R0ew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCWNvbnRlbnQ6Jyc7DQoJbGVmdDotMjRweDsNCgl0b3A6OHB4Ow0KCXdpZHRoOjEwcHg7DQoJaGVpZ2h0OjEwcHg7DQoJYm9yZGVyLXJhZGl1czo1MCU7DQoJYmFja2dyb3VuZC1jb2xvcjojMWIzMzRkOw0KfQ0KDQouaGlzdG9yeS1ibG9jay10d28gLmlubmVyLWJveCAueWVhciAuZG90dDpiZWZvcmV7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJY29udGVudDonJzsNCglsZWZ0Oi0ycHg7DQoJdG9wOi0ycHg7DQoJcmlnaHQ6LTJweDsNCglib3R0b206LTJweDsNCglib3JkZXItcmFkaXVzOjUwJTsNCglib3JkZXI6M3B4IHNvbGlkICNmZWMyMzU7DQp9DQoNCi5oaXN0b3J5LWJsb2NrLXR3byAuaW5uZXItYm94IC5pbWFnZSAub3ZlcmxheS1ib3h7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJbGVmdDowcHg7DQoJdG9wOjBweDsNCgl3aWR0aDoxMDAlOw0KCWhlaWdodDoxMDAlOw0KCWRpc3BsYXk6YmxvY2s7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQoJcGFkZGluZzowcHggNDBweCAwcHg7DQoJLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7DQoJbWFyZ2luLXRvcDotNTRweDsNCgl0cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLW1vei10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLW1zLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktby10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDApOw0KfQ0KDQouaGlzdG9yeS1ibG9jay10d28gLmlubmVyLWJveDpob3ZlciAuaW1hZ2UgLm92ZXJsYXktYm94ew0KCS1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpOw0KCW1hcmdpbi10b3A6MHB4Ow0KCXBhZGRpbmctdG9wOjQwcHg7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI3LDUxLDc3LDAuODApOw0KfQ0KDQouaGlzdG9yeS1ibG9jay10d28gLmlubmVyLWJveCAuaW1hZ2UgLm92ZXJsYXktYm94IC5vdmVybGF5LWlubmVyew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmc6MTVweCAyMHB4IDQwcHg7DQoJYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOw0KfQ0KDQouaGlzdG9yeS1ibG9jay10d28gLmlubmVyLWJveCAuaW1hZ2UgLm92ZXJsYXktYm94IGgzew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWZvbnQtc2l6ZToxOHB4Ow0KCWZvbnQtd2VpZ2h0OjUwMDsNCgltYXJnaW4tYm90dG9tOjEwcHg7DQp9DQoNCi5oaXN0b3J5LWJsb2NrLXR3byAuaW5uZXItYm94IC5pbWFnZSAub3ZlcmxheS1ib3ggaDMgYXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojMjYyNjI2Ow0KCXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktbW96LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktbXMtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCn0NCg0KLmhpc3RvcnktYmxvY2stdHdvIC5pbm5lci1ib3ggLmltYWdlIC5vdmVybGF5LWJveCBoMyBhOmhvdmVyew0KCWNvbG9yOiNmZWJlMjg7DQp9DQoNCi5oaXN0b3J5LWJsb2NrLXR3byAuaW5uZXItYm94IC5pbWFnZSAub3ZlcmxheS1ib3ggLnRleHR7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6Izg0ODQ4NDsNCglmb250LXNpemU6MTZweDsNCglsaW5lLWhlaWdodDoxLjdlbTsNCgltYXJnaW4tYm90dG9tOjEycHg7DQoJZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjsNCn0NCg0KLmhpc3RvcnktYmxvY2stdHdvIC5pbm5lci1ib3ggLmltYWdlIC5vdmVybGF5LWJveCAucmVhZC1tb3Jlew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiMyNjI2MjY7DQoJZm9udC1zaXplOjE2cHg7DQoJZm9udC13ZWlnaHQ6NzAwOw0KCXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktbW96LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktbXMtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCn0NCg0KLmhpc3RvcnktYmxvY2stdHdvIC5pbm5lci1ib3ggLmltYWdlIC5vdmVybGF5LWJveCAucmVhZC1tb3JlOmhvdmVyew0KCWNvbG9yOiNmZWJlMjg7DQp9DQoNCi5oaXN0b3J5LXNlY3Rpb24gLm93bC1kb3Rzew0KCWRpc3BsYXk6bm9uZTsNCn0NCg0KLmhpc3Rvcnktc2VjdGlvbiAub3dsLW5hdnsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglyaWdodDowcHg7DQoJdG9wOi0xMDBweDsNCn0NCg0KLmhpc3Rvcnktc2VjdGlvbiAub3dsLW5hdiAub3dsLXByZXYsDQouaGlzdG9yeS1zZWN0aW9uIC5vd2wtbmF2IC5vd2wtbmV4dHsNCgl3aWR0aDo0MHB4Ow0KCWhlaWdodDo0MHB4Ow0KCWxpbmUtaGVpZ2h0OjM4cHg7DQoJZm9udC1zaXplOjIwcHg7DQoJbWFyZ2luLWxlZnQ6MTBweDsNCgl0ZXh0LWFsaWduOmNlbnRlcjsNCglib3JkZXItcmFkaXVzOjUwJTsNCgljb2xvcjojZGVkZWRlOw0KCWJvcmRlcjoxcHggc29saWQgI2RlZGVkZTsNCglkaXNwbGF5OmlubGluZS1ibG9jazsNCgl0cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLW1vei10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLW1zLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktby10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQp9DQoNCi5oaXN0b3J5LXNlY3Rpb24gLm93bC1uYXYgLm93bC1wcmV2OmhvdmVyLA0KLmhpc3Rvcnktc2VjdGlvbiAub3dsLW5hdiAub3dsLW5leHQ6aG92ZXJ7DQoJY29sb3I6I2ZlYmUyODsNCglib3JkZXItY29sb3I6I2ZlYmUyODsNCn0NCg0KLyoqKiANCg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCglUZWFtIFNlY3Rpb24NCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoNCioqKi8NCg0KLnRlYW0tc2VjdGlvbnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglwYWRkaW5nOjkwcHggMHB4IDYwcHg7DQp9DQoNCg0KLnRlYW0tYmxvY2t7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWFyZ2luLWJvdHRvbTozMHB4Ow0KfQ0KDQoudGVhbS1ibG9jayAuaW5uZXItYm94ew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KfQ0KDQoudGVhbS1ibG9jayAuaW5uZXItYm94IC5pbWFnZXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCn0NCg0KLnRlYW0tYmxvY2sgLmlubmVyLWJveCAuaW1hZ2UgaW1new0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXdpZHRoOjEwMCU7DQoJZGlzcGxheTpibG9jazsNCn0NCg0KLnRlYW0tYmxvY2sgLmlubmVyLWJveCAubG93ZXItY29udGVudC1ib3h7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJcGFkZGluZy10b3A6MjBweDsNCgl0ZXh0LWFsaWduOmNlbnRlcjsNCglwYWRkaW5nLWJvdHRvbTozMHB4Ow0KfQ0KDQoudGVhbS1ibG9jayAuaW5uZXItYm94IC5sb3dlci1jb250ZW50LWJveCBoM3sNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglmb250LXNpemU6MThweDsNCglmb250LXdlaWdodDo1MDA7DQoJY29sb3I6IzI2MjYyNjsNCn0NCg0KLnRlYW0tYmxvY2sgLmlubmVyLWJveCAubG93ZXItY29udGVudC1ib3ggLmRlc2lnbmF0aW9uew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiNmZWJlMjg7DQoJZm9udC1zaXplOjE2cHg7DQoJbWFyZ2luLWJvdHRvbToxNXB4Ow0KCWZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7DQp9DQoNCi50ZWFtLWJsb2NrIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQtYm94IC5sb3dlci1ib3h7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJcGFkZGluZy10b3A6MTJweDsNCglib3JkZXItdG9wOjFweCBzb2xpZCAjZjJmMmYyOw0KfQ0KDQoudGVhbS1ibG9jayAuaW5uZXItYm94IC5sb3dlci1jb250ZW50LWJveCAubG93ZXItYm94IC5lbWFpbHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojODQ4NDg0Ow0KCWZvbnQtc2l6ZToxNnB4Ow0KCXBhZGRpbmctbGVmdDoyOHB4Ow0KCWRpc3BsYXk6aW5saW5lLWJsb2NrOw0KCWZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7DQp9DQoNCi50ZWFtLWJsb2NrIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQtYm94IC5sb3dlci1ib3ggLmVtYWlsOmJlZm9yZXsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgljb250ZW50OidcZjAwMyc7DQoJbGVmdDowcHg7DQoJdG9wOjBweDsNCgljb2xvcjojZmViZTI4Ow0KCWZvbnQtc2l6ZToxOHB4Ow0KCWZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnOw0KfQ0KDQoudGVhbS1ibG9jayAuaW5uZXItYm94IC5vdmVybGF5LWJveHsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglsZWZ0OjBweDsNCgl0b3A6MHB4Ow0KCXdpZHRoOjEwMCU7DQoJaGVpZ2h0OjEwMCU7DQoJZGlzcGxheTpibG9jazsNCglvcGFjaXR5OjA7DQoJYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOw0KCXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktbW96LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktbXMtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCn0NCg0KLnRlYW0tYmxvY2sgLmlubmVyLWJveDpob3ZlciAub3ZlcmxheS1ib3h7DQoJb3BhY2l0eToxOw0KfQ0KDQoudGVhbS1ibG9jayAuaW5uZXItYm94IC5vdmVybGF5LWJveCAuaW5uZXItY29udGVudHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgloZWlnaHQ6MTAwJTsNCgktd2Via2l0LWJveC1zaGFkb3c6MnB4IDJweCA1cHggMXB4IHJnYmEoMCwwLDAsMC4wNSksLTJweCAwcHggNXB4IDFweCByZ2JhKDAsMCwwLDAuMDUpOw0KCS1tcy1ib3gtc2hhZG93OjJweCAycHggNXB4IDFweCByZ2JhKDAsMCwwLDAuMDUpLC0ycHggMHB4IDVweCAxcHggcmdiYSgwLDAsMCwwLjA1KTsNCgktby1ib3gtc2hhZG93OjJweCAycHggNXB4IDFweCByZ2JhKDAsMCwwLDAuMDUpLC0ycHggMHB4IDVweCAxcHggcmdiYSgwLDAsMCwwLjA1KTsNCgktbW96LWJveC1zaGFkb3c6MnB4IDJweCA1cHggMXB4IHJnYmEoMCwwLDAsMC4wNSksLTJweCAwcHggNXB4IDFweCByZ2JhKDAsMCwwLDAuMDUpOw0KCWJveC1zaGFkb3c6MnB4IDJweCA1cHggMXB4IHJnYmEoMCwwLDAsMC4wNSksLTJweCAwcHggNXB4IDFweCByZ2JhKDAsMCwwLDAuMDUpOw0KfQ0KDQoudGVhbS1ibG9jayAuaW5uZXItYm94IC5vdmVybGF5LWJveCAuaW5uZXItY29udGVudCAudXBwZXItY29udGVudHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglwYWRkaW5nOjM1cHggMjBweDsNCgltYXJnaW4tYm90dG9tOjE4cHg7DQp9DQoNCi50ZWFtLWJsb2NrIC5pbm5lci1ib3ggLm92ZXJsYXktYm94IC5pbm5lci1jb250ZW50IC51cHBlci1jb250ZW50IGgzew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWZvbnQtc2l6ZToxOHB4Ow0KCWZvbnQtd2VpZ2h0OjUwMDsNCn0NCg0KLnRlYW0tYmxvY2sgLmlubmVyLWJveCAub3ZlcmxheS1ib3ggLmlubmVyLWNvbnRlbnQgLnVwcGVyLWNvbnRlbnQgaDMgYXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojMjYyNjI2Ow0KCXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktbW96LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktbXMtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCn0NCg0KLnRlYW0tYmxvY2sgLmlubmVyLWJveCAub3ZlcmxheS1ib3ggLmlubmVyLWNvbnRlbnQgLnVwcGVyLWNvbnRlbnQgaDMgYTpob3ZlcnsNCgljb2xvcjojZmViZTI4Ow0KfQ0KDQoudGVhbS1ibG9jayAuaW5uZXItYm94IC5vdmVybGF5LWJveCAuaW5uZXItY29udGVudCAudXBwZXItY29udGVudCAuZGVzaWduYXRpb257DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6I2ZlYmUyODsNCglmb250LXNpemU6MTZweDsNCgltYXJnaW4tYm90dG9tOjE2cHg7DQoJZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjsNCn0NCg0KLnRlYW0tYmxvY2sgLmlubmVyLWJveCAub3ZlcmxheS1ib3ggLmlubmVyLWNvbnRlbnQgLnVwcGVyLWNvbnRlbnQgLnRleHR7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6Izg0ODQ4NDsNCglmb250LXNpemU6MTZweDsNCglsaW5lLWhlaWdodDoxLjdlbTsNCglmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmOw0KfQ0KDQoudGVhbS1ibG9jayAuaW5uZXItYm94IC5vdmVybGF5LWJveCAuaW5uZXItY29udGVudCAubG93ZXItY29udGVudHsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglsZWZ0OjBweDsNCglib3R0b206MHB4Ow0KCXdpZHRoOjEwMCU7DQoJcGFkZGluZy10b3A6MTVweDsNCgl0ZXh0LWFsaWduOmNlbnRlcjsNCglwYWRkaW5nLWJvdHRvbToxNXB4Ow0KCWJvcmRlci10b3A6MXB4IHNvbGlkICNmMmYyZjI7DQp9DQoNCi50ZWFtLWJsb2NrIC5pbm5lci1ib3ggLm92ZXJsYXktYm94IC5pbm5lci1jb250ZW50IC5sb3dlci1jb250ZW50IC5lbWFpbGVkew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiM4NDg0ODQ7DQoJZm9udC1zaXplOjE2cHg7DQoJcGFkZGluZy1sZWZ0OjI4cHg7DQoJbWFyZ2luLWJvdHRvbToxMnB4Ow0KCWRpc3BsYXk6aW5saW5lLWJsb2NrOw0KfQ0KDQoudGVhbS1ibG9jayAuaW5uZXItYm94IC5vdmVybGF5LWJveCAuaW5uZXItY29udGVudCAubG93ZXItY29udGVudCAuZW1haWxlZDpiZWZvcmV7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJY29udGVudDonXGYwMDMnOw0KCWxlZnQ6MHB4Ow0KCXRvcDowcHg7DQoJY29sb3I6I2ZlYmUyODsNCglmb250LXNpemU6MThweDsNCglmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJzsNCn0NCg0KLyoqKiANCg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCglDYXNlIFNlY3Rpb24NCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoNCioqKi8NCg0KLmNhc2VzLXNlY3Rpb257DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJcGFkZGluZzo5NXB4IDBweCA5MHB4Ow0KfQ0KDQouY2FzZXMtc2VjdGlvbiAuaW5uZXItY29udGFpbmVyew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCW1hcmdpbi1ib3R0b206MzBweDsNCglib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZjJmMmYyOw0KfQ0KDQouY2FzZS1ibG9ja3sNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW4tYm90dG9tOjMwcHg7DQp9DQoNCi5jYXNlLWJsb2NrIC5pbm5lci1ib3h7DQoJcG9zaXRpb246cmVsYXRpdmU7DQp9DQoNCi5jYXNlLWJsb2NrIC5pbm5lci1ib3ggLmltYWdlew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KfQ0KDQouY2FzZS1ibG9jayAuaW5uZXItYm94IC5pbWFnZSBpbWd7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJd2lkdGg6MTAwJTsNCglkaXNwbGF5OmJsb2NrOw0KfQ0KDQouY2FzZS1ibG9jayAuaW5uZXItYm94IC5pbWFnZSAub3ZlcmxheS1ib3h7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJbGVmdDowcHg7DQoJdG9wOjBweDsNCgl3aWR0aDoxMDAlOw0KCWhlaWdodDoxMDAlOw0KCW9wYWNpdHk6MDsNCglkaXNwbGF5OmJsb2NrOw0KCXRleHQtYWxpZ246Y2VudGVyOw0KCXRyYW5zaXRpb246YWxsIDAuNXMgZWFzZTsNCgktbW96LXRyYW5zaXRpb246YWxsIDAuNXMgZWFzZTsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDAuNXMgZWFzZTsNCgktbXMtdHJhbnNpdGlvbjphbGwgMC41cyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDAuNXMgZWFzZTsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjcsNTEsNzcsMC45NSk7DQp9DQoNCi5jYXNlLWJsb2NrIC5pbm5lci1ib3ggLmltYWdlIC5vdmVybGF5LWJveCAubGluay1ib3h7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJdG9wOjQ3JTsNCgl3aWR0aDo1MHB4Ow0KCWhlaWdodDo1MHB4Ow0KCWNvbG9yOiMyNjI2MjY7DQoJZm9udC1zaXplOjE4cHg7DQoJbGluZS1oZWlnaHQ6NTBweDsNCgl0ZXh0LWFsaWduOmNlbnRlcjsNCgltYXJnaW4tdG9wOi0zNXB4Ow0KCWJvcmRlci1yYWRpdXM6NTAlOw0KCWRpc3BsYXk6aW5saW5lLWJsb2NrOw0KCWJhY2tncm91bmQtY29sb3I6I2ZlYmUyODsNCn0NCg0KLmNhc2UtYmxvY2sgLmlubmVyLWJveDpob3ZlciAuaW1hZ2UgLm92ZXJsYXktYm94ew0KCW9wYWNpdHk6MTsNCn0NCg0KLmNhc2UtYmxvY2sgLmlubmVyLWJveCAubG93ZXItYm94ew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCW9wYWNpdHk6MC40Ow0KCXBhZGRpbmc6MTVweCAwcHggMTVweDsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7DQoJdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS1tb3otdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLW8tdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KfQ0KDQouY2FzZS1ibG9jayAuaW5uZXItYm94OmhvdmVyIC5sb3dlci1ib3h7DQoJb3BhY2l0eToxOw0KfQ0KDQouY2FzZS1ibG9jayAuaW5uZXItYm94IC5sb3dlci1ib3ggLmRlc2lnbmF0aW9uew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiNmZWJlMjg7DQoJZm9udC1zaXplOjE2cHg7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCW1hcmdpbi1ib3R0b206NHB4Ow0KCWZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7DQp9DQoNCi5jYXNlLWJsb2NrIC5pbm5lci1ib3ggLmxvd2VyLWJveCBoM3sNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojMjYyNjI2Ow0KCWZvbnQtc2l6ZToyMHB4Ow0KCWZvbnQtd2VpZ2h0OjUwMDsNCglsaW5lLWhlaWdodDoxLjRlbTsNCglmb250LWZhbWlseTogJ1JvYm90bycsIHNhbnMtc2VyaWY7DQp9DQoNCi5jYXNlLWJsb2NrIC5pbm5lci1ib3ggLmxvd2VyLWJveCBoMyBhew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiMyNjI2MjY7DQoJdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS1tb3otdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLW8tdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KfQ0KDQouY2FzZS1ibG9jayAuaW5uZXItYm94IC5sb3dlci1ib3ggaDMgYTpob3ZlcnsNCgljb2xvcjojZmViZTI4Ow0KfQ0KDQoNCg0KLyoqKiANCg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCglTdHlsZWQgUGFnaW5hdGlvbg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0KKioqLw0KDQouc3R5bGVkLXBhZ2luYXRpb257DQoJcG9zaXRpb246cmVsYXRpdmU7DQp9DQoNCi5zdHlsZWQtcGFnaW5hdGlvbiB1bHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglkaXNwbGF5OmlubGluZS1ibG9jazsNCn0NCg0KLnN0eWxlZC1wYWdpbmF0aW9uIGxpew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWRpc3BsYXk6YmxvY2s7DQoJZmxvYXQ6bGVmdDsNCgltYXJnaW46MHB4IDEwcHggMTBweCAwcHg7DQp9DQoNCi5zdHlsZWQtcGFnaW5hdGlvbiBsaSBhew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWRpc3BsYXk6aW5saW5lLWJsb2NrOw0KCWxpbmUtaGVpZ2h0OjQ4cHg7DQoJaGVpZ2h0OjUwcHg7DQoJZm9udC1zaXplOjE4cHg7DQoJbWluLXdpZHRoOjUwcHg7DQoJY29sb3I6IzI2MjYyNjsNCglmb250LXdlaWdodDo1MDA7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQoJYmFja2dyb3VuZDpub25lOw0KCWJvcmRlci1yYWRpdXM6NTAlOw0KCWJvcmRlcjoxcHggc29saWQgI2YyZjJmMjsNCgl0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplOw0KCXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJLW1vei10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KfQ0KDQouc3R5bGVkLXBhZ2luYXRpb24gbGkgYTpob3ZlciwNCi5zdHlsZWQtcGFnaW5hdGlvbiBsaSBhLmFjdGl2ZXsNCglib3JkZXItY29sb3I6I2ZlYmUyODsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmZWJlMjg7DQp9DQoNCi8qKiogDQoNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoJQ2FzZXMgU2luZ2xlIFNlY3Rpb24NCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoNCioqKi8NCg0KLmNhc2VzLXNpbmdsZS1zZWN0aW9uew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmc6OTBweCAwcHggMHB4Ow0KfQ0KDQouY2FzZXMtc2luZ2xlLXNlY3Rpb24gLmNhc2VzLWdhbGxlcnl7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWFyZ2luLWJvdHRvbToxMHB4Ow0KfQ0KDQouY2FzZXMtc2luZ2xlLXNlY3Rpb24gLmNhc2VzLWdhbGxlcnkgLmltYWdlLWNvbHVtbnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCn0NCg0KLmNhc2VzLXNpbmdsZS1zZWN0aW9uIC5jYXNlcy1nYWxsZXJ5IC5pbWFnZXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW4tYm90dG9tOjMwcHg7DQp9DQoNCi5jYXNlcy1zaW5nbGUtc2VjdGlvbiAuY2FzZXMtZ2FsbGVyeSAuaW1hZ2UgaW1new0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXdpZHRoOjEwMCU7DQoJZGlzcGxheTpibG9jazsNCn0NCg0KDQoNCg0KDQoNCg0KLmNhc2VzLXNpbmdsZS1zZWN0aW9uIC5jb250ZW50LXNlY3Rpb257DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJcGFkZGluZy1ib3R0b206NjBweDsNCn0NCg0KLmNhc2VzLXNpbmdsZS1zZWN0aW9uIC5jb250ZW50LXNlY3Rpb24gLmluZm8tY29sdW1uew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCW1hcmdpbi1ib3R0b206NDBweDsNCn0NCg0KLmNhc2VzLXNpbmdsZS1zZWN0aW9uIC5jb250ZW50LXNlY3Rpb24gLmluZm8tY29sdW1uIC5pbmZvLWlubmVyew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmc6MjBweCAyMHB4Ow0KCWJhY2tncm91bmQtY29sb3I6I2Y3ZjdmNzsNCn0NCg0KLmNhc2VzLXNpbmdsZS1zZWN0aW9uIC5pbmZvLWNvbHVtbiAuaW5mby1pbm5lciB1bHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCn0NCg0KLmNhc2VzLXNpbmdsZS1zZWN0aW9uIC5pbmZvLWNvbHVtbiAuaW5mby1pbm5lciB1bCBsaXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojODQ4NDg0Ow0KCWZvbnQtc2l6ZToxNnB4Ow0KCW1hcmdpbi1ib3R0b206MThweDsNCglmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmOw0KfQ0KDQouY2FzZXMtc2luZ2xlLXNlY3Rpb24gLmluZm8tY29sdW1uIC5pbmZvLWlubmVyIHVsIGxpOmxhc3QtY2hpbGR7DQoJbWFyZ2luLWJvdHRvbTowcHg7DQp9DQoNCi5jYXNlcy1zaW5nbGUtc2VjdGlvbiAuaW5mby1jb2x1bW4gLmluZm8taW5uZXIgdWwgbGkgc3BhbnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojMjYyNjI2Ow0KCWZvbnQtc2l6ZToxNnB4Ow0KCWZvbnQtd2VpZ2h0OjQwMDsNCgl3aWR0aDoxMDBweDsNCgltYXJnaW4tcmlnaHQ6MTVweDsNCglkaXNwbGF5OmlubGluZS1ibG9jazsNCn0NCg0KLmNhc2VzLXNpbmdsZS1zZWN0aW9uIC5pbmZvLWNvbHVtbiAuaW5mby1pbm5lciB1bCBsaSBzcGFuOmFmdGVyew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCWNvbnRlbnQ6JzonOw0KCXJpZ2h0OjBweDsNCgl0b3A6MHB4Ow0KCWNvbG9yOiNmZWJlMjg7DQoJZm9udC1zaXplOjE1cHg7DQp9DQoNCi5jYXNlcy1zaW5nbGUtc2VjdGlvbiAuY29udGVudC1zZWN0aW9uIGgyew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiMyNjI2MjY7DQoJZm9udC1zaXplOjI0cHg7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWxpbmUtaGVpZ2h0OjEuMmVtOw0KCW1hcmdpbi1ib3R0b206NHB4Ow0KfQ0KDQouY2FzZXMtc2luZ2xlLXNlY3Rpb24gLmNvbnRlbnQtc2VjdGlvbiAuZGVzaWduYXRpb257DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6I2ZlYmUyODsNCglmb250LXNpemU6MTZweDsNCgltYXJnaW4tYm90dG9tOjE1cHg7DQoJZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjsNCn0NCg0KLmNhc2VzLXNpbmdsZS1zZWN0aW9uIC5jb250ZW50LXNlY3Rpb24gLnRleHR7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6Izg0ODQ4NDsNCglmb250LXNpemU6MTZweDsNCglsaW5lLWhlaWdodDoxLjZlbTsNCgltYXJnaW4tYm90dG9tOjI1cHg7DQoJZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjsNCn0NCg0KLmNhc2VzLXNpbmdsZS1zZWN0aW9uIC5jb250ZW50LXNlY3Rpb24gLmxhdW5jaC1idG57DQoJcGFkZGluZzo5cHggMzZweDsNCn0NCg0KLyoqKiANCg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCglQcm9qZWN0IFNlY3Rpb24NCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoNCioqKi8NCg0KLmFuYWx5c2ljLXNlY3Rpb257DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJcGFkZGluZy1ib3R0b206OTBweDsNCn0NCg0KLmFuYWx5c2ljLXNlY3Rpb24gLnVwcGVyLXNlY3Rpb257DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJcGFkZGluZzo4NXB4IDBweCAxMTBweDsNCgliYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6Zml4ZWQ7DQoJYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0Ow0KCWJhY2tncm91bmQtc2l6ZTpjb3ZlcjsNCn0NCg0KLmFuYWx5c2ljLXNlY3Rpb24gLnVwcGVyLXNlY3Rpb246YmVmb3Jlew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCWNvbnRlbnQ6Jyc7DQoJbGVmdDowcHg7DQoJdG9wOjBweDsNCgl3aWR0aDoxMDAlOw0KCWhlaWdodDoxMDAlOw0KCWRpc3BsYXk6YmxvY2s7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI3LDUxLDc3LDAuOTUpOw0KfQ0KDQouYW5hbHlzaWMtc2VjdGlvbiAudXBwZXItc2VjdGlvbiAudGV4dHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojY2JjYmNjOw0KCWZvbnQtc2l6ZToxNnB4Ow0KCWxpbmUtaGVpZ2h0OjEuN2VtOw0KCW1hcmdpbi1ib3R0b206MzBweDsNCglmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmOw0KfQ0KDQouYW5hbHlzaWMtc2VjdGlvbi5zdHlsZS10d28gLnVwcGVyLXNlY3Rpb246YmVmb3Jlew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSg2Miw2OCwxNDgsMC45MCk7DQp9DQoNCi5hbmFseXNpYy1zZWN0aW9uLnN0eWxlLXR3byAudXBwZXItc2VjdGlvbiAudGV4dHsNCgljb2xvcjojZmZmZmZmOw0KfQ0KDQouYW5hbHlzaWMtc2VjdGlvbi5zdHlsZS10d28gLnVwcGVyLXNlY3Rpb24gLnNlcGFyYXRvcjpiZWZvcmV7DQoJYmFja2dyb3VuZC1jb2xvcjojNDM0OTk2Ow0KfQ0KDQouYW5hbHlzaWMtc2VjdGlvbiAubG93ZXItc2VjdGlvbnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCn0NCg0KLmFuYWx5c2ljLXNlY3Rpb24gLmxvd2VyLXNlY3Rpb24gLmxvd2VyLWlubmVyLXNlY3Rpb257DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWFyZ2luLXRvcDotOTBweDsNCglwYWRkaW5nOjc1cHggMTAwcHggMHB4Ow0KCWJhY2tncm91bmQtY29sb3I6I2ZmZmZmZjsNCn0NCg0KLmFuYWx5c2ljLXNlY3Rpb24gLmxvd2VyLXNlY3Rpb24gLmxvd2VyLWlubmVyLXNlY3Rpb24gaDJ7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJdG9wOjRweDsNCgljb2xvcjojMjYyNjI2Ow0KCWZvbnQtd2VpZ2h0OjcwMDsNCglmb250LXNpemU6MThweDsNCgltYXJnaW4tYm90dG9tOjEycHg7DQoJdGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTsNCn0NCg0KLmFuYWx5c2ljLXNlY3Rpb24gLmxvd2VyLXNlY3Rpb24gLmxvd2VyLWlubmVyLXNlY3Rpb24gLmZvcm0tZ3JvdXB7DQoJcG9zaXRpb246cmVsYXRpdmU7DQp9DQoNCi5hbmFseXNpYy1zZWN0aW9uIC5sb3dlci1zZWN0aW9uIC5sb3dlci1pbm5lci1zZWN0aW9uIC51aS1zZWxlY3RtZW51LWJ1dHRvbi51aS1idXR0b257DQoJaGVpZ2h0OjM2cHg7DQoJd2lkdGg6MTU0cHg7DQoJcGFkZGluZzoycHggMjBweDsNCgliYWNrZ3JvdW5kOm5vbmU7DQoJY29sb3I6IzcyNzI3MjsNCglmb250LXNpemU6MTRweDsNCglib3JkZXItY29sb3I6I2YyZjJmMjsNCn0NCg0KLmFuYWx5c2ljLXNlY3Rpb24gLmxvd2VyLXNlY3Rpb24gLmxvd2VyLWlubmVyLXNlY3Rpb24gLmZvcm0tZ3JvdXAgLnVpLWJ1dHRvbiAudWktaWNvbnsNCglyaWdodDotNXB4Ow0KfQ0KDQouYW5hbHlzaWMtc2VjdGlvbiAubG93ZXItc2VjdGlvbiAubG93ZXItaW5uZXItc2VjdGlvbiAuZm9ybS1ncm91cCAudWktYnV0dG9uIC51aS1pY29uOmJlZm9yZXsNCgljb2xvcjojNzI3MjcyOw0KfQ0KDQouYW5hbHlzaWMtc2VjdGlvbiAubG93ZXItc2VjdGlvbiAubG93ZXItaW5uZXItc2VjdGlvbiAuZ3JhcGgtaW1hZ2V7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWFyZ2luLXRvcDozMHB4Ow0KfQ0KDQovKioqIA0KDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KCUJsb2cgUGFnZSBTZWN0aW9uDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQoqKiovDQoNCi5ibG9nLXBhZ2Utc2VjdGlvbnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglwYWRkaW5nOjkwcHggMHB4Ow0KfQ0KDQoNCi8qKiogDQoNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoJU2lkZWJhciBQYWdlIENvbnRhaW5lcg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0KKioqLw0KDQouc2lkZWJhci1wYWdlLWNvbnRhaW5lcnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglvdmVyZmxvdzpoaWRkZW47DQoJcGFkZGluZzo5MHB4IDBweCA1MHB4Ow0KfQ0KDQouc2lkZWJhci1wYWdlLWNvbnRhaW5lciAuY29udGVudC1zaWRlLA0KLnNpZGViYXItcGFnZS1jb250YWluZXIgLnNpZGViYXItc2lkZXsNCgltYXJnaW4tYm90dG9tOjQwcHg7DQp9DQoNCi5zaWRlYmFyLXBhZ2UtY29udGFpbmVyIC5zaWRlYmFyLXNpZGUgLndpdGgtYm9yZGVyew0KCXBhZGRpbmctbGVmdDozMHB4Ow0KfQ0KDQouc2lkZWJhci1wYWdlLWNvbnRhaW5lciAuc2lkZWJhci1zaWRlIC53aXRoLWJvcmRlcjpiZWZvcmV7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJY29udGVudDonJzsNCglsZWZ0OjE1cHg7DQoJdG9wOi0yMDBweDsNCgl3aWR0aDoxcHg7DQoJaGVpZ2h0OjUwMDBweDsNCgltaW4taGVpZ2h0OjEwMCU7DQoJYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZjBmMGYwOw0KfQ0KDQovKk5ld3MgQmxvY2sgVHdvKi8NCg0KLm5ld3MtYmxvY2stdHdvew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCW1hcmdpbi1ib3R0b206NTBweDsNCn0NCg0KLm5ld3MtYmxvY2stdHdvIC5pbm5lci1ib3h7DQoJcG9zaXRpb246cmVsYXRpdmU7DQp9DQoNCi5uZXdzLWJsb2NrLXR3byAuaW5uZXItYm94IC5pbWFnZXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW4tYm90dG9tOjMwcHg7DQp9DQoNCi5uZXdzLWJsb2NrLXR3byAuaW5uZXItYm94IC5pbWFnZSBpbWd7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJd2lkdGg6MTAwJTsNCglkaXNwbGF5OmJsb2NrOw0KfQ0KDQoubmV3cy1ibG9jay10d28gLmlubmVyLWJveCAuaW1hZ2UgLm92ZXJsYXlib3h7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJbGVmdDowcHg7DQoJdG9wOjBweDsNCgl3aWR0aDoxMDAlOw0KCWhlaWdodDoxMDAlOw0KCWRpc3BsYXk6YmxvY2s7DQoJb3BhY2l0eTowOw0KCXBhZGRpbmc6MzBweCAzMHB4Ow0KCXRleHQtYWxpZ246Y2VudGVyOw0KCXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI3LDUxLDc3LDAuOTUpOw0KfQ0KDQoubmV3cy1ibG9jay10d28gLmlubmVyLWJveDpob3ZlciAuaW1hZ2UgLm92ZXJsYXlib3h7DQoJb3BhY2l0eToxOw0KfQ0KDQoubmV3cy1ibG9jay10d28gLmlubmVyLWJveCAuaW1hZ2UgLm92ZXJsYXlib3ggLmltYWdlLWxpbmt7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQoJY29sb3I6I2ZmZmZmZjsNCglmb250LXNpemU6MzJweDsNCgl0b3A6NDglOw0KCW1hcmdpbi10b3A6LTIwcHg7DQoJZGlzcGxheTppbmxpbmUtYmxvY2s7DQp9DQoNCi5uZXdzLWJsb2NrLXR3byAuaW5uZXItYm94IC5pbWFnZSAub3ZlcmxheWJveCAucmVhZC1tb3Jlew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCWxlZnQ6MzBweDsNCglib3R0b206MzBweDsNCgljb2xvcjojZmViZTI4Ow0KCWZvbnQtc2l6ZToxNnB4Ow0KCWZvbnQtd2VpZ2h0OjcwMDsNCglwYWRkaW5nLWJvdHRvbTo1cHg7DQoJdGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTsNCn0NCg0KLm5ld3MtYmxvY2stdHdvIC5pbm5lci1ib3ggLmltYWdlIC5vdmVybGF5Ym94IC5yZWFkLW1vcmU6YWZ0ZXJ7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJY29udGVudDonJzsNCglsZWZ0OjBweDsNCglib3R0b206MHB4Ow0KCXdpZHRoOjQwcHg7DQoJaGVpZ2h0OjNweDsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmZWJlMjg7DQp9DQoNCi5uZXdzLWJsb2NrLXR3byAuaW5uZXItYm94IC5sb3dlci1jb250ZW50ew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmc6MThweCAwcHggMjBweDsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7DQoJYm9yZGVyOjFweCBzb2xpZCAjZjJmMmYyOw0KfQ0KDQoubmV3cy1ibG9jay10d28gLmlubmVyLWJveCAubG93ZXItY29udGVudCAudXBwZXItYm94ew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmctYm90dG9tOjE1cHg7DQoJbWFyZ2luLWJvdHRvbToyNXB4Ow0KCXBhZGRpbmctbGVmdDoyMnB4Ow0KCWJvcmRlci1ib3R0b206MXB4IHNvbGlkICNmMmYyZjI7DQp9DQoNCi5uZXdzLWJsb2NrLXR3byAuaW5uZXItYm94IC5sb3dlci1jb250ZW50IC51cHBlci1ib3ggLnBvc3QtYXV0aG9yew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiNjNWM1YzU7DQoJZm9udC1zaXplOjE0cHg7DQoJbGluZS1oZWlnaHQ6MS41ZW07DQoJZm9udC13ZWlnaHQ6NTAwOw0KCW1hcmdpbi1ib3R0b206OHB4Ow0KCXRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsNCglmb250LWZhbWlseTogJ1JvYm90bycsIHNhbnMtc2VyaWY7DQp9DQoNCi5uZXdzLWJsb2NrLXR3byAuaW5uZXItYm94IC5sb3dlci1jb250ZW50IC5wb3N0LW1ldGF7DQoJcG9zaXRpb246cmVsYXRpdmU7DQp9DQoNCi5uZXdzLWJsb2NrLXR3byAuaW5uZXItYm94IC5sb3dlci1jb250ZW50IC5wb3N0LW1ldGEgbGl7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJZGlzcGxheTppbmxpbmUtYmxvY2s7DQoJcGFkZGluZy1yaWdodDoxMHB4Ow0KCW1hcmdpbi1yaWdodDo4cHg7DQoJbGluZS1oZWlnaHQ6MWVtOw0KCWNvbG9yOiM4NDg0ODQ7DQoJZm9udC1zaXplOjE2cHg7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7DQoJYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjYzVjNWM1Ow0KfQ0KDQoubmV3cy1ibG9jay10d28gLmlubmVyLWJveCAubG93ZXItY29udGVudCAucG9zdC1tZXRhIGxpIGF7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6Izg0ODQ4NDsNCglmb250LXNpemU6MTZweDsNCglmb250LXdlaWdodDo0MDA7DQoJZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjsNCn0NCg0KLm5ld3MtYmxvY2stdHdvIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgLnBvc3QtbWV0YSBsaTpsYXN0LWNoaWxkew0KCWJvcmRlcjpub25lOw0KCXBhZGRpbmc6MHB4Ow0KCW1hcmdpbjowcHg7CQ0KfQ0KDQoubmV3cy1ibG9jay10d28gLmlubmVyLWJveCAubG93ZXItYm94ew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmc6MHB4IDIycHg7DQp9DQoNCi5uZXdzLWJsb2NrLXR3byAuaW5uZXItYm94IC5sb3dlci1jb250ZW50IGgzew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiMyNjI2MjY7DQoJZm9udC1zaXplOjI0cHg7DQoJZm9udC13ZWlnaHQ6NTAwOw0KCWxpbmUtaGVpZ2h0OjEuNGVtOw0KCW1hcmdpbi10b3A6OHB4Ow0KCW1hcmdpbi1ib3R0b206MTRweDsNCn0NCg0KLm5ld3MtYmxvY2stdHdvIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgaDMgYXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojMjYyNjI2Ow0KCXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQp9DQoNCi5uZXdzLWJsb2NrLXR3byAuaW5uZXItYm94IC5sb3dlci1jb250ZW50IGgzIGE6aG92ZXJ7DQoJY29sb3I6I2ZlYmUyODsNCn0NCg0KLm5ld3MtYmxvY2stdHdvIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgLnRleHR7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6Izg0ODQ4NDsNCglmb250LXNpemU6MTZweDsNCglsaW5lLWhlaWdodDoxLjhlbTsNCglmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmOw0KfQ0KDQoubmV3cy1ibG9jay10d28gLmlubmVyLWJveCAubG93ZXItY29udGVudCAudGV4dCBwew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiM4NDg0ODQ7DQoJZm9udC1zaXplOjE2cHg7DQoJbGluZS1oZWlnaHQ6MS43ZW07DQoJbWFyZ2luLWJvdHRvbToxNnB4Ow0KCWZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7DQp9DQoNCi5uZXdzLWJsb2NrLXR3byAuaW5uZXItYm94IC50ZXh0IGJsb2NrcXVvdGV7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJYm9yZGVyOm5vbmU7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQoJcGFkZGluZzozNXB4IDMwcHg7DQoJbWFyZ2luLWJvdHRvbTo0MHB4Ow0KCW1hcmdpbi10b3A6MzBweDsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmNmY2ZjY7DQp9DQoNCi5uZXdzLWJsb2NrLXR3byAuaW5uZXItYm94IC50ZXh0IGJsb2NrcXVvdGUgLmJsb2NrcXVvdGUtdGV4dHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgl6LWluZGV4OjE7DQoJZm9udC1zaXplOjE4cHg7DQoJY29sb3I6IzcyNzI3MjsNCglsaW5lLWhlaWdodDoxLjhlbTsNCn0NCg0KLm5ld3MtYmxvY2stdHdvIC5pbm5lci1ib3ggLnRleHQgYmxvY2txdW90ZSAucXVvdGUtaWNvbnsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglsZWZ0OjUwJTsNCgl0b3A6MzBweDsNCglsaW5lLWhlaWdodDoxZW07DQoJY29sb3I6I2ZmZmZmZjsNCglmb250LXNpemU6MTAwcHg7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQoJbWFyZ2luLWxlZnQ6LTQ1cHg7DQp9DQoNCi5uZXdzLWJsb2NrLXR3byAuaW5uZXItYm94IC50ZXh0IGJsb2NrcXVvdGUgLnF1b3RlLWluZm97DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJZGlzcGxheTppbmxpbmUtYmxvY2s7DQoJcGFkZGluZzoxMnB4IDcwcHggMHB4Ow0KCW1hcmdpbi10b3A6MjBweDsNCglib3JkZXItdG9wOjFweCBzb2xpZCAjZThlOGU4Ow0KfQ0KDQoubmV3cy1ibG9jay10d28gLmlubmVyLWJveCAudGV4dCBibG9ja3F1b3RlIC5xdW90ZS1pbmZvIGg0ew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiMyNjI2MjY7DQoJZm9udC1zaXplOjIwcHg7DQoJZm9udC13ZWlnaHQ6NTAwOw0KfQ0KDQoubmV3cy1ibG9jay10d28gLmlubmVyLWJveCAudGV4dCBibG9ja3F1b3RlIC5xdW90ZS1pbmZvIC5xdW90ZS1kZXNpbmF0aW9uew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiNmZWJlMjg7DQoJZm9udC1zaXplOjE2cHg7DQoJZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjsNCn0NCg0KLypTaWRlYmFyIFRpdGxlKi8NCg0KLnNpZGViYXItdGl0bGV7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIG1hcmdpbi1ib3R0b206MjJweDsNCn0NCg0KLnNpZGViYXItdGl0bGUgaDJ7DQogICAgZm9udC1zaXplOiAyMnB4Ow0KICAgIGNvbG9yOiAjMjYyNjI2Ow0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgbGluZS1oZWlnaHQ6IDEuMmVtOw0KICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOw0KfQ0KDQouc2lkZWJhci13aWRnZXR7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7DQp9DQoNCi8qU2VhcmNoIEJveCBXaWRnZXQqLw0KDQouc2lkZWJhciAuc2VhcmNoLWJveCAuZm9ybS1ncm91cHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW46MHB4OwkNCn0NCg0KLnNpZGViYXIgLnNlYXJjaC1ib3ggLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0idGV4dCJdLA0KLnNpZGViYXIgLnNlYXJjaC1ib3ggLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0ic2VhcmNoIl17DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbGluZS1oZWlnaHQ6MjhweDsNCglwYWRkaW5nOjEwcHggNTBweCAxMHB4IDIwcHg7DQoJYm9yZGVyOjFweCBzb2xpZCAjZjJmMmYyOw0KCWJhY2tncm91bmQ6bm9uZTsNCglkaXNwbGF5OmJsb2NrOw0KCWZvbnQtc2l6ZToxNHB4Ow0KCXdpZHRoOjEwMCU7DQoJaGVpZ2h0OjUwcHg7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJLW1vei10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktbXMtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktby10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KfQ0KDQouc2lkZWJhciAuc2VhcmNoLWJveCAuZm9ybS1ncm91cCBidXR0b257DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJcmlnaHQ6MTRweDsNCgl0b3A6MTBweDsNCgloZWlnaHQ6MjhweDsNCgl3aWR0aDozMHB4Ow0KCWZvbnQtc2l6ZToxNHB4Ow0KCWNvbG9yOiMyMjIyMjI7DQoJbGluZS1oZWlnaHQ6MTAwJTsNCgliYWNrZ3JvdW5kOm5vbmU7DQoJZGlzcGxheTppbmxpbmUtYmxvY2s7DQoJZm9udC13ZWlnaHQ6bm9ybWFsOw0KCXRleHQtYWxpZ246cmlnaHQ7DQoJYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICNmMmYyZjI7DQp9DQoNCi5zaWRlYmFyIC5zZWFyY2gtYm94LnN0eWxlLXR3byAuZm9ybS1ncm91cCBidXR0b257DQoJYmFja2dyb3VuZC1jb2xvcjojZjdmN2Y3Ow0KCXJpZ2h0OjBweDsNCgl0b3A6MHB4Ow0KCXdpZHRoOjUwcHg7DQoJaGVpZ2h0OjUwcHg7DQoJY29sb3I6IzM5MzkzOTsNCglmb250LXNpemU6MTRweDsNCgl0ZXh0LWFsaWduOmNlbnRlcjsNCn0NCg0KLypCbG9nIENhdGVnb3J5Ki8NCg0KLmJsb2ctY2F0ew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmc6MjBweCAyNXB4IDIwcHg7DQoJYm9yZGVyOjFweCBzb2xpZCAjZWVlZWVlOw0KCWJvcmRlci1sZWZ0LWNvbG9yOiNmZWJlMjg7DQp9DQoNCi5ibG9nLWNhdCBsaXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW4tYm90dG9tOjE1cHg7DQp9DQoNCi5ibG9nLWNhdCBsaSBhew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWZvbnQtc2l6ZToxNnB4Ow0KCWZvbnQtd2VpZ2h0OjQwMDsNCglkaXNwbGF5OmJsb2NrOw0KCXBhZGRpbmctYm90dG9tOjEycHg7DQoJY29sb3I6Izg0ODQ4NDsNCglwYWRkaW5nLWxlZnQ6MjVweDsNCgl0cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS1tb3otdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJLW1zLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJLW8tdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCn0NCg0KLmJsb2ctY2F0IGxpIGE6YWZ0ZXJ7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJY29udGVudDonJzsNCglsZWZ0OjBweDsNCglib3R0b206MHB4Ow0KCXdpZHRoOjcwcHg7DQoJaGVpZ2h0OjFweDsNCgliYWNrZ3JvdW5kLWNvbG9yOiNlZWVlZWU7DQoJdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktbW96LXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQp9DQoNCi5ibG9nLWNhdCBsaSBhOmhvdmVyOjphZnRlcnsNCgl3aWR0aDoxMDAlOw0KCWJhY2tncm91bmQtY29sb3I6I2ZlYmUyODsNCn0NCg0KLmJsb2ctY2F0IGxpOmxhc3QtY2hpbGR7DQoJbWFyZ2luLWJvdHRvbTowcHg7DQp9DQoNCi5ibG9nLWNhdCBsaTpsYXN0LWNoaWxkIGF7DQoJYm9yZGVyOjBweDsNCn0NCg0KLmJsb2ctY2F0IGxpIGEgc3BhbnsNCglmbG9hdDpyaWdodDsNCn0NCg0KLmJsb2ctY2F0IGxpIGE6YmVmb3Jlew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCWNvbnRlbnQ6Jyc7DQoJbGVmdDowcHg7DQoJdG9wOjlweDsNCgl3aWR0aDo4cHg7DQoJaGVpZ2h0OjhweDsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmNmY2ZjY7DQoJYm9yZGVyOjFweCBzb2xpZCAjZTVlNWU1Ow0KCWZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnOw0KCXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJLW1vei10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktbXMtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktby10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KfQ0KDQouYmxvZy1jYXQgbGkgYTpob3ZlcnsNCgljb2xvcjojZmViZTI4Ow0KfQ0KDQouYmxvZy1jYXQgbGkgYTpob3Zlcjo6YmVmb3Jlew0KCWJvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuMjApOw0KCWJhY2tncm91bmQtY29sb3I6I2ZlYmUyODsNCn0NCg0KLmJsb2ctY2F0LnN0eWxlLXR3b3sNCglwYWRkaW5nLWJvdHRvbTowcHg7DQp9DQoNCi5ibG9nLWNhdC5zdHlsZS10d28gbGkgYXsNCglwYWRkaW5nLWxlZnQ6MHB4Ow0KfQ0KDQouYmxvZy1jYXQuc3R5bGUtdHdvIGxpIGE6YmVmb3Jlew0KCWRpc3BsYXk6bm9uZTsNCn0NCg0KLmJsb2ctY2F0LnN0eWxlLXR3byBsaSBhOmFmdGVyew0KCXdpZHRoOjEwMCU7DQp9DQoNCi5ibG9nLWNhdC5zdHlsZS10d28gbGk6bGFzdC1jaGlsZCBhOmFmdGVyew0KCWRpc3BsYXk6bm9uZTsNCn0NCg0KLnJlY2VudC1jb21tZW50cyAuc2lkZWJhci10aXRsZXsNCgltYXJnaW4tYm90dG9tOjQwcHg7DQp9DQoNCi8qQ29tbWVudCBCbG9jayovDQoNCi5jb21tZW50LWJsb2Nrew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCW1hcmdpbi1ib3R0b206NDBweDsNCn0NCg0KLmNvbW1lbnQtYmxvY2sgLmlubmVyew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmc6MzZweCAyMHB4IDIwcHg7DQoJYm9yZGVyOjFweCBzb2xpZCAjZjJmMmYyOw0KfQ0KDQouY29tbWVudC1ibG9jayAuaW5uZXIgLmRhdGV7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJbGVmdDoyMnB4Ow0KCXRvcDotMTVweDsNCglmb250LXNpemU6MTRweDsNCgljb2xvcjojODQ4NDg0Ow0KCXBhZGRpbmc6MXB4IDEycHg7DQoJYmFja2dyb3VuZC1jb2xvcjojZjZmNmY2Ow0KfQ0KDQouY29tbWVudC1ibG9jayAuaW5uZXIgLmNvbnRlbnR7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJcGFkZGluZy1sZWZ0OjcwcHg7DQp9DQoNCi5jb21tZW50LWJsb2NrIC5pbm5lciAuY29udGVudCAuaW1hZ2V7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJbGVmdDowcHg7DQoJdG9wOjBweDsNCgl3aWR0aDo1MHB4Ow0KCWhlaWdodDo1MHB4Ow0KfQ0KDQouY29tbWVudC1ibG9jayAuaW5uZXIgLmNvbnRlbnQgaDN7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6IzI2MjYyNjsNCglmb250LXNpemU6MTZweDsNCglmb250LXdlaWdodDo0MDA7DQoJbGluZS1oZWlnaHQ6MS4yZW07DQoJbWFyZ2luLWJvdHRvbTozcHg7DQp9DQoNCi5jb21tZW50LWJsb2NrIC5pbm5lciAuY29udGVudCBoMyBhew0KCWNvbG9yOiMyMjIyMjI7DQp9DQoNCi5jb21tZW50LWJsb2NrIC5pbm5lciAuY29udGVudCAudGV4dHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojODQ4NDg0Ow0KCWZvbnQtc2l6ZToxNnB4Ow0KCWZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7DQp9DQoNCi5jb21tZW50LWJsb2NrIC5pbm5lciAuY29udGVudCAucmVwbHktYnRuew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXJpZ2h0OjBweDsNCgl0b3A6MTBweDsNCgljb2xvcjojMjIyMjIyOw0KCWZvbnQtc2l6ZToxOHB4Ow0KfQ0KDQouY29tbWVudC1ibG9jayAuaW5uZXIgLmNvbnRlbnQgLnJlcGx5LWJ0bjpob3ZlcnsNCgljb2xvcjojZmViZTI4Ow0KfQ0KDQovKlBvc3QgV2lkZ2V0Ki8NCg0KLnNpZGViYXIgLnBvcHVsYXItcG9zdHMgLnBvc3R7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJZm9udC1zaXplOjE0cHg7DQoJY29sb3I6IzY2NjY2NjsNCglwYWRkaW5nOjBweCAwcHg7DQoJcGFkZGluZy1sZWZ0OjExMHB4Ow0KCW1pbi1oZWlnaHQ6MTEwcHg7DQoJbWFyZ2luLWJvdHRvbToyMHB4Ow0KCWJvcmRlci1ib3R0b206MXB4IHNvbGlkICNmMGYwZjA7DQp9DQoNCi5zaWRlYmFyIC5wb3B1bGFyLXBvc3RzIC5wb3N0Omxhc3QtY2hpbGR7DQoJbWFyZ2luLWJvdHRvbTowcHg7DQoJbWluLWhlaWdodDo5MHB4Ow0KCWJvcmRlcjowcHg7DQp9DQoNCi5zaWRlYmFyIC5wb3B1bGFyLXBvc3RzIC5wb3N0IC5wb3N0LXRodW1iew0KCSBwb3NpdGlvbjphYnNvbHV0ZTsNCgkgbGVmdDowcHg7DQoJIHRvcDowcHg7DQoJIHdpZHRoOjkwcHg7DQp9DQoNCi5zaWRlYmFyIC5wb3B1bGFyLXBvc3RzIC5wb3N0OmhvdmVyIC5wb3N0LXRodW1iIGltZ3sNCglvcGFjaXR5OjAuNzA7DQp9DQoNCi5zaWRlYmFyIC5wb3B1bGFyLXBvc3RzIC5wb3N0IC5wb3N0LXRodW1iIGltZ3sNCglkaXNwbGF5OmJsb2NrOw0KCXdpZHRoOjEwMCU7DQoJdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS1tb3otdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLW8tdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KfQ0KDQouc2lkZWJhciAucG9wdWxhci1wb3N0cyAucG9zdCAucG9zdC10aHVtYiAub3ZlcmxheXsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglsZWZ0OjBweDsNCgl0b3A6MHB4Ow0KCXdpZHRoOjEwMCU7DQoJaGVpZ2h0OjEwMCU7DQoJZGlzcGxheTpibG9jazsNCglvcGFjaXR5OjA7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI3LDUxLDc3LDAuOTApOw0KCXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktbW96LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktbXMtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCn0NCg0KLnNpZGViYXIgLnBvcHVsYXItcG9zdHMgLnBvc3Q6aG92ZXIgLnBvc3QtdGh1bWIgLm92ZXJsYXl7DQoJb3BhY2l0eToxOw0KfQ0KDQouc2lkZWJhciAucG9wdWxhci1wb3N0cyAucG9zdCAudGV4dHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgl0b3A6LTRweDsNCglmb250LXNpemU6MThweDsNCgltYXJnaW46MHB4IDBweCA0cHg7DQoJZm9udC13ZWlnaHQ6NTAwOw0KCWNvbG9yOiMyNjI2MjY7DQoJbGluZS1oZWlnaHQ6MS40ZW07DQoJdGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTsNCn0NCg0KLnNpZGViYXIgLnBvcHVsYXItcG9zdHMgLnBvc3QgLnRleHQgYXsNCgljb2xvcjojMjIyMjIyOw0KCXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktbW96LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktbXMtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCn0NCg0KLnNpZGViYXIgLnBvcHVsYXItcG9zdHMgLnBvc3QgYSwNCi5zaWRlYmFyIC5wb3B1bGFyLXBvc3RzIC5wb3N0IGE6aG92ZXJ7DQoJY29sb3I6I2ZlYmUyODsNCn0NCg0KLnNpZGViYXIgLnBvcHVsYXItcG9zdHMgLnBvc3QtaW5mb3sNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglmb250LXNpemU6MTZweDsNCgljb2xvcjojODQ4NDg0Ow0KCXBhZGRpbmctbGVmdDoyMnB4Ow0KCWZvbnQtd2VpZ2h0OjQwMDsNCglmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmOw0KfQ0KDQouc2lkZWJhciAucG9wdWxhci1wb3N0cyAucG9zdC1pbmZvOmJlZm9yZXsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgljb250ZW50OidcZjA3Myc7DQoJbGVmdDowcHg7DQoJdG9wOjBweDsNCgljb2xvcjojZmViZTI4Ow0KCWZvbnQtc2l6ZToxNHB4Ow0KCWZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnOw0KfQ0KDQovKlBvcHVsYXIgVGFncyovDQoNCi5zaWRlYmFyIC5wb3B1bGFyLXRhZ3MgYXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglkaXNwbGF5OmlubGluZS1ibG9jazsNCglsaW5lLWhlaWdodDoyNHB4Ow0KCXBhZGRpbmc6MnB4IDE2cHggMnB4Ow0KCW1hcmdpbjowcHggNnB4IDEwcHggMHB4Ow0KCWNvbG9yOiM4NDg0ODQ7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQoJZm9udC1zaXplOjE1cHg7DQoJdGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTsNCgliYWNrZ3JvdW5kOm5vbmU7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWJvcmRlcjoxcHggc29saWQgI2YwZjBmMDsNCgl0cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsNCgktbXMtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsNCgktby10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1tb3otdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsNCglmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmOw0KfQ0KDQouc2lkZWJhciAucG9wdWxhci10YWdzIGE6aG92ZXJ7DQoJY29sb3I6IzI2MjYyNjsNCglib3JkZXItY29sb3I6I2ZlYmUyODsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmZWJlMjg7DQp9DQoNCi5ibG9nLXNpbmdsZSAubmV3cy1ibG9jay10d297DQoJbWFyZ2luLWJvdHRvbTo5MHB4Ow0KfQ0KDQouYmxvZy1zaW5nbGUgLm5ld3MtYmxvY2stdHdvIC5pbm5lci1ib3ggLmltYWdlew0KCW1hcmdpbi1ib3R0b206MHB4Ow0KfQ0KDQovKnBvc3Qgc2hhcmUgb3B0aW9ucyovDQoNCi5ibG9nLXNpbmdsZSAucG9zdC1zaGFyZS1vcHRpb25zew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCW1hcmdpbi10b3A6MjBweDsNCglwYWRkaW5nOjBweCAyMHB4IDBweDsNCn0NCg0KLmJsb2ctc2luZ2xlIC5wb3N0LXNoYXJlLW9wdGlvbnMgLnBvc3Qtc2hhcmUtaW5uZXJ7DQoJYm9yZGVyLXRvcDoxcHggc29saWQgI2Y0ZjRmNDsNCglwYWRkaW5nLXRvcDoyMHB4Ow0KfQ0KDQouYmxvZy1zaW5nbGUgLnBvc3Qtc2hhcmUtb3B0aW9ucyAuaW5mby1saW5rc3sNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCn0NCg0KLmJsb2ctc2luZ2xlIC5wb3N0LXNoYXJlLW9wdGlvbnMgLmluZm8tbGlua3MgbGl7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWFyZ2luLXJpZ2h0OjIwcHg7DQoJZGlzcGxheTppbmxpbmUtYmxvY2s7DQp9DQoNCi5ibG9nLXNpbmdsZSAucG9zdC1zaGFyZS1vcHRpb25zIC5pbmZvLWxpbmtzIGxpIGF7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJd2lkdGg6MzVweDsNCgloZWlnaHQ6MzVweDsNCgljb2xvcjojODQ4NDg0Ow0KCWZvbnQtc2l6ZToxNHB4Ow0KCXRleHQtYWxpZ246Y2VudGVyOw0KCWRpc3BsYXk6aW5saW5lLWJsb2NrOw0KCWJvcmRlci1yYWRpdXM6NTAlOw0KCWxpbmUtaGVpZ2h0OjM0cHg7DQoJbWFyZ2luLXJpZ2h0OjEwcHg7DQoJYmFja2dyb3VuZC1jb2xvcjojZjRmNGY0Ow0KfQ0KDQouYmxvZy1zaW5nbGUgLnBvc3Qtc2hhcmUtb3B0aW9ucyAudGFncyBzcGFuew0KCWZvbnQtc2l6ZToxNnB4Ow0KCWNvbG9yOiMyMjIyMjI7DQoJZm9udC13ZWlnaHQ6NTAwOw0KfQ0KDQouYmxvZy1zaW5nbGUgLnBvc3Qtc2hhcmUtb3B0aW9ucyAudGFncyBhew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiNmZWJlMjg7DQoJZm9udC1zaXplOjE2cHg7DQoJZm9udC13ZWlnaHQ6NDAwOw0KfQ0KDQouYmxvZy1zaW5nbGUgLnBvc3Qtc2hhcmUtb3B0aW9ucyAudGFnc3sNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojYjdiN2I3Ow0KCWZvbnQtc2l6ZToxNnB4Ow0KCWZvbnQtd2VpZ2h0OjcwMDsNCgltYXJnaW4tdG9wOjNweDsNCn0NCg0KLypBdXRob3IgQm94Ki8NCg0KLmF1dGhvci1ib3h7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWFyZ2luLWJvdHRvbTo2MHB4Ow0KfQ0KDQouYXV0aG9yLWJveCAuYXV0aG9yLWNvbW1lbnR7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJcGFkZGluZzozMHB4IDBweCAyMHB4Ow0KCWJvcmRlci10b3A6MXB4IHNvbGlkICNmMmYyZjI7DQoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2YyZjJmMjsNCn0NCg0KLmF1dGhvci1ib3ggLmF1dGhvci1jb21tZW50IC5pbm5lci1ib3h7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJcGFkZGluZy1sZWZ0OjExMHB4Ow0KfQ0KDQouYXV0aG9yLWJveCAuYXV0aG9yLWNvbW1lbnQgLmlubmVyLWJveCAuaW1hZ2V7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJbGVmdDowcHg7DQoJdG9wOjBweDsNCgl3aWR0aDo4NXB4Ow0KCW1hcmdpbi1ib3R0b206MjBweDsNCn0NCg0KLmF1dGhvci1ib3ggLmF1dGhvci1jb21tZW50IC5pbm5lci1ib3ggaDN7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6IzI2MjYyNjsNCglmb250LXNpemU6MjJweDsNCglmb250LXdlaWdodDo1MDA7DQoJbWFyZ2luLWJvdHRvbToxMHB4Ow0KfQ0KDQouYXV0aG9yLWJveCAuYXV0aG9yLWNvbW1lbnQgLmlubmVyLWJveCAudGV4dHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojODQ4NDg0Ow0KCWZvbnQtc2l6ZToxNnB4Ow0KCWZvbnQtd2VpZ2h0OjQwMDsNCglsaW5lLWhlaWdodDoxLjZlbTsNCgltYXJnaW4tYm90dG9tOjEwcHg7DQoJZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjsNCn0NCg0KLyoqKiANCg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCglDb21tZW50cyBBcmVhDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQogKioqLw0KDQouc2lkZWJhci1wYWdlLWNvbnRhaW5lciAuY29tbWVudHMtYXJlYXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW4tdG9wOjBweDsNCgltYXJnaW4tYm90dG9tOjUwcHg7DQp9DQoNCi5zaWRlYmFyLXBhZ2UtY29udGFpbmVyIC5jb21tZW50cy1hcmVhIC5jb21tZW50LWJveHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW4tYm90dG9tOjQwcHg7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLW1vei10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQp9DQoNCi5zaWRlYmFyLXBhZ2UtY29udGFpbmVyIC5jb21tZW50cy1hcmVhIC5jb21tZW50LWJveDpudGgtY2hpbGQoMSl7DQoJcGFkZGluZy10b3A6MHB4OwkNCn0NCg0KLnNpZGViYXItcGFnZS1jb250YWluZXIgLmNvbW1lbnRzLWFyZWEgLmNvbW1lbnQtYm94OmhvdmVyew0KCWJvcmRlci1jb2xvcjojZWI1MzEwOwkNCn0NCg0KLnNpZGViYXItcGFnZS1jb250YWluZXIgLmNvbW1lbnRzLWFyZWEgLmNvbW1lbnQtYm94LnJlcGx5LWNvbW1lbnR7DQoJDQp9DQoNCi5zaWRlYmFyLXBhZ2UtY29udGFpbmVyIC5jb21tZW50cy1hcmVhIC5jb21tZW50ew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWZvbnQtc2l6ZToxNHB4Ow0KCXBhZGRpbmc6MHB4IDBweCAwcHggODBweDsNCn0NCg0KLnNpZGViYXItcGFnZS1jb250YWluZXIgLmNvbW1lbnRzLWFyZWEgLmNvbW1lbnQgLmNvbW1lbnQtaW5uZXJ7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJcGFkZGluZzoxNXB4IDIwcHg7DQoJYm9yZGVyOjFweCBzb2xpZCAjZjRmNGY0Ow0KfQ0KDQouc2lkZWJhci1wYWdlLWNvbnRhaW5lciAuY29tbWVudHMtYXJlYSAuY29tbWVudCAuY29tbWVudC1pbm5lciAucmF0aW5new0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXJpZ2h0OjE1cHg7DQoJdG9wOjE1cHg7DQp9DQoNCi5zaWRlYmFyLXBhZ2UtY29udGFpbmVyIC5jb21tZW50cy1hcmVhIC5jb21tZW50IC5jb21tZW50LWlubmVyIC5yYXRpbmcgLmZhew0KCWRpc3BsYXk6aW5saW5lLWJsb2NrOw0KCWNvbG9yOiNmZWJlMjg7DQoJZm9udC1zaXplOjE0cHg7DQp9DQoNCi5zaWRlYmFyLXBhZ2UtY29udGFpbmVyIC5jb21tZW50cy1hcmVhIC5jb21tZW50LWJveCAuYXV0aG9yLXRodW1iew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCWxlZnQ6MHB4Ow0KCXRvcDowcHg7DQoJbWFyZ2luLWJvdHRvbToyMHB4Ow0KfQ0KDQouc2lkZWJhci1wYWdlLWNvbnRhaW5lciAuY29tbWVudHMtYXJlYSAuY29tbWVudC1ib3ggLmF1dGhvci10aHVtYiBpbWd7DQoJd2lkdGg6NjBweDsNCglkaXNwbGF5OmJsb2NrOw0KfQ0KDQouc2lkZWJhci1wYWdlLWNvbnRhaW5lciAuY29tbWVudHMtYXJlYSAuY29tbWVudC1pbmZvew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiMyMjIyMjI7DQoJbGluZS1oZWlnaHQ6MjRweDsNCglmb250LXNpemU6MTZweDsJDQoJZm9udC13ZWlnaHQ6NTAwOw0KfQ0KDQouc2lkZWJhci1wYWdlLWNvbnRhaW5lciAuY29tbWVudHMtYXJlYSAuY29tbWVudC1ib3ggLnRleHR7DQoJY29sb3I6Izg0ODQ4NDsNCglmb250LXNpemU6MTZweDsNCiAgICBtYXJnaW4tdG9wOjEycHg7DQoJZm9udC13ZWlnaHQ6NDAwOw0KICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTsNCgltYXJnaW4tYm90dG9tOjBweDsNCglmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmOw0KfQ0KDQovKkNvbW1lbnQgRm9ybSovDQoNCi5jb21tZW50LWZvcm17DQoJcG9zaXRpb246cmVsYXRpdmU7DQp9DQoNCi5jb21tZW50LWZvcm0gLmdyb3VwLXRpdGxlew0KCW1hcmdpbi1ib3R0b206MjBweDsNCn0NCg0KLmNvbW1lbnQtZm9ybSAucmF0aW5nLWJveHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW4tYm90dG9tOjIwcHg7DQp9DQoNCi5jb21tZW50LWZvcm0gLnJhdGluZy1ib3ggLnRleHR7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJZm9udC1zaXplOjE2cHg7DQoJY29sb3I6IzcyNzI3MjsNCgltYXJnaW4tYm90dG9tOjEwcHg7DQp9DQoNCi5jb21tZW50LWZvcm0gLnJhdGluZy1ib3ggLnJhdGluZ3sNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglkaXNwbGF5OmlubGluZS1ibG9jazsNCgltYXJnaW4tcmlnaHQ6MTVweDsNCglwYWRkaW5nLXJpZ2h0OjE1cHg7DQoJYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZWJlYmViOw0KfQ0KDQouY29tbWVudC1mb3JtIC5yYXRpbmctYm94IC5yYXRpbmc6bGFzdC1jaGlsZHsNCglib3JkZXI6MHB4Ow0KfQ0KDQouY29tbWVudC1mb3JtIC5yYXRpbmctYm94IC5yYXRpbmcgLmZhew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCW1hcmdpbi1yaWdodDoycHg7DQoJZGlzcGxheTppbmxpbmUtYmxvY2s7DQp9DQoNCi5jb21tZW50LWZvcm0gLnJhdGluZy1ib3ggLnJhdGluZyBhew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiNkNmQ2ZDY7DQoJZm9udC1zaXplOjEycHg7DQoJZGlzcGxheTppbmxpbmUtYmxvY2s7DQp9DQoNCi5jb21tZW50LWZvcm0gLnJhdGluZy1ib3ggLnJhdGluZyBhOmhvdmVyew0KCWNvbG9yOiNmZWJlMjg7DQp9DQoNCi5jb21tZW50LWZvcm0gLmZvcm0tZ3JvdXB7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWFyZ2luLWJvdHRvbToxNXB4Ow0KfQ0KDQouY29tbWVudC1mb3JtIC5mb3JtLWdyb3VwIGxhYmVsew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiM4NDg0ODQ7DQoJZm9udC1zaXplOjE2cHg7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7DQp9DQoNCi5jb21tZW50LWZvcm0gLmZvcm0tZ3JvdXA6bGFzdC1jaGlsZHsNCgltYXJnaW4tYm90dG9tOjBweDsNCn0NCg0KLmNvbW1lbnQtZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJ0ZXh0Il0sDQouY29tbWVudC1mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9InBhc3N3b3JkIl0sDQouY29tbWVudC1mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9InRlbCJdLA0KLmNvbW1lbnQtZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJlbWFpbCJdLA0KLmNvbW1lbnQtZm9ybSAuZm9ybS1ncm91cCBzZWxlY3R7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJZGlzcGxheTpibG9jazsNCgl3aWR0aDoxMDAlOw0KCWxpbmUtaGVpZ2h0OjI4cHg7DQoJcGFkZGluZzoxMHB4IDE1cHg7DQoJYm9yZGVyOjFweCBzb2xpZCAjZWZlZmVmOw0KCWhlaWdodDo1MHB4Ow0KCWNvbG9yOiM4NDg0ODQ7DQoJZm9udC13ZWlnaHQ6MzAwOw0KCWJhY2tncm91bmQ6I2ZmZmZmZjsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLW1zLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLW8tdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsNCgktbW96LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsNCn0NCg0KLmNvbW1lbnQtZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJ0ZXh0Il06Zm9jdXMsDQouY29tbWVudC1mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9InBhc3N3b3JkIl06Zm9jdXMsDQouY29tbWVudC1mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9InRlbCJdOmZvY3VzLA0KLmNvbW1lbnQtZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJlbWFpbCJdOmZvY3VzLA0KLmNvbW1lbnQtZm9ybSAuZm9ybS1ncm91cCBzZWxlY3Q6Zm9jdXMsDQouY29tbWVudC1mb3JtIC5mb3JtLWdyb3VwIHRleHRhcmVhOmZvY3Vzew0KCWJvcmRlci1jb2xvcjojZmViZTI4Ow0KfQ0KDQouY29tbWVudC1mb3JtIC5mb3JtLWdyb3VwIHRleHRhcmVhew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWRpc3BsYXk6YmxvY2s7DQoJd2lkdGg6MTAwJTsNCglsaW5lLWhlaWdodDoyNnB4Ow0KCXBhZGRpbmc6MTBweCAxNXB4Ow0KCWNvbG9yOiNkNmQ2ZDY7DQoJYm9yZGVyOjFweCBzb2xpZCAjZWZlZmVmOw0KCWhlaWdodDoxMDVweDsNCglmb250LXdlaWdodDozMDA7DQoJYmFja2dyb3VuZDojZmZmZmZmOw0KCXJlc2l6ZTpub25lOw0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsNCgktbXMtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsNCgktby10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1tb3otdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsNCgl0cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KfQ0KDQouY29tbWVudC1mb3JtIGJ1dHRvbnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW4tdG9wOjIwcHg7DQoJcGFkZGluZzo5cHggMzZweDsNCn0NCg0KLmNvbW1lbnQtZm9ybSBpbnB1dDpmb2N1cywNCi5jb21tZW50LWZvcm0gc2VsZWN0OmZvY3VzLA0KLmNvbW1lbnQtZm9ybSB0ZXh0YXJlYTpmb2N1c3sNCglib3JkZXItY29sb3I6I2ZlYmUyODsJDQp9DQoNCi5jb250YWN0LWRldGFpbC1zZWN0aW9uew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmc6OTBweCAwcHg7DQp9DQoNCi8qQ29udGFjdCBJbmZvKi8NCg0KLmNvbnRhY3QtaW5mb3sNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgliYWNrZ3JvdW5kLWNvbG9yOiMxYTMyNGQ7DQp9DQoNCi5jb250YWN0LWluZm8gLmltYWdlLWNvbHVtbnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglwYWRkaW5nOjBweDsNCn0NCg0KLmNvbnRhY3QtaW5mbyAuaW1hZ2UtY29sdW1uIC5pbWFnZXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCn0NCg0KLmNvbnRhY3QtaW5mbyAuaW1hZ2UtY29sdW1uIC5pbWFnZSBpbWd7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJd2lkdGg6MTAwJTsNCglkaXNwbGF5OmJsb2NrOw0KfQ0KDQouY29udGFjdC1pbmZvIC5jb250ZW50LWNvbHVtbnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglwYWRkaW5nOjBweDsNCn0NCg0KLmNvbnRhY3QtaW5mbyAuY29udGVudC1jb2x1bW4gLnNlYy10aXRsZXsNCgltYXJnaW4tYm90dG9tOjMwcHg7DQp9DQoNCi5jb250YWN0LWluZm8gLmNvbnRlbnQtY29sdW1uIC5zZWMtdGl0bGUgaDJ7DQoJZm9udC1zaXplOjI0cHg7DQoJZm9udC13ZWlnaHQ6NTAwOw0KCW1hcmdpbi1ib3R0b206MTVweDsNCglwYWRkaW5nLWJvdHRvbToxMHB4Ow0KfQ0KDQouY29udGFjdC1pbmZvIC5jb250ZW50LWNvbHVtbiAuaW5uZXItY29sdW1uew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmc6NDVweCA0MHB4Ow0KfQ0KDQouY29udGFjdC1pbmZvIC5jb250ZW50LWNvbHVtbiAuaW5uZXItY29sdW1uOmJlZm9yZXsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgljb250ZW50OicnOw0KCWxlZnQ6MHB4Ow0KCXRvcDowcHg7DQoJd2lkdGg6MTAwJTsNCgloZWlnaHQ6MTAwJTsNCglkaXNwbGF5OmJsb2NrOw0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgyNyw1MSw3NywwLjk1KTsNCn0NCg0KLmNvbnRhY3QtaW5mbyAuY29udGVudC1jb2x1bW4gLmlubmVyLWNvbHVtbiBoM3sNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojZmZmZmZmOw0KCWZvbnQtd2VpZ2h0OjUwMDsNCglmb250LXNpemU6MjBweDsNCgltYXJnaW4tYm90dG9tOjIwcHg7DQp9DQoNCi5jb250YWN0LWRldGFpbC1zZWN0aW9uIC5vd2wtZG90c3sNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCn0NCg0KLmNvbnRhY3QtZGV0YWlsLXNlY3Rpb24gLm93bC1uYXZ7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQoJd2lkdGg6MTAwJTsNCgltYXJnaW4tdG9wOjI1cHg7DQp9DQoNCi5jb250YWN0LWRldGFpbC1zZWN0aW9uIC5vd2wtbmF2IC5vd2wtcHJldiwNCi5jb250YWN0LWRldGFpbC1zZWN0aW9uIC5vd2wtbmF2IC5vd2wtbmV4dHsNCglmb250LXNpemU6MjRweDsNCgltYXJnaW4tbGVmdDoxMHB4Ow0KCXRleHQtYWxpZ246Y2VudGVyOw0KCWJvcmRlci1yYWRpdXM6NTAlOw0KCWNvbG9yOiM4MDgwODA7DQoJZGlzcGxheTppbmxpbmUtYmxvY2s7DQoJdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS1tb3otdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLW8tdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KfQ0KDQouY29udGFjdC1kZXRhaWwtc2VjdGlvbiAub3dsLW5hdiAub3dsLXByZXY6aG92ZXIsDQouY29udGFjdC1kZXRhaWwtc2VjdGlvbiAub3dsLW5hdiAub3dsLW5leHQ6aG92ZXJ7DQoJY29sb3I6IzE3MjI3MjsNCn0NCg0KLyoqKiANCg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCglNYXAgU2VjdGlvbiBTdHlsZQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0KKioqLw0KDQoubWFwLWRhdGF7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQoJZm9udC1zaXplOjE0cHg7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWxpbmUtaGVpZ2h0OjEuOGVtOw0KfQ0KDQoubWFwLWRhdGEgaDZ7DQoJZm9udC1zaXplOjE2cHg7DQoJZm9udC13ZWlnaHQ6NzAwOw0KCXRleHQtYWxpZ246Y2VudGVyOw0KCW1hcmdpbi1ib3R0b206NXB4Ow0KCWNvbG9yOiMxMjEyMTI7DQp9DQoNCi5tYXAtc2VjdGlvbiAuZ29vZ2xlLW1hcHsNCgloZWlnaHQ6NDcwcHg7CQ0KfQ0KDQovKioqIA0KDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KCUNvbnRhY3QgRm9ybSBTZWN0aW9uDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQoqKiovDQoNCi5jb250YWN0LWZvcm0tc2VjdGlvbnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW4tYm90dG9tOjkwcHg7DQp9DQoNCi5jb250YWN0LWZvcm0tc2VjdGlvbiAuaW5uZXItY29udGFpbmVyew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCW1hcmdpbi10b3A6LTg1cHg7DQoJcGFkZGluZzo4NXB4IDkwcHggODBweDsNCglib3JkZXI6MXB4IHNvbGlkICNmMmYyZjI7DQoJYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOw0KfQ0KDQouY29udGFjdC1mb3JtLXNlY3Rpb24gLmlubmVyLWNvbnRhaW5lciAuc2VjLXRpdGxlew0KCW1hcmdpbi1ib3R0b206MjJweDsNCn0NCg0KLmNvbnRhY3QtZm9ybS1zZWN0aW9uIC5pbm5lci1jb250YWluZXIgLnRleHR7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6Izg0ODQ4NDsNCglmb250LXNpemU6MThweDsNCgl0ZXh0LWFsaWduOmNlbnRlcjsNCgltYXJnaW4tYm90dG9tOjMwcHg7DQoJZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjsNCn0NCg0KLmNvbnRhY3QtZm9ybXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCn0NCg0KLmNvbnRhY3QtZm9ybSAuZm9ybS1ncm91cHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW4tYm90dG9tOjIwcHg7DQp9DQoNCi5jb250YWN0LWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXQsDQouY29udGFjdC1mb3JtIC5mb3JtLWdyb3VwIHRleHRhcmVhew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXdpZHRoOjEwMCU7DQoJZGlzcGxheTpibG9jazsNCgljb2xvcjojODQ4NDg0Ow0KCWZvbnQtc2l6ZToxNnB4Ow0KCXBhZGRpbmc6MTBweCAwcHg7DQoJZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjsNCglib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZjJmMmYyOw0KfQ0KDQouY29udGFjdC1mb3JtIC5mb3JtLWdyb3VwIHRleHRhcmVhew0KCWhlaWdodDoxODVweDsNCglyZXNpemU6bm9uZTsNCn0NCg0KLmNvbnRhY3QtZm9ybSAuZm9ybS1ncm91cCBidXR0b257DQoJbWFyZ2luLXRvcDoxMHB4Ow0KfQ0KDQouY29udGFjdC1mb3JtIGlucHV0LmVycm9yLA0KLmNvbnRhY3QtZm9ybSBzZWxlY3QuZXJyb3IsDQouY29udGFjdC1mb3JtIHRleHRhcmVhLmVycm9yew0KCWJvcmRlci1jb2xvcjojZmYwMDAwICFpbXBvcnRhbnQ7CQ0KfQ0KDQouY29udGFjdC1mb3JtIGxhYmVsLmVycm9yew0KCWRpc3BsYXk6YmxvY2s7DQoJbGluZS1oZWlnaHQ6MjRweDsNCglwYWRkaW5nOjVweCAwcHggMHB4Ow0KCW1hcmdpbjowcHg7DQoJdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOw0KCWZvbnQtc2l6ZToxMnB4Ow0KCWNvbG9yOiNmZjAwMDA7DQoJZm9udC13ZWlnaHQ6NTAwOwkNCn0NCg0KLypIb3cgV29ya3MgU2VjdGlvbiovDQoNCi5ob3ctd29ya3Mtc2VjdGlvbnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglwYWRkaW5nLXRvcDo4NXB4Ow0KfQ0KDQouaG93LXdvcmtzLXNlY3Rpb24gaDJ7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6IzI2MjYyNjsNCglmb250LXNpemU6MzBweDsNCglmb250LXdlaWdodDo0MDA7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQoJbWFyZ2luLWJvdHRvbTo3NXB4Ow0KfQ0KDQovKldvcmsgQmxvY2sgT25lKi8NCg0KLndvcmstYmxvY2stb25lew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCW1hcmdpbi1ib3R0b206NjBweDsNCn0NCg0KLndvcmstYmxvY2stb25lIC5jb250ZW50LWNvbHVtbnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW4tYm90dG9tOjQwcHg7DQp9DQoNCi53b3JrLWJsb2NrLW9uZSAuY29udGVudC1jb2x1bW4gLmlubmVyLWNvbHVtbnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglwYWRkaW5nOjkwcHggMHB4Ow0KCXBhZGRpbmctcmlnaHQ6MTEwcHg7DQp9DQoNCi53b3JrLWJsb2NrLW9uZSAuY29udGVudC1jb2x1bW4gLmlubmVyLWNvbHVtbiAuaWNvbi1ib3h7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6I2ZlYmUyODsNCglmb250LXNpemU6NjBweDsNCglsaW5lLWhlaWdodDoxZW07DQoJbWFyZ2luLWJvdHRvbToxOHB4Ow0KfQ0KDQoud29yay1ibG9jay1vbmUgLmNvbnRlbnQtY29sdW1uIC5pbm5lci1jb2x1bW4gaDN7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6IzI2MjYyNjsNCglmb250LXNpemU6MjBweDsNCglmb250LXdlaWdodDo1MDA7DQoJbGluZS1oZWlnaHQ6MS4yZW07DQoJbWFyZ2luLWJvdHRvbToxNXB4Ow0KfQ0KDQoud29yay1ibG9jay1vbmUgLmNvbnRlbnQtY29sdW1uIC5pbm5lci1jb2x1bW4gLnRleHR7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6Izg0ODQ4NDsNCglmb250LXNpemU6MTZweDsNCglmb250LXdlaWdodDo0MDA7DQoJZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjsNCn0NCg0KLndvcmstYmxvY2stb25lIC5pbWFnZS1jb2x1bW57DQoJcG9zaXRpb246cmVsYXRpdmU7DQp9DQoNCi53b3JrLWJsb2NrLW9uZSAuaW1hZ2UtY29sdW1uIC5pbWFnZXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCn0NCg0KLndvcmstYmxvY2stb25lIC5pbWFnZS1jb2x1bW4gLmltYWdlIGltZ3sNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgl3aWR0aDoxMDAlOw0KCWRpc3BsYXk6YmxvY2s7DQp9DQoNCi53b3JrLWJsb2NrLW9uZS5zdHlsZS10d28gLmNvbnRlbnQtY29sdW1uIC5pbm5lci1jb2x1bW57DQoJcGFkZGluZy10b3A6MTMwcHg7DQp9DQoNCi8qV29yayBCbG9jayBUd28qLw0KDQoud29yay1ibG9jay10d297DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJcGFkZGluZzo1MHB4IDBweDsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmN2Y3Zjc7DQp9DQoNCi53b3JrLWJsb2NrLXR3byAuY29udGVudC1jb2x1bW57DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWFyZ2luLWJvdHRvbTo0MHB4Ow0KfQ0KDQoud29yay1ibG9jay10d28gLmNvbnRlbnQtY29sdW1uIC5pbm5lci1jb2x1bW57DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJcGFkZGluZzo5MHB4IDBweDsNCglwYWRkaW5nLWxlZnQ6MTEwcHg7DQp9DQoNCi53b3JrLWJsb2NrLXR3byAuY29udGVudC1jb2x1bW4gLmlubmVyLWNvbHVtbiAuaWNvbi1ib3h7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6I2ZlYmUyODsNCglmb250LXNpemU6NjBweDsNCglsaW5lLWhlaWdodDoxZW07DQoJbWFyZ2luLWJvdHRvbToxOHB4Ow0KfQ0KDQoud29yay1ibG9jay10d28gLmNvbnRlbnQtY29sdW1uIC5pbm5lci1jb2x1bW4gaDN7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6IzI2MjYyNjsNCglmb250LXNpemU6MjBweDsNCglmb250LXdlaWdodDo1MDA7DQoJbGluZS1oZWlnaHQ6MS4yZW07DQoJbWFyZ2luLWJvdHRvbToxMnB4Ow0KfQ0KDQoud29yay1ibG9jay10d28gLmNvbnRlbnQtY29sdW1uIC5pbm5lci1jb2x1bW4gLnRleHR7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6Izg0ODQ4NDsNCglmb250LXNpemU6MTZweDsNCglmb250LXdlaWdodDo0MDA7DQoJZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjsNCn0NCg0KLndvcmstYmxvY2stdHdvIC5pbWFnZS1jb2x1bW57DQoJcG9zaXRpb246cmVsYXRpdmU7DQp9DQoNCi53b3JrLWJsb2NrLXR3byAuaW1hZ2UtY29sdW1uIC5pbWFnZXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCn0NCg0KLndvcmstYmxvY2stdHdvIC5pbWFnZS1jb2x1bW4gLmltYWdlIGltZ3sNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgl3aWR0aDoxMDAlOw0KCWRpc3BsYXk6YmxvY2s7DQp9DQoNCi8qKiogDQoNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoJQ2FsbCBUbyBBY3Rpb24gU2VjdGlvbg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0KKioqLw0KDQouY2FsbC10by1hY3Rpb24tc2VjdGlvbnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglwYWRkaW5nOjMwcHggMHB4Ow0KCWJhY2tncm91bmQtY29sb3I6I2ZlYmUyODsNCn0NCg0KLmNhbGwtdG8tYWN0aW9uLXNlY3Rpb24gaDJ7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6IzI2MjYyNjsNCglmb250LXNpemU6MjJweDsNCglmb250LXdlaWdodDo1MDA7DQoJbWFyZ2luLXRvcDo4cHg7DQoJdGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTsNCn0NCg0KLmNhbGwtdG8tYWN0aW9uLXNlY3Rpb24gLmJ0bi1jb2x1bW57DQoJdGV4dC1hbGlnbjpyaWdodDsNCn0NCg0KLypCcm91Y2hlciBXaWRnZXQqLw0KDQouc2lkZWJhci1icm9jaHVyZSAuYnJvY2h1cmV7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6IzI2MjYyNjsNCglmb250LXdlaWdodDo1MDA7DQoJZm9udC1zaXplOjE4cHg7DQoJcGFkZGluZzo1cHggMjBweDsNCglkaXNwbGF5OmJsb2NrOw0KCXBhZGRpbmctbGVmdDo3MHB4Ow0KCWJvcmRlcjoxcHggc29saWQgI2Y3ZjdmNzsNCglib3JkZXItbGVmdC1jb2xvcjojZmViZTI4Ow0KCXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktby10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLW1zLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktbW96LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCn0NCg0KLnNpZGViYXItYnJvY2h1cmUgLmJyb2NodXJlIHNwYW57DQoJZGlzcGxheTpibG9jazsNCglmb250LXdlaWdodDo0MDA7DQoJY29sb3I6Izg0ODQ4NDsNCgl0cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLW8tdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLW1vei10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjsNCn0NCg0KLnNpZGViYXItYnJvY2h1cmUgLmJyb2NodXJlIC5pY29uew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXdpZHRoOjU0cHg7DQoJbGVmdDowcHg7DQoJdG9wOjBweDsNCgloZWlnaHQ6NjVweDsNCglmb250LXNpemU6MTZweDsNCgltYXJnaW4tcmlnaHQ6OHB4Ow0KCXRleHQtYWxpZ246Y2VudGVyOw0KCWZvbnQtd2VpZ2h0OjQwMDsNCglsaW5lLWhlaWdodDo2NXB4Ow0KCWNvbG9yOiMyMjIyMjI7DQoJYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZjJmMmYyOw0KCXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktby10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLW1zLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktbW96LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCn0NCg0KLnRlc3RpbW9uaWFsLXdpZGdldCAuaW5uZXItd2lkZ2V0ew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmc6MjVweCAyMnB4Ow0KCWJvcmRlcjoxcHggc29saWQgI2YyZjJmMjsNCglib3JkZXItbGVmdC1jb2xvcjojZmViZTI4Ow0KfQ0KDQoudGVzdGltb25pYWwtd2lkZ2V0IC5pbm5lci13aWRnZXQgLnRleHR7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJZm9udC1zaXplOjE4cHg7DQoJY29sb3I6Izg0ODQ4NDsNCgltYXJnaW4tYm90dG9tOjIwcHg7DQoJZm9udC1zdHlsZTppdGFsaWM7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7DQp9DQoNCi50ZXN0aW1vbmlhbC13aWRnZXQgLmlubmVyLXdpZGdldCAudXBwZXItYm94ew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmctYm90dG9tOjI0cHg7DQoJbWFyZ2luLWJvdHRvbToxNnB4Ow0KCWJvcmRlci1ib3R0b206MXB4IHNvbGlkICNmMmYyZjI7DQp9DQoNCi50ZXN0aW1vbmlhbC13aWRnZXQgLmlubmVyLXdpZGdldCAudXBwZXItYm94IC5pbm5lcnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglwYWRkaW5nLWxlZnQ6NzBweDsNCn0NCg0KLnRlc3RpbW9uaWFsLXdpZGdldCAuaW5uZXItd2lkZ2V0IC51cHBlci1ib3ggLmlubmVyIC5pbWFnZXsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl3aWR0aDo1NXB4Ow0KCWhlaWdodDo1NXB4Ow0KCWxlZnQ6MHB4Ow0KCW92ZXJmbG93OmhpZGRlbjsNCglib3JkZXItcmFkaXVzOjUwJTsNCn0NCg0KLnRlc3RpbW9uaWFsLXdpZGdldCAuaW5uZXItd2lkZ2V0IC51cHBlci1ib3ggLmlubmVyIGgzew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiMyMjIyMjI7DQoJZm9udC1zaXplOjE2cHg7DQoJZm9udC13ZWlnaHQ6NTAwOw0KCW1hcmdpbi1ib3R0b206MHB4Ow0KCXRleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7DQp9DQoNCi50ZXN0aW1vbmlhbC13aWRnZXQgLmlubmVyLXdpZGdldCAudXBwZXItYm94IC5pbm5lciAubG9jYXRpb257DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6I2ZlYmUyODsNCglmb250LXNpemU6MTZweDsNCglmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmOw0KfQ0KDQoudGVzdGltb25pYWwtd2lkZ2V0IC5vd2wtZG90c3sNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglsZWZ0OjI1cHg7DQoJYm90dG9tOjE1cHg7DQp9DQoNCi50ZXN0aW1vbmlhbC13aWRnZXQgLm93bC1kb3RzIC5vd2wtZG90ew0KCXdpZHRoOjI1cHg7DQoJaGVpZ2h0OjVweDsNCgltYXJnaW4tcmlnaHQ6NXB4Ow0KCWRpc3BsYXk6aW5saW5lLWJsb2NrOw0KCWJvcmRlcjoxcHggc29saWQgI2U4ZThlODsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmN2Y3Zjc7DQoJdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS1tb3otdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLW8tdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KfQ0KDQoudGVzdGltb25pYWwtd2lkZ2V0IC5vd2wtZG90cyAub3dsLWRvdDpob3ZlciwNCi50ZXN0aW1vbmlhbC13aWRnZXQgLm93bC1kb3RzIC5vd2wtZG90LmFjdGl2ZXsNCglib3JkZXItY29sb3I6I2ZlYmUyODsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmZWJlMjg7DQp9DQoNCi50ZXN0aW1vbmlhbC13aWRnZXQgLm93bC1uYXZ7DQoJZGlzcGxheTpub25lOw0KfQ0KDQouaGVscC13aWRnZXR7DQoJcG9zaXRpb246cmVsYXRpdmU7DQp9DQoNCi5oZWxwLXdpZGdldCAuaW5uZXItYm94ew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmc6MzVweCAyMnB4Ow0KCXRleHQtYWxpZ246Y2VudGVyOw0KCW92ZXJmbG93OmhpZGRlbjsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmZWJlMjg7DQp9DQoNCi5oZWxwLXdpZGdldCAuaW5uZXItYm94IGgyew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiMyNjI2MjY7DQoJZm9udC1zaXplOjIwcHg7DQoJZm9udC13ZWlnaHQ6NTAwOw0KCW1hcmdpbi1ib3R0b206OHB4Ow0KfQ0KDQouaGVscC13aWRnZXQgLmlubmVyLWJveCAudGV4dHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojMjYyNjI2Ow0KCWZvbnQtc2l6ZToxNnB4Ow0KCWZvbnQtd2VpZ2h0OjQwMDsNCgltYXJnaW4tYm90dG9tOjIwcHg7DQp9DQoNCi5oZWxwLXdpZGdldCAuaW5uZXItYm94IC5iaWctaWNvbnsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglsaW5lLWhlaWdodDoxZW07DQoJcmlnaHQ6LTVweDsNCglib3R0b206LTVweDsNCglmb250LXNpemU6OTBweDsNCgljb2xvcjpyZ2JhKDAsMCwwLDAuMDUpOw0KCS1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOw0KfQ0KDQouaGVscC13aWRnZXQgLmlubmVyLWJveCAudGhlbWUtYnRuew0KCXBhZGRpbmc6NHB4IDI2cHg7DQoJei1pbmRleDoxOw0KfQ0KDQovKkJsb2cgQ2F0ZWdvcnkqLw0KDQouYmxvZy1jYXQtdHdvew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmc6MHB4IDI1cHggMHB4Ow0KCWJvcmRlcjoxcHggc29saWQgI2YyZjJmMjsNCglib3JkZXItbGVmdC1jb2xvcjojZmViZTI4Ow0KfQ0KDQouYmxvZy1jYXQtdHdvIGxpew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmc6MTBweCAwcHg7DQoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2YyZjJmMjsNCn0NCg0KLmJsb2ctY2F0LXR3byBsaSBhew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWZvbnQtc2l6ZToxNnB4Ow0KCWZvbnQtd2VpZ2h0OjQwMDsNCglkaXNwbGF5OmJsb2NrOw0KCWNvbG9yOiMyMjIyMjI7DQoJcGFkZGluZzo4cHggMHB4Ow0KCXBhZGRpbmctbGVmdDoyNXB4Ow0KCXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJLW1vei10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktbXMtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktby10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KfQ0KDQouYmxvZy1jYXQtdHdvIGxpOmxhc3QtY2hpbGR7DQoJbWFyZ2luLWJvdHRvbTowcHg7DQoJYm9yZGVyOm5vbmU7DQp9DQoNCi5ibG9nLWNhdC10d28gbGkgYTpiZWZvcmV7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJY29udGVudDonJzsNCglsZWZ0OjBweDsNCgl0b3A6MThweDsNCgl3aWR0aDo4cHg7DQoJaGVpZ2h0OjhweDsNCgliYWNrZ3JvdW5kLWNvbG9yOiNlZWVlZWU7DQoJYm9yZGVyOjFweCBzb2xpZCAjZTZlNmU2Ow0KCWZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnOw0KCXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJLW1vei10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktbXMtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktby10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOw0KfQ0KDQouYmxvZy1jYXQtdHdvIGxpIGE6aG92ZXIsDQouYmxvZy1jYXQtdHdvIGxpLmFjdGl2ZSBhew0KCWNvbG9yOiMyNjI2MjY7DQoJcGFkZGluZy1sZWZ0OjMwcHg7DQoJYmFja2dyb3VuZC1jb2xvcjojZmViZTI4Ow0KfQ0KDQouYmxvZy1jYXQtdHdvIGxpIGE6aG92ZXI6OmJlZm9yZSwNCi5ibG9nLWNhdC10d28gbGkuYWN0aXZlIGE6OmJlZm9yZXsNCglsZWZ0OjEwcHg7DQoJYm9yZGVyLXdpZHRoOjNweDsNCglib3JkZXItY29sb3I6cmdiYSgyNyw1MSw3NywwLjIwKTsNCgliYWNrZ3JvdW5kLWNvbG9yOiMxYjMzNGQ7DQp9DQoNCi8qU2VydmljZXMgU2luZ2xlKi8NCg0KLnNlcnZpY2VzLXNpbmdsZXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCn0NCg0KLnNlcnZpY2VzLXNpbmdsZSAudXBwZXItYm94ew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCW1hcmdpbi1ib3R0b206MjBweDsNCn0NCg0KLnNlcnZpY2VzLXNpbmdsZSAudXBwZXItYm94IC5pbWFnZS1jb2x1bW57DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWFyZ2luLWJvdHRvbTo0MHB4Ow0KfQ0KDQouc2VydmljZXMtc2luZ2xlIC51cHBlci1ib3ggLmltYWdlLWNvbHVtbiAuaW1hZ2V7DQoJcG9zaXRpb246cmVsYXRpdmU7DQp9DQoNCi5zZXJ2aWNlcy1zaW5nbGUgLnVwcGVyLWJveCAuaW1hZ2UtY29sdW1uIC5pbWFnZSBpbWd7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJd2lkdGg6MTAwJTsNCglkaXNwbGF5OmJsb2NrOw0KfQ0KDQouc2VydmljZXMtc2luZ2xlIC51cHBlci1ib3ggLmNvbnRlbnQtY29sdW1uew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KfQ0KDQouc2VydmljZXMtc2luZ2xlIC51cHBlci1ib3ggLmNvbnRlbnQtY29sdW1uIC5pbm5lci1jb2x1bW57DQoJcG9zaXRpb246cmVsYXRpdmU7DQp9DQoNCi5zZXJ2aWNlcy1zaW5nbGUgLnVwcGVyLWJveCAuY29udGVudC1jb2x1bW4gLnRpdGxlew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWZvbnQtc3R5bGU6aXRhbGljOw0KCWNvbG9yOiNmZWJlMjg7DQoJZm9udC1zaXplOjE4cHg7DQoJbGluZS1oZWlnaHQ6MS42ZW07DQoJbWFyZ2luLWJvdHRvbToyMHB4Ow0KCWZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7DQp9DQoNCi5zZXJ2aWNlcy1zaW5nbGUgLnVwcGVyLWJveCAuY29udGVudC1jb2x1bW4gLmNvbnRlbnR7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJcGFkZGluZzoyNXB4IDMwcHggMjBweDsNCglib3JkZXI6MXB4IHNvbGlkICNmMmYyZjI7DQp9DQoNCi5zZXJ2aWNlcy1zaW5nbGUgLnVwcGVyLWJveCAuY29udGVudC1jb2x1bW4gLmNvbnRlbnQgLnNlYy10aXRsZXsNCgltYXJnaW4tYm90dG9tOjI4cHg7DQp9DQoNCi5zZXJ2aWNlcy1zaW5nbGUgLnVwcGVyLWJveCAuY29udGVudC1jb2x1bW4gLmNvbnRlbnQgLnNlYy10aXRsZSBoMnsNCgl0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplOw0KCWZvbnQtd2VpZ2h0OjQwMDsNCn0NCg0KLnNlcnZpY2VzLXNpbmdsZSAudXBwZXItYm94IC5jb250ZW50LWNvbHVtbiAuY29udGVudCAudGV4dHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCn0NCg0KLnNlcnZpY2VzLXNpbmdsZSAudXBwZXItYm94IC5jb250ZW50LWNvbHVtbiAuY29udGVudCAudGV4dCBwew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7DQoJY29sb3I6Izg0ODQ4NDsNCglmb250LXNpemU6MTZweDsNCgltYXJnaW4tYm90dG9tOjE4cHg7DQp9DQoNCi5zZXJ2aWNlcy1zaW5nbGUgLnVwcGVyLWJveCAuY29udGVudC1jb2x1bW4gLmNvbnRlbnQgLnRleHQgcDpsYXN0LWNoaWxkew0KCW1hcmdpbi1ib3R0b206MHB4Ow0KfQ0KDQovKkV4cGxvcmUgU2VjdGlvbiovDQoNCi5leHBsb3JlLXNlY3Rpb257DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWFyZ2luLWJvdHRvbTo2MHB4Ow0KfQ0KDQouZXhwbG9yZS1zZWN0aW9uIC5zZWMtdGl0bGV7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWFyZ2luLWJvdHRvbToyOHB4Ow0KfQ0KDQouZXhwbG9yZS1zZWN0aW9uIC50ZXh0ew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7DQoJY29sb3I6IzgwODA4MDsNCglmb250LXNpemU6MTZweDsNCgltYXJnaW4tYm90dG9tOjE4cHg7DQp9DQoNCi5leHBsb3JlLXNlY3Rpb24gLnJlYWQtbW9yZXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojMjYyNjI2Ow0KCWZvbnQtc2l6ZToxNnB4Ow0KCWZvbnQtd2VpZ2h0OjcwMDsNCgl0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplOw0KCXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktbW96LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktbXMtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCn0NCg0KLmV4cGxvcmUtc2VjdGlvbiAucmVhZC1tb3JlOmhvdmVyew0KCWNvbG9yOiNmZWJlMjg7DQp9DQoNCi5leHBsb3JlLXNlY3Rpb24gLmNpcmNsZS1ibG9ja3sNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCn0NCg0KLmV4cGxvcmUtc2VjdGlvbiAuY2lyY2xlLWJsb2NrIC5pbm5lci1ib3h7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQoJbWFyZ2luLWJvdHRvbTozMHB4Ow0KfQ0KDQouZXhwbG9yZS1zZWN0aW9uIC5jaXJjbGUtYmxvY2sgLmlubmVyLWJveCAuY291bnQtYm94ew0KCWRpc3BsYXk6bm9uZTsNCn0NCg0KLmV4cGxvcmUtc2VjdGlvbiAuY2lyY2xlLWJsb2NrIC5pY29uLWJveHsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl3aWR0aDoxMDAlOw0KCWxlZnQ6MHB4Ow0KCXRvcDowcHg7DQoJY29sb3I6IzI0M2I1NDsNCglmb250LXNpemU6NTBweDsNCgl0ZXh0LWFsaWduOmNlbnRlcjsNCglsaW5lLWhlaWdodDoxMTBweDsNCn0NCg0KLmV4cGxvcmUtc2VjdGlvbiAuY2lyY2xlLWJsb2NrIGgzew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiMyNjI2MjY7DQoJZm9udC1zaXplOjE4cHg7DQoJZm9udC13ZWlnaHQ6NTAwOw0KCW1hcmdpbi10b3A6OHB4Ow0KfQ0KDQoNCg0KDQoNCg0KDQoNCi5zZXJ2aWNlcy1zaW5nbGUgLnByb2QtdGFic3sNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW4tdG9wOjUwcHg7DQp9DQoNCi5zZXJ2aWNlcy1zaW5nbGUgLnByb2QtdGFicyAudGFiLWJ0bnN7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJei1pbmRleDoxOw0KfQ0KDQouc2VydmljZXMtc2luZ2xlIC5wcm9kLXRhYnMgLnRhYi1idG5zIC50YWItYnRuew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXRvcDoxcHg7DQoJZGlzcGxheTpibG9jazsNCglmbG9hdDpsZWZ0Ow0KCWZvbnQtc2l6ZToxNnB4Ow0KCWNvbG9yOiMyNjI2MjY7DQoJdGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTsNCglmb250LXdlaWdodDo3MDA7DQoJbGluZS1oZWlnaHQ6MjRweDsNCgljdXJzb3I6cG9pbnRlcjsNCglib3JkZXItdG9wOjFweCBzb2xpZCAjZjJmMmYyOw0KCWJvcmRlci1yaWdodDoxcHggc29saWQgI2YyZjJmMjsNCglwYWRkaW5nOjE1cHggNDBweCAxNHB4Ow0KCWJvcmRlci1yYWRpdXM6MHB4IDBweCAwcHggMHB4Ow0KCXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQp9DQoNCi5zZXJ2aWNlcy1zaW5nbGUgLnByb2QtdGFicyAudGFiLWJ0bnMgLnRhYi1idG46aG92ZXIsDQouc2VydmljZXMtc2luZ2xlIC5wcm9kLXRhYnMgLnRhYi1idG5zIC50YWItYnRuLmFjdGl2ZS1idG57DQoJY29sb3I6I2ZlYmUyODsNCgliYWNrZ3JvdW5kOiNmN2Y3Zjc7DQp9DQoNCi5zZXJ2aWNlcy1zaW5nbGUgLnByb2QtdGFicyAudGFicy1jb250ZW50ew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmc6MzJweCA0MHB4IDIwcHg7DQoJYmFja2dyb3VuZC1jb2xvcjojZjdmN2Y3Ow0KfQ0KDQouc2VydmljZXMtc2luZ2xlIC5wcm9kLXRhYnMgLnRhYnMtY29udGVudCAudGFiew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWRpc3BsYXk6bm9uZTsNCglib3JkZXItdG9wOjBweDsNCn0NCg0KLnNlcnZpY2VzLXNpbmdsZSAucHJvZC10YWJzIC50YWJzLWNvbnRlbnQgLnRhYi5hY3RpdmUtdGFiew0KCWRpc3BsYXk6YmxvY2s7CQ0KfQ0KDQouc2VydmljZXMtc2luZ2xlIC5wcm9kLXRhYnMgLnRhYnMtY29udGVudCAuY29udGVudHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCn0NCg0KLnNlcnZpY2VzLXNpbmdsZSAucHJvZC10YWJzIC50YWJzLWNvbnRlbnQgLmNvbnRlbnQgcHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojODQ4NDg0Ow0KCWZvbnQtc2l6ZToxNnB4Ow0KCWxpbmUtaGVpZ2h0OjEuOWVtOw0KCWZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7DQp9DQoNCi5wcm9maXQtc2VjdGlvbnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglwYWRkaW5nLXRvcDo2NXB4Ow0KfQ0KDQoucHJvZml0LXNlY3Rpb24gLnNlYy10aXRsZXsNCgltYXJnaW4tYm90dG9tOjMwcHg7DQp9DQoNCi5wcm9maXQtc2VjdGlvbiAudGV4dHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojODQ4NDg0Ow0KCWZvbnQtc2l6ZToxNnB4Ow0KCWxpbmUtaGVpZ2h0OjEuOGVtOw0KCW1hcmdpbi1ib3R0b206MjBweDsNCglmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmOw0KfQ0KDQoucHJvZml0LXNlY3Rpb24gLmltYWdlIGltZ3sNCgl3aWR0aDoxMDAlOw0KCWRpc3BsYXk6YmxvY2s7DQp9DQoNCi8qU2lkZWJhciBSYW5nZSBzbGlkZXIgKi8NCg0KLnJhbmdlLXNsaWRlci1vbmV7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWluLWhlaWdodDo0OHB4Ow0KfQ0KDQoucmFuZ2Utc2xpZGVyLW9uZSAudGl0bGV7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJZmxvYXQ6bGVmdDsNCgljb2xvcjojODQ4NDg0Ow0KCWZvbnQtc2l6ZToxNnB4Ow0KCWZvbnQtd2VpZ2h0OjQwMDsNCgltYXJnaW4tdG9wOjhweDsNCglmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmOw0KfQ0KDQoucmFuZ2Utc2xpZGVyLW9uZSAudGl0bGU6YmVmb3Jlew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCWNvbnRlbnQ6JyQnOw0KCXJpZ2h0Oi0xNHB4Ow0KCXRvcDowcHg7DQoJY29sb3I6Izg0ODQ4NDsNCglmb250LXNpemU6MTZweDsNCglmb250LXdlaWdodDozMDA7DQp9DQoNCi5yYW5nZS1zbGlkZXItb25lIC5pbnB1dHsNCglmbG9hdDpyaWdodDsNCiAgICBsZWZ0OiA4cHg7DQoJbWF4LXdpZHRoOjc1cHg7DQoJcGFkZGluZy1sZWZ0OjhweDsNCgltYXJnaW4tdG9wOjhweDsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQoNCi5yYW5nZS1zbGlkZXItb25lIC5pbnB1dCBpbnB1dHsNCgliYWNrZ3JvdW5kOm5vbmU7DQoJY29sb3I6Izg0ODQ4NDsNCglmb250LXNpemU6MTZweDsNCglmb250LXdlaWdodDo0MDA7DQoJd2lkdGg6YXV0bzsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjsNCn0NCg0KLnJhbmdlLXNsaWRlci1vbmUgLnVpLXdpZGdldC51aS13aWRnZXQtY29udGVudHsNCgloZWlnaHQ6M3B4Ow0KCWJvcmRlcjpub25lOw0KCW1hcmdpbi1ib3R0b206MjhweDsNCgliYWNrZ3JvdW5kOiNlMGUwZTA7CQ0KfQ0KDQoucmFuZ2Utc2xpZGVyLW9uZSAudWktc2xpZGVyIC51aS1zbGlkZXItcmFuZ2V7DQoJdG9wOjBweDsNCgloZWlnaHQ6M3B4Ow0KCWJhY2tncm91bmQ6IzM5MzkzOTsJDQp9DQoNCi5yYW5nZS1zbGlkZXItb25lIC51aS1zdGF0ZS1kZWZhdWx0LA0KLnJhbmdlLXNsaWRlci1vbmUgLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1kZWZhdWx0ew0KCXRvcDotM3B4Ow0KCXdpZHRoOjEwcHg7DQoJaGVpZ2h0OjEwcHg7DQoJYm9yZGVyOjFweCBzb2xpZCAjZmViZTI4Ow0KCWJhY2tncm91bmQ6I2Y3YzAyZDsNCglib3JkZXItcmFkaXVzOjUwJTsNCgljdXJzb3I6cG9pbnRlcjsJDQp9DQoNCi5yYW5nZS1zbGlkZXItb25lIC50aGVtZS1idG57DQoJcGFkZGluZzoycHggMThweDsNCgljb2xvcjojMjYyNjI2Ow0KCWZvbnQtc2l6ZToxNnB4Ow0KCWJvcmRlci1jb2xvcjojZmViZTI4Ow0KCWJhY2tncm91bmQtY29sb3I6I2ZlYmUyODsNCn0NCg0KLnJhbmdlLXNsaWRlci1vbmUgLnRoZW1lLWJ0bjpob3ZlcnsNCgljb2xvcjojMDAwMDAwOw0KfQ0KDQovKlNpZGViYXIgUmVhbGF0ZWQgUG9zdHMgKi8NCg0KLnNpZGViYXIgLnJlbGF0ZWQtcG9zdHMgLnBvc3R7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJcGFkZGluZzowcHggMHB4Ow0KCXBhZGRpbmctbGVmdDo5MHB4Ow0KCW1pbi1oZWlnaHQ6OTZweDsNCgltYXJnaW4tYm90dG9tOjI1cHg7DQoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2YyZjJmMjsNCn0NCg0KLnNpZGViYXIgLnJlbGF0ZWQtcG9zdHMgLnBvc3Q6bGFzdC1jaGlsZHsNCgltYXJnaW4tYm90dG9tOjBweDsNCglib3JkZXI6MHB4Ow0KCW1pbi1oZWlnaHQ6aW5oZXJpdDsNCn0NCg0KLnNpZGViYXIgLnJlbGF0ZWQtcG9zdHMgLnBvc3QgLnBvc3QtdGh1bWJ7DQoJIHBvc2l0aW9uOmFic29sdXRlOw0KCSBsZWZ0OjBweDsNCgkgdG9wOjBweDsNCgkgd2lkdGg6NzBweDsNCn0NCg0KLnNpZGViYXIgLnJlbGF0ZWQtcG9zdHMgLnBvc3QgLnBvc3QtdGh1bWIgaW1new0KCWRpc3BsYXk6YmxvY2s7DQoJd2lkdGg6MTAwJTsJDQp9DQoNCi5zaWRlYmFyIC5yZWxhdGVkLXBvc3RzIC5wb3N0IGg0ew0KCXRvcDotMnB4Ow0KCWZvbnQtc2l6ZToxOHB4Ow0KCWZvbnQtd2VpZ2h0OjUwMDsNCgljb2xvcjojMjYyNjI2Ow0KCXRleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7DQp9DQoNCi5zaWRlYmFyIC5yZWxhdGVkLXBvc3RzIC5wb3N0IGg0IGF7DQoJY29sb3I6IzI2MjYyNjsNCgl0cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsNCgktbXMtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsNCgktby10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1tb3otdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsNCn0NCg0KLnNpZGViYXIgLnJlbGF0ZWQtcG9zdHMgLnBvc3QgYSwNCi5zaWRlYmFyIC5yZWxhdGVkLXBvc3RzIC5wb3N0IGE6aG92ZXJ7DQoJY29sb3I6I2ZlYmUyODsJDQp9DQoNCi5zaWRlYmFyIC5yZWxhdGVkLXBvc3RzIC5wb3N0IC5wcmljZXsNCglmb250LXNpemU6MTZweDsNCglsZXR0ZXItc3BhY2luZzoxcHg7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWNvbG9yOiM4NDg0ODQ7DQoJbGluZS1oZWlnaHQ6MS4yZW07DQoJZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjsNCn0NCg0KLnNpZGViYXIgLnJlbGF0ZWQtcG9zdHMgLnBvc3QgLnJhdGluZ3sNCgltYXJnaW4tYm90dG9tOjFweDsJDQp9DQoNCi5zaWRlYmFyIC5yZWxhdGVkLXBvc3RzIC5wb3N0IC5yYXRpbmcgLmZhew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWRpc3BsYXk6aW5saW5lLWJsb2NrOw0KCW1hcmdpbi1yaWdodDoycHg7DQoJZm9udC1zaXplOjEycHg7DQoJbGluZS1oZWlnaHQ6MjZweDsNCgljb2xvcjojZmViZTI4Ow0KfQ0KDQovKioqIA0KDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KCVNob3AgU3R5bGUNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoNCioqKi8NCg0KLnNob3Atc2VjdGlvbnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCn0NCg0KLnNob3Atc2VjdGlvbiAuaXRlbXMtc29ydGluZ3sNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW4tYm90dG9tOjEwcHg7CQ0KfQ0KDQouc2hvcC1zZWN0aW9uIC5pdGVtcy1zb3J0aW5nIC5yZXN1bHRzLWNvbHVtbiwNCi5zaG9wLXNlY3Rpb24gLml0ZW1zLXNvcnRpbmcgLnNlbGVjdC1jb2x1bW57DQoJbWFyZ2luLWJvdHRvbToyMHB4OwkNCn0NCg0KLnNob3Atc2VjdGlvbiAuaXRlbXMtc29ydGluZyAucmVzdWx0cy1jb2x1bW4gaDR7DQoJZm9udC1zaXplOjE2cHg7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWNvbG9yOiM4NDg0ODQ7DQoJbGluZS1oZWlnaHQ6MjRweDsNCglwYWRkaW5nOjEzcHggMHB4Ow0KCWZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7DQp9DQoNCi5zaG9wLXNlY3Rpb24gLml0ZW1zLXNvcnRpbmcgLmZvcm0tZ3JvdXB7DQoJbWFyZ2luLWJvdHRvbTowcHg7CQ0KfQ0KDQouc2hvcC1zZWN0aW9uIC5pdGVtcy1zb3J0aW5nIHNlbGVjdHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglkaXNwbGF5OmJsb2NrOw0KCXdpZHRoOjEwMCU7DQoJbGluZS1oZWlnaHQ6MjRweDsNCglwYWRkaW5nOjlweCAxNXB4IDlweDsNCgloZWlnaHQ6NTBweDsNCglmb250LXNpemU6MTZweDsNCglib3JkZXI6MXB4IHNvbGlkICNlZWVlZWU7DQoJY3Vyc29yOnBvaW50ZXI7DQoJLW1vei1hcHBlYXJhbmNlOm5vbmU7DQoJLXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7DQoJLW1zLWFwcGVhcmFuY2U6bm9uZTsNCgktby1hcHBlYXJhbmNlOm5vbmU7DQoJYmFja2dyb3VuZDp1cmwoIi4uL2ltYWdlcy9pY29ucy9pY29uLXNlbGVjdC10d28ucG5nIikgcmlnaHQgY2VudGVyIG5vLXJlcGVhdDsNCgljb2xvcjojOTk5OTk5Ow0KCXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7CQ0KfQ0KDQouc2hvcC1zZWN0aW9uIC5pdGVtcy1zb3J0aW5nIHNlbGVjdCBvcHRpb257DQoJdGV4dC1pbmRlbnQ6MTVweDsJDQp9DQoNCi8qU2hvcCBJdGVtKi8NCg0KLnNob3AtaXRlbXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW4tYm90dG9tOjQwcHg7DQp9DQoNCi5zaG9wLWl0ZW0gLmlubmVyLWJveHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCn0NCg0KLnNob3AtaXRlbSAuaW5uZXItYm94IC5pbWFnZXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmOGY4Zjg7DQp9DQoNCi5zaG9wLWl0ZW0gLmlubmVyLWJveCAuaW1hZ2UgaW1new0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXdpZHRoOjEwMCU7DQoJZGlzcGxheTpibG9jazsNCn0NCg0KLnNob3AtaXRlbSAuaW5uZXItYm94IC5pbWFnZSAub3ZlcmxheS1ib3h7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJbGVmdDowcHg7DQoJdG9wOjBweDsNCgl3aWR0aDoxMDAlOw0KCWhlaWdodDoxMDAlOw0KCWRpc3BsYXk6YmxvY2s7DQoJb3BhY2l0eTowOw0KCXRleHQtYWxpZ246Y2VudGVyOw0KCXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktbW96LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgktbXMtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjcsNTEsNzcsMC45NSk7DQp9DQoNCi5zaG9wLWl0ZW0gLmlubmVyLWJveDpob3ZlciAuaW1hZ2UgLm92ZXJsYXktYm94ew0KCW9wYWNpdHk6MTsNCn0NCg0KLnNob3AtaXRlbSAuaW5uZXItYm94IC5pbWFnZSAuaWNvbnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgl0b3A6NTAlOw0KCXdpZHRoOjQ1cHg7DQoJaGVpZ2h0OjQ1cHg7DQoJY29sb3I6IzI2MjYyNjsNCglmb250LXNpemU6MTZweDsNCgl0ZXh0LWFsaWduOmNlbnRlcjsNCglsaW5lLWhlaWdodDo0NXB4Ow0KCWJvcmRlci1yYWRpdXM6NTAlOw0KCW1hcmdpbjowIGF1dG87DQoJbWFyZ2luLXRvcDotMjJweDsNCglkaXNwbGF5OmJsb2NrOw0KCWJhY2tncm91bmQtY29sb3I6I2ZlYmUyODsNCn0NCg0KLnNob3AtaXRlbSAuaW5uZXItYm94IC5sb3dlci1jb250ZW50ew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWJvcmRlcjoxcHggc29saWQgI2Y3ZjdmNzsNCn0NCg0KLnNob3AtaXRlbSAuaW5uZXItYm94IC5sb3dlci1jb250ZW50IC51cHBlci1ib3h7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJcGFkZGluZzoxNXB4IDE4cHg7DQp9DQoNCi5zaG9wLWl0ZW0gLmlubmVyLWJveCAubG93ZXItY29udGVudCAudXBwZXItYm94IGgzew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWNvbG9yOiMyNjI2MjY7DQoJZm9udC1zaXplOjE4cHg7DQoJZm9udC13ZWlnaHQ6NTAwOw0KCW1hcmdpbi1ib3R0b206NXB4Ow0KfQ0KDQouc2hvcC1pdGVtIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgLnVwcGVyLWJveCBoMyBhew0KCWNvbG9yOiMyNjI2MjY7DQoJdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS1tb3otdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLW8tdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KfQ0KDQouc2hvcC1pdGVtIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgLnVwcGVyLWJveCBoMyBhOmhvdmVyew0KCWNvbG9yOiNmZWJlMjg7DQp9DQoNCi5zaG9wLWl0ZW0gLmlubmVyLWJveCAubG93ZXItY29udGVudCAudXBwZXItYm94IC5wcmljZXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojODQ4NDg0Ow0KCWZvbnQtc2l6ZToxNnB4Ow0KCWZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7DQp9DQoNCi5zaG9wLWl0ZW0gLmlubmVyLWJveCAubG93ZXItY29udGVudCAubG93ZXItYm94ew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmc6MTJweCAxOHB4Ow0KCWJvcmRlci10b3A6MXB4IGRhc2hlZCAjZjdmN2Y3Ow0KfQ0KDQouc2hvcC1pdGVtIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgLmxvd2VyLWJveCAuYWRkLWNhcnR7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6Izg0ODQ4NDsNCglmb250LXdlaWdodDo0MDA7DQoJcGFkZGluZy1sZWZ0OjIwcHg7DQoJdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS1tb3otdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7DQoJLW8tdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOw0KfQ0KDQouc2hvcC1pdGVtIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgLmxvd2VyLWJveCAuYWRkLWNhcnQ6aG92ZXJ7DQoJY29sb3I6I2ZlYmUyODsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lOw0KfQ0KDQouc2hvcC1pdGVtIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgLmxvd2VyLWJveCAuYWRkLWNhcnQ6YmVmb3Jlew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCWNvbnRlbnQ6J1xmMDdhJzsNCglsZWZ0OjBweDsNCgl0b3A6MnB4Ow0KCWZvbnQtc2l6ZToxNHB4Ow0KCWxpbmUtaGVpZ2h0OjFlbTsNCglmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJzsNCn0NCg0KLnNob3AtaXRlbSAuaW5uZXItYm94IC5sb3dlci1jb250ZW50IC5sb3dlci1ib3ggLnJhdGluZ3sNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojZmViZTI4Ow0KCWZvbnQtc2l6ZToxMnB4Ow0KfQ0KDQoucHJvZHVjdC1kZXRhaWxzIC5iYXNpYy1kZXRhaWxzew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCW1hcmdpbi1ib3R0b206NDBweDsNCn0NCg0KLnByb2R1Y3QtZGV0YWlscyAuaW1hZ2UtY29sdW1uLA0KLnByb2R1Y3QtZGV0YWlscyAuaW5mby1jb2x1bW57DQoJbWFyZ2luLWJvdHRvbToyMHB4Ow0KfQ0KDQoucHJvZHVjdC1kZXRhaWxzIC5pbWFnZS1jb2x1bW4gLmltYWdlLWJveCBpbWd7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJZGlzcGxheTpibG9jazsNCgl3aWR0aDoxMDAlOw0KCWJhY2tncm91bmQtY29sb3I6I2Y3ZjdmNzsNCn0NCg0KLnByb2R1Y3QtZGV0YWlscyAuYmFzaWMtZGV0YWlscyAuZGV0YWlscy1oZWFkZXJ7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWFyZ2luLWJvdHRvbToxNnB4Ow0KfQ0KDQoucHJvZHVjdC1kZXRhaWxzIC5iYXNpYy1kZXRhaWxzIC5kZXRhaWxzLWhlYWRlciBoNHsNCglmb250LXNpemU6MjRweDsNCglmb250LXdlaWdodDo1MDA7DQoJbWFyZ2luOi01cHggMHB4IDVweDsNCglsaW5lLWhlaWdodDoxLjRlbTsNCgljb2xvcjojMjYyNjI2Ow0KfQ0KDQoucHJvZHVjdC1kZXRhaWxzIC5iYXNpYy1kZXRhaWxzIC5kZXRhaWxzLWhlYWRlciBoNCBhew0KCWNvbG9yOiMzMzMzMzM7CQ0KfQ0KDQoucHJvZHVjdC1kZXRhaWxzIC5iYXNpYy1kZXRhaWxzIC5kZXRhaWxzLWhlYWRlciAucmF0aW5new0KCWZvbnQtc2l6ZToxNHB4Ow0KCWNvbG9yOiNmZWJlMjg7DQoJbWFyZ2luLWJvdHRvbToxOHB4Ow0KfQ0KDQoucHJvZHVjdC1kZXRhaWxzIC5iYXNpYy1kZXRhaWxzIC5kZXRhaWxzLWhlYWRlciAucmF0aW5nIC5mYXsNCglkaXNwbGF5OmlubGluZS1ibG9jazsNCgltYXJnaW4tcmlnaHQ6MnB4OwkNCn0NCg0KLnByb2R1Y3QtZGV0YWlscyAuYmFzaWMtZGV0YWlscyAuZGV0YWlscy1oZWFkZXIgLnJhdGluZyAudHh0ew0KCWZvbnQtc2l6ZToxNHB4Ow0KCXBhZGRpbmctbGVmdDoxMHB4Ow0KCWNvbG9yOiM3Nzc3Nzc7CQ0KfQ0KDQoucHJvZHVjdC1kZXRhaWxzIC5iYXNpYy1kZXRhaWxzIC5kZXRhaWxzLWhlYWRlciAuaXRlbS1wcmljZXsNCglmb250LXNpemU6MjRweDsNCglmb250LXdlaWdodDo0MDA7DQoJY29sb3I6Izg0ODQ4NDsNCglsaW5lLWhlaWdodDoyNHB4Ow0KCWxldHRlci1zcGFjaW5nOjFweDsNCgltYXJnaW4tYm90dG9tOjE1cHg7DQoJZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjsNCn0NCg0KLnByb2R1Y3QtZGV0YWlscyAuYmFzaWMtZGV0YWlscyAucHJvZC1pbmZvew0KCW1hcmdpbi1ib3R0b206MTVweDsNCglsaW5lLWhlaWdodDoxLjZlbTsNCglmb250LXNpemU6MTNweDsJDQp9DQoNCi5wcm9kdWN0LWRldGFpbHMgLmJhc2ljLWRldGFpbHMgLnByb2QtaW5mbyBzdHJvbmd7DQoJZm9udC13ZWlnaHQ6NzAwOw0KCWNvbG9yOiMxMTExMTE7CQ0KfQ0KDQoucHJvZHVjdC1kZXRhaWxzIC5iYXNpYy1kZXRhaWxzIC50ZXh0IHB7DQoJbWFyZ2luLWJvdHRvbToyNXB4Ow0KCWNvbG9yOiM4NDg0ODQ7DQoJZm9udC1zaXplOjE2cHg7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWxpbmUtaGVpZ2h0OjEuOGVtOwkNCglmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmOw0KfQ0KDQoucHJvZHVjdC1kZXRhaWxzIC5iYXNpYy1kZXRhaWxzIC5sb2NhdGlvbnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojMjYyNjI2Ow0KCWZvbnQtc2l6ZToxNnB4Ow0KCWZvbnQtd2VpZ2h0OjQwMDsNCgltYXJnaW4tYm90dG9tOjEwcHg7DQoJZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjsNCn0NCg0KLnByb2R1Y3QtZGV0YWlscyAuYmFzaWMtZGV0YWlscyAuaXRlbS1xdWFudGl0eSAuZmllbGQtbGFiZWx7DQoJZmxvYXQ6bGVmdDsNCglmb250LXdlaWdodDo3MDA7DQoJZm9udC1zaXplOjE0cHg7DQoJbGluZS1oZWlnaHQ6MzJweDsNCglkaXNwbGF5OmlubGluZS1ibG9jazsNCglwYWRkaW5nLXJpZ2h0OjIwcHg7CQ0KfQ0KDQoucHJvZHVjdC1kZXRhaWxzIC5iYXNpYy1kZXRhaWxzIC5xdWFudGl0eS1zcGlubmVyLA0KLmNhcnQtc2VjdGlvbiBpbnB1dC5xdWFudGl0eS1zcGlubmVyew0KCWxpbmUtaGVpZ2h0OjI0cHg7DQoJcGFkZGluZzoxMHB4IDE1cHggIWltcG9ydGFudDsNCgloZWlnaHQ6NDZweCAhaW1wb3J0YW50Ow0KCWJveC1zaGFkb3c6bm9uZSAhaW1wb3J0YW50OwkNCn0NCg0KLnByb2R1Y3QtZGV0YWlscyAuYmFzaWMtZGV0YWlscyAuYm9vdHN0cmFwLXRvdWNoc3BpbiAuaW5wdXQtZ3JvdXAtYnRuLXZlcnRpY2FsID4gLmJ0biwNCi5jYXJ0LXNlY3Rpb24gLmJvb3RzdHJhcC10b3VjaHNwaW4gLmlucHV0LWdyb3VwLWJ0bi12ZXJ0aWNhbCA+IC5idG57DQoJcGFkZGluZzoxMXB4IDEwcHg7DQoJYmFja2dyb3VuZDojZjRmNWY2OwkNCn0NCg0KLnByb2R1Y3QtZGV0YWlscyAuYm9vdHN0cmFwLXRvdWNoc3BpbiAuaW5wdXQtZ3JvdXAtYnRuLXZlcnRpY2FsIGksDQouY2FydC1zZWN0aW9uIC5ib290c3RyYXAtdG91Y2hzcGluIC5pbnB1dC1ncm91cC1idG4tdmVydGljYWwgaXsNCgl0b3A6NnB4OwkNCn0NCg0KLnByb2R1Y3QtZGV0YWlscyAuYmFzaWMtZGV0YWlscyAuaXRlbS1xdWFudGl0eXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglmbG9hdDpsZWZ0Ow0KCXdpZHRoOjg1cHg7DQoJbWFyZ2luLWJvdHRvbToyNXB4Ow0KCW1hcmdpbi1yaWdodDoyMHB4OwkNCn0NCg0KLnByb2R1Y3QtZGV0YWlscyAuYmFzaWMtZGV0YWlscyAuaXRlbS1xdWFudGl0eSAuZmllbGQtbGFiZWx7DQoJZmxvYXQ6bGVmdDsNCglmb250LXdlaWdodDo3MDA7DQoJZm9udC1zaXplOjE0cHg7DQoJbGluZS1oZWlnaHQ6MzJweDsNCglkaXNwbGF5OmlubGluZS1ibG9jazsNCglwYWRkaW5nLXJpZ2h0OjIwcHg7CQ0KfQ0KDQoucHJvZHVjdC1kZXRhaWxzIC5iYXNpYy1kZXRhaWxzIC5xdWFudGl0eS1zcGlubmVyLA0KLmNhcnQtdGFibGUgaW5wdXQucXVhbnRpdHktc3Bpbm5lcnsNCglmb250LXNpemU6MThweDsNCglsaW5lLWhlaWdodDoyNHB4Ow0KCXBhZGRpbmc6MTBweCAxNXB4ICFpbXBvcnRhbnQ7DQoJaGVpZ2h0OjUwcHggIWltcG9ydGFudDsNCglib3gtc2hhZG93Om5vbmUgIWltcG9ydGFudDsJDQp9DQoNCi5wcm9kdWN0LWRldGFpbHMgLmJhc2ljLWRldGFpbHMgLmJvb3RzdHJhcC10b3VjaHNwaW4gLmlucHV0LWdyb3VwLWJ0bi12ZXJ0aWNhbCA+IC5idG4sDQouY2FydC10YWJsZSAuYm9vdHN0cmFwLXRvdWNoc3BpbiAuaW5wdXQtZ3JvdXAtYnRuLXZlcnRpY2FsID4gLmJ0bnsNCglwYWRkaW5nOjEycHggMTBweDsNCgliYWNrZ3JvdW5kOiNmNGY1ZjY7DQoJYm9yZGVyLXJhZGl1czowcHg7CQ0KfQ0KDQoucHJvZHVjdC1kZXRhaWxzIC5ib290c3RyYXAtdG91Y2hzcGluIC5pbnB1dC1ncm91cC1idG4tdmVydGljYWwgaSwNCi5jYXJ0LXRhYmxlIC5ib290c3RyYXAtdG91Y2hzcGluIC5pbnB1dC1ncm91cC1idG4tdmVydGljYWwgaXsNCgl0b3A6OHB4OwkNCn0NCg0KLnByb2R1Y3QtZGV0YWlscyAuYmFzaWMtZGV0YWlscyAuYWRkLXRvLWNhcnR7DQoJcGFkZGluZzo5cHggMzVweDsNCn0NCg0KLnByb2R1Y3QtZGV0YWlscyAuYmFzaWMtZGV0YWlscyAuZXhwaXJlZHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojZmViZTI4Ow0KCWZvbnQtc2l6ZToxNnB4Ow0KCW1hcmdpbi1ib3R0b206NDBweDsNCglmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmOw0KfQ0KDQovKlBpbmNvZGUgRm9ybSovDQoNCi5waW5jb2RlLWZvcm17DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWFyZ2luLWJvdHRvbToxNXB4Ow0KfQ0KDQoucGluY29kZS1mb3JtIC5mb3JtLWdyb3Vwew0KCW1hcmdpbi1ib3R0b206MTBweDsNCn0NCg0KLnBpbmNvZGUtZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJ0ZXh0Il17DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbGluZS1oZWlnaHQ6MTRweDsNCglwYWRkaW5nOjRweCAxMHB4IDRweCAxNXB4Ow0KCWJvcmRlcjoycHggc29saWQgI2YyZjJmMjsNCgliYWNrZ3JvdW5kOm5vbmU7DQoJZm9udC1zaXplOjE2cHg7DQoJd2lkdGg6MTcwcHg7DQoJaGVpZ2h0OjQwcHg7DQoJZGlzcGxheTppbmxpbmUtYmxvY2s7DQoJdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktbW96LXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQp9DQoNCi5waW5jb2RlLWZvcm0gLmZvcm0tZ3JvdXAgYnV0dG9uew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWhlaWdodDo0MHB4Ow0KCXdpZHRoOjEwMHB4Ow0KCWZvbnQtc2l6ZToxNXB4Ow0KCWNvbG9yOiMyMjIyMjI7DQoJZm9udC13ZWlnaHQ6NjAwOw0KCWxpbmUtaGVpZ2h0OjEwMCU7DQoJYmFja2dyb3VuZDojZjdmN2Y3Ow0KCW1hcmdpbi1sZWZ0OjhweDsNCglkaXNwbGF5OmlubGluZS1ibG9jazsNCglib3JkZXItcmFkaXVzOjUwcHg7DQoJdGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTsNCn0NCg0KLyoqKiANCg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCglQcm9kdWN0IFRhYnMgU3R5bGUNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoNCioqKi8NCg0KLnNob3Atc2luZ2xlIC5wcm9kdWN0LWRldGFpbHMgLnByb2QtdGFic3sNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW4tYm90dG9tOjYwcHg7DQp9DQoNCi5zaG9wLXNpbmdsZSAucHJvZHVjdC1kZXRhaWxzIC5wcm9kLXRhYnMgLnRhYi1idG5zew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXotaW5kZXg6MTsJDQoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2VlZWVlZTsNCn0NCg0KLnNob3Atc2luZ2xlIC5wcm9kdWN0LWRldGFpbHMgLnByb2QtdGFicyAudGFiLWJ0bnMgLnRhYi1idG57DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJdG9wOjFweDsNCglkaXNwbGF5OmJsb2NrOw0KCWZsb2F0OmxlZnQ7DQoJbWFyZ2luLXJpZ2h0OjVweDsNCglmb250LXNpemU6MTZweDsNCgliYWNrZ3JvdW5kOiNmNGY0ZjQ7DQoJY29sb3I6IzIyMjIyMjsNCglib3JkZXI6MXB4IHNvbGlkICNmNGY0ZjQ7DQoJdGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTsNCglmb250LXdlaWdodDo1MDA7DQoJbGluZS1oZWlnaHQ6MjRweDsNCgljdXJzb3I6cG9pbnRlcjsNCglwYWRkaW5nOjEycHggMThweCAxMHB4Ow0KCXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQp9DQoNCi5zaG9wLXNpbmdsZSAucHJvZHVjdC1kZXRhaWxzIC5wcm9kLXRhYnMgLnRhYi1idG5zIC50YWItYnRuLmFjdGl2ZS1idG46YWZ0ZXJ7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJY29udGVudDonJzsNCglsZWZ0OjBweDsNCglib3R0b206LTFweDsNCgl3aWR0aDoxMDAlOw0KCWhlaWdodDoxcHg7DQoJYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOw0KfQ0KDQouc2hvcC1zaW5nbGUgLnByb2R1Y3QtZGV0YWlscyAucHJvZC10YWJzIC50YWItYnRucyAudGFiLWJ0bjpob3ZlciwNCi5zaG9wLXNpbmdsZSAucHJvZHVjdC1kZXRhaWxzIC5wcm9kLXRhYnMgLnRhYi1idG5zIC50YWItYnRuLmFjdGl2ZS1idG57DQoJY29sb3I6I2ZlYmUyODsNCgliYWNrZ3JvdW5kOiNmZmZmZmY7DQp9DQoNCi5zaG9wLXNpbmdsZSAucHJvZHVjdC1kZXRhaWxzIC5wcm9kLXRhYnMgLnRhYnMtY29udGVudHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglwYWRkaW5nOjMwcHggMzBweCA0MHB4Ow0KCWJvcmRlcjoxcHggc29saWQgI2YwZjBmMDsNCglib3JkZXItdG9wOjBweDsNCn0NCg0KLnNob3Atc2luZ2xlIC5wcm9kdWN0LWRldGFpbHMgLnByb2QtdGFicyAudGFicy1jb250ZW50IC50YWJ7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJZGlzcGxheTpub25lOw0KCWJvcmRlci10b3A6MHB4Ow0KfQ0KDQouc2hvcC1zaW5nbGUgLnByb2R1Y3QtZGV0YWlscyAucHJvZC10YWJzIC50YWJzLWNvbnRlbnQgLnRhYi5hY3RpdmUtdGFiew0KCWRpc3BsYXk6YmxvY2s7CQ0KfQ0KDQoucHJvZC10YWJzIC50YWJzLWNvbnRlbnQgLnRhYiAudGl0bGV7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJY29sb3I6IzNkM2QzZDsNCglmb250LXNpemU6MjBweDsNCglmb250LXdlaWdodDo1MDA7DQoJbWFyZ2luLWJvdHRvbToyNXB4Ow0KfQ0KDQovKkNvbW1lbnQgRm9ybSovDQoNCi5zaG9wLWNvbW1lbnQtZm9ybXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCn0NCg0KLnNob3AtY29tbWVudC1mb3JtIC50aXRsZS1ib3hlZHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW4tYm90dG9tOjMwcHg7DQp9DQoNCi5zaG9wLWNvbW1lbnQtZm9ybSAudGl0bGUtYm94ZWQgaDJ7DQoJZm9udC1zaXplOjI2cHg7DQoJY29sb3I6IzI2MjYyNjsNCglmb250LXdlaWdodDo1MDA7DQoJbGluZS1oZWlnaHQ6MS4xZW07DQoJcGFkZGluZy1ib3R0b206MjBweDsNCgl0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplOw0KCWZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjsNCn0NCg0KLnNob3AtY29tbWVudC1mb3JtIC50aXRsZS1ib3hlZCAuc2VwYXJhdG9yew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXdpZHRoOjUwcHg7DQoJaGVpZ2h0OjRweDsNCgltYXJnaW4tbGVmdDoyNXB4Ow0KCWJhY2tncm91bmQtY29sb3I6I2ZlYmUyODsNCn0NCg0KLnNob3AtY29tbWVudC1mb3JtIC50aXRsZS1ib3hlZCAuc2VwYXJhdG9yOmJlZm9yZXsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgljb250ZW50OicnOw0KCXRvcDowcHg7DQoJbGVmdDowcHg7DQoJd2lkdGg6MjBweDsNCgloZWlnaHQ6NHB4Ow0KCW1hcmdpbi1sZWZ0Oi0yNXB4Ow0KCWJhY2tncm91bmQtY29sb3I6I2ZlYmUyODsNCn0NCg0KLnNob3AtY29tbWVudC1mb3JtIC5ncm91cC10aXRsZXsNCgltYXJnaW4tYm90dG9tOjIwcHg7DQp9DQoNCi5zaG9wLWNvbW1lbnQtZm9ybSAucmF0aW5nLWJveHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW4tYm90dG9tOjMwcHg7DQp9DQoNCi5zaG9wLWNvbW1lbnQtZm9ybSAucmF0aW5nLWJveCAudGV4dHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglmb250LXNpemU6MTZweDsNCgljb2xvcjojODQ4NDg0Ow0KCW1hcmdpbi1ib3R0b206MTBweDsNCn0NCg0KLnNob3AtY29tbWVudC1mb3JtIC5yYXRpbmctYm94IC5yYXRpbmd7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJZGlzcGxheTppbmxpbmUtYmxvY2s7DQoJbWFyZ2luLXJpZ2h0OjEwcHg7DQoJcGFkZGluZy1yaWdodDoxMHB4Ow0KCWJvcmRlci1yaWdodDoxcHggc29saWQgI2ViZWJlYjsNCn0NCg0KLnNob3AtY29tbWVudC1mb3JtIC5yYXRpbmctYm94IC5yYXRpbmc6bGFzdC1jaGlsZHsNCglib3JkZXItcmlnaHQ6MHB4Ow0KfQ0KDQouc2hvcC1jb21tZW50LWZvcm0gLnJhdGluZy1ib3ggLnJhdGluZyAuZmF7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWFyZ2luLXJpZ2h0OjJweDsNCglkaXNwbGF5OmlubGluZS1ibG9jazsNCn0NCg0KLnNob3AtY29tbWVudC1mb3JtIC5yYXRpbmctYm94IC5yYXRpbmcgYXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojZDZkNmQ2Ow0KCWZvbnQtc2l6ZToxNHB4Ow0KCWRpc3BsYXk6aW5saW5lLWJsb2NrOw0KfQ0KDQouc2hvcC1jb21tZW50LWZvcm0gLnJhdGluZy1ib3ggLnJhdGluZyBhOmhvdmVyew0KCWNvbG9yOiNmN2MwMmQ7DQp9DQoNCi5zaG9wLWNvbW1lbnQtZm9ybSAuZm9ybS1ncm91cHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW4tYm90dG9tOjE1cHg7DQp9DQoNCi5zaG9wLWNvbW1lbnQtZm9ybSAuZm9ybS1ncm91cCBsYWJlbHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojNzI3MjcyOw0KCWZvbnQtc2l6ZToxNnB4Ow0KCWZvbnQtd2VpZ2h0OjQwMDsNCn0NCg0KLnNob3AtY29tbWVudC1mb3JtIC5mb3JtLWdyb3VwOmxhc3QtY2hpbGR7DQoJbWFyZ2luLWJvdHRvbTowcHg7DQp9DQoNCi5zaG9wLWNvbW1lbnQtZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJ0ZXh0Il0sDQouc2hvcC1jb21tZW50LWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0icGFzc3dvcmQiXSwNCi5zaG9wLWNvbW1lbnQtZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJ0ZWwiXSwNCi5zaG9wLWNvbW1lbnQtZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJlbWFpbCJdLA0KLnNob3AtY29tbWVudC1mb3JtIC5mb3JtLWdyb3VwIHNlbGVjdHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglkaXNwbGF5OmJsb2NrOw0KCXdpZHRoOjEwMCU7DQoJbGluZS1oZWlnaHQ6MjhweDsNCglwYWRkaW5nOjEwcHggMTVweDsNCglib3JkZXI6MXB4IHNvbGlkICNlZmVmZWY7DQoJaGVpZ2h0OjUwcHg7DQoJY29sb3I6Izg0ODQ4NDsNCglmb250LXdlaWdodDozMDA7DQoJYmFja2dyb3VuZDojZmZmZmZmOw0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsNCgktbXMtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsNCgktby10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1tb3otdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsNCgl0cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KfQ0KDQouc2hvcC1jb21tZW50LWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0idGV4dCJdOmZvY3VzLA0KLnNob3AtY29tbWVudC1mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9InBhc3N3b3JkIl06Zm9jdXMsDQouc2hvcC1jb21tZW50LWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0idGVsIl06Zm9jdXMsDQouc2hvcC1jb21tZW50LWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0iZW1haWwiXTpmb2N1cywNCi5zaG9wLWNvbW1lbnQtZm9ybSAuZm9ybS1ncm91cCBzZWxlY3Q6Zm9jdXMsDQouc2hvcC1jb21tZW50LWZvcm0gLmZvcm0tZ3JvdXAgdGV4dGFyZWE6Zm9jdXN7DQoJYm9yZGVyLWNvbG9yOiNmN2MwMmQ7DQp9DQoNCi5zaG9wLWNvbW1lbnQtZm9ybSAuZm9ybS1ncm91cCB0ZXh0YXJlYXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglkaXNwbGF5OmJsb2NrOw0KCXdpZHRoOjEwMCU7DQoJbGluZS1oZWlnaHQ6MjZweDsNCglwYWRkaW5nOjEwcHggMTVweDsNCgljb2xvcjojODQ4NDg0Ow0KCWJvcmRlcjoxcHggc29saWQgI2VmZWZlZjsNCgloZWlnaHQ6MTA1cHg7DQoJZm9udC13ZWlnaHQ6MzAwOw0KCWJhY2tncm91bmQ6I2ZmZmZmZjsNCglyZXNpemU6bm9uZTsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLW1zLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLW8tdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsNCgktbW96LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsNCn0NCg0KLnNob3AtY29tbWVudC1mb3JtIGJ1dHRvbnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW4tdG9wOjEwcHg7DQp9DQoNCi5zaG9wLWNvbW1lbnQtZm9ybSBpbnB1dDpmb2N1cywNCi5zaG9wLWNvbW1lbnQtZm9ybSBzZWxlY3Q6Zm9jdXMsDQouc2hvcC1jb21tZW50LWZvcm0gdGV4dGFyZWE6Zm9jdXN7DQoJYm9yZGVyLWNvbG9yOiNmMDY1Mjk7CQ0KfQ0KDQovKioqIA0KDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KCUxvZ2luIC8gUmVnaXN0ZXIgU2VjdGlvbg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0KKioqLw0KDQouYWNjb3VudC1zZWN0aW9uew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmc6ODVweCAwcHggNTBweDsNCn0NCg0KLmFjY291bnQtc2VjdGlvbiAuZm9ybS1jb2x1bW57DQoJbWFyZ2luLWJvdHRvbTo0MHB4OwkNCn0NCg0KLmFjY291bnQtc2VjdGlvbiAuZm9ybS1jb2x1bW4gLnNlYy10aXRsZXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW4tYm90dG9tOjQwcHg7CQ0KfQ0KDQouc3R5bGVkLWZvcm17DQoJcG9zaXRpb246cmVsYXRpdmU7CQ0KfQ0KDQouc3R5bGVkLWZvcm0gLnN1Ym1pdC10ZXh0ew0KCWZvbnQtc2l6ZToxNXB4Ow0KCWNvbG9yOiM5ZTllOWU7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCW1hcmdpbi10b3A6MTBweDsNCn0NCg0KLnN0eWxlZC1mb3JtIC5mb3JtLWdyb3Vwew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCW1hcmdpbi1ib3R0b206MzBweDsNCglmb250LXNpemU6MTZweDsNCgljb2xvcjojNzI3MjcyOw0KCWZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7DQp9DQoNCi5jaGVja291dC1zZWN0aW9uIC5zdHlsZWQtZm9ybSAuZm9ybS1ncm91cHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW4tYm90dG9tOjIwcHg7CQ0KfQ0KDQouc3R5bGVkLWZvcm0gLmZvcm0tZ3JvdXAgLmNoZWNrLWJveHsNCglsaW5lLWhlaWdodDoyNHB4Ow0KCWZvbnQtc2l6ZToxNXB4Ow0KCWZvbnQtd2VpZ2h0Om5vcm1hbDsNCglwYWRkaW5nLXRvcDo1cHg7DQoJY29sb3I6IzI3MjcyNzsNCn0NCg0KLnN0eWxlZC1mb3JtIC5mb3JtLWdyb3VwIC5jaGVjay1ib3ggbGFiZWx7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJdG9wOi0xcHg7DQoJZm9udC13ZWlnaHQ6bm9ybWFsOw0KCXBhZGRpbmc6MHB4Ow0KCWZvbnQtc2l6ZToxNXB4Ow0KCWN1cnNvcjpwb2ludGVyOw0KfQ0KDQouc3R5bGVkLWZvcm0gLnB1bGwtbGVmdCBsYWJlbCwNCi5zdHlsZWQtZm9ybSAucHVsbC1yaWdodCBsYWJlbHsNCgljdXJzb3I6cG9pbnRlcjsNCn0NCg0KLnN0eWxlZC1mb3JtIC5mb3JtLWdyb3VwIC5hZG9uLWljb257DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJdG9wOjUwJTsNCgltYXJnaW4tdG9wOi0xMHB4Ow0KCXJpZ2h0OjEwcHg7DQoJd2lkdGg6MjBweDsNCgloZWlnaHQ6MjBweDsNCglsaW5lLWhlaWdodDoyMHB4Ow0KCWZvbnQtc2l6ZToxNXB4Ow0KCWNvbG9yOiNjNWM1YzU7DQoJei1pbmRleDoyOw0KfQ0KDQouc3R5bGVkLWZvcm0gLmZvcm0tZ3JvdXAgLmZpZWxkLWxhYmVsew0KCWRpc3BsYXk6YmxvY2s7DQoJY29sb3I6I2M1YzVjNTsNCgl0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplOw0KCWZvbnQtc2l6ZToxNnB4Ow0KCW1hcmdpbi1ib3R0b206N3B4Ow0KCWZvbnQtd2VpZ2h0OjQwMDsNCn0NCg0KLnN0eWxlZC1mb3JtIGlucHV0W3R5cGU9InRleHQiXSwNCi5zdHlsZWQtZm9ybSBpbnB1dFt0eXBlPSJlbWFpbCJdLA0KLnN0eWxlZC1mb3JtIGlucHV0W3R5cGU9InBhc3N3b3JkIl0sDQouc3R5bGVkLWZvcm0gaW5wdXRbdHlwZT0idGVsIl0sDQouc3R5bGVkLWZvcm0gaW5wdXRbdHlwZT0ibnVtYmVyIl0sDQouc3R5bGVkLWZvcm0gaW5wdXRbdHlwZT0idXJsIl0sDQouc3R5bGVkLWZvcm0gc2VsZWN0LA0KLnN0eWxlZC1mb3JtIHRleHRhcmVhew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWRpc3BsYXk6YmxvY2s7DQoJd2lkdGg6MTAwJTsNCgliYWNrZ3JvdW5kOiNmZmZmZmY7DQoJbGluZS1oZWlnaHQ6MzBweDsNCglwYWRkaW5nOjhweCAyMHB4Ow0KCWhlaWdodDo1MHB4Ow0KCWNvbG9yOiM4NDg0ODQ7DQoJYm9yZGVyOjFweCBzb2xpZCAjZjBmMGYwOw0KCXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCS1vLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLW1vei10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOw0KCWZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7DQp9DQoNCi5zdHlsZWQtZm9ybSAuZm9ybS1ncm91cCAudGhlbWUtYnRuew0KCW1pbi13aWR0aDoxNTBweDsNCgl0ZXh0LWFsaWduOmNlbnRlcjsNCglwYWRkaW5nOjhweCAzMHB4OwkNCn0NCg0KLnN0eWxlZC1mb3JtIC5yZW1lbWJlci1tZXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgljb2xvcjojMjIyMjIyOw0KCWZvbnQtc2l6ZToxNnB4Ow0KCWZvbnQtd2VpZ2h0OjUwMDsNCn0NCg0KLnNvY2lhbC1saW5rcy10d28gYXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglkaXNwbGF5OmlubGluZS1ibG9jazsNCglmb250LXNpemU6MTRweDsNCgl3aWR0aDo0MnB4Ow0KCWhlaWdodDo0MnB4Ow0KCWxpbmUtaGVpZ2h0OjQycHg7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQoJY29sb3I6I2ZmZmZmZjsNCgliYWNrZ3JvdW5kOiNmYzcyMWU7DQoJbWFyZ2luOjBweCAwcHggMHB4IDE1cHg7DQoJdHJhbnNpdGlvbjphbGwgMC41cyBlYXNlOw0KCS1tb3otdHJhbnNpdGlvbjphbGwgMC41cyBlYXNlOw0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC41cyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCAwLjVzIGVhc2U7DQoJLW8tdHJhbnNpdGlvbjphbGwgMC41cyBlYXNlOw0KfQ0KDQouc29jaWFsLWxpbmtzLXR3byBhOmhvdmVyew0KCW9wYWNpdHk6MC44MDsNCn0NCg0KLnNvY2lhbC1saW5rcy10d28gLmZhY2Vib29rew0KCWJhY2tncm91bmQ6IzNiNTk5ODsJDQp9DQoNCi5zb2NpYWwtbGlua3MtdHdvIC50d2l0dGVyew0KCWJhY2tncm91bmQ6IzMzY2NmZTsJDQp9DQoNCi5zb2NpYWwtbGlua3MtdHdvIC5nb29nbGUtcGx1c3sNCgliYWNrZ3JvdW5kOiNkZDRiMzk7CQ0KfQ0KDQovKioqIA0KDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KCUNhcnQgU2VjdGlvbiBzdHlsZQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0KKioqLw0KDQouY2FydC1zZWN0aW9uew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmc6OTBweCAwcHg7DQp9DQoNCi5jYXJ0LXNlY3Rpb24gLmNhcnQtb3V0ZXJ7DQoJcG9zaXRpb246cmVsYXRpdmU7CQ0KfQ0KDQouY2FydC1zZWN0aW9uIC50YWJsZS1vdXRlcnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgl3aWR0aDoxMDAlOw0KCW92ZXJmbG93LXg6CWF1dG87DQp9DQoNCi5jYXJ0LXNlY3Rpb24gLmNhcnQtdGFibGV7DQoJd2lkdGg6MTAwJTsNCgltaW4td2lkdGg6OTAwcHg7CQ0KfQ0KDQouY2FydC10YWJsZSAuY2FydC1oZWFkZXJ7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJd2lkdGg6MTAwJTsNCgl0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7DQoJZm9udC1zaXplOjE2cHg7DQoJYm9yZGVyLXJhZGl1czowcHg7DQoJYmFja2dyb3VuZDojZjdmN2Y3Ow0KCWNvbG9yOiMxZjFmMWY7DQp9DQoNCi5jYXJ0LXRhYmxlIHRoZWFkIHRyIHRoew0KCWxpbmUtaGVpZ2h0OjI0cHg7DQoJcGFkZGluZzoyMHB4IDE1cHg7DQoJbWluLXdpZHRoOjEyMHB4Ow0KCWZvbnQtd2VpZ2h0OjcwMDsNCgljb2xvcjojMjYyNjI2Ow0KCWZvbnQtc2l6ZToxNnB4Ow0KCXRleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7DQp9DQoNCi5jYXJ0LXRhYmxlIHRoZWFkIHRyIHRoLnByb2QtY29sdW1uew0KCXRleHQtYWxpZ246bGVmdDsNCglwYWRkaW5nLWxlZnQ6NDBweDsJDQp9DQoNCi5jYXJ0LXRhYmxlIHRib2R5IHRyIHRkew0KCWxpbmUtaGVpZ2h0OjI0cHg7DQoJcGFkZGluZzozMHB4IDEwcHggMjBweDsNCgltaW4td2lkdGg6MTAwcHg7DQp9DQoNCi5jYXJ0LXRhYmxlIHRib2R5IHRyIC5xdHl7DQoJd2lkdGg6OTBweDsNCglwYWRkaW5nLXJpZ2h0OjQwcHg7DQp9DQoNCi5jYXJ0LXRhYmxlIHRib2R5IHRyIC5xdHkgLnF1YW50aXR5LXNwaW5uZXJ7DQoJYmFja2dyb3VuZDojZjVmNWY1OwkNCn0NCg0KLmNhcnQtdGFibGUgdGJvZHkgdHIgLnByb2QtY29sdW1uIC5jb2x1bW4tYm94ew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCW1pbi1oZWlnaHQ6OTBweDsNCglwYWRkaW5nLWxlZnQ6OTBweDsNCglwYWRkaW5nLXRvcDoyMHB4Ow0KCXRleHQtYWxpZ246bGVmdDsNCn0NCg0KDQouY29sdW1uLmRlZmF1bHQtY29sdW1uIC5jYXJ0LXRhYmxlIHRib2R5IHRyIC5xdHl7DQoJd2lkdGg6MTEwcHg7DQoJcGFkZGluZy1yaWdodDoyMHB4OwkNCn0NCg0KLmNhcnQtdGFibGUgdGJvZHkgdHIgLnByb2QtY29sdW1uIC5jb2x1bW4tYm94IC5wcm9kLXRodW1iew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXdpZHRoOjcwcHg7DQoJYm9yZGVyOjFweCBzb2xpZCAjZjBmMGYwOw0KCWxlZnQ6MHB4Ow0KCXRvcDowcHg7CQ0KfQ0KDQouY2FydC10YWJsZSB0Ym9keSB0ciAucHJvZC1jb2x1bW4gLmNvbHVtbi1ib3ggLnByb2QtdGh1bWIgaW1new0KCSBkaXNwbGF5OmJsb2NrOw0KCSBtYXgtd2lkdGg6MTAwJTsNCn0NCg0KLmNhcnQtdGFibGUgdGJvZHkgdHIgLnByb2QtY29sdW1uIC5jb2x1bW4tYm94IGgzew0KCWZvbnQtc2l6ZToxOHB4Ow0KCWNvbG9yOiMyNjI2MjY7DQoJZm9udC13ZWlnaHQ6NTAwOw0KCW1hcmdpbi1ib3R0b206NXB4OwkNCn0NCg0KLmNhcnQtdGFibGUgdGJvZHkgdHIgLnN1Yi10b3RhbHsNCglmb250LXdlaWdodDo0MDA7DQoJY29sb3I6I2ZlYmUyODsJDQoJZm9udC1zaXplOjIwcHg7DQoJZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjsNCn0NCg0KLyouY2FydC10YWJsZSB0Ym9keSB0cnsNCglib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZjdmN2Y3Ow0KfSovDQoNCi5jYXJ0LXRhYmxlIHRib2R5IHRyIC5yZW1vdmUtYnRuew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWZvbnQtc2l6ZToxOHB4Ow0KCWNvbG9yOiNlY2VjZWM7DQoJd2lkdGg6MzRweDsNCgloZWlnaHQ6MzRweDsNCgl0ZXh0LWFsaWduOmNlbnRlcjsNCglsaW5lLWhlaWdodDozMHB4Ow0KCWRpc3BsYXk6aW5saW5lLWJsb2NrOw0KCWJvcmRlcjoycHggc29saWQgI2VjZWNlYzsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJLW1zLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJLW8tdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktbW96LXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCn0NCg0KLmNhcnQtdGFibGUgdGJvZHkgdHIgLnJlbW92ZS1idG4gLmZhew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXRvcDoycHg7DQoJZm9udC1zaXplOjEwcHg7DQoJbGluZS1oZWlnaHQ6MTRweDsNCgl3aWR0aDoxNHB4Ow0KCWhlaWdodDoxNHB4Ow0KCW1hcmdpbi1yaWdodDo4cHg7DQoJYmFja2dyb3VuZDojZjBmMGYwOw0KCWNvbG9yOiNmZmZmZmY7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQoJb3ZlcmZsb3c6aGlkZGVuOw0KCXRleHQtaW5kZW50OjEwMHB4Ow0KfQ0KDQouY2FydC10YWJsZSB0Ym9keSB0ciAucmVtb3Zlew0KCXRleHQtYWxpZ246Y2VudGVyOw0KfQ0KDQouY2FydC10YWJsZSB0Ym9keSB0ciAucmVtb3ZlLWJ0bjpob3ZlcnsNCgljb2xvcjojZmViZTI4Ow0KCWJvcmRlci1jb2xvcjojZmViZTI4Ow0KfQ0KDQouY2FydC10YWJsZSB0Ym9keSB0ciAucmVtb3ZlLWJ0bjpob3ZlciAuZmF7DQoJdGV4dC1pbmRlbnQ6MHB4Ow0KCWJhY2tncm91bmQ6I2ZhOTkyODsNCn0NCg0KLmNhcnQtdGFibGUgdGJvZHkgdHIgdGR7DQoJdmVydGljYWwtYWxpZ246bWlkZGxlOwkNCn0NCg0KLmNhcnQtdGFibGUgdGJvZHkgdHIgdGQucHJpY2V7DQoJZm9udC1zaXplOjIwcHg7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWNvbG9yOiM4NDg0ODQ7DQoJZm9udC1mYW1pbHk6ICdSYWxld2F5Jywgc2Fucy1zZXJpZjsNCn0NCg0KLmNhcnQtdGFibGUgdGJvZHkgdHIgdGQgLnF1YW50aXR5LXNwaW5uZXJ7DQoJcGFkZGluZzo1cHggMHB4IDVweCAyMHB4Ow0KCWxpbmUtaGVpZ2h0OjI0cHg7DQoJaGVpZ2h0OjM0cHg7DQoJZGlzcGxheTpibG9jazsNCgl3aWR0aDoxMDAlOw0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KfQ0KDQouY2FydC10YWJsZSB0Ym9keSAuYXZhaWxhYmxlLWluZm97DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJcGFkZGluZy1sZWZ0OjUwcHg7DQogICAgY29sb3I6ICM4NDg0ODQ7DQogICAgZm9udC1zaXplOiAxNnB4Ow0KfQ0KDQouY2FydC10YWJsZSB0Ym9keSAuYXZhaWxhYmxlLWluZm8gLmljb257DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJbGVmdDowcHg7DQoJdG9wOjVweDsNCgl3aWR0aDo0MHB4Ow0KCWhlaWdodDo0MHB4Ow0KCWxpbmUtaGVpZ2h0OjQwcHg7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQoJZm9udC1zaXplOjE4cHg7DQoJY29sb3I6I2ZmZmZmZjsNCgliYWNrZ3JvdW5kOiNmZWJlMjg7DQoJYm9yZGVyLXJhZGl1czo1MCU7DQp9DQoNCi5jYXJ0LXNlY3Rpb24gLmNvdXBvbi1vdXRlcnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW46MzBweCAwcHggNjBweDsNCn0NCg0KLmNhcnQtc2VjdGlvbiAuY291cG9uLW91dGVyIC5jYXJ0LWJ0bnsNCgljb2xvcjojMjIyMjIyOw0KCWZvbnQtc2l6ZToxNXB4Ow0KCXBhZGRpbmc6MTFweCAzM3B4Ow0KCWZvbnQtd2VpZ2h0OjYwMDsNCglib3JkZXItcmFkaXVzOjUwcHg7DQoJbWFyZ2luLXJpZ2h0OjIwcHg7DQoJYmFja2dyb3VuZC1jb2xvcjojZjZmNmY2Ow0KCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktbXMtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgktby10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS1tb3otdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgl0cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KfQ0KDQouY2FydC1zZWN0aW9uIC5jb3Vwb24tb3V0ZXIgLmNhcnQtYnRuOmhvdmVyew0KCWNvbG9yOiNmZmZmZmY7DQoJYmFja2dyb3VuZC1jb2xvcjojZmViZTI4Ow0KfQ0KDQouY2FydC1zZWN0aW9uIC5hcHBseS1jb3Vwb257DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWFyZ2luLWxlZnQ6MjBweDsNCn0NCg0KLmNhcnQtc2VjdGlvbiAuYXBwbHktY291cG9uIC5mb3JtLWdyb3Vwew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWZsb2F0OmxlZnQ7DQoJbWFyZ2luLXJpZ2h0OjE1cHg7CQ0KfQ0KDQouY2FydC1zZWN0aW9uIC5hcHBseS1jb3Vwb24gLmZvcm0tZ3JvdXAgLmNvdXBvbi1idG57DQoJcGFkZGluZzo4cHggMzBweDsNCglsaW5lLWhlaWdodDozMHB4Ow0KfQ0KDQouY2FydC1zZWN0aW9uIC5hcHBseS1jb3Vwb24gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0idGV4dCJdew0KCWRpc3BsYXk6YmxvY2s7DQoJbGluZS1oZWlnaHQ6MjZweDsNCglwYWRkaW5nOjEycHggMjBweDsNCglib3JkZXI6MnB4IHNvbGlkICNmN2Y3Zjc7DQoJaGVpZ2h0OjUwcHg7DQoJd2lkdGg6MjMwcHg7DQoJYmFja2dyb3VuZDpub25lOwkNCglib3JkZXItcmFkaXVzOjUwcHg7DQp9DQoNCi5jYXJ0LXNlY3Rpb24gLmVzdGltYXRlLWZvcm17DQoJcG9zaXRpb246cmVsYXRpdmU7DQp9DQoNCi5jYXJ0LXNlY3Rpb24gLnNlYy10aXRsZXsNCgltYXJnaW4tYm90dG9tOjMwcHg7DQp9DQoNCi5jYXJ0LXNlY3Rpb24gLnNlYy10aXRsZSBoMnsNCglmb250LXNpemU6MjZweDsNCgljb2xvcjojMjIyMjIyOw0KCXBhZGRpbmctYm90dG9tOjBweDsNCn0NCg0KLmNhcnQtc2VjdGlvbiAuZXN0aW1hdGUtZm9ybSAucm93ew0KCW1hcmdpbi1sZWZ0Oi03cHg7DQoJbWFyZ2luLXJpZ2h0Oi03cHg7CQ0KfQ0KDQouY2FydC1zZWN0aW9uIC5lc3RpbWF0ZS1mb3JtIC5yb3cgLmZvcm0tZ3JvdXB7DQoJcGFkZGluZzowcHggN3B4ICFpbXBvcnRhbnQ7DQoJbWFyZ2luLWJvdHRvbTozMHB4Ow0KfQ0KDQouY2FydC1zZWN0aW9uIC50b3RhbHMtdGFibGV7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJYm9yZGVyOjJweCBzb2xpZCAjZjBmMGYwOw0KCWJvcmRlci1yYWRpdXM6MnB4Ow0KCW1hcmdpbi1ib3R0b206MzBweDsNCn0NCg0KLmNhcnQtc2VjdGlvbiAudG90YWxzLXRhYmxlIC5jb2x7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJZGlzcGxheTpibG9jazsNCglmbG9hdDpsZWZ0Ow0KCXBhZGRpbmc6MTVweCAxNXB4Ow0KCWxpbmUtaGVpZ2h0OjI0cHg7DQoJd2lkdGg6NTAlOw0KCWZvbnQtd2VpZ2h0OjQwMDsNCglmb250LXNpemU6MTZweDsNCgljb2xvcjojODQ4NDg0Ow0KCWZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7DQp9DQoNCi5jYXJ0LXNlY3Rpb24gLnRvdGFscy10YWJsZSAuY29sLXRpdGxlew0KCWZvbnQtc2l6ZToxNnB4Ow0KCWNvbG9yOiMyNjI2MjY7DQoJZm9udC13ZWlnaHQ6NTAwOw0KCWJvcmRlci1yaWdodDoycHggc29saWQgI2YwZjBmMDsNCn0NCg0KLmNhcnQtc2VjdGlvbiAudG90YWxzLXRhYmxlIGxpew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWJvcmRlci1ib3R0b206MXB4IHNvbGlkICNmMGYwZjA7CQ0KfQ0KDQouY2FydC1zZWN0aW9uIC50b3RhbHMtdGFibGUgbGk6bGFzdC1jaGlsZHsNCglib3JkZXItYm90dG9tOm5vbmU7CQ0KfQ0KDQouY2FydC1zZWN0aW9uIC5jYXJ0LW5vdGV7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWFyZ2luLWJvdHRvbTo1MHB4Ow0KCXBhZGRpbmc6MTZweCAyMHB4Ow0KCXRleHQtYWxpZ246Y2VudGVyOw0KCWJvcmRlcjoxcHggZGFzaGVkICNiMmRkNGM7DQoJYmFja2dyb3VuZDojZjRmNGY0Ow0KCWxpbmUtaGVpZ2h0OjEuN2VtOw0KfQ0KDQoucHJvZHVjdC1kZXRhaWxzIC5iYXNpYy1kZXRhaWxzIC5pdGVtLXF1YW50aXR5IGlucHV0W3R5cGU9InRleHQiXSwNCi5jYXJ0LXRhYmxlIHRib2R5IHRyIC5xdHkgaW5wdXRbdHlwZT0idGV4dCJdew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWxpbmUtaGVpZ2h0OjQ2cHg7DQoJaGVpZ2h0OjQ2cHg7DQoJYmFja2dyb3VuZDojZjRmNGY0OwkNCn0NCg0KLmJvb3RzdHJhcC10b3VjaHNwaW4gLmlucHV0LWdyb3VwLWJ0bi12ZXJ0aWNhbCA+IC5idG57DQoJaGVpZ2h0OjI0cHg7DQoJYmFja2dyb3VuZDojZTllOWU5OwkNCn0NCg0KLmJvb3RzdHJhcC10b3VjaHNwaW4gLmlucHV0LWdyb3VwLWJ0bi12ZXJ0aWNhbCBpew0KCWxlZnQ6NnB4Ow0KCXRvcDo2cHg7CQ0KfQ0KDQovKlNoaXBwaW5nIEZvcm0qLw0KDQouc2hpcHBpbmctZm9ybSAuZm9ybS1ncm91cHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW4tYm90dG9tOjMwcHg7DQoJcGFkZGluZzowcHggMTVweDsNCn0NCg0KLnNoaXBwaW5nLWZvcm0gLmZvcm0tZ3JvdXAgLnVpLXNlbGVjdG1lbnUtYnV0dG9uLnVpLWJ1dHRvbnsNCgliYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7DQoJaGVpZ2h0OjQ1cHg7DQoJbGluZS1oZWlnaHQ6MjRweDsNCgl6LWluZGV4OjEwOw0KCXdpZHRoOjEwMCU7DQoJY29sb3I6Izg0ODQ4NDsNCglmb250LXNpemU6MTZweDsNCglib3JkZXItd2lkdGg6MnB4Ow0KCWJvcmRlci1jb2xvcjojZjJmMmYyOw0KCWJhY2tncm91bmQtcG9zaXRpb246cmlnaHQgdG9wOw0KCWJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsNCgliYWNrZ3JvdW5kLWltYWdlOnVybCgiLi4vaW1hZ2VzL2ljb25zL2Fycm93LXJpZ2h0LmpwZyIpOw0KfQ0KDQouc2hpcHBpbmctZm9ybSAuZm9ybS1ncm91cCAudWktYnV0dG9uIC51aS1pY29uew0KCW9wYWNpdHk6MDsNCn0NCg0KLnNoaXBwaW5nLWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXQsDQouc2hpcHBpbmctZm9ybSAuZm9ybS1ncm91cCBzZWxlY3R7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJZGlzcGxheTpibG9jazsNCgl3aWR0aDoxMDAlOw0KCWxpbmUtaGVpZ2h0OjMzcHg7DQoJcGFkZGluZzoxMHB4IDIwcHg7DQoJaGVpZ2h0OjQ1cHg7DQoJZm9udC1zaXplOjE0cHg7DQoJYmFja2dyb3VuZDojZmZmZmZmOw0KCWJvcmRlcjoycHggc29saWQgI2Y0ZjRmNDsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJLW1zLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7DQoJLW1vei10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7CQ0KfQ0KDQouc2hpcHBpbmctZm9ybSAuZm9ybS1ncm91cCB0ZXh0YXJlYXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglkaXNwbGF5OmJsb2NrOw0KCXdpZHRoOjEwMCU7DQoJbGluZS1oZWlnaHQ6MzBweDsNCglwYWRkaW5nOjEwcHggMjBweDsNCgloZWlnaHQ6MTIwcHg7DQoJcmVzaXplOm5vbmU7DQoJZm9udC1zaXplOjE2cHg7DQoJZm9udC13ZWlnaHQ6MzAwOw0KCWJhY2tncm91bmQ6I2Y3ZjdmNzsNCglib3JkZXI6MXB4IHNvbGlkICNmNGY0ZjQ7DQoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS1tcy10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOw0KCS1tb3otdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsNCgl0cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwkNCn0NCg0KLnNoaXBwaW5nLWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXQ6Zm9jdXMsDQouc2hpcHBpbmctZm9ybSAuZm9ybS1ncm91cCB0ZXh0YXJlYTpmb2N1c3sNCglib3JkZXItY29sb3I6I2ZhOTkyODsNCn0NCg0KLnNoaXBwaW5nLWZvcm0gLmZvcm0tZ3JvdXAgLnRvdGFsLWJ0bnsNCiAgICBjb2xvcjogIzIyMjIyMjsNCiAgICBmb250LXNpemU6IDE1cHg7DQogICAgcGFkZGluZzogMTFweCAzM3B4Ow0KICAgIGZvbnQtd2VpZ2h0OiA2MDA7DQoJYm9yZGVyLXJhZGl1czo1MHB4Ow0KCWJhY2tncm91bmQtY29sb3I6I2Y2ZjZmNjsNCiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlOw0KICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTsNCiAgICAtby10cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTsNCiAgICAtbW96LXRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlOw0KICAgIHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlOw0KfQ0KDQouY2FydC1zZWN0aW9uIC5jYXJ0LW91dGVyIC5jaGVja291dC1idG57DQoJcGFkZGluZzo4cHggNDBweDsNCn0NCg0KLyoqKiANCg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCglDaGVja091dCBTZWN0aW9vbg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0KKioqLw0KDQouY2hlY2tvdXQtcGFnZXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCglwYWRkaW5nOjgwcHggMHB4IDcwcHg7DQp9DQoNCi5jaGVja291dC1wYWdlIC5kZWZhdWx0LWxpbmtzew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCW1hcmdpbi1ib3R0b206NTBweDsJDQp9DQoNCi5jaGVja291dC1wYWdlIC5kZWZhdWx0LWxpbmtzIGxpew0KCW1hcmdpbi1ib3R0b206MTVweDsNCglsaW5lLWhlaWdodDoyNHB4Ow0KCXBhZGRpbmc6MThweCAzMHB4Ow0KCWJhY2tncm91bmQ6I2Y3ZjdmNzsNCgljb2xvcjojMjIyMjIyOw0KCWZvbnQtc2l6ZToxNnB4Ow0KCWZvbnQtd2VpZ2h0OjUwMDsNCglib3JkZXItbGVmdDoycHggc29saWQgI2ZlYmUyODsNCn0NCg0KLmNoZWNrb3V0LXBhZ2UgLmRlZmF1bHQtbGlua3MgbGkgYXsNCgljb2xvcjojZmViZTI4Ow0KfQ0KDQouY2hlY2tvdXQtZm9ybXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCn0NCg0KLmNoZWNrb3V0LWZvcm0gLmZvcm0tZ3JvdXB7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJbWFyZ2luLWJvdHRvbToyNXB4OwkNCn0NCg0KLmNoZWNrb3V0LWZvcm0gLmZvcm0tZ3JvdXAgLmZpZWxkLWxhYmVsew0KCWRpc3BsYXk6YmxvY2s7DQoJbGluZS1oZWlnaHQ6MjRweDsNCgltYXJnaW4tYm90dG9tOjZweDsNCgl0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplOw0KCWNvbG9yOiMyNjI2MjY7CQ0KCWZvbnQtc2l6ZToxNnB4Ow0KCWZvbnQtd2VpZ2h0OjQwMDsNCglmb250LWZhbWlseTogJ1JhbGV3YXknLCBzYW5zLXNlcmlmOw0KfQ0KDQouY2hlY2tvdXQtZm9ybSAuZm9ybS1ncm91cCAuZmllbGQtbGFiZWwgc3Vwew0KCXRvcDotMXB4Ow0KCWZvbnQtc2l6ZToxNnB4Ow0KfQ0KDQouY2hlY2tvdXQtZm9ybSBpbnB1dFt0eXBlPSJ0ZXh0Il0sDQouY2hlY2tvdXQtZm9ybSBpbnB1dFt0eXBlPSJlbWFpbCJdLA0KLmNoZWNrb3V0LWZvcm0gaW5wdXRbdHlwZT0icGFzc3dvcmQiXSwNCi5jaGVja291dC1mb3JtIGlucHV0W3R5cGU9InRlbCJdLA0KLmNoZWNrb3V0LWZvcm0gaW5wdXRbdHlwZT0ibnVtYmVyIl0sDQouY2hlY2tvdXQtZm9ybSBpbnB1dFt0eXBlPSJ1cmwiXSwNCi5jaGVja291dC1mb3JtIHNlbGVjdCwNCi5jaGVja291dC1mb3JtIHRleHRhcmVhew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWRpc3BsYXk6YmxvY2s7DQoJd2lkdGg6MTAwJTsNCgliYWNrZ3JvdW5kOiNmZmZmZmY7DQoJbGluZS1oZWlnaHQ6MjJweDsNCglwYWRkaW5nOjEycHggMTVweDsNCgloZWlnaHQ6NDhweDsNCglib3JkZXI6MnB4IHNvbGlkICNmNGY0ZjQ7DQoJdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsNCgktd2Via2l0LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLW1zLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQoJLW8tdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsNCgktbW96LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7DQp9DQoNCi5jaGVja291dC1mb3JtIHRleHRhcmVhew0KCXJlc2l6ZTpub25lOw0KCWhlaWdodDoxMjBweCAhaW1wb3J0YW50OwkNCn0NCg0KLmNoZWNrb3V0LWZvcm0gaW5wdXQ6Zm9jdXMsDQouY2hlY2tvdXQtZm9ybSBzZWxlY3Q6Zm9jdXMsDQouY2hlY2tvdXQtZm9ybSB0ZXh0YXJlYTpmb2N1c3sNCglib3JkZXItY29sb3I6I2ZlYmUyODsJDQp9DQoNCi5jaGVja291dC1wYWdlIC5jaGVjay1ib3h7DQoJbGluZS1oZWlnaHQ6MjRweDsNCglmb250LXNpemU6MTRweDsNCglmb250LXdlaWdodDpub3JtYWw7DQoJcGFkZGluZy10b3A6NXB4OwkNCn0NCg0KLmNoZWNrb3V0LXBhZ2UgLmNoZWNrLWJveCBsYWJlbHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgl0b3A6LTFweDsNCglmb250LXdlaWdodDo1MDA7DQoJcGFkZGluZzowcHg7DQoJZm9udC1zaXplOjE2cHg7DQoJY3Vyc29yOnBvaW50ZXI7DQoJY29sb3I6I2ZlYmUyODsNCn0NCg0KLmNoZWNrb3V0LXBhZ2UgLmxvd2VyLWNvbnRlbnR7DQoJbWFyZ2luLXRvcDozMHB4Ow0KfQ0KDQouY2hlY2tvdXQtcGFnZSAubG93ZXItY29udGVudCAub3JkZXItY29sdW1uew0KCW1hcmdpbi1ib3R0b206NDBweDsNCn0NCg0KLypjYXJ0IG91dGVyKi8NCg0KLmNhcnQtb3V0ZXJ7DQoJcG9zaXRpb246cmVsYXRpdmU7CQ0KfQ0KDQovKi5jYXJ0LW91dGVyIC50YWJsZS1vdXRlcnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgl3aWR0aDoxMDAlOw0KCW92ZXJmbG93LXg6CWF1dG87DQp9Ki8NCg0KLmNoZWNrb3V0LXBhZ2UgLmxvd2VyLWNvbnRlbnQgLm9yZGVyLWNvbHVtbiAuY2FydC1vdXRlcnsNCglvdmVyZmxvdy14OmF1dG87DQp9DQoNCi5jaGVja291dC1wYWdlIC5sb3dlci1jb250ZW50IC5vcmRlci1jb2x1bW4gLmNhcnQtdGFibGV7DQoJd2lkdGg6MTAwJTsNCn0NCg0KLmNhcnQtdGFibGUgLmNhcnQtaGVhZGVyew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXdpZHRoOjEwMCU7DQoJdGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTsNCglmb250LXNpemU6MThweDsNCgliYWNrZ3JvdW5kOiNmN2Y3Zjc7DQoJY29sb3I6IzIyMjIyMjsNCn0NCg0KLmNhcnQtdGFibGUgdGhlYWQgdHIgdGh7DQoJbGluZS1oZWlnaHQ6MjRweDsNCglwYWRkaW5nOjEzcHggMzBweDsNCglmb250LXdlaWdodDo3MDA7DQp9DQoNCi5jYXJ0LXRhYmxlIHRoZWFkIHRyIHRoIC5mYXsNCglmb250LXNpemU6MThweDsJDQp9DQoNCi5jYXJ0LXRhYmxlIHRoZWFkIHRyIHRoLnByb2QtY29sdW1uew0KCXRleHQtYWxpZ246bGVmdDsNCn0NCg0KLmNhcnQtdGFibGUgdGJvZHkgdHJ7DQoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2VlZWVlZTsNCn0NCg0KLmNhcnQtdGFibGUgdGJvZHkgdHIgdGR7DQoJbGluZS1oZWlnaHQ6MjRweDsNCglwYWRkaW5nOjMwcHggMHB4IDMwcHggMzBweDsNCn0NCg0KLmNhcnQtdGFibGUgdGJvZHkgdHIgLnF0eSBpbnB1dHsNCgl3aWR0aDo0NXB4Ow0KCWhlaWdodDo1MHB4Ow0KCWNvbG9yOiMyMjIyMjI7DQoJZm9udC1zaXplOjE4cHg7DQoJbGluZS1oZWlnaHQ6NTBweDsNCgliYWNrZ3JvdW5kOiNmN2Y3Zjc7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQp9DQoNCi5jYXJ0LXRhYmxlIHRib2R5IHRyIC5wcm9kLWNvbHVtbiAuY29sdW1uLWJveHsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltaW4taGVpZ2h0OjcwcHg7DQoJcGFkZGluZy1sZWZ0OjEwMHB4Ow0KCXBhZGRpbmctdG9wOjIwcHg7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCW1pbi13aWR0aDoyMzBweDsNCn0NCg0KLmNhcnQtdGFibGUgdGJvZHkgdHIgLnByb2QtY29sdW1uIC5jb2x1bW4tYm94IC5wcm9kLXRodW1iew0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXdpZHRoOjgwcHg7DQoJbGVmdDowcHg7DQoJdG9wOjBweDsJDQp9DQoNCi5jYXJ0LXRhYmxlIHRib2R5IHRyIC5wcm9kLWNvbHVtbiAuY29sdW1uLWJveCAucHJvZC10aHVtYiBpbWd7DQoJIGRpc3BsYXk6YmxvY2s7DQoJIHdpZHRoOjEwMCU7DQp9DQoNCi5jYXJ0LXRhYmxlIHRib2R5IHRyIC5wcm9kLWNvbHVtbiAuY29sdW1uLWJveCBoNHsNCglmb250LXNpemU6MTZweDsNCgljb2xvcjojMjIyMjIyOw0KCWZvbnQtd2VpZ2h0OjUwMDsNCgltYXJnaW4tYm90dG9tOjVweDsNCgl0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplOw0KfQ0KDQovKlRvdGFsIFRhYmxlKi8NCg0KLmNoZWNrb3V0LXBhZ2UgLmxvd2VyLWNvbnRlbnQgLnRvdGFscy10YWJsZXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgltYXJnaW4tYm90dG9tOjQwcHg7DQoJYm9yZGVyOjFweCBzb2xpZCAjZWVlZWVlOw0KfQ0KDQouY2hlY2tvdXQtcGFnZSAubG93ZXItY29udGVudCAudG90YWxzLXRhYmxlIGxpIC5jb2x7DQoJcGFkZGluZzoxMnB4IDIwcHg7DQp9DQoNCi5jaGVja291dC1wYWdlIC5sb3dlci1jb250ZW50IC50b3RhbHMtdGFibGUgbGl7DQoJbGluZS1oZWlnaHQ6MjRweDsNCglib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZWVlZWVlOwkNCn0NCg0KLmNoZWNrb3V0LXBhZ2UgLmxvd2VyLWNvbnRlbnQgLnRvdGFscy10YWJsZSBsaSAuY29sLnRpdGxlew0KCWZvbnQtd2VpZ2h0OjUwMDsNCgljb2xvcjojMjYyNjI2Ow0KCWZvbnQtc2l6ZToxNnB4Ow0KCWJvcmRlci1yaWdodDoxcHggc29saWQgI2VlZWVlZTsNCn0NCg0KLmNoZWNrb3V0LXBhZ2UgLmxvd2VyLWNvbnRlbnQgLnRvdGFscy10YWJsZSBsaTpsYXN0LWNoaWxkew0KCWJvcmRlci1ib3R0b206bm9uZTsNCgltYXJnaW4tYm90dG9tOjBweDsNCn0NCg0KLmNoZWNrb3V0LXBhZ2UgLmxvd2VyLWNvbnRlbnQgLnRvdGFscy10YWJsZSAuY29sew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWRpc3BsYXk6YmxvY2s7DQoJZmxvYXQ6bGVmdDsNCglsaW5lLWhlaWdodDoyNHB4Ow0KCXdpZHRoOjUwJTsNCgljb2xvcjogIzg0ODQ4NDsNCglmb250LXdlaWdodDogNDAwOw0KCWZvbnQtc2l6ZToxNnB4Ow0KCWZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7DQp9DQoNCi8qUGF5bWVudCBPcHRpb24qLw0KDQouY2hlY2tvdXQtcGFnZSAucGF5bWVudC1vcHRpb25zew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmc6MzBweCAyMHB4IDM1cHg7DQoJYmFja2dyb3VuZC1jb2xvcjojZjdmN2Y3Ow0KfQ0KDQouY2hlY2tvdXQtcGFnZSAucGF5bWVudC1vcHRpb25zIGxpew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCW1hcmdpbi1ib3R0b206MTVweDsJDQp9DQoNCi5jaGVja291dC1wYWdlIC5wYXltZW50LW9wdGlvbnMgbGkgLnJhZGlvLW9wdGlvbnsNCglwb3NpdGlvbjpyZWxhdGl2ZTsJCQ0KfQ0KDQouY2hlY2tvdXQtcGFnZSAucGF5bWVudC1vcHRpb25zIGxpIC5yYWRpby1vcHRpb24gbGFiZWx7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJZGlzcGxheTppbmxpbmUtYmxvY2s7DQoJcGFkZGluZy1sZWZ0OjMwcHg7DQoJZm9udC13ZWlnaHQ6NTAwICFpbXBvcnRhbnQ7DQoJdGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTsNCglsZXR0ZXItc3BhY2luZzoxcHg7DQoJY29sb3I6IzMzMzMzMzsNCgljdXJzb3I6cG9pbnRlcjsNCn0NCg0KLmNoZWNrb3V0LXBhZ2UgLnBheW1lbnQtb3B0aW9ucyBsaSAucmFkaW8tb3B0aW9uIGxhYmVsIHN0cm9uZ3sNCglmb250LXdlaWdodDo1MDA7CQ0KCWNvbG9yOiMyNjI2MjY7DQoJZm9udC1zaXplOjE2cHg7DQp9DQoNCi5jaGVja291dC1wYWdlIC5wYXltZW50LW9wdGlvbnMgbGkgLnJhZGlvLW9wdGlvbiBsYWJlbCBzdHJvbmcgYXsNCglmb250LXNpemU6MTZweDsNCgljb2xvcjojZmViZTI4Ow0KCW1hcmdpbi1sZWZ0OjMwcHg7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTsNCn0NCg0KLmNoZWNrb3V0LXBhZ2UgLnBheW1lbnQtb3B0aW9ucyBsaSAucmFkaW8tb3B0aW9uIGlucHV0W3R5cGU9InJhZGlvIl17DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJbGVmdDowcHg7DQoJdG9wOjNweDsJDQp9DQoNCi5jaGVja291dC1wYWdlIC5wYXltZW50LW9wdGlvbnMgbGkgLnJhZGlvLW9wdGlvbiBsYWJlbCAuc21hbGwtdGV4dHsNCglkaXNwbGF5OmJsb2NrOw0KCXBhZGRpbmctdG9wOjVweDsNCglsZXR0ZXItc3BhY2luZzowcHg7DQoJdGV4dC10cmFuc2Zvcm06bm9uZTsNCglmb250LXNpemU6MTZweDsNCgljb2xvcjojODQ4NDg0Ow0KCWZvbnQtd2VpZ2h0OjQwMDsNCglsaW5lLWhlaWdodDoxLjdlbTsJDQp9DQoNCi5jaGVja291dC1wYWdlIC5wYXltZW50LW9wdGlvbnMgbGkgLnJhZGlvLW9wdGlvbiBsYWJlbCBpbWd7DQoJcG9zaXRpb246cmVsYXRpdmU7DQoJdG9wOi0zcHg7DQoJZGlzcGxheTppbmxpbmUtYmxvY2s7DQoJbWF4LXdpZHRoOjEwMCU7DQoJcGFkZGluZy1sZWZ0OjMwcHg7CQ0KfQ0KDQouY2hlY2tvdXQtcGFnZSAucGF5bWVudC1vcHRpb25zIC50aGVtZS1idG57DQoJcGFkZGluZzo4cHggMzVweDsNCgltYXJnaW4tdG9wOjEwcHg7DQoJbWFyZ2luLWxlZnQ6MzJweDsNCn0NCg0KLmNjYy1oZWFkZXItdjMtY2NjLXByaWNlLWNvbnRhaW5lcnsNCglwYWRkaW5nLXJpZ2h0OjE1cHg7DQoJYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMjApOw0KfQ0KDQovKioqIA0KDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KCUN1cnJlbmN5IFNlY3Rpb29uDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQoqKiovDQoNCi5jdXJyZW5jeS1zZWN0aW9uew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmc6ODVweCAwcHg7DQp9DQoNCi5jdXJyZW5jeS1jaGFydCB7DQogIHBhZGRpbmc6IDE1cHggMDsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICBib3R0b206IDA7DQogIHotaW5kZXg6IDk5Ow0KICBsZWZ0OiAwOw0KICBiYWNrZ3JvdW5kOiAjZmViZTI4ICFpbXBvcnRhbnQ7DQogIGJveC1zaGFkb3c6IDAgMCA2cHggIzAwMDAzODsNCn0NCg0KLmN1cnJlbmN5LWNoYXJ0ICNtYXJxdWVlLWNvbnRhaW5lciB7DQogIGJhY2tncm91bmQ6ICNmZWJlMjggIWltcG9ydGFudDsNCn0NCg0KLmNjYy1oZWFkZXItdjMtcHJpY2UtdmFsdWUsDQouY2NjLWhlYWRlci12My1wcmljZS1uYW1lew0KCWZvbnQtd2VpZ2h0OjcwMCAhaW1wb3J0YW50Ow0KfQ0KDQouY2NjLWhlYWRlci12My1wcmljZS1sb2dvew0KCW1hcmdpbi1yaWdodDo1cHg7DQp9DQoNCg0KDQovKiBDdXJyZW5jeSBDYWxjdWxhdG9yKi8NCg0KLmNyeXB0b25hdG9yd2lkZ2V0ew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXBhZGRpbmc6MHB4ICFpbXBvcnRhbnQ7DQoJYm9yZGVyOm5vbmUgIWltcG9ydGFudDsNCn0NCg0KLmNyeXB0b25hdG9yd2lkZ2V0IHRhYmxlIHRib2R5IHRyew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCWZsb2F0OmxlZnQ7DQoJYm9yZGVyOjFweCBzb2xpZCAjZjJmMmYyOw0KCW1hcmdpbi1yaWdodDo0MHB4Ow0KfQ0KDQouY3J5cHRvbmF0b3J3aWRnZXQgdGFibGUgdGJvZHkgdHIgdGR7DQoJd2lkdGg6YXV0byAhaW1wb3J0YW50Ow0KfQ0KDQouY3J5cHRvbmF0b3J3aWRnZXQgdGFibGUgdGJvZHkgdHIgdGQ6bnRoLWNoaWxkKDIpew0KCXdpZHRoOjEyMHB4ICFpbXBvcnRhbnQ7DQp9DQoNCi5jcnlwdG9uYXRvcndpZGdldCB0YWJsZSB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0ZCBpbnB1dHsNCgl3aWR0aDo1MHB4ICFpbXBvcnRhbnQ7DQoJaGVpZ2h0OjUwcHggIWltcG9ydGFudDsNCglwYWRkaW5nOjRweCA2cHg7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQoJYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZjJmMmYyOw0KfQ0KDQouY3J5cHRvbmF0b3J3aWRnZXQgdGFibGUgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQgaW5wdXQ6OnBsYWNlaG9sZGVyew0KCWNvbG9yOiNmZmZmZmY7DQp9DQoNCi5jcnlwdG9uYXRvcndpZGdldCB0YWJsZSB0Ym9keSB0cjpmaXJzdC1jaGlsZDphZnRlcnsNCgljb250ZW50Oic9JzsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglyaWdodDotNDBweDsNCgl0b3A6MHB4Ow0KCXdpZHRoOjQwcHg7DQoJZm9udC1zaXplOjIwcHg7DQoJbGluZS1oZWlnaHQ6NTBweDsNCgl0ZXh0LWFsaWduOmNlbnRlcjsNCn0NCg0KLmNyeXB0b25hdG9yd2lkZ2V0IHRhYmxlIHRib2R5IHRyOm50aC1jaGlsZCgyKXsNCglmbG9hdDpyaWdodDsNCgltYXJnaW4tcmlnaHQ6NTBweDsNCn0NCg0KLmNyeXB0b25hdG9yd2lkZ2V0IHRhYmxlIHRib2R5IHRyOm50aC1jaGlsZCgyKSB0ZCBpbnB1dHsNCgl3aWR0aDoxNDBweCAhaW1wb3J0YW50Ow0KCWhlaWdodDo1MHB4ICFpbXBvcnRhbnQ7DQoJcGFkZGluZzo0cHggNnB4Ow0KCXRleHQtYWxpZ246Y2VudGVyOw0KCWJvcmRlci1yaWdodDoxcHggc29saWQgI2YyZjJmMjsNCn0NCg0KLmNyeXB0b25hdG9yd2lkZ2V0IHRhYmxlIHRib2R5IHRyOm50aC1jaGlsZCgyKSB0ZCBpbnB1dDo6cGxhY2Vob2xkZXJ7DQoJY29sb3I6I2ZmZmZmZjsNCn0NCg0KLmNyeXB0b25hdG9yd2lkZ2V0IHRhYmxlIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRkIHNlbGVjdCwNCi5jcnlwdG9uYXRvcndpZGdldCB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoMikgdGQgc2VsZWN0ew0KCXdpZHRoOjE1MHB4ICFpbXBvcnRhbnQ7DQoJcGFkZGluZy1sZWZ0OjVweDsNCglwYWRkaW5nLXJpZ2h0OjVweDsNCgloZWlnaHQ6NTBweCAhaW1wb3J0YW50Ow0KCXBhZGRpbmc6MTBweCA1cHg7DQoJbGluZS1oZWlnaHQ6MzBweCAhaW1wb3J0YW50Ow0KCWN1cnNvcjpwb2ludGVyOw0KDQp9DQoNCi5jcnlwdG9uYXRvcndpZGdldCBkaXZ7DQoJZGlzcGxheTpub25lOw0KfQ0KDQouYnRjLWNsYyAuYnV5LWJ0bnsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCglyaWdodDowcHg7DQoJdG9wOjBweDsNCn0NCg0KDQoNCg0KLnByaWNlLXRhYmxlew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KfQ0KDQoucHJpY2UtdGFibGUgLnRhYmxlLW91dGVyew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXdpZHRoOjEwMCU7DQp9DQoNCi5wcmljZS10YWJsZSAudGFibGUtb3V0ZXIgLmJ0Yy10YWJsZXsNCglwb3NpdGlvbjpyZWxhdGl2ZTsNCgl3aWR0aDogMTAwJTsNCgltaW4td2lkdGg6OTAwcHg7DQp9DQoNCi5wcmljZS10YWJsZSAudGFibGUtb3V0ZXIgLmJ0Yy10YWJsZSAuYnRjLWhlYWRlcnsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgd2lkdGg6IDEwMCU7DQogICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7DQogICAgZm9udC1zaXplOiAxNnB4Ow0KCWZvbnQtd2VpZ2h0OjUwMDsNCiAgICBiYWNrZ3JvdW5kOiAjMWIzMzRkOw0KICAgIGNvbG9yOiAjZmViZTI4Ow0KCWZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjsNCn0NCg0KLnByaWNlLXRhYmxlIC50YWJsZS1vdXRlciB0Ym9keSB0ciB0ZCwNCi5wcmljZS10YWJsZSAudGFibGUtb3V0ZXIgLmJ0Yy10YWJsZSAuYnRjLWhlYWRlciB0ciB0aHsNCglwYWRkaW5nOjEycHggMThweDsNCn0NCg0KLnByaWNlLXRhYmxlIC50YWJsZS1vdXRlciB0Ym9keXsNCglib3JkZXI6MXB4IHNvbGlkICNmMmYyZjI7DQoJLXdlYmtpdC1ib3gtc2hhZG93OjBweCAwcHggNXB4IDBweCByZ2JhKDAsMCwwLDAuMDUpLDBweCAwcHggNXB4IDBweCByZ2JhKDAsMCwwLDAuMDUpOw0KCS1tcy1ib3gtc2hhZG93OjBweCAwcHggNXB4IDBweCByZ2JhKDAsMCwwLDAuMDUpLDBweCAwcHggNXB4IDBweCByZ2JhKDAsMCwwLDAuMDUpOw0KCS1tb3otYm94LXNoYWRvdzowcHggMHB4IDVweCAwcHggcmdiYSgwLDAsMCwwLjA1KSwwcHggMHB4IDVweCAwcHggcmdiYSgwLDAsMCwwLjA1KTsNCglib3gtc2hhZG93OjBweCAwcHggNXB4IDBweCByZ2JhKDAsMCwwLDAuMDUpLDBweCAwcHggNXB4IDBweCByZ2JhKDAsMCwwLDAuMDUpOw0KfQ0KDQoucHJpY2UtdGFibGUgLnRhYmxlLW91dGVyIHRib2R5IHRyew0KCWJvcmRlci1ib3R0b206MXB4IHNvbGlkICNmMmYyZjI7DQp9DQoNCi5wcmljZS10YWJsZSAudGFibGUtb3V0ZXIgdGJvZHkgdHI6bGFzdC1jaGlsZHsNCglib3JkZXItYm90dG9tOjBweDsNCn0NCg0KLnByaWNlLXRhYmxlIC50YWJsZS1vdXRlciB0Ym9keSB0ciB0ZC5zeW1ib2wtbmFtZXsNCgljb2xvcjojMjYyNjI2Ow0KCWZvbnQtc2l6ZToxNnB4Ow0KCXRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsNCglmb250LWZhbWlseTogJ1JvYm90bycsIHNhbnMtc2VyaWY7DQp9DQoNCi5wcmljZS10YWJsZSAudGFibGUtb3V0ZXIgdGJvZHkgdHIgdGQuY3VycmVuY3ktbmFtZXsNCgljb2xvcjojMjYyNjI2Ow0KCWZvbnQtc2l6ZToxNnB4Ow0KCXRleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7DQoJZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBzYW5zLXNlcmlmOw0KfQ0KDQoucHJpY2UtdGFibGUgLnRhYmxlLW91dGVyIHRib2R5IHRyIHRkew0KCWNvbG9yOiM4NDg0ODQ7DQoJZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBzYW5zLXNlcmlmOw0KfQ0KDQouY3VycmVuY3ktZ3JhcGh7DQoJcG9zaXRpb246cmVsYXRpdmU7DQp9DQoNCi5jdXJyZW5jeS1ncmFwaCAuY29sdW1uew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCW1hcmdpbi1ib3R0b206NTBweDsNCn0NCg0KLmJ0Y3dkZ3QtY2hhcnQuYnRjd2RndHsNCgltYXJnaW46MHB4ICFpbXBvcnRhbnQ7DQp9"}},"time_used":56,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":30,"receive":26,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/plugins/revolution/js/extensions/revolution.extension.parallax.min.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.598Z","timestamp":1785123231598,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /plugins/revolution/js/extensions/revolution.extension.parallax.min.js HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Wed, 22 Apr 2026 17:27:51 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 3008\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":10931,"size_decoded":3331,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (10692), with CRLF line terminators","md5":"aaf7e95e34f292b1a098887db6cf9ee3","sha1":"e00d5e9a3dca546921b83d15a0cb7a9261467027","sha256":"149d1060d155832cca22142423c095866d6b03277f372ebc1967ecdf579a435b","sha512":"824a519d23ccf5819ec06039fb8ab8b9a43679052bfd7d644b7c5c596b7a9ed5f51e1fbc82b2558db2c3314a2a4982c8f54154ea1bd0338bed5675a7dda76d16","ssdeep":"192:BcLK1q1e1XfU9dciEK5FKw0Vm7Wgput9mHJnGN82PbZ7:n1q1e1Xf4+KL6m7WgpAmHUNVPbZ7","tlshash":"7432d95a6e2028f640f3132cf9ad45d273228572e5068d41f9e6f9b9566ce9c037abcc","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-07-27T05:37:05.242283Z","times_seen":1180,"resource_available":true,"data":"LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogKiBSRVZPTFVUSU9OIDUuNC41IEVYVEVOU0lPTiAtIFBBUkFMTEFYDQogKiBAdmVyc2lvbjogMi4yLjMgKDE3LjA1LjIwMTcpDQogKiBAcmVxdWlyZXMganF1ZXJ5LnRoZW1lcHVuY2gucmV2b2x1dGlvbi5qcw0KICogQGF1dGhvciBUaGVtZVB1bmNoDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQohZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGUoYSxiKXthLmxhc3RzY3JvbGx0b3A9Yn12YXIgYj1qUXVlcnkuZm4ucmV2b2x1dGlvbixjPWIuaXNfbW9iaWxlKCksZD17YWxpYXM6IlBhcmFsbGF4IE1pbiBKUyIsbmFtZToicmV2b2x1dGlvbi5leHRlbnNpb25zLnBhcmFsbGF4Lm1pbi5qcyIsbWluX2NvcmU6IjUuNC41Iix2ZXJzaW9uOiIyLjIuMyJ9O2pRdWVyeS5leHRlbmQoITAsYix7Y2hlY2tGb3JQYXJhbGxheDpmdW5jdGlvbihhLGUpe2Z1bmN0aW9uIGcoYSl7aWYoIjNEIj09Zi50eXBlfHwiM2QiPT1mLnR5cGUpe2EuZmluZCgiLnNsb3Rob2xkZXIiKS53cmFwQWxsKCc8ZGl2IGNsYXNzPSJkZGR3cmFwcGVyIiBzdHlsZT0id2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MHB4O2xlZnQ6MHB4O292ZXJmbG93OmhpZGRlbiI+PC9kaXY+JyksYS5maW5kKCIudHAtcGFyYWxsYXgtd3JhcCIpLndyYXBBbGwoJzxkaXYgY2xhc3M9ImRkZHdyYXBwZXItbGF5ZXIiIHN0eWxlPSJ3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowcHg7bGVmdDowcHg7ei1pbmRleDo1O292ZXJmbG93OicrZi5kZGRfbGF5ZXJfb3ZlcmZsb3crJzsiPjwvZGl2PicpLGEuZmluZCgiLnJzLXBhcmFsbGF4bGV2ZWwtdG9iZ2dyb3VwIikuY2xvc2VzdCgiLnRwLXBhcmFsbGF4LXdyYXAiKS53cmFwQWxsKCc8ZGl2IGNsYXNzPSJkZGR3cmFwcGVyLWxheWVydG9iZ2dyb3VwIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7dG9wOjBweDtsZWZ0OjBweDt6LWluZGV4OjUwO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCUiPjwvZGl2PicpO3ZhciBiPWEuZmluZCgiLmRkZHdyYXBwZXIiKSxjPWEuZmluZCgiLmRkZHdyYXBwZXItbGF5ZXIiKTthLmZpbmQoIi5kZGR3cmFwcGVyLWxheWVydG9iZ2dyb3VwIikuYXBwZW5kVG8oYiksImNhcm91c2VsIj09ZS5zbGlkZXJUeXBlJiYoIm9uIj09Zi5kZGRfc2hhZG93JiZiLmFkZENsYXNzKCJkZGR3cmFwcGVyc2hhZG93IikscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGIse2JvcmRlclJhZGl1czplLmNhcm91c2VsLmJvcmRlcl9yYWRpdXN9KSkscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEse292ZXJmbG93OiJ2aXNpYmxlIix0cmFuc2Zvcm1TdHlsZToicHJlc2VydmUtM2QiLHBlcnNwZWN0aXZlOjE2MDB9KSxwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYix7Zm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtT3JpZ2luOiI1MCUgNTAlIn0pLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChjLHtmb3JjZTNEOiJhdXRvIix0cmFuc2Zvcm1PcmlnaW46IjUwJSA1MCUiLHpJbmRleDo1fSkscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGUudWwse3RyYW5zZm9ybVN0eWxlOiJwcmVzZXJ2ZS0zZCIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6MTYwMH0pfX1pZigic3RvcCI9PT1iLmNvbXBhcmVfdmVyc2lvbihkKS5jaGVjaylyZXR1cm4hMTt2YXIgZj1lLnBhcmFsbGF4O2lmKCFmLmRvbmUpe2lmKGYuZG9uZT0hMCxjJiYib24iPT1mLmRpc2FibGVfb25tb2JpbGUpcmV0dXJuITE7IjNEIiE9Zi50eXBlJiYiM2QiIT1mLnR5cGV8fChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZS5jLHtvdmVyZmxvdzpmLmRkZF9vdmVyZmxvd30pLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChlLnVsLHtvdmVyZmxvdzpmLmRkZF9vdmVyZmxvd30pLCJjYXJvdXNlbCIhPWUuc2xpZGVyVHlwZSYmIm9uIj09Zi5kZGRfc2hhZG93JiYoZS5jLnByZXBlbmQoJzxkaXYgY2xhc3M9ImRkZHdyYXBwZXJzaGFkb3ciPjwvZGl2PicpLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChlLmMuZmluZCgiLmRkZHdyYXBwZXJzaGFkb3ciKSx7Zm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6MTYwMCx0cmFuc2Zvcm1PcmlnaW46IjUwJSA1MCUiLHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLHBvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOjAsbGVmdDowLHpJbmRleDowfSkpKSxlLmxpLmVhY2goZnVuY3Rpb24oKXtnKGpRdWVyeSh0aGlzKSl9KSwoIjNEIj09Zi50eXBlfHwiM2QiPT1mLnR5cGUpJiZlLmMuZmluZCgiLnRwLXN0YXRpYy1sYXllcnMiKS5sZW5ndGg+MCYmKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChlLmMuZmluZCgiLnRwLXN0YXRpYy1sYXllcnMiKSx7dG9wOjAsbGVmdDowLHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUifSksZyhlLmMuZmluZCgiLnRwLXN0YXRpYy1sYXllcnMiKSkpLGYucGNvbnRhaW5lcnM9bmV3IEFycmF5LGYucGNvbnRhaW5lcl9kZXB0aHM9bmV3IEFycmF5LGYuYmdjb250YWluZXJzPW5ldyBBcnJheSxmLmJnY29udGFpbmVyX2RlcHRocz1uZXcgQXJyYXksZS5jLmZpbmQoIi50cC1yZXZzbGlkZXItc2xpZGVzbGkgLnNsb3Rob2xkZXIsIC50cC1yZXZzbGlkZXItc2xpZGVzbGkgLnJzLWJhY2tncm91bmQtdmlkZW8tbGF5ZXIiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpLGI9YS5kYXRhKCJiZ3BhcmFsbGF4Iil8fGUucGFyYWxsYXguYmdwYXJhbGxheDt2b2lkIDAhPT0oYj0ib24iPT1iPzE6YikmJiJvZmYiIT09YiYmKGYuYmdjb250YWluZXJzLnB1c2goYSksZi5iZ2NvbnRhaW5lcl9kZXB0aHMucHVzaChlLnBhcmFsbGF4LmxldmVsc1twYXJzZUludChiLDApLTFdLzEwMCkpfSk7Zm9yKHZhciBoPTE7aDw9Zi5sZXZlbHMubGVuZ3RoO2grKyllLmMuZmluZCgiLnJzLXBhcmFsbGF4bGV2ZWwtIitoKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpLGI9YS5jbG9zZXN0KCIudHAtcGFyYWxsYXgtd3JhcCIpO2IuZGF0YSgicGFyYWxsYXhsZXZlbCIsZi5sZXZlbHNbaC0xXSksYi5hZGRDbGFzcygidHAtcGFyYWxsYXgtY29udGFpbmVyIiksZi5wY29udGFpbmVycy5wdXNoKGIpLGYucGNvbnRhaW5lcl9kZXB0aHMucHVzaChmLmxldmVsc1toLTFdKX0pOyJtb3VzZSIhPWYudHlwZSYmInNjcm9sbCttb3VzZSIhPWYudHlwZSYmIm1vdXNlK3Njcm9sbCIhPWYudHlwZSYmIjNEIiE9Zi50eXBlJiYiM2QiIT1mLnR5cGV8fChhLm1vdXNlZW50ZXIoZnVuY3Rpb24oYil7dmFyIGM9YS5maW5kKCIuYWN0aXZlLXJldnNsaWRlIiksZD1hLm9mZnNldCgpLnRvcCxlPWEub2Zmc2V0KCkubGVmdCxmPWIucGFnZVgtZSxnPWIucGFnZVktZDtjLmRhdGEoImVudGVyeCIsZiksYy5kYXRhKCJlbnRlcnkiLGcpfSksYS5vbigibW91c2Vtb3ZlLmhvdmVyZGlyLCBtb3VzZWxlYXZlLmhvdmVyZGlyLCB0cmlnZ2VyM2RwYXRoIixmdW5jdGlvbihiLGMpe3ZhciBkPWMmJmMubGk/Yy5saTphLmZpbmQoIi5hY3RpdmUtcmV2c2xpZGUiKTtpZigiZW50ZXJwb2ludCI9PWYub3JpZ28pe3ZhciBnPWEub2Zmc2V0KCkudG9wLGg9YS5vZmZzZXQoKS5sZWZ0O3ZvaWQgMD09ZC5kYXRhKCJlbnRlcngiKSYmZC5kYXRhKCJlbnRlcngiLGIucGFnZVgtaCksdm9pZCAwPT1kLmRhdGEoImVudGVyeSIpJiZkLmRhdGEoImVudGVyeSIsYi5wYWdlWS1nKTt2YXIgaT1kLmRhdGEoImVudGVyeCIpfHxiLnBhZ2VYLWgsaj1kLmRhdGEoImVudGVyeSIpfHxiLnBhZ2VZLWcsaz1pLShiLnBhZ2VYLWgpLGw9ai0oYi5wYWdlWS1nKSxtPWYuc3BlZWQvMWUzfHwuNH1lbHNlIHZhciBnPWEub2Zmc2V0KCkudG9wLGg9YS5vZmZzZXQoKS5sZWZ0LGs9ZS5jb253LzItKGIucGFnZVgtaCksbD1lLmNvbmgvMi0oYi5wYWdlWS1nKSxtPWYuc3BlZWQvMWUzfHwzOyJtb3VzZWxlYXZlIj09Yi50eXBlJiYoaz1mLmRkZF9sYXN0aHx8MCxsPWYuZGRkX2xhc3R2fHwwLG09MS41KTtmb3IodmFyIG49MDtuPGYucGNvbnRhaW5lcnMubGVuZ3RoO24rKyl7dmFyIG89Zi5wY29udGFpbmVyc1tuXSxwPWYucGNvbnRhaW5lcl9kZXB0aHNbbl0scT0iM0QiPT1mLnR5cGV8fCIzZCI9PWYudHlwZT9wLzIwMDpwLzEwMCxyPWsqcSxzPWwqcTsic2Nyb2xsK21vdXNlIj09Zi50eXBlfHwibW91c2Urc2Nyb2xsIj09Zi50eXBlP3B1bmNoZ3MuVHdlZW5MaXRlLnRvKG8sbSx7Zm9yY2UzRDoiYXV0byIseDpyLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZU91dCxvdmVyd3JpdGU6ImFsbCJ9KTpwdW5jaGdzLlR3ZWVuTGl0ZS50byhvLG0se2ZvcmNlM0Q6ImF1dG8iLHg6cix5OnMsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlT3V0LG92ZXJ3cml0ZToiYWxsIn0pfWlmKCIzRCI9PWYudHlwZXx8IjNkIj09Zi50eXBlKXt2YXIgdD0iLnRwLXJldnNsaWRlci1zbGlkZXNsaSAuZGRkd3JhcHBlciwgLmRkZHdyYXBwZXJzaGFkb3csIC50cC1yZXZzbGlkZXItc2xpZGVzbGkgLmRkZHdyYXBwZXItbGF5ZXIsIC50cC1zdGF0aWMtbGF5ZXJzIC5kZGR3cmFwcGVyLWxheWVyIjsiY2Fyb3VzZWwiPT09ZS5zbGlkZXJUeXBlJiYodD0iLnRwLXJldnNsaWRlci1zbGlkZXNsaSAuZGRkd3JhcHBlciwgLnRwLXJldnNsaWRlci1zbGlkZXNsaSAuZGRkd3JhcHBlci1sYXllciwgLnRwLXN0YXRpYy1sYXllcnMgLmRkZHdyYXBwZXItbGF5ZXIiKSxlLmMuZmluZCh0KS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpLGM9Zi5sZXZlbHNbZi5sZXZlbHMubGVuZ3RoLTFdLzIwMCxkPWsqYyxnPWwqYyxoPTA9PWUuY29udz8wOk1hdGgucm91bmQoay9lLmNvbncqYyoxMDApfHwwLGk9MD09ZS5jb25oPzA6TWF0aC5yb3VuZChsL2UuY29uaCpjKjEwMCl8fDAsaj1hLmNsb3Nlc3QoImxpIiksbj0wLG89ITE7YS5oYXNDbGFzcygiZGRkd3JhcHBlci1sYXllciIpJiYobj1mLmRkZF96X2NvcnJlY3Rpb258fDY1LG89ITApLGEuaGFzQ2xhc3MoImRkZHdyYXBwZXItbGF5ZXIiKSYmKGQ9MCxnPTApLGouaGFzQ2xhc3MoImFjdGl2ZS1yZXZzbGlkZSIpfHwiY2Fyb3VzZWwiIT1lLnNsaWRlclR5cGU/Im9uIiE9Zi5kZGRfYmdmcmVlemV8fG8/cHVuY2hncy5Ud2VlbkxpdGUudG8oYSxtLHtyb3RhdGlvblg6aSxyb3RhdGlvblk6LWgseDpkLHo6bix5OmcsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlT3V0LG92ZXJ3cml0ZToiYWxsIn0pOnB1bmNoZ3MuVHdlZW5MaXRlLnRvKGEsLjUse2ZvcmNlM0Q6ImF1dG8iLHJvdGF0aW9uWTowLHJvdGF0aW9uWDowLHo6MCxlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VPdXQsb3ZlcndyaXRlOiJhbGwifSk6cHVuY2hncy5Ud2VlbkxpdGUudG8oYSwuNSx7Zm9yY2UzRDoiYXV0byIscm90YXRpb25ZOjAseDowLHk6MCxyb3RhdGlvblg6MCx6OjAsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlT3V0LG92ZXJ3cml0ZToiYWxsIn0pLCJtb3VzZWxlYXZlIj09Yi50eXBlJiZwdW5jaGdzLlR3ZWVuTGl0ZS50byhqUXVlcnkodGhpcyksMy44LHt6OjAsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlT3V0fSl9KX19KSxjJiYod2luZG93Lm9uZGV2aWNlb3JpZW50YXRpb249ZnVuY3Rpb24oYil7dmFyIGM9TWF0aC5yb3VuZChiLmJldGF8fDApLTcwLGQ9TWF0aC5yb3VuZChiLmdhbW1hfHwwKSxnPWEuZmluZCgiLmFjdGl2ZS1yZXZzbGlkZSIpO2lmKGpRdWVyeSh3aW5kb3cpLndpZHRoKCk+alF1ZXJ5KHdpbmRvdykuaGVpZ2h0KCkpe3ZhciBoPWQ7ZD1jLGM9aH12YXIgaT1hLndpZHRoKCksaj1hLmhlaWdodCgpLGs9MzYwL2kqZCxsPTE4MC9qKmMsbT1mLnNwZWVkLzFlM3x8MyxuPVtdO2lmKGcuZmluZCgiLnRwLXBhcmFsbGF4LWNvbnRhaW5lciIpLmVhY2goZnVuY3Rpb24oYSl7bi5wdXNoKGpRdWVyeSh0aGlzKSl9KSxhLmZpbmQoIi50cC1zdGF0aWMtbGF5ZXJzIC50cC1wYXJhbGxheC1jb250YWluZXIiKS5lYWNoKGZ1bmN0aW9uKCl7bi5wdXNoKGpRdWVyeSh0aGlzKSl9KSxqUXVlcnkuZWFjaChuLGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpLGI9cGFyc2VJbnQoYS5kYXRhKCJwYXJhbGxheGxldmVsIiksMCksYz1iLzEwMCxkPWsqYyoyLGU9bCpjKjQ7cHVuY2hncy5Ud2VlbkxpdGUudG8oYSxtLHtmb3JjZTNEOiJhdXRvIix4OmQseTplLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZU91dCxvdmVyd3JpdGU6ImFsbCJ9KX0pLCIzRCI9PWYudHlwZXx8IjNkIj09Zi50eXBlKXt2YXIgbz0iLnRwLXJldnNsaWRlci1zbGlkZXNsaSAuZGRkd3JhcHBlciwgLmRkZHdyYXBwZXJzaGFkb3csIC50cC1yZXZzbGlkZXItc2xpZGVzbGkgLmRkZHdyYXBwZXItbGF5ZXIsIC50cC1zdGF0aWMtbGF5ZXJzIC5kZGR3cmFwcGVyLWxheWVyIjsiY2Fyb3VzZWwiPT09ZS5zbGlkZXJUeXBlJiYobz0iLnRwLXJldnNsaWRlci1zbGlkZXNsaSAuZGRkd3JhcHBlciwgLnRwLXJldnNsaWRlci1zbGlkZXNsaSAuZGRkd3JhcHBlci1sYXllciwgLnRwLXN0YXRpYy1sYXllcnMgLmRkZHdyYXBwZXItbGF5ZXIiKSxlLmMuZmluZChvKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpLGM9Zi5sZXZlbHNbZi5sZXZlbHMubGVuZ3RoLTFdLzIwMCxkPWsqYyxnPWwqYyozLGg9MD09ZS5jb253PzA6TWF0aC5yb3VuZChrL2UuY29udypjKjUwMCl8fDAsaT0wPT1lLmNvbmg/MDpNYXRoLnJvdW5kKGwvZS5jb25oKmMqNzAwKXx8MCxqPWEuY2xvc2VzdCgibGkiKSxuPTAsbz0hMTthLmhhc0NsYXNzKCJkZGR3cmFwcGVyLWxheWVyIikmJihuPWYuZGRkX3pfY29ycmVjdGlvbnx8NjUsbz0hMCksYS5oYXNDbGFzcygiZGRkd3JhcHBlci1sYXllciIpJiYoZD0wLGc9MCksai5oYXNDbGFzcygiYWN0aXZlLXJldnNsaWRlIil8fCJjYXJvdXNlbCIhPWUuc2xpZGVyVHlwZT8ib24iIT1mLmRkZF9iZ2ZyZWV6ZXx8bz9wdW5jaGdzLlR3ZWVuTGl0ZS50byhhLG0se3JvdGF0aW9uWDppLHJvdGF0aW9uWTotaCx4OmQsejpuLHk6ZyxlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VPdXQsb3ZlcndyaXRlOiJhbGwifSk6cHVuY2hncy5Ud2VlbkxpdGUudG8oYSwuNSx7Zm9yY2UzRDoiYXV0byIscm90YXRpb25ZOjAscm90YXRpb25YOjAsejowLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZU91dCxvdmVyd3JpdGU6ImFsbCJ9KTpwdW5jaGdzLlR3ZWVuTGl0ZS50byhhLC41LHtmb3JjZTNEOiJhdXRvIixyb3RhdGlvblk6MCx6OjAseDowLHk6MCxyb3RhdGlvblg6MCxlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VPdXQsb3ZlcndyaXRlOiJhbGwifSksIm1vdXNlbGVhdmUiPT1iLnR5cGUmJnB1bmNoZ3MuVHdlZW5MaXRlLnRvKGpRdWVyeSh0aGlzKSwzLjgse3o6MCxlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VPdXR9KX0pfX0pKTt2YXIgaT1lLnNjcm9sbGVmZmVjdDtpZihpLmJncz1uZXcgQXJyYXksaS5vbil7aWYoIm9uIj09PWkub25fc2xpZGViZylmb3IodmFyIGg9MDtoPGUuYWxsc2xvdGhvbGRlci5sZW5ndGg7aCsrKWkuYmdzLnB1c2goZS5hbGxzbG90aG9sZGVyW2hdKTtpLm11bHRpcGxpY2F0b3JfbGF5ZXJzPXBhcnNlRmxvYXQoaS5tdWx0aXBsaWNhdG9yX2xheWVycyksaS5tdWx0aXBsaWNhdG9yPXBhcnNlRmxvYXQoaS5tdWx0aXBsaWNhdG9yKX12b2lkIDAhPT1pLmxheWVycyYmMD09PWkubGF5ZXJzLmxlbmd0aCYmKGkubGF5ZXJzPSExKSx2b2lkIDAhPT1pLmJncyYmMD09PWkuYmdzLmxlbmd0aCYmKGkuYmdzPSExKSxiLnNjcm9sbFRpY2tlcihlLGEpfX0sc2Nyb2xsVGlja2VyOmZ1bmN0aW9uKGEsZCl7MSE9YS5zY3JvbGxUaWNrZXImJihhLnNjcm9sbFRpY2tlcj0hMCxjPyhwdW5jaGdzLlR3ZWVuTGl0ZS50aWNrZXIuZnBzKDE1MCkscHVuY2hncy5Ud2VlbkxpdGUudGlja2VyLmFkZEV2ZW50TGlzdGVuZXIoInRpY2siLGZ1bmN0aW9uKCl7Yi5zY3JvbGxIYW5kbGluZyhhKX0sZCwhMSwxKSk6ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixmdW5jdGlvbihjKXtiLnNjcm9sbEhhbmRsaW5nKGEsITApfSx7cGFzc2l2ZTohMH0pKSxiLnNjcm9sbEhhbmRsaW5nKGEsITApfSxzY3JvbGxIYW5kbGluZzpmdW5jdGlvbihhLGQsZil7aWYoYS5sYXN0d2luZG93aGVpZ2h0PWEubGFzdHdpbmRvd2hlaWdodHx8d2luZG93LmlubmVySGVpZ2h0LGEuY29uaD0wPT09YS5jb25ofHx2b2lkIDA9PT1hLmNvbmg/YS5pbmZ1bGxzY3JlZW5tb2RlP2EubWluSGVpZ2h0OmEuYy5oZWlnaHQoKTphLmNvbmgsYS5sYXN0c2Nyb2xsdG9wPT13aW5kb3cuc2Nyb2xsWSYmIWEuZHVyaW5nc2xpZGVjaGFuZ2UmJiFkKXJldHVybiExO3B1bmNoZ3MuVHdlZW5MaXRlLmRlbGF5ZWRDYWxsKC4yLGUsW2Esd2luZG93LnNjcm9sbFldKTt2YXIgZz1hLmNbMF0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaD1hLnZpZXdQb3J0LGk9YS5wYXJhbGxheCxqPWcudG9wPDB8fGcuaGVpZ2h0PmEubGFzdHdpbmRvd2hlaWdodD9nLnRvcC9nLmhlaWdodDpnLmJvdHRvbT5hLmxhc3R3aW5kb3doZWlnaHQ/KGcuYm90dG9tLWEubGFzdHdpbmRvd2hlaWdodCkvZy5oZWlnaHQ6MDtpZihhLnNjcm9sbHByb2M9aixiLmNhbGxCYWNrSGFuZGxpbmcmJmIuY2FsbEJhY2tIYW5kbGluZyhhLCJwYXJhbGxheCIsInN0YXJ0IiksaC5lbmFibGUpe3ZhciBrPTEtTWF0aC5hYnMoaik7az1rPDA/MDprLGpRdWVyeS5pc051bWVyaWMoaC52aXNpYmxlX2FyZWEpfHwtMSE9PWgudmlzaWJsZV9hcmVhLmluZGV4T2YoIiUiKSYmKGgudmlzaWJsZV9hcmVhPXBhcnNlSW50KGgudmlzaWJsZV9hcmVhKS8xMDApLDEtaC52aXNpYmxlX2FyZWE8PWs/YS5pbnZpZXdwb3J0fHwoYS5pbnZpZXdwb3J0PSEwLGIuZW50ZXJJblZpZXdQb3J0KGEpKTphLmludmlld3BvcnQmJihhLmludmlld3BvcnQ9ITEsYi5sZWF2ZVZpZXdQb3J0KGEpKX1pZihjJiYib24iPT1pLmRpc2FibGVfb25tb2JpbGUpcmV0dXJuITE7aWYoIjNkIiE9aS50eXBlJiYiM0QiIT1pLnR5cGUpe2lmKCgic2Nyb2xsIj09aS50eXBlfHwic2Nyb2xsK21vdXNlIj09aS50eXBlfHwibW91c2Urc2Nyb2xsIj09aS50eXBlKSYmaS5wY29udGFpbmVycylmb3IodmFyIGw9MDtsPGkucGNvbnRhaW5lcnMubGVuZ3RoO2wrKylpZihpLnBjb250YWluZXJzW2xdLmxlbmd0aD4wKXt2YXIgbT1pLnBjb250YWluZXJzW2xdLG49aS5wY29udGFpbmVyX2RlcHRoc1tsXS8xMDAsbz1NYXRoLnJvdW5kKGoqKC1uKmEuY29uaCkqMTApLzEwfHwwLHA9dm9pZCAwIT09Zj9mOmkuc3BlZWRscy8xZTN8fDA7bS5kYXRhKCJwYXJhbGxheG9mZnNldCIsbykscHVuY2hncy5Ud2VlbkxpdGUudG8obSxwLHtvdmVyd3JpdGU6ImF1dG8iLGZvcmNlM0Q6ImF1dG8iLHk6b30pfWlmKGkuYmdjb250YWluZXJzKWZvcih2YXIgbD0wO2w8aS5iZ2NvbnRhaW5lcnMubGVuZ3RoO2wrKyl7dmFyIHE9aS5iZ2NvbnRhaW5lcnNbbF0scj1pLmJnY29udGFpbmVyX2RlcHRoc1tsXSxvPWoqKC1yKmEuY29uaCl8fDAscD12b2lkIDAhPT1mP2Y6aS5zcGVlZGJnLzFlM3x8MDtwdW5jaGdzLlR3ZWVuTGl0ZS50byhxLHAse3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOiIwcHgiLGxlZnQ6IjBweCIsYmFja2ZhY2VWaXNpYmlsaXR5OiJoaWRkZW4iLGZvcmNlM0Q6InRydWUiLHk6bysicHgifSl9fXZhciBzPWEuc2Nyb2xsZWZmZWN0O2lmKHMub24mJigib24iIT09cy5kaXNhYmxlX29uX21vYmlsZXx8IWMpKXt2YXIgdD1NYXRoLmFicyhqKS1zLnRpbHQvMTAwO2lmKHQ9dDwwPzA6dCwhMSE9PXMubGF5ZXJzKXt2YXIgdT0xLXQqcy5tdWx0aXBsaWNhdG9yX2xheWVycyx2PXtiYWNrZmFjZVZpc2liaWxpdHk6ImhpZGRlbiIsZm9yY2UzRDoidHJ1ZSIsejouMDAxLHBlcnNwZWN0aXZlOjYwMH07aWYoInRvcCI9PXMuZGlyZWN0aW9uJiZqPj0wJiYodT0xKSwiYm90dG9tIj09cy5kaXJlY3Rpb24mJmo8PTAmJih1PTEpLHU9dT4xPzE6dTwwPzA6dSwib24iPT09cy5mYWRlJiYodi5vcGFjaXR5PXUpLCJvbiI9PT1zLnNjYWxlKXt2YXIgdz11O3Yuc2NhbGU9MS13KzF9aWYoIm9uIj09PXMuYmx1cil7dmFyIHg9KDEtdSkqcy5tYXhibHVyO3ZbIi13ZWJraXQtZmlsdGVyIl09ImJsdXIoIit4KyJweCkiLHYuZmlsdGVyPSJibHVyKCIreCsicHgpIn1pZigib24iPT09cy5ncmF5c2NhbGUpe3ZhciB5PTEwMCooMS11KSx6PSJncmF5c2NhbGUoIit5KyIlKSI7dlsiLXdlYmtpdC1maWx0ZXIiXT12b2lkIDA9PT12WyItd2Via2l0LWZpbHRlciJdP3o6dlsiLXdlYmtpdC1maWx0ZXIiXSsiICIreix2LmZpbHRlcj12b2lkIDA9PT12LmZpbHRlcj96OnYuZmlsdGVyKyIgIit6fXB1bmNoZ3MuVHdlZW5MaXRlLnNldChzLmxheWVycyx2KX1pZighMSE9PXMuYmdzKXt2YXIgdT0xLXQqcy5tdWx0aXBsaWNhdG9yLHY9e2JhY2tmYWNlVmlzaWJpbGl0eToiaGlkZGVuIixmb3JjZTNEOiJ0cnVlIn07aWYoInRvcCI9PXMuZGlyZWN0aW9uJiZqPj0wJiYodT0xKSwiYm90dG9tIj09cy5kaXJlY3Rpb24mJmo8PTAmJih1PTEpLHU9dT4xPzE6dTwwPzA6dSwib24iPT09cy5mYWRlJiYodi5vcGFjaXR5PXUpLCJvbiI9PT1zLnNjYWxlKXt2YXIgdz11O3B1bmNoZ3MuVHdlZW5MaXRlLnNldChqUXVlcnkoIi50cC1rYmltZy13cmFwIikse3RyYW5zZm9ybU9yaWdpbjoiNTAlIDUwJSIsc2NhbGU6dyxmb3JjZTNEOiEwfSl9aWYoIm9uIj09PXMuYmx1cil7dmFyIHg9KDEtdSkqcy5tYXhibHVyO3ZbIi13ZWJraXQtZmlsdGVyIl09ImJsdXIoIit4KyJweCkiLHYuZmlsdGVyPSJibHVyKCIreCsicHgpIn1pZigib24iPT09cy5ncmF5c2NhbGUpe3ZhciB5PTEwMCooMS11KSx6PSJncmF5c2NhbGUoIit5KyIlKSI7dlsiLXdlYmtpdC1maWx0ZXIiXT12b2lkIDA9PT12WyItd2Via2l0LWZpbHRlciJdP3o6dlsiLXdlYmtpdC1maWx0ZXIiXSsiICIreix2LmZpbHRlcj12b2lkIDA9PT12LmZpbHRlcj96OnYuZmlsdGVyKyIgIit6fXB1bmNoZ3MuVHdlZW5MaXRlLnNldChzLmJncyx2KX19Yi5jYWxsQmFja0hhbmRsaW5nJiZiLmNhbGxCYWNrSGFuZGxpbmcoYSwicGFyYWxsYXgiLCJlbmQiKX19KX0oalF1ZXJ5KTs="}},"time_used":47,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":41,"receive":6,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/js/jquery-ui.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.605Z","timestamp":1785123231605,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /js/jquery-ui.js HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Wed, 22 Apr 2026 17:27:38 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 122544\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":539425,"size_decoded":122869,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (1002), with CRLF line terminators","md5":"8ec0db1cb8ed2395c5df4e11be0d86e9","sha1":"d91e3c65e262d7e0021a926d228b9f6ad9aef4a9","sha256":"97bca2a8204372f21c29bc2d6ceeb192eab0719f1d154e1073f04acd8d2f0064","sha512":"0bbe5fd8a7991d8f0bb43a0dff3bc1130f5e2514524fcca9dc4662815155644d44a550ba2ffd92e86177c024d28319dc28a39d007c01bfde6bdbfe3d429c8f71","ssdeep":"12288:BEebHeg/md/AHhsncaL8ata+3XIdCgTf9kDUUB:EoHhsncaL8ata+3XIBf9kDUUB","tlshash":"66b4c7d5334f226f86ea3359983a9289e63dc075d202807d789d58dd25a8c2843b7ffd","first_seen":"2023-03-07T12:02:47Z","last_seen":"2026-07-27T05:44:01.826172Z","times_seen":1222,"resource_available":true,"data":"LyohIGpRdWVyeSBVSSAtIHYxLjEyLjEgLSAyMDE2LTA5LTE0DQoqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiogSW5jbHVkZXM6IHdpZGdldC5qcywgcG9zaXRpb24uanMsIGRhdGEuanMsIGRpc2FibGUtc2VsZWN0aW9uLmpzLCBlZmZlY3QuanMsIGVmZmVjdHMvZWZmZWN0LWJsaW5kLmpzLCBlZmZlY3RzL2VmZmVjdC1ib3VuY2UuanMsIGVmZmVjdHMvZWZmZWN0LWNsaXAuanMsIGVmZmVjdHMvZWZmZWN0LWRyb3AuanMsIGVmZmVjdHMvZWZmZWN0LWV4cGxvZGUuanMsIGVmZmVjdHMvZWZmZWN0LWZhZGUuanMsIGVmZmVjdHMvZWZmZWN0LWZvbGQuanMsIGVmZmVjdHMvZWZmZWN0LWhpZ2hsaWdodC5qcywgZWZmZWN0cy9lZmZlY3QtcHVmZi5qcywgZWZmZWN0cy9lZmZlY3QtcHVsc2F0ZS5qcywgZWZmZWN0cy9lZmZlY3Qtc2NhbGUuanMsIGVmZmVjdHMvZWZmZWN0LXNoYWtlLmpzLCBlZmZlY3RzL2VmZmVjdC1zaXplLmpzLCBlZmZlY3RzL2VmZmVjdC1zbGlkZS5qcywgZWZmZWN0cy9lZmZlY3QtdHJhbnNmZXIuanMsIGZvY3VzYWJsZS5qcywgZm9ybS1yZXNldC1taXhpbi5qcywganF1ZXJ5LTEtNy5qcywga2V5Y29kZS5qcywgbGFiZWxzLmpzLCBzY3JvbGwtcGFyZW50LmpzLCB0YWJiYWJsZS5qcywgdW5pcXVlLWlkLmpzLCB3aWRnZXRzL2FjY29yZGlvbi5qcywgd2lkZ2V0cy9hdXRvY29tcGxldGUuanMsIHdpZGdldHMvYnV0dG9uLmpzLCB3aWRnZXRzL2NoZWNrYm94cmFkaW8uanMsIHdpZGdldHMvY29udHJvbGdyb3VwLmpzLCB3aWRnZXRzL2RhdGVwaWNrZXIuanMsIHdpZGdldHMvZGlhbG9nLmpzLCB3aWRnZXRzL2RyYWdnYWJsZS5qcywgd2lkZ2V0cy9kcm9wcGFibGUuanMsIHdpZGdldHMvbWVudS5qcywgd2lkZ2V0cy9tb3VzZS5qcywgd2lkZ2V0cy9wcm9ncmVzc2Jhci5qcywgd2lkZ2V0cy9yZXNpemFibGUuanMsIHdpZGdldHMvc2VsZWN0YWJsZS5qcywgd2lkZ2V0cy9zZWxlY3RtZW51LmpzLCB3aWRnZXRzL3NsaWRlci5qcywgd2lkZ2V0cy9zb3J0YWJsZS5qcywgd2lkZ2V0cy9zcGlubmVyLmpzLCB3aWRnZXRzL3RhYnMuanMsIHdpZGdldHMvdG9vbHRpcC5qcw0KKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9yczsgTGljZW5zZWQgTUlUICovDQoNCihmdW5jdGlvbiggZmFjdG9yeSApIHsNCglpZiAoIHR5cGVvZiBkZWZpbmUgPT09ICJmdW5jdGlvbiIgJiYgZGVmaW5lLmFtZCApIHsNCg0KCQkvLyBBTUQuIFJlZ2lzdGVyIGFzIGFuIGFub255bW91cyBtb2R1bGUuDQoJCWRlZmluZShbICJqcXVlcnkiIF0sIGZhY3RvcnkgKTsNCgl9IGVsc2Ugew0KDQoJCS8vIEJyb3dzZXIgZ2xvYmFscw0KCQlmYWN0b3J5KCBqUXVlcnkgKTsNCgl9DQp9KGZ1bmN0aW9uKCAkICkgew0KDQokLnVpID0gJC51aSB8fCB7fTsNCg0KdmFyIHZlcnNpb24gPSAkLnVpLnZlcnNpb24gPSAiMS4xMi4xIjsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBXaWRnZXQgMS4xMi4xDQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqLw0KDQovLz4+bGFiZWw6IFdpZGdldA0KLy8+Pmdyb3VwOiBDb3JlDQovLz4+ZGVzY3JpcHRpb246IFByb3ZpZGVzIGEgZmFjdG9yeSBmb3IgY3JlYXRpbmcgc3RhdGVmdWwgd2lkZ2V0cyB3aXRoIGEgY29tbW9uIEFQSS4NCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9qUXVlcnkud2lkZ2V0Lw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL3dpZGdldC8NCg0KDQoNCnZhciB3aWRnZXRVdWlkID0gMDsNCnZhciB3aWRnZXRTbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsNCg0KJC5jbGVhbkRhdGEgPSAoIGZ1bmN0aW9uKCBvcmlnICkgew0KCXJldHVybiBmdW5jdGlvbiggZWxlbXMgKSB7DQoJCXZhciBldmVudHMsIGVsZW0sIGk7DQoJCWZvciAoIGkgPSAwOyAoIGVsZW0gPSBlbGVtc1sgaSBdICkgIT0gbnVsbDsgaSsrICkgew0KCQkJdHJ5IHsNCg0KCQkJCS8vIE9ubHkgdHJpZ2dlciByZW1vdmUgd2hlbiBuZWNlc3NhcnkgdG8gc2F2ZSB0aW1lDQoJCQkJZXZlbnRzID0gJC5fZGF0YSggZWxlbSwgImV2ZW50cyIgKTsNCgkJCQlpZiAoIGV2ZW50cyAmJiBldmVudHMucmVtb3ZlICkgew0KCQkJCQkkKCBlbGVtICkudHJpZ2dlckhhbmRsZXIoICJyZW1vdmUiICk7DQoJCQkJfQ0KDQoJCQkvLyBIdHRwOi8vYnVncy5qcXVlcnkuY29tL3RpY2tldC84MjM1DQoJCQl9IGNhdGNoICggZSApIHt9DQoJCX0NCgkJb3JpZyggZWxlbXMgKTsNCgl9Ow0KfSApKCAkLmNsZWFuRGF0YSApOw0KDQokLndpZGdldCA9IGZ1bmN0aW9uKCBuYW1lLCBiYXNlLCBwcm90b3R5cGUgKSB7DQoJdmFyIGV4aXN0aW5nQ29uc3RydWN0b3IsIGNvbnN0cnVjdG9yLCBiYXNlUHJvdG90eXBlOw0KDQoJLy8gUHJveGllZFByb3RvdHlwZSBhbGxvd3MgdGhlIHByb3ZpZGVkIHByb3RvdHlwZSB0byByZW1haW4gdW5tb2RpZmllZA0KCS8vIHNvIHRoYXQgaXQgY2FuIGJlIHVzZWQgYXMgYSBtaXhpbiBmb3IgbXVsdGlwbGUgd2lkZ2V0cyAoIzg4NzYpDQoJdmFyIHByb3hpZWRQcm90b3R5cGUgPSB7fTsNCg0KCXZhciBuYW1lc3BhY2UgPSBuYW1lLnNwbGl0KCAiLiIgKVsgMCBdOw0KCW5hbWUgPSBuYW1lLnNwbGl0KCAiLiIgKVsgMSBdOw0KCXZhciBmdWxsTmFtZSA9IG5hbWVzcGFjZSArICItIiArIG5hbWU7DQoNCglpZiAoICFwcm90b3R5cGUgKSB7DQoJCXByb3RvdHlwZSA9IGJhc2U7DQoJCWJhc2UgPSAkLldpZGdldDsNCgl9DQoNCglpZiAoICQuaXNBcnJheSggcHJvdG90eXBlICkgKSB7DQoJCXByb3RvdHlwZSA9ICQuZXh0ZW5kLmFwcGx5KCBudWxsLCBbIHt9IF0uY29uY2F0KCBwcm90b3R5cGUgKSApOw0KCX0NCg0KCS8vIENyZWF0ZSBzZWxlY3RvciBmb3IgcGx1Z2luDQoJJC5leHByWyAiOiIgXVsgZnVsbE5hbWUudG9Mb3dlckNhc2UoKSBdID0gZnVuY3Rpb24oIGVsZW0gKSB7DQoJCXJldHVybiAhISQuZGF0YSggZWxlbSwgZnVsbE5hbWUgKTsNCgl9Ow0KDQoJJFsgbmFtZXNwYWNlIF0gPSAkWyBuYW1lc3BhY2UgXSB8fCB7fTsNCglleGlzdGluZ0NvbnN0cnVjdG9yID0gJFsgbmFtZXNwYWNlIF1bIG5hbWUgXTsNCgljb25zdHJ1Y3RvciA9ICRbIG5hbWVzcGFjZSBdWyBuYW1lIF0gPSBmdW5jdGlvbiggb3B0aW9ucywgZWxlbWVudCApIHsNCg0KCQkvLyBBbGxvdyBpbnN0YW50aWF0aW9uIHdpdGhvdXQgIm5ldyIga2V5d29yZA0KCQlpZiAoICF0aGlzLl9jcmVhdGVXaWRnZXQgKSB7DQoJCQlyZXR1cm4gbmV3IGNvbnN0cnVjdG9yKCBvcHRpb25zLCBlbGVtZW50ICk7DQoJCX0NCg0KCQkvLyBBbGxvdyBpbnN0YW50aWF0aW9uIHdpdGhvdXQgaW5pdGlhbGl6aW5nIGZvciBzaW1wbGUgaW5oZXJpdGFuY2UNCgkJLy8gbXVzdCB1c2UgIm5ldyIga2V5d29yZCAodGhlIGNvZGUgYWJvdmUgYWx3YXlzIHBhc3NlcyBhcmdzKQ0KCQlpZiAoIGFyZ3VtZW50cy5sZW5ndGggKSB7DQoJCQl0aGlzLl9jcmVhdGVXaWRnZXQoIG9wdGlvbnMsIGVsZW1lbnQgKTsNCgkJfQ0KCX07DQoNCgkvLyBFeHRlbmQgd2l0aCB0aGUgZXhpc3RpbmcgY29uc3RydWN0b3IgdG8gY2Fycnkgb3ZlciBhbnkgc3RhdGljIHByb3BlcnRpZXMNCgkkLmV4dGVuZCggY29uc3RydWN0b3IsIGV4aXN0aW5nQ29uc3RydWN0b3IsIHsNCgkJdmVyc2lvbjogcHJvdG90eXBlLnZlcnNpb24sDQoNCgkJLy8gQ29weSB0aGUgb2JqZWN0IHVzZWQgdG8gY3JlYXRlIHRoZSBwcm90b3R5cGUgaW4gY2FzZSB3ZSBuZWVkIHRvDQoJCS8vIHJlZGVmaW5lIHRoZSB3aWRnZXQgbGF0ZXINCgkJX3Byb3RvOiAkLmV4dGVuZCgge30sIHByb3RvdHlwZSApLA0KDQoJCS8vIFRyYWNrIHdpZGdldHMgdGhhdCBpbmhlcml0IGZyb20gdGhpcyB3aWRnZXQgaW4gY2FzZSB0aGlzIHdpZGdldCBpcw0KCQkvLyByZWRlZmluZWQgYWZ0ZXIgYSB3aWRnZXQgaW5oZXJpdHMgZnJvbSBpdA0KCQlfY2hpbGRDb25zdHJ1Y3RvcnM6IFtdDQoJfSApOw0KDQoJYmFzZVByb3RvdHlwZSA9IG5ldyBiYXNlKCk7DQoNCgkvLyBXZSBuZWVkIHRvIG1ha2UgdGhlIG9wdGlvbnMgaGFzaCBhIHByb3BlcnR5IGRpcmVjdGx5IG9uIHRoZSBuZXcgaW5zdGFuY2UNCgkvLyBvdGhlcndpc2Ugd2UnbGwgbW9kaWZ5IHRoZSBvcHRpb25zIGhhc2ggb24gdGhlIHByb3RvdHlwZSB0aGF0IHdlJ3JlDQoJLy8gaW5oZXJpdGluZyBmcm9tDQoJYmFzZVByb3RvdHlwZS5vcHRpb25zID0gJC53aWRnZXQuZXh0ZW5kKCB7fSwgYmFzZVByb3RvdHlwZS5vcHRpb25zICk7DQoJJC5lYWNoKCBwcm90b3R5cGUsIGZ1bmN0aW9uKCBwcm9wLCB2YWx1ZSApIHsNCgkJaWYgKCAhJC5pc0Z1bmN0aW9uKCB2YWx1ZSApICkgew0KCQkJcHJveGllZFByb3RvdHlwZVsgcHJvcCBdID0gdmFsdWU7DQoJCQlyZXR1cm47DQoJCX0NCgkJcHJveGllZFByb3RvdHlwZVsgcHJvcCBdID0gKCBmdW5jdGlvbigpIHsNCgkJCWZ1bmN0aW9uIF9zdXBlcigpIHsNCgkJCQlyZXR1cm4gYmFzZS5wcm90b3R5cGVbIHByb3AgXS5hcHBseSggdGhpcywgYXJndW1lbnRzICk7DQoJCQl9DQoNCgkJCWZ1bmN0aW9uIF9zdXBlckFwcGx5KCBhcmdzICkgew0KCQkJCXJldHVybiBiYXNlLnByb3RvdHlwZVsgcHJvcCBdLmFwcGx5KCB0aGlzLCBhcmdzICk7DQoJCQl9DQoNCgkJCXJldHVybiBmdW5jdGlvbigpIHsNCgkJCQl2YXIgX19zdXBlciA9IHRoaXMuX3N1cGVyOw0KCQkJCXZhciBfX3N1cGVyQXBwbHkgPSB0aGlzLl9zdXBlckFwcGx5Ow0KCQkJCXZhciByZXR1cm5WYWx1ZTsNCg0KCQkJCXRoaXMuX3N1cGVyID0gX3N1cGVyOw0KCQkJCXRoaXMuX3N1cGVyQXBwbHkgPSBfc3VwZXJBcHBseTsNCg0KCQkJCXJldHVyblZhbHVlID0gdmFsdWUuYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApOw0KDQoJCQkJdGhpcy5fc3VwZXIgPSBfX3N1cGVyOw0KCQkJCXRoaXMuX3N1cGVyQXBwbHkgPSBfX3N1cGVyQXBwbHk7DQoNCgkJCQlyZXR1cm4gcmV0dXJuVmFsdWU7DQoJCQl9Ow0KCQl9ICkoKTsNCgl9ICk7DQoJY29uc3RydWN0b3IucHJvdG90eXBlID0gJC53aWRnZXQuZXh0ZW5kKCBiYXNlUHJvdG90eXBlLCB7DQoNCgkJLy8gVE9ETzogcmVtb3ZlIHN1cHBvcnQgZm9yIHdpZGdldEV2ZW50UHJlZml4DQoJCS8vIGFsd2F5cyB1c2UgdGhlIG5hbWUgKyBhIGNvbG9uIGFzIHRoZSBwcmVmaXgsIGUuZy4sIGRyYWdnYWJsZTpzdGFydA0KCQkvLyBkb24ndCBwcmVmaXggZm9yIHdpZGdldHMgdGhhdCBhcmVuJ3QgRE9NLWJhc2VkDQoJCXdpZGdldEV2ZW50UHJlZml4OiBleGlzdGluZ0NvbnN0cnVjdG9yID8gKCBiYXNlUHJvdG90eXBlLndpZGdldEV2ZW50UHJlZml4IHx8IG5hbWUgKSA6IG5hbWUNCgl9LCBwcm94aWVkUHJvdG90eXBlLCB7DQoJCWNvbnN0cnVjdG9yOiBjb25zdHJ1Y3RvciwNCgkJbmFtZXNwYWNlOiBuYW1lc3BhY2UsDQoJCXdpZGdldE5hbWU6IG5hbWUsDQoJCXdpZGdldEZ1bGxOYW1lOiBmdWxsTmFtZQ0KCX0gKTsNCg0KCS8vIElmIHRoaXMgd2lkZ2V0IGlzIGJlaW5nIHJlZGVmaW5lZCB0aGVuIHdlIG5lZWQgdG8gZmluZCBhbGwgd2lkZ2V0cyB0aGF0DQoJLy8gYXJlIGluaGVyaXRpbmcgZnJvbSBpdCBhbmQgcmVkZWZpbmUgYWxsIG9mIHRoZW0gc28gdGhhdCB0aGV5IGluaGVyaXQgZnJvbQ0KCS8vIHRoZSBuZXcgdmVyc2lvbiBvZiB0aGlzIHdpZGdldC4gV2UncmUgZXNzZW50aWFsbHkgdHJ5aW5nIHRvIHJlcGxhY2Ugb25lDQoJLy8gbGV2ZWwgaW4gdGhlIHByb3RvdHlwZSBjaGFpbi4NCglpZiAoIGV4aXN0aW5nQ29uc3RydWN0b3IgKSB7DQoJCSQuZWFjaCggZXhpc3RpbmdDb25zdHJ1Y3Rvci5fY2hpbGRDb25zdHJ1Y3RvcnMsIGZ1bmN0aW9uKCBpLCBjaGlsZCApIHsNCgkJCXZhciBjaGlsZFByb3RvdHlwZSA9IGNoaWxkLnByb3RvdHlwZTsNCg0KCQkJLy8gUmVkZWZpbmUgdGhlIGNoaWxkIHdpZGdldCB1c2luZyB0aGUgc2FtZSBwcm90b3R5cGUgdGhhdCB3YXMNCgkJCS8vIG9yaWdpbmFsbHkgdXNlZCwgYnV0IGluaGVyaXQgZnJvbSB0aGUgbmV3IHZlcnNpb24gb2YgdGhlIGJhc2UNCgkJCSQud2lkZ2V0KCBjaGlsZFByb3RvdHlwZS5uYW1lc3BhY2UgKyAiLiIgKyBjaGlsZFByb3RvdHlwZS53aWRnZXROYW1lLCBjb25zdHJ1Y3RvciwNCgkJCQljaGlsZC5fcHJvdG8gKTsNCgkJfSApOw0KDQoJCS8vIFJlbW92ZSB0aGUgbGlzdCBvZiBleGlzdGluZyBjaGlsZCBjb25zdHJ1Y3RvcnMgZnJvbSB0aGUgb2xkIGNvbnN0cnVjdG9yDQoJCS8vIHNvIHRoZSBvbGQgY2hpbGQgY29uc3RydWN0b3JzIGNhbiBiZSBnYXJiYWdlIGNvbGxlY3RlZA0KCQlkZWxldGUgZXhpc3RpbmdDb25zdHJ1Y3Rvci5fY2hpbGRDb25zdHJ1Y3RvcnM7DQoJfSBlbHNlIHsNCgkJYmFzZS5fY2hpbGRDb25zdHJ1Y3RvcnMucHVzaCggY29uc3RydWN0b3IgKTsNCgl9DQoNCgkkLndpZGdldC5icmlkZ2UoIG5hbWUsIGNvbnN0cnVjdG9yICk7DQoNCglyZXR1cm4gY29uc3RydWN0b3I7DQp9Ow0KDQokLndpZGdldC5leHRlbmQgPSBmdW5jdGlvbiggdGFyZ2V0ICkgew0KCXZhciBpbnB1dCA9IHdpZGdldFNsaWNlLmNhbGwoIGFyZ3VtZW50cywgMSApOw0KCXZhciBpbnB1dEluZGV4ID0gMDsNCgl2YXIgaW5wdXRMZW5ndGggPSBpbnB1dC5sZW5ndGg7DQoJdmFyIGtleTsNCgl2YXIgdmFsdWU7DQoNCglmb3IgKCA7IGlucHV0SW5kZXggPCBpbnB1dExlbmd0aDsgaW5wdXRJbmRleCsrICkgew0KCQlmb3IgKCBrZXkgaW4gaW5wdXRbIGlucHV0SW5kZXggXSApIHsNCgkJCXZhbHVlID0gaW5wdXRbIGlucHV0SW5kZXggXVsga2V5IF07DQoJCQlpZiAoIGlucHV0WyBpbnB1dEluZGV4IF0uaGFzT3duUHJvcGVydHkoIGtleSApICYmIHZhbHVlICE9PSB1bmRlZmluZWQgKSB7DQoNCgkJCQkvLyBDbG9uZSBvYmplY3RzDQoJCQkJaWYgKCAkLmlzUGxhaW5PYmplY3QoIHZhbHVlICkgKSB7DQoJCQkJCXRhcmdldFsga2V5IF0gPSAkLmlzUGxhaW5PYmplY3QoIHRhcmdldFsga2V5IF0gKSA/DQoJCQkJCQkkLndpZGdldC5leHRlbmQoIHt9LCB0YXJnZXRbIGtleSBdLCB2YWx1ZSApIDoNCg0KCQkJCQkJLy8gRG9uJ3QgZXh0ZW5kIHN0cmluZ3MsIGFycmF5cywgZXRjLiB3aXRoIG9iamVjdHMNCgkJCQkJCSQud2lkZ2V0LmV4dGVuZCgge30sIHZhbHVlICk7DQoNCgkJCQkvLyBDb3B5IGV2ZXJ5dGhpbmcgZWxzZSBieSByZWZlcmVuY2UNCgkJCQl9IGVsc2Ugew0KCQkJCQl0YXJnZXRbIGtleSBdID0gdmFsdWU7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJfQ0KCXJldHVybiB0YXJnZXQ7DQp9Ow0KDQokLndpZGdldC5icmlkZ2UgPSBmdW5jdGlvbiggbmFtZSwgb2JqZWN0ICkgew0KCXZhciBmdWxsTmFtZSA9IG9iamVjdC5wcm90b3R5cGUud2lkZ2V0RnVsbE5hbWUgfHwgbmFtZTsNCgkkLmZuWyBuYW1lIF0gPSBmdW5jdGlvbiggb3B0aW9ucyApIHsNCgkJdmFyIGlzTWV0aG9kQ2FsbCA9IHR5cGVvZiBvcHRpb25zID09PSAic3RyaW5nIjsNCgkJdmFyIGFyZ3MgPSB3aWRnZXRTbGljZS5jYWxsKCBhcmd1bWVudHMsIDEgKTsNCgkJdmFyIHJldHVyblZhbHVlID0gdGhpczsNCg0KCQlpZiAoIGlzTWV0aG9kQ2FsbCApIHsNCg0KCQkJLy8gSWYgdGhpcyBpcyBhbiBlbXB0eSBjb2xsZWN0aW9uLCB3ZSBuZWVkIHRvIGhhdmUgdGhlIGluc3RhbmNlIG1ldGhvZA0KCQkJLy8gcmV0dXJuIHVuZGVmaW5lZCBpbnN0ZWFkIG9mIHRoZSBqUXVlcnkgaW5zdGFuY2UNCgkJCWlmICggIXRoaXMubGVuZ3RoICYmIG9wdGlvbnMgPT09ICJpbnN0YW5jZSIgKSB7DQoJCQkJcmV0dXJuVmFsdWUgPSB1bmRlZmluZWQ7DQoJCQl9IGVsc2Ugew0KCQkJCXRoaXMuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQkJCXZhciBtZXRob2RWYWx1ZTsNCgkJCQkJdmFyIGluc3RhbmNlID0gJC5kYXRhKCB0aGlzLCBmdWxsTmFtZSApOw0KDQoJCQkJCWlmICggb3B0aW9ucyA9PT0gImluc3RhbmNlIiApIHsNCgkJCQkJCXJldHVyblZhbHVlID0gaW5zdGFuY2U7DQoJCQkJCQlyZXR1cm4gZmFsc2U7DQoJCQkJCX0NCg0KCQkJCQlpZiAoICFpbnN0YW5jZSApIHsNCgkJCQkJCXJldHVybiAkLmVycm9yKCAiY2Fubm90IGNhbGwgbWV0aG9kcyBvbiAiICsgbmFtZSArDQoJCQkJCQkJIiBwcmlvciB0byBpbml0aWFsaXphdGlvbjsgIiArDQoJCQkJCQkJImF0dGVtcHRlZCB0byBjYWxsIG1ldGhvZCAnIiArIG9wdGlvbnMgKyAiJyIgKTsNCgkJCQkJfQ0KDQoJCQkJCWlmICggISQuaXNGdW5jdGlvbiggaW5zdGFuY2VbIG9wdGlvbnMgXSApIHx8IG9wdGlvbnMuY2hhckF0KCAwICkgPT09ICJfIiApIHsNCgkJCQkJCXJldHVybiAkLmVycm9yKCAibm8gc3VjaCBtZXRob2QgJyIgKyBvcHRpb25zICsgIicgZm9yICIgKyBuYW1lICsNCgkJCQkJCQkiIHdpZGdldCBpbnN0YW5jZSIgKTsNCgkJCQkJfQ0KDQoJCQkJCW1ldGhvZFZhbHVlID0gaW5zdGFuY2VbIG9wdGlvbnMgXS5hcHBseSggaW5zdGFuY2UsIGFyZ3MgKTsNCg0KCQkJCQlpZiAoIG1ldGhvZFZhbHVlICE9PSBpbnN0YW5jZSAmJiBtZXRob2RWYWx1ZSAhPT0gdW5kZWZpbmVkICkgew0KCQkJCQkJcmV0dXJuVmFsdWUgPSBtZXRob2RWYWx1ZSAmJiBtZXRob2RWYWx1ZS5qcXVlcnkgPw0KCQkJCQkJCXJldHVyblZhbHVlLnB1c2hTdGFjayggbWV0aG9kVmFsdWUuZ2V0KCkgKSA6DQoJCQkJCQkJbWV0aG9kVmFsdWU7DQoJCQkJCQlyZXR1cm4gZmFsc2U7DQoJCQkJCX0NCgkJCQl9ICk7DQoJCQl9DQoJCX0gZWxzZSB7DQoNCgkJCS8vIEFsbG93IG11bHRpcGxlIGhhc2hlcyB0byBiZSBwYXNzZWQgb24gaW5pdA0KCQkJaWYgKCBhcmdzLmxlbmd0aCApIHsNCgkJCQlvcHRpb25zID0gJC53aWRnZXQuZXh0ZW5kLmFwcGx5KCBudWxsLCBbIG9wdGlvbnMgXS5jb25jYXQoIGFyZ3MgKSApOw0KCQkJfQ0KDQoJCQl0aGlzLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJCXZhciBpbnN0YW5jZSA9ICQuZGF0YSggdGhpcywgZnVsbE5hbWUgKTsNCgkJCQlpZiAoIGluc3RhbmNlICkgew0KCQkJCQlpbnN0YW5jZS5vcHRpb24oIG9wdGlvbnMgfHwge30gKTsNCgkJCQkJaWYgKCBpbnN0YW5jZS5faW5pdCApIHsNCgkJCQkJCWluc3RhbmNlLl9pbml0KCk7DQoJCQkJCX0NCgkJCQl9IGVsc2Ugew0KCQkJCQkkLmRhdGEoIHRoaXMsIGZ1bGxOYW1lLCBuZXcgb2JqZWN0KCBvcHRpb25zLCB0aGlzICkgKTsNCgkJCQl9DQoJCQl9ICk7DQoJCX0NCg0KCQlyZXR1cm4gcmV0dXJuVmFsdWU7DQoJfTsNCn07DQoNCiQuV2lkZ2V0ID0gZnVuY3Rpb24oIC8qIG9wdGlvbnMsIGVsZW1lbnQgKi8gKSB7fTsNCiQuV2lkZ2V0Ll9jaGlsZENvbnN0cnVjdG9ycyA9IFtdOw0KDQokLldpZGdldC5wcm90b3R5cGUgPSB7DQoJd2lkZ2V0TmFtZTogIndpZGdldCIsDQoJd2lkZ2V0RXZlbnRQcmVmaXg6ICIiLA0KCWRlZmF1bHRFbGVtZW50OiAiPGRpdj4iLA0KDQoJb3B0aW9uczogew0KCQljbGFzc2VzOiB7fSwNCgkJZGlzYWJsZWQ6IGZhbHNlLA0KDQoJCS8vIENhbGxiYWNrcw0KCQljcmVhdGU6IG51bGwNCgl9LA0KDQoJX2NyZWF0ZVdpZGdldDogZnVuY3Rpb24oIG9wdGlvbnMsIGVsZW1lbnQgKSB7DQoJCWVsZW1lbnQgPSAkKCBlbGVtZW50IHx8IHRoaXMuZGVmYXVsdEVsZW1lbnQgfHwgdGhpcyApWyAwIF07DQoJCXRoaXMuZWxlbWVudCA9ICQoIGVsZW1lbnQgKTsNCgkJdGhpcy51dWlkID0gd2lkZ2V0VXVpZCsrOw0KCQl0aGlzLmV2ZW50TmFtZXNwYWNlID0gIi4iICsgdGhpcy53aWRnZXROYW1lICsgdGhpcy51dWlkOw0KDQoJCXRoaXMuYmluZGluZ3MgPSAkKCk7DQoJCXRoaXMuaG92ZXJhYmxlID0gJCgpOw0KCQl0aGlzLmZvY3VzYWJsZSA9ICQoKTsNCgkJdGhpcy5jbGFzc2VzRWxlbWVudExvb2t1cCA9IHt9Ow0KDQoJCWlmICggZWxlbWVudCAhPT0gdGhpcyApIHsNCgkJCSQuZGF0YSggZWxlbWVudCwgdGhpcy53aWRnZXRGdWxsTmFtZSwgdGhpcyApOw0KCQkJdGhpcy5fb24oIHRydWUsIHRoaXMuZWxlbWVudCwgew0KCQkJCXJlbW92ZTogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCQlpZiAoIGV2ZW50LnRhcmdldCA9PT0gZWxlbWVudCApIHsNCgkJCQkJCXRoaXMuZGVzdHJveSgpOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfSApOw0KCQkJdGhpcy5kb2N1bWVudCA9ICQoIGVsZW1lbnQuc3R5bGUgPw0KDQoJCQkJLy8gRWxlbWVudCB3aXRoaW4gdGhlIGRvY3VtZW50DQoJCQkJZWxlbWVudC5vd25lckRvY3VtZW50IDoNCg0KCQkJCS8vIEVsZW1lbnQgaXMgd2luZG93IG9yIGRvY3VtZW50DQoJCQkJZWxlbWVudC5kb2N1bWVudCB8fCBlbGVtZW50ICk7DQoJCQl0aGlzLndpbmRvdyA9ICQoIHRoaXMuZG9jdW1lbnRbIDAgXS5kZWZhdWx0VmlldyB8fCB0aGlzLmRvY3VtZW50WyAwIF0ucGFyZW50V2luZG93ICk7DQoJCX0NCg0KCQl0aGlzLm9wdGlvbnMgPSAkLndpZGdldC5leHRlbmQoIHt9LA0KCQkJdGhpcy5vcHRpb25zLA0KCQkJdGhpcy5fZ2V0Q3JlYXRlT3B0aW9ucygpLA0KCQkJb3B0aW9ucyApOw0KDQoJCXRoaXMuX2NyZWF0ZSgpOw0KDQoJCWlmICggdGhpcy5vcHRpb25zLmRpc2FibGVkICkgew0KCQkJdGhpcy5fc2V0T3B0aW9uRGlzYWJsZWQoIHRoaXMub3B0aW9ucy5kaXNhYmxlZCApOw0KCQl9DQoNCgkJdGhpcy5fdHJpZ2dlciggImNyZWF0ZSIsIG51bGwsIHRoaXMuX2dldENyZWF0ZUV2ZW50RGF0YSgpICk7DQoJCXRoaXMuX2luaXQoKTsNCgl9LA0KDQoJX2dldENyZWF0ZU9wdGlvbnM6IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4ge307DQoJfSwNCg0KCV9nZXRDcmVhdGVFdmVudERhdGE6ICQubm9vcCwNCg0KCV9jcmVhdGU6ICQubm9vcCwNCg0KCV9pbml0OiAkLm5vb3AsDQoNCglkZXN0cm95OiBmdW5jdGlvbigpIHsNCgkJdmFyIHRoYXQgPSB0aGlzOw0KDQoJCXRoaXMuX2Rlc3Ryb3koKTsNCgkJJC5lYWNoKCB0aGlzLmNsYXNzZXNFbGVtZW50TG9va3VwLCBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCgkJCXRoYXQuX3JlbW92ZUNsYXNzKCB2YWx1ZSwga2V5ICk7DQoJCX0gKTsNCg0KCQkvLyBXZSBjYW4gcHJvYmFibHkgcmVtb3ZlIHRoZSB1bmJpbmQgY2FsbHMgaW4gMi4wDQoJCS8vIGFsbCBldmVudCBiaW5kaW5ncyBzaG91bGQgZ28gdGhyb3VnaCB0aGlzLl9vbigpDQoJCXRoaXMuZWxlbWVudA0KCQkJLm9mZiggdGhpcy5ldmVudE5hbWVzcGFjZSApDQoJCQkucmVtb3ZlRGF0YSggdGhpcy53aWRnZXRGdWxsTmFtZSApOw0KCQl0aGlzLndpZGdldCgpDQoJCQkub2ZmKCB0aGlzLmV2ZW50TmFtZXNwYWNlICkNCgkJCS5yZW1vdmVBdHRyKCAiYXJpYS1kaXNhYmxlZCIgKTsNCg0KCQkvLyBDbGVhbiB1cCBldmVudHMgYW5kIHN0YXRlcw0KCQl0aGlzLmJpbmRpbmdzLm9mZiggdGhpcy5ldmVudE5hbWVzcGFjZSApOw0KCX0sDQoNCglfZGVzdHJveTogJC5ub29wLA0KDQoJd2lkZ2V0OiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRoaXMuZWxlbWVudDsNCgl9LA0KDQoJb3B0aW9uOiBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCgkJdmFyIG9wdGlvbnMgPSBrZXk7DQoJCXZhciBwYXJ0czsNCgkJdmFyIGN1ck9wdGlvbjsNCgkJdmFyIGk7DQoNCgkJaWYgKCBhcmd1bWVudHMubGVuZ3RoID09PSAwICkgew0KDQoJCQkvLyBEb24ndCByZXR1cm4gYSByZWZlcmVuY2UgdG8gdGhlIGludGVybmFsIGhhc2gNCgkJCXJldHVybiAkLndpZGdldC5leHRlbmQoIHt9LCB0aGlzLm9wdGlvbnMgKTsNCgkJfQ0KDQoJCWlmICggdHlwZW9mIGtleSA9PT0gInN0cmluZyIgKSB7DQoNCgkJCS8vIEhhbmRsZSBuZXN0ZWQga2V5cywgZS5nLiwgImZvby5iYXIiID0+IHsgZm9vOiB7IGJhcjogX19fIH0gfQ0KCQkJb3B0aW9ucyA9IHt9Ow0KCQkJcGFydHMgPSBrZXkuc3BsaXQoICIuIiApOw0KCQkJa2V5ID0gcGFydHMuc2hpZnQoKTsNCgkJCWlmICggcGFydHMubGVuZ3RoICkgew0KCQkJCWN1ck9wdGlvbiA9IG9wdGlvbnNbIGtleSBdID0gJC53aWRnZXQuZXh0ZW5kKCB7fSwgdGhpcy5vcHRpb25zWyBrZXkgXSApOw0KCQkJCWZvciAoIGkgPSAwOyBpIDwgcGFydHMubGVuZ3RoIC0gMTsgaSsrICkgew0KCQkJCQljdXJPcHRpb25bIHBhcnRzWyBpIF0gXSA9IGN1ck9wdGlvblsgcGFydHNbIGkgXSBdIHx8IHt9Ow0KCQkJCQljdXJPcHRpb24gPSBjdXJPcHRpb25bIHBhcnRzWyBpIF0gXTsNCgkJCQl9DQoJCQkJa2V5ID0gcGFydHMucG9wKCk7DQoJCQkJaWYgKCBhcmd1bWVudHMubGVuZ3RoID09PSAxICkgew0KCQkJCQlyZXR1cm4gY3VyT3B0aW9uWyBrZXkgXSA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGN1ck9wdGlvblsga2V5IF07DQoJCQkJfQ0KCQkJCWN1ck9wdGlvblsga2V5IF0gPSB2YWx1ZTsNCgkJCX0gZWxzZSB7DQoJCQkJaWYgKCBhcmd1bWVudHMubGVuZ3RoID09PSAxICkgew0KCQkJCQlyZXR1cm4gdGhpcy5vcHRpb25zWyBrZXkgXSA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IHRoaXMub3B0aW9uc1sga2V5IF07DQoJCQkJfQ0KCQkJCW9wdGlvbnNbIGtleSBdID0gdmFsdWU7DQoJCQl9DQoJCX0NCg0KCQl0aGlzLl9zZXRPcHRpb25zKCBvcHRpb25zICk7DQoNCgkJcmV0dXJuIHRoaXM7DQoJfSwNCg0KCV9zZXRPcHRpb25zOiBmdW5jdGlvbiggb3B0aW9ucyApIHsNCgkJdmFyIGtleTsNCg0KCQlmb3IgKCBrZXkgaW4gb3B0aW9ucyApIHsNCgkJCXRoaXMuX3NldE9wdGlvbigga2V5LCBvcHRpb25zWyBrZXkgXSApOw0KCQl9DQoNCgkJcmV0dXJuIHRoaXM7DQoJfSwNCg0KCV9zZXRPcHRpb246IGZ1bmN0aW9uKCBrZXksIHZhbHVlICkgew0KCQlpZiAoIGtleSA9PT0gImNsYXNzZXMiICkgew0KCQkJdGhpcy5fc2V0T3B0aW9uQ2xhc3NlcyggdmFsdWUgKTsNCgkJfQ0KDQoJCXRoaXMub3B0aW9uc1sga2V5IF0gPSB2YWx1ZTsNCg0KCQlpZiAoIGtleSA9PT0gImRpc2FibGVkIiApIHsNCgkJCXRoaXMuX3NldE9wdGlvbkRpc2FibGVkKCB2YWx1ZSApOw0KCQl9DQoNCgkJcmV0dXJuIHRoaXM7DQoJfSwNCg0KCV9zZXRPcHRpb25DbGFzc2VzOiBmdW5jdGlvbiggdmFsdWUgKSB7DQoJCXZhciBjbGFzc0tleSwgZWxlbWVudHMsIGN1cnJlbnRFbGVtZW50czsNCg0KCQlmb3IgKCBjbGFzc0tleSBpbiB2YWx1ZSApIHsNCgkJCWN1cnJlbnRFbGVtZW50cyA9IHRoaXMuY2xhc3Nlc0VsZW1lbnRMb29rdXBbIGNsYXNzS2V5IF07DQoJCQlpZiAoIHZhbHVlWyBjbGFzc0tleSBdID09PSB0aGlzLm9wdGlvbnMuY2xhc3Nlc1sgY2xhc3NLZXkgXSB8fA0KCQkJCQkhY3VycmVudEVsZW1lbnRzIHx8DQoJCQkJCSFjdXJyZW50RWxlbWVudHMubGVuZ3RoICkgew0KCQkJCWNvbnRpbnVlOw0KCQkJfQ0KDQoJCQkvLyBXZSBhcmUgZG9pbmcgdGhpcyB0byBjcmVhdGUgYSBuZXcgalF1ZXJ5IG9iamVjdCBiZWNhdXNlIHRoZSBfcmVtb3ZlQ2xhc3MoKSBjYWxsDQoJCQkvLyBvbiB0aGUgbmV4dCBsaW5lIGlzIGdvaW5nIHRvIGRlc3Ryb3kgdGhlIHJlZmVyZW5jZSB0byB0aGUgY3VycmVudCBlbGVtZW50cyBiZWluZw0KCQkJLy8gdHJhY2tlZC4gV2UgbmVlZCB0byBzYXZlIGEgY29weSBvZiB0aGlzIGNvbGxlY3Rpb24gc28gdGhhdCB3ZSBjYW4gYWRkIHRoZSBuZXcgY2xhc3Nlcw0KCQkJLy8gYmVsb3cuDQoJCQllbGVtZW50cyA9ICQoIGN1cnJlbnRFbGVtZW50cy5nZXQoKSApOw0KCQkJdGhpcy5fcmVtb3ZlQ2xhc3MoIGN1cnJlbnRFbGVtZW50cywgY2xhc3NLZXkgKTsNCg0KCQkJLy8gV2UgZG9uJ3QgdXNlIF9hZGRDbGFzcygpIGhlcmUsIGJlY2F1c2UgdGhhdCB1c2VzIHRoaXMub3B0aW9ucy5jbGFzc2VzDQoJCQkvLyBmb3IgZ2VuZXJhdGluZyB0aGUgc3RyaW5nIG9mIGNsYXNzZXMuIFdlIHdhbnQgdG8gdXNlIHRoZSB2YWx1ZSBwYXNzZWQgaW4gZnJvbQ0KCQkJLy8gX3NldE9wdGlvbigpLCB0aGlzIGlzIHRoZSBuZXcgdmFsdWUgb2YgdGhlIGNsYXNzZXMgb3B0aW9uIHdoaWNoIHdhcyBwYXNzZWQgdG8NCgkJCS8vIF9zZXRPcHRpb24oKS4gV2UgcGFzcyB0aGlzIHZhbHVlIGRpcmVjdGx5IHRvIF9jbGFzc2VzKCkuDQoJCQllbGVtZW50cy5hZGRDbGFzcyggdGhpcy5fY2xhc3Nlcyggew0KCQkJCWVsZW1lbnQ6IGVsZW1lbnRzLA0KCQkJCWtleXM6IGNsYXNzS2V5LA0KCQkJCWNsYXNzZXM6IHZhbHVlLA0KCQkJCWFkZDogdHJ1ZQ0KCQkJfSApICk7DQoJCX0NCgl9LA0KDQoJX3NldE9wdGlvbkRpc2FibGVkOiBmdW5jdGlvbiggdmFsdWUgKSB7DQoJCXRoaXMuX3RvZ2dsZUNsYXNzKCB0aGlzLndpZGdldCgpLCB0aGlzLndpZGdldEZ1bGxOYW1lICsgIi1kaXNhYmxlZCIsIG51bGwsICEhdmFsdWUgKTsNCg0KCQkvLyBJZiB0aGUgd2lkZ2V0IGlzIGJlY29taW5nIGRpc2FibGVkLCB0aGVuIG5vdGhpbmcgaXMgaW50ZXJhY3RpdmUNCgkJaWYgKCB2YWx1ZSApIHsNCgkJCXRoaXMuX3JlbW92ZUNsYXNzKCB0aGlzLmhvdmVyYWJsZSwgbnVsbCwgInVpLXN0YXRlLWhvdmVyIiApOw0KCQkJdGhpcy5fcmVtb3ZlQ2xhc3MoIHRoaXMuZm9jdXNhYmxlLCBudWxsLCAidWktc3RhdGUtZm9jdXMiICk7DQoJCX0NCgl9LA0KDQoJZW5hYmxlOiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRoaXMuX3NldE9wdGlvbnMoIHsgZGlzYWJsZWQ6IGZhbHNlIH0gKTsNCgl9LA0KDQoJZGlzYWJsZTogZnVuY3Rpb24oKSB7DQoJCXJldHVybiB0aGlzLl9zZXRPcHRpb25zKCB7IGRpc2FibGVkOiB0cnVlIH0gKTsNCgl9LA0KDQoJX2NsYXNzZXM6IGZ1bmN0aW9uKCBvcHRpb25zICkgew0KCQl2YXIgZnVsbCA9IFtdOw0KCQl2YXIgdGhhdCA9IHRoaXM7DQoNCgkJb3B0aW9ucyA9ICQuZXh0ZW5kKCB7DQoJCQllbGVtZW50OiB0aGlzLmVsZW1lbnQsDQoJCQljbGFzc2VzOiB0aGlzLm9wdGlvbnMuY2xhc3NlcyB8fCB7fQ0KCQl9LCBvcHRpb25zICk7DQoNCgkJZnVuY3Rpb24gcHJvY2Vzc0NsYXNzU3RyaW5nKCBjbGFzc2VzLCBjaGVja09wdGlvbiApIHsNCgkJCXZhciBjdXJyZW50LCBpOw0KCQkJZm9yICggaSA9IDA7IGkgPCBjbGFzc2VzLmxlbmd0aDsgaSsrICkgew0KCQkJCWN1cnJlbnQgPSB0aGF0LmNsYXNzZXNFbGVtZW50TG9va3VwWyBjbGFzc2VzWyBpIF0gXSB8fCAkKCk7DQoJCQkJaWYgKCBvcHRpb25zLmFkZCApIHsNCgkJCQkJY3VycmVudCA9ICQoICQudW5pcXVlKCBjdXJyZW50LmdldCgpLmNvbmNhdCggb3B0aW9ucy5lbGVtZW50LmdldCgpICkgKSApOw0KCQkJCX0gZWxzZSB7DQoJCQkJCWN1cnJlbnQgPSAkKCBjdXJyZW50Lm5vdCggb3B0aW9ucy5lbGVtZW50ICkuZ2V0KCkgKTsNCgkJCQl9DQoJCQkJdGhhdC5jbGFzc2VzRWxlbWVudExvb2t1cFsgY2xhc3Nlc1sgaSBdIF0gPSBjdXJyZW50Ow0KCQkJCWZ1bGwucHVzaCggY2xhc3Nlc1sgaSBdICk7DQoJCQkJaWYgKCBjaGVja09wdGlvbiAmJiBvcHRpb25zLmNsYXNzZXNbIGNsYXNzZXNbIGkgXSBdICkgew0KCQkJCQlmdWxsLnB1c2goIG9wdGlvbnMuY2xhc3Nlc1sgY2xhc3Nlc1sgaSBdIF0gKTsNCgkJCQl9DQoJCQl9DQoJCX0NCg0KCQl0aGlzLl9vbiggb3B0aW9ucy5lbGVtZW50LCB7DQoJCQkicmVtb3ZlIjogIl91bnRyYWNrQ2xhc3Nlc0VsZW1lbnQiDQoJCX0gKTsNCg0KCQlpZiAoIG9wdGlvbnMua2V5cyApIHsNCgkJCXByb2Nlc3NDbGFzc1N0cmluZyggb3B0aW9ucy5rZXlzLm1hdGNoKCAvXFMrL2cgKSB8fCBbXSwgdHJ1ZSApOw0KCQl9DQoJCWlmICggb3B0aW9ucy5leHRyYSApIHsNCgkJCXByb2Nlc3NDbGFzc1N0cmluZyggb3B0aW9ucy5leHRyYS5tYXRjaCggL1xTKy9nICkgfHwgW10gKTsNCgkJfQ0KDQoJCXJldHVybiBmdWxsLmpvaW4oICIgIiApOw0KCX0sDQoNCglfdW50cmFja0NsYXNzZXNFbGVtZW50OiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXZhciB0aGF0ID0gdGhpczsNCgkJJC5lYWNoKCB0aGF0LmNsYXNzZXNFbGVtZW50TG9va3VwLCBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCgkJCWlmICggJC5pbkFycmF5KCBldmVudC50YXJnZXQsIHZhbHVlICkgIT09IC0xICkgew0KCQkJCXRoYXQuY2xhc3Nlc0VsZW1lbnRMb29rdXBbIGtleSBdID0gJCggdmFsdWUubm90KCBldmVudC50YXJnZXQgKS5nZXQoKSApOw0KCQkJfQ0KCQl9ICk7DQoJfSwNCg0KCV9yZW1vdmVDbGFzczogZnVuY3Rpb24oIGVsZW1lbnQsIGtleXMsIGV4dHJhICkgew0KCQlyZXR1cm4gdGhpcy5fdG9nZ2xlQ2xhc3MoIGVsZW1lbnQsIGtleXMsIGV4dHJhLCBmYWxzZSApOw0KCX0sDQoNCglfYWRkQ2xhc3M6IGZ1bmN0aW9uKCBlbGVtZW50LCBrZXlzLCBleHRyYSApIHsNCgkJcmV0dXJuIHRoaXMuX3RvZ2dsZUNsYXNzKCBlbGVtZW50LCBrZXlzLCBleHRyYSwgdHJ1ZSApOw0KCX0sDQoNCglfdG9nZ2xlQ2xhc3M6IGZ1bmN0aW9uKCBlbGVtZW50LCBrZXlzLCBleHRyYSwgYWRkICkgew0KCQlhZGQgPSAoIHR5cGVvZiBhZGQgPT09ICJib29sZWFuIiApID8gYWRkIDogZXh0cmE7DQoJCXZhciBzaGlmdCA9ICggdHlwZW9mIGVsZW1lbnQgPT09ICJzdHJpbmciIHx8IGVsZW1lbnQgPT09IG51bGwgKSwNCgkJCW9wdGlvbnMgPSB7DQoJCQkJZXh0cmE6IHNoaWZ0ID8ga2V5cyA6IGV4dHJhLA0KCQkJCWtleXM6IHNoaWZ0ID8gZWxlbWVudCA6IGtleXMsDQoJCQkJZWxlbWVudDogc2hpZnQgPyB0aGlzLmVsZW1lbnQgOiBlbGVtZW50LA0KCQkJCWFkZDogYWRkDQoJCQl9Ow0KCQlvcHRpb25zLmVsZW1lbnQudG9nZ2xlQ2xhc3MoIHRoaXMuX2NsYXNzZXMoIG9wdGlvbnMgKSwgYWRkICk7DQoJCXJldHVybiB0aGlzOw0KCX0sDQoNCglfb246IGZ1bmN0aW9uKCBzdXBwcmVzc0Rpc2FibGVkQ2hlY2ssIGVsZW1lbnQsIGhhbmRsZXJzICkgew0KCQl2YXIgZGVsZWdhdGVFbGVtZW50Ow0KCQl2YXIgaW5zdGFuY2UgPSB0aGlzOw0KDQoJCS8vIE5vIHN1cHByZXNzRGlzYWJsZWRDaGVjayBmbGFnLCBzaHVmZmxlIGFyZ3VtZW50cw0KCQlpZiAoIHR5cGVvZiBzdXBwcmVzc0Rpc2FibGVkQ2hlY2sgIT09ICJib29sZWFuIiApIHsNCgkJCWhhbmRsZXJzID0gZWxlbWVudDsNCgkJCWVsZW1lbnQgPSBzdXBwcmVzc0Rpc2FibGVkQ2hlY2s7DQoJCQlzdXBwcmVzc0Rpc2FibGVkQ2hlY2sgPSBmYWxzZTsNCgkJfQ0KDQoJCS8vIE5vIGVsZW1lbnQgYXJndW1lbnQsIHNodWZmbGUgYW5kIHVzZSB0aGlzLmVsZW1lbnQNCgkJaWYgKCAhaGFuZGxlcnMgKSB7DQoJCQloYW5kbGVycyA9IGVsZW1lbnQ7DQoJCQllbGVtZW50ID0gdGhpcy5lbGVtZW50Ow0KCQkJZGVsZWdhdGVFbGVtZW50ID0gdGhpcy53aWRnZXQoKTsNCgkJfSBlbHNlIHsNCgkJCWVsZW1lbnQgPSBkZWxlZ2F0ZUVsZW1lbnQgPSAkKCBlbGVtZW50ICk7DQoJCQl0aGlzLmJpbmRpbmdzID0gdGhpcy5iaW5kaW5ncy5hZGQoIGVsZW1lbnQgKTsNCgkJfQ0KDQoJCSQuZWFjaCggaGFuZGxlcnMsIGZ1bmN0aW9uKCBldmVudCwgaGFuZGxlciApIHsNCgkJCWZ1bmN0aW9uIGhhbmRsZXJQcm94eSgpIHsNCg0KCQkJCS8vIEFsbG93IHdpZGdldHMgdG8gY3VzdG9taXplIHRoZSBkaXNhYmxlZCBoYW5kbGluZw0KCQkJCS8vIC0gZGlzYWJsZWQgYXMgYW4gYXJyYXkgaW5zdGVhZCBvZiBib29sZWFuDQoJCQkJLy8gLSBkaXNhYmxlZCBjbGFzcyBhcyBtZXRob2QgZm9yIGRpc2FibGluZyBpbmRpdmlkdWFsIHBhcnRzDQoJCQkJaWYgKCAhc3VwcHJlc3NEaXNhYmxlZENoZWNrICYmDQoJCQkJCQkoIGluc3RhbmNlLm9wdGlvbnMuZGlzYWJsZWQgPT09IHRydWUgfHwNCgkJCQkJCSQoIHRoaXMgKS5oYXNDbGFzcyggInVpLXN0YXRlLWRpc2FibGVkIiApICkgKSB7DQoJCQkJCXJldHVybjsNCgkJCQl9DQoJCQkJcmV0dXJuICggdHlwZW9mIGhhbmRsZXIgPT09ICJzdHJpbmciID8gaW5zdGFuY2VbIGhhbmRsZXIgXSA6IGhhbmRsZXIgKQ0KCQkJCQkuYXBwbHkoIGluc3RhbmNlLCBhcmd1bWVudHMgKTsNCgkJCX0NCg0KCQkJLy8gQ29weSB0aGUgZ3VpZCBzbyBkaXJlY3QgdW5iaW5kaW5nIHdvcmtzDQoJCQlpZiAoIHR5cGVvZiBoYW5kbGVyICE9PSAic3RyaW5nIiApIHsNCgkJCQloYW5kbGVyUHJveHkuZ3VpZCA9IGhhbmRsZXIuZ3VpZCA9DQoJCQkJCWhhbmRsZXIuZ3VpZCB8fCBoYW5kbGVyUHJveHkuZ3VpZCB8fCAkLmd1aWQrKzsNCgkJCX0NCg0KCQkJdmFyIG1hdGNoID0gZXZlbnQubWF0Y2goIC9eKFtcdzotXSopXHMqKC4qKSQvICk7DQoJCQl2YXIgZXZlbnROYW1lID0gbWF0Y2hbIDEgXSArIGluc3RhbmNlLmV2ZW50TmFtZXNwYWNlOw0KCQkJdmFyIHNlbGVjdG9yID0gbWF0Y2hbIDIgXTsNCg0KCQkJaWYgKCBzZWxlY3RvciApIHsNCgkJCQlkZWxlZ2F0ZUVsZW1lbnQub24oIGV2ZW50TmFtZSwgc2VsZWN0b3IsIGhhbmRsZXJQcm94eSApOw0KCQkJfSBlbHNlIHsNCgkJCQllbGVtZW50Lm9uKCBldmVudE5hbWUsIGhhbmRsZXJQcm94eSApOw0KCQkJfQ0KCQl9ICk7DQoJfSwNCg0KCV9vZmY6IGZ1bmN0aW9uKCBlbGVtZW50LCBldmVudE5hbWUgKSB7DQoJCWV2ZW50TmFtZSA9ICggZXZlbnROYW1lIHx8ICIiICkuc3BsaXQoICIgIiApLmpvaW4oIHRoaXMuZXZlbnROYW1lc3BhY2UgKyAiICIgKSArDQoJCQl0aGlzLmV2ZW50TmFtZXNwYWNlOw0KCQllbGVtZW50Lm9mZiggZXZlbnROYW1lICkub2ZmKCBldmVudE5hbWUgKTsNCg0KCQkvLyBDbGVhciB0aGUgc3RhY2sgdG8gYXZvaWQgbWVtb3J5IGxlYWtzICgjMTAwNTYpDQoJCXRoaXMuYmluZGluZ3MgPSAkKCB0aGlzLmJpbmRpbmdzLm5vdCggZWxlbWVudCApLmdldCgpICk7DQoJCXRoaXMuZm9jdXNhYmxlID0gJCggdGhpcy5mb2N1c2FibGUubm90KCBlbGVtZW50ICkuZ2V0KCkgKTsNCgkJdGhpcy5ob3ZlcmFibGUgPSAkKCB0aGlzLmhvdmVyYWJsZS5ub3QoIGVsZW1lbnQgKS5nZXQoKSApOw0KCX0sDQoNCglfZGVsYXk6IGZ1bmN0aW9uKCBoYW5kbGVyLCBkZWxheSApIHsNCgkJZnVuY3Rpb24gaGFuZGxlclByb3h5KCkgew0KCQkJcmV0dXJuICggdHlwZW9mIGhhbmRsZXIgPT09ICJzdHJpbmciID8gaW5zdGFuY2VbIGhhbmRsZXIgXSA6IGhhbmRsZXIgKQ0KCQkJCS5hcHBseSggaW5zdGFuY2UsIGFyZ3VtZW50cyApOw0KCQl9DQoJCXZhciBpbnN0YW5jZSA9IHRoaXM7DQoJCXJldHVybiBzZXRUaW1lb3V0KCBoYW5kbGVyUHJveHksIGRlbGF5IHx8IDAgKTsNCgl9LA0KDQoJX2hvdmVyYWJsZTogZnVuY3Rpb24oIGVsZW1lbnQgKSB7DQoJCXRoaXMuaG92ZXJhYmxlID0gdGhpcy5ob3ZlcmFibGUuYWRkKCBlbGVtZW50ICk7DQoJCXRoaXMuX29uKCBlbGVtZW50LCB7DQoJCQltb3VzZWVudGVyOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQkJdGhpcy5fYWRkQ2xhc3MoICQoIGV2ZW50LmN1cnJlbnRUYXJnZXQgKSwgbnVsbCwgInVpLXN0YXRlLWhvdmVyIiApOw0KCQkJfSwNCgkJCW1vdXNlbGVhdmU6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCQl0aGlzLl9yZW1vdmVDbGFzcyggJCggZXZlbnQuY3VycmVudFRhcmdldCApLCBudWxsLCAidWktc3RhdGUtaG92ZXIiICk7DQoJCQl9DQoJCX0gKTsNCgl9LA0KDQoJX2ZvY3VzYWJsZTogZnVuY3Rpb24oIGVsZW1lbnQgKSB7DQoJCXRoaXMuZm9jdXNhYmxlID0gdGhpcy5mb2N1c2FibGUuYWRkKCBlbGVtZW50ICk7DQoJCXRoaXMuX29uKCBlbGVtZW50LCB7DQoJCQlmb2N1c2luOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQkJdGhpcy5fYWRkQ2xhc3MoICQoIGV2ZW50LmN1cnJlbnRUYXJnZXQgKSwgbnVsbCwgInVpLXN0YXRlLWZvY3VzIiApOw0KCQkJfSwNCgkJCWZvY3Vzb3V0OiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQkJdGhpcy5fcmVtb3ZlQ2xhc3MoICQoIGV2ZW50LmN1cnJlbnRUYXJnZXQgKSwgbnVsbCwgInVpLXN0YXRlLWZvY3VzIiApOw0KCQkJfQ0KCQl9ICk7DQoJfSwNCg0KCV90cmlnZ2VyOiBmdW5jdGlvbiggdHlwZSwgZXZlbnQsIGRhdGEgKSB7DQoJCXZhciBwcm9wLCBvcmlnOw0KCQl2YXIgY2FsbGJhY2sgPSB0aGlzLm9wdGlvbnNbIHR5cGUgXTsNCg0KCQlkYXRhID0gZGF0YSB8fCB7fTsNCgkJZXZlbnQgPSAkLkV2ZW50KCBldmVudCApOw0KCQlldmVudC50eXBlID0gKCB0eXBlID09PSB0aGlzLndpZGdldEV2ZW50UHJlZml4ID8NCgkJCXR5cGUgOg0KCQkJdGhpcy53aWRnZXRFdmVudFByZWZpeCArIHR5cGUgKS50b0xvd2VyQ2FzZSgpOw0KDQoJCS8vIFRoZSBvcmlnaW5hbCBldmVudCBtYXkgY29tZSBmcm9tIGFueSBlbGVtZW50DQoJCS8vIHNvIHdlIG5lZWQgdG8gcmVzZXQgdGhlIHRhcmdldCBvbiB0aGUgbmV3IGV2ZW50DQoJCWV2ZW50LnRhcmdldCA9IHRoaXMuZWxlbWVudFsgMCBdOw0KDQoJCS8vIENvcHkgb3JpZ2luYWwgZXZlbnQgcHJvcGVydGllcyBvdmVyIHRvIHRoZSBuZXcgZXZlbnQNCgkJb3JpZyA9IGV2ZW50Lm9yaWdpbmFsRXZlbnQ7DQoJCWlmICggb3JpZyApIHsNCgkJCWZvciAoIHByb3AgaW4gb3JpZyApIHsNCgkJCQlpZiAoICEoIHByb3AgaW4gZXZlbnQgKSApIHsNCgkJCQkJZXZlbnRbIHByb3AgXSA9IG9yaWdbIHByb3AgXTsNCgkJCQl9DQoJCQl9DQoJCX0NCg0KCQl0aGlzLmVsZW1lbnQudHJpZ2dlciggZXZlbnQsIGRhdGEgKTsNCgkJcmV0dXJuICEoICQuaXNGdW5jdGlvbiggY2FsbGJhY2sgKSAmJg0KCQkJY2FsbGJhY2suYXBwbHkoIHRoaXMuZWxlbWVudFsgMCBdLCBbIGV2ZW50IF0uY29uY2F0KCBkYXRhICkgKSA9PT0gZmFsc2UgfHwNCgkJCWV2ZW50LmlzRGVmYXVsdFByZXZlbnRlZCgpICk7DQoJfQ0KfTsNCg0KJC5lYWNoKCB7IHNob3c6ICJmYWRlSW4iLCBoaWRlOiAiZmFkZU91dCIgfSwgZnVuY3Rpb24oIG1ldGhvZCwgZGVmYXVsdEVmZmVjdCApIHsNCgkkLldpZGdldC5wcm90b3R5cGVbICJfIiArIG1ldGhvZCBdID0gZnVuY3Rpb24oIGVsZW1lbnQsIG9wdGlvbnMsIGNhbGxiYWNrICkgew0KCQlpZiAoIHR5cGVvZiBvcHRpb25zID09PSAic3RyaW5nIiApIHsNCgkJCW9wdGlvbnMgPSB7IGVmZmVjdDogb3B0aW9ucyB9Ow0KCQl9DQoNCgkJdmFyIGhhc09wdGlvbnM7DQoJCXZhciBlZmZlY3ROYW1lID0gIW9wdGlvbnMgPw0KCQkJbWV0aG9kIDoNCgkJCW9wdGlvbnMgPT09IHRydWUgfHwgdHlwZW9mIG9wdGlvbnMgPT09ICJudW1iZXIiID8NCgkJCQlkZWZhdWx0RWZmZWN0IDoNCgkJCQlvcHRpb25zLmVmZmVjdCB8fCBkZWZhdWx0RWZmZWN0Ow0KDQoJCW9wdGlvbnMgPSBvcHRpb25zIHx8IHt9Ow0KCQlpZiAoIHR5cGVvZiBvcHRpb25zID09PSAibnVtYmVyIiApIHsNCgkJCW9wdGlvbnMgPSB7IGR1cmF0aW9uOiBvcHRpb25zIH07DQoJCX0NCg0KCQloYXNPcHRpb25zID0gISQuaXNFbXB0eU9iamVjdCggb3B0aW9ucyApOw0KCQlvcHRpb25zLmNvbXBsZXRlID0gY2FsbGJhY2s7DQoNCgkJaWYgKCBvcHRpb25zLmRlbGF5ICkgew0KCQkJZWxlbWVudC5kZWxheSggb3B0aW9ucy5kZWxheSApOw0KCQl9DQoNCgkJaWYgKCBoYXNPcHRpb25zICYmICQuZWZmZWN0cyAmJiAkLmVmZmVjdHMuZWZmZWN0WyBlZmZlY3ROYW1lIF0gKSB7DQoJCQllbGVtZW50WyBtZXRob2QgXSggb3B0aW9ucyApOw0KCQl9IGVsc2UgaWYgKCBlZmZlY3ROYW1lICE9PSBtZXRob2QgJiYgZWxlbWVudFsgZWZmZWN0TmFtZSBdICkgew0KCQkJZWxlbWVudFsgZWZmZWN0TmFtZSBdKCBvcHRpb25zLmR1cmF0aW9uLCBvcHRpb25zLmVhc2luZywgY2FsbGJhY2sgKTsNCgkJfSBlbHNlIHsNCgkJCWVsZW1lbnQucXVldWUoIGZ1bmN0aW9uKCBuZXh0ICkgew0KCQkJCSQoIHRoaXMgKVsgbWV0aG9kIF0oKTsNCgkJCQlpZiAoIGNhbGxiYWNrICkgew0KCQkJCQljYWxsYmFjay5jYWxsKCBlbGVtZW50WyAwIF0gKTsNCgkJCQl9DQoJCQkJbmV4dCgpOw0KCQkJfSApOw0KCQl9DQoJfTsNCn0gKTsNCg0KdmFyIHdpZGdldCA9ICQud2lkZ2V0Ow0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIFBvc2l0aW9uIDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKg0KICogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vcG9zaXRpb24vDQogKi8NCg0KLy8+PmxhYmVsOiBQb3NpdGlvbg0KLy8+Pmdyb3VwOiBDb3JlDQovLz4+ZGVzY3JpcHRpb246IFBvc2l0aW9ucyBlbGVtZW50cyByZWxhdGl2ZSB0byBvdGhlciBlbGVtZW50cy4NCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9wb3NpdGlvbi8NCi8vPj5kZW1vczogaHR0cDovL2pxdWVyeXVpLmNvbS9wb3NpdGlvbi8NCg0KDQooIGZ1bmN0aW9uKCkgew0KdmFyIGNhY2hlZFNjcm9sbGJhcldpZHRoLA0KCW1heCA9IE1hdGgubWF4LA0KCWFicyA9IE1hdGguYWJzLA0KCXJob3Jpem9udGFsID0gL2xlZnR8Y2VudGVyfHJpZ2h0LywNCglydmVydGljYWwgPSAvdG9wfGNlbnRlcnxib3R0b20vLA0KCXJvZmZzZXQgPSAvW1wrXC1dXGQrKFwuW1xkXSspPyU/LywNCglycG9zaXRpb24gPSAvXlx3Ky8sDQoJcnBlcmNlbnQgPSAvJSQvLA0KCV9wb3NpdGlvbiA9ICQuZm4ucG9zaXRpb247DQoNCmZ1bmN0aW9uIGdldE9mZnNldHMoIG9mZnNldHMsIHdpZHRoLCBoZWlnaHQgKSB7DQoJcmV0dXJuIFsNCgkJcGFyc2VGbG9hdCggb2Zmc2V0c1sgMCBdICkgKiAoIHJwZXJjZW50LnRlc3QoIG9mZnNldHNbIDAgXSApID8gd2lkdGggLyAxMDAgOiAxICksDQoJCXBhcnNlRmxvYXQoIG9mZnNldHNbIDEgXSApICogKCBycGVyY2VudC50ZXN0KCBvZmZzZXRzWyAxIF0gKSA/IGhlaWdodCAvIDEwMCA6IDEgKQ0KCV07DQp9DQoNCmZ1bmN0aW9uIHBhcnNlQ3NzKCBlbGVtZW50LCBwcm9wZXJ0eSApIHsNCglyZXR1cm4gcGFyc2VJbnQoICQuY3NzKCBlbGVtZW50LCBwcm9wZXJ0eSApLCAxMCApIHx8IDA7DQp9DQoNCmZ1bmN0aW9uIGdldERpbWVuc2lvbnMoIGVsZW0gKSB7DQoJdmFyIHJhdyA9IGVsZW1bIDAgXTsNCglpZiAoIHJhdy5ub2RlVHlwZSA9PT0gOSApIHsNCgkJcmV0dXJuIHsNCgkJCXdpZHRoOiBlbGVtLndpZHRoKCksDQoJCQloZWlnaHQ6IGVsZW0uaGVpZ2h0KCksDQoJCQlvZmZzZXQ6IHsgdG9wOiAwLCBsZWZ0OiAwIH0NCgkJfTsNCgl9DQoJaWYgKCAkLmlzV2luZG93KCByYXcgKSApIHsNCgkJcmV0dXJuIHsNCgkJCXdpZHRoOiBlbGVtLndpZHRoKCksDQoJCQloZWlnaHQ6IGVsZW0uaGVpZ2h0KCksDQoJCQlvZmZzZXQ6IHsgdG9wOiBlbGVtLnNjcm9sbFRvcCgpLCBsZWZ0OiBlbGVtLnNjcm9sbExlZnQoKSB9DQoJCX07DQoJfQ0KCWlmICggcmF3LnByZXZlbnREZWZhdWx0ICkgew0KCQlyZXR1cm4gew0KCQkJd2lkdGg6IDAsDQoJCQloZWlnaHQ6IDAsDQoJCQlvZmZzZXQ6IHsgdG9wOiByYXcucGFnZVksIGxlZnQ6IHJhdy5wYWdlWCB9DQoJCX07DQoJfQ0KCXJldHVybiB7DQoJCXdpZHRoOiBlbGVtLm91dGVyV2lkdGgoKSwNCgkJaGVpZ2h0OiBlbGVtLm91dGVySGVpZ2h0KCksDQoJCW9mZnNldDogZWxlbS5vZmZzZXQoKQ0KCX07DQp9DQoNCiQucG9zaXRpb24gPSB7DQoJc2Nyb2xsYmFyV2lkdGg6IGZ1bmN0aW9uKCkgew0KCQlpZiAoIGNhY2hlZFNjcm9sbGJhcldpZHRoICE9PSB1bmRlZmluZWQgKSB7DQoJCQlyZXR1cm4gY2FjaGVkU2Nyb2xsYmFyV2lkdGg7DQoJCX0NCgkJdmFyIHcxLCB3MiwNCgkJCWRpdiA9ICQoICI8ZGl2ICIgKw0KCQkJCSJzdHlsZT0nZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo1MHB4O2hlaWdodDo1MHB4O292ZXJmbG93OmhpZGRlbjsnPiIgKw0KCQkJCSI8ZGl2IHN0eWxlPSdoZWlnaHQ6MTAwcHg7d2lkdGg6YXV0bzsnPjwvZGl2PjwvZGl2PiIgKSwNCgkJCWlubmVyRGl2ID0gZGl2LmNoaWxkcmVuKClbIDAgXTsNCg0KCQkkKCAiYm9keSIgKS5hcHBlbmQoIGRpdiApOw0KCQl3MSA9IGlubmVyRGl2Lm9mZnNldFdpZHRoOw0KCQlkaXYuY3NzKCAib3ZlcmZsb3ciLCAic2Nyb2xsIiApOw0KDQoJCXcyID0gaW5uZXJEaXYub2Zmc2V0V2lkdGg7DQoNCgkJaWYgKCB3MSA9PT0gdzIgKSB7DQoJCQl3MiA9IGRpdlsgMCBdLmNsaWVudFdpZHRoOw0KCQl9DQoNCgkJZGl2LnJlbW92ZSgpOw0KDQoJCXJldHVybiAoIGNhY2hlZFNjcm9sbGJhcldpZHRoID0gdzEgLSB3MiApOw0KCX0sDQoJZ2V0U2Nyb2xsSW5mbzogZnVuY3Rpb24oIHdpdGhpbiApIHsNCgkJdmFyIG92ZXJmbG93WCA9IHdpdGhpbi5pc1dpbmRvdyB8fCB3aXRoaW4uaXNEb2N1bWVudCA/ICIiIDoNCgkJCQl3aXRoaW4uZWxlbWVudC5jc3MoICJvdmVyZmxvdy14IiApLA0KCQkJb3ZlcmZsb3dZID0gd2l0aGluLmlzV2luZG93IHx8IHdpdGhpbi5pc0RvY3VtZW50ID8gIiIgOg0KCQkJCXdpdGhpbi5lbGVtZW50LmNzcyggIm92ZXJmbG93LXkiICksDQoJCQloYXNPdmVyZmxvd1ggPSBvdmVyZmxvd1ggPT09ICJzY3JvbGwiIHx8DQoJCQkJKCBvdmVyZmxvd1ggPT09ICJhdXRvIiAmJiB3aXRoaW4ud2lkdGggPCB3aXRoaW4uZWxlbWVudFsgMCBdLnNjcm9sbFdpZHRoICksDQoJCQloYXNPdmVyZmxvd1kgPSBvdmVyZmxvd1kgPT09ICJzY3JvbGwiIHx8DQoJCQkJKCBvdmVyZmxvd1kgPT09ICJhdXRvIiAmJiB3aXRoaW4uaGVpZ2h0IDwgd2l0aGluLmVsZW1lbnRbIDAgXS5zY3JvbGxIZWlnaHQgKTsNCgkJcmV0dXJuIHsNCgkJCXdpZHRoOiBoYXNPdmVyZmxvd1kgPyAkLnBvc2l0aW9uLnNjcm9sbGJhcldpZHRoKCkgOiAwLA0KCQkJaGVpZ2h0OiBoYXNPdmVyZmxvd1ggPyAkLnBvc2l0aW9uLnNjcm9sbGJhcldpZHRoKCkgOiAwDQoJCX07DQoJfSwNCglnZXRXaXRoaW5JbmZvOiBmdW5jdGlvbiggZWxlbWVudCApIHsNCgkJdmFyIHdpdGhpbkVsZW1lbnQgPSAkKCBlbGVtZW50IHx8IHdpbmRvdyApLA0KCQkJaXNXaW5kb3cgPSAkLmlzV2luZG93KCB3aXRoaW5FbGVtZW50WyAwIF0gKSwNCgkJCWlzRG9jdW1lbnQgPSAhIXdpdGhpbkVsZW1lbnRbIDAgXSAmJiB3aXRoaW5FbGVtZW50WyAwIF0ubm9kZVR5cGUgPT09IDksDQoJCQloYXNPZmZzZXQgPSAhaXNXaW5kb3cgJiYgIWlzRG9jdW1lbnQ7DQoJCXJldHVybiB7DQoJCQllbGVtZW50OiB3aXRoaW5FbGVtZW50LA0KCQkJaXNXaW5kb3c6IGlzV2luZG93LA0KCQkJaXNEb2N1bWVudDogaXNEb2N1bWVudCwNCgkJCW9mZnNldDogaGFzT2Zmc2V0ID8gJCggZWxlbWVudCApLm9mZnNldCgpIDogeyBsZWZ0OiAwLCB0b3A6IDAgfSwNCgkJCXNjcm9sbExlZnQ6IHdpdGhpbkVsZW1lbnQuc2Nyb2xsTGVmdCgpLA0KCQkJc2Nyb2xsVG9wOiB3aXRoaW5FbGVtZW50LnNjcm9sbFRvcCgpLA0KCQkJd2lkdGg6IHdpdGhpbkVsZW1lbnQub3V0ZXJXaWR0aCgpLA0KCQkJaGVpZ2h0OiB3aXRoaW5FbGVtZW50Lm91dGVySGVpZ2h0KCkNCgkJfTsNCgl9DQp9Ow0KDQokLmZuLnBvc2l0aW9uID0gZnVuY3Rpb24oIG9wdGlvbnMgKSB7DQoJaWYgKCAhb3B0aW9ucyB8fCAhb3B0aW9ucy5vZiApIHsNCgkJcmV0dXJuIF9wb3NpdGlvbi5hcHBseSggdGhpcywgYXJndW1lbnRzICk7DQoJfQ0KDQoJLy8gTWFrZSBhIGNvcHksIHdlIGRvbid0IHdhbnQgdG8gbW9kaWZ5IGFyZ3VtZW50cw0KCW9wdGlvbnMgPSAkLmV4dGVuZCgge30sIG9wdGlvbnMgKTsNCg0KCXZhciBhdE9mZnNldCwgdGFyZ2V0V2lkdGgsIHRhcmdldEhlaWdodCwgdGFyZ2V0T2Zmc2V0LCBiYXNlUG9zaXRpb24sIGRpbWVuc2lvbnMsDQoJCXRhcmdldCA9ICQoIG9wdGlvbnMub2YgKSwNCgkJd2l0aGluID0gJC5wb3NpdGlvbi5nZXRXaXRoaW5JbmZvKCBvcHRpb25zLndpdGhpbiApLA0KCQlzY3JvbGxJbmZvID0gJC5wb3NpdGlvbi5nZXRTY3JvbGxJbmZvKCB3aXRoaW4gKSwNCgkJY29sbGlzaW9uID0gKCBvcHRpb25zLmNvbGxpc2lvbiB8fCAiZmxpcCIgKS5zcGxpdCggIiAiICksDQoJCW9mZnNldHMgPSB7fTsNCg0KCWRpbWVuc2lvbnMgPSBnZXREaW1lbnNpb25zKCB0YXJnZXQgKTsNCglpZiAoIHRhcmdldFsgMCBdLnByZXZlbnREZWZhdWx0ICkgew0KDQoJCS8vIEZvcmNlIGxlZnQgdG9wIHRvIGFsbG93IGZsaXBwaW5nDQoJCW9wdGlvbnMuYXQgPSAibGVmdCB0b3AiOw0KCX0NCgl0YXJnZXRXaWR0aCA9IGRpbWVuc2lvbnMud2lkdGg7DQoJdGFyZ2V0SGVpZ2h0ID0gZGltZW5zaW9ucy5oZWlnaHQ7DQoJdGFyZ2V0T2Zmc2V0ID0gZGltZW5zaW9ucy5vZmZzZXQ7DQoNCgkvLyBDbG9uZSB0byByZXVzZSBvcmlnaW5hbCB0YXJnZXRPZmZzZXQgbGF0ZXINCgliYXNlUG9zaXRpb24gPSAkLmV4dGVuZCgge30sIHRhcmdldE9mZnNldCApOw0KDQoJLy8gRm9yY2UgbXkgYW5kIGF0IHRvIGhhdmUgdmFsaWQgaG9yaXpvbnRhbCBhbmQgdmVydGljYWwgcG9zaXRpb25zDQoJLy8gaWYgYSB2YWx1ZSBpcyBtaXNzaW5nIG9yIGludmFsaWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGNlbnRlcg0KCSQuZWFjaCggWyAibXkiLCAiYXQiIF0sIGZ1bmN0aW9uKCkgew0KCQl2YXIgcG9zID0gKCBvcHRpb25zWyB0aGlzIF0gfHwgIiIgKS5zcGxpdCggIiAiICksDQoJCQlob3Jpem9udGFsT2Zmc2V0LA0KCQkJdmVydGljYWxPZmZzZXQ7DQoNCgkJaWYgKCBwb3MubGVuZ3RoID09PSAxICkgew0KCQkJcG9zID0gcmhvcml6b250YWwudGVzdCggcG9zWyAwIF0gKSA/DQoJCQkJcG9zLmNvbmNhdCggWyAiY2VudGVyIiBdICkgOg0KCQkJCXJ2ZXJ0aWNhbC50ZXN0KCBwb3NbIDAgXSApID8NCgkJCQkJWyAiY2VudGVyIiBdLmNvbmNhdCggcG9zICkgOg0KCQkJCQlbICJjZW50ZXIiLCAiY2VudGVyIiBdOw0KCQl9DQoJCXBvc1sgMCBdID0gcmhvcml6b250YWwudGVzdCggcG9zWyAwIF0gKSA/IHBvc1sgMCBdIDogImNlbnRlciI7DQoJCXBvc1sgMSBdID0gcnZlcnRpY2FsLnRlc3QoIHBvc1sgMSBdICkgPyBwb3NbIDEgXSA6ICJjZW50ZXIiOw0KDQoJCS8vIENhbGN1bGF0ZSBvZmZzZXRzDQoJCWhvcml6b250YWxPZmZzZXQgPSByb2Zmc2V0LmV4ZWMoIHBvc1sgMCBdICk7DQoJCXZlcnRpY2FsT2Zmc2V0ID0gcm9mZnNldC5leGVjKCBwb3NbIDEgXSApOw0KCQlvZmZzZXRzWyB0aGlzIF0gPSBbDQoJCQlob3Jpem9udGFsT2Zmc2V0ID8gaG9yaXpvbnRhbE9mZnNldFsgMCBdIDogMCwNCgkJCXZlcnRpY2FsT2Zmc2V0ID8gdmVydGljYWxPZmZzZXRbIDAgXSA6IDANCgkJXTsNCg0KCQkvLyBSZWR1Y2UgdG8ganVzdCB0aGUgcG9zaXRpb25zIHdpdGhvdXQgdGhlIG9mZnNldHMNCgkJb3B0aW9uc1sgdGhpcyBdID0gWw0KCQkJcnBvc2l0aW9uLmV4ZWMoIHBvc1sgMCBdIClbIDAgXSwNCgkJCXJwb3NpdGlvbi5leGVjKCBwb3NbIDEgXSApWyAwIF0NCgkJXTsNCgl9ICk7DQoNCgkvLyBOb3JtYWxpemUgY29sbGlzaW9uIG9wdGlvbg0KCWlmICggY29sbGlzaW9uLmxlbmd0aCA9PT0gMSApIHsNCgkJY29sbGlzaW9uWyAxIF0gPSBjb2xsaXNpb25bIDAgXTsNCgl9DQoNCglpZiAoIG9wdGlvbnMuYXRbIDAgXSA9PT0gInJpZ2h0IiApIHsNCgkJYmFzZVBvc2l0aW9uLmxlZnQgKz0gdGFyZ2V0V2lkdGg7DQoJfSBlbHNlIGlmICggb3B0aW9ucy5hdFsgMCBdID09PSAiY2VudGVyIiApIHsNCgkJYmFzZVBvc2l0aW9uLmxlZnQgKz0gdGFyZ2V0V2lkdGggLyAyOw0KCX0NCg0KCWlmICggb3B0aW9ucy5hdFsgMSBdID09PSAiYm90dG9tIiApIHsNCgkJYmFzZVBvc2l0aW9uLnRvcCArPSB0YXJnZXRIZWlnaHQ7DQoJfSBlbHNlIGlmICggb3B0aW9ucy5hdFsgMSBdID09PSAiY2VudGVyIiApIHsNCgkJYmFzZVBvc2l0aW9uLnRvcCArPSB0YXJnZXRIZWlnaHQgLyAyOw0KCX0NCg0KCWF0T2Zmc2V0ID0gZ2V0T2Zmc2V0cyggb2Zmc2V0cy5hdCwgdGFyZ2V0V2lkdGgsIHRhcmdldEhlaWdodCApOw0KCWJhc2VQb3NpdGlvbi5sZWZ0ICs9IGF0T2Zmc2V0WyAwIF07DQoJYmFzZVBvc2l0aW9uLnRvcCArPSBhdE9mZnNldFsgMSBdOw0KDQoJcmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7DQoJCXZhciBjb2xsaXNpb25Qb3NpdGlvbiwgdXNpbmcsDQoJCQllbGVtID0gJCggdGhpcyApLA0KCQkJZWxlbVdpZHRoID0gZWxlbS5vdXRlcldpZHRoKCksDQoJCQllbGVtSGVpZ2h0ID0gZWxlbS5vdXRlckhlaWdodCgpLA0KCQkJbWFyZ2luTGVmdCA9IHBhcnNlQ3NzKCB0aGlzLCAibWFyZ2luTGVmdCIgKSwNCgkJCW1hcmdpblRvcCA9IHBhcnNlQ3NzKCB0aGlzLCAibWFyZ2luVG9wIiApLA0KCQkJY29sbGlzaW9uV2lkdGggPSBlbGVtV2lkdGggKyBtYXJnaW5MZWZ0ICsgcGFyc2VDc3MoIHRoaXMsICJtYXJnaW5SaWdodCIgKSArDQoJCQkJc2Nyb2xsSW5mby53aWR0aCwNCgkJCWNvbGxpc2lvbkhlaWdodCA9IGVsZW1IZWlnaHQgKyBtYXJnaW5Ub3AgKyBwYXJzZUNzcyggdGhpcywgIm1hcmdpbkJvdHRvbSIgKSArDQoJCQkJc2Nyb2xsSW5mby5oZWlnaHQsDQoJCQlwb3NpdGlvbiA9ICQuZXh0ZW5kKCB7fSwgYmFzZVBvc2l0aW9uICksDQoJCQlteU9mZnNldCA9IGdldE9mZnNldHMoIG9mZnNldHMubXksIGVsZW0ub3V0ZXJXaWR0aCgpLCBlbGVtLm91dGVySGVpZ2h0KCkgKTsNCg0KCQlpZiAoIG9wdGlvbnMubXlbIDAgXSA9PT0gInJpZ2h0IiApIHsNCgkJCXBvc2l0aW9uLmxlZnQgLT0gZWxlbVdpZHRoOw0KCQl9IGVsc2UgaWYgKCBvcHRpb25zLm15WyAwIF0gPT09ICJjZW50ZXIiICkgew0KCQkJcG9zaXRpb24ubGVmdCAtPSBlbGVtV2lkdGggLyAyOw0KCQl9DQoNCgkJaWYgKCBvcHRpb25zLm15WyAxIF0gPT09ICJib3R0b20iICkgew0KCQkJcG9zaXRpb24udG9wIC09IGVsZW1IZWlnaHQ7DQoJCX0gZWxzZSBpZiAoIG9wdGlvbnMubXlbIDEgXSA9PT0gImNlbnRlciIgKSB7DQoJCQlwb3NpdGlvbi50b3AgLT0gZWxlbUhlaWdodCAvIDI7DQoJCX0NCg0KCQlwb3NpdGlvbi5sZWZ0ICs9IG15T2Zmc2V0WyAwIF07DQoJCXBvc2l0aW9uLnRvcCArPSBteU9mZnNldFsgMSBdOw0KDQoJCWNvbGxpc2lvblBvc2l0aW9uID0gew0KCQkJbWFyZ2luTGVmdDogbWFyZ2luTGVmdCwNCgkJCW1hcmdpblRvcDogbWFyZ2luVG9wDQoJCX07DQoNCgkJJC5lYWNoKCBbICJsZWZ0IiwgInRvcCIgXSwgZnVuY3Rpb24oIGksIGRpciApIHsNCgkJCWlmICggJC51aS5wb3NpdGlvblsgY29sbGlzaW9uWyBpIF0gXSApIHsNCgkJCQkkLnVpLnBvc2l0aW9uWyBjb2xsaXNpb25bIGkgXSBdWyBkaXIgXSggcG9zaXRpb24sIHsNCgkJCQkJdGFyZ2V0V2lkdGg6IHRhcmdldFdpZHRoLA0KCQkJCQl0YXJnZXRIZWlnaHQ6IHRhcmdldEhlaWdodCwNCgkJCQkJZWxlbVdpZHRoOiBlbGVtV2lkdGgsDQoJCQkJCWVsZW1IZWlnaHQ6IGVsZW1IZWlnaHQsDQoJCQkJCWNvbGxpc2lvblBvc2l0aW9uOiBjb2xsaXNpb25Qb3NpdGlvbiwNCgkJCQkJY29sbGlzaW9uV2lkdGg6IGNvbGxpc2lvbldpZHRoLA0KCQkJCQljb2xsaXNpb25IZWlnaHQ6IGNvbGxpc2lvbkhlaWdodCwNCgkJCQkJb2Zmc2V0OiBbIGF0T2Zmc2V0WyAwIF0gKyBteU9mZnNldFsgMCBdLCBhdE9mZnNldCBbIDEgXSArIG15T2Zmc2V0WyAxIF0gXSwNCgkJCQkJbXk6IG9wdGlvbnMubXksDQoJCQkJCWF0OiBvcHRpb25zLmF0LA0KCQkJCQl3aXRoaW46IHdpdGhpbiwNCgkJCQkJZWxlbTogZWxlbQ0KCQkJCX0gKTsNCgkJCX0NCgkJfSApOw0KDQoJCWlmICggb3B0aW9ucy51c2luZyApIHsNCg0KCQkJLy8gQWRkcyBmZWVkYmFjayBhcyBzZWNvbmQgYXJndW1lbnQgdG8gdXNpbmcgY2FsbGJhY2ssIGlmIHByZXNlbnQNCgkJCXVzaW5nID0gZnVuY3Rpb24oIHByb3BzICkgew0KCQkJCXZhciBsZWZ0ID0gdGFyZ2V0T2Zmc2V0LmxlZnQgLSBwb3NpdGlvbi5sZWZ0LA0KCQkJCQlyaWdodCA9IGxlZnQgKyB0YXJnZXRXaWR0aCAtIGVsZW1XaWR0aCwNCgkJCQkJdG9wID0gdGFyZ2V0T2Zmc2V0LnRvcCAtIHBvc2l0aW9uLnRvcCwNCgkJCQkJYm90dG9tID0gdG9wICsgdGFyZ2V0SGVpZ2h0IC0gZWxlbUhlaWdodCwNCgkJCQkJZmVlZGJhY2sgPSB7DQoJCQkJCQl0YXJnZXQ6IHsNCgkJCQkJCQllbGVtZW50OiB0YXJnZXQsDQoJCQkJCQkJbGVmdDogdGFyZ2V0T2Zmc2V0LmxlZnQsDQoJCQkJCQkJdG9wOiB0YXJnZXRPZmZzZXQudG9wLA0KCQkJCQkJCXdpZHRoOiB0YXJnZXRXaWR0aCwNCgkJCQkJCQloZWlnaHQ6IHRhcmdldEhlaWdodA0KCQkJCQkJfSwNCgkJCQkJCWVsZW1lbnQ6IHsNCgkJCQkJCQllbGVtZW50OiBlbGVtLA0KCQkJCQkJCWxlZnQ6IHBvc2l0aW9uLmxlZnQsDQoJCQkJCQkJdG9wOiBwb3NpdGlvbi50b3AsDQoJCQkJCQkJd2lkdGg6IGVsZW1XaWR0aCwNCgkJCQkJCQloZWlnaHQ6IGVsZW1IZWlnaHQNCgkJCQkJCX0sDQoJCQkJCQlob3Jpem9udGFsOiByaWdodCA8IDAgPyAibGVmdCIgOiBsZWZ0ID4gMCA/ICJyaWdodCIgOiAiY2VudGVyIiwNCgkJCQkJCXZlcnRpY2FsOiBib3R0b20gPCAwID8gInRvcCIgOiB0b3AgPiAwID8gImJvdHRvbSIgOiAibWlkZGxlIg0KCQkJCQl9Ow0KCQkJCWlmICggdGFyZ2V0V2lkdGggPCBlbGVtV2lkdGggJiYgYWJzKCBsZWZ0ICsgcmlnaHQgKSA8IHRhcmdldFdpZHRoICkgew0KCQkJCQlmZWVkYmFjay5ob3Jpem9udGFsID0gImNlbnRlciI7DQoJCQkJfQ0KCQkJCWlmICggdGFyZ2V0SGVpZ2h0IDwgZWxlbUhlaWdodCAmJiBhYnMoIHRvcCArIGJvdHRvbSApIDwgdGFyZ2V0SGVpZ2h0ICkgew0KCQkJCQlmZWVkYmFjay52ZXJ0aWNhbCA9ICJtaWRkbGUiOw0KCQkJCX0NCgkJCQlpZiAoIG1heCggYWJzKCBsZWZ0ICksIGFicyggcmlnaHQgKSApID4gbWF4KCBhYnMoIHRvcCApLCBhYnMoIGJvdHRvbSApICkgKSB7DQoJCQkJCWZlZWRiYWNrLmltcG9ydGFudCA9ICJob3Jpem9udGFsIjsNCgkJCQl9IGVsc2Ugew0KCQkJCQlmZWVkYmFjay5pbXBvcnRhbnQgPSAidmVydGljYWwiOw0KCQkJCX0NCgkJCQlvcHRpb25zLnVzaW5nLmNhbGwoIHRoaXMsIHByb3BzLCBmZWVkYmFjayApOw0KCQkJfTsNCgkJfQ0KDQoJCWVsZW0ub2Zmc2V0KCAkLmV4dGVuZCggcG9zaXRpb24sIHsgdXNpbmc6IHVzaW5nIH0gKSApOw0KCX0gKTsNCn07DQoNCiQudWkucG9zaXRpb24gPSB7DQoJZml0OiB7DQoJCWxlZnQ6IGZ1bmN0aW9uKCBwb3NpdGlvbiwgZGF0YSApIHsNCgkJCXZhciB3aXRoaW4gPSBkYXRhLndpdGhpbiwNCgkJCQl3aXRoaW5PZmZzZXQgPSB3aXRoaW4uaXNXaW5kb3cgPyB3aXRoaW4uc2Nyb2xsTGVmdCA6IHdpdGhpbi5vZmZzZXQubGVmdCwNCgkJCQlvdXRlcldpZHRoID0gd2l0aGluLndpZHRoLA0KCQkJCWNvbGxpc2lvblBvc0xlZnQgPSBwb3NpdGlvbi5sZWZ0IC0gZGF0YS5jb2xsaXNpb25Qb3NpdGlvbi5tYXJnaW5MZWZ0LA0KCQkJCW92ZXJMZWZ0ID0gd2l0aGluT2Zmc2V0IC0gY29sbGlzaW9uUG9zTGVmdCwNCgkJCQlvdmVyUmlnaHQgPSBjb2xsaXNpb25Qb3NMZWZ0ICsgZGF0YS5jb2xsaXNpb25XaWR0aCAtIG91dGVyV2lkdGggLSB3aXRoaW5PZmZzZXQsDQoJCQkJbmV3T3ZlclJpZ2h0Ow0KDQoJCQkvLyBFbGVtZW50IGlzIHdpZGVyIHRoYW4gd2l0aGluDQoJCQlpZiAoIGRhdGEuY29sbGlzaW9uV2lkdGggPiBvdXRlcldpZHRoICkgew0KDQoJCQkJLy8gRWxlbWVudCBpcyBpbml0aWFsbHkgb3ZlciB0aGUgbGVmdCBzaWRlIG9mIHdpdGhpbg0KCQkJCWlmICggb3ZlckxlZnQgPiAwICYmIG92ZXJSaWdodCA8PSAwICkgew0KCQkJCQluZXdPdmVyUmlnaHQgPSBwb3NpdGlvbi5sZWZ0ICsgb3ZlckxlZnQgKyBkYXRhLmNvbGxpc2lvbldpZHRoIC0gb3V0ZXJXaWR0aCAtDQoJCQkJCQl3aXRoaW5PZmZzZXQ7DQoJCQkJCXBvc2l0aW9uLmxlZnQgKz0gb3ZlckxlZnQgLSBuZXdPdmVyUmlnaHQ7DQoNCgkJCQkvLyBFbGVtZW50IGlzIGluaXRpYWxseSBvdmVyIHJpZ2h0IHNpZGUgb2Ygd2l0aGluDQoJCQkJfSBlbHNlIGlmICggb3ZlclJpZ2h0ID4gMCAmJiBvdmVyTGVmdCA8PSAwICkgew0KCQkJCQlwb3NpdGlvbi5sZWZ0ID0gd2l0aGluT2Zmc2V0Ow0KDQoJCQkJLy8gRWxlbWVudCBpcyBpbml0aWFsbHkgb3ZlciBib3RoIGxlZnQgYW5kIHJpZ2h0IHNpZGVzIG9mIHdpdGhpbg0KCQkJCX0gZWxzZSB7DQoJCQkJCWlmICggb3ZlckxlZnQgPiBvdmVyUmlnaHQgKSB7DQoJCQkJCQlwb3NpdGlvbi5sZWZ0ID0gd2l0aGluT2Zmc2V0ICsgb3V0ZXJXaWR0aCAtIGRhdGEuY29sbGlzaW9uV2lkdGg7DQoJCQkJCX0gZWxzZSB7DQoJCQkJCQlwb3NpdGlvbi5sZWZ0ID0gd2l0aGluT2Zmc2V0Ow0KCQkJCQl9DQoJCQkJfQ0KDQoJCQkvLyBUb28gZmFyIGxlZnQgLT4gYWxpZ24gd2l0aCBsZWZ0IGVkZ2UNCgkJCX0gZWxzZSBpZiAoIG92ZXJMZWZ0ID4gMCApIHsNCgkJCQlwb3NpdGlvbi5sZWZ0ICs9IG92ZXJMZWZ0Ow0KDQoJCQkvLyBUb28gZmFyIHJpZ2h0IC0+IGFsaWduIHdpdGggcmlnaHQgZWRnZQ0KCQkJfSBlbHNlIGlmICggb3ZlclJpZ2h0ID4gMCApIHsNCgkJCQlwb3NpdGlvbi5sZWZ0IC09IG92ZXJSaWdodDsNCg0KCQkJLy8gQWRqdXN0IGJhc2VkIG9uIHBvc2l0aW9uIGFuZCBtYXJnaW4NCgkJCX0gZWxzZSB7DQoJCQkJcG9zaXRpb24ubGVmdCA9IG1heCggcG9zaXRpb24ubGVmdCAtIGNvbGxpc2lvblBvc0xlZnQsIHBvc2l0aW9uLmxlZnQgKTsNCgkJCX0NCgkJfSwNCgkJdG9wOiBmdW5jdGlvbiggcG9zaXRpb24sIGRhdGEgKSB7DQoJCQl2YXIgd2l0aGluID0gZGF0YS53aXRoaW4sDQoJCQkJd2l0aGluT2Zmc2V0ID0gd2l0aGluLmlzV2luZG93ID8gd2l0aGluLnNjcm9sbFRvcCA6IHdpdGhpbi5vZmZzZXQudG9wLA0KCQkJCW91dGVySGVpZ2h0ID0gZGF0YS53aXRoaW4uaGVpZ2h0LA0KCQkJCWNvbGxpc2lvblBvc1RvcCA9IHBvc2l0aW9uLnRvcCAtIGRhdGEuY29sbGlzaW9uUG9zaXRpb24ubWFyZ2luVG9wLA0KCQkJCW92ZXJUb3AgPSB3aXRoaW5PZmZzZXQgLSBjb2xsaXNpb25Qb3NUb3AsDQoJCQkJb3ZlckJvdHRvbSA9IGNvbGxpc2lvblBvc1RvcCArIGRhdGEuY29sbGlzaW9uSGVpZ2h0IC0gb3V0ZXJIZWlnaHQgLSB3aXRoaW5PZmZzZXQsDQoJCQkJbmV3T3ZlckJvdHRvbTsNCg0KCQkJLy8gRWxlbWVudCBpcyB0YWxsZXIgdGhhbiB3aXRoaW4NCgkJCWlmICggZGF0YS5jb2xsaXNpb25IZWlnaHQgPiBvdXRlckhlaWdodCApIHsNCg0KCQkJCS8vIEVsZW1lbnQgaXMgaW5pdGlhbGx5IG92ZXIgdGhlIHRvcCBvZiB3aXRoaW4NCgkJCQlpZiAoIG92ZXJUb3AgPiAwICYmIG92ZXJCb3R0b20gPD0gMCApIHsNCgkJCQkJbmV3T3ZlckJvdHRvbSA9IHBvc2l0aW9uLnRvcCArIG92ZXJUb3AgKyBkYXRhLmNvbGxpc2lvbkhlaWdodCAtIG91dGVySGVpZ2h0IC0NCgkJCQkJCXdpdGhpbk9mZnNldDsNCgkJCQkJcG9zaXRpb24udG9wICs9IG92ZXJUb3AgLSBuZXdPdmVyQm90dG9tOw0KDQoJCQkJLy8gRWxlbWVudCBpcyBpbml0aWFsbHkgb3ZlciBib3R0b20gb2Ygd2l0aGluDQoJCQkJfSBlbHNlIGlmICggb3ZlckJvdHRvbSA+IDAgJiYgb3ZlclRvcCA8PSAwICkgew0KCQkJCQlwb3NpdGlvbi50b3AgPSB3aXRoaW5PZmZzZXQ7DQoNCgkJCQkvLyBFbGVtZW50IGlzIGluaXRpYWxseSBvdmVyIGJvdGggdG9wIGFuZCBib3R0b20gb2Ygd2l0aGluDQoJCQkJfSBlbHNlIHsNCgkJCQkJaWYgKCBvdmVyVG9wID4gb3ZlckJvdHRvbSApIHsNCgkJCQkJCXBvc2l0aW9uLnRvcCA9IHdpdGhpbk9mZnNldCArIG91dGVySGVpZ2h0IC0gZGF0YS5jb2xsaXNpb25IZWlnaHQ7DQoJCQkJCX0gZWxzZSB7DQoJCQkJCQlwb3NpdGlvbi50b3AgPSB3aXRoaW5PZmZzZXQ7DQoJCQkJCX0NCgkJCQl9DQoNCgkJCS8vIFRvbyBmYXIgdXAgLT4gYWxpZ24gd2l0aCB0b3ANCgkJCX0gZWxzZSBpZiAoIG92ZXJUb3AgPiAwICkgew0KCQkJCXBvc2l0aW9uLnRvcCArPSBvdmVyVG9wOw0KDQoJCQkvLyBUb28gZmFyIGRvd24gLT4gYWxpZ24gd2l0aCBib3R0b20gZWRnZQ0KCQkJfSBlbHNlIGlmICggb3ZlckJvdHRvbSA+IDAgKSB7DQoJCQkJcG9zaXRpb24udG9wIC09IG92ZXJCb3R0b207DQoNCgkJCS8vIEFkanVzdCBiYXNlZCBvbiBwb3NpdGlvbiBhbmQgbWFyZ2luDQoJCQl9IGVsc2Ugew0KCQkJCXBvc2l0aW9uLnRvcCA9IG1heCggcG9zaXRpb24udG9wIC0gY29sbGlzaW9uUG9zVG9wLCBwb3NpdGlvbi50b3AgKTsNCgkJCX0NCgkJfQ0KCX0sDQoJZmxpcDogew0KCQlsZWZ0OiBmdW5jdGlvbiggcG9zaXRpb24sIGRhdGEgKSB7DQoJCQl2YXIgd2l0aGluID0gZGF0YS53aXRoaW4sDQoJCQkJd2l0aGluT2Zmc2V0ID0gd2l0aGluLm9mZnNldC5sZWZ0ICsgd2l0aGluLnNjcm9sbExlZnQsDQoJCQkJb3V0ZXJXaWR0aCA9IHdpdGhpbi53aWR0aCwNCgkJCQlvZmZzZXRMZWZ0ID0gd2l0aGluLmlzV2luZG93ID8gd2l0aGluLnNjcm9sbExlZnQgOiB3aXRoaW4ub2Zmc2V0LmxlZnQsDQoJCQkJY29sbGlzaW9uUG9zTGVmdCA9IHBvc2l0aW9uLmxlZnQgLSBkYXRhLmNvbGxpc2lvblBvc2l0aW9uLm1hcmdpbkxlZnQsDQoJCQkJb3ZlckxlZnQgPSBjb2xsaXNpb25Qb3NMZWZ0IC0gb2Zmc2V0TGVmdCwNCgkJCQlvdmVyUmlnaHQgPSBjb2xsaXNpb25Qb3NMZWZ0ICsgZGF0YS5jb2xsaXNpb25XaWR0aCAtIG91dGVyV2lkdGggLSBvZmZzZXRMZWZ0LA0KCQkJCW15T2Zmc2V0ID0gZGF0YS5teVsgMCBdID09PSAibGVmdCIgPw0KCQkJCQktZGF0YS5lbGVtV2lkdGggOg0KCQkJCQlkYXRhLm15WyAwIF0gPT09ICJyaWdodCIgPw0KCQkJCQkJZGF0YS5lbGVtV2lkdGggOg0KCQkJCQkJMCwNCgkJCQlhdE9mZnNldCA9IGRhdGEuYXRbIDAgXSA9PT0gImxlZnQiID8NCgkJCQkJZGF0YS50YXJnZXRXaWR0aCA6DQoJCQkJCWRhdGEuYXRbIDAgXSA9PT0gInJpZ2h0IiA/DQoJCQkJCQktZGF0YS50YXJnZXRXaWR0aCA6DQoJCQkJCQkwLA0KCQkJCW9mZnNldCA9IC0yICogZGF0YS5vZmZzZXRbIDAgXSwNCgkJCQluZXdPdmVyUmlnaHQsDQoJCQkJbmV3T3ZlckxlZnQ7DQoNCgkJCWlmICggb3ZlckxlZnQgPCAwICkgew0KCQkJCW5ld092ZXJSaWdodCA9IHBvc2l0aW9uLmxlZnQgKyBteU9mZnNldCArIGF0T2Zmc2V0ICsgb2Zmc2V0ICsgZGF0YS5jb2xsaXNpb25XaWR0aCAtDQoJCQkJCW91dGVyV2lkdGggLSB3aXRoaW5PZmZzZXQ7DQoJCQkJaWYgKCBuZXdPdmVyUmlnaHQgPCAwIHx8IG5ld092ZXJSaWdodCA8IGFicyggb3ZlckxlZnQgKSApIHsNCgkJCQkJcG9zaXRpb24ubGVmdCArPSBteU9mZnNldCArIGF0T2Zmc2V0ICsgb2Zmc2V0Ow0KCQkJCX0NCgkJCX0gZWxzZSBpZiAoIG92ZXJSaWdodCA+IDAgKSB7DQoJCQkJbmV3T3ZlckxlZnQgPSBwb3NpdGlvbi5sZWZ0IC0gZGF0YS5jb2xsaXNpb25Qb3NpdGlvbi5tYXJnaW5MZWZ0ICsgbXlPZmZzZXQgKw0KCQkJCQlhdE9mZnNldCArIG9mZnNldCAtIG9mZnNldExlZnQ7DQoJCQkJaWYgKCBuZXdPdmVyTGVmdCA+IDAgfHwgYWJzKCBuZXdPdmVyTGVmdCApIDwgb3ZlclJpZ2h0ICkgew0KCQkJCQlwb3NpdGlvbi5sZWZ0ICs9IG15T2Zmc2V0ICsgYXRPZmZzZXQgKyBvZmZzZXQ7DQoJCQkJfQ0KCQkJfQ0KCQl9LA0KCQl0b3A6IGZ1bmN0aW9uKCBwb3NpdGlvbiwgZGF0YSApIHsNCgkJCXZhciB3aXRoaW4gPSBkYXRhLndpdGhpbiwNCgkJCQl3aXRoaW5PZmZzZXQgPSB3aXRoaW4ub2Zmc2V0LnRvcCArIHdpdGhpbi5zY3JvbGxUb3AsDQoJCQkJb3V0ZXJIZWlnaHQgPSB3aXRoaW4uaGVpZ2h0LA0KCQkJCW9mZnNldFRvcCA9IHdpdGhpbi5pc1dpbmRvdyA/IHdpdGhpbi5zY3JvbGxUb3AgOiB3aXRoaW4ub2Zmc2V0LnRvcCwNCgkJCQljb2xsaXNpb25Qb3NUb3AgPSBwb3NpdGlvbi50b3AgLSBkYXRhLmNvbGxpc2lvblBvc2l0aW9uLm1hcmdpblRvcCwNCgkJCQlvdmVyVG9wID0gY29sbGlzaW9uUG9zVG9wIC0gb2Zmc2V0VG9wLA0KCQkJCW92ZXJCb3R0b20gPSBjb2xsaXNpb25Qb3NUb3AgKyBkYXRhLmNvbGxpc2lvbkhlaWdodCAtIG91dGVySGVpZ2h0IC0gb2Zmc2V0VG9wLA0KCQkJCXRvcCA9IGRhdGEubXlbIDEgXSA9PT0gInRvcCIsDQoJCQkJbXlPZmZzZXQgPSB0b3AgPw0KCQkJCQktZGF0YS5lbGVtSGVpZ2h0IDoNCgkJCQkJZGF0YS5teVsgMSBdID09PSAiYm90dG9tIiA/DQoJCQkJCQlkYXRhLmVsZW1IZWlnaHQgOg0KCQkJCQkJMCwNCgkJCQlhdE9mZnNldCA9IGRhdGEuYXRbIDEgXSA9PT0gInRvcCIgPw0KCQkJCQlkYXRhLnRhcmdldEhlaWdodCA6DQoJCQkJCWRhdGEuYXRbIDEgXSA9PT0gImJvdHRvbSIgPw0KCQkJCQkJLWRhdGEudGFyZ2V0SGVpZ2h0IDoNCgkJCQkJCTAsDQoJCQkJb2Zmc2V0ID0gLTIgKiBkYXRhLm9mZnNldFsgMSBdLA0KCQkJCW5ld092ZXJUb3AsDQoJCQkJbmV3T3ZlckJvdHRvbTsNCgkJCWlmICggb3ZlclRvcCA8IDAgKSB7DQoJCQkJbmV3T3ZlckJvdHRvbSA9IHBvc2l0aW9uLnRvcCArIG15T2Zmc2V0ICsgYXRPZmZzZXQgKyBvZmZzZXQgKyBkYXRhLmNvbGxpc2lvbkhlaWdodCAtDQoJCQkJCW91dGVySGVpZ2h0IC0gd2l0aGluT2Zmc2V0Ow0KCQkJCWlmICggbmV3T3ZlckJvdHRvbSA8IDAgfHwgbmV3T3ZlckJvdHRvbSA8IGFicyggb3ZlclRvcCApICkgew0KCQkJCQlwb3NpdGlvbi50b3AgKz0gbXlPZmZzZXQgKyBhdE9mZnNldCArIG9mZnNldDsNCgkJCQl9DQoJCQl9IGVsc2UgaWYgKCBvdmVyQm90dG9tID4gMCApIHsNCgkJCQluZXdPdmVyVG9wID0gcG9zaXRpb24udG9wIC0gZGF0YS5jb2xsaXNpb25Qb3NpdGlvbi5tYXJnaW5Ub3AgKyBteU9mZnNldCArIGF0T2Zmc2V0ICsNCgkJCQkJb2Zmc2V0IC0gb2Zmc2V0VG9wOw0KCQkJCWlmICggbmV3T3ZlclRvcCA+IDAgfHwgYWJzKCBuZXdPdmVyVG9wICkgPCBvdmVyQm90dG9tICkgew0KCQkJCQlwb3NpdGlvbi50b3AgKz0gbXlPZmZzZXQgKyBhdE9mZnNldCArIG9mZnNldDsNCgkJCQl9DQoJCQl9DQoJCX0NCgl9LA0KCWZsaXBmaXQ6IHsNCgkJbGVmdDogZnVuY3Rpb24oKSB7DQoJCQkkLnVpLnBvc2l0aW9uLmZsaXAubGVmdC5hcHBseSggdGhpcywgYXJndW1lbnRzICk7DQoJCQkkLnVpLnBvc2l0aW9uLmZpdC5sZWZ0LmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKTsNCgkJfSwNCgkJdG9wOiBmdW5jdGlvbigpIHsNCgkJCSQudWkucG9zaXRpb24uZmxpcC50b3AuYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApOw0KCQkJJC51aS5wb3NpdGlvbi5maXQudG9wLmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKTsNCgkJfQ0KCX0NCn07DQoNCn0gKSgpOw0KDQp2YXIgcG9zaXRpb24gPSAkLnVpLnBvc2l0aW9uOw0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIDpkYXRhIDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKi8NCg0KLy8+PmxhYmVsOiA6ZGF0YSBTZWxlY3Rvcg0KLy8+Pmdyb3VwOiBDb3JlDQovLz4+ZGVzY3JpcHRpb246IFNlbGVjdHMgZWxlbWVudHMgd2hpY2ggaGF2ZSBkYXRhIHN0b3JlZCB1bmRlciB0aGUgc3BlY2lmaWVkIGtleS4NCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9kYXRhLXNlbGVjdG9yLw0KDQoNCnZhciBkYXRhID0gJC5leHRlbmQoICQuZXhwclsgIjoiIF0sIHsNCglkYXRhOiAkLmV4cHIuY3JlYXRlUHNldWRvID8NCgkJJC5leHByLmNyZWF0ZVBzZXVkbyggZnVuY3Rpb24oIGRhdGFOYW1lICkgew0KCQkJcmV0dXJuIGZ1bmN0aW9uKCBlbGVtICkgew0KCQkJCXJldHVybiAhISQuZGF0YSggZWxlbSwgZGF0YU5hbWUgKTsNCgkJCX07DQoJCX0gKSA6DQoNCgkJLy8gU3VwcG9ydDogalF1ZXJ5IDwxLjgNCgkJZnVuY3Rpb24oIGVsZW0sIGksIG1hdGNoICkgew0KCQkJcmV0dXJuICEhJC5kYXRhKCBlbGVtLCBtYXRjaFsgMyBdICk7DQoJCX0NCn0gKTsNCg0KLyohDQogKiBqUXVlcnkgVUkgRGlzYWJsZSBTZWxlY3Rpb24gMS4xMi4xDQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqLw0KDQovLz4+bGFiZWw6IGRpc2FibGVTZWxlY3Rpb24NCi8vPj5ncm91cDogQ29yZQ0KLy8+PmRlc2NyaXB0aW9uOiBEaXNhYmxlIHNlbGVjdGlvbiBvZiB0ZXh0IGNvbnRlbnQgd2l0aGluIHRoZSBzZXQgb2YgbWF0Y2hlZCBlbGVtZW50cy4NCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9kaXNhYmxlU2VsZWN0aW9uLw0KDQovLyBUaGlzIGZpbGUgaXMgZGVwcmVjYXRlZA0KDQoNCnZhciBkaXNhYmxlU2VsZWN0aW9uID0gJC5mbi5leHRlbmQoIHsNCglkaXNhYmxlU2VsZWN0aW9uOiAoIGZ1bmN0aW9uKCkgew0KCQl2YXIgZXZlbnRUeXBlID0gIm9uc2VsZWN0c3RhcnQiIGluIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoICJkaXYiICkgPw0KCQkJInNlbGVjdHN0YXJ0IiA6DQoJCQkibW91c2Vkb3duIjsNCg0KCQlyZXR1cm4gZnVuY3Rpb24oKSB7DQoJCQlyZXR1cm4gdGhpcy5vbiggZXZlbnRUeXBlICsgIi51aS1kaXNhYmxlU2VsZWN0aW9uIiwgZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCQl9ICk7DQoJCX07DQoJfSApKCksDQoNCgllbmFibGVTZWxlY3Rpb246IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gdGhpcy5vZmYoICIudWktZGlzYWJsZVNlbGVjdGlvbiIgKTsNCgl9DQp9ICk7DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgRWZmZWN0cyAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogRWZmZWN0cyBDb3JlDQovLz4+Z3JvdXA6IEVmZmVjdHMNCi8vIGpzY3M6ZGlzYWJsZSBtYXhpbXVtTGluZUxlbmd0aA0KLy8+PmRlc2NyaXB0aW9uOiBFeHRlbmRzIHRoZSBpbnRlcm5hbCBqUXVlcnkgZWZmZWN0cy4gSW5jbHVkZXMgbW9ycGhpbmcgYW5kIGVhc2luZy4gUmVxdWlyZWQgYnkgYWxsIG90aGVyIGVmZmVjdHMuDQovLyBqc2NzOmVuYWJsZSBtYXhpbXVtTGluZUxlbmd0aA0KLy8+PmRvY3M6IGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL2NhdGVnb3J5L2VmZmVjdHMtY29yZS8NCi8vPj5kZW1vczogaHR0cDovL2pxdWVyeXVpLmNvbS9lZmZlY3QvDQoNCg0KDQp2YXIgZGF0YVNwYWNlID0gInVpLWVmZmVjdHMtIiwNCglkYXRhU3BhY2VTdHlsZSA9ICJ1aS1lZmZlY3RzLXN0eWxlIiwNCglkYXRhU3BhY2VBbmltYXRlZCA9ICJ1aS1lZmZlY3RzLWFuaW1hdGVkIiwNCg0KCS8vIENyZWF0ZSBhIGxvY2FsIGpRdWVyeSBiZWNhdXNlIGpRdWVyeSBDb2xvciByZWxpZXMgb24gaXQgYW5kIHRoZQ0KCS8vIGdsb2JhbCBtYXkgbm90IGV4aXN0IHdpdGggQU1EIGFuZCBhIGN1c3RvbSBidWlsZCAoIzEwMTk5KQ0KCWpRdWVyeSA9ICQ7DQoNCiQuZWZmZWN0cyA9IHsNCgllZmZlY3Q6IHt9DQp9Ow0KDQovKiENCiAqIGpRdWVyeSBDb2xvciBBbmltYXRpb25zIHYyLjEuMg0KICogaHR0cHM6Ly9naXRodWIuY29tL2pxdWVyeS9qcXVlcnktY29sb3INCiAqDQogKiBDb3B5cmlnaHQgMjAxNCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKg0KICogRGF0ZTogV2VkIEphbiAxNiAwODo0NzowOSAyMDEzIC0wNjAwDQogKi8NCiggZnVuY3Rpb24oIGpRdWVyeSwgdW5kZWZpbmVkICkgew0KDQoJdmFyIHN0ZXBIb29rcyA9ICJiYWNrZ3JvdW5kQ29sb3IgYm9yZGVyQm90dG9tQ29sb3IgYm9yZGVyTGVmdENvbG9yIGJvcmRlclJpZ2h0Q29sb3IgIiArDQoJCSJib3JkZXJUb3BDb2xvciBjb2xvciBjb2x1bW5SdWxlQ29sb3Igb3V0bGluZUNvbG9yIHRleHREZWNvcmF0aW9uQ29sb3IgdGV4dEVtcGhhc2lzQ29sb3IiLA0KDQoJLy8gUGx1c2VxdWFscyB0ZXN0IGZvciArPSAxMDAgLT0gMTAwDQoJcnBsdXNlcXVhbHMgPSAvXihbXC0rXSk9XHMqKFxkK1wuP1xkKikvLA0KDQoJLy8gQSBzZXQgb2YgUkUncyB0aGF0IGNhbiBtYXRjaCBzdHJpbmdzIGFuZCBnZW5lcmF0ZSBjb2xvciB0dXBsZXMuDQoJc3RyaW5nUGFyc2VycyA9IFsgew0KCQkJcmU6IC9yZ2JhP1woXHMqKFxkezEsM30pXHMqLFxzKihcZHsxLDN9KVxzKixccyooXGR7MSwzfSlccyooPzosXHMqKFxkPyg/OlwuXGQrKT8pXHMqKT9cKS8sDQoJCQlwYXJzZTogZnVuY3Rpb24oIGV4ZWNSZXN1bHQgKSB7DQoJCQkJcmV0dXJuIFsNCgkJCQkJZXhlY1Jlc3VsdFsgMSBdLA0KCQkJCQlleGVjUmVzdWx0WyAyIF0sDQoJCQkJCWV4ZWNSZXN1bHRbIDMgXSwNCgkJCQkJZXhlY1Jlc3VsdFsgNCBdDQoJCQkJXTsNCgkJCX0NCgkJfSwgew0KCQkJcmU6IC9yZ2JhP1woXHMqKFxkKyg/OlwuXGQrKT8pXCVccyosXHMqKFxkKyg/OlwuXGQrKT8pXCVccyosXHMqKFxkKyg/OlwuXGQrKT8pXCVccyooPzosXHMqKFxkPyg/OlwuXGQrKT8pXHMqKT9cKS8sDQoJCQlwYXJzZTogZnVuY3Rpb24oIGV4ZWNSZXN1bHQgKSB7DQoJCQkJcmV0dXJuIFsNCgkJCQkJZXhlY1Jlc3VsdFsgMSBdICogMi41NSwNCgkJCQkJZXhlY1Jlc3VsdFsgMiBdICogMi41NSwNCgkJCQkJZXhlY1Jlc3VsdFsgMyBdICogMi41NSwNCgkJCQkJZXhlY1Jlc3VsdFsgNCBdDQoJCQkJXTsNCgkJCX0NCgkJfSwgew0KDQoJCQkvLyBUaGlzIHJlZ2V4IGlnbm9yZXMgQS1GIGJlY2F1c2UgaXQncyBjb21wYXJlZCBhZ2FpbnN0IGFuIGFscmVhZHkgbG93ZXJjYXNlZCBzdHJpbmcNCgkJCXJlOiAvIyhbYS1mMC05XXsyfSkoW2EtZjAtOV17Mn0pKFthLWYwLTldezJ9KS8sDQoJCQlwYXJzZTogZnVuY3Rpb24oIGV4ZWNSZXN1bHQgKSB7DQoJCQkJcmV0dXJuIFsNCgkJCQkJcGFyc2VJbnQoIGV4ZWNSZXN1bHRbIDEgXSwgMTYgKSwNCgkJCQkJcGFyc2VJbnQoIGV4ZWNSZXN1bHRbIDIgXSwgMTYgKSwNCgkJCQkJcGFyc2VJbnQoIGV4ZWNSZXN1bHRbIDMgXSwgMTYgKQ0KCQkJCV07DQoJCQl9DQoJCX0sIHsNCg0KCQkJLy8gVGhpcyByZWdleCBpZ25vcmVzIEEtRiBiZWNhdXNlIGl0J3MgY29tcGFyZWQgYWdhaW5zdCBhbiBhbHJlYWR5IGxvd2VyY2FzZWQgc3RyaW5nDQoJCQlyZTogLyMoW2EtZjAtOV0pKFthLWYwLTldKShbYS1mMC05XSkvLA0KCQkJcGFyc2U6IGZ1bmN0aW9uKCBleGVjUmVzdWx0ICkgew0KCQkJCXJldHVybiBbDQoJCQkJCXBhcnNlSW50KCBleGVjUmVzdWx0WyAxIF0gKyBleGVjUmVzdWx0WyAxIF0sIDE2ICksDQoJCQkJCXBhcnNlSW50KCBleGVjUmVzdWx0WyAyIF0gKyBleGVjUmVzdWx0WyAyIF0sIDE2ICksDQoJCQkJCXBhcnNlSW50KCBleGVjUmVzdWx0WyAzIF0gKyBleGVjUmVzdWx0WyAzIF0sIDE2ICkNCgkJCQldOw0KCQkJfQ0KCQl9LCB7DQoJCQlyZTogL2hzbGE/XChccyooXGQrKD86XC5cZCspPylccyosXHMqKFxkKyg/OlwuXGQrKT8pXCVccyosXHMqKFxkKyg/OlwuXGQrKT8pXCVccyooPzosXHMqKFxkPyg/OlwuXGQrKT8pXHMqKT9cKS8sDQoJCQlzcGFjZTogImhzbGEiLA0KCQkJcGFyc2U6IGZ1bmN0aW9uKCBleGVjUmVzdWx0ICkgew0KCQkJCXJldHVybiBbDQoJCQkJCWV4ZWNSZXN1bHRbIDEgXSwNCgkJCQkJZXhlY1Jlc3VsdFsgMiBdIC8gMTAwLA0KCQkJCQlleGVjUmVzdWx0WyAzIF0gLyAxMDAsDQoJCQkJCWV4ZWNSZXN1bHRbIDQgXQ0KCQkJCV07DQoJCQl9DQoJCX0gXSwNCg0KCS8vIEpRdWVyeS5Db2xvciggKQ0KCWNvbG9yID0galF1ZXJ5LkNvbG9yID0gZnVuY3Rpb24oIGNvbG9yLCBncmVlbiwgYmx1ZSwgYWxwaGEgKSB7DQoJCXJldHVybiBuZXcgalF1ZXJ5LkNvbG9yLmZuLnBhcnNlKCBjb2xvciwgZ3JlZW4sIGJsdWUsIGFscGhhICk7DQoJfSwNCglzcGFjZXMgPSB7DQoJCXJnYmE6IHsNCgkJCXByb3BzOiB7DQoJCQkJcmVkOiB7DQoJCQkJCWlkeDogMCwNCgkJCQkJdHlwZTogImJ5dGUiDQoJCQkJfSwNCgkJCQlncmVlbjogew0KCQkJCQlpZHg6IDEsDQoJCQkJCXR5cGU6ICJieXRlIg0KCQkJCX0sDQoJCQkJYmx1ZTogew0KCQkJCQlpZHg6IDIsDQoJCQkJCXR5cGU6ICJieXRlIg0KCQkJCX0NCgkJCX0NCgkJfSwNCg0KCQloc2xhOiB7DQoJCQlwcm9wczogew0KCQkJCWh1ZTogew0KCQkJCQlpZHg6IDAsDQoJCQkJCXR5cGU6ICJkZWdyZWVzIg0KCQkJCX0sDQoJCQkJc2F0dXJhdGlvbjogew0KCQkJCQlpZHg6IDEsDQoJCQkJCXR5cGU6ICJwZXJjZW50Ig0KCQkJCX0sDQoJCQkJbGlnaHRuZXNzOiB7DQoJCQkJCWlkeDogMiwNCgkJCQkJdHlwZTogInBlcmNlbnQiDQoJCQkJfQ0KCQkJfQ0KCQl9DQoJfSwNCglwcm9wVHlwZXMgPSB7DQoJCSJieXRlIjogew0KCQkJZmxvb3I6IHRydWUsDQoJCQltYXg6IDI1NQ0KCQl9LA0KCQkicGVyY2VudCI6IHsNCgkJCW1heDogMQ0KCQl9LA0KCQkiZGVncmVlcyI6IHsNCgkJCW1vZDogMzYwLA0KCQkJZmxvb3I6IHRydWUNCgkJfQ0KCX0sDQoJc3VwcG9ydCA9IGNvbG9yLnN1cHBvcnQgPSB7fSwNCg0KCS8vIEVsZW1lbnQgZm9yIHN1cHBvcnQgdGVzdHMNCglzdXBwb3J0RWxlbSA9IGpRdWVyeSggIjxwPiIgKVsgMCBdLA0KDQoJLy8gQ29sb3JzID0galF1ZXJ5LkNvbG9yLm5hbWVzDQoJY29sb3JzLA0KDQoJLy8gTG9jYWwgYWxpYXNlcyBvZiBmdW5jdGlvbnMgY2FsbGVkIG9mdGVuDQoJZWFjaCA9IGpRdWVyeS5lYWNoOw0KDQovLyBEZXRlcm1pbmUgcmdiYSBzdXBwb3J0IGltbWVkaWF0ZWx5DQpzdXBwb3J0RWxlbS5zdHlsZS5jc3NUZXh0ID0gImJhY2tncm91bmQtY29sb3I6cmdiYSgxLDEsMSwuNSkiOw0Kc3VwcG9ydC5yZ2JhID0gc3VwcG9ydEVsZW0uc3R5bGUuYmFja2dyb3VuZENvbG9yLmluZGV4T2YoICJyZ2JhIiApID4gLTE7DQoNCi8vIERlZmluZSBjYWNoZSBuYW1lIGFuZCBhbHBoYSBwcm9wZXJ0aWVzDQovLyBmb3IgcmdiYSBhbmQgaHNsYSBzcGFjZXMNCmVhY2goIHNwYWNlcywgZnVuY3Rpb24oIHNwYWNlTmFtZSwgc3BhY2UgKSB7DQoJc3BhY2UuY2FjaGUgPSAiXyIgKyBzcGFjZU5hbWU7DQoJc3BhY2UucHJvcHMuYWxwaGEgPSB7DQoJCWlkeDogMywNCgkJdHlwZTogInBlcmNlbnQiLA0KCQlkZWY6IDENCgl9Ow0KfSApOw0KDQpmdW5jdGlvbiBjbGFtcCggdmFsdWUsIHByb3AsIGFsbG93RW1wdHkgKSB7DQoJdmFyIHR5cGUgPSBwcm9wVHlwZXNbIHByb3AudHlwZSBdIHx8IHt9Ow0KDQoJaWYgKCB2YWx1ZSA9PSBudWxsICkgew0KCQlyZXR1cm4gKCBhbGxvd0VtcHR5IHx8ICFwcm9wLmRlZiApID8gbnVsbCA6IHByb3AuZGVmOw0KCX0NCg0KCS8vIH5+IGlzIGFuIHNob3J0IHdheSBvZiBkb2luZyBmbG9vciBmb3IgcG9zaXRpdmUgbnVtYmVycw0KCXZhbHVlID0gdHlwZS5mbG9vciA/IH5+dmFsdWUgOiBwYXJzZUZsb2F0KCB2YWx1ZSApOw0KDQoJLy8gSUUgd2lsbCBwYXNzIGluIGVtcHR5IHN0cmluZ3MgYXMgdmFsdWUgZm9yIGFscGhhLA0KCS8vIHdoaWNoIHdpbGwgaGl0IHRoaXMgY2FzZQ0KCWlmICggaXNOYU4oIHZhbHVlICkgKSB7DQoJCXJldHVybiBwcm9wLmRlZjsNCgl9DQoNCglpZiAoIHR5cGUubW9kICkgew0KDQoJCS8vIFdlIGFkZCBtb2QgYmVmb3JlIG1vZGRpbmcgdG8gbWFrZSBzdXJlIHRoYXQgbmVnYXRpdmVzIHZhbHVlcw0KCQkvLyBnZXQgY29udmVydGVkIHByb3Blcmx5OiAtMTAgLT4gMzUwDQoJCXJldHVybiAoIHZhbHVlICsgdHlwZS5tb2QgKSAlIHR5cGUubW9kOw0KCX0NCg0KCS8vIEZvciBub3cgYWxsIHByb3BlcnR5IHR5cGVzIHdpdGhvdXQgbW9kIGhhdmUgbWluIGFuZCBtYXgNCglyZXR1cm4gMCA+IHZhbHVlID8gMCA6IHR5cGUubWF4IDwgdmFsdWUgPyB0eXBlLm1heCA6IHZhbHVlOw0KfQ0KDQpmdW5jdGlvbiBzdHJpbmdQYXJzZSggc3RyaW5nICkgew0KCXZhciBpbnN0ID0gY29sb3IoKSwNCgkJcmdiYSA9IGluc3QuX3JnYmEgPSBbXTsNCg0KCXN0cmluZyA9IHN0cmluZy50b0xvd2VyQ2FzZSgpOw0KDQoJZWFjaCggc3RyaW5nUGFyc2VycywgZnVuY3Rpb24oIGksIHBhcnNlciApIHsNCgkJdmFyIHBhcnNlZCwNCgkJCW1hdGNoID0gcGFyc2VyLnJlLmV4ZWMoIHN0cmluZyApLA0KCQkJdmFsdWVzID0gbWF0Y2ggJiYgcGFyc2VyLnBhcnNlKCBtYXRjaCApLA0KCQkJc3BhY2VOYW1lID0gcGFyc2VyLnNwYWNlIHx8ICJyZ2JhIjsNCg0KCQlpZiAoIHZhbHVlcyApIHsNCgkJCXBhcnNlZCA9IGluc3RbIHNwYWNlTmFtZSBdKCB2YWx1ZXMgKTsNCg0KCQkJLy8gSWYgdGhpcyB3YXMgYW4gcmdiYSBwYXJzZSB0aGUgYXNzaWdubWVudCBtaWdodCBoYXBwZW4gdHdpY2UNCgkJCS8vIG9oIHdlbGwuLi4uDQoJCQlpbnN0WyBzcGFjZXNbIHNwYWNlTmFtZSBdLmNhY2hlIF0gPSBwYXJzZWRbIHNwYWNlc1sgc3BhY2VOYW1lIF0uY2FjaGUgXTsNCgkJCXJnYmEgPSBpbnN0Ll9yZ2JhID0gcGFyc2VkLl9yZ2JhOw0KDQoJCQkvLyBFeGl0IGVhY2goIHN0cmluZ1BhcnNlcnMgKSBoZXJlIGJlY2F1c2Ugd2UgbWF0Y2hlZA0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoJfSApOw0KDQoJLy8gRm91bmQgYSBzdHJpbmdQYXJzZXIgdGhhdCBoYW5kbGVkIGl0DQoJaWYgKCByZ2JhLmxlbmd0aCApIHsNCg0KCQkvLyBJZiB0aGlzIGNhbWUgZnJvbSBhIHBhcnNlZCBzdHJpbmcsIGZvcmNlICJ0cmFuc3BhcmVudCIgd2hlbiBhbHBoYSBpcyAwDQoJCS8vIGNocm9tZSwgKGFuZCBtYXliZSBvdGhlcnMpIHJldHVybiAidHJhbnNwYXJlbnQiIGFzIHJnYmEoMCwwLDAsMCkNCgkJaWYgKCByZ2JhLmpvaW4oKSA9PT0gIjAsMCwwLDAiICkgew0KCQkJalF1ZXJ5LmV4dGVuZCggcmdiYSwgY29sb3JzLnRyYW5zcGFyZW50ICk7DQoJCX0NCgkJcmV0dXJuIGluc3Q7DQoJfQ0KDQoJLy8gTmFtZWQgY29sb3JzDQoJcmV0dXJuIGNvbG9yc1sgc3RyaW5nIF07DQp9DQoNCmNvbG9yLmZuID0galF1ZXJ5LmV4dGVuZCggY29sb3IucHJvdG90eXBlLCB7DQoJcGFyc2U6IGZ1bmN0aW9uKCByZWQsIGdyZWVuLCBibHVlLCBhbHBoYSApIHsNCgkJaWYgKCByZWQgPT09IHVuZGVmaW5lZCApIHsNCgkJCXRoaXMuX3JnYmEgPSBbIG51bGwsIG51bGwsIG51bGwsIG51bGwgXTsNCgkJCXJldHVybiB0aGlzOw0KCQl9DQoJCWlmICggcmVkLmpxdWVyeSB8fCByZWQubm9kZVR5cGUgKSB7DQoJCQlyZWQgPSBqUXVlcnkoIHJlZCApLmNzcyggZ3JlZW4gKTsNCgkJCWdyZWVuID0gdW5kZWZpbmVkOw0KCQl9DQoNCgkJdmFyIGluc3QgPSB0aGlzLA0KCQkJdHlwZSA9IGpRdWVyeS50eXBlKCByZWQgKSwNCgkJCXJnYmEgPSB0aGlzLl9yZ2JhID0gW107DQoNCgkJLy8gTW9yZSB0aGFuIDEgYXJndW1lbnQgc3BlY2lmaWVkIC0gYXNzdW1lICggcmVkLCBncmVlbiwgYmx1ZSwgYWxwaGEgKQ0KCQlpZiAoIGdyZWVuICE9PSB1bmRlZmluZWQgKSB7DQoJCQlyZWQgPSBbIHJlZCwgZ3JlZW4sIGJsdWUsIGFscGhhIF07DQoJCQl0eXBlID0gImFycmF5IjsNCgkJfQ0KDQoJCWlmICggdHlwZSA9PT0gInN0cmluZyIgKSB7DQoJCQlyZXR1cm4gdGhpcy5wYXJzZSggc3RyaW5nUGFyc2UoIHJlZCApIHx8IGNvbG9ycy5fZGVmYXVsdCApOw0KCQl9DQoNCgkJaWYgKCB0eXBlID09PSAiYXJyYXkiICkgew0KCQkJZWFjaCggc3BhY2VzLnJnYmEucHJvcHMsIGZ1bmN0aW9uKCBrZXksIHByb3AgKSB7DQoJCQkJcmdiYVsgcHJvcC5pZHggXSA9IGNsYW1wKCByZWRbIHByb3AuaWR4IF0sIHByb3AgKTsNCgkJCX0gKTsNCgkJCXJldHVybiB0aGlzOw0KCQl9DQoNCgkJaWYgKCB0eXBlID09PSAib2JqZWN0IiApIHsNCgkJCWlmICggcmVkIGluc3RhbmNlb2YgY29sb3IgKSB7DQoJCQkJZWFjaCggc3BhY2VzLCBmdW5jdGlvbiggc3BhY2VOYW1lLCBzcGFjZSApIHsNCgkJCQkJaWYgKCByZWRbIHNwYWNlLmNhY2hlIF0gKSB7DQoJCQkJCQlpbnN0WyBzcGFjZS5jYWNoZSBdID0gcmVkWyBzcGFjZS5jYWNoZSBdLnNsaWNlKCk7DQoJCQkJCX0NCgkJCQl9ICk7DQoJCQl9IGVsc2Ugew0KCQkJCWVhY2goIHNwYWNlcywgZnVuY3Rpb24oIHNwYWNlTmFtZSwgc3BhY2UgKSB7DQoJCQkJCXZhciBjYWNoZSA9IHNwYWNlLmNhY2hlOw0KCQkJCQllYWNoKCBzcGFjZS5wcm9wcywgZnVuY3Rpb24oIGtleSwgcHJvcCApIHsNCg0KCQkJCQkJLy8gSWYgdGhlIGNhY2hlIGRvZXNuJ3QgZXhpc3QsIGFuZCB3ZSBrbm93IGhvdyB0byBjb252ZXJ0DQoJCQkJCQlpZiAoICFpbnN0WyBjYWNoZSBdICYmIHNwYWNlLnRvICkgew0KDQoJCQkJCQkJLy8gSWYgdGhlIHZhbHVlIHdhcyBudWxsLCB3ZSBkb24ndCBuZWVkIHRvIGNvcHkgaXQNCgkJCQkJCQkvLyBpZiB0aGUga2V5IHdhcyBhbHBoYSwgd2UgZG9uJ3QgbmVlZCB0byBjb3B5IGl0IGVpdGhlcg0KCQkJCQkJCWlmICgga2V5ID09PSAiYWxwaGEiIHx8IHJlZFsga2V5IF0gPT0gbnVsbCApIHsNCgkJCQkJCQkJcmV0dXJuOw0KCQkJCQkJCX0NCgkJCQkJCQlpbnN0WyBjYWNoZSBdID0gc3BhY2UudG8oIGluc3QuX3JnYmEgKTsNCgkJCQkJCX0NCg0KCQkJCQkJLy8gVGhpcyBpcyB0aGUgb25seSBjYXNlIHdoZXJlIHdlIGFsbG93IG51bGxzIGZvciBBTEwgcHJvcGVydGllcy4NCgkJCQkJCS8vIGNhbGwgY2xhbXAgd2l0aCBhbHdheXNBbGxvd0VtcHR5DQoJCQkJCQlpbnN0WyBjYWNoZSBdWyBwcm9wLmlkeCBdID0gY2xhbXAoIHJlZFsga2V5IF0sIHByb3AsIHRydWUgKTsNCgkJCQkJfSApOw0KDQoJCQkJCS8vIEV2ZXJ5dGhpbmcgZGVmaW5lZCBidXQgYWxwaGE/DQoJCQkJCWlmICggaW5zdFsgY2FjaGUgXSAmJg0KCQkJCQkJCWpRdWVyeS5pbkFycmF5KCBudWxsLCBpbnN0WyBjYWNoZSBdLnNsaWNlKCAwLCAzICkgKSA8IDAgKSB7DQoNCgkJCQkJCS8vIFVzZSB0aGUgZGVmYXVsdCBvZiAxDQoJCQkJCQlpbnN0WyBjYWNoZSBdWyAzIF0gPSAxOw0KCQkJCQkJaWYgKCBzcGFjZS5mcm9tICkgew0KCQkJCQkJCWluc3QuX3JnYmEgPSBzcGFjZS5mcm9tKCBpbnN0WyBjYWNoZSBdICk7DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9ICk7DQoJCQl9DQoJCQlyZXR1cm4gdGhpczsNCgkJfQ0KCX0sDQoJaXM6IGZ1bmN0aW9uKCBjb21wYXJlICkgew0KCQl2YXIgaXMgPSBjb2xvciggY29tcGFyZSApLA0KCQkJc2FtZSA9IHRydWUsDQoJCQlpbnN0ID0gdGhpczsNCg0KCQllYWNoKCBzcGFjZXMsIGZ1bmN0aW9uKCBfLCBzcGFjZSApIHsNCgkJCXZhciBsb2NhbENhY2hlLA0KCQkJCWlzQ2FjaGUgPSBpc1sgc3BhY2UuY2FjaGUgXTsNCgkJCWlmICggaXNDYWNoZSApIHsNCgkJCQlsb2NhbENhY2hlID0gaW5zdFsgc3BhY2UuY2FjaGUgXSB8fCBzcGFjZS50byAmJiBzcGFjZS50byggaW5zdC5fcmdiYSApIHx8IFtdOw0KCQkJCWVhY2goIHNwYWNlLnByb3BzLCBmdW5jdGlvbiggXywgcHJvcCApIHsNCgkJCQkJaWYgKCBpc0NhY2hlWyBwcm9wLmlkeCBdICE9IG51bGwgKSB7DQoJCQkJCQlzYW1lID0gKCBpc0NhY2hlWyBwcm9wLmlkeCBdID09PSBsb2NhbENhY2hlWyBwcm9wLmlkeCBdICk7DQoJCQkJCQlyZXR1cm4gc2FtZTsNCgkJCQkJfQ0KCQkJCX0gKTsNCgkJCX0NCgkJCXJldHVybiBzYW1lOw0KCQl9ICk7DQoJCXJldHVybiBzYW1lOw0KCX0sDQoJX3NwYWNlOiBmdW5jdGlvbigpIHsNCgkJdmFyIHVzZWQgPSBbXSwNCgkJCWluc3QgPSB0aGlzOw0KCQllYWNoKCBzcGFjZXMsIGZ1bmN0aW9uKCBzcGFjZU5hbWUsIHNwYWNlICkgew0KCQkJaWYgKCBpbnN0WyBzcGFjZS5jYWNoZSBdICkgew0KCQkJCXVzZWQucHVzaCggc3BhY2VOYW1lICk7DQoJCQl9DQoJCX0gKTsNCgkJcmV0dXJuIHVzZWQucG9wKCk7DQoJfSwNCgl0cmFuc2l0aW9uOiBmdW5jdGlvbiggb3RoZXIsIGRpc3RhbmNlICkgew0KCQl2YXIgZW5kID0gY29sb3IoIG90aGVyICksDQoJCQlzcGFjZU5hbWUgPSBlbmQuX3NwYWNlKCksDQoJCQlzcGFjZSA9IHNwYWNlc1sgc3BhY2VOYW1lIF0sDQoJCQlzdGFydENvbG9yID0gdGhpcy5hbHBoYSgpID09PSAwID8gY29sb3IoICJ0cmFuc3BhcmVudCIgKSA6IHRoaXMsDQoJCQlzdGFydCA9IHN0YXJ0Q29sb3JbIHNwYWNlLmNhY2hlIF0gfHwgc3BhY2UudG8oIHN0YXJ0Q29sb3IuX3JnYmEgKSwNCgkJCXJlc3VsdCA9IHN0YXJ0LnNsaWNlKCk7DQoNCgkJZW5kID0gZW5kWyBzcGFjZS5jYWNoZSBdOw0KCQllYWNoKCBzcGFjZS5wcm9wcywgZnVuY3Rpb24oIGtleSwgcHJvcCApIHsNCgkJCXZhciBpbmRleCA9IHByb3AuaWR4LA0KCQkJCXN0YXJ0VmFsdWUgPSBzdGFydFsgaW5kZXggXSwNCgkJCQllbmRWYWx1ZSA9IGVuZFsgaW5kZXggXSwNCgkJCQl0eXBlID0gcHJvcFR5cGVzWyBwcm9wLnR5cGUgXSB8fCB7fTsNCg0KCQkJLy8gSWYgbnVsbCwgZG9uJ3Qgb3ZlcnJpZGUgc3RhcnQgdmFsdWUNCgkJCWlmICggZW5kVmFsdWUgPT09IG51bGwgKSB7DQoJCQkJcmV0dXJuOw0KCQkJfQ0KDQoJCQkvLyBJZiBudWxsIC0gdXNlIGVuZA0KCQkJaWYgKCBzdGFydFZhbHVlID09PSBudWxsICkgew0KCQkJCXJlc3VsdFsgaW5kZXggXSA9IGVuZFZhbHVlOw0KCQkJfSBlbHNlIHsNCgkJCQlpZiAoIHR5cGUubW9kICkgew0KCQkJCQlpZiAoIGVuZFZhbHVlIC0gc3RhcnRWYWx1ZSA+IHR5cGUubW9kIC8gMiApIHsNCgkJCQkJCXN0YXJ0VmFsdWUgKz0gdHlwZS5tb2Q7DQoJCQkJCX0gZWxzZSBpZiAoIHN0YXJ0VmFsdWUgLSBlbmRWYWx1ZSA+IHR5cGUubW9kIC8gMiApIHsNCgkJCQkJCXN0YXJ0VmFsdWUgLT0gdHlwZS5tb2Q7DQoJCQkJCX0NCgkJCQl9DQoJCQkJcmVzdWx0WyBpbmRleCBdID0gY2xhbXAoICggZW5kVmFsdWUgLSBzdGFydFZhbHVlICkgKiBkaXN0YW5jZSArIHN0YXJ0VmFsdWUsIHByb3AgKTsNCgkJCX0NCgkJfSApOw0KCQlyZXR1cm4gdGhpc1sgc3BhY2VOYW1lIF0oIHJlc3VsdCApOw0KCX0sDQoJYmxlbmQ6IGZ1bmN0aW9uKCBvcGFxdWUgKSB7DQoNCgkJLy8gSWYgd2UgYXJlIGFscmVhZHkgb3BhcXVlIC0gcmV0dXJuIG91cnNlbGYNCgkJaWYgKCB0aGlzLl9yZ2JhWyAzIF0gPT09IDEgKSB7DQoJCQlyZXR1cm4gdGhpczsNCgkJfQ0KDQoJCXZhciByZ2IgPSB0aGlzLl9yZ2JhLnNsaWNlKCksDQoJCQlhID0gcmdiLnBvcCgpLA0KCQkJYmxlbmQgPSBjb2xvciggb3BhcXVlICkuX3JnYmE7DQoNCgkJcmV0dXJuIGNvbG9yKCBqUXVlcnkubWFwKCByZ2IsIGZ1bmN0aW9uKCB2LCBpICkgew0KCQkJcmV0dXJuICggMSAtIGEgKSAqIGJsZW5kWyBpIF0gKyBhICogdjsNCgkJfSApICk7DQoJfSwNCgl0b1JnYmFTdHJpbmc6IGZ1bmN0aW9uKCkgew0KCQl2YXIgcHJlZml4ID0gInJnYmEoIiwNCgkJCXJnYmEgPSBqUXVlcnkubWFwKCB0aGlzLl9yZ2JhLCBmdW5jdGlvbiggdiwgaSApIHsNCgkJCQlyZXR1cm4gdiA9PSBudWxsID8gKCBpID4gMiA/IDEgOiAwICkgOiB2Ow0KCQkJfSApOw0KDQoJCWlmICggcmdiYVsgMyBdID09PSAxICkgew0KCQkJcmdiYS5wb3AoKTsNCgkJCXByZWZpeCA9ICJyZ2IoIjsNCgkJfQ0KDQoJCXJldHVybiBwcmVmaXggKyByZ2JhLmpvaW4oKSArICIpIjsNCgl9LA0KCXRvSHNsYVN0cmluZzogZnVuY3Rpb24oKSB7DQoJCXZhciBwcmVmaXggPSAiaHNsYSgiLA0KCQkJaHNsYSA9IGpRdWVyeS5tYXAoIHRoaXMuaHNsYSgpLCBmdW5jdGlvbiggdiwgaSApIHsNCgkJCQlpZiAoIHYgPT0gbnVsbCApIHsNCgkJCQkJdiA9IGkgPiAyID8gMSA6IDA7DQoJCQkJfQ0KDQoJCQkJLy8gQ2F0Y2ggMSBhbmQgMg0KCQkJCWlmICggaSAmJiBpIDwgMyApIHsNCgkJCQkJdiA9IE1hdGgucm91bmQoIHYgKiAxMDAgKSArICIlIjsNCgkJCQl9DQoJCQkJcmV0dXJuIHY7DQoJCQl9ICk7DQoNCgkJaWYgKCBoc2xhWyAzIF0gPT09IDEgKSB7DQoJCQloc2xhLnBvcCgpOw0KCQkJcHJlZml4ID0gImhzbCgiOw0KCQl9DQoJCXJldHVybiBwcmVmaXggKyBoc2xhLmpvaW4oKSArICIpIjsNCgl9LA0KCXRvSGV4U3RyaW5nOiBmdW5jdGlvbiggaW5jbHVkZUFscGhhICkgew0KCQl2YXIgcmdiYSA9IHRoaXMuX3JnYmEuc2xpY2UoKSwNCgkJCWFscGhhID0gcmdiYS5wb3AoKTsNCg0KCQlpZiAoIGluY2x1ZGVBbHBoYSApIHsNCgkJCXJnYmEucHVzaCggfn4oIGFscGhhICogMjU1ICkgKTsNCgkJfQ0KDQoJCXJldHVybiAiIyIgKyBqUXVlcnkubWFwKCByZ2JhLCBmdW5jdGlvbiggdiApIHsNCg0KCQkJLy8gRGVmYXVsdCB0byAwIHdoZW4gbnVsbHMgZXhpc3QNCgkJCXYgPSAoIHYgfHwgMCApLnRvU3RyaW5nKCAxNiApOw0KCQkJcmV0dXJuIHYubGVuZ3RoID09PSAxID8gIjAiICsgdiA6IHY7DQoJCX0gKS5qb2luKCAiIiApOw0KCX0sDQoJdG9TdHJpbmc6IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gdGhpcy5fcmdiYVsgMyBdID09PSAwID8gInRyYW5zcGFyZW50IiA6IHRoaXMudG9SZ2JhU3RyaW5nKCk7DQoJfQ0KfSApOw0KY29sb3IuZm4ucGFyc2UucHJvdG90eXBlID0gY29sb3IuZm47DQoNCi8vIEhzbGEgY29udmVyc2lvbnMgYWRhcHRlZCBmcm9tOg0KLy8gaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9tYWFzaGFhY2svc291cmNlL2Jyb3dzZS9wYWNrYWdlcy9ncmFwaGljcy90cnVuay9zcmMvZ3JhcGhpY3MvY29sb3JzL0hVRTJSR0IuYXM/cj01MDIxDQoNCmZ1bmN0aW9uIGh1ZTJyZ2IoIHAsIHEsIGggKSB7DQoJaCA9ICggaCArIDEgKSAlIDE7DQoJaWYgKCBoICogNiA8IDEgKSB7DQoJCXJldHVybiBwICsgKCBxIC0gcCApICogaCAqIDY7DQoJfQ0KCWlmICggaCAqIDIgPCAxICkgew0KCQlyZXR1cm4gcTsNCgl9DQoJaWYgKCBoICogMyA8IDIgKSB7DQoJCXJldHVybiBwICsgKCBxIC0gcCApICogKCAoIDIgLyAzICkgLSBoICkgKiA2Ow0KCX0NCglyZXR1cm4gcDsNCn0NCg0Kc3BhY2VzLmhzbGEudG8gPSBmdW5jdGlvbiggcmdiYSApIHsNCglpZiAoIHJnYmFbIDAgXSA9PSBudWxsIHx8IHJnYmFbIDEgXSA9PSBudWxsIHx8IHJnYmFbIDIgXSA9PSBudWxsICkgew0KCQlyZXR1cm4gWyBudWxsLCBudWxsLCBudWxsLCByZ2JhWyAzIF0gXTsNCgl9DQoJdmFyIHIgPSByZ2JhWyAwIF0gLyAyNTUsDQoJCWcgPSByZ2JhWyAxIF0gLyAyNTUsDQoJCWIgPSByZ2JhWyAyIF0gLyAyNTUsDQoJCWEgPSByZ2JhWyAzIF0sDQoJCW1heCA9IE1hdGgubWF4KCByLCBnLCBiICksDQoJCW1pbiA9IE1hdGgubWluKCByLCBnLCBiICksDQoJCWRpZmYgPSBtYXggLSBtaW4sDQoJCWFkZCA9IG1heCArIG1pbiwNCgkJbCA9IGFkZCAqIDAuNSwNCgkJaCwgczsNCg0KCWlmICggbWluID09PSBtYXggKSB7DQoJCWggPSAwOw0KCX0gZWxzZSBpZiAoIHIgPT09IG1heCApIHsNCgkJaCA9ICggNjAgKiAoIGcgLSBiICkgLyBkaWZmICkgKyAzNjA7DQoJfSBlbHNlIGlmICggZyA9PT0gbWF4ICkgew0KCQloID0gKCA2MCAqICggYiAtIHIgKSAvIGRpZmYgKSArIDEyMDsNCgl9IGVsc2Ugew0KCQloID0gKCA2MCAqICggciAtIGcgKSAvIGRpZmYgKSArIDI0MDsNCgl9DQoNCgkvLyBDaHJvbWEgKGRpZmYpID09IDAgbWVhbnMgZ3JleXNjYWxlIHdoaWNoLCBieSBkZWZpbml0aW9uLCBzYXR1cmF0aW9uID0gMCUNCgkvLyBvdGhlcndpc2UsIHNhdHVyYXRpb24gaXMgYmFzZWQgb24gdGhlIHJhdGlvIG9mIGNocm9tYSAoZGlmZikgdG8gbGlnaHRuZXNzIChhZGQpDQoJaWYgKCBkaWZmID09PSAwICkgew0KCQlzID0gMDsNCgl9IGVsc2UgaWYgKCBsIDw9IDAuNSApIHsNCgkJcyA9IGRpZmYgLyBhZGQ7DQoJfSBlbHNlIHsNCgkJcyA9IGRpZmYgLyAoIDIgLSBhZGQgKTsNCgl9DQoJcmV0dXJuIFsgTWF0aC5yb3VuZCggaCApICUgMzYwLCBzLCBsLCBhID09IG51bGwgPyAxIDogYSBdOw0KfTsNCg0Kc3BhY2VzLmhzbGEuZnJvbSA9IGZ1bmN0aW9uKCBoc2xhICkgew0KCWlmICggaHNsYVsgMCBdID09IG51bGwgfHwgaHNsYVsgMSBdID09IG51bGwgfHwgaHNsYVsgMiBdID09IG51bGwgKSB7DQoJCXJldHVybiBbIG51bGwsIG51bGwsIG51bGwsIGhzbGFbIDMgXSBdOw0KCX0NCgl2YXIgaCA9IGhzbGFbIDAgXSAvIDM2MCwNCgkJcyA9IGhzbGFbIDEgXSwNCgkJbCA9IGhzbGFbIDIgXSwNCgkJYSA9IGhzbGFbIDMgXSwNCgkJcSA9IGwgPD0gMC41ID8gbCAqICggMSArIHMgKSA6IGwgKyBzIC0gbCAqIHMsDQoJCXAgPSAyICogbCAtIHE7DQoNCglyZXR1cm4gWw0KCQlNYXRoLnJvdW5kKCBodWUycmdiKCBwLCBxLCBoICsgKCAxIC8gMyApICkgKiAyNTUgKSwNCgkJTWF0aC5yb3VuZCggaHVlMnJnYiggcCwgcSwgaCApICogMjU1ICksDQoJCU1hdGgucm91bmQoIGh1ZTJyZ2IoIHAsIHEsIGggLSAoIDEgLyAzICkgKSAqIDI1NSApLA0KCQlhDQoJXTsNCn07DQoNCmVhY2goIHNwYWNlcywgZnVuY3Rpb24oIHNwYWNlTmFtZSwgc3BhY2UgKSB7DQoJdmFyIHByb3BzID0gc3BhY2UucHJvcHMsDQoJCWNhY2hlID0gc3BhY2UuY2FjaGUsDQoJCXRvID0gc3BhY2UudG8sDQoJCWZyb20gPSBzcGFjZS5mcm9tOw0KDQoJLy8gTWFrZXMgcmdiYSgpIGFuZCBoc2xhKCkNCgljb2xvci5mblsgc3BhY2VOYW1lIF0gPSBmdW5jdGlvbiggdmFsdWUgKSB7DQoNCgkJLy8gR2VuZXJhdGUgYSBjYWNoZSBmb3IgdGhpcyBzcGFjZSBpZiBpdCBkb2Vzbid0IGV4aXN0DQoJCWlmICggdG8gJiYgIXRoaXNbIGNhY2hlIF0gKSB7DQoJCQl0aGlzWyBjYWNoZSBdID0gdG8oIHRoaXMuX3JnYmEgKTsNCgkJfQ0KCQlpZiAoIHZhbHVlID09PSB1bmRlZmluZWQgKSB7DQoJCQlyZXR1cm4gdGhpc1sgY2FjaGUgXS5zbGljZSgpOw0KCQl9DQoNCgkJdmFyIHJldCwNCgkJCXR5cGUgPSBqUXVlcnkudHlwZSggdmFsdWUgKSwNCgkJCWFyciA9ICggdHlwZSA9PT0gImFycmF5IiB8fCB0eXBlID09PSAib2JqZWN0IiApID8gdmFsdWUgOiBhcmd1bWVudHMsDQoJCQlsb2NhbCA9IHRoaXNbIGNhY2hlIF0uc2xpY2UoKTsNCg0KCQllYWNoKCBwcm9wcywgZnVuY3Rpb24oIGtleSwgcHJvcCApIHsNCgkJCXZhciB2YWwgPSBhcnJbIHR5cGUgPT09ICJvYmplY3QiID8ga2V5IDogcHJvcC5pZHggXTsNCgkJCWlmICggdmFsID09IG51bGwgKSB7DQoJCQkJdmFsID0gbG9jYWxbIHByb3AuaWR4IF07DQoJCQl9DQoJCQlsb2NhbFsgcHJvcC5pZHggXSA9IGNsYW1wKCB2YWwsIHByb3AgKTsNCgkJfSApOw0KDQoJCWlmICggZnJvbSApIHsNCgkJCXJldCA9IGNvbG9yKCBmcm9tKCBsb2NhbCApICk7DQoJCQlyZXRbIGNhY2hlIF0gPSBsb2NhbDsNCgkJCXJldHVybiByZXQ7DQoJCX0gZWxzZSB7DQoJCQlyZXR1cm4gY29sb3IoIGxvY2FsICk7DQoJCX0NCgl9Ow0KDQoJLy8gTWFrZXMgcmVkKCkgZ3JlZW4oKSBibHVlKCkgYWxwaGEoKSBodWUoKSBzYXR1cmF0aW9uKCkgbGlnaHRuZXNzKCkNCgllYWNoKCBwcm9wcywgZnVuY3Rpb24oIGtleSwgcHJvcCApIHsNCg0KCQkvLyBBbHBoYSBpcyBpbmNsdWRlZCBpbiBtb3JlIHRoYW4gb25lIHNwYWNlDQoJCWlmICggY29sb3IuZm5bIGtleSBdICkgew0KCQkJcmV0dXJuOw0KCQl9DQoJCWNvbG9yLmZuWyBrZXkgXSA9IGZ1bmN0aW9uKCB2YWx1ZSApIHsNCgkJCXZhciB2dHlwZSA9IGpRdWVyeS50eXBlKCB2YWx1ZSApLA0KCQkJCWZuID0gKCBrZXkgPT09ICJhbHBoYSIgPyAoIHRoaXMuX2hzbGEgPyAiaHNsYSIgOiAicmdiYSIgKSA6IHNwYWNlTmFtZSApLA0KCQkJCWxvY2FsID0gdGhpc1sgZm4gXSgpLA0KCQkJCWN1ciA9IGxvY2FsWyBwcm9wLmlkeCBdLA0KCQkJCW1hdGNoOw0KDQoJCQlpZiAoIHZ0eXBlID09PSAidW5kZWZpbmVkIiApIHsNCgkJCQlyZXR1cm4gY3VyOw0KCQkJfQ0KDQoJCQlpZiAoIHZ0eXBlID09PSAiZnVuY3Rpb24iICkgew0KCQkJCXZhbHVlID0gdmFsdWUuY2FsbCggdGhpcywgY3VyICk7DQoJCQkJdnR5cGUgPSBqUXVlcnkudHlwZSggdmFsdWUgKTsNCgkJCX0NCgkJCWlmICggdmFsdWUgPT0gbnVsbCAmJiBwcm9wLmVtcHR5ICkgew0KCQkJCXJldHVybiB0aGlzOw0KCQkJfQ0KCQkJaWYgKCB2dHlwZSA9PT0gInN0cmluZyIgKSB7DQoJCQkJbWF0Y2ggPSBycGx1c2VxdWFscy5leGVjKCB2YWx1ZSApOw0KCQkJCWlmICggbWF0Y2ggKSB7DQoJCQkJCXZhbHVlID0gY3VyICsgcGFyc2VGbG9hdCggbWF0Y2hbIDIgXSApICogKCBtYXRjaFsgMSBdID09PSAiKyIgPyAxIDogLTEgKTsNCgkJCQl9DQoJCQl9DQoJCQlsb2NhbFsgcHJvcC5pZHggXSA9IHZhbHVlOw0KCQkJcmV0dXJuIHRoaXNbIGZuIF0oIGxvY2FsICk7DQoJCX07DQoJfSApOw0KfSApOw0KDQovLyBBZGQgY3NzSG9vayBhbmQgLmZ4LnN0ZXAgZnVuY3Rpb24gZm9yIGVhY2ggbmFtZWQgaG9vay4NCi8vIGFjY2VwdCBhIHNwYWNlIHNlcGFyYXRlZCBzdHJpbmcgb2YgcHJvcGVydGllcw0KY29sb3IuaG9vayA9IGZ1bmN0aW9uKCBob29rICkgew0KCXZhciBob29rcyA9IGhvb2suc3BsaXQoICIgIiApOw0KCWVhY2goIGhvb2tzLCBmdW5jdGlvbiggaSwgaG9vayApIHsNCgkJalF1ZXJ5LmNzc0hvb2tzWyBob29rIF0gPSB7DQoJCQlzZXQ6IGZ1bmN0aW9uKCBlbGVtLCB2YWx1ZSApIHsNCgkJCQl2YXIgcGFyc2VkLCBjdXJFbGVtLA0KCQkJCQliYWNrZ3JvdW5kQ29sb3IgPSAiIjsNCg0KCQkJCWlmICggdmFsdWUgIT09ICJ0cmFuc3BhcmVudCIgJiYgKCBqUXVlcnkudHlwZSggdmFsdWUgKSAhPT0gInN0cmluZyIgfHwNCgkJCQkJCSggcGFyc2VkID0gc3RyaW5nUGFyc2UoIHZhbHVlICkgKSApICkgew0KCQkJCQl2YWx1ZSA9IGNvbG9yKCBwYXJzZWQgfHwgdmFsdWUgKTsNCgkJCQkJaWYgKCAhc3VwcG9ydC5yZ2JhICYmIHZhbHVlLl9yZ2JhWyAzIF0gIT09IDEgKSB7DQoJCQkJCQljdXJFbGVtID0gaG9vayA9PT0gImJhY2tncm91bmRDb2xvciIgPyBlbGVtLnBhcmVudE5vZGUgOiBlbGVtOw0KCQkJCQkJd2hpbGUgKA0KCQkJCQkJCSggYmFja2dyb3VuZENvbG9yID09PSAiIiB8fCBiYWNrZ3JvdW5kQ29sb3IgPT09ICJ0cmFuc3BhcmVudCIgKSAmJg0KCQkJCQkJCWN1ckVsZW0gJiYgY3VyRWxlbS5zdHlsZQ0KCQkJCQkJKSB7DQoJCQkJCQkJdHJ5IHsNCgkJCQkJCQkJYmFja2dyb3VuZENvbG9yID0galF1ZXJ5LmNzcyggY3VyRWxlbSwgImJhY2tncm91bmRDb2xvciIgKTsNCgkJCQkJCQkJY3VyRWxlbSA9IGN1ckVsZW0ucGFyZW50Tm9kZTsNCgkJCQkJCQl9IGNhdGNoICggZSApIHsNCgkJCQkJCQl9DQoJCQkJCQl9DQoNCgkJCQkJCXZhbHVlID0gdmFsdWUuYmxlbmQoIGJhY2tncm91bmRDb2xvciAmJiBiYWNrZ3JvdW5kQ29sb3IgIT09ICJ0cmFuc3BhcmVudCIgPw0KCQkJCQkJCWJhY2tncm91bmRDb2xvciA6DQoJCQkJCQkJIl9kZWZhdWx0IiApOw0KCQkJCQl9DQoNCgkJCQkJdmFsdWUgPSB2YWx1ZS50b1JnYmFTdHJpbmcoKTsNCgkJCQl9DQoJCQkJdHJ5IHsNCgkJCQkJZWxlbS5zdHlsZVsgaG9vayBdID0gdmFsdWU7DQoJCQkJfSBjYXRjaCAoIGUgKSB7DQoNCgkJCQkJLy8gV3JhcHBlZCB0byBwcmV2ZW50IElFIGZyb20gdGhyb3dpbmcgZXJyb3JzIG9uICJpbnZhbGlkIiB2YWx1ZXMgbGlrZQ0KCQkJCQkvLyAnYXV0bycgb3IgJ2luaGVyaXQnDQoJCQkJfQ0KCQkJfQ0KCQl9Ow0KCQlqUXVlcnkuZnguc3RlcFsgaG9vayBdID0gZnVuY3Rpb24oIGZ4ICkgew0KCQkJaWYgKCAhZnguY29sb3JJbml0ICkgew0KCQkJCWZ4LnN0YXJ0ID0gY29sb3IoIGZ4LmVsZW0sIGhvb2sgKTsNCgkJCQlmeC5lbmQgPSBjb2xvciggZnguZW5kICk7DQoJCQkJZnguY29sb3JJbml0ID0gdHJ1ZTsNCgkJCX0NCgkJCWpRdWVyeS5jc3NIb29rc1sgaG9vayBdLnNldCggZnguZWxlbSwgZnguc3RhcnQudHJhbnNpdGlvbiggZnguZW5kLCBmeC5wb3MgKSApOw0KCQl9Ow0KCX0gKTsNCg0KfTsNCg0KY29sb3IuaG9vayggc3RlcEhvb2tzICk7DQoNCmpRdWVyeS5jc3NIb29rcy5ib3JkZXJDb2xvciA9IHsNCglleHBhbmQ6IGZ1bmN0aW9uKCB2YWx1ZSApIHsNCgkJdmFyIGV4cGFuZGVkID0ge307DQoNCgkJZWFjaCggWyAiVG9wIiwgIlJpZ2h0IiwgIkJvdHRvbSIsICJMZWZ0IiBdLCBmdW5jdGlvbiggaSwgcGFydCApIHsNCgkJCWV4cGFuZGVkWyAiYm9yZGVyIiArIHBhcnQgKyAiQ29sb3IiIF0gPSB2YWx1ZTsNCgkJfSApOw0KCQlyZXR1cm4gZXhwYW5kZWQ7DQoJfQ0KfTsNCg0KLy8gQmFzaWMgY29sb3IgbmFtZXMgb25seS4NCi8vIFVzYWdlIG9mIGFueSBvZiB0aGUgb3RoZXIgY29sb3IgbmFtZXMgcmVxdWlyZXMgYWRkaW5nIHlvdXJzZWxmIG9yIGluY2x1ZGluZw0KLy8ganF1ZXJ5LmNvbG9yLnN2Zy1uYW1lcy5qcy4NCmNvbG9ycyA9IGpRdWVyeS5Db2xvci5uYW1lcyA9IHsNCg0KCS8vIDQuMS4gQmFzaWMgY29sb3Iga2V5d29yZHMNCglhcXVhOiAiIzAwZmZmZiIsDQoJYmxhY2s6ICIjMDAwMDAwIiwNCglibHVlOiAiIzAwMDBmZiIsDQoJZnVjaHNpYTogIiNmZjAwZmYiLA0KCWdyYXk6ICIjODA4MDgwIiwNCglncmVlbjogIiMwMDgwMDAiLA0KCWxpbWU6ICIjMDBmZjAwIiwNCgltYXJvb246ICIjODAwMDAwIiwNCgluYXZ5OiAiIzAwMDA4MCIsDQoJb2xpdmU6ICIjODA4MDAwIiwNCglwdXJwbGU6ICIjODAwMDgwIiwNCglyZWQ6ICIjZmYwMDAwIiwNCglzaWx2ZXI6ICIjYzBjMGMwIiwNCgl0ZWFsOiAiIzAwODA4MCIsDQoJd2hpdGU6ICIjZmZmZmZmIiwNCgl5ZWxsb3c6ICIjZmZmZjAwIiwNCg0KCS8vIDQuMi4zLiAidHJhbnNwYXJlbnQiIGNvbG9yIGtleXdvcmQNCgl0cmFuc3BhcmVudDogWyBudWxsLCBudWxsLCBudWxsLCAwIF0sDQoNCglfZGVmYXVsdDogIiNmZmZmZmYiDQp9Ow0KDQp9ICkoIGpRdWVyeSApOw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBDTEFTUyBBTklNQVRJT05TICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQooIGZ1bmN0aW9uKCkgew0KDQp2YXIgY2xhc3NBbmltYXRpb25BY3Rpb25zID0gWyAiYWRkIiwgInJlbW92ZSIsICJ0b2dnbGUiIF0sDQoJc2hvcnRoYW5kU3R5bGVzID0gew0KCQlib3JkZXI6IDEsDQoJCWJvcmRlckJvdHRvbTogMSwNCgkJYm9yZGVyQ29sb3I6IDEsDQoJCWJvcmRlckxlZnQ6IDEsDQoJCWJvcmRlclJpZ2h0OiAxLA0KCQlib3JkZXJUb3A6IDEsDQoJCWJvcmRlcldpZHRoOiAxLA0KCQltYXJnaW46IDEsDQoJCXBhZGRpbmc6IDENCgl9Ow0KDQokLmVhY2goDQoJWyAiYm9yZGVyTGVmdFN0eWxlIiwgImJvcmRlclJpZ2h0U3R5bGUiLCAiYm9yZGVyQm90dG9tU3R5bGUiLCAiYm9yZGVyVG9wU3R5bGUiIF0sDQoJZnVuY3Rpb24oIF8sIHByb3AgKSB7DQoJCSQuZnguc3RlcFsgcHJvcCBdID0gZnVuY3Rpb24oIGZ4ICkgew0KCQkJaWYgKCBmeC5lbmQgIT09ICJub25lIiAmJiAhZnguc2V0QXR0ciB8fCBmeC5wb3MgPT09IDEgJiYgIWZ4LnNldEF0dHIgKSB7DQoJCQkJalF1ZXJ5LnN0eWxlKCBmeC5lbGVtLCBwcm9wLCBmeC5lbmQgKTsNCgkJCQlmeC5zZXRBdHRyID0gdHJ1ZTsNCgkJCX0NCgkJfTsNCgl9DQopOw0KDQpmdW5jdGlvbiBnZXRFbGVtZW50U3R5bGVzKCBlbGVtICkgew0KCXZhciBrZXksIGxlbiwNCgkJc3R5bGUgPSBlbGVtLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcgPw0KCQkJZWxlbS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUoIGVsZW0sIG51bGwgKSA6DQoJCQllbGVtLmN1cnJlbnRTdHlsZSwNCgkJc3R5bGVzID0ge307DQoNCglpZiAoIHN0eWxlICYmIHN0eWxlLmxlbmd0aCAmJiBzdHlsZVsgMCBdICYmIHN0eWxlWyBzdHlsZVsgMCBdIF0gKSB7DQoJCWxlbiA9IHN0eWxlLmxlbmd0aDsNCgkJd2hpbGUgKCBsZW4tLSApIHsNCgkJCWtleSA9IHN0eWxlWyBsZW4gXTsNCgkJCWlmICggdHlwZW9mIHN0eWxlWyBrZXkgXSA9PT0gInN0cmluZyIgKSB7DQoJCQkJc3R5bGVzWyAkLmNhbWVsQ2FzZSgga2V5ICkgXSA9IHN0eWxlWyBrZXkgXTsNCgkJCX0NCgkJfQ0KDQoJLy8gU3VwcG9ydDogT3BlcmEsIElFIDw5DQoJfSBlbHNlIHsNCgkJZm9yICgga2V5IGluIHN0eWxlICkgew0KCQkJaWYgKCB0eXBlb2Ygc3R5bGVbIGtleSBdID09PSAic3RyaW5nIiApIHsNCgkJCQlzdHlsZXNbIGtleSBdID0gc3R5bGVbIGtleSBdOw0KCQkJfQ0KCQl9DQoJfQ0KDQoJcmV0dXJuIHN0eWxlczsNCn0NCg0KZnVuY3Rpb24gc3R5bGVEaWZmZXJlbmNlKCBvbGRTdHlsZSwgbmV3U3R5bGUgKSB7DQoJdmFyIGRpZmYgPSB7fSwNCgkJbmFtZSwgdmFsdWU7DQoNCglmb3IgKCBuYW1lIGluIG5ld1N0eWxlICkgew0KCQl2YWx1ZSA9IG5ld1N0eWxlWyBuYW1lIF07DQoJCWlmICggb2xkU3R5bGVbIG5hbWUgXSAhPT0gdmFsdWUgKSB7DQoJCQlpZiAoICFzaG9ydGhhbmRTdHlsZXNbIG5hbWUgXSApIHsNCgkJCQlpZiAoICQuZnguc3RlcFsgbmFtZSBdIHx8ICFpc05hTiggcGFyc2VGbG9hdCggdmFsdWUgKSApICkgew0KCQkJCQlkaWZmWyBuYW1lIF0gPSB2YWx1ZTsNCgkJCQl9DQoJCQl9DQoJCX0NCgl9DQoNCglyZXR1cm4gZGlmZjsNCn0NCg0KLy8gU3VwcG9ydDogalF1ZXJ5IDwxLjgNCmlmICggISQuZm4uYWRkQmFjayApIHsNCgkkLmZuLmFkZEJhY2sgPSBmdW5jdGlvbiggc2VsZWN0b3IgKSB7DQoJCXJldHVybiB0aGlzLmFkZCggc2VsZWN0b3IgPT0gbnVsbCA/DQoJCQl0aGlzLnByZXZPYmplY3QgOiB0aGlzLnByZXZPYmplY3QuZmlsdGVyKCBzZWxlY3RvciApDQoJCSk7DQoJfTsNCn0NCg0KJC5lZmZlY3RzLmFuaW1hdGVDbGFzcyA9IGZ1bmN0aW9uKCB2YWx1ZSwgZHVyYXRpb24sIGVhc2luZywgY2FsbGJhY2sgKSB7DQoJdmFyIG8gPSAkLnNwZWVkKCBkdXJhdGlvbiwgZWFzaW5nLCBjYWxsYmFjayApOw0KDQoJcmV0dXJuIHRoaXMucXVldWUoIGZ1bmN0aW9uKCkgew0KCQl2YXIgYW5pbWF0ZWQgPSAkKCB0aGlzICksDQoJCQliYXNlQ2xhc3MgPSBhbmltYXRlZC5hdHRyKCAiY2xhc3MiICkgfHwgIiIsDQoJCQlhcHBseUNsYXNzQ2hhbmdlLA0KCQkJYWxsQW5pbWF0aW9ucyA9IG8uY2hpbGRyZW4gPyBhbmltYXRlZC5maW5kKCAiKiIgKS5hZGRCYWNrKCkgOiBhbmltYXRlZDsNCg0KCQkvLyBNYXAgdGhlIGFuaW1hdGVkIG9iamVjdHMgdG8gc3RvcmUgdGhlIG9yaWdpbmFsIHN0eWxlcy4NCgkJYWxsQW5pbWF0aW9ucyA9IGFsbEFuaW1hdGlvbnMubWFwKCBmdW5jdGlvbigpIHsNCgkJCXZhciBlbCA9ICQoIHRoaXMgKTsNCgkJCXJldHVybiB7DQoJCQkJZWw6IGVsLA0KCQkJCXN0YXJ0OiBnZXRFbGVtZW50U3R5bGVzKCB0aGlzICkNCgkJCX07DQoJCX0gKTsNCg0KCQkvLyBBcHBseSBjbGFzcyBjaGFuZ2UNCgkJYXBwbHlDbGFzc0NoYW5nZSA9IGZ1bmN0aW9uKCkgew0KCQkJJC5lYWNoKCBjbGFzc0FuaW1hdGlvbkFjdGlvbnMsIGZ1bmN0aW9uKCBpLCBhY3Rpb24gKSB7DQoJCQkJaWYgKCB2YWx1ZVsgYWN0aW9uIF0gKSB7DQoJCQkJCWFuaW1hdGVkWyBhY3Rpb24gKyAiQ2xhc3MiIF0oIHZhbHVlWyBhY3Rpb24gXSApOw0KCQkJCX0NCgkJCX0gKTsNCgkJfTsNCgkJYXBwbHlDbGFzc0NoYW5nZSgpOw0KDQoJCS8vIE1hcCBhbGwgYW5pbWF0ZWQgb2JqZWN0cyBhZ2FpbiAtIGNhbGN1bGF0ZSBuZXcgc3R5bGVzIGFuZCBkaWZmDQoJCWFsbEFuaW1hdGlvbnMgPSBhbGxBbmltYXRpb25zLm1hcCggZnVuY3Rpb24oKSB7DQoJCQl0aGlzLmVuZCA9IGdldEVsZW1lbnRTdHlsZXMoIHRoaXMuZWxbIDAgXSApOw0KCQkJdGhpcy5kaWZmID0gc3R5bGVEaWZmZXJlbmNlKCB0aGlzLnN0YXJ0LCB0aGlzLmVuZCApOw0KCQkJcmV0dXJuIHRoaXM7DQoJCX0gKTsNCg0KCQkvLyBBcHBseSBvcmlnaW5hbCBjbGFzcw0KCQlhbmltYXRlZC5hdHRyKCAiY2xhc3MiLCBiYXNlQ2xhc3MgKTsNCg0KCQkvLyBNYXAgYWxsIGFuaW1hdGVkIG9iamVjdHMgYWdhaW4gLSB0aGlzIHRpbWUgY29sbGVjdGluZyBhIHByb21pc2UNCgkJYWxsQW5pbWF0aW9ucyA9IGFsbEFuaW1hdGlvbnMubWFwKCBmdW5jdGlvbigpIHsNCgkJCXZhciBzdHlsZUluZm8gPSB0aGlzLA0KCQkJCWRmZCA9ICQuRGVmZXJyZWQoKSwNCgkJCQlvcHRzID0gJC5leHRlbmQoIHt9LCBvLCB7DQoJCQkJCXF1ZXVlOiBmYWxzZSwNCgkJCQkJY29tcGxldGU6IGZ1bmN0aW9uKCkgew0KCQkJCQkJZGZkLnJlc29sdmUoIHN0eWxlSW5mbyApOw0KCQkJCQl9DQoJCQkJfSApOw0KDQoJCQl0aGlzLmVsLmFuaW1hdGUoIHRoaXMuZGlmZiwgb3B0cyApOw0KCQkJcmV0dXJuIGRmZC5wcm9taXNlKCk7DQoJCX0gKTsNCg0KCQkvLyBPbmNlIGFsbCBhbmltYXRpb25zIGhhdmUgY29tcGxldGVkOg0KCQkkLndoZW4uYXBwbHkoICQsIGFsbEFuaW1hdGlvbnMuZ2V0KCkgKS5kb25lKCBmdW5jdGlvbigpIHsNCg0KCQkJLy8gU2V0IHRoZSBmaW5hbCBjbGFzcw0KCQkJYXBwbHlDbGFzc0NoYW5nZSgpOw0KDQoJCQkvLyBGb3IgZWFjaCBhbmltYXRlZCBlbGVtZW50LA0KCQkJLy8gY2xlYXIgYWxsIGNzcyBwcm9wZXJ0aWVzIHRoYXQgd2VyZSBhbmltYXRlZA0KCQkJJC5lYWNoKCBhcmd1bWVudHMsIGZ1bmN0aW9uKCkgew0KCQkJCXZhciBlbCA9IHRoaXMuZWw7DQoJCQkJJC5lYWNoKCB0aGlzLmRpZmYsIGZ1bmN0aW9uKCBrZXkgKSB7DQoJCQkJCWVsLmNzcygga2V5LCAiIiApOw0KCQkJCX0gKTsNCgkJCX0gKTsNCg0KCQkJLy8gVGhpcyBpcyBndWFybnRlZWQgdG8gYmUgdGhlcmUgaWYgeW91IHVzZSBqUXVlcnkuc3BlZWQoKQ0KCQkJLy8gaXQgYWxzbyBoYW5kbGVzIGRlcXVldWluZyB0aGUgbmV4dCBhbmltLi4uDQoJCQlvLmNvbXBsZXRlLmNhbGwoIGFuaW1hdGVkWyAwIF0gKTsNCgkJfSApOw0KCX0gKTsNCn07DQoNCiQuZm4uZXh0ZW5kKCB7DQoJYWRkQ2xhc3M6ICggZnVuY3Rpb24oIG9yaWcgKSB7DQoJCXJldHVybiBmdW5jdGlvbiggY2xhc3NOYW1lcywgc3BlZWQsIGVhc2luZywgY2FsbGJhY2sgKSB7DQoJCQlyZXR1cm4gc3BlZWQgPw0KCQkJCSQuZWZmZWN0cy5hbmltYXRlQ2xhc3MuY2FsbCggdGhpcywNCgkJCQkJeyBhZGQ6IGNsYXNzTmFtZXMgfSwgc3BlZWQsIGVhc2luZywgY2FsbGJhY2sgKSA6DQoJCQkJb3JpZy5hcHBseSggdGhpcywgYXJndW1lbnRzICk7DQoJCX07DQoJfSApKCAkLmZuLmFkZENsYXNzICksDQoNCglyZW1vdmVDbGFzczogKCBmdW5jdGlvbiggb3JpZyApIHsNCgkJcmV0dXJuIGZ1bmN0aW9uKCBjbGFzc05hbWVzLCBzcGVlZCwgZWFzaW5nLCBjYWxsYmFjayApIHsNCgkJCXJldHVybiBhcmd1bWVudHMubGVuZ3RoID4gMSA/DQoJCQkJJC5lZmZlY3RzLmFuaW1hdGVDbGFzcy5jYWxsKCB0aGlzLA0KCQkJCQl7IHJlbW92ZTogY2xhc3NOYW1lcyB9LCBzcGVlZCwgZWFzaW5nLCBjYWxsYmFjayApIDoNCgkJCQlvcmlnLmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKTsNCgkJfTsNCgl9ICkoICQuZm4ucmVtb3ZlQ2xhc3MgKSwNCg0KCXRvZ2dsZUNsYXNzOiAoIGZ1bmN0aW9uKCBvcmlnICkgew0KCQlyZXR1cm4gZnVuY3Rpb24oIGNsYXNzTmFtZXMsIGZvcmNlLCBzcGVlZCwgZWFzaW5nLCBjYWxsYmFjayApIHsNCgkJCWlmICggdHlwZW9mIGZvcmNlID09PSAiYm9vbGVhbiIgfHwgZm9yY2UgPT09IHVuZGVmaW5lZCApIHsNCgkJCQlpZiAoICFzcGVlZCApIHsNCg0KCQkJCQkvLyBXaXRob3V0IHNwZWVkIHBhcmFtZXRlcg0KCQkJCQlyZXR1cm4gb3JpZy5hcHBseSggdGhpcywgYXJndW1lbnRzICk7DQoJCQkJfSBlbHNlIHsNCgkJCQkJcmV0dXJuICQuZWZmZWN0cy5hbmltYXRlQ2xhc3MuY2FsbCggdGhpcywNCgkJCQkJCSggZm9yY2UgPyB7IGFkZDogY2xhc3NOYW1lcyB9IDogeyByZW1vdmU6IGNsYXNzTmFtZXMgfSApLA0KCQkJCQkJc3BlZWQsIGVhc2luZywgY2FsbGJhY2sgKTsNCgkJCQl9DQoJCQl9IGVsc2Ugew0KDQoJCQkJLy8gV2l0aG91dCBmb3JjZSBwYXJhbWV0ZXINCgkJCQlyZXR1cm4gJC5lZmZlY3RzLmFuaW1hdGVDbGFzcy5jYWxsKCB0aGlzLA0KCQkJCQl7IHRvZ2dsZTogY2xhc3NOYW1lcyB9LCBmb3JjZSwgc3BlZWQsIGVhc2luZyApOw0KCQkJfQ0KCQl9Ow0KCX0gKSggJC5mbi50b2dnbGVDbGFzcyApLA0KDQoJc3dpdGNoQ2xhc3M6IGZ1bmN0aW9uKCByZW1vdmUsIGFkZCwgc3BlZWQsIGVhc2luZywgY2FsbGJhY2sgKSB7DQoJCXJldHVybiAkLmVmZmVjdHMuYW5pbWF0ZUNsYXNzLmNhbGwoIHRoaXMsIHsNCgkJCWFkZDogYWRkLA0KCQkJcmVtb3ZlOiByZW1vdmUNCgkJfSwgc3BlZWQsIGVhc2luZywgY2FsbGJhY2sgKTsNCgl9DQp9ICk7DQoNCn0gKSgpOw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEVGRkVDVFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCiggZnVuY3Rpb24oKSB7DQoNCmlmICggJC5leHByICYmICQuZXhwci5maWx0ZXJzICYmICQuZXhwci5maWx0ZXJzLmFuaW1hdGVkICkgew0KCSQuZXhwci5maWx0ZXJzLmFuaW1hdGVkID0gKCBmdW5jdGlvbiggb3JpZyApIHsNCgkJcmV0dXJuIGZ1bmN0aW9uKCBlbGVtICkgew0KCQkJcmV0dXJuICEhJCggZWxlbSApLmRhdGEoIGRhdGFTcGFjZUFuaW1hdGVkICkgfHwgb3JpZyggZWxlbSApOw0KCQl9Ow0KCX0gKSggJC5leHByLmZpbHRlcnMuYW5pbWF0ZWQgKTsNCn0NCg0KaWYgKCAkLnVpQmFja0NvbXBhdCAhPT0gZmFsc2UgKSB7DQoJJC5leHRlbmQoICQuZWZmZWN0cywgew0KDQoJCS8vIFNhdmVzIGEgc2V0IG9mIHByb3BlcnRpZXMgaW4gYSBkYXRhIHN0b3JhZ2UNCgkJc2F2ZTogZnVuY3Rpb24oIGVsZW1lbnQsIHNldCApIHsNCgkJCXZhciBpID0gMCwgbGVuZ3RoID0gc2V0Lmxlbmd0aDsNCgkJCWZvciAoIDsgaSA8IGxlbmd0aDsgaSsrICkgew0KCQkJCWlmICggc2V0WyBpIF0gIT09IG51bGwgKSB7DQoJCQkJCWVsZW1lbnQuZGF0YSggZGF0YVNwYWNlICsgc2V0WyBpIF0sIGVsZW1lbnRbIDAgXS5zdHlsZVsgc2V0WyBpIF0gXSApOw0KCQkJCX0NCgkJCX0NCgkJfSwNCg0KCQkvLyBSZXN0b3JlcyBhIHNldCBvZiBwcmV2aW91c2x5IHNhdmVkIHByb3BlcnRpZXMgZnJvbSBhIGRhdGEgc3RvcmFnZQ0KCQlyZXN0b3JlOiBmdW5jdGlvbiggZWxlbWVudCwgc2V0ICkgew0KCQkJdmFyIHZhbCwgaSA9IDAsIGxlbmd0aCA9IHNldC5sZW5ndGg7DQoJCQlmb3IgKCA7IGkgPCBsZW5ndGg7IGkrKyApIHsNCgkJCQlpZiAoIHNldFsgaSBdICE9PSBudWxsICkgew0KCQkJCQl2YWwgPSBlbGVtZW50LmRhdGEoIGRhdGFTcGFjZSArIHNldFsgaSBdICk7DQoJCQkJCWVsZW1lbnQuY3NzKCBzZXRbIGkgXSwgdmFsICk7DQoJCQkJfQ0KCQkJfQ0KCQl9LA0KDQoJCXNldE1vZGU6IGZ1bmN0aW9uKCBlbCwgbW9kZSApIHsNCgkJCWlmICggbW9kZSA9PT0gInRvZ2dsZSIgKSB7DQoJCQkJbW9kZSA9IGVsLmlzKCAiOmhpZGRlbiIgKSA/ICJzaG93IiA6ICJoaWRlIjsNCgkJCX0NCgkJCXJldHVybiBtb2RlOw0KCQl9LA0KDQoJCS8vIFdyYXBzIHRoZSBlbGVtZW50IGFyb3VuZCBhIHdyYXBwZXIgdGhhdCBjb3BpZXMgcG9zaXRpb24gcHJvcGVydGllcw0KCQljcmVhdGVXcmFwcGVyOiBmdW5jdGlvbiggZWxlbWVudCApIHsNCg0KCQkJLy8gSWYgdGhlIGVsZW1lbnQgaXMgYWxyZWFkeSB3cmFwcGVkLCByZXR1cm4gaXQNCgkJCWlmICggZWxlbWVudC5wYXJlbnQoKS5pcyggIi51aS1lZmZlY3RzLXdyYXBwZXIiICkgKSB7DQoJCQkJcmV0dXJuIGVsZW1lbnQucGFyZW50KCk7DQoJCQl9DQoNCgkJCS8vIFdyYXAgdGhlIGVsZW1lbnQNCgkJCXZhciBwcm9wcyA9IHsNCgkJCQkJd2lkdGg6IGVsZW1lbnQub3V0ZXJXaWR0aCggdHJ1ZSApLA0KCQkJCQloZWlnaHQ6IGVsZW1lbnQub3V0ZXJIZWlnaHQoIHRydWUgKSwNCgkJCQkJImZsb2F0IjogZWxlbWVudC5jc3MoICJmbG9hdCIgKQ0KCQkJCX0sDQoJCQkJd3JhcHBlciA9ICQoICI8ZGl2PjwvZGl2PiIgKQ0KCQkJCQkuYWRkQ2xhc3MoICJ1aS1lZmZlY3RzLXdyYXBwZXIiICkNCgkJCQkJLmNzcyggew0KCQkJCQkJZm9udFNpemU6ICIxMDAlIiwNCgkJCQkJCWJhY2tncm91bmQ6ICJ0cmFuc3BhcmVudCIsDQoJCQkJCQlib3JkZXI6ICJub25lIiwNCgkJCQkJCW1hcmdpbjogMCwNCgkJCQkJCXBhZGRpbmc6IDANCgkJCQkJfSApLA0KDQoJCQkJLy8gU3RvcmUgdGhlIHNpemUgaW4gY2FzZSB3aWR0aC9oZWlnaHQgYXJlIGRlZmluZWQgaW4gJSAtIEZpeGVzICM1MjQ1DQoJCQkJc2l6ZSA9IHsNCgkJCQkJd2lkdGg6IGVsZW1lbnQud2lkdGgoKSwNCgkJCQkJaGVpZ2h0OiBlbGVtZW50LmhlaWdodCgpDQoJCQkJfSwNCgkJCQlhY3RpdmUgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50Ow0KDQoJCQkvLyBTdXBwb3J0OiBGaXJlZm94DQoJCQkvLyBGaXJlZm94IGluY29ycmVjdGx5IGV4cG9zZXMgYW5vbnltb3VzIGNvbnRlbnQNCgkJCS8vIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTU2MTY2NA0KCQkJdHJ5IHsNCgkJCQlhY3RpdmUuaWQ7DQoJCQl9IGNhdGNoICggZSApIHsNCgkJCQlhY3RpdmUgPSBkb2N1bWVudC5ib2R5Ow0KCQkJfQ0KDQoJCQllbGVtZW50LndyYXAoIHdyYXBwZXIgKTsNCg0KCQkJLy8gRml4ZXMgIzc1OTUgLSBFbGVtZW50cyBsb3NlIGZvY3VzIHdoZW4gd3JhcHBlZC4NCgkJCWlmICggZWxlbWVudFsgMCBdID09PSBhY3RpdmUgfHwgJC5jb250YWlucyggZWxlbWVudFsgMCBdLCBhY3RpdmUgKSApIHsNCgkJCQkkKCBhY3RpdmUgKS50cmlnZ2VyKCAiZm9jdXMiICk7DQoJCQl9DQoNCgkJCS8vIEhvdGZpeCBmb3IgalF1ZXJ5IDEuNCBzaW5jZSBzb21lIGNoYW5nZSBpbiB3cmFwKCkgc2VlbXMgdG8gYWN0dWFsbHkNCgkJCS8vIGxvc2UgdGhlIHJlZmVyZW5jZSB0byB0aGUgd3JhcHBlZCBlbGVtZW50DQoJCQl3cmFwcGVyID0gZWxlbWVudC5wYXJlbnQoKTsNCg0KCQkJLy8gVHJhbnNmZXIgcG9zaXRpb25pbmcgcHJvcGVydGllcyB0byB0aGUgd3JhcHBlcg0KCQkJaWYgKCBlbGVtZW50LmNzcyggInBvc2l0aW9uIiApID09PSAic3RhdGljIiApIHsNCgkJCQl3cmFwcGVyLmNzcyggeyBwb3NpdGlvbjogInJlbGF0aXZlIiB9ICk7DQoJCQkJZWxlbWVudC5jc3MoIHsgcG9zaXRpb246ICJyZWxhdGl2ZSIgfSApOw0KCQkJfSBlbHNlIHsNCgkJCQkkLmV4dGVuZCggcHJvcHMsIHsNCgkJCQkJcG9zaXRpb246IGVsZW1lbnQuY3NzKCAicG9zaXRpb24iICksDQoJCQkJCXpJbmRleDogZWxlbWVudC5jc3MoICJ6LWluZGV4IiApDQoJCQkJfSApOw0KCQkJCSQuZWFjaCggWyAidG9wIiwgImxlZnQiLCAiYm90dG9tIiwgInJpZ2h0IiBdLCBmdW5jdGlvbiggaSwgcG9zICkgew0KCQkJCQlwcm9wc1sgcG9zIF0gPSBlbGVtZW50LmNzcyggcG9zICk7DQoJCQkJCWlmICggaXNOYU4oIHBhcnNlSW50KCBwcm9wc1sgcG9zIF0sIDEwICkgKSApIHsNCgkJCQkJCXByb3BzWyBwb3MgXSA9ICJhdXRvIjsNCgkJCQkJfQ0KCQkJCX0gKTsNCgkJCQllbGVtZW50LmNzcyggew0KCQkJCQlwb3NpdGlvbjogInJlbGF0aXZlIiwNCgkJCQkJdG9wOiAwLA0KCQkJCQlsZWZ0OiAwLA0KCQkJCQlyaWdodDogImF1dG8iLA0KCQkJCQlib3R0b206ICJhdXRvIg0KCQkJCX0gKTsNCgkJCX0NCgkJCWVsZW1lbnQuY3NzKCBzaXplICk7DQoNCgkJCXJldHVybiB3cmFwcGVyLmNzcyggcHJvcHMgKS5zaG93KCk7DQoJCX0sDQoNCgkJcmVtb3ZlV3JhcHBlcjogZnVuY3Rpb24oIGVsZW1lbnQgKSB7DQoJCQl2YXIgYWN0aXZlID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDsNCg0KCQkJaWYgKCBlbGVtZW50LnBhcmVudCgpLmlzKCAiLnVpLWVmZmVjdHMtd3JhcHBlciIgKSApIHsNCgkJCQllbGVtZW50LnBhcmVudCgpLnJlcGxhY2VXaXRoKCBlbGVtZW50ICk7DQoNCgkJCQkvLyBGaXhlcyAjNzU5NSAtIEVsZW1lbnRzIGxvc2UgZm9jdXMgd2hlbiB3cmFwcGVkLg0KCQkJCWlmICggZWxlbWVudFsgMCBdID09PSBhY3RpdmUgfHwgJC5jb250YWlucyggZWxlbWVudFsgMCBdLCBhY3RpdmUgKSApIHsNCgkJCQkJJCggYWN0aXZlICkudHJpZ2dlciggImZvY3VzIiApOw0KCQkJCX0NCgkJCX0NCg0KCQkJcmV0dXJuIGVsZW1lbnQ7DQoJCX0NCgl9ICk7DQp9DQoNCiQuZXh0ZW5kKCAkLmVmZmVjdHMsIHsNCgl2ZXJzaW9uOiAiMS4xMi4xIiwNCg0KCWRlZmluZTogZnVuY3Rpb24oIG5hbWUsIG1vZGUsIGVmZmVjdCApIHsNCgkJaWYgKCAhZWZmZWN0ICkgew0KCQkJZWZmZWN0ID0gbW9kZTsNCgkJCW1vZGUgPSAiZWZmZWN0IjsNCgkJfQ0KDQoJCSQuZWZmZWN0cy5lZmZlY3RbIG5hbWUgXSA9IGVmZmVjdDsNCgkJJC5lZmZlY3RzLmVmZmVjdFsgbmFtZSBdLm1vZGUgPSBtb2RlOw0KDQoJCXJldHVybiBlZmZlY3Q7DQoJfSwNCg0KCXNjYWxlZERpbWVuc2lvbnM6IGZ1bmN0aW9uKCBlbGVtZW50LCBwZXJjZW50LCBkaXJlY3Rpb24gKSB7DQoJCWlmICggcGVyY2VudCA9PT0gMCApIHsNCgkJCXJldHVybiB7DQoJCQkJaGVpZ2h0OiAwLA0KCQkJCXdpZHRoOiAwLA0KCQkJCW91dGVySGVpZ2h0OiAwLA0KCQkJCW91dGVyV2lkdGg6IDANCgkJCX07DQoJCX0NCg0KCQl2YXIgeCA9IGRpcmVjdGlvbiAhPT0gImhvcml6b250YWwiID8gKCAoIHBlcmNlbnQgfHwgMTAwICkgLyAxMDAgKSA6IDEsDQoJCQl5ID0gZGlyZWN0aW9uICE9PSAidmVydGljYWwiID8gKCAoIHBlcmNlbnQgfHwgMTAwICkgLyAxMDAgKSA6IDE7DQoNCgkJcmV0dXJuIHsNCgkJCWhlaWdodDogZWxlbWVudC5oZWlnaHQoKSAqIHksDQoJCQl3aWR0aDogZWxlbWVudC53aWR0aCgpICogeCwNCgkJCW91dGVySGVpZ2h0OiBlbGVtZW50Lm91dGVySGVpZ2h0KCkgKiB5LA0KCQkJb3V0ZXJXaWR0aDogZWxlbWVudC5vdXRlcldpZHRoKCkgKiB4DQoJCX07DQoNCgl9LA0KDQoJY2xpcFRvQm94OiBmdW5jdGlvbiggYW5pbWF0aW9uICkgew0KCQlyZXR1cm4gew0KCQkJd2lkdGg6IGFuaW1hdGlvbi5jbGlwLnJpZ2h0IC0gYW5pbWF0aW9uLmNsaXAubGVmdCwNCgkJCWhlaWdodDogYW5pbWF0aW9uLmNsaXAuYm90dG9tIC0gYW5pbWF0aW9uLmNsaXAudG9wLA0KCQkJbGVmdDogYW5pbWF0aW9uLmNsaXAubGVmdCwNCgkJCXRvcDogYW5pbWF0aW9uLmNsaXAudG9wDQoJCX07DQoJfSwNCg0KCS8vIEluamVjdHMgcmVjZW50bHkgcXVldWVkIGZ1bmN0aW9ucyB0byBiZSBmaXJzdCBpbiBsaW5lIChhZnRlciAiaW5wcm9ncmVzcyIpDQoJdW5zaGlmdDogZnVuY3Rpb24oIGVsZW1lbnQsIHF1ZXVlTGVuZ3RoLCBjb3VudCApIHsNCgkJdmFyIHF1ZXVlID0gZWxlbWVudC5xdWV1ZSgpOw0KDQoJCWlmICggcXVldWVMZW5ndGggPiAxICkgew0KCQkJcXVldWUuc3BsaWNlLmFwcGx5KCBxdWV1ZSwNCgkJCQlbIDEsIDAgXS5jb25jYXQoIHF1ZXVlLnNwbGljZSggcXVldWVMZW5ndGgsIGNvdW50ICkgKSApOw0KCQl9DQoJCWVsZW1lbnQuZGVxdWV1ZSgpOw0KCX0sDQoNCglzYXZlU3R5bGU6IGZ1bmN0aW9uKCBlbGVtZW50ICkgew0KCQllbGVtZW50LmRhdGEoIGRhdGFTcGFjZVN0eWxlLCBlbGVtZW50WyAwIF0uc3R5bGUuY3NzVGV4dCApOw0KCX0sDQoNCglyZXN0b3JlU3R5bGU6IGZ1bmN0aW9uKCBlbGVtZW50ICkgew0KCQllbGVtZW50WyAwIF0uc3R5bGUuY3NzVGV4dCA9IGVsZW1lbnQuZGF0YSggZGF0YVNwYWNlU3R5bGUgKSB8fCAiIjsNCgkJZWxlbWVudC5yZW1vdmVEYXRhKCBkYXRhU3BhY2VTdHlsZSApOw0KCX0sDQoNCgltb2RlOiBmdW5jdGlvbiggZWxlbWVudCwgbW9kZSApIHsNCgkJdmFyIGhpZGRlbiA9IGVsZW1lbnQuaXMoICI6aGlkZGVuIiApOw0KDQoJCWlmICggbW9kZSA9PT0gInRvZ2dsZSIgKSB7DQoJCQltb2RlID0gaGlkZGVuID8gInNob3ciIDogImhpZGUiOw0KCQl9DQoJCWlmICggaGlkZGVuID8gbW9kZSA9PT0gImhpZGUiIDogbW9kZSA9PT0gInNob3ciICkgew0KCQkJbW9kZSA9ICJub25lIjsNCgkJfQ0KCQlyZXR1cm4gbW9kZTsNCgl9LA0KDQoJLy8gVHJhbnNsYXRlcyBhIFt0b3AsbGVmdF0gYXJyYXkgaW50byBhIGJhc2VsaW5lIHZhbHVlDQoJZ2V0QmFzZWxpbmU6IGZ1bmN0aW9uKCBvcmlnaW4sIG9yaWdpbmFsICkgew0KCQl2YXIgeSwgeDsNCg0KCQlzd2l0Y2ggKCBvcmlnaW5bIDAgXSApIHsNCgkJY2FzZSAidG9wIjoNCgkJCXkgPSAwOw0KCQkJYnJlYWs7DQoJCWNhc2UgIm1pZGRsZSI6DQoJCQl5ID0gMC41Ow0KCQkJYnJlYWs7DQoJCWNhc2UgImJvdHRvbSI6DQoJCQl5ID0gMTsNCgkJCWJyZWFrOw0KCQlkZWZhdWx0Og0KCQkJeSA9IG9yaWdpblsgMCBdIC8gb3JpZ2luYWwuaGVpZ2h0Ow0KCQl9DQoNCgkJc3dpdGNoICggb3JpZ2luWyAxIF0gKSB7DQoJCWNhc2UgImxlZnQiOg0KCQkJeCA9IDA7DQoJCQlicmVhazsNCgkJY2FzZSAiY2VudGVyIjoNCgkJCXggPSAwLjU7DQoJCQlicmVhazsNCgkJY2FzZSAicmlnaHQiOg0KCQkJeCA9IDE7DQoJCQlicmVhazsNCgkJZGVmYXVsdDoNCgkJCXggPSBvcmlnaW5bIDEgXSAvIG9yaWdpbmFsLndpZHRoOw0KCQl9DQoNCgkJcmV0dXJuIHsNCgkJCXg6IHgsDQoJCQl5OiB5DQoJCX07DQoJfSwNCg0KCS8vIENyZWF0ZXMgYSBwbGFjZWhvbGRlciBlbGVtZW50IHNvIHRoYXQgdGhlIG9yaWdpbmFsIGVsZW1lbnQgY2FuIGJlIG1hZGUgYWJzb2x1dGUNCgljcmVhdGVQbGFjZWhvbGRlcjogZnVuY3Rpb24oIGVsZW1lbnQgKSB7DQoJCXZhciBwbGFjZWhvbGRlciwNCgkJCWNzc1Bvc2l0aW9uID0gZWxlbWVudC5jc3MoICJwb3NpdGlvbiIgKSwNCgkJCXBvc2l0aW9uID0gZWxlbWVudC5wb3NpdGlvbigpOw0KDQoJCS8vIExvY2sgaW4gbWFyZ2lucyBmaXJzdCB0byBhY2NvdW50IGZvciBmb3JtIGVsZW1lbnRzLCB3aGljaA0KCQkvLyB3aWxsIGNoYW5nZSBtYXJnaW4gaWYgeW91IGV4cGxpY2l0bHkgc2V0IGhlaWdodA0KCQkvLyBzZWU6IGh0dHA6Ly9qc2ZpZGRsZS5uZXQvSlpTTXQvMy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzM4MA0KCQkvLyBTdXBwb3J0OiBTYWZhcmkNCgkJZWxlbWVudC5jc3MoIHsNCgkJCW1hcmdpblRvcDogZWxlbWVudC5jc3MoICJtYXJnaW5Ub3AiICksDQoJCQltYXJnaW5Cb3R0b206IGVsZW1lbnQuY3NzKCAibWFyZ2luQm90dG9tIiApLA0KCQkJbWFyZ2luTGVmdDogZWxlbWVudC5jc3MoICJtYXJnaW5MZWZ0IiApLA0KCQkJbWFyZ2luUmlnaHQ6IGVsZW1lbnQuY3NzKCAibWFyZ2luUmlnaHQiICkNCgkJfSApDQoJCS5vdXRlcldpZHRoKCBlbGVtZW50Lm91dGVyV2lkdGgoKSApDQoJCS5vdXRlckhlaWdodCggZWxlbWVudC5vdXRlckhlaWdodCgpICk7DQoNCgkJaWYgKCAvXihzdGF0aWN8cmVsYXRpdmUpLy50ZXN0KCBjc3NQb3NpdGlvbiApICkgew0KCQkJY3NzUG9zaXRpb24gPSAiYWJzb2x1dGUiOw0KDQoJCQlwbGFjZWhvbGRlciA9ICQoICI8IiArIGVsZW1lbnRbIDAgXS5ub2RlTmFtZSArICI+IiApLmluc2VydEFmdGVyKCBlbGVtZW50ICkuY3NzKCB7DQoNCgkJCQkvLyBDb252ZXJ0IGlubGluZSB0byBpbmxpbmUgYmxvY2sgdG8gYWNjb3VudCBmb3IgaW5saW5lIGVsZW1lbnRzDQoJCQkJLy8gdGhhdCB0dXJuIHRvIGlubGluZSBibG9jayBiYXNlZCBvbiBjb250ZW50IChsaWtlIGltZykNCgkJCQlkaXNwbGF5OiAvXihpbmxpbmV8cnVieSkvLnRlc3QoIGVsZW1lbnQuY3NzKCAiZGlzcGxheSIgKSApID8NCgkJCQkJImlubGluZS1ibG9jayIgOg0KCQkJCQkiYmxvY2siLA0KCQkJCXZpc2liaWxpdHk6ICJoaWRkZW4iLA0KDQoJCQkJLy8gTWFyZ2lucyBuZWVkIHRvIGJlIHNldCB0byBhY2NvdW50IGZvciBtYXJnaW4gY29sbGFwc2UNCgkJCQltYXJnaW5Ub3A6IGVsZW1lbnQuY3NzKCAibWFyZ2luVG9wIiApLA0KCQkJCW1hcmdpbkJvdHRvbTogZWxlbWVudC5jc3MoICJtYXJnaW5Cb3R0b20iICksDQoJCQkJbWFyZ2luTGVmdDogZWxlbWVudC5jc3MoICJtYXJnaW5MZWZ0IiApLA0KCQkJCW1hcmdpblJpZ2h0OiBlbGVtZW50LmNzcyggIm1hcmdpblJpZ2h0IiApLA0KCQkJCSJmbG9hdCI6IGVsZW1lbnQuY3NzKCAiZmxvYXQiICkNCgkJCX0gKQ0KCQkJLm91dGVyV2lkdGgoIGVsZW1lbnQub3V0ZXJXaWR0aCgpICkNCgkJCS5vdXRlckhlaWdodCggZWxlbWVudC5vdXRlckhlaWdodCgpICkNCgkJCS5hZGRDbGFzcyggInVpLWVmZmVjdHMtcGxhY2Vob2xkZXIiICk7DQoNCgkJCWVsZW1lbnQuZGF0YSggZGF0YVNwYWNlICsgInBsYWNlaG9sZGVyIiwgcGxhY2Vob2xkZXIgKTsNCgkJfQ0KDQoJCWVsZW1lbnQuY3NzKCB7DQoJCQlwb3NpdGlvbjogY3NzUG9zaXRpb24sDQoJCQlsZWZ0OiBwb3NpdGlvbi5sZWZ0LA0KCQkJdG9wOiBwb3NpdGlvbi50b3ANCgkJfSApOw0KDQoJCXJldHVybiBwbGFjZWhvbGRlcjsNCgl9LA0KDQoJcmVtb3ZlUGxhY2Vob2xkZXI6IGZ1bmN0aW9uKCBlbGVtZW50ICkgew0KCQl2YXIgZGF0YUtleSA9IGRhdGFTcGFjZSArICJwbGFjZWhvbGRlciIsDQoJCQkJcGxhY2Vob2xkZXIgPSBlbGVtZW50LmRhdGEoIGRhdGFLZXkgKTsNCg0KCQlpZiAoIHBsYWNlaG9sZGVyICkgew0KCQkJcGxhY2Vob2xkZXIucmVtb3ZlKCk7DQoJCQllbGVtZW50LnJlbW92ZURhdGEoIGRhdGFLZXkgKTsNCgkJfQ0KCX0sDQoNCgkvLyBSZW1vdmVzIGEgcGxhY2Vob2xkZXIgaWYgaXQgZXhpc3RzIGFuZCByZXN0b3Jlcw0KCS8vIHByb3BlcnRpZXMgdGhhdCB3ZXJlIG1vZGlmaWVkIGR1cmluZyBwbGFjZWhvbGRlciBjcmVhdGlvbg0KCWNsZWFuVXA6IGZ1bmN0aW9uKCBlbGVtZW50ICkgew0KCQkkLmVmZmVjdHMucmVzdG9yZVN0eWxlKCBlbGVtZW50ICk7DQoJCSQuZWZmZWN0cy5yZW1vdmVQbGFjZWhvbGRlciggZWxlbWVudCApOw0KCX0sDQoNCglzZXRUcmFuc2l0aW9uOiBmdW5jdGlvbiggZWxlbWVudCwgbGlzdCwgZmFjdG9yLCB2YWx1ZSApIHsNCgkJdmFsdWUgPSB2YWx1ZSB8fCB7fTsNCgkJJC5lYWNoKCBsaXN0LCBmdW5jdGlvbiggaSwgeCApIHsNCgkJCXZhciB1bml0ID0gZWxlbWVudC5jc3NVbml0KCB4ICk7DQoJCQlpZiAoIHVuaXRbIDAgXSA+IDAgKSB7DQoJCQkJdmFsdWVbIHggXSA9IHVuaXRbIDAgXSAqIGZhY3RvciArIHVuaXRbIDEgXTsNCgkJCX0NCgkJfSApOw0KCQlyZXR1cm4gdmFsdWU7DQoJfQ0KfSApOw0KDQovLyBSZXR1cm4gYW4gZWZmZWN0IG9wdGlvbnMgb2JqZWN0IGZvciB0aGUgZ2l2ZW4gcGFyYW1ldGVyczoNCmZ1bmN0aW9uIF9ub3JtYWxpemVBcmd1bWVudHMoIGVmZmVjdCwgb3B0aW9ucywgc3BlZWQsIGNhbGxiYWNrICkgew0KDQoJLy8gQWxsb3cgcGFzc2luZyBhbGwgb3B0aW9ucyBhcyB0aGUgZmlyc3QgcGFyYW1ldGVyDQoJaWYgKCAkLmlzUGxhaW5PYmplY3QoIGVmZmVjdCApICkgew0KCQlvcHRpb25zID0gZWZmZWN0Ow0KCQllZmZlY3QgPSBlZmZlY3QuZWZmZWN0Ow0KCX0NCg0KCS8vIENvbnZlcnQgdG8gYW4gb2JqZWN0DQoJZWZmZWN0ID0geyBlZmZlY3Q6IGVmZmVjdCB9Ow0KDQoJLy8gQ2F0Y2ggKGVmZmVjdCwgbnVsbCwgLi4uKQ0KCWlmICggb3B0aW9ucyA9PSBudWxsICkgew0KCQlvcHRpb25zID0ge307DQoJfQ0KDQoJLy8gQ2F0Y2ggKGVmZmVjdCwgY2FsbGJhY2spDQoJaWYgKCAkLmlzRnVuY3Rpb24oIG9wdGlvbnMgKSApIHsNCgkJY2FsbGJhY2sgPSBvcHRpb25zOw0KCQlzcGVlZCA9IG51bGw7DQoJCW9wdGlvbnMgPSB7fTsNCgl9DQoNCgkvLyBDYXRjaCAoZWZmZWN0LCBzcGVlZCwgPykNCglpZiAoIHR5cGVvZiBvcHRpb25zID09PSAibnVtYmVyIiB8fCAkLmZ4LnNwZWVkc1sgb3B0aW9ucyBdICkgew0KCQljYWxsYmFjayA9IHNwZWVkOw0KCQlzcGVlZCA9IG9wdGlvbnM7DQoJCW9wdGlvbnMgPSB7fTsNCgl9DQoNCgkvLyBDYXRjaCAoZWZmZWN0LCBvcHRpb25zLCBjYWxsYmFjaykNCglpZiAoICQuaXNGdW5jdGlvbiggc3BlZWQgKSApIHsNCgkJY2FsbGJhY2sgPSBzcGVlZDsNCgkJc3BlZWQgPSBudWxsOw0KCX0NCg0KCS8vIEFkZCBvcHRpb25zIHRvIGVmZmVjdA0KCWlmICggb3B0aW9ucyApIHsNCgkJJC5leHRlbmQoIGVmZmVjdCwgb3B0aW9ucyApOw0KCX0NCg0KCXNwZWVkID0gc3BlZWQgfHwgb3B0aW9ucy5kdXJhdGlvbjsNCgllZmZlY3QuZHVyYXRpb24gPSAkLmZ4Lm9mZiA/IDAgOg0KCQl0eXBlb2Ygc3BlZWQgPT09ICJudW1iZXIiID8gc3BlZWQgOg0KCQlzcGVlZCBpbiAkLmZ4LnNwZWVkcyA/ICQuZnguc3BlZWRzWyBzcGVlZCBdIDoNCgkJJC5meC5zcGVlZHMuX2RlZmF1bHQ7DQoNCgllZmZlY3QuY29tcGxldGUgPSBjYWxsYmFjayB8fCBvcHRpb25zLmNvbXBsZXRlOw0KDQoJcmV0dXJuIGVmZmVjdDsNCn0NCg0KZnVuY3Rpb24gc3RhbmRhcmRBbmltYXRpb25PcHRpb24oIG9wdGlvbiApIHsNCg0KCS8vIFZhbGlkIHN0YW5kYXJkIHNwZWVkcyAobm90aGluZywgbnVtYmVyLCBuYW1lZCBzcGVlZCkNCglpZiAoICFvcHRpb24gfHwgdHlwZW9mIG9wdGlvbiA9PT0gIm51bWJlciIgfHwgJC5meC5zcGVlZHNbIG9wdGlvbiBdICkgew0KCQlyZXR1cm4gdHJ1ZTsNCgl9DQoNCgkvLyBJbnZhbGlkIHN0cmluZ3MgLSB0cmVhdCBhcyAibm9ybWFsIiBzcGVlZA0KCWlmICggdHlwZW9mIG9wdGlvbiA9PT0gInN0cmluZyIgJiYgISQuZWZmZWN0cy5lZmZlY3RbIG9wdGlvbiBdICkgew0KCQlyZXR1cm4gdHJ1ZTsNCgl9DQoNCgkvLyBDb21wbGV0ZSBjYWxsYmFjaw0KCWlmICggJC5pc0Z1bmN0aW9uKCBvcHRpb24gKSApIHsNCgkJcmV0dXJuIHRydWU7DQoJfQ0KDQoJLy8gT3B0aW9ucyBoYXNoIChidXQgbm90IG5hbWluZyBhbiBlZmZlY3QpDQoJaWYgKCB0eXBlb2Ygb3B0aW9uID09PSAib2JqZWN0IiAmJiAhb3B0aW9uLmVmZmVjdCApIHsNCgkJcmV0dXJuIHRydWU7DQoJfQ0KDQoJLy8gRGlkbid0IG1hdGNoIGFueSBzdGFuZGFyZCBBUEkNCglyZXR1cm4gZmFsc2U7DQp9DQoNCiQuZm4uZXh0ZW5kKCB7DQoJZWZmZWN0OiBmdW5jdGlvbiggLyogZWZmZWN0LCBvcHRpb25zLCBzcGVlZCwgY2FsbGJhY2sgKi8gKSB7DQoJCXZhciBhcmdzID0gX25vcm1hbGl6ZUFyZ3VtZW50cy5hcHBseSggdGhpcywgYXJndW1lbnRzICksDQoJCQllZmZlY3RNZXRob2QgPSAkLmVmZmVjdHMuZWZmZWN0WyBhcmdzLmVmZmVjdCBdLA0KCQkJZGVmYXVsdE1vZGUgPSBlZmZlY3RNZXRob2QubW9kZSwNCgkJCXF1ZXVlID0gYXJncy5xdWV1ZSwNCgkJCXF1ZXVlTmFtZSA9IHF1ZXVlIHx8ICJmeCIsDQoJCQljb21wbGV0ZSA9IGFyZ3MuY29tcGxldGUsDQoJCQltb2RlID0gYXJncy5tb2RlLA0KCQkJbW9kZXMgPSBbXSwNCgkJCXByZWZpbHRlciA9IGZ1bmN0aW9uKCBuZXh0ICkgew0KCQkJCXZhciBlbCA9ICQoIHRoaXMgKSwNCgkJCQkJbm9ybWFsaXplZE1vZGUgPSAkLmVmZmVjdHMubW9kZSggZWwsIG1vZGUgKSB8fCBkZWZhdWx0TW9kZTsNCg0KCQkJCS8vIFNlbnRpbmVsIGZvciBkdWNrLXB1bmNoaW5nIHRoZSA6YW5pbWF0ZWQgcHN1ZWRvLXNlbGVjdG9yDQoJCQkJZWwuZGF0YSggZGF0YVNwYWNlQW5pbWF0ZWQsIHRydWUgKTsNCg0KCQkJCS8vIFNhdmUgZWZmZWN0IG1vZGUgZm9yIGxhdGVyIHVzZSwNCgkJCQkvLyB3ZSBjYW4ndCBqdXN0IGNhbGwgJC5lZmZlY3RzLm1vZGUgYWdhaW4gbGF0ZXIsDQoJCQkJLy8gYXMgdGhlIC5zaG93KCkgYmVsb3cgZGVzdHJveXMgdGhlIGluaXRpYWwgc3RhdGUNCgkJCQltb2Rlcy5wdXNoKCBub3JtYWxpemVkTW9kZSApOw0KDQoJCQkJLy8gU2VlICQudWlCYWNrQ29tcGF0IGluc2lkZSBvZiBydW4oKSBmb3IgcmVtb3ZhbCBvZiBkZWZhdWx0TW9kZSBpbiAxLjEzDQoJCQkJaWYgKCBkZWZhdWx0TW9kZSAmJiAoIG5vcm1hbGl6ZWRNb2RlID09PSAic2hvdyIgfHwNCgkJCQkJCSggbm9ybWFsaXplZE1vZGUgPT09IGRlZmF1bHRNb2RlICYmIG5vcm1hbGl6ZWRNb2RlID09PSAiaGlkZSIgKSApICkgew0KCQkJCQllbC5zaG93KCk7DQoJCQkJfQ0KDQoJCQkJaWYgKCAhZGVmYXVsdE1vZGUgfHwgbm9ybWFsaXplZE1vZGUgIT09ICJub25lIiApIHsNCgkJCQkJJC5lZmZlY3RzLnNhdmVTdHlsZSggZWwgKTsNCgkJCQl9DQoNCgkJCQlpZiAoICQuaXNGdW5jdGlvbiggbmV4dCApICkgew0KCQkJCQluZXh0KCk7DQoJCQkJfQ0KCQkJfTsNCg0KCQlpZiAoICQuZngub2ZmIHx8ICFlZmZlY3RNZXRob2QgKSB7DQoNCgkJCS8vIERlbGVnYXRlIHRvIHRoZSBvcmlnaW5hbCBtZXRob2QgKGUuZy4sIC5zaG93KCkpIGlmIHBvc3NpYmxlDQoJCQlpZiAoIG1vZGUgKSB7DQoJCQkJcmV0dXJuIHRoaXNbIG1vZGUgXSggYXJncy5kdXJhdGlvbiwgY29tcGxldGUgKTsNCgkJCX0gZWxzZSB7DQoJCQkJcmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQkJCWlmICggY29tcGxldGUgKSB7DQoJCQkJCQljb21wbGV0ZS5jYWxsKCB0aGlzICk7DQoJCQkJCX0NCgkJCQl9ICk7DQoJCQl9DQoJCX0NCg0KCQlmdW5jdGlvbiBydW4oIG5leHQgKSB7DQoJCQl2YXIgZWxlbSA9ICQoIHRoaXMgKTsNCg0KCQkJZnVuY3Rpb24gY2xlYW51cCgpIHsNCgkJCQllbGVtLnJlbW92ZURhdGEoIGRhdGFTcGFjZUFuaW1hdGVkICk7DQoNCgkJCQkkLmVmZmVjdHMuY2xlYW5VcCggZWxlbSApOw0KDQoJCQkJaWYgKCBhcmdzLm1vZGUgPT09ICJoaWRlIiApIHsNCgkJCQkJZWxlbS5oaWRlKCk7DQoJCQkJfQ0KDQoJCQkJZG9uZSgpOw0KCQkJfQ0KDQoJCQlmdW5jdGlvbiBkb25lKCkgew0KCQkJCWlmICggJC5pc0Z1bmN0aW9uKCBjb21wbGV0ZSApICkgew0KCQkJCQljb21wbGV0ZS5jYWxsKCBlbGVtWyAwIF0gKTsNCgkJCQl9DQoNCgkJCQlpZiAoICQuaXNGdW5jdGlvbiggbmV4dCApICkgew0KCQkJCQluZXh0KCk7DQoJCQkJfQ0KCQkJfQ0KDQoJCQkvLyBPdmVycmlkZSBtb2RlIG9wdGlvbiBvbiBhIHBlciBlbGVtZW50IGJhc2lzLA0KCQkJLy8gYXMgdG9nZ2xlIGNhbiBiZSBlaXRoZXIgc2hvdyBvciBoaWRlIGRlcGVuZGluZyBvbiBlbGVtZW50IHN0YXRlDQoJCQlhcmdzLm1vZGUgPSBtb2Rlcy5zaGlmdCgpOw0KDQoJCQlpZiAoICQudWlCYWNrQ29tcGF0ICE9PSBmYWxzZSAmJiAhZGVmYXVsdE1vZGUgKSB7DQoJCQkJaWYgKCBlbGVtLmlzKCAiOmhpZGRlbiIgKSA/IG1vZGUgPT09ICJoaWRlIiA6IG1vZGUgPT09ICJzaG93IiApIHsNCg0KCQkJCQkvLyBDYWxsIHRoZSBjb3JlIG1ldGhvZCB0byB0cmFjayAib2xkZGlzcGxheSIgcHJvcGVybHkNCgkJCQkJZWxlbVsgbW9kZSBdKCk7DQoJCQkJCWRvbmUoKTsNCgkJCQl9IGVsc2Ugew0KCQkJCQllZmZlY3RNZXRob2QuY2FsbCggZWxlbVsgMCBdLCBhcmdzLCBkb25lICk7DQoJCQkJfQ0KCQkJfSBlbHNlIHsNCgkJCQlpZiAoIGFyZ3MubW9kZSA9PT0gIm5vbmUiICkgew0KDQoJCQkJCS8vIENhbGwgdGhlIGNvcmUgbWV0aG9kIHRvIHRyYWNrICJvbGRkaXNwbGF5IiBwcm9wZXJseQ0KCQkJCQllbGVtWyBtb2RlIF0oKTsNCgkJCQkJZG9uZSgpOw0KCQkJCX0gZWxzZSB7DQoJCQkJCWVmZmVjdE1ldGhvZC5jYWxsKCBlbGVtWyAwIF0sIGFyZ3MsIGNsZWFudXAgKTsNCgkJCQl9DQoJCQl9DQoJCX0NCg0KCQkvLyBSdW4gcHJlZmlsdGVyIG9uIGFsbCBlbGVtZW50cyBmaXJzdCB0byBlbnN1cmUgdGhhdA0KCQkvLyBhbnkgc2hvd2luZyBvciBoaWRpbmcgaGFwcGVucyBiZWZvcmUgcGxhY2Vob2xkZXIgY3JlYXRpb24sDQoJCS8vIHdoaWNoIGVuc3VyZXMgdGhhdCBhbnkgbGF5b3V0IGNoYW5nZXMgYXJlIGNvcnJlY3RseSBjYXB0dXJlZC4NCgkJcmV0dXJuIHF1ZXVlID09PSBmYWxzZSA/DQoJCQl0aGlzLmVhY2goIHByZWZpbHRlciApLmVhY2goIHJ1biApIDoNCgkJCXRoaXMucXVldWUoIHF1ZXVlTmFtZSwgcHJlZmlsdGVyICkucXVldWUoIHF1ZXVlTmFtZSwgcnVuICk7DQoJfSwNCg0KCXNob3c6ICggZnVuY3Rpb24oIG9yaWcgKSB7DQoJCXJldHVybiBmdW5jdGlvbiggb3B0aW9uICkgew0KCQkJaWYgKCBzdGFuZGFyZEFuaW1hdGlvbk9wdGlvbiggb3B0aW9uICkgKSB7DQoJCQkJcmV0dXJuIG9yaWcuYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApOw0KCQkJfSBlbHNlIHsNCgkJCQl2YXIgYXJncyA9IF9ub3JtYWxpemVBcmd1bWVudHMuYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApOw0KCQkJCWFyZ3MubW9kZSA9ICJzaG93IjsNCgkJCQlyZXR1cm4gdGhpcy5lZmZlY3QuY2FsbCggdGhpcywgYXJncyApOw0KCQkJfQ0KCQl9Ow0KCX0gKSggJC5mbi5zaG93ICksDQoNCgloaWRlOiAoIGZ1bmN0aW9uKCBvcmlnICkgew0KCQlyZXR1cm4gZnVuY3Rpb24oIG9wdGlvbiApIHsNCgkJCWlmICggc3RhbmRhcmRBbmltYXRpb25PcHRpb24oIG9wdGlvbiApICkgew0KCQkJCXJldHVybiBvcmlnLmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKTsNCgkJCX0gZWxzZSB7DQoJCQkJdmFyIGFyZ3MgPSBfbm9ybWFsaXplQXJndW1lbnRzLmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKTsNCgkJCQlhcmdzLm1vZGUgPSAiaGlkZSI7DQoJCQkJcmV0dXJuIHRoaXMuZWZmZWN0LmNhbGwoIHRoaXMsIGFyZ3MgKTsNCgkJCX0NCgkJfTsNCgl9ICkoICQuZm4uaGlkZSApLA0KDQoJdG9nZ2xlOiAoIGZ1bmN0aW9uKCBvcmlnICkgew0KCQlyZXR1cm4gZnVuY3Rpb24oIG9wdGlvbiApIHsNCgkJCWlmICggc3RhbmRhcmRBbmltYXRpb25PcHRpb24oIG9wdGlvbiApIHx8IHR5cGVvZiBvcHRpb24gPT09ICJib29sZWFuIiApIHsNCgkJCQlyZXR1cm4gb3JpZy5hcHBseSggdGhpcywgYXJndW1lbnRzICk7DQoJCQl9IGVsc2Ugew0KCQkJCXZhciBhcmdzID0gX25vcm1hbGl6ZUFyZ3VtZW50cy5hcHBseSggdGhpcywgYXJndW1lbnRzICk7DQoJCQkJYXJncy5tb2RlID0gInRvZ2dsZSI7DQoJCQkJcmV0dXJuIHRoaXMuZWZmZWN0LmNhbGwoIHRoaXMsIGFyZ3MgKTsNCgkJCX0NCgkJfTsNCgl9ICkoICQuZm4udG9nZ2xlICksDQoNCgljc3NVbml0OiBmdW5jdGlvbigga2V5ICkgew0KCQl2YXIgc3R5bGUgPSB0aGlzLmNzcygga2V5ICksDQoJCQl2YWwgPSBbXTsNCg0KCQkkLmVhY2goIFsgImVtIiwgInB4IiwgIiUiLCAicHQiIF0sIGZ1bmN0aW9uKCBpLCB1bml0ICkgew0KCQkJaWYgKCBzdHlsZS5pbmRleE9mKCB1bml0ICkgPiAwICkgew0KCQkJCXZhbCA9IFsgcGFyc2VGbG9hdCggc3R5bGUgKSwgdW5pdCBdOw0KCQkJfQ0KCQl9ICk7DQoJCXJldHVybiB2YWw7DQoJfSwNCg0KCWNzc0NsaXA6IGZ1bmN0aW9uKCBjbGlwT2JqICkgew0KCQlpZiAoIGNsaXBPYmogKSB7DQoJCQlyZXR1cm4gdGhpcy5jc3MoICJjbGlwIiwgInJlY3QoIiArIGNsaXBPYmoudG9wICsgInB4ICIgKyBjbGlwT2JqLnJpZ2h0ICsgInB4ICIgKw0KCQkJCWNsaXBPYmouYm90dG9tICsgInB4ICIgKyBjbGlwT2JqLmxlZnQgKyAicHgpIiApOw0KCQl9DQoJCXJldHVybiBwYXJzZUNsaXAoIHRoaXMuY3NzKCAiY2xpcCIgKSwgdGhpcyApOw0KCX0sDQoNCgl0cmFuc2ZlcjogZnVuY3Rpb24oIG9wdGlvbnMsIGRvbmUgKSB7DQoJCXZhciBlbGVtZW50ID0gJCggdGhpcyApLA0KCQkJdGFyZ2V0ID0gJCggb3B0aW9ucy50byApLA0KCQkJdGFyZ2V0Rml4ZWQgPSB0YXJnZXQuY3NzKCAicG9zaXRpb24iICkgPT09ICJmaXhlZCIsDQoJCQlib2R5ID0gJCggImJvZHkiICksDQoJCQlmaXhUb3AgPSB0YXJnZXRGaXhlZCA/IGJvZHkuc2Nyb2xsVG9wKCkgOiAwLA0KCQkJZml4TGVmdCA9IHRhcmdldEZpeGVkID8gYm9keS5zY3JvbGxMZWZ0KCkgOiAwLA0KCQkJZW5kUG9zaXRpb24gPSB0YXJnZXQub2Zmc2V0KCksDQoJCQlhbmltYXRpb24gPSB7DQoJCQkJdG9wOiBlbmRQb3NpdGlvbi50b3AgLSBmaXhUb3AsDQoJCQkJbGVmdDogZW5kUG9zaXRpb24ubGVmdCAtIGZpeExlZnQsDQoJCQkJaGVpZ2h0OiB0YXJnZXQuaW5uZXJIZWlnaHQoKSwNCgkJCQl3aWR0aDogdGFyZ2V0LmlubmVyV2lkdGgoKQ0KCQkJfSwNCgkJCXN0YXJ0UG9zaXRpb24gPSBlbGVtZW50Lm9mZnNldCgpLA0KCQkJdHJhbnNmZXIgPSAkKCAiPGRpdiBjbGFzcz0ndWktZWZmZWN0cy10cmFuc2Zlcic+PC9kaXY+IiApDQoJCQkJLmFwcGVuZFRvKCAiYm9keSIgKQ0KCQkJCS5hZGRDbGFzcyggb3B0aW9ucy5jbGFzc05hbWUgKQ0KCQkJCS5jc3MoIHsNCgkJCQkJdG9wOiBzdGFydFBvc2l0aW9uLnRvcCAtIGZpeFRvcCwNCgkJCQkJbGVmdDogc3RhcnRQb3NpdGlvbi5sZWZ0IC0gZml4TGVmdCwNCgkJCQkJaGVpZ2h0OiBlbGVtZW50LmlubmVySGVpZ2h0KCksDQoJCQkJCXdpZHRoOiBlbGVtZW50LmlubmVyV2lkdGgoKSwNCgkJCQkJcG9zaXRpb246IHRhcmdldEZpeGVkID8gImZpeGVkIiA6ICJhYnNvbHV0ZSINCgkJCQl9ICkNCgkJCQkuYW5pbWF0ZSggYW5pbWF0aW9uLCBvcHRpb25zLmR1cmF0aW9uLCBvcHRpb25zLmVhc2luZywgZnVuY3Rpb24oKSB7DQoJCQkJCXRyYW5zZmVyLnJlbW92ZSgpOw0KCQkJCQlpZiAoICQuaXNGdW5jdGlvbiggZG9uZSApICkgew0KCQkJCQkJZG9uZSgpOw0KCQkJCQl9DQoNCgkJCQl9ICk7DQoJfQ0KfSApOw0KDQpmdW5jdGlvbiBwYXJzZUNsaXAoIHN0ciwgZWxlbWVudCApIHsNCgkJdmFyIG91dGVyV2lkdGggPSBlbGVtZW50Lm91dGVyV2lkdGgoKSwNCgkJCW91dGVySGVpZ2h0ID0gZWxlbWVudC5vdXRlckhlaWdodCgpLA0KCQkJY2xpcFJlZ2V4ID0gL15yZWN0XCgoLT9cZCpcLj9cZCpweHwtP1xkKyV8YXV0byksP1xzKigtP1xkKlwuP1xkKnB4fC0/XGQrJXxhdXRvKSw/XHMqKC0/XGQqXC4/XGQqcHh8LT9cZCslfGF1dG8pLD9ccyooLT9cZCpcLj9cZCpweHwtP1xkKyV8YXV0bylcKSQvLA0KCQkJdmFsdWVzID0gY2xpcFJlZ2V4LmV4ZWMoIHN0ciApIHx8IFsgIiIsIDAsIG91dGVyV2lkdGgsIG91dGVySGVpZ2h0LCAwIF07DQoNCgkJcmV0dXJuIHsNCgkJCXRvcDogcGFyc2VGbG9hdCggdmFsdWVzWyAxIF0gKSB8fCAwLA0KCQkJcmlnaHQ6IHZhbHVlc1sgMiBdID09PSAiYXV0byIgPyBvdXRlcldpZHRoIDogcGFyc2VGbG9hdCggdmFsdWVzWyAyIF0gKSwNCgkJCWJvdHRvbTogdmFsdWVzWyAzIF0gPT09ICJhdXRvIiA/IG91dGVySGVpZ2h0IDogcGFyc2VGbG9hdCggdmFsdWVzWyAzIF0gKSwNCgkJCWxlZnQ6IHBhcnNlRmxvYXQoIHZhbHVlc1sgNCBdICkgfHwgMA0KCQl9Ow0KfQ0KDQokLmZ4LnN0ZXAuY2xpcCA9IGZ1bmN0aW9uKCBmeCApIHsNCglpZiAoICFmeC5jbGlwSW5pdCApIHsNCgkJZnguc3RhcnQgPSAkKCBmeC5lbGVtICkuY3NzQ2xpcCgpOw0KCQlpZiAoIHR5cGVvZiBmeC5lbmQgPT09ICJzdHJpbmciICkgew0KCQkJZnguZW5kID0gcGFyc2VDbGlwKCBmeC5lbmQsIGZ4LmVsZW0gKTsNCgkJfQ0KCQlmeC5jbGlwSW5pdCA9IHRydWU7DQoJfQ0KDQoJJCggZnguZWxlbSApLmNzc0NsaXAoIHsNCgkJdG9wOiBmeC5wb3MgKiAoIGZ4LmVuZC50b3AgLSBmeC5zdGFydC50b3AgKSArIGZ4LnN0YXJ0LnRvcCwNCgkJcmlnaHQ6IGZ4LnBvcyAqICggZnguZW5kLnJpZ2h0IC0gZnguc3RhcnQucmlnaHQgKSArIGZ4LnN0YXJ0LnJpZ2h0LA0KCQlib3R0b206IGZ4LnBvcyAqICggZnguZW5kLmJvdHRvbSAtIGZ4LnN0YXJ0LmJvdHRvbSApICsgZnguc3RhcnQuYm90dG9tLA0KCQlsZWZ0OiBmeC5wb3MgKiAoIGZ4LmVuZC5sZWZ0IC0gZnguc3RhcnQubGVmdCApICsgZnguc3RhcnQubGVmdA0KCX0gKTsNCn07DQoNCn0gKSgpOw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEVBU0lORyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCiggZnVuY3Rpb24oKSB7DQoNCi8vIEJhc2VkIG9uIGVhc2luZyBlcXVhdGlvbnMgZnJvbSBSb2JlcnQgUGVubmVyIChodHRwOi8vd3d3LnJvYmVydHBlbm5lci5jb20vZWFzaW5nKQ0KDQp2YXIgYmFzZUVhc2luZ3MgPSB7fTsNCg0KJC5lYWNoKCBbICJRdWFkIiwgIkN1YmljIiwgIlF1YXJ0IiwgIlF1aW50IiwgIkV4cG8iIF0sIGZ1bmN0aW9uKCBpLCBuYW1lICkgew0KCWJhc2VFYXNpbmdzWyBuYW1lIF0gPSBmdW5jdGlvbiggcCApIHsNCgkJcmV0dXJuIE1hdGgucG93KCBwLCBpICsgMiApOw0KCX07DQp9ICk7DQoNCiQuZXh0ZW5kKCBiYXNlRWFzaW5ncywgew0KCVNpbmU6IGZ1bmN0aW9uKCBwICkgew0KCQlyZXR1cm4gMSAtIE1hdGguY29zKCBwICogTWF0aC5QSSAvIDIgKTsNCgl9LA0KCUNpcmM6IGZ1bmN0aW9uKCBwICkgew0KCQlyZXR1cm4gMSAtIE1hdGguc3FydCggMSAtIHAgKiBwICk7DQoJfSwNCglFbGFzdGljOiBmdW5jdGlvbiggcCApIHsNCgkJcmV0dXJuIHAgPT09IDAgfHwgcCA9PT0gMSA/IHAgOg0KCQkJLU1hdGgucG93KCAyLCA4ICogKCBwIC0gMSApICkgKiBNYXRoLnNpbiggKCAoIHAgLSAxICkgKiA4MCAtIDcuNSApICogTWF0aC5QSSAvIDE1ICk7DQoJfSwNCglCYWNrOiBmdW5jdGlvbiggcCApIHsNCgkJcmV0dXJuIHAgKiBwICogKCAzICogcCAtIDIgKTsNCgl9LA0KCUJvdW5jZTogZnVuY3Rpb24oIHAgKSB7DQoJCXZhciBwb3cyLA0KCQkJYm91bmNlID0gNDsNCg0KCQl3aGlsZSAoIHAgPCAoICggcG93MiA9IE1hdGgucG93KCAyLCAtLWJvdW5jZSApICkgLSAxICkgLyAxMSApIHt9DQoJCXJldHVybiAxIC8gTWF0aC5wb3coIDQsIDMgLSBib3VuY2UgKSAtIDcuNTYyNSAqIE1hdGgucG93KCAoIHBvdzIgKiAzIC0gMiApIC8gMjIgLSBwLCAyICk7DQoJfQ0KfSApOw0KDQokLmVhY2goIGJhc2VFYXNpbmdzLCBmdW5jdGlvbiggbmFtZSwgZWFzZUluICkgew0KCSQuZWFzaW5nWyAiZWFzZUluIiArIG5hbWUgXSA9IGVhc2VJbjsNCgkkLmVhc2luZ1sgImVhc2VPdXQiICsgbmFtZSBdID0gZnVuY3Rpb24oIHAgKSB7DQoJCXJldHVybiAxIC0gZWFzZUluKCAxIC0gcCApOw0KCX07DQoJJC5lYXNpbmdbICJlYXNlSW5PdXQiICsgbmFtZSBdID0gZnVuY3Rpb24oIHAgKSB7DQoJCXJldHVybiBwIDwgMC41ID8NCgkJCWVhc2VJbiggcCAqIDIgKSAvIDIgOg0KCQkJMSAtIGVhc2VJbiggcCAqIC0yICsgMiApIC8gMjsNCgl9Ow0KfSApOw0KDQp9ICkoKTsNCg0KdmFyIGVmZmVjdCA9ICQuZWZmZWN0czsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBFZmZlY3RzIEJsaW5kIDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKi8NCg0KLy8+PmxhYmVsOiBCbGluZCBFZmZlY3QNCi8vPj5ncm91cDogRWZmZWN0cw0KLy8+PmRlc2NyaXB0aW9uOiBCbGluZHMgdGhlIGVsZW1lbnQuDQovLz4+ZG9jczogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vYmxpbmQtZWZmZWN0Lw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL2VmZmVjdC8NCg0KDQoNCnZhciBlZmZlY3RzRWZmZWN0QmxpbmQgPSAkLmVmZmVjdHMuZGVmaW5lKCAiYmxpbmQiLCAiaGlkZSIsIGZ1bmN0aW9uKCBvcHRpb25zLCBkb25lICkgew0KCXZhciBtYXAgPSB7DQoJCQl1cDogWyAiYm90dG9tIiwgInRvcCIgXSwNCgkJCXZlcnRpY2FsOiBbICJib3R0b20iLCAidG9wIiBdLA0KCQkJZG93bjogWyAidG9wIiwgImJvdHRvbSIgXSwNCgkJCWxlZnQ6IFsgInJpZ2h0IiwgImxlZnQiIF0sDQoJCQlob3Jpem9udGFsOiBbICJyaWdodCIsICJsZWZ0IiBdLA0KCQkJcmlnaHQ6IFsgImxlZnQiLCAicmlnaHQiIF0NCgkJfSwNCgkJZWxlbWVudCA9ICQoIHRoaXMgKSwNCgkJZGlyZWN0aW9uID0gb3B0aW9ucy5kaXJlY3Rpb24gfHwgInVwIiwNCgkJc3RhcnQgPSBlbGVtZW50LmNzc0NsaXAoKSwNCgkJYW5pbWF0ZSA9IHsgY2xpcDogJC5leHRlbmQoIHt9LCBzdGFydCApIH0sDQoJCXBsYWNlaG9sZGVyID0gJC5lZmZlY3RzLmNyZWF0ZVBsYWNlaG9sZGVyKCBlbGVtZW50ICk7DQoNCglhbmltYXRlLmNsaXBbIG1hcFsgZGlyZWN0aW9uIF1bIDAgXSBdID0gYW5pbWF0ZS5jbGlwWyBtYXBbIGRpcmVjdGlvbiBdWyAxIF0gXTsNCg0KCWlmICggb3B0aW9ucy5tb2RlID09PSAic2hvdyIgKSB7DQoJCWVsZW1lbnQuY3NzQ2xpcCggYW5pbWF0ZS5jbGlwICk7DQoJCWlmICggcGxhY2Vob2xkZXIgKSB7DQoJCQlwbGFjZWhvbGRlci5jc3MoICQuZWZmZWN0cy5jbGlwVG9Cb3goIGFuaW1hdGUgKSApOw0KCQl9DQoNCgkJYW5pbWF0ZS5jbGlwID0gc3RhcnQ7DQoJfQ0KDQoJaWYgKCBwbGFjZWhvbGRlciApIHsNCgkJcGxhY2Vob2xkZXIuYW5pbWF0ZSggJC5lZmZlY3RzLmNsaXBUb0JveCggYW5pbWF0ZSApLCBvcHRpb25zLmR1cmF0aW9uLCBvcHRpb25zLmVhc2luZyApOw0KCX0NCg0KCWVsZW1lbnQuYW5pbWF0ZSggYW5pbWF0ZSwgew0KCQlxdWV1ZTogZmFsc2UsDQoJCWR1cmF0aW9uOiBvcHRpb25zLmR1cmF0aW9uLA0KCQllYXNpbmc6IG9wdGlvbnMuZWFzaW5nLA0KCQljb21wbGV0ZTogZG9uZQ0KCX0gKTsNCn0gKTsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBFZmZlY3RzIEJvdW5jZSAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogQm91bmNlIEVmZmVjdA0KLy8+Pmdyb3VwOiBFZmZlY3RzDQovLz4+ZGVzY3JpcHRpb246IEJvdW5jZXMgYW4gZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBuIHRpbWVzLg0KLy8+PmRvY3M6IGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL2JvdW5jZS1lZmZlY3QvDQovLz4+ZGVtb3M6IGh0dHA6Ly9qcXVlcnl1aS5jb20vZWZmZWN0Lw0KDQoNCg0KdmFyIGVmZmVjdHNFZmZlY3RCb3VuY2UgPSAkLmVmZmVjdHMuZGVmaW5lKCAiYm91bmNlIiwgZnVuY3Rpb24oIG9wdGlvbnMsIGRvbmUgKSB7DQoJdmFyIHVwQW5pbSwgZG93bkFuaW0sIHJlZlZhbHVlLA0KCQllbGVtZW50ID0gJCggdGhpcyApLA0KDQoJCS8vIERlZmF1bHRzOg0KCQltb2RlID0gb3B0aW9ucy5tb2RlLA0KCQloaWRlID0gbW9kZSA9PT0gImhpZGUiLA0KCQlzaG93ID0gbW9kZSA9PT0gInNob3ciLA0KCQlkaXJlY3Rpb24gPSBvcHRpb25zLmRpcmVjdGlvbiB8fCAidXAiLA0KCQlkaXN0YW5jZSA9IG9wdGlvbnMuZGlzdGFuY2UsDQoJCXRpbWVzID0gb3B0aW9ucy50aW1lcyB8fCA1LA0KDQoJCS8vIE51bWJlciBvZiBpbnRlcm5hbCBhbmltYXRpb25zDQoJCWFuaW1zID0gdGltZXMgKiAyICsgKCBzaG93IHx8IGhpZGUgPyAxIDogMCApLA0KCQlzcGVlZCA9IG9wdGlvbnMuZHVyYXRpb24gLyBhbmltcywNCgkJZWFzaW5nID0gb3B0aW9ucy5lYXNpbmcsDQoNCgkJLy8gVXRpbGl0eToNCgkJcmVmID0gKCBkaXJlY3Rpb24gPT09ICJ1cCIgfHwgZGlyZWN0aW9uID09PSAiZG93biIgKSA/ICJ0b3AiIDogImxlZnQiLA0KCQltb3Rpb24gPSAoIGRpcmVjdGlvbiA9PT0gInVwIiB8fCBkaXJlY3Rpb24gPT09ICJsZWZ0IiApLA0KCQlpID0gMCwNCg0KCQlxdWV1ZWxlbiA9IGVsZW1lbnQucXVldWUoKS5sZW5ndGg7DQoNCgkkLmVmZmVjdHMuY3JlYXRlUGxhY2Vob2xkZXIoIGVsZW1lbnQgKTsNCg0KCXJlZlZhbHVlID0gZWxlbWVudC5jc3MoIHJlZiApOw0KDQoJLy8gRGVmYXVsdCBkaXN0YW5jZSBmb3IgdGhlIEJJR0dFU1QgYm91bmNlIGlzIHRoZSBvdXRlciBEaXN0YW5jZSAvIDMNCglpZiAoICFkaXN0YW5jZSApIHsNCgkJZGlzdGFuY2UgPSBlbGVtZW50WyByZWYgPT09ICJ0b3AiID8gIm91dGVySGVpZ2h0IiA6ICJvdXRlcldpZHRoIiBdKCkgLyAzOw0KCX0NCg0KCWlmICggc2hvdyApIHsNCgkJZG93bkFuaW0gPSB7IG9wYWNpdHk6IDEgfTsNCgkJZG93bkFuaW1bIHJlZiBdID0gcmVmVmFsdWU7DQoNCgkJLy8gSWYgd2UgYXJlIHNob3dpbmcsIGZvcmNlIG9wYWNpdHkgMCBhbmQgc2V0IHRoZSBpbml0aWFsIHBvc2l0aW9uDQoJCS8vIHRoZW4gZG8gdGhlICJmaXJzdCIgYW5pbWF0aW9uDQoJCWVsZW1lbnQNCgkJCS5jc3MoICJvcGFjaXR5IiwgMCApDQoJCQkuY3NzKCByZWYsIG1vdGlvbiA/IC1kaXN0YW5jZSAqIDIgOiBkaXN0YW5jZSAqIDIgKQ0KCQkJLmFuaW1hdGUoIGRvd25BbmltLCBzcGVlZCwgZWFzaW5nICk7DQoJfQ0KDQoJLy8gU3RhcnQgYXQgdGhlIHNtYWxsZXN0IGRpc3RhbmNlIGlmIHdlIGFyZSBoaWRpbmcNCglpZiAoIGhpZGUgKSB7DQoJCWRpc3RhbmNlID0gZGlzdGFuY2UgLyBNYXRoLnBvdyggMiwgdGltZXMgLSAxICk7DQoJfQ0KDQoJZG93bkFuaW0gPSB7fTsNCglkb3duQW5pbVsgcmVmIF0gPSByZWZWYWx1ZTsNCg0KCS8vIEJvdW5jZXMgdXAvZG93bi9sZWZ0L3JpZ2h0IHRoZW4gYmFjayB0byAwIC0tIHRpbWVzICogMiBhbmltYXRpb25zIGhhcHBlbiBoZXJlDQoJZm9yICggOyBpIDwgdGltZXM7IGkrKyApIHsNCgkJdXBBbmltID0ge307DQoJCXVwQW5pbVsgcmVmIF0gPSAoIG1vdGlvbiA/ICItPSIgOiAiKz0iICkgKyBkaXN0YW5jZTsNCg0KCQllbGVtZW50DQoJCQkuYW5pbWF0ZSggdXBBbmltLCBzcGVlZCwgZWFzaW5nICkNCgkJCS5hbmltYXRlKCBkb3duQW5pbSwgc3BlZWQsIGVhc2luZyApOw0KDQoJCWRpc3RhbmNlID0gaGlkZSA/IGRpc3RhbmNlICogMiA6IGRpc3RhbmNlIC8gMjsNCgl9DQoNCgkvLyBMYXN0IEJvdW5jZSB3aGVuIEhpZGluZw0KCWlmICggaGlkZSApIHsNCgkJdXBBbmltID0geyBvcGFjaXR5OiAwIH07DQoJCXVwQW5pbVsgcmVmIF0gPSAoIG1vdGlvbiA/ICItPSIgOiAiKz0iICkgKyBkaXN0YW5jZTsNCg0KCQllbGVtZW50LmFuaW1hdGUoIHVwQW5pbSwgc3BlZWQsIGVhc2luZyApOw0KCX0NCg0KCWVsZW1lbnQucXVldWUoIGRvbmUgKTsNCg0KCSQuZWZmZWN0cy51bnNoaWZ0KCBlbGVtZW50LCBxdWV1ZWxlbiwgYW5pbXMgKyAxICk7DQp9ICk7DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgRWZmZWN0cyBDbGlwIDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKi8NCg0KLy8+PmxhYmVsOiBDbGlwIEVmZmVjdA0KLy8+Pmdyb3VwOiBFZmZlY3RzDQovLz4+ZGVzY3JpcHRpb246IENsaXBzIHRoZSBlbGVtZW50IG9uIGFuZCBvZmYgbGlrZSBhbiBvbGQgVFYuDQovLz4+ZG9jczogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vY2xpcC1lZmZlY3QvDQovLz4+ZGVtb3M6IGh0dHA6Ly9qcXVlcnl1aS5jb20vZWZmZWN0Lw0KDQoNCg0KdmFyIGVmZmVjdHNFZmZlY3RDbGlwID0gJC5lZmZlY3RzLmRlZmluZSggImNsaXAiLCAiaGlkZSIsIGZ1bmN0aW9uKCBvcHRpb25zLCBkb25lICkgew0KCXZhciBzdGFydCwNCgkJYW5pbWF0ZSA9IHt9LA0KCQllbGVtZW50ID0gJCggdGhpcyApLA0KCQlkaXJlY3Rpb24gPSBvcHRpb25zLmRpcmVjdGlvbiB8fCAidmVydGljYWwiLA0KCQlib3RoID0gZGlyZWN0aW9uID09PSAiYm90aCIsDQoJCWhvcml6b250YWwgPSBib3RoIHx8IGRpcmVjdGlvbiA9PT0gImhvcml6b250YWwiLA0KCQl2ZXJ0aWNhbCA9IGJvdGggfHwgZGlyZWN0aW9uID09PSAidmVydGljYWwiOw0KDQoJc3RhcnQgPSBlbGVtZW50LmNzc0NsaXAoKTsNCglhbmltYXRlLmNsaXAgPSB7DQoJCXRvcDogdmVydGljYWwgPyAoIHN0YXJ0LmJvdHRvbSAtIHN0YXJ0LnRvcCApIC8gMiA6IHN0YXJ0LnRvcCwNCgkJcmlnaHQ6IGhvcml6b250YWwgPyAoIHN0YXJ0LnJpZ2h0IC0gc3RhcnQubGVmdCApIC8gMiA6IHN0YXJ0LnJpZ2h0LA0KCQlib3R0b206IHZlcnRpY2FsID8gKCBzdGFydC5ib3R0b20gLSBzdGFydC50b3AgKSAvIDIgOiBzdGFydC5ib3R0b20sDQoJCWxlZnQ6IGhvcml6b250YWwgPyAoIHN0YXJ0LnJpZ2h0IC0gc3RhcnQubGVmdCApIC8gMiA6IHN0YXJ0LmxlZnQNCgl9Ow0KDQoJJC5lZmZlY3RzLmNyZWF0ZVBsYWNlaG9sZGVyKCBlbGVtZW50ICk7DQoNCglpZiAoIG9wdGlvbnMubW9kZSA9PT0gInNob3ciICkgew0KCQllbGVtZW50LmNzc0NsaXAoIGFuaW1hdGUuY2xpcCApOw0KCQlhbmltYXRlLmNsaXAgPSBzdGFydDsNCgl9DQoNCgllbGVtZW50LmFuaW1hdGUoIGFuaW1hdGUsIHsNCgkJcXVldWU6IGZhbHNlLA0KCQlkdXJhdGlvbjogb3B0aW9ucy5kdXJhdGlvbiwNCgkJZWFzaW5nOiBvcHRpb25zLmVhc2luZywNCgkJY29tcGxldGU6IGRvbmUNCgl9ICk7DQoNCn0gKTsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBFZmZlY3RzIERyb3AgMS4xMi4xDQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqLw0KDQovLz4+bGFiZWw6IERyb3AgRWZmZWN0DQovLz4+Z3JvdXA6IEVmZmVjdHMNCi8vPj5kZXNjcmlwdGlvbjogTW92ZXMgYW4gZWxlbWVudCBpbiBvbmUgZGlyZWN0aW9uIGFuZCBoaWRlcyBpdCBhdCB0aGUgc2FtZSB0aW1lLg0KLy8+PmRvY3M6IGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL2Ryb3AtZWZmZWN0Lw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL2VmZmVjdC8NCg0KDQoNCnZhciBlZmZlY3RzRWZmZWN0RHJvcCA9ICQuZWZmZWN0cy5kZWZpbmUoICJkcm9wIiwgImhpZGUiLCBmdW5jdGlvbiggb3B0aW9ucywgZG9uZSApIHsNCg0KCXZhciBkaXN0YW5jZSwNCgkJZWxlbWVudCA9ICQoIHRoaXMgKSwNCgkJbW9kZSA9IG9wdGlvbnMubW9kZSwNCgkJc2hvdyA9IG1vZGUgPT09ICJzaG93IiwNCgkJZGlyZWN0aW9uID0gb3B0aW9ucy5kaXJlY3Rpb24gfHwgImxlZnQiLA0KCQlyZWYgPSAoIGRpcmVjdGlvbiA9PT0gInVwIiB8fCBkaXJlY3Rpb24gPT09ICJkb3duIiApID8gInRvcCIgOiAibGVmdCIsDQoJCW1vdGlvbiA9ICggZGlyZWN0aW9uID09PSAidXAiIHx8IGRpcmVjdGlvbiA9PT0gImxlZnQiICkgPyAiLT0iIDogIis9IiwNCgkJb3Bwb3NpdGVNb3Rpb24gPSAoIG1vdGlvbiA9PT0gIis9IiApID8gIi09IiA6ICIrPSIsDQoJCWFuaW1hdGlvbiA9IHsNCgkJCW9wYWNpdHk6IDANCgkJfTsNCg0KCSQuZWZmZWN0cy5jcmVhdGVQbGFjZWhvbGRlciggZWxlbWVudCApOw0KDQoJZGlzdGFuY2UgPSBvcHRpb25zLmRpc3RhbmNlIHx8DQoJCWVsZW1lbnRbIHJlZiA9PT0gInRvcCIgPyAib3V0ZXJIZWlnaHQiIDogIm91dGVyV2lkdGgiIF0oIHRydWUgKSAvIDI7DQoNCglhbmltYXRpb25bIHJlZiBdID0gbW90aW9uICsgZGlzdGFuY2U7DQoNCglpZiAoIHNob3cgKSB7DQoJCWVsZW1lbnQuY3NzKCBhbmltYXRpb24gKTsNCg0KCQlhbmltYXRpb25bIHJlZiBdID0gb3Bwb3NpdGVNb3Rpb24gKyBkaXN0YW5jZTsNCgkJYW5pbWF0aW9uLm9wYWNpdHkgPSAxOw0KCX0NCg0KCS8vIEFuaW1hdGUNCgllbGVtZW50LmFuaW1hdGUoIGFuaW1hdGlvbiwgew0KCQlxdWV1ZTogZmFsc2UsDQoJCWR1cmF0aW9uOiBvcHRpb25zLmR1cmF0aW9uLA0KCQllYXNpbmc6IG9wdGlvbnMuZWFzaW5nLA0KCQljb21wbGV0ZTogZG9uZQ0KCX0gKTsNCn0gKTsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBFZmZlY3RzIEV4cGxvZGUgMS4xMi4xDQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqLw0KDQovLz4+bGFiZWw6IEV4cGxvZGUgRWZmZWN0DQovLz4+Z3JvdXA6IEVmZmVjdHMNCi8vIGpzY3M6ZGlzYWJsZSBtYXhpbXVtTGluZUxlbmd0aA0KLy8+PmRlc2NyaXB0aW9uOiBFeHBsb2RlcyBhbiBlbGVtZW50IGluIGFsbCBkaXJlY3Rpb25zIGludG8gbiBwaWVjZXMuIEltcGxvZGVzIGFuIGVsZW1lbnQgdG8gaXRzIG9yaWdpbmFsIHdob2xlbmVzcy4NCi8vIGpzY3M6ZW5hYmxlIG1heGltdW1MaW5lTGVuZ3RoDQovLz4+ZG9jczogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vZXhwbG9kZS1lZmZlY3QvDQovLz4+ZGVtb3M6IGh0dHA6Ly9qcXVlcnl1aS5jb20vZWZmZWN0Lw0KDQoNCg0KdmFyIGVmZmVjdHNFZmZlY3RFeHBsb2RlID0gJC5lZmZlY3RzLmRlZmluZSggImV4cGxvZGUiLCAiaGlkZSIsIGZ1bmN0aW9uKCBvcHRpb25zLCBkb25lICkgew0KDQoJdmFyIGksIGosIGxlZnQsIHRvcCwgbXgsIG15LA0KCQlyb3dzID0gb3B0aW9ucy5waWVjZXMgPyBNYXRoLnJvdW5kKCBNYXRoLnNxcnQoIG9wdGlvbnMucGllY2VzICkgKSA6IDMsDQoJCWNlbGxzID0gcm93cywNCgkJZWxlbWVudCA9ICQoIHRoaXMgKSwNCgkJbW9kZSA9IG9wdGlvbnMubW9kZSwNCgkJc2hvdyA9IG1vZGUgPT09ICJzaG93IiwNCg0KCQkvLyBTaG93IGFuZCB0aGVuIHZpc2liaWxpdHk6aGlkZGVuIHRoZSBlbGVtZW50IGJlZm9yZSBjYWxjdWxhdGluZyBvZmZzZXQNCgkJb2Zmc2V0ID0gZWxlbWVudC5zaG93KCkuY3NzKCAidmlzaWJpbGl0eSIsICJoaWRkZW4iICkub2Zmc2V0KCksDQoNCgkJLy8gV2lkdGggYW5kIGhlaWdodCBvZiBhIHBpZWNlDQoJCXdpZHRoID0gTWF0aC5jZWlsKCBlbGVtZW50Lm91dGVyV2lkdGgoKSAvIGNlbGxzICksDQoJCWhlaWdodCA9IE1hdGguY2VpbCggZWxlbWVudC5vdXRlckhlaWdodCgpIC8gcm93cyApLA0KCQlwaWVjZXMgPSBbXTsNCg0KCS8vIENoaWxkcmVuIGFuaW1hdGUgY29tcGxldGU6DQoJZnVuY3Rpb24gY2hpbGRDb21wbGV0ZSgpIHsNCgkJcGllY2VzLnB1c2goIHRoaXMgKTsNCgkJaWYgKCBwaWVjZXMubGVuZ3RoID09PSByb3dzICogY2VsbHMgKSB7DQoJCQlhbmltQ29tcGxldGUoKTsNCgkJfQ0KCX0NCg0KCS8vIENsb25lIHRoZSBlbGVtZW50IGZvciBlYWNoIHJvdyBhbmQgY2VsbC4NCglmb3IgKCBpID0gMDsgaSA8IHJvd3M7IGkrKyApIHsgLy8gPT09Pg0KCQl0b3AgPSBvZmZzZXQudG9wICsgaSAqIGhlaWdodDsNCgkJbXkgPSBpIC0gKCByb3dzIC0gMSApIC8gMjsNCg0KCQlmb3IgKCBqID0gMDsgaiA8IGNlbGxzOyBqKysgKSB7IC8vIHx8fA0KCQkJbGVmdCA9IG9mZnNldC5sZWZ0ICsgaiAqIHdpZHRoOw0KCQkJbXggPSBqIC0gKCBjZWxscyAtIDEgKSAvIDI7DQoNCgkJCS8vIENyZWF0ZSBhIGNsb25lIG9mIHRoZSBub3cgaGlkZGVuIG1haW4gZWxlbWVudCB0aGF0IHdpbGwgYmUgYWJzb2x1dGUgcG9zaXRpb25lZA0KCQkJLy8gd2l0aGluIGEgd3JhcHBlciBkaXYgb2ZmIHRoZSAtbGVmdCBhbmQgLXRvcCBlcXVhbCB0byBzaXplIG9mIG91ciBwaWVjZXMNCgkJCWVsZW1lbnQNCgkJCQkuY2xvbmUoKQ0KCQkJCS5hcHBlbmRUbyggImJvZHkiICkNCgkJCQkud3JhcCggIjxkaXY+PC9kaXY+IiApDQoJCQkJLmNzcyggew0KCQkJCQlwb3NpdGlvbjogImFic29sdXRlIiwNCgkJCQkJdmlzaWJpbGl0eTogInZpc2libGUiLA0KCQkJCQlsZWZ0OiAtaiAqIHdpZHRoLA0KCQkJCQl0b3A6IC1pICogaGVpZ2h0DQoJCQkJfSApDQoNCgkJCQkvLyBTZWxlY3QgdGhlIHdyYXBwZXIgLSBtYWtlIGl0IG92ZXJmbG93OiBoaWRkZW4gYW5kIGFic29sdXRlIHBvc2l0aW9uZWQgYmFzZWQgb24NCgkJCQkvLyB3aGVyZSB0aGUgb3JpZ2luYWwgd2FzIGxvY2F0ZWQgK2xlZnQgYW5kICt0b3AgZXF1YWwgdG8gdGhlIHNpemUgb2YgcGllY2VzDQoJCQkJLnBhcmVudCgpDQoJCQkJCS5hZGRDbGFzcyggInVpLWVmZmVjdHMtZXhwbG9kZSIgKQ0KCQkJCQkuY3NzKCB7DQoJCQkJCQlwb3NpdGlvbjogImFic29sdXRlIiwNCgkJCQkJCW92ZXJmbG93OiAiaGlkZGVuIiwNCgkJCQkJCXdpZHRoOiB3aWR0aCwNCgkJCQkJCWhlaWdodDogaGVpZ2h0LA0KCQkJCQkJbGVmdDogbGVmdCArICggc2hvdyA/IG14ICogd2lkdGggOiAwICksDQoJCQkJCQl0b3A6IHRvcCArICggc2hvdyA/IG15ICogaGVpZ2h0IDogMCApLA0KCQkJCQkJb3BhY2l0eTogc2hvdyA/IDAgOiAxDQoJCQkJCX0gKQ0KCQkJCQkuYW5pbWF0ZSggew0KCQkJCQkJbGVmdDogbGVmdCArICggc2hvdyA/IDAgOiBteCAqIHdpZHRoICksDQoJCQkJCQl0b3A6IHRvcCArICggc2hvdyA/IDAgOiBteSAqIGhlaWdodCApLA0KCQkJCQkJb3BhY2l0eTogc2hvdyA/IDEgOiAwDQoJCQkJCX0sIG9wdGlvbnMuZHVyYXRpb24gfHwgNTAwLCBvcHRpb25zLmVhc2luZywgY2hpbGRDb21wbGV0ZSApOw0KCQl9DQoJfQ0KDQoJZnVuY3Rpb24gYW5pbUNvbXBsZXRlKCkgew0KCQllbGVtZW50LmNzcyggew0KCQkJdmlzaWJpbGl0eTogInZpc2libGUiDQoJCX0gKTsNCgkJJCggcGllY2VzICkucmVtb3ZlKCk7DQoJCWRvbmUoKTsNCgl9DQp9ICk7DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgRWZmZWN0cyBGYWRlIDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKi8NCg0KLy8+PmxhYmVsOiBGYWRlIEVmZmVjdA0KLy8+Pmdyb3VwOiBFZmZlY3RzDQovLz4+ZGVzY3JpcHRpb246IEZhZGVzIHRoZSBlbGVtZW50Lg0KLy8+PmRvY3M6IGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL2ZhZGUtZWZmZWN0Lw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL2VmZmVjdC8NCg0KDQoNCnZhciBlZmZlY3RzRWZmZWN0RmFkZSA9ICQuZWZmZWN0cy5kZWZpbmUoICJmYWRlIiwgInRvZ2dsZSIsIGZ1bmN0aW9uKCBvcHRpb25zLCBkb25lICkgew0KCXZhciBzaG93ID0gb3B0aW9ucy5tb2RlID09PSAic2hvdyI7DQoNCgkkKCB0aGlzICkNCgkJLmNzcyggIm9wYWNpdHkiLCBzaG93ID8gMCA6IDEgKQ0KCQkuYW5pbWF0ZSggew0KCQkJb3BhY2l0eTogc2hvdyA/IDEgOiAwDQoJCX0sIHsNCgkJCXF1ZXVlOiBmYWxzZSwNCgkJCWR1cmF0aW9uOiBvcHRpb25zLmR1cmF0aW9uLA0KCQkJZWFzaW5nOiBvcHRpb25zLmVhc2luZywNCgkJCWNvbXBsZXRlOiBkb25lDQoJCX0gKTsNCn0gKTsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBFZmZlY3RzIEZvbGQgMS4xMi4xDQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqLw0KDQovLz4+bGFiZWw6IEZvbGQgRWZmZWN0DQovLz4+Z3JvdXA6IEVmZmVjdHMNCi8vPj5kZXNjcmlwdGlvbjogRm9sZHMgYW4gZWxlbWVudCBmaXJzdCBob3Jpem9udGFsbHkgYW5kIHRoZW4gdmVydGljYWxseS4NCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9mb2xkLWVmZmVjdC8NCi8vPj5kZW1vczogaHR0cDovL2pxdWVyeXVpLmNvbS9lZmZlY3QvDQoNCg0KDQp2YXIgZWZmZWN0c0VmZmVjdEZvbGQgPSAkLmVmZmVjdHMuZGVmaW5lKCAiZm9sZCIsICJoaWRlIiwgZnVuY3Rpb24oIG9wdGlvbnMsIGRvbmUgKSB7DQoNCgkvLyBDcmVhdGUgZWxlbWVudA0KCXZhciBlbGVtZW50ID0gJCggdGhpcyApLA0KCQltb2RlID0gb3B0aW9ucy5tb2RlLA0KCQlzaG93ID0gbW9kZSA9PT0gInNob3ciLA0KCQloaWRlID0gbW9kZSA9PT0gImhpZGUiLA0KCQlzaXplID0gb3B0aW9ucy5zaXplIHx8IDE1LA0KCQlwZXJjZW50ID0gLyhbMC05XSspJS8uZXhlYyggc2l6ZSApLA0KCQlob3JpekZpcnN0ID0gISFvcHRpb25zLmhvcml6Rmlyc3QsDQoJCXJlZiA9IGhvcml6Rmlyc3QgPyBbICJyaWdodCIsICJib3R0b20iIF0gOiBbICJib3R0b20iLCAicmlnaHQiIF0sDQoJCWR1cmF0aW9uID0gb3B0aW9ucy5kdXJhdGlvbiAvIDIsDQoNCgkJcGxhY2Vob2xkZXIgPSAkLmVmZmVjdHMuY3JlYXRlUGxhY2Vob2xkZXIoIGVsZW1lbnQgKSwNCg0KCQlzdGFydCA9IGVsZW1lbnQuY3NzQ2xpcCgpLA0KCQlhbmltYXRpb24xID0geyBjbGlwOiAkLmV4dGVuZCgge30sIHN0YXJ0ICkgfSwNCgkJYW5pbWF0aW9uMiA9IHsgY2xpcDogJC5leHRlbmQoIHt9LCBzdGFydCApIH0sDQoNCgkJZGlzdGFuY2UgPSBbIHN0YXJ0WyByZWZbIDAgXSBdLCBzdGFydFsgcmVmWyAxIF0gXSBdLA0KDQoJCXF1ZXVlbGVuID0gZWxlbWVudC5xdWV1ZSgpLmxlbmd0aDsNCg0KCWlmICggcGVyY2VudCApIHsNCgkJc2l6ZSA9IHBhcnNlSW50KCBwZXJjZW50WyAxIF0sIDEwICkgLyAxMDAgKiBkaXN0YW5jZVsgaGlkZSA/IDAgOiAxIF07DQoJfQ0KCWFuaW1hdGlvbjEuY2xpcFsgcmVmWyAwIF0gXSA9IHNpemU7DQoJYW5pbWF0aW9uMi5jbGlwWyByZWZbIDAgXSBdID0gc2l6ZTsNCglhbmltYXRpb24yLmNsaXBbIHJlZlsgMSBdIF0gPSAwOw0KDQoJaWYgKCBzaG93ICkgew0KCQllbGVtZW50LmNzc0NsaXAoIGFuaW1hdGlvbjIuY2xpcCApOw0KCQlpZiAoIHBsYWNlaG9sZGVyICkgew0KCQkJcGxhY2Vob2xkZXIuY3NzKCAkLmVmZmVjdHMuY2xpcFRvQm94KCBhbmltYXRpb24yICkgKTsNCgkJfQ0KDQoJCWFuaW1hdGlvbjIuY2xpcCA9IHN0YXJ0Ow0KCX0NCg0KCS8vIEFuaW1hdGUNCgllbGVtZW50DQoJCS5xdWV1ZSggZnVuY3Rpb24oIG5leHQgKSB7DQoJCQlpZiAoIHBsYWNlaG9sZGVyICkgew0KCQkJCXBsYWNlaG9sZGVyDQoJCQkJCS5hbmltYXRlKCAkLmVmZmVjdHMuY2xpcFRvQm94KCBhbmltYXRpb24xICksIGR1cmF0aW9uLCBvcHRpb25zLmVhc2luZyApDQoJCQkJCS5hbmltYXRlKCAkLmVmZmVjdHMuY2xpcFRvQm94KCBhbmltYXRpb24yICksIGR1cmF0aW9uLCBvcHRpb25zLmVhc2luZyApOw0KCQkJfQ0KDQoJCQluZXh0KCk7DQoJCX0gKQ0KCQkuYW5pbWF0ZSggYW5pbWF0aW9uMSwgZHVyYXRpb24sIG9wdGlvbnMuZWFzaW5nICkNCgkJLmFuaW1hdGUoIGFuaW1hdGlvbjIsIGR1cmF0aW9uLCBvcHRpb25zLmVhc2luZyApDQoJCS5xdWV1ZSggZG9uZSApOw0KDQoJJC5lZmZlY3RzLnVuc2hpZnQoIGVsZW1lbnQsIHF1ZXVlbGVuLCA0ICk7DQp9ICk7DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgRWZmZWN0cyBIaWdobGlnaHQgMS4xMi4xDQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqLw0KDQovLz4+bGFiZWw6IEhpZ2hsaWdodCBFZmZlY3QNCi8vPj5ncm91cDogRWZmZWN0cw0KLy8+PmRlc2NyaXB0aW9uOiBIaWdobGlnaHRzIHRoZSBiYWNrZ3JvdW5kIG9mIGFuIGVsZW1lbnQgaW4gYSBkZWZpbmVkIGNvbG9yIGZvciBhIGN1c3RvbSBkdXJhdGlvbi4NCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9oaWdobGlnaHQtZWZmZWN0Lw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL2VmZmVjdC8NCg0KDQoNCnZhciBlZmZlY3RzRWZmZWN0SGlnaGxpZ2h0ID0gJC5lZmZlY3RzLmRlZmluZSggImhpZ2hsaWdodCIsICJzaG93IiwgZnVuY3Rpb24oIG9wdGlvbnMsIGRvbmUgKSB7DQoJdmFyIGVsZW1lbnQgPSAkKCB0aGlzICksDQoJCWFuaW1hdGlvbiA9IHsNCgkJCWJhY2tncm91bmRDb2xvcjogZWxlbWVudC5jc3MoICJiYWNrZ3JvdW5kQ29sb3IiICkNCgkJfTsNCg0KCWlmICggb3B0aW9ucy5tb2RlID09PSAiaGlkZSIgKSB7DQoJCWFuaW1hdGlvbi5vcGFjaXR5ID0gMDsNCgl9DQoNCgkkLmVmZmVjdHMuc2F2ZVN0eWxlKCBlbGVtZW50ICk7DQoNCgllbGVtZW50DQoJCS5jc3MoIHsNCgkJCWJhY2tncm91bmRJbWFnZTogIm5vbmUiLA0KCQkJYmFja2dyb3VuZENvbG9yOiBvcHRpb25zLmNvbG9yIHx8ICIjZmZmZjk5Ig0KCQl9ICkNCgkJLmFuaW1hdGUoIGFuaW1hdGlvbiwgew0KCQkJcXVldWU6IGZhbHNlLA0KCQkJZHVyYXRpb246IG9wdGlvbnMuZHVyYXRpb24sDQoJCQllYXNpbmc6IG9wdGlvbnMuZWFzaW5nLA0KCQkJY29tcGxldGU6IGRvbmUNCgkJfSApOw0KfSApOw0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIEVmZmVjdHMgU2l6ZSAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogU2l6ZSBFZmZlY3QNCi8vPj5ncm91cDogRWZmZWN0cw0KLy8+PmRlc2NyaXB0aW9uOiBSZXNpemUgYW4gZWxlbWVudCB0byBhIHNwZWNpZmllZCB3aWR0aCBhbmQgaGVpZ2h0Lg0KLy8+PmRvY3M6IGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL3NpemUtZWZmZWN0Lw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL2VmZmVjdC8NCg0KDQoNCnZhciBlZmZlY3RzRWZmZWN0U2l6ZSA9ICQuZWZmZWN0cy5kZWZpbmUoICJzaXplIiwgZnVuY3Rpb24oIG9wdGlvbnMsIGRvbmUgKSB7DQoNCgkvLyBDcmVhdGUgZWxlbWVudA0KCXZhciBiYXNlbGluZSwgZmFjdG9yLCB0ZW1wLA0KCQllbGVtZW50ID0gJCggdGhpcyApLA0KDQoJCS8vIENvcHkgZm9yIGNoaWxkcmVuDQoJCWNQcm9wcyA9IFsgImZvbnRTaXplIiBdLA0KCQl2UHJvcHMgPSBbICJib3JkZXJUb3BXaWR0aCIsICJib3JkZXJCb3R0b21XaWR0aCIsICJwYWRkaW5nVG9wIiwgInBhZGRpbmdCb3R0b20iIF0sDQoJCWhQcm9wcyA9IFsgImJvcmRlckxlZnRXaWR0aCIsICJib3JkZXJSaWdodFdpZHRoIiwgInBhZGRpbmdMZWZ0IiwgInBhZGRpbmdSaWdodCIgXSwNCg0KCQkvLyBTZXQgb3B0aW9ucw0KCQltb2RlID0gb3B0aW9ucy5tb2RlLA0KCQlyZXN0b3JlID0gbW9kZSAhPT0gImVmZmVjdCIsDQoJCXNjYWxlID0gb3B0aW9ucy5zY2FsZSB8fCAiYm90aCIsDQoJCW9yaWdpbiA9IG9wdGlvbnMub3JpZ2luIHx8IFsgIm1pZGRsZSIsICJjZW50ZXIiIF0sDQoJCXBvc2l0aW9uID0gZWxlbWVudC5jc3MoICJwb3NpdGlvbiIgKSwNCgkJcG9zID0gZWxlbWVudC5wb3NpdGlvbigpLA0KCQlvcmlnaW5hbCA9ICQuZWZmZWN0cy5zY2FsZWREaW1lbnNpb25zKCBlbGVtZW50ICksDQoJCWZyb20gPSBvcHRpb25zLmZyb20gfHwgb3JpZ2luYWwsDQoJCXRvID0gb3B0aW9ucy50byB8fCAkLmVmZmVjdHMuc2NhbGVkRGltZW5zaW9ucyggZWxlbWVudCwgMCApOw0KDQoJJC5lZmZlY3RzLmNyZWF0ZVBsYWNlaG9sZGVyKCBlbGVtZW50ICk7DQoNCglpZiAoIG1vZGUgPT09ICJzaG93IiApIHsNCgkJdGVtcCA9IGZyb207DQoJCWZyb20gPSB0bzsNCgkJdG8gPSB0ZW1wOw0KCX0NCg0KCS8vIFNldCBzY2FsaW5nIGZhY3Rvcg0KCWZhY3RvciA9IHsNCgkJZnJvbTogew0KCQkJeTogZnJvbS5oZWlnaHQgLyBvcmlnaW5hbC5oZWlnaHQsDQoJCQl4OiBmcm9tLndpZHRoIC8gb3JpZ2luYWwud2lkdGgNCgkJfSwNCgkJdG86IHsNCgkJCXk6IHRvLmhlaWdodCAvIG9yaWdpbmFsLmhlaWdodCwNCgkJCXg6IHRvLndpZHRoIC8gb3JpZ2luYWwud2lkdGgNCgkJfQ0KCX07DQoNCgkvLyBTY2FsZSB0aGUgY3NzIGJveA0KCWlmICggc2NhbGUgPT09ICJib3giIHx8IHNjYWxlID09PSAiYm90aCIgKSB7DQoNCgkJLy8gVmVydGljYWwgcHJvcHMgc2NhbGluZw0KCQlpZiAoIGZhY3Rvci5mcm9tLnkgIT09IGZhY3Rvci50by55ICkgew0KCQkJZnJvbSA9ICQuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKCBlbGVtZW50LCB2UHJvcHMsIGZhY3Rvci5mcm9tLnksIGZyb20gKTsNCgkJCXRvID0gJC5lZmZlY3RzLnNldFRyYW5zaXRpb24oIGVsZW1lbnQsIHZQcm9wcywgZmFjdG9yLnRvLnksIHRvICk7DQoJCX0NCg0KCQkvLyBIb3Jpem9udGFsIHByb3BzIHNjYWxpbmcNCgkJaWYgKCBmYWN0b3IuZnJvbS54ICE9PSBmYWN0b3IudG8ueCApIHsNCgkJCWZyb20gPSAkLmVmZmVjdHMuc2V0VHJhbnNpdGlvbiggZWxlbWVudCwgaFByb3BzLCBmYWN0b3IuZnJvbS54LCBmcm9tICk7DQoJCQl0byA9ICQuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKCBlbGVtZW50LCBoUHJvcHMsIGZhY3Rvci50by54LCB0byApOw0KCQl9DQoJfQ0KDQoJLy8gU2NhbGUgdGhlIGNvbnRlbnQNCglpZiAoIHNjYWxlID09PSAiY29udGVudCIgfHwgc2NhbGUgPT09ICJib3RoIiApIHsNCg0KCQkvLyBWZXJ0aWNhbCBwcm9wcyBzY2FsaW5nDQoJCWlmICggZmFjdG9yLmZyb20ueSAhPT0gZmFjdG9yLnRvLnkgKSB7DQoJCQlmcm9tID0gJC5lZmZlY3RzLnNldFRyYW5zaXRpb24oIGVsZW1lbnQsIGNQcm9wcywgZmFjdG9yLmZyb20ueSwgZnJvbSApOw0KCQkJdG8gPSAkLmVmZmVjdHMuc2V0VHJhbnNpdGlvbiggZWxlbWVudCwgY1Byb3BzLCBmYWN0b3IudG8ueSwgdG8gKTsNCgkJfQ0KCX0NCg0KCS8vIEFkanVzdCB0aGUgcG9zaXRpb24gcHJvcGVydGllcyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgb3JpZ2luIHBvaW50cw0KCWlmICggb3JpZ2luICkgew0KCQliYXNlbGluZSA9ICQuZWZmZWN0cy5nZXRCYXNlbGluZSggb3JpZ2luLCBvcmlnaW5hbCApOw0KCQlmcm9tLnRvcCA9ICggb3JpZ2luYWwub3V0ZXJIZWlnaHQgLSBmcm9tLm91dGVySGVpZ2h0ICkgKiBiYXNlbGluZS55ICsgcG9zLnRvcDsNCgkJZnJvbS5sZWZ0ID0gKCBvcmlnaW5hbC5vdXRlcldpZHRoIC0gZnJvbS5vdXRlcldpZHRoICkgKiBiYXNlbGluZS54ICsgcG9zLmxlZnQ7DQoJCXRvLnRvcCA9ICggb3JpZ2luYWwub3V0ZXJIZWlnaHQgLSB0by5vdXRlckhlaWdodCApICogYmFzZWxpbmUueSArIHBvcy50b3A7DQoJCXRvLmxlZnQgPSAoIG9yaWdpbmFsLm91dGVyV2lkdGggLSB0by5vdXRlcldpZHRoICkgKiBiYXNlbGluZS54ICsgcG9zLmxlZnQ7DQoJfQ0KCWVsZW1lbnQuY3NzKCBmcm9tICk7DQoNCgkvLyBBbmltYXRlIHRoZSBjaGlsZHJlbiBpZiBkZXNpcmVkDQoJaWYgKCBzY2FsZSA9PT0gImNvbnRlbnQiIHx8IHNjYWxlID09PSAiYm90aCIgKSB7DQoNCgkJdlByb3BzID0gdlByb3BzLmNvbmNhdCggWyAibWFyZ2luVG9wIiwgIm1hcmdpbkJvdHRvbSIgXSApLmNvbmNhdCggY1Byb3BzICk7DQoJCWhQcm9wcyA9IGhQcm9wcy5jb25jYXQoIFsgIm1hcmdpbkxlZnQiLCAibWFyZ2luUmlnaHQiIF0gKTsNCg0KCQkvLyBPbmx5IGFuaW1hdGUgY2hpbGRyZW4gd2l0aCB3aWR0aCBhdHRyaWJ1dGVzIHNwZWNpZmllZA0KCQkvLyBUT0RPOiBpcyB0aGlzIHJpZ2h0PyBzaG91bGQgd2UgaW5jbHVkZSBhbnl0aGluZyB3aXRoIGNzcyB3aWR0aCBzcGVjaWZpZWQgYXMgd2VsbA0KCQllbGVtZW50LmZpbmQoICIqW3dpZHRoXSIgKS5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCXZhciBjaGlsZCA9ICQoIHRoaXMgKSwNCgkJCQljaGlsZE9yaWdpbmFsID0gJC5lZmZlY3RzLnNjYWxlZERpbWVuc2lvbnMoIGNoaWxkICksDQoJCQkJY2hpbGRGcm9tID0gew0KCQkJCQloZWlnaHQ6IGNoaWxkT3JpZ2luYWwuaGVpZ2h0ICogZmFjdG9yLmZyb20ueSwNCgkJCQkJd2lkdGg6IGNoaWxkT3JpZ2luYWwud2lkdGggKiBmYWN0b3IuZnJvbS54LA0KCQkJCQlvdXRlckhlaWdodDogY2hpbGRPcmlnaW5hbC5vdXRlckhlaWdodCAqIGZhY3Rvci5mcm9tLnksDQoJCQkJCW91dGVyV2lkdGg6IGNoaWxkT3JpZ2luYWwub3V0ZXJXaWR0aCAqIGZhY3Rvci5mcm9tLngNCgkJCQl9LA0KCQkJCWNoaWxkVG8gPSB7DQoJCQkJCWhlaWdodDogY2hpbGRPcmlnaW5hbC5oZWlnaHQgKiBmYWN0b3IudG8ueSwNCgkJCQkJd2lkdGg6IGNoaWxkT3JpZ2luYWwud2lkdGggKiBmYWN0b3IudG8ueCwNCgkJCQkJb3V0ZXJIZWlnaHQ6IGNoaWxkT3JpZ2luYWwuaGVpZ2h0ICogZmFjdG9yLnRvLnksDQoJCQkJCW91dGVyV2lkdGg6IGNoaWxkT3JpZ2luYWwud2lkdGggKiBmYWN0b3IudG8ueA0KCQkJCX07DQoNCgkJCS8vIFZlcnRpY2FsIHByb3BzIHNjYWxpbmcNCgkJCWlmICggZmFjdG9yLmZyb20ueSAhPT0gZmFjdG9yLnRvLnkgKSB7DQoJCQkJY2hpbGRGcm9tID0gJC5lZmZlY3RzLnNldFRyYW5zaXRpb24oIGNoaWxkLCB2UHJvcHMsIGZhY3Rvci5mcm9tLnksIGNoaWxkRnJvbSApOw0KCQkJCWNoaWxkVG8gPSAkLmVmZmVjdHMuc2V0VHJhbnNpdGlvbiggY2hpbGQsIHZQcm9wcywgZmFjdG9yLnRvLnksIGNoaWxkVG8gKTsNCgkJCX0NCg0KCQkJLy8gSG9yaXpvbnRhbCBwcm9wcyBzY2FsaW5nDQoJCQlpZiAoIGZhY3Rvci5mcm9tLnggIT09IGZhY3Rvci50by54ICkgew0KCQkJCWNoaWxkRnJvbSA9ICQuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKCBjaGlsZCwgaFByb3BzLCBmYWN0b3IuZnJvbS54LCBjaGlsZEZyb20gKTsNCgkJCQljaGlsZFRvID0gJC5lZmZlY3RzLnNldFRyYW5zaXRpb24oIGNoaWxkLCBoUHJvcHMsIGZhY3Rvci50by54LCBjaGlsZFRvICk7DQoJCQl9DQoNCgkJCWlmICggcmVzdG9yZSApIHsNCgkJCQkkLmVmZmVjdHMuc2F2ZVN0eWxlKCBjaGlsZCApOw0KCQkJfQ0KDQoJCQkvLyBBbmltYXRlIGNoaWxkcmVuDQoJCQljaGlsZC5jc3MoIGNoaWxkRnJvbSApOw0KCQkJY2hpbGQuYW5pbWF0ZSggY2hpbGRUbywgb3B0aW9ucy5kdXJhdGlvbiwgb3B0aW9ucy5lYXNpbmcsIGZ1bmN0aW9uKCkgew0KDQoJCQkJLy8gUmVzdG9yZSBjaGlsZHJlbg0KCQkJCWlmICggcmVzdG9yZSApIHsNCgkJCQkJJC5lZmZlY3RzLnJlc3RvcmVTdHlsZSggY2hpbGQgKTsNCgkJCQl9DQoJCQl9ICk7DQoJCX0gKTsNCgl9DQoNCgkvLyBBbmltYXRlDQoJZWxlbWVudC5hbmltYXRlKCB0bywgew0KCQlxdWV1ZTogZmFsc2UsDQoJCWR1cmF0aW9uOiBvcHRpb25zLmR1cmF0aW9uLA0KCQllYXNpbmc6IG9wdGlvbnMuZWFzaW5nLA0KCQljb21wbGV0ZTogZnVuY3Rpb24oKSB7DQoNCgkJCXZhciBvZmZzZXQgPSBlbGVtZW50Lm9mZnNldCgpOw0KDQoJCQlpZiAoIHRvLm9wYWNpdHkgPT09IDAgKSB7DQoJCQkJZWxlbWVudC5jc3MoICJvcGFjaXR5IiwgZnJvbS5vcGFjaXR5ICk7DQoJCQl9DQoNCgkJCWlmICggIXJlc3RvcmUgKSB7DQoJCQkJZWxlbWVudA0KCQkJCQkuY3NzKCAicG9zaXRpb24iLCBwb3NpdGlvbiA9PT0gInN0YXRpYyIgPyAicmVsYXRpdmUiIDogcG9zaXRpb24gKQ0KCQkJCQkub2Zmc2V0KCBvZmZzZXQgKTsNCg0KCQkJCS8vIE5lZWQgdG8gc2F2ZSBzdHlsZSBoZXJlIHNvIHRoYXQgYXV0b21hdGljIHN0eWxlIHJlc3RvcmF0aW9uDQoJCQkJLy8gZG9lc24ndCByZXN0b3JlIHRvIHRoZSBvcmlnaW5hbCBzdHlsZXMgZnJvbSBiZWZvcmUgdGhlIGFuaW1hdGlvbi4NCgkJCQkkLmVmZmVjdHMuc2F2ZVN0eWxlKCBlbGVtZW50ICk7DQoJCQl9DQoNCgkJCWRvbmUoKTsNCgkJfQ0KCX0gKTsNCg0KfSApOw0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIEVmZmVjdHMgU2NhbGUgMS4xMi4xDQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqLw0KDQovLz4+bGFiZWw6IFNjYWxlIEVmZmVjdA0KLy8+Pmdyb3VwOiBFZmZlY3RzDQovLz4+ZGVzY3JpcHRpb246IEdyb3dzIG9yIHNocmlua3MgYW4gZWxlbWVudCBhbmQgaXRzIGNvbnRlbnQuDQovLz4+ZG9jczogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vc2NhbGUtZWZmZWN0Lw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL2VmZmVjdC8NCg0KDQoNCnZhciBlZmZlY3RzRWZmZWN0U2NhbGUgPSAkLmVmZmVjdHMuZGVmaW5lKCAic2NhbGUiLCBmdW5jdGlvbiggb3B0aW9ucywgZG9uZSApIHsNCg0KCS8vIENyZWF0ZSBlbGVtZW50DQoJdmFyIGVsID0gJCggdGhpcyApLA0KCQltb2RlID0gb3B0aW9ucy5tb2RlLA0KCQlwZXJjZW50ID0gcGFyc2VJbnQoIG9wdGlvbnMucGVyY2VudCwgMTAgKSB8fA0KCQkJKCBwYXJzZUludCggb3B0aW9ucy5wZXJjZW50LCAxMCApID09PSAwID8gMCA6ICggbW9kZSAhPT0gImVmZmVjdCIgPyAwIDogMTAwICkgKSwNCg0KCQluZXdPcHRpb25zID0gJC5leHRlbmQoIHRydWUsIHsNCgkJCWZyb206ICQuZWZmZWN0cy5zY2FsZWREaW1lbnNpb25zKCBlbCApLA0KCQkJdG86ICQuZWZmZWN0cy5zY2FsZWREaW1lbnNpb25zKCBlbCwgcGVyY2VudCwgb3B0aW9ucy5kaXJlY3Rpb24gfHwgImJvdGgiICksDQoJCQlvcmlnaW46IG9wdGlvbnMub3JpZ2luIHx8IFsgIm1pZGRsZSIsICJjZW50ZXIiIF0NCgkJfSwgb3B0aW9ucyApOw0KDQoJLy8gRmFkZSBvcHRpb24gdG8gc3VwcG9ydCBwdWZmDQoJaWYgKCBvcHRpb25zLmZhZGUgKSB7DQoJCW5ld09wdGlvbnMuZnJvbS5vcGFjaXR5ID0gMTsNCgkJbmV3T3B0aW9ucy50by5vcGFjaXR5ID0gMDsNCgl9DQoNCgkkLmVmZmVjdHMuZWZmZWN0LnNpemUuY2FsbCggdGhpcywgbmV3T3B0aW9ucywgZG9uZSApOw0KfSApOw0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIEVmZmVjdHMgUHVmZiAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogUHVmZiBFZmZlY3QNCi8vPj5ncm91cDogRWZmZWN0cw0KLy8+PmRlc2NyaXB0aW9uOiBDcmVhdGVzIGEgcHVmZiBlZmZlY3QgYnkgc2NhbGluZyB0aGUgZWxlbWVudCB1cCBhbmQgaGlkaW5nIGl0IGF0IHRoZSBzYW1lIHRpbWUuDQovLz4+ZG9jczogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vcHVmZi1lZmZlY3QvDQovLz4+ZGVtb3M6IGh0dHA6Ly9qcXVlcnl1aS5jb20vZWZmZWN0Lw0KDQoNCg0KdmFyIGVmZmVjdHNFZmZlY3RQdWZmID0gJC5lZmZlY3RzLmRlZmluZSggInB1ZmYiLCAiaGlkZSIsIGZ1bmN0aW9uKCBvcHRpb25zLCBkb25lICkgew0KCXZhciBuZXdPcHRpb25zID0gJC5leHRlbmQoIHRydWUsIHt9LCBvcHRpb25zLCB7DQoJCWZhZGU6IHRydWUsDQoJCXBlcmNlbnQ6IHBhcnNlSW50KCBvcHRpb25zLnBlcmNlbnQsIDEwICkgfHwgMTUwDQoJfSApOw0KDQoJJC5lZmZlY3RzLmVmZmVjdC5zY2FsZS5jYWxsKCB0aGlzLCBuZXdPcHRpb25zLCBkb25lICk7DQp9ICk7DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgRWZmZWN0cyBQdWxzYXRlIDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKi8NCg0KLy8+PmxhYmVsOiBQdWxzYXRlIEVmZmVjdA0KLy8+Pmdyb3VwOiBFZmZlY3RzDQovLz4+ZGVzY3JpcHRpb246IFB1bHNhdGVzIGFuIGVsZW1lbnQgbiB0aW1lcyBieSBjaGFuZ2luZyB0aGUgb3BhY2l0eSB0byB6ZXJvIGFuZCBiYWNrLg0KLy8+PmRvY3M6IGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL3B1bHNhdGUtZWZmZWN0Lw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL2VmZmVjdC8NCg0KDQoNCnZhciBlZmZlY3RzRWZmZWN0UHVsc2F0ZSA9ICQuZWZmZWN0cy5kZWZpbmUoICJwdWxzYXRlIiwgInNob3ciLCBmdW5jdGlvbiggb3B0aW9ucywgZG9uZSApIHsNCgl2YXIgZWxlbWVudCA9ICQoIHRoaXMgKSwNCgkJbW9kZSA9IG9wdGlvbnMubW9kZSwNCgkJc2hvdyA9IG1vZGUgPT09ICJzaG93IiwNCgkJaGlkZSA9IG1vZGUgPT09ICJoaWRlIiwNCgkJc2hvd2hpZGUgPSBzaG93IHx8IGhpZGUsDQoNCgkJLy8gU2hvd2luZyBvciBoaWRpbmcgbGVhdmVzIG9mZiB0aGUgImxhc3QiIGFuaW1hdGlvbg0KCQlhbmltcyA9ICggKCBvcHRpb25zLnRpbWVzIHx8IDUgKSAqIDIgKSArICggc2hvd2hpZGUgPyAxIDogMCApLA0KCQlkdXJhdGlvbiA9IG9wdGlvbnMuZHVyYXRpb24gLyBhbmltcywNCgkJYW5pbWF0ZVRvID0gMCwNCgkJaSA9IDEsDQoJCXF1ZXVlbGVuID0gZWxlbWVudC5xdWV1ZSgpLmxlbmd0aDsNCg0KCWlmICggc2hvdyB8fCAhZWxlbWVudC5pcyggIjp2aXNpYmxlIiApICkgew0KCQllbGVtZW50LmNzcyggIm9wYWNpdHkiLCAwICkuc2hvdygpOw0KCQlhbmltYXRlVG8gPSAxOw0KCX0NCg0KCS8vIEFuaW1zIC0gMSBvcGFjaXR5ICJ0b2dnbGVzIg0KCWZvciAoIDsgaSA8IGFuaW1zOyBpKysgKSB7DQoJCWVsZW1lbnQuYW5pbWF0ZSggeyBvcGFjaXR5OiBhbmltYXRlVG8gfSwgZHVyYXRpb24sIG9wdGlvbnMuZWFzaW5nICk7DQoJCWFuaW1hdGVUbyA9IDEgLSBhbmltYXRlVG87DQoJfQ0KDQoJZWxlbWVudC5hbmltYXRlKCB7IG9wYWNpdHk6IGFuaW1hdGVUbyB9LCBkdXJhdGlvbiwgb3B0aW9ucy5lYXNpbmcgKTsNCg0KCWVsZW1lbnQucXVldWUoIGRvbmUgKTsNCg0KCSQuZWZmZWN0cy51bnNoaWZ0KCBlbGVtZW50LCBxdWV1ZWxlbiwgYW5pbXMgKyAxICk7DQp9ICk7DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgRWZmZWN0cyBTaGFrZSAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogU2hha2UgRWZmZWN0DQovLz4+Z3JvdXA6IEVmZmVjdHMNCi8vPj5kZXNjcmlwdGlvbjogU2hha2VzIGFuIGVsZW1lbnQgaG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgbiB0aW1lcy4NCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9zaGFrZS1lZmZlY3QvDQovLz4+ZGVtb3M6IGh0dHA6Ly9qcXVlcnl1aS5jb20vZWZmZWN0Lw0KDQoNCg0KdmFyIGVmZmVjdHNFZmZlY3RTaGFrZSA9ICQuZWZmZWN0cy5kZWZpbmUoICJzaGFrZSIsIGZ1bmN0aW9uKCBvcHRpb25zLCBkb25lICkgew0KDQoJdmFyIGkgPSAxLA0KCQllbGVtZW50ID0gJCggdGhpcyApLA0KCQlkaXJlY3Rpb24gPSBvcHRpb25zLmRpcmVjdGlvbiB8fCAibGVmdCIsDQoJCWRpc3RhbmNlID0gb3B0aW9ucy5kaXN0YW5jZSB8fCAyMCwNCgkJdGltZXMgPSBvcHRpb25zLnRpbWVzIHx8IDMsDQoJCWFuaW1zID0gdGltZXMgKiAyICsgMSwNCgkJc3BlZWQgPSBNYXRoLnJvdW5kKCBvcHRpb25zLmR1cmF0aW9uIC8gYW5pbXMgKSwNCgkJcmVmID0gKCBkaXJlY3Rpb24gPT09ICJ1cCIgfHwgZGlyZWN0aW9uID09PSAiZG93biIgKSA/ICJ0b3AiIDogImxlZnQiLA0KCQlwb3NpdGl2ZU1vdGlvbiA9ICggZGlyZWN0aW9uID09PSAidXAiIHx8IGRpcmVjdGlvbiA9PT0gImxlZnQiICksDQoJCWFuaW1hdGlvbiA9IHt9LA0KCQlhbmltYXRpb24xID0ge30sDQoJCWFuaW1hdGlvbjIgPSB7fSwNCg0KCQlxdWV1ZWxlbiA9IGVsZW1lbnQucXVldWUoKS5sZW5ndGg7DQoNCgkkLmVmZmVjdHMuY3JlYXRlUGxhY2Vob2xkZXIoIGVsZW1lbnQgKTsNCg0KCS8vIEFuaW1hdGlvbg0KCWFuaW1hdGlvblsgcmVmIF0gPSAoIHBvc2l0aXZlTW90aW9uID8gIi09IiA6ICIrPSIgKSArIGRpc3RhbmNlOw0KCWFuaW1hdGlvbjFbIHJlZiBdID0gKCBwb3NpdGl2ZU1vdGlvbiA/ICIrPSIgOiAiLT0iICkgKyBkaXN0YW5jZSAqIDI7DQoJYW5pbWF0aW9uMlsgcmVmIF0gPSAoIHBvc2l0aXZlTW90aW9uID8gIi09IiA6ICIrPSIgKSArIGRpc3RhbmNlICogMjsNCg0KCS8vIEFuaW1hdGUNCgllbGVtZW50LmFuaW1hdGUoIGFuaW1hdGlvbiwgc3BlZWQsIG9wdGlvbnMuZWFzaW5nICk7DQoNCgkvLyBTaGFrZXMNCglmb3IgKCA7IGkgPCB0aW1lczsgaSsrICkgew0KCQllbGVtZW50DQoJCQkuYW5pbWF0ZSggYW5pbWF0aW9uMSwgc3BlZWQsIG9wdGlvbnMuZWFzaW5nICkNCgkJCS5hbmltYXRlKCBhbmltYXRpb24yLCBzcGVlZCwgb3B0aW9ucy5lYXNpbmcgKTsNCgl9DQoNCgllbGVtZW50DQoJCS5hbmltYXRlKCBhbmltYXRpb24xLCBzcGVlZCwgb3B0aW9ucy5lYXNpbmcgKQ0KCQkuYW5pbWF0ZSggYW5pbWF0aW9uLCBzcGVlZCAvIDIsIG9wdGlvbnMuZWFzaW5nICkNCgkJLnF1ZXVlKCBkb25lICk7DQoNCgkkLmVmZmVjdHMudW5zaGlmdCggZWxlbWVudCwgcXVldWVsZW4sIGFuaW1zICsgMSApOw0KfSApOw0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIEVmZmVjdHMgU2xpZGUgMS4xMi4xDQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqLw0KDQovLz4+bGFiZWw6IFNsaWRlIEVmZmVjdA0KLy8+Pmdyb3VwOiBFZmZlY3RzDQovLz4+ZGVzY3JpcHRpb246IFNsaWRlcyBhbiBlbGVtZW50IGluIGFuZCBvdXQgb2YgdGhlIHZpZXdwb3J0Lg0KLy8+PmRvY3M6IGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL3NsaWRlLWVmZmVjdC8NCi8vPj5kZW1vczogaHR0cDovL2pxdWVyeXVpLmNvbS9lZmZlY3QvDQoNCg0KDQp2YXIgZWZmZWN0c0VmZmVjdFNsaWRlID0gJC5lZmZlY3RzLmRlZmluZSggInNsaWRlIiwgInNob3ciLCBmdW5jdGlvbiggb3B0aW9ucywgZG9uZSApIHsNCgl2YXIgc3RhcnRDbGlwLCBzdGFydFJlZiwNCgkJZWxlbWVudCA9ICQoIHRoaXMgKSwNCgkJbWFwID0gew0KCQkJdXA6IFsgImJvdHRvbSIsICJ0b3AiIF0sDQoJCQlkb3duOiBbICJ0b3AiLCAiYm90dG9tIiBdLA0KCQkJbGVmdDogWyAicmlnaHQiLCAibGVmdCIgXSwNCgkJCXJpZ2h0OiBbICJsZWZ0IiwgInJpZ2h0IiBdDQoJCX0sDQoJCW1vZGUgPSBvcHRpb25zLm1vZGUsDQoJCWRpcmVjdGlvbiA9IG9wdGlvbnMuZGlyZWN0aW9uIHx8ICJsZWZ0IiwNCgkJcmVmID0gKCBkaXJlY3Rpb24gPT09ICJ1cCIgfHwgZGlyZWN0aW9uID09PSAiZG93biIgKSA/ICJ0b3AiIDogImxlZnQiLA0KCQlwb3NpdGl2ZU1vdGlvbiA9ICggZGlyZWN0aW9uID09PSAidXAiIHx8IGRpcmVjdGlvbiA9PT0gImxlZnQiICksDQoJCWRpc3RhbmNlID0gb3B0aW9ucy5kaXN0YW5jZSB8fA0KCQkJZWxlbWVudFsgcmVmID09PSAidG9wIiA/ICJvdXRlckhlaWdodCIgOiAib3V0ZXJXaWR0aCIgXSggdHJ1ZSApLA0KCQlhbmltYXRpb24gPSB7fTsNCg0KCSQuZWZmZWN0cy5jcmVhdGVQbGFjZWhvbGRlciggZWxlbWVudCApOw0KDQoJc3RhcnRDbGlwID0gZWxlbWVudC5jc3NDbGlwKCk7DQoJc3RhcnRSZWYgPSBlbGVtZW50LnBvc2l0aW9uKClbIHJlZiBdOw0KDQoJLy8gRGVmaW5lIGhpZGUgYW5pbWF0aW9uDQoJYW5pbWF0aW9uWyByZWYgXSA9ICggcG9zaXRpdmVNb3Rpb24gPyAtMSA6IDEgKSAqIGRpc3RhbmNlICsgc3RhcnRSZWY7DQoJYW5pbWF0aW9uLmNsaXAgPSBlbGVtZW50LmNzc0NsaXAoKTsNCglhbmltYXRpb24uY2xpcFsgbWFwWyBkaXJlY3Rpb24gXVsgMSBdIF0gPSBhbmltYXRpb24uY2xpcFsgbWFwWyBkaXJlY3Rpb24gXVsgMCBdIF07DQoNCgkvLyBSZXZlcnNlIHRoZSBhbmltYXRpb24gaWYgd2UncmUgc2hvd2luZw0KCWlmICggbW9kZSA9PT0gInNob3ciICkgew0KCQllbGVtZW50LmNzc0NsaXAoIGFuaW1hdGlvbi5jbGlwICk7DQoJCWVsZW1lbnQuY3NzKCByZWYsIGFuaW1hdGlvblsgcmVmIF0gKTsNCgkJYW5pbWF0aW9uLmNsaXAgPSBzdGFydENsaXA7DQoJCWFuaW1hdGlvblsgcmVmIF0gPSBzdGFydFJlZjsNCgl9DQoNCgkvLyBBY3R1YWxseSBhbmltYXRlDQoJZWxlbWVudC5hbmltYXRlKCBhbmltYXRpb24sIHsNCgkJcXVldWU6IGZhbHNlLA0KCQlkdXJhdGlvbjogb3B0aW9ucy5kdXJhdGlvbiwNCgkJZWFzaW5nOiBvcHRpb25zLmVhc2luZywNCgkJY29tcGxldGU6IGRvbmUNCgl9ICk7DQp9ICk7DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgRWZmZWN0cyBUcmFuc2ZlciAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogVHJhbnNmZXIgRWZmZWN0DQovLz4+Z3JvdXA6IEVmZmVjdHMNCi8vPj5kZXNjcmlwdGlvbjogRGlzcGxheXMgYSB0cmFuc2ZlciBlZmZlY3QgZnJvbSBvbmUgZWxlbWVudCB0byBhbm90aGVyLg0KLy8+PmRvY3M6IGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL3RyYW5zZmVyLWVmZmVjdC8NCi8vPj5kZW1vczogaHR0cDovL2pxdWVyeXVpLmNvbS9lZmZlY3QvDQoNCg0KDQp2YXIgZWZmZWN0Ow0KaWYgKCAkLnVpQmFja0NvbXBhdCAhPT0gZmFsc2UgKSB7DQoJZWZmZWN0ID0gJC5lZmZlY3RzLmRlZmluZSggInRyYW5zZmVyIiwgZnVuY3Rpb24oIG9wdGlvbnMsIGRvbmUgKSB7DQoJCSQoIHRoaXMgKS50cmFuc2Zlciggb3B0aW9ucywgZG9uZSApOw0KCX0gKTsNCn0NCnZhciBlZmZlY3RzRWZmZWN0VHJhbnNmZXIgPSBlZmZlY3Q7DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgRm9jdXNhYmxlIDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKi8NCg0KLy8+PmxhYmVsOiA6Zm9jdXNhYmxlIFNlbGVjdG9yDQovLz4+Z3JvdXA6IENvcmUNCi8vPj5kZXNjcmlwdGlvbjogU2VsZWN0cyBlbGVtZW50cyB3aGljaCBjYW4gYmUgZm9jdXNlZC4NCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9mb2N1c2FibGUtc2VsZWN0b3IvDQoNCg0KDQovLyBTZWxlY3RvcnMNCiQudWkuZm9jdXNhYmxlID0gZnVuY3Rpb24oIGVsZW1lbnQsIGhhc1RhYmluZGV4ICkgew0KCXZhciBtYXAsIG1hcE5hbWUsIGltZywgZm9jdXNhYmxlSWZWaXNpYmxlLCBmaWVsZHNldCwNCgkJbm9kZU5hbWUgPSBlbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7DQoNCglpZiAoICJhcmVhIiA9PT0gbm9kZU5hbWUgKSB7DQoJCW1hcCA9IGVsZW1lbnQucGFyZW50Tm9kZTsNCgkJbWFwTmFtZSA9IG1hcC5uYW1lOw0KCQlpZiAoICFlbGVtZW50LmhyZWYgfHwgIW1hcE5hbWUgfHwgbWFwLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgIT09ICJtYXAiICkgew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoJCWltZyA9ICQoICJpbWdbdXNlbWFwPScjIiArIG1hcE5hbWUgKyAiJ10iICk7DQoJCXJldHVybiBpbWcubGVuZ3RoID4gMCAmJiBpbWcuaXMoICI6dmlzaWJsZSIgKTsNCgl9DQoNCglpZiAoIC9eKGlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b258b2JqZWN0KSQvLnRlc3QoIG5vZGVOYW1lICkgKSB7DQoJCWZvY3VzYWJsZUlmVmlzaWJsZSA9ICFlbGVtZW50LmRpc2FibGVkOw0KDQoJCWlmICggZm9jdXNhYmxlSWZWaXNpYmxlICkgew0KDQoJCQkvLyBGb3JtIGNvbnRyb2xzIHdpdGhpbiBhIGRpc2FibGVkIGZpZWxkc2V0IGFyZSBkaXNhYmxlZC4NCgkJCS8vIEhvd2V2ZXIsIGNvbnRyb2xzIHdpdGhpbiB0aGUgZmllbGRzZXQncyBsZWdlbmQgZG8gbm90IGdldCBkaXNhYmxlZC4NCgkJCS8vIFNpbmNlIGNvbnRyb2xzIGdlbmVyYWxseSBhcmVuJ3QgcGxhY2VkIGluc2lkZSBsZWdlbmRzLCB3ZSBza2lwDQoJCQkvLyB0aGlzIHBvcnRpb24gb2YgdGhlIGNoZWNrLg0KCQkJZmllbGRzZXQgPSAkKCBlbGVtZW50ICkuY2xvc2VzdCggImZpZWxkc2V0IiApWyAwIF07DQoJCQlpZiAoIGZpZWxkc2V0ICkgew0KCQkJCWZvY3VzYWJsZUlmVmlzaWJsZSA9ICFmaWVsZHNldC5kaXNhYmxlZDsNCgkJCX0NCgkJfQ0KCX0gZWxzZSBpZiAoICJhIiA9PT0gbm9kZU5hbWUgKSB7DQoJCWZvY3VzYWJsZUlmVmlzaWJsZSA9IGVsZW1lbnQuaHJlZiB8fCBoYXNUYWJpbmRleDsNCgl9IGVsc2Ugew0KCQlmb2N1c2FibGVJZlZpc2libGUgPSBoYXNUYWJpbmRleDsNCgl9DQoNCglyZXR1cm4gZm9jdXNhYmxlSWZWaXNpYmxlICYmICQoIGVsZW1lbnQgKS5pcyggIjp2aXNpYmxlIiApICYmIHZpc2libGUoICQoIGVsZW1lbnQgKSApOw0KfTsNCg0KLy8gU3VwcG9ydDogSUUgOCBvbmx5DQovLyBJRSA4IGRvZXNuJ3QgcmVzb2x2ZSBpbmhlcml0IHRvIHZpc2libGUvaGlkZGVuIGZvciBjb21wdXRlZCB2YWx1ZXMNCmZ1bmN0aW9uIHZpc2libGUoIGVsZW1lbnQgKSB7DQoJdmFyIHZpc2liaWxpdHkgPSBlbGVtZW50LmNzcyggInZpc2liaWxpdHkiICk7DQoJd2hpbGUgKCB2aXNpYmlsaXR5ID09PSAiaW5oZXJpdCIgKSB7DQoJCWVsZW1lbnQgPSBlbGVtZW50LnBhcmVudCgpOw0KCQl2aXNpYmlsaXR5ID0gZWxlbWVudC5jc3MoICJ2aXNpYmlsaXR5IiApOw0KCX0NCglyZXR1cm4gdmlzaWJpbGl0eSAhPT0gImhpZGRlbiI7DQp9DQoNCiQuZXh0ZW5kKCAkLmV4cHJbICI6IiBdLCB7DQoJZm9jdXNhYmxlOiBmdW5jdGlvbiggZWxlbWVudCApIHsNCgkJcmV0dXJuICQudWkuZm9jdXNhYmxlKCBlbGVtZW50LCAkLmF0dHIoIGVsZW1lbnQsICJ0YWJpbmRleCIgKSAhPSBudWxsICk7DQoJfQ0KfSApOw0KDQp2YXIgZm9jdXNhYmxlID0gJC51aS5mb2N1c2FibGU7DQoNCg0KDQoNCi8vIFN1cHBvcnQ6IElFOCBPbmx5DQovLyBJRTggZG9lcyBub3Qgc3VwcG9ydCB0aGUgZm9ybSBhdHRyaWJ1dGUgYW5kIHdoZW4gaXQgaXMgc3VwcGxpZWQuIEl0IG92ZXJ3cml0ZXMgdGhlIGZvcm0gcHJvcA0KLy8gd2l0aCBhIHN0cmluZywgc28gd2UgbmVlZCB0byBmaW5kIHRoZSBwcm9wZXIgZm9ybS4NCnZhciBmb3JtID0gJC5mbi5mb3JtID0gZnVuY3Rpb24oKSB7DQoJcmV0dXJuIHR5cGVvZiB0aGlzWyAwIF0uZm9ybSA9PT0gInN0cmluZyIgPyB0aGlzLmNsb3Nlc3QoICJmb3JtIiApIDogJCggdGhpc1sgMCBdLmZvcm0gKTsNCn07DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgRm9ybSBSZXNldCBNaXhpbiAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogRm9ybSBSZXNldCBNaXhpbg0KLy8+Pmdyb3VwOiBDb3JlDQovLz4+ZGVzY3JpcHRpb246IFJlZnJlc2ggaW5wdXQgd2lkZ2V0cyB3aGVuIHRoZWlyIGZvcm0gaXMgcmVzZXQNCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9mb3JtLXJlc2V0LW1peGluLw0KDQoNCg0KdmFyIGZvcm1SZXNldE1peGluID0gJC51aS5mb3JtUmVzZXRNaXhpbiA9IHsNCglfZm9ybVJlc2V0SGFuZGxlcjogZnVuY3Rpb24oKSB7DQoJCXZhciBmb3JtID0gJCggdGhpcyApOw0KDQoJCS8vIFdhaXQgZm9yIHRoZSBmb3JtIHJlc2V0IHRvIGFjdHVhbGx5IGhhcHBlbiBiZWZvcmUgcmVmcmVzaGluZw0KCQlzZXRUaW1lb3V0KCBmdW5jdGlvbigpIHsNCgkJCXZhciBpbnN0YW5jZXMgPSBmb3JtLmRhdGEoICJ1aS1mb3JtLXJlc2V0LWluc3RhbmNlcyIgKTsNCgkJCSQuZWFjaCggaW5zdGFuY2VzLCBmdW5jdGlvbigpIHsNCgkJCQl0aGlzLnJlZnJlc2goKTsNCgkJCX0gKTsNCgkJfSApOw0KCX0sDQoNCglfYmluZEZvcm1SZXNldEhhbmRsZXI6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLmZvcm0gPSB0aGlzLmVsZW1lbnQuZm9ybSgpOw0KCQlpZiAoICF0aGlzLmZvcm0ubGVuZ3RoICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJdmFyIGluc3RhbmNlcyA9IHRoaXMuZm9ybS5kYXRhKCAidWktZm9ybS1yZXNldC1pbnN0YW5jZXMiICkgfHwgW107DQoJCWlmICggIWluc3RhbmNlcy5sZW5ndGggKSB7DQoNCgkJCS8vIFdlIGRvbid0IHVzZSBfb24oKSBoZXJlIGJlY2F1c2Ugd2UgdXNlIGEgc2luZ2xlIGV2ZW50IGhhbmRsZXIgcGVyIGZvcm0NCgkJCXRoaXMuZm9ybS5vbiggInJlc2V0LnVpLWZvcm0tcmVzZXQiLCB0aGlzLl9mb3JtUmVzZXRIYW5kbGVyICk7DQoJCX0NCgkJaW5zdGFuY2VzLnB1c2goIHRoaXMgKTsNCgkJdGhpcy5mb3JtLmRhdGEoICJ1aS1mb3JtLXJlc2V0LWluc3RhbmNlcyIsIGluc3RhbmNlcyApOw0KCX0sDQoNCglfdW5iaW5kRm9ybVJlc2V0SGFuZGxlcjogZnVuY3Rpb24oKSB7DQoJCWlmICggIXRoaXMuZm9ybS5sZW5ndGggKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQl2YXIgaW5zdGFuY2VzID0gdGhpcy5mb3JtLmRhdGEoICJ1aS1mb3JtLXJlc2V0LWluc3RhbmNlcyIgKTsNCgkJaW5zdGFuY2VzLnNwbGljZSggJC5pbkFycmF5KCB0aGlzLCBpbnN0YW5jZXMgKSwgMSApOw0KCQlpZiAoIGluc3RhbmNlcy5sZW5ndGggKSB7DQoJCQl0aGlzLmZvcm0uZGF0YSggInVpLWZvcm0tcmVzZXQtaW5zdGFuY2VzIiwgaW5zdGFuY2VzICk7DQoJCX0gZWxzZSB7DQoJCQl0aGlzLmZvcm0NCgkJCQkucmVtb3ZlRGF0YSggInVpLWZvcm0tcmVzZXQtaW5zdGFuY2VzIiApDQoJCQkJLm9mZiggInJlc2V0LnVpLWZvcm0tcmVzZXQiICk7DQoJCX0NCgl9DQp9Ow0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIFN1cHBvcnQgZm9yIGpRdWVyeSBjb3JlIDEuNy54IDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKg0KICovDQoNCi8vPj5sYWJlbDogalF1ZXJ5IDEuNyBTdXBwb3J0DQovLz4+Z3JvdXA6IENvcmUNCi8vPj5kZXNjcmlwdGlvbjogU3VwcG9ydCB2ZXJzaW9uIDEuNy54IG9mIGpRdWVyeSBjb3JlDQoNCg0KDQovLyBTdXBwb3J0OiBqUXVlcnkgMS43IG9ubHkNCi8vIE5vdCBhIGdyZWF0IHdheSB0byBjaGVjayB2ZXJzaW9ucywgYnV0IHNpbmNlIHdlIG9ubHkgc3VwcG9ydCAxLjcrIGFuZCBvbmx5DQovLyBuZWVkIHRvIGRldGVjdCA8MS44LCB0aGlzIGlzIGEgc2ltcGxlIGNoZWNrIHRoYXQgc2hvdWxkIHN1ZmZpY2UuIENoZWNraW5nDQovLyBmb3IgIjEuNy4iIHdvdWxkIGJlIGEgYml0IHNhZmVyLCBidXQgdGhlIHZlcnNpb24gc3RyaW5nIGlzIDEuNywgbm90IDEuNy4wDQovLyBhbmQgd2UnbGwgbmV2ZXIgcmVhY2ggMS43MC4wIChpZiB3ZSBkbywgd2UgY2VydGFpbmx5IHdvbid0IGJlIHN1cHBvcnRpbmcNCi8vIDEuNyBhbnltb3JlKS4gU2VlICMxMTE5NyBmb3Igd2h5IHdlJ3JlIG5vdCB1c2luZyBmZWF0dXJlIGRldGVjdGlvbi4NCmlmICggJC5mbi5qcXVlcnkuc3Vic3RyaW5nKCAwLCAzICkgPT09ICIxLjciICkgew0KDQoJLy8gU2V0dGVycyBmb3IgLmlubmVyV2lkdGgoKSwgLmlubmVySGVpZ2h0KCksIC5vdXRlcldpZHRoKCksIC5vdXRlckhlaWdodCgpDQoJLy8gVW5saWtlIGpRdWVyeSBDb3JlIDEuOCssIHRoZXNlIG9ubHkgc3VwcG9ydCBudW1lcmljIHZhbHVlcyB0byBzZXQgdGhlDQoJLy8gZGltZW5zaW9ucyBpbiBwaXhlbHMNCgkkLmVhY2goIFsgIldpZHRoIiwgIkhlaWdodCIgXSwgZnVuY3Rpb24oIGksIG5hbWUgKSB7DQoJCXZhciBzaWRlID0gbmFtZSA9PT0gIldpZHRoIiA/IFsgIkxlZnQiLCAiUmlnaHQiIF0gOiBbICJUb3AiLCAiQm90dG9tIiBdLA0KCQkJdHlwZSA9IG5hbWUudG9Mb3dlckNhc2UoKSwNCgkJCW9yaWcgPSB7DQoJCQkJaW5uZXJXaWR0aDogJC5mbi5pbm5lcldpZHRoLA0KCQkJCWlubmVySGVpZ2h0OiAkLmZuLmlubmVySGVpZ2h0LA0KCQkJCW91dGVyV2lkdGg6ICQuZm4ub3V0ZXJXaWR0aCwNCgkJCQlvdXRlckhlaWdodDogJC5mbi5vdXRlckhlaWdodA0KCQkJfTsNCg0KCQlmdW5jdGlvbiByZWR1Y2UoIGVsZW0sIHNpemUsIGJvcmRlciwgbWFyZ2luICkgew0KCQkJJC5lYWNoKCBzaWRlLCBmdW5jdGlvbigpIHsNCgkJCQlzaXplIC09IHBhcnNlRmxvYXQoICQuY3NzKCBlbGVtLCAicGFkZGluZyIgKyB0aGlzICkgKSB8fCAwOw0KCQkJCWlmICggYm9yZGVyICkgew0KCQkJCQlzaXplIC09IHBhcnNlRmxvYXQoICQuY3NzKCBlbGVtLCAiYm9yZGVyIiArIHRoaXMgKyAiV2lkdGgiICkgKSB8fCAwOw0KCQkJCX0NCgkJCQlpZiAoIG1hcmdpbiApIHsNCgkJCQkJc2l6ZSAtPSBwYXJzZUZsb2F0KCAkLmNzcyggZWxlbSwgIm1hcmdpbiIgKyB0aGlzICkgKSB8fCAwOw0KCQkJCX0NCgkJCX0gKTsNCgkJCXJldHVybiBzaXplOw0KCQl9DQoNCgkJJC5mblsgImlubmVyIiArIG5hbWUgXSA9IGZ1bmN0aW9uKCBzaXplICkgew0KCQkJaWYgKCBzaXplID09PSB1bmRlZmluZWQgKSB7DQoJCQkJcmV0dXJuIG9yaWdbICJpbm5lciIgKyBuYW1lIF0uY2FsbCggdGhpcyApOw0KCQkJfQ0KDQoJCQlyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCQkkKCB0aGlzICkuY3NzKCB0eXBlLCByZWR1Y2UoIHRoaXMsIHNpemUgKSArICJweCIgKTsNCgkJCX0gKTsNCgkJfTsNCg0KCQkkLmZuWyAib3V0ZXIiICsgbmFtZSBdID0gZnVuY3Rpb24oIHNpemUsIG1hcmdpbiApIHsNCgkJCWlmICggdHlwZW9mIHNpemUgIT09ICJudW1iZXIiICkgew0KCQkJCXJldHVybiBvcmlnWyAib3V0ZXIiICsgbmFtZSBdLmNhbGwoIHRoaXMsIHNpemUgKTsNCgkJCX0NCg0KCQkJcmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQkJJCggdGhpcyApLmNzcyggdHlwZSwgcmVkdWNlKCB0aGlzLCBzaXplLCB0cnVlLCBtYXJnaW4gKSArICJweCIgKTsNCgkJCX0gKTsNCgkJfTsNCgl9ICk7DQoNCgkkLmZuLmFkZEJhY2sgPSBmdW5jdGlvbiggc2VsZWN0b3IgKSB7DQoJCXJldHVybiB0aGlzLmFkZCggc2VsZWN0b3IgPT0gbnVsbCA/DQoJCQl0aGlzLnByZXZPYmplY3QgOiB0aGlzLnByZXZPYmplY3QuZmlsdGVyKCBzZWxlY3RvciApDQoJCSk7DQoJfTsNCn0NCg0KOw0KLyohDQogKiBqUXVlcnkgVUkgS2V5Y29kZSAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogS2V5Y29kZQ0KLy8+Pmdyb3VwOiBDb3JlDQovLz4+ZGVzY3JpcHRpb246IFByb3ZpZGUga2V5Y29kZXMgYXMga2V5bmFtZXMNCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9qUXVlcnkudWkua2V5Q29kZS8NCg0KDQp2YXIga2V5Y29kZSA9ICQudWkua2V5Q29kZSA9IHsNCglCQUNLU1BBQ0U6IDgsDQoJQ09NTUE6IDE4OCwNCglERUxFVEU6IDQ2LA0KCURPV046IDQwLA0KCUVORDogMzUsDQoJRU5URVI6IDEzLA0KCUVTQ0FQRTogMjcsDQoJSE9NRTogMzYsDQoJTEVGVDogMzcsDQoJUEFHRV9ET1dOOiAzNCwNCglQQUdFX1VQOiAzMywNCglQRVJJT0Q6IDE5MCwNCglSSUdIVDogMzksDQoJU1BBQ0U6IDMyLA0KCVRBQjogOSwNCglVUDogMzgNCn07DQoNCg0KDQoNCi8vIEludGVybmFsIHVzZSBvbmx5DQp2YXIgZXNjYXBlU2VsZWN0b3IgPSAkLnVpLmVzY2FwZVNlbGVjdG9yID0gKCBmdW5jdGlvbigpIHsNCgl2YXIgc2VsZWN0b3JFc2NhcGUgPSAvKFshIiMkJSYnKCkqKywuLzo7PD0+P0BbXF1eYHt8fX5dKS9nOw0KCXJldHVybiBmdW5jdGlvbiggc2VsZWN0b3IgKSB7DQoJCXJldHVybiBzZWxlY3Rvci5yZXBsYWNlKCBzZWxlY3RvckVzY2FwZSwgIlxcJDEiICk7DQoJfTsNCn0gKSgpOw0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIExhYmVscyAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogbGFiZWxzDQovLz4+Z3JvdXA6IENvcmUNCi8vPj5kZXNjcmlwdGlvbjogRmluZCBhbGwgdGhlIGxhYmVscyBhc3NvY2lhdGVkIHdpdGggYSBnaXZlbiBpbnB1dA0KLy8+PmRvY3M6IGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL2xhYmVscy8NCg0KDQoNCnZhciBsYWJlbHMgPSAkLmZuLmxhYmVscyA9IGZ1bmN0aW9uKCkgew0KCXZhciBhbmNlc3Rvciwgc2VsZWN0b3IsIGlkLCBsYWJlbHMsIGFuY2VzdG9yczsNCg0KCS8vIENoZWNrIGNvbnRyb2wubGFiZWxzIGZpcnN0DQoJaWYgKCB0aGlzWyAwIF0ubGFiZWxzICYmIHRoaXNbIDAgXS5sYWJlbHMubGVuZ3RoICkgew0KCQlyZXR1cm4gdGhpcy5wdXNoU3RhY2soIHRoaXNbIDAgXS5sYWJlbHMgKTsNCgl9DQoNCgkvLyBTdXBwb3J0OiBJRSA8PSAxMSwgRkYgPD0gMzcsIEFuZHJvaWQgPD0gMi4zIG9ubHkNCgkvLyBBYm92ZSBicm93c2VycyBkbyBub3Qgc3VwcG9ydCBjb250cm9sLmxhYmVscy4gRXZlcnl0aGluZyBiZWxvdyBpcyB0byBzdXBwb3J0IHRoZW0NCgkvLyBhcyB3ZWxsIGFzIGRvY3VtZW50IGZyYWdtZW50cy4gY29udHJvbC5sYWJlbHMgZG9lcyBub3Qgd29yayBvbiBkb2N1bWVudCBmcmFnbWVudHMNCglsYWJlbHMgPSB0aGlzLmVxKCAwICkucGFyZW50cyggImxhYmVsIiApOw0KDQoJLy8gTG9vayBmb3IgdGhlIGxhYmVsIGJhc2VkIG9uIHRoZSBpZA0KCWlkID0gdGhpcy5hdHRyKCAiaWQiICk7DQoJaWYgKCBpZCApIHsNCg0KCQkvLyBXZSBkb24ndCBzZWFyY2ggYWdhaW5zdCB0aGUgZG9jdW1lbnQgaW4gY2FzZSB0aGUgZWxlbWVudA0KCQkvLyBpcyBkaXNjb25uZWN0ZWQgZnJvbSB0aGUgRE9NDQoJCWFuY2VzdG9yID0gdGhpcy5lcSggMCApLnBhcmVudHMoKS5sYXN0KCk7DQoNCgkJLy8gR2V0IGEgZnVsbCBzZXQgb2YgdG9wIGxldmVsIGFuY2VzdG9ycw0KCQlhbmNlc3RvcnMgPSBhbmNlc3Rvci5hZGQoIGFuY2VzdG9yLmxlbmd0aCA/IGFuY2VzdG9yLnNpYmxpbmdzKCkgOiB0aGlzLnNpYmxpbmdzKCkgKTsNCg0KCQkvLyBDcmVhdGUgYSBzZWxlY3RvciBmb3IgdGhlIGxhYmVsIGJhc2VkIG9uIHRoZSBpZA0KCQlzZWxlY3RvciA9ICJsYWJlbFtmb3I9JyIgKyAkLnVpLmVzY2FwZVNlbGVjdG9yKCBpZCApICsgIiddIjsNCg0KCQlsYWJlbHMgPSBsYWJlbHMuYWRkKCBhbmNlc3RvcnMuZmluZCggc2VsZWN0b3IgKS5hZGRCYWNrKCBzZWxlY3RvciApICk7DQoNCgl9DQoNCgkvLyBSZXR1cm4gd2hhdGV2ZXIgd2UgaGF2ZSBmb3VuZCBmb3IgbGFiZWxzDQoJcmV0dXJuIHRoaXMucHVzaFN0YWNrKCBsYWJlbHMgKTsNCn07DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgU2Nyb2xsIFBhcmVudCAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogc2Nyb2xsUGFyZW50DQovLz4+Z3JvdXA6IENvcmUNCi8vPj5kZXNjcmlwdGlvbjogR2V0IHRoZSBjbG9zZXN0IGFuY2VzdG9yIGVsZW1lbnQgdGhhdCBpcyBzY3JvbGxhYmxlLg0KLy8+PmRvY3M6IGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL3Njcm9sbFBhcmVudC8NCg0KDQoNCnZhciBzY3JvbGxQYXJlbnQgPSAkLmZuLnNjcm9sbFBhcmVudCA9IGZ1bmN0aW9uKCBpbmNsdWRlSGlkZGVuICkgew0KCXZhciBwb3NpdGlvbiA9IHRoaXMuY3NzKCAicG9zaXRpb24iICksDQoJCWV4Y2x1ZGVTdGF0aWNQYXJlbnQgPSBwb3NpdGlvbiA9PT0gImFic29sdXRlIiwNCgkJb3ZlcmZsb3dSZWdleCA9IGluY2x1ZGVIaWRkZW4gPyAvKGF1dG98c2Nyb2xsfGhpZGRlbikvIDogLyhhdXRvfHNjcm9sbCkvLA0KCQlzY3JvbGxQYXJlbnQgPSB0aGlzLnBhcmVudHMoKS5maWx0ZXIoIGZ1bmN0aW9uKCkgew0KCQkJdmFyIHBhcmVudCA9ICQoIHRoaXMgKTsNCgkJCWlmICggZXhjbHVkZVN0YXRpY1BhcmVudCAmJiBwYXJlbnQuY3NzKCAicG9zaXRpb24iICkgPT09ICJzdGF0aWMiICkgew0KCQkJCXJldHVybiBmYWxzZTsNCgkJCX0NCgkJCXJldHVybiBvdmVyZmxvd1JlZ2V4LnRlc3QoIHBhcmVudC5jc3MoICJvdmVyZmxvdyIgKSArIHBhcmVudC5jc3MoICJvdmVyZmxvdy15IiApICsNCgkJCQlwYXJlbnQuY3NzKCAib3ZlcmZsb3cteCIgKSApOw0KCQl9ICkuZXEoIDAgKTsNCg0KCXJldHVybiBwb3NpdGlvbiA9PT0gImZpeGVkIiB8fCAhc2Nyb2xsUGFyZW50Lmxlbmd0aCA/DQoJCSQoIHRoaXNbIDAgXS5vd25lckRvY3VtZW50IHx8IGRvY3VtZW50ICkgOg0KCQlzY3JvbGxQYXJlbnQ7DQp9Ow0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIFRhYmJhYmxlIDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKi8NCg0KLy8+PmxhYmVsOiA6dGFiYmFibGUgU2VsZWN0b3INCi8vPj5ncm91cDogQ29yZQ0KLy8+PmRlc2NyaXB0aW9uOiBTZWxlY3RzIGVsZW1lbnRzIHdoaWNoIGNhbiBiZSB0YWJiZWQgdG8uDQovLz4+ZG9jczogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vdGFiYmFibGUtc2VsZWN0b3IvDQoNCg0KDQp2YXIgdGFiYmFibGUgPSAkLmV4dGVuZCggJC5leHByWyAiOiIgXSwgew0KCXRhYmJhYmxlOiBmdW5jdGlvbiggZWxlbWVudCApIHsNCgkJdmFyIHRhYkluZGV4ID0gJC5hdHRyKCBlbGVtZW50LCAidGFiaW5kZXgiICksDQoJCQloYXNUYWJpbmRleCA9IHRhYkluZGV4ICE9IG51bGw7DQoJCXJldHVybiAoICFoYXNUYWJpbmRleCB8fCB0YWJJbmRleCA+PSAwICkgJiYgJC51aS5mb2N1c2FibGUoIGVsZW1lbnQsIGhhc1RhYmluZGV4ICk7DQoJfQ0KfSApOw0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIFVuaXF1ZSBJRCAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogdW5pcXVlSWQNCi8vPj5ncm91cDogQ29yZQ0KLy8+PmRlc2NyaXB0aW9uOiBGdW5jdGlvbnMgdG8gZ2VuZXJhdGUgYW5kIHJlbW92ZSB1bmlxdWVJZCdzDQovLz4+ZG9jczogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vdW5pcXVlSWQvDQoNCg0KDQp2YXIgdW5pcXVlSWQgPSAkLmZuLmV4dGVuZCggew0KCXVuaXF1ZUlkOiAoIGZ1bmN0aW9uKCkgew0KCQl2YXIgdXVpZCA9IDA7DQoNCgkJcmV0dXJuIGZ1bmN0aW9uKCkgew0KCQkJcmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQkJaWYgKCAhdGhpcy5pZCApIHsNCgkJCQkJdGhpcy5pZCA9ICJ1aS1pZC0iICsgKCArK3V1aWQgKTsNCgkJCQl9DQoJCQl9ICk7DQoJCX07DQoJfSApKCksDQoNCglyZW1vdmVVbmlxdWVJZDogZnVuY3Rpb24oKSB7DQoJCXJldHVybiB0aGlzLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJaWYgKCAvXnVpLWlkLVxkKyQvLnRlc3QoIHRoaXMuaWQgKSApIHsNCgkJCQkkKCB0aGlzICkucmVtb3ZlQXR0ciggImlkIiApOw0KCQkJfQ0KCQl9ICk7DQoJfQ0KfSApOw0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIEFjY29yZGlvbiAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogQWNjb3JkaW9uDQovLz4+Z3JvdXA6IFdpZGdldHMNCi8vIGpzY3M6ZGlzYWJsZSBtYXhpbXVtTGluZUxlbmd0aA0KLy8+PmRlc2NyaXB0aW9uOiBEaXNwbGF5cyBjb2xsYXBzaWJsZSBjb250ZW50IHBhbmVscyBmb3IgcHJlc2VudGluZyBpbmZvcm1hdGlvbiBpbiBhIGxpbWl0ZWQgYW1vdW50IG9mIHNwYWNlLg0KLy8ganNjczplbmFibGUgbWF4aW11bUxpbmVMZW5ndGgNCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9hY2NvcmRpb24vDQovLz4+ZGVtb3M6IGh0dHA6Ly9qcXVlcnl1aS5jb20vYWNjb3JkaW9uLw0KLy8+PmNzcy5zdHJ1Y3R1cmU6IC4uLy4uL3RoZW1lcy9iYXNlL2NvcmUuY3NzDQovLz4+Y3NzLnN0cnVjdHVyZTogLi4vLi4vdGhlbWVzL2Jhc2UvYWNjb3JkaW9uLmNzcw0KLy8+PmNzcy50aGVtZTogLi4vLi4vdGhlbWVzL2Jhc2UvdGhlbWUuY3NzDQoNCg0KDQp2YXIgd2lkZ2V0c0FjY29yZGlvbiA9ICQud2lkZ2V0KCAidWkuYWNjb3JkaW9uIiwgew0KCXZlcnNpb246ICIxLjEyLjEiLA0KCW9wdGlvbnM6IHsNCgkJYWN0aXZlOiAwLA0KCQlhbmltYXRlOiB7fSwNCgkJY2xhc3Nlczogew0KCQkJInVpLWFjY29yZGlvbi1oZWFkZXIiOiAidWktY29ybmVyLXRvcCIsDQoJCQkidWktYWNjb3JkaW9uLWhlYWRlci1jb2xsYXBzZWQiOiAidWktY29ybmVyLWFsbCIsDQoJCQkidWktYWNjb3JkaW9uLWNvbnRlbnQiOiAidWktY29ybmVyLWJvdHRvbSINCgkJfSwNCgkJY29sbGFwc2libGU6IGZhbHNlLA0KCQlldmVudDogImNsaWNrIiwNCgkJaGVhZGVyOiAiPiBsaSA+IDpmaXJzdC1jaGlsZCwgPiA6bm90KGxpKTpldmVuIiwNCgkJaGVpZ2h0U3R5bGU6ICJhdXRvIiwNCgkJaWNvbnM6IHsNCgkJCWFjdGl2ZUhlYWRlcjogInVpLWljb24tdHJpYW5nbGUtMS1zIiwNCgkJCWhlYWRlcjogInVpLWljb24tdHJpYW5nbGUtMS1lIg0KCQl9LA0KDQoJCS8vIENhbGxiYWNrcw0KCQlhY3RpdmF0ZTogbnVsbCwNCgkJYmVmb3JlQWN0aXZhdGU6IG51bGwNCgl9LA0KDQoJaGlkZVByb3BzOiB7DQoJCWJvcmRlclRvcFdpZHRoOiAiaGlkZSIsDQoJCWJvcmRlckJvdHRvbVdpZHRoOiAiaGlkZSIsDQoJCXBhZGRpbmdUb3A6ICJoaWRlIiwNCgkJcGFkZGluZ0JvdHRvbTogImhpZGUiLA0KCQloZWlnaHQ6ICJoaWRlIg0KCX0sDQoNCglzaG93UHJvcHM6IHsNCgkJYm9yZGVyVG9wV2lkdGg6ICJzaG93IiwNCgkJYm9yZGVyQm90dG9tV2lkdGg6ICJzaG93IiwNCgkJcGFkZGluZ1RvcDogInNob3ciLA0KCQlwYWRkaW5nQm90dG9tOiAic2hvdyIsDQoJCWhlaWdodDogInNob3ciDQoJfSwNCg0KCV9jcmVhdGU6IGZ1bmN0aW9uKCkgew0KCQl2YXIgb3B0aW9ucyA9IHRoaXMub3B0aW9uczsNCg0KCQl0aGlzLnByZXZTaG93ID0gdGhpcy5wcmV2SGlkZSA9ICQoKTsNCgkJdGhpcy5fYWRkQ2xhc3MoICJ1aS1hY2NvcmRpb24iLCAidWktd2lkZ2V0IHVpLWhlbHBlci1yZXNldCIgKTsNCgkJdGhpcy5lbGVtZW50LmF0dHIoICJyb2xlIiwgInRhYmxpc3QiICk7DQoNCgkJLy8gRG9uJ3QgYWxsb3cgY29sbGFwc2libGU6IGZhbHNlIGFuZCBhY3RpdmU6IGZhbHNlIC8gbnVsbA0KCQlpZiAoICFvcHRpb25zLmNvbGxhcHNpYmxlICYmICggb3B0aW9ucy5hY3RpdmUgPT09IGZhbHNlIHx8IG9wdGlvbnMuYWN0aXZlID09IG51bGwgKSApIHsNCgkJCW9wdGlvbnMuYWN0aXZlID0gMDsNCgkJfQ0KDQoJCXRoaXMuX3Byb2Nlc3NQYW5lbHMoKTsNCg0KCQkvLyBoYW5kbGUgbmVnYXRpdmUgdmFsdWVzDQoJCWlmICggb3B0aW9ucy5hY3RpdmUgPCAwICkgew0KCQkJb3B0aW9ucy5hY3RpdmUgKz0gdGhpcy5oZWFkZXJzLmxlbmd0aDsNCgkJfQ0KCQl0aGlzLl9yZWZyZXNoKCk7DQoJfSwNCg0KCV9nZXRDcmVhdGVFdmVudERhdGE6IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gew0KCQkJaGVhZGVyOiB0aGlzLmFjdGl2ZSwNCgkJCXBhbmVsOiAhdGhpcy5hY3RpdmUubGVuZ3RoID8gJCgpIDogdGhpcy5hY3RpdmUubmV4dCgpDQoJCX07DQoJfSwNCg0KCV9jcmVhdGVJY29uczogZnVuY3Rpb24oKSB7DQoJCXZhciBpY29uLCBjaGlsZHJlbiwNCgkJCWljb25zID0gdGhpcy5vcHRpb25zLmljb25zOw0KDQoJCWlmICggaWNvbnMgKSB7DQoJCQlpY29uID0gJCggIjxzcGFuPiIgKTsNCgkJCXRoaXMuX2FkZENsYXNzKCBpY29uLCAidWktYWNjb3JkaW9uLWhlYWRlci1pY29uIiwgInVpLWljb24gIiArIGljb25zLmhlYWRlciApOw0KCQkJaWNvbi5wcmVwZW5kVG8oIHRoaXMuaGVhZGVycyApOw0KCQkJY2hpbGRyZW4gPSB0aGlzLmFjdGl2ZS5jaGlsZHJlbiggIi51aS1hY2NvcmRpb24taGVhZGVyLWljb24iICk7DQoJCQl0aGlzLl9yZW1vdmVDbGFzcyggY2hpbGRyZW4sIGljb25zLmhlYWRlciApDQoJCQkJLl9hZGRDbGFzcyggY2hpbGRyZW4sIG51bGwsIGljb25zLmFjdGl2ZUhlYWRlciApDQoJCQkJLl9hZGRDbGFzcyggdGhpcy5oZWFkZXJzLCAidWktYWNjb3JkaW9uLWljb25zIiApOw0KCQl9DQoJfSwNCg0KCV9kZXN0cm95SWNvbnM6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLl9yZW1vdmVDbGFzcyggdGhpcy5oZWFkZXJzLCAidWktYWNjb3JkaW9uLWljb25zIiApOw0KCQl0aGlzLmhlYWRlcnMuY2hpbGRyZW4oICIudWktYWNjb3JkaW9uLWhlYWRlci1pY29uIiApLnJlbW92ZSgpOw0KCX0sDQoNCglfZGVzdHJveTogZnVuY3Rpb24oKSB7DQoJCXZhciBjb250ZW50czsNCg0KCQkvLyBDbGVhbiB1cCBtYWluIGVsZW1lbnQNCgkJdGhpcy5lbGVtZW50LnJlbW92ZUF0dHIoICJyb2xlIiApOw0KDQoJCS8vIENsZWFuIHVwIGhlYWRlcnMNCgkJdGhpcy5oZWFkZXJzDQoJCQkucmVtb3ZlQXR0ciggInJvbGUgYXJpYS1leHBhbmRlZCBhcmlhLXNlbGVjdGVkIGFyaWEtY29udHJvbHMgdGFiSW5kZXgiICkNCgkJCS5yZW1vdmVVbmlxdWVJZCgpOw0KDQoJCXRoaXMuX2Rlc3Ryb3lJY29ucygpOw0KDQoJCS8vIENsZWFuIHVwIGNvbnRlbnQgcGFuZWxzDQoJCWNvbnRlbnRzID0gdGhpcy5oZWFkZXJzLm5leHQoKQ0KCQkJLmNzcyggImRpc3BsYXkiLCAiIiApDQoJCQkucmVtb3ZlQXR0ciggInJvbGUgYXJpYS1oaWRkZW4gYXJpYS1sYWJlbGxlZGJ5IiApDQoJCQkucmVtb3ZlVW5pcXVlSWQoKTsNCg0KCQlpZiAoIHRoaXMub3B0aW9ucy5oZWlnaHRTdHlsZSAhPT0gImNvbnRlbnQiICkgew0KCQkJY29udGVudHMuY3NzKCAiaGVpZ2h0IiwgIiIgKTsNCgkJfQ0KCX0sDQoNCglfc2V0T3B0aW9uOiBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCgkJaWYgKCBrZXkgPT09ICJhY3RpdmUiICkgew0KDQoJCQkvLyBfYWN0aXZhdGUoKSB3aWxsIGhhbmRsZSBpbnZhbGlkIHZhbHVlcyBhbmQgdXBkYXRlIHRoaXMub3B0aW9ucw0KCQkJdGhpcy5fYWN0aXZhdGUoIHZhbHVlICk7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlpZiAoIGtleSA9PT0gImV2ZW50IiApIHsNCgkJCWlmICggdGhpcy5vcHRpb25zLmV2ZW50ICkgew0KCQkJCXRoaXMuX29mZiggdGhpcy5oZWFkZXJzLCB0aGlzLm9wdGlvbnMuZXZlbnQgKTsNCgkJCX0NCgkJCXRoaXMuX3NldHVwRXZlbnRzKCB2YWx1ZSApOw0KCQl9DQoNCgkJdGhpcy5fc3VwZXIoIGtleSwgdmFsdWUgKTsNCg0KCQkvLyBTZXR0aW5nIGNvbGxhcHNpYmxlOiBmYWxzZSB3aGlsZSBjb2xsYXBzZWQ7IG9wZW4gZmlyc3QgcGFuZWwNCgkJaWYgKCBrZXkgPT09ICJjb2xsYXBzaWJsZSIgJiYgIXZhbHVlICYmIHRoaXMub3B0aW9ucy5hY3RpdmUgPT09IGZhbHNlICkgew0KCQkJdGhpcy5fYWN0aXZhdGUoIDAgKTsNCgkJfQ0KDQoJCWlmICgga2V5ID09PSAiaWNvbnMiICkgew0KCQkJdGhpcy5fZGVzdHJveUljb25zKCk7DQoJCQlpZiAoIHZhbHVlICkgew0KCQkJCXRoaXMuX2NyZWF0ZUljb25zKCk7DQoJCQl9DQoJCX0NCgl9LA0KDQoJX3NldE9wdGlvbkRpc2FibGVkOiBmdW5jdGlvbiggdmFsdWUgKSB7DQoJCXRoaXMuX3N1cGVyKCB2YWx1ZSApOw0KDQoJCXRoaXMuZWxlbWVudC5hdHRyKCAiYXJpYS1kaXNhYmxlZCIsIHZhbHVlICk7DQoNCgkJLy8gU3VwcG9ydDogSUU4IE9ubHkNCgkJLy8gIzUzMzIgLyAjNjA1OSAtIG9wYWNpdHkgZG9lc24ndCBjYXNjYWRlIHRvIHBvc2l0aW9uZWQgZWxlbWVudHMgaW4gSUUNCgkJLy8gc28gd2UgbmVlZCB0byBhZGQgdGhlIGRpc2FibGVkIGNsYXNzIHRvIHRoZSBoZWFkZXJzIGFuZCBwYW5lbHMNCgkJdGhpcy5fdG9nZ2xlQ2xhc3MoIG51bGwsICJ1aS1zdGF0ZS1kaXNhYmxlZCIsICEhdmFsdWUgKTsNCgkJdGhpcy5fdG9nZ2xlQ2xhc3MoIHRoaXMuaGVhZGVycy5hZGQoIHRoaXMuaGVhZGVycy5uZXh0KCkgKSwgbnVsbCwgInVpLXN0YXRlLWRpc2FibGVkIiwNCgkJCSEhdmFsdWUgKTsNCgl9LA0KDQoJX2tleWRvd246IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJaWYgKCBldmVudC5hbHRLZXkgfHwgZXZlbnQuY3RybEtleSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCXZhciBrZXlDb2RlID0gJC51aS5rZXlDb2RlLA0KCQkJbGVuZ3RoID0gdGhpcy5oZWFkZXJzLmxlbmd0aCwNCgkJCWN1cnJlbnRJbmRleCA9IHRoaXMuaGVhZGVycy5pbmRleCggZXZlbnQudGFyZ2V0ICksDQoJCQl0b0ZvY3VzID0gZmFsc2U7DQoNCgkJc3dpdGNoICggZXZlbnQua2V5Q29kZSApIHsNCgkJY2FzZSBrZXlDb2RlLlJJR0hUOg0KCQljYXNlIGtleUNvZGUuRE9XTjoNCgkJCXRvRm9jdXMgPSB0aGlzLmhlYWRlcnNbICggY3VycmVudEluZGV4ICsgMSApICUgbGVuZ3RoIF07DQoJCQlicmVhazsNCgkJY2FzZSBrZXlDb2RlLkxFRlQ6DQoJCWNhc2Uga2V5Q29kZS5VUDoNCgkJCXRvRm9jdXMgPSB0aGlzLmhlYWRlcnNbICggY3VycmVudEluZGV4IC0gMSArIGxlbmd0aCApICUgbGVuZ3RoIF07DQoJCQlicmVhazsNCgkJY2FzZSBrZXlDb2RlLlNQQUNFOg0KCQljYXNlIGtleUNvZGUuRU5URVI6DQoJCQl0aGlzLl9ldmVudEhhbmRsZXIoIGV2ZW50ICk7DQoJCQlicmVhazsNCgkJY2FzZSBrZXlDb2RlLkhPTUU6DQoJCQl0b0ZvY3VzID0gdGhpcy5oZWFkZXJzWyAwIF07DQoJCQlicmVhazsNCgkJY2FzZSBrZXlDb2RlLkVORDoNCgkJCXRvRm9jdXMgPSB0aGlzLmhlYWRlcnNbIGxlbmd0aCAtIDEgXTsNCgkJCWJyZWFrOw0KCQl9DQoNCgkJaWYgKCB0b0ZvY3VzICkgew0KCQkJJCggZXZlbnQudGFyZ2V0ICkuYXR0ciggInRhYkluZGV4IiwgLTEgKTsNCgkJCSQoIHRvRm9jdXMgKS5hdHRyKCAidGFiSW5kZXgiLCAwICk7DQoJCQkkKCB0b0ZvY3VzICkudHJpZ2dlciggImZvY3VzIiApOw0KCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCgkJfQ0KCX0sDQoNCglfcGFuZWxLZXlEb3duOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCWlmICggZXZlbnQua2V5Q29kZSA9PT0gJC51aS5rZXlDb2RlLlVQICYmIGV2ZW50LmN0cmxLZXkgKSB7DQoJCQkkKCBldmVudC5jdXJyZW50VGFyZ2V0ICkucHJldigpLnRyaWdnZXIoICJmb2N1cyIgKTsNCgkJfQ0KCX0sDQoNCglyZWZyZXNoOiBmdW5jdGlvbigpIHsNCgkJdmFyIG9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7DQoJCXRoaXMuX3Byb2Nlc3NQYW5lbHMoKTsNCg0KCQkvLyBXYXMgY29sbGFwc2VkIG9yIG5vIHBhbmVsDQoJCWlmICggKCBvcHRpb25zLmFjdGl2ZSA9PT0gZmFsc2UgJiYgb3B0aW9ucy5jb2xsYXBzaWJsZSA9PT0gdHJ1ZSApIHx8DQoJCQkJIXRoaXMuaGVhZGVycy5sZW5ndGggKSB7DQoJCQlvcHRpb25zLmFjdGl2ZSA9IGZhbHNlOw0KCQkJdGhpcy5hY3RpdmUgPSAkKCk7DQoNCgkJLy8gYWN0aXZlIGZhbHNlIG9ubHkgd2hlbiBjb2xsYXBzaWJsZSBpcyB0cnVlDQoJCX0gZWxzZSBpZiAoIG9wdGlvbnMuYWN0aXZlID09PSBmYWxzZSApIHsNCgkJCXRoaXMuX2FjdGl2YXRlKCAwICk7DQoNCgkJLy8gd2FzIGFjdGl2ZSwgYnV0IGFjdGl2ZSBwYW5lbCBpcyBnb25lDQoJCX0gZWxzZSBpZiAoIHRoaXMuYWN0aXZlLmxlbmd0aCAmJiAhJC5jb250YWlucyggdGhpcy5lbGVtZW50WyAwIF0sIHRoaXMuYWN0aXZlWyAwIF0gKSApIHsNCg0KCQkJLy8gYWxsIHJlbWFpbmluZyBwYW5lbCBhcmUgZGlzYWJsZWQNCgkJCWlmICggdGhpcy5oZWFkZXJzLmxlbmd0aCA9PT0gdGhpcy5oZWFkZXJzLmZpbmQoICIudWktc3RhdGUtZGlzYWJsZWQiICkubGVuZ3RoICkgew0KCQkJCW9wdGlvbnMuYWN0aXZlID0gZmFsc2U7DQoJCQkJdGhpcy5hY3RpdmUgPSAkKCk7DQoNCgkJCS8vIGFjdGl2YXRlIHByZXZpb3VzIHBhbmVsDQoJCQl9IGVsc2Ugew0KCQkJCXRoaXMuX2FjdGl2YXRlKCBNYXRoLm1heCggMCwgb3B0aW9ucy5hY3RpdmUgLSAxICkgKTsNCgkJCX0NCg0KCQkvLyB3YXMgYWN0aXZlLCBhY3RpdmUgcGFuZWwgc3RpbGwgZXhpc3RzDQoJCX0gZWxzZSB7DQoNCgkJCS8vIG1ha2Ugc3VyZSBhY3RpdmUgaW5kZXggaXMgY29ycmVjdA0KCQkJb3B0aW9ucy5hY3RpdmUgPSB0aGlzLmhlYWRlcnMuaW5kZXgoIHRoaXMuYWN0aXZlICk7DQoJCX0NCg0KCQl0aGlzLl9kZXN0cm95SWNvbnMoKTsNCg0KCQl0aGlzLl9yZWZyZXNoKCk7DQoJfSwNCg0KCV9wcm9jZXNzUGFuZWxzOiBmdW5jdGlvbigpIHsNCgkJdmFyIHByZXZIZWFkZXJzID0gdGhpcy5oZWFkZXJzLA0KCQkJcHJldlBhbmVscyA9IHRoaXMucGFuZWxzOw0KDQoJCXRoaXMuaGVhZGVycyA9IHRoaXMuZWxlbWVudC5maW5kKCB0aGlzLm9wdGlvbnMuaGVhZGVyICk7DQoJCXRoaXMuX2FkZENsYXNzKCB0aGlzLmhlYWRlcnMsICJ1aS1hY2NvcmRpb24taGVhZGVyIHVpLWFjY29yZGlvbi1oZWFkZXItY29sbGFwc2VkIiwNCgkJCSJ1aS1zdGF0ZS1kZWZhdWx0IiApOw0KDQoJCXRoaXMucGFuZWxzID0gdGhpcy5oZWFkZXJzLm5leHQoKS5maWx0ZXIoICI6bm90KC51aS1hY2NvcmRpb24tY29udGVudC1hY3RpdmUpIiApLmhpZGUoKTsNCgkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMucGFuZWxzLCAidWktYWNjb3JkaW9uLWNvbnRlbnQiLCAidWktaGVscGVyLXJlc2V0IHVpLXdpZGdldC1jb250ZW50IiApOw0KDQoJCS8vIEF2b2lkIG1lbW9yeSBsZWFrcyAoIzEwMDU2KQ0KCQlpZiAoIHByZXZQYW5lbHMgKSB7DQoJCQl0aGlzLl9vZmYoIHByZXZIZWFkZXJzLm5vdCggdGhpcy5oZWFkZXJzICkgKTsNCgkJCXRoaXMuX29mZiggcHJldlBhbmVscy5ub3QoIHRoaXMucGFuZWxzICkgKTsNCgkJfQ0KCX0sDQoNCglfcmVmcmVzaDogZnVuY3Rpb24oKSB7DQoJCXZhciBtYXhIZWlnaHQsDQoJCQlvcHRpb25zID0gdGhpcy5vcHRpb25zLA0KCQkJaGVpZ2h0U3R5bGUgPSBvcHRpb25zLmhlaWdodFN0eWxlLA0KCQkJcGFyZW50ID0gdGhpcy5lbGVtZW50LnBhcmVudCgpOw0KDQoJCXRoaXMuYWN0aXZlID0gdGhpcy5fZmluZEFjdGl2ZSggb3B0aW9ucy5hY3RpdmUgKTsNCgkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMuYWN0aXZlLCAidWktYWNjb3JkaW9uLWhlYWRlci1hY3RpdmUiLCAidWktc3RhdGUtYWN0aXZlIiApDQoJCQkuX3JlbW92ZUNsYXNzKCB0aGlzLmFjdGl2ZSwgInVpLWFjY29yZGlvbi1oZWFkZXItY29sbGFwc2VkIiApOw0KCQl0aGlzLl9hZGRDbGFzcyggdGhpcy5hY3RpdmUubmV4dCgpLCAidWktYWNjb3JkaW9uLWNvbnRlbnQtYWN0aXZlIiApOw0KCQl0aGlzLmFjdGl2ZS5uZXh0KCkuc2hvdygpOw0KDQoJCXRoaXMuaGVhZGVycw0KCQkJLmF0dHIoICJyb2xlIiwgInRhYiIgKQ0KCQkJLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJCXZhciBoZWFkZXIgPSAkKCB0aGlzICksDQoJCQkJCWhlYWRlcklkID0gaGVhZGVyLnVuaXF1ZUlkKCkuYXR0ciggImlkIiApLA0KCQkJCQlwYW5lbCA9IGhlYWRlci5uZXh0KCksDQoJCQkJCXBhbmVsSWQgPSBwYW5lbC51bmlxdWVJZCgpLmF0dHIoICJpZCIgKTsNCgkJCQloZWFkZXIuYXR0ciggImFyaWEtY29udHJvbHMiLCBwYW5lbElkICk7DQoJCQkJcGFuZWwuYXR0ciggImFyaWEtbGFiZWxsZWRieSIsIGhlYWRlcklkICk7DQoJCQl9ICkNCgkJCS5uZXh0KCkNCgkJCQkuYXR0ciggInJvbGUiLCAidGFicGFuZWwiICk7DQoNCgkJdGhpcy5oZWFkZXJzDQoJCQkubm90KCB0aGlzLmFjdGl2ZSApDQoJCQkJLmF0dHIoIHsNCgkJCQkJImFyaWEtc2VsZWN0ZWQiOiAiZmFsc2UiLA0KCQkJCQkiYXJpYS1leHBhbmRlZCI6ICJmYWxzZSIsDQoJCQkJCXRhYkluZGV4OiAtMQ0KCQkJCX0gKQ0KCQkJCS5uZXh0KCkNCgkJCQkJLmF0dHIoIHsNCgkJCQkJCSJhcmlhLWhpZGRlbiI6ICJ0cnVlIg0KCQkJCQl9ICkNCgkJCQkJLmhpZGUoKTsNCg0KCQkvLyBNYWtlIHN1cmUgYXQgbGVhc3Qgb25lIGhlYWRlciBpcyBpbiB0aGUgdGFiIG9yZGVyDQoJCWlmICggIXRoaXMuYWN0aXZlLmxlbmd0aCApIHsNCgkJCXRoaXMuaGVhZGVycy5lcSggMCApLmF0dHIoICJ0YWJJbmRleCIsIDAgKTsNCgkJfSBlbHNlIHsNCgkJCXRoaXMuYWN0aXZlLmF0dHIoIHsNCgkJCQkiYXJpYS1zZWxlY3RlZCI6ICJ0cnVlIiwNCgkJCQkiYXJpYS1leHBhbmRlZCI6ICJ0cnVlIiwNCgkJCQl0YWJJbmRleDogMA0KCQkJfSApDQoJCQkJLm5leHQoKQ0KCQkJCQkuYXR0ciggew0KCQkJCQkJImFyaWEtaGlkZGVuIjogImZhbHNlIg0KCQkJCQl9ICk7DQoJCX0NCg0KCQl0aGlzLl9jcmVhdGVJY29ucygpOw0KDQoJCXRoaXMuX3NldHVwRXZlbnRzKCBvcHRpb25zLmV2ZW50ICk7DQoNCgkJaWYgKCBoZWlnaHRTdHlsZSA9PT0gImZpbGwiICkgew0KCQkJbWF4SGVpZ2h0ID0gcGFyZW50LmhlaWdodCgpOw0KCQkJdGhpcy5lbGVtZW50LnNpYmxpbmdzKCAiOnZpc2libGUiICkuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQkJdmFyIGVsZW0gPSAkKCB0aGlzICksDQoJCQkJCXBvc2l0aW9uID0gZWxlbS5jc3MoICJwb3NpdGlvbiIgKTsNCg0KCQkJCWlmICggcG9zaXRpb24gPT09ICJhYnNvbHV0ZSIgfHwgcG9zaXRpb24gPT09ICJmaXhlZCIgKSB7DQoJCQkJCXJldHVybjsNCgkJCQl9DQoJCQkJbWF4SGVpZ2h0IC09IGVsZW0ub3V0ZXJIZWlnaHQoIHRydWUgKTsNCgkJCX0gKTsNCg0KCQkJdGhpcy5oZWFkZXJzLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJCW1heEhlaWdodCAtPSAkKCB0aGlzICkub3V0ZXJIZWlnaHQoIHRydWUgKTsNCgkJCX0gKTsNCg0KCQkJdGhpcy5oZWFkZXJzLm5leHQoKQ0KCQkJCS5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCQkJJCggdGhpcyApLmhlaWdodCggTWF0aC5tYXgoIDAsIG1heEhlaWdodCAtDQoJCQkJCQkkKCB0aGlzICkuaW5uZXJIZWlnaHQoKSArICQoIHRoaXMgKS5oZWlnaHQoKSApICk7DQoJCQkJfSApDQoJCQkJLmNzcyggIm92ZXJmbG93IiwgImF1dG8iICk7DQoJCX0gZWxzZSBpZiAoIGhlaWdodFN0eWxlID09PSAiYXV0byIgKSB7DQoJCQltYXhIZWlnaHQgPSAwOw0KCQkJdGhpcy5oZWFkZXJzLm5leHQoKQ0KCQkJCS5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCQkJdmFyIGlzVmlzaWJsZSA9ICQoIHRoaXMgKS5pcyggIjp2aXNpYmxlIiApOw0KCQkJCQlpZiAoICFpc1Zpc2libGUgKSB7DQoJCQkJCQkkKCB0aGlzICkuc2hvdygpOw0KCQkJCQl9DQoJCQkJCW1heEhlaWdodCA9IE1hdGgubWF4KCBtYXhIZWlnaHQsICQoIHRoaXMgKS5jc3MoICJoZWlnaHQiLCAiIiApLmhlaWdodCgpICk7DQoJCQkJCWlmICggIWlzVmlzaWJsZSApIHsNCgkJCQkJCSQoIHRoaXMgKS5oaWRlKCk7DQoJCQkJCX0NCgkJCQl9ICkNCgkJCQkuaGVpZ2h0KCBtYXhIZWlnaHQgKTsNCgkJfQ0KCX0sDQoNCglfYWN0aXZhdGU6IGZ1bmN0aW9uKCBpbmRleCApIHsNCgkJdmFyIGFjdGl2ZSA9IHRoaXMuX2ZpbmRBY3RpdmUoIGluZGV4IClbIDAgXTsNCg0KCQkvLyBUcnlpbmcgdG8gYWN0aXZhdGUgdGhlIGFscmVhZHkgYWN0aXZlIHBhbmVsDQoJCWlmICggYWN0aXZlID09PSB0aGlzLmFjdGl2ZVsgMCBdICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJLy8gVHJ5aW5nIHRvIGNvbGxhcHNlLCBzaW11bGF0ZSBhIGNsaWNrIG9uIHRoZSBjdXJyZW50bHkgYWN0aXZlIGhlYWRlcg0KCQlhY3RpdmUgPSBhY3RpdmUgfHwgdGhpcy5hY3RpdmVbIDAgXTsNCg0KCQl0aGlzLl9ldmVudEhhbmRsZXIoIHsNCgkJCXRhcmdldDogYWN0aXZlLA0KCQkJY3VycmVudFRhcmdldDogYWN0aXZlLA0KCQkJcHJldmVudERlZmF1bHQ6ICQubm9vcA0KCQl9ICk7DQoJfSwNCg0KCV9maW5kQWN0aXZlOiBmdW5jdGlvbiggc2VsZWN0b3IgKSB7DQoJCXJldHVybiB0eXBlb2Ygc2VsZWN0b3IgPT09ICJudW1iZXIiID8gdGhpcy5oZWFkZXJzLmVxKCBzZWxlY3RvciApIDogJCgpOw0KCX0sDQoNCglfc2V0dXBFdmVudHM6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdmFyIGV2ZW50cyA9IHsNCgkJCWtleWRvd246ICJfa2V5ZG93biINCgkJfTsNCgkJaWYgKCBldmVudCApIHsNCgkJCSQuZWFjaCggZXZlbnQuc3BsaXQoICIgIiApLCBmdW5jdGlvbiggaW5kZXgsIGV2ZW50TmFtZSApIHsNCgkJCQlldmVudHNbIGV2ZW50TmFtZSBdID0gIl9ldmVudEhhbmRsZXIiOw0KCQkJfSApOw0KCQl9DQoNCgkJdGhpcy5fb2ZmKCB0aGlzLmhlYWRlcnMuYWRkKCB0aGlzLmhlYWRlcnMubmV4dCgpICkgKTsNCgkJdGhpcy5fb24oIHRoaXMuaGVhZGVycywgZXZlbnRzICk7DQoJCXRoaXMuX29uKCB0aGlzLmhlYWRlcnMubmV4dCgpLCB7IGtleWRvd246ICJfcGFuZWxLZXlEb3duIiB9ICk7DQoJCXRoaXMuX2hvdmVyYWJsZSggdGhpcy5oZWFkZXJzICk7DQoJCXRoaXMuX2ZvY3VzYWJsZSggdGhpcy5oZWFkZXJzICk7DQoJfSwNCg0KCV9ldmVudEhhbmRsZXI6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdmFyIGFjdGl2ZUNoaWxkcmVuLCBjbGlja2VkQ2hpbGRyZW4sDQoJCQlvcHRpb25zID0gdGhpcy5vcHRpb25zLA0KCQkJYWN0aXZlID0gdGhpcy5hY3RpdmUsDQoJCQljbGlja2VkID0gJCggZXZlbnQuY3VycmVudFRhcmdldCApLA0KCQkJY2xpY2tlZElzQWN0aXZlID0gY2xpY2tlZFsgMCBdID09PSBhY3RpdmVbIDAgXSwNCgkJCWNvbGxhcHNpbmcgPSBjbGlja2VkSXNBY3RpdmUgJiYgb3B0aW9ucy5jb2xsYXBzaWJsZSwNCgkJCXRvU2hvdyA9IGNvbGxhcHNpbmcgPyAkKCkgOiBjbGlja2VkLm5leHQoKSwNCgkJCXRvSGlkZSA9IGFjdGl2ZS5uZXh0KCksDQoJCQlldmVudERhdGEgPSB7DQoJCQkJb2xkSGVhZGVyOiBhY3RpdmUsDQoJCQkJb2xkUGFuZWw6IHRvSGlkZSwNCgkJCQluZXdIZWFkZXI6IGNvbGxhcHNpbmcgPyAkKCkgOiBjbGlja2VkLA0KCQkJCW5ld1BhbmVsOiB0b1Nob3cNCgkJCX07DQoNCgkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCg0KCQlpZiAoDQoNCgkJCQkvLyBjbGljayBvbiBhY3RpdmUgaGVhZGVyLCBidXQgbm90IGNvbGxhcHNpYmxlDQoJCQkJKCBjbGlja2VkSXNBY3RpdmUgJiYgIW9wdGlvbnMuY29sbGFwc2libGUgKSB8fA0KDQoJCQkJLy8gYWxsb3cgY2FuY2VsaW5nIGFjdGl2YXRpb24NCgkJCQkoIHRoaXMuX3RyaWdnZXIoICJiZWZvcmVBY3RpdmF0ZSIsIGV2ZW50LCBldmVudERhdGEgKSA9PT0gZmFsc2UgKSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCW9wdGlvbnMuYWN0aXZlID0gY29sbGFwc2luZyA/IGZhbHNlIDogdGhpcy5oZWFkZXJzLmluZGV4KCBjbGlja2VkICk7DQoNCgkJLy8gV2hlbiB0aGUgY2FsbCB0byAuX3RvZ2dsZSgpIGNvbWVzIGFmdGVyIHRoZSBjbGFzcyBjaGFuZ2VzDQoJCS8vIGl0IGNhdXNlcyBhIHZlcnkgb2RkIGJ1ZyBpbiBJRSA4IChzZWUgIzY3MjApDQoJCXRoaXMuYWN0aXZlID0gY2xpY2tlZElzQWN0aXZlID8gJCgpIDogY2xpY2tlZDsNCgkJdGhpcy5fdG9nZ2xlKCBldmVudERhdGEgKTsNCg0KCQkvLyBTd2l0Y2ggY2xhc3Nlcw0KCQkvLyBjb3JuZXIgY2xhc3NlcyBvbiB0aGUgcHJldmlvdXNseSBhY3RpdmUgaGVhZGVyIHN0YXkgYWZ0ZXIgdGhlIGFuaW1hdGlvbg0KCQl0aGlzLl9yZW1vdmVDbGFzcyggYWN0aXZlLCAidWktYWNjb3JkaW9uLWhlYWRlci1hY3RpdmUiLCAidWktc3RhdGUtYWN0aXZlIiApOw0KCQlpZiAoIG9wdGlvbnMuaWNvbnMgKSB7DQoJCQlhY3RpdmVDaGlsZHJlbiA9IGFjdGl2ZS5jaGlsZHJlbiggIi51aS1hY2NvcmRpb24taGVhZGVyLWljb24iICk7DQoJCQl0aGlzLl9yZW1vdmVDbGFzcyggYWN0aXZlQ2hpbGRyZW4sIG51bGwsIG9wdGlvbnMuaWNvbnMuYWN0aXZlSGVhZGVyICkNCgkJCQkuX2FkZENsYXNzKCBhY3RpdmVDaGlsZHJlbiwgbnVsbCwgb3B0aW9ucy5pY29ucy5oZWFkZXIgKTsNCgkJfQ0KDQoJCWlmICggIWNsaWNrZWRJc0FjdGl2ZSApIHsNCgkJCXRoaXMuX3JlbW92ZUNsYXNzKCBjbGlja2VkLCAidWktYWNjb3JkaW9uLWhlYWRlci1jb2xsYXBzZWQiICkNCgkJCQkuX2FkZENsYXNzKCBjbGlja2VkLCAidWktYWNjb3JkaW9uLWhlYWRlci1hY3RpdmUiLCAidWktc3RhdGUtYWN0aXZlIiApOw0KCQkJaWYgKCBvcHRpb25zLmljb25zICkgew0KCQkJCWNsaWNrZWRDaGlsZHJlbiA9IGNsaWNrZWQuY2hpbGRyZW4oICIudWktYWNjb3JkaW9uLWhlYWRlci1pY29uIiApOw0KCQkJCXRoaXMuX3JlbW92ZUNsYXNzKCBjbGlja2VkQ2hpbGRyZW4sIG51bGwsIG9wdGlvbnMuaWNvbnMuaGVhZGVyICkNCgkJCQkJLl9hZGRDbGFzcyggY2xpY2tlZENoaWxkcmVuLCBudWxsLCBvcHRpb25zLmljb25zLmFjdGl2ZUhlYWRlciApOw0KCQkJfQ0KDQoJCQl0aGlzLl9hZGRDbGFzcyggY2xpY2tlZC5uZXh0KCksICJ1aS1hY2NvcmRpb24tY29udGVudC1hY3RpdmUiICk7DQoJCX0NCgl9LA0KDQoJX3RvZ2dsZTogZnVuY3Rpb24oIGRhdGEgKSB7DQoJCXZhciB0b1Nob3cgPSBkYXRhLm5ld1BhbmVsLA0KCQkJdG9IaWRlID0gdGhpcy5wcmV2U2hvdy5sZW5ndGggPyB0aGlzLnByZXZTaG93IDogZGF0YS5vbGRQYW5lbDsNCg0KCQkvLyBIYW5kbGUgYWN0aXZhdGluZyBhIHBhbmVsIGR1cmluZyB0aGUgYW5pbWF0aW9uIGZvciBhbm90aGVyIGFjdGl2YXRpb24NCgkJdGhpcy5wcmV2U2hvdy5hZGQoIHRoaXMucHJldkhpZGUgKS5zdG9wKCB0cnVlLCB0cnVlICk7DQoJCXRoaXMucHJldlNob3cgPSB0b1Nob3c7DQoJCXRoaXMucHJldkhpZGUgPSB0b0hpZGU7DQoNCgkJaWYgKCB0aGlzLm9wdGlvbnMuYW5pbWF0ZSApIHsNCgkJCXRoaXMuX2FuaW1hdGUoIHRvU2hvdywgdG9IaWRlLCBkYXRhICk7DQoJCX0gZWxzZSB7DQoJCQl0b0hpZGUuaGlkZSgpOw0KCQkJdG9TaG93LnNob3coKTsNCgkJCXRoaXMuX3RvZ2dsZUNvbXBsZXRlKCBkYXRhICk7DQoJCX0NCg0KCQl0b0hpZGUuYXR0ciggew0KCQkJImFyaWEtaGlkZGVuIjogInRydWUiDQoJCX0gKTsNCgkJdG9IaWRlLnByZXYoKS5hdHRyKCB7DQoJCQkiYXJpYS1zZWxlY3RlZCI6ICJmYWxzZSIsDQoJCQkiYXJpYS1leHBhbmRlZCI6ICJmYWxzZSINCgkJfSApOw0KDQoJCS8vIGlmIHdlJ3JlIHN3aXRjaGluZyBwYW5lbHMsIHJlbW92ZSB0aGUgb2xkIGhlYWRlciBmcm9tIHRoZSB0YWIgb3JkZXINCgkJLy8gaWYgd2UncmUgb3BlbmluZyBmcm9tIGNvbGxhcHNlZCBzdGF0ZSwgcmVtb3ZlIHRoZSBwcmV2aW91cyBoZWFkZXIgZnJvbSB0aGUgdGFiIG9yZGVyDQoJCS8vIGlmIHdlJ3JlIGNvbGxhcHNpbmcsIHRoZW4ga2VlcCB0aGUgY29sbGFwc2luZyBoZWFkZXIgaW4gdGhlIHRhYiBvcmRlcg0KCQlpZiAoIHRvU2hvdy5sZW5ndGggJiYgdG9IaWRlLmxlbmd0aCApIHsNCgkJCXRvSGlkZS5wcmV2KCkuYXR0ciggew0KCQkJCSJ0YWJJbmRleCI6IC0xLA0KCQkJCSJhcmlhLWV4cGFuZGVkIjogImZhbHNlIg0KCQkJfSApOw0KCQl9IGVsc2UgaWYgKCB0b1Nob3cubGVuZ3RoICkgew0KCQkJdGhpcy5oZWFkZXJzLmZpbHRlciggZnVuY3Rpb24oKSB7DQoJCQkJcmV0dXJuIHBhcnNlSW50KCAkKCB0aGlzICkuYXR0ciggInRhYkluZGV4IiApLCAxMCApID09PSAwOw0KCQkJfSApDQoJCQkJLmF0dHIoICJ0YWJJbmRleCIsIC0xICk7DQoJCX0NCg0KCQl0b1Nob3cNCgkJCS5hdHRyKCAiYXJpYS1oaWRkZW4iLCAiZmFsc2UiICkNCgkJCS5wcmV2KCkNCgkJCQkuYXR0ciggew0KCQkJCQkiYXJpYS1zZWxlY3RlZCI6ICJ0cnVlIiwNCgkJCQkJImFyaWEtZXhwYW5kZWQiOiAidHJ1ZSIsDQoJCQkJCXRhYkluZGV4OiAwDQoJCQkJfSApOw0KCX0sDQoNCglfYW5pbWF0ZTogZnVuY3Rpb24oIHRvU2hvdywgdG9IaWRlLCBkYXRhICkgew0KCQl2YXIgdG90YWwsIGVhc2luZywgZHVyYXRpb24sDQoJCQl0aGF0ID0gdGhpcywNCgkJCWFkanVzdCA9IDAsDQoJCQlib3hTaXppbmcgPSB0b1Nob3cuY3NzKCAiYm94LXNpemluZyIgKSwNCgkJCWRvd24gPSB0b1Nob3cubGVuZ3RoICYmDQoJCQkJKCAhdG9IaWRlLmxlbmd0aCB8fCAoIHRvU2hvdy5pbmRleCgpIDwgdG9IaWRlLmluZGV4KCkgKSApLA0KCQkJYW5pbWF0ZSA9IHRoaXMub3B0aW9ucy5hbmltYXRlIHx8IHt9LA0KCQkJb3B0aW9ucyA9IGRvd24gJiYgYW5pbWF0ZS5kb3duIHx8IGFuaW1hdGUsDQoJCQljb21wbGV0ZSA9IGZ1bmN0aW9uKCkgew0KCQkJCXRoYXQuX3RvZ2dsZUNvbXBsZXRlKCBkYXRhICk7DQoJCQl9Ow0KDQoJCWlmICggdHlwZW9mIG9wdGlvbnMgPT09ICJudW1iZXIiICkgew0KCQkJZHVyYXRpb24gPSBvcHRpb25zOw0KCQl9DQoJCWlmICggdHlwZW9mIG9wdGlvbnMgPT09ICJzdHJpbmciICkgew0KCQkJZWFzaW5nID0gb3B0aW9uczsNCgkJfQ0KDQoJCS8vIGZhbGwgYmFjayBmcm9tIG9wdGlvbnMgdG8gYW5pbWF0aW9uIGluIGNhc2Ugb2YgcGFydGlhbCBkb3duIHNldHRpbmdzDQoJCWVhc2luZyA9IGVhc2luZyB8fCBvcHRpb25zLmVhc2luZyB8fCBhbmltYXRlLmVhc2luZzsNCgkJZHVyYXRpb24gPSBkdXJhdGlvbiB8fCBvcHRpb25zLmR1cmF0aW9uIHx8IGFuaW1hdGUuZHVyYXRpb247DQoNCgkJaWYgKCAhdG9IaWRlLmxlbmd0aCApIHsNCgkJCXJldHVybiB0b1Nob3cuYW5pbWF0ZSggdGhpcy5zaG93UHJvcHMsIGR1cmF0aW9uLCBlYXNpbmcsIGNvbXBsZXRlICk7DQoJCX0NCgkJaWYgKCAhdG9TaG93Lmxlbmd0aCApIHsNCgkJCXJldHVybiB0b0hpZGUuYW5pbWF0ZSggdGhpcy5oaWRlUHJvcHMsIGR1cmF0aW9uLCBlYXNpbmcsIGNvbXBsZXRlICk7DQoJCX0NCg0KCQl0b3RhbCA9IHRvU2hvdy5zaG93KCkub3V0ZXJIZWlnaHQoKTsNCgkJdG9IaWRlLmFuaW1hdGUoIHRoaXMuaGlkZVByb3BzLCB7DQoJCQlkdXJhdGlvbjogZHVyYXRpb24sDQoJCQllYXNpbmc6IGVhc2luZywNCgkJCXN0ZXA6IGZ1bmN0aW9uKCBub3csIGZ4ICkgew0KCQkJCWZ4Lm5vdyA9IE1hdGgucm91bmQoIG5vdyApOw0KCQkJfQ0KCQl9ICk7DQoJCXRvU2hvdw0KCQkJLmhpZGUoKQ0KCQkJLmFuaW1hdGUoIHRoaXMuc2hvd1Byb3BzLCB7DQoJCQkJZHVyYXRpb246IGR1cmF0aW9uLA0KCQkJCWVhc2luZzogZWFzaW5nLA0KCQkJCWNvbXBsZXRlOiBjb21wbGV0ZSwNCgkJCQlzdGVwOiBmdW5jdGlvbiggbm93LCBmeCApIHsNCgkJCQkJZngubm93ID0gTWF0aC5yb3VuZCggbm93ICk7DQoJCQkJCWlmICggZngucHJvcCAhPT0gImhlaWdodCIgKSB7DQoJCQkJCQlpZiAoIGJveFNpemluZyA9PT0gImNvbnRlbnQtYm94IiApIHsNCgkJCQkJCQlhZGp1c3QgKz0gZngubm93Ow0KCQkJCQkJfQ0KCQkJCQl9IGVsc2UgaWYgKCB0aGF0Lm9wdGlvbnMuaGVpZ2h0U3R5bGUgIT09ICJjb250ZW50IiApIHsNCgkJCQkJCWZ4Lm5vdyA9IE1hdGgucm91bmQoIHRvdGFsIC0gdG9IaWRlLm91dGVySGVpZ2h0KCkgLSBhZGp1c3QgKTsNCgkJCQkJCWFkanVzdCA9IDA7DQoJCQkJCX0NCgkJCQl9DQoJCQl9ICk7DQoJfSwNCg0KCV90b2dnbGVDb21wbGV0ZTogZnVuY3Rpb24oIGRhdGEgKSB7DQoJCXZhciB0b0hpZGUgPSBkYXRhLm9sZFBhbmVsLA0KCQkJcHJldiA9IHRvSGlkZS5wcmV2KCk7DQoNCgkJdGhpcy5fcmVtb3ZlQ2xhc3MoIHRvSGlkZSwgInVpLWFjY29yZGlvbi1jb250ZW50LWFjdGl2ZSIgKTsNCgkJdGhpcy5fcmVtb3ZlQ2xhc3MoIHByZXYsICJ1aS1hY2NvcmRpb24taGVhZGVyLWFjdGl2ZSIgKQ0KCQkJLl9hZGRDbGFzcyggcHJldiwgInVpLWFjY29yZGlvbi1oZWFkZXItY29sbGFwc2VkIiApOw0KDQoJCS8vIFdvcmsgYXJvdW5kIGZvciByZW5kZXJpbmcgYnVnIGluIElFICgjNTQyMSkNCgkJaWYgKCB0b0hpZGUubGVuZ3RoICkgew0KCQkJdG9IaWRlLnBhcmVudCgpWyAwIF0uY2xhc3NOYW1lID0gdG9IaWRlLnBhcmVudCgpWyAwIF0uY2xhc3NOYW1lOw0KCQl9DQoJCXRoaXMuX3RyaWdnZXIoICJhY3RpdmF0ZSIsIG51bGwsIGRhdGEgKTsNCgl9DQp9ICk7DQoNCg0KDQp2YXIgc2FmZUFjdGl2ZUVsZW1lbnQgPSAkLnVpLnNhZmVBY3RpdmVFbGVtZW50ID0gZnVuY3Rpb24oIGRvY3VtZW50ICkgew0KCXZhciBhY3RpdmVFbGVtZW50Ow0KDQoJLy8gU3VwcG9ydDogSUUgOSBvbmx5DQoJLy8gSUU5IHRocm93cyBhbiAiVW5zcGVjaWZpZWQgZXJyb3IiIGFjY2Vzc2luZyBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGZyb20gYW4gPGlmcmFtZT4NCgl0cnkgew0KCQlhY3RpdmVFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDsNCgl9IGNhdGNoICggZXJyb3IgKSB7DQoJCWFjdGl2ZUVsZW1lbnQgPSBkb2N1bWVudC5ib2R5Ow0KCX0NCg0KCS8vIFN1cHBvcnQ6IElFIDkgLSAxMSBvbmx5DQoJLy8gSUUgbWF5IHJldHVybiBudWxsIGluc3RlYWQgb2YgYW4gZWxlbWVudA0KCS8vIEludGVyZXN0aW5nbHksIHRoaXMgb25seSBzZWVtcyB0byBvY2N1ciB3aGVuIE5PVCBpbiBhbiBpZnJhbWUNCglpZiAoICFhY3RpdmVFbGVtZW50ICkgew0KCQlhY3RpdmVFbGVtZW50ID0gZG9jdW1lbnQuYm9keTsNCgl9DQoNCgkvLyBTdXBwb3J0OiBJRSAxMSBvbmx5DQoJLy8gSUUxMSByZXR1cm5zIGEgc2VlbWluZ2x5IGVtcHR5IG9iamVjdCBpbiBzb21lIGNhc2VzIHdoZW4gYWNjZXNzaW5nDQoJLy8gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBmcm9tIGFuIDxpZnJhbWU+DQoJaWYgKCAhYWN0aXZlRWxlbWVudC5ub2RlTmFtZSApIHsNCgkJYWN0aXZlRWxlbWVudCA9IGRvY3VtZW50LmJvZHk7DQoJfQ0KDQoJcmV0dXJuIGFjdGl2ZUVsZW1lbnQ7DQp9Ow0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIE1lbnUgMS4xMi4xDQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqLw0KDQovLz4+bGFiZWw6IE1lbnUNCi8vPj5ncm91cDogV2lkZ2V0cw0KLy8+PmRlc2NyaXB0aW9uOiBDcmVhdGVzIG5lc3RhYmxlIG1lbnVzLg0KLy8+PmRvY3M6IGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL21lbnUvDQovLz4+ZGVtb3M6IGh0dHA6Ly9qcXVlcnl1aS5jb20vbWVudS8NCi8vPj5jc3Muc3RydWN0dXJlOiAuLi8uLi90aGVtZXMvYmFzZS9jb3JlLmNzcw0KLy8+PmNzcy5zdHJ1Y3R1cmU6IC4uLy4uL3RoZW1lcy9iYXNlL21lbnUuY3NzDQovLz4+Y3NzLnRoZW1lOiAuLi8uLi90aGVtZXMvYmFzZS90aGVtZS5jc3MNCg0KDQoNCnZhciB3aWRnZXRzTWVudSA9ICQud2lkZ2V0KCAidWkubWVudSIsIHsNCgl2ZXJzaW9uOiAiMS4xMi4xIiwNCglkZWZhdWx0RWxlbWVudDogIjx1bD4iLA0KCWRlbGF5OiAzMDAsDQoJb3B0aW9uczogew0KCQlpY29uczogew0KCQkJc3VibWVudTogInVpLWljb24tY2FyZXQtMS1lIg0KCQl9LA0KCQlpdGVtczogIj4gKiIsDQoJCW1lbnVzOiAidWwiLA0KCQlwb3NpdGlvbjogew0KCQkJbXk6ICJsZWZ0IHRvcCIsDQoJCQlhdDogInJpZ2h0IHRvcCINCgkJfSwNCgkJcm9sZTogIm1lbnUiLA0KDQoJCS8vIENhbGxiYWNrcw0KCQlibHVyOiBudWxsLA0KCQlmb2N1czogbnVsbCwNCgkJc2VsZWN0OiBudWxsDQoJfSwNCg0KCV9jcmVhdGU6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLmFjdGl2ZU1lbnUgPSB0aGlzLmVsZW1lbnQ7DQoNCgkJLy8gRmxhZyB1c2VkIHRvIHByZXZlbnQgZmlyaW5nIG9mIHRoZSBjbGljayBoYW5kbGVyDQoJCS8vIGFzIHRoZSBldmVudCBidWJibGVzIHVwIHRocm91Z2ggbmVzdGVkIG1lbnVzDQoJCXRoaXMubW91c2VIYW5kbGVkID0gZmFsc2U7DQoJCXRoaXMuZWxlbWVudA0KCQkJLnVuaXF1ZUlkKCkNCgkJCS5hdHRyKCB7DQoJCQkJcm9sZTogdGhpcy5vcHRpb25zLnJvbGUsDQoJCQkJdGFiSW5kZXg6IDANCgkJCX0gKTsNCg0KCQl0aGlzLl9hZGRDbGFzcyggInVpLW1lbnUiLCAidWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IiApOw0KCQl0aGlzLl9vbiggew0KDQoJCQkvLyBQcmV2ZW50IGZvY3VzIGZyb20gc3RpY2tpbmcgdG8gbGlua3MgaW5zaWRlIG1lbnUgYWZ0ZXIgY2xpY2tpbmcNCgkJCS8vIHRoZW0gKGZvY3VzIHNob3VsZCBhbHdheXMgc3RheSBvbiBVTCBkdXJpbmcgbmF2aWdhdGlvbikuDQoJCQkibW91c2Vkb3duIC51aS1tZW51LWl0ZW0iOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCgkJCX0sDQoJCQkiY2xpY2sgLnVpLW1lbnUtaXRlbSI6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCQl2YXIgdGFyZ2V0ID0gJCggZXZlbnQudGFyZ2V0ICk7DQoJCQkJdmFyIGFjdGl2ZSA9ICQoICQudWkuc2FmZUFjdGl2ZUVsZW1lbnQoIHRoaXMuZG9jdW1lbnRbIDAgXSApICk7DQoJCQkJaWYgKCAhdGhpcy5tb3VzZUhhbmRsZWQgJiYgdGFyZ2V0Lm5vdCggIi51aS1zdGF0ZS1kaXNhYmxlZCIgKS5sZW5ndGggKSB7DQoJCQkJCXRoaXMuc2VsZWN0KCBldmVudCApOw0KDQoJCQkJCS8vIE9ubHkgc2V0IHRoZSBtb3VzZUhhbmRsZWQgZmxhZyBpZiB0aGUgZXZlbnQgd2lsbCBidWJibGUsIHNlZSAjOTQ2OS4NCgkJCQkJaWYgKCAhZXZlbnQuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSApIHsNCgkJCQkJCXRoaXMubW91c2VIYW5kbGVkID0gdHJ1ZTsNCgkJCQkJfQ0KDQoJCQkJCS8vIE9wZW4gc3VibWVudSBvbiBjbGljaw0KCQkJCQlpZiAoIHRhcmdldC5oYXMoICIudWktbWVudSIgKS5sZW5ndGggKSB7DQoJCQkJCQl0aGlzLmV4cGFuZCggZXZlbnQgKTsNCgkJCQkJfSBlbHNlIGlmICggIXRoaXMuZWxlbWVudC5pcyggIjpmb2N1cyIgKSAmJg0KCQkJCQkJCWFjdGl2ZS5jbG9zZXN0KCAiLnVpLW1lbnUiICkubGVuZ3RoICkgew0KDQoJCQkJCQkvLyBSZWRpcmVjdCBmb2N1cyB0byB0aGUgbWVudQ0KCQkJCQkJdGhpcy5lbGVtZW50LnRyaWdnZXIoICJmb2N1cyIsIFsgdHJ1ZSBdICk7DQoNCgkJCQkJCS8vIElmIHRoZSBhY3RpdmUgaXRlbSBpcyBvbiB0aGUgdG9wIGxldmVsLCBsZXQgaXQgc3RheSBhY3RpdmUuDQoJCQkJCQkvLyBPdGhlcndpc2UsIGJsdXIgdGhlIGFjdGl2ZSBpdGVtIHNpbmNlIGl0IGlzIG5vIGxvbmdlciB2aXNpYmxlLg0KCQkJCQkJaWYgKCB0aGlzLmFjdGl2ZSAmJiB0aGlzLmFjdGl2ZS5wYXJlbnRzKCAiLnVpLW1lbnUiICkubGVuZ3RoID09PSAxICkgew0KCQkJCQkJCWNsZWFyVGltZW91dCggdGhpcy50aW1lciApOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfQ0KCQkJfSwNCgkJCSJtb3VzZWVudGVyIC51aS1tZW51LWl0ZW0iOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoNCgkJCQkvLyBJZ25vcmUgbW91c2UgZXZlbnRzIHdoaWxlIHR5cGVhaGVhZCBpcyBhY3RpdmUsIHNlZSAjMTA0NTguDQoJCQkJLy8gUHJldmVudHMgZm9jdXNpbmcgdGhlIHdyb25nIGl0ZW0gd2hlbiB0eXBlYWhlYWQgY2F1c2VzIGEgc2Nyb2xsIHdoaWxlIHRoZSBtb3VzZQ0KCQkJCS8vIGlzIG92ZXIgYW4gaXRlbSBpbiB0aGUgbWVudQ0KCQkJCWlmICggdGhpcy5wcmV2aW91c0ZpbHRlciApIHsNCgkJCQkJcmV0dXJuOw0KCQkJCX0NCg0KCQkJCXZhciBhY3R1YWxUYXJnZXQgPSAkKCBldmVudC50YXJnZXQgKS5jbG9zZXN0KCAiLnVpLW1lbnUtaXRlbSIgKSwNCgkJCQkJdGFyZ2V0ID0gJCggZXZlbnQuY3VycmVudFRhcmdldCApOw0KDQoJCQkJLy8gSWdub3JlIGJ1YmJsZWQgZXZlbnRzIG9uIHBhcmVudCBpdGVtcywgc2VlICMxMTY0MQ0KCQkJCWlmICggYWN0dWFsVGFyZ2V0WyAwIF0gIT09IHRhcmdldFsgMCBdICkgew0KCQkJCQlyZXR1cm47DQoJCQkJfQ0KDQoJCQkJLy8gUmVtb3ZlIHVpLXN0YXRlLWFjdGl2ZSBjbGFzcyBmcm9tIHNpYmxpbmdzIG9mIHRoZSBuZXdseSBmb2N1c2VkIG1lbnUgaXRlbQ0KCQkJCS8vIHRvIGF2b2lkIGEganVtcCBjYXVzZWQgYnkgYWRqYWNlbnQgZWxlbWVudHMgYm90aCBoYXZpbmcgYSBjbGFzcyB3aXRoIGEgYm9yZGVyDQoJCQkJdGhpcy5fcmVtb3ZlQ2xhc3MoIHRhcmdldC5zaWJsaW5ncygpLmNoaWxkcmVuKCAiLnVpLXN0YXRlLWFjdGl2ZSIgKSwNCgkJCQkJbnVsbCwgInVpLXN0YXRlLWFjdGl2ZSIgKTsNCgkJCQl0aGlzLmZvY3VzKCBldmVudCwgdGFyZ2V0ICk7DQoJCQl9LA0KCQkJbW91c2VsZWF2ZTogImNvbGxhcHNlQWxsIiwNCgkJCSJtb3VzZWxlYXZlIC51aS1tZW51IjogImNvbGxhcHNlQWxsIiwNCgkJCWZvY3VzOiBmdW5jdGlvbiggZXZlbnQsIGtlZXBBY3RpdmVJdGVtICkgew0KDQoJCQkJLy8gSWYgdGhlcmUncyBhbHJlYWR5IGFuIGFjdGl2ZSBpdGVtLCBrZWVwIGl0IGFjdGl2ZQ0KCQkJCS8vIElmIG5vdCwgYWN0aXZhdGUgdGhlIGZpcnN0IGl0ZW0NCgkJCQl2YXIgaXRlbSA9IHRoaXMuYWN0aXZlIHx8IHRoaXMuZWxlbWVudC5maW5kKCB0aGlzLm9wdGlvbnMuaXRlbXMgKS5lcSggMCApOw0KDQoJCQkJaWYgKCAha2VlcEFjdGl2ZUl0ZW0gKSB7DQoJCQkJCXRoaXMuZm9jdXMoIGV2ZW50LCBpdGVtICk7DQoJCQkJfQ0KCQkJfSwNCgkJCWJsdXI6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCQl0aGlzLl9kZWxheSggZnVuY3Rpb24oKSB7DQoJCQkJCXZhciBub3RDb250YWluZWQgPSAhJC5jb250YWlucygNCgkJCQkJCXRoaXMuZWxlbWVudFsgMCBdLA0KCQkJCQkJJC51aS5zYWZlQWN0aXZlRWxlbWVudCggdGhpcy5kb2N1bWVudFsgMCBdICkNCgkJCQkJKTsNCgkJCQkJaWYgKCBub3RDb250YWluZWQgKSB7DQoJCQkJCQl0aGlzLmNvbGxhcHNlQWxsKCBldmVudCApOw0KCQkJCQl9DQoJCQkJfSApOw0KCQkJfSwNCgkJCWtleWRvd246ICJfa2V5ZG93biINCgkJfSApOw0KDQoJCXRoaXMucmVmcmVzaCgpOw0KDQoJCS8vIENsaWNrcyBvdXRzaWRlIG9mIGEgbWVudSBjb2xsYXBzZSBhbnkgb3BlbiBtZW51cw0KCQl0aGlzLl9vbiggdGhpcy5kb2N1bWVudCwgew0KCQkJY2xpY2s6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCQlpZiAoIHRoaXMuX2Nsb3NlT25Eb2N1bWVudENsaWNrKCBldmVudCApICkgew0KCQkJCQl0aGlzLmNvbGxhcHNlQWxsKCBldmVudCApOw0KCQkJCX0NCg0KCQkJCS8vIFJlc2V0IHRoZSBtb3VzZUhhbmRsZWQgZmxhZw0KCQkJCXRoaXMubW91c2VIYW5kbGVkID0gZmFsc2U7DQoJCQl9DQoJCX0gKTsNCgl9LA0KDQoJX2Rlc3Ryb3k6IGZ1bmN0aW9uKCkgew0KCQl2YXIgaXRlbXMgPSB0aGlzLmVsZW1lbnQuZmluZCggIi51aS1tZW51LWl0ZW0iICkNCgkJCQkucmVtb3ZlQXR0ciggInJvbGUgYXJpYS1kaXNhYmxlZCIgKSwNCgkJCXN1Ym1lbnVzID0gaXRlbXMuY2hpbGRyZW4oICIudWktbWVudS1pdGVtLXdyYXBwZXIiICkNCgkJCQkucmVtb3ZlVW5pcXVlSWQoKQ0KCQkJCS5yZW1vdmVBdHRyKCAidGFiSW5kZXggcm9sZSBhcmlhLWhhc3BvcHVwIiApOw0KDQoJCS8vIERlc3Ryb3kgKHN1YiltZW51cw0KCQl0aGlzLmVsZW1lbnQNCgkJCS5yZW1vdmVBdHRyKCAiYXJpYS1hY3RpdmVkZXNjZW5kYW50IiApDQoJCQkuZmluZCggIi51aS1tZW51IiApLmFkZEJhY2soKQ0KCQkJCS5yZW1vdmVBdHRyKCAicm9sZSBhcmlhLWxhYmVsbGVkYnkgYXJpYS1leHBhbmRlZCBhcmlhLWhpZGRlbiBhcmlhLWRpc2FibGVkICIgKw0KCQkJCQkidGFiSW5kZXgiICkNCgkJCQkucmVtb3ZlVW5pcXVlSWQoKQ0KCQkJCS5zaG93KCk7DQoNCgkJc3VibWVudXMuY2hpbGRyZW4oKS5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCXZhciBlbGVtID0gJCggdGhpcyApOw0KCQkJaWYgKCBlbGVtLmRhdGEoICJ1aS1tZW51LXN1Ym1lbnUtY2FyZXQiICkgKSB7DQoJCQkJZWxlbS5yZW1vdmUoKTsNCgkJCX0NCgkJfSApOw0KCX0sDQoNCglfa2V5ZG93bjogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl2YXIgbWF0Y2gsIHByZXYsIGNoYXJhY3Rlciwgc2tpcCwNCgkJCXByZXZlbnREZWZhdWx0ID0gdHJ1ZTsNCg0KCQlzd2l0Y2ggKCBldmVudC5rZXlDb2RlICkgew0KCQljYXNlICQudWkua2V5Q29kZS5QQUdFX1VQOg0KCQkJdGhpcy5wcmV2aW91c1BhZ2UoIGV2ZW50ICk7DQoJCQlicmVhazsNCgkJY2FzZSAkLnVpLmtleUNvZGUuUEFHRV9ET1dOOg0KCQkJdGhpcy5uZXh0UGFnZSggZXZlbnQgKTsNCgkJCWJyZWFrOw0KCQljYXNlICQudWkua2V5Q29kZS5IT01FOg0KCQkJdGhpcy5fbW92ZSggImZpcnN0IiwgImZpcnN0IiwgZXZlbnQgKTsNCgkJCWJyZWFrOw0KCQljYXNlICQudWkua2V5Q29kZS5FTkQ6DQoJCQl0aGlzLl9tb3ZlKCAibGFzdCIsICJsYXN0IiwgZXZlbnQgKTsNCgkJCWJyZWFrOw0KCQljYXNlICQudWkua2V5Q29kZS5VUDoNCgkJCXRoaXMucHJldmlvdXMoIGV2ZW50ICk7DQoJCQlicmVhazsNCgkJY2FzZSAkLnVpLmtleUNvZGUuRE9XTjoNCgkJCXRoaXMubmV4dCggZXZlbnQgKTsNCgkJCWJyZWFrOw0KCQljYXNlICQudWkua2V5Q29kZS5MRUZUOg0KCQkJdGhpcy5jb2xsYXBzZSggZXZlbnQgKTsNCgkJCWJyZWFrOw0KCQljYXNlICQudWkua2V5Q29kZS5SSUdIVDoNCgkJCWlmICggdGhpcy5hY3RpdmUgJiYgIXRoaXMuYWN0aXZlLmlzKCAiLnVpLXN0YXRlLWRpc2FibGVkIiApICkgew0KCQkJCXRoaXMuZXhwYW5kKCBldmVudCApOw0KCQkJfQ0KCQkJYnJlYWs7DQoJCWNhc2UgJC51aS5rZXlDb2RlLkVOVEVSOg0KCQljYXNlICQudWkua2V5Q29kZS5TUEFDRToNCgkJCXRoaXMuX2FjdGl2YXRlKCBldmVudCApOw0KCQkJYnJlYWs7DQoJCWNhc2UgJC51aS5rZXlDb2RlLkVTQ0FQRToNCgkJCXRoaXMuY29sbGFwc2UoIGV2ZW50ICk7DQoJCQlicmVhazsNCgkJZGVmYXVsdDoNCgkJCXByZXZlbnREZWZhdWx0ID0gZmFsc2U7DQoJCQlwcmV2ID0gdGhpcy5wcmV2aW91c0ZpbHRlciB8fCAiIjsNCgkJCXNraXAgPSBmYWxzZTsNCg0KCQkJLy8gU3VwcG9ydCBudW1iZXIgcGFkIHZhbHVlcw0KCQkJY2hhcmFjdGVyID0gZXZlbnQua2V5Q29kZSA+PSA5NiAmJiBldmVudC5rZXlDb2RlIDw9IDEwNSA/DQoJCQkJKCBldmVudC5rZXlDb2RlIC0gOTYgKS50b1N0cmluZygpIDogU3RyaW5nLmZyb21DaGFyQ29kZSggZXZlbnQua2V5Q29kZSApOw0KDQoJCQljbGVhclRpbWVvdXQoIHRoaXMuZmlsdGVyVGltZXIgKTsNCg0KCQkJaWYgKCBjaGFyYWN0ZXIgPT09IHByZXYgKSB7DQoJCQkJc2tpcCA9IHRydWU7DQoJCQl9IGVsc2Ugew0KCQkJCWNoYXJhY3RlciA9IHByZXYgKyBjaGFyYWN0ZXI7DQoJCQl9DQoNCgkJCW1hdGNoID0gdGhpcy5fZmlsdGVyTWVudUl0ZW1zKCBjaGFyYWN0ZXIgKTsNCgkJCW1hdGNoID0gc2tpcCAmJiBtYXRjaC5pbmRleCggdGhpcy5hY3RpdmUubmV4dCgpICkgIT09IC0xID8NCgkJCQl0aGlzLmFjdGl2ZS5uZXh0QWxsKCAiLnVpLW1lbnUtaXRlbSIgKSA6DQoJCQkJbWF0Y2g7DQoNCgkJCS8vIElmIG5vIG1hdGNoZXMgb24gdGhlIGN1cnJlbnQgZmlsdGVyLCByZXNldCB0byB0aGUgbGFzdCBjaGFyYWN0ZXIgcHJlc3NlZA0KCQkJLy8gdG8gbW92ZSBkb3duIHRoZSBtZW51IHRvIHRoZSBmaXJzdCBpdGVtIHRoYXQgc3RhcnRzIHdpdGggdGhhdCBjaGFyYWN0ZXINCgkJCWlmICggIW1hdGNoLmxlbmd0aCApIHsNCgkJCQljaGFyYWN0ZXIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKCBldmVudC5rZXlDb2RlICk7DQoJCQkJbWF0Y2ggPSB0aGlzLl9maWx0ZXJNZW51SXRlbXMoIGNoYXJhY3RlciApOw0KCQkJfQ0KDQoJCQlpZiAoIG1hdGNoLmxlbmd0aCApIHsNCgkJCQl0aGlzLmZvY3VzKCBldmVudCwgbWF0Y2ggKTsNCgkJCQl0aGlzLnByZXZpb3VzRmlsdGVyID0gY2hhcmFjdGVyOw0KCQkJCXRoaXMuZmlsdGVyVGltZXIgPSB0aGlzLl9kZWxheSggZnVuY3Rpb24oKSB7DQoJCQkJCWRlbGV0ZSB0aGlzLnByZXZpb3VzRmlsdGVyOw0KCQkJCX0sIDEwMDAgKTsNCgkJCX0gZWxzZSB7DQoJCQkJZGVsZXRlIHRoaXMucHJldmlvdXNGaWx0ZXI7DQoJCQl9DQoJCX0NCg0KCQlpZiAoIHByZXZlbnREZWZhdWx0ICkgew0KCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCgkJfQ0KCX0sDQoNCglfYWN0aXZhdGU6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJaWYgKCB0aGlzLmFjdGl2ZSAmJiAhdGhpcy5hY3RpdmUuaXMoICIudWktc3RhdGUtZGlzYWJsZWQiICkgKSB7DQoJCQlpZiAoIHRoaXMuYWN0aXZlLmNoaWxkcmVuKCAiW2FyaWEtaGFzcG9wdXA9J3RydWUnXSIgKS5sZW5ndGggKSB7DQoJCQkJdGhpcy5leHBhbmQoIGV2ZW50ICk7DQoJCQl9IGVsc2Ugew0KCQkJCXRoaXMuc2VsZWN0KCBldmVudCApOw0KCQkJfQ0KCQl9DQoJfSwNCg0KCXJlZnJlc2g6IGZ1bmN0aW9uKCkgew0KCQl2YXIgbWVudXMsIGl0ZW1zLCBuZXdTdWJtZW51cywgbmV3SXRlbXMsIG5ld1dyYXBwZXJzLA0KCQkJdGhhdCA9IHRoaXMsDQoJCQlpY29uID0gdGhpcy5vcHRpb25zLmljb25zLnN1Ym1lbnUsDQoJCQlzdWJtZW51cyA9IHRoaXMuZWxlbWVudC5maW5kKCB0aGlzLm9wdGlvbnMubWVudXMgKTsNCg0KCQl0aGlzLl90b2dnbGVDbGFzcyggInVpLW1lbnUtaWNvbnMiLCBudWxsLCAhIXRoaXMuZWxlbWVudC5maW5kKCAiLnVpLWljb24iICkubGVuZ3RoICk7DQoNCgkJLy8gSW5pdGlhbGl6ZSBuZXN0ZWQgbWVudXMNCgkJbmV3U3VibWVudXMgPSBzdWJtZW51cy5maWx0ZXIoICI6bm90KC51aS1tZW51KSIgKQ0KCQkJLmhpZGUoKQ0KCQkJLmF0dHIoIHsNCgkJCQlyb2xlOiB0aGlzLm9wdGlvbnMucm9sZSwNCgkJCQkiYXJpYS1oaWRkZW4iOiAidHJ1ZSIsDQoJCQkJImFyaWEtZXhwYW5kZWQiOiAiZmFsc2UiDQoJCQl9ICkNCgkJCS5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCQl2YXIgbWVudSA9ICQoIHRoaXMgKSwNCgkJCQkJaXRlbSA9IG1lbnUucHJldigpLA0KCQkJCQlzdWJtZW51Q2FyZXQgPSAkKCAiPHNwYW4+IiApLmRhdGEoICJ1aS1tZW51LXN1Ym1lbnUtY2FyZXQiLCB0cnVlICk7DQoNCgkJCQl0aGF0Ll9hZGRDbGFzcyggc3VibWVudUNhcmV0LCAidWktbWVudS1pY29uIiwgInVpLWljb24gIiArIGljb24gKTsNCgkJCQlpdGVtDQoJCQkJCS5hdHRyKCAiYXJpYS1oYXNwb3B1cCIsICJ0cnVlIiApDQoJCQkJCS5wcmVwZW5kKCBzdWJtZW51Q2FyZXQgKTsNCgkJCQltZW51LmF0dHIoICJhcmlhLWxhYmVsbGVkYnkiLCBpdGVtLmF0dHIoICJpZCIgKSApOw0KCQkJfSApOw0KDQoJCXRoaXMuX2FkZENsYXNzKCBuZXdTdWJtZW51cywgInVpLW1lbnUiLCAidWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWZyb250IiApOw0KDQoJCW1lbnVzID0gc3VibWVudXMuYWRkKCB0aGlzLmVsZW1lbnQgKTsNCgkJaXRlbXMgPSBtZW51cy5maW5kKCB0aGlzLm9wdGlvbnMuaXRlbXMgKTsNCg0KCQkvLyBJbml0aWFsaXplIG1lbnUtaXRlbXMgY29udGFpbmluZyBzcGFjZXMgYW5kL29yIGRhc2hlcyBvbmx5IGFzIGRpdmlkZXJzDQoJCWl0ZW1zLm5vdCggIi51aS1tZW51LWl0ZW0iICkuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQl2YXIgaXRlbSA9ICQoIHRoaXMgKTsNCgkJCWlmICggdGhhdC5faXNEaXZpZGVyKCBpdGVtICkgKSB7DQoJCQkJdGhhdC5fYWRkQ2xhc3MoIGl0ZW0sICJ1aS1tZW51LWRpdmlkZXIiLCAidWktd2lkZ2V0LWNvbnRlbnQiICk7DQoJCQl9DQoJCX0gKTsNCg0KCQkvLyBEb24ndCByZWZyZXNoIGxpc3QgaXRlbXMgdGhhdCBhcmUgYWxyZWFkeSBhZGFwdGVkDQoJCW5ld0l0ZW1zID0gaXRlbXMubm90KCAiLnVpLW1lbnUtaXRlbSwgLnVpLW1lbnUtZGl2aWRlciIgKTsNCgkJbmV3V3JhcHBlcnMgPSBuZXdJdGVtcy5jaGlsZHJlbigpDQoJCQkubm90KCAiLnVpLW1lbnUiICkNCgkJCQkudW5pcXVlSWQoKQ0KCQkJCS5hdHRyKCB7DQoJCQkJCXRhYkluZGV4OiAtMSwNCgkJCQkJcm9sZTogdGhpcy5faXRlbVJvbGUoKQ0KCQkJCX0gKTsNCgkJdGhpcy5fYWRkQ2xhc3MoIG5ld0l0ZW1zLCAidWktbWVudS1pdGVtIiApDQoJCQkuX2FkZENsYXNzKCBuZXdXcmFwcGVycywgInVpLW1lbnUtaXRlbS13cmFwcGVyIiApOw0KDQoJCS8vIEFkZCBhcmlhLWRpc2FibGVkIGF0dHJpYnV0ZSB0byBhbnkgZGlzYWJsZWQgbWVudSBpdGVtDQoJCWl0ZW1zLmZpbHRlciggIi51aS1zdGF0ZS1kaXNhYmxlZCIgKS5hdHRyKCAiYXJpYS1kaXNhYmxlZCIsICJ0cnVlIiApOw0KDQoJCS8vIElmIHRoZSBhY3RpdmUgaXRlbSBoYXMgYmVlbiByZW1vdmVkLCBibHVyIHRoZSBtZW51DQoJCWlmICggdGhpcy5hY3RpdmUgJiYgISQuY29udGFpbnMoIHRoaXMuZWxlbWVudFsgMCBdLCB0aGlzLmFjdGl2ZVsgMCBdICkgKSB7DQoJCQl0aGlzLmJsdXIoKTsNCgkJfQ0KCX0sDQoNCglfaXRlbVJvbGU6IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gew0KCQkJbWVudTogIm1lbnVpdGVtIiwNCgkJCWxpc3Rib3g6ICJvcHRpb24iDQoJCX1bIHRoaXMub3B0aW9ucy5yb2xlIF07DQoJfSwNCg0KCV9zZXRPcHRpb246IGZ1bmN0aW9uKCBrZXksIHZhbHVlICkgew0KCQlpZiAoIGtleSA9PT0gImljb25zIiApIHsNCgkJCXZhciBpY29ucyA9IHRoaXMuZWxlbWVudC5maW5kKCAiLnVpLW1lbnUtaWNvbiIgKTsNCgkJCXRoaXMuX3JlbW92ZUNsYXNzKCBpY29ucywgbnVsbCwgdGhpcy5vcHRpb25zLmljb25zLnN1Ym1lbnUgKQ0KCQkJCS5fYWRkQ2xhc3MoIGljb25zLCBudWxsLCB2YWx1ZS5zdWJtZW51ICk7DQoJCX0NCgkJdGhpcy5fc3VwZXIoIGtleSwgdmFsdWUgKTsNCgl9LA0KDQoJX3NldE9wdGlvbkRpc2FibGVkOiBmdW5jdGlvbiggdmFsdWUgKSB7DQoJCXRoaXMuX3N1cGVyKCB2YWx1ZSApOw0KDQoJCXRoaXMuZWxlbWVudC5hdHRyKCAiYXJpYS1kaXNhYmxlZCIsIFN0cmluZyggdmFsdWUgKSApOw0KCQl0aGlzLl90b2dnbGVDbGFzcyggbnVsbCwgInVpLXN0YXRlLWRpc2FibGVkIiwgISF2YWx1ZSApOw0KCX0sDQoNCglmb2N1czogZnVuY3Rpb24oIGV2ZW50LCBpdGVtICkgew0KCQl2YXIgbmVzdGVkLCBmb2N1c2VkLCBhY3RpdmVQYXJlbnQ7DQoJCXRoaXMuYmx1ciggZXZlbnQsIGV2ZW50ICYmIGV2ZW50LnR5cGUgPT09ICJmb2N1cyIgKTsNCg0KCQl0aGlzLl9zY3JvbGxJbnRvVmlldyggaXRlbSApOw0KDQoJCXRoaXMuYWN0aXZlID0gaXRlbS5maXJzdCgpOw0KDQoJCWZvY3VzZWQgPSB0aGlzLmFjdGl2ZS5jaGlsZHJlbiggIi51aS1tZW51LWl0ZW0td3JhcHBlciIgKTsNCgkJdGhpcy5fYWRkQ2xhc3MoIGZvY3VzZWQsIG51bGwsICJ1aS1zdGF0ZS1hY3RpdmUiICk7DQoNCgkJLy8gT25seSB1cGRhdGUgYXJpYS1hY3RpdmVkZXNjZW5kYW50IGlmIHRoZXJlJ3MgYSByb2xlDQoJCS8vIG90aGVyd2lzZSB3ZSBhc3N1bWUgZm9jdXMgaXMgbWFuYWdlZCBlbHNld2hlcmUNCgkJaWYgKCB0aGlzLm9wdGlvbnMucm9sZSApIHsNCgkJCXRoaXMuZWxlbWVudC5hdHRyKCAiYXJpYS1hY3RpdmVkZXNjZW5kYW50IiwgZm9jdXNlZC5hdHRyKCAiaWQiICkgKTsNCgkJfQ0KDQoJCS8vIEhpZ2hsaWdodCBhY3RpdmUgcGFyZW50IG1lbnUgaXRlbSwgaWYgYW55DQoJCWFjdGl2ZVBhcmVudCA9IHRoaXMuYWN0aXZlDQoJCQkucGFyZW50KCkNCgkJCQkuY2xvc2VzdCggIi51aS1tZW51LWl0ZW0iICkNCgkJCQkJLmNoaWxkcmVuKCAiLnVpLW1lbnUtaXRlbS13cmFwcGVyIiApOw0KCQl0aGlzLl9hZGRDbGFzcyggYWN0aXZlUGFyZW50LCBudWxsLCAidWktc3RhdGUtYWN0aXZlIiApOw0KDQoJCWlmICggZXZlbnQgJiYgZXZlbnQudHlwZSA9PT0gImtleWRvd24iICkgew0KCQkJdGhpcy5fY2xvc2UoKTsNCgkJfSBlbHNlIHsNCgkJCXRoaXMudGltZXIgPSB0aGlzLl9kZWxheSggZnVuY3Rpb24oKSB7DQoJCQkJdGhpcy5fY2xvc2UoKTsNCgkJCX0sIHRoaXMuZGVsYXkgKTsNCgkJfQ0KDQoJCW5lc3RlZCA9IGl0ZW0uY2hpbGRyZW4oICIudWktbWVudSIgKTsNCgkJaWYgKCBuZXN0ZWQubGVuZ3RoICYmIGV2ZW50ICYmICggL15tb3VzZS8udGVzdCggZXZlbnQudHlwZSApICkgKSB7DQoJCQl0aGlzLl9zdGFydE9wZW5pbmcoIG5lc3RlZCApOw0KCQl9DQoJCXRoaXMuYWN0aXZlTWVudSA9IGl0ZW0ucGFyZW50KCk7DQoNCgkJdGhpcy5fdHJpZ2dlciggImZvY3VzIiwgZXZlbnQsIHsgaXRlbTogaXRlbSB9ICk7DQoJfSwNCg0KCV9zY3JvbGxJbnRvVmlldzogZnVuY3Rpb24oIGl0ZW0gKSB7DQoJCXZhciBib3JkZXJUb3AsIHBhZGRpbmdUb3AsIG9mZnNldCwgc2Nyb2xsLCBlbGVtZW50SGVpZ2h0LCBpdGVtSGVpZ2h0Ow0KCQlpZiAoIHRoaXMuX2hhc1Njcm9sbCgpICkgew0KCQkJYm9yZGVyVG9wID0gcGFyc2VGbG9hdCggJC5jc3MoIHRoaXMuYWN0aXZlTWVudVsgMCBdLCAiYm9yZGVyVG9wV2lkdGgiICkgKSB8fCAwOw0KCQkJcGFkZGluZ1RvcCA9IHBhcnNlRmxvYXQoICQuY3NzKCB0aGlzLmFjdGl2ZU1lbnVbIDAgXSwgInBhZGRpbmdUb3AiICkgKSB8fCAwOw0KCQkJb2Zmc2V0ID0gaXRlbS5vZmZzZXQoKS50b3AgLSB0aGlzLmFjdGl2ZU1lbnUub2Zmc2V0KCkudG9wIC0gYm9yZGVyVG9wIC0gcGFkZGluZ1RvcDsNCgkJCXNjcm9sbCA9IHRoaXMuYWN0aXZlTWVudS5zY3JvbGxUb3AoKTsNCgkJCWVsZW1lbnRIZWlnaHQgPSB0aGlzLmFjdGl2ZU1lbnUuaGVpZ2h0KCk7DQoJCQlpdGVtSGVpZ2h0ID0gaXRlbS5vdXRlckhlaWdodCgpOw0KDQoJCQlpZiAoIG9mZnNldCA8IDAgKSB7DQoJCQkJdGhpcy5hY3RpdmVNZW51LnNjcm9sbFRvcCggc2Nyb2xsICsgb2Zmc2V0ICk7DQoJCQl9IGVsc2UgaWYgKCBvZmZzZXQgKyBpdGVtSGVpZ2h0ID4gZWxlbWVudEhlaWdodCApIHsNCgkJCQl0aGlzLmFjdGl2ZU1lbnUuc2Nyb2xsVG9wKCBzY3JvbGwgKyBvZmZzZXQgLSBlbGVtZW50SGVpZ2h0ICsgaXRlbUhlaWdodCApOw0KCQkJfQ0KCQl9DQoJfSwNCg0KCWJsdXI6IGZ1bmN0aW9uKCBldmVudCwgZnJvbUZvY3VzICkgew0KCQlpZiAoICFmcm9tRm9jdXMgKSB7DQoJCQljbGVhclRpbWVvdXQoIHRoaXMudGltZXIgKTsNCgkJfQ0KDQoJCWlmICggIXRoaXMuYWN0aXZlICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJdGhpcy5fcmVtb3ZlQ2xhc3MoIHRoaXMuYWN0aXZlLmNoaWxkcmVuKCAiLnVpLW1lbnUtaXRlbS13cmFwcGVyIiApLA0KCQkJbnVsbCwgInVpLXN0YXRlLWFjdGl2ZSIgKTsNCg0KCQl0aGlzLl90cmlnZ2VyKCAiYmx1ciIsIGV2ZW50LCB7IGl0ZW06IHRoaXMuYWN0aXZlIH0gKTsNCgkJdGhpcy5hY3RpdmUgPSBudWxsOw0KCX0sDQoNCglfc3RhcnRPcGVuaW5nOiBmdW5jdGlvbiggc3VibWVudSApIHsNCgkJY2xlYXJUaW1lb3V0KCB0aGlzLnRpbWVyICk7DQoNCgkJLy8gRG9uJ3Qgb3BlbiBpZiBhbHJlYWR5IG9wZW4gZml4ZXMgYSBGaXJlZm94IGJ1ZyB0aGF0IGNhdXNlZCBhIC41IHBpeGVsDQoJCS8vIHNoaWZ0IGluIHRoZSBzdWJtZW51IHBvc2l0aW9uIHdoZW4gbW91c2luZyBvdmVyIHRoZSBjYXJldCBpY29uDQoJCWlmICggc3VibWVudS5hdHRyKCAiYXJpYS1oaWRkZW4iICkgIT09ICJ0cnVlIiApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCXRoaXMudGltZXIgPSB0aGlzLl9kZWxheSggZnVuY3Rpb24oKSB7DQoJCQl0aGlzLl9jbG9zZSgpOw0KCQkJdGhpcy5fb3Blbiggc3VibWVudSApOw0KCQl9LCB0aGlzLmRlbGF5ICk7DQoJfSwNCg0KCV9vcGVuOiBmdW5jdGlvbiggc3VibWVudSApIHsNCgkJdmFyIHBvc2l0aW9uID0gJC5leHRlbmQoIHsNCgkJCW9mOiB0aGlzLmFjdGl2ZQ0KCQl9LCB0aGlzLm9wdGlvbnMucG9zaXRpb24gKTsNCg0KCQljbGVhclRpbWVvdXQoIHRoaXMudGltZXIgKTsNCgkJdGhpcy5lbGVtZW50LmZpbmQoICIudWktbWVudSIgKS5ub3QoIHN1Ym1lbnUucGFyZW50cyggIi51aS1tZW51IiApICkNCgkJCS5oaWRlKCkNCgkJCS5hdHRyKCAiYXJpYS1oaWRkZW4iLCAidHJ1ZSIgKTsNCg0KCQlzdWJtZW51DQoJCQkuc2hvdygpDQoJCQkucmVtb3ZlQXR0ciggImFyaWEtaGlkZGVuIiApDQoJCQkuYXR0ciggImFyaWEtZXhwYW5kZWQiLCAidHJ1ZSIgKQ0KCQkJLnBvc2l0aW9uKCBwb3NpdGlvbiApOw0KCX0sDQoNCgljb2xsYXBzZUFsbDogZnVuY3Rpb24oIGV2ZW50LCBhbGwgKSB7DQoJCWNsZWFyVGltZW91dCggdGhpcy50aW1lciApOw0KCQl0aGlzLnRpbWVyID0gdGhpcy5fZGVsYXkoIGZ1bmN0aW9uKCkgew0KDQoJCQkvLyBJZiB3ZSB3ZXJlIHBhc3NlZCBhbiBldmVudCwgbG9vayBmb3IgdGhlIHN1Ym1lbnUgdGhhdCBjb250YWlucyB0aGUgZXZlbnQNCgkJCXZhciBjdXJyZW50TWVudSA9IGFsbCA/IHRoaXMuZWxlbWVudCA6DQoJCQkJJCggZXZlbnQgJiYgZXZlbnQudGFyZ2V0ICkuY2xvc2VzdCggdGhpcy5lbGVtZW50LmZpbmQoICIudWktbWVudSIgKSApOw0KDQoJCQkvLyBJZiB3ZSBmb3VuZCBubyB2YWxpZCBzdWJtZW51IGFuY2VzdG9yLCB1c2UgdGhlIG1haW4gbWVudSB0byBjbG9zZSBhbGwNCgkJCS8vIHN1YiBtZW51cyBhbnl3YXkNCgkJCWlmICggIWN1cnJlbnRNZW51Lmxlbmd0aCApIHsNCgkJCQljdXJyZW50TWVudSA9IHRoaXMuZWxlbWVudDsNCgkJCX0NCg0KCQkJdGhpcy5fY2xvc2UoIGN1cnJlbnRNZW51ICk7DQoNCgkJCXRoaXMuYmx1ciggZXZlbnQgKTsNCg0KCQkJLy8gV29yayBhcm91bmQgYWN0aXZlIGl0ZW0gc3RheWluZyBhY3RpdmUgYWZ0ZXIgbWVudSBpcyBibHVycmVkDQoJCQl0aGlzLl9yZW1vdmVDbGFzcyggY3VycmVudE1lbnUuZmluZCggIi51aS1zdGF0ZS1hY3RpdmUiICksIG51bGwsICJ1aS1zdGF0ZS1hY3RpdmUiICk7DQoNCgkJCXRoaXMuYWN0aXZlTWVudSA9IGN1cnJlbnRNZW51Ow0KCQl9LCB0aGlzLmRlbGF5ICk7DQoJfSwNCg0KCS8vIFdpdGggbm8gYXJndW1lbnRzLCBjbG9zZXMgdGhlIGN1cnJlbnRseSBhY3RpdmUgbWVudSAtIGlmIG5vdGhpbmcgaXMgYWN0aXZlDQoJLy8gaXQgY2xvc2VzIGFsbCBtZW51cy4gIElmIHBhc3NlZCBhbiBhcmd1bWVudCwgaXQgd2lsbCBzZWFyY2ggZm9yIG1lbnVzIEJFTE9XDQoJX2Nsb3NlOiBmdW5jdGlvbiggc3RhcnRNZW51ICkgew0KCQlpZiAoICFzdGFydE1lbnUgKSB7DQoJCQlzdGFydE1lbnUgPSB0aGlzLmFjdGl2ZSA/IHRoaXMuYWN0aXZlLnBhcmVudCgpIDogdGhpcy5lbGVtZW50Ow0KCQl9DQoNCgkJc3RhcnRNZW51LmZpbmQoICIudWktbWVudSIgKQ0KCQkJLmhpZGUoKQ0KCQkJLmF0dHIoICJhcmlhLWhpZGRlbiIsICJ0cnVlIiApDQoJCQkuYXR0ciggImFyaWEtZXhwYW5kZWQiLCAiZmFsc2UiICk7DQoJfSwNCg0KCV9jbG9zZU9uRG9jdW1lbnRDbGljazogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQlyZXR1cm4gISQoIGV2ZW50LnRhcmdldCApLmNsb3Nlc3QoICIudWktbWVudSIgKS5sZW5ndGg7DQoJfSwNCg0KCV9pc0RpdmlkZXI6IGZ1bmN0aW9uKCBpdGVtICkgew0KDQoJCS8vIE1hdGNoIGh5cGhlbiwgZW0gZGFzaCwgZW4gZGFzaA0KCQlyZXR1cm4gIS9bXlwtXHUyMDE0XHUyMDEzXHNdLy50ZXN0KCBpdGVtLnRleHQoKSApOw0KCX0sDQoNCgljb2xsYXBzZTogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl2YXIgbmV3SXRlbSA9IHRoaXMuYWN0aXZlICYmDQoJCQl0aGlzLmFjdGl2ZS5wYXJlbnQoKS5jbG9zZXN0KCAiLnVpLW1lbnUtaXRlbSIsIHRoaXMuZWxlbWVudCApOw0KCQlpZiAoIG5ld0l0ZW0gJiYgbmV3SXRlbS5sZW5ndGggKSB7DQoJCQl0aGlzLl9jbG9zZSgpOw0KCQkJdGhpcy5mb2N1cyggZXZlbnQsIG5ld0l0ZW0gKTsNCgkJfQ0KCX0sDQoNCglleHBhbmQ6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdmFyIG5ld0l0ZW0gPSB0aGlzLmFjdGl2ZSAmJg0KCQkJdGhpcy5hY3RpdmUNCgkJCQkuY2hpbGRyZW4oICIudWktbWVudSAiICkNCgkJCQkJLmZpbmQoIHRoaXMub3B0aW9ucy5pdGVtcyApDQoJCQkJCQkuZmlyc3QoKTsNCg0KCQlpZiAoIG5ld0l0ZW0gJiYgbmV3SXRlbS5sZW5ndGggKSB7DQoJCQl0aGlzLl9vcGVuKCBuZXdJdGVtLnBhcmVudCgpICk7DQoNCgkJCS8vIERlbGF5IHNvIEZpcmVmb3ggd2lsbCBub3QgaGlkZSBhY3RpdmVkZXNjZW5kYW50IGNoYW5nZSBpbiBleHBhbmRpbmcgc3VibWVudSBmcm9tIEFUDQoJCQl0aGlzLl9kZWxheSggZnVuY3Rpb24oKSB7DQoJCQkJdGhpcy5mb2N1cyggZXZlbnQsIG5ld0l0ZW0gKTsNCgkJCX0gKTsNCgkJfQ0KCX0sDQoNCgluZXh0OiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXRoaXMuX21vdmUoICJuZXh0IiwgImZpcnN0IiwgZXZlbnQgKTsNCgl9LA0KDQoJcHJldmlvdXM6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdGhpcy5fbW92ZSggInByZXYiLCAibGFzdCIsIGV2ZW50ICk7DQoJfSwNCg0KCWlzRmlyc3RJdGVtOiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRoaXMuYWN0aXZlICYmICF0aGlzLmFjdGl2ZS5wcmV2QWxsKCAiLnVpLW1lbnUtaXRlbSIgKS5sZW5ndGg7DQoJfSwNCg0KCWlzTGFzdEl0ZW06IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gdGhpcy5hY3RpdmUgJiYgIXRoaXMuYWN0aXZlLm5leHRBbGwoICIudWktbWVudS1pdGVtIiApLmxlbmd0aDsNCgl9LA0KDQoJX21vdmU6IGZ1bmN0aW9uKCBkaXJlY3Rpb24sIGZpbHRlciwgZXZlbnQgKSB7DQoJCXZhciBuZXh0Ow0KCQlpZiAoIHRoaXMuYWN0aXZlICkgew0KCQkJaWYgKCBkaXJlY3Rpb24gPT09ICJmaXJzdCIgfHwgZGlyZWN0aW9uID09PSAibGFzdCIgKSB7DQoJCQkJbmV4dCA9IHRoaXMuYWN0aXZlDQoJCQkJCVsgZGlyZWN0aW9uID09PSAiZmlyc3QiID8gInByZXZBbGwiIDogIm5leHRBbGwiIF0oICIudWktbWVudS1pdGVtIiApDQoJCQkJCS5lcSggLTEgKTsNCgkJCX0gZWxzZSB7DQoJCQkJbmV4dCA9IHRoaXMuYWN0aXZlDQoJCQkJCVsgZGlyZWN0aW9uICsgIkFsbCIgXSggIi51aS1tZW51LWl0ZW0iICkNCgkJCQkJLmVxKCAwICk7DQoJCQl9DQoJCX0NCgkJaWYgKCAhbmV4dCB8fCAhbmV4dC5sZW5ndGggfHwgIXRoaXMuYWN0aXZlICkgew0KCQkJbmV4dCA9IHRoaXMuYWN0aXZlTWVudS5maW5kKCB0aGlzLm9wdGlvbnMuaXRlbXMgKVsgZmlsdGVyIF0oKTsNCgkJfQ0KDQoJCXRoaXMuZm9jdXMoIGV2ZW50LCBuZXh0ICk7DQoJfSwNCg0KCW5leHRQYWdlOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXZhciBpdGVtLCBiYXNlLCBoZWlnaHQ7DQoNCgkJaWYgKCAhdGhpcy5hY3RpdmUgKSB7DQoJCQl0aGlzLm5leHQoIGV2ZW50ICk7DQoJCQlyZXR1cm47DQoJCX0NCgkJaWYgKCB0aGlzLmlzTGFzdEl0ZW0oKSApIHsNCgkJCXJldHVybjsNCgkJfQ0KCQlpZiAoIHRoaXMuX2hhc1Njcm9sbCgpICkgew0KCQkJYmFzZSA9IHRoaXMuYWN0aXZlLm9mZnNldCgpLnRvcDsNCgkJCWhlaWdodCA9IHRoaXMuZWxlbWVudC5oZWlnaHQoKTsNCgkJCXRoaXMuYWN0aXZlLm5leHRBbGwoICIudWktbWVudS1pdGVtIiApLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJCWl0ZW0gPSAkKCB0aGlzICk7DQoJCQkJcmV0dXJuIGl0ZW0ub2Zmc2V0KCkudG9wIC0gYmFzZSAtIGhlaWdodCA8IDA7DQoJCQl9ICk7DQoNCgkJCXRoaXMuZm9jdXMoIGV2ZW50LCBpdGVtICk7DQoJCX0gZWxzZSB7DQoJCQl0aGlzLmZvY3VzKCBldmVudCwgdGhpcy5hY3RpdmVNZW51LmZpbmQoIHRoaXMub3B0aW9ucy5pdGVtcyApDQoJCQkJWyAhdGhpcy5hY3RpdmUgPyAiZmlyc3QiIDogImxhc3QiIF0oKSApOw0KCQl9DQoJfSwNCg0KCXByZXZpb3VzUGFnZTogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl2YXIgaXRlbSwgYmFzZSwgaGVpZ2h0Ow0KCQlpZiAoICF0aGlzLmFjdGl2ZSApIHsNCgkJCXRoaXMubmV4dCggZXZlbnQgKTsNCgkJCXJldHVybjsNCgkJfQ0KCQlpZiAoIHRoaXMuaXNGaXJzdEl0ZW0oKSApIHsNCgkJCXJldHVybjsNCgkJfQ0KCQlpZiAoIHRoaXMuX2hhc1Njcm9sbCgpICkgew0KCQkJYmFzZSA9IHRoaXMuYWN0aXZlLm9mZnNldCgpLnRvcDsNCgkJCWhlaWdodCA9IHRoaXMuZWxlbWVudC5oZWlnaHQoKTsNCgkJCXRoaXMuYWN0aXZlLnByZXZBbGwoICIudWktbWVudS1pdGVtIiApLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJCWl0ZW0gPSAkKCB0aGlzICk7DQoJCQkJcmV0dXJuIGl0ZW0ub2Zmc2V0KCkudG9wIC0gYmFzZSArIGhlaWdodCA+IDA7DQoJCQl9ICk7DQoNCgkJCXRoaXMuZm9jdXMoIGV2ZW50LCBpdGVtICk7DQoJCX0gZWxzZSB7DQoJCQl0aGlzLmZvY3VzKCBldmVudCwgdGhpcy5hY3RpdmVNZW51LmZpbmQoIHRoaXMub3B0aW9ucy5pdGVtcyApLmZpcnN0KCkgKTsNCgkJfQ0KCX0sDQoNCglfaGFzU2Nyb2xsOiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRoaXMuZWxlbWVudC5vdXRlckhlaWdodCgpIDwgdGhpcy5lbGVtZW50LnByb3AoICJzY3JvbGxIZWlnaHQiICk7DQoJfSwNCg0KCXNlbGVjdDogZnVuY3Rpb24oIGV2ZW50ICkgew0KDQoJCS8vIFRPRE86IEl0IHNob3VsZCBuZXZlciBiZSBwb3NzaWJsZSB0byBub3QgaGF2ZSBhbiBhY3RpdmUgaXRlbSBhdCB0aGlzDQoJCS8vIHBvaW50LCBidXQgdGhlIHRlc3RzIGRvbid0IHRyaWdnZXIgbW91c2VlbnRlciBiZWZvcmUgY2xpY2suDQoJCXRoaXMuYWN0aXZlID0gdGhpcy5hY3RpdmUgfHwgJCggZXZlbnQudGFyZ2V0ICkuY2xvc2VzdCggIi51aS1tZW51LWl0ZW0iICk7DQoJCXZhciB1aSA9IHsgaXRlbTogdGhpcy5hY3RpdmUgfTsNCgkJaWYgKCAhdGhpcy5hY3RpdmUuaGFzKCAiLnVpLW1lbnUiICkubGVuZ3RoICkgew0KCQkJdGhpcy5jb2xsYXBzZUFsbCggZXZlbnQsIHRydWUgKTsNCgkJfQ0KCQl0aGlzLl90cmlnZ2VyKCAic2VsZWN0IiwgZXZlbnQsIHVpICk7DQoJfSwNCg0KCV9maWx0ZXJNZW51SXRlbXM6IGZ1bmN0aW9uKCBjaGFyYWN0ZXIgKSB7DQoJCXZhciBlc2NhcGVkQ2hhcmFjdGVyID0gY2hhcmFjdGVyLnJlcGxhY2UoIC9bXC1cW1xde30oKSorPy4sXFxcXiR8I1xzXS9nLCAiXFwkJiIgKSwNCgkJCXJlZ2V4ID0gbmV3IFJlZ0V4cCggIl4iICsgZXNjYXBlZENoYXJhY3RlciwgImkiICk7DQoNCgkJcmV0dXJuIHRoaXMuYWN0aXZlTWVudQ0KCQkJLmZpbmQoIHRoaXMub3B0aW9ucy5pdGVtcyApDQoNCgkJCQkvLyBPbmx5IG1hdGNoIG9uIGl0ZW1zLCBub3QgZGl2aWRlcnMgb3Igb3RoZXIgY29udGVudCAoIzEwNTcxKQ0KCQkJCS5maWx0ZXIoICIudWktbWVudS1pdGVtIiApDQoJCQkJCS5maWx0ZXIoIGZ1bmN0aW9uKCkgew0KCQkJCQkJcmV0dXJuIHJlZ2V4LnRlc3QoDQoJCQkJCQkJJC50cmltKCAkKCB0aGlzICkuY2hpbGRyZW4oICIudWktbWVudS1pdGVtLXdyYXBwZXIiICkudGV4dCgpICkgKTsNCgkJCQkJfSApOw0KCX0NCn0gKTsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBBdXRvY29tcGxldGUgMS4xMi4xDQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqLw0KDQovLz4+bGFiZWw6IEF1dG9jb21wbGV0ZQ0KLy8+Pmdyb3VwOiBXaWRnZXRzDQovLz4+ZGVzY3JpcHRpb246IExpc3RzIHN1Z2dlc3RlZCB3b3JkcyBhcyB0aGUgdXNlciBpcyB0eXBpbmcuDQovLz4+ZG9jczogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vYXV0b2NvbXBsZXRlLw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL2F1dG9jb21wbGV0ZS8NCi8vPj5jc3Muc3RydWN0dXJlOiAuLi8uLi90aGVtZXMvYmFzZS9jb3JlLmNzcw0KLy8+PmNzcy5zdHJ1Y3R1cmU6IC4uLy4uL3RoZW1lcy9iYXNlL2F1dG9jb21wbGV0ZS5jc3MNCi8vPj5jc3MudGhlbWU6IC4uLy4uL3RoZW1lcy9iYXNlL3RoZW1lLmNzcw0KDQoNCg0KJC53aWRnZXQoICJ1aS5hdXRvY29tcGxldGUiLCB7DQoJdmVyc2lvbjogIjEuMTIuMSIsDQoJZGVmYXVsdEVsZW1lbnQ6ICI8aW5wdXQ+IiwNCglvcHRpb25zOiB7DQoJCWFwcGVuZFRvOiBudWxsLA0KCQlhdXRvRm9jdXM6IGZhbHNlLA0KCQlkZWxheTogMzAwLA0KCQltaW5MZW5ndGg6IDEsDQoJCXBvc2l0aW9uOiB7DQoJCQlteTogImxlZnQgdG9wIiwNCgkJCWF0OiAibGVmdCBib3R0b20iLA0KCQkJY29sbGlzaW9uOiAibm9uZSINCgkJfSwNCgkJc291cmNlOiBudWxsLA0KDQoJCS8vIENhbGxiYWNrcw0KCQljaGFuZ2U6IG51bGwsDQoJCWNsb3NlOiBudWxsLA0KCQlmb2N1czogbnVsbCwNCgkJb3BlbjogbnVsbCwNCgkJcmVzcG9uc2U6IG51bGwsDQoJCXNlYXJjaDogbnVsbCwNCgkJc2VsZWN0OiBudWxsDQoJfSwNCg0KCXJlcXVlc3RJbmRleDogMCwNCglwZW5kaW5nOiAwLA0KDQoJX2NyZWF0ZTogZnVuY3Rpb24oKSB7DQoNCgkJLy8gU29tZSBicm93c2VycyBvbmx5IHJlcGVhdCBrZXlkb3duIGV2ZW50cywgbm90IGtleXByZXNzIGV2ZW50cywNCgkJLy8gc28gd2UgdXNlIHRoZSBzdXBwcmVzc0tleVByZXNzIGZsYWcgdG8gZGV0ZXJtaW5lIGlmIHdlJ3ZlIGFscmVhZHkNCgkJLy8gaGFuZGxlZCB0aGUga2V5ZG93biBldmVudC4gIzcyNjkNCgkJLy8gVW5mb3J0dW5hdGVseSB0aGUgY29kZSBmb3IgJiBpbiBrZXlwcmVzcyBpcyB0aGUgc2FtZSBhcyB0aGUgdXAgYXJyb3csDQoJCS8vIHNvIHdlIHVzZSB0aGUgc3VwcHJlc3NLZXlQcmVzc1JlcGVhdCBmbGFnIHRvIGF2b2lkIGhhbmRsaW5nIGtleXByZXNzDQoJCS8vIGV2ZW50cyB3aGVuIHdlIGtub3cgdGhlIGtleWRvd24gZXZlbnQgd2FzIHVzZWQgdG8gbW9kaWZ5IHRoZQ0KCQkvLyBzZWFyY2ggdGVybS4gIzc3OTkNCgkJdmFyIHN1cHByZXNzS2V5UHJlc3MsIHN1cHByZXNzS2V5UHJlc3NSZXBlYXQsIHN1cHByZXNzSW5wdXQsDQoJCQlub2RlTmFtZSA9IHRoaXMuZWxlbWVudFsgMCBdLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksDQoJCQlpc1RleHRhcmVhID0gbm9kZU5hbWUgPT09ICJ0ZXh0YXJlYSIsDQoJCQlpc0lucHV0ID0gbm9kZU5hbWUgPT09ICJpbnB1dCI7DQoNCgkJLy8gVGV4dGFyZWFzIGFyZSBhbHdheXMgbXVsdGktbGluZQ0KCQkvLyBJbnB1dHMgYXJlIGFsd2F5cyBzaW5nbGUtbGluZSwgZXZlbiBpZiBpbnNpZGUgYSBjb250ZW50RWRpdGFibGUgZWxlbWVudA0KCQkvLyBJRSBhbHNvIHRyZWF0cyBpbnB1dHMgYXMgY29udGVudEVkaXRhYmxlDQoJCS8vIEFsbCBvdGhlciBlbGVtZW50IHR5cGVzIGFyZSBkZXRlcm1pbmVkIGJ5IHdoZXRoZXIgb3Igbm90IHRoZXkncmUgY29udGVudEVkaXRhYmxlDQoJCXRoaXMuaXNNdWx0aUxpbmUgPSBpc1RleHRhcmVhIHx8ICFpc0lucHV0ICYmIHRoaXMuX2lzQ29udGVudEVkaXRhYmxlKCB0aGlzLmVsZW1lbnQgKTsNCg0KCQl0aGlzLnZhbHVlTWV0aG9kID0gdGhpcy5lbGVtZW50WyBpc1RleHRhcmVhIHx8IGlzSW5wdXQgPyAidmFsIiA6ICJ0ZXh0IiBdOw0KCQl0aGlzLmlzTmV3TWVudSA9IHRydWU7DQoNCgkJdGhpcy5fYWRkQ2xhc3MoICJ1aS1hdXRvY29tcGxldGUtaW5wdXQiICk7DQoJCXRoaXMuZWxlbWVudC5hdHRyKCAiYXV0b2NvbXBsZXRlIiwgIm9mZiIgKTsNCg0KCQl0aGlzLl9vbiggdGhpcy5lbGVtZW50LCB7DQoJCQlrZXlkb3duOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQkJaWYgKCB0aGlzLmVsZW1lbnQucHJvcCggInJlYWRPbmx5IiApICkgew0KCQkJCQlzdXBwcmVzc0tleVByZXNzID0gdHJ1ZTsNCgkJCQkJc3VwcHJlc3NJbnB1dCA9IHRydWU7DQoJCQkJCXN1cHByZXNzS2V5UHJlc3NSZXBlYXQgPSB0cnVlOw0KCQkJCQlyZXR1cm47DQoJCQkJfQ0KDQoJCQkJc3VwcHJlc3NLZXlQcmVzcyA9IGZhbHNlOw0KCQkJCXN1cHByZXNzSW5wdXQgPSBmYWxzZTsNCgkJCQlzdXBwcmVzc0tleVByZXNzUmVwZWF0ID0gZmFsc2U7DQoJCQkJdmFyIGtleUNvZGUgPSAkLnVpLmtleUNvZGU7DQoJCQkJc3dpdGNoICggZXZlbnQua2V5Q29kZSApIHsNCgkJCQljYXNlIGtleUNvZGUuUEFHRV9VUDoNCgkJCQkJc3VwcHJlc3NLZXlQcmVzcyA9IHRydWU7DQoJCQkJCXRoaXMuX21vdmUoICJwcmV2aW91c1BhZ2UiLCBldmVudCApOw0KCQkJCQlicmVhazsNCgkJCQljYXNlIGtleUNvZGUuUEFHRV9ET1dOOg0KCQkJCQlzdXBwcmVzc0tleVByZXNzID0gdHJ1ZTsNCgkJCQkJdGhpcy5fbW92ZSggIm5leHRQYWdlIiwgZXZlbnQgKTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSBrZXlDb2RlLlVQOg0KCQkJCQlzdXBwcmVzc0tleVByZXNzID0gdHJ1ZTsNCgkJCQkJdGhpcy5fa2V5RXZlbnQoICJwcmV2aW91cyIsIGV2ZW50ICk7DQoJCQkJCWJyZWFrOw0KCQkJCWNhc2Uga2V5Q29kZS5ET1dOOg0KCQkJCQlzdXBwcmVzc0tleVByZXNzID0gdHJ1ZTsNCgkJCQkJdGhpcy5fa2V5RXZlbnQoICJuZXh0IiwgZXZlbnQgKTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSBrZXlDb2RlLkVOVEVSOg0KDQoJCQkJCS8vIHdoZW4gbWVudSBpcyBvcGVuIGFuZCBoYXMgZm9jdXMNCgkJCQkJaWYgKCB0aGlzLm1lbnUuYWN0aXZlICkgew0KDQoJCQkJCQkvLyAjNjA1NSAtIE9wZXJhIHN0aWxsIGFsbG93cyB0aGUga2V5cHJlc3MgdG8gb2NjdXINCgkJCQkJCS8vIHdoaWNoIGNhdXNlcyBmb3JtcyB0byBzdWJtaXQNCgkJCQkJCXN1cHByZXNzS2V5UHJlc3MgPSB0cnVlOw0KCQkJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCgkJCQkJCXRoaXMubWVudS5zZWxlY3QoIGV2ZW50ICk7DQoJCQkJCX0NCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSBrZXlDb2RlLlRBQjoNCgkJCQkJaWYgKCB0aGlzLm1lbnUuYWN0aXZlICkgew0KCQkJCQkJdGhpcy5tZW51LnNlbGVjdCggZXZlbnQgKTsNCgkJCQkJfQ0KCQkJCQlicmVhazsNCgkJCQljYXNlIGtleUNvZGUuRVNDQVBFOg0KCQkJCQlpZiAoIHRoaXMubWVudS5lbGVtZW50LmlzKCAiOnZpc2libGUiICkgKSB7DQoJCQkJCQlpZiAoICF0aGlzLmlzTXVsdGlMaW5lICkgew0KCQkJCQkJCXRoaXMuX3ZhbHVlKCB0aGlzLnRlcm0gKTsNCgkJCQkJCX0NCgkJCQkJCXRoaXMuY2xvc2UoIGV2ZW50ICk7DQoNCgkJCQkJCS8vIERpZmZlcmVudCBicm93c2VycyBoYXZlIGRpZmZlcmVudCBkZWZhdWx0IGJlaGF2aW9yIGZvciBlc2NhcGUNCgkJCQkJCS8vIFNpbmdsZSBwcmVzcyBjYW4gbWVhbiB1bmRvIG9yIGNsZWFyDQoJCQkJCQkvLyBEb3VibGUgcHJlc3MgaW4gSUUgbWVhbnMgY2xlYXIgdGhlIHdob2xlIGZvcm0NCgkJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCQkJCX0NCgkJCQkJYnJlYWs7DQoJCQkJZGVmYXVsdDoNCgkJCQkJc3VwcHJlc3NLZXlQcmVzc1JlcGVhdCA9IHRydWU7DQoNCgkJCQkJLy8gc2VhcmNoIHRpbWVvdXQgc2hvdWxkIGJlIHRyaWdnZXJlZCBiZWZvcmUgdGhlIGlucHV0IHZhbHVlIGlzIGNoYW5nZWQNCgkJCQkJdGhpcy5fc2VhcmNoVGltZW91dCggZXZlbnQgKTsNCgkJCQkJYnJlYWs7DQoJCQkJfQ0KCQkJfSwNCgkJCWtleXByZXNzOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQkJaWYgKCBzdXBwcmVzc0tleVByZXNzICkgew0KCQkJCQlzdXBwcmVzc0tleVByZXNzID0gZmFsc2U7DQoJCQkJCWlmICggIXRoaXMuaXNNdWx0aUxpbmUgfHwgdGhpcy5tZW51LmVsZW1lbnQuaXMoICI6dmlzaWJsZSIgKSApIHsNCgkJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCQkJCX0NCgkJCQkJcmV0dXJuOw0KCQkJCX0NCgkJCQlpZiAoIHN1cHByZXNzS2V5UHJlc3NSZXBlYXQgKSB7DQoJCQkJCXJldHVybjsNCgkJCQl9DQoNCgkJCQkvLyBSZXBsaWNhdGUgc29tZSBrZXkgaGFuZGxlcnMgdG8gYWxsb3cgdGhlbSB0byByZXBlYXQgaW4gRmlyZWZveCBhbmQgT3BlcmENCgkJCQl2YXIga2V5Q29kZSA9ICQudWkua2V5Q29kZTsNCgkJCQlzd2l0Y2ggKCBldmVudC5rZXlDb2RlICkgew0KCQkJCWNhc2Uga2V5Q29kZS5QQUdFX1VQOg0KCQkJCQl0aGlzLl9tb3ZlKCAicHJldmlvdXNQYWdlIiwgZXZlbnQgKTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSBrZXlDb2RlLlBBR0VfRE9XTjoNCgkJCQkJdGhpcy5fbW92ZSggIm5leHRQYWdlIiwgZXZlbnQgKTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSBrZXlDb2RlLlVQOg0KCQkJCQl0aGlzLl9rZXlFdmVudCggInByZXZpb3VzIiwgZXZlbnQgKTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSBrZXlDb2RlLkRPV046DQoJCQkJCXRoaXMuX2tleUV2ZW50KCAibmV4dCIsIGV2ZW50ICk7DQoJCQkJCWJyZWFrOw0KCQkJCX0NCgkJCX0sDQoJCQlpbnB1dDogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCWlmICggc3VwcHJlc3NJbnB1dCApIHsNCgkJCQkJc3VwcHJlc3NJbnB1dCA9IGZhbHNlOw0KCQkJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJCQlyZXR1cm47DQoJCQkJfQ0KCQkJCXRoaXMuX3NlYXJjaFRpbWVvdXQoIGV2ZW50ICk7DQoJCQl9LA0KCQkJZm9jdXM6IGZ1bmN0aW9uKCkgew0KCQkJCXRoaXMuc2VsZWN0ZWRJdGVtID0gbnVsbDsNCgkJCQl0aGlzLnByZXZpb3VzID0gdGhpcy5fdmFsdWUoKTsNCgkJCX0sDQoJCQlibHVyOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQkJaWYgKCB0aGlzLmNhbmNlbEJsdXIgKSB7DQoJCQkJCWRlbGV0ZSB0aGlzLmNhbmNlbEJsdXI7DQoJCQkJCXJldHVybjsNCgkJCQl9DQoNCgkJCQljbGVhclRpbWVvdXQoIHRoaXMuc2VhcmNoaW5nICk7DQoJCQkJdGhpcy5jbG9zZSggZXZlbnQgKTsNCgkJCQl0aGlzLl9jaGFuZ2UoIGV2ZW50ICk7DQoJCQl9DQoJCX0gKTsNCg0KCQl0aGlzLl9pbml0U291cmNlKCk7DQoJCXRoaXMubWVudSA9ICQoICI8dWw+IiApDQoJCQkuYXBwZW5kVG8oIHRoaXMuX2FwcGVuZFRvKCkgKQ0KCQkJLm1lbnUoIHsNCg0KCQkJCS8vIGRpc2FibGUgQVJJQSBzdXBwb3J0LCB0aGUgbGl2ZSByZWdpb24gdGFrZXMgY2FyZSBvZiB0aGF0DQoJCQkJcm9sZTogbnVsbA0KCQkJfSApDQoJCQkuaGlkZSgpDQoJCQkubWVudSggImluc3RhbmNlIiApOw0KDQoJCXRoaXMuX2FkZENsYXNzKCB0aGlzLm1lbnUuZWxlbWVudCwgInVpLWF1dG9jb21wbGV0ZSIsICJ1aS1mcm9udCIgKTsNCgkJdGhpcy5fb24oIHRoaXMubWVudS5lbGVtZW50LCB7DQoJCQltb3VzZWRvd246IGZ1bmN0aW9uKCBldmVudCApIHsNCg0KCQkJCS8vIHByZXZlbnQgbW92aW5nIGZvY3VzIG91dCBvZiB0aGUgdGV4dCBmaWVsZA0KCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoNCgkJCQkvLyBJRSBkb2Vzbid0IHByZXZlbnQgbW92aW5nIGZvY3VzIGV2ZW4gd2l0aCBldmVudC5wcmV2ZW50RGVmYXVsdCgpDQoJCQkJLy8gc28gd2Ugc2V0IGEgZmxhZyB0byBrbm93IHdoZW4gd2Ugc2hvdWxkIGlnbm9yZSB0aGUgYmx1ciBldmVudA0KCQkJCXRoaXMuY2FuY2VsQmx1ciA9IHRydWU7DQoJCQkJdGhpcy5fZGVsYXkoIGZ1bmN0aW9uKCkgew0KCQkJCQlkZWxldGUgdGhpcy5jYW5jZWxCbHVyOw0KDQoJCQkJCS8vIFN1cHBvcnQ6IElFIDggb25seQ0KCQkJCQkvLyBSaWdodCBjbGlja2luZyBhIG1lbnUgaXRlbSBvciBzZWxlY3RpbmcgdGV4dCBmcm9tIHRoZSBtZW51IGl0ZW1zIHdpbGwNCgkJCQkJLy8gcmVzdWx0IGluIGZvY3VzIG1vdmluZyBvdXQgb2YgdGhlIGlucHV0LiBIb3dldmVyLCB3ZSd2ZSBhbHJlYWR5IHJlY2VpdmVkDQoJCQkJCS8vIGFuZCBpZ25vcmVkIHRoZSBibHVyIGV2ZW50IGJlY2F1c2Ugb2YgdGhlIGNhbmNlbEJsdXIgZmxhZyBzZXQgYWJvdmUuIFNvDQoJCQkJCS8vIHdlIHJlc3RvcmUgZm9jdXMgdG8gZW5zdXJlIHRoYXQgdGhlIG1lbnUgY2xvc2VzIHByb3Blcmx5IGJhc2VkIG9uIHRoZSB1c2VyJ3MNCgkJCQkJLy8gbmV4dCBhY3Rpb25zLg0KCQkJCQlpZiAoIHRoaXMuZWxlbWVudFsgMCBdICE9PSAkLnVpLnNhZmVBY3RpdmVFbGVtZW50KCB0aGlzLmRvY3VtZW50WyAwIF0gKSApIHsNCgkJCQkJCXRoaXMuZWxlbWVudC50cmlnZ2VyKCAiZm9jdXMiICk7DQoJCQkJCX0NCgkJCQl9ICk7DQoJCQl9LA0KCQkJbWVudWZvY3VzOiBmdW5jdGlvbiggZXZlbnQsIHVpICkgew0KCQkJCXZhciBsYWJlbCwgaXRlbTsNCg0KCQkJCS8vIHN1cHBvcnQ6IEZpcmVmb3gNCgkJCQkvLyBQcmV2ZW50IGFjY2lkZW50YWwgYWN0aXZhdGlvbiBvZiBtZW51IGl0ZW1zIGluIEZpcmVmb3ggKCM3MDI0ICM5MTE4KQ0KCQkJCWlmICggdGhpcy5pc05ld01lbnUgKSB7DQoJCQkJCXRoaXMuaXNOZXdNZW51ID0gZmFsc2U7DQoJCQkJCWlmICggZXZlbnQub3JpZ2luYWxFdmVudCAmJiAvXm1vdXNlLy50ZXN0KCBldmVudC5vcmlnaW5hbEV2ZW50LnR5cGUgKSApIHsNCgkJCQkJCXRoaXMubWVudS5ibHVyKCk7DQoNCgkJCQkJCXRoaXMuZG9jdW1lbnQub25lKCAibW91c2Vtb3ZlIiwgZnVuY3Rpb24oKSB7DQoJCQkJCQkJJCggZXZlbnQudGFyZ2V0ICkudHJpZ2dlciggZXZlbnQub3JpZ2luYWxFdmVudCApOw0KCQkJCQkJfSApOw0KDQoJCQkJCQlyZXR1cm47DQoJCQkJCX0NCgkJCQl9DQoNCgkJCQlpdGVtID0gdWkuaXRlbS5kYXRhKCAidWktYXV0b2NvbXBsZXRlLWl0ZW0iICk7DQoJCQkJaWYgKCBmYWxzZSAhPT0gdGhpcy5fdHJpZ2dlciggImZvY3VzIiwgZXZlbnQsIHsgaXRlbTogaXRlbSB9ICkgKSB7DQoNCgkJCQkJLy8gdXNlIHZhbHVlIHRvIG1hdGNoIHdoYXQgd2lsbCBlbmQgdXAgaW4gdGhlIGlucHV0LCBpZiBpdCB3YXMgYSBrZXkgZXZlbnQNCgkJCQkJaWYgKCBldmVudC5vcmlnaW5hbEV2ZW50ICYmIC9ea2V5Ly50ZXN0KCBldmVudC5vcmlnaW5hbEV2ZW50LnR5cGUgKSApIHsNCgkJCQkJCXRoaXMuX3ZhbHVlKCBpdGVtLnZhbHVlICk7DQoJCQkJCX0NCgkJCQl9DQoNCgkJCQkvLyBBbm5vdW5jZSB0aGUgdmFsdWUgaW4gdGhlIGxpdmVSZWdpb24NCgkJCQlsYWJlbCA9IHVpLml0ZW0uYXR0ciggImFyaWEtbGFiZWwiICkgfHwgaXRlbS52YWx1ZTsNCgkJCQlpZiAoIGxhYmVsICYmICQudHJpbSggbGFiZWwgKS5sZW5ndGggKSB7DQoJCQkJCXRoaXMubGl2ZVJlZ2lvbi5jaGlsZHJlbigpLmhpZGUoKTsNCgkJCQkJJCggIjxkaXY+IiApLnRleHQoIGxhYmVsICkuYXBwZW5kVG8oIHRoaXMubGl2ZVJlZ2lvbiApOw0KCQkJCX0NCgkJCX0sDQoJCQltZW51c2VsZWN0OiBmdW5jdGlvbiggZXZlbnQsIHVpICkgew0KCQkJCXZhciBpdGVtID0gdWkuaXRlbS5kYXRhKCAidWktYXV0b2NvbXBsZXRlLWl0ZW0iICksDQoJCQkJCXByZXZpb3VzID0gdGhpcy5wcmV2aW91czsNCg0KCQkJCS8vIE9ubHkgdHJpZ2dlciB3aGVuIGZvY3VzIHdhcyBsb3N0IChjbGljayBvbiBtZW51KQ0KCQkJCWlmICggdGhpcy5lbGVtZW50WyAwIF0gIT09ICQudWkuc2FmZUFjdGl2ZUVsZW1lbnQoIHRoaXMuZG9jdW1lbnRbIDAgXSApICkgew0KCQkJCQl0aGlzLmVsZW1lbnQudHJpZ2dlciggImZvY3VzIiApOw0KCQkJCQl0aGlzLnByZXZpb3VzID0gcHJldmlvdXM7DQoNCgkJCQkJLy8gIzYxMDkgLSBJRSB0cmlnZ2VycyB0d28gZm9jdXMgZXZlbnRzIGFuZCB0aGUgc2Vjb25kDQoJCQkJCS8vIGlzIGFzeW5jaHJvbm91cywgc28gd2UgbmVlZCB0byByZXNldCB0aGUgcHJldmlvdXMNCgkJCQkJLy8gdGVybSBzeW5jaHJvbm91c2x5IGFuZCBhc3luY2hyb25vdXNseSA6LSgNCgkJCQkJdGhpcy5fZGVsYXkoIGZ1bmN0aW9uKCkgew0KCQkJCQkJdGhpcy5wcmV2aW91cyA9IHByZXZpb3VzOw0KCQkJCQkJdGhpcy5zZWxlY3RlZEl0ZW0gPSBpdGVtOw0KCQkJCQl9ICk7DQoJCQkJfQ0KDQoJCQkJaWYgKCBmYWxzZSAhPT0gdGhpcy5fdHJpZ2dlciggInNlbGVjdCIsIGV2ZW50LCB7IGl0ZW06IGl0ZW0gfSApICkgew0KCQkJCQl0aGlzLl92YWx1ZSggaXRlbS52YWx1ZSApOw0KCQkJCX0NCg0KCQkJCS8vIHJlc2V0IHRoZSB0ZXJtIGFmdGVyIHRoZSBzZWxlY3QgZXZlbnQNCgkJCQkvLyB0aGlzIGFsbG93cyBjdXN0b20gc2VsZWN0IGhhbmRsaW5nIHRvIHdvcmsgcHJvcGVybHkNCgkJCQl0aGlzLnRlcm0gPSB0aGlzLl92YWx1ZSgpOw0KDQoJCQkJdGhpcy5jbG9zZSggZXZlbnQgKTsNCgkJCQl0aGlzLnNlbGVjdGVkSXRlbSA9IGl0ZW07DQoJCQl9DQoJCX0gKTsNCg0KCQl0aGlzLmxpdmVSZWdpb24gPSAkKCAiPGRpdj4iLCB7DQoJCQlyb2xlOiAic3RhdHVzIiwNCgkJCSJhcmlhLWxpdmUiOiAiYXNzZXJ0aXZlIiwNCgkJCSJhcmlhLXJlbGV2YW50IjogImFkZGl0aW9ucyINCgkJfSApDQoJCQkuYXBwZW5kVG8oIHRoaXMuZG9jdW1lbnRbIDAgXS5ib2R5ICk7DQoNCgkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMubGl2ZVJlZ2lvbiwgbnVsbCwgInVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSIgKTsNCg0KCQkvLyBUdXJuaW5nIG9mZiBhdXRvY29tcGxldGUgcHJldmVudHMgdGhlIGJyb3dzZXIgZnJvbSByZW1lbWJlcmluZyB0aGUNCgkJLy8gdmFsdWUgd2hlbiBuYXZpZ2F0aW5nIHRocm91Z2ggaGlzdG9yeSwgc28gd2UgcmUtZW5hYmxlIGF1dG9jb21wbGV0ZQ0KCQkvLyBpZiB0aGUgcGFnZSBpcyB1bmxvYWRlZCBiZWZvcmUgdGhlIHdpZGdldCBpcyBkZXN0cm95ZWQuICM3NzkwDQoJCXRoaXMuX29uKCB0aGlzLndpbmRvdywgew0KCQkJYmVmb3JldW5sb2FkOiBmdW5jdGlvbigpIHsNCgkJCQl0aGlzLmVsZW1lbnQucmVtb3ZlQXR0ciggImF1dG9jb21wbGV0ZSIgKTsNCgkJCX0NCgkJfSApOw0KCX0sDQoNCglfZGVzdHJveTogZnVuY3Rpb24oKSB7DQoJCWNsZWFyVGltZW91dCggdGhpcy5zZWFyY2hpbmcgKTsNCgkJdGhpcy5lbGVtZW50LnJlbW92ZUF0dHIoICJhdXRvY29tcGxldGUiICk7DQoJCXRoaXMubWVudS5lbGVtZW50LnJlbW92ZSgpOw0KCQl0aGlzLmxpdmVSZWdpb24ucmVtb3ZlKCk7DQoJfSwNCg0KCV9zZXRPcHRpb246IGZ1bmN0aW9uKCBrZXksIHZhbHVlICkgew0KCQl0aGlzLl9zdXBlcigga2V5LCB2YWx1ZSApOw0KCQlpZiAoIGtleSA9PT0gInNvdXJjZSIgKSB7DQoJCQl0aGlzLl9pbml0U291cmNlKCk7DQoJCX0NCgkJaWYgKCBrZXkgPT09ICJhcHBlbmRUbyIgKSB7DQoJCQl0aGlzLm1lbnUuZWxlbWVudC5hcHBlbmRUbyggdGhpcy5fYXBwZW5kVG8oKSApOw0KCQl9DQoJCWlmICgga2V5ID09PSAiZGlzYWJsZWQiICYmIHZhbHVlICYmIHRoaXMueGhyICkgew0KCQkJdGhpcy54aHIuYWJvcnQoKTsNCgkJfQ0KCX0sDQoNCglfaXNFdmVudFRhcmdldEluV2lkZ2V0OiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXZhciBtZW51RWxlbWVudCA9IHRoaXMubWVudS5lbGVtZW50WyAwIF07DQoNCgkJcmV0dXJuIGV2ZW50LnRhcmdldCA9PT0gdGhpcy5lbGVtZW50WyAwIF0gfHwNCgkJCWV2ZW50LnRhcmdldCA9PT0gbWVudUVsZW1lbnQgfHwNCgkJCSQuY29udGFpbnMoIG1lbnVFbGVtZW50LCBldmVudC50YXJnZXQgKTsNCgl9LA0KDQoJX2Nsb3NlT25DbGlja091dHNpZGU6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJaWYgKCAhdGhpcy5faXNFdmVudFRhcmdldEluV2lkZ2V0KCBldmVudCApICkgew0KCQkJdGhpcy5jbG9zZSgpOw0KCQl9DQoJfSwNCg0KCV9hcHBlbmRUbzogZnVuY3Rpb24oKSB7DQoJCXZhciBlbGVtZW50ID0gdGhpcy5vcHRpb25zLmFwcGVuZFRvOw0KDQoJCWlmICggZWxlbWVudCApIHsNCgkJCWVsZW1lbnQgPSBlbGVtZW50LmpxdWVyeSB8fCBlbGVtZW50Lm5vZGVUeXBlID8NCgkJCQkkKCBlbGVtZW50ICkgOg0KCQkJCXRoaXMuZG9jdW1lbnQuZmluZCggZWxlbWVudCApLmVxKCAwICk7DQoJCX0NCg0KCQlpZiAoICFlbGVtZW50IHx8ICFlbGVtZW50WyAwIF0gKSB7DQoJCQllbGVtZW50ID0gdGhpcy5lbGVtZW50LmNsb3Nlc3QoICIudWktZnJvbnQsIGRpYWxvZyIgKTsNCgkJfQ0KDQoJCWlmICggIWVsZW1lbnQubGVuZ3RoICkgew0KCQkJZWxlbWVudCA9IHRoaXMuZG9jdW1lbnRbIDAgXS5ib2R5Ow0KCQl9DQoNCgkJcmV0dXJuIGVsZW1lbnQ7DQoJfSwNCg0KCV9pbml0U291cmNlOiBmdW5jdGlvbigpIHsNCgkJdmFyIGFycmF5LCB1cmwsDQoJCQl0aGF0ID0gdGhpczsNCgkJaWYgKCAkLmlzQXJyYXkoIHRoaXMub3B0aW9ucy5zb3VyY2UgKSApIHsNCgkJCWFycmF5ID0gdGhpcy5vcHRpb25zLnNvdXJjZTsNCgkJCXRoaXMuc291cmNlID0gZnVuY3Rpb24oIHJlcXVlc3QsIHJlc3BvbnNlICkgew0KCQkJCXJlc3BvbnNlKCAkLnVpLmF1dG9jb21wbGV0ZS5maWx0ZXIoIGFycmF5LCByZXF1ZXN0LnRlcm0gKSApOw0KCQkJfTsNCgkJfSBlbHNlIGlmICggdHlwZW9mIHRoaXMub3B0aW9ucy5zb3VyY2UgPT09ICJzdHJpbmciICkgew0KCQkJdXJsID0gdGhpcy5vcHRpb25zLnNvdXJjZTsNCgkJCXRoaXMuc291cmNlID0gZnVuY3Rpb24oIHJlcXVlc3QsIHJlc3BvbnNlICkgew0KCQkJCWlmICggdGhhdC54aHIgKSB7DQoJCQkJCXRoYXQueGhyLmFib3J0KCk7DQoJCQkJfQ0KCQkJCXRoYXQueGhyID0gJC5hamF4KCB7DQoJCQkJCXVybDogdXJsLA0KCQkJCQlkYXRhOiByZXF1ZXN0LA0KCQkJCQlkYXRhVHlwZTogImpzb24iLA0KCQkJCQlzdWNjZXNzOiBmdW5jdGlvbiggZGF0YSApIHsNCgkJCQkJCXJlc3BvbnNlKCBkYXRhICk7DQoJCQkJCX0sDQoJCQkJCWVycm9yOiBmdW5jdGlvbigpIHsNCgkJCQkJCXJlc3BvbnNlKCBbXSApOw0KCQkJCQl9DQoJCQkJfSApOw0KCQkJfTsNCgkJfSBlbHNlIHsNCgkJCXRoaXMuc291cmNlID0gdGhpcy5vcHRpb25zLnNvdXJjZTsNCgkJfQ0KCX0sDQoNCglfc2VhcmNoVGltZW91dDogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQljbGVhclRpbWVvdXQoIHRoaXMuc2VhcmNoaW5nICk7DQoJCXRoaXMuc2VhcmNoaW5nID0gdGhpcy5fZGVsYXkoIGZ1bmN0aW9uKCkgew0KDQoJCQkvLyBTZWFyY2ggaWYgdGhlIHZhbHVlIGhhcyBjaGFuZ2VkLCBvciBpZiB0aGUgdXNlciByZXR5cGVzIHRoZSBzYW1lIHZhbHVlIChzZWUgIzc0MzQpDQoJCQl2YXIgZXF1YWxWYWx1ZXMgPSB0aGlzLnRlcm0gPT09IHRoaXMuX3ZhbHVlKCksDQoJCQkJbWVudVZpc2libGUgPSB0aGlzLm1lbnUuZWxlbWVudC5pcyggIjp2aXNpYmxlIiApLA0KCQkJCW1vZGlmaWVyS2V5ID0gZXZlbnQuYWx0S2V5IHx8IGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleSB8fCBldmVudC5zaGlmdEtleTsNCg0KCQkJaWYgKCAhZXF1YWxWYWx1ZXMgfHwgKCBlcXVhbFZhbHVlcyAmJiAhbWVudVZpc2libGUgJiYgIW1vZGlmaWVyS2V5ICkgKSB7DQoJCQkJdGhpcy5zZWxlY3RlZEl0ZW0gPSBudWxsOw0KCQkJCXRoaXMuc2VhcmNoKCBudWxsLCBldmVudCApOw0KCQkJfQ0KCQl9LCB0aGlzLm9wdGlvbnMuZGVsYXkgKTsNCgl9LA0KDQoJc2VhcmNoOiBmdW5jdGlvbiggdmFsdWUsIGV2ZW50ICkgew0KCQl2YWx1ZSA9IHZhbHVlICE9IG51bGwgPyB2YWx1ZSA6IHRoaXMuX3ZhbHVlKCk7DQoNCgkJLy8gQWx3YXlzIHNhdmUgdGhlIGFjdHVhbCB2YWx1ZSwgbm90IHRoZSBvbmUgcGFzc2VkIGFzIGFuIGFyZ3VtZW50DQoJCXRoaXMudGVybSA9IHRoaXMuX3ZhbHVlKCk7DQoNCgkJaWYgKCB2YWx1ZS5sZW5ndGggPCB0aGlzLm9wdGlvbnMubWluTGVuZ3RoICkgew0KCQkJcmV0dXJuIHRoaXMuY2xvc2UoIGV2ZW50ICk7DQoJCX0NCg0KCQlpZiAoIHRoaXMuX3RyaWdnZXIoICJzZWFyY2giLCBldmVudCApID09PSBmYWxzZSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCXJldHVybiB0aGlzLl9zZWFyY2goIHZhbHVlICk7DQoJfSwNCg0KCV9zZWFyY2g6IGZ1bmN0aW9uKCB2YWx1ZSApIHsNCgkJdGhpcy5wZW5kaW5nKys7DQoJCXRoaXMuX2FkZENsYXNzKCAidWktYXV0b2NvbXBsZXRlLWxvYWRpbmciICk7DQoJCXRoaXMuY2FuY2VsU2VhcmNoID0gZmFsc2U7DQoNCgkJdGhpcy5zb3VyY2UoIHsgdGVybTogdmFsdWUgfSwgdGhpcy5fcmVzcG9uc2UoKSApOw0KCX0sDQoNCglfcmVzcG9uc2U6IGZ1bmN0aW9uKCkgew0KCQl2YXIgaW5kZXggPSArK3RoaXMucmVxdWVzdEluZGV4Ow0KDQoJCXJldHVybiAkLnByb3h5KCBmdW5jdGlvbiggY29udGVudCApIHsNCgkJCWlmICggaW5kZXggPT09IHRoaXMucmVxdWVzdEluZGV4ICkgew0KCQkJCXRoaXMuX19yZXNwb25zZSggY29udGVudCApOw0KCQkJfQ0KDQoJCQl0aGlzLnBlbmRpbmctLTsNCgkJCWlmICggIXRoaXMucGVuZGluZyApIHsNCgkJCQl0aGlzLl9yZW1vdmVDbGFzcyggInVpLWF1dG9jb21wbGV0ZS1sb2FkaW5nIiApOw0KCQkJfQ0KCQl9LCB0aGlzICk7DQoJfSwNCg0KCV9fcmVzcG9uc2U6IGZ1bmN0aW9uKCBjb250ZW50ICkgew0KCQlpZiAoIGNvbnRlbnQgKSB7DQoJCQljb250ZW50ID0gdGhpcy5fbm9ybWFsaXplKCBjb250ZW50ICk7DQoJCX0NCgkJdGhpcy5fdHJpZ2dlciggInJlc3BvbnNlIiwgbnVsbCwgeyBjb250ZW50OiBjb250ZW50IH0gKTsNCgkJaWYgKCAhdGhpcy5vcHRpb25zLmRpc2FibGVkICYmIGNvbnRlbnQgJiYgY29udGVudC5sZW5ndGggJiYgIXRoaXMuY2FuY2VsU2VhcmNoICkgew0KCQkJdGhpcy5fc3VnZ2VzdCggY29udGVudCApOw0KCQkJdGhpcy5fdHJpZ2dlciggIm9wZW4iICk7DQoJCX0gZWxzZSB7DQoNCgkJCS8vIHVzZSAuX2Nsb3NlKCkgaW5zdGVhZCBvZiAuY2xvc2UoKSBzbyB3ZSBkb24ndCBjYW5jZWwgZnV0dXJlIHNlYXJjaGVzDQoJCQl0aGlzLl9jbG9zZSgpOw0KCQl9DQoJfSwNCg0KCWNsb3NlOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXRoaXMuY2FuY2VsU2VhcmNoID0gdHJ1ZTsNCgkJdGhpcy5fY2xvc2UoIGV2ZW50ICk7DQoJfSwNCg0KCV9jbG9zZTogZnVuY3Rpb24oIGV2ZW50ICkgew0KDQoJCS8vIFJlbW92ZSB0aGUgaGFuZGxlciB0aGF0IGNsb3NlcyB0aGUgbWVudSBvbiBvdXRzaWRlIGNsaWNrcw0KCQl0aGlzLl9vZmYoIHRoaXMuZG9jdW1lbnQsICJtb3VzZWRvd24iICk7DQoNCgkJaWYgKCB0aGlzLm1lbnUuZWxlbWVudC5pcyggIjp2aXNpYmxlIiApICkgew0KCQkJdGhpcy5tZW51LmVsZW1lbnQuaGlkZSgpOw0KCQkJdGhpcy5tZW51LmJsdXIoKTsNCgkJCXRoaXMuaXNOZXdNZW51ID0gdHJ1ZTsNCgkJCXRoaXMuX3RyaWdnZXIoICJjbG9zZSIsIGV2ZW50ICk7DQoJCX0NCgl9LA0KDQoJX2NoYW5nZTogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQlpZiAoIHRoaXMucHJldmlvdXMgIT09IHRoaXMuX3ZhbHVlKCkgKSB7DQoJCQl0aGlzLl90cmlnZ2VyKCAiY2hhbmdlIiwgZXZlbnQsIHsgaXRlbTogdGhpcy5zZWxlY3RlZEl0ZW0gfSApOw0KCQl9DQoJfSwNCg0KCV9ub3JtYWxpemU6IGZ1bmN0aW9uKCBpdGVtcyApIHsNCg0KCQkvLyBhc3N1bWUgYWxsIGl0ZW1zIGhhdmUgdGhlIHJpZ2h0IGZvcm1hdCB3aGVuIHRoZSBmaXJzdCBpdGVtIGlzIGNvbXBsZXRlDQoJCWlmICggaXRlbXMubGVuZ3RoICYmIGl0ZW1zWyAwIF0ubGFiZWwgJiYgaXRlbXNbIDAgXS52YWx1ZSApIHsNCgkJCXJldHVybiBpdGVtczsNCgkJfQ0KCQlyZXR1cm4gJC5tYXAoIGl0ZW1zLCBmdW5jdGlvbiggaXRlbSApIHsNCgkJCWlmICggdHlwZW9mIGl0ZW0gPT09ICJzdHJpbmciICkgew0KCQkJCXJldHVybiB7DQoJCQkJCWxhYmVsOiBpdGVtLA0KCQkJCQl2YWx1ZTogaXRlbQ0KCQkJCX07DQoJCQl9DQoJCQlyZXR1cm4gJC5leHRlbmQoIHt9LCBpdGVtLCB7DQoJCQkJbGFiZWw6IGl0ZW0ubGFiZWwgfHwgaXRlbS52YWx1ZSwNCgkJCQl2YWx1ZTogaXRlbS52YWx1ZSB8fCBpdGVtLmxhYmVsDQoJCQl9ICk7DQoJCX0gKTsNCgl9LA0KDQoJX3N1Z2dlc3Q6IGZ1bmN0aW9uKCBpdGVtcyApIHsNCgkJdmFyIHVsID0gdGhpcy5tZW51LmVsZW1lbnQuZW1wdHkoKTsNCgkJdGhpcy5fcmVuZGVyTWVudSggdWwsIGl0ZW1zICk7DQoJCXRoaXMuaXNOZXdNZW51ID0gdHJ1ZTsNCgkJdGhpcy5tZW51LnJlZnJlc2goKTsNCg0KCQkvLyBTaXplIGFuZCBwb3NpdGlvbiBtZW51DQoJCXVsLnNob3coKTsNCgkJdGhpcy5fcmVzaXplTWVudSgpOw0KCQl1bC5wb3NpdGlvbiggJC5leHRlbmQoIHsNCgkJCW9mOiB0aGlzLmVsZW1lbnQNCgkJfSwgdGhpcy5vcHRpb25zLnBvc2l0aW9uICkgKTsNCg0KCQlpZiAoIHRoaXMub3B0aW9ucy5hdXRvRm9jdXMgKSB7DQoJCQl0aGlzLm1lbnUubmV4dCgpOw0KCQl9DQoNCgkJLy8gTGlzdGVuIGZvciBpbnRlcmFjdGlvbnMgb3V0c2lkZSBvZiB0aGUgd2lkZ2V0ICgjNjY0MikNCgkJdGhpcy5fb24oIHRoaXMuZG9jdW1lbnQsIHsNCgkJCW1vdXNlZG93bjogIl9jbG9zZU9uQ2xpY2tPdXRzaWRlIg0KCQl9ICk7DQoJfSwNCg0KCV9yZXNpemVNZW51OiBmdW5jdGlvbigpIHsNCgkJdmFyIHVsID0gdGhpcy5tZW51LmVsZW1lbnQ7DQoJCXVsLm91dGVyV2lkdGgoIE1hdGgubWF4KA0KDQoJCQkvLyBGaXJlZm94IHdyYXBzIGxvbmcgdGV4dCAocG9zc2libHkgYSByb3VuZGluZyBidWcpDQoJCQkvLyBzbyB3ZSBhZGQgMXB4IHRvIGF2b2lkIHRoZSB3cmFwcGluZyAoIzc1MTMpDQoJCQl1bC53aWR0aCggIiIgKS5vdXRlcldpZHRoKCkgKyAxLA0KCQkJdGhpcy5lbGVtZW50Lm91dGVyV2lkdGgoKQ0KCQkpICk7DQoJfSwNCg0KCV9yZW5kZXJNZW51OiBmdW5jdGlvbiggdWwsIGl0ZW1zICkgew0KCQl2YXIgdGhhdCA9IHRoaXM7DQoJCSQuZWFjaCggaXRlbXMsIGZ1bmN0aW9uKCBpbmRleCwgaXRlbSApIHsNCgkJCXRoYXQuX3JlbmRlckl0ZW1EYXRhKCB1bCwgaXRlbSApOw0KCQl9ICk7DQoJfSwNCg0KCV9yZW5kZXJJdGVtRGF0YTogZnVuY3Rpb24oIHVsLCBpdGVtICkgew0KCQlyZXR1cm4gdGhpcy5fcmVuZGVySXRlbSggdWwsIGl0ZW0gKS5kYXRhKCAidWktYXV0b2NvbXBsZXRlLWl0ZW0iLCBpdGVtICk7DQoJfSwNCg0KCV9yZW5kZXJJdGVtOiBmdW5jdGlvbiggdWwsIGl0ZW0gKSB7DQoJCXJldHVybiAkKCAiPGxpPiIgKQ0KCQkJLmFwcGVuZCggJCggIjxkaXY+IiApLnRleHQoIGl0ZW0ubGFiZWwgKSApDQoJCQkuYXBwZW5kVG8oIHVsICk7DQoJfSwNCg0KCV9tb3ZlOiBmdW5jdGlvbiggZGlyZWN0aW9uLCBldmVudCApIHsNCgkJaWYgKCAhdGhpcy5tZW51LmVsZW1lbnQuaXMoICI6dmlzaWJsZSIgKSApIHsNCgkJCXRoaXMuc2VhcmNoKCBudWxsLCBldmVudCApOw0KCQkJcmV0dXJuOw0KCQl9DQoJCWlmICggdGhpcy5tZW51LmlzRmlyc3RJdGVtKCkgJiYgL15wcmV2aW91cy8udGVzdCggZGlyZWN0aW9uICkgfHwNCgkJCQl0aGlzLm1lbnUuaXNMYXN0SXRlbSgpICYmIC9ebmV4dC8udGVzdCggZGlyZWN0aW9uICkgKSB7DQoNCgkJCWlmICggIXRoaXMuaXNNdWx0aUxpbmUgKSB7DQoJCQkJdGhpcy5fdmFsdWUoIHRoaXMudGVybSApOw0KCQkJfQ0KDQoJCQl0aGlzLm1lbnUuYmx1cigpOw0KCQkJcmV0dXJuOw0KCQl9DQoJCXRoaXMubWVudVsgZGlyZWN0aW9uIF0oIGV2ZW50ICk7DQoJfSwNCg0KCXdpZGdldDogZnVuY3Rpb24oKSB7DQoJCXJldHVybiB0aGlzLm1lbnUuZWxlbWVudDsNCgl9LA0KDQoJX3ZhbHVlOiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRoaXMudmFsdWVNZXRob2QuYXBwbHkoIHRoaXMuZWxlbWVudCwgYXJndW1lbnRzICk7DQoJfSwNCg0KCV9rZXlFdmVudDogZnVuY3Rpb24oIGtleUV2ZW50LCBldmVudCApIHsNCgkJaWYgKCAhdGhpcy5pc011bHRpTGluZSB8fCB0aGlzLm1lbnUuZWxlbWVudC5pcyggIjp2aXNpYmxlIiApICkgew0KCQkJdGhpcy5fbW92ZSgga2V5RXZlbnQsIGV2ZW50ICk7DQoNCgkJCS8vIFByZXZlbnRzIG1vdmluZyBjdXJzb3IgdG8gYmVnaW5uaW5nL2VuZCBvZiB0aGUgdGV4dCBmaWVsZCBpbiBzb21lIGJyb3dzZXJzDQoJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQl9DQoJfSwNCg0KCS8vIFN1cHBvcnQ6IENocm9tZSA8PTUwDQoJLy8gV2Ugc2hvdWxkIGJlIGFibGUgdG8ganVzdCB1c2UgdGhpcy5lbGVtZW50LnByb3AoICJpc0NvbnRlbnRFZGl0YWJsZSIgKQ0KCS8vIGJ1dCBoaWRkZW4gZWxlbWVudHMgYWx3YXlzIHJlcG9ydCBmYWxzZSBpbiBDaHJvbWUuDQoJLy8gaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTMxMzA4Mg0KCV9pc0NvbnRlbnRFZGl0YWJsZTogZnVuY3Rpb24oIGVsZW1lbnQgKSB7DQoJCWlmICggIWVsZW1lbnQubGVuZ3RoICkgew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoNCgkJdmFyIGVkaXRhYmxlID0gZWxlbWVudC5wcm9wKCAiY29udGVudEVkaXRhYmxlIiApOw0KDQoJCWlmICggZWRpdGFibGUgPT09ICJpbmhlcml0IiApIHsNCgkJICByZXR1cm4gdGhpcy5faXNDb250ZW50RWRpdGFibGUoIGVsZW1lbnQucGFyZW50KCkgKTsNCgkJfQ0KDQoJCXJldHVybiBlZGl0YWJsZSA9PT0gInRydWUiOw0KCX0NCn0gKTsNCg0KJC5leHRlbmQoICQudWkuYXV0b2NvbXBsZXRlLCB7DQoJZXNjYXBlUmVnZXg6IGZ1bmN0aW9uKCB2YWx1ZSApIHsNCgkJcmV0dXJuIHZhbHVlLnJlcGxhY2UoIC9bXC1cW1xde30oKSorPy4sXFxcXiR8I1xzXS9nLCAiXFwkJiIgKTsNCgl9LA0KCWZpbHRlcjogZnVuY3Rpb24oIGFycmF5LCB0ZXJtICkgew0KCQl2YXIgbWF0Y2hlciA9IG5ldyBSZWdFeHAoICQudWkuYXV0b2NvbXBsZXRlLmVzY2FwZVJlZ2V4KCB0ZXJtICksICJpIiApOw0KCQlyZXR1cm4gJC5ncmVwKCBhcnJheSwgZnVuY3Rpb24oIHZhbHVlICkgew0KCQkJcmV0dXJuIG1hdGNoZXIudGVzdCggdmFsdWUubGFiZWwgfHwgdmFsdWUudmFsdWUgfHwgdmFsdWUgKTsNCgkJfSApOw0KCX0NCn0gKTsNCg0KLy8gTGl2ZSByZWdpb24gZXh0ZW5zaW9uLCBhZGRpbmcgYSBgbWVzc2FnZXNgIG9wdGlvbg0KLy8gTk9URTogVGhpcyBpcyBhbiBleHBlcmltZW50YWwgQVBJLiBXZSBhcmUgc3RpbGwgaW52ZXN0aWdhdGluZw0KLy8gYSBmdWxsIHNvbHV0aW9uIGZvciBzdHJpbmcgbWFuaXB1bGF0aW9uIGFuZCBpbnRlcm5hdGlvbmFsaXphdGlvbi4NCiQud2lkZ2V0KCAidWkuYXV0b2NvbXBsZXRlIiwgJC51aS5hdXRvY29tcGxldGUsIHsNCglvcHRpb25zOiB7DQoJCW1lc3NhZ2VzOiB7DQoJCQlub1Jlc3VsdHM6ICJObyBzZWFyY2ggcmVzdWx0cy4iLA0KCQkJcmVzdWx0czogZnVuY3Rpb24oIGFtb3VudCApIHsNCgkJCQlyZXR1cm4gYW1vdW50ICsgKCBhbW91bnQgPiAxID8gIiByZXN1bHRzIGFyZSIgOiAiIHJlc3VsdCBpcyIgKSArDQoJCQkJCSIgYXZhaWxhYmxlLCB1c2UgdXAgYW5kIGRvd24gYXJyb3cga2V5cyB0byBuYXZpZ2F0ZS4iOw0KCQkJfQ0KCQl9DQoJfSwNCg0KCV9fcmVzcG9uc2U6IGZ1bmN0aW9uKCBjb250ZW50ICkgew0KCQl2YXIgbWVzc2FnZTsNCgkJdGhpcy5fc3VwZXJBcHBseSggYXJndW1lbnRzICk7DQoJCWlmICggdGhpcy5vcHRpb25zLmRpc2FibGVkIHx8IHRoaXMuY2FuY2VsU2VhcmNoICkgew0KCQkJcmV0dXJuOw0KCQl9DQoJCWlmICggY29udGVudCAmJiBjb250ZW50Lmxlbmd0aCApIHsNCgkJCW1lc3NhZ2UgPSB0aGlzLm9wdGlvbnMubWVzc2FnZXMucmVzdWx0cyggY29udGVudC5sZW5ndGggKTsNCgkJfSBlbHNlIHsNCgkJCW1lc3NhZ2UgPSB0aGlzLm9wdGlvbnMubWVzc2FnZXMubm9SZXN1bHRzOw0KCQl9DQoJCXRoaXMubGl2ZVJlZ2lvbi5jaGlsZHJlbigpLmhpZGUoKTsNCgkJJCggIjxkaXY+IiApLnRleHQoIG1lc3NhZ2UgKS5hcHBlbmRUbyggdGhpcy5saXZlUmVnaW9uICk7DQoJfQ0KfSApOw0KDQp2YXIgd2lkZ2V0c0F1dG9jb21wbGV0ZSA9ICQudWkuYXV0b2NvbXBsZXRlOw0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIENvbnRyb2xncm91cCAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogQ29udHJvbGdyb3VwDQovLz4+Z3JvdXA6IFdpZGdldHMNCi8vPj5kZXNjcmlwdGlvbjogVmlzdWFsbHkgZ3JvdXBzIGZvcm0gY29udHJvbCB3aWRnZXRzDQovLz4+ZG9jczogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vY29udHJvbGdyb3VwLw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL2NvbnRyb2xncm91cC8NCi8vPj5jc3Muc3RydWN0dXJlOiAuLi8uLi90aGVtZXMvYmFzZS9jb3JlLmNzcw0KLy8+PmNzcy5zdHJ1Y3R1cmU6IC4uLy4uL3RoZW1lcy9iYXNlL2NvbnRyb2xncm91cC5jc3MNCi8vPj5jc3MudGhlbWU6IC4uLy4uL3RoZW1lcy9iYXNlL3RoZW1lLmNzcw0KDQoNCnZhciBjb250cm9sZ3JvdXBDb3JuZXJSZWdleCA9IC91aS1jb3JuZXItKFthLXpdKXsyLDZ9L2c7DQoNCnZhciB3aWRnZXRzQ29udHJvbGdyb3VwID0gJC53aWRnZXQoICJ1aS5jb250cm9sZ3JvdXAiLCB7DQoJdmVyc2lvbjogIjEuMTIuMSIsDQoJZGVmYXVsdEVsZW1lbnQ6ICI8ZGl2PiIsDQoJb3B0aW9uczogew0KCQlkaXJlY3Rpb246ICJob3Jpem9udGFsIiwNCgkJZGlzYWJsZWQ6IG51bGwsDQoJCW9ubHlWaXNpYmxlOiB0cnVlLA0KCQlpdGVtczogew0KCQkJImJ1dHRvbiI6ICJpbnB1dFt0eXBlPWJ1dHRvbl0sIGlucHV0W3R5cGU9c3VibWl0XSwgaW5wdXRbdHlwZT1yZXNldF0sIGJ1dHRvbiwgYSIsDQoJCQkiY29udHJvbGdyb3VwTGFiZWwiOiAiLnVpLWNvbnRyb2xncm91cC1sYWJlbCIsDQoJCQkiY2hlY2tib3hyYWRpbyI6ICJpbnB1dFt0eXBlPSdjaGVja2JveCddLCBpbnB1dFt0eXBlPSdyYWRpbyddIiwNCgkJCSJzZWxlY3RtZW51IjogInNlbGVjdCIsDQoJCQkic3Bpbm5lciI6ICIudWktc3Bpbm5lci1pbnB1dCINCgkJfQ0KCX0sDQoNCglfY3JlYXRlOiBmdW5jdGlvbigpIHsNCgkJdGhpcy5fZW5oYW5jZSgpOw0KCX0sDQoNCgkvLyBUbyBzdXBwb3J0IHRoZSBlbmhhbmNlZCBvcHRpb24gaW4galF1ZXJ5IE1vYmlsZSwgd2UgaXNvbGF0ZSBET00gbWFuaXB1bGF0aW9uDQoJX2VuaGFuY2U6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLmVsZW1lbnQuYXR0ciggInJvbGUiLCAidG9vbGJhciIgKTsNCgkJdGhpcy5yZWZyZXNoKCk7DQoJfSwNCg0KCV9kZXN0cm95OiBmdW5jdGlvbigpIHsNCgkJdGhpcy5fY2FsbENoaWxkTWV0aG9kKCAiZGVzdHJveSIgKTsNCgkJdGhpcy5jaGlsZFdpZGdldHMucmVtb3ZlRGF0YSggInVpLWNvbnRyb2xncm91cC1kYXRhIiApOw0KCQl0aGlzLmVsZW1lbnQucmVtb3ZlQXR0ciggInJvbGUiICk7DQoJCWlmICggdGhpcy5vcHRpb25zLml0ZW1zLmNvbnRyb2xncm91cExhYmVsICkgew0KCQkJdGhpcy5lbGVtZW50DQoJCQkJLmZpbmQoIHRoaXMub3B0aW9ucy5pdGVtcy5jb250cm9sZ3JvdXBMYWJlbCApDQoJCQkJLmZpbmQoICIudWktY29udHJvbGdyb3VwLWxhYmVsLWNvbnRlbnRzIiApDQoJCQkJLmNvbnRlbnRzKCkudW53cmFwKCk7DQoJCX0NCgl9LA0KDQoJX2luaXRXaWRnZXRzOiBmdW5jdGlvbigpIHsNCgkJdmFyIHRoYXQgPSB0aGlzLA0KCQkJY2hpbGRXaWRnZXRzID0gW107DQoNCgkJLy8gRmlyc3Qgd2UgaXRlcmF0ZSBvdmVyIGVhY2ggb2YgdGhlIGl0ZW1zIG9wdGlvbnMNCgkJJC5lYWNoKCB0aGlzLm9wdGlvbnMuaXRlbXMsIGZ1bmN0aW9uKCB3aWRnZXQsIHNlbGVjdG9yICkgew0KCQkJdmFyIGxhYmVsczsNCgkJCXZhciBvcHRpb25zID0ge307DQoNCgkJCS8vIE1ha2Ugc3VyZSB0aGUgd2lkZ2V0IGhhcyBhIHNlbGVjdG9yIHNldA0KCQkJaWYgKCAhc2VsZWN0b3IgKSB7DQoJCQkJcmV0dXJuOw0KCQkJfQ0KDQoJCQlpZiAoIHdpZGdldCA9PT0gImNvbnRyb2xncm91cExhYmVsIiApIHsNCgkJCQlsYWJlbHMgPSB0aGF0LmVsZW1lbnQuZmluZCggc2VsZWN0b3IgKTsNCgkJCQlsYWJlbHMuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQkJCXZhciBlbGVtZW50ID0gJCggdGhpcyApOw0KDQoJCQkJCWlmICggZWxlbWVudC5jaGlsZHJlbiggIi51aS1jb250cm9sZ3JvdXAtbGFiZWwtY29udGVudHMiICkubGVuZ3RoICkgew0KCQkJCQkJcmV0dXJuOw0KCQkJCQl9DQoJCQkJCWVsZW1lbnQuY29udGVudHMoKQ0KCQkJCQkJLndyYXBBbGwoICI8c3BhbiBjbGFzcz0ndWktY29udHJvbGdyb3VwLWxhYmVsLWNvbnRlbnRzJz48L3NwYW4+IiApOw0KCQkJCX0gKTsNCgkJCQl0aGF0Ll9hZGRDbGFzcyggbGFiZWxzLCBudWxsLCAidWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLXN0YXRlLWRlZmF1bHQiICk7DQoJCQkJY2hpbGRXaWRnZXRzID0gY2hpbGRXaWRnZXRzLmNvbmNhdCggbGFiZWxzLmdldCgpICk7DQoJCQkJcmV0dXJuOw0KCQkJfQ0KDQoJCQkvLyBNYWtlIHN1cmUgdGhlIHdpZGdldCBhY3R1YWxseSBleGlzdHMNCgkJCWlmICggISQuZm5bIHdpZGdldCBdICkgew0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJLy8gV2UgYXNzdW1lIGV2ZXJ5dGhpbmcgaXMgaW4gdGhlIG1pZGRsZSB0byBzdGFydCBiZWNhdXNlIHdlIGNhbid0IGRldGVybWluZQ0KCQkJLy8gZmlyc3QgLyBsYXN0IGVsZW1lbnRzIHVudGlsIGFsbCBlbmhhbmNtZW50cyBhcmUgZG9uZS4NCgkJCWlmICggdGhhdFsgIl8iICsgd2lkZ2V0ICsgIk9wdGlvbnMiIF0gKSB7DQoJCQkJb3B0aW9ucyA9IHRoYXRbICJfIiArIHdpZGdldCArICJPcHRpb25zIiBdKCAibWlkZGxlIiApOw0KCQkJfSBlbHNlIHsNCgkJCQlvcHRpb25zID0geyBjbGFzc2VzOiB7fSB9Ow0KCQkJfQ0KDQoJCQkvLyBGaW5kIGluc3RhbmNlcyBvZiB0aGlzIHdpZGdldCBpbnNpZGUgY29udHJvbGdyb3VwIGFuZCBpbml0IHRoZW0NCgkJCXRoYXQuZWxlbWVudA0KCQkJCS5maW5kKCBzZWxlY3RvciApDQoJCQkJLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJCQl2YXIgZWxlbWVudCA9ICQoIHRoaXMgKTsNCgkJCQkJdmFyIGluc3RhbmNlID0gZWxlbWVudFsgd2lkZ2V0IF0oICJpbnN0YW5jZSIgKTsNCg0KCQkJCQkvLyBXZSBuZWVkIHRvIGNsb25lIHRoZSBkZWZhdWx0IG9wdGlvbnMgZm9yIHRoaXMgdHlwZSBvZiB3aWRnZXQgdG8gYXZvaWQNCgkJCQkJLy8gcG9sbHV0aW5nIHRoZSB2YXJpYWJsZSBvcHRpb25zIHdoaWNoIGhhcyBhIHdpZGVyIHNjb3BlIHRoYW4gYSBzaW5nbGUgd2lkZ2V0Lg0KCQkJCQl2YXIgaW5zdGFuY2VPcHRpb25zID0gJC53aWRnZXQuZXh0ZW5kKCB7fSwgb3B0aW9ucyApOw0KDQoJCQkJCS8vIElmIHRoZSBidXR0b24gaXMgdGhlIGNoaWxkIG9mIGEgc3Bpbm5lciBpZ25vcmUgaXQNCgkJCQkJLy8gVE9ETzogRmluZCBhIG1vcmUgZ2VuZXJpYyBzb2x1dGlvbg0KCQkJCQlpZiAoIHdpZGdldCA9PT0gImJ1dHRvbiIgJiYgZWxlbWVudC5wYXJlbnQoICIudWktc3Bpbm5lciIgKS5sZW5ndGggKSB7DQoJCQkJCQlyZXR1cm47DQoJCQkJCX0NCg0KCQkJCQkvLyBDcmVhdGUgdGhlIHdpZGdldCBpZiBpdCBkb2Vzbid0IGV4aXN0DQoJCQkJCWlmICggIWluc3RhbmNlICkgew0KCQkJCQkJaW5zdGFuY2UgPSBlbGVtZW50WyB3aWRnZXQgXSgpWyB3aWRnZXQgXSggImluc3RhbmNlIiApOw0KCQkJCQl9DQoJCQkJCWlmICggaW5zdGFuY2UgKSB7DQoJCQkJCQlpbnN0YW5jZU9wdGlvbnMuY2xhc3NlcyA9DQoJCQkJCQkJdGhhdC5fcmVzb2x2ZUNsYXNzZXNWYWx1ZXMoIGluc3RhbmNlT3B0aW9ucy5jbGFzc2VzLCBpbnN0YW5jZSApOw0KCQkJCQl9DQoJCQkJCWVsZW1lbnRbIHdpZGdldCBdKCBpbnN0YW5jZU9wdGlvbnMgKTsNCg0KCQkJCQkvLyBTdG9yZSBhbiBpbnN0YW5jZSBvZiB0aGUgY29udHJvbGdyb3VwIHRvIGJlIGFibGUgdG8gcmVmZXJlbmNlDQoJCQkJCS8vIGZyb20gdGhlIG91dGVybW9zdCBlbGVtZW50IGZvciBjaGFuZ2luZyBvcHRpb25zIGFuZCByZWZyZXNoDQoJCQkJCXZhciB3aWRnZXRFbGVtZW50ID0gZWxlbWVudFsgd2lkZ2V0IF0oICJ3aWRnZXQiICk7DQoJCQkJCSQuZGF0YSggd2lkZ2V0RWxlbWVudFsgMCBdLCAidWktY29udHJvbGdyb3VwLWRhdGEiLA0KCQkJCQkJaW5zdGFuY2UgPyBpbnN0YW5jZSA6IGVsZW1lbnRbIHdpZGdldCBdKCAiaW5zdGFuY2UiICkgKTsNCg0KCQkJCQljaGlsZFdpZGdldHMucHVzaCggd2lkZ2V0RWxlbWVudFsgMCBdICk7DQoJCQkJfSApOw0KCQl9ICk7DQoNCgkJdGhpcy5jaGlsZFdpZGdldHMgPSAkKCAkLnVuaXF1ZSggY2hpbGRXaWRnZXRzICkgKTsNCgkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMuY2hpbGRXaWRnZXRzLCAidWktY29udHJvbGdyb3VwLWl0ZW0iICk7DQoJfSwNCg0KCV9jYWxsQ2hpbGRNZXRob2Q6IGZ1bmN0aW9uKCBtZXRob2QgKSB7DQoJCXRoaXMuY2hpbGRXaWRnZXRzLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJdmFyIGVsZW1lbnQgPSAkKCB0aGlzICksDQoJCQkJZGF0YSA9IGVsZW1lbnQuZGF0YSggInVpLWNvbnRyb2xncm91cC1kYXRhIiApOw0KCQkJaWYgKCBkYXRhICYmIGRhdGFbIG1ldGhvZCBdICkgew0KCQkJCWRhdGFbIG1ldGhvZCBdKCk7DQoJCQl9DQoJCX0gKTsNCgl9LA0KDQoJX3VwZGF0ZUNvcm5lckNsYXNzOiBmdW5jdGlvbiggZWxlbWVudCwgcG9zaXRpb24gKSB7DQoJCXZhciByZW1vdmUgPSAidWktY29ybmVyLXRvcCB1aS1jb3JuZXItYm90dG9tIHVpLWNvcm5lci1sZWZ0IHVpLWNvcm5lci1yaWdodCB1aS1jb3JuZXItYWxsIjsNCgkJdmFyIGFkZCA9IHRoaXMuX2J1aWxkU2ltcGxlT3B0aW9ucyggcG9zaXRpb24sICJsYWJlbCIgKS5jbGFzc2VzLmxhYmVsOw0KDQoJCXRoaXMuX3JlbW92ZUNsYXNzKCBlbGVtZW50LCBudWxsLCByZW1vdmUgKTsNCgkJdGhpcy5fYWRkQ2xhc3MoIGVsZW1lbnQsIG51bGwsIGFkZCApOw0KCX0sDQoNCglfYnVpbGRTaW1wbGVPcHRpb25zOiBmdW5jdGlvbiggcG9zaXRpb24sIGtleSApIHsNCgkJdmFyIGRpcmVjdGlvbiA9IHRoaXMub3B0aW9ucy5kaXJlY3Rpb24gPT09ICJ2ZXJ0aWNhbCI7DQoJCXZhciByZXN1bHQgPSB7DQoJCQljbGFzc2VzOiB7fQ0KCQl9Ow0KCQlyZXN1bHQuY2xhc3Nlc1sga2V5IF0gPSB7DQoJCQkibWlkZGxlIjogIiIsDQoJCQkiZmlyc3QiOiAidWktY29ybmVyLSIgKyAoIGRpcmVjdGlvbiA/ICJ0b3AiIDogImxlZnQiICksDQoJCQkibGFzdCI6ICJ1aS1jb3JuZXItIiArICggZGlyZWN0aW9uID8gImJvdHRvbSIgOiAicmlnaHQiICksDQoJCQkib25seSI6ICJ1aS1jb3JuZXItYWxsIg0KCQl9WyBwb3NpdGlvbiBdOw0KDQoJCXJldHVybiByZXN1bHQ7DQoJfSwNCg0KCV9zcGlubmVyT3B0aW9uczogZnVuY3Rpb24oIHBvc2l0aW9uICkgew0KCQl2YXIgb3B0aW9ucyA9IHRoaXMuX2J1aWxkU2ltcGxlT3B0aW9ucyggcG9zaXRpb24sICJ1aS1zcGlubmVyIiApOw0KDQoJCW9wdGlvbnMuY2xhc3Nlc1sgInVpLXNwaW5uZXItdXAiIF0gPSAiIjsNCgkJb3B0aW9ucy5jbGFzc2VzWyAidWktc3Bpbm5lci1kb3duIiBdID0gIiI7DQoNCgkJcmV0dXJuIG9wdGlvbnM7DQoJfSwNCg0KCV9idXR0b25PcHRpb25zOiBmdW5jdGlvbiggcG9zaXRpb24gKSB7DQoJCXJldHVybiB0aGlzLl9idWlsZFNpbXBsZU9wdGlvbnMoIHBvc2l0aW9uLCAidWktYnV0dG9uIiApOw0KCX0sDQoNCglfY2hlY2tib3hyYWRpb09wdGlvbnM6IGZ1bmN0aW9uKCBwb3NpdGlvbiApIHsNCgkJcmV0dXJuIHRoaXMuX2J1aWxkU2ltcGxlT3B0aW9ucyggcG9zaXRpb24sICJ1aS1jaGVja2JveHJhZGlvLWxhYmVsIiApOw0KCX0sDQoNCglfc2VsZWN0bWVudU9wdGlvbnM6IGZ1bmN0aW9uKCBwb3NpdGlvbiApIHsNCgkJdmFyIGRpcmVjdGlvbiA9IHRoaXMub3B0aW9ucy5kaXJlY3Rpb24gPT09ICJ2ZXJ0aWNhbCI7DQoJCXJldHVybiB7DQoJCQl3aWR0aDogZGlyZWN0aW9uID8gImF1dG8iIDogZmFsc2UsDQoJCQljbGFzc2VzOiB7DQoJCQkJbWlkZGxlOiB7DQoJCQkJCSJ1aS1zZWxlY3RtZW51LWJ1dHRvbi1vcGVuIjogIiIsDQoJCQkJCSJ1aS1zZWxlY3RtZW51LWJ1dHRvbi1jbG9zZWQiOiAiIg0KCQkJCX0sDQoJCQkJZmlyc3Q6IHsNCgkJCQkJInVpLXNlbGVjdG1lbnUtYnV0dG9uLW9wZW4iOiAidWktY29ybmVyLSIgKyAoIGRpcmVjdGlvbiA/ICJ0b3AiIDogInRsIiApLA0KCQkJCQkidWktc2VsZWN0bWVudS1idXR0b24tY2xvc2VkIjogInVpLWNvcm5lci0iICsgKCBkaXJlY3Rpb24gPyAidG9wIiA6ICJsZWZ0IiApDQoJCQkJfSwNCgkJCQlsYXN0OiB7DQoJCQkJCSJ1aS1zZWxlY3RtZW51LWJ1dHRvbi1vcGVuIjogZGlyZWN0aW9uID8gIiIgOiAidWktY29ybmVyLXRyIiwNCgkJCQkJInVpLXNlbGVjdG1lbnUtYnV0dG9uLWNsb3NlZCI6ICJ1aS1jb3JuZXItIiArICggZGlyZWN0aW9uID8gImJvdHRvbSIgOiAicmlnaHQiICkNCgkJCQl9LA0KCQkJCW9ubHk6IHsNCgkJCQkJInVpLXNlbGVjdG1lbnUtYnV0dG9uLW9wZW4iOiAidWktY29ybmVyLXRvcCIsDQoJCQkJCSJ1aS1zZWxlY3RtZW51LWJ1dHRvbi1jbG9zZWQiOiAidWktY29ybmVyLWFsbCINCgkJCQl9DQoNCgkJCX1bIHBvc2l0aW9uIF0NCgkJfTsNCgl9LA0KDQoJX3Jlc29sdmVDbGFzc2VzVmFsdWVzOiBmdW5jdGlvbiggY2xhc3NlcywgaW5zdGFuY2UgKSB7DQoJCXZhciByZXN1bHQgPSB7fTsNCgkJJC5lYWNoKCBjbGFzc2VzLCBmdW5jdGlvbigga2V5ICkgew0KCQkJdmFyIGN1cnJlbnQgPSBpbnN0YW5jZS5vcHRpb25zLmNsYXNzZXNbIGtleSBdIHx8ICIiOw0KCQkJY3VycmVudCA9ICQudHJpbSggY3VycmVudC5yZXBsYWNlKCBjb250cm9sZ3JvdXBDb3JuZXJSZWdleCwgIiIgKSApOw0KCQkJcmVzdWx0WyBrZXkgXSA9ICggY3VycmVudCArICIgIiArIGNsYXNzZXNbIGtleSBdICkucmVwbGFjZSggL1xzKy9nLCAiICIgKTsNCgkJfSApOw0KCQlyZXR1cm4gcmVzdWx0Ow0KCX0sDQoNCglfc2V0T3B0aW9uOiBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCgkJaWYgKCBrZXkgPT09ICJkaXJlY3Rpb24iICkgew0KCQkJdGhpcy5fcmVtb3ZlQ2xhc3MoICJ1aS1jb250cm9sZ3JvdXAtIiArIHRoaXMub3B0aW9ucy5kaXJlY3Rpb24gKTsNCgkJfQ0KDQoJCXRoaXMuX3N1cGVyKCBrZXksIHZhbHVlICk7DQoJCWlmICgga2V5ID09PSAiZGlzYWJsZWQiICkgew0KCQkJdGhpcy5fY2FsbENoaWxkTWV0aG9kKCB2YWx1ZSA/ICJkaXNhYmxlIiA6ICJlbmFibGUiICk7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQl0aGlzLnJlZnJlc2goKTsNCgl9LA0KDQoJcmVmcmVzaDogZnVuY3Rpb24oKSB7DQoJCXZhciBjaGlsZHJlbiwNCgkJCXRoYXQgPSB0aGlzOw0KDQoJCXRoaXMuX2FkZENsYXNzKCAidWktY29udHJvbGdyb3VwIHVpLWNvbnRyb2xncm91cC0iICsgdGhpcy5vcHRpb25zLmRpcmVjdGlvbiApOw0KDQoJCWlmICggdGhpcy5vcHRpb25zLmRpcmVjdGlvbiA9PT0gImhvcml6b250YWwiICkgew0KCQkJdGhpcy5fYWRkQ2xhc3MoIG51bGwsICJ1aS1oZWxwZXItY2xlYXJmaXgiICk7DQoJCX0NCgkJdGhpcy5faW5pdFdpZGdldHMoKTsNCg0KCQljaGlsZHJlbiA9IHRoaXMuY2hpbGRXaWRnZXRzOw0KDQoJCS8vIFdlIGZpbHRlciBoZXJlIGJlY2F1c2Ugd2UgbmVlZCB0byB0cmFjayBhbGwgY2hpbGRXaWRnZXRzIG5vdCBqdXN0IHRoZSB2aXNpYmxlIG9uZXMNCgkJaWYgKCB0aGlzLm9wdGlvbnMub25seVZpc2libGUgKSB7DQoJCQljaGlsZHJlbiA9IGNoaWxkcmVuLmZpbHRlciggIjp2aXNpYmxlIiApOw0KCQl9DQoNCgkJaWYgKCBjaGlsZHJlbi5sZW5ndGggKSB7DQoNCgkJCS8vIFdlIGRvIHRoaXMgbGFzdCBiZWNhdXNlIHdlIG5lZWQgdG8gbWFrZSBzdXJlIGFsbCBlbmhhbmNtZW50IGlzIGRvbmUNCgkJCS8vIGJlZm9yZSBkZXRlcm1pbmluZyBmaXJzdCBhbmQgbGFzdA0KCQkJJC5lYWNoKCBbICJmaXJzdCIsICJsYXN0IiBdLCBmdW5jdGlvbiggaW5kZXgsIHZhbHVlICkgew0KCQkJCXZhciBpbnN0YW5jZSA9IGNoaWxkcmVuWyB2YWx1ZSBdKCkuZGF0YSggInVpLWNvbnRyb2xncm91cC1kYXRhIiApOw0KDQoJCQkJaWYgKCBpbnN0YW5jZSAmJiB0aGF0WyAiXyIgKyBpbnN0YW5jZS53aWRnZXROYW1lICsgIk9wdGlvbnMiIF0gKSB7DQoJCQkJCXZhciBvcHRpb25zID0gdGhhdFsgIl8iICsgaW5zdGFuY2Uud2lkZ2V0TmFtZSArICJPcHRpb25zIiBdKA0KCQkJCQkJY2hpbGRyZW4ubGVuZ3RoID09PSAxID8gIm9ubHkiIDogdmFsdWUNCgkJCQkJKTsNCgkJCQkJb3B0aW9ucy5jbGFzc2VzID0gdGhhdC5fcmVzb2x2ZUNsYXNzZXNWYWx1ZXMoIG9wdGlvbnMuY2xhc3NlcywgaW5zdGFuY2UgKTsNCgkJCQkJaW5zdGFuY2UuZWxlbWVudFsgaW5zdGFuY2Uud2lkZ2V0TmFtZSBdKCBvcHRpb25zICk7DQoJCQkJfSBlbHNlIHsNCgkJCQkJdGhhdC5fdXBkYXRlQ29ybmVyQ2xhc3MoIGNoaWxkcmVuWyB2YWx1ZSBdKCksIHZhbHVlICk7DQoJCQkJfQ0KCQkJfSApOw0KDQoJCQkvLyBGaW5hbGx5IGNhbGwgdGhlIHJlZnJlc2ggbWV0aG9kIG9uIGVhY2ggb2YgdGhlIGNoaWxkIHdpZGdldHMuDQoJCQl0aGlzLl9jYWxsQ2hpbGRNZXRob2QoICJyZWZyZXNoIiApOw0KCQl9DQoJfQ0KfSApOw0KDQovKiENCiAqIGpRdWVyeSBVSSBDaGVja2JveHJhZGlvIDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKi8NCg0KLy8+PmxhYmVsOiBDaGVja2JveHJhZGlvDQovLz4+Z3JvdXA6IFdpZGdldHMNCi8vPj5kZXNjcmlwdGlvbjogRW5oYW5jZXMgYSBmb3JtIHdpdGggbXVsdGlwbGUgdGhlbWVhYmxlIGNoZWNrYm94ZXMgb3IgcmFkaW8gYnV0dG9ucy4NCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9jaGVja2JveHJhZGlvLw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL2NoZWNrYm94cmFkaW8vDQovLz4+Y3NzLnN0cnVjdHVyZTogLi4vLi4vdGhlbWVzL2Jhc2UvY29yZS5jc3MNCi8vPj5jc3Muc3RydWN0dXJlOiAuLi8uLi90aGVtZXMvYmFzZS9idXR0b24uY3NzDQovLz4+Y3NzLnN0cnVjdHVyZTogLi4vLi4vdGhlbWVzL2Jhc2UvY2hlY2tib3hyYWRpby5jc3MNCi8vPj5jc3MudGhlbWU6IC4uLy4uL3RoZW1lcy9iYXNlL3RoZW1lLmNzcw0KDQoNCg0KJC53aWRnZXQoICJ1aS5jaGVja2JveHJhZGlvIiwgWyAkLnVpLmZvcm1SZXNldE1peGluLCB7DQoJdmVyc2lvbjogIjEuMTIuMSIsDQoJb3B0aW9uczogew0KCQlkaXNhYmxlZDogbnVsbCwNCgkJbGFiZWw6IG51bGwsDQoJCWljb246IHRydWUsDQoJCWNsYXNzZXM6IHsNCgkJCSJ1aS1jaGVja2JveHJhZGlvLWxhYmVsIjogInVpLWNvcm5lci1hbGwiLA0KCQkJInVpLWNoZWNrYm94cmFkaW8taWNvbiI6ICJ1aS1jb3JuZXItYWxsIg0KCQl9DQoJfSwNCg0KCV9nZXRDcmVhdGVPcHRpb25zOiBmdW5jdGlvbigpIHsNCgkJdmFyIGRpc2FibGVkLCBsYWJlbHM7DQoJCXZhciB0aGF0ID0gdGhpczsNCgkJdmFyIG9wdGlvbnMgPSB0aGlzLl9zdXBlcigpIHx8IHt9Ow0KDQoJCS8vIFdlIHJlYWQgdGhlIHR5cGUgaGVyZSwgYmVjYXVzZSBpdCBtYWtlcyBtb3JlIHNlbnNlIHRvIHRocm93IGEgZWxlbWVudCB0eXBlIGVycm9yIGZpcnN0LA0KCQkvLyByYXRoZXIgdGhlbiB0aGUgZXJyb3IgZm9yIGxhY2sgb2YgYSBsYWJlbC4gT2Z0ZW4gaWYgaXRzIHRoZSB3cm9uZyB0eXBlLCBpdA0KCQkvLyB3b24ndCBoYXZlIGEgbGFiZWwgKGUuZy4gY2FsbGluZyBvbiBhIGRpdiwgYnRuLCBldGMpDQoJCXRoaXMuX3JlYWRUeXBlKCk7DQoNCgkJbGFiZWxzID0gdGhpcy5lbGVtZW50LmxhYmVscygpOw0KDQoJCS8vIElmIHRoZXJlIGFyZSBtdWx0aXBsZSBsYWJlbHMsIHVzZSB0aGUgbGFzdCBvbmUNCgkJdGhpcy5sYWJlbCA9ICQoIGxhYmVsc1sgbGFiZWxzLmxlbmd0aCAtIDEgXSApOw0KCQlpZiAoICF0aGlzLmxhYmVsLmxlbmd0aCApIHsNCgkJCSQuZXJyb3IoICJObyBsYWJlbCBmb3VuZCBmb3IgY2hlY2tib3hyYWRpbyB3aWRnZXQiICk7DQoJCX0NCg0KCQl0aGlzLm9yaWdpbmFsTGFiZWwgPSAiIjsNCg0KCQkvLyBXZSBuZWVkIHRvIGdldCB0aGUgbGFiZWwgdGV4dCBidXQgdGhpcyBtYXkgYWxzbyBuZWVkIHRvIG1ha2Ugc3VyZSBpdCBkb2VzIG5vdCBjb250YWluIHRoZQ0KCQkvLyBpbnB1dCBpdHNlbGYuDQoJCXRoaXMubGFiZWwuY29udGVudHMoKS5ub3QoIHRoaXMuZWxlbWVudFsgMCBdICkuZWFjaCggZnVuY3Rpb24oKSB7DQoNCgkJCS8vIFRoZSBsYWJlbCBjb250ZW50cyBjb3VsZCBiZSB0ZXh0LCBodG1sLCBvciBhIG1peC4gV2UgY29uY2F0IGVhY2ggZWxlbWVudCB0byBnZXQgYQ0KCQkJLy8gc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBsYWJlbCwgd2l0aG91dCB0aGUgaW5wdXQgYXMgcGFydCBvZiBpdC4NCgkJCXRoYXQub3JpZ2luYWxMYWJlbCArPSB0aGlzLm5vZGVUeXBlID09PSAzID8gJCggdGhpcyApLnRleHQoKSA6IHRoaXMub3V0ZXJIVE1MOw0KCQl9ICk7DQoNCgkJLy8gU2V0IHRoZSBsYWJlbCBvcHRpb24gaWYgd2UgZm91bmQgbGFiZWwgdGV4dA0KCQlpZiAoIHRoaXMub3JpZ2luYWxMYWJlbCApIHsNCgkJCW9wdGlvbnMubGFiZWwgPSB0aGlzLm9yaWdpbmFsTGFiZWw7DQoJCX0NCg0KCQlkaXNhYmxlZCA9IHRoaXMuZWxlbWVudFsgMCBdLmRpc2FibGVkOw0KCQlpZiAoIGRpc2FibGVkICE9IG51bGwgKSB7DQoJCQlvcHRpb25zLmRpc2FibGVkID0gZGlzYWJsZWQ7DQoJCX0NCgkJcmV0dXJuIG9wdGlvbnM7DQoJfSwNCg0KCV9jcmVhdGU6IGZ1bmN0aW9uKCkgew0KCQl2YXIgY2hlY2tlZCA9IHRoaXMuZWxlbWVudFsgMCBdLmNoZWNrZWQ7DQoNCgkJdGhpcy5fYmluZEZvcm1SZXNldEhhbmRsZXIoKTsNCg0KCQlpZiAoIHRoaXMub3B0aW9ucy5kaXNhYmxlZCA9PSBudWxsICkgew0KCQkJdGhpcy5vcHRpb25zLmRpc2FibGVkID0gdGhpcy5lbGVtZW50WyAwIF0uZGlzYWJsZWQ7DQoJCX0NCg0KCQl0aGlzLl9zZXRPcHRpb24oICJkaXNhYmxlZCIsIHRoaXMub3B0aW9ucy5kaXNhYmxlZCApOw0KCQl0aGlzLl9hZGRDbGFzcyggInVpLWNoZWNrYm94cmFkaW8iLCAidWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIiApOw0KCQl0aGlzLl9hZGRDbGFzcyggdGhpcy5sYWJlbCwgInVpLWNoZWNrYm94cmFkaW8tbGFiZWwiLCAidWktYnV0dG9uIHVpLXdpZGdldCIgKTsNCg0KCQlpZiAoIHRoaXMudHlwZSA9PT0gInJhZGlvIiApIHsNCgkJCXRoaXMuX2FkZENsYXNzKCB0aGlzLmxhYmVsLCAidWktY2hlY2tib3hyYWRpby1yYWRpby1sYWJlbCIgKTsNCgkJfQ0KDQoJCWlmICggdGhpcy5vcHRpb25zLmxhYmVsICYmIHRoaXMub3B0aW9ucy5sYWJlbCAhPT0gdGhpcy5vcmlnaW5hbExhYmVsICkgew0KCQkJdGhpcy5fdXBkYXRlTGFiZWwoKTsNCgkJfSBlbHNlIGlmICggdGhpcy5vcmlnaW5hbExhYmVsICkgew0KCQkJdGhpcy5vcHRpb25zLmxhYmVsID0gdGhpcy5vcmlnaW5hbExhYmVsOw0KCQl9DQoNCgkJdGhpcy5fZW5oYW5jZSgpOw0KDQoJCWlmICggY2hlY2tlZCApIHsNCgkJCXRoaXMuX2FkZENsYXNzKCB0aGlzLmxhYmVsLCAidWktY2hlY2tib3hyYWRpby1jaGVja2VkIiwgInVpLXN0YXRlLWFjdGl2ZSIgKTsNCgkJCWlmICggdGhpcy5pY29uICkgew0KCQkJCXRoaXMuX2FkZENsYXNzKCB0aGlzLmljb24sIG51bGwsICJ1aS1zdGF0ZS1ob3ZlciIgKTsNCgkJCX0NCgkJfQ0KDQoJCXRoaXMuX29uKCB7DQoJCQljaGFuZ2U6ICJfdG9nZ2xlQ2xhc3NlcyIsDQoJCQlmb2N1czogZnVuY3Rpb24oKSB7DQoJCQkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMubGFiZWwsIG51bGwsICJ1aS1zdGF0ZS1mb2N1cyB1aS12aXN1YWwtZm9jdXMiICk7DQoJCQl9LA0KCQkJYmx1cjogZnVuY3Rpb24oKSB7DQoJCQkJdGhpcy5fcmVtb3ZlQ2xhc3MoIHRoaXMubGFiZWwsIG51bGwsICJ1aS1zdGF0ZS1mb2N1cyB1aS12aXN1YWwtZm9jdXMiICk7DQoJCQl9DQoJCX0gKTsNCgl9LA0KDQoJX3JlYWRUeXBlOiBmdW5jdGlvbigpIHsNCgkJdmFyIG5vZGVOYW1lID0gdGhpcy5lbGVtZW50WyAwIF0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKTsNCgkJdGhpcy50eXBlID0gdGhpcy5lbGVtZW50WyAwIF0udHlwZTsNCgkJaWYgKCBub2RlTmFtZSAhPT0gImlucHV0IiB8fCAhL3JhZGlvfGNoZWNrYm94Ly50ZXN0KCB0aGlzLnR5cGUgKSApIHsNCgkJCSQuZXJyb3IoICJDYW4ndCBjcmVhdGUgY2hlY2tib3hyYWRpbyBvbiBlbGVtZW50Lm5vZGVOYW1lPSIgKyBub2RlTmFtZSArDQoJCQkJIiBhbmQgZWxlbWVudC50eXBlPSIgKyB0aGlzLnR5cGUgKTsNCgkJfQ0KCX0sDQoNCgkvLyBTdXBwb3J0IGpRdWVyeSBNb2JpbGUgZW5oYW5jZWQgb3B0aW9uDQoJX2VuaGFuY2U6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLl91cGRhdGVJY29uKCB0aGlzLmVsZW1lbnRbIDAgXS5jaGVja2VkICk7DQoJfSwNCg0KCXdpZGdldDogZnVuY3Rpb24oKSB7DQoJCXJldHVybiB0aGlzLmxhYmVsOw0KCX0sDQoNCglfZ2V0UmFkaW9Hcm91cDogZnVuY3Rpb24oKSB7DQoJCXZhciBncm91cDsNCgkJdmFyIG5hbWUgPSB0aGlzLmVsZW1lbnRbIDAgXS5uYW1lOw0KCQl2YXIgbmFtZVNlbGVjdG9yID0gImlucHV0W25hbWU9JyIgKyAkLnVpLmVzY2FwZVNlbGVjdG9yKCBuYW1lICkgKyAiJ10iOw0KDQoJCWlmICggIW5hbWUgKSB7DQoJCQlyZXR1cm4gJCggW10gKTsNCgkJfQ0KDQoJCWlmICggdGhpcy5mb3JtLmxlbmd0aCApIHsNCgkJCWdyb3VwID0gJCggdGhpcy5mb3JtWyAwIF0uZWxlbWVudHMgKS5maWx0ZXIoIG5hbWVTZWxlY3RvciApOw0KCQl9IGVsc2Ugew0KDQoJCQkvLyBOb3QgaW5zaWRlIGEgZm9ybSwgY2hlY2sgYWxsIGlucHV0cyB0aGF0IGFsc28gYXJlIG5vdCBpbnNpZGUgYSBmb3JtDQoJCQlncm91cCA9ICQoIG5hbWVTZWxlY3RvciApLmZpbHRlciggZnVuY3Rpb24oKSB7DQoJCQkJcmV0dXJuICQoIHRoaXMgKS5mb3JtKCkubGVuZ3RoID09PSAwOw0KCQkJfSApOw0KCQl9DQoNCgkJcmV0dXJuIGdyb3VwLm5vdCggdGhpcy5lbGVtZW50ICk7DQoJfSwNCg0KCV90b2dnbGVDbGFzc2VzOiBmdW5jdGlvbigpIHsNCgkJdmFyIGNoZWNrZWQgPSB0aGlzLmVsZW1lbnRbIDAgXS5jaGVja2VkOw0KCQl0aGlzLl90b2dnbGVDbGFzcyggdGhpcy5sYWJlbCwgInVpLWNoZWNrYm94cmFkaW8tY2hlY2tlZCIsICJ1aS1zdGF0ZS1hY3RpdmUiLCBjaGVja2VkICk7DQoNCgkJaWYgKCB0aGlzLm9wdGlvbnMuaWNvbiAmJiB0aGlzLnR5cGUgPT09ICJjaGVja2JveCIgKSB7DQoJCQl0aGlzLl90b2dnbGVDbGFzcyggdGhpcy5pY29uLCBudWxsLCAidWktaWNvbi1jaGVjayB1aS1zdGF0ZS1jaGVja2VkIiwgY2hlY2tlZCApDQoJCQkJLl90b2dnbGVDbGFzcyggdGhpcy5pY29uLCBudWxsLCAidWktaWNvbi1ibGFuayIsICFjaGVja2VkICk7DQoJCX0NCg0KCQlpZiAoIHRoaXMudHlwZSA9PT0gInJhZGlvIiApIHsNCgkJCXRoaXMuX2dldFJhZGlvR3JvdXAoKQ0KCQkJCS5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCQkJdmFyIGluc3RhbmNlID0gJCggdGhpcyApLmNoZWNrYm94cmFkaW8oICJpbnN0YW5jZSIgKTsNCg0KCQkJCQlpZiAoIGluc3RhbmNlICkgew0KCQkJCQkJaW5zdGFuY2UuX3JlbW92ZUNsYXNzKCBpbnN0YW5jZS5sYWJlbCwNCgkJCQkJCQkidWktY2hlY2tib3hyYWRpby1jaGVja2VkIiwgInVpLXN0YXRlLWFjdGl2ZSIgKTsNCgkJCQkJfQ0KCQkJCX0gKTsNCgkJfQ0KCX0sDQoNCglfZGVzdHJveTogZnVuY3Rpb24oKSB7DQoJCXRoaXMuX3VuYmluZEZvcm1SZXNldEhhbmRsZXIoKTsNCg0KCQlpZiAoIHRoaXMuaWNvbiApIHsNCgkJCXRoaXMuaWNvbi5yZW1vdmUoKTsNCgkJCXRoaXMuaWNvblNwYWNlLnJlbW92ZSgpOw0KCQl9DQoJfSwNCg0KCV9zZXRPcHRpb246IGZ1bmN0aW9uKCBrZXksIHZhbHVlICkgew0KDQoJCS8vIFdlIGRvbid0IGFsbG93IHRoZSB2YWx1ZSB0byBiZSBzZXQgdG8gbm90aGluZw0KCQlpZiAoIGtleSA9PT0gImxhYmVsIiAmJiAhdmFsdWUgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQl0aGlzLl9zdXBlcigga2V5LCB2YWx1ZSApOw0KDQoJCWlmICgga2V5ID09PSAiZGlzYWJsZWQiICkgew0KCQkJdGhpcy5fdG9nZ2xlQ2xhc3MoIHRoaXMubGFiZWwsIG51bGwsICJ1aS1zdGF0ZS1kaXNhYmxlZCIsIHZhbHVlICk7DQoJCQl0aGlzLmVsZW1lbnRbIDAgXS5kaXNhYmxlZCA9IHZhbHVlOw0KDQoJCQkvLyBEb24ndCByZWZyZXNoIHdoZW4gc2V0dGluZyBkaXNhYmxlZA0KCQkJcmV0dXJuOw0KCQl9DQoJCXRoaXMucmVmcmVzaCgpOw0KCX0sDQoNCglfdXBkYXRlSWNvbjogZnVuY3Rpb24oIGNoZWNrZWQgKSB7DQoJCXZhciB0b0FkZCA9ICJ1aS1pY29uIHVpLWljb24tYmFja2dyb3VuZCAiOw0KDQoJCWlmICggdGhpcy5vcHRpb25zLmljb24gKSB7DQoJCQlpZiAoICF0aGlzLmljb24gKSB7DQoJCQkJdGhpcy5pY29uID0gJCggIjxzcGFuPiIgKTsNCgkJCQl0aGlzLmljb25TcGFjZSA9ICQoICI8c3Bhbj4gPC9zcGFuPiIgKTsNCgkJCQl0aGlzLl9hZGRDbGFzcyggdGhpcy5pY29uU3BhY2UsICJ1aS1jaGVja2JveHJhZGlvLWljb24tc3BhY2UiICk7DQoJCQl9DQoNCgkJCWlmICggdGhpcy50eXBlID09PSAiY2hlY2tib3giICkgew0KCQkJCXRvQWRkICs9IGNoZWNrZWQgPyAidWktaWNvbi1jaGVjayB1aS1zdGF0ZS1jaGVja2VkIiA6ICJ1aS1pY29uLWJsYW5rIjsNCgkJCQl0aGlzLl9yZW1vdmVDbGFzcyggdGhpcy5pY29uLCBudWxsLCBjaGVja2VkID8gInVpLWljb24tYmxhbmsiIDogInVpLWljb24tY2hlY2siICk7DQoJCQl9IGVsc2Ugew0KCQkJCXRvQWRkICs9ICJ1aS1pY29uLWJsYW5rIjsNCgkJCX0NCgkJCXRoaXMuX2FkZENsYXNzKCB0aGlzLmljb24sICJ1aS1jaGVja2JveHJhZGlvLWljb24iLCB0b0FkZCApOw0KCQkJaWYgKCAhY2hlY2tlZCApIHsNCgkJCQl0aGlzLl9yZW1vdmVDbGFzcyggdGhpcy5pY29uLCBudWxsLCAidWktaWNvbi1jaGVjayB1aS1zdGF0ZS1jaGVja2VkIiApOw0KCQkJfQ0KCQkJdGhpcy5pY29uLnByZXBlbmRUbyggdGhpcy5sYWJlbCApLmFmdGVyKCB0aGlzLmljb25TcGFjZSApOw0KCQl9IGVsc2UgaWYgKCB0aGlzLmljb24gIT09IHVuZGVmaW5lZCApIHsNCgkJCXRoaXMuaWNvbi5yZW1vdmUoKTsNCgkJCXRoaXMuaWNvblNwYWNlLnJlbW92ZSgpOw0KCQkJZGVsZXRlIHRoaXMuaWNvbjsNCgkJfQ0KCX0sDQoNCglfdXBkYXRlTGFiZWw6IGZ1bmN0aW9uKCkgew0KDQoJCS8vIFJlbW92ZSB0aGUgY29udGVudHMgb2YgdGhlIGxhYmVsICggbWludXMgdGhlIGljb24sIGljb24gc3BhY2UsIGFuZCBpbnB1dCApDQoJCXZhciBjb250ZW50cyA9IHRoaXMubGFiZWwuY29udGVudHMoKS5ub3QoIHRoaXMuZWxlbWVudFsgMCBdICk7DQoJCWlmICggdGhpcy5pY29uICkgew0KCQkJY29udGVudHMgPSBjb250ZW50cy5ub3QoIHRoaXMuaWNvblsgMCBdICk7DQoJCX0NCgkJaWYgKCB0aGlzLmljb25TcGFjZSApIHsNCgkJCWNvbnRlbnRzID0gY29udGVudHMubm90KCB0aGlzLmljb25TcGFjZVsgMCBdICk7DQoJCX0NCgkJY29udGVudHMucmVtb3ZlKCk7DQoNCgkJdGhpcy5sYWJlbC5hcHBlbmQoIHRoaXMub3B0aW9ucy5sYWJlbCApOw0KCX0sDQoNCglyZWZyZXNoOiBmdW5jdGlvbigpIHsNCgkJdmFyIGNoZWNrZWQgPSB0aGlzLmVsZW1lbnRbIDAgXS5jaGVja2VkLA0KCQkJaXNEaXNhYmxlZCA9IHRoaXMuZWxlbWVudFsgMCBdLmRpc2FibGVkOw0KDQoJCXRoaXMuX3VwZGF0ZUljb24oIGNoZWNrZWQgKTsNCgkJdGhpcy5fdG9nZ2xlQ2xhc3MoIHRoaXMubGFiZWwsICJ1aS1jaGVja2JveHJhZGlvLWNoZWNrZWQiLCAidWktc3RhdGUtYWN0aXZlIiwgY2hlY2tlZCApOw0KCQlpZiAoIHRoaXMub3B0aW9ucy5sYWJlbCAhPT0gbnVsbCApIHsNCgkJCXRoaXMuX3VwZGF0ZUxhYmVsKCk7DQoJCX0NCg0KCQlpZiAoIGlzRGlzYWJsZWQgIT09IHRoaXMub3B0aW9ucy5kaXNhYmxlZCApIHsNCgkJCXRoaXMuX3NldE9wdGlvbnMoIHsgImRpc2FibGVkIjogaXNEaXNhYmxlZCB9ICk7DQoJCX0NCgl9DQoNCn0gXSApOw0KDQp2YXIgd2lkZ2V0c0NoZWNrYm94cmFkaW8gPSAkLnVpLmNoZWNrYm94cmFkaW87DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgQnV0dG9uIDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKi8NCg0KLy8+PmxhYmVsOiBCdXR0b24NCi8vPj5ncm91cDogV2lkZ2V0cw0KLy8+PmRlc2NyaXB0aW9uOiBFbmhhbmNlcyBhIGZvcm0gd2l0aCB0aGVtZWFibGUgYnV0dG9ucy4NCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9idXR0b24vDQovLz4+ZGVtb3M6IGh0dHA6Ly9qcXVlcnl1aS5jb20vYnV0dG9uLw0KLy8+PmNzcy5zdHJ1Y3R1cmU6IC4uLy4uL3RoZW1lcy9iYXNlL2NvcmUuY3NzDQovLz4+Y3NzLnN0cnVjdHVyZTogLi4vLi4vdGhlbWVzL2Jhc2UvYnV0dG9uLmNzcw0KLy8+PmNzcy50aGVtZTogLi4vLi4vdGhlbWVzL2Jhc2UvdGhlbWUuY3NzDQoNCg0KDQokLndpZGdldCggInVpLmJ1dHRvbiIsIHsNCgl2ZXJzaW9uOiAiMS4xMi4xIiwNCglkZWZhdWx0RWxlbWVudDogIjxidXR0b24+IiwNCglvcHRpb25zOiB7DQoJCWNsYXNzZXM6IHsNCgkJCSJ1aS1idXR0b24iOiAidWktY29ybmVyLWFsbCINCgkJfSwNCgkJZGlzYWJsZWQ6IG51bGwsDQoJCWljb246IG51bGwsDQoJCWljb25Qb3NpdGlvbjogImJlZ2lubmluZyIsDQoJCWxhYmVsOiBudWxsLA0KCQlzaG93TGFiZWw6IHRydWUNCgl9LA0KDQoJX2dldENyZWF0ZU9wdGlvbnM6IGZ1bmN0aW9uKCkgew0KCQl2YXIgZGlzYWJsZWQsDQoNCgkJCS8vIFRoaXMgaXMgdG8gc3VwcG9ydCBjYXNlcyBsaWtlIGluIGpRdWVyeSBNb2JpbGUgd2hlcmUgdGhlIGJhc2Ugd2lkZ2V0IGRvZXMgaGF2ZQ0KCQkJLy8gYW4gaW1wbGVtZW50YXRpb24gb2YgX2dldENyZWF0ZU9wdGlvbnMNCgkJCW9wdGlvbnMgPSB0aGlzLl9zdXBlcigpIHx8IHt9Ow0KDQoJCXRoaXMuaXNJbnB1dCA9IHRoaXMuZWxlbWVudC5pcyggImlucHV0IiApOw0KDQoJCWRpc2FibGVkID0gdGhpcy5lbGVtZW50WyAwIF0uZGlzYWJsZWQ7DQoJCWlmICggZGlzYWJsZWQgIT0gbnVsbCApIHsNCgkJCW9wdGlvbnMuZGlzYWJsZWQgPSBkaXNhYmxlZDsNCgkJfQ0KDQoJCXRoaXMub3JpZ2luYWxMYWJlbCA9IHRoaXMuaXNJbnB1dCA/IHRoaXMuZWxlbWVudC52YWwoKSA6IHRoaXMuZWxlbWVudC5odG1sKCk7DQoJCWlmICggdGhpcy5vcmlnaW5hbExhYmVsICkgew0KCQkJb3B0aW9ucy5sYWJlbCA9IHRoaXMub3JpZ2luYWxMYWJlbDsNCgkJfQ0KDQoJCXJldHVybiBvcHRpb25zOw0KCX0sDQoNCglfY3JlYXRlOiBmdW5jdGlvbigpIHsNCgkJaWYgKCAhdGhpcy5vcHRpb24uc2hvd0xhYmVsICYgIXRoaXMub3B0aW9ucy5pY29uICkgew0KCQkJdGhpcy5vcHRpb25zLnNob3dMYWJlbCA9IHRydWU7DQoJCX0NCg0KCQkvLyBXZSBoYXZlIHRvIGNoZWNrIHRoZSBvcHRpb24gYWdhaW4gaGVyZSBldmVuIHRob3VnaCB3ZSBkaWQgaW4gX2dldENyZWF0ZU9wdGlvbnMsDQoJCS8vIGJlY2F1c2UgbnVsbCBtYXkgaGF2ZSBiZWVuIHBhc3NlZCBvbiBpbml0IHdoaWNoIHdvdWxkIG92ZXJyaWRlIHdoYXQgd2FzIHNldCBpbg0KCQkvLyBfZ2V0Q3JlYXRlT3B0aW9ucw0KCQlpZiAoIHRoaXMub3B0aW9ucy5kaXNhYmxlZCA9PSBudWxsICkgew0KCQkJdGhpcy5vcHRpb25zLmRpc2FibGVkID0gdGhpcy5lbGVtZW50WyAwIF0uZGlzYWJsZWQgfHwgZmFsc2U7DQoJCX0NCg0KCQl0aGlzLmhhc1RpdGxlID0gISF0aGlzLmVsZW1lbnQuYXR0ciggInRpdGxlIiApOw0KDQoJCS8vIENoZWNrIHRvIHNlZSBpZiB0aGUgbGFiZWwgbmVlZHMgdG8gYmUgc2V0IG9yIGlmIGl0cyBhbHJlYWR5IGNvcnJlY3QNCgkJaWYgKCB0aGlzLm9wdGlvbnMubGFiZWwgJiYgdGhpcy5vcHRpb25zLmxhYmVsICE9PSB0aGlzLm9yaWdpbmFsTGFiZWwgKSB7DQoJCQlpZiAoIHRoaXMuaXNJbnB1dCApIHsNCgkJCQl0aGlzLmVsZW1lbnQudmFsKCB0aGlzLm9wdGlvbnMubGFiZWwgKTsNCgkJCX0gZWxzZSB7DQoJCQkJdGhpcy5lbGVtZW50Lmh0bWwoIHRoaXMub3B0aW9ucy5sYWJlbCApOw0KCQkJfQ0KCQl9DQoJCXRoaXMuX2FkZENsYXNzKCAidWktYnV0dG9uIiwgInVpLXdpZGdldCIgKTsNCgkJdGhpcy5fc2V0T3B0aW9uKCAiZGlzYWJsZWQiLCB0aGlzLm9wdGlvbnMuZGlzYWJsZWQgKTsNCgkJdGhpcy5fZW5oYW5jZSgpOw0KDQoJCWlmICggdGhpcy5lbGVtZW50LmlzKCAiYSIgKSApIHsNCgkJCXRoaXMuX29uKCB7DQoJCQkJImtleXVwIjogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCQlpZiAoIGV2ZW50LmtleUNvZGUgPT09ICQudWkua2V5Q29kZS5TUEFDRSApIHsNCgkJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoNCgkJCQkJCS8vIFN1cHBvcnQ6IFBoYW50b21KUyA8PSAxLjksIElFIDggT25seQ0KCQkJCQkJLy8gSWYgYSBuYXRpdmUgY2xpY2sgaXMgYXZhaWxhYmxlIHVzZSBpdCBzbyB3ZSBhY3R1YWxseSBjYXVzZSBuYXZpZ2F0aW9uDQoJCQkJCQkvLyBvdGhlcndpc2UganVzdCB0cmlnZ2VyIGEgY2xpY2sgZXZlbnQNCgkJCQkJCWlmICggdGhpcy5lbGVtZW50WyAwIF0uY2xpY2sgKSB7DQoJCQkJCQkJdGhpcy5lbGVtZW50WyAwIF0uY2xpY2soKTsNCgkJCQkJCX0gZWxzZSB7DQoJCQkJCQkJdGhpcy5lbGVtZW50LnRyaWdnZXIoICJjbGljayIgKTsNCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCX0NCgkJCX0gKTsNCgkJfQ0KCX0sDQoNCglfZW5oYW5jZTogZnVuY3Rpb24oKSB7DQoJCWlmICggIXRoaXMuZWxlbWVudC5pcyggImJ1dHRvbiIgKSApIHsNCgkJCXRoaXMuZWxlbWVudC5hdHRyKCAicm9sZSIsICJidXR0b24iICk7DQoJCX0NCg0KCQlpZiAoIHRoaXMub3B0aW9ucy5pY29uICkgew0KCQkJdGhpcy5fdXBkYXRlSWNvbiggImljb24iLCB0aGlzLm9wdGlvbnMuaWNvbiApOw0KCQkJdGhpcy5fdXBkYXRlVG9vbHRpcCgpOw0KCQl9DQoJfSwNCg0KCV91cGRhdGVUb29sdGlwOiBmdW5jdGlvbigpIHsNCgkJdGhpcy50aXRsZSA9IHRoaXMuZWxlbWVudC5hdHRyKCAidGl0bGUiICk7DQoNCgkJaWYgKCAhdGhpcy5vcHRpb25zLnNob3dMYWJlbCAmJiAhdGhpcy50aXRsZSApIHsNCgkJCXRoaXMuZWxlbWVudC5hdHRyKCAidGl0bGUiLCB0aGlzLm9wdGlvbnMubGFiZWwgKTsNCgkJfQ0KCX0sDQoNCglfdXBkYXRlSWNvbjogZnVuY3Rpb24oIG9wdGlvbiwgdmFsdWUgKSB7DQoJCXZhciBpY29uID0gb3B0aW9uICE9PSAiaWNvblBvc2l0aW9uIiwNCgkJCXBvc2l0aW9uID0gaWNvbiA/IHRoaXMub3B0aW9ucy5pY29uUG9zaXRpb24gOiB2YWx1ZSwNCgkJCWRpc3BsYXlCbG9jayA9IHBvc2l0aW9uID09PSAidG9wIiB8fCBwb3NpdGlvbiA9PT0gImJvdHRvbSI7DQoNCgkJLy8gQ3JlYXRlIGljb24NCgkJaWYgKCAhdGhpcy5pY29uICkgew0KCQkJdGhpcy5pY29uID0gJCggIjxzcGFuPiIgKTsNCg0KCQkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMuaWNvbiwgInVpLWJ1dHRvbi1pY29uIiwgInVpLWljb24iICk7DQoNCgkJCWlmICggIXRoaXMub3B0aW9ucy5zaG93TGFiZWwgKSB7DQoJCQkJdGhpcy5fYWRkQ2xhc3MoICJ1aS1idXR0b24taWNvbi1vbmx5IiApOw0KCQkJfQ0KCQl9IGVsc2UgaWYgKCBpY29uICkgew0KDQoJCQkvLyBJZiB3ZSBhcmUgdXBkYXRpbmcgdGhlIGljb24gcmVtb3ZlIHRoZSBvbGQgaWNvbiBjbGFzcw0KCQkJdGhpcy5fcmVtb3ZlQ2xhc3MoIHRoaXMuaWNvbiwgbnVsbCwgdGhpcy5vcHRpb25zLmljb24gKTsNCgkJfQ0KDQoJCS8vIElmIHdlIGFyZSB1cGRhdGluZyB0aGUgaWNvbiBhZGQgdGhlIG5ldyBpY29uIGNsYXNzDQoJCWlmICggaWNvbiApIHsNCgkJCXRoaXMuX2FkZENsYXNzKCB0aGlzLmljb24sIG51bGwsIHZhbHVlICk7DQoJCX0NCg0KCQl0aGlzLl9hdHRhY2hJY29uKCBwb3NpdGlvbiApOw0KDQoJCS8vIElmIHRoZSBpY29uIGlzIG9uIHRvcCBvciBib3R0b20gd2UgbmVlZCB0byBhZGQgdGhlIHVpLXdpZGdldC1pY29uLWJsb2NrIGNsYXNzIGFuZCByZW1vdmUNCgkJLy8gdGhlIGljb25TcGFjZSBpZiB0aGVyZSBpcyBvbmUuDQoJCWlmICggZGlzcGxheUJsb2NrICkgew0KCQkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMuaWNvbiwgbnVsbCwgInVpLXdpZGdldC1pY29uLWJsb2NrIiApOw0KCQkJaWYgKCB0aGlzLmljb25TcGFjZSApIHsNCgkJCQl0aGlzLmljb25TcGFjZS5yZW1vdmUoKTsNCgkJCX0NCgkJfSBlbHNlIHsNCg0KCQkJLy8gUG9zaXRpb24gaXMgYmVnaW5uaW5nIG9yIGVuZCBzbyByZW1vdmUgdGhlIHVpLXdpZGdldC1pY29uLWJsb2NrIGNsYXNzIGFuZCBhZGQgdGhlDQoJCQkvLyBzcGFjZSBpZiBpdCBkb2VzIG5vdCBleGlzdA0KCQkJaWYgKCAhdGhpcy5pY29uU3BhY2UgKSB7DQoJCQkJdGhpcy5pY29uU3BhY2UgPSAkKCAiPHNwYW4+IDwvc3Bhbj4iICk7DQoJCQkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMuaWNvblNwYWNlLCAidWktYnV0dG9uLWljb24tc3BhY2UiICk7DQoJCQl9DQoJCQl0aGlzLl9yZW1vdmVDbGFzcyggdGhpcy5pY29uLCBudWxsLCAidWktd2lnZXQtaWNvbi1ibG9jayIgKTsNCgkJCXRoaXMuX2F0dGFjaEljb25TcGFjZSggcG9zaXRpb24gKTsNCgkJfQ0KCX0sDQoNCglfZGVzdHJveTogZnVuY3Rpb24oKSB7DQoJCXRoaXMuZWxlbWVudC5yZW1vdmVBdHRyKCAicm9sZSIgKTsNCg0KCQlpZiAoIHRoaXMuaWNvbiApIHsNCgkJCXRoaXMuaWNvbi5yZW1vdmUoKTsNCgkJfQ0KCQlpZiAoIHRoaXMuaWNvblNwYWNlICkgew0KCQkJdGhpcy5pY29uU3BhY2UucmVtb3ZlKCk7DQoJCX0NCgkJaWYgKCAhdGhpcy5oYXNUaXRsZSApIHsNCgkJCXRoaXMuZWxlbWVudC5yZW1vdmVBdHRyKCAidGl0bGUiICk7DQoJCX0NCgl9LA0KDQoJX2F0dGFjaEljb25TcGFjZTogZnVuY3Rpb24oIGljb25Qb3NpdGlvbiApIHsNCgkJdGhpcy5pY29uWyAvXig/OmVuZHxib3R0b20pLy50ZXN0KCBpY29uUG9zaXRpb24gKSA/ICJiZWZvcmUiIDogImFmdGVyIiBdKCB0aGlzLmljb25TcGFjZSApOw0KCX0sDQoNCglfYXR0YWNoSWNvbjogZnVuY3Rpb24oIGljb25Qb3NpdGlvbiApIHsNCgkJdGhpcy5lbGVtZW50WyAvXig/OmVuZHxib3R0b20pLy50ZXN0KCBpY29uUG9zaXRpb24gKSA/ICJhcHBlbmQiIDogInByZXBlbmQiIF0oIHRoaXMuaWNvbiApOw0KCX0sDQoNCglfc2V0T3B0aW9uczogZnVuY3Rpb24oIG9wdGlvbnMgKSB7DQoJCXZhciBuZXdTaG93TGFiZWwgPSBvcHRpb25zLnNob3dMYWJlbCA9PT0gdW5kZWZpbmVkID8NCgkJCQl0aGlzLm9wdGlvbnMuc2hvd0xhYmVsIDoNCgkJCQlvcHRpb25zLnNob3dMYWJlbCwNCgkJCW5ld0ljb24gPSBvcHRpb25zLmljb24gPT09IHVuZGVmaW5lZCA/IHRoaXMub3B0aW9ucy5pY29uIDogb3B0aW9ucy5pY29uOw0KDQoJCWlmICggIW5ld1Nob3dMYWJlbCAmJiAhbmV3SWNvbiApIHsNCgkJCW9wdGlvbnMuc2hvd0xhYmVsID0gdHJ1ZTsNCgkJfQ0KCQl0aGlzLl9zdXBlciggb3B0aW9ucyApOw0KCX0sDQoNCglfc2V0T3B0aW9uOiBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCgkJaWYgKCBrZXkgPT09ICJpY29uIiApIHsNCgkJCWlmICggdmFsdWUgKSB7DQoJCQkJdGhpcy5fdXBkYXRlSWNvbigga2V5LCB2YWx1ZSApOw0KCQkJfSBlbHNlIGlmICggdGhpcy5pY29uICkgew0KCQkJCXRoaXMuaWNvbi5yZW1vdmUoKTsNCgkJCQlpZiAoIHRoaXMuaWNvblNwYWNlICkgew0KCQkJCQl0aGlzLmljb25TcGFjZS5yZW1vdmUoKTsNCgkJCQl9DQoJCQl9DQoJCX0NCg0KCQlpZiAoIGtleSA9PT0gImljb25Qb3NpdGlvbiIgKSB7DQoJCQl0aGlzLl91cGRhdGVJY29uKCBrZXksIHZhbHVlICk7DQoJCX0NCg0KCQkvLyBNYWtlIHN1cmUgd2UgY2FuJ3QgZW5kIHVwIHdpdGggYSBidXR0b24gdGhhdCBoYXMgbmVpdGhlciB0ZXh0IG5vciBpY29uDQoJCWlmICgga2V5ID09PSAic2hvd0xhYmVsIiApIHsNCgkJCQl0aGlzLl90b2dnbGVDbGFzcyggInVpLWJ1dHRvbi1pY29uLW9ubHkiLCBudWxsLCAhdmFsdWUgKTsNCgkJCQl0aGlzLl91cGRhdGVUb29sdGlwKCk7DQoJCX0NCg0KCQlpZiAoIGtleSA9PT0gImxhYmVsIiApIHsNCgkJCWlmICggdGhpcy5pc0lucHV0ICkgew0KCQkJCXRoaXMuZWxlbWVudC52YWwoIHZhbHVlICk7DQoJCQl9IGVsc2Ugew0KDQoJCQkJLy8gSWYgdGhlcmUgaXMgYW4gaWNvbiwgYXBwZW5kIGl0LCBlbHNlIG5vdGhpbmcgdGhlbiBhcHBlbmQgdGhlIHZhbHVlDQoJCQkJLy8gdGhpcyBhdm9pZHMgcmVtb3ZhbCBvZiB0aGUgaWNvbiB3aGVuIHNldHRpbmcgbGFiZWwgdGV4dA0KCQkJCXRoaXMuZWxlbWVudC5odG1sKCB2YWx1ZSApOw0KCQkJCWlmICggdGhpcy5pY29uICkgew0KCQkJCQl0aGlzLl9hdHRhY2hJY29uKCB0aGlzLm9wdGlvbnMuaWNvblBvc2l0aW9uICk7DQoJCQkJCXRoaXMuX2F0dGFjaEljb25TcGFjZSggdGhpcy5vcHRpb25zLmljb25Qb3NpdGlvbiApOw0KCQkJCX0NCgkJCX0NCgkJfQ0KDQoJCXRoaXMuX3N1cGVyKCBrZXksIHZhbHVlICk7DQoNCgkJaWYgKCBrZXkgPT09ICJkaXNhYmxlZCIgKSB7DQoJCQl0aGlzLl90b2dnbGVDbGFzcyggbnVsbCwgInVpLXN0YXRlLWRpc2FibGVkIiwgdmFsdWUgKTsNCgkJCXRoaXMuZWxlbWVudFsgMCBdLmRpc2FibGVkID0gdmFsdWU7DQoJCQlpZiAoIHZhbHVlICkgew0KCQkJCXRoaXMuZWxlbWVudC5ibHVyKCk7DQoJCQl9DQoJCX0NCgl9LA0KDQoJcmVmcmVzaDogZnVuY3Rpb24oKSB7DQoNCgkJLy8gTWFrZSBzdXJlIHRvIG9ubHkgY2hlY2sgZGlzYWJsZWQgaWYgaXRzIGFuIGVsZW1lbnQgdGhhdCBzdXBwb3J0cyB0aGlzIG90aGVyd2lzZQ0KCQkvLyBjaGVjayBmb3IgdGhlIGRpc2FibGVkIGNsYXNzIHRvIGRldGVybWluZSBzdGF0ZQ0KCQl2YXIgaXNEaXNhYmxlZCA9IHRoaXMuZWxlbWVudC5pcyggImlucHV0LCBidXR0b24iICkgPw0KCQkJdGhpcy5lbGVtZW50WyAwIF0uZGlzYWJsZWQgOiB0aGlzLmVsZW1lbnQuaGFzQ2xhc3MoICJ1aS1idXR0b24tZGlzYWJsZWQiICk7DQoNCgkJaWYgKCBpc0Rpc2FibGVkICE9PSB0aGlzLm9wdGlvbnMuZGlzYWJsZWQgKSB7DQoJCQl0aGlzLl9zZXRPcHRpb25zKCB7IGRpc2FibGVkOiBpc0Rpc2FibGVkIH0gKTsNCgkJfQ0KDQoJCXRoaXMuX3VwZGF0ZVRvb2x0aXAoKTsNCgl9DQp9ICk7DQoNCi8vIERFUFJFQ0FURUQNCmlmICggJC51aUJhY2tDb21wYXQgIT09IGZhbHNlICkgew0KDQoJLy8gVGV4dCBhbmQgSWNvbnMgb3B0aW9ucw0KCSQud2lkZ2V0KCAidWkuYnV0dG9uIiwgJC51aS5idXR0b24sIHsNCgkJb3B0aW9uczogew0KCQkJdGV4dDogdHJ1ZSwNCgkJCWljb25zOiB7DQoJCQkJcHJpbWFyeTogbnVsbCwNCgkJCQlzZWNvbmRhcnk6IG51bGwNCgkJCX0NCgkJfSwNCg0KCQlfY3JlYXRlOiBmdW5jdGlvbigpIHsNCgkJCWlmICggdGhpcy5vcHRpb25zLnNob3dMYWJlbCAmJiAhdGhpcy5vcHRpb25zLnRleHQgKSB7DQoJCQkJdGhpcy5vcHRpb25zLnNob3dMYWJlbCA9IHRoaXMub3B0aW9ucy50ZXh0Ow0KCQkJfQ0KCQkJaWYgKCAhdGhpcy5vcHRpb25zLnNob3dMYWJlbCAmJiB0aGlzLm9wdGlvbnMudGV4dCApIHsNCgkJCQl0aGlzLm9wdGlvbnMudGV4dCA9IHRoaXMub3B0aW9ucy5zaG93TGFiZWw7DQoJCQl9DQoJCQlpZiAoICF0aGlzLm9wdGlvbnMuaWNvbiAmJiAoIHRoaXMub3B0aW9ucy5pY29ucy5wcmltYXJ5IHx8DQoJCQkJCXRoaXMub3B0aW9ucy5pY29ucy5zZWNvbmRhcnkgKSApIHsNCgkJCQlpZiAoIHRoaXMub3B0aW9ucy5pY29ucy5wcmltYXJ5ICkgew0KCQkJCQl0aGlzLm9wdGlvbnMuaWNvbiA9IHRoaXMub3B0aW9ucy5pY29ucy5wcmltYXJ5Ow0KCQkJCX0gZWxzZSB7DQoJCQkJCXRoaXMub3B0aW9ucy5pY29uID0gdGhpcy5vcHRpb25zLmljb25zLnNlY29uZGFyeTsNCgkJCQkJdGhpcy5vcHRpb25zLmljb25Qb3NpdGlvbiA9ICJlbmQiOw0KCQkJCX0NCgkJCX0gZWxzZSBpZiAoIHRoaXMub3B0aW9ucy5pY29uICkgew0KCQkJCXRoaXMub3B0aW9ucy5pY29ucy5wcmltYXJ5ID0gdGhpcy5vcHRpb25zLmljb247DQoJCQl9DQoJCQl0aGlzLl9zdXBlcigpOw0KCQl9LA0KDQoJCV9zZXRPcHRpb246IGZ1bmN0aW9uKCBrZXksIHZhbHVlICkgew0KCQkJaWYgKCBrZXkgPT09ICJ0ZXh0IiApIHsNCgkJCQl0aGlzLl9zdXBlciggInNob3dMYWJlbCIsIHZhbHVlICk7DQoJCQkJcmV0dXJuOw0KCQkJfQ0KCQkJaWYgKCBrZXkgPT09ICJzaG93TGFiZWwiICkgew0KCQkJCXRoaXMub3B0aW9ucy50ZXh0ID0gdmFsdWU7DQoJCQl9DQoJCQlpZiAoIGtleSA9PT0gImljb24iICkgew0KCQkJCXRoaXMub3B0aW9ucy5pY29ucy5wcmltYXJ5ID0gdmFsdWU7DQoJCQl9DQoJCQlpZiAoIGtleSA9PT0gImljb25zIiApIHsNCgkJCQlpZiAoIHZhbHVlLnByaW1hcnkgKSB7DQoJCQkJCXRoaXMuX3N1cGVyKCAiaWNvbiIsIHZhbHVlLnByaW1hcnkgKTsNCgkJCQkJdGhpcy5fc3VwZXIoICJpY29uUG9zaXRpb24iLCAiYmVnaW5uaW5nIiApOw0KCQkJCX0gZWxzZSBpZiAoIHZhbHVlLnNlY29uZGFyeSApIHsNCgkJCQkJdGhpcy5fc3VwZXIoICJpY29uIiwgdmFsdWUuc2Vjb25kYXJ5ICk7DQoJCQkJCXRoaXMuX3N1cGVyKCAiaWNvblBvc2l0aW9uIiwgImVuZCIgKTsNCgkJCQl9DQoJCQl9DQoJCQl0aGlzLl9zdXBlckFwcGx5KCBhcmd1bWVudHMgKTsNCgkJfQ0KCX0gKTsNCg0KCSQuZm4uYnV0dG9uID0gKCBmdW5jdGlvbiggb3JpZyApIHsNCgkJcmV0dXJuIGZ1bmN0aW9uKCkgew0KCQkJaWYgKCAhdGhpcy5sZW5ndGggfHwgKCB0aGlzLmxlbmd0aCAmJiB0aGlzWyAwIF0udGFnTmFtZSAhPT0gIklOUFVUIiApIHx8DQoJCQkJCSggdGhpcy5sZW5ndGggJiYgdGhpc1sgMCBdLnRhZ05hbWUgPT09ICJJTlBVVCIgJiYgKA0KCQkJCQkJdGhpcy5hdHRyKCAidHlwZSIgKSAhPT0gImNoZWNrYm94IiAmJiB0aGlzLmF0dHIoICJ0eXBlIiApICE9PSAicmFkaW8iDQoJCQkJCSkgKSApIHsNCgkJCQlyZXR1cm4gb3JpZy5hcHBseSggdGhpcywgYXJndW1lbnRzICk7DQoJCQl9DQoJCQlpZiAoICEkLnVpLmNoZWNrYm94cmFkaW8gKSB7DQoJCQkJJC5lcnJvciggIkNoZWNrYm94cmFkaW8gd2lkZ2V0IG1pc3NpbmciICk7DQoJCQl9DQoJCQlpZiAoIGFyZ3VtZW50cy5sZW5ndGggPT09IDAgKSB7DQoJCQkJcmV0dXJuIHRoaXMuY2hlY2tib3hyYWRpbyggew0KCQkJCQkiaWNvbiI6IGZhbHNlDQoJCQkJfSApOw0KCQkJfQ0KCQkJcmV0dXJuIHRoaXMuY2hlY2tib3hyYWRpby5hcHBseSggdGhpcywgYXJndW1lbnRzICk7DQoJCX07DQoJfSApKCAkLmZuLmJ1dHRvbiApOw0KDQoJJC5mbi5idXR0b25zZXQgPSBmdW5jdGlvbigpIHsNCgkJaWYgKCAhJC51aS5jb250cm9sZ3JvdXAgKSB7DQoJCQkkLmVycm9yKCAiQ29udHJvbGdyb3VwIHdpZGdldCBtaXNzaW5nIiApOw0KCQl9DQoJCWlmICggYXJndW1lbnRzWyAwIF0gPT09ICJvcHRpb24iICYmIGFyZ3VtZW50c1sgMSBdID09PSAiaXRlbXMiICYmIGFyZ3VtZW50c1sgMiBdICkgew0KCQkJcmV0dXJuIHRoaXMuY29udHJvbGdyb3VwLmFwcGx5KCB0aGlzLA0KCQkJCVsgYXJndW1lbnRzWyAwIF0sICJpdGVtcy5idXR0b24iLCBhcmd1bWVudHNbIDIgXSBdICk7DQoJCX0NCgkJaWYgKCBhcmd1bWVudHNbIDAgXSA9PT0gIm9wdGlvbiIgJiYgYXJndW1lbnRzWyAxIF0gPT09ICJpdGVtcyIgKSB7DQoJCQlyZXR1cm4gdGhpcy5jb250cm9sZ3JvdXAuYXBwbHkoIHRoaXMsIFsgYXJndW1lbnRzWyAwIF0sICJpdGVtcy5idXR0b24iIF0gKTsNCgkJfQ0KCQlpZiAoIHR5cGVvZiBhcmd1bWVudHNbIDAgXSA9PT0gIm9iamVjdCIgJiYgYXJndW1lbnRzWyAwIF0uaXRlbXMgKSB7DQoJCQlhcmd1bWVudHNbIDAgXS5pdGVtcyA9IHsNCgkJCQlidXR0b246IGFyZ3VtZW50c1sgMCBdLml0ZW1zDQoJCQl9Ow0KCQl9DQoJCXJldHVybiB0aGlzLmNvbnRyb2xncm91cC5hcHBseSggdGhpcywgYXJndW1lbnRzICk7DQoJfTsNCn0NCg0KdmFyIHdpZGdldHNCdXR0b24gPSAkLnVpLmJ1dHRvbjsNCg0KDQovLyBqc2NzOmRpc2FibGUgbWF4aW11bUxpbmVMZW5ndGgNCi8qIGpzY3M6ZGlzYWJsZSByZXF1aXJlQ2FtZWxDYXNlT3JVcHBlckNhc2VJZGVudGlmaWVycyAqLw0KLyohDQogKiBqUXVlcnkgVUkgRGF0ZXBpY2tlciAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKi8NCg0KLy8+PmxhYmVsOiBEYXRlcGlja2VyDQovLz4+Z3JvdXA6IFdpZGdldHMNCi8vPj5kZXNjcmlwdGlvbjogRGlzcGxheXMgYSBjYWxlbmRhciBmcm9tIGFuIGlucHV0IG9yIGlubGluZSBmb3Igc2VsZWN0aW5nIGRhdGVzLg0KLy8+PmRvY3M6IGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL2RhdGVwaWNrZXIvDQovLz4+ZGVtb3M6IGh0dHA6Ly9qcXVlcnl1aS5jb20vZGF0ZXBpY2tlci8NCi8vPj5jc3Muc3RydWN0dXJlOiAuLi8uLi90aGVtZXMvYmFzZS9jb3JlLmNzcw0KLy8+PmNzcy5zdHJ1Y3R1cmU6IC4uLy4uL3RoZW1lcy9iYXNlL2RhdGVwaWNrZXIuY3NzDQovLz4+Y3NzLnRoZW1lOiAuLi8uLi90aGVtZXMvYmFzZS90aGVtZS5jc3MNCg0KDQoNCiQuZXh0ZW5kKCAkLnVpLCB7IGRhdGVwaWNrZXI6IHsgdmVyc2lvbjogIjEuMTIuMSIgfSB9ICk7DQoNCnZhciBkYXRlcGlja2VyX2luc3RBY3RpdmU7DQoNCmZ1bmN0aW9uIGRhdGVwaWNrZXJfZ2V0WmluZGV4KCBlbGVtICkgew0KCXZhciBwb3NpdGlvbiwgdmFsdWU7DQoJd2hpbGUgKCBlbGVtLmxlbmd0aCAmJiBlbGVtWyAwIF0gIT09IGRvY3VtZW50ICkgew0KDQoJCS8vIElnbm9yZSB6LWluZGV4IGlmIHBvc2l0aW9uIGlzIHNldCB0byBhIHZhbHVlIHdoZXJlIHotaW5kZXggaXMgaWdub3JlZCBieSB0aGUgYnJvd3Nlcg0KCQkvLyBUaGlzIG1ha2VzIGJlaGF2aW9yIG9mIHRoaXMgZnVuY3Rpb24gY29uc2lzdGVudCBhY3Jvc3MgYnJvd3NlcnMNCgkJLy8gV2ViS2l0IGFsd2F5cyByZXR1cm5zIGF1dG8gaWYgdGhlIGVsZW1lbnQgaXMgcG9zaXRpb25lZA0KCQlwb3NpdGlvbiA9IGVsZW0uY3NzKCAicG9zaXRpb24iICk7DQoJCWlmICggcG9zaXRpb24gPT09ICJhYnNvbHV0ZSIgfHwgcG9zaXRpb24gPT09ICJyZWxhdGl2ZSIgfHwgcG9zaXRpb24gPT09ICJmaXhlZCIgKSB7DQoNCgkJCS8vIElFIHJldHVybnMgMCB3aGVuIHpJbmRleCBpcyBub3Qgc3BlY2lmaWVkDQoJCQkvLyBvdGhlciBicm93c2VycyByZXR1cm4gYSBzdHJpbmcNCgkJCS8vIHdlIGlnbm9yZSB0aGUgY2FzZSBvZiBuZXN0ZWQgZWxlbWVudHMgd2l0aCBhbiBleHBsaWNpdCB2YWx1ZSBvZiAwDQoJCQkvLyA8ZGl2IHN0eWxlPSJ6LWluZGV4OiAtMTA7Ij48ZGl2IHN0eWxlPSJ6LWluZGV4OiAwOyI+PC9kaXY+PC9kaXY+DQoJCQl2YWx1ZSA9IHBhcnNlSW50KCBlbGVtLmNzcyggInpJbmRleCIgKSwgMTAgKTsNCgkJCWlmICggIWlzTmFOKCB2YWx1ZSApICYmIHZhbHVlICE9PSAwICkgew0KCQkJCXJldHVybiB2YWx1ZTsNCgkJCX0NCgkJfQ0KCQllbGVtID0gZWxlbS5wYXJlbnQoKTsNCgl9DQoNCglyZXR1cm4gMDsNCn0NCi8qIERhdGUgcGlja2VyIG1hbmFnZXIuDQogICBVc2UgdGhlIHNpbmdsZXRvbiBpbnN0YW5jZSBvZiB0aGlzIGNsYXNzLCAkLmRhdGVwaWNrZXIsIHRvIGludGVyYWN0IHdpdGggdGhlIGRhdGUgcGlja2VyLg0KICAgU2V0dGluZ3MgZm9yIChncm91cHMgb2YpIGRhdGUgcGlja2VycyBhcmUgbWFpbnRhaW5lZCBpbiBhbiBpbnN0YW5jZSBvYmplY3QsDQogICBhbGxvd2luZyBtdWx0aXBsZSBkaWZmZXJlbnQgc2V0dGluZ3Mgb24gdGhlIHNhbWUgcGFnZS4gKi8NCg0KZnVuY3Rpb24gRGF0ZXBpY2tlcigpIHsNCgl0aGlzLl9jdXJJbnN0ID0gbnVsbDsgLy8gVGhlIGN1cnJlbnQgaW5zdGFuY2UgaW4gdXNlDQoJdGhpcy5fa2V5RXZlbnQgPSBmYWxzZTsgLy8gSWYgdGhlIGxhc3QgZXZlbnQgd2FzIGEga2V5IGV2ZW50DQoJdGhpcy5fZGlzYWJsZWRJbnB1dHMgPSBbXTsgLy8gTGlzdCBvZiBkYXRlIHBpY2tlciBpbnB1dHMgdGhhdCBoYXZlIGJlZW4gZGlzYWJsZWQNCgl0aGlzLl9kYXRlcGlja2VyU2hvd2luZyA9IGZhbHNlOyAvLyBUcnVlIGlmIHRoZSBwb3B1cCBwaWNrZXIgaXMgc2hvd2luZyAsIGZhbHNlIGlmIG5vdA0KCXRoaXMuX2luRGlhbG9nID0gZmFsc2U7IC8vIFRydWUgaWYgc2hvd2luZyB3aXRoaW4gYSAiZGlhbG9nIiwgZmFsc2UgaWYgbm90DQoJdGhpcy5fbWFpbkRpdklkID0gInVpLWRhdGVwaWNrZXItZGl2IjsgLy8gVGhlIElEIG9mIHRoZSBtYWluIGRhdGVwaWNrZXIgZGl2aXNpb24NCgl0aGlzLl9pbmxpbmVDbGFzcyA9ICJ1aS1kYXRlcGlja2VyLWlubGluZSI7IC8vIFRoZSBuYW1lIG9mIHRoZSBpbmxpbmUgbWFya2VyIGNsYXNzDQoJdGhpcy5fYXBwZW5kQ2xhc3MgPSAidWktZGF0ZXBpY2tlci1hcHBlbmQiOyAvLyBUaGUgbmFtZSBvZiB0aGUgYXBwZW5kIG1hcmtlciBjbGFzcw0KCXRoaXMuX3RyaWdnZXJDbGFzcyA9ICJ1aS1kYXRlcGlja2VyLXRyaWdnZXIiOyAvLyBUaGUgbmFtZSBvZiB0aGUgdHJpZ2dlciBtYXJrZXIgY2xhc3MNCgl0aGlzLl9kaWFsb2dDbGFzcyA9ICJ1aS1kYXRlcGlja2VyLWRpYWxvZyI7IC8vIFRoZSBuYW1lIG9mIHRoZSBkaWFsb2cgbWFya2VyIGNsYXNzDQoJdGhpcy5fZGlzYWJsZUNsYXNzID0gInVpLWRhdGVwaWNrZXItZGlzYWJsZWQiOyAvLyBUaGUgbmFtZSBvZiB0aGUgZGlzYWJsZWQgY292ZXJpbmcgbWFya2VyIGNsYXNzDQoJdGhpcy5fdW5zZWxlY3RhYmxlQ2xhc3MgPSAidWktZGF0ZXBpY2tlci11bnNlbGVjdGFibGUiOyAvLyBUaGUgbmFtZSBvZiB0aGUgdW5zZWxlY3RhYmxlIGNlbGwgbWFya2VyIGNsYXNzDQoJdGhpcy5fY3VycmVudENsYXNzID0gInVpLWRhdGVwaWNrZXItY3VycmVudC1kYXkiOyAvLyBUaGUgbmFtZSBvZiB0aGUgY3VycmVudCBkYXkgbWFya2VyIGNsYXNzDQoJdGhpcy5fZGF5T3ZlckNsYXNzID0gInVpLWRhdGVwaWNrZXItZGF5cy1jZWxsLW92ZXIiOyAvLyBUaGUgbmFtZSBvZiB0aGUgZGF5IGhvdmVyIG1hcmtlciBjbGFzcw0KCXRoaXMucmVnaW9uYWwgPSBbXTsgLy8gQXZhaWxhYmxlIHJlZ2lvbmFsIHNldHRpbmdzLCBpbmRleGVkIGJ5IGxhbmd1YWdlIGNvZGUNCgl0aGlzLnJlZ2lvbmFsWyAiIiBdID0geyAvLyBEZWZhdWx0IHJlZ2lvbmFsIHNldHRpbmdzDQoJCWNsb3NlVGV4dDogIkRvbmUiLCAvLyBEaXNwbGF5IHRleHQgZm9yIGNsb3NlIGxpbmsNCgkJcHJldlRleHQ6ICJQcmV2IiwgLy8gRGlzcGxheSB0ZXh0IGZvciBwcmV2aW91cyBtb250aCBsaW5rDQoJCW5leHRUZXh0OiAiTmV4dCIsIC8vIERpc3BsYXkgdGV4dCBmb3IgbmV4dCBtb250aCBsaW5rDQoJCWN1cnJlbnRUZXh0OiAiVG9kYXkiLCAvLyBEaXNwbGF5IHRleHQgZm9yIGN1cnJlbnQgbW9udGggbGluaw0KCQltb250aE5hbWVzOiBbICJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsDQoJCQkiSnVseSIsIkF1Z3VzdCIsIlNlcHRlbWJlciIsIk9jdG9iZXIiLCJOb3ZlbWJlciIsIkRlY2VtYmVyIiBdLCAvLyBOYW1lcyBvZiBtb250aHMgZm9yIGRyb3AtZG93biBhbmQgZm9ybWF0dGluZw0KCQltb250aE5hbWVzU2hvcnQ6IFsgIkphbiIsICJGZWIiLCAiTWFyIiwgIkFwciIsICJNYXkiLCAiSnVuIiwgIkp1bCIsICJBdWciLCAiU2VwIiwgIk9jdCIsICJOb3YiLCAiRGVjIiBdLCAvLyBGb3IgZm9ybWF0dGluZw0KCQlkYXlOYW1lczogWyAiU3VuZGF5IiwgIk1vbmRheSIsICJUdWVzZGF5IiwgIldlZG5lc2RheSIsICJUaHVyc2RheSIsICJGcmlkYXkiLCAiU2F0dXJkYXkiIF0sIC8vIEZvciBmb3JtYXR0aW5nDQoJCWRheU5hbWVzU2hvcnQ6IFsgIlN1biIsICJNb24iLCAiVHVlIiwgIldlZCIsICJUaHUiLCAiRnJpIiwgIlNhdCIgXSwgLy8gRm9yIGZvcm1hdHRpbmcNCgkJZGF5TmFtZXNNaW46IFsgIlN1IiwiTW8iLCJUdSIsIldlIiwiVGgiLCJGciIsIlNhIiBdLCAvLyBDb2x1bW4gaGVhZGluZ3MgZm9yIGRheXMgc3RhcnRpbmcgYXQgU3VuZGF5DQoJCXdlZWtIZWFkZXI6ICJXayIsIC8vIENvbHVtbiBoZWFkZXIgZm9yIHdlZWsgb2YgdGhlIHllYXINCgkJZGF0ZUZvcm1hdDogIm1tL2RkL3l5IiwgLy8gU2VlIGZvcm1hdCBvcHRpb25zIG9uIHBhcnNlRGF0ZQ0KCQlmaXJzdERheTogMCwgLy8gVGhlIGZpcnN0IGRheSBvZiB0aGUgd2VlaywgU3VuID0gMCwgTW9uID0gMSwgLi4uDQoJCWlzUlRMOiBmYWxzZSwgLy8gVHJ1ZSBpZiByaWdodC10by1sZWZ0IGxhbmd1YWdlLCBmYWxzZSBpZiBsZWZ0LXRvLXJpZ2h0DQoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsIC8vIFRydWUgaWYgdGhlIHllYXIgc2VsZWN0IHByZWNlZGVzIG1vbnRoLCBmYWxzZSBmb3IgbW9udGggdGhlbiB5ZWFyDQoJCXllYXJTdWZmaXg6ICIiIC8vIEFkZGl0aW9uYWwgdGV4dCB0byBhcHBlbmQgdG8gdGhlIHllYXIgaW4gdGhlIG1vbnRoIGhlYWRlcnMNCgl9Ow0KCXRoaXMuX2RlZmF1bHRzID0geyAvLyBHbG9iYWwgZGVmYXVsdHMgZm9yIGFsbCB0aGUgZGF0ZSBwaWNrZXIgaW5zdGFuY2VzDQoJCXNob3dPbjogImZvY3VzIiwgLy8gImZvY3VzIiBmb3IgcG9wdXAgb24gZm9jdXMsDQoJCQkvLyAiYnV0dG9uIiBmb3IgdHJpZ2dlciBidXR0b24sIG9yICJib3RoIiBmb3IgZWl0aGVyDQoJCXNob3dBbmltOiAiZmFkZUluIiwgLy8gTmFtZSBvZiBqUXVlcnkgYW5pbWF0aW9uIGZvciBwb3B1cA0KCQlzaG93T3B0aW9uczoge30sIC8vIE9wdGlvbnMgZm9yIGVuaGFuY2VkIGFuaW1hdGlvbnMNCgkJZGVmYXVsdERhdGU6IG51bGwsIC8vIFVzZWQgd2hlbiBmaWVsZCBpcyBibGFuazogYWN0dWFsIGRhdGUsDQoJCQkvLyArLy1udW1iZXIgZm9yIG9mZnNldCBmcm9tIHRvZGF5LCBudWxsIGZvciB0b2RheQ0KCQlhcHBlbmRUZXh0OiAiIiwgLy8gRGlzcGxheSB0ZXh0IGZvbGxvd2luZyB0aGUgaW5wdXQgYm94LCBlLmcuIHNob3dpbmcgdGhlIGZvcm1hdA0KCQlidXR0b25UZXh0OiAiLi4uIiwgLy8gVGV4dCBmb3IgdHJpZ2dlciBidXR0b24NCgkJYnV0dG9uSW1hZ2U6ICIiLCAvLyBVUkwgZm9yIHRyaWdnZXIgYnV0dG9uIGltYWdlDQoJCWJ1dHRvbkltYWdlT25seTogZmFsc2UsIC8vIFRydWUgaWYgdGhlIGltYWdlIGFwcGVhcnMgYWxvbmUsIGZhbHNlIGlmIGl0IGFwcGVhcnMgb24gYSBidXR0b24NCgkJaGlkZUlmTm9QcmV2TmV4dDogZmFsc2UsIC8vIFRydWUgdG8gaGlkZSBuZXh0L3ByZXZpb3VzIG1vbnRoIGxpbmtzDQoJCQkvLyBpZiBub3QgYXBwbGljYWJsZSwgZmFsc2UgdG8ganVzdCBkaXNhYmxlIHRoZW0NCgkJbmF2aWdhdGlvbkFzRGF0ZUZvcm1hdDogZmFsc2UsIC8vIFRydWUgaWYgZGF0ZSBmb3JtYXR0aW5nIGFwcGxpZWQgdG8gcHJldi90b2RheS9uZXh0IGxpbmtzDQoJCWdvdG9DdXJyZW50OiBmYWxzZSwgLy8gVHJ1ZSBpZiB0b2RheSBsaW5rIGdvZXMgYmFjayB0byBjdXJyZW50IHNlbGVjdGlvbiBpbnN0ZWFkDQoJCWNoYW5nZU1vbnRoOiBmYWxzZSwgLy8gVHJ1ZSBpZiBtb250aCBjYW4gYmUgc2VsZWN0ZWQgZGlyZWN0bHksIGZhbHNlIGlmIG9ubHkgcHJldi9uZXh0DQoJCWNoYW5nZVllYXI6IGZhbHNlLCAvLyBUcnVlIGlmIHllYXIgY2FuIGJlIHNlbGVjdGVkIGRpcmVjdGx5LCBmYWxzZSBpZiBvbmx5IHByZXYvbmV4dA0KCQl5ZWFyUmFuZ2U6ICJjLTEwOmMrMTAiLCAvLyBSYW5nZSBvZiB5ZWFycyB0byBkaXNwbGF5IGluIGRyb3AtZG93biwNCgkJCS8vIGVpdGhlciByZWxhdGl2ZSB0byB0b2RheSdzIHllYXIgKC1ubjorbm4pLCByZWxhdGl2ZSB0byBjdXJyZW50bHkgZGlzcGxheWVkIHllYXINCgkJCS8vIChjLW5uOmMrbm4pLCBhYnNvbHV0ZSAobm5ubjpubm5uKSwgb3IgYSBjb21iaW5hdGlvbiBvZiB0aGUgYWJvdmUgKG5ubm46LW4pDQoJCXNob3dPdGhlck1vbnRoczogZmFsc2UsIC8vIFRydWUgdG8gc2hvdyBkYXRlcyBpbiBvdGhlciBtb250aHMsIGZhbHNlIHRvIGxlYXZlIGJsYW5rDQoJCXNlbGVjdE90aGVyTW9udGhzOiBmYWxzZSwgLy8gVHJ1ZSB0byBhbGxvdyBzZWxlY3Rpb24gb2YgZGF0ZXMgaW4gb3RoZXIgbW9udGhzLCBmYWxzZSBmb3IgdW5zZWxlY3RhYmxlDQoJCXNob3dXZWVrOiBmYWxzZSwgLy8gVHJ1ZSB0byBzaG93IHdlZWsgb2YgdGhlIHllYXIsIGZhbHNlIHRvIG5vdCBzaG93IGl0DQoJCWNhbGN1bGF0ZVdlZWs6IHRoaXMuaXNvODYwMVdlZWssIC8vIEhvdyB0byBjYWxjdWxhdGUgdGhlIHdlZWsgb2YgdGhlIHllYXIsDQoJCQkvLyB0YWtlcyBhIERhdGUgYW5kIHJldHVybnMgdGhlIG51bWJlciBvZiB0aGUgd2VlayBmb3IgaXQNCgkJc2hvcnRZZWFyQ3V0b2ZmOiAiKzEwIiwgLy8gU2hvcnQgeWVhciB2YWx1ZXMgPCB0aGlzIGFyZSBpbiB0aGUgY3VycmVudCBjZW50dXJ5LA0KCQkJLy8gPiB0aGlzIGFyZSBpbiB0aGUgcHJldmlvdXMgY2VudHVyeSwNCgkJCS8vIHN0cmluZyB2YWx1ZSBzdGFydGluZyB3aXRoICIrIiBmb3IgY3VycmVudCB5ZWFyICsgdmFsdWUNCgkJbWluRGF0ZTogbnVsbCwgLy8gVGhlIGVhcmxpZXN0IHNlbGVjdGFibGUgZGF0ZSwgb3IgbnVsbCBmb3Igbm8gbGltaXQNCgkJbWF4RGF0ZTogbnVsbCwgLy8gVGhlIGxhdGVzdCBzZWxlY3RhYmxlIGRhdGUsIG9yIG51bGwgZm9yIG5vIGxpbWl0DQoJCWR1cmF0aW9uOiAiZmFzdCIsIC8vIER1cmF0aW9uIG9mIGRpc3BsYXkvY2xvc3VyZQ0KCQliZWZvcmVTaG93RGF5OiBudWxsLCAvLyBGdW5jdGlvbiB0aGF0IHRha2VzIGEgZGF0ZSBhbmQgcmV0dXJucyBhbiBhcnJheSB3aXRoDQoJCQkvLyBbMF0gPSB0cnVlIGlmIHNlbGVjdGFibGUsIGZhbHNlIGlmIG5vdCwgWzFdID0gY3VzdG9tIENTUyBjbGFzcyBuYW1lKHMpIG9yICIiLA0KCQkJLy8gWzJdID0gY2VsbCB0aXRsZSAob3B0aW9uYWwpLCBlLmcuICQuZGF0ZXBpY2tlci5ub1dlZWtlbmRzDQoJCWJlZm9yZVNob3c6IG51bGwsIC8vIEZ1bmN0aW9uIHRoYXQgdGFrZXMgYW4gaW5wdXQgZmllbGQgYW5kDQoJCQkvLyByZXR1cm5zIGEgc2V0IG9mIGN1c3RvbSBzZXR0aW5ncyBmb3IgdGhlIGRhdGUgcGlja2VyDQoJCW9uU2VsZWN0OiBudWxsLCAvLyBEZWZpbmUgYSBjYWxsYmFjayBmdW5jdGlvbiB3aGVuIGEgZGF0ZSBpcyBzZWxlY3RlZA0KCQlvbkNoYW5nZU1vbnRoWWVhcjogbnVsbCwgLy8gRGVmaW5lIGEgY2FsbGJhY2sgZnVuY3Rpb24gd2hlbiB0aGUgbW9udGggb3IgeWVhciBpcyBjaGFuZ2VkDQoJCW9uQ2xvc2U6IG51bGwsIC8vIERlZmluZSBhIGNhbGxiYWNrIGZ1bmN0aW9uIHdoZW4gdGhlIGRhdGVwaWNrZXIgaXMgY2xvc2VkDQoJCW51bWJlck9mTW9udGhzOiAxLCAvLyBOdW1iZXIgb2YgbW9udGhzIHRvIHNob3cgYXQgYSB0aW1lDQoJCXNob3dDdXJyZW50QXRQb3M6IDAsIC8vIFRoZSBwb3NpdGlvbiBpbiBtdWx0aXBlIG1vbnRocyBhdCB3aGljaCB0byBzaG93IHRoZSBjdXJyZW50IG1vbnRoIChzdGFydGluZyBhdCAwKQ0KCQlzdGVwTW9udGhzOiAxLCAvLyBOdW1iZXIgb2YgbW9udGhzIHRvIHN0ZXAgYmFjay9mb3J3YXJkDQoJCXN0ZXBCaWdNb250aHM6IDEyLCAvLyBOdW1iZXIgb2YgbW9udGhzIHRvIHN0ZXAgYmFjay9mb3J3YXJkIGZvciB0aGUgYmlnIGxpbmtzDQoJCWFsdEZpZWxkOiAiIiwgLy8gU2VsZWN0b3IgZm9yIGFuIGFsdGVybmF0ZSBmaWVsZCB0byBzdG9yZSBzZWxlY3RlZCBkYXRlcyBpbnRvDQoJCWFsdEZvcm1hdDogIiIsIC8vIFRoZSBkYXRlIGZvcm1hdCB0byB1c2UgZm9yIHRoZSBhbHRlcm5hdGUgZmllbGQNCgkJY29uc3RyYWluSW5wdXQ6IHRydWUsIC8vIFRoZSBpbnB1dCBpcyBjb25zdHJhaW5lZCBieSB0aGUgY3VycmVudCBkYXRlIGZvcm1hdA0KCQlzaG93QnV0dG9uUGFuZWw6IGZhbHNlLCAvLyBUcnVlIHRvIHNob3cgYnV0dG9uIHBhbmVsLCBmYWxzZSB0byBub3Qgc2hvdyBpdA0KCQlhdXRvU2l6ZTogZmFsc2UsIC8vIFRydWUgdG8gc2l6ZSB0aGUgaW5wdXQgZm9yIHRoZSBkYXRlIGZvcm1hdCwgZmFsc2UgdG8gbGVhdmUgYXMgaXMNCgkJZGlzYWJsZWQ6IGZhbHNlIC8vIFRoZSBpbml0aWFsIGRpc2FibGVkIHN0YXRlDQoJfTsNCgkkLmV4dGVuZCggdGhpcy5fZGVmYXVsdHMsIHRoaXMucmVnaW9uYWxbICIiIF0gKTsNCgl0aGlzLnJlZ2lvbmFsLmVuID0gJC5leHRlbmQoIHRydWUsIHt9LCB0aGlzLnJlZ2lvbmFsWyAiIiBdICk7DQoJdGhpcy5yZWdpb25hbFsgImVuLVVTIiBdID0gJC5leHRlbmQoIHRydWUsIHt9LCB0aGlzLnJlZ2lvbmFsLmVuICk7DQoJdGhpcy5kcERpdiA9IGRhdGVwaWNrZXJfYmluZEhvdmVyKCAkKCAiPGRpdiBpZD0nIiArIHRoaXMuX21haW5EaXZJZCArICInIGNsYXNzPSd1aS1kYXRlcGlja2VyIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLWFsbCc+PC9kaXY+IiApICk7DQp9DQoNCiQuZXh0ZW5kKCBEYXRlcGlja2VyLnByb3RvdHlwZSwgew0KCS8qIENsYXNzIG5hbWUgYWRkZWQgdG8gZWxlbWVudHMgdG8gaW5kaWNhdGUgYWxyZWFkeSBjb25maWd1cmVkIHdpdGggYSBkYXRlIHBpY2tlci4gKi8NCgltYXJrZXJDbGFzc05hbWU6ICJoYXNEYXRlcGlja2VyIiwNCg0KCS8vS2VlcCB0cmFjayBvZiB0aGUgbWF4aW11bSBudW1iZXIgb2Ygcm93cyBkaXNwbGF5ZWQgKHNlZSAjNzA0MykNCgltYXhSb3dzOiA0LA0KDQoJLy8gVE9ETyByZW5hbWUgdG8gIndpZGdldCIgd2hlbiBzd2l0Y2hpbmcgdG8gd2lkZ2V0IGZhY3RvcnkNCglfd2lkZ2V0RGF0ZXBpY2tlcjogZnVuY3Rpb24oKSB7DQoJCXJldHVybiB0aGlzLmRwRGl2Ow0KCX0sDQoNCgkvKiBPdmVycmlkZSB0aGUgZGVmYXVsdCBzZXR0aW5ncyBmb3IgYWxsIGluc3RhbmNlcyBvZiB0aGUgZGF0ZSBwaWNrZXIuDQoJICogQHBhcmFtICBzZXR0aW5ncyAgb2JqZWN0IC0gdGhlIG5ldyBzZXR0aW5ncyB0byB1c2UgYXMgZGVmYXVsdHMgKGFub255bW91cyBvYmplY3QpDQoJICogQHJldHVybiB0aGUgbWFuYWdlciBvYmplY3QNCgkgKi8NCglzZXREZWZhdWx0czogZnVuY3Rpb24oIHNldHRpbmdzICkgew0KCQlkYXRlcGlja2VyX2V4dGVuZFJlbW92ZSggdGhpcy5fZGVmYXVsdHMsIHNldHRpbmdzIHx8IHt9ICk7DQoJCXJldHVybiB0aGlzOw0KCX0sDQoNCgkvKiBBdHRhY2ggdGhlIGRhdGUgcGlja2VyIHRvIGEgalF1ZXJ5IHNlbGVjdGlvbi4NCgkgKiBAcGFyYW0gIHRhcmdldAllbGVtZW50IC0gdGhlIHRhcmdldCBpbnB1dCBmaWVsZCBvciBkaXZpc2lvbiBvciBzcGFuDQoJICogQHBhcmFtICBzZXR0aW5ncyAgb2JqZWN0IC0gdGhlIG5ldyBzZXR0aW5ncyB0byB1c2UgZm9yIHRoaXMgZGF0ZSBwaWNrZXIgaW5zdGFuY2UgKGFub255bW91cykNCgkgKi8NCglfYXR0YWNoRGF0ZXBpY2tlcjogZnVuY3Rpb24oIHRhcmdldCwgc2V0dGluZ3MgKSB7DQoJCXZhciBub2RlTmFtZSwgaW5saW5lLCBpbnN0Ow0KCQlub2RlTmFtZSA9IHRhcmdldC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpOw0KCQlpbmxpbmUgPSAoIG5vZGVOYW1lID09PSAiZGl2IiB8fCBub2RlTmFtZSA9PT0gInNwYW4iICk7DQoJCWlmICggIXRhcmdldC5pZCApIHsNCgkJCXRoaXMudXVpZCArPSAxOw0KCQkJdGFyZ2V0LmlkID0gImRwIiArIHRoaXMudXVpZDsNCgkJfQ0KCQlpbnN0ID0gdGhpcy5fbmV3SW5zdCggJCggdGFyZ2V0ICksIGlubGluZSApOw0KCQlpbnN0LnNldHRpbmdzID0gJC5leHRlbmQoIHt9LCBzZXR0aW5ncyB8fCB7fSApOw0KCQlpZiAoIG5vZGVOYW1lID09PSAiaW5wdXQiICkgew0KCQkJdGhpcy5fY29ubmVjdERhdGVwaWNrZXIoIHRhcmdldCwgaW5zdCApOw0KCQl9IGVsc2UgaWYgKCBpbmxpbmUgKSB7DQoJCQl0aGlzLl9pbmxpbmVEYXRlcGlja2VyKCB0YXJnZXQsIGluc3QgKTsNCgkJfQ0KCX0sDQoNCgkvKiBDcmVhdGUgYSBuZXcgaW5zdGFuY2Ugb2JqZWN0LiAqLw0KCV9uZXdJbnN0OiBmdW5jdGlvbiggdGFyZ2V0LCBpbmxpbmUgKSB7DQoJCXZhciBpZCA9IHRhcmdldFsgMCBdLmlkLnJlcGxhY2UoIC8oW15BLVphLXowLTlfXC1dKS9nLCAiXFxcXCQxIiApOyAvLyBlc2NhcGUgalF1ZXJ5IG1ldGEgY2hhcnMNCgkJcmV0dXJuIHsgaWQ6IGlkLCBpbnB1dDogdGFyZ2V0LCAvLyBhc3NvY2lhdGVkIHRhcmdldA0KCQkJc2VsZWN0ZWREYXk6IDAsIHNlbGVjdGVkTW9udGg6IDAsIHNlbGVjdGVkWWVhcjogMCwgLy8gY3VycmVudCBzZWxlY3Rpb24NCgkJCWRyYXdNb250aDogMCwgZHJhd1llYXI6IDAsIC8vIG1vbnRoIGJlaW5nIGRyYXduDQoJCQlpbmxpbmU6IGlubGluZSwgLy8gaXMgZGF0ZXBpY2tlciBpbmxpbmUgb3Igbm90DQoJCQlkcERpdjogKCAhaW5saW5lID8gdGhpcy5kcERpdiA6IC8vIHByZXNlbnRhdGlvbiBkaXYNCgkJCWRhdGVwaWNrZXJfYmluZEhvdmVyKCAkKCAiPGRpdiBjbGFzcz0nIiArIHRoaXMuX2lubGluZUNsYXNzICsgIiB1aS1kYXRlcGlja2VyIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLWFsbCc+PC9kaXY+IiApICkgKSB9Ow0KCX0sDQoNCgkvKiBBdHRhY2ggdGhlIGRhdGUgcGlja2VyIHRvIGFuIGlucHV0IGZpZWxkLiAqLw0KCV9jb25uZWN0RGF0ZXBpY2tlcjogZnVuY3Rpb24oIHRhcmdldCwgaW5zdCApIHsNCgkJdmFyIGlucHV0ID0gJCggdGFyZ2V0ICk7DQoJCWluc3QuYXBwZW5kID0gJCggW10gKTsNCgkJaW5zdC50cmlnZ2VyID0gJCggW10gKTsNCgkJaWYgKCBpbnB1dC5oYXNDbGFzcyggdGhpcy5tYXJrZXJDbGFzc05hbWUgKSApIHsNCgkJCXJldHVybjsNCgkJfQ0KCQl0aGlzLl9hdHRhY2htZW50cyggaW5wdXQsIGluc3QgKTsNCgkJaW5wdXQuYWRkQ2xhc3MoIHRoaXMubWFya2VyQ2xhc3NOYW1lICkub24oICJrZXlkb3duIiwgdGhpcy5fZG9LZXlEb3duICkuDQoJCQlvbiggImtleXByZXNzIiwgdGhpcy5fZG9LZXlQcmVzcyApLm9uKCAia2V5dXAiLCB0aGlzLl9kb0tleVVwICk7DQoJCXRoaXMuX2F1dG9TaXplKCBpbnN0ICk7DQoJCSQuZGF0YSggdGFyZ2V0LCAiZGF0ZXBpY2tlciIsIGluc3QgKTsNCg0KCQkvL0lmIGRpc2FibGVkIG9wdGlvbiBpcyB0cnVlLCBkaXNhYmxlIHRoZSBkYXRlcGlja2VyIG9uY2UgaXQgaGFzIGJlZW4gYXR0YWNoZWQgdG8gdGhlIGlucHV0IChzZWUgdGlja2V0ICM1NjY1KQ0KCQlpZiAoIGluc3Quc2V0dGluZ3MuZGlzYWJsZWQgKSB7DQoJCQl0aGlzLl9kaXNhYmxlRGF0ZXBpY2tlciggdGFyZ2V0ICk7DQoJCX0NCgl9LA0KDQoJLyogTWFrZSBhdHRhY2htZW50cyBiYXNlZCBvbiBzZXR0aW5ncy4gKi8NCglfYXR0YWNobWVudHM6IGZ1bmN0aW9uKCBpbnB1dCwgaW5zdCApIHsNCgkJdmFyIHNob3dPbiwgYnV0dG9uVGV4dCwgYnV0dG9uSW1hZ2UsDQoJCQlhcHBlbmRUZXh0ID0gdGhpcy5fZ2V0KCBpbnN0LCAiYXBwZW5kVGV4dCIgKSwNCgkJCWlzUlRMID0gdGhpcy5fZ2V0KCBpbnN0LCAiaXNSVEwiICk7DQoNCgkJaWYgKCBpbnN0LmFwcGVuZCApIHsNCgkJCWluc3QuYXBwZW5kLnJlbW92ZSgpOw0KCQl9DQoJCWlmICggYXBwZW5kVGV4dCApIHsNCgkJCWluc3QuYXBwZW5kID0gJCggIjxzcGFuIGNsYXNzPSciICsgdGhpcy5fYXBwZW5kQ2xhc3MgKyAiJz4iICsgYXBwZW5kVGV4dCArICI8L3NwYW4+IiApOw0KCQkJaW5wdXRbIGlzUlRMID8gImJlZm9yZSIgOiAiYWZ0ZXIiIF0oIGluc3QuYXBwZW5kICk7DQoJCX0NCg0KCQlpbnB1dC5vZmYoICJmb2N1cyIsIHRoaXMuX3Nob3dEYXRlcGlja2VyICk7DQoNCgkJaWYgKCBpbnN0LnRyaWdnZXIgKSB7DQoJCQlpbnN0LnRyaWdnZXIucmVtb3ZlKCk7DQoJCX0NCg0KCQlzaG93T24gPSB0aGlzLl9nZXQoIGluc3QsICJzaG93T24iICk7DQoJCWlmICggc2hvd09uID09PSAiZm9jdXMiIHx8IHNob3dPbiA9PT0gImJvdGgiICkgeyAvLyBwb3AtdXAgZGF0ZSBwaWNrZXIgd2hlbiBpbiB0aGUgbWFya2VkIGZpZWxkDQoJCQlpbnB1dC5vbiggImZvY3VzIiwgdGhpcy5fc2hvd0RhdGVwaWNrZXIgKTsNCgkJfQ0KCQlpZiAoIHNob3dPbiA9PT0gImJ1dHRvbiIgfHwgc2hvd09uID09PSAiYm90aCIgKSB7IC8vIHBvcC11cCBkYXRlIHBpY2tlciB3aGVuIGJ1dHRvbiBjbGlja2VkDQoJCQlidXR0b25UZXh0ID0gdGhpcy5fZ2V0KCBpbnN0LCAiYnV0dG9uVGV4dCIgKTsNCgkJCWJ1dHRvbkltYWdlID0gdGhpcy5fZ2V0KCBpbnN0LCAiYnV0dG9uSW1hZ2UiICk7DQoJCQlpbnN0LnRyaWdnZXIgPSAkKCB0aGlzLl9nZXQoIGluc3QsICJidXR0b25JbWFnZU9ubHkiICkgPw0KCQkJCSQoICI8aW1nLz4iICkuYWRkQ2xhc3MoIHRoaXMuX3RyaWdnZXJDbGFzcyApLg0KCQkJCQlhdHRyKCB7IHNyYzogYnV0dG9uSW1hZ2UsIGFsdDogYnV0dG9uVGV4dCwgdGl0bGU6IGJ1dHRvblRleHQgfSApIDoNCgkJCQkkKCAiPGJ1dHRvbiB0eXBlPSdidXR0b24nPjwvYnV0dG9uPiIgKS5hZGRDbGFzcyggdGhpcy5fdHJpZ2dlckNsYXNzICkuDQoJCQkJCWh0bWwoICFidXR0b25JbWFnZSA/IGJ1dHRvblRleHQgOiAkKCAiPGltZy8+IiApLmF0dHIoDQoJCQkJCXsgc3JjOmJ1dHRvbkltYWdlLCBhbHQ6YnV0dG9uVGV4dCwgdGl0bGU6YnV0dG9uVGV4dCB9ICkgKSApOw0KCQkJaW5wdXRbIGlzUlRMID8gImJlZm9yZSIgOiAiYWZ0ZXIiIF0oIGluc3QudHJpZ2dlciApOw0KCQkJaW5zdC50cmlnZ2VyLm9uKCAiY2xpY2siLCBmdW5jdGlvbigpIHsNCgkJCQlpZiAoICQuZGF0ZXBpY2tlci5fZGF0ZXBpY2tlclNob3dpbmcgJiYgJC5kYXRlcGlja2VyLl9sYXN0SW5wdXQgPT09IGlucHV0WyAwIF0gKSB7DQoJCQkJCSQuZGF0ZXBpY2tlci5faGlkZURhdGVwaWNrZXIoKTsNCgkJCQl9IGVsc2UgaWYgKCAkLmRhdGVwaWNrZXIuX2RhdGVwaWNrZXJTaG93aW5nICYmICQuZGF0ZXBpY2tlci5fbGFzdElucHV0ICE9PSBpbnB1dFsgMCBdICkgew0KCQkJCQkkLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCk7DQoJCQkJCSQuZGF0ZXBpY2tlci5fc2hvd0RhdGVwaWNrZXIoIGlucHV0WyAwIF0gKTsNCgkJCQl9IGVsc2Ugew0KCQkJCQkkLmRhdGVwaWNrZXIuX3Nob3dEYXRlcGlja2VyKCBpbnB1dFsgMCBdICk7DQoJCQkJfQ0KCQkJCXJldHVybiBmYWxzZTsNCgkJCX0gKTsNCgkJfQ0KCX0sDQoNCgkvKiBBcHBseSB0aGUgbWF4aW11bSBsZW5ndGggZm9yIHRoZSBkYXRlIGZvcm1hdC4gKi8NCglfYXV0b1NpemU6IGZ1bmN0aW9uKCBpbnN0ICkgew0KCQlpZiAoIHRoaXMuX2dldCggaW5zdCwgImF1dG9TaXplIiApICYmICFpbnN0LmlubGluZSApIHsNCgkJCXZhciBmaW5kTWF4LCBtYXgsIG1heEksIGksDQoJCQkJZGF0ZSA9IG5ldyBEYXRlKCAyMDA5LCAxMiAtIDEsIDIwICksIC8vIEVuc3VyZSBkb3VibGUgZGlnaXRzDQoJCQkJZGF0ZUZvcm1hdCA9IHRoaXMuX2dldCggaW5zdCwgImRhdGVGb3JtYXQiICk7DQoNCgkJCWlmICggZGF0ZUZvcm1hdC5tYXRjaCggL1tETV0vICkgKSB7DQoJCQkJZmluZE1heCA9IGZ1bmN0aW9uKCBuYW1lcyApIHsNCgkJCQkJbWF4ID0gMDsNCgkJCQkJbWF4SSA9IDA7DQoJCQkJCWZvciAoIGkgPSAwOyBpIDwgbmFtZXMubGVuZ3RoOyBpKysgKSB7DQoJCQkJCQlpZiAoIG5hbWVzWyBpIF0ubGVuZ3RoID4gbWF4ICkgew0KCQkJCQkJCW1heCA9IG5hbWVzWyBpIF0ubGVuZ3RoOw0KCQkJCQkJCW1heEkgPSBpOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJCXJldHVybiBtYXhJOw0KCQkJCX07DQoJCQkJZGF0ZS5zZXRNb250aCggZmluZE1heCggdGhpcy5fZ2V0KCBpbnN0LCAoIGRhdGVGb3JtYXQubWF0Y2goIC9NTS8gKSA/DQoJCQkJCSJtb250aE5hbWVzIiA6ICJtb250aE5hbWVzU2hvcnQiICkgKSApICk7DQoJCQkJZGF0ZS5zZXREYXRlKCBmaW5kTWF4KCB0aGlzLl9nZXQoIGluc3QsICggZGF0ZUZvcm1hdC5tYXRjaCggL0RELyApID8NCgkJCQkJImRheU5hbWVzIiA6ICJkYXlOYW1lc1Nob3J0IiApICkgKSArIDIwIC0gZGF0ZS5nZXREYXkoKSApOw0KCQkJfQ0KCQkJaW5zdC5pbnB1dC5hdHRyKCAic2l6ZSIsIHRoaXMuX2Zvcm1hdERhdGUoIGluc3QsIGRhdGUgKS5sZW5ndGggKTsNCgkJfQ0KCX0sDQoNCgkvKiBBdHRhY2ggYW4gaW5saW5lIGRhdGUgcGlja2VyIHRvIGEgZGl2LiAqLw0KCV9pbmxpbmVEYXRlcGlja2VyOiBmdW5jdGlvbiggdGFyZ2V0LCBpbnN0ICkgew0KCQl2YXIgZGl2U3BhbiA9ICQoIHRhcmdldCApOw0KCQlpZiAoIGRpdlNwYW4uaGFzQ2xhc3MoIHRoaXMubWFya2VyQ2xhc3NOYW1lICkgKSB7DQoJCQlyZXR1cm47DQoJCX0NCgkJZGl2U3Bhbi5hZGRDbGFzcyggdGhpcy5tYXJrZXJDbGFzc05hbWUgKS5hcHBlbmQoIGluc3QuZHBEaXYgKTsNCgkJJC5kYXRhKCB0YXJnZXQsICJkYXRlcGlja2VyIiwgaW5zdCApOw0KCQl0aGlzLl9zZXREYXRlKCBpbnN0LCB0aGlzLl9nZXREZWZhdWx0RGF0ZSggaW5zdCApLCB0cnVlICk7DQoJCXRoaXMuX3VwZGF0ZURhdGVwaWNrZXIoIGluc3QgKTsNCgkJdGhpcy5fdXBkYXRlQWx0ZXJuYXRlKCBpbnN0ICk7DQoNCgkJLy9JZiBkaXNhYmxlZCBvcHRpb24gaXMgdHJ1ZSwgZGlzYWJsZSB0aGUgZGF0ZXBpY2tlciBiZWZvcmUgc2hvd2luZyBpdCAoc2VlIHRpY2tldCAjNTY2NSkNCgkJaWYgKCBpbnN0LnNldHRpbmdzLmRpc2FibGVkICkgew0KCQkJdGhpcy5fZGlzYWJsZURhdGVwaWNrZXIoIHRhcmdldCApOw0KCQl9DQoNCgkJLy8gU2V0IGRpc3BsYXk6YmxvY2sgaW4gcGxhY2Ugb2YgaW5zdC5kcERpdi5zaG93KCkgd2hpY2ggd29uJ3Qgd29yayBvbiBkaXNjb25uZWN0ZWQgZWxlbWVudHMNCgkJLy8gaHR0cDovL2J1Z3MuanF1ZXJ5dWkuY29tL3RpY2tldC83NTUyIC0gQSBEYXRlcGlja2VyIGNyZWF0ZWQgb24gYSBkZXRhY2hlZCBkaXYgaGFzIHplcm8gaGVpZ2h0DQoJCWluc3QuZHBEaXYuY3NzKCAiZGlzcGxheSIsICJibG9jayIgKTsNCgl9LA0KDQoJLyogUG9wLXVwIHRoZSBkYXRlIHBpY2tlciBpbiBhICJkaWFsb2ciIGJveC4NCgkgKiBAcGFyYW0gIGlucHV0IGVsZW1lbnQgLSBpZ25vcmVkDQoJICogQHBhcmFtICBkYXRlCXN0cmluZyBvciBEYXRlIC0gdGhlIGluaXRpYWwgZGF0ZSB0byBkaXNwbGF5DQoJICogQHBhcmFtICBvblNlbGVjdCAgZnVuY3Rpb24gLSB0aGUgZnVuY3Rpb24gdG8gY2FsbCB3aGVuIGEgZGF0ZSBpcyBzZWxlY3RlZA0KCSAqIEBwYXJhbSAgc2V0dGluZ3MgIG9iamVjdCAtIHVwZGF0ZSB0aGUgZGlhbG9nIGRhdGUgcGlja2VyIGluc3RhbmNlJ3Mgc2V0dGluZ3MgKGFub255bW91cyBvYmplY3QpDQoJICogQHBhcmFtICBwb3MgaW50WzJdIC0gY29vcmRpbmF0ZXMgZm9yIHRoZSBkaWFsb2cncyBwb3NpdGlvbiB3aXRoaW4gdGhlIHNjcmVlbiBvcg0KCSAqCQkJCQlldmVudCAtIHdpdGggeC95IGNvb3JkaW5hdGVzIG9yDQoJICoJCQkJCWxlYXZlIGVtcHR5IGZvciBkZWZhdWx0IChzY3JlZW4gY2VudHJlKQ0KCSAqIEByZXR1cm4gdGhlIG1hbmFnZXIgb2JqZWN0DQoJICovDQoJX2RpYWxvZ0RhdGVwaWNrZXI6IGZ1bmN0aW9uKCBpbnB1dCwgZGF0ZSwgb25TZWxlY3QsIHNldHRpbmdzLCBwb3MgKSB7DQoJCXZhciBpZCwgYnJvd3NlcldpZHRoLCBicm93c2VySGVpZ2h0LCBzY3JvbGxYLCBzY3JvbGxZLA0KCQkJaW5zdCA9IHRoaXMuX2RpYWxvZ0luc3Q7IC8vIGludGVybmFsIGluc3RhbmNlDQoNCgkJaWYgKCAhaW5zdCApIHsNCgkJCXRoaXMudXVpZCArPSAxOw0KCQkJaWQgPSAiZHAiICsgdGhpcy51dWlkOw0KCQkJdGhpcy5fZGlhbG9nSW5wdXQgPSAkKCAiPGlucHV0IHR5cGU9J3RleHQnIGlkPSciICsgaWQgKw0KCQkJCSInIHN0eWxlPSdwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogLTEwMHB4OyB3aWR0aDogMHB4OycvPiIgKTsNCgkJCXRoaXMuX2RpYWxvZ0lucHV0Lm9uKCAia2V5ZG93biIsIHRoaXMuX2RvS2V5RG93biApOw0KCQkJJCggImJvZHkiICkuYXBwZW5kKCB0aGlzLl9kaWFsb2dJbnB1dCApOw0KCQkJaW5zdCA9IHRoaXMuX2RpYWxvZ0luc3QgPSB0aGlzLl9uZXdJbnN0KCB0aGlzLl9kaWFsb2dJbnB1dCwgZmFsc2UgKTsNCgkJCWluc3Quc2V0dGluZ3MgPSB7fTsNCgkJCSQuZGF0YSggdGhpcy5fZGlhbG9nSW5wdXRbIDAgXSwgImRhdGVwaWNrZXIiLCBpbnN0ICk7DQoJCX0NCgkJZGF0ZXBpY2tlcl9leHRlbmRSZW1vdmUoIGluc3Quc2V0dGluZ3MsIHNldHRpbmdzIHx8IHt9ICk7DQoJCWRhdGUgPSAoIGRhdGUgJiYgZGF0ZS5jb25zdHJ1Y3RvciA9PT0gRGF0ZSA/IHRoaXMuX2Zvcm1hdERhdGUoIGluc3QsIGRhdGUgKSA6IGRhdGUgKTsNCgkJdGhpcy5fZGlhbG9nSW5wdXQudmFsKCBkYXRlICk7DQoNCgkJdGhpcy5fcG9zID0gKCBwb3MgPyAoIHBvcy5sZW5ndGggPyBwb3MgOiBbIHBvcy5wYWdlWCwgcG9zLnBhZ2VZIF0gKSA6IG51bGwgKTsNCgkJaWYgKCAhdGhpcy5fcG9zICkgew0KCQkJYnJvd3NlcldpZHRoID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoOw0KCQkJYnJvd3NlckhlaWdodCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7DQoJCQlzY3JvbGxYID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQgfHwgZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0Ow0KCQkJc2Nyb2xsWSA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgfHwgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A7DQoJCQl0aGlzLl9wb3MgPSAvLyBzaG91bGQgdXNlIGFjdHVhbCB3aWR0aC9oZWlnaHQgYmVsb3cNCgkJCQlbICggYnJvd3NlcldpZHRoIC8gMiApIC0gMTAwICsgc2Nyb2xsWCwgKCBicm93c2VySGVpZ2h0IC8gMiApIC0gMTUwICsgc2Nyb2xsWSBdOw0KCQl9DQoNCgkJLy8gTW92ZSBpbnB1dCBvbiBzY3JlZW4gZm9yIGZvY3VzLCBidXQgaGlkZGVuIGJlaGluZCBkaWFsb2cNCgkJdGhpcy5fZGlhbG9nSW5wdXQuY3NzKCAibGVmdCIsICggdGhpcy5fcG9zWyAwIF0gKyAyMCApICsgInB4IiApLmNzcyggInRvcCIsIHRoaXMuX3Bvc1sgMSBdICsgInB4IiApOw0KCQlpbnN0LnNldHRpbmdzLm9uU2VsZWN0ID0gb25TZWxlY3Q7DQoJCXRoaXMuX2luRGlhbG9nID0gdHJ1ZTsNCgkJdGhpcy5kcERpdi5hZGRDbGFzcyggdGhpcy5fZGlhbG9nQ2xhc3MgKTsNCgkJdGhpcy5fc2hvd0RhdGVwaWNrZXIoIHRoaXMuX2RpYWxvZ0lucHV0WyAwIF0gKTsNCgkJaWYgKCAkLmJsb2NrVUkgKSB7DQoJCQkkLmJsb2NrVUkoIHRoaXMuZHBEaXYgKTsNCgkJfQ0KCQkkLmRhdGEoIHRoaXMuX2RpYWxvZ0lucHV0WyAwIF0sICJkYXRlcGlja2VyIiwgaW5zdCApOw0KCQlyZXR1cm4gdGhpczsNCgl9LA0KDQoJLyogRGV0YWNoIGEgZGF0ZXBpY2tlciBmcm9tIGl0cyBjb250cm9sLg0KCSAqIEBwYXJhbSAgdGFyZ2V0CWVsZW1lbnQgLSB0aGUgdGFyZ2V0IGlucHV0IGZpZWxkIG9yIGRpdmlzaW9uIG9yIHNwYW4NCgkgKi8NCglfZGVzdHJveURhdGVwaWNrZXI6IGZ1bmN0aW9uKCB0YXJnZXQgKSB7DQoJCXZhciBub2RlTmFtZSwNCgkJCSR0YXJnZXQgPSAkKCB0YXJnZXQgKSwNCgkJCWluc3QgPSAkLmRhdGEoIHRhcmdldCwgImRhdGVwaWNrZXIiICk7DQoNCgkJaWYgKCAhJHRhcmdldC5oYXNDbGFzcyggdGhpcy5tYXJrZXJDbGFzc05hbWUgKSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCW5vZGVOYW1lID0gdGFyZ2V0Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7DQoJCSQucmVtb3ZlRGF0YSggdGFyZ2V0LCAiZGF0ZXBpY2tlciIgKTsNCgkJaWYgKCBub2RlTmFtZSA9PT0gImlucHV0IiApIHsNCgkJCWluc3QuYXBwZW5kLnJlbW92ZSgpOw0KCQkJaW5zdC50cmlnZ2VyLnJlbW92ZSgpOw0KCQkJJHRhcmdldC5yZW1vdmVDbGFzcyggdGhpcy5tYXJrZXJDbGFzc05hbWUgKS4NCgkJCQlvZmYoICJmb2N1cyIsIHRoaXMuX3Nob3dEYXRlcGlja2VyICkuDQoJCQkJb2ZmKCAia2V5ZG93biIsIHRoaXMuX2RvS2V5RG93biApLg0KCQkJCW9mZiggImtleXByZXNzIiwgdGhpcy5fZG9LZXlQcmVzcyApLg0KCQkJCW9mZiggImtleXVwIiwgdGhpcy5fZG9LZXlVcCApOw0KCQl9IGVsc2UgaWYgKCBub2RlTmFtZSA9PT0gImRpdiIgfHwgbm9kZU5hbWUgPT09ICJzcGFuIiApIHsNCgkJCSR0YXJnZXQucmVtb3ZlQ2xhc3MoIHRoaXMubWFya2VyQ2xhc3NOYW1lICkuZW1wdHkoKTsNCgkJfQ0KDQoJCWlmICggZGF0ZXBpY2tlcl9pbnN0QWN0aXZlID09PSBpbnN0ICkgew0KCQkJZGF0ZXBpY2tlcl9pbnN0QWN0aXZlID0gbnVsbDsNCgkJfQ0KCX0sDQoNCgkvKiBFbmFibGUgdGhlIGRhdGUgcGlja2VyIHRvIGEgalF1ZXJ5IHNlbGVjdGlvbi4NCgkgKiBAcGFyYW0gIHRhcmdldAllbGVtZW50IC0gdGhlIHRhcmdldCBpbnB1dCBmaWVsZCBvciBkaXZpc2lvbiBvciBzcGFuDQoJICovDQoJX2VuYWJsZURhdGVwaWNrZXI6IGZ1bmN0aW9uKCB0YXJnZXQgKSB7DQoJCXZhciBub2RlTmFtZSwgaW5saW5lLA0KCQkJJHRhcmdldCA9ICQoIHRhcmdldCApLA0KCQkJaW5zdCA9ICQuZGF0YSggdGFyZ2V0LCAiZGF0ZXBpY2tlciIgKTsNCg0KCQlpZiAoICEkdGFyZ2V0Lmhhc0NsYXNzKCB0aGlzLm1hcmtlckNsYXNzTmFtZSApICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJbm9kZU5hbWUgPSB0YXJnZXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTsNCgkJaWYgKCBub2RlTmFtZSA9PT0gImlucHV0IiApIHsNCgkJCXRhcmdldC5kaXNhYmxlZCA9IGZhbHNlOw0KCQkJaW5zdC50cmlnZ2VyLmZpbHRlciggImJ1dHRvbiIgKS4NCgkJCQllYWNoKCBmdW5jdGlvbigpIHsgdGhpcy5kaXNhYmxlZCA9IGZhbHNlOyB9ICkuZW5kKCkuDQoJCQkJZmlsdGVyKCAiaW1nIiApLmNzcyggeyBvcGFjaXR5OiAiMS4wIiwgY3Vyc29yOiAiIiB9ICk7DQoJCX0gZWxzZSBpZiAoIG5vZGVOYW1lID09PSAiZGl2IiB8fCBub2RlTmFtZSA9PT0gInNwYW4iICkgew0KCQkJaW5saW5lID0gJHRhcmdldC5jaGlsZHJlbiggIi4iICsgdGhpcy5faW5saW5lQ2xhc3MgKTsNCgkJCWlubGluZS5jaGlsZHJlbigpLnJlbW92ZUNsYXNzKCAidWktc3RhdGUtZGlzYWJsZWQiICk7DQoJCQlpbmxpbmUuZmluZCggInNlbGVjdC51aS1kYXRlcGlja2VyLW1vbnRoLCBzZWxlY3QudWktZGF0ZXBpY2tlci15ZWFyIiApLg0KCQkJCXByb3AoICJkaXNhYmxlZCIsIGZhbHNlICk7DQoJCX0NCgkJdGhpcy5fZGlzYWJsZWRJbnB1dHMgPSAkLm1hcCggdGhpcy5fZGlzYWJsZWRJbnB1dHMsDQoJCQlmdW5jdGlvbiggdmFsdWUgKSB7IHJldHVybiAoIHZhbHVlID09PSB0YXJnZXQgPyBudWxsIDogdmFsdWUgKTsgfSApOyAvLyBkZWxldGUgZW50cnkNCgl9LA0KDQoJLyogRGlzYWJsZSB0aGUgZGF0ZSBwaWNrZXIgdG8gYSBqUXVlcnkgc2VsZWN0aW9uLg0KCSAqIEBwYXJhbSAgdGFyZ2V0CWVsZW1lbnQgLSB0aGUgdGFyZ2V0IGlucHV0IGZpZWxkIG9yIGRpdmlzaW9uIG9yIHNwYW4NCgkgKi8NCglfZGlzYWJsZURhdGVwaWNrZXI6IGZ1bmN0aW9uKCB0YXJnZXQgKSB7DQoJCXZhciBub2RlTmFtZSwgaW5saW5lLA0KCQkJJHRhcmdldCA9ICQoIHRhcmdldCApLA0KCQkJaW5zdCA9ICQuZGF0YSggdGFyZ2V0LCAiZGF0ZXBpY2tlciIgKTsNCg0KCQlpZiAoICEkdGFyZ2V0Lmhhc0NsYXNzKCB0aGlzLm1hcmtlckNsYXNzTmFtZSApICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJbm9kZU5hbWUgPSB0YXJnZXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTsNCgkJaWYgKCBub2RlTmFtZSA9PT0gImlucHV0IiApIHsNCgkJCXRhcmdldC5kaXNhYmxlZCA9IHRydWU7DQoJCQlpbnN0LnRyaWdnZXIuZmlsdGVyKCAiYnV0dG9uIiApLg0KCQkJCWVhY2goIGZ1bmN0aW9uKCkgeyB0aGlzLmRpc2FibGVkID0gdHJ1ZTsgfSApLmVuZCgpLg0KCQkJCWZpbHRlciggImltZyIgKS5jc3MoIHsgb3BhY2l0eTogIjAuNSIsIGN1cnNvcjogImRlZmF1bHQiIH0gKTsNCgkJfSBlbHNlIGlmICggbm9kZU5hbWUgPT09ICJkaXYiIHx8IG5vZGVOYW1lID09PSAic3BhbiIgKSB7DQoJCQlpbmxpbmUgPSAkdGFyZ2V0LmNoaWxkcmVuKCAiLiIgKyB0aGlzLl9pbmxpbmVDbGFzcyApOw0KCQkJaW5saW5lLmNoaWxkcmVuKCkuYWRkQ2xhc3MoICJ1aS1zdGF0ZS1kaXNhYmxlZCIgKTsNCgkJCWlubGluZS5maW5kKCAic2VsZWN0LnVpLWRhdGVwaWNrZXItbW9udGgsIHNlbGVjdC51aS1kYXRlcGlja2VyLXllYXIiICkuDQoJCQkJcHJvcCggImRpc2FibGVkIiwgdHJ1ZSApOw0KCQl9DQoJCXRoaXMuX2Rpc2FibGVkSW5wdXRzID0gJC5tYXAoIHRoaXMuX2Rpc2FibGVkSW5wdXRzLA0KCQkJZnVuY3Rpb24oIHZhbHVlICkgeyByZXR1cm4gKCB2YWx1ZSA9PT0gdGFyZ2V0ID8gbnVsbCA6IHZhbHVlICk7IH0gKTsgLy8gZGVsZXRlIGVudHJ5DQoJCXRoaXMuX2Rpc2FibGVkSW5wdXRzWyB0aGlzLl9kaXNhYmxlZElucHV0cy5sZW5ndGggXSA9IHRhcmdldDsNCgl9LA0KDQoJLyogSXMgdGhlIGZpcnN0IGZpZWxkIGluIGEgalF1ZXJ5IGNvbGxlY3Rpb24gZGlzYWJsZWQgYXMgYSBkYXRlcGlja2VyPw0KCSAqIEBwYXJhbSAgdGFyZ2V0CWVsZW1lbnQgLSB0aGUgdGFyZ2V0IGlucHV0IGZpZWxkIG9yIGRpdmlzaW9uIG9yIHNwYW4NCgkgKiBAcmV0dXJuIGJvb2xlYW4gLSB0cnVlIGlmIGRpc2FibGVkLCBmYWxzZSBpZiBlbmFibGVkDQoJICovDQoJX2lzRGlzYWJsZWREYXRlcGlja2VyOiBmdW5jdGlvbiggdGFyZ2V0ICkgew0KCQlpZiAoICF0YXJnZXQgKSB7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCgkJZm9yICggdmFyIGkgPSAwOyBpIDwgdGhpcy5fZGlzYWJsZWRJbnB1dHMubGVuZ3RoOyBpKysgKSB7DQoJCQlpZiAoIHRoaXMuX2Rpc2FibGVkSW5wdXRzWyBpIF0gPT09IHRhcmdldCApIHsNCgkJCQlyZXR1cm4gdHJ1ZTsNCgkJCX0NCgkJfQ0KCQlyZXR1cm4gZmFsc2U7DQoJfSwNCg0KCS8qIFJldHJpZXZlIHRoZSBpbnN0YW5jZSBkYXRhIGZvciB0aGUgdGFyZ2V0IGNvbnRyb2wuDQoJICogQHBhcmFtICB0YXJnZXQgIGVsZW1lbnQgLSB0aGUgdGFyZ2V0IGlucHV0IGZpZWxkIG9yIGRpdmlzaW9uIG9yIHNwYW4NCgkgKiBAcmV0dXJuICBvYmplY3QgLSB0aGUgYXNzb2NpYXRlZCBpbnN0YW5jZSBkYXRhDQoJICogQHRocm93cyAgZXJyb3IgaWYgYSBqUXVlcnkgcHJvYmxlbSBnZXR0aW5nIGRhdGENCgkgKi8NCglfZ2V0SW5zdDogZnVuY3Rpb24oIHRhcmdldCApIHsNCgkJdHJ5IHsNCgkJCXJldHVybiAkLmRhdGEoIHRhcmdldCwgImRhdGVwaWNrZXIiICk7DQoJCX0NCgkJY2F0Y2ggKCBlcnIgKSB7DQoJCQl0aHJvdyAiTWlzc2luZyBpbnN0YW5jZSBkYXRhIGZvciB0aGlzIGRhdGVwaWNrZXIiOw0KCQl9DQoJfSwNCg0KCS8qIFVwZGF0ZSBvciByZXRyaWV2ZSB0aGUgc2V0dGluZ3MgZm9yIGEgZGF0ZSBwaWNrZXIgYXR0YWNoZWQgdG8gYW4gaW5wdXQgZmllbGQgb3IgZGl2aXNpb24uDQoJICogQHBhcmFtICB0YXJnZXQgIGVsZW1lbnQgLSB0aGUgdGFyZ2V0IGlucHV0IGZpZWxkIG9yIGRpdmlzaW9uIG9yIHNwYW4NCgkgKiBAcGFyYW0gIG5hbWUJb2JqZWN0IC0gdGhlIG5ldyBzZXR0aW5ncyB0byB1cGRhdGUgb3INCgkgKgkJCQlzdHJpbmcgLSB0aGUgbmFtZSBvZiB0aGUgc2V0dGluZyB0byBjaGFuZ2Ugb3IgcmV0cmlldmUsDQoJICoJCQkJd2hlbiByZXRyaWV2aW5nIGFsc28gImFsbCIgZm9yIGFsbCBpbnN0YW5jZSBzZXR0aW5ncyBvcg0KCSAqCQkJCSJkZWZhdWx0cyIgZm9yIGFsbCBnbG9iYWwgZGVmYXVsdHMNCgkgKiBAcGFyYW0gIHZhbHVlICAgYW55IC0gdGhlIG5ldyB2YWx1ZSBmb3IgdGhlIHNldHRpbmcNCgkgKgkJCQkob21pdCBpZiBhYm92ZSBpcyBhbiBvYmplY3Qgb3IgdG8gcmV0cmlldmUgYSB2YWx1ZSkNCgkgKi8NCglfb3B0aW9uRGF0ZXBpY2tlcjogZnVuY3Rpb24oIHRhcmdldCwgbmFtZSwgdmFsdWUgKSB7DQoJCXZhciBzZXR0aW5ncywgZGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSwNCgkJCWluc3QgPSB0aGlzLl9nZXRJbnN0KCB0YXJnZXQgKTsNCg0KCQlpZiAoIGFyZ3VtZW50cy5sZW5ndGggPT09IDIgJiYgdHlwZW9mIG5hbWUgPT09ICJzdHJpbmciICkgew0KCQkJcmV0dXJuICggbmFtZSA9PT0gImRlZmF1bHRzIiA/ICQuZXh0ZW5kKCB7fSwgJC5kYXRlcGlja2VyLl9kZWZhdWx0cyApIDoNCgkJCQkoIGluc3QgPyAoIG5hbWUgPT09ICJhbGwiID8gJC5leHRlbmQoIHt9LCBpbnN0LnNldHRpbmdzICkgOg0KCQkJCXRoaXMuX2dldCggaW5zdCwgbmFtZSApICkgOiBudWxsICkgKTsNCgkJfQ0KDQoJCXNldHRpbmdzID0gbmFtZSB8fCB7fTsNCgkJaWYgKCB0eXBlb2YgbmFtZSA9PT0gInN0cmluZyIgKSB7DQoJCQlzZXR0aW5ncyA9IHt9Ow0KCQkJc2V0dGluZ3NbIG5hbWUgXSA9IHZhbHVlOw0KCQl9DQoNCgkJaWYgKCBpbnN0ICkgew0KCQkJaWYgKCB0aGlzLl9jdXJJbnN0ID09PSBpbnN0ICkgew0KCQkJCXRoaXMuX2hpZGVEYXRlcGlja2VyKCk7DQoJCQl9DQoNCgkJCWRhdGUgPSB0aGlzLl9nZXREYXRlRGF0ZXBpY2tlciggdGFyZ2V0LCB0cnVlICk7DQoJCQltaW5EYXRlID0gdGhpcy5fZ2V0TWluTWF4RGF0ZSggaW5zdCwgIm1pbiIgKTsNCgkJCW1heERhdGUgPSB0aGlzLl9nZXRNaW5NYXhEYXRlKCBpbnN0LCAibWF4IiApOw0KCQkJZGF0ZXBpY2tlcl9leHRlbmRSZW1vdmUoIGluc3Quc2V0dGluZ3MsIHNldHRpbmdzICk7DQoNCgkJCS8vIHJlZm9ybWF0IHRoZSBvbGQgbWluRGF0ZS9tYXhEYXRlIHZhbHVlcyBpZiBkYXRlRm9ybWF0IGNoYW5nZXMgYW5kIGEgbmV3IG1pbkRhdGUvbWF4RGF0ZSBpc24ndCBwcm92aWRlZA0KCQkJaWYgKCBtaW5EYXRlICE9PSBudWxsICYmIHNldHRpbmdzLmRhdGVGb3JtYXQgIT09IHVuZGVmaW5lZCAmJiBzZXR0aW5ncy5taW5EYXRlID09PSB1bmRlZmluZWQgKSB7DQoJCQkJaW5zdC5zZXR0aW5ncy5taW5EYXRlID0gdGhpcy5fZm9ybWF0RGF0ZSggaW5zdCwgbWluRGF0ZSApOw0KCQkJfQ0KCQkJaWYgKCBtYXhEYXRlICE9PSBudWxsICYmIHNldHRpbmdzLmRhdGVGb3JtYXQgIT09IHVuZGVmaW5lZCAmJiBzZXR0aW5ncy5tYXhEYXRlID09PSB1bmRlZmluZWQgKSB7DQoJCQkJaW5zdC5zZXR0aW5ncy5tYXhEYXRlID0gdGhpcy5fZm9ybWF0RGF0ZSggaW5zdCwgbWF4RGF0ZSApOw0KCQkJfQ0KCQkJaWYgKCAiZGlzYWJsZWQiIGluIHNldHRpbmdzICkgew0KCQkJCWlmICggc2V0dGluZ3MuZGlzYWJsZWQgKSB7DQoJCQkJCXRoaXMuX2Rpc2FibGVEYXRlcGlja2VyKCB0YXJnZXQgKTsNCgkJCQl9IGVsc2Ugew0KCQkJCQl0aGlzLl9lbmFibGVEYXRlcGlja2VyKCB0YXJnZXQgKTsNCgkJCQl9DQoJCQl9DQoJCQl0aGlzLl9hdHRhY2htZW50cyggJCggdGFyZ2V0ICksIGluc3QgKTsNCgkJCXRoaXMuX2F1dG9TaXplKCBpbnN0ICk7DQoJCQl0aGlzLl9zZXREYXRlKCBpbnN0LCBkYXRlICk7DQoJCQl0aGlzLl91cGRhdGVBbHRlcm5hdGUoIGluc3QgKTsNCgkJCXRoaXMuX3VwZGF0ZURhdGVwaWNrZXIoIGluc3QgKTsNCgkJfQ0KCX0sDQoNCgkvLyBDaGFuZ2UgbWV0aG9kIGRlcHJlY2F0ZWQNCglfY2hhbmdlRGF0ZXBpY2tlcjogZnVuY3Rpb24oIHRhcmdldCwgbmFtZSwgdmFsdWUgKSB7DQoJCXRoaXMuX29wdGlvbkRhdGVwaWNrZXIoIHRhcmdldCwgbmFtZSwgdmFsdWUgKTsNCgl9LA0KDQoJLyogUmVkcmF3IHRoZSBkYXRlIHBpY2tlciBhdHRhY2hlZCB0byBhbiBpbnB1dCBmaWVsZCBvciBkaXZpc2lvbi4NCgkgKiBAcGFyYW0gIHRhcmdldCAgZWxlbWVudCAtIHRoZSB0YXJnZXQgaW5wdXQgZmllbGQgb3IgZGl2aXNpb24gb3Igc3Bhbg0KCSAqLw0KCV9yZWZyZXNoRGF0ZXBpY2tlcjogZnVuY3Rpb24oIHRhcmdldCApIHsNCgkJdmFyIGluc3QgPSB0aGlzLl9nZXRJbnN0KCB0YXJnZXQgKTsNCgkJaWYgKCBpbnN0ICkgew0KCQkJdGhpcy5fdXBkYXRlRGF0ZXBpY2tlciggaW5zdCApOw0KCQl9DQoJfSwNCg0KCS8qIFNldCB0aGUgZGF0ZXMgZm9yIGEgalF1ZXJ5IHNlbGVjdGlvbi4NCgkgKiBAcGFyYW0gIHRhcmdldCBlbGVtZW50IC0gdGhlIHRhcmdldCBpbnB1dCBmaWVsZCBvciBkaXZpc2lvbiBvciBzcGFuDQoJICogQHBhcmFtICBkYXRlCURhdGUgLSB0aGUgbmV3IGRhdGUNCgkgKi8NCglfc2V0RGF0ZURhdGVwaWNrZXI6IGZ1bmN0aW9uKCB0YXJnZXQsIGRhdGUgKSB7DQoJCXZhciBpbnN0ID0gdGhpcy5fZ2V0SW5zdCggdGFyZ2V0ICk7DQoJCWlmICggaW5zdCApIHsNCgkJCXRoaXMuX3NldERhdGUoIGluc3QsIGRhdGUgKTsNCgkJCXRoaXMuX3VwZGF0ZURhdGVwaWNrZXIoIGluc3QgKTsNCgkJCXRoaXMuX3VwZGF0ZUFsdGVybmF0ZSggaW5zdCApOw0KCQl9DQoJfSwNCg0KCS8qIEdldCB0aGUgZGF0ZShzKSBmb3IgdGhlIGZpcnN0IGVudHJ5IGluIGEgalF1ZXJ5IHNlbGVjdGlvbi4NCgkgKiBAcGFyYW0gIHRhcmdldCBlbGVtZW50IC0gdGhlIHRhcmdldCBpbnB1dCBmaWVsZCBvciBkaXZpc2lvbiBvciBzcGFuDQoJICogQHBhcmFtICBub0RlZmF1bHQgYm9vbGVhbiAtIHRydWUgaWYgbm8gZGVmYXVsdCBkYXRlIGlzIHRvIGJlIHVzZWQNCgkgKiBAcmV0dXJuIERhdGUgLSB0aGUgY3VycmVudCBkYXRlDQoJICovDQoJX2dldERhdGVEYXRlcGlja2VyOiBmdW5jdGlvbiggdGFyZ2V0LCBub0RlZmF1bHQgKSB7DQoJCXZhciBpbnN0ID0gdGhpcy5fZ2V0SW5zdCggdGFyZ2V0ICk7DQoJCWlmICggaW5zdCAmJiAhaW5zdC5pbmxpbmUgKSB7DQoJCQl0aGlzLl9zZXREYXRlRnJvbUZpZWxkKCBpbnN0LCBub0RlZmF1bHQgKTsNCgkJfQ0KCQlyZXR1cm4gKCBpbnN0ID8gdGhpcy5fZ2V0RGF0ZSggaW5zdCApIDogbnVsbCApOw0KCX0sDQoNCgkvKiBIYW5kbGUga2V5c3Ryb2tlcy4gKi8NCglfZG9LZXlEb3duOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXZhciBvblNlbGVjdCwgZGF0ZVN0ciwgc2VsLA0KCQkJaW5zdCA9ICQuZGF0ZXBpY2tlci5fZ2V0SW5zdCggZXZlbnQudGFyZ2V0ICksDQoJCQloYW5kbGVkID0gdHJ1ZSwNCgkJCWlzUlRMID0gaW5zdC5kcERpdi5pcyggIi51aS1kYXRlcGlja2VyLXJ0bCIgKTsNCg0KCQlpbnN0Ll9rZXlFdmVudCA9IHRydWU7DQoJCWlmICggJC5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2luZyApIHsNCgkJCXN3aXRjaCAoIGV2ZW50LmtleUNvZGUgKSB7DQoJCQkJY2FzZSA5OiAkLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCk7DQoJCQkJCQloYW5kbGVkID0gZmFsc2U7DQoJCQkJCQlicmVhazsgLy8gaGlkZSBvbiB0YWIgb3V0DQoJCQkJY2FzZSAxMzogc2VsID0gJCggInRkLiIgKyAkLmRhdGVwaWNrZXIuX2RheU92ZXJDbGFzcyArICI6bm90KC4iICsNCgkJCQkJCQkJCSQuZGF0ZXBpY2tlci5fY3VycmVudENsYXNzICsgIikiLCBpbnN0LmRwRGl2ICk7DQoJCQkJCQlpZiAoIHNlbFsgMCBdICkgew0KCQkJCQkJCSQuZGF0ZXBpY2tlci5fc2VsZWN0RGF5KCBldmVudC50YXJnZXQsIGluc3Quc2VsZWN0ZWRNb250aCwgaW5zdC5zZWxlY3RlZFllYXIsIHNlbFsgMCBdICk7DQoJCQkJCQl9DQoNCgkJCQkJCW9uU2VsZWN0ID0gJC5kYXRlcGlja2VyLl9nZXQoIGluc3QsICJvblNlbGVjdCIgKTsNCgkJCQkJCWlmICggb25TZWxlY3QgKSB7DQoJCQkJCQkJZGF0ZVN0ciA9ICQuZGF0ZXBpY2tlci5fZm9ybWF0RGF0ZSggaW5zdCApOw0KDQoJCQkJCQkJLy8gVHJpZ2dlciBjdXN0b20gY2FsbGJhY2sNCgkJCQkJCQlvblNlbGVjdC5hcHBseSggKCBpbnN0LmlucHV0ID8gaW5zdC5pbnB1dFsgMCBdIDogbnVsbCApLCBbIGRhdGVTdHIsIGluc3QgXSApOw0KCQkJCQkJfSBlbHNlIHsNCgkJCQkJCQkkLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCk7DQoJCQkJCQl9DQoNCgkJCQkJCXJldHVybiBmYWxzZTsgLy8gZG9uJ3Qgc3VibWl0IHRoZSBmb3JtDQoJCQkJY2FzZSAyNzogJC5kYXRlcGlja2VyLl9oaWRlRGF0ZXBpY2tlcigpOw0KCQkJCQkJYnJlYWs7IC8vIGhpZGUgb24gZXNjYXBlDQoJCQkJY2FzZSAzMzogJC5kYXRlcGlja2VyLl9hZGp1c3REYXRlKCBldmVudC50YXJnZXQsICggZXZlbnQuY3RybEtleSA/DQoJCQkJCQkJLSQuZGF0ZXBpY2tlci5fZ2V0KCBpbnN0LCAic3RlcEJpZ01vbnRocyIgKSA6DQoJCQkJCQkJLSQuZGF0ZXBpY2tlci5fZ2V0KCBpbnN0LCAic3RlcE1vbnRocyIgKSApLCAiTSIgKTsNCgkJCQkJCWJyZWFrOyAvLyBwcmV2aW91cyBtb250aC95ZWFyIG9uIHBhZ2UgdXAvKyBjdHJsDQoJCQkJY2FzZSAzNDogJC5kYXRlcGlja2VyLl9hZGp1c3REYXRlKCBldmVudC50YXJnZXQsICggZXZlbnQuY3RybEtleSA/DQoJCQkJCQkJKyQuZGF0ZXBpY2tlci5fZ2V0KCBpbnN0LCAic3RlcEJpZ01vbnRocyIgKSA6DQoJCQkJCQkJKyQuZGF0ZXBpY2tlci5fZ2V0KCBpbnN0LCAic3RlcE1vbnRocyIgKSApLCAiTSIgKTsNCgkJCQkJCWJyZWFrOyAvLyBuZXh0IG1vbnRoL3llYXIgb24gcGFnZSBkb3duLysgY3RybA0KCQkJCWNhc2UgMzU6IGlmICggZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5ICkgew0KCQkJCQkJCSQuZGF0ZXBpY2tlci5fY2xlYXJEYXRlKCBldmVudC50YXJnZXQgKTsNCgkJCQkJCX0NCgkJCQkJCWhhbmRsZWQgPSBldmVudC5jdHJsS2V5IHx8IGV2ZW50Lm1ldGFLZXk7DQoJCQkJCQlicmVhazsgLy8gY2xlYXIgb24gY3RybCBvciBjb21tYW5kICtlbmQNCgkJCQljYXNlIDM2OiBpZiAoIGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleSApIHsNCgkJCQkJCQkkLmRhdGVwaWNrZXIuX2dvdG9Ub2RheSggZXZlbnQudGFyZ2V0ICk7DQoJCQkJCQl9DQoJCQkJCQloYW5kbGVkID0gZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5Ow0KCQkJCQkJYnJlYWs7IC8vIGN1cnJlbnQgb24gY3RybCBvciBjb21tYW5kICtob21lDQoJCQkJY2FzZSAzNzogaWYgKCBldmVudC5jdHJsS2V5IHx8IGV2ZW50Lm1ldGFLZXkgKSB7DQoJCQkJCQkJJC5kYXRlcGlja2VyLl9hZGp1c3REYXRlKCBldmVudC50YXJnZXQsICggaXNSVEwgPyArMSA6IC0xICksICJEIiApOw0KCQkJCQkJfQ0KCQkJCQkJaGFuZGxlZCA9IGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleTsNCg0KCQkJCQkJLy8gLTEgZGF5IG9uIGN0cmwgb3IgY29tbWFuZCArbGVmdA0KCQkJCQkJaWYgKCBldmVudC5vcmlnaW5hbEV2ZW50LmFsdEtleSApIHsNCgkJCQkJCQkkLmRhdGVwaWNrZXIuX2FkanVzdERhdGUoIGV2ZW50LnRhcmdldCwgKCBldmVudC5jdHJsS2V5ID8NCgkJCQkJCQkJLSQuZGF0ZXBpY2tlci5fZ2V0KCBpbnN0LCAic3RlcEJpZ01vbnRocyIgKSA6DQoJCQkJCQkJCS0kLmRhdGVwaWNrZXIuX2dldCggaW5zdCwgInN0ZXBNb250aHMiICkgKSwgIk0iICk7DQoJCQkJCQl9DQoNCgkJCQkJCS8vIG5leHQgbW9udGgveWVhciBvbiBhbHQgK2xlZnQgb24gTWFjDQoJCQkJCQlicmVhazsNCgkJCQljYXNlIDM4OiBpZiAoIGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleSApIHsNCgkJCQkJCQkkLmRhdGVwaWNrZXIuX2FkanVzdERhdGUoIGV2ZW50LnRhcmdldCwgLTcsICJEIiApOw0KCQkJCQkJfQ0KCQkJCQkJaGFuZGxlZCA9IGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleTsNCgkJCQkJCWJyZWFrOyAvLyAtMSB3ZWVrIG9uIGN0cmwgb3IgY29tbWFuZCArdXANCgkJCQljYXNlIDM5OiBpZiAoIGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleSApIHsNCgkJCQkJCQkkLmRhdGVwaWNrZXIuX2FkanVzdERhdGUoIGV2ZW50LnRhcmdldCwgKCBpc1JUTCA/IC0xIDogKzEgKSwgIkQiICk7DQoJCQkJCQl9DQoJCQkJCQloYW5kbGVkID0gZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5Ow0KDQoJCQkJCQkvLyArMSBkYXkgb24gY3RybCBvciBjb21tYW5kICtyaWdodA0KCQkJCQkJaWYgKCBldmVudC5vcmlnaW5hbEV2ZW50LmFsdEtleSApIHsNCgkJCQkJCQkkLmRhdGVwaWNrZXIuX2FkanVzdERhdGUoIGV2ZW50LnRhcmdldCwgKCBldmVudC5jdHJsS2V5ID8NCgkJCQkJCQkJKyQuZGF0ZXBpY2tlci5fZ2V0KCBpbnN0LCAic3RlcEJpZ01vbnRocyIgKSA6DQoJCQkJCQkJCSskLmRhdGVwaWNrZXIuX2dldCggaW5zdCwgInN0ZXBNb250aHMiICkgKSwgIk0iICk7DQoJCQkJCQl9DQoNCgkJCQkJCS8vIG5leHQgbW9udGgveWVhciBvbiBhbHQgK3JpZ2h0DQoJCQkJCQlicmVhazsNCgkJCQljYXNlIDQwOiBpZiAoIGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleSApIHsNCgkJCQkJCQkkLmRhdGVwaWNrZXIuX2FkanVzdERhdGUoIGV2ZW50LnRhcmdldCwgKzcsICJEIiApOw0KCQkJCQkJfQ0KCQkJCQkJaGFuZGxlZCA9IGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleTsNCgkJCQkJCWJyZWFrOyAvLyArMSB3ZWVrIG9uIGN0cmwgb3IgY29tbWFuZCArZG93bg0KCQkJCWRlZmF1bHQ6IGhhbmRsZWQgPSBmYWxzZTsNCgkJCX0NCgkJfSBlbHNlIGlmICggZXZlbnQua2V5Q29kZSA9PT0gMzYgJiYgZXZlbnQuY3RybEtleSApIHsgLy8gZGlzcGxheSB0aGUgZGF0ZSBwaWNrZXIgb24gY3RybCtob21lDQoJCQkkLmRhdGVwaWNrZXIuX3Nob3dEYXRlcGlja2VyKCB0aGlzICk7DQoJCX0gZWxzZSB7DQoJCQloYW5kbGVkID0gZmFsc2U7DQoJCX0NCg0KCQlpZiAoIGhhbmRsZWQgKSB7DQoJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7DQoJCX0NCgl9LA0KDQoJLyogRmlsdGVyIGVudGVyZWQgY2hhcmFjdGVycyAtIGJhc2VkIG9uIGRhdGUgZm9ybWF0LiAqLw0KCV9kb0tleVByZXNzOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXZhciBjaGFycywgY2hyLA0KCQkJaW5zdCA9ICQuZGF0ZXBpY2tlci5fZ2V0SW5zdCggZXZlbnQudGFyZ2V0ICk7DQoNCgkJaWYgKCAkLmRhdGVwaWNrZXIuX2dldCggaW5zdCwgImNvbnN0cmFpbklucHV0IiApICkgew0KCQkJY2hhcnMgPSAkLmRhdGVwaWNrZXIuX3Bvc3NpYmxlQ2hhcnMoICQuZGF0ZXBpY2tlci5fZ2V0KCBpbnN0LCAiZGF0ZUZvcm1hdCIgKSApOw0KCQkJY2hyID0gU3RyaW5nLmZyb21DaGFyQ29kZSggZXZlbnQuY2hhckNvZGUgPT0gbnVsbCA/IGV2ZW50LmtleUNvZGUgOiBldmVudC5jaGFyQ29kZSApOw0KCQkJcmV0dXJuIGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleSB8fCAoIGNociA8ICIgIiB8fCAhY2hhcnMgfHwgY2hhcnMuaW5kZXhPZiggY2hyICkgPiAtMSApOw0KCQl9DQoJfSwNCg0KCS8qIFN5bmNocm9uaXNlIG1hbnVhbCBlbnRyeSBhbmQgZmllbGQvYWx0ZXJuYXRlIGZpZWxkLiAqLw0KCV9kb0tleVVwOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXZhciBkYXRlLA0KCQkJaW5zdCA9ICQuZGF0ZXBpY2tlci5fZ2V0SW5zdCggZXZlbnQudGFyZ2V0ICk7DQoNCgkJaWYgKCBpbnN0LmlucHV0LnZhbCgpICE9PSBpbnN0Lmxhc3RWYWwgKSB7DQoJCQl0cnkgew0KCQkJCWRhdGUgPSAkLmRhdGVwaWNrZXIucGFyc2VEYXRlKCAkLmRhdGVwaWNrZXIuX2dldCggaW5zdCwgImRhdGVGb3JtYXQiICksDQoJCQkJCSggaW5zdC5pbnB1dCA/IGluc3QuaW5wdXQudmFsKCkgOiBudWxsICksDQoJCQkJCSQuZGF0ZXBpY2tlci5fZ2V0Rm9ybWF0Q29uZmlnKCBpbnN0ICkgKTsNCg0KCQkJCWlmICggZGF0ZSApIHsgLy8gb25seSBpZiB2YWxpZA0KCQkJCQkkLmRhdGVwaWNrZXIuX3NldERhdGVGcm9tRmllbGQoIGluc3QgKTsNCgkJCQkJJC5kYXRlcGlja2VyLl91cGRhdGVBbHRlcm5hdGUoIGluc3QgKTsNCgkJCQkJJC5kYXRlcGlja2VyLl91cGRhdGVEYXRlcGlja2VyKCBpbnN0ICk7DQoJCQkJfQ0KCQkJfQ0KCQkJY2F0Y2ggKCBlcnIgKSB7DQoJCQl9DQoJCX0NCgkJcmV0dXJuIHRydWU7DQoJfSwNCg0KCS8qIFBvcC11cCB0aGUgZGF0ZSBwaWNrZXIgZm9yIGEgZ2l2ZW4gaW5wdXQgZmllbGQuDQoJICogSWYgZmFsc2UgcmV0dXJuZWQgZnJvbSBiZWZvcmVTaG93IGV2ZW50IGhhbmRsZXIgZG8gbm90IHNob3cuDQoJICogQHBhcmFtICBpbnB1dCAgZWxlbWVudCAtIHRoZSBpbnB1dCBmaWVsZCBhdHRhY2hlZCB0byB0aGUgZGF0ZSBwaWNrZXIgb3INCgkgKgkJCQkJZXZlbnQgLSBpZiB0cmlnZ2VyZWQgYnkgZm9jdXMNCgkgKi8NCglfc2hvd0RhdGVwaWNrZXI6IGZ1bmN0aW9uKCBpbnB1dCApIHsNCgkJaW5wdXQgPSBpbnB1dC50YXJnZXQgfHwgaW5wdXQ7DQoJCWlmICggaW5wdXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSAhPT0gImlucHV0IiApIHsgLy8gZmluZCBmcm9tIGJ1dHRvbi9pbWFnZSB0cmlnZ2VyDQoJCQlpbnB1dCA9ICQoICJpbnB1dCIsIGlucHV0LnBhcmVudE5vZGUgKVsgMCBdOw0KCQl9DQoNCgkJaWYgKCAkLmRhdGVwaWNrZXIuX2lzRGlzYWJsZWREYXRlcGlja2VyKCBpbnB1dCApIHx8ICQuZGF0ZXBpY2tlci5fbGFzdElucHV0ID09PSBpbnB1dCApIHsgLy8gYWxyZWFkeSBoZXJlDQoJCQlyZXR1cm47DQoJCX0NCg0KCQl2YXIgaW5zdCwgYmVmb3JlU2hvdywgYmVmb3JlU2hvd1NldHRpbmdzLCBpc0ZpeGVkLA0KCQkJb2Zmc2V0LCBzaG93QW5pbSwgZHVyYXRpb247DQoNCgkJaW5zdCA9ICQuZGF0ZXBpY2tlci5fZ2V0SW5zdCggaW5wdXQgKTsNCgkJaWYgKCAkLmRhdGVwaWNrZXIuX2N1ckluc3QgJiYgJC5kYXRlcGlja2VyLl9jdXJJbnN0ICE9PSBpbnN0ICkgew0KCQkJJC5kYXRlcGlja2VyLl9jdXJJbnN0LmRwRGl2LnN0b3AoIHRydWUsIHRydWUgKTsNCgkJCWlmICggaW5zdCAmJiAkLmRhdGVwaWNrZXIuX2RhdGVwaWNrZXJTaG93aW5nICkgew0KCQkJCSQuZGF0ZXBpY2tlci5faGlkZURhdGVwaWNrZXIoICQuZGF0ZXBpY2tlci5fY3VySW5zdC5pbnB1dFsgMCBdICk7DQoJCQl9DQoJCX0NCg0KCQliZWZvcmVTaG93ID0gJC5kYXRlcGlja2VyLl9nZXQoIGluc3QsICJiZWZvcmVTaG93IiApOw0KCQliZWZvcmVTaG93U2V0dGluZ3MgPSBiZWZvcmVTaG93ID8gYmVmb3JlU2hvdy5hcHBseSggaW5wdXQsIFsgaW5wdXQsIGluc3QgXSApIDoge307DQoJCWlmICggYmVmb3JlU2hvd1NldHRpbmdzID09PSBmYWxzZSApIHsNCgkJCXJldHVybjsNCgkJfQ0KCQlkYXRlcGlja2VyX2V4dGVuZFJlbW92ZSggaW5zdC5zZXR0aW5ncywgYmVmb3JlU2hvd1NldHRpbmdzICk7DQoNCgkJaW5zdC5sYXN0VmFsID0gbnVsbDsNCgkJJC5kYXRlcGlja2VyLl9sYXN0SW5wdXQgPSBpbnB1dDsNCgkJJC5kYXRlcGlja2VyLl9zZXREYXRlRnJvbUZpZWxkKCBpbnN0ICk7DQoNCgkJaWYgKCAkLmRhdGVwaWNrZXIuX2luRGlhbG9nICkgeyAvLyBoaWRlIGN1cnNvcg0KCQkJaW5wdXQudmFsdWUgPSAiIjsNCgkJfQ0KCQlpZiAoICEkLmRhdGVwaWNrZXIuX3BvcyApIHsgLy8gcG9zaXRpb24gYmVsb3cgaW5wdXQNCgkJCSQuZGF0ZXBpY2tlci5fcG9zID0gJC5kYXRlcGlja2VyLl9maW5kUG9zKCBpbnB1dCApOw0KCQkJJC5kYXRlcGlja2VyLl9wb3NbIDEgXSArPSBpbnB1dC5vZmZzZXRIZWlnaHQ7IC8vIGFkZCB0aGUgaGVpZ2h0DQoJCX0NCg0KCQlpc0ZpeGVkID0gZmFsc2U7DQoJCSQoIGlucHV0ICkucGFyZW50cygpLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJaXNGaXhlZCB8PSAkKCB0aGlzICkuY3NzKCAicG9zaXRpb24iICkgPT09ICJmaXhlZCI7DQoJCQlyZXR1cm4gIWlzRml4ZWQ7DQoJCX0gKTsNCg0KCQlvZmZzZXQgPSB7IGxlZnQ6ICQuZGF0ZXBpY2tlci5fcG9zWyAwIF0sIHRvcDogJC5kYXRlcGlja2VyLl9wb3NbIDEgXSB9Ow0KCQkkLmRhdGVwaWNrZXIuX3BvcyA9IG51bGw7DQoNCgkJLy90byBhdm9pZCBmbGFzaGVzIG9uIEZpcmVmb3gNCgkJaW5zdC5kcERpdi5lbXB0eSgpOw0KDQoJCS8vIGRldGVybWluZSBzaXppbmcgb2Zmc2NyZWVuDQoJCWluc3QuZHBEaXYuY3NzKCB7IHBvc2l0aW9uOiAiYWJzb2x1dGUiLCBkaXNwbGF5OiAiYmxvY2siLCB0b3A6ICItMTAwMHB4IiB9ICk7DQoJCSQuZGF0ZXBpY2tlci5fdXBkYXRlRGF0ZXBpY2tlciggaW5zdCApOw0KDQoJCS8vIGZpeCB3aWR0aCBmb3IgZHluYW1pYyBudW1iZXIgb2YgZGF0ZSBwaWNrZXJzDQoJCS8vIGFuZCBhZGp1c3QgcG9zaXRpb24gYmVmb3JlIHNob3dpbmcNCgkJb2Zmc2V0ID0gJC5kYXRlcGlja2VyLl9jaGVja09mZnNldCggaW5zdCwgb2Zmc2V0LCBpc0ZpeGVkICk7DQoJCWluc3QuZHBEaXYuY3NzKCB7IHBvc2l0aW9uOiAoICQuZGF0ZXBpY2tlci5faW5EaWFsb2cgJiYgJC5ibG9ja1VJID8NCgkJCSJzdGF0aWMiIDogKCBpc0ZpeGVkID8gImZpeGVkIiA6ICJhYnNvbHV0ZSIgKSApLCBkaXNwbGF5OiAibm9uZSIsDQoJCQlsZWZ0OiBvZmZzZXQubGVmdCArICJweCIsIHRvcDogb2Zmc2V0LnRvcCArICJweCIgfSApOw0KDQoJCWlmICggIWluc3QuaW5saW5lICkgew0KCQkJc2hvd0FuaW0gPSAkLmRhdGVwaWNrZXIuX2dldCggaW5zdCwgInNob3dBbmltIiApOw0KCQkJZHVyYXRpb24gPSAkLmRhdGVwaWNrZXIuX2dldCggaW5zdCwgImR1cmF0aW9uIiApOw0KCQkJaW5zdC5kcERpdi5jc3MoICJ6LWluZGV4IiwgZGF0ZXBpY2tlcl9nZXRaaW5kZXgoICQoIGlucHV0ICkgKSArIDEgKTsNCgkJCSQuZGF0ZXBpY2tlci5fZGF0ZXBpY2tlclNob3dpbmcgPSB0cnVlOw0KDQoJCQlpZiAoICQuZWZmZWN0cyAmJiAkLmVmZmVjdHMuZWZmZWN0WyBzaG93QW5pbSBdICkgew0KCQkJCWluc3QuZHBEaXYuc2hvdyggc2hvd0FuaW0sICQuZGF0ZXBpY2tlci5fZ2V0KCBpbnN0LCAic2hvd09wdGlvbnMiICksIGR1cmF0aW9uICk7DQoJCQl9IGVsc2Ugew0KCQkJCWluc3QuZHBEaXZbIHNob3dBbmltIHx8ICJzaG93IiBdKCBzaG93QW5pbSA/IGR1cmF0aW9uIDogbnVsbCApOw0KCQkJfQ0KDQoJCQlpZiAoICQuZGF0ZXBpY2tlci5fc2hvdWxkRm9jdXNJbnB1dCggaW5zdCApICkgew0KCQkJCWluc3QuaW5wdXQudHJpZ2dlciggImZvY3VzIiApOw0KCQkJfQ0KDQoJCQkkLmRhdGVwaWNrZXIuX2N1ckluc3QgPSBpbnN0Ow0KCQl9DQoJfSwNCg0KCS8qIEdlbmVyYXRlIHRoZSBkYXRlIHBpY2tlciBjb250ZW50LiAqLw0KCV91cGRhdGVEYXRlcGlja2VyOiBmdW5jdGlvbiggaW5zdCApIHsNCgkJdGhpcy5tYXhSb3dzID0gNDsgLy9SZXNldCB0aGUgbWF4IG51bWJlciBvZiByb3dzIGJlaW5nIGRpc3BsYXllZCAoc2VlICM3MDQzKQ0KCQlkYXRlcGlja2VyX2luc3RBY3RpdmUgPSBpbnN0OyAvLyBmb3IgZGVsZWdhdGUgaG92ZXIgZXZlbnRzDQoJCWluc3QuZHBEaXYuZW1wdHkoKS5hcHBlbmQoIHRoaXMuX2dlbmVyYXRlSFRNTCggaW5zdCApICk7DQoJCXRoaXMuX2F0dGFjaEhhbmRsZXJzKCBpbnN0ICk7DQoNCgkJdmFyIG9yaWd5ZWFyc2h0bWwsDQoJCQludW1Nb250aHMgPSB0aGlzLl9nZXROdW1iZXJPZk1vbnRocyggaW5zdCApLA0KCQkJY29scyA9IG51bU1vbnRoc1sgMSBdLA0KCQkJd2lkdGggPSAxNywNCgkJCWFjdGl2ZUNlbGwgPSBpbnN0LmRwRGl2LmZpbmQoICIuIiArIHRoaXMuX2RheU92ZXJDbGFzcyArICIgYSIgKTsNCg0KCQlpZiAoIGFjdGl2ZUNlbGwubGVuZ3RoID4gMCApIHsNCgkJCWRhdGVwaWNrZXJfaGFuZGxlTW91c2VvdmVyLmFwcGx5KCBhY3RpdmVDZWxsLmdldCggMCApICk7DQoJCX0NCg0KCQlpbnN0LmRwRGl2LnJlbW92ZUNsYXNzKCAidWktZGF0ZXBpY2tlci1tdWx0aS0yIHVpLWRhdGVwaWNrZXItbXVsdGktMyB1aS1kYXRlcGlja2VyLW11bHRpLTQiICkud2lkdGgoICIiICk7DQoJCWlmICggY29scyA+IDEgKSB7DQoJCQlpbnN0LmRwRGl2LmFkZENsYXNzKCAidWktZGF0ZXBpY2tlci1tdWx0aS0iICsgY29scyApLmNzcyggIndpZHRoIiwgKCB3aWR0aCAqIGNvbHMgKSArICJlbSIgKTsNCgkJfQ0KCQlpbnN0LmRwRGl2WyAoIG51bU1vbnRoc1sgMCBdICE9PSAxIHx8IG51bU1vbnRoc1sgMSBdICE9PSAxID8gImFkZCIgOiAicmVtb3ZlIiApICsNCgkJCSJDbGFzcyIgXSggInVpLWRhdGVwaWNrZXItbXVsdGkiICk7DQoJCWluc3QuZHBEaXZbICggdGhpcy5fZ2V0KCBpbnN0LCAiaXNSVEwiICkgPyAiYWRkIiA6ICJyZW1vdmUiICkgKw0KCQkJIkNsYXNzIiBdKCAidWktZGF0ZXBpY2tlci1ydGwiICk7DQoNCgkJaWYgKCBpbnN0ID09PSAkLmRhdGVwaWNrZXIuX2N1ckluc3QgJiYgJC5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2luZyAmJiAkLmRhdGVwaWNrZXIuX3Nob3VsZEZvY3VzSW5wdXQoIGluc3QgKSApIHsNCgkJCWluc3QuaW5wdXQudHJpZ2dlciggImZvY3VzIiApOw0KCQl9DQoNCgkJLy8gRGVmZmVyZWQgcmVuZGVyIG9mIHRoZSB5ZWFycyBzZWxlY3QgKHRvIGF2b2lkIGZsYXNoZXMgb24gRmlyZWZveCkNCgkJaWYgKCBpbnN0LnllYXJzaHRtbCApIHsNCgkJCW9yaWd5ZWFyc2h0bWwgPSBpbnN0LnllYXJzaHRtbDsNCgkJCXNldFRpbWVvdXQoIGZ1bmN0aW9uKCkgew0KDQoJCQkJLy9hc3N1cmUgdGhhdCBpbnN0LnllYXJzaHRtbCBkaWRuJ3QgY2hhbmdlLg0KCQkJCWlmICggb3JpZ3llYXJzaHRtbCA9PT0gaW5zdC55ZWFyc2h0bWwgJiYgaW5zdC55ZWFyc2h0bWwgKSB7DQoJCQkJCWluc3QuZHBEaXYuZmluZCggInNlbGVjdC51aS1kYXRlcGlja2VyLXllYXI6Zmlyc3QiICkucmVwbGFjZVdpdGgoIGluc3QueWVhcnNodG1sICk7DQoJCQkJfQ0KCQkJCW9yaWd5ZWFyc2h0bWwgPSBpbnN0LnllYXJzaHRtbCA9IG51bGw7DQoJCQl9LCAwICk7DQoJCX0NCgl9LA0KDQoJLy8gIzY2OTQgLSBkb24ndCBmb2N1cyB0aGUgaW5wdXQgaWYgaXQncyBhbHJlYWR5IGZvY3VzZWQNCgkvLyB0aGlzIGJyZWFrcyB0aGUgY2hhbmdlIGV2ZW50IGluIElFDQoJLy8gU3VwcG9ydDogSUUgYW5kIGpRdWVyeSA8MS45DQoJX3Nob3VsZEZvY3VzSW5wdXQ6IGZ1bmN0aW9uKCBpbnN0ICkgew0KCQlyZXR1cm4gaW5zdC5pbnB1dCAmJiBpbnN0LmlucHV0LmlzKCAiOnZpc2libGUiICkgJiYgIWluc3QuaW5wdXQuaXMoICI6ZGlzYWJsZWQiICkgJiYgIWluc3QuaW5wdXQuaXMoICI6Zm9jdXMiICk7DQoJfSwNCg0KCS8qIENoZWNrIHBvc2l0aW9uaW5nIHRvIHJlbWFpbiBvbiBzY3JlZW4uICovDQoJX2NoZWNrT2Zmc2V0OiBmdW5jdGlvbiggaW5zdCwgb2Zmc2V0LCBpc0ZpeGVkICkgew0KCQl2YXIgZHBXaWR0aCA9IGluc3QuZHBEaXYub3V0ZXJXaWR0aCgpLA0KCQkJZHBIZWlnaHQgPSBpbnN0LmRwRGl2Lm91dGVySGVpZ2h0KCksDQoJCQlpbnB1dFdpZHRoID0gaW5zdC5pbnB1dCA/IGluc3QuaW5wdXQub3V0ZXJXaWR0aCgpIDogMCwNCgkJCWlucHV0SGVpZ2h0ID0gaW5zdC5pbnB1dCA/IGluc3QuaW5wdXQub3V0ZXJIZWlnaHQoKSA6IDAsDQoJCQl2aWV3V2lkdGggPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggKyAoIGlzRml4ZWQgPyAwIDogJCggZG9jdW1lbnQgKS5zY3JvbGxMZWZ0KCkgKSwNCgkJCXZpZXdIZWlnaHQgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0ICsgKCBpc0ZpeGVkID8gMCA6ICQoIGRvY3VtZW50ICkuc2Nyb2xsVG9wKCkgKTsNCg0KCQlvZmZzZXQubGVmdCAtPSAoIHRoaXMuX2dldCggaW5zdCwgImlzUlRMIiApID8gKCBkcFdpZHRoIC0gaW5wdXRXaWR0aCApIDogMCApOw0KCQlvZmZzZXQubGVmdCAtPSAoIGlzRml4ZWQgJiYgb2Zmc2V0LmxlZnQgPT09IGluc3QuaW5wdXQub2Zmc2V0KCkubGVmdCApID8gJCggZG9jdW1lbnQgKS5zY3JvbGxMZWZ0KCkgOiAwOw0KCQlvZmZzZXQudG9wIC09ICggaXNGaXhlZCAmJiBvZmZzZXQudG9wID09PSAoIGluc3QuaW5wdXQub2Zmc2V0KCkudG9wICsgaW5wdXRIZWlnaHQgKSApID8gJCggZG9jdW1lbnQgKS5zY3JvbGxUb3AoKSA6IDA7DQoNCgkJLy8gTm93IGNoZWNrIGlmIGRhdGVwaWNrZXIgaXMgc2hvd2luZyBvdXRzaWRlIHdpbmRvdyB2aWV3cG9ydCAtIG1vdmUgdG8gYSBiZXR0ZXIgcGxhY2UgaWYgc28uDQoJCW9mZnNldC5sZWZ0IC09IE1hdGgubWluKCBvZmZzZXQubGVmdCwgKCBvZmZzZXQubGVmdCArIGRwV2lkdGggPiB2aWV3V2lkdGggJiYgdmlld1dpZHRoID4gZHBXaWR0aCApID8NCgkJCU1hdGguYWJzKCBvZmZzZXQubGVmdCArIGRwV2lkdGggLSB2aWV3V2lkdGggKSA6IDAgKTsNCgkJb2Zmc2V0LnRvcCAtPSBNYXRoLm1pbiggb2Zmc2V0LnRvcCwgKCBvZmZzZXQudG9wICsgZHBIZWlnaHQgPiB2aWV3SGVpZ2h0ICYmIHZpZXdIZWlnaHQgPiBkcEhlaWdodCApID8NCgkJCU1hdGguYWJzKCBkcEhlaWdodCArIGlucHV0SGVpZ2h0ICkgOiAwICk7DQoNCgkJcmV0dXJuIG9mZnNldDsNCgl9LA0KDQoJLyogRmluZCBhbiBvYmplY3QncyBwb3NpdGlvbiBvbiB0aGUgc2NyZWVuLiAqLw0KCV9maW5kUG9zOiBmdW5jdGlvbiggb2JqICkgew0KCQl2YXIgcG9zaXRpb24sDQoJCQlpbnN0ID0gdGhpcy5fZ2V0SW5zdCggb2JqICksDQoJCQlpc1JUTCA9IHRoaXMuX2dldCggaW5zdCwgImlzUlRMIiApOw0KDQoJCXdoaWxlICggb2JqICYmICggb2JqLnR5cGUgPT09ICJoaWRkZW4iIHx8IG9iai5ub2RlVHlwZSAhPT0gMSB8fCAkLmV4cHIuZmlsdGVycy5oaWRkZW4oIG9iaiApICkgKSB7DQoJCQlvYmogPSBvYmpbIGlzUlRMID8gInByZXZpb3VzU2libGluZyIgOiAibmV4dFNpYmxpbmciIF07DQoJCX0NCg0KCQlwb3NpdGlvbiA9ICQoIG9iaiApLm9mZnNldCgpOw0KCQlyZXR1cm4gWyBwb3NpdGlvbi5sZWZ0LCBwb3NpdGlvbi50b3AgXTsNCgl9LA0KDQoJLyogSGlkZSB0aGUgZGF0ZSBwaWNrZXIgZnJvbSB2aWV3Lg0KCSAqIEBwYXJhbSAgaW5wdXQgIGVsZW1lbnQgLSB0aGUgaW5wdXQgZmllbGQgYXR0YWNoZWQgdG8gdGhlIGRhdGUgcGlja2VyDQoJICovDQoJX2hpZGVEYXRlcGlja2VyOiBmdW5jdGlvbiggaW5wdXQgKSB7DQoJCXZhciBzaG93QW5pbSwgZHVyYXRpb24sIHBvc3RQcm9jZXNzLCBvbkNsb3NlLA0KCQkJaW5zdCA9IHRoaXMuX2N1ckluc3Q7DQoNCgkJaWYgKCAhaW5zdCB8fCAoIGlucHV0ICYmIGluc3QgIT09ICQuZGF0YSggaW5wdXQsICJkYXRlcGlja2VyIiApICkgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlpZiAoIHRoaXMuX2RhdGVwaWNrZXJTaG93aW5nICkgew0KCQkJc2hvd0FuaW0gPSB0aGlzLl9nZXQoIGluc3QsICJzaG93QW5pbSIgKTsNCgkJCWR1cmF0aW9uID0gdGhpcy5fZ2V0KCBpbnN0LCAiZHVyYXRpb24iICk7DQoJCQlwb3N0UHJvY2VzcyA9IGZ1bmN0aW9uKCkgew0KCQkJCSQuZGF0ZXBpY2tlci5fdGlkeURpYWxvZyggaW5zdCApOw0KCQkJfTsNCg0KCQkJLy8gREVQUkVDQVRFRDogYWZ0ZXIgQkMgZm9yIDEuOC54ICQuZWZmZWN0c1sgc2hvd0FuaW0gXSBpcyBub3QgbmVlZGVkDQoJCQlpZiAoICQuZWZmZWN0cyAmJiAoICQuZWZmZWN0cy5lZmZlY3RbIHNob3dBbmltIF0gfHwgJC5lZmZlY3RzWyBzaG93QW5pbSBdICkgKSB7DQoJCQkJaW5zdC5kcERpdi5oaWRlKCBzaG93QW5pbSwgJC5kYXRlcGlja2VyLl9nZXQoIGluc3QsICJzaG93T3B0aW9ucyIgKSwgZHVyYXRpb24sIHBvc3RQcm9jZXNzICk7DQoJCQl9IGVsc2Ugew0KCQkJCWluc3QuZHBEaXZbICggc2hvd0FuaW0gPT09ICJzbGlkZURvd24iID8gInNsaWRlVXAiIDoNCgkJCQkJKCBzaG93QW5pbSA9PT0gImZhZGVJbiIgPyAiZmFkZU91dCIgOiAiaGlkZSIgKSApIF0oICggc2hvd0FuaW0gPyBkdXJhdGlvbiA6IG51bGwgKSwgcG9zdFByb2Nlc3MgKTsNCgkJCX0NCg0KCQkJaWYgKCAhc2hvd0FuaW0gKSB7DQoJCQkJcG9zdFByb2Nlc3MoKTsNCgkJCX0NCgkJCXRoaXMuX2RhdGVwaWNrZXJTaG93aW5nID0gZmFsc2U7DQoNCgkJCW9uQ2xvc2UgPSB0aGlzLl9nZXQoIGluc3QsICJvbkNsb3NlIiApOw0KCQkJaWYgKCBvbkNsb3NlICkgew0KCQkJCW9uQ2xvc2UuYXBwbHkoICggaW5zdC5pbnB1dCA/IGluc3QuaW5wdXRbIDAgXSA6IG51bGwgKSwgWyAoIGluc3QuaW5wdXQgPyBpbnN0LmlucHV0LnZhbCgpIDogIiIgKSwgaW5zdCBdICk7DQoJCQl9DQoNCgkJCXRoaXMuX2xhc3RJbnB1dCA9IG51bGw7DQoJCQlpZiAoIHRoaXMuX2luRGlhbG9nICkgew0KCQkJCXRoaXMuX2RpYWxvZ0lucHV0LmNzcyggeyBwb3NpdGlvbjogImFic29sdXRlIiwgbGVmdDogIjAiLCB0b3A6ICItMTAwcHgiIH0gKTsNCgkJCQlpZiAoICQuYmxvY2tVSSApIHsNCgkJCQkJJC51bmJsb2NrVUkoKTsNCgkJCQkJJCggImJvZHkiICkuYXBwZW5kKCB0aGlzLmRwRGl2ICk7DQoJCQkJfQ0KCQkJfQ0KCQkJdGhpcy5faW5EaWFsb2cgPSBmYWxzZTsNCgkJfQ0KCX0sDQoNCgkvKiBUaWR5IHVwIGFmdGVyIGEgZGlhbG9nIGRpc3BsYXkuICovDQoJX3RpZHlEaWFsb2c6IGZ1bmN0aW9uKCBpbnN0ICkgew0KCQlpbnN0LmRwRGl2LnJlbW92ZUNsYXNzKCB0aGlzLl9kaWFsb2dDbGFzcyApLm9mZiggIi51aS1kYXRlcGlja2VyLWNhbGVuZGFyIiApOw0KCX0sDQoNCgkvKiBDbG9zZSBkYXRlIHBpY2tlciBpZiBjbGlja2VkIGVsc2V3aGVyZS4gKi8NCglfY2hlY2tFeHRlcm5hbENsaWNrOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCWlmICggISQuZGF0ZXBpY2tlci5fY3VySW5zdCApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCXZhciAkdGFyZ2V0ID0gJCggZXZlbnQudGFyZ2V0ICksDQoJCQlpbnN0ID0gJC5kYXRlcGlja2VyLl9nZXRJbnN0KCAkdGFyZ2V0WyAwIF0gKTsNCg0KCQlpZiAoICggKCAkdGFyZ2V0WyAwIF0uaWQgIT09ICQuZGF0ZXBpY2tlci5fbWFpbkRpdklkICYmDQoJCQkJJHRhcmdldC5wYXJlbnRzKCAiIyIgKyAkLmRhdGVwaWNrZXIuX21haW5EaXZJZCApLmxlbmd0aCA9PT0gMCAmJg0KCQkJCSEkdGFyZ2V0Lmhhc0NsYXNzKCAkLmRhdGVwaWNrZXIubWFya2VyQ2xhc3NOYW1lICkgJiYNCgkJCQkhJHRhcmdldC5jbG9zZXN0KCAiLiIgKyAkLmRhdGVwaWNrZXIuX3RyaWdnZXJDbGFzcyApLmxlbmd0aCAmJg0KCQkJCSQuZGF0ZXBpY2tlci5fZGF0ZXBpY2tlclNob3dpbmcgJiYgISggJC5kYXRlcGlja2VyLl9pbkRpYWxvZyAmJiAkLmJsb2NrVUkgKSApICkgfHwNCgkJCSggJHRhcmdldC5oYXNDbGFzcyggJC5kYXRlcGlja2VyLm1hcmtlckNsYXNzTmFtZSApICYmICQuZGF0ZXBpY2tlci5fY3VySW5zdCAhPT0gaW5zdCApICkgew0KCQkJCSQuZGF0ZXBpY2tlci5faGlkZURhdGVwaWNrZXIoKTsNCgkJfQ0KCX0sDQoNCgkvKiBBZGp1c3Qgb25lIG9mIHRoZSBkYXRlIHN1Yi1maWVsZHMuICovDQoJX2FkanVzdERhdGU6IGZ1bmN0aW9uKCBpZCwgb2Zmc2V0LCBwZXJpb2QgKSB7DQoJCXZhciB0YXJnZXQgPSAkKCBpZCApLA0KCQkJaW5zdCA9IHRoaXMuX2dldEluc3QoIHRhcmdldFsgMCBdICk7DQoNCgkJaWYgKCB0aGlzLl9pc0Rpc2FibGVkRGF0ZXBpY2tlciggdGFyZ2V0WyAwIF0gKSApIHsNCgkJCXJldHVybjsNCgkJfQ0KCQl0aGlzLl9hZGp1c3RJbnN0RGF0ZSggaW5zdCwgb2Zmc2V0ICsNCgkJCSggcGVyaW9kID09PSAiTSIgPyB0aGlzLl9nZXQoIGluc3QsICJzaG93Q3VycmVudEF0UG9zIiApIDogMCApLCAvLyB1bmRvIHBvc2l0aW9uaW5nDQoJCQlwZXJpb2QgKTsNCgkJdGhpcy5fdXBkYXRlRGF0ZXBpY2tlciggaW5zdCApOw0KCX0sDQoNCgkvKiBBY3Rpb24gZm9yIGN1cnJlbnQgbGluay4gKi8NCglfZ290b1RvZGF5OiBmdW5jdGlvbiggaWQgKSB7DQoJCXZhciBkYXRlLA0KCQkJdGFyZ2V0ID0gJCggaWQgKSwNCgkJCWluc3QgPSB0aGlzLl9nZXRJbnN0KCB0YXJnZXRbIDAgXSApOw0KDQoJCWlmICggdGhpcy5fZ2V0KCBpbnN0LCAiZ290b0N1cnJlbnQiICkgJiYgaW5zdC5jdXJyZW50RGF5ICkgew0KCQkJaW5zdC5zZWxlY3RlZERheSA9IGluc3QuY3VycmVudERheTsNCgkJCWluc3QuZHJhd01vbnRoID0gaW5zdC5zZWxlY3RlZE1vbnRoID0gaW5zdC5jdXJyZW50TW9udGg7DQoJCQlpbnN0LmRyYXdZZWFyID0gaW5zdC5zZWxlY3RlZFllYXIgPSBpbnN0LmN1cnJlbnRZZWFyOw0KCQl9IGVsc2Ugew0KCQkJZGF0ZSA9IG5ldyBEYXRlKCk7DQoJCQlpbnN0LnNlbGVjdGVkRGF5ID0gZGF0ZS5nZXREYXRlKCk7DQoJCQlpbnN0LmRyYXdNb250aCA9IGluc3Quc2VsZWN0ZWRNb250aCA9IGRhdGUuZ2V0TW9udGgoKTsNCgkJCWluc3QuZHJhd1llYXIgPSBpbnN0LnNlbGVjdGVkWWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKTsNCgkJfQ0KCQl0aGlzLl9ub3RpZnlDaGFuZ2UoIGluc3QgKTsNCgkJdGhpcy5fYWRqdXN0RGF0ZSggdGFyZ2V0ICk7DQoJfSwNCg0KCS8qIEFjdGlvbiBmb3Igc2VsZWN0aW5nIGEgbmV3IG1vbnRoL3llYXIuICovDQoJX3NlbGVjdE1vbnRoWWVhcjogZnVuY3Rpb24oIGlkLCBzZWxlY3QsIHBlcmlvZCApIHsNCgkJdmFyIHRhcmdldCA9ICQoIGlkICksDQoJCQlpbnN0ID0gdGhpcy5fZ2V0SW5zdCggdGFyZ2V0WyAwIF0gKTsNCg0KCQlpbnN0WyAic2VsZWN0ZWQiICsgKCBwZXJpb2QgPT09ICJNIiA/ICJNb250aCIgOiAiWWVhciIgKSBdID0NCgkJaW5zdFsgImRyYXciICsgKCBwZXJpb2QgPT09ICJNIiA/ICJNb250aCIgOiAiWWVhciIgKSBdID0NCgkJCXBhcnNlSW50KCBzZWxlY3Qub3B0aW9uc1sgc2VsZWN0LnNlbGVjdGVkSW5kZXggXS52YWx1ZSwgMTAgKTsNCg0KCQl0aGlzLl9ub3RpZnlDaGFuZ2UoIGluc3QgKTsNCgkJdGhpcy5fYWRqdXN0RGF0ZSggdGFyZ2V0ICk7DQoJfSwNCg0KCS8qIEFjdGlvbiBmb3Igc2VsZWN0aW5nIGEgZGF5LiAqLw0KCV9zZWxlY3REYXk6IGZ1bmN0aW9uKCBpZCwgbW9udGgsIHllYXIsIHRkICkgew0KCQl2YXIgaW5zdCwNCgkJCXRhcmdldCA9ICQoIGlkICk7DQoNCgkJaWYgKCAkKCB0ZCApLmhhc0NsYXNzKCB0aGlzLl91bnNlbGVjdGFibGVDbGFzcyApIHx8IHRoaXMuX2lzRGlzYWJsZWREYXRlcGlja2VyKCB0YXJnZXRbIDAgXSApICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJaW5zdCA9IHRoaXMuX2dldEluc3QoIHRhcmdldFsgMCBdICk7DQoJCWluc3Quc2VsZWN0ZWREYXkgPSBpbnN0LmN1cnJlbnREYXkgPSAkKCAiYSIsIHRkICkuaHRtbCgpOw0KCQlpbnN0LnNlbGVjdGVkTW9udGggPSBpbnN0LmN1cnJlbnRNb250aCA9IG1vbnRoOw0KCQlpbnN0LnNlbGVjdGVkWWVhciA9IGluc3QuY3VycmVudFllYXIgPSB5ZWFyOw0KCQl0aGlzLl9zZWxlY3REYXRlKCBpZCwgdGhpcy5fZm9ybWF0RGF0ZSggaW5zdCwNCgkJCWluc3QuY3VycmVudERheSwgaW5zdC5jdXJyZW50TW9udGgsIGluc3QuY3VycmVudFllYXIgKSApOw0KCX0sDQoNCgkvKiBFcmFzZSB0aGUgaW5wdXQgZmllbGQgYW5kIGhpZGUgdGhlIGRhdGUgcGlja2VyLiAqLw0KCV9jbGVhckRhdGU6IGZ1bmN0aW9uKCBpZCApIHsNCgkJdmFyIHRhcmdldCA9ICQoIGlkICk7DQoJCXRoaXMuX3NlbGVjdERhdGUoIHRhcmdldCwgIiIgKTsNCgl9LA0KDQoJLyogVXBkYXRlIHRoZSBpbnB1dCBmaWVsZCB3aXRoIHRoZSBzZWxlY3RlZCBkYXRlLiAqLw0KCV9zZWxlY3REYXRlOiBmdW5jdGlvbiggaWQsIGRhdGVTdHIgKSB7DQoJCXZhciBvblNlbGVjdCwNCgkJCXRhcmdldCA9ICQoIGlkICksDQoJCQlpbnN0ID0gdGhpcy5fZ2V0SW5zdCggdGFyZ2V0WyAwIF0gKTsNCg0KCQlkYXRlU3RyID0gKCBkYXRlU3RyICE9IG51bGwgPyBkYXRlU3RyIDogdGhpcy5fZm9ybWF0RGF0ZSggaW5zdCApICk7DQoJCWlmICggaW5zdC5pbnB1dCApIHsNCgkJCWluc3QuaW5wdXQudmFsKCBkYXRlU3RyICk7DQoJCX0NCgkJdGhpcy5fdXBkYXRlQWx0ZXJuYXRlKCBpbnN0ICk7DQoNCgkJb25TZWxlY3QgPSB0aGlzLl9nZXQoIGluc3QsICJvblNlbGVjdCIgKTsNCgkJaWYgKCBvblNlbGVjdCApIHsNCgkJCW9uU2VsZWN0LmFwcGx5KCAoIGluc3QuaW5wdXQgPyBpbnN0LmlucHV0WyAwIF0gOiBudWxsICksIFsgZGF0ZVN0ciwgaW5zdCBdICk7ICAvLyB0cmlnZ2VyIGN1c3RvbSBjYWxsYmFjaw0KCQl9IGVsc2UgaWYgKCBpbnN0LmlucHV0ICkgew0KCQkJaW5zdC5pbnB1dC50cmlnZ2VyKCAiY2hhbmdlIiApOyAvLyBmaXJlIHRoZSBjaGFuZ2UgZXZlbnQNCgkJfQ0KDQoJCWlmICggaW5zdC5pbmxpbmUgKSB7DQoJCQl0aGlzLl91cGRhdGVEYXRlcGlja2VyKCBpbnN0ICk7DQoJCX0gZWxzZSB7DQoJCQl0aGlzLl9oaWRlRGF0ZXBpY2tlcigpOw0KCQkJdGhpcy5fbGFzdElucHV0ID0gaW5zdC5pbnB1dFsgMCBdOw0KCQkJaWYgKCB0eXBlb2YoIGluc3QuaW5wdXRbIDAgXSApICE9PSAib2JqZWN0IiApIHsNCgkJCQlpbnN0LmlucHV0LnRyaWdnZXIoICJmb2N1cyIgKTsgLy8gcmVzdG9yZSBmb2N1cw0KCQkJfQ0KCQkJdGhpcy5fbGFzdElucHV0ID0gbnVsbDsNCgkJfQ0KCX0sDQoNCgkvKiBVcGRhdGUgYW55IGFsdGVybmF0ZSBmaWVsZCB0byBzeW5jaHJvbmlzZSB3aXRoIHRoZSBtYWluIGZpZWxkLiAqLw0KCV91cGRhdGVBbHRlcm5hdGU6IGZ1bmN0aW9uKCBpbnN0ICkgew0KCQl2YXIgYWx0Rm9ybWF0LCBkYXRlLCBkYXRlU3RyLA0KCQkJYWx0RmllbGQgPSB0aGlzLl9nZXQoIGluc3QsICJhbHRGaWVsZCIgKTsNCg0KCQlpZiAoIGFsdEZpZWxkICkgeyAvLyB1cGRhdGUgYWx0ZXJuYXRlIGZpZWxkIHRvbw0KCQkJYWx0Rm9ybWF0ID0gdGhpcy5fZ2V0KCBpbnN0LCAiYWx0Rm9ybWF0IiApIHx8IHRoaXMuX2dldCggaW5zdCwgImRhdGVGb3JtYXQiICk7DQoJCQlkYXRlID0gdGhpcy5fZ2V0RGF0ZSggaW5zdCApOw0KCQkJZGF0ZVN0ciA9IHRoaXMuZm9ybWF0RGF0ZSggYWx0Rm9ybWF0LCBkYXRlLCB0aGlzLl9nZXRGb3JtYXRDb25maWcoIGluc3QgKSApOw0KCQkJJCggYWx0RmllbGQgKS52YWwoIGRhdGVTdHIgKTsNCgkJfQ0KCX0sDQoNCgkvKiBTZXQgYXMgYmVmb3JlU2hvd0RheSBmdW5jdGlvbiB0byBwcmV2ZW50IHNlbGVjdGlvbiBvZiB3ZWVrZW5kcy4NCgkgKiBAcGFyYW0gIGRhdGUgIERhdGUgLSB0aGUgZGF0ZSB0byBjdXN0b21pc2UNCgkgKiBAcmV0dXJuIFtib29sZWFuLCBzdHJpbmddIC0gaXMgdGhpcyBkYXRlIHNlbGVjdGFibGU/LCB3aGF0IGlzIGl0cyBDU1MgY2xhc3M/DQoJICovDQoJbm9XZWVrZW5kczogZnVuY3Rpb24oIGRhdGUgKSB7DQoJCXZhciBkYXkgPSBkYXRlLmdldERheSgpOw0KCQlyZXR1cm4gWyAoIGRheSA+IDAgJiYgZGF5IDwgNiApLCAiIiBdOw0KCX0sDQoNCgkvKiBTZXQgYXMgY2FsY3VsYXRlV2VlayB0byBkZXRlcm1pbmUgdGhlIHdlZWsgb2YgdGhlIHllYXIgYmFzZWQgb24gdGhlIElTTyA4NjAxIGRlZmluaXRpb24uDQoJICogQHBhcmFtICBkYXRlICBEYXRlIC0gdGhlIGRhdGUgdG8gZ2V0IHRoZSB3ZWVrIGZvcg0KCSAqIEByZXR1cm4gIG51bWJlciAtIHRoZSBudW1iZXIgb2YgdGhlIHdlZWsgd2l0aGluIHRoZSB5ZWFyIHRoYXQgY29udGFpbnMgdGhpcyBkYXRlDQoJICovDQoJaXNvODYwMVdlZWs6IGZ1bmN0aW9uKCBkYXRlICkgew0KCQl2YXIgdGltZSwNCgkJCWNoZWNrRGF0ZSA9IG5ldyBEYXRlKCBkYXRlLmdldFRpbWUoKSApOw0KDQoJCS8vIEZpbmQgVGh1cnNkYXkgb2YgdGhpcyB3ZWVrIHN0YXJ0aW5nIG9uIE1vbmRheQ0KCQljaGVja0RhdGUuc2V0RGF0ZSggY2hlY2tEYXRlLmdldERhdGUoKSArIDQgLSAoIGNoZWNrRGF0ZS5nZXREYXkoKSB8fCA3ICkgKTsNCg0KCQl0aW1lID0gY2hlY2tEYXRlLmdldFRpbWUoKTsNCgkJY2hlY2tEYXRlLnNldE1vbnRoKCAwICk7IC8vIENvbXBhcmUgd2l0aCBKYW4gMQ0KCQljaGVja0RhdGUuc2V0RGF0ZSggMSApOw0KCQlyZXR1cm4gTWF0aC5mbG9vciggTWF0aC5yb3VuZCggKCB0aW1lIC0gY2hlY2tEYXRlICkgLyA4NjQwMDAwMCApIC8gNyApICsgMTsNCgl9LA0KDQoJLyogUGFyc2UgYSBzdHJpbmcgdmFsdWUgaW50byBhIGRhdGUgb2JqZWN0Lg0KCSAqIFNlZSBmb3JtYXREYXRlIGJlbG93IGZvciB0aGUgcG9zc2libGUgZm9ybWF0cy4NCgkgKg0KCSAqIEBwYXJhbSAgZm9ybWF0IHN0cmluZyAtIHRoZSBleHBlY3RlZCBmb3JtYXQgb2YgdGhlIGRhdGUNCgkgKiBAcGFyYW0gIHZhbHVlIHN0cmluZyAtIHRoZSBkYXRlIGluIHRoZSBhYm92ZSBmb3JtYXQNCgkgKiBAcGFyYW0gIHNldHRpbmdzIE9iamVjdCAtIGF0dHJpYnV0ZXMgaW5jbHVkZToNCgkgKgkJCQkJc2hvcnRZZWFyQ3V0b2ZmICBudW1iZXIgLSB0aGUgY3V0b2ZmIHllYXIgZm9yIGRldGVybWluaW5nIHRoZSBjZW50dXJ5IChvcHRpb25hbCkNCgkgKgkJCQkJZGF5TmFtZXNTaG9ydAlzdHJpbmdbN10gLSBhYmJyZXZpYXRlZCBuYW1lcyBvZiB0aGUgZGF5cyBmcm9tIFN1bmRheSAob3B0aW9uYWwpDQoJICoJCQkJCWRheU5hbWVzCQlzdHJpbmdbN10gLSBuYW1lcyBvZiB0aGUgZGF5cyBmcm9tIFN1bmRheSAob3B0aW9uYWwpDQoJICoJCQkJCW1vbnRoTmFtZXNTaG9ydCBzdHJpbmdbMTJdIC0gYWJicmV2aWF0ZWQgbmFtZXMgb2YgdGhlIG1vbnRocyAob3B0aW9uYWwpDQoJICoJCQkJCW1vbnRoTmFtZXMJCXN0cmluZ1sxMl0gLSBuYW1lcyBvZiB0aGUgbW9udGhzIChvcHRpb25hbCkNCgkgKiBAcmV0dXJuICBEYXRlIC0gdGhlIGV4dHJhY3RlZCBkYXRlIHZhbHVlIG9yIG51bGwgaWYgdmFsdWUgaXMgYmxhbmsNCgkgKi8NCglwYXJzZURhdGU6IGZ1bmN0aW9uKCBmb3JtYXQsIHZhbHVlLCBzZXR0aW5ncyApIHsNCgkJaWYgKCBmb3JtYXQgPT0gbnVsbCB8fCB2YWx1ZSA9PSBudWxsICkgew0KCQkJdGhyb3cgIkludmFsaWQgYXJndW1lbnRzIjsNCgkJfQ0KDQoJCXZhbHVlID0gKCB0eXBlb2YgdmFsdWUgPT09ICJvYmplY3QiID8gdmFsdWUudG9TdHJpbmcoKSA6IHZhbHVlICsgIiIgKTsNCgkJaWYgKCB2YWx1ZSA9PT0gIiIgKSB7DQoJCQlyZXR1cm4gbnVsbDsNCgkJfQ0KDQoJCXZhciBpRm9ybWF0LCBkaW0sIGV4dHJhLA0KCQkJaVZhbHVlID0gMCwNCgkJCXNob3J0WWVhckN1dG9mZlRlbXAgPSAoIHNldHRpbmdzID8gc2V0dGluZ3Muc2hvcnRZZWFyQ3V0b2ZmIDogbnVsbCApIHx8IHRoaXMuX2RlZmF1bHRzLnNob3J0WWVhckN1dG9mZiwNCgkJCXNob3J0WWVhckN1dG9mZiA9ICggdHlwZW9mIHNob3J0WWVhckN1dG9mZlRlbXAgIT09ICJzdHJpbmciID8gc2hvcnRZZWFyQ3V0b2ZmVGVtcCA6DQoJCQkJbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpICUgMTAwICsgcGFyc2VJbnQoIHNob3J0WWVhckN1dG9mZlRlbXAsIDEwICkgKSwNCgkJCWRheU5hbWVzU2hvcnQgPSAoIHNldHRpbmdzID8gc2V0dGluZ3MuZGF5TmFtZXNTaG9ydCA6IG51bGwgKSB8fCB0aGlzLl9kZWZhdWx0cy5kYXlOYW1lc1Nob3J0LA0KCQkJZGF5TmFtZXMgPSAoIHNldHRpbmdzID8gc2V0dGluZ3MuZGF5TmFtZXMgOiBudWxsICkgfHwgdGhpcy5fZGVmYXVsdHMuZGF5TmFtZXMsDQoJCQltb250aE5hbWVzU2hvcnQgPSAoIHNldHRpbmdzID8gc2V0dGluZ3MubW9udGhOYW1lc1Nob3J0IDogbnVsbCApIHx8IHRoaXMuX2RlZmF1bHRzLm1vbnRoTmFtZXNTaG9ydCwNCgkJCW1vbnRoTmFtZXMgPSAoIHNldHRpbmdzID8gc2V0dGluZ3MubW9udGhOYW1lcyA6IG51bGwgKSB8fCB0aGlzLl9kZWZhdWx0cy5tb250aE5hbWVzLA0KCQkJeWVhciA9IC0xLA0KCQkJbW9udGggPSAtMSwNCgkJCWRheSA9IC0xLA0KCQkJZG95ID0gLTEsDQoJCQlsaXRlcmFsID0gZmFsc2UsDQoJCQlkYXRlLA0KDQoJCQkvLyBDaGVjayB3aGV0aGVyIGEgZm9ybWF0IGNoYXJhY3RlciBpcyBkb3VibGVkDQoJCQlsb29rQWhlYWQgPSBmdW5jdGlvbiggbWF0Y2ggKSB7DQoJCQkJdmFyIG1hdGNoZXMgPSAoIGlGb3JtYXQgKyAxIDwgZm9ybWF0Lmxlbmd0aCAmJiBmb3JtYXQuY2hhckF0KCBpRm9ybWF0ICsgMSApID09PSBtYXRjaCApOw0KCQkJCWlmICggbWF0Y2hlcyApIHsNCgkJCQkJaUZvcm1hdCsrOw0KCQkJCX0NCgkJCQlyZXR1cm4gbWF0Y2hlczsNCgkJCX0sDQoNCgkJCS8vIEV4dHJhY3QgYSBudW1iZXIgZnJvbSB0aGUgc3RyaW5nIHZhbHVlDQoJCQlnZXROdW1iZXIgPSBmdW5jdGlvbiggbWF0Y2ggKSB7DQoJCQkJdmFyIGlzRG91YmxlZCA9IGxvb2tBaGVhZCggbWF0Y2ggKSwNCgkJCQkJc2l6ZSA9ICggbWF0Y2ggPT09ICJAIiA/IDE0IDogKCBtYXRjaCA9PT0gIiEiID8gMjAgOg0KCQkJCQkoIG1hdGNoID09PSAieSIgJiYgaXNEb3VibGVkID8gNCA6ICggbWF0Y2ggPT09ICJvIiA/IDMgOiAyICkgKSApICksDQoJCQkJCW1pblNpemUgPSAoIG1hdGNoID09PSAieSIgPyBzaXplIDogMSApLA0KCQkJCQlkaWdpdHMgPSBuZXcgUmVnRXhwKCAiXlxcZHsiICsgbWluU2l6ZSArICIsIiArIHNpemUgKyAifSIgKSwNCgkJCQkJbnVtID0gdmFsdWUuc3Vic3RyaW5nKCBpVmFsdWUgKS5tYXRjaCggZGlnaXRzICk7DQoJCQkJaWYgKCAhbnVtICkgew0KCQkJCQl0aHJvdyAiTWlzc2luZyBudW1iZXIgYXQgcG9zaXRpb24gIiArIGlWYWx1ZTsNCgkJCQl9DQoJCQkJaVZhbHVlICs9IG51bVsgMCBdLmxlbmd0aDsNCgkJCQlyZXR1cm4gcGFyc2VJbnQoIG51bVsgMCBdLCAxMCApOw0KCQkJfSwNCg0KCQkJLy8gRXh0cmFjdCBhIG5hbWUgZnJvbSB0aGUgc3RyaW5nIHZhbHVlIGFuZCBjb252ZXJ0IHRvIGFuIGluZGV4DQoJCQlnZXROYW1lID0gZnVuY3Rpb24oIG1hdGNoLCBzaG9ydE5hbWVzLCBsb25nTmFtZXMgKSB7DQoJCQkJdmFyIGluZGV4ID0gLTEsDQoJCQkJCW5hbWVzID0gJC5tYXAoIGxvb2tBaGVhZCggbWF0Y2ggKSA/IGxvbmdOYW1lcyA6IHNob3J0TmFtZXMsIGZ1bmN0aW9uKCB2LCBrICkgew0KCQkJCQkJcmV0dXJuIFsgWyBrLCB2IF0gXTsNCgkJCQkJfSApLnNvcnQoIGZ1bmN0aW9uKCBhLCBiICkgew0KCQkJCQkJcmV0dXJuIC0oIGFbIDEgXS5sZW5ndGggLSBiWyAxIF0ubGVuZ3RoICk7DQoJCQkJCX0gKTsNCg0KCQkJCSQuZWFjaCggbmFtZXMsIGZ1bmN0aW9uKCBpLCBwYWlyICkgew0KCQkJCQl2YXIgbmFtZSA9IHBhaXJbIDEgXTsNCgkJCQkJaWYgKCB2YWx1ZS5zdWJzdHIoIGlWYWx1ZSwgbmFtZS5sZW5ndGggKS50b0xvd2VyQ2FzZSgpID09PSBuYW1lLnRvTG93ZXJDYXNlKCkgKSB7DQoJCQkJCQlpbmRleCA9IHBhaXJbIDAgXTsNCgkJCQkJCWlWYWx1ZSArPSBuYW1lLmxlbmd0aDsNCgkJCQkJCXJldHVybiBmYWxzZTsNCgkJCQkJfQ0KCQkJCX0gKTsNCgkJCQlpZiAoIGluZGV4ICE9PSAtMSApIHsNCgkJCQkJcmV0dXJuIGluZGV4ICsgMTsNCgkJCQl9IGVsc2Ugew0KCQkJCQl0aHJvdyAiVW5rbm93biBuYW1lIGF0IHBvc2l0aW9uICIgKyBpVmFsdWU7DQoJCQkJfQ0KCQkJfSwNCg0KCQkJLy8gQ29uZmlybSB0aGF0IGEgbGl0ZXJhbCBjaGFyYWN0ZXIgbWF0Y2hlcyB0aGUgc3RyaW5nIHZhbHVlDQoJCQljaGVja0xpdGVyYWwgPSBmdW5jdGlvbigpIHsNCgkJCQlpZiAoIHZhbHVlLmNoYXJBdCggaVZhbHVlICkgIT09IGZvcm1hdC5jaGFyQXQoIGlGb3JtYXQgKSApIHsNCgkJCQkJdGhyb3cgIlVuZXhwZWN0ZWQgbGl0ZXJhbCBhdCBwb3NpdGlvbiAiICsgaVZhbHVlOw0KCQkJCX0NCgkJCQlpVmFsdWUrKzsNCgkJCX07DQoNCgkJZm9yICggaUZvcm1hdCA9IDA7IGlGb3JtYXQgPCBmb3JtYXQubGVuZ3RoOyBpRm9ybWF0KysgKSB7DQoJCQlpZiAoIGxpdGVyYWwgKSB7DQoJCQkJaWYgKCBmb3JtYXQuY2hhckF0KCBpRm9ybWF0ICkgPT09ICInIiAmJiAhbG9va0FoZWFkKCAiJyIgKSApIHsNCgkJCQkJbGl0ZXJhbCA9IGZhbHNlOw0KCQkJCX0gZWxzZSB7DQoJCQkJCWNoZWNrTGl0ZXJhbCgpOw0KCQkJCX0NCgkJCX0gZWxzZSB7DQoJCQkJc3dpdGNoICggZm9ybWF0LmNoYXJBdCggaUZvcm1hdCApICkgew0KCQkJCQljYXNlICJkIjoNCgkJCQkJCWRheSA9IGdldE51bWJlciggImQiICk7DQoJCQkJCQlicmVhazsNCgkJCQkJY2FzZSAiRCI6DQoJCQkJCQlnZXROYW1lKCAiRCIsIGRheU5hbWVzU2hvcnQsIGRheU5hbWVzICk7DQoJCQkJCQlicmVhazsNCgkJCQkJY2FzZSAibyI6DQoJCQkJCQlkb3kgPSBnZXROdW1iZXIoICJvIiApOw0KCQkJCQkJYnJlYWs7DQoJCQkJCWNhc2UgIm0iOg0KCQkJCQkJbW9udGggPSBnZXROdW1iZXIoICJtIiApOw0KCQkJCQkJYnJlYWs7DQoJCQkJCWNhc2UgIk0iOg0KCQkJCQkJbW9udGggPSBnZXROYW1lKCAiTSIsIG1vbnRoTmFtZXNTaG9ydCwgbW9udGhOYW1lcyApOw0KCQkJCQkJYnJlYWs7DQoJCQkJCWNhc2UgInkiOg0KCQkJCQkJeWVhciA9IGdldE51bWJlciggInkiICk7DQoJCQkJCQlicmVhazsNCgkJCQkJY2FzZSAiQCI6DQoJCQkJCQlkYXRlID0gbmV3IERhdGUoIGdldE51bWJlciggIkAiICkgKTsNCgkJCQkJCXllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCk7DQoJCQkJCQltb250aCA9IGRhdGUuZ2V0TW9udGgoKSArIDE7DQoJCQkJCQlkYXkgPSBkYXRlLmdldERhdGUoKTsNCgkJCQkJCWJyZWFrOw0KCQkJCQljYXNlICIhIjoNCgkJCQkJCWRhdGUgPSBuZXcgRGF0ZSggKCBnZXROdW1iZXIoICIhIiApIC0gdGhpcy5fdGlja3NUbzE5NzAgKSAvIDEwMDAwICk7DQoJCQkJCQl5ZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpOw0KCQkJCQkJbW9udGggPSBkYXRlLmdldE1vbnRoKCkgKyAxOw0KCQkJCQkJZGF5ID0gZGF0ZS5nZXREYXRlKCk7DQoJCQkJCQlicmVhazsNCgkJCQkJY2FzZSAiJyI6DQoJCQkJCQlpZiAoIGxvb2tBaGVhZCggIiciICkgKSB7DQoJCQkJCQkJY2hlY2tMaXRlcmFsKCk7DQoJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCWxpdGVyYWwgPSB0cnVlOw0KCQkJCQkJfQ0KCQkJCQkJYnJlYWs7DQoJCQkJCWRlZmF1bHQ6DQoJCQkJCQljaGVja0xpdGVyYWwoKTsNCgkJCQl9DQoJCQl9DQoJCX0NCg0KCQlpZiAoIGlWYWx1ZSA8IHZhbHVlLmxlbmd0aCApIHsNCgkJCWV4dHJhID0gdmFsdWUuc3Vic3RyKCBpVmFsdWUgKTsNCgkJCWlmICggIS9eXHMrLy50ZXN0KCBleHRyYSApICkgew0KCQkJCXRocm93ICJFeHRyYS91bnBhcnNlZCBjaGFyYWN0ZXJzIGZvdW5kIGluIGRhdGU6ICIgKyBleHRyYTsNCgkJCX0NCgkJfQ0KDQoJCWlmICggeWVhciA9PT0gLTEgKSB7DQoJCQl5ZWFyID0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpOw0KCQl9IGVsc2UgaWYgKCB5ZWFyIDwgMTAwICkgew0KCQkJeWVhciArPSBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCkgLSBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCkgJSAxMDAgKw0KCQkJCSggeWVhciA8PSBzaG9ydFllYXJDdXRvZmYgPyAwIDogLTEwMCApOw0KCQl9DQoNCgkJaWYgKCBkb3kgPiAtMSApIHsNCgkJCW1vbnRoID0gMTsNCgkJCWRheSA9IGRveTsNCgkJCWRvIHsNCgkJCQlkaW0gPSB0aGlzLl9nZXREYXlzSW5Nb250aCggeWVhciwgbW9udGggLSAxICk7DQoJCQkJaWYgKCBkYXkgPD0gZGltICkgew0KCQkJCQlicmVhazsNCgkJCQl9DQoJCQkJbW9udGgrKzsNCgkJCQlkYXkgLT0gZGltOw0KCQkJfSB3aGlsZSAoIHRydWUgKTsNCgkJfQ0KDQoJCWRhdGUgPSB0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdCggbmV3IERhdGUoIHllYXIsIG1vbnRoIC0gMSwgZGF5ICkgKTsNCgkJaWYgKCBkYXRlLmdldEZ1bGxZZWFyKCkgIT09IHllYXIgfHwgZGF0ZS5nZXRNb250aCgpICsgMSAhPT0gbW9udGggfHwgZGF0ZS5nZXREYXRlKCkgIT09IGRheSApIHsNCgkJCXRocm93ICJJbnZhbGlkIGRhdGUiOyAvLyBFLmcuIDMxLzAyLzAwDQoJCX0NCgkJcmV0dXJuIGRhdGU7DQoJfSwNCg0KCS8qIFN0YW5kYXJkIGRhdGUgZm9ybWF0cy4gKi8NCglBVE9NOiAieXktbW0tZGQiLCAvLyBSRkMgMzMzOSAoSVNPIDg2MDEpDQoJQ09PS0lFOiAiRCwgZGQgTSB5eSIsDQoJSVNPXzg2MDE6ICJ5eS1tbS1kZCIsDQoJUkZDXzgyMjogIkQsIGQgTSB5IiwNCglSRkNfODUwOiAiREQsIGRkLU0teSIsDQoJUkZDXzEwMzY6ICJELCBkIE0geSIsDQoJUkZDXzExMjM6ICJELCBkIE0geXkiLA0KCVJGQ18yODIyOiAiRCwgZCBNIHl5IiwNCglSU1M6ICJELCBkIE0geSIsIC8vIFJGQyA4MjINCglUSUNLUzogIiEiLA0KCVRJTUVTVEFNUDogIkAiLA0KCVczQzogInl5LW1tLWRkIiwgLy8gSVNPIDg2MDENCg0KCV90aWNrc1RvMTk3MDogKCAoICggMTk3MCAtIDEgKSAqIDM2NSArIE1hdGguZmxvb3IoIDE5NzAgLyA0ICkgLSBNYXRoLmZsb29yKCAxOTcwIC8gMTAwICkgKw0KCQlNYXRoLmZsb29yKCAxOTcwIC8gNDAwICkgKSAqIDI0ICogNjAgKiA2MCAqIDEwMDAwMDAwICksDQoNCgkvKiBGb3JtYXQgYSBkYXRlIG9iamVjdCBpbnRvIGEgc3RyaW5nIHZhbHVlLg0KCSAqIFRoZSBmb3JtYXQgY2FuIGJlIGNvbWJpbmF0aW9ucyBvZiB0aGUgZm9sbG93aW5nOg0KCSAqIGQgIC0gZGF5IG9mIG1vbnRoIChubyBsZWFkaW5nIHplcm8pDQoJICogZGQgLSBkYXkgb2YgbW9udGggKHR3byBkaWdpdCkNCgkgKiBvICAtIGRheSBvZiB5ZWFyIChubyBsZWFkaW5nIHplcm9zKQ0KCSAqIG9vIC0gZGF5IG9mIHllYXIgKHRocmVlIGRpZ2l0KQ0KCSAqIEQgIC0gZGF5IG5hbWUgc2hvcnQNCgkgKiBERCAtIGRheSBuYW1lIGxvbmcNCgkgKiBtICAtIG1vbnRoIG9mIHllYXIgKG5vIGxlYWRpbmcgemVybykNCgkgKiBtbSAtIG1vbnRoIG9mIHllYXIgKHR3byBkaWdpdCkNCgkgKiBNICAtIG1vbnRoIG5hbWUgc2hvcnQNCgkgKiBNTSAtIG1vbnRoIG5hbWUgbG9uZw0KCSAqIHkgIC0geWVhciAodHdvIGRpZ2l0KQ0KCSAqIHl5IC0geWVhciAoZm91ciBkaWdpdCkNCgkgKiBAIC0gVW5peCB0aW1lc3RhbXAgKG1zIHNpbmNlIDAxLzAxLzE5NzApDQoJICogISAtIFdpbmRvd3MgdGlja3MgKDEwMG5zIHNpbmNlIDAxLzAxLzAwMDEpDQoJICogIi4uLiIgLSBsaXRlcmFsIHRleHQNCgkgKiAnJyAtIHNpbmdsZSBxdW90ZQ0KCSAqDQoJICogQHBhcmFtICBmb3JtYXQgc3RyaW5nIC0gdGhlIGRlc2lyZWQgZm9ybWF0IG9mIHRoZSBkYXRlDQoJICogQHBhcmFtICBkYXRlIERhdGUgLSB0aGUgZGF0ZSB2YWx1ZSB0byBmb3JtYXQNCgkgKiBAcGFyYW0gIHNldHRpbmdzIE9iamVjdCAtIGF0dHJpYnV0ZXMgaW5jbHVkZToNCgkgKgkJCQkJZGF5TmFtZXNTaG9ydAlzdHJpbmdbN10gLSBhYmJyZXZpYXRlZCBuYW1lcyBvZiB0aGUgZGF5cyBmcm9tIFN1bmRheSAob3B0aW9uYWwpDQoJICoJCQkJCWRheU5hbWVzCQlzdHJpbmdbN10gLSBuYW1lcyBvZiB0aGUgZGF5cyBmcm9tIFN1bmRheSAob3B0aW9uYWwpDQoJICoJCQkJCW1vbnRoTmFtZXNTaG9ydCBzdHJpbmdbMTJdIC0gYWJicmV2aWF0ZWQgbmFtZXMgb2YgdGhlIG1vbnRocyAob3B0aW9uYWwpDQoJICoJCQkJCW1vbnRoTmFtZXMJCXN0cmluZ1sxMl0gLSBuYW1lcyBvZiB0aGUgbW9udGhzIChvcHRpb25hbCkNCgkgKiBAcmV0dXJuICBzdHJpbmcgLSB0aGUgZGF0ZSBpbiB0aGUgYWJvdmUgZm9ybWF0DQoJICovDQoJZm9ybWF0RGF0ZTogZnVuY3Rpb24oIGZvcm1hdCwgZGF0ZSwgc2V0dGluZ3MgKSB7DQoJCWlmICggIWRhdGUgKSB7DQoJCQlyZXR1cm4gIiI7DQoJCX0NCg0KCQl2YXIgaUZvcm1hdCwNCgkJCWRheU5hbWVzU2hvcnQgPSAoIHNldHRpbmdzID8gc2V0dGluZ3MuZGF5TmFtZXNTaG9ydCA6IG51bGwgKSB8fCB0aGlzLl9kZWZhdWx0cy5kYXlOYW1lc1Nob3J0LA0KCQkJZGF5TmFtZXMgPSAoIHNldHRpbmdzID8gc2V0dGluZ3MuZGF5TmFtZXMgOiBudWxsICkgfHwgdGhpcy5fZGVmYXVsdHMuZGF5TmFtZXMsDQoJCQltb250aE5hbWVzU2hvcnQgPSAoIHNldHRpbmdzID8gc2V0dGluZ3MubW9udGhOYW1lc1Nob3J0IDogbnVsbCApIHx8IHRoaXMuX2RlZmF1bHRzLm1vbnRoTmFtZXNTaG9ydCwNCgkJCW1vbnRoTmFtZXMgPSAoIHNldHRpbmdzID8gc2V0dGluZ3MubW9udGhOYW1lcyA6IG51bGwgKSB8fCB0aGlzLl9kZWZhdWx0cy5tb250aE5hbWVzLA0KDQoJCQkvLyBDaGVjayB3aGV0aGVyIGEgZm9ybWF0IGNoYXJhY3RlciBpcyBkb3VibGVkDQoJCQlsb29rQWhlYWQgPSBmdW5jdGlvbiggbWF0Y2ggKSB7DQoJCQkJdmFyIG1hdGNoZXMgPSAoIGlGb3JtYXQgKyAxIDwgZm9ybWF0Lmxlbmd0aCAmJiBmb3JtYXQuY2hhckF0KCBpRm9ybWF0ICsgMSApID09PSBtYXRjaCApOw0KCQkJCWlmICggbWF0Y2hlcyApIHsNCgkJCQkJaUZvcm1hdCsrOw0KCQkJCX0NCgkJCQlyZXR1cm4gbWF0Y2hlczsNCgkJCX0sDQoNCgkJCS8vIEZvcm1hdCBhIG51bWJlciwgd2l0aCBsZWFkaW5nIHplcm8gaWYgbmVjZXNzYXJ5DQoJCQlmb3JtYXROdW1iZXIgPSBmdW5jdGlvbiggbWF0Y2gsIHZhbHVlLCBsZW4gKSB7DQoJCQkJdmFyIG51bSA9ICIiICsgdmFsdWU7DQoJCQkJaWYgKCBsb29rQWhlYWQoIG1hdGNoICkgKSB7DQoJCQkJCXdoaWxlICggbnVtLmxlbmd0aCA8IGxlbiApIHsNCgkJCQkJCW51bSA9ICIwIiArIG51bTsNCgkJCQkJfQ0KCQkJCX0NCgkJCQlyZXR1cm4gbnVtOw0KCQkJfSwNCg0KCQkJLy8gRm9ybWF0IGEgbmFtZSwgc2hvcnQgb3IgbG9uZyBhcyByZXF1ZXN0ZWQNCgkJCWZvcm1hdE5hbWUgPSBmdW5jdGlvbiggbWF0Y2gsIHZhbHVlLCBzaG9ydE5hbWVzLCBsb25nTmFtZXMgKSB7DQoJCQkJcmV0dXJuICggbG9va0FoZWFkKCBtYXRjaCApID8gbG9uZ05hbWVzWyB2YWx1ZSBdIDogc2hvcnROYW1lc1sgdmFsdWUgXSApOw0KCQkJfSwNCgkJCW91dHB1dCA9ICIiLA0KCQkJbGl0ZXJhbCA9IGZhbHNlOw0KDQoJCWlmICggZGF0ZSApIHsNCgkJCWZvciAoIGlGb3JtYXQgPSAwOyBpRm9ybWF0IDwgZm9ybWF0Lmxlbmd0aDsgaUZvcm1hdCsrICkgew0KCQkJCWlmICggbGl0ZXJhbCApIHsNCgkJCQkJaWYgKCBmb3JtYXQuY2hhckF0KCBpRm9ybWF0ICkgPT09ICInIiAmJiAhbG9va0FoZWFkKCAiJyIgKSApIHsNCgkJCQkJCWxpdGVyYWwgPSBmYWxzZTsNCgkJCQkJfSBlbHNlIHsNCgkJCQkJCW91dHB1dCArPSBmb3JtYXQuY2hhckF0KCBpRm9ybWF0ICk7DQoJCQkJCX0NCgkJCQl9IGVsc2Ugew0KCQkJCQlzd2l0Y2ggKCBmb3JtYXQuY2hhckF0KCBpRm9ybWF0ICkgKSB7DQoJCQkJCQljYXNlICJkIjoNCgkJCQkJCQlvdXRwdXQgKz0gZm9ybWF0TnVtYmVyKCAiZCIsIGRhdGUuZ2V0RGF0ZSgpLCAyICk7DQoJCQkJCQkJYnJlYWs7DQoJCQkJCQljYXNlICJEIjoNCgkJCQkJCQlvdXRwdXQgKz0gZm9ybWF0TmFtZSggIkQiLCBkYXRlLmdldERheSgpLCBkYXlOYW1lc1Nob3J0LCBkYXlOYW1lcyApOw0KCQkJCQkJCWJyZWFrOw0KCQkJCQkJY2FzZSAibyI6DQoJCQkJCQkJb3V0cHV0ICs9IGZvcm1hdE51bWJlciggIm8iLA0KCQkJCQkJCQlNYXRoLnJvdW5kKCAoIG5ldyBEYXRlKCBkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgZGF0ZS5nZXREYXRlKCkgKS5nZXRUaW1lKCkgLSBuZXcgRGF0ZSggZGF0ZS5nZXRGdWxsWWVhcigpLCAwLCAwICkuZ2V0VGltZSgpICkgLyA4NjQwMDAwMCApLCAzICk7DQoJCQkJCQkJYnJlYWs7DQoJCQkJCQljYXNlICJtIjoNCgkJCQkJCQlvdXRwdXQgKz0gZm9ybWF0TnVtYmVyKCAibSIsIGRhdGUuZ2V0TW9udGgoKSArIDEsIDIgKTsNCgkJCQkJCQlicmVhazsNCgkJCQkJCWNhc2UgIk0iOg0KCQkJCQkJCW91dHB1dCArPSBmb3JtYXROYW1lKCAiTSIsIGRhdGUuZ2V0TW9udGgoKSwgbW9udGhOYW1lc1Nob3J0LCBtb250aE5hbWVzICk7DQoJCQkJCQkJYnJlYWs7DQoJCQkJCQljYXNlICJ5IjoNCgkJCQkJCQlvdXRwdXQgKz0gKCBsb29rQWhlYWQoICJ5IiApID8gZGF0ZS5nZXRGdWxsWWVhcigpIDoNCgkJCQkJCQkJKCBkYXRlLmdldEZ1bGxZZWFyKCkgJSAxMDAgPCAxMCA/ICIwIiA6ICIiICkgKyBkYXRlLmdldEZ1bGxZZWFyKCkgJSAxMDAgKTsNCgkJCQkJCQlicmVhazsNCgkJCQkJCWNhc2UgIkAiOg0KCQkJCQkJCW91dHB1dCArPSBkYXRlLmdldFRpbWUoKTsNCgkJCQkJCQlicmVhazsNCgkJCQkJCWNhc2UgIiEiOg0KCQkJCQkJCW91dHB1dCArPSBkYXRlLmdldFRpbWUoKSAqIDEwMDAwICsgdGhpcy5fdGlja3NUbzE5NzA7DQoJCQkJCQkJYnJlYWs7DQoJCQkJCQljYXNlICInIjoNCgkJCQkJCQlpZiAoIGxvb2tBaGVhZCggIiciICkgKSB7DQoJCQkJCQkJCW91dHB1dCArPSAiJyI7DQoJCQkJCQkJfSBlbHNlIHsNCgkJCQkJCQkJbGl0ZXJhbCA9IHRydWU7DQoJCQkJCQkJfQ0KCQkJCQkJCWJyZWFrOw0KCQkJCQkJZGVmYXVsdDoNCgkJCQkJCQlvdXRwdXQgKz0gZm9ybWF0LmNoYXJBdCggaUZvcm1hdCApOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJCXJldHVybiBvdXRwdXQ7DQoJfSwNCg0KCS8qIEV4dHJhY3QgYWxsIHBvc3NpYmxlIGNoYXJhY3RlcnMgZnJvbSB0aGUgZGF0ZSBmb3JtYXQuICovDQoJX3Bvc3NpYmxlQ2hhcnM6IGZ1bmN0aW9uKCBmb3JtYXQgKSB7DQoJCXZhciBpRm9ybWF0LA0KCQkJY2hhcnMgPSAiIiwNCgkJCWxpdGVyYWwgPSBmYWxzZSwNCg0KCQkJLy8gQ2hlY2sgd2hldGhlciBhIGZvcm1hdCBjaGFyYWN0ZXIgaXMgZG91YmxlZA0KCQkJbG9va0FoZWFkID0gZnVuY3Rpb24oIG1hdGNoICkgew0KCQkJCXZhciBtYXRjaGVzID0gKCBpRm9ybWF0ICsgMSA8IGZvcm1hdC5sZW5ndGggJiYgZm9ybWF0LmNoYXJBdCggaUZvcm1hdCArIDEgKSA9PT0gbWF0Y2ggKTsNCgkJCQlpZiAoIG1hdGNoZXMgKSB7DQoJCQkJCWlGb3JtYXQrKzsNCgkJCQl9DQoJCQkJcmV0dXJuIG1hdGNoZXM7DQoJCQl9Ow0KDQoJCWZvciAoIGlGb3JtYXQgPSAwOyBpRm9ybWF0IDwgZm9ybWF0Lmxlbmd0aDsgaUZvcm1hdCsrICkgew0KCQkJaWYgKCBsaXRlcmFsICkgew0KCQkJCWlmICggZm9ybWF0LmNoYXJBdCggaUZvcm1hdCApID09PSAiJyIgJiYgIWxvb2tBaGVhZCggIiciICkgKSB7DQoJCQkJCWxpdGVyYWwgPSBmYWxzZTsNCgkJCQl9IGVsc2Ugew0KCQkJCQljaGFycyArPSBmb3JtYXQuY2hhckF0KCBpRm9ybWF0ICk7DQoJCQkJfQ0KCQkJfSBlbHNlIHsNCgkJCQlzd2l0Y2ggKCBmb3JtYXQuY2hhckF0KCBpRm9ybWF0ICkgKSB7DQoJCQkJCWNhc2UgImQiOiBjYXNlICJtIjogY2FzZSAieSI6IGNhc2UgIkAiOg0KCQkJCQkJY2hhcnMgKz0gIjAxMjM0NTY3ODkiOw0KCQkJCQkJYnJlYWs7DQoJCQkJCWNhc2UgIkQiOiBjYXNlICJNIjoNCgkJCQkJCXJldHVybiBudWxsOyAvLyBBY2NlcHQgYW55dGhpbmcNCgkJCQkJY2FzZSAiJyI6DQoJCQkJCQlpZiAoIGxvb2tBaGVhZCggIiciICkgKSB7DQoJCQkJCQkJY2hhcnMgKz0gIiciOw0KCQkJCQkJfSBlbHNlIHsNCgkJCQkJCQlsaXRlcmFsID0gdHJ1ZTsNCgkJCQkJCX0NCgkJCQkJCWJyZWFrOw0KCQkJCQlkZWZhdWx0Og0KCQkJCQkJY2hhcnMgKz0gZm9ybWF0LmNoYXJBdCggaUZvcm1hdCApOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCQlyZXR1cm4gY2hhcnM7DQoJfSwNCg0KCS8qIEdldCBhIHNldHRpbmcgdmFsdWUsIGRlZmF1bHRpbmcgaWYgbmVjZXNzYXJ5LiAqLw0KCV9nZXQ6IGZ1bmN0aW9uKCBpbnN0LCBuYW1lICkgew0KCQlyZXR1cm4gaW5zdC5zZXR0aW5nc1sgbmFtZSBdICE9PSB1bmRlZmluZWQgPw0KCQkJaW5zdC5zZXR0aW5nc1sgbmFtZSBdIDogdGhpcy5fZGVmYXVsdHNbIG5hbWUgXTsNCgl9LA0KDQoJLyogUGFyc2UgZXhpc3RpbmcgZGF0ZSBhbmQgaW5pdGlhbGlzZSBkYXRlIHBpY2tlci4gKi8NCglfc2V0RGF0ZUZyb21GaWVsZDogZnVuY3Rpb24oIGluc3QsIG5vRGVmYXVsdCApIHsNCgkJaWYgKCBpbnN0LmlucHV0LnZhbCgpID09PSBpbnN0Lmxhc3RWYWwgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQl2YXIgZGF0ZUZvcm1hdCA9IHRoaXMuX2dldCggaW5zdCwgImRhdGVGb3JtYXQiICksDQoJCQlkYXRlcyA9IGluc3QubGFzdFZhbCA9IGluc3QuaW5wdXQgPyBpbnN0LmlucHV0LnZhbCgpIDogbnVsbCwNCgkJCWRlZmF1bHREYXRlID0gdGhpcy5fZ2V0RGVmYXVsdERhdGUoIGluc3QgKSwNCgkJCWRhdGUgPSBkZWZhdWx0RGF0ZSwNCgkJCXNldHRpbmdzID0gdGhpcy5fZ2V0Rm9ybWF0Q29uZmlnKCBpbnN0ICk7DQoNCgkJdHJ5IHsNCgkJCWRhdGUgPSB0aGlzLnBhcnNlRGF0ZSggZGF0ZUZvcm1hdCwgZGF0ZXMsIHNldHRpbmdzICkgfHwgZGVmYXVsdERhdGU7DQoJCX0gY2F0Y2ggKCBldmVudCApIHsNCgkJCWRhdGVzID0gKCBub0RlZmF1bHQgPyAiIiA6IGRhdGVzICk7DQoJCX0NCgkJaW5zdC5zZWxlY3RlZERheSA9IGRhdGUuZ2V0RGF0ZSgpOw0KCQlpbnN0LmRyYXdNb250aCA9IGluc3Quc2VsZWN0ZWRNb250aCA9IGRhdGUuZ2V0TW9udGgoKTsNCgkJaW5zdC5kcmF3WWVhciA9IGluc3Quc2VsZWN0ZWRZZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpOw0KCQlpbnN0LmN1cnJlbnREYXkgPSAoIGRhdGVzID8gZGF0ZS5nZXREYXRlKCkgOiAwICk7DQoJCWluc3QuY3VycmVudE1vbnRoID0gKCBkYXRlcyA/IGRhdGUuZ2V0TW9udGgoKSA6IDAgKTsNCgkJaW5zdC5jdXJyZW50WWVhciA9ICggZGF0ZXMgPyBkYXRlLmdldEZ1bGxZZWFyKCkgOiAwICk7DQoJCXRoaXMuX2FkanVzdEluc3REYXRlKCBpbnN0ICk7DQoJfSwNCg0KCS8qIFJldHJpZXZlIHRoZSBkZWZhdWx0IGRhdGUgc2hvd24gb24gb3BlbmluZy4gKi8NCglfZ2V0RGVmYXVsdERhdGU6IGZ1bmN0aW9uKCBpbnN0ICkgew0KCQlyZXR1cm4gdGhpcy5fcmVzdHJpY3RNaW5NYXgoIGluc3QsDQoJCQl0aGlzLl9kZXRlcm1pbmVEYXRlKCBpbnN0LCB0aGlzLl9nZXQoIGluc3QsICJkZWZhdWx0RGF0ZSIgKSwgbmV3IERhdGUoKSApICk7DQoJfSwNCg0KCS8qIEEgZGF0ZSBtYXkgYmUgc3BlY2lmaWVkIGFzIGFuIGV4YWN0IHZhbHVlIG9yIGEgcmVsYXRpdmUgb25lLiAqLw0KCV9kZXRlcm1pbmVEYXRlOiBmdW5jdGlvbiggaW5zdCwgZGF0ZSwgZGVmYXVsdERhdGUgKSB7DQoJCXZhciBvZmZzZXROdW1lcmljID0gZnVuY3Rpb24oIG9mZnNldCApIHsNCgkJCQl2YXIgZGF0ZSA9IG5ldyBEYXRlKCk7DQoJCQkJZGF0ZS5zZXREYXRlKCBkYXRlLmdldERhdGUoKSArIG9mZnNldCApOw0KCQkJCXJldHVybiBkYXRlOw0KCQkJfSwNCgkJCW9mZnNldFN0cmluZyA9IGZ1bmN0aW9uKCBvZmZzZXQgKSB7DQoJCQkJdHJ5IHsNCgkJCQkJcmV0dXJuICQuZGF0ZXBpY2tlci5wYXJzZURhdGUoICQuZGF0ZXBpY2tlci5fZ2V0KCBpbnN0LCAiZGF0ZUZvcm1hdCIgKSwNCgkJCQkJCW9mZnNldCwgJC5kYXRlcGlja2VyLl9nZXRGb3JtYXRDb25maWcoIGluc3QgKSApOw0KCQkJCX0NCgkJCQljYXRjaCAoIGUgKSB7DQoNCgkJCQkJLy8gSWdub3JlDQoJCQkJfQ0KDQoJCQkJdmFyIGRhdGUgPSAoIG9mZnNldC50b0xvd2VyQ2FzZSgpLm1hdGNoKCAvXmMvICkgPw0KCQkJCQkkLmRhdGVwaWNrZXIuX2dldERhdGUoIGluc3QgKSA6IG51bGwgKSB8fCBuZXcgRGF0ZSgpLA0KCQkJCQl5ZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpLA0KCQkJCQltb250aCA9IGRhdGUuZ2V0TW9udGgoKSwNCgkJCQkJZGF5ID0gZGF0ZS5nZXREYXRlKCksDQoJCQkJCXBhdHRlcm4gPSAvKFsrXC1dP1swLTldKylccyooZHxEfHd8V3xtfE18eXxZKT8vZywNCgkJCQkJbWF0Y2hlcyA9IHBhdHRlcm4uZXhlYyggb2Zmc2V0ICk7DQoNCgkJCQl3aGlsZSAoIG1hdGNoZXMgKSB7DQoJCQkJCXN3aXRjaCAoIG1hdGNoZXNbIDIgXSB8fCAiZCIgKSB7DQoJCQkJCQljYXNlICJkIiA6IGNhc2UgIkQiIDoNCgkJCQkJCQlkYXkgKz0gcGFyc2VJbnQoIG1hdGNoZXNbIDEgXSwgMTAgKTsgYnJlYWs7DQoJCQkJCQljYXNlICJ3IiA6IGNhc2UgIlciIDoNCgkJCQkJCQlkYXkgKz0gcGFyc2VJbnQoIG1hdGNoZXNbIDEgXSwgMTAgKSAqIDc7IGJyZWFrOw0KCQkJCQkJY2FzZSAibSIgOiBjYXNlICJNIiA6DQoJCQkJCQkJbW9udGggKz0gcGFyc2VJbnQoIG1hdGNoZXNbIDEgXSwgMTAgKTsNCgkJCQkJCQlkYXkgPSBNYXRoLm1pbiggZGF5LCAkLmRhdGVwaWNrZXIuX2dldERheXNJbk1vbnRoKCB5ZWFyLCBtb250aCApICk7DQoJCQkJCQkJYnJlYWs7DQoJCQkJCQljYXNlICJ5IjogY2FzZSAiWSIgOg0KCQkJCQkJCXllYXIgKz0gcGFyc2VJbnQoIG1hdGNoZXNbIDEgXSwgMTAgKTsNCgkJCQkJCQlkYXkgPSBNYXRoLm1pbiggZGF5LCAkLmRhdGVwaWNrZXIuX2dldERheXNJbk1vbnRoKCB5ZWFyLCBtb250aCApICk7DQoJCQkJCQkJYnJlYWs7DQoJCQkJCX0NCgkJCQkJbWF0Y2hlcyA9IHBhdHRlcm4uZXhlYyggb2Zmc2V0ICk7DQoJCQkJfQ0KCQkJCXJldHVybiBuZXcgRGF0ZSggeWVhciwgbW9udGgsIGRheSApOw0KCQkJfSwNCgkJCW5ld0RhdGUgPSAoIGRhdGUgPT0gbnVsbCB8fCBkYXRlID09PSAiIiA/IGRlZmF1bHREYXRlIDogKCB0eXBlb2YgZGF0ZSA9PT0gInN0cmluZyIgPyBvZmZzZXRTdHJpbmcoIGRhdGUgKSA6DQoJCQkJKCB0eXBlb2YgZGF0ZSA9PT0gIm51bWJlciIgPyAoIGlzTmFOKCBkYXRlICkgPyBkZWZhdWx0RGF0ZSA6IG9mZnNldE51bWVyaWMoIGRhdGUgKSApIDogbmV3IERhdGUoIGRhdGUuZ2V0VGltZSgpICkgKSApICk7DQoNCgkJbmV3RGF0ZSA9ICggbmV3RGF0ZSAmJiBuZXdEYXRlLnRvU3RyaW5nKCkgPT09ICJJbnZhbGlkIERhdGUiID8gZGVmYXVsdERhdGUgOiBuZXdEYXRlICk7DQoJCWlmICggbmV3RGF0ZSApIHsNCgkJCW5ld0RhdGUuc2V0SG91cnMoIDAgKTsNCgkJCW5ld0RhdGUuc2V0TWludXRlcyggMCApOw0KCQkJbmV3RGF0ZS5zZXRTZWNvbmRzKCAwICk7DQoJCQluZXdEYXRlLnNldE1pbGxpc2Vjb25kcyggMCApOw0KCQl9DQoJCXJldHVybiB0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdCggbmV3RGF0ZSApOw0KCX0sDQoNCgkvKiBIYW5kbGUgc3dpdGNoIHRvL2Zyb20gZGF5bGlnaHQgc2F2aW5nLg0KCSAqIEhvdXJzIG1heSBiZSBub24temVybyBvbiBkYXlsaWdodCBzYXZpbmcgY3V0LW92ZXI6DQoJICogPiAxMiB3aGVuIG1pZG5pZ2h0IGNoYW5nZW92ZXIsIGJ1dCB0aGVuIGNhbm5vdCBnZW5lcmF0ZQ0KCSAqIG1pZG5pZ2h0IGRhdGV0aW1lLCBzbyBqdW1wIHRvIDFBTSwgb3RoZXJ3aXNlIHJlc2V0Lg0KCSAqIEBwYXJhbSAgZGF0ZSAgKERhdGUpIHRoZSBkYXRlIHRvIGNoZWNrDQoJICogQHJldHVybiAgKERhdGUpIHRoZSBjb3JyZWN0ZWQgZGF0ZQ0KCSAqLw0KCV9kYXlsaWdodFNhdmluZ0FkanVzdDogZnVuY3Rpb24oIGRhdGUgKSB7DQoJCWlmICggIWRhdGUgKSB7DQoJCQlyZXR1cm4gbnVsbDsNCgkJfQ0KCQlkYXRlLnNldEhvdXJzKCBkYXRlLmdldEhvdXJzKCkgPiAxMiA/IGRhdGUuZ2V0SG91cnMoKSArIDIgOiAwICk7DQoJCXJldHVybiBkYXRlOw0KCX0sDQoNCgkvKiBTZXQgdGhlIGRhdGUocykgZGlyZWN0bHkuICovDQoJX3NldERhdGU6IGZ1bmN0aW9uKCBpbnN0LCBkYXRlLCBub0NoYW5nZSApIHsNCgkJdmFyIGNsZWFyID0gIWRhdGUsDQoJCQlvcmlnTW9udGggPSBpbnN0LnNlbGVjdGVkTW9udGgsDQoJCQlvcmlnWWVhciA9IGluc3Quc2VsZWN0ZWRZZWFyLA0KCQkJbmV3RGF0ZSA9IHRoaXMuX3Jlc3RyaWN0TWluTWF4KCBpbnN0LCB0aGlzLl9kZXRlcm1pbmVEYXRlKCBpbnN0LCBkYXRlLCBuZXcgRGF0ZSgpICkgKTsNCg0KCQlpbnN0LnNlbGVjdGVkRGF5ID0gaW5zdC5jdXJyZW50RGF5ID0gbmV3RGF0ZS5nZXREYXRlKCk7DQoJCWluc3QuZHJhd01vbnRoID0gaW5zdC5zZWxlY3RlZE1vbnRoID0gaW5zdC5jdXJyZW50TW9udGggPSBuZXdEYXRlLmdldE1vbnRoKCk7DQoJCWluc3QuZHJhd1llYXIgPSBpbnN0LnNlbGVjdGVkWWVhciA9IGluc3QuY3VycmVudFllYXIgPSBuZXdEYXRlLmdldEZ1bGxZZWFyKCk7DQoJCWlmICggKCBvcmlnTW9udGggIT09IGluc3Quc2VsZWN0ZWRNb250aCB8fCBvcmlnWWVhciAhPT0gaW5zdC5zZWxlY3RlZFllYXIgKSAmJiAhbm9DaGFuZ2UgKSB7DQoJCQl0aGlzLl9ub3RpZnlDaGFuZ2UoIGluc3QgKTsNCgkJfQ0KCQl0aGlzLl9hZGp1c3RJbnN0RGF0ZSggaW5zdCApOw0KCQlpZiAoIGluc3QuaW5wdXQgKSB7DQoJCQlpbnN0LmlucHV0LnZhbCggY2xlYXIgPyAiIiA6IHRoaXMuX2Zvcm1hdERhdGUoIGluc3QgKSApOw0KCQl9DQoJfSwNCg0KCS8qIFJldHJpZXZlIHRoZSBkYXRlKHMpIGRpcmVjdGx5LiAqLw0KCV9nZXREYXRlOiBmdW5jdGlvbiggaW5zdCApIHsNCgkJdmFyIHN0YXJ0RGF0ZSA9ICggIWluc3QuY3VycmVudFllYXIgfHwgKCBpbnN0LmlucHV0ICYmIGluc3QuaW5wdXQudmFsKCkgPT09ICIiICkgPyBudWxsIDoNCgkJCXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KCBuZXcgRGF0ZSgNCgkJCWluc3QuY3VycmVudFllYXIsIGluc3QuY3VycmVudE1vbnRoLCBpbnN0LmN1cnJlbnREYXkgKSApICk7DQoJCQlyZXR1cm4gc3RhcnREYXRlOw0KCX0sDQoNCgkvKiBBdHRhY2ggdGhlIG9ueHh4IGhhbmRsZXJzLiAgVGhlc2UgYXJlIGRlY2xhcmVkIHN0YXRpY2FsbHkgc28NCgkgKiB0aGV5IHdvcmsgd2l0aCBzdGF0aWMgY29kZSB0cmFuc2Zvcm1lcnMgbGlrZSBDYWphLg0KCSAqLw0KCV9hdHRhY2hIYW5kbGVyczogZnVuY3Rpb24oIGluc3QgKSB7DQoJCXZhciBzdGVwTW9udGhzID0gdGhpcy5fZ2V0KCBpbnN0LCAic3RlcE1vbnRocyIgKSwNCgkJCWlkID0gIiMiICsgaW5zdC5pZC5yZXBsYWNlKCAvXFxcXC9nLCAiXFwiICk7DQoJCWluc3QuZHBEaXYuZmluZCggIltkYXRhLWhhbmRsZXJdIiApLm1hcCggZnVuY3Rpb24oKSB7DQoJCQl2YXIgaGFuZGxlciA9IHsNCgkJCQlwcmV2OiBmdW5jdGlvbigpIHsNCgkJCQkJJC5kYXRlcGlja2VyLl9hZGp1c3REYXRlKCBpZCwgLXN0ZXBNb250aHMsICJNIiApOw0KCQkJCX0sDQoJCQkJbmV4dDogZnVuY3Rpb24oKSB7DQoJCQkJCSQuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZSggaWQsICtzdGVwTW9udGhzLCAiTSIgKTsNCgkJCQl9LA0KCQkJCWhpZGU6IGZ1bmN0aW9uKCkgew0KCQkJCQkkLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCk7DQoJCQkJfSwNCgkJCQl0b2RheTogZnVuY3Rpb24oKSB7DQoJCQkJCSQuZGF0ZXBpY2tlci5fZ290b1RvZGF5KCBpZCApOw0KCQkJCX0sDQoJCQkJc2VsZWN0RGF5OiBmdW5jdGlvbigpIHsNCgkJCQkJJC5kYXRlcGlja2VyLl9zZWxlY3REYXkoIGlkLCArdGhpcy5nZXRBdHRyaWJ1dGUoICJkYXRhLW1vbnRoIiApLCArdGhpcy5nZXRBdHRyaWJ1dGUoICJkYXRhLXllYXIiICksIHRoaXMgKTsNCgkJCQkJcmV0dXJuIGZhbHNlOw0KCQkJCX0sDQoJCQkJc2VsZWN0TW9udGg6IGZ1bmN0aW9uKCkgew0KCQkJCQkkLmRhdGVwaWNrZXIuX3NlbGVjdE1vbnRoWWVhciggaWQsIHRoaXMsICJNIiApOw0KCQkJCQlyZXR1cm4gZmFsc2U7DQoJCQkJfSwNCgkJCQlzZWxlY3RZZWFyOiBmdW5jdGlvbigpIHsNCgkJCQkJJC5kYXRlcGlja2VyLl9zZWxlY3RNb250aFllYXIoIGlkLCB0aGlzLCAiWSIgKTsNCgkJCQkJcmV0dXJuIGZhbHNlOw0KCQkJCX0NCgkJCX07DQoJCQkkKCB0aGlzICkub24oIHRoaXMuZ2V0QXR0cmlidXRlKCAiZGF0YS1ldmVudCIgKSwgaGFuZGxlclsgdGhpcy5nZXRBdHRyaWJ1dGUoICJkYXRhLWhhbmRsZXIiICkgXSApOw0KCQl9ICk7DQoJfSwNCg0KCS8qIEdlbmVyYXRlIHRoZSBIVE1MIGZvciB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgZGF0ZSBwaWNrZXIuICovDQoJX2dlbmVyYXRlSFRNTDogZnVuY3Rpb24oIGluc3QgKSB7DQoJCXZhciBtYXhEcmF3LCBwcmV2VGV4dCwgcHJldiwgbmV4dFRleHQsIG5leHQsIGN1cnJlbnRUZXh0LCBnb3RvRGF0ZSwNCgkJCWNvbnRyb2xzLCBidXR0b25QYW5lbCwgZmlyc3REYXksIHNob3dXZWVrLCBkYXlOYW1lcywgZGF5TmFtZXNNaW4sDQoJCQltb250aE5hbWVzLCBtb250aE5hbWVzU2hvcnQsIGJlZm9yZVNob3dEYXksIHNob3dPdGhlck1vbnRocywNCgkJCXNlbGVjdE90aGVyTW9udGhzLCBkZWZhdWx0RGF0ZSwgaHRtbCwgZG93LCByb3csIGdyb3VwLCBjb2wsIHNlbGVjdGVkRGF0ZSwNCgkJCWNvcm5lckNsYXNzLCBjYWxlbmRlciwgdGhlYWQsIGRheSwgZGF5c0luTW9udGgsIGxlYWREYXlzLCBjdXJSb3dzLCBudW1Sb3dzLA0KCQkJcHJpbnREYXRlLCBkUm93LCB0Ym9keSwgZGF5U2V0dGluZ3MsIG90aGVyTW9udGgsIHVuc2VsZWN0YWJsZSwNCgkJCXRlbXBEYXRlID0gbmV3IERhdGUoKSwNCgkJCXRvZGF5ID0gdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QoDQoJCQkJbmV3IERhdGUoIHRlbXBEYXRlLmdldEZ1bGxZZWFyKCksIHRlbXBEYXRlLmdldE1vbnRoKCksIHRlbXBEYXRlLmdldERhdGUoKSApICksIC8vIGNsZWFyIHRpbWUNCgkJCWlzUlRMID0gdGhpcy5fZ2V0KCBpbnN0LCAiaXNSVEwiICksDQoJCQlzaG93QnV0dG9uUGFuZWwgPSB0aGlzLl9nZXQoIGluc3QsICJzaG93QnV0dG9uUGFuZWwiICksDQoJCQloaWRlSWZOb1ByZXZOZXh0ID0gdGhpcy5fZ2V0KCBpbnN0LCAiaGlkZUlmTm9QcmV2TmV4dCIgKSwNCgkJCW5hdmlnYXRpb25Bc0RhdGVGb3JtYXQgPSB0aGlzLl9nZXQoIGluc3QsICJuYXZpZ2F0aW9uQXNEYXRlRm9ybWF0IiApLA0KCQkJbnVtTW9udGhzID0gdGhpcy5fZ2V0TnVtYmVyT2ZNb250aHMoIGluc3QgKSwNCgkJCXNob3dDdXJyZW50QXRQb3MgPSB0aGlzLl9nZXQoIGluc3QsICJzaG93Q3VycmVudEF0UG9zIiApLA0KCQkJc3RlcE1vbnRocyA9IHRoaXMuX2dldCggaW5zdCwgInN0ZXBNb250aHMiICksDQoJCQlpc011bHRpTW9udGggPSAoIG51bU1vbnRoc1sgMCBdICE9PSAxIHx8IG51bU1vbnRoc1sgMSBdICE9PSAxICksDQoJCQljdXJyZW50RGF0ZSA9IHRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KCAoICFpbnN0LmN1cnJlbnREYXkgPyBuZXcgRGF0ZSggOTk5OSwgOSwgOSApIDoNCgkJCQluZXcgRGF0ZSggaW5zdC5jdXJyZW50WWVhciwgaW5zdC5jdXJyZW50TW9udGgsIGluc3QuY3VycmVudERheSApICkgKSwNCgkJCW1pbkRhdGUgPSB0aGlzLl9nZXRNaW5NYXhEYXRlKCBpbnN0LCAibWluIiApLA0KCQkJbWF4RGF0ZSA9IHRoaXMuX2dldE1pbk1heERhdGUoIGluc3QsICJtYXgiICksDQoJCQlkcmF3TW9udGggPSBpbnN0LmRyYXdNb250aCAtIHNob3dDdXJyZW50QXRQb3MsDQoJCQlkcmF3WWVhciA9IGluc3QuZHJhd1llYXI7DQoNCgkJaWYgKCBkcmF3TW9udGggPCAwICkgew0KCQkJZHJhd01vbnRoICs9IDEyOw0KCQkJZHJhd1llYXItLTsNCgkJfQ0KCQlpZiAoIG1heERhdGUgKSB7DQoJCQltYXhEcmF3ID0gdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QoIG5ldyBEYXRlKCBtYXhEYXRlLmdldEZ1bGxZZWFyKCksDQoJCQkJbWF4RGF0ZS5nZXRNb250aCgpIC0gKCBudW1Nb250aHNbIDAgXSAqIG51bU1vbnRoc1sgMSBdICkgKyAxLCBtYXhEYXRlLmdldERhdGUoKSApICk7DQoJCQltYXhEcmF3ID0gKCBtaW5EYXRlICYmIG1heERyYXcgPCBtaW5EYXRlID8gbWluRGF0ZSA6IG1heERyYXcgKTsNCgkJCXdoaWxlICggdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QoIG5ldyBEYXRlKCBkcmF3WWVhciwgZHJhd01vbnRoLCAxICkgKSA+IG1heERyYXcgKSB7DQoJCQkJZHJhd01vbnRoLS07DQoJCQkJaWYgKCBkcmF3TW9udGggPCAwICkgew0KCQkJCQlkcmF3TW9udGggPSAxMTsNCgkJCQkJZHJhd1llYXItLTsNCgkJCQl9DQoJCQl9DQoJCX0NCgkJaW5zdC5kcmF3TW9udGggPSBkcmF3TW9udGg7DQoJCWluc3QuZHJhd1llYXIgPSBkcmF3WWVhcjsNCg0KCQlwcmV2VGV4dCA9IHRoaXMuX2dldCggaW5zdCwgInByZXZUZXh0IiApOw0KCQlwcmV2VGV4dCA9ICggIW5hdmlnYXRpb25Bc0RhdGVGb3JtYXQgPyBwcmV2VGV4dCA6IHRoaXMuZm9ybWF0RGF0ZSggcHJldlRleHQsDQoJCQl0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdCggbmV3IERhdGUoIGRyYXdZZWFyLCBkcmF3TW9udGggLSBzdGVwTW9udGhzLCAxICkgKSwNCgkJCXRoaXMuX2dldEZvcm1hdENvbmZpZyggaW5zdCApICkgKTsNCg0KCQlwcmV2ID0gKCB0aGlzLl9jYW5BZGp1c3RNb250aCggaW5zdCwgLTEsIGRyYXdZZWFyLCBkcmF3TW9udGggKSA/DQoJCQkiPGEgY2xhc3M9J3VpLWRhdGVwaWNrZXItcHJldiB1aS1jb3JuZXItYWxsJyBkYXRhLWhhbmRsZXI9J3ByZXYnIGRhdGEtZXZlbnQ9J2NsaWNrJyIgKw0KCQkJIiB0aXRsZT0nIiArIHByZXZUZXh0ICsgIic+PHNwYW4gY2xhc3M9J3VpLWljb24gdWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtIiArICggaXNSVEwgPyAiZSIgOiAidyIgKSArICInPiIgKyBwcmV2VGV4dCArICI8L3NwYW4+PC9hPiIgOg0KCQkJKCBoaWRlSWZOb1ByZXZOZXh0ID8gIiIgOiAiPGEgY2xhc3M9J3VpLWRhdGVwaWNrZXItcHJldiB1aS1jb3JuZXItYWxsIHVpLXN0YXRlLWRpc2FibGVkJyB0aXRsZT0nIiArIHByZXZUZXh0ICsgIic+PHNwYW4gY2xhc3M9J3VpLWljb24gdWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtIiArICggaXNSVEwgPyAiZSIgOiAidyIgKSArICInPiIgKyBwcmV2VGV4dCArICI8L3NwYW4+PC9hPiIgKSApOw0KDQoJCW5leHRUZXh0ID0gdGhpcy5fZ2V0KCBpbnN0LCAibmV4dFRleHQiICk7DQoJCW5leHRUZXh0ID0gKCAhbmF2aWdhdGlvbkFzRGF0ZUZvcm1hdCA/IG5leHRUZXh0IDogdGhpcy5mb3JtYXREYXRlKCBuZXh0VGV4dCwNCgkJCXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KCBuZXcgRGF0ZSggZHJhd1llYXIsIGRyYXdNb250aCArIHN0ZXBNb250aHMsIDEgKSApLA0KCQkJdGhpcy5fZ2V0Rm9ybWF0Q29uZmlnKCBpbnN0ICkgKSApOw0KDQoJCW5leHQgPSAoIHRoaXMuX2NhbkFkanVzdE1vbnRoKCBpbnN0LCArMSwgZHJhd1llYXIsIGRyYXdNb250aCApID8NCgkJCSI8YSBjbGFzcz0ndWktZGF0ZXBpY2tlci1uZXh0IHVpLWNvcm5lci1hbGwnIGRhdGEtaGFuZGxlcj0nbmV4dCcgZGF0YS1ldmVudD0nY2xpY2snIiArDQoJCQkiIHRpdGxlPSciICsgbmV4dFRleHQgKyAiJz48c3BhbiBjbGFzcz0ndWktaWNvbiB1aS1pY29uLWNpcmNsZS10cmlhbmdsZS0iICsgKCBpc1JUTCA/ICJ3IiA6ICJlIiApICsgIic+IiArIG5leHRUZXh0ICsgIjwvc3Bhbj48L2E+IiA6DQoJCQkoIGhpZGVJZk5vUHJldk5leHQgPyAiIiA6ICI8YSBjbGFzcz0ndWktZGF0ZXBpY2tlci1uZXh0IHVpLWNvcm5lci1hbGwgdWktc3RhdGUtZGlzYWJsZWQnIHRpdGxlPSciICsgbmV4dFRleHQgKyAiJz48c3BhbiBjbGFzcz0ndWktaWNvbiB1aS1pY29uLWNpcmNsZS10cmlhbmdsZS0iICsgKCBpc1JUTCA/ICJ3IiA6ICJlIiApICsgIic+IiArIG5leHRUZXh0ICsgIjwvc3Bhbj48L2E+IiApICk7DQoNCgkJY3VycmVudFRleHQgPSB0aGlzLl9nZXQoIGluc3QsICJjdXJyZW50VGV4dCIgKTsNCgkJZ290b0RhdGUgPSAoIHRoaXMuX2dldCggaW5zdCwgImdvdG9DdXJyZW50IiApICYmIGluc3QuY3VycmVudERheSA/IGN1cnJlbnREYXRlIDogdG9kYXkgKTsNCgkJY3VycmVudFRleHQgPSAoICFuYXZpZ2F0aW9uQXNEYXRlRm9ybWF0ID8gY3VycmVudFRleHQgOg0KCQkJdGhpcy5mb3JtYXREYXRlKCBjdXJyZW50VGV4dCwgZ290b0RhdGUsIHRoaXMuX2dldEZvcm1hdENvbmZpZyggaW5zdCApICkgKTsNCg0KCQljb250cm9scyA9ICggIWluc3QuaW5saW5lID8gIjxidXR0b24gdHlwZT0nYnV0dG9uJyBjbGFzcz0ndWktZGF0ZXBpY2tlci1jbG9zZSB1aS1zdGF0ZS1kZWZhdWx0IHVpLXByaW9yaXR5LXByaW1hcnkgdWktY29ybmVyLWFsbCcgZGF0YS1oYW5kbGVyPSdoaWRlJyBkYXRhLWV2ZW50PSdjbGljayc+IiArDQoJCQl0aGlzLl9nZXQoIGluc3QsICJjbG9zZVRleHQiICkgKyAiPC9idXR0b24+IiA6ICIiICk7DQoNCgkJYnV0dG9uUGFuZWwgPSAoIHNob3dCdXR0b25QYW5lbCApID8gIjxkaXYgY2xhc3M9J3VpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSB1aS13aWRnZXQtY29udGVudCc+IiArICggaXNSVEwgPyBjb250cm9scyA6ICIiICkgKw0KCQkJKCB0aGlzLl9pc0luUmFuZ2UoIGluc3QsIGdvdG9EYXRlICkgPyAiPGJ1dHRvbiB0eXBlPSdidXR0b24nIGNsYXNzPSd1aS1kYXRlcGlja2VyLWN1cnJlbnQgdWktc3RhdGUtZGVmYXVsdCB1aS1wcmlvcml0eS1zZWNvbmRhcnkgdWktY29ybmVyLWFsbCcgZGF0YS1oYW5kbGVyPSd0b2RheScgZGF0YS1ldmVudD0nY2xpY2snIiArDQoJCQkiPiIgKyBjdXJyZW50VGV4dCArICI8L2J1dHRvbj4iIDogIiIgKSArICggaXNSVEwgPyAiIiA6IGNvbnRyb2xzICkgKyAiPC9kaXY+IiA6ICIiOw0KDQoJCWZpcnN0RGF5ID0gcGFyc2VJbnQoIHRoaXMuX2dldCggaW5zdCwgImZpcnN0RGF5IiApLCAxMCApOw0KCQlmaXJzdERheSA9ICggaXNOYU4oIGZpcnN0RGF5ICkgPyAwIDogZmlyc3REYXkgKTsNCg0KCQlzaG93V2VlayA9IHRoaXMuX2dldCggaW5zdCwgInNob3dXZWVrIiApOw0KCQlkYXlOYW1lcyA9IHRoaXMuX2dldCggaW5zdCwgImRheU5hbWVzIiApOw0KCQlkYXlOYW1lc01pbiA9IHRoaXMuX2dldCggaW5zdCwgImRheU5hbWVzTWluIiApOw0KCQltb250aE5hbWVzID0gdGhpcy5fZ2V0KCBpbnN0LCAibW9udGhOYW1lcyIgKTsNCgkJbW9udGhOYW1lc1Nob3J0ID0gdGhpcy5fZ2V0KCBpbnN0LCAibW9udGhOYW1lc1Nob3J0IiApOw0KCQliZWZvcmVTaG93RGF5ID0gdGhpcy5fZ2V0KCBpbnN0LCAiYmVmb3JlU2hvd0RheSIgKTsNCgkJc2hvd090aGVyTW9udGhzID0gdGhpcy5fZ2V0KCBpbnN0LCAic2hvd090aGVyTW9udGhzIiApOw0KCQlzZWxlY3RPdGhlck1vbnRocyA9IHRoaXMuX2dldCggaW5zdCwgInNlbGVjdE90aGVyTW9udGhzIiApOw0KCQlkZWZhdWx0RGF0ZSA9IHRoaXMuX2dldERlZmF1bHREYXRlKCBpbnN0ICk7DQoJCWh0bWwgPSAiIjsNCg0KCQlmb3IgKCByb3cgPSAwOyByb3cgPCBudW1Nb250aHNbIDAgXTsgcm93KysgKSB7DQoJCQlncm91cCA9ICIiOw0KCQkJdGhpcy5tYXhSb3dzID0gNDsNCgkJCWZvciAoIGNvbCA9IDA7IGNvbCA8IG51bU1vbnRoc1sgMSBdOyBjb2wrKyApIHsNCgkJCQlzZWxlY3RlZERhdGUgPSB0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdCggbmV3IERhdGUoIGRyYXdZZWFyLCBkcmF3TW9udGgsIGluc3Quc2VsZWN0ZWREYXkgKSApOw0KCQkJCWNvcm5lckNsYXNzID0gIiB1aS1jb3JuZXItYWxsIjsNCgkJCQljYWxlbmRlciA9ICIiOw0KCQkJCWlmICggaXNNdWx0aU1vbnRoICkgew0KCQkJCQljYWxlbmRlciArPSAiPGRpdiBjbGFzcz0ndWktZGF0ZXBpY2tlci1ncm91cCI7DQoJCQkJCWlmICggbnVtTW9udGhzWyAxIF0gPiAxICkgew0KCQkJCQkJc3dpdGNoICggY29sICkgew0KCQkJCQkJCWNhc2UgMDogY2FsZW5kZXIgKz0gIiB1aS1kYXRlcGlja2VyLWdyb3VwLWZpcnN0IjsNCgkJCQkJCQkJY29ybmVyQ2xhc3MgPSAiIHVpLWNvcm5lci0iICsgKCBpc1JUTCA/ICJyaWdodCIgOiAibGVmdCIgKTsgYnJlYWs7DQoJCQkJCQkJY2FzZSBudW1Nb250aHNbIDEgXSAtIDE6IGNhbGVuZGVyICs9ICIgdWktZGF0ZXBpY2tlci1ncm91cC1sYXN0IjsNCgkJCQkJCQkJY29ybmVyQ2xhc3MgPSAiIHVpLWNvcm5lci0iICsgKCBpc1JUTCA/ICJsZWZ0IiA6ICJyaWdodCIgKTsgYnJlYWs7DQoJCQkJCQkJZGVmYXVsdDogY2FsZW5kZXIgKz0gIiB1aS1kYXRlcGlja2VyLWdyb3VwLW1pZGRsZSI7IGNvcm5lckNsYXNzID0gIiI7IGJyZWFrOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJCWNhbGVuZGVyICs9ICInPiI7DQoJCQkJfQ0KCQkJCWNhbGVuZGVyICs9ICI8ZGl2IGNsYXNzPSd1aS1kYXRlcGlja2VyLWhlYWRlciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCIgKyBjb3JuZXJDbGFzcyArICInPiIgKw0KCQkJCQkoIC9hbGx8bGVmdC8udGVzdCggY29ybmVyQ2xhc3MgKSAmJiByb3cgPT09IDAgPyAoIGlzUlRMID8gbmV4dCA6IHByZXYgKSA6ICIiICkgKw0KCQkJCQkoIC9hbGx8cmlnaHQvLnRlc3QoIGNvcm5lckNsYXNzICkgJiYgcm93ID09PSAwID8gKCBpc1JUTCA/IHByZXYgOiBuZXh0ICkgOiAiIiApICsNCgkJCQkJdGhpcy5fZ2VuZXJhdGVNb250aFllYXJIZWFkZXIoIGluc3QsIGRyYXdNb250aCwgZHJhd1llYXIsIG1pbkRhdGUsIG1heERhdGUsDQoJCQkJCXJvdyA+IDAgfHwgY29sID4gMCwgbW9udGhOYW1lcywgbW9udGhOYW1lc1Nob3J0ICkgKyAvLyBkcmF3IG1vbnRoIGhlYWRlcnMNCgkJCQkJIjwvZGl2Pjx0YWJsZSBjbGFzcz0ndWktZGF0ZXBpY2tlci1jYWxlbmRhcic+PHRoZWFkPiIgKw0KCQkJCQkiPHRyPiI7DQoJCQkJdGhlYWQgPSAoIHNob3dXZWVrID8gIjx0aCBjbGFzcz0ndWktZGF0ZXBpY2tlci13ZWVrLWNvbCc+IiArIHRoaXMuX2dldCggaW5zdCwgIndlZWtIZWFkZXIiICkgKyAiPC90aD4iIDogIiIgKTsNCgkJCQlmb3IgKCBkb3cgPSAwOyBkb3cgPCA3OyBkb3crKyApIHsgLy8gZGF5cyBvZiB0aGUgd2Vlaw0KCQkJCQlkYXkgPSAoIGRvdyArIGZpcnN0RGF5ICkgJSA3Ow0KCQkJCQl0aGVhZCArPSAiPHRoIHNjb3BlPSdjb2wnIiArICggKCBkb3cgKyBmaXJzdERheSArIDYgKSAlIDcgPj0gNSA/ICIgY2xhc3M9J3VpLWRhdGVwaWNrZXItd2Vlay1lbmQnIiA6ICIiICkgKyAiPiIgKw0KCQkJCQkJIjxzcGFuIHRpdGxlPSciICsgZGF5TmFtZXNbIGRheSBdICsgIic+IiArIGRheU5hbWVzTWluWyBkYXkgXSArICI8L3NwYW4+PC90aD4iOw0KCQkJCX0NCgkJCQljYWxlbmRlciArPSB0aGVhZCArICI8L3RyPjwvdGhlYWQ+PHRib2R5PiI7DQoJCQkJZGF5c0luTW9udGggPSB0aGlzLl9nZXREYXlzSW5Nb250aCggZHJhd1llYXIsIGRyYXdNb250aCApOw0KCQkJCWlmICggZHJhd1llYXIgPT09IGluc3Quc2VsZWN0ZWRZZWFyICYmIGRyYXdNb250aCA9PT0gaW5zdC5zZWxlY3RlZE1vbnRoICkgew0KCQkJCQlpbnN0LnNlbGVjdGVkRGF5ID0gTWF0aC5taW4oIGluc3Quc2VsZWN0ZWREYXksIGRheXNJbk1vbnRoICk7DQoJCQkJfQ0KCQkJCWxlYWREYXlzID0gKCB0aGlzLl9nZXRGaXJzdERheU9mTW9udGgoIGRyYXdZZWFyLCBkcmF3TW9udGggKSAtIGZpcnN0RGF5ICsgNyApICUgNzsNCgkJCQljdXJSb3dzID0gTWF0aC5jZWlsKCAoIGxlYWREYXlzICsgZGF5c0luTW9udGggKSAvIDcgKTsgLy8gY2FsY3VsYXRlIHRoZSBudW1iZXIgb2Ygcm93cyB0byBnZW5lcmF0ZQ0KCQkJCW51bVJvd3MgPSAoIGlzTXVsdGlNb250aCA/IHRoaXMubWF4Um93cyA+IGN1clJvd3MgPyB0aGlzLm1heFJvd3MgOiBjdXJSb3dzIDogY3VyUm93cyApOyAvL0lmIG11bHRpcGxlIG1vbnRocywgdXNlIHRoZSBoaWdoZXIgbnVtYmVyIG9mIHJvd3MgKHNlZSAjNzA0MykNCgkJCQl0aGlzLm1heFJvd3MgPSBudW1Sb3dzOw0KCQkJCXByaW50RGF0ZSA9IHRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KCBuZXcgRGF0ZSggZHJhd1llYXIsIGRyYXdNb250aCwgMSAtIGxlYWREYXlzICkgKTsNCgkJCQlmb3IgKCBkUm93ID0gMDsgZFJvdyA8IG51bVJvd3M7IGRSb3crKyApIHsgLy8gY3JlYXRlIGRhdGUgcGlja2VyIHJvd3MNCgkJCQkJY2FsZW5kZXIgKz0gIjx0cj4iOw0KCQkJCQl0Ym9keSA9ICggIXNob3dXZWVrID8gIiIgOiAiPHRkIGNsYXNzPSd1aS1kYXRlcGlja2VyLXdlZWstY29sJz4iICsNCgkJCQkJCXRoaXMuX2dldCggaW5zdCwgImNhbGN1bGF0ZVdlZWsiICkoIHByaW50RGF0ZSApICsgIjwvdGQ+IiApOw0KCQkJCQlmb3IgKCBkb3cgPSAwOyBkb3cgPCA3OyBkb3crKyApIHsgLy8gY3JlYXRlIGRhdGUgcGlja2VyIGRheXMNCgkJCQkJCWRheVNldHRpbmdzID0gKCBiZWZvcmVTaG93RGF5ID8NCgkJCQkJCQliZWZvcmVTaG93RGF5LmFwcGx5KCAoIGluc3QuaW5wdXQgPyBpbnN0LmlucHV0WyAwIF0gOiBudWxsICksIFsgcHJpbnREYXRlIF0gKSA6IFsgdHJ1ZSwgIiIgXSApOw0KCQkJCQkJb3RoZXJNb250aCA9ICggcHJpbnREYXRlLmdldE1vbnRoKCkgIT09IGRyYXdNb250aCApOw0KCQkJCQkJdW5zZWxlY3RhYmxlID0gKCBvdGhlck1vbnRoICYmICFzZWxlY3RPdGhlck1vbnRocyApIHx8ICFkYXlTZXR0aW5nc1sgMCBdIHx8DQoJCQkJCQkJKCBtaW5EYXRlICYmIHByaW50RGF0ZSA8IG1pbkRhdGUgKSB8fCAoIG1heERhdGUgJiYgcHJpbnREYXRlID4gbWF4RGF0ZSApOw0KCQkJCQkJdGJvZHkgKz0gIjx0ZCBjbGFzcz0nIiArDQoJCQkJCQkJKCAoIGRvdyArIGZpcnN0RGF5ICsgNiApICUgNyA+PSA1ID8gIiB1aS1kYXRlcGlja2VyLXdlZWstZW5kIiA6ICIiICkgKyAvLyBoaWdobGlnaHQgd2Vla2VuZHMNCgkJCQkJCQkoIG90aGVyTW9udGggPyAiIHVpLWRhdGVwaWNrZXItb3RoZXItbW9udGgiIDogIiIgKSArIC8vIGhpZ2hsaWdodCBkYXlzIGZyb20gb3RoZXIgbW9udGhzDQoJCQkJCQkJKCAoIHByaW50RGF0ZS5nZXRUaW1lKCkgPT09IHNlbGVjdGVkRGF0ZS5nZXRUaW1lKCkgJiYgZHJhd01vbnRoID09PSBpbnN0LnNlbGVjdGVkTW9udGggJiYgaW5zdC5fa2V5RXZlbnQgKSB8fCAvLyB1c2VyIHByZXNzZWQga2V5DQoJCQkJCQkJKCBkZWZhdWx0RGF0ZS5nZXRUaW1lKCkgPT09IHByaW50RGF0ZS5nZXRUaW1lKCkgJiYgZGVmYXVsdERhdGUuZ2V0VGltZSgpID09PSBzZWxlY3RlZERhdGUuZ2V0VGltZSgpICkgPw0KDQoJCQkJCQkJLy8gb3IgZGVmYXVsdERhdGUgaXMgY3VycmVudCBwcmludGVkRGF0ZSBhbmQgZGVmYXVsdERhdGUgaXMgc2VsZWN0ZWREYXRlDQoJCQkJCQkJIiAiICsgdGhpcy5fZGF5T3ZlckNsYXNzIDogIiIgKSArIC8vIGhpZ2hsaWdodCBzZWxlY3RlZCBkYXkNCgkJCQkJCQkoIHVuc2VsZWN0YWJsZSA/ICIgIiArIHRoaXMuX3Vuc2VsZWN0YWJsZUNsYXNzICsgIiB1aS1zdGF0ZS1kaXNhYmxlZCIgOiAiIiApICsgIC8vIGhpZ2hsaWdodCB1bnNlbGVjdGFibGUgZGF5cw0KCQkJCQkJCSggb3RoZXJNb250aCAmJiAhc2hvd090aGVyTW9udGhzID8gIiIgOiAiICIgKyBkYXlTZXR0aW5nc1sgMSBdICsgLy8gaGlnaGxpZ2h0IGN1c3RvbSBkYXRlcw0KCQkJCQkJCSggcHJpbnREYXRlLmdldFRpbWUoKSA9PT0gY3VycmVudERhdGUuZ2V0VGltZSgpID8gIiAiICsgdGhpcy5fY3VycmVudENsYXNzIDogIiIgKSArIC8vIGhpZ2hsaWdodCBzZWxlY3RlZCBkYXkNCgkJCQkJCQkoIHByaW50RGF0ZS5nZXRUaW1lKCkgPT09IHRvZGF5LmdldFRpbWUoKSA/ICIgdWktZGF0ZXBpY2tlci10b2RheSIgOiAiIiApICkgKyAiJyIgKyAvLyBoaWdobGlnaHQgdG9kYXkgKGlmIGRpZmZlcmVudCkNCgkJCQkJCQkoICggIW90aGVyTW9udGggfHwgc2hvd090aGVyTW9udGhzICkgJiYgZGF5U2V0dGluZ3NbIDIgXSA/ICIgdGl0bGU9JyIgKyBkYXlTZXR0aW5nc1sgMiBdLnJlcGxhY2UoIC8nL2csICImIzM5OyIgKSArICInIiA6ICIiICkgKyAvLyBjZWxsIHRpdGxlDQoJCQkJCQkJKCB1bnNlbGVjdGFibGUgPyAiIiA6ICIgZGF0YS1oYW5kbGVyPSdzZWxlY3REYXknIGRhdGEtZXZlbnQ9J2NsaWNrJyBkYXRhLW1vbnRoPSciICsgcHJpbnREYXRlLmdldE1vbnRoKCkgKyAiJyBkYXRhLXllYXI9JyIgKyBwcmludERhdGUuZ2V0RnVsbFllYXIoKSArICInIiApICsgIj4iICsgLy8gYWN0aW9ucw0KCQkJCQkJCSggb3RoZXJNb250aCAmJiAhc2hvd090aGVyTW9udGhzID8gIiYjeGEwOyIgOiAvLyBkaXNwbGF5IGZvciBvdGhlciBtb250aHMNCgkJCQkJCQkoIHVuc2VsZWN0YWJsZSA/ICI8c3BhbiBjbGFzcz0ndWktc3RhdGUtZGVmYXVsdCc+IiArIHByaW50RGF0ZS5nZXREYXRlKCkgKyAiPC9zcGFuPiIgOiAiPGEgY2xhc3M9J3VpLXN0YXRlLWRlZmF1bHQiICsNCgkJCQkJCQkoIHByaW50RGF0ZS5nZXRUaW1lKCkgPT09IHRvZGF5LmdldFRpbWUoKSA/ICIgdWktc3RhdGUtaGlnaGxpZ2h0IiA6ICIiICkgKw0KCQkJCQkJCSggcHJpbnREYXRlLmdldFRpbWUoKSA9PT0gY3VycmVudERhdGUuZ2V0VGltZSgpID8gIiB1aS1zdGF0ZS1hY3RpdmUiIDogIiIgKSArIC8vIGhpZ2hsaWdodCBzZWxlY3RlZCBkYXkNCgkJCQkJCQkoIG90aGVyTW9udGggPyAiIHVpLXByaW9yaXR5LXNlY29uZGFyeSIgOiAiIiApICsgLy8gZGlzdGluZ3Vpc2ggZGF0ZXMgZnJvbSBvdGhlciBtb250aHMNCgkJCQkJCQkiJyBocmVmPScjJz4iICsgcHJpbnREYXRlLmdldERhdGUoKSArICI8L2E+IiApICkgKyAiPC90ZD4iOyAvLyBkaXNwbGF5IHNlbGVjdGFibGUgZGF0ZQ0KCQkJCQkJcHJpbnREYXRlLnNldERhdGUoIHByaW50RGF0ZS5nZXREYXRlKCkgKyAxICk7DQoJCQkJCQlwcmludERhdGUgPSB0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdCggcHJpbnREYXRlICk7DQoJCQkJCX0NCgkJCQkJY2FsZW5kZXIgKz0gdGJvZHkgKyAiPC90cj4iOw0KCQkJCX0NCgkJCQlkcmF3TW9udGgrKzsNCgkJCQlpZiAoIGRyYXdNb250aCA+IDExICkgew0KCQkJCQlkcmF3TW9udGggPSAwOw0KCQkJCQlkcmF3WWVhcisrOw0KCQkJCX0NCgkJCQljYWxlbmRlciArPSAiPC90Ym9keT48L3RhYmxlPiIgKyAoIGlzTXVsdGlNb250aCA/ICI8L2Rpdj4iICsNCgkJCQkJCQkoICggbnVtTW9udGhzWyAwIF0gPiAwICYmIGNvbCA9PT0gbnVtTW9udGhzWyAxIF0gLSAxICkgPyAiPGRpdiBjbGFzcz0ndWktZGF0ZXBpY2tlci1yb3ctYnJlYWsnPjwvZGl2PiIgOiAiIiApIDogIiIgKTsNCgkJCQlncm91cCArPSBjYWxlbmRlcjsNCgkJCX0NCgkJCWh0bWwgKz0gZ3JvdXA7DQoJCX0NCgkJaHRtbCArPSBidXR0b25QYW5lbDsNCgkJaW5zdC5fa2V5RXZlbnQgPSBmYWxzZTsNCgkJcmV0dXJuIGh0bWw7DQoJfSwNCg0KCS8qIEdlbmVyYXRlIHRoZSBtb250aCBhbmQgeWVhciBoZWFkZXIuICovDQoJX2dlbmVyYXRlTW9udGhZZWFySGVhZGVyOiBmdW5jdGlvbiggaW5zdCwgZHJhd01vbnRoLCBkcmF3WWVhciwgbWluRGF0ZSwgbWF4RGF0ZSwNCgkJCXNlY29uZGFyeSwgbW9udGhOYW1lcywgbW9udGhOYW1lc1Nob3J0ICkgew0KDQoJCXZhciBpbk1pblllYXIsIGluTWF4WWVhciwgbW9udGgsIHllYXJzLCB0aGlzWWVhciwgZGV0ZXJtaW5lWWVhciwgeWVhciwgZW5kWWVhciwNCgkJCWNoYW5nZU1vbnRoID0gdGhpcy5fZ2V0KCBpbnN0LCAiY2hhbmdlTW9udGgiICksDQoJCQljaGFuZ2VZZWFyID0gdGhpcy5fZ2V0KCBpbnN0LCAiY2hhbmdlWWVhciIgKSwNCgkJCXNob3dNb250aEFmdGVyWWVhciA9IHRoaXMuX2dldCggaW5zdCwgInNob3dNb250aEFmdGVyWWVhciIgKSwNCgkJCWh0bWwgPSAiPGRpdiBjbGFzcz0ndWktZGF0ZXBpY2tlci10aXRsZSc+IiwNCgkJCW1vbnRoSHRtbCA9ICIiOw0KDQoJCS8vIE1vbnRoIHNlbGVjdGlvbg0KCQlpZiAoIHNlY29uZGFyeSB8fCAhY2hhbmdlTW9udGggKSB7DQoJCQltb250aEh0bWwgKz0gIjxzcGFuIGNsYXNzPSd1aS1kYXRlcGlja2VyLW1vbnRoJz4iICsgbW9udGhOYW1lc1sgZHJhd01vbnRoIF0gKyAiPC9zcGFuPiI7DQoJCX0gZWxzZSB7DQoJCQlpbk1pblllYXIgPSAoIG1pbkRhdGUgJiYgbWluRGF0ZS5nZXRGdWxsWWVhcigpID09PSBkcmF3WWVhciApOw0KCQkJaW5NYXhZZWFyID0gKCBtYXhEYXRlICYmIG1heERhdGUuZ2V0RnVsbFllYXIoKSA9PT0gZHJhd1llYXIgKTsNCgkJCW1vbnRoSHRtbCArPSAiPHNlbGVjdCBjbGFzcz0ndWktZGF0ZXBpY2tlci1tb250aCcgZGF0YS1oYW5kbGVyPSdzZWxlY3RNb250aCcgZGF0YS1ldmVudD0nY2hhbmdlJz4iOw0KCQkJZm9yICggbW9udGggPSAwOyBtb250aCA8IDEyOyBtb250aCsrICkgew0KCQkJCWlmICggKCAhaW5NaW5ZZWFyIHx8IG1vbnRoID49IG1pbkRhdGUuZ2V0TW9udGgoKSApICYmICggIWluTWF4WWVhciB8fCBtb250aCA8PSBtYXhEYXRlLmdldE1vbnRoKCkgKSApIHsNCgkJCQkJbW9udGhIdG1sICs9ICI8b3B0aW9uIHZhbHVlPSciICsgbW9udGggKyAiJyIgKw0KCQkJCQkJKCBtb250aCA9PT0gZHJhd01vbnRoID8gIiBzZWxlY3RlZD0nc2VsZWN0ZWQnIiA6ICIiICkgKw0KCQkJCQkJIj4iICsgbW9udGhOYW1lc1Nob3J0WyBtb250aCBdICsgIjwvb3B0aW9uPiI7DQoJCQkJfQ0KCQkJfQ0KCQkJbW9udGhIdG1sICs9ICI8L3NlbGVjdD4iOw0KCQl9DQoNCgkJaWYgKCAhc2hvd01vbnRoQWZ0ZXJZZWFyICkgew0KCQkJaHRtbCArPSBtb250aEh0bWwgKyAoIHNlY29uZGFyeSB8fCAhKCBjaGFuZ2VNb250aCAmJiBjaGFuZ2VZZWFyICkgPyAiJiN4YTA7IiA6ICIiICk7DQoJCX0NCg0KCQkvLyBZZWFyIHNlbGVjdGlvbg0KCQlpZiAoICFpbnN0LnllYXJzaHRtbCApIHsNCgkJCWluc3QueWVhcnNodG1sID0gIiI7DQoJCQlpZiAoIHNlY29uZGFyeSB8fCAhY2hhbmdlWWVhciApIHsNCgkJCQlodG1sICs9ICI8c3BhbiBjbGFzcz0ndWktZGF0ZXBpY2tlci15ZWFyJz4iICsgZHJhd1llYXIgKyAiPC9zcGFuPiI7DQoJCQl9IGVsc2Ugew0KDQoJCQkJLy8gZGV0ZXJtaW5lIHJhbmdlIG9mIHllYXJzIHRvIGRpc3BsYXkNCgkJCQl5ZWFycyA9IHRoaXMuX2dldCggaW5zdCwgInllYXJSYW5nZSIgKS5zcGxpdCggIjoiICk7DQoJCQkJdGhpc1llYXIgPSBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCk7DQoJCQkJZGV0ZXJtaW5lWWVhciA9IGZ1bmN0aW9uKCB2YWx1ZSApIHsNCgkJCQkJdmFyIHllYXIgPSAoIHZhbHVlLm1hdGNoKCAvY1srXC1dLiovICkgPyBkcmF3WWVhciArIHBhcnNlSW50KCB2YWx1ZS5zdWJzdHJpbmcoIDEgKSwgMTAgKSA6DQoJCQkJCQkoIHZhbHVlLm1hdGNoKCAvWytcLV0uKi8gKSA/IHRoaXNZZWFyICsgcGFyc2VJbnQoIHZhbHVlLCAxMCApIDoNCgkJCQkJCXBhcnNlSW50KCB2YWx1ZSwgMTAgKSApICk7DQoJCQkJCXJldHVybiAoIGlzTmFOKCB5ZWFyICkgPyB0aGlzWWVhciA6IHllYXIgKTsNCgkJCQl9Ow0KCQkJCXllYXIgPSBkZXRlcm1pbmVZZWFyKCB5ZWFyc1sgMCBdICk7DQoJCQkJZW5kWWVhciA9IE1hdGgubWF4KCB5ZWFyLCBkZXRlcm1pbmVZZWFyKCB5ZWFyc1sgMSBdIHx8ICIiICkgKTsNCgkJCQl5ZWFyID0gKCBtaW5EYXRlID8gTWF0aC5tYXgoIHllYXIsIG1pbkRhdGUuZ2V0RnVsbFllYXIoKSApIDogeWVhciApOw0KCQkJCWVuZFllYXIgPSAoIG1heERhdGUgPyBNYXRoLm1pbiggZW5kWWVhciwgbWF4RGF0ZS5nZXRGdWxsWWVhcigpICkgOiBlbmRZZWFyICk7DQoJCQkJaW5zdC55ZWFyc2h0bWwgKz0gIjxzZWxlY3QgY2xhc3M9J3VpLWRhdGVwaWNrZXIteWVhcicgZGF0YS1oYW5kbGVyPSdzZWxlY3RZZWFyJyBkYXRhLWV2ZW50PSdjaGFuZ2UnPiI7DQoJCQkJZm9yICggOyB5ZWFyIDw9IGVuZFllYXI7IHllYXIrKyApIHsNCgkJCQkJaW5zdC55ZWFyc2h0bWwgKz0gIjxvcHRpb24gdmFsdWU9JyIgKyB5ZWFyICsgIiciICsNCgkJCQkJCSggeWVhciA9PT0gZHJhd1llYXIgPyAiIHNlbGVjdGVkPSdzZWxlY3RlZCciIDogIiIgKSArDQoJCQkJCQkiPiIgKyB5ZWFyICsgIjwvb3B0aW9uPiI7DQoJCQkJfQ0KCQkJCWluc3QueWVhcnNodG1sICs9ICI8L3NlbGVjdD4iOw0KDQoJCQkJaHRtbCArPSBpbnN0LnllYXJzaHRtbDsNCgkJCQlpbnN0LnllYXJzaHRtbCA9IG51bGw7DQoJCQl9DQoJCX0NCg0KCQlodG1sICs9IHRoaXMuX2dldCggaW5zdCwgInllYXJTdWZmaXgiICk7DQoJCWlmICggc2hvd01vbnRoQWZ0ZXJZZWFyICkgew0KCQkJaHRtbCArPSAoIHNlY29uZGFyeSB8fCAhKCBjaGFuZ2VNb250aCAmJiBjaGFuZ2VZZWFyICkgPyAiJiN4YTA7IiA6ICIiICkgKyBtb250aEh0bWw7DQoJCX0NCgkJaHRtbCArPSAiPC9kaXY+IjsgLy8gQ2xvc2UgZGF0ZXBpY2tlcl9oZWFkZXINCgkJcmV0dXJuIGh0bWw7DQoJfSwNCg0KCS8qIEFkanVzdCBvbmUgb2YgdGhlIGRhdGUgc3ViLWZpZWxkcy4gKi8NCglfYWRqdXN0SW5zdERhdGU6IGZ1bmN0aW9uKCBpbnN0LCBvZmZzZXQsIHBlcmlvZCApIHsNCgkJdmFyIHllYXIgPSBpbnN0LnNlbGVjdGVkWWVhciArICggcGVyaW9kID09PSAiWSIgPyBvZmZzZXQgOiAwICksDQoJCQltb250aCA9IGluc3Quc2VsZWN0ZWRNb250aCArICggcGVyaW9kID09PSAiTSIgPyBvZmZzZXQgOiAwICksDQoJCQlkYXkgPSBNYXRoLm1pbiggaW5zdC5zZWxlY3RlZERheSwgdGhpcy5fZ2V0RGF5c0luTW9udGgoIHllYXIsIG1vbnRoICkgKSArICggcGVyaW9kID09PSAiRCIgPyBvZmZzZXQgOiAwICksDQoJCQlkYXRlID0gdGhpcy5fcmVzdHJpY3RNaW5NYXgoIGluc3QsIHRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KCBuZXcgRGF0ZSggeWVhciwgbW9udGgsIGRheSApICkgKTsNCg0KCQlpbnN0LnNlbGVjdGVkRGF5ID0gZGF0ZS5nZXREYXRlKCk7DQoJCWluc3QuZHJhd01vbnRoID0gaW5zdC5zZWxlY3RlZE1vbnRoID0gZGF0ZS5nZXRNb250aCgpOw0KCQlpbnN0LmRyYXdZZWFyID0gaW5zdC5zZWxlY3RlZFllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCk7DQoJCWlmICggcGVyaW9kID09PSAiTSIgfHwgcGVyaW9kID09PSAiWSIgKSB7DQoJCQl0aGlzLl9ub3RpZnlDaGFuZ2UoIGluc3QgKTsNCgkJfQ0KCX0sDQoNCgkvKiBFbnN1cmUgYSBkYXRlIGlzIHdpdGhpbiBhbnkgbWluL21heCBib3VuZHMuICovDQoJX3Jlc3RyaWN0TWluTWF4OiBmdW5jdGlvbiggaW5zdCwgZGF0ZSApIHsNCgkJdmFyIG1pbkRhdGUgPSB0aGlzLl9nZXRNaW5NYXhEYXRlKCBpbnN0LCAibWluIiApLA0KCQkJbWF4RGF0ZSA9IHRoaXMuX2dldE1pbk1heERhdGUoIGluc3QsICJtYXgiICksDQoJCQluZXdEYXRlID0gKCBtaW5EYXRlICYmIGRhdGUgPCBtaW5EYXRlID8gbWluRGF0ZSA6IGRhdGUgKTsNCgkJcmV0dXJuICggbWF4RGF0ZSAmJiBuZXdEYXRlID4gbWF4RGF0ZSA/IG1heERhdGUgOiBuZXdEYXRlICk7DQoJfSwNCg0KCS8qIE5vdGlmeSBjaGFuZ2Ugb2YgbW9udGgveWVhci4gKi8NCglfbm90aWZ5Q2hhbmdlOiBmdW5jdGlvbiggaW5zdCApIHsNCgkJdmFyIG9uQ2hhbmdlID0gdGhpcy5fZ2V0KCBpbnN0LCAib25DaGFuZ2VNb250aFllYXIiICk7DQoJCWlmICggb25DaGFuZ2UgKSB7DQoJCQlvbkNoYW5nZS5hcHBseSggKCBpbnN0LmlucHV0ID8gaW5zdC5pbnB1dFsgMCBdIDogbnVsbCApLA0KCQkJCVsgaW5zdC5zZWxlY3RlZFllYXIsIGluc3Quc2VsZWN0ZWRNb250aCArIDEsIGluc3QgXSApOw0KCQl9DQoJfSwNCg0KCS8qIERldGVybWluZSB0aGUgbnVtYmVyIG9mIG1vbnRocyB0byBzaG93LiAqLw0KCV9nZXROdW1iZXJPZk1vbnRoczogZnVuY3Rpb24oIGluc3QgKSB7DQoJCXZhciBudW1Nb250aHMgPSB0aGlzLl9nZXQoIGluc3QsICJudW1iZXJPZk1vbnRocyIgKTsNCgkJcmV0dXJuICggbnVtTW9udGhzID09IG51bGwgPyBbIDEsIDEgXSA6ICggdHlwZW9mIG51bU1vbnRocyA9PT0gIm51bWJlciIgPyBbIDEsIG51bU1vbnRocyBdIDogbnVtTW9udGhzICkgKTsNCgl9LA0KDQoJLyogRGV0ZXJtaW5lIHRoZSBjdXJyZW50IG1heGltdW0gZGF0ZSAtIGVuc3VyZSBubyB0aW1lIGNvbXBvbmVudHMgYXJlIHNldC4gKi8NCglfZ2V0TWluTWF4RGF0ZTogZnVuY3Rpb24oIGluc3QsIG1pbk1heCApIHsNCgkJcmV0dXJuIHRoaXMuX2RldGVybWluZURhdGUoIGluc3QsIHRoaXMuX2dldCggaW5zdCwgbWluTWF4ICsgIkRhdGUiICksIG51bGwgKTsNCgl9LA0KDQoJLyogRmluZCB0aGUgbnVtYmVyIG9mIGRheXMgaW4gYSBnaXZlbiBtb250aC4gKi8NCglfZ2V0RGF5c0luTW9udGg6IGZ1bmN0aW9uKCB5ZWFyLCBtb250aCApIHsNCgkJcmV0dXJuIDMyIC0gdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QoIG5ldyBEYXRlKCB5ZWFyLCBtb250aCwgMzIgKSApLmdldERhdGUoKTsNCgl9LA0KDQoJLyogRmluZCB0aGUgZGF5IG9mIHRoZSB3ZWVrIG9mIHRoZSBmaXJzdCBvZiBhIG1vbnRoLiAqLw0KCV9nZXRGaXJzdERheU9mTW9udGg6IGZ1bmN0aW9uKCB5ZWFyLCBtb250aCApIHsNCgkJcmV0dXJuIG5ldyBEYXRlKCB5ZWFyLCBtb250aCwgMSApLmdldERheSgpOw0KCX0sDQoNCgkvKiBEZXRlcm1pbmVzIGlmIHdlIHNob3VsZCBhbGxvdyBhICJuZXh0L3ByZXYiIG1vbnRoIGRpc3BsYXkgY2hhbmdlLiAqLw0KCV9jYW5BZGp1c3RNb250aDogZnVuY3Rpb24oIGluc3QsIG9mZnNldCwgY3VyWWVhciwgY3VyTW9udGggKSB7DQoJCXZhciBudW1Nb250aHMgPSB0aGlzLl9nZXROdW1iZXJPZk1vbnRocyggaW5zdCApLA0KCQkJZGF0ZSA9IHRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KCBuZXcgRGF0ZSggY3VyWWVhciwNCgkJCWN1ck1vbnRoICsgKCBvZmZzZXQgPCAwID8gb2Zmc2V0IDogbnVtTW9udGhzWyAwIF0gKiBudW1Nb250aHNbIDEgXSApLCAxICkgKTsNCg0KCQlpZiAoIG9mZnNldCA8IDAgKSB7DQoJCQlkYXRlLnNldERhdGUoIHRoaXMuX2dldERheXNJbk1vbnRoKCBkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSApICk7DQoJCX0NCgkJcmV0dXJuIHRoaXMuX2lzSW5SYW5nZSggaW5zdCwgZGF0ZSApOw0KCX0sDQoNCgkvKiBJcyB0aGUgZ2l2ZW4gZGF0ZSBpbiB0aGUgYWNjZXB0ZWQgcmFuZ2U/ICovDQoJX2lzSW5SYW5nZTogZnVuY3Rpb24oIGluc3QsIGRhdGUgKSB7DQoJCXZhciB5ZWFyU3BsaXQsIGN1cnJlbnRZZWFyLA0KCQkJbWluRGF0ZSA9IHRoaXMuX2dldE1pbk1heERhdGUoIGluc3QsICJtaW4iICksDQoJCQltYXhEYXRlID0gdGhpcy5fZ2V0TWluTWF4RGF0ZSggaW5zdCwgIm1heCIgKSwNCgkJCW1pblllYXIgPSBudWxsLA0KCQkJbWF4WWVhciA9IG51bGwsDQoJCQl5ZWFycyA9IHRoaXMuX2dldCggaW5zdCwgInllYXJSYW5nZSIgKTsNCgkJCWlmICggeWVhcnMgKSB7DQoJCQkJeWVhclNwbGl0ID0geWVhcnMuc3BsaXQoICI6IiApOw0KCQkJCWN1cnJlbnRZZWFyID0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpOw0KCQkJCW1pblllYXIgPSBwYXJzZUludCggeWVhclNwbGl0WyAwIF0sIDEwICk7DQoJCQkJbWF4WWVhciA9IHBhcnNlSW50KCB5ZWFyU3BsaXRbIDEgXSwgMTAgKTsNCgkJCQlpZiAoIHllYXJTcGxpdFsgMCBdLm1hdGNoKCAvWytcLV0uKi8gKSApIHsNCgkJCQkJbWluWWVhciArPSBjdXJyZW50WWVhcjsNCgkJCQl9DQoJCQkJaWYgKCB5ZWFyU3BsaXRbIDEgXS5tYXRjaCggL1srXC1dLiovICkgKSB7DQoJCQkJCW1heFllYXIgKz0gY3VycmVudFllYXI7DQoJCQkJfQ0KCQkJfQ0KDQoJCXJldHVybiAoICggIW1pbkRhdGUgfHwgZGF0ZS5nZXRUaW1lKCkgPj0gbWluRGF0ZS5nZXRUaW1lKCkgKSAmJg0KCQkJKCAhbWF4RGF0ZSB8fCBkYXRlLmdldFRpbWUoKSA8PSBtYXhEYXRlLmdldFRpbWUoKSApICYmDQoJCQkoICFtaW5ZZWFyIHx8IGRhdGUuZ2V0RnVsbFllYXIoKSA+PSBtaW5ZZWFyICkgJiYNCgkJCSggIW1heFllYXIgfHwgZGF0ZS5nZXRGdWxsWWVhcigpIDw9IG1heFllYXIgKSApOw0KCX0sDQoNCgkvKiBQcm92aWRlIHRoZSBjb25maWd1cmF0aW9uIHNldHRpbmdzIGZvciBmb3JtYXR0aW5nL3BhcnNpbmcuICovDQoJX2dldEZvcm1hdENvbmZpZzogZnVuY3Rpb24oIGluc3QgKSB7DQoJCXZhciBzaG9ydFllYXJDdXRvZmYgPSB0aGlzLl9nZXQoIGluc3QsICJzaG9ydFllYXJDdXRvZmYiICk7DQoJCXNob3J0WWVhckN1dG9mZiA9ICggdHlwZW9mIHNob3J0WWVhckN1dG9mZiAhPT0gInN0cmluZyIgPyBzaG9ydFllYXJDdXRvZmYgOg0KCQkJbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpICUgMTAwICsgcGFyc2VJbnQoIHNob3J0WWVhckN1dG9mZiwgMTAgKSApOw0KCQlyZXR1cm4geyBzaG9ydFllYXJDdXRvZmY6IHNob3J0WWVhckN1dG9mZiwNCgkJCWRheU5hbWVzU2hvcnQ6IHRoaXMuX2dldCggaW5zdCwgImRheU5hbWVzU2hvcnQiICksIGRheU5hbWVzOiB0aGlzLl9nZXQoIGluc3QsICJkYXlOYW1lcyIgKSwNCgkJCW1vbnRoTmFtZXNTaG9ydDogdGhpcy5fZ2V0KCBpbnN0LCAibW9udGhOYW1lc1Nob3J0IiApLCBtb250aE5hbWVzOiB0aGlzLl9nZXQoIGluc3QsICJtb250aE5hbWVzIiApIH07DQoJfSwNCg0KCS8qIEZvcm1hdCB0aGUgZ2l2ZW4gZGF0ZSBmb3IgZGlzcGxheS4gKi8NCglfZm9ybWF0RGF0ZTogZnVuY3Rpb24oIGluc3QsIGRheSwgbW9udGgsIHllYXIgKSB7DQoJCWlmICggIWRheSApIHsNCgkJCWluc3QuY3VycmVudERheSA9IGluc3Quc2VsZWN0ZWREYXk7DQoJCQlpbnN0LmN1cnJlbnRNb250aCA9IGluc3Quc2VsZWN0ZWRNb250aDsNCgkJCWluc3QuY3VycmVudFllYXIgPSBpbnN0LnNlbGVjdGVkWWVhcjsNCgkJfQ0KCQl2YXIgZGF0ZSA9ICggZGF5ID8gKCB0eXBlb2YgZGF5ID09PSAib2JqZWN0IiA/IGRheSA6DQoJCQl0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdCggbmV3IERhdGUoIHllYXIsIG1vbnRoLCBkYXkgKSApICkgOg0KCQkJdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QoIG5ldyBEYXRlKCBpbnN0LmN1cnJlbnRZZWFyLCBpbnN0LmN1cnJlbnRNb250aCwgaW5zdC5jdXJyZW50RGF5ICkgKSApOw0KCQlyZXR1cm4gdGhpcy5mb3JtYXREYXRlKCB0aGlzLl9nZXQoIGluc3QsICJkYXRlRm9ybWF0IiApLCBkYXRlLCB0aGlzLl9nZXRGb3JtYXRDb25maWcoIGluc3QgKSApOw0KCX0NCn0gKTsNCg0KLyoNCiAqIEJpbmQgaG92ZXIgZXZlbnRzIGZvciBkYXRlcGlja2VyIGVsZW1lbnRzLg0KICogRG9uZSB2aWEgZGVsZWdhdGUgc28gdGhlIGJpbmRpbmcgb25seSBvY2N1cnMgb25jZSBpbiB0aGUgbGlmZXRpbWUgb2YgdGhlIHBhcmVudCBkaXYuDQogKiBHbG9iYWwgZGF0ZXBpY2tlcl9pbnN0QWN0aXZlLCBzZXQgYnkgX3VwZGF0ZURhdGVwaWNrZXIgYWxsb3dzIHRoZSBoYW5kbGVycyB0byBmaW5kIHRoZWlyIHdheSBiYWNrIHRvIHRoZSBhY3RpdmUgcGlja2VyLg0KICovDQpmdW5jdGlvbiBkYXRlcGlja2VyX2JpbmRIb3ZlciggZHBEaXYgKSB7DQoJdmFyIHNlbGVjdG9yID0gImJ1dHRvbiwgLnVpLWRhdGVwaWNrZXItcHJldiwgLnVpLWRhdGVwaWNrZXItbmV4dCwgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGQgYSI7DQoJcmV0dXJuIGRwRGl2Lm9uKCAibW91c2VvdXQiLCBzZWxlY3RvciwgZnVuY3Rpb24oKSB7DQoJCQkkKCB0aGlzICkucmVtb3ZlQ2xhc3MoICJ1aS1zdGF0ZS1ob3ZlciIgKTsNCgkJCWlmICggdGhpcy5jbGFzc05hbWUuaW5kZXhPZiggInVpLWRhdGVwaWNrZXItcHJldiIgKSAhPT0gLTEgKSB7DQoJCQkJJCggdGhpcyApLnJlbW92ZUNsYXNzKCAidWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyIiApOw0KCQkJfQ0KCQkJaWYgKCB0aGlzLmNsYXNzTmFtZS5pbmRleE9mKCAidWktZGF0ZXBpY2tlci1uZXh0IiApICE9PSAtMSApIHsNCgkJCQkkKCB0aGlzICkucmVtb3ZlQ2xhc3MoICJ1aS1kYXRlcGlja2VyLW5leHQtaG92ZXIiICk7DQoJCQl9DQoJCX0gKQ0KCQkub24oICJtb3VzZW92ZXIiLCBzZWxlY3RvciwgZGF0ZXBpY2tlcl9oYW5kbGVNb3VzZW92ZXIgKTsNCn0NCg0KZnVuY3Rpb24gZGF0ZXBpY2tlcl9oYW5kbGVNb3VzZW92ZXIoKSB7DQoJaWYgKCAhJC5kYXRlcGlja2VyLl9pc0Rpc2FibGVkRGF0ZXBpY2tlciggZGF0ZXBpY2tlcl9pbnN0QWN0aXZlLmlubGluZSA/IGRhdGVwaWNrZXJfaW5zdEFjdGl2ZS5kcERpdi5wYXJlbnQoKVsgMCBdIDogZGF0ZXBpY2tlcl9pbnN0QWN0aXZlLmlucHV0WyAwIF0gKSApIHsNCgkJJCggdGhpcyApLnBhcmVudHMoICIudWktZGF0ZXBpY2tlci1jYWxlbmRhciIgKS5maW5kKCAiYSIgKS5yZW1vdmVDbGFzcyggInVpLXN0YXRlLWhvdmVyIiApOw0KCQkkKCB0aGlzICkuYWRkQ2xhc3MoICJ1aS1zdGF0ZS1ob3ZlciIgKTsNCgkJaWYgKCB0aGlzLmNsYXNzTmFtZS5pbmRleE9mKCAidWktZGF0ZXBpY2tlci1wcmV2IiApICE9PSAtMSApIHsNCgkJCSQoIHRoaXMgKS5hZGRDbGFzcyggInVpLWRhdGVwaWNrZXItcHJldi1ob3ZlciIgKTsNCgkJfQ0KCQlpZiAoIHRoaXMuY2xhc3NOYW1lLmluZGV4T2YoICJ1aS1kYXRlcGlja2VyLW5leHQiICkgIT09IC0xICkgew0KCQkJJCggdGhpcyApLmFkZENsYXNzKCAidWktZGF0ZXBpY2tlci1uZXh0LWhvdmVyIiApOw0KCQl9DQoJfQ0KfQ0KDQovKiBqUXVlcnkgZXh0ZW5kIG5vdyBpZ25vcmVzIG51bGxzISAqLw0KZnVuY3Rpb24gZGF0ZXBpY2tlcl9leHRlbmRSZW1vdmUoIHRhcmdldCwgcHJvcHMgKSB7DQoJJC5leHRlbmQoIHRhcmdldCwgcHJvcHMgKTsNCglmb3IgKCB2YXIgbmFtZSBpbiBwcm9wcyApIHsNCgkJaWYgKCBwcm9wc1sgbmFtZSBdID09IG51bGwgKSB7DQoJCQl0YXJnZXRbIG5hbWUgXSA9IHByb3BzWyBuYW1lIF07DQoJCX0NCgl9DQoJcmV0dXJuIHRhcmdldDsNCn0NCg0KLyogSW52b2tlIHRoZSBkYXRlcGlja2VyIGZ1bmN0aW9uYWxpdHkuDQogICBAcGFyYW0gIG9wdGlvbnMgIHN0cmluZyAtIGEgY29tbWFuZCwgb3B0aW9uYWxseSBmb2xsb3dlZCBieSBhZGRpdGlvbmFsIHBhcmFtZXRlcnMgb3INCgkJCQkJT2JqZWN0IC0gc2V0dGluZ3MgZm9yIGF0dGFjaGluZyBuZXcgZGF0ZXBpY2tlciBmdW5jdGlvbmFsaXR5DQogICBAcmV0dXJuICBqUXVlcnkgb2JqZWN0ICovDQokLmZuLmRhdGVwaWNrZXIgPSBmdW5jdGlvbiggb3B0aW9ucyApIHsNCg0KCS8qIFZlcmlmeSBhbiBlbXB0eSBjb2xsZWN0aW9uIHdhc24ndCBwYXNzZWQgLSBGaXhlcyAjNjk3NiAqLw0KCWlmICggIXRoaXMubGVuZ3RoICkgew0KCQlyZXR1cm4gdGhpczsNCgl9DQoNCgkvKiBJbml0aWFsaXNlIHRoZSBkYXRlIHBpY2tlci4gKi8NCglpZiAoICEkLmRhdGVwaWNrZXIuaW5pdGlhbGl6ZWQgKSB7DQoJCSQoIGRvY3VtZW50ICkub24oICJtb3VzZWRvd24iLCAkLmRhdGVwaWNrZXIuX2NoZWNrRXh0ZXJuYWxDbGljayApOw0KCQkkLmRhdGVwaWNrZXIuaW5pdGlhbGl6ZWQgPSB0cnVlOw0KCX0NCg0KCS8qIEFwcGVuZCBkYXRlcGlja2VyIG1haW4gY29udGFpbmVyIHRvIGJvZHkgaWYgbm90IGV4aXN0LiAqLw0KCWlmICggJCggIiMiICsgJC5kYXRlcGlja2VyLl9tYWluRGl2SWQgKS5sZW5ndGggPT09IDAgKSB7DQoJCSQoICJib2R5IiApLmFwcGVuZCggJC5kYXRlcGlja2VyLmRwRGl2ICk7DQoJfQ0KDQoJdmFyIG90aGVyQXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKCBhcmd1bWVudHMsIDEgKTsNCglpZiAoIHR5cGVvZiBvcHRpb25zID09PSAic3RyaW5nIiAmJiAoIG9wdGlvbnMgPT09ICJpc0Rpc2FibGVkIiB8fCBvcHRpb25zID09PSAiZ2V0RGF0ZSIgfHwgb3B0aW9ucyA9PT0gIndpZGdldCIgKSApIHsNCgkJcmV0dXJuICQuZGF0ZXBpY2tlclsgIl8iICsgb3B0aW9ucyArICJEYXRlcGlja2VyIiBdLg0KCQkJYXBwbHkoICQuZGF0ZXBpY2tlciwgWyB0aGlzWyAwIF0gXS5jb25jYXQoIG90aGVyQXJncyApICk7DQoJfQ0KCWlmICggb3B0aW9ucyA9PT0gIm9wdGlvbiIgJiYgYXJndW1lbnRzLmxlbmd0aCA9PT0gMiAmJiB0eXBlb2YgYXJndW1lbnRzWyAxIF0gPT09ICJzdHJpbmciICkgew0KCQlyZXR1cm4gJC5kYXRlcGlja2VyWyAiXyIgKyBvcHRpb25zICsgIkRhdGVwaWNrZXIiIF0uDQoJCQlhcHBseSggJC5kYXRlcGlja2VyLCBbIHRoaXNbIDAgXSBdLmNvbmNhdCggb3RoZXJBcmdzICkgKTsNCgl9DQoJcmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7DQoJCXR5cGVvZiBvcHRpb25zID09PSAic3RyaW5nIiA/DQoJCQkkLmRhdGVwaWNrZXJbICJfIiArIG9wdGlvbnMgKyAiRGF0ZXBpY2tlciIgXS4NCgkJCQlhcHBseSggJC5kYXRlcGlja2VyLCBbIHRoaXMgXS5jb25jYXQoIG90aGVyQXJncyApICkgOg0KCQkJJC5kYXRlcGlja2VyLl9hdHRhY2hEYXRlcGlja2VyKCB0aGlzLCBvcHRpb25zICk7DQoJfSApOw0KfTsNCg0KJC5kYXRlcGlja2VyID0gbmV3IERhdGVwaWNrZXIoKTsgLy8gc2luZ2xldG9uIGluc3RhbmNlDQokLmRhdGVwaWNrZXIuaW5pdGlhbGl6ZWQgPSBmYWxzZTsNCiQuZGF0ZXBpY2tlci51dWlkID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7DQokLmRhdGVwaWNrZXIudmVyc2lvbiA9ICIxLjEyLjEiOw0KDQp2YXIgd2lkZ2V0c0RhdGVwaWNrZXIgPSAkLmRhdGVwaWNrZXI7DQoNCg0KDQoNCi8vIFRoaXMgZmlsZSBpcyBkZXByZWNhdGVkDQp2YXIgaWUgPSAkLnVpLmllID0gISEvbXNpZSBbXHcuXSsvLmV4ZWMoIG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKSApOw0KDQovKiENCiAqIGpRdWVyeSBVSSBNb3VzZSAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogTW91c2UNCi8vPj5ncm91cDogV2lkZ2V0cw0KLy8+PmRlc2NyaXB0aW9uOiBBYnN0cmFjdHMgbW91c2UtYmFzZWQgaW50ZXJhY3Rpb25zIHRvIGFzc2lzdCBpbiBjcmVhdGluZyBjZXJ0YWluIHdpZGdldHMuDQovLz4+ZG9jczogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vbW91c2UvDQoNCg0KDQp2YXIgbW91c2VIYW5kbGVkID0gZmFsc2U7DQokKCBkb2N1bWVudCApLm9uKCAibW91c2V1cCIsIGZ1bmN0aW9uKCkgew0KCW1vdXNlSGFuZGxlZCA9IGZhbHNlOw0KfSApOw0KDQp2YXIgd2lkZ2V0c01vdXNlID0gJC53aWRnZXQoICJ1aS5tb3VzZSIsIHsNCgl2ZXJzaW9uOiAiMS4xMi4xIiwNCglvcHRpb25zOiB7DQoJCWNhbmNlbDogImlucHV0LCB0ZXh0YXJlYSwgYnV0dG9uLCBzZWxlY3QsIG9wdGlvbiIsDQoJCWRpc3RhbmNlOiAxLA0KCQlkZWxheTogMA0KCX0sDQoJX21vdXNlSW5pdDogZnVuY3Rpb24oKSB7DQoJCXZhciB0aGF0ID0gdGhpczsNCg0KCQl0aGlzLmVsZW1lbnQNCgkJCS5vbiggIm1vdXNlZG93bi4iICsgdGhpcy53aWRnZXROYW1lLCBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQkJcmV0dXJuIHRoYXQuX21vdXNlRG93biggZXZlbnQgKTsNCgkJCX0gKQ0KCQkJLm9uKCAiY2xpY2suIiArIHRoaXMud2lkZ2V0TmFtZSwgZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCWlmICggdHJ1ZSA9PT0gJC5kYXRhKCBldmVudC50YXJnZXQsIHRoYXQud2lkZ2V0TmFtZSArICIucHJldmVudENsaWNrRXZlbnQiICkgKSB7DQoJCQkJCSQucmVtb3ZlRGF0YSggZXZlbnQudGFyZ2V0LCB0aGF0LndpZGdldE5hbWUgKyAiLnByZXZlbnRDbGlja0V2ZW50IiApOw0KCQkJCQlldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTsNCgkJCQkJcmV0dXJuIGZhbHNlOw0KCQkJCX0NCgkJCX0gKTsNCg0KCQl0aGlzLnN0YXJ0ZWQgPSBmYWxzZTsNCgl9LA0KDQoJLy8gVE9ETzogbWFrZSBzdXJlIGRlc3Ryb3lpbmcgb25lIGluc3RhbmNlIG9mIG1vdXNlIGRvZXNuJ3QgbWVzcyB3aXRoDQoJLy8gb3RoZXIgaW5zdGFuY2VzIG9mIG1vdXNlDQoJX21vdXNlRGVzdHJveTogZnVuY3Rpb24oKSB7DQoJCXRoaXMuZWxlbWVudC5vZmYoICIuIiArIHRoaXMud2lkZ2V0TmFtZSApOw0KCQlpZiAoIHRoaXMuX21vdXNlTW92ZURlbGVnYXRlICkgew0KCQkJdGhpcy5kb2N1bWVudA0KCQkJCS5vZmYoICJtb3VzZW1vdmUuIiArIHRoaXMud2lkZ2V0TmFtZSwgdGhpcy5fbW91c2VNb3ZlRGVsZWdhdGUgKQ0KCQkJCS5vZmYoICJtb3VzZXVwLiIgKyB0aGlzLndpZGdldE5hbWUsIHRoaXMuX21vdXNlVXBEZWxlZ2F0ZSApOw0KCQl9DQoJfSwNCg0KCV9tb3VzZURvd246IGZ1bmN0aW9uKCBldmVudCApIHsNCg0KCQkvLyBkb24ndCBsZXQgbW9yZSB0aGFuIG9uZSB3aWRnZXQgaGFuZGxlIG1vdXNlU3RhcnQNCgkJaWYgKCBtb3VzZUhhbmRsZWQgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQl0aGlzLl9tb3VzZU1vdmVkID0gZmFsc2U7DQoNCgkJLy8gV2UgbWF5IGhhdmUgbWlzc2VkIG1vdXNldXAgKG91dCBvZiB3aW5kb3cpDQoJCSggdGhpcy5fbW91c2VTdGFydGVkICYmIHRoaXMuX21vdXNlVXAoIGV2ZW50ICkgKTsNCg0KCQl0aGlzLl9tb3VzZURvd25FdmVudCA9IGV2ZW50Ow0KDQoJCXZhciB0aGF0ID0gdGhpcywNCgkJCWJ0bklzTGVmdCA9ICggZXZlbnQud2hpY2ggPT09IDEgKSwNCg0KCQkJLy8gZXZlbnQudGFyZ2V0Lm5vZGVOYW1lIHdvcmtzIGFyb3VuZCBhIGJ1ZyBpbiBJRSA4IHdpdGgNCgkJCS8vIGRpc2FibGVkIGlucHV0cyAoIzc2MjApDQoJCQllbElzQ2FuY2VsID0gKCB0eXBlb2YgdGhpcy5vcHRpb25zLmNhbmNlbCA9PT0gInN0cmluZyIgJiYgZXZlbnQudGFyZ2V0Lm5vZGVOYW1lID8NCgkJCQkkKCBldmVudC50YXJnZXQgKS5jbG9zZXN0KCB0aGlzLm9wdGlvbnMuY2FuY2VsICkubGVuZ3RoIDogZmFsc2UgKTsNCgkJaWYgKCAhYnRuSXNMZWZ0IHx8IGVsSXNDYW5jZWwgfHwgIXRoaXMuX21vdXNlQ2FwdHVyZSggZXZlbnQgKSApIHsNCgkJCXJldHVybiB0cnVlOw0KCQl9DQoNCgkJdGhpcy5tb3VzZURlbGF5TWV0ID0gIXRoaXMub3B0aW9ucy5kZWxheTsNCgkJaWYgKCAhdGhpcy5tb3VzZURlbGF5TWV0ICkgew0KCQkJdGhpcy5fbW91c2VEZWxheVRpbWVyID0gc2V0VGltZW91dCggZnVuY3Rpb24oKSB7DQoJCQkJdGhhdC5tb3VzZURlbGF5TWV0ID0gdHJ1ZTsNCgkJCX0sIHRoaXMub3B0aW9ucy5kZWxheSApOw0KCQl9DQoNCgkJaWYgKCB0aGlzLl9tb3VzZURpc3RhbmNlTWV0KCBldmVudCApICYmIHRoaXMuX21vdXNlRGVsYXlNZXQoIGV2ZW50ICkgKSB7DQoJCQl0aGlzLl9tb3VzZVN0YXJ0ZWQgPSAoIHRoaXMuX21vdXNlU3RhcnQoIGV2ZW50ICkgIT09IGZhbHNlICk7DQoJCQlpZiAoICF0aGlzLl9tb3VzZVN0YXJ0ZWQgKSB7DQoJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCgkJCQlyZXR1cm4gdHJ1ZTsNCgkJCX0NCgkJfQ0KDQoJCS8vIENsaWNrIGV2ZW50IG1heSBuZXZlciBoYXZlIGZpcmVkIChHZWNrbyAmIE9wZXJhKQ0KCQlpZiAoIHRydWUgPT09ICQuZGF0YSggZXZlbnQudGFyZ2V0LCB0aGlzLndpZGdldE5hbWUgKyAiLnByZXZlbnRDbGlja0V2ZW50IiApICkgew0KCQkJJC5yZW1vdmVEYXRhKCBldmVudC50YXJnZXQsIHRoaXMud2lkZ2V0TmFtZSArICIucHJldmVudENsaWNrRXZlbnQiICk7DQoJCX0NCg0KCQkvLyBUaGVzZSBkZWxlZ2F0ZXMgYXJlIHJlcXVpcmVkIHRvIGtlZXAgY29udGV4dA0KCQl0aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZSA9IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCXJldHVybiB0aGF0Ll9tb3VzZU1vdmUoIGV2ZW50ICk7DQoJCX07DQoJCXRoaXMuX21vdXNlVXBEZWxlZ2F0ZSA9IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCXJldHVybiB0aGF0Ll9tb3VzZVVwKCBldmVudCApOw0KCQl9Ow0KDQoJCXRoaXMuZG9jdW1lbnQNCgkJCS5vbiggIm1vdXNlbW92ZS4iICsgdGhpcy53aWRnZXROYW1lLCB0aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZSApDQoJCQkub24oICJtb3VzZXVwLiIgKyB0aGlzLndpZGdldE5hbWUsIHRoaXMuX21vdXNlVXBEZWxlZ2F0ZSApOw0KDQoJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoNCgkJbW91c2VIYW5kbGVkID0gdHJ1ZTsNCgkJcmV0dXJuIHRydWU7DQoJfSwNCg0KCV9tb3VzZU1vdmU6IGZ1bmN0aW9uKCBldmVudCApIHsNCg0KCQkvLyBPbmx5IGNoZWNrIGZvciBtb3VzZXVwcyBvdXRzaWRlIHRoZSBkb2N1bWVudCBpZiB5b3UndmUgbW92ZWQgaW5zaWRlIHRoZSBkb2N1bWVudA0KCQkvLyBhdCBsZWFzdCBvbmNlLiBUaGlzIHByZXZlbnRzIHRoZSBmaXJpbmcgb2YgbW91c2V1cCBpbiB0aGUgY2FzZSBvZiBJRTw5LCB3aGljaCB3aWxsDQoJCS8vIGZpcmUgYSBtb3VzZW1vdmUgZXZlbnQgaWYgY29udGVudCBpcyBwbGFjZWQgdW5kZXIgdGhlIGN1cnNvci4gU2VlICM3Nzc4DQoJCS8vIFN1cHBvcnQ6IElFIDw5DQoJCWlmICggdGhpcy5fbW91c2VNb3ZlZCApIHsNCg0KCQkJLy8gSUUgbW91c2V1cCBjaGVjayAtIG1vdXNldXAgaGFwcGVuZWQgd2hlbiBtb3VzZSB3YXMgb3V0IG9mIHdpbmRvdw0KCQkJaWYgKCAkLnVpLmllICYmICggIWRvY3VtZW50LmRvY3VtZW50TW9kZSB8fCBkb2N1bWVudC5kb2N1bWVudE1vZGUgPCA5ICkgJiYNCgkJCQkJIWV2ZW50LmJ1dHRvbiApIHsNCgkJCQlyZXR1cm4gdGhpcy5fbW91c2VVcCggZXZlbnQgKTsNCg0KCQkJLy8gSWZyYW1lIG1vdXNldXAgY2hlY2sgLSBtb3VzZXVwIG9jY3VycmVkIGluIGFub3RoZXIgZG9jdW1lbnQNCgkJCX0gZWxzZSBpZiAoICFldmVudC53aGljaCApIHsNCg0KCQkJCS8vIFN1cHBvcnQ6IFNhZmFyaSA8PTggLSA5DQoJCQkJLy8gU2FmYXJpIHNldHMgd2hpY2ggdG8gMCBpZiB5b3UgcHJlc3MgYW55IG9mIHRoZSBmb2xsb3dpbmcga2V5cw0KCQkJCS8vIGR1cmluZyBhIGRyYWcgKCMxNDQ2MSkNCgkJCQlpZiAoIGV2ZW50Lm9yaWdpbmFsRXZlbnQuYWx0S2V5IHx8IGV2ZW50Lm9yaWdpbmFsRXZlbnQuY3RybEtleSB8fA0KCQkJCQkJZXZlbnQub3JpZ2luYWxFdmVudC5tZXRhS2V5IHx8IGV2ZW50Lm9yaWdpbmFsRXZlbnQuc2hpZnRLZXkgKSB7DQoJCQkJCXRoaXMuaWdub3JlTWlzc2luZ1doaWNoID0gdHJ1ZTsNCgkJCQl9IGVsc2UgaWYgKCAhdGhpcy5pZ25vcmVNaXNzaW5nV2hpY2ggKSB7DQoJCQkJCXJldHVybiB0aGlzLl9tb3VzZVVwKCBldmVudCApOw0KCQkJCX0NCgkJCX0NCgkJfQ0KDQoJCWlmICggZXZlbnQud2hpY2ggfHwgZXZlbnQuYnV0dG9uICkgew0KCQkJdGhpcy5fbW91c2VNb3ZlZCA9IHRydWU7DQoJCX0NCg0KCQlpZiAoIHRoaXMuX21vdXNlU3RhcnRlZCApIHsNCgkJCXRoaXMuX21vdXNlRHJhZyggZXZlbnQgKTsNCgkJCXJldHVybiBldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQl9DQoNCgkJaWYgKCB0aGlzLl9tb3VzZURpc3RhbmNlTWV0KCBldmVudCApICYmIHRoaXMuX21vdXNlRGVsYXlNZXQoIGV2ZW50ICkgKSB7DQoJCQl0aGlzLl9tb3VzZVN0YXJ0ZWQgPQ0KCQkJCSggdGhpcy5fbW91c2VTdGFydCggdGhpcy5fbW91c2VEb3duRXZlbnQsIGV2ZW50ICkgIT09IGZhbHNlICk7DQoJCQkoIHRoaXMuX21vdXNlU3RhcnRlZCA/IHRoaXMuX21vdXNlRHJhZyggZXZlbnQgKSA6IHRoaXMuX21vdXNlVXAoIGV2ZW50ICkgKTsNCgkJfQ0KDQoJCXJldHVybiAhdGhpcy5fbW91c2VTdGFydGVkOw0KCX0sDQoNCglfbW91c2VVcDogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl0aGlzLmRvY3VtZW50DQoJCQkub2ZmKCAibW91c2Vtb3ZlLiIgKyB0aGlzLndpZGdldE5hbWUsIHRoaXMuX21vdXNlTW92ZURlbGVnYXRlICkNCgkJCS5vZmYoICJtb3VzZXVwLiIgKyB0aGlzLndpZGdldE5hbWUsIHRoaXMuX21vdXNlVXBEZWxlZ2F0ZSApOw0KDQoJCWlmICggdGhpcy5fbW91c2VTdGFydGVkICkgew0KCQkJdGhpcy5fbW91c2VTdGFydGVkID0gZmFsc2U7DQoNCgkJCWlmICggZXZlbnQudGFyZ2V0ID09PSB0aGlzLl9tb3VzZURvd25FdmVudC50YXJnZXQgKSB7DQoJCQkJJC5kYXRhKCBldmVudC50YXJnZXQsIHRoaXMud2lkZ2V0TmFtZSArICIucHJldmVudENsaWNrRXZlbnQiLCB0cnVlICk7DQoJCQl9DQoNCgkJCXRoaXMuX21vdXNlU3RvcCggZXZlbnQgKTsNCgkJfQ0KDQoJCWlmICggdGhpcy5fbW91c2VEZWxheVRpbWVyICkgew0KCQkJY2xlYXJUaW1lb3V0KCB0aGlzLl9tb3VzZURlbGF5VGltZXIgKTsNCgkJCWRlbGV0ZSB0aGlzLl9tb3VzZURlbGF5VGltZXI7DQoJCX0NCg0KCQl0aGlzLmlnbm9yZU1pc3NpbmdXaGljaCA9IGZhbHNlOw0KCQltb3VzZUhhbmRsZWQgPSBmYWxzZTsNCgkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCgl9LA0KDQoJX21vdXNlRGlzdGFuY2VNZXQ6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJcmV0dXJuICggTWF0aC5tYXgoDQoJCQkJTWF0aC5hYnMoIHRoaXMuX21vdXNlRG93bkV2ZW50LnBhZ2VYIC0gZXZlbnQucGFnZVggKSwNCgkJCQlNYXRoLmFicyggdGhpcy5fbW91c2VEb3duRXZlbnQucGFnZVkgLSBldmVudC5wYWdlWSApDQoJCQkpID49IHRoaXMub3B0aW9ucy5kaXN0YW5jZQ0KCQkpOw0KCX0sDQoNCglfbW91c2VEZWxheU1ldDogZnVuY3Rpb24oIC8qIGV2ZW50ICovICkgew0KCQlyZXR1cm4gdGhpcy5tb3VzZURlbGF5TWV0Ow0KCX0sDQoNCgkvLyBUaGVzZSBhcmUgcGxhY2Vob2xkZXIgbWV0aG9kcywgdG8gYmUgb3ZlcnJpZGVuIGJ5IGV4dGVuZGluZyBwbHVnaW4NCglfbW91c2VTdGFydDogZnVuY3Rpb24oIC8qIGV2ZW50ICovICkge30sDQoJX21vdXNlRHJhZzogZnVuY3Rpb24oIC8qIGV2ZW50ICovICkge30sDQoJX21vdXNlU3RvcDogZnVuY3Rpb24oIC8qIGV2ZW50ICovICkge30sDQoJX21vdXNlQ2FwdHVyZTogZnVuY3Rpb24oIC8qIGV2ZW50ICovICkgeyByZXR1cm4gdHJ1ZTsgfQ0KfSApOw0KDQoNCg0KDQovLyAkLnVpLnBsdWdpbiBpcyBkZXByZWNhdGVkLiBVc2UgJC53aWRnZXQoKSBleHRlbnNpb25zIGluc3RlYWQuDQp2YXIgcGx1Z2luID0gJC51aS5wbHVnaW4gPSB7DQoJYWRkOiBmdW5jdGlvbiggbW9kdWxlLCBvcHRpb24sIHNldCApIHsNCgkJdmFyIGksDQoJCQlwcm90byA9ICQudWlbIG1vZHVsZSBdLnByb3RvdHlwZTsNCgkJZm9yICggaSBpbiBzZXQgKSB7DQoJCQlwcm90by5wbHVnaW5zWyBpIF0gPSBwcm90by5wbHVnaW5zWyBpIF0gfHwgW107DQoJCQlwcm90by5wbHVnaW5zWyBpIF0ucHVzaCggWyBvcHRpb24sIHNldFsgaSBdIF0gKTsNCgkJfQ0KCX0sDQoJY2FsbDogZnVuY3Rpb24oIGluc3RhbmNlLCBuYW1lLCBhcmdzLCBhbGxvd0Rpc2Nvbm5lY3RlZCApIHsNCgkJdmFyIGksDQoJCQlzZXQgPSBpbnN0YW5jZS5wbHVnaW5zWyBuYW1lIF07DQoNCgkJaWYgKCAhc2V0ICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJaWYgKCAhYWxsb3dEaXNjb25uZWN0ZWQgJiYgKCAhaW5zdGFuY2UuZWxlbWVudFsgMCBdLnBhcmVudE5vZGUgfHwNCgkJCQlpbnN0YW5jZS5lbGVtZW50WyAwIF0ucGFyZW50Tm9kZS5ub2RlVHlwZSA9PT0gMTEgKSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCWZvciAoIGkgPSAwOyBpIDwgc2V0Lmxlbmd0aDsgaSsrICkgew0KCQkJaWYgKCBpbnN0YW5jZS5vcHRpb25zWyBzZXRbIGkgXVsgMCBdIF0gKSB7DQoJCQkJc2V0WyBpIF1bIDEgXS5hcHBseSggaW5zdGFuY2UuZWxlbWVudCwgYXJncyApOw0KCQkJfQ0KCQl9DQoJfQ0KfTsNCg0KDQoNCnZhciBzYWZlQmx1ciA9ICQudWkuc2FmZUJsdXIgPSBmdW5jdGlvbiggZWxlbWVudCApIHsNCg0KCS8vIFN1cHBvcnQ6IElFOSAtIDEwIG9ubHkNCgkvLyBJZiB0aGUgPGJvZHk+IGlzIGJsdXJyZWQsIElFIHdpbGwgc3dpdGNoIHdpbmRvd3MsIHNlZSAjOTQyMA0KCWlmICggZWxlbWVudCAmJiBlbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgIT09ICJib2R5IiApIHsNCgkJJCggZWxlbWVudCApLnRyaWdnZXIoICJibHVyIiApOw0KCX0NCn07DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgRHJhZ2dhYmxlIDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKi8NCg0KLy8+PmxhYmVsOiBEcmFnZ2FibGUNCi8vPj5ncm91cDogSW50ZXJhY3Rpb25zDQovLz4+ZGVzY3JpcHRpb246IEVuYWJsZXMgZHJhZ2dpbmcgZnVuY3Rpb25hbGl0eSBmb3IgYW55IGVsZW1lbnQuDQovLz4+ZG9jczogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vZHJhZ2dhYmxlLw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL2RyYWdnYWJsZS8NCi8vPj5jc3Muc3RydWN0dXJlOiAuLi8uLi90aGVtZXMvYmFzZS9kcmFnZ2FibGUuY3NzDQoNCg0KDQokLndpZGdldCggInVpLmRyYWdnYWJsZSIsICQudWkubW91c2UsIHsNCgl2ZXJzaW9uOiAiMS4xMi4xIiwNCgl3aWRnZXRFdmVudFByZWZpeDogImRyYWciLA0KCW9wdGlvbnM6IHsNCgkJYWRkQ2xhc3NlczogdHJ1ZSwNCgkJYXBwZW5kVG86ICJwYXJlbnQiLA0KCQlheGlzOiBmYWxzZSwNCgkJY29ubmVjdFRvU29ydGFibGU6IGZhbHNlLA0KCQljb250YWlubWVudDogZmFsc2UsDQoJCWN1cnNvcjogImF1dG8iLA0KCQljdXJzb3JBdDogZmFsc2UsDQoJCWdyaWQ6IGZhbHNlLA0KCQloYW5kbGU6IGZhbHNlLA0KCQloZWxwZXI6ICJvcmlnaW5hbCIsDQoJCWlmcmFtZUZpeDogZmFsc2UsDQoJCW9wYWNpdHk6IGZhbHNlLA0KCQlyZWZyZXNoUG9zaXRpb25zOiBmYWxzZSwNCgkJcmV2ZXJ0OiBmYWxzZSwNCgkJcmV2ZXJ0RHVyYXRpb246IDUwMCwNCgkJc2NvcGU6ICJkZWZhdWx0IiwNCgkJc2Nyb2xsOiB0cnVlLA0KCQlzY3JvbGxTZW5zaXRpdml0eTogMjAsDQoJCXNjcm9sbFNwZWVkOiAyMCwNCgkJc25hcDogZmFsc2UsDQoJCXNuYXBNb2RlOiAiYm90aCIsDQoJCXNuYXBUb2xlcmFuY2U6IDIwLA0KCQlzdGFjazogZmFsc2UsDQoJCXpJbmRleDogZmFsc2UsDQoNCgkJLy8gQ2FsbGJhY2tzDQoJCWRyYWc6IG51bGwsDQoJCXN0YXJ0OiBudWxsLA0KCQlzdG9wOiBudWxsDQoJfSwNCglfY3JlYXRlOiBmdW5jdGlvbigpIHsNCg0KCQlpZiAoIHRoaXMub3B0aW9ucy5oZWxwZXIgPT09ICJvcmlnaW5hbCIgKSB7DQoJCQl0aGlzLl9zZXRQb3NpdGlvblJlbGF0aXZlKCk7DQoJCX0NCgkJaWYgKCB0aGlzLm9wdGlvbnMuYWRkQ2xhc3NlcyApIHsNCgkJCXRoaXMuX2FkZENsYXNzKCAidWktZHJhZ2dhYmxlIiApOw0KCQl9DQoJCXRoaXMuX3NldEhhbmRsZUNsYXNzTmFtZSgpOw0KDQoJCXRoaXMuX21vdXNlSW5pdCgpOw0KCX0sDQoNCglfc2V0T3B0aW9uOiBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCgkJdGhpcy5fc3VwZXIoIGtleSwgdmFsdWUgKTsNCgkJaWYgKCBrZXkgPT09ICJoYW5kbGUiICkgew0KCQkJdGhpcy5fcmVtb3ZlSGFuZGxlQ2xhc3NOYW1lKCk7DQoJCQl0aGlzLl9zZXRIYW5kbGVDbGFzc05hbWUoKTsNCgkJfQ0KCX0sDQoNCglfZGVzdHJveTogZnVuY3Rpb24oKSB7DQoJCWlmICggKCB0aGlzLmhlbHBlciB8fCB0aGlzLmVsZW1lbnQgKS5pcyggIi51aS1kcmFnZ2FibGUtZHJhZ2dpbmciICkgKSB7DQoJCQl0aGlzLmRlc3Ryb3lPbkNsZWFyID0gdHJ1ZTsNCgkJCXJldHVybjsNCgkJfQ0KCQl0aGlzLl9yZW1vdmVIYW5kbGVDbGFzc05hbWUoKTsNCgkJdGhpcy5fbW91c2VEZXN0cm95KCk7DQoJfSwNCg0KCV9tb3VzZUNhcHR1cmU6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdmFyIG8gPSB0aGlzLm9wdGlvbnM7DQoNCgkJLy8gQW1vbmcgb3RoZXJzLCBwcmV2ZW50IGEgZHJhZyBvbiBhIHJlc2l6YWJsZS1oYW5kbGUNCgkJaWYgKCB0aGlzLmhlbHBlciB8fCBvLmRpc2FibGVkIHx8DQoJCQkJJCggZXZlbnQudGFyZ2V0ICkuY2xvc2VzdCggIi51aS1yZXNpemFibGUtaGFuZGxlIiApLmxlbmd0aCA+IDAgKSB7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCg0KCQkvL1F1aXQgaWYgd2UncmUgbm90IG9uIGEgdmFsaWQgaGFuZGxlDQoJCXRoaXMuaGFuZGxlID0gdGhpcy5fZ2V0SGFuZGxlKCBldmVudCApOw0KCQlpZiAoICF0aGlzLmhhbmRsZSApIHsNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KDQoJCXRoaXMuX2JsdXJBY3RpdmVFbGVtZW50KCBldmVudCApOw0KDQoJCXRoaXMuX2Jsb2NrRnJhbWVzKCBvLmlmcmFtZUZpeCA9PT0gdHJ1ZSA/ICJpZnJhbWUiIDogby5pZnJhbWVGaXggKTsNCg0KCQlyZXR1cm4gdHJ1ZTsNCg0KCX0sDQoNCglfYmxvY2tGcmFtZXM6IGZ1bmN0aW9uKCBzZWxlY3RvciApIHsNCgkJdGhpcy5pZnJhbWVCbG9ja3MgPSB0aGlzLmRvY3VtZW50LmZpbmQoIHNlbGVjdG9yICkubWFwKCBmdW5jdGlvbigpIHsNCgkJCXZhciBpZnJhbWUgPSAkKCB0aGlzICk7DQoNCgkJCXJldHVybiAkKCAiPGRpdj4iICkNCgkJCQkuY3NzKCAicG9zaXRpb24iLCAiYWJzb2x1dGUiICkNCgkJCQkuYXBwZW5kVG8oIGlmcmFtZS5wYXJlbnQoKSApDQoJCQkJLm91dGVyV2lkdGgoIGlmcmFtZS5vdXRlcldpZHRoKCkgKQ0KCQkJCS5vdXRlckhlaWdodCggaWZyYW1lLm91dGVySGVpZ2h0KCkgKQ0KCQkJCS5vZmZzZXQoIGlmcmFtZS5vZmZzZXQoKSApWyAwIF07DQoJCX0gKTsNCgl9LA0KDQoJX3VuYmxvY2tGcmFtZXM6IGZ1bmN0aW9uKCkgew0KCQlpZiAoIHRoaXMuaWZyYW1lQmxvY2tzICkgew0KCQkJdGhpcy5pZnJhbWVCbG9ja3MucmVtb3ZlKCk7DQoJCQlkZWxldGUgdGhpcy5pZnJhbWVCbG9ja3M7DQoJCX0NCgl9LA0KDQoJX2JsdXJBY3RpdmVFbGVtZW50OiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXZhciBhY3RpdmVFbGVtZW50ID0gJC51aS5zYWZlQWN0aXZlRWxlbWVudCggdGhpcy5kb2N1bWVudFsgMCBdICksDQoJCQl0YXJnZXQgPSAkKCBldmVudC50YXJnZXQgKTsNCg0KCQkvLyBEb24ndCBibHVyIGlmIHRoZSBldmVudCBvY2N1cnJlZCBvbiBhbiBlbGVtZW50IHRoYXQgaXMgd2l0aGluDQoJCS8vIHRoZSBjdXJyZW50bHkgZm9jdXNlZCBlbGVtZW50DQoJCS8vIFNlZSAjMTA1MjcsICMxMjQ3Mg0KCQlpZiAoIHRhcmdldC5jbG9zZXN0KCBhY3RpdmVFbGVtZW50ICkubGVuZ3RoICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJLy8gQmx1ciBhbnkgZWxlbWVudCB0aGF0IGN1cnJlbnRseSBoYXMgZm9jdXMsIHNlZSAjNDI2MQ0KCQkkLnVpLnNhZmVCbHVyKCBhY3RpdmVFbGVtZW50ICk7DQoJfSwNCg0KCV9tb3VzZVN0YXJ0OiBmdW5jdGlvbiggZXZlbnQgKSB7DQoNCgkJdmFyIG8gPSB0aGlzLm9wdGlvbnM7DQoNCgkJLy9DcmVhdGUgYW5kIGFwcGVuZCB0aGUgdmlzaWJsZSBoZWxwZXINCgkJdGhpcy5oZWxwZXIgPSB0aGlzLl9jcmVhdGVIZWxwZXIoIGV2ZW50ICk7DQoNCgkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMuaGVscGVyLCAidWktZHJhZ2dhYmxlLWRyYWdnaW5nIiApOw0KDQoJCS8vQ2FjaGUgdGhlIGhlbHBlciBzaXplDQoJCXRoaXMuX2NhY2hlSGVscGVyUHJvcG9ydGlvbnMoKTsNCg0KCQkvL0lmIGRkbWFuYWdlciBpcyB1c2VkIGZvciBkcm9wcGFibGVzLCBzZXQgdGhlIGdsb2JhbCBkcmFnZ2FibGUNCgkJaWYgKCAkLnVpLmRkbWFuYWdlciApIHsNCgkJCSQudWkuZGRtYW5hZ2VyLmN1cnJlbnQgPSB0aGlzOw0KCQl9DQoNCgkJLyoNCgkJICogLSBQb3NpdGlvbiBnZW5lcmF0aW9uIC0NCgkJICogVGhpcyBibG9jayBnZW5lcmF0ZXMgZXZlcnl0aGluZyBwb3NpdGlvbiByZWxhdGVkIC0gaXQncyB0aGUgY29yZSBvZiBkcmFnZ2FibGVzLg0KCQkgKi8NCg0KCQkvL0NhY2hlIHRoZSBtYXJnaW5zIG9mIHRoZSBvcmlnaW5hbCBlbGVtZW50DQoJCXRoaXMuX2NhY2hlTWFyZ2lucygpOw0KDQoJCS8vU3RvcmUgdGhlIGhlbHBlcidzIGNzcyBwb3NpdGlvbg0KCQl0aGlzLmNzc1Bvc2l0aW9uID0gdGhpcy5oZWxwZXIuY3NzKCAicG9zaXRpb24iICk7DQoJCXRoaXMuc2Nyb2xsUGFyZW50ID0gdGhpcy5oZWxwZXIuc2Nyb2xsUGFyZW50KCB0cnVlICk7DQoJCXRoaXMub2Zmc2V0UGFyZW50ID0gdGhpcy5oZWxwZXIub2Zmc2V0UGFyZW50KCk7DQoJCXRoaXMuaGFzRml4ZWRBbmNlc3RvciA9IHRoaXMuaGVscGVyLnBhcmVudHMoKS5maWx0ZXIoIGZ1bmN0aW9uKCkgew0KCQkJCXJldHVybiAkKCB0aGlzICkuY3NzKCAicG9zaXRpb24iICkgPT09ICJmaXhlZCI7DQoJCQl9ICkubGVuZ3RoID4gMDsNCg0KCQkvL1RoZSBlbGVtZW50J3MgYWJzb2x1dGUgcG9zaXRpb24gb24gdGhlIHBhZ2UgbWludXMgbWFyZ2lucw0KCQl0aGlzLnBvc2l0aW9uQWJzID0gdGhpcy5lbGVtZW50Lm9mZnNldCgpOw0KCQl0aGlzLl9yZWZyZXNoT2Zmc2V0cyggZXZlbnQgKTsNCg0KCQkvL0dlbmVyYXRlIHRoZSBvcmlnaW5hbCBwb3NpdGlvbg0KCQl0aGlzLm9yaWdpbmFsUG9zaXRpb24gPSB0aGlzLnBvc2l0aW9uID0gdGhpcy5fZ2VuZXJhdGVQb3NpdGlvbiggZXZlbnQsIGZhbHNlICk7DQoJCXRoaXMub3JpZ2luYWxQYWdlWCA9IGV2ZW50LnBhZ2VYOw0KCQl0aGlzLm9yaWdpbmFsUGFnZVkgPSBldmVudC5wYWdlWTsNCg0KCQkvL0FkanVzdCB0aGUgbW91c2Ugb2Zmc2V0IHJlbGF0aXZlIHRvIHRoZSBoZWxwZXIgaWYgImN1cnNvckF0IiBpcyBzdXBwbGllZA0KCQkoIG8uY3Vyc29yQXQgJiYgdGhpcy5fYWRqdXN0T2Zmc2V0RnJvbUhlbHBlciggby5jdXJzb3JBdCApICk7DQoNCgkJLy9TZXQgYSBjb250YWlubWVudCBpZiBnaXZlbiBpbiB0aGUgb3B0aW9ucw0KCQl0aGlzLl9zZXRDb250YWlubWVudCgpOw0KDQoJCS8vVHJpZ2dlciBldmVudCArIGNhbGxiYWNrcw0KCQlpZiAoIHRoaXMuX3RyaWdnZXIoICJzdGFydCIsIGV2ZW50ICkgPT09IGZhbHNlICkgew0KCQkJdGhpcy5fY2xlYXIoKTsNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KDQoJCS8vUmVjYWNoZSB0aGUgaGVscGVyIHNpemUNCgkJdGhpcy5fY2FjaGVIZWxwZXJQcm9wb3J0aW9ucygpOw0KDQoJCS8vUHJlcGFyZSB0aGUgZHJvcHBhYmxlIG9mZnNldHMNCgkJaWYgKCAkLnVpLmRkbWFuYWdlciAmJiAhby5kcm9wQmVoYXZpb3VyICkgew0KCQkJJC51aS5kZG1hbmFnZXIucHJlcGFyZU9mZnNldHMoIHRoaXMsIGV2ZW50ICk7DQoJCX0NCg0KCQkvLyBFeGVjdXRlIHRoZSBkcmFnIG9uY2UgLSB0aGlzIGNhdXNlcyB0aGUgaGVscGVyIG5vdCB0byBiZSB2aXNpYmxlIGJlZm9yZSBnZXR0aW5nIGl0cw0KCQkvLyBjb3JyZWN0IHBvc2l0aW9uDQoJCXRoaXMuX21vdXNlRHJhZyggZXZlbnQsIHRydWUgKTsNCg0KCQkvLyBJZiB0aGUgZGRtYW5hZ2VyIGlzIHVzZWQgZm9yIGRyb3BwYWJsZXMsIGluZm9ybSB0aGUgbWFuYWdlciB0aGF0IGRyYWdnaW5nIGhhcyBzdGFydGVkDQoJCS8vIChzZWUgIzUwMDMpDQoJCWlmICggJC51aS5kZG1hbmFnZXIgKSB7DQoJCQkkLnVpLmRkbWFuYWdlci5kcmFnU3RhcnQoIHRoaXMsIGV2ZW50ICk7DQoJCX0NCg0KCQlyZXR1cm4gdHJ1ZTsNCgl9LA0KDQoJX3JlZnJlc2hPZmZzZXRzOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXRoaXMub2Zmc2V0ID0gew0KCQkJdG9wOiB0aGlzLnBvc2l0aW9uQWJzLnRvcCAtIHRoaXMubWFyZ2lucy50b3AsDQoJCQlsZWZ0OiB0aGlzLnBvc2l0aW9uQWJzLmxlZnQgLSB0aGlzLm1hcmdpbnMubGVmdCwNCgkJCXNjcm9sbDogZmFsc2UsDQoJCQlwYXJlbnQ6IHRoaXMuX2dldFBhcmVudE9mZnNldCgpLA0KCQkJcmVsYXRpdmU6IHRoaXMuX2dldFJlbGF0aXZlT2Zmc2V0KCkNCgkJfTsNCg0KCQl0aGlzLm9mZnNldC5jbGljayA9IHsNCgkJCWxlZnQ6IGV2ZW50LnBhZ2VYIC0gdGhpcy5vZmZzZXQubGVmdCwNCgkJCXRvcDogZXZlbnQucGFnZVkgLSB0aGlzLm9mZnNldC50b3ANCgkJfTsNCgl9LA0KDQoJX21vdXNlRHJhZzogZnVuY3Rpb24oIGV2ZW50LCBub1Byb3BhZ2F0aW9uICkgew0KDQoJCS8vIHJlc2V0IGFueSBuZWNlc3NhcnkgY2FjaGVkIHByb3BlcnRpZXMgKHNlZSAjNTAwOSkNCgkJaWYgKCB0aGlzLmhhc0ZpeGVkQW5jZXN0b3IgKSB7DQoJCQl0aGlzLm9mZnNldC5wYXJlbnQgPSB0aGlzLl9nZXRQYXJlbnRPZmZzZXQoKTsNCgkJfQ0KDQoJCS8vQ29tcHV0ZSB0aGUgaGVscGVycyBwb3NpdGlvbg0KCQl0aGlzLnBvc2l0aW9uID0gdGhpcy5fZ2VuZXJhdGVQb3NpdGlvbiggZXZlbnQsIHRydWUgKTsNCgkJdGhpcy5wb3NpdGlvbkFicyA9IHRoaXMuX2NvbnZlcnRQb3NpdGlvblRvKCAiYWJzb2x1dGUiICk7DQoNCgkJLy9DYWxsIHBsdWdpbnMgYW5kIGNhbGxiYWNrcyBhbmQgdXNlIHRoZSByZXN1bHRpbmcgcG9zaXRpb24gaWYgc29tZXRoaW5nIGlzIHJldHVybmVkDQoJCWlmICggIW5vUHJvcGFnYXRpb24gKSB7DQoJCQl2YXIgdWkgPSB0aGlzLl91aUhhc2goKTsNCgkJCWlmICggdGhpcy5fdHJpZ2dlciggImRyYWciLCBldmVudCwgdWkgKSA9PT0gZmFsc2UgKSB7DQoJCQkJdGhpcy5fbW91c2VVcCggbmV3ICQuRXZlbnQoICJtb3VzZXVwIiwgZXZlbnQgKSApOw0KCQkJCXJldHVybiBmYWxzZTsNCgkJCX0NCgkJCXRoaXMucG9zaXRpb24gPSB1aS5wb3NpdGlvbjsNCgkJfQ0KDQoJCXRoaXMuaGVscGVyWyAwIF0uc3R5bGUubGVmdCA9IHRoaXMucG9zaXRpb24ubGVmdCArICJweCI7DQoJCXRoaXMuaGVscGVyWyAwIF0uc3R5bGUudG9wID0gdGhpcy5wb3NpdGlvbi50b3AgKyAicHgiOw0KDQoJCWlmICggJC51aS5kZG1hbmFnZXIgKSB7DQoJCQkkLnVpLmRkbWFuYWdlci5kcmFnKCB0aGlzLCBldmVudCApOw0KCQl9DQoNCgkJcmV0dXJuIGZhbHNlOw0KCX0sDQoNCglfbW91c2VTdG9wOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoNCgkJLy9JZiB3ZSBhcmUgdXNpbmcgZHJvcHBhYmxlcywgaW5mb3JtIHRoZSBtYW5hZ2VyIGFib3V0IHRoZSBkcm9wDQoJCXZhciB0aGF0ID0gdGhpcywNCgkJCWRyb3BwZWQgPSBmYWxzZTsNCgkJaWYgKCAkLnVpLmRkbWFuYWdlciAmJiAhdGhpcy5vcHRpb25zLmRyb3BCZWhhdmlvdXIgKSB7DQoJCQlkcm9wcGVkID0gJC51aS5kZG1hbmFnZXIuZHJvcCggdGhpcywgZXZlbnQgKTsNCgkJfQ0KDQoJCS8vaWYgYSBkcm9wIGNvbWVzIGZyb20gb3V0c2lkZSAoYSBzb3J0YWJsZSkNCgkJaWYgKCB0aGlzLmRyb3BwZWQgKSB7DQoJCQlkcm9wcGVkID0gdGhpcy5kcm9wcGVkOw0KCQkJdGhpcy5kcm9wcGVkID0gZmFsc2U7DQoJCX0NCg0KCQlpZiAoICggdGhpcy5vcHRpb25zLnJldmVydCA9PT0gImludmFsaWQiICYmICFkcm9wcGVkICkgfHwNCgkJCQkoIHRoaXMub3B0aW9ucy5yZXZlcnQgPT09ICJ2YWxpZCIgJiYgZHJvcHBlZCApIHx8DQoJCQkJdGhpcy5vcHRpb25zLnJldmVydCA9PT0gdHJ1ZSB8fCAoICQuaXNGdW5jdGlvbiggdGhpcy5vcHRpb25zLnJldmVydCApICYmDQoJCQkJdGhpcy5vcHRpb25zLnJldmVydC5jYWxsKCB0aGlzLmVsZW1lbnQsIGRyb3BwZWQgKSApDQoJCSkgew0KCQkJJCggdGhpcy5oZWxwZXIgKS5hbmltYXRlKA0KCQkJCXRoaXMub3JpZ2luYWxQb3NpdGlvbiwNCgkJCQlwYXJzZUludCggdGhpcy5vcHRpb25zLnJldmVydER1cmF0aW9uLCAxMCApLA0KCQkJCWZ1bmN0aW9uKCkgew0KCQkJCQlpZiAoIHRoYXQuX3RyaWdnZXIoICJzdG9wIiwgZXZlbnQgKSAhPT0gZmFsc2UgKSB7DQoJCQkJCQl0aGF0Ll9jbGVhcigpOw0KCQkJCQl9DQoJCQkJfQ0KCQkJKTsNCgkJfSBlbHNlIHsNCgkJCWlmICggdGhpcy5fdHJpZ2dlciggInN0b3AiLCBldmVudCApICE9PSBmYWxzZSApIHsNCgkJCQl0aGlzLl9jbGVhcigpOw0KCQkJfQ0KCQl9DQoNCgkJcmV0dXJuIGZhbHNlOw0KCX0sDQoNCglfbW91c2VVcDogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl0aGlzLl91bmJsb2NrRnJhbWVzKCk7DQoNCgkJLy8gSWYgdGhlIGRkbWFuYWdlciBpcyB1c2VkIGZvciBkcm9wcGFibGVzLCBpbmZvcm0gdGhlIG1hbmFnZXIgdGhhdCBkcmFnZ2luZyBoYXMgc3RvcHBlZA0KCQkvLyAoc2VlICM1MDAzKQ0KCQlpZiAoICQudWkuZGRtYW5hZ2VyICkgew0KCQkJJC51aS5kZG1hbmFnZXIuZHJhZ1N0b3AoIHRoaXMsIGV2ZW50ICk7DQoJCX0NCg0KCQkvLyBPbmx5IG5lZWQgdG8gZm9jdXMgaWYgdGhlIGV2ZW50IG9jY3VycmVkIG9uIHRoZSBkcmFnZ2FibGUgaXRzZWxmLCBzZWUgIzEwNTI3DQoJCWlmICggdGhpcy5oYW5kbGVFbGVtZW50LmlzKCBldmVudC50YXJnZXQgKSApIHsNCg0KCQkJLy8gVGhlIGludGVyYWN0aW9uIGlzIG92ZXI7IHdoZXRoZXIgb3Igbm90IHRoZSBjbGljayByZXN1bHRlZCBpbiBhIGRyYWcsDQoJCQkvLyBmb2N1cyB0aGUgZWxlbWVudA0KCQkJdGhpcy5lbGVtZW50LnRyaWdnZXIoICJmb2N1cyIgKTsNCgkJfQ0KDQoJCXJldHVybiAkLnVpLm1vdXNlLnByb3RvdHlwZS5fbW91c2VVcC5jYWxsKCB0aGlzLCBldmVudCApOw0KCX0sDQoNCgljYW5jZWw6IGZ1bmN0aW9uKCkgew0KDQoJCWlmICggdGhpcy5oZWxwZXIuaXMoICIudWktZHJhZ2dhYmxlLWRyYWdnaW5nIiApICkgew0KCQkJdGhpcy5fbW91c2VVcCggbmV3ICQuRXZlbnQoICJtb3VzZXVwIiwgeyB0YXJnZXQ6IHRoaXMuZWxlbWVudFsgMCBdIH0gKSApOw0KCQl9IGVsc2Ugew0KCQkJdGhpcy5fY2xlYXIoKTsNCgkJfQ0KDQoJCXJldHVybiB0aGlzOw0KDQoJfSwNCg0KCV9nZXRIYW5kbGU6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJcmV0dXJuIHRoaXMub3B0aW9ucy5oYW5kbGUgPw0KCQkJISEkKCBldmVudC50YXJnZXQgKS5jbG9zZXN0KCB0aGlzLmVsZW1lbnQuZmluZCggdGhpcy5vcHRpb25zLmhhbmRsZSApICkubGVuZ3RoIDoNCgkJCXRydWU7DQoJfSwNCg0KCV9zZXRIYW5kbGVDbGFzc05hbWU6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLmhhbmRsZUVsZW1lbnQgPSB0aGlzLm9wdGlvbnMuaGFuZGxlID8NCgkJCXRoaXMuZWxlbWVudC5maW5kKCB0aGlzLm9wdGlvbnMuaGFuZGxlICkgOiB0aGlzLmVsZW1lbnQ7DQoJCXRoaXMuX2FkZENsYXNzKCB0aGlzLmhhbmRsZUVsZW1lbnQsICJ1aS1kcmFnZ2FibGUtaGFuZGxlIiApOw0KCX0sDQoNCglfcmVtb3ZlSGFuZGxlQ2xhc3NOYW1lOiBmdW5jdGlvbigpIHsNCgkJdGhpcy5fcmVtb3ZlQ2xhc3MoIHRoaXMuaGFuZGxlRWxlbWVudCwgInVpLWRyYWdnYWJsZS1oYW5kbGUiICk7DQoJfSwNCg0KCV9jcmVhdGVIZWxwZXI6IGZ1bmN0aW9uKCBldmVudCApIHsNCg0KCQl2YXIgbyA9IHRoaXMub3B0aW9ucywNCgkJCWhlbHBlcklzRnVuY3Rpb24gPSAkLmlzRnVuY3Rpb24oIG8uaGVscGVyICksDQoJCQloZWxwZXIgPSBoZWxwZXJJc0Z1bmN0aW9uID8NCgkJCQkkKCBvLmhlbHBlci5hcHBseSggdGhpcy5lbGVtZW50WyAwIF0sIFsgZXZlbnQgXSApICkgOg0KCQkJCSggby5oZWxwZXIgPT09ICJjbG9uZSIgPw0KCQkJCQl0aGlzLmVsZW1lbnQuY2xvbmUoKS5yZW1vdmVBdHRyKCAiaWQiICkgOg0KCQkJCQl0aGlzLmVsZW1lbnQgKTsNCg0KCQlpZiAoICFoZWxwZXIucGFyZW50cyggImJvZHkiICkubGVuZ3RoICkgew0KCQkJaGVscGVyLmFwcGVuZFRvKCAoIG8uYXBwZW5kVG8gPT09ICJwYXJlbnQiID8NCgkJCQl0aGlzLmVsZW1lbnRbIDAgXS5wYXJlbnROb2RlIDoNCgkJCQlvLmFwcGVuZFRvICkgKTsNCgkJfQ0KDQoJCS8vIEh0dHA6Ly9idWdzLmpxdWVyeXVpLmNvbS90aWNrZXQvOTQ0Ng0KCQkvLyBhIGhlbHBlciBmdW5jdGlvbiBjYW4gcmV0dXJuIHRoZSBvcmlnaW5hbCBlbGVtZW50DQoJCS8vIHdoaWNoIHdvdWxkbid0IGhhdmUgYmVlbiBzZXQgdG8gcmVsYXRpdmUgaW4gX2NyZWF0ZQ0KCQlpZiAoIGhlbHBlcklzRnVuY3Rpb24gJiYgaGVscGVyWyAwIF0gPT09IHRoaXMuZWxlbWVudFsgMCBdICkgew0KCQkJdGhpcy5fc2V0UG9zaXRpb25SZWxhdGl2ZSgpOw0KCQl9DQoNCgkJaWYgKCBoZWxwZXJbIDAgXSAhPT0gdGhpcy5lbGVtZW50WyAwIF0gJiYNCgkJCQkhKCAvKGZpeGVkfGFic29sdXRlKS8gKS50ZXN0KCBoZWxwZXIuY3NzKCAicG9zaXRpb24iICkgKSApIHsNCgkJCWhlbHBlci5jc3MoICJwb3NpdGlvbiIsICJhYnNvbHV0ZSIgKTsNCgkJfQ0KDQoJCXJldHVybiBoZWxwZXI7DQoNCgl9LA0KDQoJX3NldFBvc2l0aW9uUmVsYXRpdmU6IGZ1bmN0aW9uKCkgew0KCQlpZiAoICEoIC9eKD86cnxhfGYpLyApLnRlc3QoIHRoaXMuZWxlbWVudC5jc3MoICJwb3NpdGlvbiIgKSApICkgew0KCQkJdGhpcy5lbGVtZW50WyAwIF0uc3R5bGUucG9zaXRpb24gPSAicmVsYXRpdmUiOw0KCQl9DQoJfSwNCg0KCV9hZGp1c3RPZmZzZXRGcm9tSGVscGVyOiBmdW5jdGlvbiggb2JqICkgew0KCQlpZiAoIHR5cGVvZiBvYmogPT09ICJzdHJpbmciICkgew0KCQkJb2JqID0gb2JqLnNwbGl0KCAiICIgKTsNCgkJfQ0KCQlpZiAoICQuaXNBcnJheSggb2JqICkgKSB7DQoJCQlvYmogPSB7IGxlZnQ6ICtvYmpbIDAgXSwgdG9wOiArb2JqWyAxIF0gfHwgMCB9Ow0KCQl9DQoJCWlmICggImxlZnQiIGluIG9iaiApIHsNCgkJCXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQgPSBvYmoubGVmdCArIHRoaXMubWFyZ2lucy5sZWZ0Ow0KCQl9DQoJCWlmICggInJpZ2h0IiBpbiBvYmogKSB7DQoJCQl0aGlzLm9mZnNldC5jbGljay5sZWZ0ID0gdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aCAtIG9iai5yaWdodCArIHRoaXMubWFyZ2lucy5sZWZ0Ow0KCQl9DQoJCWlmICggInRvcCIgaW4gb2JqICkgew0KCQkJdGhpcy5vZmZzZXQuY2xpY2sudG9wID0gb2JqLnRvcCArIHRoaXMubWFyZ2lucy50b3A7DQoJCX0NCgkJaWYgKCAiYm90dG9tIiBpbiBvYmogKSB7DQoJCQl0aGlzLm9mZnNldC5jbGljay50b3AgPSB0aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodCAtIG9iai5ib3R0b20gKyB0aGlzLm1hcmdpbnMudG9wOw0KCQl9DQoJfSwNCg0KCV9pc1Jvb3ROb2RlOiBmdW5jdGlvbiggZWxlbWVudCApIHsNCgkJcmV0dXJuICggLyhodG1sfGJvZHkpL2kgKS50ZXN0KCBlbGVtZW50LnRhZ05hbWUgKSB8fCBlbGVtZW50ID09PSB0aGlzLmRvY3VtZW50WyAwIF07DQoJfSwNCg0KCV9nZXRQYXJlbnRPZmZzZXQ6IGZ1bmN0aW9uKCkgew0KDQoJCS8vR2V0IHRoZSBvZmZzZXRQYXJlbnQgYW5kIGNhY2hlIGl0cyBwb3NpdGlvbg0KCQl2YXIgcG8gPSB0aGlzLm9mZnNldFBhcmVudC5vZmZzZXQoKSwNCgkJCWRvY3VtZW50ID0gdGhpcy5kb2N1bWVudFsgMCBdOw0KDQoJCS8vIFRoaXMgaXMgYSBzcGVjaWFsIGNhc2Ugd2hlcmUgd2UgbmVlZCB0byBtb2RpZnkgYSBvZmZzZXQgY2FsY3VsYXRlZCBvbiBzdGFydCwgc2luY2UgdGhlDQoJCS8vIGZvbGxvd2luZyBoYXBwZW5lZDoNCgkJLy8gMS4gVGhlIHBvc2l0aW9uIG9mIHRoZSBoZWxwZXIgaXMgYWJzb2x1dGUsIHNvIGl0J3MgcG9zaXRpb24gaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUNCgkJLy8gbmV4dCBwb3NpdGlvbmVkIHBhcmVudA0KCQkvLyAyLiBUaGUgYWN0dWFsIG9mZnNldCBwYXJlbnQgaXMgYSBjaGlsZCBvZiB0aGUgc2Nyb2xsIHBhcmVudCwgYW5kIHRoZSBzY3JvbGwgcGFyZW50IGlzbid0DQoJCS8vIHRoZSBkb2N1bWVudCwgd2hpY2ggbWVhbnMgdGhhdCB0aGUgc2Nyb2xsIGlzIGluY2x1ZGVkIGluIHRoZSBpbml0aWFsIGNhbGN1bGF0aW9uIG9mIHRoZQ0KCQkvLyBvZmZzZXQgb2YgdGhlIHBhcmVudCwgYW5kIG5ldmVyIHJlY2FsY3VsYXRlZCB1cG9uIGRyYWcNCgkJaWYgKCB0aGlzLmNzc1Bvc2l0aW9uID09PSAiYWJzb2x1dGUiICYmIHRoaXMuc2Nyb2xsUGFyZW50WyAwIF0gIT09IGRvY3VtZW50ICYmDQoJCQkJJC5jb250YWlucyggdGhpcy5zY3JvbGxQYXJlbnRbIDAgXSwgdGhpcy5vZmZzZXRQYXJlbnRbIDAgXSApICkgew0KCQkJcG8ubGVmdCArPSB0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCk7DQoJCQlwby50b3AgKz0gdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsVG9wKCk7DQoJCX0NCg0KCQlpZiAoIHRoaXMuX2lzUm9vdE5vZGUoIHRoaXMub2Zmc2V0UGFyZW50WyAwIF0gKSApIHsNCgkJCXBvID0geyB0b3A6IDAsIGxlZnQ6IDAgfTsNCgkJfQ0KDQoJCXJldHVybiB7DQoJCQl0b3A6IHBvLnRvcCArICggcGFyc2VJbnQoIHRoaXMub2Zmc2V0UGFyZW50LmNzcyggImJvcmRlclRvcFdpZHRoIiApLCAxMCApIHx8IDAgKSwNCgkJCWxlZnQ6IHBvLmxlZnQgKyAoIHBhcnNlSW50KCB0aGlzLm9mZnNldFBhcmVudC5jc3MoICJib3JkZXJMZWZ0V2lkdGgiICksIDEwICkgfHwgMCApDQoJCX07DQoNCgl9LA0KDQoJX2dldFJlbGF0aXZlT2Zmc2V0OiBmdW5jdGlvbigpIHsNCgkJaWYgKCB0aGlzLmNzc1Bvc2l0aW9uICE9PSAicmVsYXRpdmUiICkgew0KCQkJcmV0dXJuIHsgdG9wOiAwLCBsZWZ0OiAwIH07DQoJCX0NCg0KCQl2YXIgcCA9IHRoaXMuZWxlbWVudC5wb3NpdGlvbigpLA0KCQkJc2Nyb2xsSXNSb290Tm9kZSA9IHRoaXMuX2lzUm9vdE5vZGUoIHRoaXMuc2Nyb2xsUGFyZW50WyAwIF0gKTsNCg0KCQlyZXR1cm4gew0KCQkJdG9wOiBwLnRvcCAtICggcGFyc2VJbnQoIHRoaXMuaGVscGVyLmNzcyggInRvcCIgKSwgMTAgKSB8fCAwICkgKw0KCQkJCSggIXNjcm9sbElzUm9vdE5vZGUgPyB0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKSA6IDAgKSwNCgkJCWxlZnQ6IHAubGVmdCAtICggcGFyc2VJbnQoIHRoaXMuaGVscGVyLmNzcyggImxlZnQiICksIDEwICkgfHwgMCApICsNCgkJCQkoICFzY3JvbGxJc1Jvb3ROb2RlID8gdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCgpIDogMCApDQoJCX07DQoNCgl9LA0KDQoJX2NhY2hlTWFyZ2luczogZnVuY3Rpb24oKSB7DQoJCXRoaXMubWFyZ2lucyA9IHsNCgkJCWxlZnQ6ICggcGFyc2VJbnQoIHRoaXMuZWxlbWVudC5jc3MoICJtYXJnaW5MZWZ0IiApLCAxMCApIHx8IDAgKSwNCgkJCXRvcDogKCBwYXJzZUludCggdGhpcy5lbGVtZW50LmNzcyggIm1hcmdpblRvcCIgKSwgMTAgKSB8fCAwICksDQoJCQlyaWdodDogKCBwYXJzZUludCggdGhpcy5lbGVtZW50LmNzcyggIm1hcmdpblJpZ2h0IiApLCAxMCApIHx8IDAgKSwNCgkJCWJvdHRvbTogKCBwYXJzZUludCggdGhpcy5lbGVtZW50LmNzcyggIm1hcmdpbkJvdHRvbSIgKSwgMTAgKSB8fCAwICkNCgkJfTsNCgl9LA0KDQoJX2NhY2hlSGVscGVyUHJvcG9ydGlvbnM6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLmhlbHBlclByb3BvcnRpb25zID0gew0KCQkJd2lkdGg6IHRoaXMuaGVscGVyLm91dGVyV2lkdGgoKSwNCgkJCWhlaWdodDogdGhpcy5oZWxwZXIub3V0ZXJIZWlnaHQoKQ0KCQl9Ow0KCX0sDQoNCglfc2V0Q29udGFpbm1lbnQ6IGZ1bmN0aW9uKCkgew0KDQoJCXZhciBpc1VzZXJTY3JvbGxhYmxlLCBjLCBjZSwNCgkJCW8gPSB0aGlzLm9wdGlvbnMsDQoJCQlkb2N1bWVudCA9IHRoaXMuZG9jdW1lbnRbIDAgXTsNCg0KCQl0aGlzLnJlbGF0aXZlQ29udGFpbmVyID0gbnVsbDsNCg0KCQlpZiAoICFvLmNvbnRhaW5tZW50ICkgew0KCQkJdGhpcy5jb250YWlubWVudCA9IG51bGw7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlpZiAoIG8uY29udGFpbm1lbnQgPT09ICJ3aW5kb3ciICkgew0KCQkJdGhpcy5jb250YWlubWVudCA9IFsNCgkJCQkkKCB3aW5kb3cgKS5zY3JvbGxMZWZ0KCkgLSB0aGlzLm9mZnNldC5yZWxhdGl2ZS5sZWZ0IC0gdGhpcy5vZmZzZXQucGFyZW50LmxlZnQsDQoJCQkJJCggd2luZG93ICkuc2Nyb2xsVG9wKCkgLSB0aGlzLm9mZnNldC5yZWxhdGl2ZS50b3AgLSB0aGlzLm9mZnNldC5wYXJlbnQudG9wLA0KCQkJCSQoIHdpbmRvdyApLnNjcm9sbExlZnQoKSArICQoIHdpbmRvdyApLndpZHRoKCkgLQ0KCQkJCQl0aGlzLmhlbHBlclByb3BvcnRpb25zLndpZHRoIC0gdGhpcy5tYXJnaW5zLmxlZnQsDQoJCQkJJCggd2luZG93ICkuc2Nyb2xsVG9wKCkgKw0KCQkJCQkoICQoIHdpbmRvdyApLmhlaWdodCgpIHx8IGRvY3VtZW50LmJvZHkucGFyZW50Tm9kZS5zY3JvbGxIZWlnaHQgKSAtDQoJCQkJCXRoaXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0IC0gdGhpcy5tYXJnaW5zLnRvcA0KCQkJXTsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCWlmICggby5jb250YWlubWVudCA9PT0gImRvY3VtZW50IiApIHsNCgkJCXRoaXMuY29udGFpbm1lbnQgPSBbDQoJCQkJMCwNCgkJCQkwLA0KCQkJCSQoIGRvY3VtZW50ICkud2lkdGgoKSAtIHRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGggLSB0aGlzLm1hcmdpbnMubGVmdCwNCgkJCQkoICQoIGRvY3VtZW50ICkuaGVpZ2h0KCkgfHwgZG9jdW1lbnQuYm9keS5wYXJlbnROb2RlLnNjcm9sbEhlaWdodCApIC0NCgkJCQkJdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQgLSB0aGlzLm1hcmdpbnMudG9wDQoJCQldOw0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJaWYgKCBvLmNvbnRhaW5tZW50LmNvbnN0cnVjdG9yID09PSBBcnJheSApIHsNCgkJCXRoaXMuY29udGFpbm1lbnQgPSBvLmNvbnRhaW5tZW50Ow0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJaWYgKCBvLmNvbnRhaW5tZW50ID09PSAicGFyZW50IiApIHsNCgkJCW8uY29udGFpbm1lbnQgPSB0aGlzLmhlbHBlclsgMCBdLnBhcmVudE5vZGU7DQoJCX0NCg0KCQljID0gJCggby5jb250YWlubWVudCApOw0KCQljZSA9IGNbIDAgXTsNCg0KCQlpZiAoICFjZSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCWlzVXNlclNjcm9sbGFibGUgPSAvKHNjcm9sbHxhdXRvKS8udGVzdCggYy5jc3MoICJvdmVyZmxvdyIgKSApOw0KDQoJCXRoaXMuY29udGFpbm1lbnQgPSBbDQoJCQkoIHBhcnNlSW50KCBjLmNzcyggImJvcmRlckxlZnRXaWR0aCIgKSwgMTAgKSB8fCAwICkgKw0KCQkJCSggcGFyc2VJbnQoIGMuY3NzKCAicGFkZGluZ0xlZnQiICksIDEwICkgfHwgMCApLA0KCQkJKCBwYXJzZUludCggYy5jc3MoICJib3JkZXJUb3BXaWR0aCIgKSwgMTAgKSB8fCAwICkgKw0KCQkJCSggcGFyc2VJbnQoIGMuY3NzKCAicGFkZGluZ1RvcCIgKSwgMTAgKSB8fCAwICksDQoJCQkoIGlzVXNlclNjcm9sbGFibGUgPyBNYXRoLm1heCggY2Uuc2Nyb2xsV2lkdGgsIGNlLm9mZnNldFdpZHRoICkgOiBjZS5vZmZzZXRXaWR0aCApIC0NCgkJCQkoIHBhcnNlSW50KCBjLmNzcyggImJvcmRlclJpZ2h0V2lkdGgiICksIDEwICkgfHwgMCApIC0NCgkJCQkoIHBhcnNlSW50KCBjLmNzcyggInBhZGRpbmdSaWdodCIgKSwgMTAgKSB8fCAwICkgLQ0KCQkJCXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGggLQ0KCQkJCXRoaXMubWFyZ2lucy5sZWZ0IC0NCgkJCQl0aGlzLm1hcmdpbnMucmlnaHQsDQoJCQkoIGlzVXNlclNjcm9sbGFibGUgPyBNYXRoLm1heCggY2Uuc2Nyb2xsSGVpZ2h0LCBjZS5vZmZzZXRIZWlnaHQgKSA6IGNlLm9mZnNldEhlaWdodCApIC0NCgkJCQkoIHBhcnNlSW50KCBjLmNzcyggImJvcmRlckJvdHRvbVdpZHRoIiApLCAxMCApIHx8IDAgKSAtDQoJCQkJKCBwYXJzZUludCggYy5jc3MoICJwYWRkaW5nQm90dG9tIiApLCAxMCApIHx8IDAgKSAtDQoJCQkJdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQgLQ0KCQkJCXRoaXMubWFyZ2lucy50b3AgLQ0KCQkJCXRoaXMubWFyZ2lucy5ib3R0b20NCgkJXTsNCgkJdGhpcy5yZWxhdGl2ZUNvbnRhaW5lciA9IGM7DQoJfSwNCg0KCV9jb252ZXJ0UG9zaXRpb25UbzogZnVuY3Rpb24oIGQsIHBvcyApIHsNCg0KCQlpZiAoICFwb3MgKSB7DQoJCQlwb3MgPSB0aGlzLnBvc2l0aW9uOw0KCQl9DQoNCgkJdmFyIG1vZCA9IGQgPT09ICJhYnNvbHV0ZSIgPyAxIDogLTEsDQoJCQlzY3JvbGxJc1Jvb3ROb2RlID0gdGhpcy5faXNSb290Tm9kZSggdGhpcy5zY3JvbGxQYXJlbnRbIDAgXSApOw0KDQoJCXJldHVybiB7DQoJCQl0b3A6ICgNCg0KCQkJCS8vIFRoZSBhYnNvbHV0ZSBtb3VzZSBwb3NpdGlvbg0KCQkJCXBvcy50b3AJKw0KDQoJCQkJLy8gT25seSBmb3IgcmVsYXRpdmUgcG9zaXRpb25lZCBub2RlczogUmVsYXRpdmUgb2Zmc2V0IGZyb20gZWxlbWVudCB0byBvZmZzZXQgcGFyZW50DQoJCQkJdGhpcy5vZmZzZXQucmVsYXRpdmUudG9wICogbW9kICsNCg0KCQkJCS8vIFRoZSBvZmZzZXRQYXJlbnQncyBvZmZzZXQgd2l0aG91dCBib3JkZXJzIChvZmZzZXQgKyBib3JkZXIpDQoJCQkJdGhpcy5vZmZzZXQucGFyZW50LnRvcCAqIG1vZCAtDQoJCQkJKCAoIHRoaXMuY3NzUG9zaXRpb24gPT09ICJmaXhlZCIgPw0KCQkJCQktdGhpcy5vZmZzZXQuc2Nyb2xsLnRvcCA6DQoJCQkJCSggc2Nyb2xsSXNSb290Tm9kZSA/IDAgOiB0aGlzLm9mZnNldC5zY3JvbGwudG9wICkgKSAqIG1vZCApDQoJCQkpLA0KCQkJbGVmdDogKA0KDQoJCQkJLy8gVGhlIGFic29sdXRlIG1vdXNlIHBvc2l0aW9uDQoJCQkJcG9zLmxlZnQgKw0KDQoJCQkJLy8gT25seSBmb3IgcmVsYXRpdmUgcG9zaXRpb25lZCBub2RlczogUmVsYXRpdmUgb2Zmc2V0IGZyb20gZWxlbWVudCB0byBvZmZzZXQgcGFyZW50DQoJCQkJdGhpcy5vZmZzZXQucmVsYXRpdmUubGVmdCAqIG1vZCArDQoNCgkJCQkvLyBUaGUgb2Zmc2V0UGFyZW50J3Mgb2Zmc2V0IHdpdGhvdXQgYm9yZGVycyAob2Zmc2V0ICsgYm9yZGVyKQ0KCQkJCXRoaXMub2Zmc2V0LnBhcmVudC5sZWZ0ICogbW9kCS0NCgkJCQkoICggdGhpcy5jc3NQb3NpdGlvbiA9PT0gImZpeGVkIiA/DQoJCQkJCS10aGlzLm9mZnNldC5zY3JvbGwubGVmdCA6DQoJCQkJCSggc2Nyb2xsSXNSb290Tm9kZSA/IDAgOiB0aGlzLm9mZnNldC5zY3JvbGwubGVmdCApICkgKiBtb2QgKQ0KCQkJKQ0KCQl9Ow0KDQoJfSwNCg0KCV9nZW5lcmF0ZVBvc2l0aW9uOiBmdW5jdGlvbiggZXZlbnQsIGNvbnN0cmFpblBvc2l0aW9uICkgew0KDQoJCXZhciBjb250YWlubWVudCwgY28sIHRvcCwgbGVmdCwNCgkJCW8gPSB0aGlzLm9wdGlvbnMsDQoJCQlzY3JvbGxJc1Jvb3ROb2RlID0gdGhpcy5faXNSb290Tm9kZSggdGhpcy5zY3JvbGxQYXJlbnRbIDAgXSApLA0KCQkJcGFnZVggPSBldmVudC5wYWdlWCwNCgkJCXBhZ2VZID0gZXZlbnQucGFnZVk7DQoNCgkJLy8gQ2FjaGUgdGhlIHNjcm9sbA0KCQlpZiAoICFzY3JvbGxJc1Jvb3ROb2RlIHx8ICF0aGlzLm9mZnNldC5zY3JvbGwgKSB7DQoJCQl0aGlzLm9mZnNldC5zY3JvbGwgPSB7DQoJCQkJdG9wOiB0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKSwNCgkJCQlsZWZ0OiB0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCkNCgkJCX07DQoJCX0NCg0KCQkvKg0KCQkgKiAtIFBvc2l0aW9uIGNvbnN0cmFpbmluZyAtDQoJCSAqIENvbnN0cmFpbiB0aGUgcG9zaXRpb24gdG8gYSBtaXggb2YgZ3JpZCwgY29udGFpbm1lbnQuDQoJCSAqLw0KDQoJCS8vIElmIHdlIGFyZSBub3QgZHJhZ2dpbmcgeWV0LCB3ZSB3b24ndCBjaGVjayBmb3Igb3B0aW9ucw0KCQlpZiAoIGNvbnN0cmFpblBvc2l0aW9uICkgew0KCQkJaWYgKCB0aGlzLmNvbnRhaW5tZW50ICkgew0KCQkJCWlmICggdGhpcy5yZWxhdGl2ZUNvbnRhaW5lciApIHsNCgkJCQkJY28gPSB0aGlzLnJlbGF0aXZlQ29udGFpbmVyLm9mZnNldCgpOw0KCQkJCQljb250YWlubWVudCA9IFsNCgkJCQkJCXRoaXMuY29udGFpbm1lbnRbIDAgXSArIGNvLmxlZnQsDQoJCQkJCQl0aGlzLmNvbnRhaW5tZW50WyAxIF0gKyBjby50b3AsDQoJCQkJCQl0aGlzLmNvbnRhaW5tZW50WyAyIF0gKyBjby5sZWZ0LA0KCQkJCQkJdGhpcy5jb250YWlubWVudFsgMyBdICsgY28udG9wDQoJCQkJCV07DQoJCQkJfSBlbHNlIHsNCgkJCQkJY29udGFpbm1lbnQgPSB0aGlzLmNvbnRhaW5tZW50Ow0KCQkJCX0NCg0KCQkJCWlmICggZXZlbnQucGFnZVggLSB0aGlzLm9mZnNldC5jbGljay5sZWZ0IDwgY29udGFpbm1lbnRbIDAgXSApIHsNCgkJCQkJcGFnZVggPSBjb250YWlubWVudFsgMCBdICsgdGhpcy5vZmZzZXQuY2xpY2subGVmdDsNCgkJCQl9DQoJCQkJaWYgKCBldmVudC5wYWdlWSAtIHRoaXMub2Zmc2V0LmNsaWNrLnRvcCA8IGNvbnRhaW5tZW50WyAxIF0gKSB7DQoJCQkJCXBhZ2VZID0gY29udGFpbm1lbnRbIDEgXSArIHRoaXMub2Zmc2V0LmNsaWNrLnRvcDsNCgkJCQl9DQoJCQkJaWYgKCBldmVudC5wYWdlWCAtIHRoaXMub2Zmc2V0LmNsaWNrLmxlZnQgPiBjb250YWlubWVudFsgMiBdICkgew0KCQkJCQlwYWdlWCA9IGNvbnRhaW5tZW50WyAyIF0gKyB0aGlzLm9mZnNldC5jbGljay5sZWZ0Ow0KCQkJCX0NCgkJCQlpZiAoIGV2ZW50LnBhZ2VZIC0gdGhpcy5vZmZzZXQuY2xpY2sudG9wID4gY29udGFpbm1lbnRbIDMgXSApIHsNCgkJCQkJcGFnZVkgPSBjb250YWlubWVudFsgMyBdICsgdGhpcy5vZmZzZXQuY2xpY2sudG9wOw0KCQkJCX0NCgkJCX0NCg0KCQkJaWYgKCBvLmdyaWQgKSB7DQoNCgkJCQkvL0NoZWNrIGZvciBncmlkIGVsZW1lbnRzIHNldCB0byAwIHRvIHByZXZlbnQgZGl2aWRlIGJ5IDAgZXJyb3IgY2F1c2luZyBpbnZhbGlkDQoJCQkJLy8gYXJndW1lbnQgZXJyb3JzIGluIElFIChzZWUgdGlja2V0ICM2OTUwKQ0KCQkJCXRvcCA9IG8uZ3JpZFsgMSBdID8gdGhpcy5vcmlnaW5hbFBhZ2VZICsgTWF0aC5yb3VuZCggKCBwYWdlWSAtDQoJCQkJCXRoaXMub3JpZ2luYWxQYWdlWSApIC8gby5ncmlkWyAxIF0gKSAqIG8uZ3JpZFsgMSBdIDogdGhpcy5vcmlnaW5hbFBhZ2VZOw0KCQkJCXBhZ2VZID0gY29udGFpbm1lbnQgPyAoICggdG9wIC0gdGhpcy5vZmZzZXQuY2xpY2sudG9wID49IGNvbnRhaW5tZW50WyAxIF0gfHwNCgkJCQkJdG9wIC0gdGhpcy5vZmZzZXQuY2xpY2sudG9wID4gY29udGFpbm1lbnRbIDMgXSApID8NCgkJCQkJCXRvcCA6DQoJCQkJCQkoICggdG9wIC0gdGhpcy5vZmZzZXQuY2xpY2sudG9wID49IGNvbnRhaW5tZW50WyAxIF0gKSA/DQoJCQkJCQkJdG9wIC0gby5ncmlkWyAxIF0gOiB0b3AgKyBvLmdyaWRbIDEgXSApICkgOiB0b3A7DQoNCgkJCQlsZWZ0ID0gby5ncmlkWyAwIF0gPyB0aGlzLm9yaWdpbmFsUGFnZVggKw0KCQkJCQlNYXRoLnJvdW5kKCAoIHBhZ2VYIC0gdGhpcy5vcmlnaW5hbFBhZ2VYICkgLyBvLmdyaWRbIDAgXSApICogby5ncmlkWyAwIF0gOg0KCQkJCQl0aGlzLm9yaWdpbmFsUGFnZVg7DQoJCQkJcGFnZVggPSBjb250YWlubWVudCA/ICggKCBsZWZ0IC0gdGhpcy5vZmZzZXQuY2xpY2subGVmdCA+PSBjb250YWlubWVudFsgMCBdIHx8DQoJCQkJCWxlZnQgLSB0aGlzLm9mZnNldC5jbGljay5sZWZ0ID4gY29udGFpbm1lbnRbIDIgXSApID8NCgkJCQkJCWxlZnQgOg0KCQkJCQkJKCAoIGxlZnQgLSB0aGlzLm9mZnNldC5jbGljay5sZWZ0ID49IGNvbnRhaW5tZW50WyAwIF0gKSA/DQoJCQkJCQkJbGVmdCAtIG8uZ3JpZFsgMCBdIDogbGVmdCArIG8uZ3JpZFsgMCBdICkgKSA6IGxlZnQ7DQoJCQl9DQoNCgkJCWlmICggby5heGlzID09PSAieSIgKSB7DQoJCQkJcGFnZVggPSB0aGlzLm9yaWdpbmFsUGFnZVg7DQoJCQl9DQoNCgkJCWlmICggby5heGlzID09PSAieCIgKSB7DQoJCQkJcGFnZVkgPSB0aGlzLm9yaWdpbmFsUGFnZVk7DQoJCQl9DQoJCX0NCg0KCQlyZXR1cm4gew0KCQkJdG9wOiAoDQoNCgkJCQkvLyBUaGUgYWJzb2x1dGUgbW91c2UgcG9zaXRpb24NCgkJCQlwYWdlWSAtDQoNCgkJCQkvLyBDbGljayBvZmZzZXQgKHJlbGF0aXZlIHRvIHRoZSBlbGVtZW50KQ0KCQkJCXRoaXMub2Zmc2V0LmNsaWNrLnRvcCAtDQoNCgkJCQkvLyBPbmx5IGZvciByZWxhdGl2ZSBwb3NpdGlvbmVkIG5vZGVzOiBSZWxhdGl2ZSBvZmZzZXQgZnJvbSBlbGVtZW50IHRvIG9mZnNldCBwYXJlbnQNCgkJCQl0aGlzLm9mZnNldC5yZWxhdGl2ZS50b3AgLQ0KDQoJCQkJLy8gVGhlIG9mZnNldFBhcmVudCdzIG9mZnNldCB3aXRob3V0IGJvcmRlcnMgKG9mZnNldCArIGJvcmRlcikNCgkJCQl0aGlzLm9mZnNldC5wYXJlbnQudG9wICsNCgkJCQkoIHRoaXMuY3NzUG9zaXRpb24gPT09ICJmaXhlZCIgPw0KCQkJCQktdGhpcy5vZmZzZXQuc2Nyb2xsLnRvcCA6DQoJCQkJCSggc2Nyb2xsSXNSb290Tm9kZSA/IDAgOiB0aGlzLm9mZnNldC5zY3JvbGwudG9wICkgKQ0KCQkJKSwNCgkJCWxlZnQ6ICgNCg0KCQkJCS8vIFRoZSBhYnNvbHV0ZSBtb3VzZSBwb3NpdGlvbg0KCQkJCXBhZ2VYIC0NCg0KCQkJCS8vIENsaWNrIG9mZnNldCAocmVsYXRpdmUgdG8gdGhlIGVsZW1lbnQpDQoJCQkJdGhpcy5vZmZzZXQuY2xpY2subGVmdCAtDQoNCgkJCQkvLyBPbmx5IGZvciByZWxhdGl2ZSBwb3NpdGlvbmVkIG5vZGVzOiBSZWxhdGl2ZSBvZmZzZXQgZnJvbSBlbGVtZW50IHRvIG9mZnNldCBwYXJlbnQNCgkJCQl0aGlzLm9mZnNldC5yZWxhdGl2ZS5sZWZ0IC0NCg0KCQkJCS8vIFRoZSBvZmZzZXRQYXJlbnQncyBvZmZzZXQgd2l0aG91dCBib3JkZXJzIChvZmZzZXQgKyBib3JkZXIpDQoJCQkJdGhpcy5vZmZzZXQucGFyZW50LmxlZnQgKw0KCQkJCSggdGhpcy5jc3NQb3NpdGlvbiA9PT0gImZpeGVkIiA/DQoJCQkJCS10aGlzLm9mZnNldC5zY3JvbGwubGVmdCA6DQoJCQkJCSggc2Nyb2xsSXNSb290Tm9kZSA/IDAgOiB0aGlzLm9mZnNldC5zY3JvbGwubGVmdCApICkNCgkJCSkNCgkJfTsNCg0KCX0sDQoNCglfY2xlYXI6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLl9yZW1vdmVDbGFzcyggdGhpcy5oZWxwZXIsICJ1aS1kcmFnZ2FibGUtZHJhZ2dpbmciICk7DQoJCWlmICggdGhpcy5oZWxwZXJbIDAgXSAhPT0gdGhpcy5lbGVtZW50WyAwIF0gJiYgIXRoaXMuY2FuY2VsSGVscGVyUmVtb3ZhbCApIHsNCgkJCXRoaXMuaGVscGVyLnJlbW92ZSgpOw0KCQl9DQoJCXRoaXMuaGVscGVyID0gbnVsbDsNCgkJdGhpcy5jYW5jZWxIZWxwZXJSZW1vdmFsID0gZmFsc2U7DQoJCWlmICggdGhpcy5kZXN0cm95T25DbGVhciApIHsNCgkJCXRoaXMuZGVzdHJveSgpOw0KCQl9DQoJfSwNCg0KCS8vIEZyb20gbm93IG9uIGJ1bGsgc3R1ZmYgLSBtYWlubHkgaGVscGVycw0KDQoJX3RyaWdnZXI6IGZ1bmN0aW9uKCB0eXBlLCBldmVudCwgdWkgKSB7DQoJCXVpID0gdWkgfHwgdGhpcy5fdWlIYXNoKCk7DQoJCSQudWkucGx1Z2luLmNhbGwoIHRoaXMsIHR5cGUsIFsgZXZlbnQsIHVpLCB0aGlzIF0sIHRydWUgKTsNCg0KCQkvLyBBYnNvbHV0ZSBwb3NpdGlvbiBhbmQgb2Zmc2V0IChzZWUgIzY4ODQgKSBoYXZlIHRvIGJlIHJlY2FsY3VsYXRlZCBhZnRlciBwbHVnaW5zDQoJCWlmICggL14oZHJhZ3xzdGFydHxzdG9wKS8udGVzdCggdHlwZSApICkgew0KCQkJdGhpcy5wb3NpdGlvbkFicyA9IHRoaXMuX2NvbnZlcnRQb3NpdGlvblRvKCAiYWJzb2x1dGUiICk7DQoJCQl1aS5vZmZzZXQgPSB0aGlzLnBvc2l0aW9uQWJzOw0KCQl9DQoJCXJldHVybiAkLldpZGdldC5wcm90b3R5cGUuX3RyaWdnZXIuY2FsbCggdGhpcywgdHlwZSwgZXZlbnQsIHVpICk7DQoJfSwNCg0KCXBsdWdpbnM6IHt9LA0KDQoJX3VpSGFzaDogZnVuY3Rpb24oKSB7DQoJCXJldHVybiB7DQoJCQloZWxwZXI6IHRoaXMuaGVscGVyLA0KCQkJcG9zaXRpb246IHRoaXMucG9zaXRpb24sDQoJCQlvcmlnaW5hbFBvc2l0aW9uOiB0aGlzLm9yaWdpbmFsUG9zaXRpb24sDQoJCQlvZmZzZXQ6IHRoaXMucG9zaXRpb25BYnMNCgkJfTsNCgl9DQoNCn0gKTsNCg0KJC51aS5wbHVnaW4uYWRkKCAiZHJhZ2dhYmxlIiwgImNvbm5lY3RUb1NvcnRhYmxlIiwgew0KCXN0YXJ0OiBmdW5jdGlvbiggZXZlbnQsIHVpLCBkcmFnZ2FibGUgKSB7DQoJCXZhciB1aVNvcnRhYmxlID0gJC5leHRlbmQoIHt9LCB1aSwgew0KCQkJaXRlbTogZHJhZ2dhYmxlLmVsZW1lbnQNCgkJfSApOw0KDQoJCWRyYWdnYWJsZS5zb3J0YWJsZXMgPSBbXTsNCgkJJCggZHJhZ2dhYmxlLm9wdGlvbnMuY29ubmVjdFRvU29ydGFibGUgKS5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCXZhciBzb3J0YWJsZSA9ICQoIHRoaXMgKS5zb3J0YWJsZSggImluc3RhbmNlIiApOw0KDQoJCQlpZiAoIHNvcnRhYmxlICYmICFzb3J0YWJsZS5vcHRpb25zLmRpc2FibGVkICkgew0KCQkJCWRyYWdnYWJsZS5zb3J0YWJsZXMucHVzaCggc29ydGFibGUgKTsNCg0KCQkJCS8vIFJlZnJlc2hQb3NpdGlvbnMgaXMgY2FsbGVkIGF0IGRyYWcgc3RhcnQgdG8gcmVmcmVzaCB0aGUgY29udGFpbmVyQ2FjaGUNCgkJCQkvLyB3aGljaCBpcyB1c2VkIGluIGRyYWcuIFRoaXMgZW5zdXJlcyBpdCdzIGluaXRpYWxpemVkIGFuZCBzeW5jaHJvbml6ZWQNCgkJCQkvLyB3aXRoIGFueSBjaGFuZ2VzIHRoYXQgbWlnaHQgaGF2ZSBoYXBwZW5lZCBvbiB0aGUgcGFnZSBzaW5jZSBpbml0aWFsaXphdGlvbi4NCgkJCQlzb3J0YWJsZS5yZWZyZXNoUG9zaXRpb25zKCk7DQoJCQkJc29ydGFibGUuX3RyaWdnZXIoICJhY3RpdmF0ZSIsIGV2ZW50LCB1aVNvcnRhYmxlICk7DQoJCQl9DQoJCX0gKTsNCgl9LA0KCXN0b3A6IGZ1bmN0aW9uKCBldmVudCwgdWksIGRyYWdnYWJsZSApIHsNCgkJdmFyIHVpU29ydGFibGUgPSAkLmV4dGVuZCgge30sIHVpLCB7DQoJCQlpdGVtOiBkcmFnZ2FibGUuZWxlbWVudA0KCQl9ICk7DQoNCgkJZHJhZ2dhYmxlLmNhbmNlbEhlbHBlclJlbW92YWwgPSBmYWxzZTsNCg0KCQkkLmVhY2goIGRyYWdnYWJsZS5zb3J0YWJsZXMsIGZ1bmN0aW9uKCkgew0KCQkJdmFyIHNvcnRhYmxlID0gdGhpczsNCg0KCQkJaWYgKCBzb3J0YWJsZS5pc092ZXIgKSB7DQoJCQkJc29ydGFibGUuaXNPdmVyID0gMDsNCg0KCQkJCS8vIEFsbG93IHRoaXMgc29ydGFibGUgdG8gaGFuZGxlIHJlbW92aW5nIHRoZSBoZWxwZXINCgkJCQlkcmFnZ2FibGUuY2FuY2VsSGVscGVyUmVtb3ZhbCA9IHRydWU7DQoJCQkJc29ydGFibGUuY2FuY2VsSGVscGVyUmVtb3ZhbCA9IGZhbHNlOw0KDQoJCQkJLy8gVXNlIF9zdG9yZWRDU1MgVG8gcmVzdG9yZSBwcm9wZXJ0aWVzIGluIHRoZSBzb3J0YWJsZSwNCgkJCQkvLyBhcyB0aGlzIGFsc28gaGFuZGxlcyByZXZlcnQgKCM5Njc1KSBzaW5jZSB0aGUgZHJhZ2dhYmxlDQoJCQkJLy8gbWF5IGhhdmUgbW9kaWZpZWQgdGhlbSBpbiB1bmV4cGVjdGVkIHdheXMgKCM4ODA5KQ0KCQkJCXNvcnRhYmxlLl9zdG9yZWRDU1MgPSB7DQoJCQkJCXBvc2l0aW9uOiBzb3J0YWJsZS5wbGFjZWhvbGRlci5jc3MoICJwb3NpdGlvbiIgKSwNCgkJCQkJdG9wOiBzb3J0YWJsZS5wbGFjZWhvbGRlci5jc3MoICJ0b3AiICksDQoJCQkJCWxlZnQ6IHNvcnRhYmxlLnBsYWNlaG9sZGVyLmNzcyggImxlZnQiICkNCgkJCQl9Ow0KDQoJCQkJc29ydGFibGUuX21vdXNlU3RvcCggZXZlbnQgKTsNCg0KCQkJCS8vIE9uY2UgZHJhZyBoYXMgZW5kZWQsIHRoZSBzb3J0YWJsZSBzaG91bGQgcmV0dXJuIHRvIHVzaW5nDQoJCQkJLy8gaXRzIG9yaWdpbmFsIGhlbHBlciwgbm90IHRoZSBzaGFyZWQgaGVscGVyIGZyb20gZHJhZ2dhYmxlDQoJCQkJc29ydGFibGUub3B0aW9ucy5oZWxwZXIgPSBzb3J0YWJsZS5vcHRpb25zLl9oZWxwZXI7DQoJCQl9IGVsc2Ugew0KDQoJCQkJLy8gUHJldmVudCB0aGlzIFNvcnRhYmxlIGZyb20gcmVtb3ZpbmcgdGhlIGhlbHBlci4NCgkJCQkvLyBIb3dldmVyLCBkb24ndCBzZXQgdGhlIGRyYWdnYWJsZSB0byByZW1vdmUgdGhlIGhlbHBlcg0KCQkJCS8vIGVpdGhlciBhcyBhbm90aGVyIGNvbm5lY3RlZCBTb3J0YWJsZSBtYXkgeWV0IGhhbmRsZSB0aGUgcmVtb3ZhbC4NCgkJCQlzb3J0YWJsZS5jYW5jZWxIZWxwZXJSZW1vdmFsID0gdHJ1ZTsNCg0KCQkJCXNvcnRhYmxlLl90cmlnZ2VyKCAiZGVhY3RpdmF0ZSIsIGV2ZW50LCB1aVNvcnRhYmxlICk7DQoJCQl9DQoJCX0gKTsNCgl9LA0KCWRyYWc6IGZ1bmN0aW9uKCBldmVudCwgdWksIGRyYWdnYWJsZSApIHsNCgkJJC5lYWNoKCBkcmFnZ2FibGUuc29ydGFibGVzLCBmdW5jdGlvbigpIHsNCgkJCXZhciBpbm5lcm1vc3RJbnRlcnNlY3RpbmcgPSBmYWxzZSwNCgkJCQlzb3J0YWJsZSA9IHRoaXM7DQoNCgkJCS8vIENvcHkgb3ZlciB2YXJpYWJsZXMgdGhhdCBzb3J0YWJsZSdzIF9pbnRlcnNlY3RzV2l0aCB1c2VzDQoJCQlzb3J0YWJsZS5wb3NpdGlvbkFicyA9IGRyYWdnYWJsZS5wb3NpdGlvbkFiczsNCgkJCXNvcnRhYmxlLmhlbHBlclByb3BvcnRpb25zID0gZHJhZ2dhYmxlLmhlbHBlclByb3BvcnRpb25zOw0KCQkJc29ydGFibGUub2Zmc2V0LmNsaWNrID0gZHJhZ2dhYmxlLm9mZnNldC5jbGljazsNCg0KCQkJaWYgKCBzb3J0YWJsZS5faW50ZXJzZWN0c1dpdGgoIHNvcnRhYmxlLmNvbnRhaW5lckNhY2hlICkgKSB7DQoJCQkJaW5uZXJtb3N0SW50ZXJzZWN0aW5nID0gdHJ1ZTsNCg0KCQkJCSQuZWFjaCggZHJhZ2dhYmxlLnNvcnRhYmxlcywgZnVuY3Rpb24oKSB7DQoNCgkJCQkJLy8gQ29weSBvdmVyIHZhcmlhYmxlcyB0aGF0IHNvcnRhYmxlJ3MgX2ludGVyc2VjdHNXaXRoIHVzZXMNCgkJCQkJdGhpcy5wb3NpdGlvbkFicyA9IGRyYWdnYWJsZS5wb3NpdGlvbkFiczsNCgkJCQkJdGhpcy5oZWxwZXJQcm9wb3J0aW9ucyA9IGRyYWdnYWJsZS5oZWxwZXJQcm9wb3J0aW9uczsNCgkJCQkJdGhpcy5vZmZzZXQuY2xpY2sgPSBkcmFnZ2FibGUub2Zmc2V0LmNsaWNrOw0KDQoJCQkJCWlmICggdGhpcyAhPT0gc29ydGFibGUgJiYNCgkJCQkJCQl0aGlzLl9pbnRlcnNlY3RzV2l0aCggdGhpcy5jb250YWluZXJDYWNoZSApICYmDQoJCQkJCQkJJC5jb250YWlucyggc29ydGFibGUuZWxlbWVudFsgMCBdLCB0aGlzLmVsZW1lbnRbIDAgXSApICkgew0KCQkJCQkJaW5uZXJtb3N0SW50ZXJzZWN0aW5nID0gZmFsc2U7DQoJCQkJCX0NCg0KCQkJCQlyZXR1cm4gaW5uZXJtb3N0SW50ZXJzZWN0aW5nOw0KCQkJCX0gKTsNCgkJCX0NCg0KCQkJaWYgKCBpbm5lcm1vc3RJbnRlcnNlY3RpbmcgKSB7DQoNCgkJCQkvLyBJZiBpdCBpbnRlcnNlY3RzLCB3ZSB1c2UgYSBsaXR0bGUgaXNPdmVyIHZhcmlhYmxlIGFuZCBzZXQgaXQgb25jZSwNCgkJCQkvLyBzbyB0aGF0IHRoZSBtb3ZlLWluIHN0dWZmIGdldHMgZmlyZWQgb25seSBvbmNlLg0KCQkJCWlmICggIXNvcnRhYmxlLmlzT3ZlciApIHsNCgkJCQkJc29ydGFibGUuaXNPdmVyID0gMTsNCg0KCQkJCQkvLyBTdG9yZSBkcmFnZ2FibGUncyBwYXJlbnQgaW4gY2FzZSB3ZSBuZWVkIHRvIHJlYXBwZW5kIHRvIGl0IGxhdGVyLg0KCQkJCQlkcmFnZ2FibGUuX3BhcmVudCA9IHVpLmhlbHBlci5wYXJlbnQoKTsNCg0KCQkJCQlzb3J0YWJsZS5jdXJyZW50SXRlbSA9IHVpLmhlbHBlcg0KCQkJCQkJLmFwcGVuZFRvKCBzb3J0YWJsZS5lbGVtZW50ICkNCgkJCQkJCS5kYXRhKCAidWktc29ydGFibGUtaXRlbSIsIHRydWUgKTsNCg0KCQkJCQkvLyBTdG9yZSBoZWxwZXIgb3B0aW9uIHRvIGxhdGVyIHJlc3RvcmUgaXQNCgkJCQkJc29ydGFibGUub3B0aW9ucy5faGVscGVyID0gc29ydGFibGUub3B0aW9ucy5oZWxwZXI7DQoNCgkJCQkJc29ydGFibGUub3B0aW9ucy5oZWxwZXIgPSBmdW5jdGlvbigpIHsNCgkJCQkJCXJldHVybiB1aS5oZWxwZXJbIDAgXTsNCgkJCQkJfTsNCg0KCQkJCQkvLyBGaXJlIHRoZSBzdGFydCBldmVudHMgb2YgdGhlIHNvcnRhYmxlIHdpdGggb3VyIHBhc3NlZCBicm93c2VyIGV2ZW50LA0KCQkJCQkvLyBhbmQgb3VyIG93biBoZWxwZXIgKHNvIGl0IGRvZXNuJ3QgY3JlYXRlIGEgbmV3IG9uZSkNCgkJCQkJZXZlbnQudGFyZ2V0ID0gc29ydGFibGUuY3VycmVudEl0ZW1bIDAgXTsNCgkJCQkJc29ydGFibGUuX21vdXNlQ2FwdHVyZSggZXZlbnQsIHRydWUgKTsNCgkJCQkJc29ydGFibGUuX21vdXNlU3RhcnQoIGV2ZW50LCB0cnVlLCB0cnVlICk7DQoNCgkJCQkJLy8gQmVjYXVzZSB0aGUgYnJvd3NlciBldmVudCBpcyB3YXkgb2ZmIHRoZSBuZXcgYXBwZW5kZWQgcG9ydGxldCwNCgkJCQkJLy8gbW9kaWZ5IG5lY2Vzc2FyeSB2YXJpYWJsZXMgdG8gcmVmbGVjdCB0aGUgY2hhbmdlcw0KCQkJCQlzb3J0YWJsZS5vZmZzZXQuY2xpY2sudG9wID0gZHJhZ2dhYmxlLm9mZnNldC5jbGljay50b3A7DQoJCQkJCXNvcnRhYmxlLm9mZnNldC5jbGljay5sZWZ0ID0gZHJhZ2dhYmxlLm9mZnNldC5jbGljay5sZWZ0Ow0KCQkJCQlzb3J0YWJsZS5vZmZzZXQucGFyZW50LmxlZnQgLT0gZHJhZ2dhYmxlLm9mZnNldC5wYXJlbnQubGVmdCAtDQoJCQkJCQlzb3J0YWJsZS5vZmZzZXQucGFyZW50LmxlZnQ7DQoJCQkJCXNvcnRhYmxlLm9mZnNldC5wYXJlbnQudG9wIC09IGRyYWdnYWJsZS5vZmZzZXQucGFyZW50LnRvcCAtDQoJCQkJCQlzb3J0YWJsZS5vZmZzZXQucGFyZW50LnRvcDsNCg0KCQkJCQlkcmFnZ2FibGUuX3RyaWdnZXIoICJ0b1NvcnRhYmxlIiwgZXZlbnQgKTsNCg0KCQkJCQkvLyBJbmZvcm0gZHJhZ2dhYmxlIHRoYXQgdGhlIGhlbHBlciBpcyBpbiBhIHZhbGlkIGRyb3Agem9uZSwNCgkJCQkJLy8gdXNlZCBzb2xlbHkgaW4gdGhlIHJldmVydCBvcHRpb24gdG8gaGFuZGxlICJ2YWxpZC9pbnZhbGlkIi4NCgkJCQkJZHJhZ2dhYmxlLmRyb3BwZWQgPSBzb3J0YWJsZS5lbGVtZW50Ow0KDQoJCQkJCS8vIE5lZWQgdG8gcmVmcmVzaFBvc2l0aW9ucyBvZiBhbGwgc29ydGFibGVzIGluIHRoZSBjYXNlIHRoYXQNCgkJCQkJLy8gYWRkaW5nIHRvIG9uZSBzb3J0YWJsZSBjaGFuZ2VzIHRoZSBsb2NhdGlvbiBvZiB0aGUgb3RoZXIgc29ydGFibGVzICgjOTY3NSkNCgkJCQkJJC5lYWNoKCBkcmFnZ2FibGUuc29ydGFibGVzLCBmdW5jdGlvbigpIHsNCgkJCQkJCXRoaXMucmVmcmVzaFBvc2l0aW9ucygpOw0KCQkJCQl9ICk7DQoNCgkJCQkJLy8gSGFjayBzbyByZWNlaXZlL3VwZGF0ZSBjYWxsYmFja3Mgd29yayAobW9zdGx5KQ0KCQkJCQlkcmFnZ2FibGUuY3VycmVudEl0ZW0gPSBkcmFnZ2FibGUuZWxlbWVudDsNCgkJCQkJc29ydGFibGUuZnJvbU91dHNpZGUgPSBkcmFnZ2FibGU7DQoJCQkJfQ0KDQoJCQkJaWYgKCBzb3J0YWJsZS5jdXJyZW50SXRlbSApIHsNCgkJCQkJc29ydGFibGUuX21vdXNlRHJhZyggZXZlbnQgKTsNCg0KCQkJCQkvLyBDb3B5IHRoZSBzb3J0YWJsZSdzIHBvc2l0aW9uIGJlY2F1c2UgdGhlIGRyYWdnYWJsZSdzIGNhbiBwb3RlbnRpYWxseSByZWZsZWN0DQoJCQkJCS8vIGEgcmVsYXRpdmUgcG9zaXRpb24sIHdoaWxlIHNvcnRhYmxlIGlzIGFsd2F5cyBhYnNvbHV0ZSwgd2hpY2ggdGhlIGRyYWdnZWQNCgkJCQkJLy8gZWxlbWVudCBoYXMgbm93IGJlY29tZS4gKCM4ODA5KQ0KCQkJCQl1aS5wb3NpdGlvbiA9IHNvcnRhYmxlLnBvc2l0aW9uOw0KCQkJCX0NCgkJCX0gZWxzZSB7DQoNCgkJCQkvLyBJZiBpdCBkb2Vzbid0IGludGVyc2VjdCB3aXRoIHRoZSBzb3J0YWJsZSwgYW5kIGl0IGludGVyc2VjdGVkIGJlZm9yZSwNCgkJCQkvLyB3ZSBmYWtlIHRoZSBkcmFnIHN0b3Agb2YgdGhlIHNvcnRhYmxlLCBidXQgbWFrZSBzdXJlIGl0IGRvZXNuJ3QgcmVtb3ZlDQoJCQkJLy8gdGhlIGhlbHBlciBieSB1c2luZyBjYW5jZWxIZWxwZXJSZW1vdmFsLg0KCQkJCWlmICggc29ydGFibGUuaXNPdmVyICkgew0KDQoJCQkJCXNvcnRhYmxlLmlzT3ZlciA9IDA7DQoJCQkJCXNvcnRhYmxlLmNhbmNlbEhlbHBlclJlbW92YWwgPSB0cnVlOw0KDQoJCQkJCS8vIENhbGxpbmcgc29ydGFibGUncyBtb3VzZVN0b3Agd291bGQgdHJpZ2dlciBhIHJldmVydCwNCgkJCQkJLy8gc28gcmV2ZXJ0IG11c3QgYmUgdGVtcG9yYXJpbHkgZmFsc2UgdW50aWwgYWZ0ZXIgbW91c2VTdG9wIGlzIGNhbGxlZC4NCgkJCQkJc29ydGFibGUub3B0aW9ucy5fcmV2ZXJ0ID0gc29ydGFibGUub3B0aW9ucy5yZXZlcnQ7DQoJCQkJCXNvcnRhYmxlLm9wdGlvbnMucmV2ZXJ0ID0gZmFsc2U7DQoNCgkJCQkJc29ydGFibGUuX3RyaWdnZXIoICJvdXQiLCBldmVudCwgc29ydGFibGUuX3VpSGFzaCggc29ydGFibGUgKSApOw0KCQkJCQlzb3J0YWJsZS5fbW91c2VTdG9wKCBldmVudCwgdHJ1ZSApOw0KDQoJCQkJCS8vIFJlc3RvcmUgc29ydGFibGUgYmVoYXZpb3JzIHRoYXQgd2VyZSBtb2RmaWVkDQoJCQkJCS8vIHdoZW4gdGhlIGRyYWdnYWJsZSBlbnRlcmVkIHRoZSBzb3J0YWJsZSBhcmVhICgjOTQ4MSkNCgkJCQkJc29ydGFibGUub3B0aW9ucy5yZXZlcnQgPSBzb3J0YWJsZS5vcHRpb25zLl9yZXZlcnQ7DQoJCQkJCXNvcnRhYmxlLm9wdGlvbnMuaGVscGVyID0gc29ydGFibGUub3B0aW9ucy5faGVscGVyOw0KDQoJCQkJCWlmICggc29ydGFibGUucGxhY2Vob2xkZXIgKSB7DQoJCQkJCQlzb3J0YWJsZS5wbGFjZWhvbGRlci5yZW1vdmUoKTsNCgkJCQkJfQ0KDQoJCQkJCS8vIFJlc3RvcmUgYW5kIHJlY2FsY3VsYXRlIHRoZSBkcmFnZ2FibGUncyBvZmZzZXQgY29uc2lkZXJpbmcgdGhlIHNvcnRhYmxlDQoJCQkJCS8vIG1heSBoYXZlIG1vZGlmaWVkIHRoZW0gaW4gdW5leHBlY3RlZCB3YXlzLiAoIzg4MDksICMxMDY2OSkNCgkJCQkJdWkuaGVscGVyLmFwcGVuZFRvKCBkcmFnZ2FibGUuX3BhcmVudCApOw0KCQkJCQlkcmFnZ2FibGUuX3JlZnJlc2hPZmZzZXRzKCBldmVudCApOw0KCQkJCQl1aS5wb3NpdGlvbiA9IGRyYWdnYWJsZS5fZ2VuZXJhdGVQb3NpdGlvbiggZXZlbnQsIHRydWUgKTsNCg0KCQkJCQlkcmFnZ2FibGUuX3RyaWdnZXIoICJmcm9tU29ydGFibGUiLCBldmVudCApOw0KDQoJCQkJCS8vIEluZm9ybSBkcmFnZ2FibGUgdGhhdCB0aGUgaGVscGVyIGlzIG5vIGxvbmdlciBpbiBhIHZhbGlkIGRyb3Agem9uZQ0KCQkJCQlkcmFnZ2FibGUuZHJvcHBlZCA9IGZhbHNlOw0KDQoJCQkJCS8vIE5lZWQgdG8gcmVmcmVzaFBvc2l0aW9ucyBvZiBhbGwgc29ydGFibGVzIGp1c3QgaW4gY2FzZSByZW1vdmluZw0KCQkJCQkvLyBmcm9tIG9uZSBzb3J0YWJsZSBjaGFuZ2VzIHRoZSBsb2NhdGlvbiBvZiBvdGhlciBzb3J0YWJsZXMgKCM5Njc1KQ0KCQkJCQkkLmVhY2goIGRyYWdnYWJsZS5zb3J0YWJsZXMsIGZ1bmN0aW9uKCkgew0KCQkJCQkJdGhpcy5yZWZyZXNoUG9zaXRpb25zKCk7DQoJCQkJCX0gKTsNCgkJCQl9DQoJCQl9DQoJCX0gKTsNCgl9DQp9ICk7DQoNCiQudWkucGx1Z2luLmFkZCggImRyYWdnYWJsZSIsICJjdXJzb3IiLCB7DQoJc3RhcnQ6IGZ1bmN0aW9uKCBldmVudCwgdWksIGluc3RhbmNlICkgew0KCQl2YXIgdCA9ICQoICJib2R5IiApLA0KCQkJbyA9IGluc3RhbmNlLm9wdGlvbnM7DQoNCgkJaWYgKCB0LmNzcyggImN1cnNvciIgKSApIHsNCgkJCW8uX2N1cnNvciA9IHQuY3NzKCAiY3Vyc29yIiApOw0KCQl9DQoJCXQuY3NzKCAiY3Vyc29yIiwgby5jdXJzb3IgKTsNCgl9LA0KCXN0b3A6IGZ1bmN0aW9uKCBldmVudCwgdWksIGluc3RhbmNlICkgew0KCQl2YXIgbyA9IGluc3RhbmNlLm9wdGlvbnM7DQoJCWlmICggby5fY3Vyc29yICkgew0KCQkJJCggImJvZHkiICkuY3NzKCAiY3Vyc29yIiwgby5fY3Vyc29yICk7DQoJCX0NCgl9DQp9ICk7DQoNCiQudWkucGx1Z2luLmFkZCggImRyYWdnYWJsZSIsICJvcGFjaXR5Iiwgew0KCXN0YXJ0OiBmdW5jdGlvbiggZXZlbnQsIHVpLCBpbnN0YW5jZSApIHsNCgkJdmFyIHQgPSAkKCB1aS5oZWxwZXIgKSwNCgkJCW8gPSBpbnN0YW5jZS5vcHRpb25zOw0KCQlpZiAoIHQuY3NzKCAib3BhY2l0eSIgKSApIHsNCgkJCW8uX29wYWNpdHkgPSB0LmNzcyggIm9wYWNpdHkiICk7DQoJCX0NCgkJdC5jc3MoICJvcGFjaXR5Iiwgby5vcGFjaXR5ICk7DQoJfSwNCglzdG9wOiBmdW5jdGlvbiggZXZlbnQsIHVpLCBpbnN0YW5jZSApIHsNCgkJdmFyIG8gPSBpbnN0YW5jZS5vcHRpb25zOw0KCQlpZiAoIG8uX29wYWNpdHkgKSB7DQoJCQkkKCB1aS5oZWxwZXIgKS5jc3MoICJvcGFjaXR5Iiwgby5fb3BhY2l0eSApOw0KCQl9DQoJfQ0KfSApOw0KDQokLnVpLnBsdWdpbi5hZGQoICJkcmFnZ2FibGUiLCAic2Nyb2xsIiwgew0KCXN0YXJ0OiBmdW5jdGlvbiggZXZlbnQsIHVpLCBpICkgew0KCQlpZiAoICFpLnNjcm9sbFBhcmVudE5vdEhpZGRlbiApIHsNCgkJCWkuc2Nyb2xsUGFyZW50Tm90SGlkZGVuID0gaS5oZWxwZXIuc2Nyb2xsUGFyZW50KCBmYWxzZSApOw0KCQl9DQoNCgkJaWYgKCBpLnNjcm9sbFBhcmVudE5vdEhpZGRlblsgMCBdICE9PSBpLmRvY3VtZW50WyAwIF0gJiYNCgkJCQlpLnNjcm9sbFBhcmVudE5vdEhpZGRlblsgMCBdLnRhZ05hbWUgIT09ICJIVE1MIiApIHsNCgkJCWkub3ZlcmZsb3dPZmZzZXQgPSBpLnNjcm9sbFBhcmVudE5vdEhpZGRlbi5vZmZzZXQoKTsNCgkJfQ0KCX0sDQoJZHJhZzogZnVuY3Rpb24oIGV2ZW50LCB1aSwgaSAgKSB7DQoNCgkJdmFyIG8gPSBpLm9wdGlvbnMsDQoJCQlzY3JvbGxlZCA9IGZhbHNlLA0KCQkJc2Nyb2xsUGFyZW50ID0gaS5zY3JvbGxQYXJlbnROb3RIaWRkZW5bIDAgXSwNCgkJCWRvY3VtZW50ID0gaS5kb2N1bWVudFsgMCBdOw0KDQoJCWlmICggc2Nyb2xsUGFyZW50ICE9PSBkb2N1bWVudCAmJiBzY3JvbGxQYXJlbnQudGFnTmFtZSAhPT0gIkhUTUwiICkgew0KCQkJaWYgKCAhby5heGlzIHx8IG8uYXhpcyAhPT0gIngiICkgew0KCQkJCWlmICggKCBpLm92ZXJmbG93T2Zmc2V0LnRvcCArIHNjcm9sbFBhcmVudC5vZmZzZXRIZWlnaHQgKSAtIGV2ZW50LnBhZ2VZIDwNCgkJCQkJCW8uc2Nyb2xsU2Vuc2l0aXZpdHkgKSB7DQoJCQkJCXNjcm9sbFBhcmVudC5zY3JvbGxUb3AgPSBzY3JvbGxlZCA9IHNjcm9sbFBhcmVudC5zY3JvbGxUb3AgKyBvLnNjcm9sbFNwZWVkOw0KCQkJCX0gZWxzZSBpZiAoIGV2ZW50LnBhZ2VZIC0gaS5vdmVyZmxvd09mZnNldC50b3AgPCBvLnNjcm9sbFNlbnNpdGl2aXR5ICkgew0KCQkJCQlzY3JvbGxQYXJlbnQuc2Nyb2xsVG9wID0gc2Nyb2xsZWQgPSBzY3JvbGxQYXJlbnQuc2Nyb2xsVG9wIC0gby5zY3JvbGxTcGVlZDsNCgkJCQl9DQoJCQl9DQoNCgkJCWlmICggIW8uYXhpcyB8fCBvLmF4aXMgIT09ICJ5IiApIHsNCgkJCQlpZiAoICggaS5vdmVyZmxvd09mZnNldC5sZWZ0ICsgc2Nyb2xsUGFyZW50Lm9mZnNldFdpZHRoICkgLSBldmVudC5wYWdlWCA8DQoJCQkJCQlvLnNjcm9sbFNlbnNpdGl2aXR5ICkgew0KCQkJCQlzY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCA9IHNjcm9sbGVkID0gc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQgKyBvLnNjcm9sbFNwZWVkOw0KCQkJCX0gZWxzZSBpZiAoIGV2ZW50LnBhZ2VYIC0gaS5vdmVyZmxvd09mZnNldC5sZWZ0IDwgby5zY3JvbGxTZW5zaXRpdml0eSApIHsNCgkJCQkJc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQgPSBzY3JvbGxlZCA9IHNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0IC0gby5zY3JvbGxTcGVlZDsNCgkJCQl9DQoJCQl9DQoNCgkJfSBlbHNlIHsNCg0KCQkJaWYgKCAhby5heGlzIHx8IG8uYXhpcyAhPT0gIngiICkgew0KCQkJCWlmICggZXZlbnQucGFnZVkgLSAkKCBkb2N1bWVudCApLnNjcm9sbFRvcCgpIDwgby5zY3JvbGxTZW5zaXRpdml0eSApIHsNCgkJCQkJc2Nyb2xsZWQgPSAkKCBkb2N1bWVudCApLnNjcm9sbFRvcCggJCggZG9jdW1lbnQgKS5zY3JvbGxUb3AoKSAtIG8uc2Nyb2xsU3BlZWQgKTsNCgkJCQl9IGVsc2UgaWYgKCAkKCB3aW5kb3cgKS5oZWlnaHQoKSAtICggZXZlbnQucGFnZVkgLSAkKCBkb2N1bWVudCApLnNjcm9sbFRvcCgpICkgPA0KCQkJCQkJby5zY3JvbGxTZW5zaXRpdml0eSApIHsNCgkJCQkJc2Nyb2xsZWQgPSAkKCBkb2N1bWVudCApLnNjcm9sbFRvcCggJCggZG9jdW1lbnQgKS5zY3JvbGxUb3AoKSArIG8uc2Nyb2xsU3BlZWQgKTsNCgkJCQl9DQoJCQl9DQoNCgkJCWlmICggIW8uYXhpcyB8fCBvLmF4aXMgIT09ICJ5IiApIHsNCgkJCQlpZiAoIGV2ZW50LnBhZ2VYIC0gJCggZG9jdW1lbnQgKS5zY3JvbGxMZWZ0KCkgPCBvLnNjcm9sbFNlbnNpdGl2aXR5ICkgew0KCQkJCQlzY3JvbGxlZCA9ICQoIGRvY3VtZW50ICkuc2Nyb2xsTGVmdCgNCgkJCQkJCSQoIGRvY3VtZW50ICkuc2Nyb2xsTGVmdCgpIC0gby5zY3JvbGxTcGVlZA0KCQkJCQkpOw0KCQkJCX0gZWxzZSBpZiAoICQoIHdpbmRvdyApLndpZHRoKCkgLSAoIGV2ZW50LnBhZ2VYIC0gJCggZG9jdW1lbnQgKS5zY3JvbGxMZWZ0KCkgKSA8DQoJCQkJCQlvLnNjcm9sbFNlbnNpdGl2aXR5ICkgew0KCQkJCQlzY3JvbGxlZCA9ICQoIGRvY3VtZW50ICkuc2Nyb2xsTGVmdCgNCgkJCQkJCSQoIGRvY3VtZW50ICkuc2Nyb2xsTGVmdCgpICsgby5zY3JvbGxTcGVlZA0KCQkJCQkpOw0KCQkJCX0NCgkJCX0NCg0KCQl9DQoNCgkJaWYgKCBzY3JvbGxlZCAhPT0gZmFsc2UgJiYgJC51aS5kZG1hbmFnZXIgJiYgIW8uZHJvcEJlaGF2aW91ciApIHsNCgkJCSQudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKCBpLCBldmVudCApOw0KCQl9DQoNCgl9DQp9ICk7DQoNCiQudWkucGx1Z2luLmFkZCggImRyYWdnYWJsZSIsICJzbmFwIiwgew0KCXN0YXJ0OiBmdW5jdGlvbiggZXZlbnQsIHVpLCBpICkgew0KDQoJCXZhciBvID0gaS5vcHRpb25zOw0KDQoJCWkuc25hcEVsZW1lbnRzID0gW107DQoNCgkJJCggby5zbmFwLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcgPyAoIG8uc25hcC5pdGVtcyB8fCAiOmRhdGEodWktZHJhZ2dhYmxlKSIgKSA6IG8uc25hcCApDQoJCQkuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQkJdmFyICR0ID0gJCggdGhpcyApLA0KCQkJCQkkbyA9ICR0Lm9mZnNldCgpOw0KCQkJCWlmICggdGhpcyAhPT0gaS5lbGVtZW50WyAwIF0gKSB7DQoJCQkJCWkuc25hcEVsZW1lbnRzLnB1c2goIHsNCgkJCQkJCWl0ZW06IHRoaXMsDQoJCQkJCQl3aWR0aDogJHQub3V0ZXJXaWR0aCgpLCBoZWlnaHQ6ICR0Lm91dGVySGVpZ2h0KCksDQoJCQkJCQl0b3A6ICRvLnRvcCwgbGVmdDogJG8ubGVmdA0KCQkJCQl9ICk7DQoJCQkJfQ0KCQkJfSApOw0KDQoJfSwNCglkcmFnOiBmdW5jdGlvbiggZXZlbnQsIHVpLCBpbnN0ICkgew0KDQoJCXZhciB0cywgYnMsIGxzLCBycywgbCwgciwgdCwgYiwgaSwgZmlyc3QsDQoJCQlvID0gaW5zdC5vcHRpb25zLA0KCQkJZCA9IG8uc25hcFRvbGVyYW5jZSwNCgkJCXgxID0gdWkub2Zmc2V0LmxlZnQsIHgyID0geDEgKyBpbnN0LmhlbHBlclByb3BvcnRpb25zLndpZHRoLA0KCQkJeTEgPSB1aS5vZmZzZXQudG9wLCB5MiA9IHkxICsgaW5zdC5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQ7DQoNCgkJZm9yICggaSA9IGluc3Quc25hcEVsZW1lbnRzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tICkgew0KDQoJCQlsID0gaW5zdC5zbmFwRWxlbWVudHNbIGkgXS5sZWZ0IC0gaW5zdC5tYXJnaW5zLmxlZnQ7DQoJCQlyID0gbCArIGluc3Quc25hcEVsZW1lbnRzWyBpIF0ud2lkdGg7DQoJCQl0ID0gaW5zdC5zbmFwRWxlbWVudHNbIGkgXS50b3AgLSBpbnN0Lm1hcmdpbnMudG9wOw0KCQkJYiA9IHQgKyBpbnN0LnNuYXBFbGVtZW50c1sgaSBdLmhlaWdodDsNCg0KCQkJaWYgKCB4MiA8IGwgLSBkIHx8IHgxID4gciArIGQgfHwgeTIgPCB0IC0gZCB8fCB5MSA+IGIgKyBkIHx8DQoJCQkJCSEkLmNvbnRhaW5zKCBpbnN0LnNuYXBFbGVtZW50c1sgaSBdLml0ZW0ub3duZXJEb2N1bWVudCwNCgkJCQkJaW5zdC5zbmFwRWxlbWVudHNbIGkgXS5pdGVtICkgKSB7DQoJCQkJaWYgKCBpbnN0LnNuYXBFbGVtZW50c1sgaSBdLnNuYXBwaW5nICkgew0KCQkJCQkoIGluc3Qub3B0aW9ucy5zbmFwLnJlbGVhc2UgJiYNCgkJCQkJCWluc3Qub3B0aW9ucy5zbmFwLnJlbGVhc2UuY2FsbCgNCgkJCQkJCQlpbnN0LmVsZW1lbnQsDQoJCQkJCQkJZXZlbnQsDQoJCQkJCQkJJC5leHRlbmQoIGluc3QuX3VpSGFzaCgpLCB7IHNuYXBJdGVtOiBpbnN0LnNuYXBFbGVtZW50c1sgaSBdLml0ZW0gfSApDQoJCQkJCQkpICk7DQoJCQkJfQ0KCQkJCWluc3Quc25hcEVsZW1lbnRzWyBpIF0uc25hcHBpbmcgPSBmYWxzZTsNCgkJCQljb250aW51ZTsNCgkJCX0NCg0KCQkJaWYgKCBvLnNuYXBNb2RlICE9PSAiaW5uZXIiICkgew0KCQkJCXRzID0gTWF0aC5hYnMoIHQgLSB5MiApIDw9IGQ7DQoJCQkJYnMgPSBNYXRoLmFicyggYiAtIHkxICkgPD0gZDsNCgkJCQlscyA9IE1hdGguYWJzKCBsIC0geDIgKSA8PSBkOw0KCQkJCXJzID0gTWF0aC5hYnMoIHIgLSB4MSApIDw9IGQ7DQoJCQkJaWYgKCB0cyApIHsNCgkJCQkJdWkucG9zaXRpb24udG9wID0gaW5zdC5fY29udmVydFBvc2l0aW9uVG8oICJyZWxhdGl2ZSIsIHsNCgkJCQkJCXRvcDogdCAtIGluc3QuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LA0KCQkJCQkJbGVmdDogMA0KCQkJCQl9ICkudG9wOw0KCQkJCX0NCgkJCQlpZiAoIGJzICkgew0KCQkJCQl1aS5wb3NpdGlvbi50b3AgPSBpbnN0Ll9jb252ZXJ0UG9zaXRpb25UbyggInJlbGF0aXZlIiwgew0KCQkJCQkJdG9wOiBiLA0KCQkJCQkJbGVmdDogMA0KCQkJCQl9ICkudG9wOw0KCQkJCX0NCgkJCQlpZiAoIGxzICkgew0KCQkJCQl1aS5wb3NpdGlvbi5sZWZ0ID0gaW5zdC5fY29udmVydFBvc2l0aW9uVG8oICJyZWxhdGl2ZSIsIHsNCgkJCQkJCXRvcDogMCwNCgkJCQkJCWxlZnQ6IGwgLSBpbnN0LmhlbHBlclByb3BvcnRpb25zLndpZHRoDQoJCQkJCX0gKS5sZWZ0Ow0KCQkJCX0NCgkJCQlpZiAoIHJzICkgew0KCQkJCQl1aS5wb3NpdGlvbi5sZWZ0ID0gaW5zdC5fY29udmVydFBvc2l0aW9uVG8oICJyZWxhdGl2ZSIsIHsNCgkJCQkJCXRvcDogMCwNCgkJCQkJCWxlZnQ6IHINCgkJCQkJfSApLmxlZnQ7DQoJCQkJfQ0KCQkJfQ0KDQoJCQlmaXJzdCA9ICggdHMgfHwgYnMgfHwgbHMgfHwgcnMgKTsNCg0KCQkJaWYgKCBvLnNuYXBNb2RlICE9PSAib3V0ZXIiICkgew0KCQkJCXRzID0gTWF0aC5hYnMoIHQgLSB5MSApIDw9IGQ7DQoJCQkJYnMgPSBNYXRoLmFicyggYiAtIHkyICkgPD0gZDsNCgkJCQlscyA9IE1hdGguYWJzKCBsIC0geDEgKSA8PSBkOw0KCQkJCXJzID0gTWF0aC5hYnMoIHIgLSB4MiApIDw9IGQ7DQoJCQkJaWYgKCB0cyApIHsNCgkJCQkJdWkucG9zaXRpb24udG9wID0gaW5zdC5fY29udmVydFBvc2l0aW9uVG8oICJyZWxhdGl2ZSIsIHsNCgkJCQkJCXRvcDogdCwNCgkJCQkJCWxlZnQ6IDANCgkJCQkJfSApLnRvcDsNCgkJCQl9DQoJCQkJaWYgKCBicyApIHsNCgkJCQkJdWkucG9zaXRpb24udG9wID0gaW5zdC5fY29udmVydFBvc2l0aW9uVG8oICJyZWxhdGl2ZSIsIHsNCgkJCQkJCXRvcDogYiAtIGluc3QuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LA0KCQkJCQkJbGVmdDogMA0KCQkJCQl9ICkudG9wOw0KCQkJCX0NCgkJCQlpZiAoIGxzICkgew0KCQkJCQl1aS5wb3NpdGlvbi5sZWZ0ID0gaW5zdC5fY29udmVydFBvc2l0aW9uVG8oICJyZWxhdGl2ZSIsIHsNCgkJCQkJCXRvcDogMCwNCgkJCQkJCWxlZnQ6IGwNCgkJCQkJfSApLmxlZnQ7DQoJCQkJfQ0KCQkJCWlmICggcnMgKSB7DQoJCQkJCXVpLnBvc2l0aW9uLmxlZnQgPSBpbnN0Ll9jb252ZXJ0UG9zaXRpb25UbyggInJlbGF0aXZlIiwgew0KCQkJCQkJdG9wOiAwLA0KCQkJCQkJbGVmdDogciAtIGluc3QuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgNCgkJCQkJfSApLmxlZnQ7DQoJCQkJfQ0KCQkJfQ0KDQoJCQlpZiAoICFpbnN0LnNuYXBFbGVtZW50c1sgaSBdLnNuYXBwaW5nICYmICggdHMgfHwgYnMgfHwgbHMgfHwgcnMgfHwgZmlyc3QgKSApIHsNCgkJCQkoIGluc3Qub3B0aW9ucy5zbmFwLnNuYXAgJiYNCgkJCQkJaW5zdC5vcHRpb25zLnNuYXAuc25hcC5jYWxsKA0KCQkJCQkJaW5zdC5lbGVtZW50LA0KCQkJCQkJZXZlbnQsDQoJCQkJCQkkLmV4dGVuZCggaW5zdC5fdWlIYXNoKCksIHsNCgkJCQkJCQlzbmFwSXRlbTogaW5zdC5zbmFwRWxlbWVudHNbIGkgXS5pdGVtDQoJCQkJCQl9ICkgKSApOw0KCQkJfQ0KCQkJaW5zdC5zbmFwRWxlbWVudHNbIGkgXS5zbmFwcGluZyA9ICggdHMgfHwgYnMgfHwgbHMgfHwgcnMgfHwgZmlyc3QgKTsNCg0KCQl9DQoNCgl9DQp9ICk7DQoNCiQudWkucGx1Z2luLmFkZCggImRyYWdnYWJsZSIsICJzdGFjayIsIHsNCglzdGFydDogZnVuY3Rpb24oIGV2ZW50LCB1aSwgaW5zdGFuY2UgKSB7DQoJCXZhciBtaW4sDQoJCQlvID0gaW5zdGFuY2Uub3B0aW9ucywNCgkJCWdyb3VwID0gJC5tYWtlQXJyYXkoICQoIG8uc3RhY2sgKSApLnNvcnQoIGZ1bmN0aW9uKCBhLCBiICkgew0KCQkJCXJldHVybiAoIHBhcnNlSW50KCAkKCBhICkuY3NzKCAiekluZGV4IiApLCAxMCApIHx8IDAgKSAtDQoJCQkJCSggcGFyc2VJbnQoICQoIGIgKS5jc3MoICJ6SW5kZXgiICksIDEwICkgfHwgMCApOw0KCQkJfSApOw0KDQoJCWlmICggIWdyb3VwLmxlbmd0aCApIHsgcmV0dXJuOyB9DQoNCgkJbWluID0gcGFyc2VJbnQoICQoIGdyb3VwWyAwIF0gKS5jc3MoICJ6SW5kZXgiICksIDEwICkgfHwgMDsNCgkJJCggZ3JvdXAgKS5lYWNoKCBmdW5jdGlvbiggaSApIHsNCgkJCSQoIHRoaXMgKS5jc3MoICJ6SW5kZXgiLCBtaW4gKyBpICk7DQoJCX0gKTsNCgkJdGhpcy5jc3MoICJ6SW5kZXgiLCAoIG1pbiArIGdyb3VwLmxlbmd0aCApICk7DQoJfQ0KfSApOw0KDQokLnVpLnBsdWdpbi5hZGQoICJkcmFnZ2FibGUiLCAiekluZGV4Iiwgew0KCXN0YXJ0OiBmdW5jdGlvbiggZXZlbnQsIHVpLCBpbnN0YW5jZSApIHsNCgkJdmFyIHQgPSAkKCB1aS5oZWxwZXIgKSwNCgkJCW8gPSBpbnN0YW5jZS5vcHRpb25zOw0KDQoJCWlmICggdC5jc3MoICJ6SW5kZXgiICkgKSB7DQoJCQlvLl96SW5kZXggPSB0LmNzcyggInpJbmRleCIgKTsNCgkJfQ0KCQl0LmNzcyggInpJbmRleCIsIG8uekluZGV4ICk7DQoJfSwNCglzdG9wOiBmdW5jdGlvbiggZXZlbnQsIHVpLCBpbnN0YW5jZSApIHsNCgkJdmFyIG8gPSBpbnN0YW5jZS5vcHRpb25zOw0KDQoJCWlmICggby5fekluZGV4ICkgew0KCQkJJCggdWkuaGVscGVyICkuY3NzKCAiekluZGV4Iiwgby5fekluZGV4ICk7DQoJCX0NCgl9DQp9ICk7DQoNCnZhciB3aWRnZXRzRHJhZ2dhYmxlID0gJC51aS5kcmFnZ2FibGU7DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgUmVzaXphYmxlIDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKi8NCg0KLy8+PmxhYmVsOiBSZXNpemFibGUNCi8vPj5ncm91cDogSW50ZXJhY3Rpb25zDQovLz4+ZGVzY3JpcHRpb246IEVuYWJsZXMgcmVzaXplIGZ1bmN0aW9uYWxpdHkgZm9yIGFueSBlbGVtZW50Lg0KLy8+PmRvY3M6IGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL3Jlc2l6YWJsZS8NCi8vPj5kZW1vczogaHR0cDovL2pxdWVyeXVpLmNvbS9yZXNpemFibGUvDQovLz4+Y3NzLnN0cnVjdHVyZTogLi4vLi4vdGhlbWVzL2Jhc2UvY29yZS5jc3MNCi8vPj5jc3Muc3RydWN0dXJlOiAuLi8uLi90aGVtZXMvYmFzZS9yZXNpemFibGUuY3NzDQovLz4+Y3NzLnRoZW1lOiAuLi8uLi90aGVtZXMvYmFzZS90aGVtZS5jc3MNCg0KDQoNCiQud2lkZ2V0KCAidWkucmVzaXphYmxlIiwgJC51aS5tb3VzZSwgew0KCXZlcnNpb246ICIxLjEyLjEiLA0KCXdpZGdldEV2ZW50UHJlZml4OiAicmVzaXplIiwNCglvcHRpb25zOiB7DQoJCWFsc29SZXNpemU6IGZhbHNlLA0KCQlhbmltYXRlOiBmYWxzZSwNCgkJYW5pbWF0ZUR1cmF0aW9uOiAic2xvdyIsDQoJCWFuaW1hdGVFYXNpbmc6ICJzd2luZyIsDQoJCWFzcGVjdFJhdGlvOiBmYWxzZSwNCgkJYXV0b0hpZGU6IGZhbHNlLA0KCQljbGFzc2VzOiB7DQoJCQkidWktcmVzaXphYmxlLXNlIjogInVpLWljb24gdWktaWNvbi1ncmlwc21hbGwtZGlhZ29uYWwtc2UiDQoJCX0sDQoJCWNvbnRhaW5tZW50OiBmYWxzZSwNCgkJZ2hvc3Q6IGZhbHNlLA0KCQlncmlkOiBmYWxzZSwNCgkJaGFuZGxlczogImUscyxzZSIsDQoJCWhlbHBlcjogZmFsc2UsDQoJCW1heEhlaWdodDogbnVsbCwNCgkJbWF4V2lkdGg6IG51bGwsDQoJCW1pbkhlaWdodDogMTAsDQoJCW1pbldpZHRoOiAxMCwNCg0KCQkvLyBTZWUgIzc5NjANCgkJekluZGV4OiA5MCwNCg0KCQkvLyBDYWxsYmFja3MNCgkJcmVzaXplOiBudWxsLA0KCQlzdGFydDogbnVsbCwNCgkJc3RvcDogbnVsbA0KCX0sDQoNCglfbnVtOiBmdW5jdGlvbiggdmFsdWUgKSB7DQoJCXJldHVybiBwYXJzZUZsb2F0KCB2YWx1ZSApIHx8IDA7DQoJfSwNCg0KCV9pc051bWJlcjogZnVuY3Rpb24oIHZhbHVlICkgew0KCQlyZXR1cm4gIWlzTmFOKCBwYXJzZUZsb2F0KCB2YWx1ZSApICk7DQoJfSwNCg0KCV9oYXNTY3JvbGw6IGZ1bmN0aW9uKCBlbCwgYSApIHsNCg0KCQlpZiAoICQoIGVsICkuY3NzKCAib3ZlcmZsb3ciICkgPT09ICJoaWRkZW4iICkgew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoNCgkJdmFyIHNjcm9sbCA9ICggYSAmJiBhID09PSAibGVmdCIgKSA/ICJzY3JvbGxMZWZ0IiA6ICJzY3JvbGxUb3AiLA0KCQkJaGFzID0gZmFsc2U7DQoNCgkJaWYgKCBlbFsgc2Nyb2xsIF0gPiAwICkgew0KCQkJcmV0dXJuIHRydWU7DQoJCX0NCg0KCQkvLyBUT0RPOiBkZXRlcm1pbmUgd2hpY2ggY2FzZXMgYWN0dWFsbHkgY2F1c2UgdGhpcyB0byBoYXBwZW4NCgkJLy8gaWYgdGhlIGVsZW1lbnQgZG9lc24ndCBoYXZlIHRoZSBzY3JvbGwgc2V0LCBzZWUgaWYgaXQncyBwb3NzaWJsZSB0bw0KCQkvLyBzZXQgdGhlIHNjcm9sbA0KCQllbFsgc2Nyb2xsIF0gPSAxOw0KCQloYXMgPSAoIGVsWyBzY3JvbGwgXSA+IDAgKTsNCgkJZWxbIHNjcm9sbCBdID0gMDsNCgkJcmV0dXJuIGhhczsNCgl9LA0KDQoJX2NyZWF0ZTogZnVuY3Rpb24oKSB7DQoNCgkJdmFyIG1hcmdpbnMsDQoJCQlvID0gdGhpcy5vcHRpb25zLA0KCQkJdGhhdCA9IHRoaXM7DQoJCXRoaXMuX2FkZENsYXNzKCAidWktcmVzaXphYmxlIiApOw0KDQoJCSQuZXh0ZW5kKCB0aGlzLCB7DQoJCQlfYXNwZWN0UmF0aW86ICEhKCBvLmFzcGVjdFJhdGlvICksDQoJCQlhc3BlY3RSYXRpbzogby5hc3BlY3RSYXRpbywNCgkJCW9yaWdpbmFsRWxlbWVudDogdGhpcy5lbGVtZW50LA0KCQkJX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHM6IFtdLA0KCQkJX2hlbHBlcjogby5oZWxwZXIgfHwgby5naG9zdCB8fCBvLmFuaW1hdGUgPyBvLmhlbHBlciB8fCAidWktcmVzaXphYmxlLWhlbHBlciIgOiBudWxsDQoJCX0gKTsNCg0KCQkvLyBXcmFwIHRoZSBlbGVtZW50IGlmIGl0IGNhbm5vdCBob2xkIGNoaWxkIG5vZGVzDQoJCWlmICggdGhpcy5lbGVtZW50WyAwIF0ubm9kZU5hbWUubWF0Y2goIC9eKGNhbnZhc3x0ZXh0YXJlYXxpbnB1dHxzZWxlY3R8YnV0dG9ufGltZykkL2kgKSApIHsNCg0KCQkJdGhpcy5lbGVtZW50LndyYXAoDQoJCQkJJCggIjxkaXYgY2xhc3M9J3VpLXdyYXBwZXInIHN0eWxlPSdvdmVyZmxvdzogaGlkZGVuOyc+PC9kaXY+IiApLmNzcyggew0KCQkJCQlwb3NpdGlvbjogdGhpcy5lbGVtZW50LmNzcyggInBvc2l0aW9uIiApLA0KCQkJCQl3aWR0aDogdGhpcy5lbGVtZW50Lm91dGVyV2lkdGgoKSwNCgkJCQkJaGVpZ2h0OiB0aGlzLmVsZW1lbnQub3V0ZXJIZWlnaHQoKSwNCgkJCQkJdG9wOiB0aGlzLmVsZW1lbnQuY3NzKCAidG9wIiApLA0KCQkJCQlsZWZ0OiB0aGlzLmVsZW1lbnQuY3NzKCAibGVmdCIgKQ0KCQkJCX0gKQ0KCQkJKTsNCg0KCQkJdGhpcy5lbGVtZW50ID0gdGhpcy5lbGVtZW50LnBhcmVudCgpLmRhdGEoDQoJCQkJInVpLXJlc2l6YWJsZSIsIHRoaXMuZWxlbWVudC5yZXNpemFibGUoICJpbnN0YW5jZSIgKQ0KCQkJKTsNCg0KCQkJdGhpcy5lbGVtZW50SXNXcmFwcGVyID0gdHJ1ZTsNCg0KCQkJbWFyZ2lucyA9IHsNCgkJCQltYXJnaW5Ub3A6IHRoaXMub3JpZ2luYWxFbGVtZW50LmNzcyggIm1hcmdpblRvcCIgKSwNCgkJCQltYXJnaW5SaWdodDogdGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCAibWFyZ2luUmlnaHQiICksDQoJCQkJbWFyZ2luQm90dG9tOiB0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoICJtYXJnaW5Cb3R0b20iICksDQoJCQkJbWFyZ2luTGVmdDogdGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCAibWFyZ2luTGVmdCIgKQ0KCQkJfTsNCg0KCQkJdGhpcy5lbGVtZW50LmNzcyggbWFyZ2lucyApOw0KCQkJdGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCAibWFyZ2luIiwgMCApOw0KDQoJCQkvLyBzdXBwb3J0OiBTYWZhcmkNCgkJCS8vIFByZXZlbnQgU2FmYXJpIHRleHRhcmVhIHJlc2l6ZQ0KCQkJdGhpcy5vcmlnaW5hbFJlc2l6ZVN0eWxlID0gdGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCAicmVzaXplIiApOw0KCQkJdGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCAicmVzaXplIiwgIm5vbmUiICk7DQoNCgkJCXRoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHMucHVzaCggdGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCB7DQoJCQkJcG9zaXRpb246ICJzdGF0aWMiLA0KCQkJCXpvb206IDEsDQoJCQkJZGlzcGxheTogImJsb2NrIg0KCQkJfSApICk7DQoNCgkJCS8vIFN1cHBvcnQ6IElFOQ0KCQkJLy8gYXZvaWQgSUUganVtcCAoaGFyZCBzZXQgdGhlIG1hcmdpbikNCgkJCXRoaXMub3JpZ2luYWxFbGVtZW50LmNzcyggbWFyZ2lucyApOw0KDQoJCQl0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZSgpOw0KCQl9DQoNCgkJdGhpcy5fc2V0dXBIYW5kbGVzKCk7DQoNCgkJaWYgKCBvLmF1dG9IaWRlICkgew0KCQkJJCggdGhpcy5lbGVtZW50ICkNCgkJCQkub24oICJtb3VzZWVudGVyIiwgZnVuY3Rpb24oKSB7DQoJCQkJCWlmICggby5kaXNhYmxlZCApIHsNCgkJCQkJCXJldHVybjsNCgkJCQkJfQ0KCQkJCQl0aGF0Ll9yZW1vdmVDbGFzcyggInVpLXJlc2l6YWJsZS1hdXRvaGlkZSIgKTsNCgkJCQkJdGhhdC5faGFuZGxlcy5zaG93KCk7DQoJCQkJfSApDQoJCQkJLm9uKCAibW91c2VsZWF2ZSIsIGZ1bmN0aW9uKCkgew0KCQkJCQlpZiAoIG8uZGlzYWJsZWQgKSB7DQoJCQkJCQlyZXR1cm47DQoJCQkJCX0NCgkJCQkJaWYgKCAhdGhhdC5yZXNpemluZyApIHsNCgkJCQkJCXRoYXQuX2FkZENsYXNzKCAidWktcmVzaXphYmxlLWF1dG9oaWRlIiApOw0KCQkJCQkJdGhhdC5faGFuZGxlcy5oaWRlKCk7DQoJCQkJCX0NCgkJCQl9ICk7DQoJCX0NCg0KCQl0aGlzLl9tb3VzZUluaXQoKTsNCgl9LA0KDQoJX2Rlc3Ryb3k6IGZ1bmN0aW9uKCkgew0KDQoJCXRoaXMuX21vdXNlRGVzdHJveSgpOw0KDQoJCXZhciB3cmFwcGVyLA0KCQkJX2Rlc3Ryb3kgPSBmdW5jdGlvbiggZXhwICkgew0KCQkJCSQoIGV4cCApDQoJCQkJCS5yZW1vdmVEYXRhKCAicmVzaXphYmxlIiApDQoJCQkJCS5yZW1vdmVEYXRhKCAidWktcmVzaXphYmxlIiApDQoJCQkJCS5vZmYoICIucmVzaXphYmxlIiApDQoJCQkJCS5maW5kKCAiLnVpLXJlc2l6YWJsZS1oYW5kbGUiICkNCgkJCQkJCS5yZW1vdmUoKTsNCgkJCX07DQoNCgkJLy8gVE9ETzogVW53cmFwIGF0IHNhbWUgRE9NIHBvc2l0aW9uDQoJCWlmICggdGhpcy5lbGVtZW50SXNXcmFwcGVyICkgew0KCQkJX2Rlc3Ryb3koIHRoaXMuZWxlbWVudCApOw0KCQkJd3JhcHBlciA9IHRoaXMuZWxlbWVudDsNCgkJCXRoaXMub3JpZ2luYWxFbGVtZW50LmNzcyggew0KCQkJCXBvc2l0aW9uOiB3cmFwcGVyLmNzcyggInBvc2l0aW9uIiApLA0KCQkJCXdpZHRoOiB3cmFwcGVyLm91dGVyV2lkdGgoKSwNCgkJCQloZWlnaHQ6IHdyYXBwZXIub3V0ZXJIZWlnaHQoKSwNCgkJCQl0b3A6IHdyYXBwZXIuY3NzKCAidG9wIiApLA0KCQkJCWxlZnQ6IHdyYXBwZXIuY3NzKCAibGVmdCIgKQ0KCQkJfSApLmluc2VydEFmdGVyKCB3cmFwcGVyICk7DQoJCQl3cmFwcGVyLnJlbW92ZSgpOw0KCQl9DQoNCgkJdGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCAicmVzaXplIiwgdGhpcy5vcmlnaW5hbFJlc2l6ZVN0eWxlICk7DQoJCV9kZXN0cm95KCB0aGlzLm9yaWdpbmFsRWxlbWVudCApOw0KDQoJCXJldHVybiB0aGlzOw0KCX0sDQoNCglfc2V0T3B0aW9uOiBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCgkJdGhpcy5fc3VwZXIoIGtleSwgdmFsdWUgKTsNCg0KCQlzd2l0Y2ggKCBrZXkgKSB7DQoJCWNhc2UgImhhbmRsZXMiOg0KCQkJdGhpcy5fcmVtb3ZlSGFuZGxlcygpOw0KCQkJdGhpcy5fc2V0dXBIYW5kbGVzKCk7DQoJCQlicmVhazsNCgkJZGVmYXVsdDoNCgkJCWJyZWFrOw0KCQl9DQoJfSwNCg0KCV9zZXR1cEhhbmRsZXM6IGZ1bmN0aW9uKCkgew0KCQl2YXIgbyA9IHRoaXMub3B0aW9ucywgaGFuZGxlLCBpLCBuLCBobmFtZSwgYXhpcywgdGhhdCA9IHRoaXM7DQoJCXRoaXMuaGFuZGxlcyA9IG8uaGFuZGxlcyB8fA0KCQkJKCAhJCggIi51aS1yZXNpemFibGUtaGFuZGxlIiwgdGhpcy5lbGVtZW50ICkubGVuZ3RoID8NCgkJCQkiZSxzLHNlIiA6IHsNCgkJCQkJbjogIi51aS1yZXNpemFibGUtbiIsDQoJCQkJCWU6ICIudWktcmVzaXphYmxlLWUiLA0KCQkJCQlzOiAiLnVpLXJlc2l6YWJsZS1zIiwNCgkJCQkJdzogIi51aS1yZXNpemFibGUtdyIsDQoJCQkJCXNlOiAiLnVpLXJlc2l6YWJsZS1zZSIsDQoJCQkJCXN3OiAiLnVpLXJlc2l6YWJsZS1zdyIsDQoJCQkJCW5lOiAiLnVpLXJlc2l6YWJsZS1uZSIsDQoJCQkJCW53OiAiLnVpLXJlc2l6YWJsZS1udyINCgkJCQl9ICk7DQoNCgkJdGhpcy5faGFuZGxlcyA9ICQoKTsNCgkJaWYgKCB0aGlzLmhhbmRsZXMuY29uc3RydWN0b3IgPT09IFN0cmluZyApIHsNCg0KCQkJaWYgKCB0aGlzLmhhbmRsZXMgPT09ICJhbGwiICkgew0KCQkJCXRoaXMuaGFuZGxlcyA9ICJuLGUscyx3LHNlLHN3LG5lLG53IjsNCgkJCX0NCg0KCQkJbiA9IHRoaXMuaGFuZGxlcy5zcGxpdCggIiwiICk7DQoJCQl0aGlzLmhhbmRsZXMgPSB7fTsNCg0KCQkJZm9yICggaSA9IDA7IGkgPCBuLmxlbmd0aDsgaSsrICkgew0KDQoJCQkJaGFuZGxlID0gJC50cmltKCBuWyBpIF0gKTsNCgkJCQlobmFtZSA9ICJ1aS1yZXNpemFibGUtIiArIGhhbmRsZTsNCgkJCQlheGlzID0gJCggIjxkaXY+IiApOw0KCQkJCXRoaXMuX2FkZENsYXNzKCBheGlzLCAidWktcmVzaXphYmxlLWhhbmRsZSAiICsgaG5hbWUgKTsNCg0KCQkJCWF4aXMuY3NzKCB7IHpJbmRleDogby56SW5kZXggfSApOw0KDQoJCQkJdGhpcy5oYW5kbGVzWyBoYW5kbGUgXSA9ICIudWktcmVzaXphYmxlLSIgKyBoYW5kbGU7DQoJCQkJdGhpcy5lbGVtZW50LmFwcGVuZCggYXhpcyApOw0KCQkJfQ0KDQoJCX0NCg0KCQl0aGlzLl9yZW5kZXJBeGlzID0gZnVuY3Rpb24oIHRhcmdldCApIHsNCg0KCQkJdmFyIGksIGF4aXMsIHBhZFBvcywgcGFkV3JhcHBlcjsNCg0KCQkJdGFyZ2V0ID0gdGFyZ2V0IHx8IHRoaXMuZWxlbWVudDsNCg0KCQkJZm9yICggaSBpbiB0aGlzLmhhbmRsZXMgKSB7DQoNCgkJCQlpZiAoIHRoaXMuaGFuZGxlc1sgaSBdLmNvbnN0cnVjdG9yID09PSBTdHJpbmcgKSB7DQoJCQkJCXRoaXMuaGFuZGxlc1sgaSBdID0gdGhpcy5lbGVtZW50LmNoaWxkcmVuKCB0aGlzLmhhbmRsZXNbIGkgXSApLmZpcnN0KCkuc2hvdygpOw0KCQkJCX0gZWxzZSBpZiAoIHRoaXMuaGFuZGxlc1sgaSBdLmpxdWVyeSB8fCB0aGlzLmhhbmRsZXNbIGkgXS5ub2RlVHlwZSApIHsNCgkJCQkJdGhpcy5oYW5kbGVzWyBpIF0gPSAkKCB0aGlzLmhhbmRsZXNbIGkgXSApOw0KCQkJCQl0aGlzLl9vbiggdGhpcy5oYW5kbGVzWyBpIF0sIHsgIm1vdXNlZG93biI6IHRoYXQuX21vdXNlRG93biB9ICk7DQoJCQkJfQ0KDQoJCQkJaWYgKCB0aGlzLmVsZW1lbnRJc1dyYXBwZXIgJiYNCgkJCQkJCXRoaXMub3JpZ2luYWxFbGVtZW50WyAwIF0NCgkJCQkJCQkubm9kZU5hbWUNCgkJCQkJCQkubWF0Y2goIC9eKHRleHRhcmVhfGlucHV0fHNlbGVjdHxidXR0b24pJC9pICkgKSB7DQoJCQkJCWF4aXMgPSAkKCB0aGlzLmhhbmRsZXNbIGkgXSwgdGhpcy5lbGVtZW50ICk7DQoNCgkJCQkJcGFkV3JhcHBlciA9IC9zd3xuZXxud3xzZXxufHMvLnRlc3QoIGkgKSA/DQoJCQkJCQlheGlzLm91dGVySGVpZ2h0KCkgOg0KCQkJCQkJYXhpcy5vdXRlcldpZHRoKCk7DQoNCgkJCQkJcGFkUG9zID0gWyAicGFkZGluZyIsDQoJCQkJCQkvbmV8bnd8bi8udGVzdCggaSApID8gIlRvcCIgOg0KCQkJCQkJL3NlfHN3fHMvLnRlc3QoIGkgKSA/ICJCb3R0b20iIDoNCgkJCQkJCS9eZSQvLnRlc3QoIGkgKSA/ICJSaWdodCIgOiAiTGVmdCIgXS5qb2luKCAiIiApOw0KDQoJCQkJCXRhcmdldC5jc3MoIHBhZFBvcywgcGFkV3JhcHBlciApOw0KDQoJCQkJCXRoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplKCk7DQoJCQkJfQ0KDQoJCQkJdGhpcy5faGFuZGxlcyA9IHRoaXMuX2hhbmRsZXMuYWRkKCB0aGlzLmhhbmRsZXNbIGkgXSApOw0KCQkJfQ0KCQl9Ow0KDQoJCS8vIFRPRE86IG1ha2UgcmVuZGVyQXhpcyBhIHByb3RvdHlwZSBmdW5jdGlvbg0KCQl0aGlzLl9yZW5kZXJBeGlzKCB0aGlzLmVsZW1lbnQgKTsNCg0KCQl0aGlzLl9oYW5kbGVzID0gdGhpcy5faGFuZGxlcy5hZGQoIHRoaXMuZWxlbWVudC5maW5kKCAiLnVpLXJlc2l6YWJsZS1oYW5kbGUiICkgKTsNCgkJdGhpcy5faGFuZGxlcy5kaXNhYmxlU2VsZWN0aW9uKCk7DQoNCgkJdGhpcy5faGFuZGxlcy5vbiggIm1vdXNlb3ZlciIsIGZ1bmN0aW9uKCkgew0KCQkJaWYgKCAhdGhhdC5yZXNpemluZyApIHsNCgkJCQlpZiAoIHRoaXMuY2xhc3NOYW1lICkgew0KCQkJCQlheGlzID0gdGhpcy5jbGFzc05hbWUubWF0Y2goIC91aS1yZXNpemFibGUtKHNlfHN3fG5lfG53fG58ZXxzfHcpL2kgKTsNCgkJCQl9DQoJCQkJdGhhdC5heGlzID0gYXhpcyAmJiBheGlzWyAxIF0gPyBheGlzWyAxIF0gOiAic2UiOw0KCQkJfQ0KCQl9ICk7DQoNCgkJaWYgKCBvLmF1dG9IaWRlICkgew0KCQkJdGhpcy5faGFuZGxlcy5oaWRlKCk7DQoJCQl0aGlzLl9hZGRDbGFzcyggInVpLXJlc2l6YWJsZS1hdXRvaGlkZSIgKTsNCgkJfQ0KCX0sDQoNCglfcmVtb3ZlSGFuZGxlczogZnVuY3Rpb24oKSB7DQoJCXRoaXMuX2hhbmRsZXMucmVtb3ZlKCk7DQoJfSwNCg0KCV9tb3VzZUNhcHR1cmU6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdmFyIGksIGhhbmRsZSwNCgkJCWNhcHR1cmUgPSBmYWxzZTsNCg0KCQlmb3IgKCBpIGluIHRoaXMuaGFuZGxlcyApIHsNCgkJCWhhbmRsZSA9ICQoIHRoaXMuaGFuZGxlc1sgaSBdIClbIDAgXTsNCgkJCWlmICggaGFuZGxlID09PSBldmVudC50YXJnZXQgfHwgJC5jb250YWlucyggaGFuZGxlLCBldmVudC50YXJnZXQgKSApIHsNCgkJCQljYXB0dXJlID0gdHJ1ZTsNCgkJCX0NCgkJfQ0KDQoJCXJldHVybiAhdGhpcy5vcHRpb25zLmRpc2FibGVkICYmIGNhcHR1cmU7DQoJfSwNCg0KCV9tb3VzZVN0YXJ0OiBmdW5jdGlvbiggZXZlbnQgKSB7DQoNCgkJdmFyIGN1cmxlZnQsIGN1cnRvcCwgY3Vyc29yLA0KCQkJbyA9IHRoaXMub3B0aW9ucywNCgkJCWVsID0gdGhpcy5lbGVtZW50Ow0KDQoJCXRoaXMucmVzaXppbmcgPSB0cnVlOw0KDQoJCXRoaXMuX3JlbmRlclByb3h5KCk7DQoNCgkJY3VybGVmdCA9IHRoaXMuX251bSggdGhpcy5oZWxwZXIuY3NzKCAibGVmdCIgKSApOw0KCQljdXJ0b3AgPSB0aGlzLl9udW0oIHRoaXMuaGVscGVyLmNzcyggInRvcCIgKSApOw0KDQoJCWlmICggby5jb250YWlubWVudCApIHsNCgkJCWN1cmxlZnQgKz0gJCggby5jb250YWlubWVudCApLnNjcm9sbExlZnQoKSB8fCAwOw0KCQkJY3VydG9wICs9ICQoIG8uY29udGFpbm1lbnQgKS5zY3JvbGxUb3AoKSB8fCAwOw0KCQl9DQoNCgkJdGhpcy5vZmZzZXQgPSB0aGlzLmhlbHBlci5vZmZzZXQoKTsNCgkJdGhpcy5wb3NpdGlvbiA9IHsgbGVmdDogY3VybGVmdCwgdG9wOiBjdXJ0b3AgfTsNCg0KCQl0aGlzLnNpemUgPSB0aGlzLl9oZWxwZXIgPyB7DQoJCQkJd2lkdGg6IHRoaXMuaGVscGVyLndpZHRoKCksDQoJCQkJaGVpZ2h0OiB0aGlzLmhlbHBlci5oZWlnaHQoKQ0KCQkJfSA6IHsNCgkJCQl3aWR0aDogZWwud2lkdGgoKSwNCgkJCQloZWlnaHQ6IGVsLmhlaWdodCgpDQoJCQl9Ow0KDQoJCXRoaXMub3JpZ2luYWxTaXplID0gdGhpcy5faGVscGVyID8gew0KCQkJCXdpZHRoOiBlbC5vdXRlcldpZHRoKCksDQoJCQkJaGVpZ2h0OiBlbC5vdXRlckhlaWdodCgpDQoJCQl9IDogew0KCQkJCXdpZHRoOiBlbC53aWR0aCgpLA0KCQkJCWhlaWdodDogZWwuaGVpZ2h0KCkNCgkJCX07DQoNCgkJdGhpcy5zaXplRGlmZiA9IHsNCgkJCXdpZHRoOiBlbC5vdXRlcldpZHRoKCkgLSBlbC53aWR0aCgpLA0KCQkJaGVpZ2h0OiBlbC5vdXRlckhlaWdodCgpIC0gZWwuaGVpZ2h0KCkNCgkJfTsNCg0KCQl0aGlzLm9yaWdpbmFsUG9zaXRpb24gPSB7IGxlZnQ6IGN1cmxlZnQsIHRvcDogY3VydG9wIH07DQoJCXRoaXMub3JpZ2luYWxNb3VzZVBvc2l0aW9uID0geyBsZWZ0OiBldmVudC5wYWdlWCwgdG9wOiBldmVudC5wYWdlWSB9Ow0KDQoJCXRoaXMuYXNwZWN0UmF0aW8gPSAoIHR5cGVvZiBvLmFzcGVjdFJhdGlvID09PSAibnVtYmVyIiApID8NCgkJCW8uYXNwZWN0UmF0aW8gOg0KCQkJKCAoIHRoaXMub3JpZ2luYWxTaXplLndpZHRoIC8gdGhpcy5vcmlnaW5hbFNpemUuaGVpZ2h0ICkgfHwgMSApOw0KDQoJCWN1cnNvciA9ICQoICIudWktcmVzaXphYmxlLSIgKyB0aGlzLmF4aXMgKS5jc3MoICJjdXJzb3IiICk7DQoJCSQoICJib2R5IiApLmNzcyggImN1cnNvciIsIGN1cnNvciA9PT0gImF1dG8iID8gdGhpcy5heGlzICsgIi1yZXNpemUiIDogY3Vyc29yICk7DQoNCgkJdGhpcy5fYWRkQ2xhc3MoICJ1aS1yZXNpemFibGUtcmVzaXppbmciICk7DQoJCXRoaXMuX3Byb3BhZ2F0ZSggInN0YXJ0IiwgZXZlbnQgKTsNCgkJcmV0dXJuIHRydWU7DQoJfSwNCg0KCV9tb3VzZURyYWc6IGZ1bmN0aW9uKCBldmVudCApIHsNCg0KCQl2YXIgZGF0YSwgcHJvcHMsDQoJCQlzbXAgPSB0aGlzLm9yaWdpbmFsTW91c2VQb3NpdGlvbiwNCgkJCWEgPSB0aGlzLmF4aXMsDQoJCQlkeCA9ICggZXZlbnQucGFnZVggLSBzbXAubGVmdCApIHx8IDAsDQoJCQlkeSA9ICggZXZlbnQucGFnZVkgLSBzbXAudG9wICkgfHwgMCwNCgkJCXRyaWdnZXIgPSB0aGlzLl9jaGFuZ2VbIGEgXTsNCg0KCQl0aGlzLl91cGRhdGVQcmV2UHJvcGVydGllcygpOw0KDQoJCWlmICggIXRyaWdnZXIgKSB7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCg0KCQlkYXRhID0gdHJpZ2dlci5hcHBseSggdGhpcywgWyBldmVudCwgZHgsIGR5IF0gKTsNCg0KCQl0aGlzLl91cGRhdGVWaXJ0dWFsQm91bmRhcmllcyggZXZlbnQuc2hpZnRLZXkgKTsNCgkJaWYgKCB0aGlzLl9hc3BlY3RSYXRpbyB8fCBldmVudC5zaGlmdEtleSApIHsNCgkJCWRhdGEgPSB0aGlzLl91cGRhdGVSYXRpbyggZGF0YSwgZXZlbnQgKTsNCgkJfQ0KDQoJCWRhdGEgPSB0aGlzLl9yZXNwZWN0U2l6ZSggZGF0YSwgZXZlbnQgKTsNCg0KCQl0aGlzLl91cGRhdGVDYWNoZSggZGF0YSApOw0KDQoJCXRoaXMuX3Byb3BhZ2F0ZSggInJlc2l6ZSIsIGV2ZW50ICk7DQoNCgkJcHJvcHMgPSB0aGlzLl9hcHBseUNoYW5nZXMoKTsNCg0KCQlpZiAoICF0aGlzLl9oZWxwZXIgJiYgdGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemVFbGVtZW50cy5sZW5ndGggKSB7DQoJCQl0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZSgpOw0KCQl9DQoNCgkJaWYgKCAhJC5pc0VtcHR5T2JqZWN0KCBwcm9wcyApICkgew0KCQkJdGhpcy5fdXBkYXRlUHJldlByb3BlcnRpZXMoKTsNCgkJCXRoaXMuX3RyaWdnZXIoICJyZXNpemUiLCBldmVudCwgdGhpcy51aSgpICk7DQoJCQl0aGlzLl9hcHBseUNoYW5nZXMoKTsNCgkJfQ0KDQoJCXJldHVybiBmYWxzZTsNCgl9LA0KDQoJX21vdXNlU3RvcDogZnVuY3Rpb24oIGV2ZW50ICkgew0KDQoJCXRoaXMucmVzaXppbmcgPSBmYWxzZTsNCgkJdmFyIHByLCBpc3RhLCBzb2Zmc2V0aCwgc29mZnNldHcsIHMsIGxlZnQsIHRvcCwNCgkJCW8gPSB0aGlzLm9wdGlvbnMsIHRoYXQgPSB0aGlzOw0KDQoJCWlmICggdGhpcy5faGVscGVyICkgew0KDQoJCQlwciA9IHRoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHM7DQoJCQlpc3RhID0gcHIubGVuZ3RoICYmICggL3RleHRhcmVhL2kgKS50ZXN0KCBwclsgMCBdLm5vZGVOYW1lICk7DQoJCQlzb2Zmc2V0aCA9IGlzdGEgJiYgdGhpcy5faGFzU2Nyb2xsKCBwclsgMCBdLCAibGVmdCIgKSA/IDAgOiB0aGF0LnNpemVEaWZmLmhlaWdodDsNCgkJCXNvZmZzZXR3ID0gaXN0YSA/IDAgOiB0aGF0LnNpemVEaWZmLndpZHRoOw0KDQoJCQlzID0gew0KCQkJCXdpZHRoOiAoIHRoYXQuaGVscGVyLndpZHRoKCkgIC0gc29mZnNldHcgKSwNCgkJCQloZWlnaHQ6ICggdGhhdC5oZWxwZXIuaGVpZ2h0KCkgLSBzb2Zmc2V0aCApDQoJCQl9Ow0KCQkJbGVmdCA9ICggcGFyc2VGbG9hdCggdGhhdC5lbGVtZW50LmNzcyggImxlZnQiICkgKSArDQoJCQkJKCB0aGF0LnBvc2l0aW9uLmxlZnQgLSB0aGF0Lm9yaWdpbmFsUG9zaXRpb24ubGVmdCApICkgfHwgbnVsbDsNCgkJCXRvcCA9ICggcGFyc2VGbG9hdCggdGhhdC5lbGVtZW50LmNzcyggInRvcCIgKSApICsNCgkJCQkoIHRoYXQucG9zaXRpb24udG9wIC0gdGhhdC5vcmlnaW5hbFBvc2l0aW9uLnRvcCApICkgfHwgbnVsbDsNCg0KCQkJaWYgKCAhby5hbmltYXRlICkgew0KCQkJCXRoaXMuZWxlbWVudC5jc3MoICQuZXh0ZW5kKCBzLCB7IHRvcDogdG9wLCBsZWZ0OiBsZWZ0IH0gKSApOw0KCQkJfQ0KDQoJCQl0aGF0LmhlbHBlci5oZWlnaHQoIHRoYXQuc2l6ZS5oZWlnaHQgKTsNCgkJCXRoYXQuaGVscGVyLndpZHRoKCB0aGF0LnNpemUud2lkdGggKTsNCg0KCQkJaWYgKCB0aGlzLl9oZWxwZXIgJiYgIW8uYW5pbWF0ZSApIHsNCgkJCQl0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZSgpOw0KCQkJfQ0KCQl9DQoNCgkJJCggImJvZHkiICkuY3NzKCAiY3Vyc29yIiwgImF1dG8iICk7DQoNCgkJdGhpcy5fcmVtb3ZlQ2xhc3MoICJ1aS1yZXNpemFibGUtcmVzaXppbmciICk7DQoNCgkJdGhpcy5fcHJvcGFnYXRlKCAic3RvcCIsIGV2ZW50ICk7DQoNCgkJaWYgKCB0aGlzLl9oZWxwZXIgKSB7DQoJCQl0aGlzLmhlbHBlci5yZW1vdmUoKTsNCgkJfQ0KDQoJCXJldHVybiBmYWxzZTsNCg0KCX0sDQoNCglfdXBkYXRlUHJldlByb3BlcnRpZXM6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLnByZXZQb3NpdGlvbiA9IHsNCgkJCXRvcDogdGhpcy5wb3NpdGlvbi50b3AsDQoJCQlsZWZ0OiB0aGlzLnBvc2l0aW9uLmxlZnQNCgkJfTsNCgkJdGhpcy5wcmV2U2l6ZSA9IHsNCgkJCXdpZHRoOiB0aGlzLnNpemUud2lkdGgsDQoJCQloZWlnaHQ6IHRoaXMuc2l6ZS5oZWlnaHQNCgkJfTsNCgl9LA0KDQoJX2FwcGx5Q2hhbmdlczogZnVuY3Rpb24oKSB7DQoJCXZhciBwcm9wcyA9IHt9Ow0KDQoJCWlmICggdGhpcy5wb3NpdGlvbi50b3AgIT09IHRoaXMucHJldlBvc2l0aW9uLnRvcCApIHsNCgkJCXByb3BzLnRvcCA9IHRoaXMucG9zaXRpb24udG9wICsgInB4IjsNCgkJfQ0KCQlpZiAoIHRoaXMucG9zaXRpb24ubGVmdCAhPT0gdGhpcy5wcmV2UG9zaXRpb24ubGVmdCApIHsNCgkJCXByb3BzLmxlZnQgPSB0aGlzLnBvc2l0aW9uLmxlZnQgKyAicHgiOw0KCQl9DQoJCWlmICggdGhpcy5zaXplLndpZHRoICE9PSB0aGlzLnByZXZTaXplLndpZHRoICkgew0KCQkJcHJvcHMud2lkdGggPSB0aGlzLnNpemUud2lkdGggKyAicHgiOw0KCQl9DQoJCWlmICggdGhpcy5zaXplLmhlaWdodCAhPT0gdGhpcy5wcmV2U2l6ZS5oZWlnaHQgKSB7DQoJCQlwcm9wcy5oZWlnaHQgPSB0aGlzLnNpemUuaGVpZ2h0ICsgInB4IjsNCgkJfQ0KDQoJCXRoaXMuaGVscGVyLmNzcyggcHJvcHMgKTsNCg0KCQlyZXR1cm4gcHJvcHM7DQoJfSwNCg0KCV91cGRhdGVWaXJ0dWFsQm91bmRhcmllczogZnVuY3Rpb24oIGZvcmNlQXNwZWN0UmF0aW8gKSB7DQoJCXZhciBwTWluV2lkdGgsIHBNYXhXaWR0aCwgcE1pbkhlaWdodCwgcE1heEhlaWdodCwgYiwNCgkJCW8gPSB0aGlzLm9wdGlvbnM7DQoNCgkJYiA9IHsNCgkJCW1pbldpZHRoOiB0aGlzLl9pc051bWJlciggby5taW5XaWR0aCApID8gby5taW5XaWR0aCA6IDAsDQoJCQltYXhXaWR0aDogdGhpcy5faXNOdW1iZXIoIG8ubWF4V2lkdGggKSA/IG8ubWF4V2lkdGggOiBJbmZpbml0eSwNCgkJCW1pbkhlaWdodDogdGhpcy5faXNOdW1iZXIoIG8ubWluSGVpZ2h0ICkgPyBvLm1pbkhlaWdodCA6IDAsDQoJCQltYXhIZWlnaHQ6IHRoaXMuX2lzTnVtYmVyKCBvLm1heEhlaWdodCApID8gby5tYXhIZWlnaHQgOiBJbmZpbml0eQ0KCQl9Ow0KDQoJCWlmICggdGhpcy5fYXNwZWN0UmF0aW8gfHwgZm9yY2VBc3BlY3RSYXRpbyApIHsNCgkJCXBNaW5XaWR0aCA9IGIubWluSGVpZ2h0ICogdGhpcy5hc3BlY3RSYXRpbzsNCgkJCXBNaW5IZWlnaHQgPSBiLm1pbldpZHRoIC8gdGhpcy5hc3BlY3RSYXRpbzsNCgkJCXBNYXhXaWR0aCA9IGIubWF4SGVpZ2h0ICogdGhpcy5hc3BlY3RSYXRpbzsNCgkJCXBNYXhIZWlnaHQgPSBiLm1heFdpZHRoIC8gdGhpcy5hc3BlY3RSYXRpbzsNCg0KCQkJaWYgKCBwTWluV2lkdGggPiBiLm1pbldpZHRoICkgew0KCQkJCWIubWluV2lkdGggPSBwTWluV2lkdGg7DQoJCQl9DQoJCQlpZiAoIHBNaW5IZWlnaHQgPiBiLm1pbkhlaWdodCApIHsNCgkJCQliLm1pbkhlaWdodCA9IHBNaW5IZWlnaHQ7DQoJCQl9DQoJCQlpZiAoIHBNYXhXaWR0aCA8IGIubWF4V2lkdGggKSB7DQoJCQkJYi5tYXhXaWR0aCA9IHBNYXhXaWR0aDsNCgkJCX0NCgkJCWlmICggcE1heEhlaWdodCA8IGIubWF4SGVpZ2h0ICkgew0KCQkJCWIubWF4SGVpZ2h0ID0gcE1heEhlaWdodDsNCgkJCX0NCgkJfQ0KCQl0aGlzLl92Qm91bmRhcmllcyA9IGI7DQoJfSwNCg0KCV91cGRhdGVDYWNoZTogZnVuY3Rpb24oIGRhdGEgKSB7DQoJCXRoaXMub2Zmc2V0ID0gdGhpcy5oZWxwZXIub2Zmc2V0KCk7DQoJCWlmICggdGhpcy5faXNOdW1iZXIoIGRhdGEubGVmdCApICkgew0KCQkJdGhpcy5wb3NpdGlvbi5sZWZ0ID0gZGF0YS5sZWZ0Ow0KCQl9DQoJCWlmICggdGhpcy5faXNOdW1iZXIoIGRhdGEudG9wICkgKSB7DQoJCQl0aGlzLnBvc2l0aW9uLnRvcCA9IGRhdGEudG9wOw0KCQl9DQoJCWlmICggdGhpcy5faXNOdW1iZXIoIGRhdGEuaGVpZ2h0ICkgKSB7DQoJCQl0aGlzLnNpemUuaGVpZ2h0ID0gZGF0YS5oZWlnaHQ7DQoJCX0NCgkJaWYgKCB0aGlzLl9pc051bWJlciggZGF0YS53aWR0aCApICkgew0KCQkJdGhpcy5zaXplLndpZHRoID0gZGF0YS53aWR0aDsNCgkJfQ0KCX0sDQoNCglfdXBkYXRlUmF0aW86IGZ1bmN0aW9uKCBkYXRhICkgew0KDQoJCXZhciBjcG9zID0gdGhpcy5wb3NpdGlvbiwNCgkJCWNzaXplID0gdGhpcy5zaXplLA0KCQkJYSA9IHRoaXMuYXhpczsNCg0KCQlpZiAoIHRoaXMuX2lzTnVtYmVyKCBkYXRhLmhlaWdodCApICkgew0KCQkJZGF0YS53aWR0aCA9ICggZGF0YS5oZWlnaHQgKiB0aGlzLmFzcGVjdFJhdGlvICk7DQoJCX0gZWxzZSBpZiAoIHRoaXMuX2lzTnVtYmVyKCBkYXRhLndpZHRoICkgKSB7DQoJCQlkYXRhLmhlaWdodCA9ICggZGF0YS53aWR0aCAvIHRoaXMuYXNwZWN0UmF0aW8gKTsNCgkJfQ0KDQoJCWlmICggYSA9PT0gInN3IiApIHsNCgkJCWRhdGEubGVmdCA9IGNwb3MubGVmdCArICggY3NpemUud2lkdGggLSBkYXRhLndpZHRoICk7DQoJCQlkYXRhLnRvcCA9IG51bGw7DQoJCX0NCgkJaWYgKCBhID09PSAibnciICkgew0KCQkJZGF0YS50b3AgPSBjcG9zLnRvcCArICggY3NpemUuaGVpZ2h0IC0gZGF0YS5oZWlnaHQgKTsNCgkJCWRhdGEubGVmdCA9IGNwb3MubGVmdCArICggY3NpemUud2lkdGggLSBkYXRhLndpZHRoICk7DQoJCX0NCg0KCQlyZXR1cm4gZGF0YTsNCgl9LA0KDQoJX3Jlc3BlY3RTaXplOiBmdW5jdGlvbiggZGF0YSApIHsNCg0KCQl2YXIgbyA9IHRoaXMuX3ZCb3VuZGFyaWVzLA0KCQkJYSA9IHRoaXMuYXhpcywNCgkJCWlzbWF4dyA9IHRoaXMuX2lzTnVtYmVyKCBkYXRhLndpZHRoICkgJiYgby5tYXhXaWR0aCAmJiAoIG8ubWF4V2lkdGggPCBkYXRhLndpZHRoICksDQoJCQlpc21heGggPSB0aGlzLl9pc051bWJlciggZGF0YS5oZWlnaHQgKSAmJiBvLm1heEhlaWdodCAmJiAoIG8ubWF4SGVpZ2h0IDwgZGF0YS5oZWlnaHQgKSwNCgkJCWlzbWludyA9IHRoaXMuX2lzTnVtYmVyKCBkYXRhLndpZHRoICkgJiYgby5taW5XaWR0aCAmJiAoIG8ubWluV2lkdGggPiBkYXRhLndpZHRoICksDQoJCQlpc21pbmggPSB0aGlzLl9pc051bWJlciggZGF0YS5oZWlnaHQgKSAmJiBvLm1pbkhlaWdodCAmJiAoIG8ubWluSGVpZ2h0ID4gZGF0YS5oZWlnaHQgKSwNCgkJCWR3ID0gdGhpcy5vcmlnaW5hbFBvc2l0aW9uLmxlZnQgKyB0aGlzLm9yaWdpbmFsU2l6ZS53aWR0aCwNCgkJCWRoID0gdGhpcy5vcmlnaW5hbFBvc2l0aW9uLnRvcCArIHRoaXMub3JpZ2luYWxTaXplLmhlaWdodCwNCgkJCWN3ID0gL3N3fG53fHcvLnRlc3QoIGEgKSwgY2ggPSAvbnd8bmV8bi8udGVzdCggYSApOw0KCQlpZiAoIGlzbWludyApIHsNCgkJCWRhdGEud2lkdGggPSBvLm1pbldpZHRoOw0KCQl9DQoJCWlmICggaXNtaW5oICkgew0KCQkJZGF0YS5oZWlnaHQgPSBvLm1pbkhlaWdodDsNCgkJfQ0KCQlpZiAoIGlzbWF4dyApIHsNCgkJCWRhdGEud2lkdGggPSBvLm1heFdpZHRoOw0KCQl9DQoJCWlmICggaXNtYXhoICkgew0KCQkJZGF0YS5oZWlnaHQgPSBvLm1heEhlaWdodDsNCgkJfQ0KDQoJCWlmICggaXNtaW53ICYmIGN3ICkgew0KCQkJZGF0YS5sZWZ0ID0gZHcgLSBvLm1pbldpZHRoOw0KCQl9DQoJCWlmICggaXNtYXh3ICYmIGN3ICkgew0KCQkJZGF0YS5sZWZ0ID0gZHcgLSBvLm1heFdpZHRoOw0KCQl9DQoJCWlmICggaXNtaW5oICYmIGNoICkgew0KCQkJZGF0YS50b3AgPSBkaCAtIG8ubWluSGVpZ2h0Ow0KCQl9DQoJCWlmICggaXNtYXhoICYmIGNoICkgew0KCQkJZGF0YS50b3AgPSBkaCAtIG8ubWF4SGVpZ2h0Ow0KCQl9DQoNCgkJLy8gRml4aW5nIGp1bXAgZXJyb3Igb24gdG9wL2xlZnQgLSBidWcgIzIzMzANCgkJaWYgKCAhZGF0YS53aWR0aCAmJiAhZGF0YS5oZWlnaHQgJiYgIWRhdGEubGVmdCAmJiBkYXRhLnRvcCApIHsNCgkJCWRhdGEudG9wID0gbnVsbDsNCgkJfSBlbHNlIGlmICggIWRhdGEud2lkdGggJiYgIWRhdGEuaGVpZ2h0ICYmICFkYXRhLnRvcCAmJiBkYXRhLmxlZnQgKSB7DQoJCQlkYXRhLmxlZnQgPSBudWxsOw0KCQl9DQoNCgkJcmV0dXJuIGRhdGE7DQoJfSwNCg0KCV9nZXRQYWRkaW5nUGx1c0JvcmRlckRpbWVuc2lvbnM6IGZ1bmN0aW9uKCBlbGVtZW50ICkgew0KCQl2YXIgaSA9IDAsDQoJCQl3aWR0aHMgPSBbXSwNCgkJCWJvcmRlcnMgPSBbDQoJCQkJZWxlbWVudC5jc3MoICJib3JkZXJUb3BXaWR0aCIgKSwNCgkJCQllbGVtZW50LmNzcyggImJvcmRlclJpZ2h0V2lkdGgiICksDQoJCQkJZWxlbWVudC5jc3MoICJib3JkZXJCb3R0b21XaWR0aCIgKSwNCgkJCQllbGVtZW50LmNzcyggImJvcmRlckxlZnRXaWR0aCIgKQ0KCQkJXSwNCgkJCXBhZGRpbmdzID0gWw0KCQkJCWVsZW1lbnQuY3NzKCAicGFkZGluZ1RvcCIgKSwNCgkJCQllbGVtZW50LmNzcyggInBhZGRpbmdSaWdodCIgKSwNCgkJCQllbGVtZW50LmNzcyggInBhZGRpbmdCb3R0b20iICksDQoJCQkJZWxlbWVudC5jc3MoICJwYWRkaW5nTGVmdCIgKQ0KCQkJXTsNCg0KCQlmb3IgKCA7IGkgPCA0OyBpKysgKSB7DQoJCQl3aWR0aHNbIGkgXSA9ICggcGFyc2VGbG9hdCggYm9yZGVyc1sgaSBdICkgfHwgMCApOw0KCQkJd2lkdGhzWyBpIF0gKz0gKCBwYXJzZUZsb2F0KCBwYWRkaW5nc1sgaSBdICkgfHwgMCApOw0KCQl9DQoNCgkJcmV0dXJuIHsNCgkJCWhlaWdodDogd2lkdGhzWyAwIF0gKyB3aWR0aHNbIDIgXSwNCgkJCXdpZHRoOiB3aWR0aHNbIDEgXSArIHdpZHRoc1sgMyBdDQoJCX07DQoJfSwNCg0KCV9wcm9wb3J0aW9uYWxseVJlc2l6ZTogZnVuY3Rpb24oKSB7DQoNCgkJaWYgKCAhdGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemVFbGVtZW50cy5sZW5ndGggKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQl2YXIgcHJlbCwNCgkJCWkgPSAwLA0KCQkJZWxlbWVudCA9IHRoaXMuaGVscGVyIHx8IHRoaXMuZWxlbWVudDsNCg0KCQlmb3IgKCA7IGkgPCB0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1lbnRzLmxlbmd0aDsgaSsrICkgew0KDQoJCQlwcmVsID0gdGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemVFbGVtZW50c1sgaSBdOw0KDQoJCQkvLyBUT0RPOiBTZWVtcyBsaWtlIGEgYnVnIHRvIGNhY2hlIHRoaXMub3V0ZXJEaW1lbnNpb25zDQoJCQkvLyBjb25zaWRlcmluZyB0aGF0IHdlIGFyZSBpbiBhIGxvb3AuDQoJCQlpZiAoICF0aGlzLm91dGVyRGltZW5zaW9ucyApIHsNCgkJCQl0aGlzLm91dGVyRGltZW5zaW9ucyA9IHRoaXMuX2dldFBhZGRpbmdQbHVzQm9yZGVyRGltZW5zaW9ucyggcHJlbCApOw0KCQkJfQ0KDQoJCQlwcmVsLmNzcyggew0KCQkJCWhlaWdodDogKCBlbGVtZW50LmhlaWdodCgpIC0gdGhpcy5vdXRlckRpbWVuc2lvbnMuaGVpZ2h0ICkgfHwgMCwNCgkJCQl3aWR0aDogKCBlbGVtZW50LndpZHRoKCkgLSB0aGlzLm91dGVyRGltZW5zaW9ucy53aWR0aCApIHx8IDANCgkJCX0gKTsNCg0KCQl9DQoNCgl9LA0KDQoJX3JlbmRlclByb3h5OiBmdW5jdGlvbigpIHsNCg0KCQl2YXIgZWwgPSB0aGlzLmVsZW1lbnQsIG8gPSB0aGlzLm9wdGlvbnM7DQoJCXRoaXMuZWxlbWVudE9mZnNldCA9IGVsLm9mZnNldCgpOw0KDQoJCWlmICggdGhpcy5faGVscGVyICkgew0KDQoJCQl0aGlzLmhlbHBlciA9IHRoaXMuaGVscGVyIHx8ICQoICI8ZGl2IHN0eWxlPSdvdmVyZmxvdzpoaWRkZW47Jz48L2Rpdj4iICk7DQoNCgkJCXRoaXMuX2FkZENsYXNzKCB0aGlzLmhlbHBlciwgdGhpcy5faGVscGVyICk7DQoJCQl0aGlzLmhlbHBlci5jc3MoIHsNCgkJCQl3aWR0aDogdGhpcy5lbGVtZW50Lm91dGVyV2lkdGgoKSwNCgkJCQloZWlnaHQ6IHRoaXMuZWxlbWVudC5vdXRlckhlaWdodCgpLA0KCQkJCXBvc2l0aW9uOiAiYWJzb2x1dGUiLA0KCQkJCWxlZnQ6IHRoaXMuZWxlbWVudE9mZnNldC5sZWZ0ICsgInB4IiwNCgkJCQl0b3A6IHRoaXMuZWxlbWVudE9mZnNldC50b3AgKyAicHgiLA0KCQkJCXpJbmRleDogKytvLnpJbmRleCAvL1RPRE86IERvbid0IG1vZGlmeSBvcHRpb24NCgkJCX0gKTsNCg0KCQkJdGhpcy5oZWxwZXINCgkJCQkuYXBwZW5kVG8oICJib2R5IiApDQoJCQkJLmRpc2FibGVTZWxlY3Rpb24oKTsNCg0KCQl9IGVsc2Ugew0KCQkJdGhpcy5oZWxwZXIgPSB0aGlzLmVsZW1lbnQ7DQoJCX0NCg0KCX0sDQoNCglfY2hhbmdlOiB7DQoJCWU6IGZ1bmN0aW9uKCBldmVudCwgZHggKSB7DQoJCQlyZXR1cm4geyB3aWR0aDogdGhpcy5vcmlnaW5hbFNpemUud2lkdGggKyBkeCB9Ow0KCQl9LA0KCQl3OiBmdW5jdGlvbiggZXZlbnQsIGR4ICkgew0KCQkJdmFyIGNzID0gdGhpcy5vcmlnaW5hbFNpemUsIHNwID0gdGhpcy5vcmlnaW5hbFBvc2l0aW9uOw0KCQkJcmV0dXJuIHsgbGVmdDogc3AubGVmdCArIGR4LCB3aWR0aDogY3Mud2lkdGggLSBkeCB9Ow0KCQl9LA0KCQluOiBmdW5jdGlvbiggZXZlbnQsIGR4LCBkeSApIHsNCgkJCXZhciBjcyA9IHRoaXMub3JpZ2luYWxTaXplLCBzcCA9IHRoaXMub3JpZ2luYWxQb3NpdGlvbjsNCgkJCXJldHVybiB7IHRvcDogc3AudG9wICsgZHksIGhlaWdodDogY3MuaGVpZ2h0IC0gZHkgfTsNCgkJfSwNCgkJczogZnVuY3Rpb24oIGV2ZW50LCBkeCwgZHkgKSB7DQoJCQlyZXR1cm4geyBoZWlnaHQ6IHRoaXMub3JpZ2luYWxTaXplLmhlaWdodCArIGR5IH07DQoJCX0sDQoJCXNlOiBmdW5jdGlvbiggZXZlbnQsIGR4LCBkeSApIHsNCgkJCXJldHVybiAkLmV4dGVuZCggdGhpcy5fY2hhbmdlLnMuYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApLA0KCQkJCXRoaXMuX2NoYW5nZS5lLmFwcGx5KCB0aGlzLCBbIGV2ZW50LCBkeCwgZHkgXSApICk7DQoJCX0sDQoJCXN3OiBmdW5jdGlvbiggZXZlbnQsIGR4LCBkeSApIHsNCgkJCXJldHVybiAkLmV4dGVuZCggdGhpcy5fY2hhbmdlLnMuYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApLA0KCQkJCXRoaXMuX2NoYW5nZS53LmFwcGx5KCB0aGlzLCBbIGV2ZW50LCBkeCwgZHkgXSApICk7DQoJCX0sDQoJCW5lOiBmdW5jdGlvbiggZXZlbnQsIGR4LCBkeSApIHsNCgkJCXJldHVybiAkLmV4dGVuZCggdGhpcy5fY2hhbmdlLm4uYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApLA0KCQkJCXRoaXMuX2NoYW5nZS5lLmFwcGx5KCB0aGlzLCBbIGV2ZW50LCBkeCwgZHkgXSApICk7DQoJCX0sDQoJCW53OiBmdW5jdGlvbiggZXZlbnQsIGR4LCBkeSApIHsNCgkJCXJldHVybiAkLmV4dGVuZCggdGhpcy5fY2hhbmdlLm4uYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApLA0KCQkJCXRoaXMuX2NoYW5nZS53LmFwcGx5KCB0aGlzLCBbIGV2ZW50LCBkeCwgZHkgXSApICk7DQoJCX0NCgl9LA0KDQoJX3Byb3BhZ2F0ZTogZnVuY3Rpb24oIG4sIGV2ZW50ICkgew0KCQkkLnVpLnBsdWdpbi5jYWxsKCB0aGlzLCBuLCBbIGV2ZW50LCB0aGlzLnVpKCkgXSApOw0KCQkoIG4gIT09ICJyZXNpemUiICYmIHRoaXMuX3RyaWdnZXIoIG4sIGV2ZW50LCB0aGlzLnVpKCkgKSApOw0KCX0sDQoNCglwbHVnaW5zOiB7fSwNCg0KCXVpOiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHsNCgkJCW9yaWdpbmFsRWxlbWVudDogdGhpcy5vcmlnaW5hbEVsZW1lbnQsDQoJCQllbGVtZW50OiB0aGlzLmVsZW1lbnQsDQoJCQloZWxwZXI6IHRoaXMuaGVscGVyLA0KCQkJcG9zaXRpb246IHRoaXMucG9zaXRpb24sDQoJCQlzaXplOiB0aGlzLnNpemUsDQoJCQlvcmlnaW5hbFNpemU6IHRoaXMub3JpZ2luYWxTaXplLA0KCQkJb3JpZ2luYWxQb3NpdGlvbjogdGhpcy5vcmlnaW5hbFBvc2l0aW9uDQoJCX07DQoJfQ0KDQp9ICk7DQoNCi8qDQogKiBSZXNpemFibGUgRXh0ZW5zaW9ucw0KICovDQoNCiQudWkucGx1Z2luLmFkZCggInJlc2l6YWJsZSIsICJhbmltYXRlIiwgew0KDQoJc3RvcDogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl2YXIgdGhhdCA9ICQoIHRoaXMgKS5yZXNpemFibGUoICJpbnN0YW5jZSIgKSwNCgkJCW8gPSB0aGF0Lm9wdGlvbnMsDQoJCQlwciA9IHRoYXQuX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHMsDQoJCQlpc3RhID0gcHIubGVuZ3RoICYmICggL3RleHRhcmVhL2kgKS50ZXN0KCBwclsgMCBdLm5vZGVOYW1lICksDQoJCQlzb2Zmc2V0aCA9IGlzdGEgJiYgdGhhdC5faGFzU2Nyb2xsKCBwclsgMCBdLCAibGVmdCIgKSA/IDAgOiB0aGF0LnNpemVEaWZmLmhlaWdodCwNCgkJCXNvZmZzZXR3ID0gaXN0YSA/IDAgOiB0aGF0LnNpemVEaWZmLndpZHRoLA0KCQkJc3R5bGUgPSB7DQoJCQkJd2lkdGg6ICggdGhhdC5zaXplLndpZHRoIC0gc29mZnNldHcgKSwNCgkJCQloZWlnaHQ6ICggdGhhdC5zaXplLmhlaWdodCAtIHNvZmZzZXRoICkNCgkJCX0sDQoJCQlsZWZ0ID0gKCBwYXJzZUZsb2F0KCB0aGF0LmVsZW1lbnQuY3NzKCAibGVmdCIgKSApICsNCgkJCQkoIHRoYXQucG9zaXRpb24ubGVmdCAtIHRoYXQub3JpZ2luYWxQb3NpdGlvbi5sZWZ0ICkgKSB8fCBudWxsLA0KCQkJdG9wID0gKCBwYXJzZUZsb2F0KCB0aGF0LmVsZW1lbnQuY3NzKCAidG9wIiApICkgKw0KCQkJCSggdGhhdC5wb3NpdGlvbi50b3AgLSB0aGF0Lm9yaWdpbmFsUG9zaXRpb24udG9wICkgKSB8fCBudWxsOw0KDQoJCXRoYXQuZWxlbWVudC5hbmltYXRlKA0KCQkJJC5leHRlbmQoIHN0eWxlLCB0b3AgJiYgbGVmdCA/IHsgdG9wOiB0b3AsIGxlZnQ6IGxlZnQgfSA6IHt9ICksIHsNCgkJCQlkdXJhdGlvbjogby5hbmltYXRlRHVyYXRpb24sDQoJCQkJZWFzaW5nOiBvLmFuaW1hdGVFYXNpbmcsDQoJCQkJc3RlcDogZnVuY3Rpb24oKSB7DQoNCgkJCQkJdmFyIGRhdGEgPSB7DQoJCQkJCQl3aWR0aDogcGFyc2VGbG9hdCggdGhhdC5lbGVtZW50LmNzcyggIndpZHRoIiApICksDQoJCQkJCQloZWlnaHQ6IHBhcnNlRmxvYXQoIHRoYXQuZWxlbWVudC5jc3MoICJoZWlnaHQiICkgKSwNCgkJCQkJCXRvcDogcGFyc2VGbG9hdCggdGhhdC5lbGVtZW50LmNzcyggInRvcCIgKSApLA0KCQkJCQkJbGVmdDogcGFyc2VGbG9hdCggdGhhdC5lbGVtZW50LmNzcyggImxlZnQiICkgKQ0KCQkJCQl9Ow0KDQoJCQkJCWlmICggcHIgJiYgcHIubGVuZ3RoICkgew0KCQkJCQkJJCggcHJbIDAgXSApLmNzcyggeyB3aWR0aDogZGF0YS53aWR0aCwgaGVpZ2h0OiBkYXRhLmhlaWdodCB9ICk7DQoJCQkJCX0NCg0KCQkJCQkvLyBQcm9wYWdhdGluZyByZXNpemUsIGFuZCB1cGRhdGluZyB2YWx1ZXMgZm9yIGVhY2ggYW5pbWF0aW9uIHN0ZXANCgkJCQkJdGhhdC5fdXBkYXRlQ2FjaGUoIGRhdGEgKTsNCgkJCQkJdGhhdC5fcHJvcGFnYXRlKCAicmVzaXplIiwgZXZlbnQgKTsNCg0KCQkJCX0NCgkJCX0NCgkJKTsNCgl9DQoNCn0gKTsNCg0KJC51aS5wbHVnaW4uYWRkKCAicmVzaXphYmxlIiwgImNvbnRhaW5tZW50Iiwgew0KDQoJc3RhcnQ6IGZ1bmN0aW9uKCkgew0KCQl2YXIgZWxlbWVudCwgcCwgY28sIGNoLCBjdywgd2lkdGgsIGhlaWdodCwNCgkJCXRoYXQgPSAkKCB0aGlzICkucmVzaXphYmxlKCAiaW5zdGFuY2UiICksDQoJCQlvID0gdGhhdC5vcHRpb25zLA0KCQkJZWwgPSB0aGF0LmVsZW1lbnQsDQoJCQlvYyA9IG8uY29udGFpbm1lbnQsDQoNCgkJCWNlID0gKCBvYyBpbnN0YW5jZW9mICQgKSA/DQoJCQkJb2MuZ2V0KCAwICkgOg0KCQkJCSggL3BhcmVudC8udGVzdCggb2MgKSApID8gZWwucGFyZW50KCkuZ2V0KCAwICkgOiBvYzsNCg0KCQlpZiAoICFjZSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCXRoYXQuY29udGFpbmVyRWxlbWVudCA9ICQoIGNlICk7DQoNCgkJaWYgKCAvZG9jdW1lbnQvLnRlc3QoIG9jICkgfHwgb2MgPT09IGRvY3VtZW50ICkgew0KCQkJdGhhdC5jb250YWluZXJPZmZzZXQgPSB7DQoJCQkJbGVmdDogMCwNCgkJCQl0b3A6IDANCgkJCX07DQoJCQl0aGF0LmNvbnRhaW5lclBvc2l0aW9uID0gew0KCQkJCWxlZnQ6IDAsDQoJCQkJdG9wOiAwDQoJCQl9Ow0KDQoJCQl0aGF0LnBhcmVudERhdGEgPSB7DQoJCQkJZWxlbWVudDogJCggZG9jdW1lbnQgKSwNCgkJCQlsZWZ0OiAwLA0KCQkJCXRvcDogMCwNCgkJCQl3aWR0aDogJCggZG9jdW1lbnQgKS53aWR0aCgpLA0KCQkJCWhlaWdodDogJCggZG9jdW1lbnQgKS5oZWlnaHQoKSB8fCBkb2N1bWVudC5ib2R5LnBhcmVudE5vZGUuc2Nyb2xsSGVpZ2h0DQoJCQl9Ow0KCQl9IGVsc2Ugew0KCQkJZWxlbWVudCA9ICQoIGNlICk7DQoJCQlwID0gW107DQoJCQkkKCBbICJUb3AiLCAiUmlnaHQiLCAiTGVmdCIsICJCb3R0b20iIF0gKS5lYWNoKCBmdW5jdGlvbiggaSwgbmFtZSApIHsNCgkJCQlwWyBpIF0gPSB0aGF0Ll9udW0oIGVsZW1lbnQuY3NzKCAicGFkZGluZyIgKyBuYW1lICkgKTsNCgkJCX0gKTsNCg0KCQkJdGhhdC5jb250YWluZXJPZmZzZXQgPSBlbGVtZW50Lm9mZnNldCgpOw0KCQkJdGhhdC5jb250YWluZXJQb3NpdGlvbiA9IGVsZW1lbnQucG9zaXRpb24oKTsNCgkJCXRoYXQuY29udGFpbmVyU2l6ZSA9IHsNCgkJCQloZWlnaHQ6ICggZWxlbWVudC5pbm5lckhlaWdodCgpIC0gcFsgMyBdICksDQoJCQkJd2lkdGg6ICggZWxlbWVudC5pbm5lcldpZHRoKCkgLSBwWyAxIF0gKQ0KCQkJfTsNCg0KCQkJY28gPSB0aGF0LmNvbnRhaW5lck9mZnNldDsNCgkJCWNoID0gdGhhdC5jb250YWluZXJTaXplLmhlaWdodDsNCgkJCWN3ID0gdGhhdC5jb250YWluZXJTaXplLndpZHRoOw0KCQkJd2lkdGggPSAoIHRoYXQuX2hhc1Njcm9sbCAoIGNlLCAibGVmdCIgKSA/IGNlLnNjcm9sbFdpZHRoIDogY3cgKTsNCgkJCWhlaWdodCA9ICggdGhhdC5faGFzU2Nyb2xsICggY2UgKSA/IGNlLnNjcm9sbEhlaWdodCA6IGNoICkgOw0KDQoJCQl0aGF0LnBhcmVudERhdGEgPSB7DQoJCQkJZWxlbWVudDogY2UsDQoJCQkJbGVmdDogY28ubGVmdCwNCgkJCQl0b3A6IGNvLnRvcCwNCgkJCQl3aWR0aDogd2lkdGgsDQoJCQkJaGVpZ2h0OiBoZWlnaHQNCgkJCX07DQoJCX0NCgl9LA0KDQoJcmVzaXplOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXZhciB3b3NldCwgaG9zZXQsIGlzUGFyZW50LCBpc09mZnNldFJlbGF0aXZlLA0KCQkJdGhhdCA9ICQoIHRoaXMgKS5yZXNpemFibGUoICJpbnN0YW5jZSIgKSwNCgkJCW8gPSB0aGF0Lm9wdGlvbnMsDQoJCQljbyA9IHRoYXQuY29udGFpbmVyT2Zmc2V0LA0KCQkJY3AgPSB0aGF0LnBvc2l0aW9uLA0KCQkJcFJhdGlvID0gdGhhdC5fYXNwZWN0UmF0aW8gfHwgZXZlbnQuc2hpZnRLZXksDQoJCQljb3AgPSB7DQoJCQkJdG9wOiAwLA0KCQkJCWxlZnQ6IDANCgkJCX0sDQoJCQljZSA9IHRoYXQuY29udGFpbmVyRWxlbWVudCwNCgkJCWNvbnRpbnVlUmVzaXplID0gdHJ1ZTsNCg0KCQlpZiAoIGNlWyAwIF0gIT09IGRvY3VtZW50ICYmICggL3N0YXRpYy8gKS50ZXN0KCBjZS5jc3MoICJwb3NpdGlvbiIgKSApICkgew0KCQkJY29wID0gY287DQoJCX0NCg0KCQlpZiAoIGNwLmxlZnQgPCAoIHRoYXQuX2hlbHBlciA/IGNvLmxlZnQgOiAwICkgKSB7DQoJCQl0aGF0LnNpemUud2lkdGggPSB0aGF0LnNpemUud2lkdGggKw0KCQkJCSggdGhhdC5faGVscGVyID8NCgkJCQkJKCB0aGF0LnBvc2l0aW9uLmxlZnQgLSBjby5sZWZ0ICkgOg0KCQkJCQkoIHRoYXQucG9zaXRpb24ubGVmdCAtIGNvcC5sZWZ0ICkgKTsNCg0KCQkJaWYgKCBwUmF0aW8gKSB7DQoJCQkJdGhhdC5zaXplLmhlaWdodCA9IHRoYXQuc2l6ZS53aWR0aCAvIHRoYXQuYXNwZWN0UmF0aW87DQoJCQkJY29udGludWVSZXNpemUgPSBmYWxzZTsNCgkJCX0NCgkJCXRoYXQucG9zaXRpb24ubGVmdCA9IG8uaGVscGVyID8gY28ubGVmdCA6IDA7DQoJCX0NCg0KCQlpZiAoIGNwLnRvcCA8ICggdGhhdC5faGVscGVyID8gY28udG9wIDogMCApICkgew0KCQkJdGhhdC5zaXplLmhlaWdodCA9IHRoYXQuc2l6ZS5oZWlnaHQgKw0KCQkJCSggdGhhdC5faGVscGVyID8NCgkJCQkJKCB0aGF0LnBvc2l0aW9uLnRvcCAtIGNvLnRvcCApIDoNCgkJCQkJdGhhdC5wb3NpdGlvbi50b3AgKTsNCg0KCQkJaWYgKCBwUmF0aW8gKSB7DQoJCQkJdGhhdC5zaXplLndpZHRoID0gdGhhdC5zaXplLmhlaWdodCAqIHRoYXQuYXNwZWN0UmF0aW87DQoJCQkJY29udGludWVSZXNpemUgPSBmYWxzZTsNCgkJCX0NCgkJCXRoYXQucG9zaXRpb24udG9wID0gdGhhdC5faGVscGVyID8gY28udG9wIDogMDsNCgkJfQ0KDQoJCWlzUGFyZW50ID0gdGhhdC5jb250YWluZXJFbGVtZW50LmdldCggMCApID09PSB0aGF0LmVsZW1lbnQucGFyZW50KCkuZ2V0KCAwICk7DQoJCWlzT2Zmc2V0UmVsYXRpdmUgPSAvcmVsYXRpdmV8YWJzb2x1dGUvLnRlc3QoIHRoYXQuY29udGFpbmVyRWxlbWVudC5jc3MoICJwb3NpdGlvbiIgKSApOw0KDQoJCWlmICggaXNQYXJlbnQgJiYgaXNPZmZzZXRSZWxhdGl2ZSApIHsNCgkJCXRoYXQub2Zmc2V0LmxlZnQgPSB0aGF0LnBhcmVudERhdGEubGVmdCArIHRoYXQucG9zaXRpb24ubGVmdDsNCgkJCXRoYXQub2Zmc2V0LnRvcCA9IHRoYXQucGFyZW50RGF0YS50b3AgKyB0aGF0LnBvc2l0aW9uLnRvcDsNCgkJfSBlbHNlIHsNCgkJCXRoYXQub2Zmc2V0LmxlZnQgPSB0aGF0LmVsZW1lbnQub2Zmc2V0KCkubGVmdDsNCgkJCXRoYXQub2Zmc2V0LnRvcCA9IHRoYXQuZWxlbWVudC5vZmZzZXQoKS50b3A7DQoJCX0NCg0KCQl3b3NldCA9IE1hdGguYWJzKCB0aGF0LnNpemVEaWZmLndpZHRoICsNCgkJCSggdGhhdC5faGVscGVyID8NCgkJCQl0aGF0Lm9mZnNldC5sZWZ0IC0gY29wLmxlZnQgOg0KCQkJCSggdGhhdC5vZmZzZXQubGVmdCAtIGNvLmxlZnQgKSApICk7DQoNCgkJaG9zZXQgPSBNYXRoLmFicyggdGhhdC5zaXplRGlmZi5oZWlnaHQgKw0KCQkJKCB0aGF0Ll9oZWxwZXIgPw0KCQkJCXRoYXQub2Zmc2V0LnRvcCAtIGNvcC50b3AgOg0KCQkJCSggdGhhdC5vZmZzZXQudG9wIC0gY28udG9wICkgKSApOw0KDQoJCWlmICggd29zZXQgKyB0aGF0LnNpemUud2lkdGggPj0gdGhhdC5wYXJlbnREYXRhLndpZHRoICkgew0KCQkJdGhhdC5zaXplLndpZHRoID0gdGhhdC5wYXJlbnREYXRhLndpZHRoIC0gd29zZXQ7DQoJCQlpZiAoIHBSYXRpbyApIHsNCgkJCQl0aGF0LnNpemUuaGVpZ2h0ID0gdGhhdC5zaXplLndpZHRoIC8gdGhhdC5hc3BlY3RSYXRpbzsNCgkJCQljb250aW51ZVJlc2l6ZSA9IGZhbHNlOw0KCQkJfQ0KCQl9DQoNCgkJaWYgKCBob3NldCArIHRoYXQuc2l6ZS5oZWlnaHQgPj0gdGhhdC5wYXJlbnREYXRhLmhlaWdodCApIHsNCgkJCXRoYXQuc2l6ZS5oZWlnaHQgPSB0aGF0LnBhcmVudERhdGEuaGVpZ2h0IC0gaG9zZXQ7DQoJCQlpZiAoIHBSYXRpbyApIHsNCgkJCQl0aGF0LnNpemUud2lkdGggPSB0aGF0LnNpemUuaGVpZ2h0ICogdGhhdC5hc3BlY3RSYXRpbzsNCgkJCQljb250aW51ZVJlc2l6ZSA9IGZhbHNlOw0KCQkJfQ0KCQl9DQoNCgkJaWYgKCAhY29udGludWVSZXNpemUgKSB7DQoJCQl0aGF0LnBvc2l0aW9uLmxlZnQgPSB0aGF0LnByZXZQb3NpdGlvbi5sZWZ0Ow0KCQkJdGhhdC5wb3NpdGlvbi50b3AgPSB0aGF0LnByZXZQb3NpdGlvbi50b3A7DQoJCQl0aGF0LnNpemUud2lkdGggPSB0aGF0LnByZXZTaXplLndpZHRoOw0KCQkJdGhhdC5zaXplLmhlaWdodCA9IHRoYXQucHJldlNpemUuaGVpZ2h0Ow0KCQl9DQoJfSwNCg0KCXN0b3A6IGZ1bmN0aW9uKCkgew0KCQl2YXIgdGhhdCA9ICQoIHRoaXMgKS5yZXNpemFibGUoICJpbnN0YW5jZSIgKSwNCgkJCW8gPSB0aGF0Lm9wdGlvbnMsDQoJCQljbyA9IHRoYXQuY29udGFpbmVyT2Zmc2V0LA0KCQkJY29wID0gdGhhdC5jb250YWluZXJQb3NpdGlvbiwNCgkJCWNlID0gdGhhdC5jb250YWluZXJFbGVtZW50LA0KCQkJaGVscGVyID0gJCggdGhhdC5oZWxwZXIgKSwNCgkJCWhvID0gaGVscGVyLm9mZnNldCgpLA0KCQkJdyA9IGhlbHBlci5vdXRlcldpZHRoKCkgLSB0aGF0LnNpemVEaWZmLndpZHRoLA0KCQkJaCA9IGhlbHBlci5vdXRlckhlaWdodCgpIC0gdGhhdC5zaXplRGlmZi5oZWlnaHQ7DQoNCgkJaWYgKCB0aGF0Ll9oZWxwZXIgJiYgIW8uYW5pbWF0ZSAmJiAoIC9yZWxhdGl2ZS8gKS50ZXN0KCBjZS5jc3MoICJwb3NpdGlvbiIgKSApICkgew0KCQkJJCggdGhpcyApLmNzcyggew0KCQkJCWxlZnQ6IGhvLmxlZnQgLSBjb3AubGVmdCAtIGNvLmxlZnQsDQoJCQkJd2lkdGg6IHcsDQoJCQkJaGVpZ2h0OiBoDQoJCQl9ICk7DQoJCX0NCg0KCQlpZiAoIHRoYXQuX2hlbHBlciAmJiAhby5hbmltYXRlICYmICggL3N0YXRpYy8gKS50ZXN0KCBjZS5jc3MoICJwb3NpdGlvbiIgKSApICkgew0KCQkJJCggdGhpcyApLmNzcyggew0KCQkJCWxlZnQ6IGhvLmxlZnQgLSBjb3AubGVmdCAtIGNvLmxlZnQsDQoJCQkJd2lkdGg6IHcsDQoJCQkJaGVpZ2h0OiBoDQoJCQl9ICk7DQoJCX0NCgl9DQp9ICk7DQoNCiQudWkucGx1Z2luLmFkZCggInJlc2l6YWJsZSIsICJhbHNvUmVzaXplIiwgew0KDQoJc3RhcnQ6IGZ1bmN0aW9uKCkgew0KCQl2YXIgdGhhdCA9ICQoIHRoaXMgKS5yZXNpemFibGUoICJpbnN0YW5jZSIgKSwNCgkJCW8gPSB0aGF0Lm9wdGlvbnM7DQoNCgkJJCggby5hbHNvUmVzaXplICkuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQl2YXIgZWwgPSAkKCB0aGlzICk7DQoJCQllbC5kYXRhKCAidWktcmVzaXphYmxlLWFsc29yZXNpemUiLCB7DQoJCQkJd2lkdGg6IHBhcnNlRmxvYXQoIGVsLndpZHRoKCkgKSwgaGVpZ2h0OiBwYXJzZUZsb2F0KCBlbC5oZWlnaHQoKSApLA0KCQkJCWxlZnQ6IHBhcnNlRmxvYXQoIGVsLmNzcyggImxlZnQiICkgKSwgdG9wOiBwYXJzZUZsb2F0KCBlbC5jc3MoICJ0b3AiICkgKQ0KCQkJfSApOw0KCQl9ICk7DQoJfSwNCg0KCXJlc2l6ZTogZnVuY3Rpb24oIGV2ZW50LCB1aSApIHsNCgkJdmFyIHRoYXQgPSAkKCB0aGlzICkucmVzaXphYmxlKCAiaW5zdGFuY2UiICksDQoJCQlvID0gdGhhdC5vcHRpb25zLA0KCQkJb3MgPSB0aGF0Lm9yaWdpbmFsU2l6ZSwNCgkJCW9wID0gdGhhdC5vcmlnaW5hbFBvc2l0aW9uLA0KCQkJZGVsdGEgPSB7DQoJCQkJaGVpZ2h0OiAoIHRoYXQuc2l6ZS5oZWlnaHQgLSBvcy5oZWlnaHQgKSB8fCAwLA0KCQkJCXdpZHRoOiAoIHRoYXQuc2l6ZS53aWR0aCAtIG9zLndpZHRoICkgfHwgMCwNCgkJCQl0b3A6ICggdGhhdC5wb3NpdGlvbi50b3AgLSBvcC50b3AgKSB8fCAwLA0KCQkJCWxlZnQ6ICggdGhhdC5wb3NpdGlvbi5sZWZ0IC0gb3AubGVmdCApIHx8IDANCgkJCX07DQoNCgkJCSQoIG8uYWxzb1Jlc2l6ZSApLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJCXZhciBlbCA9ICQoIHRoaXMgKSwgc3RhcnQgPSAkKCB0aGlzICkuZGF0YSggInVpLXJlc2l6YWJsZS1hbHNvcmVzaXplIiApLCBzdHlsZSA9IHt9LA0KCQkJCQljc3MgPSBlbC5wYXJlbnRzKCB1aS5vcmlnaW5hbEVsZW1lbnRbIDAgXSApLmxlbmd0aCA/DQoJCQkJCQkJWyAid2lkdGgiLCAiaGVpZ2h0IiBdIDoNCgkJCQkJCQlbICJ3aWR0aCIsICJoZWlnaHQiLCAidG9wIiwgImxlZnQiIF07DQoNCgkJCQkkLmVhY2goIGNzcywgZnVuY3Rpb24oIGksIHByb3AgKSB7DQoJCQkJCXZhciBzdW0gPSAoIHN0YXJ0WyBwcm9wIF0gfHwgMCApICsgKCBkZWx0YVsgcHJvcCBdIHx8IDAgKTsNCgkJCQkJaWYgKCBzdW0gJiYgc3VtID49IDAgKSB7DQoJCQkJCQlzdHlsZVsgcHJvcCBdID0gc3VtIHx8IG51bGw7DQoJCQkJCX0NCgkJCQl9ICk7DQoNCgkJCQllbC5jc3MoIHN0eWxlICk7DQoJCQl9ICk7DQoJfSwNCg0KCXN0b3A6IGZ1bmN0aW9uKCkgew0KCQkkKCB0aGlzICkucmVtb3ZlRGF0YSggInVpLXJlc2l6YWJsZS1hbHNvcmVzaXplIiApOw0KCX0NCn0gKTsNCg0KJC51aS5wbHVnaW4uYWRkKCAicmVzaXphYmxlIiwgImdob3N0Iiwgew0KDQoJc3RhcnQ6IGZ1bmN0aW9uKCkgew0KDQoJCXZhciB0aGF0ID0gJCggdGhpcyApLnJlc2l6YWJsZSggImluc3RhbmNlIiApLCBjcyA9IHRoYXQuc2l6ZTsNCg0KCQl0aGF0Lmdob3N0ID0gdGhhdC5vcmlnaW5hbEVsZW1lbnQuY2xvbmUoKTsNCgkJdGhhdC5naG9zdC5jc3MoIHsNCgkJCW9wYWNpdHk6IDAuMjUsDQoJCQlkaXNwbGF5OiAiYmxvY2siLA0KCQkJcG9zaXRpb246ICJyZWxhdGl2ZSIsDQoJCQloZWlnaHQ6IGNzLmhlaWdodCwNCgkJCXdpZHRoOiBjcy53aWR0aCwNCgkJCW1hcmdpbjogMCwNCgkJCWxlZnQ6IDAsDQoJCQl0b3A6IDANCgkJfSApOw0KDQoJCXRoYXQuX2FkZENsYXNzKCB0aGF0Lmdob3N0LCAidWktcmVzaXphYmxlLWdob3N0IiApOw0KDQoJCS8vIERFUFJFQ0FURUQNCgkJLy8gVE9ETzogcmVtb3ZlIGFmdGVyIDEuMTINCgkJaWYgKCAkLnVpQmFja0NvbXBhdCAhPT0gZmFsc2UgJiYgdHlwZW9mIHRoYXQub3B0aW9ucy5naG9zdCA9PT0gInN0cmluZyIgKSB7DQoNCgkJCS8vIEdob3N0IG9wdGlvbg0KCQkJdGhhdC5naG9zdC5hZGRDbGFzcyggdGhpcy5vcHRpb25zLmdob3N0ICk7DQoJCX0NCg0KCQl0aGF0Lmdob3N0LmFwcGVuZFRvKCB0aGF0LmhlbHBlciApOw0KDQoJfSwNCg0KCXJlc2l6ZTogZnVuY3Rpb24oKSB7DQoJCXZhciB0aGF0ID0gJCggdGhpcyApLnJlc2l6YWJsZSggImluc3RhbmNlIiApOw0KCQlpZiAoIHRoYXQuZ2hvc3QgKSB7DQoJCQl0aGF0Lmdob3N0LmNzcyggew0KCQkJCXBvc2l0aW9uOiAicmVsYXRpdmUiLA0KCQkJCWhlaWdodDogdGhhdC5zaXplLmhlaWdodCwNCgkJCQl3aWR0aDogdGhhdC5zaXplLndpZHRoDQoJCQl9ICk7DQoJCX0NCgl9LA0KDQoJc3RvcDogZnVuY3Rpb24oKSB7DQoJCXZhciB0aGF0ID0gJCggdGhpcyApLnJlc2l6YWJsZSggImluc3RhbmNlIiApOw0KCQlpZiAoIHRoYXQuZ2hvc3QgJiYgdGhhdC5oZWxwZXIgKSB7DQoJCQl0aGF0LmhlbHBlci5nZXQoIDAgKS5yZW1vdmVDaGlsZCggdGhhdC5naG9zdC5nZXQoIDAgKSApOw0KCQl9DQoJfQ0KDQp9ICk7DQoNCiQudWkucGx1Z2luLmFkZCggInJlc2l6YWJsZSIsICJncmlkIiwgew0KDQoJcmVzaXplOiBmdW5jdGlvbigpIHsNCgkJdmFyIG91dGVyRGltZW5zaW9ucywNCgkJCXRoYXQgPSAkKCB0aGlzICkucmVzaXphYmxlKCAiaW5zdGFuY2UiICksDQoJCQlvID0gdGhhdC5vcHRpb25zLA0KCQkJY3MgPSB0aGF0LnNpemUsDQoJCQlvcyA9IHRoYXQub3JpZ2luYWxTaXplLA0KCQkJb3AgPSB0aGF0Lm9yaWdpbmFsUG9zaXRpb24sDQoJCQlhID0gdGhhdC5heGlzLA0KCQkJZ3JpZCA9IHR5cGVvZiBvLmdyaWQgPT09ICJudW1iZXIiID8gWyBvLmdyaWQsIG8uZ3JpZCBdIDogby5ncmlkLA0KCQkJZ3JpZFggPSAoIGdyaWRbIDAgXSB8fCAxICksDQoJCQlncmlkWSA9ICggZ3JpZFsgMSBdIHx8IDEgKSwNCgkJCW94ID0gTWF0aC5yb3VuZCggKCBjcy53aWR0aCAtIG9zLndpZHRoICkgLyBncmlkWCApICogZ3JpZFgsDQoJCQlveSA9IE1hdGgucm91bmQoICggY3MuaGVpZ2h0IC0gb3MuaGVpZ2h0ICkgLyBncmlkWSApICogZ3JpZFksDQoJCQluZXdXaWR0aCA9IG9zLndpZHRoICsgb3gsDQoJCQluZXdIZWlnaHQgPSBvcy5oZWlnaHQgKyBveSwNCgkJCWlzTWF4V2lkdGggPSBvLm1heFdpZHRoICYmICggby5tYXhXaWR0aCA8IG5ld1dpZHRoICksDQoJCQlpc01heEhlaWdodCA9IG8ubWF4SGVpZ2h0ICYmICggby5tYXhIZWlnaHQgPCBuZXdIZWlnaHQgKSwNCgkJCWlzTWluV2lkdGggPSBvLm1pbldpZHRoICYmICggby5taW5XaWR0aCA+IG5ld1dpZHRoICksDQoJCQlpc01pbkhlaWdodCA9IG8ubWluSGVpZ2h0ICYmICggby5taW5IZWlnaHQgPiBuZXdIZWlnaHQgKTsNCg0KCQlvLmdyaWQgPSBncmlkOw0KDQoJCWlmICggaXNNaW5XaWR0aCApIHsNCgkJCW5ld1dpZHRoICs9IGdyaWRYOw0KCQl9DQoJCWlmICggaXNNaW5IZWlnaHQgKSB7DQoJCQluZXdIZWlnaHQgKz0gZ3JpZFk7DQoJCX0NCgkJaWYgKCBpc01heFdpZHRoICkgew0KCQkJbmV3V2lkdGggLT0gZ3JpZFg7DQoJCX0NCgkJaWYgKCBpc01heEhlaWdodCApIHsNCgkJCW5ld0hlaWdodCAtPSBncmlkWTsNCgkJfQ0KDQoJCWlmICggL14oc2V8c3xlKSQvLnRlc3QoIGEgKSApIHsNCgkJCXRoYXQuc2l6ZS53aWR0aCA9IG5ld1dpZHRoOw0KCQkJdGhhdC5zaXplLmhlaWdodCA9IG5ld0hlaWdodDsNCgkJfSBlbHNlIGlmICggL14obmUpJC8udGVzdCggYSApICkgew0KCQkJdGhhdC5zaXplLndpZHRoID0gbmV3V2lkdGg7DQoJCQl0aGF0LnNpemUuaGVpZ2h0ID0gbmV3SGVpZ2h0Ow0KCQkJdGhhdC5wb3NpdGlvbi50b3AgPSBvcC50b3AgLSBveTsNCgkJfSBlbHNlIGlmICggL14oc3cpJC8udGVzdCggYSApICkgew0KCQkJdGhhdC5zaXplLndpZHRoID0gbmV3V2lkdGg7DQoJCQl0aGF0LnNpemUuaGVpZ2h0ID0gbmV3SGVpZ2h0Ow0KCQkJdGhhdC5wb3NpdGlvbi5sZWZ0ID0gb3AubGVmdCAtIG94Ow0KCQl9IGVsc2Ugew0KCQkJaWYgKCBuZXdIZWlnaHQgLSBncmlkWSA8PSAwIHx8IG5ld1dpZHRoIC0gZ3JpZFggPD0gMCApIHsNCgkJCQlvdXRlckRpbWVuc2lvbnMgPSB0aGF0Ll9nZXRQYWRkaW5nUGx1c0JvcmRlckRpbWVuc2lvbnMoIHRoaXMgKTsNCgkJCX0NCg0KCQkJaWYgKCBuZXdIZWlnaHQgLSBncmlkWSA+IDAgKSB7DQoJCQkJdGhhdC5zaXplLmhlaWdodCA9IG5ld0hlaWdodDsNCgkJCQl0aGF0LnBvc2l0aW9uLnRvcCA9IG9wLnRvcCAtIG95Ow0KCQkJfSBlbHNlIHsNCgkJCQluZXdIZWlnaHQgPSBncmlkWSAtIG91dGVyRGltZW5zaW9ucy5oZWlnaHQ7DQoJCQkJdGhhdC5zaXplLmhlaWdodCA9IG5ld0hlaWdodDsNCgkJCQl0aGF0LnBvc2l0aW9uLnRvcCA9IG9wLnRvcCArIG9zLmhlaWdodCAtIG5ld0hlaWdodDsNCgkJCX0NCgkJCWlmICggbmV3V2lkdGggLSBncmlkWCA+IDAgKSB7DQoJCQkJdGhhdC5zaXplLndpZHRoID0gbmV3V2lkdGg7DQoJCQkJdGhhdC5wb3NpdGlvbi5sZWZ0ID0gb3AubGVmdCAtIG94Ow0KCQkJfSBlbHNlIHsNCgkJCQluZXdXaWR0aCA9IGdyaWRYIC0gb3V0ZXJEaW1lbnNpb25zLndpZHRoOw0KCQkJCXRoYXQuc2l6ZS53aWR0aCA9IG5ld1dpZHRoOw0KCQkJCXRoYXQucG9zaXRpb24ubGVmdCA9IG9wLmxlZnQgKyBvcy53aWR0aCAtIG5ld1dpZHRoOw0KCQkJfQ0KCQl9DQoJfQ0KDQp9ICk7DQoNCnZhciB3aWRnZXRzUmVzaXphYmxlID0gJC51aS5yZXNpemFibGU7DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgRGlhbG9nIDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKi8NCg0KLy8+PmxhYmVsOiBEaWFsb2cNCi8vPj5ncm91cDogV2lkZ2V0cw0KLy8+PmRlc2NyaXB0aW9uOiBEaXNwbGF5cyBjdXN0b21pemFibGUgZGlhbG9nIHdpbmRvd3MuDQovLz4+ZG9jczogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vZGlhbG9nLw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL2RpYWxvZy8NCi8vPj5jc3Muc3RydWN0dXJlOiAuLi8uLi90aGVtZXMvYmFzZS9jb3JlLmNzcw0KLy8+PmNzcy5zdHJ1Y3R1cmU6IC4uLy4uL3RoZW1lcy9iYXNlL2RpYWxvZy5jc3MNCi8vPj5jc3MudGhlbWU6IC4uLy4uL3RoZW1lcy9iYXNlL3RoZW1lLmNzcw0KDQoNCg0KJC53aWRnZXQoICJ1aS5kaWFsb2ciLCB7DQoJdmVyc2lvbjogIjEuMTIuMSIsDQoJb3B0aW9uczogew0KCQlhcHBlbmRUbzogImJvZHkiLA0KCQlhdXRvT3BlbjogdHJ1ZSwNCgkJYnV0dG9uczogW10sDQoJCWNsYXNzZXM6IHsNCgkJCSJ1aS1kaWFsb2ciOiAidWktY29ybmVyLWFsbCIsDQoJCQkidWktZGlhbG9nLXRpdGxlYmFyIjogInVpLWNvcm5lci1hbGwiDQoJCX0sDQoJCWNsb3NlT25Fc2NhcGU6IHRydWUsDQoJCWNsb3NlVGV4dDogIkNsb3NlIiwNCgkJZHJhZ2dhYmxlOiB0cnVlLA0KCQloaWRlOiBudWxsLA0KCQloZWlnaHQ6ICJhdXRvIiwNCgkJbWF4SGVpZ2h0OiBudWxsLA0KCQltYXhXaWR0aDogbnVsbCwNCgkJbWluSGVpZ2h0OiAxNTAsDQoJCW1pbldpZHRoOiAxNTAsDQoJCW1vZGFsOiBmYWxzZSwNCgkJcG9zaXRpb246IHsNCgkJCW15OiAiY2VudGVyIiwNCgkJCWF0OiAiY2VudGVyIiwNCgkJCW9mOiB3aW5kb3csDQoJCQljb2xsaXNpb246ICJmaXQiLA0KDQoJCQkvLyBFbnN1cmUgdGhlIHRpdGxlYmFyIGlzIGFsd2F5cyB2aXNpYmxlDQoJCQl1c2luZzogZnVuY3Rpb24oIHBvcyApIHsNCgkJCQl2YXIgdG9wT2Zmc2V0ID0gJCggdGhpcyApLmNzcyggcG9zICkub2Zmc2V0KCkudG9wOw0KCQkJCWlmICggdG9wT2Zmc2V0IDwgMCApIHsNCgkJCQkJJCggdGhpcyApLmNzcyggInRvcCIsIHBvcy50b3AgLSB0b3BPZmZzZXQgKTsNCgkJCQl9DQoJCQl9DQoJCX0sDQoJCXJlc2l6YWJsZTogdHJ1ZSwNCgkJc2hvdzogbnVsbCwNCgkJdGl0bGU6IG51bGwsDQoJCXdpZHRoOiAzMDAsDQoNCgkJLy8gQ2FsbGJhY2tzDQoJCWJlZm9yZUNsb3NlOiBudWxsLA0KCQljbG9zZTogbnVsbCwNCgkJZHJhZzogbnVsbCwNCgkJZHJhZ1N0YXJ0OiBudWxsLA0KCQlkcmFnU3RvcDogbnVsbCwNCgkJZm9jdXM6IG51bGwsDQoJCW9wZW46IG51bGwsDQoJCXJlc2l6ZTogbnVsbCwNCgkJcmVzaXplU3RhcnQ6IG51bGwsDQoJCXJlc2l6ZVN0b3A6IG51bGwNCgl9LA0KDQoJc2l6ZVJlbGF0ZWRPcHRpb25zOiB7DQoJCWJ1dHRvbnM6IHRydWUsDQoJCWhlaWdodDogdHJ1ZSwNCgkJbWF4SGVpZ2h0OiB0cnVlLA0KCQltYXhXaWR0aDogdHJ1ZSwNCgkJbWluSGVpZ2h0OiB0cnVlLA0KCQltaW5XaWR0aDogdHJ1ZSwNCgkJd2lkdGg6IHRydWUNCgl9LA0KDQoJcmVzaXphYmxlUmVsYXRlZE9wdGlvbnM6IHsNCgkJbWF4SGVpZ2h0OiB0cnVlLA0KCQltYXhXaWR0aDogdHJ1ZSwNCgkJbWluSGVpZ2h0OiB0cnVlLA0KCQltaW5XaWR0aDogdHJ1ZQ0KCX0sDQoNCglfY3JlYXRlOiBmdW5jdGlvbigpIHsNCgkJdGhpcy5vcmlnaW5hbENzcyA9IHsNCgkJCWRpc3BsYXk6IHRoaXMuZWxlbWVudFsgMCBdLnN0eWxlLmRpc3BsYXksDQoJCQl3aWR0aDogdGhpcy5lbGVtZW50WyAwIF0uc3R5bGUud2lkdGgsDQoJCQltaW5IZWlnaHQ6IHRoaXMuZWxlbWVudFsgMCBdLnN0eWxlLm1pbkhlaWdodCwNCgkJCW1heEhlaWdodDogdGhpcy5lbGVtZW50WyAwIF0uc3R5bGUubWF4SGVpZ2h0LA0KCQkJaGVpZ2h0OiB0aGlzLmVsZW1lbnRbIDAgXS5zdHlsZS5oZWlnaHQNCgkJfTsNCgkJdGhpcy5vcmlnaW5hbFBvc2l0aW9uID0gew0KCQkJcGFyZW50OiB0aGlzLmVsZW1lbnQucGFyZW50KCksDQoJCQlpbmRleDogdGhpcy5lbGVtZW50LnBhcmVudCgpLmNoaWxkcmVuKCkuaW5kZXgoIHRoaXMuZWxlbWVudCApDQoJCX07DQoJCXRoaXMub3JpZ2luYWxUaXRsZSA9IHRoaXMuZWxlbWVudC5hdHRyKCAidGl0bGUiICk7DQoJCWlmICggdGhpcy5vcHRpb25zLnRpdGxlID09IG51bGwgJiYgdGhpcy5vcmlnaW5hbFRpdGxlICE9IG51bGwgKSB7DQoJCQl0aGlzLm9wdGlvbnMudGl0bGUgPSB0aGlzLm9yaWdpbmFsVGl0bGU7DQoJCX0NCg0KCQkvLyBEaWFsb2dzIGNhbid0IGJlIGRpc2FibGVkDQoJCWlmICggdGhpcy5vcHRpb25zLmRpc2FibGVkICkgew0KCQkJdGhpcy5vcHRpb25zLmRpc2FibGVkID0gZmFsc2U7DQoJCX0NCg0KCQl0aGlzLl9jcmVhdGVXcmFwcGVyKCk7DQoNCgkJdGhpcy5lbGVtZW50DQoJCQkuc2hvdygpDQoJCQkucmVtb3ZlQXR0ciggInRpdGxlIiApDQoJCQkuYXBwZW5kVG8oIHRoaXMudWlEaWFsb2cgKTsNCg0KCQl0aGlzLl9hZGRDbGFzcyggInVpLWRpYWxvZy1jb250ZW50IiwgInVpLXdpZGdldC1jb250ZW50IiApOw0KDQoJCXRoaXMuX2NyZWF0ZVRpdGxlYmFyKCk7DQoJCXRoaXMuX2NyZWF0ZUJ1dHRvblBhbmUoKTsNCg0KCQlpZiAoIHRoaXMub3B0aW9ucy5kcmFnZ2FibGUgJiYgJC5mbi5kcmFnZ2FibGUgKSB7DQoJCQl0aGlzLl9tYWtlRHJhZ2dhYmxlKCk7DQoJCX0NCgkJaWYgKCB0aGlzLm9wdGlvbnMucmVzaXphYmxlICYmICQuZm4ucmVzaXphYmxlICkgew0KCQkJdGhpcy5fbWFrZVJlc2l6YWJsZSgpOw0KCQl9DQoNCgkJdGhpcy5faXNPcGVuID0gZmFsc2U7DQoNCgkJdGhpcy5fdHJhY2tGb2N1cygpOw0KCX0sDQoNCglfaW5pdDogZnVuY3Rpb24oKSB7DQoJCWlmICggdGhpcy5vcHRpb25zLmF1dG9PcGVuICkgew0KCQkJdGhpcy5vcGVuKCk7DQoJCX0NCgl9LA0KDQoJX2FwcGVuZFRvOiBmdW5jdGlvbigpIHsNCgkJdmFyIGVsZW1lbnQgPSB0aGlzLm9wdGlvbnMuYXBwZW5kVG87DQoJCWlmICggZWxlbWVudCAmJiAoIGVsZW1lbnQuanF1ZXJ5IHx8IGVsZW1lbnQubm9kZVR5cGUgKSApIHsNCgkJCXJldHVybiAkKCBlbGVtZW50ICk7DQoJCX0NCgkJcmV0dXJuIHRoaXMuZG9jdW1lbnQuZmluZCggZWxlbWVudCB8fCAiYm9keSIgKS5lcSggMCApOw0KCX0sDQoNCglfZGVzdHJveTogZnVuY3Rpb24oKSB7DQoJCXZhciBuZXh0LA0KCQkJb3JpZ2luYWxQb3NpdGlvbiA9IHRoaXMub3JpZ2luYWxQb3NpdGlvbjsNCg0KCQl0aGlzLl91bnRyYWNrSW5zdGFuY2UoKTsNCgkJdGhpcy5fZGVzdHJveU92ZXJsYXkoKTsNCg0KCQl0aGlzLmVsZW1lbnQNCgkJCS5yZW1vdmVVbmlxdWVJZCgpDQoJCQkuY3NzKCB0aGlzLm9yaWdpbmFsQ3NzICkNCg0KCQkJLy8gV2l0aG91dCBkZXRhY2hpbmcgZmlyc3QsIHRoZSBmb2xsb3dpbmcgYmVjb21lcyByZWFsbHkgc2xvdw0KCQkJLmRldGFjaCgpOw0KDQoJCXRoaXMudWlEaWFsb2cucmVtb3ZlKCk7DQoNCgkJaWYgKCB0aGlzLm9yaWdpbmFsVGl0bGUgKSB7DQoJCQl0aGlzLmVsZW1lbnQuYXR0ciggInRpdGxlIiwgdGhpcy5vcmlnaW5hbFRpdGxlICk7DQoJCX0NCg0KCQluZXh0ID0gb3JpZ2luYWxQb3NpdGlvbi5wYXJlbnQuY2hpbGRyZW4oKS5lcSggb3JpZ2luYWxQb3NpdGlvbi5pbmRleCApOw0KDQoJCS8vIERvbid0IHRyeSB0byBwbGFjZSB0aGUgZGlhbG9nIG5leHQgdG8gaXRzZWxmICgjODYxMykNCgkJaWYgKCBuZXh0Lmxlbmd0aCAmJiBuZXh0WyAwIF0gIT09IHRoaXMuZWxlbWVudFsgMCBdICkgew0KCQkJbmV4dC5iZWZvcmUoIHRoaXMuZWxlbWVudCApOw0KCQl9IGVsc2Ugew0KCQkJb3JpZ2luYWxQb3NpdGlvbi5wYXJlbnQuYXBwZW5kKCB0aGlzLmVsZW1lbnQgKTsNCgkJfQ0KCX0sDQoNCgl3aWRnZXQ6IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gdGhpcy51aURpYWxvZzsNCgl9LA0KDQoJZGlzYWJsZTogJC5ub29wLA0KCWVuYWJsZTogJC5ub29wLA0KDQoJY2xvc2U6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdmFyIHRoYXQgPSB0aGlzOw0KDQoJCWlmICggIXRoaXMuX2lzT3BlbiB8fCB0aGlzLl90cmlnZ2VyKCAiYmVmb3JlQ2xvc2UiLCBldmVudCApID09PSBmYWxzZSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCXRoaXMuX2lzT3BlbiA9IGZhbHNlOw0KCQl0aGlzLl9mb2N1c2VkRWxlbWVudCA9IG51bGw7DQoJCXRoaXMuX2Rlc3Ryb3lPdmVybGF5KCk7DQoJCXRoaXMuX3VudHJhY2tJbnN0YW5jZSgpOw0KDQoJCWlmICggIXRoaXMub3BlbmVyLmZpbHRlciggIjpmb2N1c2FibGUiICkudHJpZ2dlciggImZvY3VzIiApLmxlbmd0aCApIHsNCg0KCQkJLy8gSGlkaW5nIGEgZm9jdXNlZCBlbGVtZW50IGRvZXNuJ3QgdHJpZ2dlciBibHVyIGluIFdlYktpdA0KCQkJLy8gc28gaW4gY2FzZSB3ZSBoYXZlIG5vdGhpbmcgdG8gZm9jdXMgb24sIGV4cGxpY2l0bHkgYmx1ciB0aGUgYWN0aXZlIGVsZW1lbnQNCgkJCS8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzE4Mg0KCQkJJC51aS5zYWZlQmx1ciggJC51aS5zYWZlQWN0aXZlRWxlbWVudCggdGhpcy5kb2N1bWVudFsgMCBdICkgKTsNCgkJfQ0KDQoJCXRoaXMuX2hpZGUoIHRoaXMudWlEaWFsb2csIHRoaXMub3B0aW9ucy5oaWRlLCBmdW5jdGlvbigpIHsNCgkJCXRoYXQuX3RyaWdnZXIoICJjbG9zZSIsIGV2ZW50ICk7DQoJCX0gKTsNCgl9LA0KDQoJaXNPcGVuOiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRoaXMuX2lzT3BlbjsNCgl9LA0KDQoJbW92ZVRvVG9wOiBmdW5jdGlvbigpIHsNCgkJdGhpcy5fbW92ZVRvVG9wKCk7DQoJfSwNCg0KCV9tb3ZlVG9Ub3A6IGZ1bmN0aW9uKCBldmVudCwgc2lsZW50ICkgew0KCQl2YXIgbW92ZWQgPSBmYWxzZSwNCgkJCXpJbmRpY2VzID0gdGhpcy51aURpYWxvZy5zaWJsaW5ncyggIi51aS1mcm9udDp2aXNpYmxlIiApLm1hcCggZnVuY3Rpb24oKSB7DQoJCQkJcmV0dXJuICskKCB0aGlzICkuY3NzKCAiei1pbmRleCIgKTsNCgkJCX0gKS5nZXQoKSwNCgkJCXpJbmRleE1heCA9IE1hdGgubWF4LmFwcGx5KCBudWxsLCB6SW5kaWNlcyApOw0KDQoJCWlmICggekluZGV4TWF4ID49ICt0aGlzLnVpRGlhbG9nLmNzcyggInotaW5kZXgiICkgKSB7DQoJCQl0aGlzLnVpRGlhbG9nLmNzcyggInotaW5kZXgiLCB6SW5kZXhNYXggKyAxICk7DQoJCQltb3ZlZCA9IHRydWU7DQoJCX0NCg0KCQlpZiAoIG1vdmVkICYmICFzaWxlbnQgKSB7DQoJCQl0aGlzLl90cmlnZ2VyKCAiZm9jdXMiLCBldmVudCApOw0KCQl9DQoJCXJldHVybiBtb3ZlZDsNCgl9LA0KDQoJb3BlbjogZnVuY3Rpb24oKSB7DQoJCXZhciB0aGF0ID0gdGhpczsNCgkJaWYgKCB0aGlzLl9pc09wZW4gKSB7DQoJCQlpZiAoIHRoaXMuX21vdmVUb1RvcCgpICkgew0KCQkJCXRoaXMuX2ZvY3VzVGFiYmFibGUoKTsNCgkJCX0NCgkJCXJldHVybjsNCgkJfQ0KDQoJCXRoaXMuX2lzT3BlbiA9IHRydWU7DQoJCXRoaXMub3BlbmVyID0gJCggJC51aS5zYWZlQWN0aXZlRWxlbWVudCggdGhpcy5kb2N1bWVudFsgMCBdICkgKTsNCg0KCQl0aGlzLl9zaXplKCk7DQoJCXRoaXMuX3Bvc2l0aW9uKCk7DQoJCXRoaXMuX2NyZWF0ZU92ZXJsYXkoKTsNCgkJdGhpcy5fbW92ZVRvVG9wKCBudWxsLCB0cnVlICk7DQoNCgkJLy8gRW5zdXJlIHRoZSBvdmVybGF5IGlzIG1vdmVkIHRvIHRoZSB0b3Agd2l0aCB0aGUgZGlhbG9nLCBidXQgb25seSB3aGVuDQoJCS8vIG9wZW5pbmcuIFRoZSBvdmVybGF5IHNob3VsZG4ndCBtb3ZlIGFmdGVyIHRoZSBkaWFsb2cgaXMgb3BlbiBzbyB0aGF0DQoJCS8vIG1vZGVsZXNzIGRpYWxvZ3Mgb3BlbmVkIGFmdGVyIHRoZSBtb2RhbCBkaWFsb2cgc3RhY2sgcHJvcGVybHkuDQoJCWlmICggdGhpcy5vdmVybGF5ICkgew0KCQkJdGhpcy5vdmVybGF5LmNzcyggInotaW5kZXgiLCB0aGlzLnVpRGlhbG9nLmNzcyggInotaW5kZXgiICkgLSAxICk7DQoJCX0NCg0KCQl0aGlzLl9zaG93KCB0aGlzLnVpRGlhbG9nLCB0aGlzLm9wdGlvbnMuc2hvdywgZnVuY3Rpb24oKSB7DQoJCQl0aGF0Ll9mb2N1c1RhYmJhYmxlKCk7DQoJCQl0aGF0Ll90cmlnZ2VyKCAiZm9jdXMiICk7DQoJCX0gKTsNCg0KCQkvLyBUcmFjayB0aGUgZGlhbG9nIGltbWVkaWF0ZWx5IHVwb24gb3BlbmVuaW5nIGluIGNhc2UgYSBmb2N1cyBldmVudA0KCQkvLyBzb21laG93IG9jY3VycyBvdXRzaWRlIG9mIHRoZSBkaWFsb2cgYmVmb3JlIGFuIGVsZW1lbnQgaW5zaWRlIHRoZQ0KCQkvLyBkaWFsb2cgaXMgZm9jdXNlZCAoIzEwMTUyKQ0KCQl0aGlzLl9tYWtlRm9jdXNUYXJnZXQoKTsNCg0KCQl0aGlzLl90cmlnZ2VyKCAib3BlbiIgKTsNCgl9LA0KDQoJX2ZvY3VzVGFiYmFibGU6IGZ1bmN0aW9uKCkgew0KDQoJCS8vIFNldCBmb2N1cyB0byB0aGUgZmlyc3QgbWF0Y2g6DQoJCS8vIDEuIEFuIGVsZW1lbnQgdGhhdCB3YXMgZm9jdXNlZCBwcmV2aW91c2x5DQoJCS8vIDIuIEZpcnN0IGVsZW1lbnQgaW5zaWRlIHRoZSBkaWFsb2cgbWF0Y2hpbmcgW2F1dG9mb2N1c10NCgkJLy8gMy4gVGFiYmFibGUgZWxlbWVudCBpbnNpZGUgdGhlIGNvbnRlbnQgZWxlbWVudA0KCQkvLyA0LiBUYWJiYWJsZSBlbGVtZW50IGluc2lkZSB0aGUgYnV0dG9ucGFuZQ0KCQkvLyA1LiBUaGUgY2xvc2UgYnV0dG9uDQoJCS8vIDYuIFRoZSBkaWFsb2cgaXRzZWxmDQoJCXZhciBoYXNGb2N1cyA9IHRoaXMuX2ZvY3VzZWRFbGVtZW50Ow0KCQlpZiAoICFoYXNGb2N1cyApIHsNCgkJCWhhc0ZvY3VzID0gdGhpcy5lbGVtZW50LmZpbmQoICJbYXV0b2ZvY3VzXSIgKTsNCgkJfQ0KCQlpZiAoICFoYXNGb2N1cy5sZW5ndGggKSB7DQoJCQloYXNGb2N1cyA9IHRoaXMuZWxlbWVudC5maW5kKCAiOnRhYmJhYmxlIiApOw0KCQl9DQoJCWlmICggIWhhc0ZvY3VzLmxlbmd0aCApIHsNCgkJCWhhc0ZvY3VzID0gdGhpcy51aURpYWxvZ0J1dHRvblBhbmUuZmluZCggIjp0YWJiYWJsZSIgKTsNCgkJfQ0KCQlpZiAoICFoYXNGb2N1cy5sZW5ndGggKSB7DQoJCQloYXNGb2N1cyA9IHRoaXMudWlEaWFsb2dUaXRsZWJhckNsb3NlLmZpbHRlciggIjp0YWJiYWJsZSIgKTsNCgkJfQ0KCQlpZiAoICFoYXNGb2N1cy5sZW5ndGggKSB7DQoJCQloYXNGb2N1cyA9IHRoaXMudWlEaWFsb2c7DQoJCX0NCgkJaGFzRm9jdXMuZXEoIDAgKS50cmlnZ2VyKCAiZm9jdXMiICk7DQoJfSwNCg0KCV9rZWVwRm9jdXM6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJZnVuY3Rpb24gY2hlY2tGb2N1cygpIHsNCgkJCXZhciBhY3RpdmVFbGVtZW50ID0gJC51aS5zYWZlQWN0aXZlRWxlbWVudCggdGhpcy5kb2N1bWVudFsgMCBdICksDQoJCQkJaXNBY3RpdmUgPSB0aGlzLnVpRGlhbG9nWyAwIF0gPT09IGFjdGl2ZUVsZW1lbnQgfHwNCgkJCQkJJC5jb250YWlucyggdGhpcy51aURpYWxvZ1sgMCBdLCBhY3RpdmVFbGVtZW50ICk7DQoJCQlpZiAoICFpc0FjdGl2ZSApIHsNCgkJCQl0aGlzLl9mb2N1c1RhYmJhYmxlKCk7DQoJCQl9DQoJCX0NCgkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCgkJY2hlY2tGb2N1cy5jYWxsKCB0aGlzICk7DQoNCgkJLy8gc3VwcG9ydDogSUUNCgkJLy8gSUUgPD0gOCBkb2Vzbid0IHByZXZlbnQgbW92aW5nIGZvY3VzIGV2ZW4gd2l0aCBldmVudC5wcmV2ZW50RGVmYXVsdCgpDQoJCS8vIHNvIHdlIGNoZWNrIGFnYWluIGxhdGVyDQoJCXRoaXMuX2RlbGF5KCBjaGVja0ZvY3VzICk7DQoJfSwNCg0KCV9jcmVhdGVXcmFwcGVyOiBmdW5jdGlvbigpIHsNCgkJdGhpcy51aURpYWxvZyA9ICQoICI8ZGl2PiIgKQ0KCQkJLmhpZGUoKQ0KCQkJLmF0dHIoIHsNCg0KCQkJCS8vIFNldHRpbmcgdGFiSW5kZXggbWFrZXMgdGhlIGRpdiBmb2N1c2FibGUNCgkJCQl0YWJJbmRleDogLTEsDQoJCQkJcm9sZTogImRpYWxvZyINCgkJCX0gKQ0KCQkJLmFwcGVuZFRvKCB0aGlzLl9hcHBlbmRUbygpICk7DQoNCgkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMudWlEaWFsb2csICJ1aS1kaWFsb2ciLCAidWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWZyb250IiApOw0KCQl0aGlzLl9vbiggdGhpcy51aURpYWxvZywgew0KCQkJa2V5ZG93bjogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCWlmICggdGhpcy5vcHRpb25zLmNsb3NlT25Fc2NhcGUgJiYgIWV2ZW50LmlzRGVmYXVsdFByZXZlbnRlZCgpICYmIGV2ZW50LmtleUNvZGUgJiYNCgkJCQkJCWV2ZW50LmtleUNvZGUgPT09ICQudWkua2V5Q29kZS5FU0NBUEUgKSB7DQoJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCQkJCXRoaXMuY2xvc2UoIGV2ZW50ICk7DQoJCQkJCXJldHVybjsNCgkJCQl9DQoNCgkJCQkvLyBQcmV2ZW50IHRhYmJpbmcgb3V0IG9mIGRpYWxvZ3MNCgkJCQlpZiAoIGV2ZW50LmtleUNvZGUgIT09ICQudWkua2V5Q29kZS5UQUIgfHwgZXZlbnQuaXNEZWZhdWx0UHJldmVudGVkKCkgKSB7DQoJCQkJCXJldHVybjsNCgkJCQl9DQoJCQkJdmFyIHRhYmJhYmxlcyA9IHRoaXMudWlEaWFsb2cuZmluZCggIjp0YWJiYWJsZSIgKSwNCgkJCQkJZmlyc3QgPSB0YWJiYWJsZXMuZmlsdGVyKCAiOmZpcnN0IiApLA0KCQkJCQlsYXN0ID0gdGFiYmFibGVzLmZpbHRlciggIjpsYXN0IiApOw0KDQoJCQkJaWYgKCAoIGV2ZW50LnRhcmdldCA9PT0gbGFzdFsgMCBdIHx8IGV2ZW50LnRhcmdldCA9PT0gdGhpcy51aURpYWxvZ1sgMCBdICkgJiYNCgkJCQkJCSFldmVudC5zaGlmdEtleSApIHsNCgkJCQkJdGhpcy5fZGVsYXkoIGZ1bmN0aW9uKCkgew0KCQkJCQkJZmlyc3QudHJpZ2dlciggImZvY3VzIiApOw0KCQkJCQl9ICk7DQoJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCQkJfSBlbHNlIGlmICggKCBldmVudC50YXJnZXQgPT09IGZpcnN0WyAwIF0gfHwNCgkJCQkJCWV2ZW50LnRhcmdldCA9PT0gdGhpcy51aURpYWxvZ1sgMCBdICkgJiYgZXZlbnQuc2hpZnRLZXkgKSB7DQoJCQkJCXRoaXMuX2RlbGF5KCBmdW5jdGlvbigpIHsNCgkJCQkJCWxhc3QudHJpZ2dlciggImZvY3VzIiApOw0KCQkJCQl9ICk7DQoJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCQkJfQ0KCQkJfSwNCgkJCW1vdXNlZG93bjogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCWlmICggdGhpcy5fbW92ZVRvVG9wKCBldmVudCApICkgew0KCQkJCQl0aGlzLl9mb2N1c1RhYmJhYmxlKCk7DQoJCQkJfQ0KCQkJfQ0KCQl9ICk7DQoNCgkJLy8gV2UgYXNzdW1lIHRoYXQgYW55IGV4aXN0aW5nIGFyaWEtZGVzY3JpYmVkYnkgYXR0cmlidXRlIG1lYW5zDQoJCS8vIHRoYXQgdGhlIGRpYWxvZyBjb250ZW50IGlzIG1hcmtlZCB1cCBwcm9wZXJseQ0KCQkvLyBvdGhlcndpc2Ugd2UgYnJ1dGUgZm9yY2UgdGhlIGNvbnRlbnQgYXMgdGhlIGRlc2NyaXB0aW9uDQoJCWlmICggIXRoaXMuZWxlbWVudC5maW5kKCAiW2FyaWEtZGVzY3JpYmVkYnldIiApLmxlbmd0aCApIHsNCgkJCXRoaXMudWlEaWFsb2cuYXR0ciggew0KCQkJCSJhcmlhLWRlc2NyaWJlZGJ5IjogdGhpcy5lbGVtZW50LnVuaXF1ZUlkKCkuYXR0ciggImlkIiApDQoJCQl9ICk7DQoJCX0NCgl9LA0KDQoJX2NyZWF0ZVRpdGxlYmFyOiBmdW5jdGlvbigpIHsNCgkJdmFyIHVpRGlhbG9nVGl0bGU7DQoNCgkJdGhpcy51aURpYWxvZ1RpdGxlYmFyID0gJCggIjxkaXY+IiApOw0KCQl0aGlzLl9hZGRDbGFzcyggdGhpcy51aURpYWxvZ1RpdGxlYmFyLA0KCQkJInVpLWRpYWxvZy10aXRsZWJhciIsICJ1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCIgKTsNCgkJdGhpcy5fb24oIHRoaXMudWlEaWFsb2dUaXRsZWJhciwgew0KCQkJbW91c2Vkb3duOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoNCgkJCQkvLyBEb24ndCBwcmV2ZW50IGNsaWNrIG9uIGNsb3NlIGJ1dHRvbiAoIzg4MzgpDQoJCQkJLy8gRm9jdXNpbmcgYSBkaWFsb2cgdGhhdCBpcyBwYXJ0aWFsbHkgc2Nyb2xsZWQgb3V0IG9mIHZpZXcNCgkJCQkvLyBjYXVzZXMgdGhlIGJyb3dzZXIgdG8gc2Nyb2xsIGl0IGludG8gdmlldywgcHJldmVudGluZyB0aGUgY2xpY2sgZXZlbnQNCgkJCQlpZiAoICEkKCBldmVudC50YXJnZXQgKS5jbG9zZXN0KCAiLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSIgKSApIHsNCg0KCQkJCQkvLyBEaWFsb2cgaXNuJ3QgZ2V0dGluZyBmb2N1cyB3aGVuIGRyYWdnaW5nICgjODA2MykNCgkJCQkJdGhpcy51aURpYWxvZy50cmlnZ2VyKCAiZm9jdXMiICk7DQoJCQkJfQ0KCQkJfQ0KCQl9ICk7DQoNCgkJLy8gU3VwcG9ydDogSUUNCgkJLy8gVXNlIHR5cGU9ImJ1dHRvbiIgdG8gcHJldmVudCBlbnRlciBrZXlwcmVzc2VzIGluIHRleHRib3hlcyBmcm9tIGNsb3NpbmcgdGhlDQoJCS8vIGRpYWxvZyBpbiBJRSAoIzkzMTIpDQoJCXRoaXMudWlEaWFsb2dUaXRsZWJhckNsb3NlID0gJCggIjxidXR0b24gdHlwZT0nYnV0dG9uJz48L2J1dHRvbj4iICkNCgkJCS5idXR0b24oIHsNCgkJCQlsYWJlbDogJCggIjxhPiIgKS50ZXh0KCB0aGlzLm9wdGlvbnMuY2xvc2VUZXh0ICkuaHRtbCgpLA0KCQkJCWljb246ICJ1aS1pY29uLWNsb3NldGhpY2siLA0KCQkJCXNob3dMYWJlbDogZmFsc2UNCgkJCX0gKQ0KCQkJLmFwcGVuZFRvKCB0aGlzLnVpRGlhbG9nVGl0bGViYXIgKTsNCg0KCQl0aGlzLl9hZGRDbGFzcyggdGhpcy51aURpYWxvZ1RpdGxlYmFyQ2xvc2UsICJ1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UiICk7DQoJCXRoaXMuX29uKCB0aGlzLnVpRGlhbG9nVGl0bGViYXJDbG9zZSwgew0KCQkJY2xpY2s6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJCXRoaXMuY2xvc2UoIGV2ZW50ICk7DQoJCQl9DQoJCX0gKTsNCg0KCQl1aURpYWxvZ1RpdGxlID0gJCggIjxzcGFuPiIgKS51bmlxdWVJZCgpLnByZXBlbmRUbyggdGhpcy51aURpYWxvZ1RpdGxlYmFyICk7DQoJCXRoaXMuX2FkZENsYXNzKCB1aURpYWxvZ1RpdGxlLCAidWktZGlhbG9nLXRpdGxlIiApOw0KCQl0aGlzLl90aXRsZSggdWlEaWFsb2dUaXRsZSApOw0KDQoJCXRoaXMudWlEaWFsb2dUaXRsZWJhci5wcmVwZW5kVG8oIHRoaXMudWlEaWFsb2cgKTsNCg0KCQl0aGlzLnVpRGlhbG9nLmF0dHIoIHsNCgkJCSJhcmlhLWxhYmVsbGVkYnkiOiB1aURpYWxvZ1RpdGxlLmF0dHIoICJpZCIgKQ0KCQl9ICk7DQoJfSwNCg0KCV90aXRsZTogZnVuY3Rpb24oIHRpdGxlICkgew0KCQlpZiAoIHRoaXMub3B0aW9ucy50aXRsZSApIHsNCgkJCXRpdGxlLnRleHQoIHRoaXMub3B0aW9ucy50aXRsZSApOw0KCQl9IGVsc2Ugew0KCQkJdGl0bGUuaHRtbCggIiYjMTYwOyIgKTsNCgkJfQ0KCX0sDQoNCglfY3JlYXRlQnV0dG9uUGFuZTogZnVuY3Rpb24oKSB7DQoJCXRoaXMudWlEaWFsb2dCdXR0b25QYW5lID0gJCggIjxkaXY+IiApOw0KCQl0aGlzLl9hZGRDbGFzcyggdGhpcy51aURpYWxvZ0J1dHRvblBhbmUsICJ1aS1kaWFsb2ctYnV0dG9ucGFuZSIsDQoJCQkidWktd2lkZ2V0LWNvbnRlbnQgdWktaGVscGVyLWNsZWFyZml4IiApOw0KDQoJCXRoaXMudWlCdXR0b25TZXQgPSAkKCAiPGRpdj4iICkNCgkJCS5hcHBlbmRUbyggdGhpcy51aURpYWxvZ0J1dHRvblBhbmUgKTsNCgkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMudWlCdXR0b25TZXQsICJ1aS1kaWFsb2ctYnV0dG9uc2V0IiApOw0KDQoJCXRoaXMuX2NyZWF0ZUJ1dHRvbnMoKTsNCgl9LA0KDQoJX2NyZWF0ZUJ1dHRvbnM6IGZ1bmN0aW9uKCkgew0KCQl2YXIgdGhhdCA9IHRoaXMsDQoJCQlidXR0b25zID0gdGhpcy5vcHRpb25zLmJ1dHRvbnM7DQoNCgkJLy8gSWYgd2UgYWxyZWFkeSBoYXZlIGEgYnV0dG9uIHBhbmUsIHJlbW92ZSBpdA0KCQl0aGlzLnVpRGlhbG9nQnV0dG9uUGFuZS5yZW1vdmUoKTsNCgkJdGhpcy51aUJ1dHRvblNldC5lbXB0eSgpOw0KDQoJCWlmICggJC5pc0VtcHR5T2JqZWN0KCBidXR0b25zICkgfHwgKCAkLmlzQXJyYXkoIGJ1dHRvbnMgKSAmJiAhYnV0dG9ucy5sZW5ndGggKSApIHsNCgkJCXRoaXMuX3JlbW92ZUNsYXNzKCB0aGlzLnVpRGlhbG9nLCAidWktZGlhbG9nLWJ1dHRvbnMiICk7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQkkLmVhY2goIGJ1dHRvbnMsIGZ1bmN0aW9uKCBuYW1lLCBwcm9wcyApIHsNCgkJCXZhciBjbGljaywgYnV0dG9uT3B0aW9uczsNCgkJCXByb3BzID0gJC5pc0Z1bmN0aW9uKCBwcm9wcyApID8NCgkJCQl7IGNsaWNrOiBwcm9wcywgdGV4dDogbmFtZSB9IDoNCgkJCQlwcm9wczsNCg0KCQkJLy8gRGVmYXVsdCB0byBhIG5vbi1zdWJtaXR0aW5nIGJ1dHRvbg0KCQkJcHJvcHMgPSAkLmV4dGVuZCggeyB0eXBlOiAiYnV0dG9uIiB9LCBwcm9wcyApOw0KDQoJCQkvLyBDaGFuZ2UgdGhlIGNvbnRleHQgZm9yIHRoZSBjbGljayBjYWxsYmFjayB0byBiZSB0aGUgbWFpbiBlbGVtZW50DQoJCQljbGljayA9IHByb3BzLmNsaWNrOw0KCQkJYnV0dG9uT3B0aW9ucyA9IHsNCgkJCQlpY29uOiBwcm9wcy5pY29uLA0KCQkJCWljb25Qb3NpdGlvbjogcHJvcHMuaWNvblBvc2l0aW9uLA0KCQkJCXNob3dMYWJlbDogcHJvcHMuc2hvd0xhYmVsLA0KDQoJCQkJLy8gRGVwcmVjYXRlZCBvcHRpb25zDQoJCQkJaWNvbnM6IHByb3BzLmljb25zLA0KCQkJCXRleHQ6IHByb3BzLnRleHQNCgkJCX07DQoNCgkJCWRlbGV0ZSBwcm9wcy5jbGljazsNCgkJCWRlbGV0ZSBwcm9wcy5pY29uOw0KCQkJZGVsZXRlIHByb3BzLmljb25Qb3NpdGlvbjsNCgkJCWRlbGV0ZSBwcm9wcy5zaG93TGFiZWw7DQoNCgkJCS8vIERlcHJlY2F0ZWQgb3B0aW9ucw0KCQkJZGVsZXRlIHByb3BzLmljb25zOw0KCQkJaWYgKCB0eXBlb2YgcHJvcHMudGV4dCA9PT0gImJvb2xlYW4iICkgew0KCQkJCWRlbGV0ZSBwcm9wcy50ZXh0Ow0KCQkJfQ0KDQoJCQkkKCAiPGJ1dHRvbj48L2J1dHRvbj4iLCBwcm9wcyApDQoJCQkJLmJ1dHRvbiggYnV0dG9uT3B0aW9ucyApDQoJCQkJLmFwcGVuZFRvKCB0aGF0LnVpQnV0dG9uU2V0ICkNCgkJCQkub24oICJjbGljayIsIGZ1bmN0aW9uKCkgew0KCQkJCQljbGljay5hcHBseSggdGhhdC5lbGVtZW50WyAwIF0sIGFyZ3VtZW50cyApOw0KCQkJCX0gKTsNCgkJfSApOw0KCQl0aGlzLl9hZGRDbGFzcyggdGhpcy51aURpYWxvZywgInVpLWRpYWxvZy1idXR0b25zIiApOw0KCQl0aGlzLnVpRGlhbG9nQnV0dG9uUGFuZS5hcHBlbmRUbyggdGhpcy51aURpYWxvZyApOw0KCX0sDQoNCglfbWFrZURyYWdnYWJsZTogZnVuY3Rpb24oKSB7DQoJCXZhciB0aGF0ID0gdGhpcywNCgkJCW9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7DQoNCgkJZnVuY3Rpb24gZmlsdGVyZWRVaSggdWkgKSB7DQoJCQlyZXR1cm4gew0KCQkJCXBvc2l0aW9uOiB1aS5wb3NpdGlvbiwNCgkJCQlvZmZzZXQ6IHVpLm9mZnNldA0KCQkJfTsNCgkJfQ0KDQoJCXRoaXMudWlEaWFsb2cuZHJhZ2dhYmxlKCB7DQoJCQljYW5jZWw6ICIudWktZGlhbG9nLWNvbnRlbnQsIC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2UiLA0KCQkJaGFuZGxlOiAiLnVpLWRpYWxvZy10aXRsZWJhciIsDQoJCQljb250YWlubWVudDogImRvY3VtZW50IiwNCgkJCXN0YXJ0OiBmdW5jdGlvbiggZXZlbnQsIHVpICkgew0KCQkJCXRoYXQuX2FkZENsYXNzKCAkKCB0aGlzICksICJ1aS1kaWFsb2ctZHJhZ2dpbmciICk7DQoJCQkJdGhhdC5fYmxvY2tGcmFtZXMoKTsNCgkJCQl0aGF0Ll90cmlnZ2VyKCAiZHJhZ1N0YXJ0IiwgZXZlbnQsIGZpbHRlcmVkVWkoIHVpICkgKTsNCgkJCX0sDQoJCQlkcmFnOiBmdW5jdGlvbiggZXZlbnQsIHVpICkgew0KCQkJCXRoYXQuX3RyaWdnZXIoICJkcmFnIiwgZXZlbnQsIGZpbHRlcmVkVWkoIHVpICkgKTsNCgkJCX0sDQoJCQlzdG9wOiBmdW5jdGlvbiggZXZlbnQsIHVpICkgew0KCQkJCXZhciBsZWZ0ID0gdWkub2Zmc2V0LmxlZnQgLSB0aGF0LmRvY3VtZW50LnNjcm9sbExlZnQoKSwNCgkJCQkJdG9wID0gdWkub2Zmc2V0LnRvcCAtIHRoYXQuZG9jdW1lbnQuc2Nyb2xsVG9wKCk7DQoNCgkJCQlvcHRpb25zLnBvc2l0aW9uID0gew0KCQkJCQlteTogImxlZnQgdG9wIiwNCgkJCQkJYXQ6ICJsZWZ0IiArICggbGVmdCA+PSAwID8gIisiIDogIiIgKSArIGxlZnQgKyAiICIgKw0KCQkJCQkJInRvcCIgKyAoIHRvcCA+PSAwID8gIisiIDogIiIgKSArIHRvcCwNCgkJCQkJb2Y6IHRoYXQud2luZG93DQoJCQkJfTsNCgkJCQl0aGF0Ll9yZW1vdmVDbGFzcyggJCggdGhpcyApLCAidWktZGlhbG9nLWRyYWdnaW5nIiApOw0KCQkJCXRoYXQuX3VuYmxvY2tGcmFtZXMoKTsNCgkJCQl0aGF0Ll90cmlnZ2VyKCAiZHJhZ1N0b3AiLCBldmVudCwgZmlsdGVyZWRVaSggdWkgKSApOw0KCQkJfQ0KCQl9ICk7DQoJfSwNCg0KCV9tYWtlUmVzaXphYmxlOiBmdW5jdGlvbigpIHsNCgkJdmFyIHRoYXQgPSB0aGlzLA0KCQkJb3B0aW9ucyA9IHRoaXMub3B0aW9ucywNCgkJCWhhbmRsZXMgPSBvcHRpb25zLnJlc2l6YWJsZSwNCg0KCQkJLy8gLnVpLXJlc2l6YWJsZSBoYXMgcG9zaXRpb246IHJlbGF0aXZlIGRlZmluZWQgaW4gdGhlIHN0eWxlc2hlZXQNCgkJCS8vIGJ1dCBkaWFsb2dzIGhhdmUgdG8gdXNlIGFic29sdXRlIG9yIGZpeGVkIHBvc2l0aW9uaW5nDQoJCQlwb3NpdGlvbiA9IHRoaXMudWlEaWFsb2cuY3NzKCAicG9zaXRpb24iICksDQoJCQlyZXNpemVIYW5kbGVzID0gdHlwZW9mIGhhbmRsZXMgPT09ICJzdHJpbmciID8NCgkJCQloYW5kbGVzIDoNCgkJCQkibixlLHMsdyxzZSxzdyxuZSxudyI7DQoNCgkJZnVuY3Rpb24gZmlsdGVyZWRVaSggdWkgKSB7DQoJCQlyZXR1cm4gew0KCQkJCW9yaWdpbmFsUG9zaXRpb246IHVpLm9yaWdpbmFsUG9zaXRpb24sDQoJCQkJb3JpZ2luYWxTaXplOiB1aS5vcmlnaW5hbFNpemUsDQoJCQkJcG9zaXRpb246IHVpLnBvc2l0aW9uLA0KCQkJCXNpemU6IHVpLnNpemUNCgkJCX07DQoJCX0NCg0KCQl0aGlzLnVpRGlhbG9nLnJlc2l6YWJsZSggew0KCQkJY2FuY2VsOiAiLnVpLWRpYWxvZy1jb250ZW50IiwNCgkJCWNvbnRhaW5tZW50OiAiZG9jdW1lbnQiLA0KCQkJYWxzb1Jlc2l6ZTogdGhpcy5lbGVtZW50LA0KCQkJbWF4V2lkdGg6IG9wdGlvbnMubWF4V2lkdGgsDQoJCQltYXhIZWlnaHQ6IG9wdGlvbnMubWF4SGVpZ2h0LA0KCQkJbWluV2lkdGg6IG9wdGlvbnMubWluV2lkdGgsDQoJCQltaW5IZWlnaHQ6IHRoaXMuX21pbkhlaWdodCgpLA0KCQkJaGFuZGxlczogcmVzaXplSGFuZGxlcywNCgkJCXN0YXJ0OiBmdW5jdGlvbiggZXZlbnQsIHVpICkgew0KCQkJCXRoYXQuX2FkZENsYXNzKCAkKCB0aGlzICksICJ1aS1kaWFsb2ctcmVzaXppbmciICk7DQoJCQkJdGhhdC5fYmxvY2tGcmFtZXMoKTsNCgkJCQl0aGF0Ll90cmlnZ2VyKCAicmVzaXplU3RhcnQiLCBldmVudCwgZmlsdGVyZWRVaSggdWkgKSApOw0KCQkJfSwNCgkJCXJlc2l6ZTogZnVuY3Rpb24oIGV2ZW50LCB1aSApIHsNCgkJCQl0aGF0Ll90cmlnZ2VyKCAicmVzaXplIiwgZXZlbnQsIGZpbHRlcmVkVWkoIHVpICkgKTsNCgkJCX0sDQoJCQlzdG9wOiBmdW5jdGlvbiggZXZlbnQsIHVpICkgew0KCQkJCXZhciBvZmZzZXQgPSB0aGF0LnVpRGlhbG9nLm9mZnNldCgpLA0KCQkJCQlsZWZ0ID0gb2Zmc2V0LmxlZnQgLSB0aGF0LmRvY3VtZW50LnNjcm9sbExlZnQoKSwNCgkJCQkJdG9wID0gb2Zmc2V0LnRvcCAtIHRoYXQuZG9jdW1lbnQuc2Nyb2xsVG9wKCk7DQoNCgkJCQlvcHRpb25zLmhlaWdodCA9IHRoYXQudWlEaWFsb2cuaGVpZ2h0KCk7DQoJCQkJb3B0aW9ucy53aWR0aCA9IHRoYXQudWlEaWFsb2cud2lkdGgoKTsNCgkJCQlvcHRpb25zLnBvc2l0aW9uID0gew0KCQkJCQlteTogImxlZnQgdG9wIiwNCgkJCQkJYXQ6ICJsZWZ0IiArICggbGVmdCA+PSAwID8gIisiIDogIiIgKSArIGxlZnQgKyAiICIgKw0KCQkJCQkJInRvcCIgKyAoIHRvcCA+PSAwID8gIisiIDogIiIgKSArIHRvcCwNCgkJCQkJb2Y6IHRoYXQud2luZG93DQoJCQkJfTsNCgkJCQl0aGF0Ll9yZW1vdmVDbGFzcyggJCggdGhpcyApLCAidWktZGlhbG9nLXJlc2l6aW5nIiApOw0KCQkJCXRoYXQuX3VuYmxvY2tGcmFtZXMoKTsNCgkJCQl0aGF0Ll90cmlnZ2VyKCAicmVzaXplU3RvcCIsIGV2ZW50LCBmaWx0ZXJlZFVpKCB1aSApICk7DQoJCQl9DQoJCX0gKQ0KCQkJLmNzcyggInBvc2l0aW9uIiwgcG9zaXRpb24gKTsNCgl9LA0KDQoJX3RyYWNrRm9jdXM6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLl9vbiggdGhpcy53aWRnZXQoKSwgew0KCQkJZm9jdXNpbjogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCXRoaXMuX21ha2VGb2N1c1RhcmdldCgpOw0KCQkJCXRoaXMuX2ZvY3VzZWRFbGVtZW50ID0gJCggZXZlbnQudGFyZ2V0ICk7DQoJCQl9DQoJCX0gKTsNCgl9LA0KDQoJX21ha2VGb2N1c1RhcmdldDogZnVuY3Rpb24oKSB7DQoJCXRoaXMuX3VudHJhY2tJbnN0YW5jZSgpOw0KCQl0aGlzLl90cmFja2luZ0luc3RhbmNlcygpLnVuc2hpZnQoIHRoaXMgKTsNCgl9LA0KDQoJX3VudHJhY2tJbnN0YW5jZTogZnVuY3Rpb24oKSB7DQoJCXZhciBpbnN0YW5jZXMgPSB0aGlzLl90cmFja2luZ0luc3RhbmNlcygpLA0KCQkJZXhpc3RzID0gJC5pbkFycmF5KCB0aGlzLCBpbnN0YW5jZXMgKTsNCgkJaWYgKCBleGlzdHMgIT09IC0xICkgew0KCQkJaW5zdGFuY2VzLnNwbGljZSggZXhpc3RzLCAxICk7DQoJCX0NCgl9LA0KDQoJX3RyYWNraW5nSW5zdGFuY2VzOiBmdW5jdGlvbigpIHsNCgkJdmFyIGluc3RhbmNlcyA9IHRoaXMuZG9jdW1lbnQuZGF0YSggInVpLWRpYWxvZy1pbnN0YW5jZXMiICk7DQoJCWlmICggIWluc3RhbmNlcyApIHsNCgkJCWluc3RhbmNlcyA9IFtdOw0KCQkJdGhpcy5kb2N1bWVudC5kYXRhKCAidWktZGlhbG9nLWluc3RhbmNlcyIsIGluc3RhbmNlcyApOw0KCQl9DQoJCXJldHVybiBpbnN0YW5jZXM7DQoJfSwNCg0KCV9taW5IZWlnaHQ6IGZ1bmN0aW9uKCkgew0KCQl2YXIgb3B0aW9ucyA9IHRoaXMub3B0aW9uczsNCg0KCQlyZXR1cm4gb3B0aW9ucy5oZWlnaHQgPT09ICJhdXRvIiA/DQoJCQlvcHRpb25zLm1pbkhlaWdodCA6DQoJCQlNYXRoLm1pbiggb3B0aW9ucy5taW5IZWlnaHQsIG9wdGlvbnMuaGVpZ2h0ICk7DQoJfSwNCg0KCV9wb3NpdGlvbjogZnVuY3Rpb24oKSB7DQoNCgkJLy8gTmVlZCB0byBzaG93IHRoZSBkaWFsb2cgdG8gZ2V0IHRoZSBhY3R1YWwgb2Zmc2V0IGluIHRoZSBwb3NpdGlvbiBwbHVnaW4NCgkJdmFyIGlzVmlzaWJsZSA9IHRoaXMudWlEaWFsb2cuaXMoICI6dmlzaWJsZSIgKTsNCgkJaWYgKCAhaXNWaXNpYmxlICkgew0KCQkJdGhpcy51aURpYWxvZy5zaG93KCk7DQoJCX0NCgkJdGhpcy51aURpYWxvZy5wb3NpdGlvbiggdGhpcy5vcHRpb25zLnBvc2l0aW9uICk7DQoJCWlmICggIWlzVmlzaWJsZSApIHsNCgkJCXRoaXMudWlEaWFsb2cuaGlkZSgpOw0KCQl9DQoJfSwNCg0KCV9zZXRPcHRpb25zOiBmdW5jdGlvbiggb3B0aW9ucyApIHsNCgkJdmFyIHRoYXQgPSB0aGlzLA0KCQkJcmVzaXplID0gZmFsc2UsDQoJCQlyZXNpemFibGVPcHRpb25zID0ge307DQoNCgkJJC5lYWNoKCBvcHRpb25zLCBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCgkJCXRoYXQuX3NldE9wdGlvbigga2V5LCB2YWx1ZSApOw0KDQoJCQlpZiAoIGtleSBpbiB0aGF0LnNpemVSZWxhdGVkT3B0aW9ucyApIHsNCgkJCQlyZXNpemUgPSB0cnVlOw0KCQkJfQ0KCQkJaWYgKCBrZXkgaW4gdGhhdC5yZXNpemFibGVSZWxhdGVkT3B0aW9ucyApIHsNCgkJCQlyZXNpemFibGVPcHRpb25zWyBrZXkgXSA9IHZhbHVlOw0KCQkJfQ0KCQl9ICk7DQoNCgkJaWYgKCByZXNpemUgKSB7DQoJCQl0aGlzLl9zaXplKCk7DQoJCQl0aGlzLl9wb3NpdGlvbigpOw0KCQl9DQoJCWlmICggdGhpcy51aURpYWxvZy5pcyggIjpkYXRhKHVpLXJlc2l6YWJsZSkiICkgKSB7DQoJCQl0aGlzLnVpRGlhbG9nLnJlc2l6YWJsZSggIm9wdGlvbiIsIHJlc2l6YWJsZU9wdGlvbnMgKTsNCgkJfQ0KCX0sDQoNCglfc2V0T3B0aW9uOiBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCgkJdmFyIGlzRHJhZ2dhYmxlLCBpc1Jlc2l6YWJsZSwNCgkJCXVpRGlhbG9nID0gdGhpcy51aURpYWxvZzsNCg0KCQlpZiAoIGtleSA9PT0gImRpc2FibGVkIiApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCXRoaXMuX3N1cGVyKCBrZXksIHZhbHVlICk7DQoNCgkJaWYgKCBrZXkgPT09ICJhcHBlbmRUbyIgKSB7DQoJCQl0aGlzLnVpRGlhbG9nLmFwcGVuZFRvKCB0aGlzLl9hcHBlbmRUbygpICk7DQoJCX0NCg0KCQlpZiAoIGtleSA9PT0gImJ1dHRvbnMiICkgew0KCQkJdGhpcy5fY3JlYXRlQnV0dG9ucygpOw0KCQl9DQoNCgkJaWYgKCBrZXkgPT09ICJjbG9zZVRleHQiICkgew0KCQkJdGhpcy51aURpYWxvZ1RpdGxlYmFyQ2xvc2UuYnV0dG9uKCB7DQoNCgkJCQkvLyBFbnN1cmUgdGhhdCB3ZSBhbHdheXMgcGFzcyBhIHN0cmluZw0KCQkJCWxhYmVsOiAkKCAiPGE+IiApLnRleHQoICIiICsgdGhpcy5vcHRpb25zLmNsb3NlVGV4dCApLmh0bWwoKQ0KCQkJfSApOw0KCQl9DQoNCgkJaWYgKCBrZXkgPT09ICJkcmFnZ2FibGUiICkgew0KCQkJaXNEcmFnZ2FibGUgPSB1aURpYWxvZy5pcyggIjpkYXRhKHVpLWRyYWdnYWJsZSkiICk7DQoJCQlpZiAoIGlzRHJhZ2dhYmxlICYmICF2YWx1ZSApIHsNCgkJCQl1aURpYWxvZy5kcmFnZ2FibGUoICJkZXN0cm95IiApOw0KCQkJfQ0KDQoJCQlpZiAoICFpc0RyYWdnYWJsZSAmJiB2YWx1ZSApIHsNCgkJCQl0aGlzLl9tYWtlRHJhZ2dhYmxlKCk7DQoJCQl9DQoJCX0NCg0KCQlpZiAoIGtleSA9PT0gInBvc2l0aW9uIiApIHsNCgkJCXRoaXMuX3Bvc2l0aW9uKCk7DQoJCX0NCg0KCQlpZiAoIGtleSA9PT0gInJlc2l6YWJsZSIgKSB7DQoNCgkJCS8vIGN1cnJlbnRseSByZXNpemFibGUsIGJlY29taW5nIG5vbi1yZXNpemFibGUNCgkJCWlzUmVzaXphYmxlID0gdWlEaWFsb2cuaXMoICI6ZGF0YSh1aS1yZXNpemFibGUpIiApOw0KCQkJaWYgKCBpc1Jlc2l6YWJsZSAmJiAhdmFsdWUgKSB7DQoJCQkJdWlEaWFsb2cucmVzaXphYmxlKCAiZGVzdHJveSIgKTsNCgkJCX0NCg0KCQkJLy8gQ3VycmVudGx5IHJlc2l6YWJsZSwgY2hhbmdpbmcgaGFuZGxlcw0KCQkJaWYgKCBpc1Jlc2l6YWJsZSAmJiB0eXBlb2YgdmFsdWUgPT09ICJzdHJpbmciICkgew0KCQkJCXVpRGlhbG9nLnJlc2l6YWJsZSggIm9wdGlvbiIsICJoYW5kbGVzIiwgdmFsdWUgKTsNCgkJCX0NCg0KCQkJLy8gQ3VycmVudGx5IG5vbi1yZXNpemFibGUsIGJlY29taW5nIHJlc2l6YWJsZQ0KCQkJaWYgKCAhaXNSZXNpemFibGUgJiYgdmFsdWUgIT09IGZhbHNlICkgew0KCQkJCXRoaXMuX21ha2VSZXNpemFibGUoKTsNCgkJCX0NCgkJfQ0KDQoJCWlmICgga2V5ID09PSAidGl0bGUiICkgew0KCQkJdGhpcy5fdGl0bGUoIHRoaXMudWlEaWFsb2dUaXRsZWJhci5maW5kKCAiLnVpLWRpYWxvZy10aXRsZSIgKSApOw0KCQl9DQoJfSwNCg0KCV9zaXplOiBmdW5jdGlvbigpIHsNCg0KCQkvLyBJZiB0aGUgdXNlciBoYXMgcmVzaXplZCB0aGUgZGlhbG9nLCB0aGUgLnVpLWRpYWxvZyBhbmQgLnVpLWRpYWxvZy1jb250ZW50DQoJCS8vIGRpdnMgd2lsbCBib3RoIGhhdmUgd2lkdGggYW5kIGhlaWdodCBzZXQsIHNvIHdlIG5lZWQgdG8gcmVzZXQgdGhlbQ0KCQl2YXIgbm9uQ29udGVudEhlaWdodCwgbWluQ29udGVudEhlaWdodCwgbWF4Q29udGVudEhlaWdodCwNCgkJCW9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7DQoNCgkJLy8gUmVzZXQgY29udGVudCBzaXppbmcNCgkJdGhpcy5lbGVtZW50LnNob3coKS5jc3MoIHsNCgkJCXdpZHRoOiAiYXV0byIsDQoJCQltaW5IZWlnaHQ6IDAsDQoJCQltYXhIZWlnaHQ6ICJub25lIiwNCgkJCWhlaWdodDogMA0KCQl9ICk7DQoNCgkJaWYgKCBvcHRpb25zLm1pbldpZHRoID4gb3B0aW9ucy53aWR0aCApIHsNCgkJCW9wdGlvbnMud2lkdGggPSBvcHRpb25zLm1pbldpZHRoOw0KCQl9DQoNCgkJLy8gUmVzZXQgd3JhcHBlciBzaXppbmcNCgkJLy8gZGV0ZXJtaW5lIHRoZSBoZWlnaHQgb2YgYWxsIHRoZSBub24tY29udGVudCBlbGVtZW50cw0KCQlub25Db250ZW50SGVpZ2h0ID0gdGhpcy51aURpYWxvZy5jc3MoIHsNCgkJCWhlaWdodDogImF1dG8iLA0KCQkJd2lkdGg6IG9wdGlvbnMud2lkdGgNCgkJfSApDQoJCQkub3V0ZXJIZWlnaHQoKTsNCgkJbWluQ29udGVudEhlaWdodCA9IE1hdGgubWF4KCAwLCBvcHRpb25zLm1pbkhlaWdodCAtIG5vbkNvbnRlbnRIZWlnaHQgKTsNCgkJbWF4Q29udGVudEhlaWdodCA9IHR5cGVvZiBvcHRpb25zLm1heEhlaWdodCA9PT0gIm51bWJlciIgPw0KCQkJTWF0aC5tYXgoIDAsIG9wdGlvbnMubWF4SGVpZ2h0IC0gbm9uQ29udGVudEhlaWdodCApIDoNCgkJCSJub25lIjsNCg0KCQlpZiAoIG9wdGlvbnMuaGVpZ2h0ID09PSAiYXV0byIgKSB7DQoJCQl0aGlzLmVsZW1lbnQuY3NzKCB7DQoJCQkJbWluSGVpZ2h0OiBtaW5Db250ZW50SGVpZ2h0LA0KCQkJCW1heEhlaWdodDogbWF4Q29udGVudEhlaWdodCwNCgkJCQloZWlnaHQ6ICJhdXRvIg0KCQkJfSApOw0KCQl9IGVsc2Ugew0KCQkJdGhpcy5lbGVtZW50LmhlaWdodCggTWF0aC5tYXgoIDAsIG9wdGlvbnMuaGVpZ2h0IC0gbm9uQ29udGVudEhlaWdodCApICk7DQoJCX0NCg0KCQlpZiAoIHRoaXMudWlEaWFsb2cuaXMoICI6ZGF0YSh1aS1yZXNpemFibGUpIiApICkgew0KCQkJdGhpcy51aURpYWxvZy5yZXNpemFibGUoICJvcHRpb24iLCAibWluSGVpZ2h0IiwgdGhpcy5fbWluSGVpZ2h0KCkgKTsNCgkJfQ0KCX0sDQoNCglfYmxvY2tGcmFtZXM6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLmlmcmFtZUJsb2NrcyA9IHRoaXMuZG9jdW1lbnQuZmluZCggImlmcmFtZSIgKS5tYXAoIGZ1bmN0aW9uKCkgew0KCQkJdmFyIGlmcmFtZSA9ICQoIHRoaXMgKTsNCg0KCQkJcmV0dXJuICQoICI8ZGl2PiIgKQ0KCQkJCS5jc3MoIHsNCgkJCQkJcG9zaXRpb246ICJhYnNvbHV0ZSIsDQoJCQkJCXdpZHRoOiBpZnJhbWUub3V0ZXJXaWR0aCgpLA0KCQkJCQloZWlnaHQ6IGlmcmFtZS5vdXRlckhlaWdodCgpDQoJCQkJfSApDQoJCQkJLmFwcGVuZFRvKCBpZnJhbWUucGFyZW50KCkgKQ0KCQkJCS5vZmZzZXQoIGlmcmFtZS5vZmZzZXQoKSApWyAwIF07DQoJCX0gKTsNCgl9LA0KDQoJX3VuYmxvY2tGcmFtZXM6IGZ1bmN0aW9uKCkgew0KCQlpZiAoIHRoaXMuaWZyYW1lQmxvY2tzICkgew0KCQkJdGhpcy5pZnJhbWVCbG9ja3MucmVtb3ZlKCk7DQoJCQlkZWxldGUgdGhpcy5pZnJhbWVCbG9ja3M7DQoJCX0NCgl9LA0KDQoJX2FsbG93SW50ZXJhY3Rpb246IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJaWYgKCAkKCBldmVudC50YXJnZXQgKS5jbG9zZXN0KCAiLnVpLWRpYWxvZyIgKS5sZW5ndGggKSB7DQoJCQlyZXR1cm4gdHJ1ZTsNCgkJfQ0KDQoJCS8vIFRPRE86IFJlbW92ZSBoYWNrIHdoZW4gZGF0ZXBpY2tlciBpbXBsZW1lbnRzDQoJCS8vIHRoZSAudWktZnJvbnQgbG9naWMgKCM4OTg5KQ0KCQlyZXR1cm4gISEkKCBldmVudC50YXJnZXQgKS5jbG9zZXN0KCAiLnVpLWRhdGVwaWNrZXIiICkubGVuZ3RoOw0KCX0sDQoNCglfY3JlYXRlT3ZlcmxheTogZnVuY3Rpb24oKSB7DQoJCWlmICggIXRoaXMub3B0aW9ucy5tb2RhbCApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCS8vIFdlIHVzZSBhIGRlbGF5IGluIGNhc2UgdGhlIG92ZXJsYXkgaXMgY3JlYXRlZCBmcm9tIGFuDQoJCS8vIGV2ZW50IHRoYXQgd2UncmUgZ29pbmcgdG8gYmUgY2FuY2VsbGluZyAoIzI4MDQpDQoJCXZhciBpc09wZW5pbmcgPSB0cnVlOw0KCQl0aGlzLl9kZWxheSggZnVuY3Rpb24oKSB7DQoJCQlpc09wZW5pbmcgPSBmYWxzZTsNCgkJfSApOw0KDQoJCWlmICggIXRoaXMuZG9jdW1lbnQuZGF0YSggInVpLWRpYWxvZy1vdmVybGF5cyIgKSApIHsNCg0KCQkJLy8gUHJldmVudCB1c2Ugb2YgYW5jaG9ycyBhbmQgaW5wdXRzDQoJCQkvLyBVc2luZyBfb24oKSBmb3IgYW4gZXZlbnQgaGFuZGxlciBzaGFyZWQgYWNyb3NzIG1hbnkgaW5zdGFuY2VzIGlzDQoJCQkvLyBzYWZlIGJlY2F1c2UgdGhlIGRpYWxvZ3Mgc3RhY2sgYW5kIG11c3QgYmUgY2xvc2VkIGluIHJldmVyc2Ugb3JkZXINCgkJCXRoaXMuX29uKCB0aGlzLmRvY3VtZW50LCB7DQoJCQkJZm9jdXNpbjogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCQlpZiAoIGlzT3BlbmluZyApIHsNCgkJCQkJCXJldHVybjsNCgkJCQkJfQ0KDQoJCQkJCWlmICggIXRoaXMuX2FsbG93SW50ZXJhY3Rpb24oIGV2ZW50ICkgKSB7DQoJCQkJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJCQkJdGhpcy5fdHJhY2tpbmdJbnN0YW5jZXMoKVsgMCBdLl9mb2N1c1RhYmJhYmxlKCk7DQoJCQkJCX0NCgkJCQl9DQoJCQl9ICk7DQoJCX0NCg0KCQl0aGlzLm92ZXJsYXkgPSAkKCAiPGRpdj4iICkNCgkJCS5hcHBlbmRUbyggdGhpcy5fYXBwZW5kVG8oKSApOw0KDQoJCXRoaXMuX2FkZENsYXNzKCB0aGlzLm92ZXJsYXksIG51bGwsICJ1aS13aWRnZXQtb3ZlcmxheSB1aS1mcm9udCIgKTsNCgkJdGhpcy5fb24oIHRoaXMub3ZlcmxheSwgew0KCQkJbW91c2Vkb3duOiAiX2tlZXBGb2N1cyINCgkJfSApOw0KCQl0aGlzLmRvY3VtZW50LmRhdGEoICJ1aS1kaWFsb2ctb3ZlcmxheXMiLA0KCQkJKCB0aGlzLmRvY3VtZW50LmRhdGEoICJ1aS1kaWFsb2ctb3ZlcmxheXMiICkgfHwgMCApICsgMSApOw0KCX0sDQoNCglfZGVzdHJveU92ZXJsYXk6IGZ1bmN0aW9uKCkgew0KCQlpZiAoICF0aGlzLm9wdGlvbnMubW9kYWwgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlpZiAoIHRoaXMub3ZlcmxheSApIHsNCgkJCXZhciBvdmVybGF5cyA9IHRoaXMuZG9jdW1lbnQuZGF0YSggInVpLWRpYWxvZy1vdmVybGF5cyIgKSAtIDE7DQoNCgkJCWlmICggIW92ZXJsYXlzICkgew0KCQkJCXRoaXMuX29mZiggdGhpcy5kb2N1bWVudCwgImZvY3VzaW4iICk7DQoJCQkJdGhpcy5kb2N1bWVudC5yZW1vdmVEYXRhKCAidWktZGlhbG9nLW92ZXJsYXlzIiApOw0KCQkJfSBlbHNlIHsNCgkJCQl0aGlzLmRvY3VtZW50LmRhdGEoICJ1aS1kaWFsb2ctb3ZlcmxheXMiLCBvdmVybGF5cyApOw0KCQkJfQ0KDQoJCQl0aGlzLm92ZXJsYXkucmVtb3ZlKCk7DQoJCQl0aGlzLm92ZXJsYXkgPSBudWxsOw0KCQl9DQoJfQ0KfSApOw0KDQovLyBERVBSRUNBVEVEDQovLyBUT0RPOiBzd2l0Y2ggcmV0dXJuIGJhY2sgdG8gd2lkZ2V0IGRlY2xhcmF0aW9uIGF0IHRvcCBvZiBmaWxlIHdoZW4gdGhpcyBpcyByZW1vdmVkDQppZiAoICQudWlCYWNrQ29tcGF0ICE9PSBmYWxzZSApIHsNCg0KCS8vIEJhY2tjb21wYXQgZm9yIGRpYWxvZ0NsYXNzIG9wdGlvbg0KCSQud2lkZ2V0KCAidWkuZGlhbG9nIiwgJC51aS5kaWFsb2csIHsNCgkJb3B0aW9uczogew0KCQkJZGlhbG9nQ2xhc3M6ICIiDQoJCX0sDQoJCV9jcmVhdGVXcmFwcGVyOiBmdW5jdGlvbigpIHsNCgkJCXRoaXMuX3N1cGVyKCk7DQoJCQl0aGlzLnVpRGlhbG9nLmFkZENsYXNzKCB0aGlzLm9wdGlvbnMuZGlhbG9nQ2xhc3MgKTsNCgkJfSwNCgkJX3NldE9wdGlvbjogZnVuY3Rpb24oIGtleSwgdmFsdWUgKSB7DQoJCQlpZiAoIGtleSA9PT0gImRpYWxvZ0NsYXNzIiApIHsNCgkJCQl0aGlzLnVpRGlhbG9nDQoJCQkJCS5yZW1vdmVDbGFzcyggdGhpcy5vcHRpb25zLmRpYWxvZ0NsYXNzICkNCgkJCQkJLmFkZENsYXNzKCB2YWx1ZSApOw0KCQkJfQ0KCQkJdGhpcy5fc3VwZXJBcHBseSggYXJndW1lbnRzICk7DQoJCX0NCgl9ICk7DQp9DQoNCnZhciB3aWRnZXRzRGlhbG9nID0gJC51aS5kaWFsb2c7DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgRHJvcHBhYmxlIDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKi8NCg0KLy8+PmxhYmVsOiBEcm9wcGFibGUNCi8vPj5ncm91cDogSW50ZXJhY3Rpb25zDQovLz4+ZGVzY3JpcHRpb246IEVuYWJsZXMgZHJvcCB0YXJnZXRzIGZvciBkcmFnZ2FibGUgZWxlbWVudHMuDQovLz4+ZG9jczogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vZHJvcHBhYmxlLw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL2Ryb3BwYWJsZS8NCg0KDQoNCiQud2lkZ2V0KCAidWkuZHJvcHBhYmxlIiwgew0KCXZlcnNpb246ICIxLjEyLjEiLA0KCXdpZGdldEV2ZW50UHJlZml4OiAiZHJvcCIsDQoJb3B0aW9uczogew0KCQlhY2NlcHQ6ICIqIiwNCgkJYWRkQ2xhc3NlczogdHJ1ZSwNCgkJZ3JlZWR5OiBmYWxzZSwNCgkJc2NvcGU6ICJkZWZhdWx0IiwNCgkJdG9sZXJhbmNlOiAiaW50ZXJzZWN0IiwNCg0KCQkvLyBDYWxsYmFja3MNCgkJYWN0aXZhdGU6IG51bGwsDQoJCWRlYWN0aXZhdGU6IG51bGwsDQoJCWRyb3A6IG51bGwsDQoJCW91dDogbnVsbCwNCgkJb3ZlcjogbnVsbA0KCX0sDQoJX2NyZWF0ZTogZnVuY3Rpb24oKSB7DQoNCgkJdmFyIHByb3BvcnRpb25zLA0KCQkJbyA9IHRoaXMub3B0aW9ucywNCgkJCWFjY2VwdCA9IG8uYWNjZXB0Ow0KDQoJCXRoaXMuaXNvdmVyID0gZmFsc2U7DQoJCXRoaXMuaXNvdXQgPSB0cnVlOw0KDQoJCXRoaXMuYWNjZXB0ID0gJC5pc0Z1bmN0aW9uKCBhY2NlcHQgKSA/IGFjY2VwdCA6IGZ1bmN0aW9uKCBkICkgew0KCQkJcmV0dXJuIGQuaXMoIGFjY2VwdCApOw0KCQl9Ow0KDQoJCXRoaXMucHJvcG9ydGlvbnMgPSBmdW5jdGlvbiggLyogdmFsdWVUb1dyaXRlICovICkgew0KCQkJaWYgKCBhcmd1bWVudHMubGVuZ3RoICkgew0KDQoJCQkJLy8gU3RvcmUgdGhlIGRyb3BwYWJsZSdzIHByb3BvcnRpb25zDQoJCQkJcHJvcG9ydGlvbnMgPSBhcmd1bWVudHNbIDAgXTsNCgkJCX0gZWxzZSB7DQoNCgkJCQkvLyBSZXRyaWV2ZSBvciBkZXJpdmUgdGhlIGRyb3BwYWJsZSdzIHByb3BvcnRpb25zDQoJCQkJcmV0dXJuIHByb3BvcnRpb25zID8NCgkJCQkJcHJvcG9ydGlvbnMgOg0KCQkJCQlwcm9wb3J0aW9ucyA9IHsNCgkJCQkJCXdpZHRoOiB0aGlzLmVsZW1lbnRbIDAgXS5vZmZzZXRXaWR0aCwNCgkJCQkJCWhlaWdodDogdGhpcy5lbGVtZW50WyAwIF0ub2Zmc2V0SGVpZ2h0DQoJCQkJCX07DQoJCQl9DQoJCX07DQoNCgkJdGhpcy5fYWRkVG9NYW5hZ2VyKCBvLnNjb3BlICk7DQoNCgkJby5hZGRDbGFzc2VzICYmIHRoaXMuX2FkZENsYXNzKCAidWktZHJvcHBhYmxlIiApOw0KDQoJfSwNCg0KCV9hZGRUb01hbmFnZXI6IGZ1bmN0aW9uKCBzY29wZSApIHsNCg0KCQkvLyBBZGQgdGhlIHJlZmVyZW5jZSBhbmQgcG9zaXRpb25zIHRvIHRoZSBtYW5hZ2VyDQoJCSQudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbIHNjb3BlIF0gPSAkLnVpLmRkbWFuYWdlci5kcm9wcGFibGVzWyBzY29wZSBdIHx8IFtdOw0KCQkkLnVpLmRkbWFuYWdlci5kcm9wcGFibGVzWyBzY29wZSBdLnB1c2goIHRoaXMgKTsNCgl9LA0KDQoJX3NwbGljZTogZnVuY3Rpb24oIGRyb3AgKSB7DQoJCXZhciBpID0gMDsNCgkJZm9yICggOyBpIDwgZHJvcC5sZW5ndGg7IGkrKyApIHsNCgkJCWlmICggZHJvcFsgaSBdID09PSB0aGlzICkgew0KCQkJCWRyb3Auc3BsaWNlKCBpLCAxICk7DQoJCQl9DQoJCX0NCgl9LA0KDQoJX2Rlc3Ryb3k6IGZ1bmN0aW9uKCkgew0KCQl2YXIgZHJvcCA9ICQudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbIHRoaXMub3B0aW9ucy5zY29wZSBdOw0KDQoJCXRoaXMuX3NwbGljZSggZHJvcCApOw0KCX0sDQoNCglfc2V0T3B0aW9uOiBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCg0KCQlpZiAoIGtleSA9PT0gImFjY2VwdCIgKSB7DQoJCQl0aGlzLmFjY2VwdCA9ICQuaXNGdW5jdGlvbiggdmFsdWUgKSA/IHZhbHVlIDogZnVuY3Rpb24oIGQgKSB7DQoJCQkJcmV0dXJuIGQuaXMoIHZhbHVlICk7DQoJCQl9Ow0KCQl9IGVsc2UgaWYgKCBrZXkgPT09ICJzY29wZSIgKSB7DQoJCQl2YXIgZHJvcCA9ICQudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbIHRoaXMub3B0aW9ucy5zY29wZSBdOw0KDQoJCQl0aGlzLl9zcGxpY2UoIGRyb3AgKTsNCgkJCXRoaXMuX2FkZFRvTWFuYWdlciggdmFsdWUgKTsNCgkJfQ0KDQoJCXRoaXMuX3N1cGVyKCBrZXksIHZhbHVlICk7DQoJfSwNCg0KCV9hY3RpdmF0ZTogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl2YXIgZHJhZ2dhYmxlID0gJC51aS5kZG1hbmFnZXIuY3VycmVudDsNCg0KCQl0aGlzLl9hZGRBY3RpdmVDbGFzcygpOw0KCQlpZiAoIGRyYWdnYWJsZSApIHsNCgkJCXRoaXMuX3RyaWdnZXIoICJhY3RpdmF0ZSIsIGV2ZW50LCB0aGlzLnVpKCBkcmFnZ2FibGUgKSApOw0KCQl9DQoJfSwNCg0KCV9kZWFjdGl2YXRlOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXZhciBkcmFnZ2FibGUgPSAkLnVpLmRkbWFuYWdlci5jdXJyZW50Ow0KDQoJCXRoaXMuX3JlbW92ZUFjdGl2ZUNsYXNzKCk7DQoJCWlmICggZHJhZ2dhYmxlICkgew0KCQkJdGhpcy5fdHJpZ2dlciggImRlYWN0aXZhdGUiLCBldmVudCwgdGhpcy51aSggZHJhZ2dhYmxlICkgKTsNCgkJfQ0KCX0sDQoNCglfb3ZlcjogZnVuY3Rpb24oIGV2ZW50ICkgew0KDQoJCXZhciBkcmFnZ2FibGUgPSAkLnVpLmRkbWFuYWdlci5jdXJyZW50Ow0KDQoJCS8vIEJhaWwgaWYgZHJhZ2dhYmxlIGFuZCBkcm9wcGFibGUgYXJlIHNhbWUgZWxlbWVudA0KCQlpZiAoICFkcmFnZ2FibGUgfHwgKCBkcmFnZ2FibGUuY3VycmVudEl0ZW0gfHwNCgkJCQlkcmFnZ2FibGUuZWxlbWVudCApWyAwIF0gPT09IHRoaXMuZWxlbWVudFsgMCBdICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJaWYgKCB0aGlzLmFjY2VwdC5jYWxsKCB0aGlzLmVsZW1lbnRbIDAgXSwgKCBkcmFnZ2FibGUuY3VycmVudEl0ZW0gfHwNCgkJCQlkcmFnZ2FibGUuZWxlbWVudCApICkgKSB7DQoJCQl0aGlzLl9hZGRIb3ZlckNsYXNzKCk7DQoJCQl0aGlzLl90cmlnZ2VyKCAib3ZlciIsIGV2ZW50LCB0aGlzLnVpKCBkcmFnZ2FibGUgKSApOw0KCQl9DQoNCgl9LA0KDQoJX291dDogZnVuY3Rpb24oIGV2ZW50ICkgew0KDQoJCXZhciBkcmFnZ2FibGUgPSAkLnVpLmRkbWFuYWdlci5jdXJyZW50Ow0KDQoJCS8vIEJhaWwgaWYgZHJhZ2dhYmxlIGFuZCBkcm9wcGFibGUgYXJlIHNhbWUgZWxlbWVudA0KCQlpZiAoICFkcmFnZ2FibGUgfHwgKCBkcmFnZ2FibGUuY3VycmVudEl0ZW0gfHwNCgkJCQlkcmFnZ2FibGUuZWxlbWVudCApWyAwIF0gPT09IHRoaXMuZWxlbWVudFsgMCBdICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJaWYgKCB0aGlzLmFjY2VwdC5jYWxsKCB0aGlzLmVsZW1lbnRbIDAgXSwgKCBkcmFnZ2FibGUuY3VycmVudEl0ZW0gfHwNCgkJCQlkcmFnZ2FibGUuZWxlbWVudCApICkgKSB7DQoJCQl0aGlzLl9yZW1vdmVIb3ZlckNsYXNzKCk7DQoJCQl0aGlzLl90cmlnZ2VyKCAib3V0IiwgZXZlbnQsIHRoaXMudWkoIGRyYWdnYWJsZSApICk7DQoJCX0NCg0KCX0sDQoNCglfZHJvcDogZnVuY3Rpb24oIGV2ZW50LCBjdXN0b20gKSB7DQoNCgkJdmFyIGRyYWdnYWJsZSA9IGN1c3RvbSB8fCAkLnVpLmRkbWFuYWdlci5jdXJyZW50LA0KCQkJY2hpbGRyZW5JbnRlcnNlY3Rpb24gPSBmYWxzZTsNCg0KCQkvLyBCYWlsIGlmIGRyYWdnYWJsZSBhbmQgZHJvcHBhYmxlIGFyZSBzYW1lIGVsZW1lbnQNCgkJaWYgKCAhZHJhZ2dhYmxlIHx8ICggZHJhZ2dhYmxlLmN1cnJlbnRJdGVtIHx8DQoJCQkJZHJhZ2dhYmxlLmVsZW1lbnQgKVsgMCBdID09PSB0aGlzLmVsZW1lbnRbIDAgXSApIHsNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KDQoJCXRoaXMuZWxlbWVudA0KCQkJLmZpbmQoICI6ZGF0YSh1aS1kcm9wcGFibGUpIiApDQoJCQkubm90KCAiLnVpLWRyYWdnYWJsZS1kcmFnZ2luZyIgKQ0KCQkJLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJCXZhciBpbnN0ID0gJCggdGhpcyApLmRyb3BwYWJsZSggImluc3RhbmNlIiApOw0KCQkJCWlmICgNCgkJCQkJaW5zdC5vcHRpb25zLmdyZWVkeSAmJg0KCQkJCQkhaW5zdC5vcHRpb25zLmRpc2FibGVkICYmDQoJCQkJCWluc3Qub3B0aW9ucy5zY29wZSA9PT0gZHJhZ2dhYmxlLm9wdGlvbnMuc2NvcGUgJiYNCgkJCQkJaW5zdC5hY2NlcHQuY2FsbCgNCgkJCQkJCWluc3QuZWxlbWVudFsgMCBdLCAoIGRyYWdnYWJsZS5jdXJyZW50SXRlbSB8fCBkcmFnZ2FibGUuZWxlbWVudCApDQoJCQkJCSkgJiYNCgkJCQkJaW50ZXJzZWN0KA0KCQkJCQkJZHJhZ2dhYmxlLA0KCQkJCQkJJC5leHRlbmQoIGluc3QsIHsgb2Zmc2V0OiBpbnN0LmVsZW1lbnQub2Zmc2V0KCkgfSApLA0KCQkJCQkJaW5zdC5vcHRpb25zLnRvbGVyYW5jZSwgZXZlbnQNCgkJCQkJKQ0KCQkJCSkgew0KCQkJCQljaGlsZHJlbkludGVyc2VjdGlvbiA9IHRydWU7DQoJCQkJCXJldHVybiBmYWxzZTsgfQ0KCQkJfSApOw0KCQlpZiAoIGNoaWxkcmVuSW50ZXJzZWN0aW9uICkgew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoNCgkJaWYgKCB0aGlzLmFjY2VwdC5jYWxsKCB0aGlzLmVsZW1lbnRbIDAgXSwNCgkJCQkoIGRyYWdnYWJsZS5jdXJyZW50SXRlbSB8fCBkcmFnZ2FibGUuZWxlbWVudCApICkgKSB7DQoJCQl0aGlzLl9yZW1vdmVBY3RpdmVDbGFzcygpOw0KCQkJdGhpcy5fcmVtb3ZlSG92ZXJDbGFzcygpOw0KDQoJCQl0aGlzLl90cmlnZ2VyKCAiZHJvcCIsIGV2ZW50LCB0aGlzLnVpKCBkcmFnZ2FibGUgKSApOw0KCQkJcmV0dXJuIHRoaXMuZWxlbWVudDsNCgkJfQ0KDQoJCXJldHVybiBmYWxzZTsNCg0KCX0sDQoNCgl1aTogZnVuY3Rpb24oIGMgKSB7DQoJCXJldHVybiB7DQoJCQlkcmFnZ2FibGU6ICggYy5jdXJyZW50SXRlbSB8fCBjLmVsZW1lbnQgKSwNCgkJCWhlbHBlcjogYy5oZWxwZXIsDQoJCQlwb3NpdGlvbjogYy5wb3NpdGlvbiwNCgkJCW9mZnNldDogYy5wb3NpdGlvbkFicw0KCQl9Ow0KCX0sDQoNCgkvLyBFeHRlbnNpb24gcG9pbnRzIGp1c3QgdG8gbWFrZSBiYWNrY29tcGF0IHNhbmUgYW5kIGF2b2lkIGR1cGxpY2F0aW5nIGxvZ2ljDQoJLy8gVE9ETzogUmVtb3ZlIGluIDEuMTMgYWxvbmcgd2l0aCBjYWxsIHRvIGl0IGJlbG93DQoJX2FkZEhvdmVyQ2xhc3M6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLl9hZGRDbGFzcyggInVpLWRyb3BwYWJsZS1ob3ZlciIgKTsNCgl9LA0KDQoJX3JlbW92ZUhvdmVyQ2xhc3M6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLl9yZW1vdmVDbGFzcyggInVpLWRyb3BwYWJsZS1ob3ZlciIgKTsNCgl9LA0KDQoJX2FkZEFjdGl2ZUNsYXNzOiBmdW5jdGlvbigpIHsNCgkJdGhpcy5fYWRkQ2xhc3MoICJ1aS1kcm9wcGFibGUtYWN0aXZlIiApOw0KCX0sDQoNCglfcmVtb3ZlQWN0aXZlQ2xhc3M6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLl9yZW1vdmVDbGFzcyggInVpLWRyb3BwYWJsZS1hY3RpdmUiICk7DQoJfQ0KfSApOw0KDQp2YXIgaW50ZXJzZWN0ID0gJC51aS5pbnRlcnNlY3QgPSAoIGZ1bmN0aW9uKCkgew0KCWZ1bmN0aW9uIGlzT3ZlckF4aXMoIHgsIHJlZmVyZW5jZSwgc2l6ZSApIHsNCgkJcmV0dXJuICggeCA+PSByZWZlcmVuY2UgKSAmJiAoIHggPCAoIHJlZmVyZW5jZSArIHNpemUgKSApOw0KCX0NCg0KCXJldHVybiBmdW5jdGlvbiggZHJhZ2dhYmxlLCBkcm9wcGFibGUsIHRvbGVyYW5jZU1vZGUsIGV2ZW50ICkgew0KDQoJCWlmICggIWRyb3BwYWJsZS5vZmZzZXQgKSB7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCg0KCQl2YXIgeDEgPSAoIGRyYWdnYWJsZS5wb3NpdGlvbkFicyB8fA0KCQkJCWRyYWdnYWJsZS5wb3NpdGlvbi5hYnNvbHV0ZSApLmxlZnQgKyBkcmFnZ2FibGUubWFyZ2lucy5sZWZ0LA0KCQkJeTEgPSAoIGRyYWdnYWJsZS5wb3NpdGlvbkFicyB8fA0KCQkJCWRyYWdnYWJsZS5wb3NpdGlvbi5hYnNvbHV0ZSApLnRvcCArIGRyYWdnYWJsZS5tYXJnaW5zLnRvcCwNCgkJCXgyID0geDEgKyBkcmFnZ2FibGUuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgsDQoJCQl5MiA9IHkxICsgZHJhZ2dhYmxlLmhlbHBlclByb3BvcnRpb25zLmhlaWdodCwNCgkJCWwgPSBkcm9wcGFibGUub2Zmc2V0LmxlZnQsDQoJCQl0ID0gZHJvcHBhYmxlLm9mZnNldC50b3AsDQoJCQlyID0gbCArIGRyb3BwYWJsZS5wcm9wb3J0aW9ucygpLndpZHRoLA0KCQkJYiA9IHQgKyBkcm9wcGFibGUucHJvcG9ydGlvbnMoKS5oZWlnaHQ7DQoNCgkJc3dpdGNoICggdG9sZXJhbmNlTW9kZSApIHsNCgkJY2FzZSAiZml0IjoNCgkJCXJldHVybiAoIGwgPD0geDEgJiYgeDIgPD0gciAmJiB0IDw9IHkxICYmIHkyIDw9IGIgKTsNCgkJY2FzZSAiaW50ZXJzZWN0IjoNCgkJCXJldHVybiAoIGwgPCB4MSArICggZHJhZ2dhYmxlLmhlbHBlclByb3BvcnRpb25zLndpZHRoIC8gMiApICYmIC8vIFJpZ2h0IEhhbGYNCgkJCQl4MiAtICggZHJhZ2dhYmxlLmhlbHBlclByb3BvcnRpb25zLndpZHRoIC8gMiApIDwgciAmJiAvLyBMZWZ0IEhhbGYNCgkJCQl0IDwgeTEgKyAoIGRyYWdnYWJsZS5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQgLyAyICkgJiYgLy8gQm90dG9tIEhhbGYNCgkJCQl5MiAtICggZHJhZ2dhYmxlLmhlbHBlclByb3BvcnRpb25zLmhlaWdodCAvIDIgKSA8IGIgKTsgLy8gVG9wIEhhbGYNCgkJY2FzZSAicG9pbnRlciI6DQoJCQlyZXR1cm4gaXNPdmVyQXhpcyggZXZlbnQucGFnZVksIHQsIGRyb3BwYWJsZS5wcm9wb3J0aW9ucygpLmhlaWdodCApICYmDQoJCQkJaXNPdmVyQXhpcyggZXZlbnQucGFnZVgsIGwsIGRyb3BwYWJsZS5wcm9wb3J0aW9ucygpLndpZHRoICk7DQoJCWNhc2UgInRvdWNoIjoNCgkJCXJldHVybiAoDQoJCQkJKCB5MSA+PSB0ICYmIHkxIDw9IGIgKSB8fCAvLyBUb3AgZWRnZSB0b3VjaGluZw0KCQkJCSggeTIgPj0gdCAmJiB5MiA8PSBiICkgfHwgLy8gQm90dG9tIGVkZ2UgdG91Y2hpbmcNCgkJCQkoIHkxIDwgdCAmJiB5MiA+IGIgKSAvLyBTdXJyb3VuZGVkIHZlcnRpY2FsbHkNCgkJCSkgJiYgKA0KCQkJCSggeDEgPj0gbCAmJiB4MSA8PSByICkgfHwgLy8gTGVmdCBlZGdlIHRvdWNoaW5nDQoJCQkJKCB4MiA+PSBsICYmIHgyIDw9IHIgKSB8fCAvLyBSaWdodCBlZGdlIHRvdWNoaW5nDQoJCQkJKCB4MSA8IGwgJiYgeDIgPiByICkgLy8gU3Vycm91bmRlZCBob3Jpem9udGFsbHkNCgkJCSk7DQoJCWRlZmF1bHQ6DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCgl9Ow0KfSApKCk7DQoNCi8qDQoJVGhpcyBtYW5hZ2VyIHRyYWNrcyBvZmZzZXRzIG9mIGRyYWdnYWJsZXMgYW5kIGRyb3BwYWJsZXMNCiovDQokLnVpLmRkbWFuYWdlciA9IHsNCgljdXJyZW50OiBudWxsLA0KCWRyb3BwYWJsZXM6IHsgImRlZmF1bHQiOiBbXSB9LA0KCXByZXBhcmVPZmZzZXRzOiBmdW5jdGlvbiggdCwgZXZlbnQgKSB7DQoNCgkJdmFyIGksIGosDQoJCQltID0gJC51aS5kZG1hbmFnZXIuZHJvcHBhYmxlc1sgdC5vcHRpb25zLnNjb3BlIF0gfHwgW10sDQoJCQl0eXBlID0gZXZlbnQgPyBldmVudC50eXBlIDogbnVsbCwgLy8gd29ya2Fyb3VuZCBmb3IgIzIzMTcNCgkJCWxpc3QgPSAoIHQuY3VycmVudEl0ZW0gfHwgdC5lbGVtZW50ICkuZmluZCggIjpkYXRhKHVpLWRyb3BwYWJsZSkiICkuYWRkQmFjaygpOw0KDQoJCWRyb3BwYWJsZXNMb29wOiBmb3IgKCBpID0gMDsgaSA8IG0ubGVuZ3RoOyBpKysgKSB7DQoNCgkJCS8vIE5vIGRpc2FibGVkIGFuZCBub24tYWNjZXB0ZWQNCgkJCWlmICggbVsgaSBdLm9wdGlvbnMuZGlzYWJsZWQgfHwgKCB0ICYmICFtWyBpIF0uYWNjZXB0LmNhbGwoIG1bIGkgXS5lbGVtZW50WyAwIF0sDQoJCQkJCSggdC5jdXJyZW50SXRlbSB8fCB0LmVsZW1lbnQgKSApICkgKSB7DQoJCQkJY29udGludWU7DQoJCQl9DQoNCgkJCS8vIEZpbHRlciBvdXQgZWxlbWVudHMgaW4gdGhlIGN1cnJlbnQgZHJhZ2dlZCBpdGVtDQoJCQlmb3IgKCBqID0gMDsgaiA8IGxpc3QubGVuZ3RoOyBqKysgKSB7DQoJCQkJaWYgKCBsaXN0WyBqIF0gPT09IG1bIGkgXS5lbGVtZW50WyAwIF0gKSB7DQoJCQkJCW1bIGkgXS5wcm9wb3J0aW9ucygpLmhlaWdodCA9IDA7DQoJCQkJCWNvbnRpbnVlIGRyb3BwYWJsZXNMb29wOw0KCQkJCX0NCgkJCX0NCg0KCQkJbVsgaSBdLnZpc2libGUgPSBtWyBpIF0uZWxlbWVudC5jc3MoICJkaXNwbGF5IiApICE9PSAibm9uZSI7DQoJCQlpZiAoICFtWyBpIF0udmlzaWJsZSApIHsNCgkJCQljb250aW51ZTsNCgkJCX0NCg0KCQkJLy8gQWN0aXZhdGUgdGhlIGRyb3BwYWJsZSBpZiB1c2VkIGRpcmVjdGx5IGZyb20gZHJhZ2dhYmxlcw0KCQkJaWYgKCB0eXBlID09PSAibW91c2Vkb3duIiApIHsNCgkJCQltWyBpIF0uX2FjdGl2YXRlLmNhbGwoIG1bIGkgXSwgZXZlbnQgKTsNCgkJCX0NCg0KCQkJbVsgaSBdLm9mZnNldCA9IG1bIGkgXS5lbGVtZW50Lm9mZnNldCgpOw0KCQkJbVsgaSBdLnByb3BvcnRpb25zKCB7DQoJCQkJd2lkdGg6IG1bIGkgXS5lbGVtZW50WyAwIF0ub2Zmc2V0V2lkdGgsDQoJCQkJaGVpZ2h0OiBtWyBpIF0uZWxlbWVudFsgMCBdLm9mZnNldEhlaWdodA0KCQkJfSApOw0KDQoJCX0NCg0KCX0sDQoJZHJvcDogZnVuY3Rpb24oIGRyYWdnYWJsZSwgZXZlbnQgKSB7DQoNCgkJdmFyIGRyb3BwZWQgPSBmYWxzZTsNCg0KCQkvLyBDcmVhdGUgYSBjb3B5IG9mIHRoZSBkcm9wcGFibGVzIGluIGNhc2UgdGhlIGxpc3QgY2hhbmdlcyBkdXJpbmcgdGhlIGRyb3AgKCM5MTE2KQ0KCQkkLmVhY2goICggJC51aS5kZG1hbmFnZXIuZHJvcHBhYmxlc1sgZHJhZ2dhYmxlLm9wdGlvbnMuc2NvcGUgXSB8fCBbXSApLnNsaWNlKCksIGZ1bmN0aW9uKCkgew0KDQoJCQlpZiAoICF0aGlzLm9wdGlvbnMgKSB7DQoJCQkJcmV0dXJuOw0KCQkJfQ0KCQkJaWYgKCAhdGhpcy5vcHRpb25zLmRpc2FibGVkICYmIHRoaXMudmlzaWJsZSAmJg0KCQkJCQlpbnRlcnNlY3QoIGRyYWdnYWJsZSwgdGhpcywgdGhpcy5vcHRpb25zLnRvbGVyYW5jZSwgZXZlbnQgKSApIHsNCgkJCQlkcm9wcGVkID0gdGhpcy5fZHJvcC5jYWxsKCB0aGlzLCBldmVudCApIHx8IGRyb3BwZWQ7DQoJCQl9DQoNCgkJCWlmICggIXRoaXMub3B0aW9ucy5kaXNhYmxlZCAmJiB0aGlzLnZpc2libGUgJiYgdGhpcy5hY2NlcHQuY2FsbCggdGhpcy5lbGVtZW50WyAwIF0sDQoJCQkJCSggZHJhZ2dhYmxlLmN1cnJlbnRJdGVtIHx8IGRyYWdnYWJsZS5lbGVtZW50ICkgKSApIHsNCgkJCQl0aGlzLmlzb3V0ID0gdHJ1ZTsNCgkJCQl0aGlzLmlzb3ZlciA9IGZhbHNlOw0KCQkJCXRoaXMuX2RlYWN0aXZhdGUuY2FsbCggdGhpcywgZXZlbnQgKTsNCgkJCX0NCg0KCQl9ICk7DQoJCXJldHVybiBkcm9wcGVkOw0KDQoJfSwNCglkcmFnU3RhcnQ6IGZ1bmN0aW9uKCBkcmFnZ2FibGUsIGV2ZW50ICkgew0KDQoJCS8vIExpc3RlbiBmb3Igc2Nyb2xsaW5nIHNvIHRoYXQgaWYgdGhlIGRyYWdnaW5nIGNhdXNlcyBzY3JvbGxpbmcgdGhlIHBvc2l0aW9uIG9mIHRoZQ0KCQkvLyBkcm9wcGFibGVzIGNhbiBiZSByZWNhbGN1bGF0ZWQgKHNlZSAjNTAwMykNCgkJZHJhZ2dhYmxlLmVsZW1lbnQucGFyZW50c1VudGlsKCAiYm9keSIgKS5vbiggInNjcm9sbC5kcm9wcGFibGUiLCBmdW5jdGlvbigpIHsNCgkJCWlmICggIWRyYWdnYWJsZS5vcHRpb25zLnJlZnJlc2hQb3NpdGlvbnMgKSB7DQoJCQkJJC51aS5kZG1hbmFnZXIucHJlcGFyZU9mZnNldHMoIGRyYWdnYWJsZSwgZXZlbnQgKTsNCgkJCX0NCgkJfSApOw0KCX0sDQoJZHJhZzogZnVuY3Rpb24oIGRyYWdnYWJsZSwgZXZlbnQgKSB7DQoNCgkJLy8gSWYgeW91IGhhdmUgYSBoaWdobHkgZHluYW1pYyBwYWdlLCB5b3UgbWlnaHQgdHJ5IHRoaXMgb3B0aW9uLiBJdCByZW5kZXJzIHBvc2l0aW9ucw0KCQkvLyBldmVyeSB0aW1lIHlvdSBtb3ZlIHRoZSBtb3VzZS4NCgkJaWYgKCBkcmFnZ2FibGUub3B0aW9ucy5yZWZyZXNoUG9zaXRpb25zICkgew0KCQkJJC51aS5kZG1hbmFnZXIucHJlcGFyZU9mZnNldHMoIGRyYWdnYWJsZSwgZXZlbnQgKTsNCgkJfQ0KDQoJCS8vIFJ1biB0aHJvdWdoIGFsbCBkcm9wcGFibGVzIGFuZCBjaGVjayB0aGVpciBwb3NpdGlvbnMgYmFzZWQgb24gc3BlY2lmaWMgdG9sZXJhbmNlIG9wdGlvbnMNCgkJJC5lYWNoKCAkLnVpLmRkbWFuYWdlci5kcm9wcGFibGVzWyBkcmFnZ2FibGUub3B0aW9ucy5zY29wZSBdIHx8IFtdLCBmdW5jdGlvbigpIHsNCg0KCQkJaWYgKCB0aGlzLm9wdGlvbnMuZGlzYWJsZWQgfHwgdGhpcy5ncmVlZHlDaGlsZCB8fCAhdGhpcy52aXNpYmxlICkgew0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJdmFyIHBhcmVudEluc3RhbmNlLCBzY29wZSwgcGFyZW50LA0KCQkJCWludGVyc2VjdHMgPSBpbnRlcnNlY3QoIGRyYWdnYWJsZSwgdGhpcywgdGhpcy5vcHRpb25zLnRvbGVyYW5jZSwgZXZlbnQgKSwNCgkJCQljID0gIWludGVyc2VjdHMgJiYgdGhpcy5pc292ZXIgPw0KCQkJCQkiaXNvdXQiIDoNCgkJCQkJKCBpbnRlcnNlY3RzICYmICF0aGlzLmlzb3ZlciA/ICJpc292ZXIiIDogbnVsbCApOw0KCQkJaWYgKCAhYyApIHsNCgkJCQlyZXR1cm47DQoJCQl9DQoNCgkJCWlmICggdGhpcy5vcHRpb25zLmdyZWVkeSApIHsNCg0KCQkJCS8vIGZpbmQgZHJvcHBhYmxlIHBhcmVudHMgd2l0aCBzYW1lIHNjb3BlDQoJCQkJc2NvcGUgPSB0aGlzLm9wdGlvbnMuc2NvcGU7DQoJCQkJcGFyZW50ID0gdGhpcy5lbGVtZW50LnBhcmVudHMoICI6ZGF0YSh1aS1kcm9wcGFibGUpIiApLmZpbHRlciggZnVuY3Rpb24oKSB7DQoJCQkJCXJldHVybiAkKCB0aGlzICkuZHJvcHBhYmxlKCAiaW5zdGFuY2UiICkub3B0aW9ucy5zY29wZSA9PT0gc2NvcGU7DQoJCQkJfSApOw0KDQoJCQkJaWYgKCBwYXJlbnQubGVuZ3RoICkgew0KCQkJCQlwYXJlbnRJbnN0YW5jZSA9ICQoIHBhcmVudFsgMCBdICkuZHJvcHBhYmxlKCAiaW5zdGFuY2UiICk7DQoJCQkJCXBhcmVudEluc3RhbmNlLmdyZWVkeUNoaWxkID0gKCBjID09PSAiaXNvdmVyIiApOw0KCQkJCX0NCgkJCX0NCg0KCQkJLy8gV2UganVzdCBtb3ZlZCBpbnRvIGEgZ3JlZWR5IGNoaWxkDQoJCQlpZiAoIHBhcmVudEluc3RhbmNlICYmIGMgPT09ICJpc292ZXIiICkgew0KCQkJCXBhcmVudEluc3RhbmNlLmlzb3ZlciA9IGZhbHNlOw0KCQkJCXBhcmVudEluc3RhbmNlLmlzb3V0ID0gdHJ1ZTsNCgkJCQlwYXJlbnRJbnN0YW5jZS5fb3V0LmNhbGwoIHBhcmVudEluc3RhbmNlLCBldmVudCApOw0KCQkJfQ0KDQoJCQl0aGlzWyBjIF0gPSB0cnVlOw0KCQkJdGhpc1sgYyA9PT0gImlzb3V0IiA/ICJpc292ZXIiIDogImlzb3V0IiBdID0gZmFsc2U7DQoJCQl0aGlzWyBjID09PSAiaXNvdmVyIiA/ICJfb3ZlciIgOiAiX291dCIgXS5jYWxsKCB0aGlzLCBldmVudCApOw0KDQoJCQkvLyBXZSBqdXN0IG1vdmVkIG91dCBvZiBhIGdyZWVkeSBjaGlsZA0KCQkJaWYgKCBwYXJlbnRJbnN0YW5jZSAmJiBjID09PSAiaXNvdXQiICkgew0KCQkJCXBhcmVudEluc3RhbmNlLmlzb3V0ID0gZmFsc2U7DQoJCQkJcGFyZW50SW5zdGFuY2UuaXNvdmVyID0gdHJ1ZTsNCgkJCQlwYXJlbnRJbnN0YW5jZS5fb3Zlci5jYWxsKCBwYXJlbnRJbnN0YW5jZSwgZXZlbnQgKTsNCgkJCX0NCgkJfSApOw0KDQoJfSwNCglkcmFnU3RvcDogZnVuY3Rpb24oIGRyYWdnYWJsZSwgZXZlbnQgKSB7DQoJCWRyYWdnYWJsZS5lbGVtZW50LnBhcmVudHNVbnRpbCggImJvZHkiICkub2ZmKCAic2Nyb2xsLmRyb3BwYWJsZSIgKTsNCg0KCQkvLyBDYWxsIHByZXBhcmVPZmZzZXRzIG9uZSBmaW5hbCB0aW1lIHNpbmNlIElFIGRvZXMgbm90IGZpcmUgcmV0dXJuIHNjcm9sbCBldmVudHMgd2hlbg0KCQkvLyBvdmVyZmxvdyB3YXMgY2F1c2VkIGJ5IGRyYWcgKHNlZSAjNTAwMykNCgkJaWYgKCAhZHJhZ2dhYmxlLm9wdGlvbnMucmVmcmVzaFBvc2l0aW9ucyApIHsNCgkJCSQudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKCBkcmFnZ2FibGUsIGV2ZW50ICk7DQoJCX0NCgl9DQp9Ow0KDQovLyBERVBSRUNBVEVEDQovLyBUT0RPOiBzd2l0Y2ggcmV0dXJuIGJhY2sgdG8gd2lkZ2V0IGRlY2xhcmF0aW9uIGF0IHRvcCBvZiBmaWxlIHdoZW4gdGhpcyBpcyByZW1vdmVkDQppZiAoICQudWlCYWNrQ29tcGF0ICE9PSBmYWxzZSApIHsNCg0KCS8vIEJhY2tjb21wYXQgZm9yIGFjdGl2ZUNsYXNzIGFuZCBob3ZlckNsYXNzIG9wdGlvbnMNCgkkLndpZGdldCggInVpLmRyb3BwYWJsZSIsICQudWkuZHJvcHBhYmxlLCB7DQoJCW9wdGlvbnM6IHsNCgkJCWhvdmVyQ2xhc3M6IGZhbHNlLA0KCQkJYWN0aXZlQ2xhc3M6IGZhbHNlDQoJCX0sDQoJCV9hZGRBY3RpdmVDbGFzczogZnVuY3Rpb24oKSB7DQoJCQl0aGlzLl9zdXBlcigpOw0KCQkJaWYgKCB0aGlzLm9wdGlvbnMuYWN0aXZlQ2xhc3MgKSB7DQoJCQkJdGhpcy5lbGVtZW50LmFkZENsYXNzKCB0aGlzLm9wdGlvbnMuYWN0aXZlQ2xhc3MgKTsNCgkJCX0NCgkJfSwNCgkJX3JlbW92ZUFjdGl2ZUNsYXNzOiBmdW5jdGlvbigpIHsNCgkJCXRoaXMuX3N1cGVyKCk7DQoJCQlpZiAoIHRoaXMub3B0aW9ucy5hY3RpdmVDbGFzcyApIHsNCgkJCQl0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoIHRoaXMub3B0aW9ucy5hY3RpdmVDbGFzcyApOw0KCQkJfQ0KCQl9LA0KCQlfYWRkSG92ZXJDbGFzczogZnVuY3Rpb24oKSB7DQoJCQl0aGlzLl9zdXBlcigpOw0KCQkJaWYgKCB0aGlzLm9wdGlvbnMuaG92ZXJDbGFzcyApIHsNCgkJCQl0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoIHRoaXMub3B0aW9ucy5ob3ZlckNsYXNzICk7DQoJCQl9DQoJCX0sDQoJCV9yZW1vdmVIb3ZlckNsYXNzOiBmdW5jdGlvbigpIHsNCgkJCXRoaXMuX3N1cGVyKCk7DQoJCQlpZiAoIHRoaXMub3B0aW9ucy5ob3ZlckNsYXNzICkgew0KCQkJCXRoaXMuZWxlbWVudC5yZW1vdmVDbGFzcyggdGhpcy5vcHRpb25zLmhvdmVyQ2xhc3MgKTsNCgkJCX0NCgkJfQ0KCX0gKTsNCn0NCg0KdmFyIHdpZGdldHNEcm9wcGFibGUgPSAkLnVpLmRyb3BwYWJsZTsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBQcm9ncmVzc2JhciAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogUHJvZ3Jlc3NiYXINCi8vPj5ncm91cDogV2lkZ2V0cw0KLy8ganNjczpkaXNhYmxlIG1heGltdW1MaW5lTGVuZ3RoDQovLz4+ZGVzY3JpcHRpb246IERpc3BsYXlzIGEgc3RhdHVzIGluZGljYXRvciBmb3IgbG9hZGluZyBzdGF0ZSwgc3RhbmRhcmQgcGVyY2VudGFnZSwgYW5kIG90aGVyIHByb2dyZXNzIGluZGljYXRvcnMuDQovLyBqc2NzOmVuYWJsZSBtYXhpbXVtTGluZUxlbmd0aA0KLy8+PmRvY3M6IGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL3Byb2dyZXNzYmFyLw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL3Byb2dyZXNzYmFyLw0KLy8+PmNzcy5zdHJ1Y3R1cmU6IC4uLy4uL3RoZW1lcy9iYXNlL2NvcmUuY3NzDQovLz4+Y3NzLnN0cnVjdHVyZTogLi4vLi4vdGhlbWVzL2Jhc2UvcHJvZ3Jlc3NiYXIuY3NzDQovLz4+Y3NzLnRoZW1lOiAuLi8uLi90aGVtZXMvYmFzZS90aGVtZS5jc3MNCg0KDQoNCnZhciB3aWRnZXRzUHJvZ3Jlc3NiYXIgPSAkLndpZGdldCggInVpLnByb2dyZXNzYmFyIiwgew0KCXZlcnNpb246ICIxLjEyLjEiLA0KCW9wdGlvbnM6IHsNCgkJY2xhc3Nlczogew0KCQkJInVpLXByb2dyZXNzYmFyIjogInVpLWNvcm5lci1hbGwiLA0KCQkJInVpLXByb2dyZXNzYmFyLXZhbHVlIjogInVpLWNvcm5lci1sZWZ0IiwNCgkJCSJ1aS1wcm9ncmVzc2Jhci1jb21wbGV0ZSI6ICJ1aS1jb3JuZXItcmlnaHQiDQoJCX0sDQoJCW1heDogMTAwLA0KCQl2YWx1ZTogMCwNCg0KCQljaGFuZ2U6IG51bGwsDQoJCWNvbXBsZXRlOiBudWxsDQoJfSwNCg0KCW1pbjogMCwNCg0KCV9jcmVhdGU6IGZ1bmN0aW9uKCkgew0KDQoJCS8vIENvbnN0cmFpbiBpbml0aWFsIHZhbHVlDQoJCXRoaXMub2xkVmFsdWUgPSB0aGlzLm9wdGlvbnMudmFsdWUgPSB0aGlzLl9jb25zdHJhaW5lZFZhbHVlKCk7DQoNCgkJdGhpcy5lbGVtZW50LmF0dHIoIHsNCg0KCQkJLy8gT25seSBzZXQgc3RhdGljIHZhbHVlczsgYXJpYS12YWx1ZW5vdyBhbmQgYXJpYS12YWx1ZW1heCBhcmUNCgkJCS8vIHNldCBpbnNpZGUgX3JlZnJlc2hWYWx1ZSgpDQoJCQlyb2xlOiAicHJvZ3Jlc3NiYXIiLA0KCQkJImFyaWEtdmFsdWVtaW4iOiB0aGlzLm1pbg0KCQl9ICk7DQoJCXRoaXMuX2FkZENsYXNzKCAidWktcHJvZ3Jlc3NiYXIiLCAidWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IiApOw0KDQoJCXRoaXMudmFsdWVEaXYgPSAkKCAiPGRpdj4iICkuYXBwZW5kVG8oIHRoaXMuZWxlbWVudCApOw0KCQl0aGlzLl9hZGRDbGFzcyggdGhpcy52YWx1ZURpdiwgInVpLXByb2dyZXNzYmFyLXZhbHVlIiwgInVpLXdpZGdldC1oZWFkZXIiICk7DQoJCXRoaXMuX3JlZnJlc2hWYWx1ZSgpOw0KCX0sDQoNCglfZGVzdHJveTogZnVuY3Rpb24oKSB7DQoJCXRoaXMuZWxlbWVudC5yZW1vdmVBdHRyKCAicm9sZSBhcmlhLXZhbHVlbWluIGFyaWEtdmFsdWVtYXggYXJpYS12YWx1ZW5vdyIgKTsNCg0KCQl0aGlzLnZhbHVlRGl2LnJlbW92ZSgpOw0KCX0sDQoNCgl2YWx1ZTogZnVuY3Rpb24oIG5ld1ZhbHVlICkgew0KCQlpZiAoIG5ld1ZhbHVlID09PSB1bmRlZmluZWQgKSB7DQoJCQlyZXR1cm4gdGhpcy5vcHRpb25zLnZhbHVlOw0KCQl9DQoNCgkJdGhpcy5vcHRpb25zLnZhbHVlID0gdGhpcy5fY29uc3RyYWluZWRWYWx1ZSggbmV3VmFsdWUgKTsNCgkJdGhpcy5fcmVmcmVzaFZhbHVlKCk7DQoJfSwNCg0KCV9jb25zdHJhaW5lZFZhbHVlOiBmdW5jdGlvbiggbmV3VmFsdWUgKSB7DQoJCWlmICggbmV3VmFsdWUgPT09IHVuZGVmaW5lZCApIHsNCgkJCW5ld1ZhbHVlID0gdGhpcy5vcHRpb25zLnZhbHVlOw0KCQl9DQoNCgkJdGhpcy5pbmRldGVybWluYXRlID0gbmV3VmFsdWUgPT09IGZhbHNlOw0KDQoJCS8vIFNhbml0aXplIHZhbHVlDQoJCWlmICggdHlwZW9mIG5ld1ZhbHVlICE9PSAibnVtYmVyIiApIHsNCgkJCW5ld1ZhbHVlID0gMDsNCgkJfQ0KDQoJCXJldHVybiB0aGlzLmluZGV0ZXJtaW5hdGUgPyBmYWxzZSA6DQoJCQlNYXRoLm1pbiggdGhpcy5vcHRpb25zLm1heCwgTWF0aC5tYXgoIHRoaXMubWluLCBuZXdWYWx1ZSApICk7DQoJfSwNCg0KCV9zZXRPcHRpb25zOiBmdW5jdGlvbiggb3B0aW9ucyApIHsNCg0KCQkvLyBFbnN1cmUgInZhbHVlIiBvcHRpb24gaXMgc2V0IGFmdGVyIG90aGVyIHZhbHVlcyAobGlrZSBtYXgpDQoJCXZhciB2YWx1ZSA9IG9wdGlvbnMudmFsdWU7DQoJCWRlbGV0ZSBvcHRpb25zLnZhbHVlOw0KDQoJCXRoaXMuX3N1cGVyKCBvcHRpb25zICk7DQoNCgkJdGhpcy5vcHRpb25zLnZhbHVlID0gdGhpcy5fY29uc3RyYWluZWRWYWx1ZSggdmFsdWUgKTsNCgkJdGhpcy5fcmVmcmVzaFZhbHVlKCk7DQoJfSwNCg0KCV9zZXRPcHRpb246IGZ1bmN0aW9uKCBrZXksIHZhbHVlICkgew0KCQlpZiAoIGtleSA9PT0gIm1heCIgKSB7DQoNCgkJCS8vIERvbid0IGFsbG93IGEgbWF4IGxlc3MgdGhhbiBtaW4NCgkJCXZhbHVlID0gTWF0aC5tYXgoIHRoaXMubWluLCB2YWx1ZSApOw0KCQl9DQoJCXRoaXMuX3N1cGVyKCBrZXksIHZhbHVlICk7DQoJfSwNCg0KCV9zZXRPcHRpb25EaXNhYmxlZDogZnVuY3Rpb24oIHZhbHVlICkgew0KCQl0aGlzLl9zdXBlciggdmFsdWUgKTsNCg0KCQl0aGlzLmVsZW1lbnQuYXR0ciggImFyaWEtZGlzYWJsZWQiLCB2YWx1ZSApOw0KCQl0aGlzLl90b2dnbGVDbGFzcyggbnVsbCwgInVpLXN0YXRlLWRpc2FibGVkIiwgISF2YWx1ZSApOw0KCX0sDQoNCglfcGVyY2VudGFnZTogZnVuY3Rpb24oKSB7DQoJCXJldHVybiB0aGlzLmluZGV0ZXJtaW5hdGUgPw0KCQkJMTAwIDoNCgkJCTEwMCAqICggdGhpcy5vcHRpb25zLnZhbHVlIC0gdGhpcy5taW4gKSAvICggdGhpcy5vcHRpb25zLm1heCAtIHRoaXMubWluICk7DQoJfSwNCg0KCV9yZWZyZXNoVmFsdWU6IGZ1bmN0aW9uKCkgew0KCQl2YXIgdmFsdWUgPSB0aGlzLm9wdGlvbnMudmFsdWUsDQoJCQlwZXJjZW50YWdlID0gdGhpcy5fcGVyY2VudGFnZSgpOw0KDQoJCXRoaXMudmFsdWVEaXYNCgkJCS50b2dnbGUoIHRoaXMuaW5kZXRlcm1pbmF0ZSB8fCB2YWx1ZSA+IHRoaXMubWluICkNCgkJCS53aWR0aCggcGVyY2VudGFnZS50b0ZpeGVkKCAwICkgKyAiJSIgKTsNCg0KCQl0aGlzDQoJCQkuX3RvZ2dsZUNsYXNzKCB0aGlzLnZhbHVlRGl2LCAidWktcHJvZ3Jlc3NiYXItY29tcGxldGUiLCBudWxsLA0KCQkJCXZhbHVlID09PSB0aGlzLm9wdGlvbnMubWF4ICkNCgkJCS5fdG9nZ2xlQ2xhc3MoICJ1aS1wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlIiwgbnVsbCwgdGhpcy5pbmRldGVybWluYXRlICk7DQoNCgkJaWYgKCB0aGlzLmluZGV0ZXJtaW5hdGUgKSB7DQoJCQl0aGlzLmVsZW1lbnQucmVtb3ZlQXR0ciggImFyaWEtdmFsdWVub3ciICk7DQoJCQlpZiAoICF0aGlzLm92ZXJsYXlEaXYgKSB7DQoJCQkJdGhpcy5vdmVybGF5RGl2ID0gJCggIjxkaXY+IiApLmFwcGVuZFRvKCB0aGlzLnZhbHVlRGl2ICk7DQoJCQkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMub3ZlcmxheURpdiwgInVpLXByb2dyZXNzYmFyLW92ZXJsYXkiICk7DQoJCQl9DQoJCX0gZWxzZSB7DQoJCQl0aGlzLmVsZW1lbnQuYXR0ciggew0KCQkJCSJhcmlhLXZhbHVlbWF4IjogdGhpcy5vcHRpb25zLm1heCwNCgkJCQkiYXJpYS12YWx1ZW5vdyI6IHZhbHVlDQoJCQl9ICk7DQoJCQlpZiAoIHRoaXMub3ZlcmxheURpdiApIHsNCgkJCQl0aGlzLm92ZXJsYXlEaXYucmVtb3ZlKCk7DQoJCQkJdGhpcy5vdmVybGF5RGl2ID0gbnVsbDsNCgkJCX0NCgkJfQ0KDQoJCWlmICggdGhpcy5vbGRWYWx1ZSAhPT0gdmFsdWUgKSB7DQoJCQl0aGlzLm9sZFZhbHVlID0gdmFsdWU7DQoJCQl0aGlzLl90cmlnZ2VyKCAiY2hhbmdlIiApOw0KCQl9DQoJCWlmICggdmFsdWUgPT09IHRoaXMub3B0aW9ucy5tYXggKSB7DQoJCQl0aGlzLl90cmlnZ2VyKCAiY29tcGxldGUiICk7DQoJCX0NCgl9DQp9ICk7DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgU2VsZWN0YWJsZSAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogU2VsZWN0YWJsZQ0KLy8+Pmdyb3VwOiBJbnRlcmFjdGlvbnMNCi8vPj5kZXNjcmlwdGlvbjogQWxsb3dzIGdyb3VwcyBvZiBlbGVtZW50cyB0byBiZSBzZWxlY3RlZCB3aXRoIHRoZSBtb3VzZS4NCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9zZWxlY3RhYmxlLw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL3NlbGVjdGFibGUvDQovLz4+Y3NzLnN0cnVjdHVyZTogLi4vLi4vdGhlbWVzL2Jhc2Uvc2VsZWN0YWJsZS5jc3MNCg0KDQoNCnZhciB3aWRnZXRzU2VsZWN0YWJsZSA9ICQud2lkZ2V0KCAidWkuc2VsZWN0YWJsZSIsICQudWkubW91c2UsIHsNCgl2ZXJzaW9uOiAiMS4xMi4xIiwNCglvcHRpb25zOiB7DQoJCWFwcGVuZFRvOiAiYm9keSIsDQoJCWF1dG9SZWZyZXNoOiB0cnVlLA0KCQlkaXN0YW5jZTogMCwNCgkJZmlsdGVyOiAiKiIsDQoJCXRvbGVyYW5jZTogInRvdWNoIiwNCg0KCQkvLyBDYWxsYmFja3MNCgkJc2VsZWN0ZWQ6IG51bGwsDQoJCXNlbGVjdGluZzogbnVsbCwNCgkJc3RhcnQ6IG51bGwsDQoJCXN0b3A6IG51bGwsDQoJCXVuc2VsZWN0ZWQ6IG51bGwsDQoJCXVuc2VsZWN0aW5nOiBudWxsDQoJfSwNCglfY3JlYXRlOiBmdW5jdGlvbigpIHsNCgkJdmFyIHRoYXQgPSB0aGlzOw0KDQoJCXRoaXMuX2FkZENsYXNzKCAidWktc2VsZWN0YWJsZSIgKTsNCg0KCQl0aGlzLmRyYWdnZWQgPSBmYWxzZTsNCg0KCQkvLyBDYWNoZSBzZWxlY3RlZSBjaGlsZHJlbiBiYXNlZCBvbiBmaWx0ZXINCgkJdGhpcy5yZWZyZXNoID0gZnVuY3Rpb24oKSB7DQoJCQl0aGF0LmVsZW1lbnRQb3MgPSAkKCB0aGF0LmVsZW1lbnRbIDAgXSApLm9mZnNldCgpOw0KCQkJdGhhdC5zZWxlY3RlZXMgPSAkKCB0aGF0Lm9wdGlvbnMuZmlsdGVyLCB0aGF0LmVsZW1lbnRbIDAgXSApOw0KCQkJdGhhdC5fYWRkQ2xhc3MoIHRoYXQuc2VsZWN0ZWVzLCAidWktc2VsZWN0ZWUiICk7DQoJCQl0aGF0LnNlbGVjdGVlcy5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCQl2YXIgJHRoaXMgPSAkKCB0aGlzICksDQoJCQkJCXNlbGVjdGVlT2Zmc2V0ID0gJHRoaXMub2Zmc2V0KCksDQoJCQkJCXBvcyA9IHsNCgkJCQkJCWxlZnQ6IHNlbGVjdGVlT2Zmc2V0LmxlZnQgLSB0aGF0LmVsZW1lbnRQb3MubGVmdCwNCgkJCQkJCXRvcDogc2VsZWN0ZWVPZmZzZXQudG9wIC0gdGhhdC5lbGVtZW50UG9zLnRvcA0KCQkJCQl9Ow0KCQkJCSQuZGF0YSggdGhpcywgInNlbGVjdGFibGUtaXRlbSIsIHsNCgkJCQkJZWxlbWVudDogdGhpcywNCgkJCQkJJGVsZW1lbnQ6ICR0aGlzLA0KCQkJCQlsZWZ0OiBwb3MubGVmdCwNCgkJCQkJdG9wOiBwb3MudG9wLA0KCQkJCQlyaWdodDogcG9zLmxlZnQgKyAkdGhpcy5vdXRlcldpZHRoKCksDQoJCQkJCWJvdHRvbTogcG9zLnRvcCArICR0aGlzLm91dGVySGVpZ2h0KCksDQoJCQkJCXN0YXJ0c2VsZWN0ZWQ6IGZhbHNlLA0KCQkJCQlzZWxlY3RlZDogJHRoaXMuaGFzQ2xhc3MoICJ1aS1zZWxlY3RlZCIgKSwNCgkJCQkJc2VsZWN0aW5nOiAkdGhpcy5oYXNDbGFzcyggInVpLXNlbGVjdGluZyIgKSwNCgkJCQkJdW5zZWxlY3Rpbmc6ICR0aGlzLmhhc0NsYXNzKCAidWktdW5zZWxlY3RpbmciICkNCgkJCQl9ICk7DQoJCQl9ICk7DQoJCX07DQoJCXRoaXMucmVmcmVzaCgpOw0KDQoJCXRoaXMuX21vdXNlSW5pdCgpOw0KDQoJCXRoaXMuaGVscGVyID0gJCggIjxkaXY+IiApOw0KCQl0aGlzLl9hZGRDbGFzcyggdGhpcy5oZWxwZXIsICJ1aS1zZWxlY3RhYmxlLWhlbHBlciIgKTsNCgl9LA0KDQoJX2Rlc3Ryb3k6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLnNlbGVjdGVlcy5yZW1vdmVEYXRhKCAic2VsZWN0YWJsZS1pdGVtIiApOw0KCQl0aGlzLl9tb3VzZURlc3Ryb3koKTsNCgl9LA0KDQoJX21vdXNlU3RhcnQ6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdmFyIHRoYXQgPSB0aGlzLA0KCQkJb3B0aW9ucyA9IHRoaXMub3B0aW9uczsNCg0KCQl0aGlzLm9wb3MgPSBbIGV2ZW50LnBhZ2VYLCBldmVudC5wYWdlWSBdOw0KCQl0aGlzLmVsZW1lbnRQb3MgPSAkKCB0aGlzLmVsZW1lbnRbIDAgXSApLm9mZnNldCgpOw0KDQoJCWlmICggdGhpcy5vcHRpb25zLmRpc2FibGVkICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJdGhpcy5zZWxlY3RlZXMgPSAkKCBvcHRpb25zLmZpbHRlciwgdGhpcy5lbGVtZW50WyAwIF0gKTsNCg0KCQl0aGlzLl90cmlnZ2VyKCAic3RhcnQiLCBldmVudCApOw0KDQoJCSQoIG9wdGlvbnMuYXBwZW5kVG8gKS5hcHBlbmQoIHRoaXMuaGVscGVyICk7DQoNCgkJLy8gcG9zaXRpb24gaGVscGVyIChsYXNzbykNCgkJdGhpcy5oZWxwZXIuY3NzKCB7DQoJCQkibGVmdCI6IGV2ZW50LnBhZ2VYLA0KCQkJInRvcCI6IGV2ZW50LnBhZ2VZLA0KCQkJIndpZHRoIjogMCwNCgkJCSJoZWlnaHQiOiAwDQoJCX0gKTsNCg0KCQlpZiAoIG9wdGlvbnMuYXV0b1JlZnJlc2ggKSB7DQoJCQl0aGlzLnJlZnJlc2goKTsNCgkJfQ0KDQoJCXRoaXMuc2VsZWN0ZWVzLmZpbHRlciggIi51aS1zZWxlY3RlZCIgKS5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCXZhciBzZWxlY3RlZSA9ICQuZGF0YSggdGhpcywgInNlbGVjdGFibGUtaXRlbSIgKTsNCgkJCXNlbGVjdGVlLnN0YXJ0c2VsZWN0ZWQgPSB0cnVlOw0KCQkJaWYgKCAhZXZlbnQubWV0YUtleSAmJiAhZXZlbnQuY3RybEtleSApIHsNCgkJCQl0aGF0Ll9yZW1vdmVDbGFzcyggc2VsZWN0ZWUuJGVsZW1lbnQsICJ1aS1zZWxlY3RlZCIgKTsNCgkJCQlzZWxlY3RlZS5zZWxlY3RlZCA9IGZhbHNlOw0KCQkJCXRoYXQuX2FkZENsYXNzKCBzZWxlY3RlZS4kZWxlbWVudCwgInVpLXVuc2VsZWN0aW5nIiApOw0KCQkJCXNlbGVjdGVlLnVuc2VsZWN0aW5nID0gdHJ1ZTsNCg0KCQkJCS8vIHNlbGVjdGFibGUgVU5TRUxFQ1RJTkcgY2FsbGJhY2sNCgkJCQl0aGF0Ll90cmlnZ2VyKCAidW5zZWxlY3RpbmciLCBldmVudCwgew0KCQkJCQl1bnNlbGVjdGluZzogc2VsZWN0ZWUuZWxlbWVudA0KCQkJCX0gKTsNCgkJCX0NCgkJfSApOw0KDQoJCSQoIGV2ZW50LnRhcmdldCApLnBhcmVudHMoKS5hZGRCYWNrKCkuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQl2YXIgZG9TZWxlY3QsDQoJCQkJc2VsZWN0ZWUgPSAkLmRhdGEoIHRoaXMsICJzZWxlY3RhYmxlLWl0ZW0iICk7DQoJCQlpZiAoIHNlbGVjdGVlICkgew0KCQkJCWRvU2VsZWN0ID0gKCAhZXZlbnQubWV0YUtleSAmJiAhZXZlbnQuY3RybEtleSApIHx8DQoJCQkJCSFzZWxlY3RlZS4kZWxlbWVudC5oYXNDbGFzcyggInVpLXNlbGVjdGVkIiApOw0KCQkJCXRoYXQuX3JlbW92ZUNsYXNzKCBzZWxlY3RlZS4kZWxlbWVudCwgZG9TZWxlY3QgPyAidWktdW5zZWxlY3RpbmciIDogInVpLXNlbGVjdGVkIiApDQoJCQkJCS5fYWRkQ2xhc3MoIHNlbGVjdGVlLiRlbGVtZW50LCBkb1NlbGVjdCA/ICJ1aS1zZWxlY3RpbmciIDogInVpLXVuc2VsZWN0aW5nIiApOw0KCQkJCXNlbGVjdGVlLnVuc2VsZWN0aW5nID0gIWRvU2VsZWN0Ow0KCQkJCXNlbGVjdGVlLnNlbGVjdGluZyA9IGRvU2VsZWN0Ow0KCQkJCXNlbGVjdGVlLnNlbGVjdGVkID0gZG9TZWxlY3Q7DQoNCgkJCQkvLyBzZWxlY3RhYmxlIChVTilTRUxFQ1RJTkcgY2FsbGJhY2sNCgkJCQlpZiAoIGRvU2VsZWN0ICkgew0KCQkJCQl0aGF0Ll90cmlnZ2VyKCAic2VsZWN0aW5nIiwgZXZlbnQsIHsNCgkJCQkJCXNlbGVjdGluZzogc2VsZWN0ZWUuZWxlbWVudA0KCQkJCQl9ICk7DQoJCQkJfSBlbHNlIHsNCgkJCQkJdGhhdC5fdHJpZ2dlciggInVuc2VsZWN0aW5nIiwgZXZlbnQsIHsNCgkJCQkJCXVuc2VsZWN0aW5nOiBzZWxlY3RlZS5lbGVtZW50DQoJCQkJCX0gKTsNCgkJCQl9DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfQ0KCQl9ICk7DQoNCgl9LA0KDQoJX21vdXNlRHJhZzogZnVuY3Rpb24oIGV2ZW50ICkgew0KDQoJCXRoaXMuZHJhZ2dlZCA9IHRydWU7DQoNCgkJaWYgKCB0aGlzLm9wdGlvbnMuZGlzYWJsZWQgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQl2YXIgdG1wLA0KCQkJdGhhdCA9IHRoaXMsDQoJCQlvcHRpb25zID0gdGhpcy5vcHRpb25zLA0KCQkJeDEgPSB0aGlzLm9wb3NbIDAgXSwNCgkJCXkxID0gdGhpcy5vcG9zWyAxIF0sDQoJCQl4MiA9IGV2ZW50LnBhZ2VYLA0KCQkJeTIgPSBldmVudC5wYWdlWTsNCg0KCQlpZiAoIHgxID4geDIgKSB7IHRtcCA9IHgyOyB4MiA9IHgxOyB4MSA9IHRtcDsgfQ0KCQlpZiAoIHkxID4geTIgKSB7IHRtcCA9IHkyOyB5MiA9IHkxOyB5MSA9IHRtcDsgfQ0KCQl0aGlzLmhlbHBlci5jc3MoIHsgbGVmdDogeDEsIHRvcDogeTEsIHdpZHRoOiB4MiAtIHgxLCBoZWlnaHQ6IHkyIC0geTEgfSApOw0KDQoJCXRoaXMuc2VsZWN0ZWVzLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJdmFyIHNlbGVjdGVlID0gJC5kYXRhKCB0aGlzLCAic2VsZWN0YWJsZS1pdGVtIiApLA0KCQkJCWhpdCA9IGZhbHNlLA0KCQkJCW9mZnNldCA9IHt9Ow0KDQoJCQkvL3ByZXZlbnQgaGVscGVyIGZyb20gYmVpbmcgc2VsZWN0ZWQgaWYgYXBwZW5kVG86IHNlbGVjdGFibGUNCgkJCWlmICggIXNlbGVjdGVlIHx8IHNlbGVjdGVlLmVsZW1lbnQgPT09IHRoYXQuZWxlbWVudFsgMCBdICkgew0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJb2Zmc2V0LmxlZnQgICA9IHNlbGVjdGVlLmxlZnQgICArIHRoYXQuZWxlbWVudFBvcy5sZWZ0Ow0KCQkJb2Zmc2V0LnJpZ2h0ICA9IHNlbGVjdGVlLnJpZ2h0ICArIHRoYXQuZWxlbWVudFBvcy5sZWZ0Ow0KCQkJb2Zmc2V0LnRvcCAgICA9IHNlbGVjdGVlLnRvcCAgICArIHRoYXQuZWxlbWVudFBvcy50b3A7DQoJCQlvZmZzZXQuYm90dG9tID0gc2VsZWN0ZWUuYm90dG9tICsgdGhhdC5lbGVtZW50UG9zLnRvcDsNCg0KCQkJaWYgKCBvcHRpb25zLnRvbGVyYW5jZSA9PT0gInRvdWNoIiApIHsNCgkJCQloaXQgPSAoICEoIG9mZnNldC5sZWZ0ID4geDIgfHwgb2Zmc2V0LnJpZ2h0IDwgeDEgfHwgb2Zmc2V0LnRvcCA+IHkyIHx8DQogICAgICAgICAgICAgICAgICAgIG9mZnNldC5ib3R0b20gPCB5MSApICk7DQoJCQl9IGVsc2UgaWYgKCBvcHRpb25zLnRvbGVyYW5jZSA9PT0gImZpdCIgKSB7DQoJCQkJaGl0ID0gKCBvZmZzZXQubGVmdCA+IHgxICYmIG9mZnNldC5yaWdodCA8IHgyICYmIG9mZnNldC50b3AgPiB5MSAmJg0KICAgICAgICAgICAgICAgICAgICBvZmZzZXQuYm90dG9tIDwgeTIgKTsNCgkJCX0NCg0KCQkJaWYgKCBoaXQgKSB7DQoNCgkJCQkvLyBTRUxFQ1QNCgkJCQlpZiAoIHNlbGVjdGVlLnNlbGVjdGVkICkgew0KCQkJCQl0aGF0Ll9yZW1vdmVDbGFzcyggc2VsZWN0ZWUuJGVsZW1lbnQsICJ1aS1zZWxlY3RlZCIgKTsNCgkJCQkJc2VsZWN0ZWUuc2VsZWN0ZWQgPSBmYWxzZTsNCgkJCQl9DQoJCQkJaWYgKCBzZWxlY3RlZS51bnNlbGVjdGluZyApIHsNCgkJCQkJdGhhdC5fcmVtb3ZlQ2xhc3MoIHNlbGVjdGVlLiRlbGVtZW50LCAidWktdW5zZWxlY3RpbmciICk7DQoJCQkJCXNlbGVjdGVlLnVuc2VsZWN0aW5nID0gZmFsc2U7DQoJCQkJfQ0KCQkJCWlmICggIXNlbGVjdGVlLnNlbGVjdGluZyApIHsNCgkJCQkJdGhhdC5fYWRkQ2xhc3MoIHNlbGVjdGVlLiRlbGVtZW50LCAidWktc2VsZWN0aW5nIiApOw0KCQkJCQlzZWxlY3RlZS5zZWxlY3RpbmcgPSB0cnVlOw0KDQoJCQkJCS8vIHNlbGVjdGFibGUgU0VMRUNUSU5HIGNhbGxiYWNrDQoJCQkJCXRoYXQuX3RyaWdnZXIoICJzZWxlY3RpbmciLCBldmVudCwgew0KCQkJCQkJc2VsZWN0aW5nOiBzZWxlY3RlZS5lbGVtZW50DQoJCQkJCX0gKTsNCgkJCQl9DQoJCQl9IGVsc2Ugew0KDQoJCQkJLy8gVU5TRUxFQ1QNCgkJCQlpZiAoIHNlbGVjdGVlLnNlbGVjdGluZyApIHsNCgkJCQkJaWYgKCAoIGV2ZW50Lm1ldGFLZXkgfHwgZXZlbnQuY3RybEtleSApICYmIHNlbGVjdGVlLnN0YXJ0c2VsZWN0ZWQgKSB7DQoJCQkJCQl0aGF0Ll9yZW1vdmVDbGFzcyggc2VsZWN0ZWUuJGVsZW1lbnQsICJ1aS1zZWxlY3RpbmciICk7DQoJCQkJCQlzZWxlY3RlZS5zZWxlY3RpbmcgPSBmYWxzZTsNCgkJCQkJCXRoYXQuX2FkZENsYXNzKCBzZWxlY3RlZS4kZWxlbWVudCwgInVpLXNlbGVjdGVkIiApOw0KCQkJCQkJc2VsZWN0ZWUuc2VsZWN0ZWQgPSB0cnVlOw0KCQkJCQl9IGVsc2Ugew0KCQkJCQkJdGhhdC5fcmVtb3ZlQ2xhc3MoIHNlbGVjdGVlLiRlbGVtZW50LCAidWktc2VsZWN0aW5nIiApOw0KCQkJCQkJc2VsZWN0ZWUuc2VsZWN0aW5nID0gZmFsc2U7DQoJCQkJCQlpZiAoIHNlbGVjdGVlLnN0YXJ0c2VsZWN0ZWQgKSB7DQoJCQkJCQkJdGhhdC5fYWRkQ2xhc3MoIHNlbGVjdGVlLiRlbGVtZW50LCAidWktdW5zZWxlY3RpbmciICk7DQoJCQkJCQkJc2VsZWN0ZWUudW5zZWxlY3RpbmcgPSB0cnVlOw0KCQkJCQkJfQ0KDQoJCQkJCQkvLyBzZWxlY3RhYmxlIFVOU0VMRUNUSU5HIGNhbGxiYWNrDQoJCQkJCQl0aGF0Ll90cmlnZ2VyKCAidW5zZWxlY3RpbmciLCBldmVudCwgew0KCQkJCQkJCXVuc2VsZWN0aW5nOiBzZWxlY3RlZS5lbGVtZW50DQoJCQkJCQl9ICk7DQoJCQkJCX0NCgkJCQl9DQoJCQkJaWYgKCBzZWxlY3RlZS5zZWxlY3RlZCApIHsNCgkJCQkJaWYgKCAhZXZlbnQubWV0YUtleSAmJiAhZXZlbnQuY3RybEtleSAmJiAhc2VsZWN0ZWUuc3RhcnRzZWxlY3RlZCApIHsNCgkJCQkJCXRoYXQuX3JlbW92ZUNsYXNzKCBzZWxlY3RlZS4kZWxlbWVudCwgInVpLXNlbGVjdGVkIiApOw0KCQkJCQkJc2VsZWN0ZWUuc2VsZWN0ZWQgPSBmYWxzZTsNCg0KCQkJCQkJdGhhdC5fYWRkQ2xhc3MoIHNlbGVjdGVlLiRlbGVtZW50LCAidWktdW5zZWxlY3RpbmciICk7DQoJCQkJCQlzZWxlY3RlZS51bnNlbGVjdGluZyA9IHRydWU7DQoNCgkJCQkJCS8vIHNlbGVjdGFibGUgVU5TRUxFQ1RJTkcgY2FsbGJhY2sNCgkJCQkJCXRoYXQuX3RyaWdnZXIoICJ1bnNlbGVjdGluZyIsIGV2ZW50LCB7DQoJCQkJCQkJdW5zZWxlY3Rpbmc6IHNlbGVjdGVlLmVsZW1lbnQNCgkJCQkJCX0gKTsNCgkJCQkJfQ0KCQkJCX0NCgkJCX0NCgkJfSApOw0KDQoJCXJldHVybiBmYWxzZTsNCgl9LA0KDQoJX21vdXNlU3RvcDogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl2YXIgdGhhdCA9IHRoaXM7DQoNCgkJdGhpcy5kcmFnZ2VkID0gZmFsc2U7DQoNCgkJJCggIi51aS11bnNlbGVjdGluZyIsIHRoaXMuZWxlbWVudFsgMCBdICkuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQl2YXIgc2VsZWN0ZWUgPSAkLmRhdGEoIHRoaXMsICJzZWxlY3RhYmxlLWl0ZW0iICk7DQoJCQl0aGF0Ll9yZW1vdmVDbGFzcyggc2VsZWN0ZWUuJGVsZW1lbnQsICJ1aS11bnNlbGVjdGluZyIgKTsNCgkJCXNlbGVjdGVlLnVuc2VsZWN0aW5nID0gZmFsc2U7DQoJCQlzZWxlY3RlZS5zdGFydHNlbGVjdGVkID0gZmFsc2U7DQoJCQl0aGF0Ll90cmlnZ2VyKCAidW5zZWxlY3RlZCIsIGV2ZW50LCB7DQoJCQkJdW5zZWxlY3RlZDogc2VsZWN0ZWUuZWxlbWVudA0KCQkJfSApOw0KCQl9ICk7DQoJCSQoICIudWktc2VsZWN0aW5nIiwgdGhpcy5lbGVtZW50WyAwIF0gKS5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCXZhciBzZWxlY3RlZSA9ICQuZGF0YSggdGhpcywgInNlbGVjdGFibGUtaXRlbSIgKTsNCgkJCXRoYXQuX3JlbW92ZUNsYXNzKCBzZWxlY3RlZS4kZWxlbWVudCwgInVpLXNlbGVjdGluZyIgKQ0KCQkJCS5fYWRkQ2xhc3MoIHNlbGVjdGVlLiRlbGVtZW50LCAidWktc2VsZWN0ZWQiICk7DQoJCQlzZWxlY3RlZS5zZWxlY3RpbmcgPSBmYWxzZTsNCgkJCXNlbGVjdGVlLnNlbGVjdGVkID0gdHJ1ZTsNCgkJCXNlbGVjdGVlLnN0YXJ0c2VsZWN0ZWQgPSB0cnVlOw0KCQkJdGhhdC5fdHJpZ2dlciggInNlbGVjdGVkIiwgZXZlbnQsIHsNCgkJCQlzZWxlY3RlZDogc2VsZWN0ZWUuZWxlbWVudA0KCQkJfSApOw0KCQl9ICk7DQoJCXRoaXMuX3RyaWdnZXIoICJzdG9wIiwgZXZlbnQgKTsNCg0KCQl0aGlzLmhlbHBlci5yZW1vdmUoKTsNCg0KCQlyZXR1cm4gZmFsc2U7DQoJfQ0KDQp9ICk7DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgU2VsZWN0bWVudSAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogU2VsZWN0bWVudQ0KLy8+Pmdyb3VwOiBXaWRnZXRzDQovLyBqc2NzOmRpc2FibGUgbWF4aW11bUxpbmVMZW5ndGgNCi8vPj5kZXNjcmlwdGlvbjogRHVwbGljYXRlcyBhbmQgZXh0ZW5kcyB0aGUgZnVuY3Rpb25hbGl0eSBvZiBhIG5hdGl2ZSBIVE1MIHNlbGVjdCBlbGVtZW50LCBhbGxvd2luZyBpdCB0byBiZSBjdXN0b21pemFibGUgaW4gYmVoYXZpb3IgYW5kIGFwcGVhcmFuY2UgZmFyIGJleW9uZCB0aGUgbGltaXRhdGlvbnMgb2YgYSBuYXRpdmUgc2VsZWN0Lg0KLy8ganNjczplbmFibGUgbWF4aW11bUxpbmVMZW5ndGgNCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9zZWxlY3RtZW51Lw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL3NlbGVjdG1lbnUvDQovLz4+Y3NzLnN0cnVjdHVyZTogLi4vLi4vdGhlbWVzL2Jhc2UvY29yZS5jc3MNCi8vPj5jc3Muc3RydWN0dXJlOiAuLi8uLi90aGVtZXMvYmFzZS9zZWxlY3RtZW51LmNzcywgLi4vLi4vdGhlbWVzL2Jhc2UvYnV0dG9uLmNzcw0KLy8+PmNzcy50aGVtZTogLi4vLi4vdGhlbWVzL2Jhc2UvdGhlbWUuY3NzDQoNCg0KDQp2YXIgd2lkZ2V0c1NlbGVjdG1lbnUgPSAkLndpZGdldCggInVpLnNlbGVjdG1lbnUiLCBbICQudWkuZm9ybVJlc2V0TWl4aW4sIHsNCgl2ZXJzaW9uOiAiMS4xMi4xIiwNCglkZWZhdWx0RWxlbWVudDogIjxzZWxlY3Q+IiwNCglvcHRpb25zOiB7DQoJCWFwcGVuZFRvOiBudWxsLA0KCQljbGFzc2VzOiB7DQoJCQkidWktc2VsZWN0bWVudS1idXR0b24tb3BlbiI6ICJ1aS1jb3JuZXItdG9wIiwNCgkJCSJ1aS1zZWxlY3RtZW51LWJ1dHRvbi1jbG9zZWQiOiAidWktY29ybmVyLWFsbCINCgkJfSwNCgkJZGlzYWJsZWQ6IG51bGwsDQoJCWljb25zOiB7DQoJCQlidXR0b246ICJ1aS1pY29uLXRyaWFuZ2xlLTEtcyINCgkJfSwNCgkJcG9zaXRpb246IHsNCgkJCW15OiAibGVmdCB0b3AiLA0KCQkJYXQ6ICJsZWZ0IGJvdHRvbSIsDQoJCQljb2xsaXNpb246ICJub25lIg0KCQl9LA0KCQl3aWR0aDogZmFsc2UsDQoNCgkJLy8gQ2FsbGJhY2tzDQoJCWNoYW5nZTogbnVsbCwNCgkJY2xvc2U6IG51bGwsDQoJCWZvY3VzOiBudWxsLA0KCQlvcGVuOiBudWxsLA0KCQlzZWxlY3Q6IG51bGwNCgl9LA0KDQoJX2NyZWF0ZTogZnVuY3Rpb24oKSB7DQoJCXZhciBzZWxlY3RtZW51SWQgPSB0aGlzLmVsZW1lbnQudW5pcXVlSWQoKS5hdHRyKCAiaWQiICk7DQoJCXRoaXMuaWRzID0gew0KCQkJZWxlbWVudDogc2VsZWN0bWVudUlkLA0KCQkJYnV0dG9uOiBzZWxlY3RtZW51SWQgKyAiLWJ1dHRvbiIsDQoJCQltZW51OiBzZWxlY3RtZW51SWQgKyAiLW1lbnUiDQoJCX07DQoNCgkJdGhpcy5fZHJhd0J1dHRvbigpOw0KCQl0aGlzLl9kcmF3TWVudSgpOw0KCQl0aGlzLl9iaW5kRm9ybVJlc2V0SGFuZGxlcigpOw0KDQoJCXRoaXMuX3JlbmRlcmVkID0gZmFsc2U7DQoJCXRoaXMubWVudUl0ZW1zID0gJCgpOw0KCX0sDQoNCglfZHJhd0J1dHRvbjogZnVuY3Rpb24oKSB7DQoJCXZhciBpY29uLA0KCQkJdGhhdCA9IHRoaXMsDQoJCQlpdGVtID0gdGhpcy5fcGFyc2VPcHRpb24oDQoJCQkJdGhpcy5lbGVtZW50LmZpbmQoICJvcHRpb246c2VsZWN0ZWQiICksDQoJCQkJdGhpcy5lbGVtZW50WyAwIF0uc2VsZWN0ZWRJbmRleA0KCQkJKTsNCg0KCQkvLyBBc3NvY2lhdGUgZXhpc3RpbmcgbGFiZWwgd2l0aCB0aGUgbmV3IGJ1dHRvbg0KCQl0aGlzLmxhYmVscyA9IHRoaXMuZWxlbWVudC5sYWJlbHMoKS5hdHRyKCAiZm9yIiwgdGhpcy5pZHMuYnV0dG9uICk7DQoJCXRoaXMuX29uKCB0aGlzLmxhYmVscywgew0KCQkJY2xpY2s6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCQl0aGlzLmJ1dHRvbi5mb2N1cygpOw0KCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCQl9DQoJCX0gKTsNCg0KCQkvLyBIaWRlIG9yaWdpbmFsIHNlbGVjdCBlbGVtZW50DQoJCXRoaXMuZWxlbWVudC5oaWRlKCk7DQoNCgkJLy8gQ3JlYXRlIGJ1dHRvbg0KCQl0aGlzLmJ1dHRvbiA9ICQoICI8c3Bhbj4iLCB7DQoJCQl0YWJpbmRleDogdGhpcy5vcHRpb25zLmRpc2FibGVkID8gLTEgOiAwLA0KCQkJaWQ6IHRoaXMuaWRzLmJ1dHRvbiwNCgkJCXJvbGU6ICJjb21ib2JveCIsDQoJCQkiYXJpYS1leHBhbmRlZCI6ICJmYWxzZSIsDQoJCQkiYXJpYS1hdXRvY29tcGxldGUiOiAibGlzdCIsDQoJCQkiYXJpYS1vd25zIjogdGhpcy5pZHMubWVudSwNCgkJCSJhcmlhLWhhc3BvcHVwIjogInRydWUiLA0KCQkJdGl0bGU6IHRoaXMuZWxlbWVudC5hdHRyKCAidGl0bGUiICkNCgkJfSApDQoJCQkuaW5zZXJ0QWZ0ZXIoIHRoaXMuZWxlbWVudCApOw0KDQoJCXRoaXMuX2FkZENsYXNzKCB0aGlzLmJ1dHRvbiwgInVpLXNlbGVjdG1lbnUtYnV0dG9uIHVpLXNlbGVjdG1lbnUtYnV0dG9uLWNsb3NlZCIsDQoJCQkidWktYnV0dG9uIHVpLXdpZGdldCIgKTsNCg0KCQlpY29uID0gJCggIjxzcGFuPiIgKS5hcHBlbmRUbyggdGhpcy5idXR0b24gKTsNCgkJdGhpcy5fYWRkQ2xhc3MoIGljb24sICJ1aS1zZWxlY3RtZW51LWljb24iLCAidWktaWNvbiAiICsgdGhpcy5vcHRpb25zLmljb25zLmJ1dHRvbiApOw0KCQl0aGlzLmJ1dHRvbkl0ZW0gPSB0aGlzLl9yZW5kZXJCdXR0b25JdGVtKCBpdGVtICkNCgkJCS5hcHBlbmRUbyggdGhpcy5idXR0b24gKTsNCg0KCQlpZiAoIHRoaXMub3B0aW9ucy53aWR0aCAhPT0gZmFsc2UgKSB7DQoJCQl0aGlzLl9yZXNpemVCdXR0b24oKTsNCgkJfQ0KDQoJCXRoaXMuX29uKCB0aGlzLmJ1dHRvbiwgdGhpcy5fYnV0dG9uRXZlbnRzICk7DQoJCXRoaXMuYnV0dG9uLm9uZSggImZvY3VzaW4iLCBmdW5jdGlvbigpIHsNCg0KCQkJLy8gRGVsYXkgcmVuZGVyaW5nIHRoZSBtZW51IGl0ZW1zIHVudGlsIHRoZSBidXR0b24gcmVjZWl2ZXMgZm9jdXMuDQoJCQkvLyBUaGUgbWVudSBtYXkgaGF2ZSBhbHJlYWR5IGJlZW4gcmVuZGVyZWQgdmlhIGEgcHJvZ3JhbW1hdGljIG9wZW4uDQoJCQlpZiAoICF0aGF0Ll9yZW5kZXJlZCApIHsNCgkJCQl0aGF0Ll9yZWZyZXNoTWVudSgpOw0KCQkJfQ0KCQl9ICk7DQoJfSwNCg0KCV9kcmF3TWVudTogZnVuY3Rpb24oKSB7DQoJCXZhciB0aGF0ID0gdGhpczsNCg0KCQkvLyBDcmVhdGUgbWVudQ0KCQl0aGlzLm1lbnUgPSAkKCAiPHVsPiIsIHsNCgkJCSJhcmlhLWhpZGRlbiI6ICJ0cnVlIiwNCgkJCSJhcmlhLWxhYmVsbGVkYnkiOiB0aGlzLmlkcy5idXR0b24sDQoJCQlpZDogdGhpcy5pZHMubWVudQ0KCQl9ICk7DQoNCgkJLy8gV3JhcCBtZW51DQoJCXRoaXMubWVudVdyYXAgPSAkKCAiPGRpdj4iICkuYXBwZW5kKCB0aGlzLm1lbnUgKTsNCgkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMubWVudVdyYXAsICJ1aS1zZWxlY3RtZW51LW1lbnUiLCAidWktZnJvbnQiICk7DQoJCXRoaXMubWVudVdyYXAuYXBwZW5kVG8oIHRoaXMuX2FwcGVuZFRvKCkgKTsNCg0KCQkvLyBJbml0aWFsaXplIG1lbnUgd2lkZ2V0DQoJCXRoaXMubWVudUluc3RhbmNlID0gdGhpcy5tZW51DQoJCQkubWVudSggew0KCQkJCWNsYXNzZXM6IHsNCgkJCQkJInVpLW1lbnUiOiAidWktY29ybmVyLWJvdHRvbSINCgkJCQl9LA0KCQkJCXJvbGU6ICJsaXN0Ym94IiwNCgkJCQlzZWxlY3Q6IGZ1bmN0aW9uKCBldmVudCwgdWkgKSB7DQoJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoNCgkJCQkJLy8gU3VwcG9ydDogSUU4DQoJCQkJCS8vIElmIHRoZSBpdGVtIHdhcyBzZWxlY3RlZCB2aWEgYSBjbGljaywgdGhlIHRleHQgc2VsZWN0aW9uDQoJCQkJCS8vIHdpbGwgYmUgZGVzdHJveWVkIGluIElFDQoJCQkJCXRoYXQuX3NldFNlbGVjdGlvbigpOw0KDQoJCQkJCXRoYXQuX3NlbGVjdCggdWkuaXRlbS5kYXRhKCAidWktc2VsZWN0bWVudS1pdGVtIiApLCBldmVudCApOw0KCQkJCX0sDQoJCQkJZm9jdXM6IGZ1bmN0aW9uKCBldmVudCwgdWkgKSB7DQoJCQkJCXZhciBpdGVtID0gdWkuaXRlbS5kYXRhKCAidWktc2VsZWN0bWVudS1pdGVtIiApOw0KDQoJCQkJCS8vIFByZXZlbnQgaW5pdGFsIGZvY3VzIGZyb20gZmlyaW5nIGFuZCBjaGVjayBpZiBpdHMgYSBuZXdseSBmb2N1c2VkIGl0ZW0NCgkJCQkJaWYgKCB0aGF0LmZvY3VzSW5kZXggIT0gbnVsbCAmJiBpdGVtLmluZGV4ICE9PSB0aGF0LmZvY3VzSW5kZXggKSB7DQoJCQkJCQl0aGF0Ll90cmlnZ2VyKCAiZm9jdXMiLCBldmVudCwgeyBpdGVtOiBpdGVtIH0gKTsNCgkJCQkJCWlmICggIXRoYXQuaXNPcGVuICkgew0KCQkJCQkJCXRoYXQuX3NlbGVjdCggaXRlbSwgZXZlbnQgKTsNCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCQl0aGF0LmZvY3VzSW5kZXggPSBpdGVtLmluZGV4Ow0KDQoJCQkJCXRoYXQuYnV0dG9uLmF0dHIoICJhcmlhLWFjdGl2ZWRlc2NlbmRhbnQiLA0KCQkJCQkJdGhhdC5tZW51SXRlbXMuZXEoIGl0ZW0uaW5kZXggKS5hdHRyKCAiaWQiICkgKTsNCgkJCQl9DQoJCQl9ICkNCgkJCS5tZW51KCAiaW5zdGFuY2UiICk7DQoNCgkJLy8gRG9uJ3QgY2xvc2UgdGhlIG1lbnUgb24gbW91c2VsZWF2ZQ0KCQl0aGlzLm1lbnVJbnN0YW5jZS5fb2ZmKCB0aGlzLm1lbnUsICJtb3VzZWxlYXZlIiApOw0KDQoJCS8vIENhbmNlbCB0aGUgbWVudSdzIGNvbGxhcHNlQWxsIG9uIGRvY3VtZW50IGNsaWNrDQoJCXRoaXMubWVudUluc3RhbmNlLl9jbG9zZU9uRG9jdW1lbnRDbGljayA9IGZ1bmN0aW9uKCkgew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9Ow0KDQoJCS8vIFNlbGVjdHMgb2Z0ZW4gY29udGFpbiBlbXB0eSBpdGVtcywgYnV0IG5ldmVyIGNvbnRhaW4gZGl2aWRlcnMNCgkJdGhpcy5tZW51SW5zdGFuY2UuX2lzRGl2aWRlciA9IGZ1bmN0aW9uKCkgew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9Ow0KCX0sDQoNCglyZWZyZXNoOiBmdW5jdGlvbigpIHsNCgkJdGhpcy5fcmVmcmVzaE1lbnUoKTsNCgkJdGhpcy5idXR0b25JdGVtLnJlcGxhY2VXaXRoKA0KCQkJdGhpcy5idXR0b25JdGVtID0gdGhpcy5fcmVuZGVyQnV0dG9uSXRlbSgNCg0KCQkJCS8vIEZhbGwgYmFjayB0byBhbiBlbXB0eSBvYmplY3QgaW4gY2FzZSB0aGVyZSBhcmUgbm8gb3B0aW9ucw0KCQkJCXRoaXMuX2dldFNlbGVjdGVkSXRlbSgpLmRhdGEoICJ1aS1zZWxlY3RtZW51LWl0ZW0iICkgfHwge30NCgkJCSkNCgkJKTsNCgkJaWYgKCB0aGlzLm9wdGlvbnMud2lkdGggPT09IG51bGwgKSB7DQoJCQl0aGlzLl9yZXNpemVCdXR0b24oKTsNCgkJfQ0KCX0sDQoNCglfcmVmcmVzaE1lbnU6IGZ1bmN0aW9uKCkgew0KCQl2YXIgaXRlbSwNCgkJCW9wdGlvbnMgPSB0aGlzLmVsZW1lbnQuZmluZCggIm9wdGlvbiIgKTsNCg0KCQl0aGlzLm1lbnUuZW1wdHkoKTsNCg0KCQl0aGlzLl9wYXJzZU9wdGlvbnMoIG9wdGlvbnMgKTsNCgkJdGhpcy5fcmVuZGVyTWVudSggdGhpcy5tZW51LCB0aGlzLml0ZW1zICk7DQoNCgkJdGhpcy5tZW51SW5zdGFuY2UucmVmcmVzaCgpOw0KCQl0aGlzLm1lbnVJdGVtcyA9IHRoaXMubWVudS5maW5kKCAibGkiICkNCgkJCS5ub3QoICIudWktc2VsZWN0bWVudS1vcHRncm91cCIgKQ0KCQkJCS5maW5kKCAiLnVpLW1lbnUtaXRlbS13cmFwcGVyIiApOw0KDQoJCXRoaXMuX3JlbmRlcmVkID0gdHJ1ZTsNCg0KCQlpZiAoICFvcHRpb25zLmxlbmd0aCApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCWl0ZW0gPSB0aGlzLl9nZXRTZWxlY3RlZEl0ZW0oKTsNCg0KCQkvLyBVcGRhdGUgdGhlIG1lbnUgdG8gaGF2ZSB0aGUgY29ycmVjdCBpdGVtIGZvY3VzZWQNCgkJdGhpcy5tZW51SW5zdGFuY2UuZm9jdXMoIG51bGwsIGl0ZW0gKTsNCgkJdGhpcy5fc2V0QXJpYSggaXRlbS5kYXRhKCAidWktc2VsZWN0bWVudS1pdGVtIiApICk7DQoNCgkJLy8gU2V0IGRpc2FibGVkIHN0YXRlDQoJCXRoaXMuX3NldE9wdGlvbiggImRpc2FibGVkIiwgdGhpcy5lbGVtZW50LnByb3AoICJkaXNhYmxlZCIgKSApOw0KCX0sDQoNCglvcGVuOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCWlmICggdGhpcy5vcHRpb25zLmRpc2FibGVkICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJLy8gSWYgdGhpcyBpcyB0aGUgZmlyc3QgdGltZSB0aGUgbWVudSBpcyBiZWluZyBvcGVuZWQsIHJlbmRlciB0aGUgaXRlbXMNCgkJaWYgKCAhdGhpcy5fcmVuZGVyZWQgKSB7DQoJCQl0aGlzLl9yZWZyZXNoTWVudSgpOw0KCQl9IGVsc2Ugew0KDQoJCQkvLyBNZW51IGNsZWFycyBmb2N1cyBvbiBjbG9zZSwgcmVzZXQgZm9jdXMgdG8gc2VsZWN0ZWQgaXRlbQ0KCQkJdGhpcy5fcmVtb3ZlQ2xhc3MoIHRoaXMubWVudS5maW5kKCAiLnVpLXN0YXRlLWFjdGl2ZSIgKSwgbnVsbCwgInVpLXN0YXRlLWFjdGl2ZSIgKTsNCgkJCXRoaXMubWVudUluc3RhbmNlLmZvY3VzKCBudWxsLCB0aGlzLl9nZXRTZWxlY3RlZEl0ZW0oKSApOw0KCQl9DQoNCgkJLy8gSWYgdGhlcmUgYXJlIG5vIG9wdGlvbnMsIGRvbid0IG9wZW4gdGhlIG1lbnUNCgkJaWYgKCAhdGhpcy5tZW51SXRlbXMubGVuZ3RoICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJdGhpcy5pc09wZW4gPSB0cnVlOw0KCQl0aGlzLl90b2dnbGVBdHRyKCk7DQoJCXRoaXMuX3Jlc2l6ZU1lbnUoKTsNCgkJdGhpcy5fcG9zaXRpb24oKTsNCg0KCQl0aGlzLl9vbiggdGhpcy5kb2N1bWVudCwgdGhpcy5fZG9jdW1lbnRDbGljayApOw0KDQoJCXRoaXMuX3RyaWdnZXIoICJvcGVuIiwgZXZlbnQgKTsNCgl9LA0KDQoJX3Bvc2l0aW9uOiBmdW5jdGlvbigpIHsNCgkJdGhpcy5tZW51V3JhcC5wb3NpdGlvbiggJC5leHRlbmQoIHsgb2Y6IHRoaXMuYnV0dG9uIH0sIHRoaXMub3B0aW9ucy5wb3NpdGlvbiApICk7DQoJfSwNCg0KCWNsb3NlOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCWlmICggIXRoaXMuaXNPcGVuICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJdGhpcy5pc09wZW4gPSBmYWxzZTsNCgkJdGhpcy5fdG9nZ2xlQXR0cigpOw0KDQoJCXRoaXMucmFuZ2UgPSBudWxsOw0KCQl0aGlzLl9vZmYoIHRoaXMuZG9jdW1lbnQgKTsNCg0KCQl0aGlzLl90cmlnZ2VyKCAiY2xvc2UiLCBldmVudCApOw0KCX0sDQoNCgl3aWRnZXQ6IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gdGhpcy5idXR0b247DQoJfSwNCg0KCW1lbnVXaWRnZXQ6IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gdGhpcy5tZW51Ow0KCX0sDQoNCglfcmVuZGVyQnV0dG9uSXRlbTogZnVuY3Rpb24oIGl0ZW0gKSB7DQoJCXZhciBidXR0b25JdGVtID0gJCggIjxzcGFuPiIgKTsNCg0KCQl0aGlzLl9zZXRUZXh0KCBidXR0b25JdGVtLCBpdGVtLmxhYmVsICk7DQoJCXRoaXMuX2FkZENsYXNzKCBidXR0b25JdGVtLCAidWktc2VsZWN0bWVudS10ZXh0IiApOw0KDQoJCXJldHVybiBidXR0b25JdGVtOw0KCX0sDQoNCglfcmVuZGVyTWVudTogZnVuY3Rpb24oIHVsLCBpdGVtcyApIHsNCgkJdmFyIHRoYXQgPSB0aGlzLA0KCQkJY3VycmVudE9wdGdyb3VwID0gIiI7DQoNCgkJJC5lYWNoKCBpdGVtcywgZnVuY3Rpb24oIGluZGV4LCBpdGVtICkgew0KCQkJdmFyIGxpOw0KDQoJCQlpZiAoIGl0ZW0ub3B0Z3JvdXAgIT09IGN1cnJlbnRPcHRncm91cCApIHsNCgkJCQlsaSA9ICQoICI8bGk+Iiwgew0KCQkJCQl0ZXh0OiBpdGVtLm9wdGdyb3VwDQoJCQkJfSApOw0KCQkJCXRoYXQuX2FkZENsYXNzKCBsaSwgInVpLXNlbGVjdG1lbnUtb3B0Z3JvdXAiLCAidWktbWVudS1kaXZpZGVyIiArDQoJCQkJCSggaXRlbS5lbGVtZW50LnBhcmVudCggIm9wdGdyb3VwIiApLnByb3AoICJkaXNhYmxlZCIgKSA/DQoJCQkJCQkiIHVpLXN0YXRlLWRpc2FibGVkIiA6DQoJCQkJCQkiIiApICk7DQoNCgkJCQlsaS5hcHBlbmRUbyggdWwgKTsNCg0KCQkJCWN1cnJlbnRPcHRncm91cCA9IGl0ZW0ub3B0Z3JvdXA7DQoJCQl9DQoNCgkJCXRoYXQuX3JlbmRlckl0ZW1EYXRhKCB1bCwgaXRlbSApOw0KCQl9ICk7DQoJfSwNCg0KCV9yZW5kZXJJdGVtRGF0YTogZnVuY3Rpb24oIHVsLCBpdGVtICkgew0KCQlyZXR1cm4gdGhpcy5fcmVuZGVySXRlbSggdWwsIGl0ZW0gKS5kYXRhKCAidWktc2VsZWN0bWVudS1pdGVtIiwgaXRlbSApOw0KCX0sDQoNCglfcmVuZGVySXRlbTogZnVuY3Rpb24oIHVsLCBpdGVtICkgew0KCQl2YXIgbGkgPSAkKCAiPGxpPiIgKSwNCgkJCXdyYXBwZXIgPSAkKCAiPGRpdj4iLCB7DQoJCQkJdGl0bGU6IGl0ZW0uZWxlbWVudC5hdHRyKCAidGl0bGUiICkNCgkJCX0gKTsNCg0KCQlpZiAoIGl0ZW0uZGlzYWJsZWQgKSB7DQoJCQl0aGlzLl9hZGRDbGFzcyggbGksIG51bGwsICJ1aS1zdGF0ZS1kaXNhYmxlZCIgKTsNCgkJfQ0KCQl0aGlzLl9zZXRUZXh0KCB3cmFwcGVyLCBpdGVtLmxhYmVsICk7DQoNCgkJcmV0dXJuIGxpLmFwcGVuZCggd3JhcHBlciApLmFwcGVuZFRvKCB1bCApOw0KCX0sDQoNCglfc2V0VGV4dDogZnVuY3Rpb24oIGVsZW1lbnQsIHZhbHVlICkgew0KCQlpZiAoIHZhbHVlICkgew0KCQkJZWxlbWVudC50ZXh0KCB2YWx1ZSApOw0KCQl9IGVsc2Ugew0KCQkJZWxlbWVudC5odG1sKCAiJiMxNjA7IiApOw0KCQl9DQoJfSwNCg0KCV9tb3ZlOiBmdW5jdGlvbiggZGlyZWN0aW9uLCBldmVudCApIHsNCgkJdmFyIGl0ZW0sIG5leHQsDQoJCQlmaWx0ZXIgPSAiLnVpLW1lbnUtaXRlbSI7DQoNCgkJaWYgKCB0aGlzLmlzT3BlbiApIHsNCgkJCWl0ZW0gPSB0aGlzLm1lbnVJdGVtcy5lcSggdGhpcy5mb2N1c0luZGV4ICkucGFyZW50KCAibGkiICk7DQoJCX0gZWxzZSB7DQoJCQlpdGVtID0gdGhpcy5tZW51SXRlbXMuZXEoIHRoaXMuZWxlbWVudFsgMCBdLnNlbGVjdGVkSW5kZXggKS5wYXJlbnQoICJsaSIgKTsNCgkJCWZpbHRlciArPSAiOm5vdCgudWktc3RhdGUtZGlzYWJsZWQpIjsNCgkJfQ0KDQoJCWlmICggZGlyZWN0aW9uID09PSAiZmlyc3QiIHx8IGRpcmVjdGlvbiA9PT0gImxhc3QiICkgew0KCQkJbmV4dCA9IGl0ZW1bIGRpcmVjdGlvbiA9PT0gImZpcnN0IiA/ICJwcmV2QWxsIiA6ICJuZXh0QWxsIiBdKCBmaWx0ZXIgKS5lcSggLTEgKTsNCgkJfSBlbHNlIHsNCgkJCW5leHQgPSBpdGVtWyBkaXJlY3Rpb24gKyAiQWxsIiBdKCBmaWx0ZXIgKS5lcSggMCApOw0KCQl9DQoNCgkJaWYgKCBuZXh0Lmxlbmd0aCApIHsNCgkJCXRoaXMubWVudUluc3RhbmNlLmZvY3VzKCBldmVudCwgbmV4dCApOw0KCQl9DQoJfSwNCg0KCV9nZXRTZWxlY3RlZEl0ZW06IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gdGhpcy5tZW51SXRlbXMuZXEoIHRoaXMuZWxlbWVudFsgMCBdLnNlbGVjdGVkSW5kZXggKS5wYXJlbnQoICJsaSIgKTsNCgl9LA0KDQoJX3RvZ2dsZTogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl0aGlzWyB0aGlzLmlzT3BlbiA/ICJjbG9zZSIgOiAib3BlbiIgXSggZXZlbnQgKTsNCgl9LA0KDQoJX3NldFNlbGVjdGlvbjogZnVuY3Rpb24oKSB7DQoJCXZhciBzZWxlY3Rpb247DQoNCgkJaWYgKCAhdGhpcy5yYW5nZSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCWlmICggd2luZG93LmdldFNlbGVjdGlvbiApIHsNCgkJCXNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTsNCgkJCXNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMoKTsNCgkJCXNlbGVjdGlvbi5hZGRSYW5nZSggdGhpcy5yYW5nZSApOw0KDQoJCS8vIFN1cHBvcnQ6IElFOA0KCQl9IGVsc2Ugew0KCQkJdGhpcy5yYW5nZS5zZWxlY3QoKTsNCgkJfQ0KDQoJCS8vIFN1cHBvcnQ6IElFDQoJCS8vIFNldHRpbmcgdGhlIHRleHQgc2VsZWN0aW9uIGtpbGxzIHRoZSBidXR0b24gZm9jdXMgaW4gSUUsIGJ1dA0KCQkvLyByZXN0b3JpbmcgdGhlIGZvY3VzIGRvZXNuJ3Qga2lsbCB0aGUgc2VsZWN0aW9uLg0KCQl0aGlzLmJ1dHRvbi5mb2N1cygpOw0KCX0sDQoNCglfZG9jdW1lbnRDbGljazogew0KCQltb3VzZWRvd246IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCWlmICggIXRoaXMuaXNPcGVuICkgew0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJaWYgKCAhJCggZXZlbnQudGFyZ2V0ICkuY2xvc2VzdCggIi51aS1zZWxlY3RtZW51LW1lbnUsICMiICsNCgkJCQkJJC51aS5lc2NhcGVTZWxlY3RvciggdGhpcy5pZHMuYnV0dG9uICkgKS5sZW5ndGggKSB7DQoJCQkJdGhpcy5jbG9zZSggZXZlbnQgKTsNCgkJCX0NCgkJfQ0KCX0sDQoNCglfYnV0dG9uRXZlbnRzOiB7DQoNCgkJLy8gUHJldmVudCB0ZXh0IHNlbGVjdGlvbiBmcm9tIGJlaW5nIHJlc2V0IHdoZW4gaW50ZXJhY3Rpbmcgd2l0aCB0aGUgc2VsZWN0bWVudSAoIzEwMTQ0KQ0KCQltb3VzZWRvd246IGZ1bmN0aW9uKCkgew0KCQkJdmFyIHNlbGVjdGlvbjsNCg0KCQkJaWYgKCB3aW5kb3cuZ2V0U2VsZWN0aW9uICkgew0KCQkJCXNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTsNCgkJCQlpZiAoIHNlbGVjdGlvbi5yYW5nZUNvdW50ICkgew0KCQkJCQl0aGlzLnJhbmdlID0gc2VsZWN0aW9uLmdldFJhbmdlQXQoIDAgKTsNCgkJCQl9DQoNCgkJCS8vIFN1cHBvcnQ6IElFOA0KCQkJfSBlbHNlIHsNCgkJCQl0aGlzLnJhbmdlID0gZG9jdW1lbnQuc2VsZWN0aW9uLmNyZWF0ZVJhbmdlKCk7DQoJCQl9DQoJCX0sDQoNCgkJY2xpY2s6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCXRoaXMuX3NldFNlbGVjdGlvbigpOw0KCQkJdGhpcy5fdG9nZ2xlKCBldmVudCApOw0KCQl9LA0KDQoJCWtleWRvd246IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCXZhciBwcmV2ZW50RGVmYXVsdCA9IHRydWU7DQoJCQlzd2l0Y2ggKCBldmVudC5rZXlDb2RlICkgew0KCQkJY2FzZSAkLnVpLmtleUNvZGUuVEFCOg0KCQkJY2FzZSAkLnVpLmtleUNvZGUuRVNDQVBFOg0KCQkJCXRoaXMuY2xvc2UoIGV2ZW50ICk7DQoJCQkJcHJldmVudERlZmF1bHQgPSBmYWxzZTsNCgkJCQlicmVhazsNCgkJCWNhc2UgJC51aS5rZXlDb2RlLkVOVEVSOg0KCQkJCWlmICggdGhpcy5pc09wZW4gKSB7DQoJCQkJCXRoaXMuX3NlbGVjdEZvY3VzZWRJdGVtKCBldmVudCApOw0KCQkJCX0NCgkJCQlicmVhazsNCgkJCWNhc2UgJC51aS5rZXlDb2RlLlVQOg0KCQkJCWlmICggZXZlbnQuYWx0S2V5ICkgew0KCQkJCQl0aGlzLl90b2dnbGUoIGV2ZW50ICk7DQoJCQkJfSBlbHNlIHsNCgkJCQkJdGhpcy5fbW92ZSggInByZXYiLCBldmVudCApOw0KCQkJCX0NCgkJCQlicmVhazsNCgkJCWNhc2UgJC51aS5rZXlDb2RlLkRPV046DQoJCQkJaWYgKCBldmVudC5hbHRLZXkgKSB7DQoJCQkJCXRoaXMuX3RvZ2dsZSggZXZlbnQgKTsNCgkJCQl9IGVsc2Ugew0KCQkJCQl0aGlzLl9tb3ZlKCAibmV4dCIsIGV2ZW50ICk7DQoJCQkJfQ0KCQkJCWJyZWFrOw0KCQkJY2FzZSAkLnVpLmtleUNvZGUuU1BBQ0U6DQoJCQkJaWYgKCB0aGlzLmlzT3BlbiApIHsNCgkJCQkJdGhpcy5fc2VsZWN0Rm9jdXNlZEl0ZW0oIGV2ZW50ICk7DQoJCQkJfSBlbHNlIHsNCgkJCQkJdGhpcy5fdG9nZ2xlKCBldmVudCApOw0KCQkJCX0NCgkJCQlicmVhazsNCgkJCWNhc2UgJC51aS5rZXlDb2RlLkxFRlQ6DQoJCQkJdGhpcy5fbW92ZSggInByZXYiLCBldmVudCApOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAkLnVpLmtleUNvZGUuUklHSFQ6DQoJCQkJdGhpcy5fbW92ZSggIm5leHQiLCBldmVudCApOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAkLnVpLmtleUNvZGUuSE9NRToNCgkJCWNhc2UgJC51aS5rZXlDb2RlLlBBR0VfVVA6DQoJCQkJdGhpcy5fbW92ZSggImZpcnN0IiwgZXZlbnQgKTsNCgkJCQlicmVhazsNCgkJCWNhc2UgJC51aS5rZXlDb2RlLkVORDoNCgkJCWNhc2UgJC51aS5rZXlDb2RlLlBBR0VfRE9XTjoNCgkJCQl0aGlzLl9tb3ZlKCAibGFzdCIsIGV2ZW50ICk7DQoJCQkJYnJlYWs7DQoJCQlkZWZhdWx0Og0KCQkJCXRoaXMubWVudS50cmlnZ2VyKCBldmVudCApOw0KCQkJCXByZXZlbnREZWZhdWx0ID0gZmFsc2U7DQoJCQl9DQoNCgkJCWlmICggcHJldmVudERlZmF1bHQgKSB7DQoJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCgkJCX0NCgkJfQ0KCX0sDQoNCglfc2VsZWN0Rm9jdXNlZEl0ZW06IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdmFyIGl0ZW0gPSB0aGlzLm1lbnVJdGVtcy5lcSggdGhpcy5mb2N1c0luZGV4ICkucGFyZW50KCAibGkiICk7DQoJCWlmICggIWl0ZW0uaGFzQ2xhc3MoICJ1aS1zdGF0ZS1kaXNhYmxlZCIgKSApIHsNCgkJCXRoaXMuX3NlbGVjdCggaXRlbS5kYXRhKCAidWktc2VsZWN0bWVudS1pdGVtIiApLCBldmVudCApOw0KCQl9DQoJfSwNCg0KCV9zZWxlY3Q6IGZ1bmN0aW9uKCBpdGVtLCBldmVudCApIHsNCgkJdmFyIG9sZEluZGV4ID0gdGhpcy5lbGVtZW50WyAwIF0uc2VsZWN0ZWRJbmRleDsNCg0KCQkvLyBDaGFuZ2UgbmF0aXZlIHNlbGVjdCBlbGVtZW50DQoJCXRoaXMuZWxlbWVudFsgMCBdLnNlbGVjdGVkSW5kZXggPSBpdGVtLmluZGV4Ow0KCQl0aGlzLmJ1dHRvbkl0ZW0ucmVwbGFjZVdpdGgoIHRoaXMuYnV0dG9uSXRlbSA9IHRoaXMuX3JlbmRlckJ1dHRvbkl0ZW0oIGl0ZW0gKSApOw0KCQl0aGlzLl9zZXRBcmlhKCBpdGVtICk7DQoJCXRoaXMuX3RyaWdnZXIoICJzZWxlY3QiLCBldmVudCwgeyBpdGVtOiBpdGVtIH0gKTsNCg0KCQlpZiAoIGl0ZW0uaW5kZXggIT09IG9sZEluZGV4ICkgew0KCQkJdGhpcy5fdHJpZ2dlciggImNoYW5nZSIsIGV2ZW50LCB7IGl0ZW06IGl0ZW0gfSApOw0KCQl9DQoNCgkJdGhpcy5jbG9zZSggZXZlbnQgKTsNCgl9LA0KDQoJX3NldEFyaWE6IGZ1bmN0aW9uKCBpdGVtICkgew0KCQl2YXIgaWQgPSB0aGlzLm1lbnVJdGVtcy5lcSggaXRlbS5pbmRleCApLmF0dHIoICJpZCIgKTsNCg0KCQl0aGlzLmJ1dHRvbi5hdHRyKCB7DQoJCQkiYXJpYS1sYWJlbGxlZGJ5IjogaWQsDQoJCQkiYXJpYS1hY3RpdmVkZXNjZW5kYW50IjogaWQNCgkJfSApOw0KCQl0aGlzLm1lbnUuYXR0ciggImFyaWEtYWN0aXZlZGVzY2VuZGFudCIsIGlkICk7DQoJfSwNCg0KCV9zZXRPcHRpb246IGZ1bmN0aW9uKCBrZXksIHZhbHVlICkgew0KCQlpZiAoIGtleSA9PT0gImljb25zIiApIHsNCgkJCXZhciBpY29uID0gdGhpcy5idXR0b24uZmluZCggInNwYW4udWktaWNvbiIgKTsNCgkJCXRoaXMuX3JlbW92ZUNsYXNzKCBpY29uLCBudWxsLCB0aGlzLm9wdGlvbnMuaWNvbnMuYnV0dG9uICkNCgkJCQkuX2FkZENsYXNzKCBpY29uLCBudWxsLCB2YWx1ZS5idXR0b24gKTsNCgkJfQ0KDQoJCXRoaXMuX3N1cGVyKCBrZXksIHZhbHVlICk7DQoNCgkJaWYgKCBrZXkgPT09ICJhcHBlbmRUbyIgKSB7DQoJCQl0aGlzLm1lbnVXcmFwLmFwcGVuZFRvKCB0aGlzLl9hcHBlbmRUbygpICk7DQoJCX0NCg0KCQlpZiAoIGtleSA9PT0gIndpZHRoIiApIHsNCgkJCXRoaXMuX3Jlc2l6ZUJ1dHRvbigpOw0KCQl9DQoJfSwNCg0KCV9zZXRPcHRpb25EaXNhYmxlZDogZnVuY3Rpb24oIHZhbHVlICkgew0KCQl0aGlzLl9zdXBlciggdmFsdWUgKTsNCg0KCQl0aGlzLm1lbnVJbnN0YW5jZS5vcHRpb24oICJkaXNhYmxlZCIsIHZhbHVlICk7DQoJCXRoaXMuYnV0dG9uLmF0dHIoICJhcmlhLWRpc2FibGVkIiwgdmFsdWUgKTsNCgkJdGhpcy5fdG9nZ2xlQ2xhc3MoIHRoaXMuYnV0dG9uLCBudWxsLCAidWktc3RhdGUtZGlzYWJsZWQiLCB2YWx1ZSApOw0KDQoJCXRoaXMuZWxlbWVudC5wcm9wKCAiZGlzYWJsZWQiLCB2YWx1ZSApOw0KCQlpZiAoIHZhbHVlICkgew0KCQkJdGhpcy5idXR0b24uYXR0ciggInRhYmluZGV4IiwgLTEgKTsNCgkJCXRoaXMuY2xvc2UoKTsNCgkJfSBlbHNlIHsNCgkJCXRoaXMuYnV0dG9uLmF0dHIoICJ0YWJpbmRleCIsIDAgKTsNCgkJfQ0KCX0sDQoNCglfYXBwZW5kVG86IGZ1bmN0aW9uKCkgew0KCQl2YXIgZWxlbWVudCA9IHRoaXMub3B0aW9ucy5hcHBlbmRUbzsNCg0KCQlpZiAoIGVsZW1lbnQgKSB7DQoJCQllbGVtZW50ID0gZWxlbWVudC5qcXVlcnkgfHwgZWxlbWVudC5ub2RlVHlwZSA/DQoJCQkJJCggZWxlbWVudCApIDoNCgkJCQl0aGlzLmRvY3VtZW50LmZpbmQoIGVsZW1lbnQgKS5lcSggMCApOw0KCQl9DQoNCgkJaWYgKCAhZWxlbWVudCB8fCAhZWxlbWVudFsgMCBdICkgew0KCQkJZWxlbWVudCA9IHRoaXMuZWxlbWVudC5jbG9zZXN0KCAiLnVpLWZyb250LCBkaWFsb2ciICk7DQoJCX0NCg0KCQlpZiAoICFlbGVtZW50Lmxlbmd0aCApIHsNCgkJCWVsZW1lbnQgPSB0aGlzLmRvY3VtZW50WyAwIF0uYm9keTsNCgkJfQ0KDQoJCXJldHVybiBlbGVtZW50Ow0KCX0sDQoNCglfdG9nZ2xlQXR0cjogZnVuY3Rpb24oKSB7DQoJCXRoaXMuYnV0dG9uLmF0dHIoICJhcmlhLWV4cGFuZGVkIiwgdGhpcy5pc09wZW4gKTsNCg0KCQkvLyBXZSBjYW4ndCB1c2UgdHdvIF90b2dnbGVDbGFzcygpIGNhbGxzIGhlcmUsIGJlY2F1c2Ugd2UgbmVlZCB0byBtYWtlIHN1cmUNCgkJLy8gd2UgYWx3YXlzIHJlbW92ZSBjbGFzc2VzIGZpcnN0IGFuZCBhZGQgdGhlbSBzZWNvbmQsIG90aGVyd2lzZSBpZiBib3RoIGNsYXNzZXMgaGF2ZSB0aGUNCgkJLy8gc2FtZSB0aGVtZSBjbGFzcywgaXQgd2lsbCBiZSByZW1vdmVkIGFmdGVyIHdlIGFkZCBpdC4NCgkJdGhpcy5fcmVtb3ZlQ2xhc3MoIHRoaXMuYnV0dG9uLCAidWktc2VsZWN0bWVudS1idXR0b24tIiArDQoJCQkoIHRoaXMuaXNPcGVuID8gImNsb3NlZCIgOiAib3BlbiIgKSApDQoJCQkuX2FkZENsYXNzKCB0aGlzLmJ1dHRvbiwgInVpLXNlbGVjdG1lbnUtYnV0dG9uLSIgKw0KCQkJCSggdGhpcy5pc09wZW4gPyAib3BlbiIgOiAiY2xvc2VkIiApICkNCgkJCS5fdG9nZ2xlQ2xhc3MoIHRoaXMubWVudVdyYXAsICJ1aS1zZWxlY3RtZW51LW9wZW4iLCBudWxsLCB0aGlzLmlzT3BlbiApOw0KDQoJCXRoaXMubWVudS5hdHRyKCAiYXJpYS1oaWRkZW4iLCAhdGhpcy5pc09wZW4gKTsNCgl9LA0KDQoJX3Jlc2l6ZUJ1dHRvbjogZnVuY3Rpb24oKSB7DQoJCXZhciB3aWR0aCA9IHRoaXMub3B0aW9ucy53aWR0aDsNCg0KCQkvLyBGb3IgYHdpZHRoOiBmYWxzZWAsIGp1c3QgcmVtb3ZlIGlubGluZSBzdHlsZSBhbmQgc3RvcA0KCQlpZiAoIHdpZHRoID09PSBmYWxzZSApIHsNCgkJCXRoaXMuYnV0dG9uLmNzcyggIndpZHRoIiwgIiIgKTsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCS8vIEZvciBgd2lkdGg6IG51bGxgLCBtYXRjaCB0aGUgd2lkdGggb2YgdGhlIG9yaWdpbmFsIGVsZW1lbnQNCgkJaWYgKCB3aWR0aCA9PT0gbnVsbCApIHsNCgkJCXdpZHRoID0gdGhpcy5lbGVtZW50LnNob3coKS5vdXRlcldpZHRoKCk7DQoJCQl0aGlzLmVsZW1lbnQuaGlkZSgpOw0KCQl9DQoNCgkJdGhpcy5idXR0b24ub3V0ZXJXaWR0aCggd2lkdGggKTsNCgl9LA0KDQoJX3Jlc2l6ZU1lbnU6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLm1lbnUub3V0ZXJXaWR0aCggTWF0aC5tYXgoDQoJCQl0aGlzLmJ1dHRvbi5vdXRlcldpZHRoKCksDQoNCgkJCS8vIFN1cHBvcnQ6IElFMTANCgkJCS8vIElFMTAgd3JhcHMgbG9uZyB0ZXh0IChwb3NzaWJseSBhIHJvdW5kaW5nIGJ1ZykNCgkJCS8vIHNvIHdlIGFkZCAxcHggdG8gYXZvaWQgdGhlIHdyYXBwaW5nDQoJCQl0aGlzLm1lbnUud2lkdGgoICIiICkub3V0ZXJXaWR0aCgpICsgMQ0KCQkpICk7DQoJfSwNCg0KCV9nZXRDcmVhdGVPcHRpb25zOiBmdW5jdGlvbigpIHsNCgkJdmFyIG9wdGlvbnMgPSB0aGlzLl9zdXBlcigpOw0KDQoJCW9wdGlvbnMuZGlzYWJsZWQgPSB0aGlzLmVsZW1lbnQucHJvcCggImRpc2FibGVkIiApOw0KDQoJCXJldHVybiBvcHRpb25zOw0KCX0sDQoNCglfcGFyc2VPcHRpb25zOiBmdW5jdGlvbiggb3B0aW9ucyApIHsNCgkJdmFyIHRoYXQgPSB0aGlzLA0KCQkJZGF0YSA9IFtdOw0KCQlvcHRpb25zLmVhY2goIGZ1bmN0aW9uKCBpbmRleCwgaXRlbSApIHsNCgkJCWRhdGEucHVzaCggdGhhdC5fcGFyc2VPcHRpb24oICQoIGl0ZW0gKSwgaW5kZXggKSApOw0KCQl9ICk7DQoJCXRoaXMuaXRlbXMgPSBkYXRhOw0KCX0sDQoNCglfcGFyc2VPcHRpb246IGZ1bmN0aW9uKCBvcHRpb24sIGluZGV4ICkgew0KCQl2YXIgb3B0Z3JvdXAgPSBvcHRpb24ucGFyZW50KCAib3B0Z3JvdXAiICk7DQoNCgkJcmV0dXJuIHsNCgkJCWVsZW1lbnQ6IG9wdGlvbiwNCgkJCWluZGV4OiBpbmRleCwNCgkJCXZhbHVlOiBvcHRpb24udmFsKCksDQoJCQlsYWJlbDogb3B0aW9uLnRleHQoKSwNCgkJCW9wdGdyb3VwOiBvcHRncm91cC5hdHRyKCAibGFiZWwiICkgfHwgIiIsDQoJCQlkaXNhYmxlZDogb3B0Z3JvdXAucHJvcCggImRpc2FibGVkIiApIHx8IG9wdGlvbi5wcm9wKCAiZGlzYWJsZWQiICkNCgkJfTsNCgl9LA0KDQoJX2Rlc3Ryb3k6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLl91bmJpbmRGb3JtUmVzZXRIYW5kbGVyKCk7DQoJCXRoaXMubWVudVdyYXAucmVtb3ZlKCk7DQoJCXRoaXMuYnV0dG9uLnJlbW92ZSgpOw0KCQl0aGlzLmVsZW1lbnQuc2hvdygpOw0KCQl0aGlzLmVsZW1lbnQucmVtb3ZlVW5pcXVlSWQoKTsNCgkJdGhpcy5sYWJlbHMuYXR0ciggImZvciIsIHRoaXMuaWRzLmVsZW1lbnQgKTsNCgl9DQp9IF0gKTsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBTbGlkZXIgMS4xMi4xDQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqLw0KDQovLz4+bGFiZWw6IFNsaWRlcg0KLy8+Pmdyb3VwOiBXaWRnZXRzDQovLz4+ZGVzY3JpcHRpb246IERpc3BsYXlzIGEgZmxleGlibGUgc2xpZGVyIHdpdGggcmFuZ2VzIGFuZCBhY2Nlc3NpYmlsaXR5IHZpYSBrZXlib2FyZC4NCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9zbGlkZXIvDQovLz4+ZGVtb3M6IGh0dHA6Ly9qcXVlcnl1aS5jb20vc2xpZGVyLw0KLy8+PmNzcy5zdHJ1Y3R1cmU6IC4uLy4uL3RoZW1lcy9iYXNlL2NvcmUuY3NzDQovLz4+Y3NzLnN0cnVjdHVyZTogLi4vLi4vdGhlbWVzL2Jhc2Uvc2xpZGVyLmNzcw0KLy8+PmNzcy50aGVtZTogLi4vLi4vdGhlbWVzL2Jhc2UvdGhlbWUuY3NzDQoNCg0KDQp2YXIgd2lkZ2V0c1NsaWRlciA9ICQud2lkZ2V0KCAidWkuc2xpZGVyIiwgJC51aS5tb3VzZSwgew0KCXZlcnNpb246ICIxLjEyLjEiLA0KCXdpZGdldEV2ZW50UHJlZml4OiAic2xpZGUiLA0KDQoJb3B0aW9uczogew0KCQlhbmltYXRlOiBmYWxzZSwNCgkJY2xhc3Nlczogew0KCQkJInVpLXNsaWRlciI6ICJ1aS1jb3JuZXItYWxsIiwNCgkJCSJ1aS1zbGlkZXItaGFuZGxlIjogInVpLWNvcm5lci1hbGwiLA0KDQoJCQkvLyBOb3RlOiB1aS13aWRnZXQtaGVhZGVyIGlzbid0IHRoZSBtb3N0IGZpdHRpbmdseSBzZW1hbnRpYyBmcmFtZXdvcmsgY2xhc3MgZm9yIHRoaXMNCgkJCS8vIGVsZW1lbnQsIGJ1dCB3b3JrZWQgYmVzdCB2aXN1YWxseSB3aXRoIGEgdmFyaWV0eSBvZiB0aGVtZXMNCgkJCSJ1aS1zbGlkZXItcmFuZ2UiOiAidWktY29ybmVyLWFsbCB1aS13aWRnZXQtaGVhZGVyIg0KCQl9LA0KCQlkaXN0YW5jZTogMCwNCgkJbWF4OiAxMDAsDQoJCW1pbjogMCwNCgkJb3JpZW50YXRpb246ICJob3Jpem9udGFsIiwNCgkJcmFuZ2U6IGZhbHNlLA0KCQlzdGVwOiAxLA0KCQl2YWx1ZTogMCwNCgkJdmFsdWVzOiBudWxsLA0KDQoJCS8vIENhbGxiYWNrcw0KCQljaGFuZ2U6IG51bGwsDQoJCXNsaWRlOiBudWxsLA0KCQlzdGFydDogbnVsbCwNCgkJc3RvcDogbnVsbA0KCX0sDQoNCgkvLyBOdW1iZXIgb2YgcGFnZXMgaW4gYSBzbGlkZXINCgkvLyAoaG93IG1hbnkgdGltZXMgY2FuIHlvdSBwYWdlIHVwL2Rvd24gdG8gZ28gdGhyb3VnaCB0aGUgd2hvbGUgcmFuZ2UpDQoJbnVtUGFnZXM6IDUsDQoNCglfY3JlYXRlOiBmdW5jdGlvbigpIHsNCgkJdGhpcy5fa2V5U2xpZGluZyA9IGZhbHNlOw0KCQl0aGlzLl9tb3VzZVNsaWRpbmcgPSBmYWxzZTsNCgkJdGhpcy5fYW5pbWF0ZU9mZiA9IHRydWU7DQoJCXRoaXMuX2hhbmRsZUluZGV4ID0gbnVsbDsNCgkJdGhpcy5fZGV0ZWN0T3JpZW50YXRpb24oKTsNCgkJdGhpcy5fbW91c2VJbml0KCk7DQoJCXRoaXMuX2NhbGN1bGF0ZU5ld01heCgpOw0KDQoJCXRoaXMuX2FkZENsYXNzKCAidWktc2xpZGVyIHVpLXNsaWRlci0iICsgdGhpcy5vcmllbnRhdGlvbiwNCgkJCSJ1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQiICk7DQoNCgkJdGhpcy5fcmVmcmVzaCgpOw0KDQoJCXRoaXMuX2FuaW1hdGVPZmYgPSBmYWxzZTsNCgl9LA0KDQoJX3JlZnJlc2g6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLl9jcmVhdGVSYW5nZSgpOw0KCQl0aGlzLl9jcmVhdGVIYW5kbGVzKCk7DQoJCXRoaXMuX3NldHVwRXZlbnRzKCk7DQoJCXRoaXMuX3JlZnJlc2hWYWx1ZSgpOw0KCX0sDQoNCglfY3JlYXRlSGFuZGxlczogZnVuY3Rpb24oKSB7DQoJCXZhciBpLCBoYW5kbGVDb3VudCwNCgkJCW9wdGlvbnMgPSB0aGlzLm9wdGlvbnMsDQoJCQlleGlzdGluZ0hhbmRsZXMgPSB0aGlzLmVsZW1lbnQuZmluZCggIi51aS1zbGlkZXItaGFuZGxlIiApLA0KCQkJaGFuZGxlID0gIjxzcGFuIHRhYmluZGV4PScwJz48L3NwYW4+IiwNCgkJCWhhbmRsZXMgPSBbXTsNCg0KCQloYW5kbGVDb3VudCA9ICggb3B0aW9ucy52YWx1ZXMgJiYgb3B0aW9ucy52YWx1ZXMubGVuZ3RoICkgfHwgMTsNCg0KCQlpZiAoIGV4aXN0aW5nSGFuZGxlcy5sZW5ndGggPiBoYW5kbGVDb3VudCApIHsNCgkJCWV4aXN0aW5nSGFuZGxlcy5zbGljZSggaGFuZGxlQ291bnQgKS5yZW1vdmUoKTsNCgkJCWV4aXN0aW5nSGFuZGxlcyA9IGV4aXN0aW5nSGFuZGxlcy5zbGljZSggMCwgaGFuZGxlQ291bnQgKTsNCgkJfQ0KDQoJCWZvciAoIGkgPSBleGlzdGluZ0hhbmRsZXMubGVuZ3RoOyBpIDwgaGFuZGxlQ291bnQ7IGkrKyApIHsNCgkJCWhhbmRsZXMucHVzaCggaGFuZGxlICk7DQoJCX0NCg0KCQl0aGlzLmhhbmRsZXMgPSBleGlzdGluZ0hhbmRsZXMuYWRkKCAkKCBoYW5kbGVzLmpvaW4oICIiICkgKS5hcHBlbmRUbyggdGhpcy5lbGVtZW50ICkgKTsNCg0KCQl0aGlzLl9hZGRDbGFzcyggdGhpcy5oYW5kbGVzLCAidWktc2xpZGVyLWhhbmRsZSIsICJ1aS1zdGF0ZS1kZWZhdWx0IiApOw0KDQoJCXRoaXMuaGFuZGxlID0gdGhpcy5oYW5kbGVzLmVxKCAwICk7DQoNCgkJdGhpcy5oYW5kbGVzLmVhY2goIGZ1bmN0aW9uKCBpICkgew0KCQkJJCggdGhpcyApDQoJCQkJLmRhdGEoICJ1aS1zbGlkZXItaGFuZGxlLWluZGV4IiwgaSApDQoJCQkJLmF0dHIoICJ0YWJJbmRleCIsIDAgKTsNCgkJfSApOw0KCX0sDQoNCglfY3JlYXRlUmFuZ2U6IGZ1bmN0aW9uKCkgew0KCQl2YXIgb3B0aW9ucyA9IHRoaXMub3B0aW9uczsNCg0KCQlpZiAoIG9wdGlvbnMucmFuZ2UgKSB7DQoJCQlpZiAoIG9wdGlvbnMucmFuZ2UgPT09IHRydWUgKSB7DQoJCQkJaWYgKCAhb3B0aW9ucy52YWx1ZXMgKSB7DQoJCQkJCW9wdGlvbnMudmFsdWVzID0gWyB0aGlzLl92YWx1ZU1pbigpLCB0aGlzLl92YWx1ZU1pbigpIF07DQoJCQkJfSBlbHNlIGlmICggb3B0aW9ucy52YWx1ZXMubGVuZ3RoICYmIG9wdGlvbnMudmFsdWVzLmxlbmd0aCAhPT0gMiApIHsNCgkJCQkJb3B0aW9ucy52YWx1ZXMgPSBbIG9wdGlvbnMudmFsdWVzWyAwIF0sIG9wdGlvbnMudmFsdWVzWyAwIF0gXTsNCgkJCQl9IGVsc2UgaWYgKCAkLmlzQXJyYXkoIG9wdGlvbnMudmFsdWVzICkgKSB7DQoJCQkJCW9wdGlvbnMudmFsdWVzID0gb3B0aW9ucy52YWx1ZXMuc2xpY2UoIDAgKTsNCgkJCQl9DQoJCQl9DQoNCgkJCWlmICggIXRoaXMucmFuZ2UgfHwgIXRoaXMucmFuZ2UubGVuZ3RoICkgew0KCQkJCXRoaXMucmFuZ2UgPSAkKCAiPGRpdj4iICkNCgkJCQkJLmFwcGVuZFRvKCB0aGlzLmVsZW1lbnQgKTsNCg0KCQkJCXRoaXMuX2FkZENsYXNzKCB0aGlzLnJhbmdlLCAidWktc2xpZGVyLXJhbmdlIiApOw0KCQkJfSBlbHNlIHsNCgkJCQl0aGlzLl9yZW1vdmVDbGFzcyggdGhpcy5yYW5nZSwgInVpLXNsaWRlci1yYW5nZS1taW4gdWktc2xpZGVyLXJhbmdlLW1heCIgKTsNCg0KCQkJCS8vIEhhbmRsZSByYW5nZSBzd2l0Y2hpbmcgZnJvbSB0cnVlIHRvIG1pbi9tYXgNCgkJCQl0aGlzLnJhbmdlLmNzcyggew0KCQkJCQkibGVmdCI6ICIiLA0KCQkJCQkiYm90dG9tIjogIiINCgkJCQl9ICk7DQoJCQl9DQoJCQlpZiAoIG9wdGlvbnMucmFuZ2UgPT09ICJtaW4iIHx8IG9wdGlvbnMucmFuZ2UgPT09ICJtYXgiICkgew0KCQkJCXRoaXMuX2FkZENsYXNzKCB0aGlzLnJhbmdlLCAidWktc2xpZGVyLXJhbmdlLSIgKyBvcHRpb25zLnJhbmdlICk7DQoJCQl9DQoJCX0gZWxzZSB7DQoJCQlpZiAoIHRoaXMucmFuZ2UgKSB7DQoJCQkJdGhpcy5yYW5nZS5yZW1vdmUoKTsNCgkJCX0NCgkJCXRoaXMucmFuZ2UgPSBudWxsOw0KCQl9DQoJfSwNCg0KCV9zZXR1cEV2ZW50czogZnVuY3Rpb24oKSB7DQoJCXRoaXMuX29mZiggdGhpcy5oYW5kbGVzICk7DQoJCXRoaXMuX29uKCB0aGlzLmhhbmRsZXMsIHRoaXMuX2hhbmRsZUV2ZW50cyApOw0KCQl0aGlzLl9ob3ZlcmFibGUoIHRoaXMuaGFuZGxlcyApOw0KCQl0aGlzLl9mb2N1c2FibGUoIHRoaXMuaGFuZGxlcyApOw0KCX0sDQoNCglfZGVzdHJveTogZnVuY3Rpb24oKSB7DQoJCXRoaXMuaGFuZGxlcy5yZW1vdmUoKTsNCgkJaWYgKCB0aGlzLnJhbmdlICkgew0KCQkJdGhpcy5yYW5nZS5yZW1vdmUoKTsNCgkJfQ0KDQoJCXRoaXMuX21vdXNlRGVzdHJveSgpOw0KCX0sDQoNCglfbW91c2VDYXB0dXJlOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXZhciBwb3NpdGlvbiwgbm9ybVZhbHVlLCBkaXN0YW5jZSwgY2xvc2VzdEhhbmRsZSwgaW5kZXgsIGFsbG93ZWQsIG9mZnNldCwgbW91c2VPdmVySGFuZGxlLA0KCQkJdGhhdCA9IHRoaXMsDQoJCQlvID0gdGhpcy5vcHRpb25zOw0KDQoJCWlmICggby5kaXNhYmxlZCApIHsNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KDQoJCXRoaXMuZWxlbWVudFNpemUgPSB7DQoJCQl3aWR0aDogdGhpcy5lbGVtZW50Lm91dGVyV2lkdGgoKSwNCgkJCWhlaWdodDogdGhpcy5lbGVtZW50Lm91dGVySGVpZ2h0KCkNCgkJfTsNCgkJdGhpcy5lbGVtZW50T2Zmc2V0ID0gdGhpcy5lbGVtZW50Lm9mZnNldCgpOw0KDQoJCXBvc2l0aW9uID0geyB4OiBldmVudC5wYWdlWCwgeTogZXZlbnQucGFnZVkgfTsNCgkJbm9ybVZhbHVlID0gdGhpcy5fbm9ybVZhbHVlRnJvbU1vdXNlKCBwb3NpdGlvbiApOw0KCQlkaXN0YW5jZSA9IHRoaXMuX3ZhbHVlTWF4KCkgLSB0aGlzLl92YWx1ZU1pbigpICsgMTsNCgkJdGhpcy5oYW5kbGVzLmVhY2goIGZ1bmN0aW9uKCBpICkgew0KCQkJdmFyIHRoaXNEaXN0YW5jZSA9IE1hdGguYWJzKCBub3JtVmFsdWUgLSB0aGF0LnZhbHVlcyggaSApICk7DQoJCQlpZiAoICggZGlzdGFuY2UgPiB0aGlzRGlzdGFuY2UgKSB8fA0KCQkJCSggZGlzdGFuY2UgPT09IHRoaXNEaXN0YW5jZSAmJg0KCQkJCQkoIGkgPT09IHRoYXQuX2xhc3RDaGFuZ2VkVmFsdWUgfHwgdGhhdC52YWx1ZXMoIGkgKSA9PT0gby5taW4gKSApICkgew0KCQkJCWRpc3RhbmNlID0gdGhpc0Rpc3RhbmNlOw0KCQkJCWNsb3Nlc3RIYW5kbGUgPSAkKCB0aGlzICk7DQoJCQkJaW5kZXggPSBpOw0KCQkJfQ0KCQl9ICk7DQoNCgkJYWxsb3dlZCA9IHRoaXMuX3N0YXJ0KCBldmVudCwgaW5kZXggKTsNCgkJaWYgKCBhbGxvd2VkID09PSBmYWxzZSApIHsNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KCQl0aGlzLl9tb3VzZVNsaWRpbmcgPSB0cnVlOw0KDQoJCXRoaXMuX2hhbmRsZUluZGV4ID0gaW5kZXg7DQoNCgkJdGhpcy5fYWRkQ2xhc3MoIGNsb3Nlc3RIYW5kbGUsIG51bGwsICJ1aS1zdGF0ZS1hY3RpdmUiICk7DQoJCWNsb3Nlc3RIYW5kbGUudHJpZ2dlciggImZvY3VzIiApOw0KDQoJCW9mZnNldCA9IGNsb3Nlc3RIYW5kbGUub2Zmc2V0KCk7DQoJCW1vdXNlT3ZlckhhbmRsZSA9ICEkKCBldmVudC50YXJnZXQgKS5wYXJlbnRzKCkuYWRkQmFjaygpLmlzKCAiLnVpLXNsaWRlci1oYW5kbGUiICk7DQoJCXRoaXMuX2NsaWNrT2Zmc2V0ID0gbW91c2VPdmVySGFuZGxlID8geyBsZWZ0OiAwLCB0b3A6IDAgfSA6IHsNCgkJCWxlZnQ6IGV2ZW50LnBhZ2VYIC0gb2Zmc2V0LmxlZnQgLSAoIGNsb3Nlc3RIYW5kbGUud2lkdGgoKSAvIDIgKSwNCgkJCXRvcDogZXZlbnQucGFnZVkgLSBvZmZzZXQudG9wIC0NCgkJCQkoIGNsb3Nlc3RIYW5kbGUuaGVpZ2h0KCkgLyAyICkgLQ0KCQkJCSggcGFyc2VJbnQoIGNsb3Nlc3RIYW5kbGUuY3NzKCAiYm9yZGVyVG9wV2lkdGgiICksIDEwICkgfHwgMCApIC0NCgkJCQkoIHBhcnNlSW50KCBjbG9zZXN0SGFuZGxlLmNzcyggImJvcmRlckJvdHRvbVdpZHRoIiApLCAxMCApIHx8IDAgKSArDQoJCQkJKCBwYXJzZUludCggY2xvc2VzdEhhbmRsZS5jc3MoICJtYXJnaW5Ub3AiICksIDEwICkgfHwgMCApDQoJCX07DQoNCgkJaWYgKCAhdGhpcy5oYW5kbGVzLmhhc0NsYXNzKCAidWktc3RhdGUtaG92ZXIiICkgKSB7DQoJCQl0aGlzLl9zbGlkZSggZXZlbnQsIGluZGV4LCBub3JtVmFsdWUgKTsNCgkJfQ0KCQl0aGlzLl9hbmltYXRlT2ZmID0gdHJ1ZTsNCgkJcmV0dXJuIHRydWU7DQoJfSwNCg0KCV9tb3VzZVN0YXJ0OiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRydWU7DQoJfSwNCg0KCV9tb3VzZURyYWc6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdmFyIHBvc2l0aW9uID0geyB4OiBldmVudC5wYWdlWCwgeTogZXZlbnQucGFnZVkgfSwNCgkJCW5vcm1WYWx1ZSA9IHRoaXMuX25vcm1WYWx1ZUZyb21Nb3VzZSggcG9zaXRpb24gKTsNCg0KCQl0aGlzLl9zbGlkZSggZXZlbnQsIHRoaXMuX2hhbmRsZUluZGV4LCBub3JtVmFsdWUgKTsNCg0KCQlyZXR1cm4gZmFsc2U7DQoJfSwNCg0KCV9tb3VzZVN0b3A6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdGhpcy5fcmVtb3ZlQ2xhc3MoIHRoaXMuaGFuZGxlcywgbnVsbCwgInVpLXN0YXRlLWFjdGl2ZSIgKTsNCgkJdGhpcy5fbW91c2VTbGlkaW5nID0gZmFsc2U7DQoNCgkJdGhpcy5fc3RvcCggZXZlbnQsIHRoaXMuX2hhbmRsZUluZGV4ICk7DQoJCXRoaXMuX2NoYW5nZSggZXZlbnQsIHRoaXMuX2hhbmRsZUluZGV4ICk7DQoNCgkJdGhpcy5faGFuZGxlSW5kZXggPSBudWxsOw0KCQl0aGlzLl9jbGlja09mZnNldCA9IG51bGw7DQoJCXRoaXMuX2FuaW1hdGVPZmYgPSBmYWxzZTsNCg0KCQlyZXR1cm4gZmFsc2U7DQoJfSwNCg0KCV9kZXRlY3RPcmllbnRhdGlvbjogZnVuY3Rpb24oKSB7DQoJCXRoaXMub3JpZW50YXRpb24gPSAoIHRoaXMub3B0aW9ucy5vcmllbnRhdGlvbiA9PT0gInZlcnRpY2FsIiApID8gInZlcnRpY2FsIiA6ICJob3Jpem9udGFsIjsNCgl9LA0KDQoJX25vcm1WYWx1ZUZyb21Nb3VzZTogZnVuY3Rpb24oIHBvc2l0aW9uICkgew0KCQl2YXIgcGl4ZWxUb3RhbCwNCgkJCXBpeGVsTW91c2UsDQoJCQlwZXJjZW50TW91c2UsDQoJCQl2YWx1ZVRvdGFsLA0KCQkJdmFsdWVNb3VzZTsNCg0KCQlpZiAoIHRoaXMub3JpZW50YXRpb24gPT09ICJob3Jpem9udGFsIiApIHsNCgkJCXBpeGVsVG90YWwgPSB0aGlzLmVsZW1lbnRTaXplLndpZHRoOw0KCQkJcGl4ZWxNb3VzZSA9IHBvc2l0aW9uLnggLSB0aGlzLmVsZW1lbnRPZmZzZXQubGVmdCAtDQoJCQkJKCB0aGlzLl9jbGlja09mZnNldCA/IHRoaXMuX2NsaWNrT2Zmc2V0LmxlZnQgOiAwICk7DQoJCX0gZWxzZSB7DQoJCQlwaXhlbFRvdGFsID0gdGhpcy5lbGVtZW50U2l6ZS5oZWlnaHQ7DQoJCQlwaXhlbE1vdXNlID0gcG9zaXRpb24ueSAtIHRoaXMuZWxlbWVudE9mZnNldC50b3AgLQ0KCQkJCSggdGhpcy5fY2xpY2tPZmZzZXQgPyB0aGlzLl9jbGlja09mZnNldC50b3AgOiAwICk7DQoJCX0NCg0KCQlwZXJjZW50TW91c2UgPSAoIHBpeGVsTW91c2UgLyBwaXhlbFRvdGFsICk7DQoJCWlmICggcGVyY2VudE1vdXNlID4gMSApIHsNCgkJCXBlcmNlbnRNb3VzZSA9IDE7DQoJCX0NCgkJaWYgKCBwZXJjZW50TW91c2UgPCAwICkgew0KCQkJcGVyY2VudE1vdXNlID0gMDsNCgkJfQ0KCQlpZiAoIHRoaXMub3JpZW50YXRpb24gPT09ICJ2ZXJ0aWNhbCIgKSB7DQoJCQlwZXJjZW50TW91c2UgPSAxIC0gcGVyY2VudE1vdXNlOw0KCQl9DQoNCgkJdmFsdWVUb3RhbCA9IHRoaXMuX3ZhbHVlTWF4KCkgLSB0aGlzLl92YWx1ZU1pbigpOw0KCQl2YWx1ZU1vdXNlID0gdGhpcy5fdmFsdWVNaW4oKSArIHBlcmNlbnRNb3VzZSAqIHZhbHVlVG90YWw7DQoNCgkJcmV0dXJuIHRoaXMuX3RyaW1BbGlnblZhbHVlKCB2YWx1ZU1vdXNlICk7DQoJfSwNCg0KCV91aUhhc2g6IGZ1bmN0aW9uKCBpbmRleCwgdmFsdWUsIHZhbHVlcyApIHsNCgkJdmFyIHVpSGFzaCA9IHsNCgkJCWhhbmRsZTogdGhpcy5oYW5kbGVzWyBpbmRleCBdLA0KCQkJaGFuZGxlSW5kZXg6IGluZGV4LA0KCQkJdmFsdWU6IHZhbHVlICE9PSB1bmRlZmluZWQgPyB2YWx1ZSA6IHRoaXMudmFsdWUoKQ0KCQl9Ow0KDQoJCWlmICggdGhpcy5faGFzTXVsdGlwbGVWYWx1ZXMoKSApIHsNCgkJCXVpSGFzaC52YWx1ZSA9IHZhbHVlICE9PSB1bmRlZmluZWQgPyB2YWx1ZSA6IHRoaXMudmFsdWVzKCBpbmRleCApOw0KCQkJdWlIYXNoLnZhbHVlcyA9IHZhbHVlcyB8fCB0aGlzLnZhbHVlcygpOw0KCQl9DQoNCgkJcmV0dXJuIHVpSGFzaDsNCgl9LA0KDQoJX2hhc011bHRpcGxlVmFsdWVzOiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRoaXMub3B0aW9ucy52YWx1ZXMgJiYgdGhpcy5vcHRpb25zLnZhbHVlcy5sZW5ndGg7DQoJfSwNCg0KCV9zdGFydDogZnVuY3Rpb24oIGV2ZW50LCBpbmRleCApIHsNCgkJcmV0dXJuIHRoaXMuX3RyaWdnZXIoICJzdGFydCIsIGV2ZW50LCB0aGlzLl91aUhhc2goIGluZGV4ICkgKTsNCgl9LA0KDQoJX3NsaWRlOiBmdW5jdGlvbiggZXZlbnQsIGluZGV4LCBuZXdWYWwgKSB7DQoJCXZhciBhbGxvd2VkLCBvdGhlclZhbCwNCgkJCWN1cnJlbnRWYWx1ZSA9IHRoaXMudmFsdWUoKSwNCgkJCW5ld1ZhbHVlcyA9IHRoaXMudmFsdWVzKCk7DQoNCgkJaWYgKCB0aGlzLl9oYXNNdWx0aXBsZVZhbHVlcygpICkgew0KCQkJb3RoZXJWYWwgPSB0aGlzLnZhbHVlcyggaW5kZXggPyAwIDogMSApOw0KCQkJY3VycmVudFZhbHVlID0gdGhpcy52YWx1ZXMoIGluZGV4ICk7DQoNCgkJCWlmICggdGhpcy5vcHRpb25zLnZhbHVlcy5sZW5ndGggPT09IDIgJiYgdGhpcy5vcHRpb25zLnJhbmdlID09PSB0cnVlICkgew0KCQkJCW5ld1ZhbCA9ICBpbmRleCA9PT0gMCA/IE1hdGgubWluKCBvdGhlclZhbCwgbmV3VmFsICkgOiBNYXRoLm1heCggb3RoZXJWYWwsIG5ld1ZhbCApOw0KCQkJfQ0KDQoJCQluZXdWYWx1ZXNbIGluZGV4IF0gPSBuZXdWYWw7DQoJCX0NCg0KCQlpZiAoIG5ld1ZhbCA9PT0gY3VycmVudFZhbHVlICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJYWxsb3dlZCA9IHRoaXMuX3RyaWdnZXIoICJzbGlkZSIsIGV2ZW50LCB0aGlzLl91aUhhc2goIGluZGV4LCBuZXdWYWwsIG5ld1ZhbHVlcyApICk7DQoNCgkJLy8gQSBzbGlkZSBjYW4gYmUgY2FuY2VsZWQgYnkgcmV0dXJuaW5nIGZhbHNlIGZyb20gdGhlIHNsaWRlIGNhbGxiYWNrDQoJCWlmICggYWxsb3dlZCA9PT0gZmFsc2UgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlpZiAoIHRoaXMuX2hhc011bHRpcGxlVmFsdWVzKCkgKSB7DQoJCQl0aGlzLnZhbHVlcyggaW5kZXgsIG5ld1ZhbCApOw0KCQl9IGVsc2Ugew0KCQkJdGhpcy52YWx1ZSggbmV3VmFsICk7DQoJCX0NCgl9LA0KDQoJX3N0b3A6IGZ1bmN0aW9uKCBldmVudCwgaW5kZXggKSB7DQoJCXRoaXMuX3RyaWdnZXIoICJzdG9wIiwgZXZlbnQsIHRoaXMuX3VpSGFzaCggaW5kZXggKSApOw0KCX0sDQoNCglfY2hhbmdlOiBmdW5jdGlvbiggZXZlbnQsIGluZGV4ICkgew0KCQlpZiAoICF0aGlzLl9rZXlTbGlkaW5nICYmICF0aGlzLl9tb3VzZVNsaWRpbmcgKSB7DQoNCgkJCS8vc3RvcmUgdGhlIGxhc3QgY2hhbmdlZCB2YWx1ZSBpbmRleCBmb3IgcmVmZXJlbmNlIHdoZW4gaGFuZGxlcyBvdmVybGFwDQoJCQl0aGlzLl9sYXN0Q2hhbmdlZFZhbHVlID0gaW5kZXg7DQoJCQl0aGlzLl90cmlnZ2VyKCAiY2hhbmdlIiwgZXZlbnQsIHRoaXMuX3VpSGFzaCggaW5kZXggKSApOw0KCQl9DQoJfSwNCg0KCXZhbHVlOiBmdW5jdGlvbiggbmV3VmFsdWUgKSB7DQoJCWlmICggYXJndW1lbnRzLmxlbmd0aCApIHsNCgkJCXRoaXMub3B0aW9ucy52YWx1ZSA9IHRoaXMuX3RyaW1BbGlnblZhbHVlKCBuZXdWYWx1ZSApOw0KCQkJdGhpcy5fcmVmcmVzaFZhbHVlKCk7DQoJCQl0aGlzLl9jaGFuZ2UoIG51bGwsIDAgKTsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCXJldHVybiB0aGlzLl92YWx1ZSgpOw0KCX0sDQoNCgl2YWx1ZXM6IGZ1bmN0aW9uKCBpbmRleCwgbmV3VmFsdWUgKSB7DQoJCXZhciB2YWxzLA0KCQkJbmV3VmFsdWVzLA0KCQkJaTsNCg0KCQlpZiAoIGFyZ3VtZW50cy5sZW5ndGggPiAxICkgew0KCQkJdGhpcy5vcHRpb25zLnZhbHVlc1sgaW5kZXggXSA9IHRoaXMuX3RyaW1BbGlnblZhbHVlKCBuZXdWYWx1ZSApOw0KCQkJdGhpcy5fcmVmcmVzaFZhbHVlKCk7DQoJCQl0aGlzLl9jaGFuZ2UoIG51bGwsIGluZGV4ICk7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlpZiAoIGFyZ3VtZW50cy5sZW5ndGggKSB7DQoJCQlpZiAoICQuaXNBcnJheSggYXJndW1lbnRzWyAwIF0gKSApIHsNCgkJCQl2YWxzID0gdGhpcy5vcHRpb25zLnZhbHVlczsNCgkJCQluZXdWYWx1ZXMgPSBhcmd1bWVudHNbIDAgXTsNCgkJCQlmb3IgKCBpID0gMDsgaSA8IHZhbHMubGVuZ3RoOyBpICs9IDEgKSB7DQoJCQkJCXZhbHNbIGkgXSA9IHRoaXMuX3RyaW1BbGlnblZhbHVlKCBuZXdWYWx1ZXNbIGkgXSApOw0KCQkJCQl0aGlzLl9jaGFuZ2UoIG51bGwsIGkgKTsNCgkJCQl9DQoJCQkJdGhpcy5fcmVmcmVzaFZhbHVlKCk7DQoJCQl9IGVsc2Ugew0KCQkJCWlmICggdGhpcy5faGFzTXVsdGlwbGVWYWx1ZXMoKSApIHsNCgkJCQkJcmV0dXJuIHRoaXMuX3ZhbHVlcyggaW5kZXggKTsNCgkJCQl9IGVsc2Ugew0KCQkJCQlyZXR1cm4gdGhpcy52YWx1ZSgpOw0KCQkJCX0NCgkJCX0NCgkJfSBlbHNlIHsNCgkJCXJldHVybiB0aGlzLl92YWx1ZXMoKTsNCgkJfQ0KCX0sDQoNCglfc2V0T3B0aW9uOiBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCgkJdmFyIGksDQoJCQl2YWxzTGVuZ3RoID0gMDsNCg0KCQlpZiAoIGtleSA9PT0gInJhbmdlIiAmJiB0aGlzLm9wdGlvbnMucmFuZ2UgPT09IHRydWUgKSB7DQoJCQlpZiAoIHZhbHVlID09PSAibWluIiApIHsNCgkJCQl0aGlzLm9wdGlvbnMudmFsdWUgPSB0aGlzLl92YWx1ZXMoIDAgKTsNCgkJCQl0aGlzLm9wdGlvbnMudmFsdWVzID0gbnVsbDsNCgkJCX0gZWxzZSBpZiAoIHZhbHVlID09PSAibWF4IiApIHsNCgkJCQl0aGlzLm9wdGlvbnMudmFsdWUgPSB0aGlzLl92YWx1ZXMoIHRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoIC0gMSApOw0KCQkJCXRoaXMub3B0aW9ucy52YWx1ZXMgPSBudWxsOw0KCQkJfQ0KCQl9DQoNCgkJaWYgKCAkLmlzQXJyYXkoIHRoaXMub3B0aW9ucy52YWx1ZXMgKSApIHsNCgkJCXZhbHNMZW5ndGggPSB0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aDsNCgkJfQ0KDQoJCXRoaXMuX3N1cGVyKCBrZXksIHZhbHVlICk7DQoNCgkJc3dpdGNoICgga2V5ICkgew0KCQkJY2FzZSAib3JpZW50YXRpb24iOg0KCQkJCXRoaXMuX2RldGVjdE9yaWVudGF0aW9uKCk7DQoJCQkJdGhpcy5fcmVtb3ZlQ2xhc3MoICJ1aS1zbGlkZXItaG9yaXpvbnRhbCB1aS1zbGlkZXItdmVydGljYWwiICkNCgkJCQkJLl9hZGRDbGFzcyggInVpLXNsaWRlci0iICsgdGhpcy5vcmllbnRhdGlvbiApOw0KCQkJCXRoaXMuX3JlZnJlc2hWYWx1ZSgpOw0KCQkJCWlmICggdGhpcy5vcHRpb25zLnJhbmdlICkgew0KCQkJCQl0aGlzLl9yZWZyZXNoUmFuZ2UoIHZhbHVlICk7DQoJCQkJfQ0KDQoJCQkJLy8gUmVzZXQgcG9zaXRpb25pbmcgZnJvbSBwcmV2aW91cyBvcmllbnRhdGlvbg0KCQkJCXRoaXMuaGFuZGxlcy5jc3MoIHZhbHVlID09PSAiaG9yaXpvbnRhbCIgPyAiYm90dG9tIiA6ICJsZWZ0IiwgIiIgKTsNCgkJCQlicmVhazsNCgkJCWNhc2UgInZhbHVlIjoNCgkJCQl0aGlzLl9hbmltYXRlT2ZmID0gdHJ1ZTsNCgkJCQl0aGlzLl9yZWZyZXNoVmFsdWUoKTsNCgkJCQl0aGlzLl9jaGFuZ2UoIG51bGwsIDAgKTsNCgkJCQl0aGlzLl9hbmltYXRlT2ZmID0gZmFsc2U7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJ2YWx1ZXMiOg0KCQkJCXRoaXMuX2FuaW1hdGVPZmYgPSB0cnVlOw0KCQkJCXRoaXMuX3JlZnJlc2hWYWx1ZSgpOw0KDQoJCQkJLy8gU3RhcnQgZnJvbSB0aGUgbGFzdCBoYW5kbGUgdG8gcHJldmVudCB1bnJlYWNoYWJsZSBoYW5kbGVzICgjOTA0NikNCgkJCQlmb3IgKCBpID0gdmFsc0xlbmd0aCAtIDE7IGkgPj0gMDsgaS0tICkgew0KCQkJCQl0aGlzLl9jaGFuZ2UoIG51bGwsIGkgKTsNCgkJCQl9DQoJCQkJdGhpcy5fYW5pbWF0ZU9mZiA9IGZhbHNlOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAic3RlcCI6DQoJCQljYXNlICJtaW4iOg0KCQkJY2FzZSAibWF4IjoNCgkJCQl0aGlzLl9hbmltYXRlT2ZmID0gdHJ1ZTsNCgkJCQl0aGlzLl9jYWxjdWxhdGVOZXdNYXgoKTsNCgkJCQl0aGlzLl9yZWZyZXNoVmFsdWUoKTsNCgkJCQl0aGlzLl9hbmltYXRlT2ZmID0gZmFsc2U7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJyYW5nZSI6DQoJCQkJdGhpcy5fYW5pbWF0ZU9mZiA9IHRydWU7DQoJCQkJdGhpcy5fcmVmcmVzaCgpOw0KCQkJCXRoaXMuX2FuaW1hdGVPZmYgPSBmYWxzZTsNCgkJCQlicmVhazsNCgkJfQ0KCX0sDQoNCglfc2V0T3B0aW9uRGlzYWJsZWQ6IGZ1bmN0aW9uKCB2YWx1ZSApIHsNCgkJdGhpcy5fc3VwZXIoIHZhbHVlICk7DQoNCgkJdGhpcy5fdG9nZ2xlQ2xhc3MoIG51bGwsICJ1aS1zdGF0ZS1kaXNhYmxlZCIsICEhdmFsdWUgKTsNCgl9LA0KDQoJLy9pbnRlcm5hbCB2YWx1ZSBnZXR0ZXINCgkvLyBfdmFsdWUoKSByZXR1cm5zIHZhbHVlIHRyaW1tZWQgYnkgbWluIGFuZCBtYXgsIGFsaWduZWQgYnkgc3RlcA0KCV92YWx1ZTogZnVuY3Rpb24oKSB7DQoJCXZhciB2YWwgPSB0aGlzLm9wdGlvbnMudmFsdWU7DQoJCXZhbCA9IHRoaXMuX3RyaW1BbGlnblZhbHVlKCB2YWwgKTsNCg0KCQlyZXR1cm4gdmFsOw0KCX0sDQoNCgkvL2ludGVybmFsIHZhbHVlcyBnZXR0ZXINCgkvLyBfdmFsdWVzKCkgcmV0dXJucyBhcnJheSBvZiB2YWx1ZXMgdHJpbW1lZCBieSBtaW4gYW5kIG1heCwgYWxpZ25lZCBieSBzdGVwDQoJLy8gX3ZhbHVlcyggaW5kZXggKSByZXR1cm5zIHNpbmdsZSB2YWx1ZSB0cmltbWVkIGJ5IG1pbiBhbmQgbWF4LCBhbGlnbmVkIGJ5IHN0ZXANCglfdmFsdWVzOiBmdW5jdGlvbiggaW5kZXggKSB7DQoJCXZhciB2YWwsDQoJCQl2YWxzLA0KCQkJaTsNCg0KCQlpZiAoIGFyZ3VtZW50cy5sZW5ndGggKSB7DQoJCQl2YWwgPSB0aGlzLm9wdGlvbnMudmFsdWVzWyBpbmRleCBdOw0KCQkJdmFsID0gdGhpcy5fdHJpbUFsaWduVmFsdWUoIHZhbCApOw0KDQoJCQlyZXR1cm4gdmFsOw0KCQl9IGVsc2UgaWYgKCB0aGlzLl9oYXNNdWx0aXBsZVZhbHVlcygpICkgew0KDQoJCQkvLyAuc2xpY2UoKSBjcmVhdGVzIGEgY29weSBvZiB0aGUgYXJyYXkNCgkJCS8vIHRoaXMgY29weSBnZXRzIHRyaW1tZWQgYnkgbWluIGFuZCBtYXggYW5kIHRoZW4gcmV0dXJuZWQNCgkJCXZhbHMgPSB0aGlzLm9wdGlvbnMudmFsdWVzLnNsaWNlKCk7DQoJCQlmb3IgKCBpID0gMDsgaSA8IHZhbHMubGVuZ3RoOyBpICs9IDEgKSB7DQoJCQkJdmFsc1sgaSBdID0gdGhpcy5fdHJpbUFsaWduVmFsdWUoIHZhbHNbIGkgXSApOw0KCQkJfQ0KDQoJCQlyZXR1cm4gdmFsczsNCgkJfSBlbHNlIHsNCgkJCXJldHVybiBbXTsNCgkJfQ0KCX0sDQoNCgkvLyBSZXR1cm5zIHRoZSBzdGVwLWFsaWduZWQgdmFsdWUgdGhhdCB2YWwgaXMgY2xvc2VzdCB0bywgYmV0d2VlbiAoaW5jbHVzaXZlKSBtaW4gYW5kIG1heA0KCV90cmltQWxpZ25WYWx1ZTogZnVuY3Rpb24oIHZhbCApIHsNCgkJaWYgKCB2YWwgPD0gdGhpcy5fdmFsdWVNaW4oKSApIHsNCgkJCXJldHVybiB0aGlzLl92YWx1ZU1pbigpOw0KCQl9DQoJCWlmICggdmFsID49IHRoaXMuX3ZhbHVlTWF4KCkgKSB7DQoJCQlyZXR1cm4gdGhpcy5fdmFsdWVNYXgoKTsNCgkJfQ0KCQl2YXIgc3RlcCA9ICggdGhpcy5vcHRpb25zLnN0ZXAgPiAwICkgPyB0aGlzLm9wdGlvbnMuc3RlcCA6IDEsDQoJCQl2YWxNb2RTdGVwID0gKCB2YWwgLSB0aGlzLl92YWx1ZU1pbigpICkgJSBzdGVwLA0KCQkJYWxpZ25WYWx1ZSA9IHZhbCAtIHZhbE1vZFN0ZXA7DQoNCgkJaWYgKCBNYXRoLmFicyggdmFsTW9kU3RlcCApICogMiA+PSBzdGVwICkgew0KCQkJYWxpZ25WYWx1ZSArPSAoIHZhbE1vZFN0ZXAgPiAwICkgPyBzdGVwIDogKCAtc3RlcCApOw0KCQl9DQoNCgkJLy8gU2luY2UgSmF2YVNjcmlwdCBoYXMgcHJvYmxlbXMgd2l0aCBsYXJnZSBmbG9hdHMsIHJvdW5kDQoJCS8vIHRoZSBmaW5hbCB2YWx1ZSB0byA1IGRpZ2l0cyBhZnRlciB0aGUgZGVjaW1hbCBwb2ludCAoc2VlICM0MTI0KQ0KCQlyZXR1cm4gcGFyc2VGbG9hdCggYWxpZ25WYWx1ZS50b0ZpeGVkKCA1ICkgKTsNCgl9LA0KDQoJX2NhbGN1bGF0ZU5ld01heDogZnVuY3Rpb24oKSB7DQoJCXZhciBtYXggPSB0aGlzLm9wdGlvbnMubWF4LA0KCQkJbWluID0gdGhpcy5fdmFsdWVNaW4oKSwNCgkJCXN0ZXAgPSB0aGlzLm9wdGlvbnMuc3RlcCwNCgkJCWFib3ZlTWluID0gTWF0aC5yb3VuZCggKCBtYXggLSBtaW4gKSAvIHN0ZXAgKSAqIHN0ZXA7DQoJCW1heCA9IGFib3ZlTWluICsgbWluOw0KCQlpZiAoIG1heCA+IHRoaXMub3B0aW9ucy5tYXggKSB7DQoNCgkJCS8vSWYgbWF4IGlzIG5vdCBkaXZpc2libGUgYnkgc3RlcCwgcm91bmRpbmcgb2ZmIG1heSBpbmNyZWFzZSBpdHMgdmFsdWUNCgkJCW1heCAtPSBzdGVwOw0KCQl9DQoJCXRoaXMubWF4ID0gcGFyc2VGbG9hdCggbWF4LnRvRml4ZWQoIHRoaXMuX3ByZWNpc2lvbigpICkgKTsNCgl9LA0KDQoJX3ByZWNpc2lvbjogZnVuY3Rpb24oKSB7DQoJCXZhciBwcmVjaXNpb24gPSB0aGlzLl9wcmVjaXNpb25PZiggdGhpcy5vcHRpb25zLnN0ZXAgKTsNCgkJaWYgKCB0aGlzLm9wdGlvbnMubWluICE9PSBudWxsICkgew0KCQkJcHJlY2lzaW9uID0gTWF0aC5tYXgoIHByZWNpc2lvbiwgdGhpcy5fcHJlY2lzaW9uT2YoIHRoaXMub3B0aW9ucy5taW4gKSApOw0KCQl9DQoJCXJldHVybiBwcmVjaXNpb247DQoJfSwNCg0KCV9wcmVjaXNpb25PZjogZnVuY3Rpb24oIG51bSApIHsNCgkJdmFyIHN0ciA9IG51bS50b1N0cmluZygpLA0KCQkJZGVjaW1hbCA9IHN0ci5pbmRleE9mKCAiLiIgKTsNCgkJcmV0dXJuIGRlY2ltYWwgPT09IC0xID8gMCA6IHN0ci5sZW5ndGggLSBkZWNpbWFsIC0gMTsNCgl9LA0KDQoJX3ZhbHVlTWluOiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRoaXMub3B0aW9ucy5taW47DQoJfSwNCg0KCV92YWx1ZU1heDogZnVuY3Rpb24oKSB7DQoJCXJldHVybiB0aGlzLm1heDsNCgl9LA0KDQoJX3JlZnJlc2hSYW5nZTogZnVuY3Rpb24oIG9yaWVudGF0aW9uICkgew0KCQlpZiAoIG9yaWVudGF0aW9uID09PSAidmVydGljYWwiICkgew0KCQkJdGhpcy5yYW5nZS5jc3MoIHsgIndpZHRoIjogIiIsICJsZWZ0IjogIiIgfSApOw0KCQl9DQoJCWlmICggb3JpZW50YXRpb24gPT09ICJob3Jpem9udGFsIiApIHsNCgkJCXRoaXMucmFuZ2UuY3NzKCB7ICJoZWlnaHQiOiAiIiwgImJvdHRvbSI6ICIiIH0gKTsNCgkJfQ0KCX0sDQoNCglfcmVmcmVzaFZhbHVlOiBmdW5jdGlvbigpIHsNCgkJdmFyIGxhc3RWYWxQZXJjZW50LCB2YWxQZXJjZW50LCB2YWx1ZSwgdmFsdWVNaW4sIHZhbHVlTWF4LA0KCQkJb1JhbmdlID0gdGhpcy5vcHRpb25zLnJhbmdlLA0KCQkJbyA9IHRoaXMub3B0aW9ucywNCgkJCXRoYXQgPSB0aGlzLA0KCQkJYW5pbWF0ZSA9ICggIXRoaXMuX2FuaW1hdGVPZmYgKSA/IG8uYW5pbWF0ZSA6IGZhbHNlLA0KCQkJX3NldCA9IHt9Ow0KDQoJCWlmICggdGhpcy5faGFzTXVsdGlwbGVWYWx1ZXMoKSApIHsNCgkJCXRoaXMuaGFuZGxlcy5lYWNoKCBmdW5jdGlvbiggaSApIHsNCgkJCQl2YWxQZXJjZW50ID0gKCB0aGF0LnZhbHVlcyggaSApIC0gdGhhdC5fdmFsdWVNaW4oKSApIC8gKCB0aGF0Ll92YWx1ZU1heCgpIC0NCgkJCQkJdGhhdC5fdmFsdWVNaW4oKSApICogMTAwOw0KCQkJCV9zZXRbIHRoYXQub3JpZW50YXRpb24gPT09ICJob3Jpem9udGFsIiA/ICJsZWZ0IiA6ICJib3R0b20iIF0gPSB2YWxQZXJjZW50ICsgIiUiOw0KCQkJCSQoIHRoaXMgKS5zdG9wKCAxLCAxIClbIGFuaW1hdGUgPyAiYW5pbWF0ZSIgOiAiY3NzIiBdKCBfc2V0LCBvLmFuaW1hdGUgKTsNCgkJCQlpZiAoIHRoYXQub3B0aW9ucy5yYW5nZSA9PT0gdHJ1ZSApIHsNCgkJCQkJaWYgKCB0aGF0Lm9yaWVudGF0aW9uID09PSAiaG9yaXpvbnRhbCIgKSB7DQoJCQkJCQlpZiAoIGkgPT09IDAgKSB7DQoJCQkJCQkJdGhhdC5yYW5nZS5zdG9wKCAxLCAxIClbIGFuaW1hdGUgPyAiYW5pbWF0ZSIgOiAiY3NzIiBdKCB7DQoJCQkJCQkJCWxlZnQ6IHZhbFBlcmNlbnQgKyAiJSINCgkJCQkJCQl9LCBvLmFuaW1hdGUgKTsNCgkJCQkJCX0NCgkJCQkJCWlmICggaSA9PT0gMSApIHsNCgkJCQkJCQl0aGF0LnJhbmdlWyBhbmltYXRlID8gImFuaW1hdGUiIDogImNzcyIgXSggew0KCQkJCQkJCQl3aWR0aDogKCB2YWxQZXJjZW50IC0gbGFzdFZhbFBlcmNlbnQgKSArICIlIg0KCQkJCQkJCX0sIHsNCgkJCQkJCQkJcXVldWU6IGZhbHNlLA0KCQkJCQkJCQlkdXJhdGlvbjogby5hbmltYXRlDQoJCQkJCQkJfSApOw0KCQkJCQkJfQ0KCQkJCQl9IGVsc2Ugew0KCQkJCQkJaWYgKCBpID09PSAwICkgew0KCQkJCQkJCXRoYXQucmFuZ2Uuc3RvcCggMSwgMSApWyBhbmltYXRlID8gImFuaW1hdGUiIDogImNzcyIgXSggew0KCQkJCQkJCQlib3R0b206ICggdmFsUGVyY2VudCApICsgIiUiDQoJCQkJCQkJfSwgby5hbmltYXRlICk7DQoJCQkJCQl9DQoJCQkJCQlpZiAoIGkgPT09IDEgKSB7DQoJCQkJCQkJdGhhdC5yYW5nZVsgYW5pbWF0ZSA/ICJhbmltYXRlIiA6ICJjc3MiIF0oIHsNCgkJCQkJCQkJaGVpZ2h0OiAoIHZhbFBlcmNlbnQgLSBsYXN0VmFsUGVyY2VudCApICsgIiUiDQoJCQkJCQkJfSwgew0KCQkJCQkJCQlxdWV1ZTogZmFsc2UsDQoJCQkJCQkJCWR1cmF0aW9uOiBvLmFuaW1hdGUNCgkJCQkJCQl9ICk7DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9DQoJCQkJbGFzdFZhbFBlcmNlbnQgPSB2YWxQZXJjZW50Ow0KCQkJfSApOw0KCQl9IGVsc2Ugew0KCQkJdmFsdWUgPSB0aGlzLnZhbHVlKCk7DQoJCQl2YWx1ZU1pbiA9IHRoaXMuX3ZhbHVlTWluKCk7DQoJCQl2YWx1ZU1heCA9IHRoaXMuX3ZhbHVlTWF4KCk7DQoJCQl2YWxQZXJjZW50ID0gKCB2YWx1ZU1heCAhPT0gdmFsdWVNaW4gKSA/DQoJCQkJCSggdmFsdWUgLSB2YWx1ZU1pbiApIC8gKCB2YWx1ZU1heCAtIHZhbHVlTWluICkgKiAxMDAgOg0KCQkJCQkwOw0KCQkJX3NldFsgdGhpcy5vcmllbnRhdGlvbiA9PT0gImhvcml6b250YWwiID8gImxlZnQiIDogImJvdHRvbSIgXSA9IHZhbFBlcmNlbnQgKyAiJSI7DQoJCQl0aGlzLmhhbmRsZS5zdG9wKCAxLCAxIClbIGFuaW1hdGUgPyAiYW5pbWF0ZSIgOiAiY3NzIiBdKCBfc2V0LCBvLmFuaW1hdGUgKTsNCg0KCQkJaWYgKCBvUmFuZ2UgPT09ICJtaW4iICYmIHRoaXMub3JpZW50YXRpb24gPT09ICJob3Jpem9udGFsIiApIHsNCgkJCQl0aGlzLnJhbmdlLnN0b3AoIDEsIDEgKVsgYW5pbWF0ZSA/ICJhbmltYXRlIiA6ICJjc3MiIF0oIHsNCgkJCQkJd2lkdGg6IHZhbFBlcmNlbnQgKyAiJSINCgkJCQl9LCBvLmFuaW1hdGUgKTsNCgkJCX0NCgkJCWlmICggb1JhbmdlID09PSAibWF4IiAmJiB0aGlzLm9yaWVudGF0aW9uID09PSAiaG9yaXpvbnRhbCIgKSB7DQoJCQkJdGhpcy5yYW5nZS5zdG9wKCAxLCAxIClbIGFuaW1hdGUgPyAiYW5pbWF0ZSIgOiAiY3NzIiBdKCB7DQoJCQkJCXdpZHRoOiAoIDEwMCAtIHZhbFBlcmNlbnQgKSArICIlIg0KCQkJCX0sIG8uYW5pbWF0ZSApOw0KCQkJfQ0KCQkJaWYgKCBvUmFuZ2UgPT09ICJtaW4iICYmIHRoaXMub3JpZW50YXRpb24gPT09ICJ2ZXJ0aWNhbCIgKSB7DQoJCQkJdGhpcy5yYW5nZS5zdG9wKCAxLCAxIClbIGFuaW1hdGUgPyAiYW5pbWF0ZSIgOiAiY3NzIiBdKCB7DQoJCQkJCWhlaWdodDogdmFsUGVyY2VudCArICIlIg0KCQkJCX0sIG8uYW5pbWF0ZSApOw0KCQkJfQ0KCQkJaWYgKCBvUmFuZ2UgPT09ICJtYXgiICYmIHRoaXMub3JpZW50YXRpb24gPT09ICJ2ZXJ0aWNhbCIgKSB7DQoJCQkJdGhpcy5yYW5nZS5zdG9wKCAxLCAxIClbIGFuaW1hdGUgPyAiYW5pbWF0ZSIgOiAiY3NzIiBdKCB7DQoJCQkJCWhlaWdodDogKCAxMDAgLSB2YWxQZXJjZW50ICkgKyAiJSINCgkJCQl9LCBvLmFuaW1hdGUgKTsNCgkJCX0NCgkJfQ0KCX0sDQoNCglfaGFuZGxlRXZlbnRzOiB7DQoJCWtleWRvd246IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCXZhciBhbGxvd2VkLCBjdXJWYWwsIG5ld1ZhbCwgc3RlcCwNCgkJCQlpbmRleCA9ICQoIGV2ZW50LnRhcmdldCApLmRhdGEoICJ1aS1zbGlkZXItaGFuZGxlLWluZGV4IiApOw0KDQoJCQlzd2l0Y2ggKCBldmVudC5rZXlDb2RlICkgew0KCQkJCWNhc2UgJC51aS5rZXlDb2RlLkhPTUU6DQoJCQkJY2FzZSAkLnVpLmtleUNvZGUuRU5EOg0KCQkJCWNhc2UgJC51aS5rZXlDb2RlLlBBR0VfVVA6DQoJCQkJY2FzZSAkLnVpLmtleUNvZGUuUEFHRV9ET1dOOg0KCQkJCWNhc2UgJC51aS5rZXlDb2RlLlVQOg0KCQkJCWNhc2UgJC51aS5rZXlDb2RlLlJJR0hUOg0KCQkJCWNhc2UgJC51aS5rZXlDb2RlLkRPV046DQoJCQkJY2FzZSAkLnVpLmtleUNvZGUuTEVGVDoNCgkJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCgkJCQkJaWYgKCAhdGhpcy5fa2V5U2xpZGluZyApIHsNCgkJCQkJCXRoaXMuX2tleVNsaWRpbmcgPSB0cnVlOw0KCQkJCQkJdGhpcy5fYWRkQ2xhc3MoICQoIGV2ZW50LnRhcmdldCApLCBudWxsLCAidWktc3RhdGUtYWN0aXZlIiApOw0KCQkJCQkJYWxsb3dlZCA9IHRoaXMuX3N0YXJ0KCBldmVudCwgaW5kZXggKTsNCgkJCQkJCWlmICggYWxsb3dlZCA9PT0gZmFsc2UgKSB7DQoJCQkJCQkJcmV0dXJuOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJCWJyZWFrOw0KCQkJfQ0KDQoJCQlzdGVwID0gdGhpcy5vcHRpb25zLnN0ZXA7DQoJCQlpZiAoIHRoaXMuX2hhc011bHRpcGxlVmFsdWVzKCkgKSB7DQoJCQkJY3VyVmFsID0gbmV3VmFsID0gdGhpcy52YWx1ZXMoIGluZGV4ICk7DQoJCQl9IGVsc2Ugew0KCQkJCWN1clZhbCA9IG5ld1ZhbCA9IHRoaXMudmFsdWUoKTsNCgkJCX0NCg0KCQkJc3dpdGNoICggZXZlbnQua2V5Q29kZSApIHsNCgkJCQljYXNlICQudWkua2V5Q29kZS5IT01FOg0KCQkJCQluZXdWYWwgPSB0aGlzLl92YWx1ZU1pbigpOw0KCQkJCQlicmVhazsNCgkJCQljYXNlICQudWkua2V5Q29kZS5FTkQ6DQoJCQkJCW5ld1ZhbCA9IHRoaXMuX3ZhbHVlTWF4KCk7DQoJCQkJCWJyZWFrOw0KCQkJCWNhc2UgJC51aS5rZXlDb2RlLlBBR0VfVVA6DQoJCQkJCW5ld1ZhbCA9IHRoaXMuX3RyaW1BbGlnblZhbHVlKA0KCQkJCQkJY3VyVmFsICsgKCAoIHRoaXMuX3ZhbHVlTWF4KCkgLSB0aGlzLl92YWx1ZU1pbigpICkgLyB0aGlzLm51bVBhZ2VzICkNCgkJCQkJKTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSAkLnVpLmtleUNvZGUuUEFHRV9ET1dOOg0KCQkJCQluZXdWYWwgPSB0aGlzLl90cmltQWxpZ25WYWx1ZSgNCgkJCQkJCWN1clZhbCAtICggKCB0aGlzLl92YWx1ZU1heCgpIC0gdGhpcy5fdmFsdWVNaW4oKSApIC8gdGhpcy5udW1QYWdlcyApICk7DQoJCQkJCWJyZWFrOw0KCQkJCWNhc2UgJC51aS5rZXlDb2RlLlVQOg0KCQkJCWNhc2UgJC51aS5rZXlDb2RlLlJJR0hUOg0KCQkJCQlpZiAoIGN1clZhbCA9PT0gdGhpcy5fdmFsdWVNYXgoKSApIHsNCgkJCQkJCXJldHVybjsNCgkJCQkJfQ0KCQkJCQluZXdWYWwgPSB0aGlzLl90cmltQWxpZ25WYWx1ZSggY3VyVmFsICsgc3RlcCApOw0KCQkJCQlicmVhazsNCgkJCQljYXNlICQudWkua2V5Q29kZS5ET1dOOg0KCQkJCWNhc2UgJC51aS5rZXlDb2RlLkxFRlQ6DQoJCQkJCWlmICggY3VyVmFsID09PSB0aGlzLl92YWx1ZU1pbigpICkgew0KCQkJCQkJcmV0dXJuOw0KCQkJCQl9DQoJCQkJCW5ld1ZhbCA9IHRoaXMuX3RyaW1BbGlnblZhbHVlKCBjdXJWYWwgLSBzdGVwICk7DQoJCQkJCWJyZWFrOw0KCQkJfQ0KDQoJCQl0aGlzLl9zbGlkZSggZXZlbnQsIGluZGV4LCBuZXdWYWwgKTsNCgkJfSwNCgkJa2V5dXA6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCXZhciBpbmRleCA9ICQoIGV2ZW50LnRhcmdldCApLmRhdGEoICJ1aS1zbGlkZXItaGFuZGxlLWluZGV4IiApOw0KDQoJCQlpZiAoIHRoaXMuX2tleVNsaWRpbmcgKSB7DQoJCQkJdGhpcy5fa2V5U2xpZGluZyA9IGZhbHNlOw0KCQkJCXRoaXMuX3N0b3AoIGV2ZW50LCBpbmRleCApOw0KCQkJCXRoaXMuX2NoYW5nZSggZXZlbnQsIGluZGV4ICk7DQoJCQkJdGhpcy5fcmVtb3ZlQ2xhc3MoICQoIGV2ZW50LnRhcmdldCApLCBudWxsLCAidWktc3RhdGUtYWN0aXZlIiApOw0KCQkJfQ0KCQl9DQoJfQ0KfSApOw0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIFNvcnRhYmxlIDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKi8NCg0KLy8+PmxhYmVsOiBTb3J0YWJsZQ0KLy8+Pmdyb3VwOiBJbnRlcmFjdGlvbnMNCi8vPj5kZXNjcmlwdGlvbjogRW5hYmxlcyBpdGVtcyBpbiBhIGxpc3QgdG8gYmUgc29ydGVkIHVzaW5nIHRoZSBtb3VzZS4NCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9zb3J0YWJsZS8NCi8vPj5kZW1vczogaHR0cDovL2pxdWVyeXVpLmNvbS9zb3J0YWJsZS8NCi8vPj5jc3Muc3RydWN0dXJlOiAuLi8uLi90aGVtZXMvYmFzZS9zb3J0YWJsZS5jc3MNCg0KDQoNCnZhciB3aWRnZXRzU29ydGFibGUgPSAkLndpZGdldCggInVpLnNvcnRhYmxlIiwgJC51aS5tb3VzZSwgew0KCXZlcnNpb246ICIxLjEyLjEiLA0KCXdpZGdldEV2ZW50UHJlZml4OiAic29ydCIsDQoJcmVhZHk6IGZhbHNlLA0KCW9wdGlvbnM6IHsNCgkJYXBwZW5kVG86ICJwYXJlbnQiLA0KCQlheGlzOiBmYWxzZSwNCgkJY29ubmVjdFdpdGg6IGZhbHNlLA0KCQljb250YWlubWVudDogZmFsc2UsDQoJCWN1cnNvcjogImF1dG8iLA0KCQljdXJzb3JBdDogZmFsc2UsDQoJCWRyb3BPbkVtcHR5OiB0cnVlLA0KCQlmb3JjZVBsYWNlaG9sZGVyU2l6ZTogZmFsc2UsDQoJCWZvcmNlSGVscGVyU2l6ZTogZmFsc2UsDQoJCWdyaWQ6IGZhbHNlLA0KCQloYW5kbGU6IGZhbHNlLA0KCQloZWxwZXI6ICJvcmlnaW5hbCIsDQoJCWl0ZW1zOiAiPiAqIiwNCgkJb3BhY2l0eTogZmFsc2UsDQoJCXBsYWNlaG9sZGVyOiBmYWxzZSwNCgkJcmV2ZXJ0OiBmYWxzZSwNCgkJc2Nyb2xsOiB0cnVlLA0KCQlzY3JvbGxTZW5zaXRpdml0eTogMjAsDQoJCXNjcm9sbFNwZWVkOiAyMCwNCgkJc2NvcGU6ICJkZWZhdWx0IiwNCgkJdG9sZXJhbmNlOiAiaW50ZXJzZWN0IiwNCgkJekluZGV4OiAxMDAwLA0KDQoJCS8vIENhbGxiYWNrcw0KCQlhY3RpdmF0ZTogbnVsbCwNCgkJYmVmb3JlU3RvcDogbnVsbCwNCgkJY2hhbmdlOiBudWxsLA0KCQlkZWFjdGl2YXRlOiBudWxsLA0KCQlvdXQ6IG51bGwsDQoJCW92ZXI6IG51bGwsDQoJCXJlY2VpdmU6IG51bGwsDQoJCXJlbW92ZTogbnVsbCwNCgkJc29ydDogbnVsbCwNCgkJc3RhcnQ6IG51bGwsDQoJCXN0b3A6IG51bGwsDQoJCXVwZGF0ZTogbnVsbA0KCX0sDQoNCglfaXNPdmVyQXhpczogZnVuY3Rpb24oIHgsIHJlZmVyZW5jZSwgc2l6ZSApIHsNCgkJcmV0dXJuICggeCA+PSByZWZlcmVuY2UgKSAmJiAoIHggPCAoIHJlZmVyZW5jZSArIHNpemUgKSApOw0KCX0sDQoNCglfaXNGbG9hdGluZzogZnVuY3Rpb24oIGl0ZW0gKSB7DQoJCXJldHVybiAoIC9sZWZ0fHJpZ2h0LyApLnRlc3QoIGl0ZW0uY3NzKCAiZmxvYXQiICkgKSB8fA0KCQkJKCAvaW5saW5lfHRhYmxlLWNlbGwvICkudGVzdCggaXRlbS5jc3MoICJkaXNwbGF5IiApICk7DQoJfSwNCg0KCV9jcmVhdGU6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLmNvbnRhaW5lckNhY2hlID0ge307DQoJCXRoaXMuX2FkZENsYXNzKCAidWktc29ydGFibGUiICk7DQoNCgkJLy9HZXQgdGhlIGl0ZW1zDQoJCXRoaXMucmVmcmVzaCgpOw0KDQoJCS8vTGV0J3MgZGV0ZXJtaW5lIHRoZSBwYXJlbnQncyBvZmZzZXQNCgkJdGhpcy5vZmZzZXQgPSB0aGlzLmVsZW1lbnQub2Zmc2V0KCk7DQoNCgkJLy9Jbml0aWFsaXplIG1vdXNlIGV2ZW50cyBmb3IgaW50ZXJhY3Rpb24NCgkJdGhpcy5fbW91c2VJbml0KCk7DQoNCgkJdGhpcy5fc2V0SGFuZGxlQ2xhc3NOYW1lKCk7DQoNCgkJLy9XZSdyZSByZWFkeSB0byBnbw0KCQl0aGlzLnJlYWR5ID0gdHJ1ZTsNCg0KCX0sDQoNCglfc2V0T3B0aW9uOiBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCgkJdGhpcy5fc3VwZXIoIGtleSwgdmFsdWUgKTsNCg0KCQlpZiAoIGtleSA9PT0gImhhbmRsZSIgKSB7DQoJCQl0aGlzLl9zZXRIYW5kbGVDbGFzc05hbWUoKTsNCgkJfQ0KCX0sDQoNCglfc2V0SGFuZGxlQ2xhc3NOYW1lOiBmdW5jdGlvbigpIHsNCgkJdmFyIHRoYXQgPSB0aGlzOw0KCQl0aGlzLl9yZW1vdmVDbGFzcyggdGhpcy5lbGVtZW50LmZpbmQoICIudWktc29ydGFibGUtaGFuZGxlIiApLCAidWktc29ydGFibGUtaGFuZGxlIiApOw0KCQkkLmVhY2goIHRoaXMuaXRlbXMsIGZ1bmN0aW9uKCkgew0KCQkJdGhhdC5fYWRkQ2xhc3MoDQoJCQkJdGhpcy5pbnN0YW5jZS5vcHRpb25zLmhhbmRsZSA/DQoJCQkJCXRoaXMuaXRlbS5maW5kKCB0aGlzLmluc3RhbmNlLm9wdGlvbnMuaGFuZGxlICkgOg0KCQkJCQl0aGlzLml0ZW0sDQoJCQkJInVpLXNvcnRhYmxlLWhhbmRsZSINCgkJCSk7DQoJCX0gKTsNCgl9LA0KDQoJX2Rlc3Ryb3k6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLl9tb3VzZURlc3Ryb3koKTsNCg0KCQlmb3IgKCB2YXIgaSA9IHRoaXMuaXRlbXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0gKSB7DQoJCQl0aGlzLml0ZW1zWyBpIF0uaXRlbS5yZW1vdmVEYXRhKCB0aGlzLndpZGdldE5hbWUgKyAiLWl0ZW0iICk7DQoJCX0NCg0KCQlyZXR1cm4gdGhpczsNCgl9LA0KDQoJX21vdXNlQ2FwdHVyZTogZnVuY3Rpb24oIGV2ZW50LCBvdmVycmlkZUhhbmRsZSApIHsNCgkJdmFyIGN1cnJlbnRJdGVtID0gbnVsbCwNCgkJCXZhbGlkSGFuZGxlID0gZmFsc2UsDQoJCQl0aGF0ID0gdGhpczsNCg0KCQlpZiAoIHRoaXMucmV2ZXJ0aW5nICkgew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoNCgkJaWYgKCB0aGlzLm9wdGlvbnMuZGlzYWJsZWQgfHwgdGhpcy5vcHRpb25zLnR5cGUgPT09ICJzdGF0aWMiICkgew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoNCgkJLy9XZSBoYXZlIHRvIHJlZnJlc2ggdGhlIGl0ZW1zIGRhdGEgb25jZSBmaXJzdA0KCQl0aGlzLl9yZWZyZXNoSXRlbXMoIGV2ZW50ICk7DQoNCgkJLy9GaW5kIG91dCBpZiB0aGUgY2xpY2tlZCBub2RlIChvciBvbmUgb2YgaXRzIHBhcmVudHMpIGlzIGEgYWN0dWFsIGl0ZW0gaW4gdGhpcy5pdGVtcw0KCQkkKCBldmVudC50YXJnZXQgKS5wYXJlbnRzKCkuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQlpZiAoICQuZGF0YSggdGhpcywgdGhhdC53aWRnZXROYW1lICsgIi1pdGVtIiApID09PSB0aGF0ICkgew0KCQkJCWN1cnJlbnRJdGVtID0gJCggdGhpcyApOw0KCQkJCXJldHVybiBmYWxzZTsNCgkJCX0NCgkJfSApOw0KCQlpZiAoICQuZGF0YSggZXZlbnQudGFyZ2V0LCB0aGF0LndpZGdldE5hbWUgKyAiLWl0ZW0iICkgPT09IHRoYXQgKSB7DQoJCQljdXJyZW50SXRlbSA9ICQoIGV2ZW50LnRhcmdldCApOw0KCQl9DQoNCgkJaWYgKCAhY3VycmVudEl0ZW0gKSB7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCgkJaWYgKCB0aGlzLm9wdGlvbnMuaGFuZGxlICYmICFvdmVycmlkZUhhbmRsZSApIHsNCgkJCSQoIHRoaXMub3B0aW9ucy5oYW5kbGUsIGN1cnJlbnRJdGVtICkuZmluZCggIioiICkuYWRkQmFjaygpLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJCWlmICggdGhpcyA9PT0gZXZlbnQudGFyZ2V0ICkgew0KCQkJCQl2YWxpZEhhbmRsZSA9IHRydWU7DQoJCQkJfQ0KCQkJfSApOw0KCQkJaWYgKCAhdmFsaWRIYW5kbGUgKSB7DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfQ0KCQl9DQoNCgkJdGhpcy5jdXJyZW50SXRlbSA9IGN1cnJlbnRJdGVtOw0KCQl0aGlzLl9yZW1vdmVDdXJyZW50c0Zyb21JdGVtcygpOw0KCQlyZXR1cm4gdHJ1ZTsNCg0KCX0sDQoNCglfbW91c2VTdGFydDogZnVuY3Rpb24oIGV2ZW50LCBvdmVycmlkZUhhbmRsZSwgbm9BY3RpdmF0aW9uICkgew0KDQoJCXZhciBpLCBib2R5LA0KCQkJbyA9IHRoaXMub3B0aW9uczsNCg0KCQl0aGlzLmN1cnJlbnRDb250YWluZXIgPSB0aGlzOw0KDQoJCS8vV2Ugb25seSBuZWVkIHRvIGNhbGwgcmVmcmVzaFBvc2l0aW9ucywgYmVjYXVzZSB0aGUgcmVmcmVzaEl0ZW1zIGNhbGwgaGFzIGJlZW4gbW92ZWQgdG8NCgkJLy8gbW91c2VDYXB0dXJlDQoJCXRoaXMucmVmcmVzaFBvc2l0aW9ucygpOw0KDQoJCS8vQ3JlYXRlIGFuZCBhcHBlbmQgdGhlIHZpc2libGUgaGVscGVyDQoJCXRoaXMuaGVscGVyID0gdGhpcy5fY3JlYXRlSGVscGVyKCBldmVudCApOw0KDQoJCS8vQ2FjaGUgdGhlIGhlbHBlciBzaXplDQoJCXRoaXMuX2NhY2hlSGVscGVyUHJvcG9ydGlvbnMoKTsNCg0KCQkvKg0KCQkgKiAtIFBvc2l0aW9uIGdlbmVyYXRpb24gLQ0KCQkgKiBUaGlzIGJsb2NrIGdlbmVyYXRlcyBldmVyeXRoaW5nIHBvc2l0aW9uIHJlbGF0ZWQgLSBpdCdzIHRoZSBjb3JlIG9mIGRyYWdnYWJsZXMuDQoJCSAqLw0KDQoJCS8vQ2FjaGUgdGhlIG1hcmdpbnMgb2YgdGhlIG9yaWdpbmFsIGVsZW1lbnQNCgkJdGhpcy5fY2FjaGVNYXJnaW5zKCk7DQoNCgkJLy9HZXQgdGhlIG5leHQgc2Nyb2xsaW5nIHBhcmVudA0KCQl0aGlzLnNjcm9sbFBhcmVudCA9IHRoaXMuaGVscGVyLnNjcm9sbFBhcmVudCgpOw0KDQoJCS8vVGhlIGVsZW1lbnQncyBhYnNvbHV0ZSBwb3NpdGlvbiBvbiB0aGUgcGFnZSBtaW51cyBtYXJnaW5zDQoJCXRoaXMub2Zmc2V0ID0gdGhpcy5jdXJyZW50SXRlbS5vZmZzZXQoKTsNCgkJdGhpcy5vZmZzZXQgPSB7DQoJCQl0b3A6IHRoaXMub2Zmc2V0LnRvcCAtIHRoaXMubWFyZ2lucy50b3AsDQoJCQlsZWZ0OiB0aGlzLm9mZnNldC5sZWZ0IC0gdGhpcy5tYXJnaW5zLmxlZnQNCgkJfTsNCg0KCQkkLmV4dGVuZCggdGhpcy5vZmZzZXQsIHsNCgkJCWNsaWNrOiB7IC8vV2hlcmUgdGhlIGNsaWNrIGhhcHBlbmVkLCByZWxhdGl2ZSB0byB0aGUgZWxlbWVudA0KCQkJCWxlZnQ6IGV2ZW50LnBhZ2VYIC0gdGhpcy5vZmZzZXQubGVmdCwNCgkJCQl0b3A6IGV2ZW50LnBhZ2VZIC0gdGhpcy5vZmZzZXQudG9wDQoJCQl9LA0KCQkJcGFyZW50OiB0aGlzLl9nZXRQYXJlbnRPZmZzZXQoKSwNCg0KCQkJLy8gVGhpcyBpcyBhIHJlbGF0aXZlIHRvIGFic29sdXRlIHBvc2l0aW9uIG1pbnVzIHRoZSBhY3R1YWwgcG9zaXRpb24gY2FsY3VsYXRpb24gLQ0KCQkJLy8gb25seSB1c2VkIGZvciByZWxhdGl2ZSBwb3NpdGlvbmVkIGhlbHBlcg0KCQkJcmVsYXRpdmU6IHRoaXMuX2dldFJlbGF0aXZlT2Zmc2V0KCkNCgkJfSApOw0KDQoJCS8vIE9ubHkgYWZ0ZXIgd2UgZ290IHRoZSBvZmZzZXQsIHdlIGNhbiBjaGFuZ2UgdGhlIGhlbHBlcidzIHBvc2l0aW9uIHRvIGFic29sdXRlDQoJCS8vIFRPRE86IFN0aWxsIG5lZWQgdG8gZmlndXJlIG91dCBhIHdheSB0byBtYWtlIHJlbGF0aXZlIHNvcnRpbmcgcG9zc2libGUNCgkJdGhpcy5oZWxwZXIuY3NzKCAicG9zaXRpb24iLCAiYWJzb2x1dGUiICk7DQoJCXRoaXMuY3NzUG9zaXRpb24gPSB0aGlzLmhlbHBlci5jc3MoICJwb3NpdGlvbiIgKTsNCg0KCQkvL0dlbmVyYXRlIHRoZSBvcmlnaW5hbCBwb3NpdGlvbg0KCQl0aGlzLm9yaWdpbmFsUG9zaXRpb24gPSB0aGlzLl9nZW5lcmF0ZVBvc2l0aW9uKCBldmVudCApOw0KCQl0aGlzLm9yaWdpbmFsUGFnZVggPSBldmVudC5wYWdlWDsNCgkJdGhpcy5vcmlnaW5hbFBhZ2VZID0gZXZlbnQucGFnZVk7DQoNCgkJLy9BZGp1c3QgdGhlIG1vdXNlIG9mZnNldCByZWxhdGl2ZSB0byB0aGUgaGVscGVyIGlmICJjdXJzb3JBdCIgaXMgc3VwcGxpZWQNCgkJKCBvLmN1cnNvckF0ICYmIHRoaXMuX2FkanVzdE9mZnNldEZyb21IZWxwZXIoIG8uY3Vyc29yQXQgKSApOw0KDQoJCS8vQ2FjaGUgdGhlIGZvcm1lciBET00gcG9zaXRpb24NCgkJdGhpcy5kb21Qb3NpdGlvbiA9IHsNCgkJCXByZXY6IHRoaXMuY3VycmVudEl0ZW0ucHJldigpWyAwIF0sDQoJCQlwYXJlbnQ6IHRoaXMuY3VycmVudEl0ZW0ucGFyZW50KClbIDAgXQ0KCQl9Ow0KDQoJCS8vIElmIHRoZSBoZWxwZXIgaXMgbm90IHRoZSBvcmlnaW5hbCwgaGlkZSB0aGUgb3JpZ2luYWwgc28gaXQncyBub3QgcGxheWluZyBhbnkgcm9sZSBkdXJpbmcNCgkJLy8gdGhlIGRyYWcsIHdvbid0IGNhdXNlIGFueXRoaW5nIGJhZCB0aGlzIHdheQ0KCQlpZiAoIHRoaXMuaGVscGVyWyAwIF0gIT09IHRoaXMuY3VycmVudEl0ZW1bIDAgXSApIHsNCgkJCXRoaXMuY3VycmVudEl0ZW0uaGlkZSgpOw0KCQl9DQoNCgkJLy9DcmVhdGUgdGhlIHBsYWNlaG9sZGVyDQoJCXRoaXMuX2NyZWF0ZVBsYWNlaG9sZGVyKCk7DQoNCgkJLy9TZXQgYSBjb250YWlubWVudCBpZiBnaXZlbiBpbiB0aGUgb3B0aW9ucw0KCQlpZiAoIG8uY29udGFpbm1lbnQgKSB7DQoJCQl0aGlzLl9zZXRDb250YWlubWVudCgpOw0KCQl9DQoNCgkJaWYgKCBvLmN1cnNvciAmJiBvLmN1cnNvciAhPT0gImF1dG8iICkgeyAvLyBjdXJzb3Igb3B0aW9uDQoJCQlib2R5ID0gdGhpcy5kb2N1bWVudC5maW5kKCAiYm9keSIgKTsNCg0KCQkJLy8gU3VwcG9ydDogSUUNCgkJCXRoaXMuc3RvcmVkQ3Vyc29yID0gYm9keS5jc3MoICJjdXJzb3IiICk7DQoJCQlib2R5LmNzcyggImN1cnNvciIsIG8uY3Vyc29yICk7DQoNCgkJCXRoaXMuc3RvcmVkU3R5bGVzaGVldCA9DQoJCQkJJCggIjxzdHlsZT4qeyBjdXJzb3I6ICIgKyBvLmN1cnNvciArICIgIWltcG9ydGFudDsgfTwvc3R5bGU+IiApLmFwcGVuZFRvKCBib2R5ICk7DQoJCX0NCg0KCQlpZiAoIG8ub3BhY2l0eSApIHsgLy8gb3BhY2l0eSBvcHRpb24NCgkJCWlmICggdGhpcy5oZWxwZXIuY3NzKCAib3BhY2l0eSIgKSApIHsNCgkJCQl0aGlzLl9zdG9yZWRPcGFjaXR5ID0gdGhpcy5oZWxwZXIuY3NzKCAib3BhY2l0eSIgKTsNCgkJCX0NCgkJCXRoaXMuaGVscGVyLmNzcyggIm9wYWNpdHkiLCBvLm9wYWNpdHkgKTsNCgkJfQ0KDQoJCWlmICggby56SW5kZXggKSB7IC8vIHpJbmRleCBvcHRpb24NCgkJCWlmICggdGhpcy5oZWxwZXIuY3NzKCAiekluZGV4IiApICkgew0KCQkJCXRoaXMuX3N0b3JlZFpJbmRleCA9IHRoaXMuaGVscGVyLmNzcyggInpJbmRleCIgKTsNCgkJCX0NCgkJCXRoaXMuaGVscGVyLmNzcyggInpJbmRleCIsIG8uekluZGV4ICk7DQoJCX0NCg0KCQkvL1ByZXBhcmUgc2Nyb2xsaW5nDQoJCWlmICggdGhpcy5zY3JvbGxQYXJlbnRbIDAgXSAhPT0gdGhpcy5kb2N1bWVudFsgMCBdICYmDQoJCQkJdGhpcy5zY3JvbGxQYXJlbnRbIDAgXS50YWdOYW1lICE9PSAiSFRNTCIgKSB7DQoJCQl0aGlzLm92ZXJmbG93T2Zmc2V0ID0gdGhpcy5zY3JvbGxQYXJlbnQub2Zmc2V0KCk7DQoJCX0NCg0KCQkvL0NhbGwgY2FsbGJhY2tzDQoJCXRoaXMuX3RyaWdnZXIoICJzdGFydCIsIGV2ZW50LCB0aGlzLl91aUhhc2goKSApOw0KDQoJCS8vUmVjYWNoZSB0aGUgaGVscGVyIHNpemUNCgkJaWYgKCAhdGhpcy5fcHJlc2VydmVIZWxwZXJQcm9wb3J0aW9ucyApIHsNCgkJCXRoaXMuX2NhY2hlSGVscGVyUHJvcG9ydGlvbnMoKTsNCgkJfQ0KDQoJCS8vUG9zdCAiYWN0aXZhdGUiIGV2ZW50cyB0byBwb3NzaWJsZSBjb250YWluZXJzDQoJCWlmICggIW5vQWN0aXZhdGlvbiApIHsNCgkJCWZvciAoIGkgPSB0aGlzLmNvbnRhaW5lcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0gKSB7DQoJCQkJdGhpcy5jb250YWluZXJzWyBpIF0uX3RyaWdnZXIoICJhY3RpdmF0ZSIsIGV2ZW50LCB0aGlzLl91aUhhc2goIHRoaXMgKSApOw0KCQkJfQ0KCQl9DQoNCgkJLy9QcmVwYXJlIHBvc3NpYmxlIGRyb3BwYWJsZXMNCgkJaWYgKCAkLnVpLmRkbWFuYWdlciApIHsNCgkJCSQudWkuZGRtYW5hZ2VyLmN1cnJlbnQgPSB0aGlzOw0KCQl9DQoNCgkJaWYgKCAkLnVpLmRkbWFuYWdlciAmJiAhby5kcm9wQmVoYXZpb3VyICkgew0KCQkJJC51aS5kZG1hbmFnZXIucHJlcGFyZU9mZnNldHMoIHRoaXMsIGV2ZW50ICk7DQoJCX0NCg0KCQl0aGlzLmRyYWdnaW5nID0gdHJ1ZTsNCg0KCQl0aGlzLl9hZGRDbGFzcyggdGhpcy5oZWxwZXIsICJ1aS1zb3J0YWJsZS1oZWxwZXIiICk7DQoNCgkJLy8gRXhlY3V0ZSB0aGUgZHJhZyBvbmNlIC0gdGhpcyBjYXVzZXMgdGhlIGhlbHBlciBub3QgdG8gYmUgdmlzaWJsZWJlZm9yZSBnZXR0aW5nIGl0cw0KCQkvLyBjb3JyZWN0IHBvc2l0aW9uDQoJCXRoaXMuX21vdXNlRHJhZyggZXZlbnQgKTsNCgkJcmV0dXJuIHRydWU7DQoNCgl9LA0KDQoJX21vdXNlRHJhZzogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl2YXIgaSwgaXRlbSwgaXRlbUVsZW1lbnQsIGludGVyc2VjdGlvbiwNCgkJCW8gPSB0aGlzLm9wdGlvbnMsDQoJCQlzY3JvbGxlZCA9IGZhbHNlOw0KDQoJCS8vQ29tcHV0ZSB0aGUgaGVscGVycyBwb3NpdGlvbg0KCQl0aGlzLnBvc2l0aW9uID0gdGhpcy5fZ2VuZXJhdGVQb3NpdGlvbiggZXZlbnQgKTsNCgkJdGhpcy5wb3NpdGlvbkFicyA9IHRoaXMuX2NvbnZlcnRQb3NpdGlvblRvKCAiYWJzb2x1dGUiICk7DQoNCgkJaWYgKCAhdGhpcy5sYXN0UG9zaXRpb25BYnMgKSB7DQoJCQl0aGlzLmxhc3RQb3NpdGlvbkFicyA9IHRoaXMucG9zaXRpb25BYnM7DQoJCX0NCg0KCQkvL0RvIHNjcm9sbGluZw0KCQlpZiAoIHRoaXMub3B0aW9ucy5zY3JvbGwgKSB7DQoJCQlpZiAoIHRoaXMuc2Nyb2xsUGFyZW50WyAwIF0gIT09IHRoaXMuZG9jdW1lbnRbIDAgXSAmJg0KCQkJCQl0aGlzLnNjcm9sbFBhcmVudFsgMCBdLnRhZ05hbWUgIT09ICJIVE1MIiApIHsNCg0KCQkJCWlmICggKCB0aGlzLm92ZXJmbG93T2Zmc2V0LnRvcCArIHRoaXMuc2Nyb2xsUGFyZW50WyAwIF0ub2Zmc2V0SGVpZ2h0ICkgLQ0KCQkJCQkJZXZlbnQucGFnZVkgPCBvLnNjcm9sbFNlbnNpdGl2aXR5ICkgew0KCQkJCQl0aGlzLnNjcm9sbFBhcmVudFsgMCBdLnNjcm9sbFRvcCA9DQoJCQkJCQlzY3JvbGxlZCA9IHRoaXMuc2Nyb2xsUGFyZW50WyAwIF0uc2Nyb2xsVG9wICsgby5zY3JvbGxTcGVlZDsNCgkJCQl9IGVsc2UgaWYgKCBldmVudC5wYWdlWSAtIHRoaXMub3ZlcmZsb3dPZmZzZXQudG9wIDwgby5zY3JvbGxTZW5zaXRpdml0eSApIHsNCgkJCQkJdGhpcy5zY3JvbGxQYXJlbnRbIDAgXS5zY3JvbGxUb3AgPQ0KCQkJCQkJc2Nyb2xsZWQgPSB0aGlzLnNjcm9sbFBhcmVudFsgMCBdLnNjcm9sbFRvcCAtIG8uc2Nyb2xsU3BlZWQ7DQoJCQkJfQ0KDQoJCQkJaWYgKCAoIHRoaXMub3ZlcmZsb3dPZmZzZXQubGVmdCArIHRoaXMuc2Nyb2xsUGFyZW50WyAwIF0ub2Zmc2V0V2lkdGggKSAtDQoJCQkJCQlldmVudC5wYWdlWCA8IG8uc2Nyb2xsU2Vuc2l0aXZpdHkgKSB7DQoJCQkJCXRoaXMuc2Nyb2xsUGFyZW50WyAwIF0uc2Nyb2xsTGVmdCA9IHNjcm9sbGVkID0NCgkJCQkJCXRoaXMuc2Nyb2xsUGFyZW50WyAwIF0uc2Nyb2xsTGVmdCArIG8uc2Nyb2xsU3BlZWQ7DQoJCQkJfSBlbHNlIGlmICggZXZlbnQucGFnZVggLSB0aGlzLm92ZXJmbG93T2Zmc2V0LmxlZnQgPCBvLnNjcm9sbFNlbnNpdGl2aXR5ICkgew0KCQkJCQl0aGlzLnNjcm9sbFBhcmVudFsgMCBdLnNjcm9sbExlZnQgPSBzY3JvbGxlZCA9DQoJCQkJCQl0aGlzLnNjcm9sbFBhcmVudFsgMCBdLnNjcm9sbExlZnQgLSBvLnNjcm9sbFNwZWVkOw0KCQkJCX0NCg0KCQkJfSBlbHNlIHsNCg0KCQkJCWlmICggZXZlbnQucGFnZVkgLSB0aGlzLmRvY3VtZW50LnNjcm9sbFRvcCgpIDwgby5zY3JvbGxTZW5zaXRpdml0eSApIHsNCgkJCQkJc2Nyb2xsZWQgPSB0aGlzLmRvY3VtZW50LnNjcm9sbFRvcCggdGhpcy5kb2N1bWVudC5zY3JvbGxUb3AoKSAtIG8uc2Nyb2xsU3BlZWQgKTsNCgkJCQl9IGVsc2UgaWYgKCB0aGlzLndpbmRvdy5oZWlnaHQoKSAtICggZXZlbnQucGFnZVkgLSB0aGlzLmRvY3VtZW50LnNjcm9sbFRvcCgpICkgPA0KCQkJCQkJby5zY3JvbGxTZW5zaXRpdml0eSApIHsNCgkJCQkJc2Nyb2xsZWQgPSB0aGlzLmRvY3VtZW50LnNjcm9sbFRvcCggdGhpcy5kb2N1bWVudC5zY3JvbGxUb3AoKSArIG8uc2Nyb2xsU3BlZWQgKTsNCgkJCQl9DQoNCgkJCQlpZiAoIGV2ZW50LnBhZ2VYIC0gdGhpcy5kb2N1bWVudC5zY3JvbGxMZWZ0KCkgPCBvLnNjcm9sbFNlbnNpdGl2aXR5ICkgew0KCQkJCQlzY3JvbGxlZCA9IHRoaXMuZG9jdW1lbnQuc2Nyb2xsTGVmdCgNCgkJCQkJCXRoaXMuZG9jdW1lbnQuc2Nyb2xsTGVmdCgpIC0gby5zY3JvbGxTcGVlZA0KCQkJCQkpOw0KCQkJCX0gZWxzZSBpZiAoIHRoaXMud2luZG93LndpZHRoKCkgLSAoIGV2ZW50LnBhZ2VYIC0gdGhpcy5kb2N1bWVudC5zY3JvbGxMZWZ0KCkgKSA8DQoJCQkJCQlvLnNjcm9sbFNlbnNpdGl2aXR5ICkgew0KCQkJCQlzY3JvbGxlZCA9IHRoaXMuZG9jdW1lbnQuc2Nyb2xsTGVmdCgNCgkJCQkJCXRoaXMuZG9jdW1lbnQuc2Nyb2xsTGVmdCgpICsgby5zY3JvbGxTcGVlZA0KCQkJCQkpOw0KCQkJCX0NCg0KCQkJfQ0KDQoJCQlpZiAoIHNjcm9sbGVkICE9PSBmYWxzZSAmJiAkLnVpLmRkbWFuYWdlciAmJiAhby5kcm9wQmVoYXZpb3VyICkgew0KCQkJCSQudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKCB0aGlzLCBldmVudCApOw0KCQkJfQ0KCQl9DQoNCgkJLy9SZWdlbmVyYXRlIHRoZSBhYnNvbHV0ZSBwb3NpdGlvbiB1c2VkIGZvciBwb3NpdGlvbiBjaGVja3MNCgkJdGhpcy5wb3NpdGlvbkFicyA9IHRoaXMuX2NvbnZlcnRQb3NpdGlvblRvKCAiYWJzb2x1dGUiICk7DQoNCgkJLy9TZXQgdGhlIGhlbHBlciBwb3NpdGlvbg0KCQlpZiAoICF0aGlzLm9wdGlvbnMuYXhpcyB8fCB0aGlzLm9wdGlvbnMuYXhpcyAhPT0gInkiICkgew0KCQkJdGhpcy5oZWxwZXJbIDAgXS5zdHlsZS5sZWZ0ID0gdGhpcy5wb3NpdGlvbi5sZWZ0ICsgInB4IjsNCgkJfQ0KCQlpZiAoICF0aGlzLm9wdGlvbnMuYXhpcyB8fCB0aGlzLm9wdGlvbnMuYXhpcyAhPT0gIngiICkgew0KCQkJdGhpcy5oZWxwZXJbIDAgXS5zdHlsZS50b3AgPSB0aGlzLnBvc2l0aW9uLnRvcCArICJweCI7DQoJCX0NCg0KCQkvL1JlYXJyYW5nZQ0KCQlmb3IgKCBpID0gdGhpcy5pdGVtcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSApIHsNCg0KCQkJLy9DYWNoZSB2YXJpYWJsZXMgYW5kIGludGVyc2VjdGlvbiwgY29udGludWUgaWYgbm8gaW50ZXJzZWN0aW9uDQoJCQlpdGVtID0gdGhpcy5pdGVtc1sgaSBdOw0KCQkJaXRlbUVsZW1lbnQgPSBpdGVtLml0ZW1bIDAgXTsNCgkJCWludGVyc2VjdGlvbiA9IHRoaXMuX2ludGVyc2VjdHNXaXRoUG9pbnRlciggaXRlbSApOw0KCQkJaWYgKCAhaW50ZXJzZWN0aW9uICkgew0KCQkJCWNvbnRpbnVlOw0KCQkJfQ0KDQoJCQkvLyBPbmx5IHB1dCB0aGUgcGxhY2Vob2xkZXIgaW5zaWRlIHRoZSBjdXJyZW50IENvbnRhaW5lciwgc2tpcCBhbGwNCgkJCS8vIGl0ZW1zIGZyb20gb3RoZXIgY29udGFpbmVycy4gVGhpcyB3b3JrcyBiZWNhdXNlIHdoZW4gbW92aW5nDQoJCQkvLyBhbiBpdGVtIGZyb20gb25lIGNvbnRhaW5lciB0byBhbm90aGVyIHRoZQ0KCQkJLy8gY3VycmVudENvbnRhaW5lciBpcyBzd2l0Y2hlZCBiZWZvcmUgdGhlIHBsYWNlaG9sZGVyIGlzIG1vdmVkLg0KCQkJLy8NCgkJCS8vIFdpdGhvdXQgdGhpcywgbW92aW5nIGl0ZW1zIGluICJzdWItc29ydGFibGVzIiBjYW4gY2F1c2UNCgkJCS8vIHRoZSBwbGFjZWhvbGRlciB0byBqaXR0ZXIgYmV0d2VlbiB0aGUgb3V0ZXIgYW5kIGlubmVyIGNvbnRhaW5lci4NCgkJCWlmICggaXRlbS5pbnN0YW5jZSAhPT0gdGhpcy5jdXJyZW50Q29udGFpbmVyICkgew0KCQkJCWNvbnRpbnVlOw0KCQkJfQ0KDQoJCQkvLyBDYW5ub3QgaW50ZXJzZWN0IHdpdGggaXRzZWxmDQoJCQkvLyBubyB1c2VsZXNzIGFjdGlvbnMgdGhhdCBoYXZlIGJlZW4gZG9uZSBiZWZvcmUNCgkJCS8vIG5vIGFjdGlvbiBpZiB0aGUgaXRlbSBtb3ZlZCBpcyB0aGUgcGFyZW50IG9mIHRoZSBpdGVtIGNoZWNrZWQNCgkJCWlmICggaXRlbUVsZW1lbnQgIT09IHRoaXMuY3VycmVudEl0ZW1bIDAgXSAmJg0KCQkJCXRoaXMucGxhY2Vob2xkZXJbIGludGVyc2VjdGlvbiA9PT0gMSA/ICJuZXh0IiA6ICJwcmV2IiBdKClbIDAgXSAhPT0gaXRlbUVsZW1lbnQgJiYNCgkJCQkhJC5jb250YWlucyggdGhpcy5wbGFjZWhvbGRlclsgMCBdLCBpdGVtRWxlbWVudCApICYmDQoJCQkJKCB0aGlzLm9wdGlvbnMudHlwZSA9PT0gInNlbWktZHluYW1pYyIgPw0KCQkJCQkhJC5jb250YWlucyggdGhpcy5lbGVtZW50WyAwIF0sIGl0ZW1FbGVtZW50ICkgOg0KCQkJCQl0cnVlDQoJCQkJKQ0KCQkJKSB7DQoNCgkJCQl0aGlzLmRpcmVjdGlvbiA9IGludGVyc2VjdGlvbiA9PT0gMSA/ICJkb3duIiA6ICJ1cCI7DQoNCgkJCQlpZiAoIHRoaXMub3B0aW9ucy50b2xlcmFuY2UgPT09ICJwb2ludGVyIiB8fCB0aGlzLl9pbnRlcnNlY3RzV2l0aFNpZGVzKCBpdGVtICkgKSB7DQoJCQkJCXRoaXMuX3JlYXJyYW5nZSggZXZlbnQsIGl0ZW0gKTsNCgkJCQl9IGVsc2Ugew0KCQkJCQlicmVhazsNCgkJCQl9DQoNCgkJCQl0aGlzLl90cmlnZ2VyKCAiY2hhbmdlIiwgZXZlbnQsIHRoaXMuX3VpSGFzaCgpICk7DQoJCQkJYnJlYWs7DQoJCQl9DQoJCX0NCg0KCQkvL1Bvc3QgZXZlbnRzIHRvIGNvbnRhaW5lcnMNCgkJdGhpcy5fY29udGFjdENvbnRhaW5lcnMoIGV2ZW50ICk7DQoNCgkJLy9JbnRlcmNvbm5lY3Qgd2l0aCBkcm9wcGFibGVzDQoJCWlmICggJC51aS5kZG1hbmFnZXIgKSB7DQoJCQkkLnVpLmRkbWFuYWdlci5kcmFnKCB0aGlzLCBldmVudCApOw0KCQl9DQoNCgkJLy9DYWxsIGNhbGxiYWNrcw0KCQl0aGlzLl90cmlnZ2VyKCAic29ydCIsIGV2ZW50LCB0aGlzLl91aUhhc2goKSApOw0KDQoJCXRoaXMubGFzdFBvc2l0aW9uQWJzID0gdGhpcy5wb3NpdGlvbkFiczsNCgkJcmV0dXJuIGZhbHNlOw0KDQoJfSwNCg0KCV9tb3VzZVN0b3A6IGZ1bmN0aW9uKCBldmVudCwgbm9Qcm9wYWdhdGlvbiApIHsNCg0KCQlpZiAoICFldmVudCApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCS8vSWYgd2UgYXJlIHVzaW5nIGRyb3BwYWJsZXMsIGluZm9ybSB0aGUgbWFuYWdlciBhYm91dCB0aGUgZHJvcA0KCQlpZiAoICQudWkuZGRtYW5hZ2VyICYmICF0aGlzLm9wdGlvbnMuZHJvcEJlaGF2aW91ciApIHsNCgkJCSQudWkuZGRtYW5hZ2VyLmRyb3AoIHRoaXMsIGV2ZW50ICk7DQoJCX0NCg0KCQlpZiAoIHRoaXMub3B0aW9ucy5yZXZlcnQgKSB7DQoJCQl2YXIgdGhhdCA9IHRoaXMsDQoJCQkJY3VyID0gdGhpcy5wbGFjZWhvbGRlci5vZmZzZXQoKSwNCgkJCQlheGlzID0gdGhpcy5vcHRpb25zLmF4aXMsDQoJCQkJYW5pbWF0aW9uID0ge307DQoNCgkJCWlmICggIWF4aXMgfHwgYXhpcyA9PT0gIngiICkgew0KCQkJCWFuaW1hdGlvbi5sZWZ0ID0gY3VyLmxlZnQgLSB0aGlzLm9mZnNldC5wYXJlbnQubGVmdCAtIHRoaXMubWFyZ2lucy5sZWZ0ICsNCgkJCQkJKCB0aGlzLm9mZnNldFBhcmVudFsgMCBdID09PSB0aGlzLmRvY3VtZW50WyAwIF0uYm9keSA/DQoJCQkJCQkwIDoNCgkJCQkJCXRoaXMub2Zmc2V0UGFyZW50WyAwIF0uc2Nyb2xsTGVmdA0KCQkJCQkpOw0KCQkJfQ0KCQkJaWYgKCAhYXhpcyB8fCBheGlzID09PSAieSIgKSB7DQoJCQkJYW5pbWF0aW9uLnRvcCA9IGN1ci50b3AgLSB0aGlzLm9mZnNldC5wYXJlbnQudG9wIC0gdGhpcy5tYXJnaW5zLnRvcCArDQoJCQkJCSggdGhpcy5vZmZzZXRQYXJlbnRbIDAgXSA9PT0gdGhpcy5kb2N1bWVudFsgMCBdLmJvZHkgPw0KCQkJCQkJMCA6DQoJCQkJCQl0aGlzLm9mZnNldFBhcmVudFsgMCBdLnNjcm9sbFRvcA0KCQkJCQkpOw0KCQkJfQ0KCQkJdGhpcy5yZXZlcnRpbmcgPSB0cnVlOw0KCQkJJCggdGhpcy5oZWxwZXIgKS5hbmltYXRlKA0KCQkJCWFuaW1hdGlvbiwNCgkJCQlwYXJzZUludCggdGhpcy5vcHRpb25zLnJldmVydCwgMTAgKSB8fCA1MDAsDQoJCQkJZnVuY3Rpb24oKSB7DQoJCQkJCXRoYXQuX2NsZWFyKCBldmVudCApOw0KCQkJCX0NCgkJCSk7DQoJCX0gZWxzZSB7DQoJCQl0aGlzLl9jbGVhciggZXZlbnQsIG5vUHJvcGFnYXRpb24gKTsNCgkJfQ0KDQoJCXJldHVybiBmYWxzZTsNCg0KCX0sDQoNCgljYW5jZWw6IGZ1bmN0aW9uKCkgew0KDQoJCWlmICggdGhpcy5kcmFnZ2luZyApIHsNCg0KCQkJdGhpcy5fbW91c2VVcCggbmV3ICQuRXZlbnQoICJtb3VzZXVwIiwgeyB0YXJnZXQ6IG51bGwgfSApICk7DQoNCgkJCWlmICggdGhpcy5vcHRpb25zLmhlbHBlciA9PT0gIm9yaWdpbmFsIiApIHsNCgkJCQl0aGlzLmN1cnJlbnRJdGVtLmNzcyggdGhpcy5fc3RvcmVkQ1NTICk7DQoJCQkJdGhpcy5fcmVtb3ZlQ2xhc3MoIHRoaXMuY3VycmVudEl0ZW0sICJ1aS1zb3J0YWJsZS1oZWxwZXIiICk7DQoJCQl9IGVsc2Ugew0KCQkJCXRoaXMuY3VycmVudEl0ZW0uc2hvdygpOw0KCQkJfQ0KDQoJCQkvL1Bvc3QgZGVhY3RpdmF0aW5nIGV2ZW50cyB0byBjb250YWluZXJzDQoJCQlmb3IgKCB2YXIgaSA9IHRoaXMuY29udGFpbmVycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSApIHsNCgkJCQl0aGlzLmNvbnRhaW5lcnNbIGkgXS5fdHJpZ2dlciggImRlYWN0aXZhdGUiLCBudWxsLCB0aGlzLl91aUhhc2goIHRoaXMgKSApOw0KCQkJCWlmICggdGhpcy5jb250YWluZXJzWyBpIF0uY29udGFpbmVyQ2FjaGUub3ZlciApIHsNCgkJCQkJdGhpcy5jb250YWluZXJzWyBpIF0uX3RyaWdnZXIoICJvdXQiLCBudWxsLCB0aGlzLl91aUhhc2goIHRoaXMgKSApOw0KCQkJCQl0aGlzLmNvbnRhaW5lcnNbIGkgXS5jb250YWluZXJDYWNoZS5vdmVyID0gMDsNCgkJCQl9DQoJCQl9DQoNCgkJfQ0KDQoJCWlmICggdGhpcy5wbGFjZWhvbGRlciApIHsNCg0KCQkJLy8kKHRoaXMucGxhY2Vob2xkZXJbMF0pLnJlbW92ZSgpOyB3b3VsZCBoYXZlIGJlZW4gdGhlIGpRdWVyeSB3YXkgLSB1bmZvcnR1bmF0ZWx5LA0KCQkJLy8gaXQgdW5iaW5kcyBBTEwgZXZlbnRzIGZyb20gdGhlIG9yaWdpbmFsIG5vZGUhDQoJCQlpZiAoIHRoaXMucGxhY2Vob2xkZXJbIDAgXS5wYXJlbnROb2RlICkgew0KCQkJCXRoaXMucGxhY2Vob2xkZXJbIDAgXS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKCB0aGlzLnBsYWNlaG9sZGVyWyAwIF0gKTsNCgkJCX0NCgkJCWlmICggdGhpcy5vcHRpb25zLmhlbHBlciAhPT0gIm9yaWdpbmFsIiAmJiB0aGlzLmhlbHBlciAmJg0KCQkJCQl0aGlzLmhlbHBlclsgMCBdLnBhcmVudE5vZGUgKSB7DQoJCQkJdGhpcy5oZWxwZXIucmVtb3ZlKCk7DQoJCQl9DQoNCgkJCSQuZXh0ZW5kKCB0aGlzLCB7DQoJCQkJaGVscGVyOiBudWxsLA0KCQkJCWRyYWdnaW5nOiBmYWxzZSwNCgkJCQlyZXZlcnRpbmc6IGZhbHNlLA0KCQkJCV9ub0ZpbmFsU29ydDogbnVsbA0KCQkJfSApOw0KDQoJCQlpZiAoIHRoaXMuZG9tUG9zaXRpb24ucHJldiApIHsNCgkJCQkkKCB0aGlzLmRvbVBvc2l0aW9uLnByZXYgKS5hZnRlciggdGhpcy5jdXJyZW50SXRlbSApOw0KCQkJfSBlbHNlIHsNCgkJCQkkKCB0aGlzLmRvbVBvc2l0aW9uLnBhcmVudCApLnByZXBlbmQoIHRoaXMuY3VycmVudEl0ZW0gKTsNCgkJCX0NCgkJfQ0KDQoJCXJldHVybiB0aGlzOw0KDQoJfSwNCg0KCXNlcmlhbGl6ZTogZnVuY3Rpb24oIG8gKSB7DQoNCgkJdmFyIGl0ZW1zID0gdGhpcy5fZ2V0SXRlbXNBc2pRdWVyeSggbyAmJiBvLmNvbm5lY3RlZCApLA0KCQkJc3RyID0gW107DQoJCW8gPSBvIHx8IHt9Ow0KDQoJCSQoIGl0ZW1zICkuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQl2YXIgcmVzID0gKCAkKCBvLml0ZW0gfHwgdGhpcyApLmF0dHIoIG8uYXR0cmlidXRlIHx8ICJpZCIgKSB8fCAiIiApDQoJCQkJLm1hdGNoKCBvLmV4cHJlc3Npb24gfHwgKCAvKC4rKVtcLT1fXSguKykvICkgKTsNCgkJCWlmICggcmVzICkgew0KCQkJCXN0ci5wdXNoKA0KCQkJCQkoIG8ua2V5IHx8IHJlc1sgMSBdICsgIltdIiApICsNCgkJCQkJIj0iICsgKCBvLmtleSAmJiBvLmV4cHJlc3Npb24gPyByZXNbIDEgXSA6IHJlc1sgMiBdICkgKTsNCgkJCX0NCgkJfSApOw0KDQoJCWlmICggIXN0ci5sZW5ndGggJiYgby5rZXkgKSB7DQoJCQlzdHIucHVzaCggby5rZXkgKyAiPSIgKTsNCgkJfQ0KDQoJCXJldHVybiBzdHIuam9pbiggIiYiICk7DQoNCgl9LA0KDQoJdG9BcnJheTogZnVuY3Rpb24oIG8gKSB7DQoNCgkJdmFyIGl0ZW1zID0gdGhpcy5fZ2V0SXRlbXNBc2pRdWVyeSggbyAmJiBvLmNvbm5lY3RlZCApLA0KCQkJcmV0ID0gW107DQoNCgkJbyA9IG8gfHwge307DQoNCgkJaXRlbXMuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQlyZXQucHVzaCggJCggby5pdGVtIHx8IHRoaXMgKS5hdHRyKCBvLmF0dHJpYnV0ZSB8fCAiaWQiICkgfHwgIiIgKTsNCgkJfSApOw0KCQlyZXR1cm4gcmV0Ow0KDQoJfSwNCg0KCS8qIEJlIGNhcmVmdWwgd2l0aCB0aGUgZm9sbG93aW5nIGNvcmUgZnVuY3Rpb25zICovDQoJX2ludGVyc2VjdHNXaXRoOiBmdW5jdGlvbiggaXRlbSApIHsNCg0KCQl2YXIgeDEgPSB0aGlzLnBvc2l0aW9uQWJzLmxlZnQsDQoJCQl4MiA9IHgxICsgdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aCwNCgkJCXkxID0gdGhpcy5wb3NpdGlvbkFicy50b3AsDQoJCQl5MiA9IHkxICsgdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQsDQoJCQlsID0gaXRlbS5sZWZ0LA0KCQkJciA9IGwgKyBpdGVtLndpZHRoLA0KCQkJdCA9IGl0ZW0udG9wLA0KCQkJYiA9IHQgKyBpdGVtLmhlaWdodCwNCgkJCWR5Q2xpY2sgPSB0aGlzLm9mZnNldC5jbGljay50b3AsDQoJCQlkeENsaWNrID0gdGhpcy5vZmZzZXQuY2xpY2subGVmdCwNCgkJCWlzT3ZlckVsZW1lbnRIZWlnaHQgPSAoIHRoaXMub3B0aW9ucy5heGlzID09PSAieCIgKSB8fCAoICggeTEgKyBkeUNsaWNrICkgPiB0ICYmDQoJCQkJKCB5MSArIGR5Q2xpY2sgKSA8IGIgKSwNCgkJCWlzT3ZlckVsZW1lbnRXaWR0aCA9ICggdGhpcy5vcHRpb25zLmF4aXMgPT09ICJ5IiApIHx8ICggKCB4MSArIGR4Q2xpY2sgKSA+IGwgJiYNCgkJCQkoIHgxICsgZHhDbGljayApIDwgciApLA0KCQkJaXNPdmVyRWxlbWVudCA9IGlzT3ZlckVsZW1lbnRIZWlnaHQgJiYgaXNPdmVyRWxlbWVudFdpZHRoOw0KDQoJCWlmICggdGhpcy5vcHRpb25zLnRvbGVyYW5jZSA9PT0gInBvaW50ZXIiIHx8DQoJCQl0aGlzLm9wdGlvbnMuZm9yY2VQb2ludGVyRm9yQ29udGFpbmVycyB8fA0KCQkJKCB0aGlzLm9wdGlvbnMudG9sZXJhbmNlICE9PSAicG9pbnRlciIgJiYNCgkJCQl0aGlzLmhlbHBlclByb3BvcnRpb25zWyB0aGlzLmZsb2F0aW5nID8gIndpZHRoIiA6ICJoZWlnaHQiIF0gPg0KCQkJCWl0ZW1bIHRoaXMuZmxvYXRpbmcgPyAid2lkdGgiIDogImhlaWdodCIgXSApDQoJCSkgew0KCQkJcmV0dXJuIGlzT3ZlckVsZW1lbnQ7DQoJCX0gZWxzZSB7DQoNCgkJCXJldHVybiAoIGwgPCB4MSArICggdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aCAvIDIgKSAmJiAvLyBSaWdodCBIYWxmDQoJCQkJeDIgLSAoIHRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGggLyAyICkgPCByICYmIC8vIExlZnQgSGFsZg0KCQkJCXQgPCB5MSArICggdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQgLyAyICkgJiYgLy8gQm90dG9tIEhhbGYNCgkJCQl5MiAtICggdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQgLyAyICkgPCBiICk7IC8vIFRvcCBIYWxmDQoNCgkJfQ0KCX0sDQoNCglfaW50ZXJzZWN0c1dpdGhQb2ludGVyOiBmdW5jdGlvbiggaXRlbSApIHsNCgkJdmFyIHZlcnRpY2FsRGlyZWN0aW9uLCBob3Jpem9udGFsRGlyZWN0aW9uLA0KCQkJaXNPdmVyRWxlbWVudEhlaWdodCA9ICggdGhpcy5vcHRpb25zLmF4aXMgPT09ICJ4IiApIHx8DQoJCQkJdGhpcy5faXNPdmVyQXhpcygNCgkJCQkJdGhpcy5wb3NpdGlvbkFicy50b3AgKyB0aGlzLm9mZnNldC5jbGljay50b3AsIGl0ZW0udG9wLCBpdGVtLmhlaWdodCApLA0KCQkJaXNPdmVyRWxlbWVudFdpZHRoID0gKCB0aGlzLm9wdGlvbnMuYXhpcyA9PT0gInkiICkgfHwNCgkJCQl0aGlzLl9pc092ZXJBeGlzKA0KCQkJCQl0aGlzLnBvc2l0aW9uQWJzLmxlZnQgKyB0aGlzLm9mZnNldC5jbGljay5sZWZ0LCBpdGVtLmxlZnQsIGl0ZW0ud2lkdGggKSwNCgkJCWlzT3ZlckVsZW1lbnQgPSBpc092ZXJFbGVtZW50SGVpZ2h0ICYmIGlzT3ZlckVsZW1lbnRXaWR0aDsNCg0KCQlpZiAoICFpc092ZXJFbGVtZW50ICkgew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoNCgkJdmVydGljYWxEaXJlY3Rpb24gPSB0aGlzLl9nZXREcmFnVmVydGljYWxEaXJlY3Rpb24oKTsNCgkJaG9yaXpvbnRhbERpcmVjdGlvbiA9IHRoaXMuX2dldERyYWdIb3Jpem9udGFsRGlyZWN0aW9uKCk7DQoNCgkJcmV0dXJuIHRoaXMuZmxvYXRpbmcgPw0KCQkJKCAoIGhvcml6b250YWxEaXJlY3Rpb24gPT09ICJyaWdodCIgfHwgdmVydGljYWxEaXJlY3Rpb24gPT09ICJkb3duIiApID8gMiA6IDEgKQ0KCQkJOiAoIHZlcnRpY2FsRGlyZWN0aW9uICYmICggdmVydGljYWxEaXJlY3Rpb24gPT09ICJkb3duIiA/IDIgOiAxICkgKTsNCg0KCX0sDQoNCglfaW50ZXJzZWN0c1dpdGhTaWRlczogZnVuY3Rpb24oIGl0ZW0gKSB7DQoNCgkJdmFyIGlzT3ZlckJvdHRvbUhhbGYgPSB0aGlzLl9pc092ZXJBeGlzKCB0aGlzLnBvc2l0aW9uQWJzLnRvcCArDQoJCQkJdGhpcy5vZmZzZXQuY2xpY2sudG9wLCBpdGVtLnRvcCArICggaXRlbS5oZWlnaHQgLyAyICksIGl0ZW0uaGVpZ2h0ICksDQoJCQlpc092ZXJSaWdodEhhbGYgPSB0aGlzLl9pc092ZXJBeGlzKCB0aGlzLnBvc2l0aW9uQWJzLmxlZnQgKw0KCQkJCXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQsIGl0ZW0ubGVmdCArICggaXRlbS53aWR0aCAvIDIgKSwgaXRlbS53aWR0aCApLA0KCQkJdmVydGljYWxEaXJlY3Rpb24gPSB0aGlzLl9nZXREcmFnVmVydGljYWxEaXJlY3Rpb24oKSwNCgkJCWhvcml6b250YWxEaXJlY3Rpb24gPSB0aGlzLl9nZXREcmFnSG9yaXpvbnRhbERpcmVjdGlvbigpOw0KDQoJCWlmICggdGhpcy5mbG9hdGluZyAmJiBob3Jpem9udGFsRGlyZWN0aW9uICkgew0KCQkJcmV0dXJuICggKCBob3Jpem9udGFsRGlyZWN0aW9uID09PSAicmlnaHQiICYmIGlzT3ZlclJpZ2h0SGFsZiApIHx8DQoJCQkJKCBob3Jpem9udGFsRGlyZWN0aW9uID09PSAibGVmdCIgJiYgIWlzT3ZlclJpZ2h0SGFsZiApICk7DQoJCX0gZWxzZSB7DQoJCQlyZXR1cm4gdmVydGljYWxEaXJlY3Rpb24gJiYgKCAoIHZlcnRpY2FsRGlyZWN0aW9uID09PSAiZG93biIgJiYgaXNPdmVyQm90dG9tSGFsZiApIHx8DQoJCQkJKCB2ZXJ0aWNhbERpcmVjdGlvbiA9PT0gInVwIiAmJiAhaXNPdmVyQm90dG9tSGFsZiApICk7DQoJCX0NCg0KCX0sDQoNCglfZ2V0RHJhZ1ZlcnRpY2FsRGlyZWN0aW9uOiBmdW5jdGlvbigpIHsNCgkJdmFyIGRlbHRhID0gdGhpcy5wb3NpdGlvbkFicy50b3AgLSB0aGlzLmxhc3RQb3NpdGlvbkFicy50b3A7DQoJCXJldHVybiBkZWx0YSAhPT0gMCAmJiAoIGRlbHRhID4gMCA/ICJkb3duIiA6ICJ1cCIgKTsNCgl9LA0KDQoJX2dldERyYWdIb3Jpem9udGFsRGlyZWN0aW9uOiBmdW5jdGlvbigpIHsNCgkJdmFyIGRlbHRhID0gdGhpcy5wb3NpdGlvbkFicy5sZWZ0IC0gdGhpcy5sYXN0UG9zaXRpb25BYnMubGVmdDsNCgkJcmV0dXJuIGRlbHRhICE9PSAwICYmICggZGVsdGEgPiAwID8gInJpZ2h0IiA6ICJsZWZ0IiApOw0KCX0sDQoNCglyZWZyZXNoOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXRoaXMuX3JlZnJlc2hJdGVtcyggZXZlbnQgKTsNCgkJdGhpcy5fc2V0SGFuZGxlQ2xhc3NOYW1lKCk7DQoJCXRoaXMucmVmcmVzaFBvc2l0aW9ucygpOw0KCQlyZXR1cm4gdGhpczsNCgl9LA0KDQoJX2Nvbm5lY3RXaXRoOiBmdW5jdGlvbigpIHsNCgkJdmFyIG9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7DQoJCXJldHVybiBvcHRpb25zLmNvbm5lY3RXaXRoLmNvbnN0cnVjdG9yID09PSBTdHJpbmcgPw0KCQkJWyBvcHRpb25zLmNvbm5lY3RXaXRoIF0gOg0KCQkJb3B0aW9ucy5jb25uZWN0V2l0aDsNCgl9LA0KDQoJX2dldEl0ZW1zQXNqUXVlcnk6IGZ1bmN0aW9uKCBjb25uZWN0ZWQgKSB7DQoNCgkJdmFyIGksIGosIGN1ciwgaW5zdCwNCgkJCWl0ZW1zID0gW10sDQoJCQlxdWVyaWVzID0gW10sDQoJCQljb25uZWN0V2l0aCA9IHRoaXMuX2Nvbm5lY3RXaXRoKCk7DQoNCgkJaWYgKCBjb25uZWN0V2l0aCAmJiBjb25uZWN0ZWQgKSB7DQoJCQlmb3IgKCBpID0gY29ubmVjdFdpdGgubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0gKSB7DQoJCQkJY3VyID0gJCggY29ubmVjdFdpdGhbIGkgXSwgdGhpcy5kb2N1bWVudFsgMCBdICk7DQoJCQkJZm9yICggaiA9IGN1ci5sZW5ndGggLSAxOyBqID49IDA7IGotLSApIHsNCgkJCQkJaW5zdCA9ICQuZGF0YSggY3VyWyBqIF0sIHRoaXMud2lkZ2V0RnVsbE5hbWUgKTsNCgkJCQkJaWYgKCBpbnN0ICYmIGluc3QgIT09IHRoaXMgJiYgIWluc3Qub3B0aW9ucy5kaXNhYmxlZCApIHsNCgkJCQkJCXF1ZXJpZXMucHVzaCggWyAkLmlzRnVuY3Rpb24oIGluc3Qub3B0aW9ucy5pdGVtcyApID8NCgkJCQkJCQlpbnN0Lm9wdGlvbnMuaXRlbXMuY2FsbCggaW5zdC5lbGVtZW50ICkgOg0KCQkJCQkJCSQoIGluc3Qub3B0aW9ucy5pdGVtcywgaW5zdC5lbGVtZW50ICkNCgkJCQkJCQkJLm5vdCggIi51aS1zb3J0YWJsZS1oZWxwZXIiICkNCgkJCQkJCQkJLm5vdCggIi51aS1zb3J0YWJsZS1wbGFjZWhvbGRlciIgKSwgaW5zdCBdICk7DQoJCQkJCX0NCgkJCQl9DQoJCQl9DQoJCX0NCg0KCQlxdWVyaWVzLnB1c2goIFsgJC5pc0Z1bmN0aW9uKCB0aGlzLm9wdGlvbnMuaXRlbXMgKSA/DQoJCQl0aGlzLm9wdGlvbnMuaXRlbXMNCgkJCQkuY2FsbCggdGhpcy5lbGVtZW50LCBudWxsLCB7IG9wdGlvbnM6IHRoaXMub3B0aW9ucywgaXRlbTogdGhpcy5jdXJyZW50SXRlbSB9ICkgOg0KCQkJJCggdGhpcy5vcHRpb25zLml0ZW1zLCB0aGlzLmVsZW1lbnQgKQ0KCQkJCS5ub3QoICIudWktc29ydGFibGUtaGVscGVyIiApDQoJCQkJLm5vdCggIi51aS1zb3J0YWJsZS1wbGFjZWhvbGRlciIgKSwgdGhpcyBdICk7DQoNCgkJZnVuY3Rpb24gYWRkSXRlbXMoKSB7DQoJCQlpdGVtcy5wdXNoKCB0aGlzICk7DQoJCX0NCgkJZm9yICggaSA9IHF1ZXJpZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0gKSB7DQoJCQlxdWVyaWVzWyBpIF1bIDAgXS5lYWNoKCBhZGRJdGVtcyApOw0KCQl9DQoNCgkJcmV0dXJuICQoIGl0ZW1zICk7DQoNCgl9LA0KDQoJX3JlbW92ZUN1cnJlbnRzRnJvbUl0ZW1zOiBmdW5jdGlvbigpIHsNCg0KCQl2YXIgbGlzdCA9IHRoaXMuY3VycmVudEl0ZW0uZmluZCggIjpkYXRhKCIgKyB0aGlzLndpZGdldE5hbWUgKyAiLWl0ZW0pIiApOw0KDQoJCXRoaXMuaXRlbXMgPSAkLmdyZXAoIHRoaXMuaXRlbXMsIGZ1bmN0aW9uKCBpdGVtICkgew0KCQkJZm9yICggdmFyIGogPSAwOyBqIDwgbGlzdC5sZW5ndGg7IGorKyApIHsNCgkJCQlpZiAoIGxpc3RbIGogXSA9PT0gaXRlbS5pdGVtWyAwIF0gKSB7DQoJCQkJCXJldHVybiBmYWxzZTsNCgkJCQl9DQoJCQl9DQoJCQlyZXR1cm4gdHJ1ZTsNCgkJfSApOw0KDQoJfSwNCg0KCV9yZWZyZXNoSXRlbXM6IGZ1bmN0aW9uKCBldmVudCApIHsNCg0KCQl0aGlzLml0ZW1zID0gW107DQoJCXRoaXMuY29udGFpbmVycyA9IFsgdGhpcyBdOw0KDQoJCXZhciBpLCBqLCBjdXIsIGluc3QsIHRhcmdldERhdGEsIF9xdWVyaWVzLCBpdGVtLCBxdWVyaWVzTGVuZ3RoLA0KCQkJaXRlbXMgPSB0aGlzLml0ZW1zLA0KCQkJcXVlcmllcyA9IFsgWyAkLmlzRnVuY3Rpb24oIHRoaXMub3B0aW9ucy5pdGVtcyApID8NCgkJCQl0aGlzLm9wdGlvbnMuaXRlbXMuY2FsbCggdGhpcy5lbGVtZW50WyAwIF0sIGV2ZW50LCB7IGl0ZW06IHRoaXMuY3VycmVudEl0ZW0gfSApIDoNCgkJCQkkKCB0aGlzLm9wdGlvbnMuaXRlbXMsIHRoaXMuZWxlbWVudCApLCB0aGlzIF0gXSwNCgkJCWNvbm5lY3RXaXRoID0gdGhpcy5fY29ubmVjdFdpdGgoKTsNCg0KCQkvL1Nob3VsZG4ndCBiZSBydW4gdGhlIGZpcnN0IHRpbWUgdGhyb3VnaCBkdWUgdG8gbWFzc2l2ZSBzbG93LWRvd24NCgkJaWYgKCBjb25uZWN0V2l0aCAmJiB0aGlzLnJlYWR5ICkgew0KCQkJZm9yICggaSA9IGNvbm5lY3RXaXRoLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tICkgew0KCQkJCWN1ciA9ICQoIGNvbm5lY3RXaXRoWyBpIF0sIHRoaXMuZG9jdW1lbnRbIDAgXSApOw0KCQkJCWZvciAoIGogPSBjdXIubGVuZ3RoIC0gMTsgaiA+PSAwOyBqLS0gKSB7DQoJCQkJCWluc3QgPSAkLmRhdGEoIGN1clsgaiBdLCB0aGlzLndpZGdldEZ1bGxOYW1lICk7DQoJCQkJCWlmICggaW5zdCAmJiBpbnN0ICE9PSB0aGlzICYmICFpbnN0Lm9wdGlvbnMuZGlzYWJsZWQgKSB7DQoJCQkJCQlxdWVyaWVzLnB1c2goIFsgJC5pc0Z1bmN0aW9uKCBpbnN0Lm9wdGlvbnMuaXRlbXMgKSA/DQoJCQkJCQkJaW5zdC5vcHRpb25zLml0ZW1zDQoJCQkJCQkJCS5jYWxsKCBpbnN0LmVsZW1lbnRbIDAgXSwgZXZlbnQsIHsgaXRlbTogdGhpcy5jdXJyZW50SXRlbSB9ICkgOg0KCQkJCQkJCSQoIGluc3Qub3B0aW9ucy5pdGVtcywgaW5zdC5lbGVtZW50ICksIGluc3QgXSApOw0KCQkJCQkJdGhpcy5jb250YWluZXJzLnB1c2goIGluc3QgKTsNCgkJCQkJfQ0KCQkJCX0NCgkJCX0NCgkJfQ0KDQoJCWZvciAoIGkgPSBxdWVyaWVzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tICkgew0KCQkJdGFyZ2V0RGF0YSA9IHF1ZXJpZXNbIGkgXVsgMSBdOw0KCQkJX3F1ZXJpZXMgPSBxdWVyaWVzWyBpIF1bIDAgXTsNCg0KCQkJZm9yICggaiA9IDAsIHF1ZXJpZXNMZW5ndGggPSBfcXVlcmllcy5sZW5ndGg7IGogPCBxdWVyaWVzTGVuZ3RoOyBqKysgKSB7DQoJCQkJaXRlbSA9ICQoIF9xdWVyaWVzWyBqIF0gKTsNCg0KCQkJCS8vIERhdGEgZm9yIHRhcmdldCBjaGVja2luZyAobW91c2UgbWFuYWdlcikNCgkJCQlpdGVtLmRhdGEoIHRoaXMud2lkZ2V0TmFtZSArICItaXRlbSIsIHRhcmdldERhdGEgKTsNCg0KCQkJCWl0ZW1zLnB1c2goIHsNCgkJCQkJaXRlbTogaXRlbSwNCgkJCQkJaW5zdGFuY2U6IHRhcmdldERhdGEsDQoJCQkJCXdpZHRoOiAwLCBoZWlnaHQ6IDAsDQoJCQkJCWxlZnQ6IDAsIHRvcDogMA0KCQkJCX0gKTsNCgkJCX0NCgkJfQ0KDQoJfSwNCg0KCXJlZnJlc2hQb3NpdGlvbnM6IGZ1bmN0aW9uKCBmYXN0ICkgew0KDQoJCS8vIERldGVybWluZSB3aGV0aGVyIGl0ZW1zIGFyZSBiZWluZyBkaXNwbGF5ZWQgaG9yaXpvbnRhbGx5DQoJCXRoaXMuZmxvYXRpbmcgPSB0aGlzLml0ZW1zLmxlbmd0aCA/DQoJCQl0aGlzLm9wdGlvbnMuYXhpcyA9PT0gIngiIHx8IHRoaXMuX2lzRmxvYXRpbmcoIHRoaXMuaXRlbXNbIDAgXS5pdGVtICkgOg0KCQkJZmFsc2U7DQoNCgkJLy9UaGlzIGhhcyB0byBiZSByZWRvbmUgYmVjYXVzZSBkdWUgdG8gdGhlIGl0ZW0gYmVpbmcgbW92ZWQgb3V0L2ludG8gdGhlIG9mZnNldFBhcmVudCwNCgkJLy8gdGhlIG9mZnNldFBhcmVudCdzIHBvc2l0aW9uIHdpbGwgY2hhbmdlDQoJCWlmICggdGhpcy5vZmZzZXRQYXJlbnQgJiYgdGhpcy5oZWxwZXIgKSB7DQoJCQl0aGlzLm9mZnNldC5wYXJlbnQgPSB0aGlzLl9nZXRQYXJlbnRPZmZzZXQoKTsNCgkJfQ0KDQoJCXZhciBpLCBpdGVtLCB0LCBwOw0KDQoJCWZvciAoIGkgPSB0aGlzLml0ZW1zLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tICkgew0KCQkJaXRlbSA9IHRoaXMuaXRlbXNbIGkgXTsNCg0KCQkJLy9XZSBpZ25vcmUgY2FsY3VsYXRpbmcgcG9zaXRpb25zIG9mIGFsbCBjb25uZWN0ZWQgY29udGFpbmVycyB3aGVuIHdlJ3JlIG5vdCBvdmVyIHRoZW0NCgkJCWlmICggaXRlbS5pbnN0YW5jZSAhPT0gdGhpcy5jdXJyZW50Q29udGFpbmVyICYmIHRoaXMuY3VycmVudENvbnRhaW5lciAmJg0KCQkJCQlpdGVtLml0ZW1bIDAgXSAhPT0gdGhpcy5jdXJyZW50SXRlbVsgMCBdICkgew0KCQkJCWNvbnRpbnVlOw0KCQkJfQ0KDQoJCQl0ID0gdGhpcy5vcHRpb25zLnRvbGVyYW5jZUVsZW1lbnQgPw0KCQkJCSQoIHRoaXMub3B0aW9ucy50b2xlcmFuY2VFbGVtZW50LCBpdGVtLml0ZW0gKSA6DQoJCQkJaXRlbS5pdGVtOw0KDQoJCQlpZiAoICFmYXN0ICkgew0KCQkJCWl0ZW0ud2lkdGggPSB0Lm91dGVyV2lkdGgoKTsNCgkJCQlpdGVtLmhlaWdodCA9IHQub3V0ZXJIZWlnaHQoKTsNCgkJCX0NCg0KCQkJcCA9IHQub2Zmc2V0KCk7DQoJCQlpdGVtLmxlZnQgPSBwLmxlZnQ7DQoJCQlpdGVtLnRvcCA9IHAudG9wOw0KCQl9DQoNCgkJaWYgKCB0aGlzLm9wdGlvbnMuY3VzdG9tICYmIHRoaXMub3B0aW9ucy5jdXN0b20ucmVmcmVzaENvbnRhaW5lcnMgKSB7DQoJCQl0aGlzLm9wdGlvbnMuY3VzdG9tLnJlZnJlc2hDb250YWluZXJzLmNhbGwoIHRoaXMgKTsNCgkJfSBlbHNlIHsNCgkJCWZvciAoIGkgPSB0aGlzLmNvbnRhaW5lcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0gKSB7DQoJCQkJcCA9IHRoaXMuY29udGFpbmVyc1sgaSBdLmVsZW1lbnQub2Zmc2V0KCk7DQoJCQkJdGhpcy5jb250YWluZXJzWyBpIF0uY29udGFpbmVyQ2FjaGUubGVmdCA9IHAubGVmdDsNCgkJCQl0aGlzLmNvbnRhaW5lcnNbIGkgXS5jb250YWluZXJDYWNoZS50b3AgPSBwLnRvcDsNCgkJCQl0aGlzLmNvbnRhaW5lcnNbIGkgXS5jb250YWluZXJDYWNoZS53aWR0aCA9DQoJCQkJCXRoaXMuY29udGFpbmVyc1sgaSBdLmVsZW1lbnQub3V0ZXJXaWR0aCgpOw0KCQkJCXRoaXMuY29udGFpbmVyc1sgaSBdLmNvbnRhaW5lckNhY2hlLmhlaWdodCA9DQoJCQkJCXRoaXMuY29udGFpbmVyc1sgaSBdLmVsZW1lbnQub3V0ZXJIZWlnaHQoKTsNCgkJCX0NCgkJfQ0KDQoJCXJldHVybiB0aGlzOw0KCX0sDQoNCglfY3JlYXRlUGxhY2Vob2xkZXI6IGZ1bmN0aW9uKCB0aGF0ICkgew0KCQl0aGF0ID0gdGhhdCB8fCB0aGlzOw0KCQl2YXIgY2xhc3NOYW1lLA0KCQkJbyA9IHRoYXQub3B0aW9uczsNCg0KCQlpZiAoICFvLnBsYWNlaG9sZGVyIHx8IG8ucGxhY2Vob2xkZXIuY29uc3RydWN0b3IgPT09IFN0cmluZyApIHsNCgkJCWNsYXNzTmFtZSA9IG8ucGxhY2Vob2xkZXI7DQoJCQlvLnBsYWNlaG9sZGVyID0gew0KCQkJCWVsZW1lbnQ6IGZ1bmN0aW9uKCkgew0KDQoJCQkJCXZhciBub2RlTmFtZSA9IHRoYXQuY3VycmVudEl0ZW1bIDAgXS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLA0KCQkJCQkJZWxlbWVudCA9ICQoICI8IiArIG5vZGVOYW1lICsgIj4iLCB0aGF0LmRvY3VtZW50WyAwIF0gKTsNCg0KCQkJCQkJdGhhdC5fYWRkQ2xhc3MoIGVsZW1lbnQsICJ1aS1zb3J0YWJsZS1wbGFjZWhvbGRlciIsDQoJCQkJCQkJCWNsYXNzTmFtZSB8fCB0aGF0LmN1cnJlbnRJdGVtWyAwIF0uY2xhc3NOYW1lICkNCgkJCQkJCQkuX3JlbW92ZUNsYXNzKCBlbGVtZW50LCAidWktc29ydGFibGUtaGVscGVyIiApOw0KDQoJCQkJCWlmICggbm9kZU5hbWUgPT09ICJ0Ym9keSIgKSB7DQoJCQkJCQl0aGF0Ll9jcmVhdGVUclBsYWNlaG9sZGVyKA0KCQkJCQkJCXRoYXQuY3VycmVudEl0ZW0uZmluZCggInRyIiApLmVxKCAwICksDQoJCQkJCQkJJCggIjx0cj4iLCB0aGF0LmRvY3VtZW50WyAwIF0gKS5hcHBlbmRUbyggZWxlbWVudCApDQoJCQkJCQkpOw0KCQkJCQl9IGVsc2UgaWYgKCBub2RlTmFtZSA9PT0gInRyIiApIHsNCgkJCQkJCXRoYXQuX2NyZWF0ZVRyUGxhY2Vob2xkZXIoIHRoYXQuY3VycmVudEl0ZW0sIGVsZW1lbnQgKTsNCgkJCQkJfSBlbHNlIGlmICggbm9kZU5hbWUgPT09ICJpbWciICkgew0KCQkJCQkJZWxlbWVudC5hdHRyKCAic3JjIiwgdGhhdC5jdXJyZW50SXRlbS5hdHRyKCAic3JjIiApICk7DQoJCQkJCX0NCg0KCQkJCQlpZiAoICFjbGFzc05hbWUgKSB7DQoJCQkJCQllbGVtZW50LmNzcyggInZpc2liaWxpdHkiLCAiaGlkZGVuIiApOw0KCQkJCQl9DQoNCgkJCQkJcmV0dXJuIGVsZW1lbnQ7DQoJCQkJfSwNCgkJCQl1cGRhdGU6IGZ1bmN0aW9uKCBjb250YWluZXIsIHAgKSB7DQoNCgkJCQkJLy8gMS4gSWYgYSBjbGFzc05hbWUgaXMgc2V0IGFzICdwbGFjZWhvbGRlciBvcHRpb24sIHdlIGRvbid0IGZvcmNlIHNpemVzIC0NCgkJCQkJLy8gdGhlIGNsYXNzIGlzIHJlc3BvbnNpYmxlIGZvciB0aGF0DQoJCQkJCS8vIDIuIFRoZSBvcHRpb24gJ2ZvcmNlUGxhY2Vob2xkZXJTaXplIGNhbiBiZSBlbmFibGVkIHRvIGZvcmNlIGl0IGV2ZW4gaWYgYQ0KCQkJCQkvLyBjbGFzcyBuYW1lIGlzIHNwZWNpZmllZA0KCQkJCQlpZiAoIGNsYXNzTmFtZSAmJiAhby5mb3JjZVBsYWNlaG9sZGVyU2l6ZSApIHsNCgkJCQkJCXJldHVybjsNCgkJCQkJfQ0KDQoJCQkJCS8vSWYgdGhlIGVsZW1lbnQgZG9lc24ndCBoYXZlIGEgYWN0dWFsIGhlaWdodCBieSBpdHNlbGYgKHdpdGhvdXQgc3R5bGVzIGNvbWluZw0KCQkJCQkvLyBmcm9tIGEgc3R5bGVzaGVldCksIGl0IHJlY2VpdmVzIHRoZSBpbmxpbmUgaGVpZ2h0IGZyb20gdGhlIGRyYWdnZWQgaXRlbQ0KCQkJCQlpZiAoICFwLmhlaWdodCgpICkgew0KCQkJCQkJcC5oZWlnaHQoDQoJCQkJCQkJdGhhdC5jdXJyZW50SXRlbS5pbm5lckhlaWdodCgpIC0NCgkJCQkJCQlwYXJzZUludCggdGhhdC5jdXJyZW50SXRlbS5jc3MoICJwYWRkaW5nVG9wIiApIHx8IDAsIDEwICkgLQ0KCQkJCQkJCXBhcnNlSW50KCB0aGF0LmN1cnJlbnRJdGVtLmNzcyggInBhZGRpbmdCb3R0b20iICkgfHwgMCwgMTAgKSApOw0KCQkJCQl9DQoJCQkJCWlmICggIXAud2lkdGgoKSApIHsNCgkJCQkJCXAud2lkdGgoDQoJCQkJCQkJdGhhdC5jdXJyZW50SXRlbS5pbm5lcldpZHRoKCkgLQ0KCQkJCQkJCXBhcnNlSW50KCB0aGF0LmN1cnJlbnRJdGVtLmNzcyggInBhZGRpbmdMZWZ0IiApIHx8IDAsIDEwICkgLQ0KCQkJCQkJCXBhcnNlSW50KCB0aGF0LmN1cnJlbnRJdGVtLmNzcyggInBhZGRpbmdSaWdodCIgKSB8fCAwLCAxMCApICk7DQoJCQkJCX0NCgkJCQl9DQoJCQl9Ow0KCQl9DQoNCgkJLy9DcmVhdGUgdGhlIHBsYWNlaG9sZGVyDQoJCXRoYXQucGxhY2Vob2xkZXIgPSAkKCBvLnBsYWNlaG9sZGVyLmVsZW1lbnQuY2FsbCggdGhhdC5lbGVtZW50LCB0aGF0LmN1cnJlbnRJdGVtICkgKTsNCg0KCQkvL0FwcGVuZCBpdCBhZnRlciB0aGUgYWN0dWFsIGN1cnJlbnQgaXRlbQ0KCQl0aGF0LmN1cnJlbnRJdGVtLmFmdGVyKCB0aGF0LnBsYWNlaG9sZGVyICk7DQoNCgkJLy9VcGRhdGUgdGhlIHNpemUgb2YgdGhlIHBsYWNlaG9sZGVyIChUT0RPOiBMb2dpYyB0byBmdXp6eSwgc2VlIGxpbmUgMzE2LzMxNykNCgkJby5wbGFjZWhvbGRlci51cGRhdGUoIHRoYXQsIHRoYXQucGxhY2Vob2xkZXIgKTsNCg0KCX0sDQoNCglfY3JlYXRlVHJQbGFjZWhvbGRlcjogZnVuY3Rpb24oIHNvdXJjZVRyLCB0YXJnZXRUciApIHsNCgkJdmFyIHRoYXQgPSB0aGlzOw0KDQoJCXNvdXJjZVRyLmNoaWxkcmVuKCkuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQkkKCAiPHRkPiYjMTYwOzwvdGQ+IiwgdGhhdC5kb2N1bWVudFsgMCBdICkNCgkJCQkuYXR0ciggImNvbHNwYW4iLCAkKCB0aGlzICkuYXR0ciggImNvbHNwYW4iICkgfHwgMSApDQoJCQkJLmFwcGVuZFRvKCB0YXJnZXRUciApOw0KCQl9ICk7DQoJfSwNCg0KCV9jb250YWN0Q29udGFpbmVyczogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl2YXIgaSwgaiwgZGlzdCwgaXRlbVdpdGhMZWFzdERpc3RhbmNlLCBwb3NQcm9wZXJ0eSwgc2l6ZVByb3BlcnR5LCBjdXIsIG5lYXJCb3R0b20sDQoJCQlmbG9hdGluZywgYXhpcywNCgkJCWlubmVybW9zdENvbnRhaW5lciA9IG51bGwsDQoJCQlpbm5lcm1vc3RJbmRleCA9IG51bGw7DQoNCgkJLy8gR2V0IGlubmVybW9zdCBjb250YWluZXIgdGhhdCBpbnRlcnNlY3RzIHdpdGggaXRlbQ0KCQlmb3IgKCBpID0gdGhpcy5jb250YWluZXJzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tICkgew0KDQoJCQkvLyBOZXZlciBjb25zaWRlciBhIGNvbnRhaW5lciB0aGF0J3MgbG9jYXRlZCB3aXRoaW4gdGhlIGl0ZW0gaXRzZWxmDQoJCQlpZiAoICQuY29udGFpbnMoIHRoaXMuY3VycmVudEl0ZW1bIDAgXSwgdGhpcy5jb250YWluZXJzWyBpIF0uZWxlbWVudFsgMCBdICkgKSB7DQoJCQkJY29udGludWU7DQoJCQl9DQoNCgkJCWlmICggdGhpcy5faW50ZXJzZWN0c1dpdGgoIHRoaXMuY29udGFpbmVyc1sgaSBdLmNvbnRhaW5lckNhY2hlICkgKSB7DQoNCgkJCQkvLyBJZiB3ZSd2ZSBhbHJlYWR5IGZvdW5kIGEgY29udGFpbmVyIGFuZCBpdCdzIG1vcmUgImlubmVyIiB0aGFuIHRoaXMsIHRoZW4gY29udGludWUNCgkJCQlpZiAoIGlubmVybW9zdENvbnRhaW5lciAmJg0KCQkJCQkJJC5jb250YWlucygNCgkJCQkJCQl0aGlzLmNvbnRhaW5lcnNbIGkgXS5lbGVtZW50WyAwIF0sDQoJCQkJCQkJaW5uZXJtb3N0Q29udGFpbmVyLmVsZW1lbnRbIDAgXSApICkgew0KCQkJCQljb250aW51ZTsNCgkJCQl9DQoNCgkJCQlpbm5lcm1vc3RDb250YWluZXIgPSB0aGlzLmNvbnRhaW5lcnNbIGkgXTsNCgkJCQlpbm5lcm1vc3RJbmRleCA9IGk7DQoNCgkJCX0gZWxzZSB7DQoNCgkJCQkvLyBjb250YWluZXIgZG9lc24ndCBpbnRlcnNlY3QuIHRyaWdnZXIgIm91dCIgZXZlbnQgaWYgbmVjZXNzYXJ5DQoJCQkJaWYgKCB0aGlzLmNvbnRhaW5lcnNbIGkgXS5jb250YWluZXJDYWNoZS5vdmVyICkgew0KCQkJCQl0aGlzLmNvbnRhaW5lcnNbIGkgXS5fdHJpZ2dlciggIm91dCIsIGV2ZW50LCB0aGlzLl91aUhhc2goIHRoaXMgKSApOw0KCQkJCQl0aGlzLmNvbnRhaW5lcnNbIGkgXS5jb250YWluZXJDYWNoZS5vdmVyID0gMDsNCgkJCQl9DQoJCQl9DQoNCgkJfQ0KDQoJCS8vIElmIG5vIGludGVyc2VjdGluZyBjb250YWluZXJzIGZvdW5kLCByZXR1cm4NCgkJaWYgKCAhaW5uZXJtb3N0Q29udGFpbmVyICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJLy8gTW92ZSB0aGUgaXRlbSBpbnRvIHRoZSBjb250YWluZXIgaWYgaXQncyBub3QgdGhlcmUgYWxyZWFkeQ0KCQlpZiAoIHRoaXMuY29udGFpbmVycy5sZW5ndGggPT09IDEgKSB7DQoJCQlpZiAoICF0aGlzLmNvbnRhaW5lcnNbIGlubmVybW9zdEluZGV4IF0uY29udGFpbmVyQ2FjaGUub3ZlciApIHsNCgkJCQl0aGlzLmNvbnRhaW5lcnNbIGlubmVybW9zdEluZGV4IF0uX3RyaWdnZXIoICJvdmVyIiwgZXZlbnQsIHRoaXMuX3VpSGFzaCggdGhpcyApICk7DQoJCQkJdGhpcy5jb250YWluZXJzWyBpbm5lcm1vc3RJbmRleCBdLmNvbnRhaW5lckNhY2hlLm92ZXIgPSAxOw0KCQkJfQ0KCQl9IGVsc2Ugew0KDQoJCQkvLyBXaGVuIGVudGVyaW5nIGEgbmV3IGNvbnRhaW5lciwgd2Ugd2lsbCBmaW5kIHRoZSBpdGVtIHdpdGggdGhlIGxlYXN0IGRpc3RhbmNlIGFuZA0KCQkJLy8gYXBwZW5kIG91ciBpdGVtIG5lYXIgaXQNCgkJCWRpc3QgPSAxMDAwMDsNCgkJCWl0ZW1XaXRoTGVhc3REaXN0YW5jZSA9IG51bGw7DQoJCQlmbG9hdGluZyA9IGlubmVybW9zdENvbnRhaW5lci5mbG9hdGluZyB8fCB0aGlzLl9pc0Zsb2F0aW5nKCB0aGlzLmN1cnJlbnRJdGVtICk7DQoJCQlwb3NQcm9wZXJ0eSA9IGZsb2F0aW5nID8gImxlZnQiIDogInRvcCI7DQoJCQlzaXplUHJvcGVydHkgPSBmbG9hdGluZyA/ICJ3aWR0aCIgOiAiaGVpZ2h0IjsNCgkJCWF4aXMgPSBmbG9hdGluZyA/ICJwYWdlWCIgOiAicGFnZVkiOw0KDQoJCQlmb3IgKCBqID0gdGhpcy5pdGVtcy5sZW5ndGggLSAxOyBqID49IDA7IGotLSApIHsNCgkJCQlpZiAoICEkLmNvbnRhaW5zKA0KCQkJCQkJdGhpcy5jb250YWluZXJzWyBpbm5lcm1vc3RJbmRleCBdLmVsZW1lbnRbIDAgXSwgdGhpcy5pdGVtc1sgaiBdLml0ZW1bIDAgXSApDQoJCQkJKSB7DQoJCQkJCWNvbnRpbnVlOw0KCQkJCX0NCgkJCQlpZiAoIHRoaXMuaXRlbXNbIGogXS5pdGVtWyAwIF0gPT09IHRoaXMuY3VycmVudEl0ZW1bIDAgXSApIHsNCgkJCQkJY29udGludWU7DQoJCQkJfQ0KDQoJCQkJY3VyID0gdGhpcy5pdGVtc1sgaiBdLml0ZW0ub2Zmc2V0KClbIHBvc1Byb3BlcnR5IF07DQoJCQkJbmVhckJvdHRvbSA9IGZhbHNlOw0KCQkJCWlmICggZXZlbnRbIGF4aXMgXSAtIGN1ciA+IHRoaXMuaXRlbXNbIGogXVsgc2l6ZVByb3BlcnR5IF0gLyAyICkgew0KCQkJCQluZWFyQm90dG9tID0gdHJ1ZTsNCgkJCQl9DQoNCgkJCQlpZiAoIE1hdGguYWJzKCBldmVudFsgYXhpcyBdIC0gY3VyICkgPCBkaXN0ICkgew0KCQkJCQlkaXN0ID0gTWF0aC5hYnMoIGV2ZW50WyBheGlzIF0gLSBjdXIgKTsNCgkJCQkJaXRlbVdpdGhMZWFzdERpc3RhbmNlID0gdGhpcy5pdGVtc1sgaiBdOw0KCQkJCQl0aGlzLmRpcmVjdGlvbiA9IG5lYXJCb3R0b20gPyAidXAiIDogImRvd24iOw0KCQkJCX0NCgkJCX0NCg0KCQkJLy9DaGVjayBpZiBkcm9wT25FbXB0eSBpcyBlbmFibGVkDQoJCQlpZiAoICFpdGVtV2l0aExlYXN0RGlzdGFuY2UgJiYgIXRoaXMub3B0aW9ucy5kcm9wT25FbXB0eSApIHsNCgkJCQlyZXR1cm47DQoJCQl9DQoNCgkJCWlmICggdGhpcy5jdXJyZW50Q29udGFpbmVyID09PSB0aGlzLmNvbnRhaW5lcnNbIGlubmVybW9zdEluZGV4IF0gKSB7DQoJCQkJaWYgKCAhdGhpcy5jdXJyZW50Q29udGFpbmVyLmNvbnRhaW5lckNhY2hlLm92ZXIgKSB7DQoJCQkJCXRoaXMuY29udGFpbmVyc1sgaW5uZXJtb3N0SW5kZXggXS5fdHJpZ2dlciggIm92ZXIiLCBldmVudCwgdGhpcy5fdWlIYXNoKCkgKTsNCgkJCQkJdGhpcy5jdXJyZW50Q29udGFpbmVyLmNvbnRhaW5lckNhY2hlLm92ZXIgPSAxOw0KCQkJCX0NCgkJCQlyZXR1cm47DQoJCQl9DQoNCgkJCWl0ZW1XaXRoTGVhc3REaXN0YW5jZSA/DQoJCQkJdGhpcy5fcmVhcnJhbmdlKCBldmVudCwgaXRlbVdpdGhMZWFzdERpc3RhbmNlLCBudWxsLCB0cnVlICkgOg0KCQkJCXRoaXMuX3JlYXJyYW5nZSggZXZlbnQsIG51bGwsIHRoaXMuY29udGFpbmVyc1sgaW5uZXJtb3N0SW5kZXggXS5lbGVtZW50LCB0cnVlICk7DQoJCQl0aGlzLl90cmlnZ2VyKCAiY2hhbmdlIiwgZXZlbnQsIHRoaXMuX3VpSGFzaCgpICk7DQoJCQl0aGlzLmNvbnRhaW5lcnNbIGlubmVybW9zdEluZGV4IF0uX3RyaWdnZXIoICJjaGFuZ2UiLCBldmVudCwgdGhpcy5fdWlIYXNoKCB0aGlzICkgKTsNCgkJCXRoaXMuY3VycmVudENvbnRhaW5lciA9IHRoaXMuY29udGFpbmVyc1sgaW5uZXJtb3N0SW5kZXggXTsNCg0KCQkJLy9VcGRhdGUgdGhlIHBsYWNlaG9sZGVyDQoJCQl0aGlzLm9wdGlvbnMucGxhY2Vob2xkZXIudXBkYXRlKCB0aGlzLmN1cnJlbnRDb250YWluZXIsIHRoaXMucGxhY2Vob2xkZXIgKTsNCg0KCQkJdGhpcy5jb250YWluZXJzWyBpbm5lcm1vc3RJbmRleCBdLl90cmlnZ2VyKCAib3ZlciIsIGV2ZW50LCB0aGlzLl91aUhhc2goIHRoaXMgKSApOw0KCQkJdGhpcy5jb250YWluZXJzWyBpbm5lcm1vc3RJbmRleCBdLmNvbnRhaW5lckNhY2hlLm92ZXIgPSAxOw0KCQl9DQoNCgl9LA0KDQoJX2NyZWF0ZUhlbHBlcjogZnVuY3Rpb24oIGV2ZW50ICkgew0KDQoJCXZhciBvID0gdGhpcy5vcHRpb25zLA0KCQkJaGVscGVyID0gJC5pc0Z1bmN0aW9uKCBvLmhlbHBlciApID8NCgkJCQkkKCBvLmhlbHBlci5hcHBseSggdGhpcy5lbGVtZW50WyAwIF0sIFsgZXZlbnQsIHRoaXMuY3VycmVudEl0ZW0gXSApICkgOg0KCQkJCSggby5oZWxwZXIgPT09ICJjbG9uZSIgPyB0aGlzLmN1cnJlbnRJdGVtLmNsb25lKCkgOiB0aGlzLmN1cnJlbnRJdGVtICk7DQoNCgkJLy9BZGQgdGhlIGhlbHBlciB0byB0aGUgRE9NIGlmIHRoYXQgZGlkbid0IGhhcHBlbiBhbHJlYWR5DQoJCWlmICggIWhlbHBlci5wYXJlbnRzKCAiYm9keSIgKS5sZW5ndGggKSB7DQoJCQkkKCBvLmFwcGVuZFRvICE9PSAicGFyZW50IiA/DQoJCQkJby5hcHBlbmRUbyA6DQoJCQkJdGhpcy5jdXJyZW50SXRlbVsgMCBdLnBhcmVudE5vZGUgKVsgMCBdLmFwcGVuZENoaWxkKCBoZWxwZXJbIDAgXSApOw0KCQl9DQoNCgkJaWYgKCBoZWxwZXJbIDAgXSA9PT0gdGhpcy5jdXJyZW50SXRlbVsgMCBdICkgew0KCQkJdGhpcy5fc3RvcmVkQ1NTID0gew0KCQkJCXdpZHRoOiB0aGlzLmN1cnJlbnRJdGVtWyAwIF0uc3R5bGUud2lkdGgsDQoJCQkJaGVpZ2h0OiB0aGlzLmN1cnJlbnRJdGVtWyAwIF0uc3R5bGUuaGVpZ2h0LA0KCQkJCXBvc2l0aW9uOiB0aGlzLmN1cnJlbnRJdGVtLmNzcyggInBvc2l0aW9uIiApLA0KCQkJCXRvcDogdGhpcy5jdXJyZW50SXRlbS5jc3MoICJ0b3AiICksDQoJCQkJbGVmdDogdGhpcy5jdXJyZW50SXRlbS5jc3MoICJsZWZ0IiApDQoJCQl9Ow0KCQl9DQoNCgkJaWYgKCAhaGVscGVyWyAwIF0uc3R5bGUud2lkdGggfHwgby5mb3JjZUhlbHBlclNpemUgKSB7DQoJCQloZWxwZXIud2lkdGgoIHRoaXMuY3VycmVudEl0ZW0ud2lkdGgoKSApOw0KCQl9DQoJCWlmICggIWhlbHBlclsgMCBdLnN0eWxlLmhlaWdodCB8fCBvLmZvcmNlSGVscGVyU2l6ZSApIHsNCgkJCWhlbHBlci5oZWlnaHQoIHRoaXMuY3VycmVudEl0ZW0uaGVpZ2h0KCkgKTsNCgkJfQ0KDQoJCXJldHVybiBoZWxwZXI7DQoNCgl9LA0KDQoJX2FkanVzdE9mZnNldEZyb21IZWxwZXI6IGZ1bmN0aW9uKCBvYmogKSB7DQoJCWlmICggdHlwZW9mIG9iaiA9PT0gInN0cmluZyIgKSB7DQoJCQlvYmogPSBvYmouc3BsaXQoICIgIiApOw0KCQl9DQoJCWlmICggJC5pc0FycmF5KCBvYmogKSApIHsNCgkJCW9iaiA9IHsgbGVmdDogK29ialsgMCBdLCB0b3A6ICtvYmpbIDEgXSB8fCAwIH07DQoJCX0NCgkJaWYgKCAibGVmdCIgaW4gb2JqICkgew0KCQkJdGhpcy5vZmZzZXQuY2xpY2subGVmdCA9IG9iai5sZWZ0ICsgdGhpcy5tYXJnaW5zLmxlZnQ7DQoJCX0NCgkJaWYgKCAicmlnaHQiIGluIG9iaiApIHsNCgkJCXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQgPSB0aGlzLmhlbHBlclByb3BvcnRpb25zLndpZHRoIC0gb2JqLnJpZ2h0ICsgdGhpcy5tYXJnaW5zLmxlZnQ7DQoJCX0NCgkJaWYgKCAidG9wIiBpbiBvYmogKSB7DQoJCQl0aGlzLm9mZnNldC5jbGljay50b3AgPSBvYmoudG9wICsgdGhpcy5tYXJnaW5zLnRvcDsNCgkJfQ0KCQlpZiAoICJib3R0b20iIGluIG9iaiApIHsNCgkJCXRoaXMub2Zmc2V0LmNsaWNrLnRvcCA9IHRoaXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0IC0gb2JqLmJvdHRvbSArIHRoaXMubWFyZ2lucy50b3A7DQoJCX0NCgl9LA0KDQoJX2dldFBhcmVudE9mZnNldDogZnVuY3Rpb24oKSB7DQoNCgkJLy9HZXQgdGhlIG9mZnNldFBhcmVudCBhbmQgY2FjaGUgaXRzIHBvc2l0aW9uDQoJCXRoaXMub2Zmc2V0UGFyZW50ID0gdGhpcy5oZWxwZXIub2Zmc2V0UGFyZW50KCk7DQoJCXZhciBwbyA9IHRoaXMub2Zmc2V0UGFyZW50Lm9mZnNldCgpOw0KDQoJCS8vIFRoaXMgaXMgYSBzcGVjaWFsIGNhc2Ugd2hlcmUgd2UgbmVlZCB0byBtb2RpZnkgYSBvZmZzZXQgY2FsY3VsYXRlZCBvbiBzdGFydCwgc2luY2UgdGhlDQoJCS8vIGZvbGxvd2luZyBoYXBwZW5lZDoNCgkJLy8gMS4gVGhlIHBvc2l0aW9uIG9mIHRoZSBoZWxwZXIgaXMgYWJzb2x1dGUsIHNvIGl0J3MgcG9zaXRpb24gaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUNCgkJLy8gbmV4dCBwb3NpdGlvbmVkIHBhcmVudA0KCQkvLyAyLiBUaGUgYWN0dWFsIG9mZnNldCBwYXJlbnQgaXMgYSBjaGlsZCBvZiB0aGUgc2Nyb2xsIHBhcmVudCwgYW5kIHRoZSBzY3JvbGwgcGFyZW50IGlzbid0DQoJCS8vIHRoZSBkb2N1bWVudCwgd2hpY2ggbWVhbnMgdGhhdCB0aGUgc2Nyb2xsIGlzIGluY2x1ZGVkIGluIHRoZSBpbml0aWFsIGNhbGN1bGF0aW9uIG9mIHRoZQ0KCQkvLyBvZmZzZXQgb2YgdGhlIHBhcmVudCwgYW5kIG5ldmVyIHJlY2FsY3VsYXRlZCB1cG9uIGRyYWcNCgkJaWYgKCB0aGlzLmNzc1Bvc2l0aW9uID09PSAiYWJzb2x1dGUiICYmIHRoaXMuc2Nyb2xsUGFyZW50WyAwIF0gIT09IHRoaXMuZG9jdW1lbnRbIDAgXSAmJg0KCQkJCSQuY29udGFpbnMoIHRoaXMuc2Nyb2xsUGFyZW50WyAwIF0sIHRoaXMub2Zmc2V0UGFyZW50WyAwIF0gKSApIHsNCgkJCXBvLmxlZnQgKz0gdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCgpOw0KCQkJcG8udG9wICs9IHRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgpOw0KCQl9DQoNCgkJLy8gVGhpcyBuZWVkcyB0byBiZSBhY3R1YWxseSBkb25lIGZvciBhbGwgYnJvd3NlcnMsIHNpbmNlIHBhZ2VYL3BhZ2VZIGluY2x1ZGVzIHRoaXMNCgkJLy8gaW5mb3JtYXRpb24gd2l0aCBhbiB1Z2x5IElFIGZpeA0KCQlpZiAoIHRoaXMub2Zmc2V0UGFyZW50WyAwIF0gPT09IHRoaXMuZG9jdW1lbnRbIDAgXS5ib2R5IHx8DQoJCQkJKCB0aGlzLm9mZnNldFBhcmVudFsgMCBdLnRhZ05hbWUgJiYNCgkJCQl0aGlzLm9mZnNldFBhcmVudFsgMCBdLnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gImh0bWwiICYmICQudWkuaWUgKSApIHsNCgkJCXBvID0geyB0b3A6IDAsIGxlZnQ6IDAgfTsNCgkJfQ0KDQoJCXJldHVybiB7DQoJCQl0b3A6IHBvLnRvcCArICggcGFyc2VJbnQoIHRoaXMub2Zmc2V0UGFyZW50LmNzcyggImJvcmRlclRvcFdpZHRoIiApLCAxMCApIHx8IDAgKSwNCgkJCWxlZnQ6IHBvLmxlZnQgKyAoIHBhcnNlSW50KCB0aGlzLm9mZnNldFBhcmVudC5jc3MoICJib3JkZXJMZWZ0V2lkdGgiICksIDEwICkgfHwgMCApDQoJCX07DQoNCgl9LA0KDQoJX2dldFJlbGF0aXZlT2Zmc2V0OiBmdW5jdGlvbigpIHsNCg0KCQlpZiAoIHRoaXMuY3NzUG9zaXRpb24gPT09ICJyZWxhdGl2ZSIgKSB7DQoJCQl2YXIgcCA9IHRoaXMuY3VycmVudEl0ZW0ucG9zaXRpb24oKTsNCgkJCXJldHVybiB7DQoJCQkJdG9wOiBwLnRvcCAtICggcGFyc2VJbnQoIHRoaXMuaGVscGVyLmNzcyggInRvcCIgKSwgMTAgKSB8fCAwICkgKw0KCQkJCQl0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKSwNCgkJCQlsZWZ0OiBwLmxlZnQgLSAoIHBhcnNlSW50KCB0aGlzLmhlbHBlci5jc3MoICJsZWZ0IiApLCAxMCApIHx8IDAgKSArDQoJCQkJCXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQoKQ0KCQkJfTsNCgkJfSBlbHNlIHsNCgkJCXJldHVybiB7IHRvcDogMCwgbGVmdDogMCB9Ow0KCQl9DQoNCgl9LA0KDQoJX2NhY2hlTWFyZ2luczogZnVuY3Rpb24oKSB7DQoJCXRoaXMubWFyZ2lucyA9IHsNCgkJCWxlZnQ6ICggcGFyc2VJbnQoIHRoaXMuY3VycmVudEl0ZW0uY3NzKCAibWFyZ2luTGVmdCIgKSwgMTAgKSB8fCAwICksDQoJCQl0b3A6ICggcGFyc2VJbnQoIHRoaXMuY3VycmVudEl0ZW0uY3NzKCAibWFyZ2luVG9wIiApLCAxMCApIHx8IDAgKQ0KCQl9Ow0KCX0sDQoNCglfY2FjaGVIZWxwZXJQcm9wb3J0aW9uczogZnVuY3Rpb24oKSB7DQoJCXRoaXMuaGVscGVyUHJvcG9ydGlvbnMgPSB7DQoJCQl3aWR0aDogdGhpcy5oZWxwZXIub3V0ZXJXaWR0aCgpLA0KCQkJaGVpZ2h0OiB0aGlzLmhlbHBlci5vdXRlckhlaWdodCgpDQoJCX07DQoJfSwNCg0KCV9zZXRDb250YWlubWVudDogZnVuY3Rpb24oKSB7DQoNCgkJdmFyIGNlLCBjbywgb3ZlciwNCgkJCW8gPSB0aGlzLm9wdGlvbnM7DQoJCWlmICggby5jb250YWlubWVudCA9PT0gInBhcmVudCIgKSB7DQoJCQlvLmNvbnRhaW5tZW50ID0gdGhpcy5oZWxwZXJbIDAgXS5wYXJlbnROb2RlOw0KCQl9DQoJCWlmICggby5jb250YWlubWVudCA9PT0gImRvY3VtZW50IiB8fCBvLmNvbnRhaW5tZW50ID09PSAid2luZG93IiApIHsNCgkJCXRoaXMuY29udGFpbm1lbnQgPSBbDQoJCQkJMCAtIHRoaXMub2Zmc2V0LnJlbGF0aXZlLmxlZnQgLSB0aGlzLm9mZnNldC5wYXJlbnQubGVmdCwNCgkJCQkwIC0gdGhpcy5vZmZzZXQucmVsYXRpdmUudG9wIC0gdGhpcy5vZmZzZXQucGFyZW50LnRvcCwNCgkJCQlvLmNvbnRhaW5tZW50ID09PSAiZG9jdW1lbnQiID8NCgkJCQkJdGhpcy5kb2N1bWVudC53aWR0aCgpIDoNCgkJCQkJdGhpcy53aW5kb3cud2lkdGgoKSAtIHRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGggLSB0aGlzLm1hcmdpbnMubGVmdCwNCgkJCQkoIG8uY29udGFpbm1lbnQgPT09ICJkb2N1bWVudCIgPw0KCQkJCQkoIHRoaXMuZG9jdW1lbnQuaGVpZ2h0KCkgfHwgZG9jdW1lbnQuYm9keS5wYXJlbnROb2RlLnNjcm9sbEhlaWdodCApIDoNCgkJCQkJdGhpcy53aW5kb3cuaGVpZ2h0KCkgfHwgdGhpcy5kb2N1bWVudFsgMCBdLmJvZHkucGFyZW50Tm9kZS5zY3JvbGxIZWlnaHQNCgkJCQkpIC0gdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQgLSB0aGlzLm1hcmdpbnMudG9wDQoJCQldOw0KCQl9DQoNCgkJaWYgKCAhKCAvXihkb2N1bWVudHx3aW5kb3d8cGFyZW50KSQvICkudGVzdCggby5jb250YWlubWVudCApICkgew0KCQkJY2UgPSAkKCBvLmNvbnRhaW5tZW50IClbIDAgXTsNCgkJCWNvID0gJCggby5jb250YWlubWVudCApLm9mZnNldCgpOw0KCQkJb3ZlciA9ICggJCggY2UgKS5jc3MoICJvdmVyZmxvdyIgKSAhPT0gImhpZGRlbiIgKTsNCg0KCQkJdGhpcy5jb250YWlubWVudCA9IFsNCgkJCQljby5sZWZ0ICsgKCBwYXJzZUludCggJCggY2UgKS5jc3MoICJib3JkZXJMZWZ0V2lkdGgiICksIDEwICkgfHwgMCApICsNCgkJCQkJKCBwYXJzZUludCggJCggY2UgKS5jc3MoICJwYWRkaW5nTGVmdCIgKSwgMTAgKSB8fCAwICkgLSB0aGlzLm1hcmdpbnMubGVmdCwNCgkJCQljby50b3AgKyAoIHBhcnNlSW50KCAkKCBjZSApLmNzcyggImJvcmRlclRvcFdpZHRoIiApLCAxMCApIHx8IDAgKSArDQoJCQkJCSggcGFyc2VJbnQoICQoIGNlICkuY3NzKCAicGFkZGluZ1RvcCIgKSwgMTAgKSB8fCAwICkgLSB0aGlzLm1hcmdpbnMudG9wLA0KCQkJCWNvLmxlZnQgKyAoIG92ZXIgPyBNYXRoLm1heCggY2Uuc2Nyb2xsV2lkdGgsIGNlLm9mZnNldFdpZHRoICkgOiBjZS5vZmZzZXRXaWR0aCApIC0NCgkJCQkJKCBwYXJzZUludCggJCggY2UgKS5jc3MoICJib3JkZXJMZWZ0V2lkdGgiICksIDEwICkgfHwgMCApIC0NCgkJCQkJKCBwYXJzZUludCggJCggY2UgKS5jc3MoICJwYWRkaW5nUmlnaHQiICksIDEwICkgfHwgMCApIC0NCgkJCQkJdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aCAtIHRoaXMubWFyZ2lucy5sZWZ0LA0KCQkJCWNvLnRvcCArICggb3ZlciA/IE1hdGgubWF4KCBjZS5zY3JvbGxIZWlnaHQsIGNlLm9mZnNldEhlaWdodCApIDogY2Uub2Zmc2V0SGVpZ2h0ICkgLQ0KCQkJCQkoIHBhcnNlSW50KCAkKCBjZSApLmNzcyggImJvcmRlclRvcFdpZHRoIiApLCAxMCApIHx8IDAgKSAtDQoJCQkJCSggcGFyc2VJbnQoICQoIGNlICkuY3NzKCAicGFkZGluZ0JvdHRvbSIgKSwgMTAgKSB8fCAwICkgLQ0KCQkJCQl0aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodCAtIHRoaXMubWFyZ2lucy50b3ANCgkJCV07DQoJCX0NCg0KCX0sDQoNCglfY29udmVydFBvc2l0aW9uVG86IGZ1bmN0aW9uKCBkLCBwb3MgKSB7DQoNCgkJaWYgKCAhcG9zICkgew0KCQkJcG9zID0gdGhpcy5wb3NpdGlvbjsNCgkJfQ0KCQl2YXIgbW9kID0gZCA9PT0gImFic29sdXRlIiA/IDEgOiAtMSwNCgkJCXNjcm9sbCA9IHRoaXMuY3NzUG9zaXRpb24gPT09ICJhYnNvbHV0ZSIgJiYNCgkJCQkhKCB0aGlzLnNjcm9sbFBhcmVudFsgMCBdICE9PSB0aGlzLmRvY3VtZW50WyAwIF0gJiYNCgkJCQkkLmNvbnRhaW5zKCB0aGlzLnNjcm9sbFBhcmVudFsgMCBdLCB0aGlzLm9mZnNldFBhcmVudFsgMCBdICkgKSA/DQoJCQkJCXRoaXMub2Zmc2V0UGFyZW50IDoNCgkJCQkJdGhpcy5zY3JvbGxQYXJlbnQsDQoJCQlzY3JvbGxJc1Jvb3ROb2RlID0gKCAvKGh0bWx8Ym9keSkvaSApLnRlc3QoIHNjcm9sbFsgMCBdLnRhZ05hbWUgKTsNCg0KCQlyZXR1cm4gew0KCQkJdG9wOiAoDQoNCgkJCQkvLyBUaGUgYWJzb2x1dGUgbW91c2UgcG9zaXRpb24NCgkJCQlwb3MudG9wCSsNCg0KCQkJCS8vIE9ubHkgZm9yIHJlbGF0aXZlIHBvc2l0aW9uZWQgbm9kZXM6IFJlbGF0aXZlIG9mZnNldCBmcm9tIGVsZW1lbnQgdG8gb2Zmc2V0IHBhcmVudA0KCQkJCXRoaXMub2Zmc2V0LnJlbGF0aXZlLnRvcCAqIG1vZCArDQoNCgkJCQkvLyBUaGUgb2Zmc2V0UGFyZW50J3Mgb2Zmc2V0IHdpdGhvdXQgYm9yZGVycyAob2Zmc2V0ICsgYm9yZGVyKQ0KCQkJCXRoaXMub2Zmc2V0LnBhcmVudC50b3AgKiBtb2QgLQ0KCQkJCSggKCB0aGlzLmNzc1Bvc2l0aW9uID09PSAiZml4ZWQiID8NCgkJCQkJLXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgpIDoNCgkJCQkJKCBzY3JvbGxJc1Jvb3ROb2RlID8gMCA6IHNjcm9sbC5zY3JvbGxUb3AoKSApICkgKiBtb2QgKQ0KCQkJKSwNCgkJCWxlZnQ6ICgNCg0KCQkJCS8vIFRoZSBhYnNvbHV0ZSBtb3VzZSBwb3NpdGlvbg0KCQkJCXBvcy5sZWZ0ICsNCg0KCQkJCS8vIE9ubHkgZm9yIHJlbGF0aXZlIHBvc2l0aW9uZWQgbm9kZXM6IFJlbGF0aXZlIG9mZnNldCBmcm9tIGVsZW1lbnQgdG8gb2Zmc2V0IHBhcmVudA0KCQkJCXRoaXMub2Zmc2V0LnJlbGF0aXZlLmxlZnQgKiBtb2QgKw0KDQoJCQkJLy8gVGhlIG9mZnNldFBhcmVudCdzIG9mZnNldCB3aXRob3V0IGJvcmRlcnMgKG9mZnNldCArIGJvcmRlcikNCgkJCQl0aGlzLm9mZnNldC5wYXJlbnQubGVmdCAqIG1vZAktDQoJCQkJKCAoIHRoaXMuY3NzUG9zaXRpb24gPT09ICJmaXhlZCIgPw0KCQkJCQktdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCgpIDogc2Nyb2xsSXNSb290Tm9kZSA/IDAgOg0KCQkJCQlzY3JvbGwuc2Nyb2xsTGVmdCgpICkgKiBtb2QgKQ0KCQkJKQ0KCQl9Ow0KDQoJfSwNCg0KCV9nZW5lcmF0ZVBvc2l0aW9uOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoNCgkJdmFyIHRvcCwgbGVmdCwNCgkJCW8gPSB0aGlzLm9wdGlvbnMsDQoJCQlwYWdlWCA9IGV2ZW50LnBhZ2VYLA0KCQkJcGFnZVkgPSBldmVudC5wYWdlWSwNCgkJCXNjcm9sbCA9IHRoaXMuY3NzUG9zaXRpb24gPT09ICJhYnNvbHV0ZSIgJiYNCgkJCQkhKCB0aGlzLnNjcm9sbFBhcmVudFsgMCBdICE9PSB0aGlzLmRvY3VtZW50WyAwIF0gJiYNCgkJCQkkLmNvbnRhaW5zKCB0aGlzLnNjcm9sbFBhcmVudFsgMCBdLCB0aGlzLm9mZnNldFBhcmVudFsgMCBdICkgKSA/DQoJCQkJCXRoaXMub2Zmc2V0UGFyZW50IDoNCgkJCQkJdGhpcy5zY3JvbGxQYXJlbnQsDQoJCQkJc2Nyb2xsSXNSb290Tm9kZSA9ICggLyhodG1sfGJvZHkpL2kgKS50ZXN0KCBzY3JvbGxbIDAgXS50YWdOYW1lICk7DQoNCgkJLy8gVGhpcyBpcyBhbm90aGVyIHZlcnkgd2VpcmQgc3BlY2lhbCBjYXNlIHRoYXQgb25seSBoYXBwZW5zIGZvciByZWxhdGl2ZSBlbGVtZW50czoNCgkJLy8gMS4gSWYgdGhlIGNzcyBwb3NpdGlvbiBpcyByZWxhdGl2ZQ0KCQkvLyAyLiBhbmQgdGhlIHNjcm9sbCBwYXJlbnQgaXMgdGhlIGRvY3VtZW50IG9yIHNpbWlsYXIgdG8gdGhlIG9mZnNldCBwYXJlbnQNCgkJLy8gd2UgaGF2ZSB0byByZWZyZXNoIHRoZSByZWxhdGl2ZSBvZmZzZXQgZHVyaW5nIHRoZSBzY3JvbGwgc28gdGhlcmUgYXJlIG5vIGp1bXBzDQoJCWlmICggdGhpcy5jc3NQb3NpdGlvbiA9PT0gInJlbGF0aXZlIiAmJiAhKCB0aGlzLnNjcm9sbFBhcmVudFsgMCBdICE9PSB0aGlzLmRvY3VtZW50WyAwIF0gJiYNCgkJCQl0aGlzLnNjcm9sbFBhcmVudFsgMCBdICE9PSB0aGlzLm9mZnNldFBhcmVudFsgMCBdICkgKSB7DQoJCQl0aGlzLm9mZnNldC5yZWxhdGl2ZSA9IHRoaXMuX2dldFJlbGF0aXZlT2Zmc2V0KCk7DQoJCX0NCg0KCQkvKg0KCQkgKiAtIFBvc2l0aW9uIGNvbnN0cmFpbmluZyAtDQoJCSAqIENvbnN0cmFpbiB0aGUgcG9zaXRpb24gdG8gYSBtaXggb2YgZ3JpZCwgY29udGFpbm1lbnQuDQoJCSAqLw0KDQoJCWlmICggdGhpcy5vcmlnaW5hbFBvc2l0aW9uICkgeyAvL0lmIHdlIGFyZSBub3QgZHJhZ2dpbmcgeWV0LCB3ZSB3b24ndCBjaGVjayBmb3Igb3B0aW9ucw0KDQoJCQlpZiAoIHRoaXMuY29udGFpbm1lbnQgKSB7DQoJCQkJaWYgKCBldmVudC5wYWdlWCAtIHRoaXMub2Zmc2V0LmNsaWNrLmxlZnQgPCB0aGlzLmNvbnRhaW5tZW50WyAwIF0gKSB7DQoJCQkJCXBhZ2VYID0gdGhpcy5jb250YWlubWVudFsgMCBdICsgdGhpcy5vZmZzZXQuY2xpY2subGVmdDsNCgkJCQl9DQoJCQkJaWYgKCBldmVudC5wYWdlWSAtIHRoaXMub2Zmc2V0LmNsaWNrLnRvcCA8IHRoaXMuY29udGFpbm1lbnRbIDEgXSApIHsNCgkJCQkJcGFnZVkgPSB0aGlzLmNvbnRhaW5tZW50WyAxIF0gKyB0aGlzLm9mZnNldC5jbGljay50b3A7DQoJCQkJfQ0KCQkJCWlmICggZXZlbnQucGFnZVggLSB0aGlzLm9mZnNldC5jbGljay5sZWZ0ID4gdGhpcy5jb250YWlubWVudFsgMiBdICkgew0KCQkJCQlwYWdlWCA9IHRoaXMuY29udGFpbm1lbnRbIDIgXSArIHRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ7DQoJCQkJfQ0KCQkJCWlmICggZXZlbnQucGFnZVkgLSB0aGlzLm9mZnNldC5jbGljay50b3AgPiB0aGlzLmNvbnRhaW5tZW50WyAzIF0gKSB7DQoJCQkJCXBhZ2VZID0gdGhpcy5jb250YWlubWVudFsgMyBdICsgdGhpcy5vZmZzZXQuY2xpY2sudG9wOw0KCQkJCX0NCgkJCX0NCg0KCQkJaWYgKCBvLmdyaWQgKSB7DQoJCQkJdG9wID0gdGhpcy5vcmlnaW5hbFBhZ2VZICsgTWF0aC5yb3VuZCggKCBwYWdlWSAtIHRoaXMub3JpZ2luYWxQYWdlWSApIC8NCgkJCQkJby5ncmlkWyAxIF0gKSAqIG8uZ3JpZFsgMSBdOw0KCQkJCXBhZ2VZID0gdGhpcy5jb250YWlubWVudCA/DQoJCQkJCSggKCB0b3AgLSB0aGlzLm9mZnNldC5jbGljay50b3AgPj0gdGhpcy5jb250YWlubWVudFsgMSBdICYmDQoJCQkJCQl0b3AgLSB0aGlzLm9mZnNldC5jbGljay50b3AgPD0gdGhpcy5jb250YWlubWVudFsgMyBdICkgPw0KCQkJCQkJCXRvcCA6DQoJCQkJCQkJKCAoIHRvcCAtIHRoaXMub2Zmc2V0LmNsaWNrLnRvcCA+PSB0aGlzLmNvbnRhaW5tZW50WyAxIF0gKSA/DQoJCQkJCQkJCXRvcCAtIG8uZ3JpZFsgMSBdIDogdG9wICsgby5ncmlkWyAxIF0gKSApIDoNCgkJCQkJCQkJdG9wOw0KDQoJCQkJbGVmdCA9IHRoaXMub3JpZ2luYWxQYWdlWCArIE1hdGgucm91bmQoICggcGFnZVggLSB0aGlzLm9yaWdpbmFsUGFnZVggKSAvDQoJCQkJCW8uZ3JpZFsgMCBdICkgKiBvLmdyaWRbIDAgXTsNCgkJCQlwYWdlWCA9IHRoaXMuY29udGFpbm1lbnQgPw0KCQkJCQkoICggbGVmdCAtIHRoaXMub2Zmc2V0LmNsaWNrLmxlZnQgPj0gdGhpcy5jb250YWlubWVudFsgMCBdICYmDQoJCQkJCQlsZWZ0IC0gdGhpcy5vZmZzZXQuY2xpY2subGVmdCA8PSB0aGlzLmNvbnRhaW5tZW50WyAyIF0gKSA/DQoJCQkJCQkJbGVmdCA6DQoJCQkJCQkJKCAoIGxlZnQgLSB0aGlzLm9mZnNldC5jbGljay5sZWZ0ID49IHRoaXMuY29udGFpbm1lbnRbIDAgXSApID8NCgkJCQkJCQkJbGVmdCAtIG8uZ3JpZFsgMCBdIDogbGVmdCArIG8uZ3JpZFsgMCBdICkgKSA6DQoJCQkJCQkJCWxlZnQ7DQoJCQl9DQoNCgkJfQ0KDQoJCXJldHVybiB7DQoJCQl0b3A6ICgNCg0KCQkJCS8vIFRoZSBhYnNvbHV0ZSBtb3VzZSBwb3NpdGlvbg0KCQkJCXBhZ2VZIC0NCg0KCQkJCS8vIENsaWNrIG9mZnNldCAocmVsYXRpdmUgdG8gdGhlIGVsZW1lbnQpDQoJCQkJdGhpcy5vZmZzZXQuY2xpY2sudG9wIC0NCg0KCQkJCS8vIE9ubHkgZm9yIHJlbGF0aXZlIHBvc2l0aW9uZWQgbm9kZXM6IFJlbGF0aXZlIG9mZnNldCBmcm9tIGVsZW1lbnQgdG8gb2Zmc2V0IHBhcmVudA0KCQkJCXRoaXMub2Zmc2V0LnJlbGF0aXZlLnRvcCAtDQoNCgkJCQkvLyBUaGUgb2Zmc2V0UGFyZW50J3Mgb2Zmc2V0IHdpdGhvdXQgYm9yZGVycyAob2Zmc2V0ICsgYm9yZGVyKQ0KCQkJCXRoaXMub2Zmc2V0LnBhcmVudC50b3AgKw0KCQkJCSggKCB0aGlzLmNzc1Bvc2l0aW9uID09PSAiZml4ZWQiID8NCgkJCQkJLXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgpIDoNCgkJCQkJKCBzY3JvbGxJc1Jvb3ROb2RlID8gMCA6IHNjcm9sbC5zY3JvbGxUb3AoKSApICkgKQ0KCQkJKSwNCgkJCWxlZnQ6ICgNCg0KCQkJCS8vIFRoZSBhYnNvbHV0ZSBtb3VzZSBwb3NpdGlvbg0KCQkJCXBhZ2VYIC0NCg0KCQkJCS8vIENsaWNrIG9mZnNldCAocmVsYXRpdmUgdG8gdGhlIGVsZW1lbnQpDQoJCQkJdGhpcy5vZmZzZXQuY2xpY2subGVmdCAtDQoNCgkJCQkvLyBPbmx5IGZvciByZWxhdGl2ZSBwb3NpdGlvbmVkIG5vZGVzOiBSZWxhdGl2ZSBvZmZzZXQgZnJvbSBlbGVtZW50IHRvIG9mZnNldCBwYXJlbnQNCgkJCQl0aGlzLm9mZnNldC5yZWxhdGl2ZS5sZWZ0IC0NCg0KCQkJCS8vIFRoZSBvZmZzZXRQYXJlbnQncyBvZmZzZXQgd2l0aG91dCBib3JkZXJzIChvZmZzZXQgKyBib3JkZXIpDQoJCQkJdGhpcy5vZmZzZXQucGFyZW50LmxlZnQgKw0KCQkJCSggKCB0aGlzLmNzc1Bvc2l0aW9uID09PSAiZml4ZWQiID8NCgkJCQkJLXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQoKSA6DQoJCQkJCXNjcm9sbElzUm9vdE5vZGUgPyAwIDogc2Nyb2xsLnNjcm9sbExlZnQoKSApICkNCgkJCSkNCgkJfTsNCg0KCX0sDQoNCglfcmVhcnJhbmdlOiBmdW5jdGlvbiggZXZlbnQsIGksIGEsIGhhcmRSZWZyZXNoICkgew0KDQoJCWEgPyBhWyAwIF0uYXBwZW5kQ2hpbGQoIHRoaXMucGxhY2Vob2xkZXJbIDAgXSApIDoNCgkJCWkuaXRlbVsgMCBdLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKCB0aGlzLnBsYWNlaG9sZGVyWyAwIF0sDQoJCQkJKCB0aGlzLmRpcmVjdGlvbiA9PT0gImRvd24iID8gaS5pdGVtWyAwIF0gOiBpLml0ZW1bIDAgXS5uZXh0U2libGluZyApICk7DQoNCgkJLy9WYXJpb3VzIHRoaW5ncyBkb25lIGhlcmUgdG8gaW1wcm92ZSB0aGUgcGVyZm9ybWFuY2U6DQoJCS8vIDEuIHdlIGNyZWF0ZSBhIHNldFRpbWVvdXQsIHRoYXQgY2FsbHMgcmVmcmVzaFBvc2l0aW9ucw0KCQkvLyAyLiBvbiB0aGUgaW5zdGFuY2UsIHdlIGhhdmUgYSBjb3VudGVyIHZhcmlhYmxlLCB0aGF0IGdldCdzIGhpZ2hlciBhZnRlciBldmVyeSBhcHBlbmQNCgkJLy8gMy4gb24gdGhlIGxvY2FsIHNjb3BlLCB3ZSBjb3B5IHRoZSBjb3VudGVyIHZhcmlhYmxlLCBhbmQgY2hlY2sgaW4gdGhlIHRpbWVvdXQsDQoJCS8vIGlmIGl0J3Mgc3RpbGwgdGhlIHNhbWUNCgkJLy8gNC4gdGhpcyBsZXRzIG9ubHkgdGhlIGxhc3QgYWRkaXRpb24gdG8gdGhlIHRpbWVvdXQgc3RhY2sgdGhyb3VnaA0KCQl0aGlzLmNvdW50ZXIgPSB0aGlzLmNvdW50ZXIgPyArK3RoaXMuY291bnRlciA6IDE7DQoJCXZhciBjb3VudGVyID0gdGhpcy5jb3VudGVyOw0KDQoJCXRoaXMuX2RlbGF5KCBmdW5jdGlvbigpIHsNCgkJCWlmICggY291bnRlciA9PT0gdGhpcy5jb3VudGVyICkgew0KDQoJCQkJLy9QcmVjb21wdXRlIGFmdGVyIGVhY2ggRE9NIGluc2VydGlvbiwgTk9UIG9uIG1vdXNlbW92ZQ0KCQkJCXRoaXMucmVmcmVzaFBvc2l0aW9ucyggIWhhcmRSZWZyZXNoICk7DQoJCQl9DQoJCX0gKTsNCg0KCX0sDQoNCglfY2xlYXI6IGZ1bmN0aW9uKCBldmVudCwgbm9Qcm9wYWdhdGlvbiApIHsNCg0KCQl0aGlzLnJldmVydGluZyA9IGZhbHNlOw0KDQoJCS8vIFdlIGRlbGF5IGFsbCBldmVudHMgdGhhdCBoYXZlIHRvIGJlIHRyaWdnZXJlZCB0byBhZnRlciB0aGUgcG9pbnQgd2hlcmUgdGhlIHBsYWNlaG9sZGVyDQoJCS8vIGhhcyBiZWVuIHJlbW92ZWQgYW5kIGV2ZXJ5dGhpbmcgZWxzZSBub3JtYWxpemVkIGFnYWluDQoJCXZhciBpLA0KCQkJZGVsYXllZFRyaWdnZXJzID0gW107DQoNCgkJLy8gV2UgZmlyc3QgaGF2ZSB0byB1cGRhdGUgdGhlIGRvbSBwb3NpdGlvbiBvZiB0aGUgYWN0dWFsIGN1cnJlbnRJdGVtDQoJCS8vIE5vdGU6IGRvbid0IGRvIGl0IGlmIHRoZSBjdXJyZW50IGl0ZW0gaXMgYWxyZWFkeSByZW1vdmVkIChieSBhIHVzZXIpLCBvciBpdCBnZXRzDQoJCS8vIHJlYXBwZW5kZWQgKHNlZSAjNDA4OCkNCgkJaWYgKCAhdGhpcy5fbm9GaW5hbFNvcnQgJiYgdGhpcy5jdXJyZW50SXRlbS5wYXJlbnQoKS5sZW5ndGggKSB7DQoJCQl0aGlzLnBsYWNlaG9sZGVyLmJlZm9yZSggdGhpcy5jdXJyZW50SXRlbSApOw0KCQl9DQoJCXRoaXMuX25vRmluYWxTb3J0ID0gbnVsbDsNCg0KCQlpZiAoIHRoaXMuaGVscGVyWyAwIF0gPT09IHRoaXMuY3VycmVudEl0ZW1bIDAgXSApIHsNCgkJCWZvciAoIGkgaW4gdGhpcy5fc3RvcmVkQ1NTICkgew0KCQkJCWlmICggdGhpcy5fc3RvcmVkQ1NTWyBpIF0gPT09ICJhdXRvIiB8fCB0aGlzLl9zdG9yZWRDU1NbIGkgXSA9PT0gInN0YXRpYyIgKSB7DQoJCQkJCXRoaXMuX3N0b3JlZENTU1sgaSBdID0gIiI7DQoJCQkJfQ0KCQkJfQ0KCQkJdGhpcy5jdXJyZW50SXRlbS5jc3MoIHRoaXMuX3N0b3JlZENTUyApOw0KCQkJdGhpcy5fcmVtb3ZlQ2xhc3MoIHRoaXMuY3VycmVudEl0ZW0sICJ1aS1zb3J0YWJsZS1oZWxwZXIiICk7DQoJCX0gZWxzZSB7DQoJCQl0aGlzLmN1cnJlbnRJdGVtLnNob3coKTsNCgkJfQ0KDQoJCWlmICggdGhpcy5mcm9tT3V0c2lkZSAmJiAhbm9Qcm9wYWdhdGlvbiApIHsNCgkJCWRlbGF5ZWRUcmlnZ2Vycy5wdXNoKCBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQkJdGhpcy5fdHJpZ2dlciggInJlY2VpdmUiLCBldmVudCwgdGhpcy5fdWlIYXNoKCB0aGlzLmZyb21PdXRzaWRlICkgKTsNCgkJCX0gKTsNCgkJfQ0KCQlpZiAoICggdGhpcy5mcm9tT3V0c2lkZSB8fA0KCQkJCXRoaXMuZG9tUG9zaXRpb24ucHJldiAhPT0NCgkJCQl0aGlzLmN1cnJlbnRJdGVtLnByZXYoKS5ub3QoICIudWktc29ydGFibGUtaGVscGVyIiApWyAwIF0gfHwNCgkJCQl0aGlzLmRvbVBvc2l0aW9uLnBhcmVudCAhPT0gdGhpcy5jdXJyZW50SXRlbS5wYXJlbnQoKVsgMCBdICkgJiYgIW5vUHJvcGFnYXRpb24gKSB7DQoNCgkJCS8vIFRyaWdnZXIgdXBkYXRlIGNhbGxiYWNrIGlmIHRoZSBET00gcG9zaXRpb24gaGFzIGNoYW5nZWQNCgkJCWRlbGF5ZWRUcmlnZ2Vycy5wdXNoKCBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQkJdGhpcy5fdHJpZ2dlciggInVwZGF0ZSIsIGV2ZW50LCB0aGlzLl91aUhhc2goKSApOw0KCQkJfSApOw0KCQl9DQoNCgkJLy8gQ2hlY2sgaWYgdGhlIGl0ZW1zIENvbnRhaW5lciBoYXMgQ2hhbmdlZCBhbmQgdHJpZ2dlciBhcHByb3ByaWF0ZQ0KCQkvLyBldmVudHMuDQoJCWlmICggdGhpcyAhPT0gdGhpcy5jdXJyZW50Q29udGFpbmVyICkgew0KCQkJaWYgKCAhbm9Qcm9wYWdhdGlvbiApIHsNCgkJCQlkZWxheWVkVHJpZ2dlcnMucHVzaCggZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCQl0aGlzLl90cmlnZ2VyKCAicmVtb3ZlIiwgZXZlbnQsIHRoaXMuX3VpSGFzaCgpICk7DQoJCQkJfSApOw0KCQkJCWRlbGF5ZWRUcmlnZ2Vycy5wdXNoKCAoIGZ1bmN0aW9uKCBjICkgew0KCQkJCQlyZXR1cm4gZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCQkJYy5fdHJpZ2dlciggInJlY2VpdmUiLCBldmVudCwgdGhpcy5fdWlIYXNoKCB0aGlzICkgKTsNCgkJCQkJfTsNCgkJCQl9ICkuY2FsbCggdGhpcywgdGhpcy5jdXJyZW50Q29udGFpbmVyICkgKTsNCgkJCQlkZWxheWVkVHJpZ2dlcnMucHVzaCggKCBmdW5jdGlvbiggYyApIHsNCgkJCQkJcmV0dXJuIGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCQkJCWMuX3RyaWdnZXIoICJ1cGRhdGUiLCBldmVudCwgdGhpcy5fdWlIYXNoKCB0aGlzICkgKTsNCgkJCQkJfTsNCgkJCQl9ICkuY2FsbCggdGhpcywgdGhpcy5jdXJyZW50Q29udGFpbmVyICkgKTsNCgkJCX0NCgkJfQ0KDQoJCS8vUG9zdCBldmVudHMgdG8gY29udGFpbmVycw0KCQlmdW5jdGlvbiBkZWxheUV2ZW50KCB0eXBlLCBpbnN0YW5jZSwgY29udGFpbmVyICkgew0KCQkJcmV0dXJuIGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCQljb250YWluZXIuX3RyaWdnZXIoIHR5cGUsIGV2ZW50LCBpbnN0YW5jZS5fdWlIYXNoKCBpbnN0YW5jZSApICk7DQoJCQl9Ow0KCQl9DQoJCWZvciAoIGkgPSB0aGlzLmNvbnRhaW5lcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0gKSB7DQoJCQlpZiAoICFub1Byb3BhZ2F0aW9uICkgew0KCQkJCWRlbGF5ZWRUcmlnZ2Vycy5wdXNoKCBkZWxheUV2ZW50KCAiZGVhY3RpdmF0ZSIsIHRoaXMsIHRoaXMuY29udGFpbmVyc1sgaSBdICkgKTsNCgkJCX0NCgkJCWlmICggdGhpcy5jb250YWluZXJzWyBpIF0uY29udGFpbmVyQ2FjaGUub3ZlciApIHsNCgkJCQlkZWxheWVkVHJpZ2dlcnMucHVzaCggZGVsYXlFdmVudCggIm91dCIsIHRoaXMsIHRoaXMuY29udGFpbmVyc1sgaSBdICkgKTsNCgkJCQl0aGlzLmNvbnRhaW5lcnNbIGkgXS5jb250YWluZXJDYWNoZS5vdmVyID0gMDsNCgkJCX0NCgkJfQ0KDQoJCS8vRG8gd2hhdCB3YXMgb3JpZ2luYWxseSBpbiBwbHVnaW5zDQoJCWlmICggdGhpcy5zdG9yZWRDdXJzb3IgKSB7DQoJCQl0aGlzLmRvY3VtZW50LmZpbmQoICJib2R5IiApLmNzcyggImN1cnNvciIsIHRoaXMuc3RvcmVkQ3Vyc29yICk7DQoJCQl0aGlzLnN0b3JlZFN0eWxlc2hlZXQucmVtb3ZlKCk7DQoJCX0NCgkJaWYgKCB0aGlzLl9zdG9yZWRPcGFjaXR5ICkgew0KCQkJdGhpcy5oZWxwZXIuY3NzKCAib3BhY2l0eSIsIHRoaXMuX3N0b3JlZE9wYWNpdHkgKTsNCgkJfQ0KCQlpZiAoIHRoaXMuX3N0b3JlZFpJbmRleCApIHsNCgkJCXRoaXMuaGVscGVyLmNzcyggInpJbmRleCIsIHRoaXMuX3N0b3JlZFpJbmRleCA9PT0gImF1dG8iID8gIiIgOiB0aGlzLl9zdG9yZWRaSW5kZXggKTsNCgkJfQ0KDQoJCXRoaXMuZHJhZ2dpbmcgPSBmYWxzZTsNCg0KCQlpZiAoICFub1Byb3BhZ2F0aW9uICkgew0KCQkJdGhpcy5fdHJpZ2dlciggImJlZm9yZVN0b3AiLCBldmVudCwgdGhpcy5fdWlIYXNoKCkgKTsNCgkJfQ0KDQoJCS8vJCh0aGlzLnBsYWNlaG9sZGVyWzBdKS5yZW1vdmUoKTsgd291bGQgaGF2ZSBiZWVuIHRoZSBqUXVlcnkgd2F5IC0gdW5mb3J0dW5hdGVseSwNCgkJLy8gaXQgdW5iaW5kcyBBTEwgZXZlbnRzIGZyb20gdGhlIG9yaWdpbmFsIG5vZGUhDQoJCXRoaXMucGxhY2Vob2xkZXJbIDAgXS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKCB0aGlzLnBsYWNlaG9sZGVyWyAwIF0gKTsNCg0KCQlpZiAoICF0aGlzLmNhbmNlbEhlbHBlclJlbW92YWwgKSB7DQoJCQlpZiAoIHRoaXMuaGVscGVyWyAwIF0gIT09IHRoaXMuY3VycmVudEl0ZW1bIDAgXSApIHsNCgkJCQl0aGlzLmhlbHBlci5yZW1vdmUoKTsNCgkJCX0NCgkJCXRoaXMuaGVscGVyID0gbnVsbDsNCgkJfQ0KDQoJCWlmICggIW5vUHJvcGFnYXRpb24gKSB7DQoJCQlmb3IgKCBpID0gMDsgaSA8IGRlbGF5ZWRUcmlnZ2Vycy5sZW5ndGg7IGkrKyApIHsNCg0KCQkJCS8vIFRyaWdnZXIgYWxsIGRlbGF5ZWQgZXZlbnRzDQoJCQkJZGVsYXllZFRyaWdnZXJzWyBpIF0uY2FsbCggdGhpcywgZXZlbnQgKTsNCgkJCX0NCgkJCXRoaXMuX3RyaWdnZXIoICJzdG9wIiwgZXZlbnQsIHRoaXMuX3VpSGFzaCgpICk7DQoJCX0NCg0KCQl0aGlzLmZyb21PdXRzaWRlID0gZmFsc2U7DQoJCXJldHVybiAhdGhpcy5jYW5jZWxIZWxwZXJSZW1vdmFsOw0KDQoJfSwNCg0KCV90cmlnZ2VyOiBmdW5jdGlvbigpIHsNCgkJaWYgKCAkLldpZGdldC5wcm90b3R5cGUuX3RyaWdnZXIuYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApID09PSBmYWxzZSApIHsNCgkJCXRoaXMuY2FuY2VsKCk7DQoJCX0NCgl9LA0KDQoJX3VpSGFzaDogZnVuY3Rpb24oIF9pbnN0ICkgew0KCQl2YXIgaW5zdCA9IF9pbnN0IHx8IHRoaXM7DQoJCXJldHVybiB7DQoJCQloZWxwZXI6IGluc3QuaGVscGVyLA0KCQkJcGxhY2Vob2xkZXI6IGluc3QucGxhY2Vob2xkZXIgfHwgJCggW10gKSwNCgkJCXBvc2l0aW9uOiBpbnN0LnBvc2l0aW9uLA0KCQkJb3JpZ2luYWxQb3NpdGlvbjogaW5zdC5vcmlnaW5hbFBvc2l0aW9uLA0KCQkJb2Zmc2V0OiBpbnN0LnBvc2l0aW9uQWJzLA0KCQkJaXRlbTogaW5zdC5jdXJyZW50SXRlbSwNCgkJCXNlbmRlcjogX2luc3QgPyBfaW5zdC5lbGVtZW50IDogbnVsbA0KCQl9Ow0KCX0NCg0KfSApOw0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIFNwaW5uZXIgMS4xMi4xDQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqLw0KDQovLz4+bGFiZWw6IFNwaW5uZXINCi8vPj5ncm91cDogV2lkZ2V0cw0KLy8+PmRlc2NyaXB0aW9uOiBEaXNwbGF5cyBidXR0b25zIHRvIGVhc2lseSBpbnB1dCBudW1iZXJzIHZpYSB0aGUga2V5Ym9hcmQgb3IgbW91c2UuDQovLz4+ZG9jczogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vc3Bpbm5lci8NCi8vPj5kZW1vczogaHR0cDovL2pxdWVyeXVpLmNvbS9zcGlubmVyLw0KLy8+PmNzcy5zdHJ1Y3R1cmU6IC4uLy4uL3RoZW1lcy9iYXNlL2NvcmUuY3NzDQovLz4+Y3NzLnN0cnVjdHVyZTogLi4vLi4vdGhlbWVzL2Jhc2Uvc3Bpbm5lci5jc3MNCi8vPj5jc3MudGhlbWU6IC4uLy4uL3RoZW1lcy9iYXNlL3RoZW1lLmNzcw0KDQoNCg0KZnVuY3Rpb24gc3Bpbm5lck1vZGlmZXIoIGZuICkgew0KCXJldHVybiBmdW5jdGlvbigpIHsNCgkJdmFyIHByZXZpb3VzID0gdGhpcy5lbGVtZW50LnZhbCgpOw0KCQlmbi5hcHBseSggdGhpcywgYXJndW1lbnRzICk7DQoJCXRoaXMuX3JlZnJlc2goKTsNCgkJaWYgKCBwcmV2aW91cyAhPT0gdGhpcy5lbGVtZW50LnZhbCgpICkgew0KCQkJdGhpcy5fdHJpZ2dlciggImNoYW5nZSIgKTsNCgkJfQ0KCX07DQp9DQoNCiQud2lkZ2V0KCAidWkuc3Bpbm5lciIsIHsNCgl2ZXJzaW9uOiAiMS4xMi4xIiwNCglkZWZhdWx0RWxlbWVudDogIjxpbnB1dD4iLA0KCXdpZGdldEV2ZW50UHJlZml4OiAic3BpbiIsDQoJb3B0aW9uczogew0KCQljbGFzc2VzOiB7DQoJCQkidWktc3Bpbm5lciI6ICJ1aS1jb3JuZXItYWxsIiwNCgkJCSJ1aS1zcGlubmVyLWRvd24iOiAidWktY29ybmVyLWJyIiwNCgkJCSJ1aS1zcGlubmVyLXVwIjogInVpLWNvcm5lci10ciINCgkJfSwNCgkJY3VsdHVyZTogbnVsbCwNCgkJaWNvbnM6IHsNCgkJCWRvd246ICJ1aS1pY29uLXRyaWFuZ2xlLTEtcyIsDQoJCQl1cDogInVpLWljb24tdHJpYW5nbGUtMS1uIg0KCQl9LA0KCQlpbmNyZW1lbnRhbDogdHJ1ZSwNCgkJbWF4OiBudWxsLA0KCQltaW46IG51bGwsDQoJCW51bWJlckZvcm1hdDogbnVsbCwNCgkJcGFnZTogMTAsDQoJCXN0ZXA6IDEsDQoNCgkJY2hhbmdlOiBudWxsLA0KCQlzcGluOiBudWxsLA0KCQlzdGFydDogbnVsbCwNCgkJc3RvcDogbnVsbA0KCX0sDQoNCglfY3JlYXRlOiBmdW5jdGlvbigpIHsNCg0KCQkvLyBoYW5kbGUgc3RyaW5nIHZhbHVlcyB0aGF0IG5lZWQgdG8gYmUgcGFyc2VkDQoJCXRoaXMuX3NldE9wdGlvbiggIm1heCIsIHRoaXMub3B0aW9ucy5tYXggKTsNCgkJdGhpcy5fc2V0T3B0aW9uKCAibWluIiwgdGhpcy5vcHRpb25zLm1pbiApOw0KCQl0aGlzLl9zZXRPcHRpb24oICJzdGVwIiwgdGhpcy5vcHRpb25zLnN0ZXAgKTsNCg0KCQkvLyBPbmx5IGZvcm1hdCBpZiB0aGVyZSBpcyBhIHZhbHVlLCBwcmV2ZW50cyB0aGUgZmllbGQgZnJvbSBiZWluZyBtYXJrZWQNCgkJLy8gYXMgaW52YWxpZCBpbiBGaXJlZm94LCBzZWUgIzk1NzMuDQoJCWlmICggdGhpcy52YWx1ZSgpICE9PSAiIiApIHsNCg0KCQkJLy8gRm9ybWF0IHRoZSB2YWx1ZSwgYnV0IGRvbid0IGNvbnN0cmFpbi4NCgkJCXRoaXMuX3ZhbHVlKCB0aGlzLmVsZW1lbnQudmFsKCksIHRydWUgKTsNCgkJfQ0KDQoJCXRoaXMuX2RyYXcoKTsNCgkJdGhpcy5fb24oIHRoaXMuX2V2ZW50cyApOw0KCQl0aGlzLl9yZWZyZXNoKCk7DQoNCgkJLy8gVHVybmluZyBvZmYgYXV0b2NvbXBsZXRlIHByZXZlbnRzIHRoZSBicm93c2VyIGZyb20gcmVtZW1iZXJpbmcgdGhlDQoJCS8vIHZhbHVlIHdoZW4gbmF2aWdhdGluZyB0aHJvdWdoIGhpc3RvcnksIHNvIHdlIHJlLWVuYWJsZSBhdXRvY29tcGxldGUNCgkJLy8gaWYgdGhlIHBhZ2UgaXMgdW5sb2FkZWQgYmVmb3JlIHRoZSB3aWRnZXQgaXMgZGVzdHJveWVkLiAjNzc5MA0KCQl0aGlzLl9vbiggdGhpcy53aW5kb3csIHsNCgkJCWJlZm9yZXVubG9hZDogZnVuY3Rpb24oKSB7DQoJCQkJdGhpcy5lbGVtZW50LnJlbW92ZUF0dHIoICJhdXRvY29tcGxldGUiICk7DQoJCQl9DQoJCX0gKTsNCgl9LA0KDQoJX2dldENyZWF0ZU9wdGlvbnM6IGZ1bmN0aW9uKCkgew0KCQl2YXIgb3B0aW9ucyA9IHRoaXMuX3N1cGVyKCk7DQoJCXZhciBlbGVtZW50ID0gdGhpcy5lbGVtZW50Ow0KDQoJCSQuZWFjaCggWyAibWluIiwgIm1heCIsICJzdGVwIiBdLCBmdW5jdGlvbiggaSwgb3B0aW9uICkgew0KCQkJdmFyIHZhbHVlID0gZWxlbWVudC5hdHRyKCBvcHRpb24gKTsNCgkJCWlmICggdmFsdWUgIT0gbnVsbCAmJiB2YWx1ZS5sZW5ndGggKSB7DQoJCQkJb3B0aW9uc1sgb3B0aW9uIF0gPSB2YWx1ZTsNCgkJCX0NCgkJfSApOw0KDQoJCXJldHVybiBvcHRpb25zOw0KCX0sDQoNCglfZXZlbnRzOiB7DQoJCWtleWRvd246IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCWlmICggdGhpcy5fc3RhcnQoIGV2ZW50ICkgJiYgdGhpcy5fa2V5ZG93biggZXZlbnQgKSApIHsNCgkJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJfQ0KCQl9LA0KCQlrZXl1cDogIl9zdG9wIiwNCgkJZm9jdXM6IGZ1bmN0aW9uKCkgew0KCQkJdGhpcy5wcmV2aW91cyA9IHRoaXMuZWxlbWVudC52YWwoKTsNCgkJfSwNCgkJYmx1cjogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJaWYgKCB0aGlzLmNhbmNlbEJsdXIgKSB7DQoJCQkJZGVsZXRlIHRoaXMuY2FuY2VsQmx1cjsNCgkJCQlyZXR1cm47DQoJCQl9DQoNCgkJCXRoaXMuX3N0b3AoKTsNCgkJCXRoaXMuX3JlZnJlc2goKTsNCgkJCWlmICggdGhpcy5wcmV2aW91cyAhPT0gdGhpcy5lbGVtZW50LnZhbCgpICkgew0KCQkJCXRoaXMuX3RyaWdnZXIoICJjaGFuZ2UiLCBldmVudCApOw0KCQkJfQ0KCQl9LA0KCQltb3VzZXdoZWVsOiBmdW5jdGlvbiggZXZlbnQsIGRlbHRhICkgew0KCQkJaWYgKCAhZGVsdGEgKSB7DQoJCQkJcmV0dXJuOw0KCQkJfQ0KCQkJaWYgKCAhdGhpcy5zcGlubmluZyAmJiAhdGhpcy5fc3RhcnQoIGV2ZW50ICkgKSB7DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfQ0KDQoJCQl0aGlzLl9zcGluKCAoIGRlbHRhID4gMCA/IDEgOiAtMSApICogdGhpcy5vcHRpb25zLnN0ZXAsIGV2ZW50ICk7DQoJCQljbGVhclRpbWVvdXQoIHRoaXMubW91c2V3aGVlbFRpbWVyICk7DQoJCQl0aGlzLm1vdXNld2hlZWxUaW1lciA9IHRoaXMuX2RlbGF5KCBmdW5jdGlvbigpIHsNCgkJCQlpZiAoIHRoaXMuc3Bpbm5pbmcgKSB7DQoJCQkJCXRoaXMuX3N0b3AoIGV2ZW50ICk7DQoJCQkJfQ0KCQkJfSwgMTAwICk7DQoJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQl9LA0KCQkibW91c2Vkb3duIC51aS1zcGlubmVyLWJ1dHRvbiI6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCXZhciBwcmV2aW91czsNCg0KCQkJLy8gV2UgbmV2ZXIgd2FudCB0aGUgYnV0dG9ucyB0byBoYXZlIGZvY3VzOyB3aGVuZXZlciB0aGUgdXNlciBpcw0KCQkJLy8gaW50ZXJhY3Rpbmcgd2l0aCB0aGUgc3Bpbm5lciwgdGhlIGZvY3VzIHNob3VsZCBiZSBvbiB0aGUgaW5wdXQuDQoJCQkvLyBJZiB0aGUgaW5wdXQgaXMgZm9jdXNlZCB0aGVuIHRoaXMucHJldmlvdXMgaXMgcHJvcGVybHkgc2V0IGZyb20NCgkJCS8vIHdoZW4gdGhlIGlucHV0IGZpcnN0IHJlY2VpdmVkIGZvY3VzLiBJZiB0aGUgaW5wdXQgaXMgbm90IGZvY3VzZWQNCgkJCS8vIHRoZW4gd2UgbmVlZCB0byBzZXQgdGhpcy5wcmV2aW91cyBiYXNlZCBvbiB0aGUgdmFsdWUgYmVmb3JlIHNwaW5uaW5nLg0KCQkJcHJldmlvdXMgPSB0aGlzLmVsZW1lbnRbIDAgXSA9PT0gJC51aS5zYWZlQWN0aXZlRWxlbWVudCggdGhpcy5kb2N1bWVudFsgMCBdICkgPw0KCQkJCXRoaXMucHJldmlvdXMgOiB0aGlzLmVsZW1lbnQudmFsKCk7DQoJCQlmdW5jdGlvbiBjaGVja0ZvY3VzKCkgew0KCQkJCXZhciBpc0FjdGl2ZSA9IHRoaXMuZWxlbWVudFsgMCBdID09PSAkLnVpLnNhZmVBY3RpdmVFbGVtZW50KCB0aGlzLmRvY3VtZW50WyAwIF0gKTsNCgkJCQlpZiAoICFpc0FjdGl2ZSApIHsNCgkJCQkJdGhpcy5lbGVtZW50LnRyaWdnZXIoICJmb2N1cyIgKTsNCgkJCQkJdGhpcy5wcmV2aW91cyA9IHByZXZpb3VzOw0KDQoJCQkJCS8vIHN1cHBvcnQ6IElFDQoJCQkJCS8vIElFIHNldHMgZm9jdXMgYXN5bmNocm9ub3VzbHksIHNvIHdlIG5lZWQgdG8gY2hlY2sgaWYgZm9jdXMNCgkJCQkJLy8gbW92ZWQgb2ZmIG9mIHRoZSBpbnB1dCBiZWNhdXNlIHRoZSB1c2VyIGNsaWNrZWQgb24gdGhlIGJ1dHRvbi4NCgkJCQkJdGhpcy5fZGVsYXkoIGZ1bmN0aW9uKCkgew0KCQkJCQkJdGhpcy5wcmV2aW91cyA9IHByZXZpb3VzOw0KCQkJCQl9ICk7DQoJCQkJfQ0KCQkJfQ0KDQoJCQkvLyBFbnN1cmUgZm9jdXMgaXMgb24gKG9yIHN0YXlzIG9uKSB0aGUgdGV4dCBmaWVsZA0KCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCgkJCWNoZWNrRm9jdXMuY2FsbCggdGhpcyApOw0KDQoJCQkvLyBTdXBwb3J0OiBJRQ0KCQkJLy8gSUUgZG9lc24ndCBwcmV2ZW50IG1vdmluZyBmb2N1cyBldmVuIHdpdGggZXZlbnQucHJldmVudERlZmF1bHQoKQ0KCQkJLy8gc28gd2Ugc2V0IGEgZmxhZyB0byBrbm93IHdoZW4gd2Ugc2hvdWxkIGlnbm9yZSB0aGUgYmx1ciBldmVudA0KCQkJLy8gYW5kIGNoZWNrIChhZ2FpbikgaWYgZm9jdXMgbW92ZWQgb2ZmIG9mIHRoZSBpbnB1dC4NCgkJCXRoaXMuY2FuY2VsQmx1ciA9IHRydWU7DQoJCQl0aGlzLl9kZWxheSggZnVuY3Rpb24oKSB7DQoJCQkJZGVsZXRlIHRoaXMuY2FuY2VsQmx1cjsNCgkJCQljaGVja0ZvY3VzLmNhbGwoIHRoaXMgKTsNCgkJCX0gKTsNCg0KCQkJaWYgKCB0aGlzLl9zdGFydCggZXZlbnQgKSA9PT0gZmFsc2UgKSB7DQoJCQkJcmV0dXJuOw0KCQkJfQ0KDQoJCQl0aGlzLl9yZXBlYXQoIG51bGwsICQoIGV2ZW50LmN1cnJlbnRUYXJnZXQgKQ0KCQkJCS5oYXNDbGFzcyggInVpLXNwaW5uZXItdXAiICkgPyAxIDogLTEsIGV2ZW50ICk7DQoJCX0sDQoJCSJtb3VzZXVwIC51aS1zcGlubmVyLWJ1dHRvbiI6ICJfc3RvcCIsDQoJCSJtb3VzZWVudGVyIC51aS1zcGlubmVyLWJ1dHRvbiI6IGZ1bmN0aW9uKCBldmVudCApIHsNCg0KCQkJLy8gYnV0dG9uIHdpbGwgYWRkIHVpLXN0YXRlLWFjdGl2ZSBpZiBtb3VzZSB3YXMgZG93biB3aGlsZSBtb3VzZWxlYXZlIGFuZCBrZXB0IGRvd24NCgkJCWlmICggISQoIGV2ZW50LmN1cnJlbnRUYXJnZXQgKS5oYXNDbGFzcyggInVpLXN0YXRlLWFjdGl2ZSIgKSApIHsNCgkJCQlyZXR1cm47DQoJCQl9DQoNCgkJCWlmICggdGhpcy5fc3RhcnQoIGV2ZW50ICkgPT09IGZhbHNlICkgew0KCQkJCXJldHVybiBmYWxzZTsNCgkJCX0NCgkJCXRoaXMuX3JlcGVhdCggbnVsbCwgJCggZXZlbnQuY3VycmVudFRhcmdldCApDQoJCQkJLmhhc0NsYXNzKCAidWktc3Bpbm5lci11cCIgKSA/IDEgOiAtMSwgZXZlbnQgKTsNCgkJfSwNCg0KCQkvLyBUT0RPOiBkbyB3ZSByZWFsbHkgd2FudCB0byBjb25zaWRlciB0aGlzIGEgc3RvcD8NCgkJLy8gc2hvdWxkbid0IHdlIGp1c3Qgc3RvcCB0aGUgcmVwZWF0ZXIgYW5kIHdhaXQgdW50aWwgbW91c2V1cCBiZWZvcmUNCgkJLy8gd2UgdHJpZ2dlciB0aGUgc3RvcCBldmVudD8NCgkJIm1vdXNlbGVhdmUgLnVpLXNwaW5uZXItYnV0dG9uIjogIl9zdG9wIg0KCX0sDQoNCgkvLyBTdXBwb3J0IG1vYmlsZSBlbmhhbmNlZCBvcHRpb24gYW5kIG1ha2UgYmFja2NvbXBhdCBtb3JlIHNhbmUNCglfZW5oYW5jZTogZnVuY3Rpb24oKSB7DQoJCXRoaXMudWlTcGlubmVyID0gdGhpcy5lbGVtZW50DQoJCQkuYXR0ciggImF1dG9jb21wbGV0ZSIsICJvZmYiICkNCgkJCS53cmFwKCAiPHNwYW4+IiApDQoJCQkucGFyZW50KCkNCg0KCQkJCS8vIEFkZCBidXR0b25zDQoJCQkJLmFwcGVuZCgNCgkJCQkJIjxhPjwvYT48YT48L2E+Ig0KCQkJCSk7DQoJfSwNCg0KCV9kcmF3OiBmdW5jdGlvbigpIHsNCgkJdGhpcy5fZW5oYW5jZSgpOw0KDQoJCXRoaXMuX2FkZENsYXNzKCB0aGlzLnVpU3Bpbm5lciwgInVpLXNwaW5uZXIiLCAidWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IiApOw0KCQl0aGlzLl9hZGRDbGFzcyggInVpLXNwaW5uZXItaW5wdXQiICk7DQoNCgkJdGhpcy5lbGVtZW50LmF0dHIoICJyb2xlIiwgInNwaW5idXR0b24iICk7DQoNCgkJLy8gQnV0dG9uIGJpbmRpbmdzDQoJCXRoaXMuYnV0dG9ucyA9IHRoaXMudWlTcGlubmVyLmNoaWxkcmVuKCAiYSIgKQ0KCQkJLmF0dHIoICJ0YWJJbmRleCIsIC0xICkNCgkJCS5hdHRyKCAiYXJpYS1oaWRkZW4iLCB0cnVlICkNCgkJCS5idXR0b24oIHsNCgkJCQljbGFzc2VzOiB7DQoJCQkJCSJ1aS1idXR0b24iOiAiIg0KCQkJCX0NCgkJCX0gKTsNCg0KCQkvLyBUT0RPOiBSaWdodCBub3cgYnV0dG9uIGRvZXMgbm90IHN1cHBvcnQgY2xhc3NlcyB0aGlzIGlzIGFscmVhZHkgdXBkYXRlZCBpbiBidXR0b24gUFINCgkJdGhpcy5fcmVtb3ZlQ2xhc3MoIHRoaXMuYnV0dG9ucywgInVpLWNvcm5lci1hbGwiICk7DQoNCgkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMuYnV0dG9ucy5maXJzdCgpLCAidWktc3Bpbm5lci1idXR0b24gdWktc3Bpbm5lci11cCIgKTsNCgkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMuYnV0dG9ucy5sYXN0KCksICJ1aS1zcGlubmVyLWJ1dHRvbiB1aS1zcGlubmVyLWRvd24iICk7DQoJCXRoaXMuYnV0dG9ucy5maXJzdCgpLmJ1dHRvbiggew0KCQkJImljb24iOiB0aGlzLm9wdGlvbnMuaWNvbnMudXAsDQoJCQkic2hvd0xhYmVsIjogZmFsc2UNCgkJfSApOw0KCQl0aGlzLmJ1dHRvbnMubGFzdCgpLmJ1dHRvbiggew0KCQkJImljb24iOiB0aGlzLm9wdGlvbnMuaWNvbnMuZG93biwNCgkJCSJzaG93TGFiZWwiOiBmYWxzZQ0KCQl9ICk7DQoNCgkJLy8gSUUgNiBkb2Vzbid0IHVuZGVyc3RhbmQgaGVpZ2h0OiA1MCUgZm9yIHRoZSBidXR0b25zDQoJCS8vIHVubGVzcyB0aGUgd3JhcHBlciBoYXMgYW4gZXhwbGljaXQgaGVpZ2h0DQoJCWlmICggdGhpcy5idXR0b25zLmhlaWdodCgpID4gTWF0aC5jZWlsKCB0aGlzLnVpU3Bpbm5lci5oZWlnaHQoKSAqIDAuNSApICYmDQoJCQkJdGhpcy51aVNwaW5uZXIuaGVpZ2h0KCkgPiAwICkgew0KCQkJdGhpcy51aVNwaW5uZXIuaGVpZ2h0KCB0aGlzLnVpU3Bpbm5lci5oZWlnaHQoKSApOw0KCQl9DQoJfSwNCg0KCV9rZXlkb3duOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXZhciBvcHRpb25zID0gdGhpcy5vcHRpb25zLA0KCQkJa2V5Q29kZSA9ICQudWkua2V5Q29kZTsNCg0KCQlzd2l0Y2ggKCBldmVudC5rZXlDb2RlICkgew0KCQljYXNlIGtleUNvZGUuVVA6DQoJCQl0aGlzLl9yZXBlYXQoIG51bGwsIDEsIGV2ZW50ICk7DQoJCQlyZXR1cm4gdHJ1ZTsNCgkJY2FzZSBrZXlDb2RlLkRPV046DQoJCQl0aGlzLl9yZXBlYXQoIG51bGwsIC0xLCBldmVudCApOw0KCQkJcmV0dXJuIHRydWU7DQoJCWNhc2Uga2V5Q29kZS5QQUdFX1VQOg0KCQkJdGhpcy5fcmVwZWF0KCBudWxsLCBvcHRpb25zLnBhZ2UsIGV2ZW50ICk7DQoJCQlyZXR1cm4gdHJ1ZTsNCgkJY2FzZSBrZXlDb2RlLlBBR0VfRE9XTjoNCgkJCXRoaXMuX3JlcGVhdCggbnVsbCwgLW9wdGlvbnMucGFnZSwgZXZlbnQgKTsNCgkJCXJldHVybiB0cnVlOw0KCQl9DQoNCgkJcmV0dXJuIGZhbHNlOw0KCX0sDQoNCglfc3RhcnQ6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJaWYgKCAhdGhpcy5zcGlubmluZyAmJiB0aGlzLl90cmlnZ2VyKCAic3RhcnQiLCBldmVudCApID09PSBmYWxzZSApIHsNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KDQoJCWlmICggIXRoaXMuY291bnRlciApIHsNCgkJCXRoaXMuY291bnRlciA9IDE7DQoJCX0NCgkJdGhpcy5zcGlubmluZyA9IHRydWU7DQoJCXJldHVybiB0cnVlOw0KCX0sDQoNCglfcmVwZWF0OiBmdW5jdGlvbiggaSwgc3RlcHMsIGV2ZW50ICkgew0KCQlpID0gaSB8fCA1MDA7DQoNCgkJY2xlYXJUaW1lb3V0KCB0aGlzLnRpbWVyICk7DQoJCXRoaXMudGltZXIgPSB0aGlzLl9kZWxheSggZnVuY3Rpb24oKSB7DQoJCQl0aGlzLl9yZXBlYXQoIDQwLCBzdGVwcywgZXZlbnQgKTsNCgkJfSwgaSApOw0KDQoJCXRoaXMuX3NwaW4oIHN0ZXBzICogdGhpcy5vcHRpb25zLnN0ZXAsIGV2ZW50ICk7DQoJfSwNCg0KCV9zcGluOiBmdW5jdGlvbiggc3RlcCwgZXZlbnQgKSB7DQoJCXZhciB2YWx1ZSA9IHRoaXMudmFsdWUoKSB8fCAwOw0KDQoJCWlmICggIXRoaXMuY291bnRlciApIHsNCgkJCXRoaXMuY291bnRlciA9IDE7DQoJCX0NCg0KCQl2YWx1ZSA9IHRoaXMuX2FkanVzdFZhbHVlKCB2YWx1ZSArIHN0ZXAgKiB0aGlzLl9pbmNyZW1lbnQoIHRoaXMuY291bnRlciApICk7DQoNCgkJaWYgKCAhdGhpcy5zcGlubmluZyB8fCB0aGlzLl90cmlnZ2VyKCAic3BpbiIsIGV2ZW50LCB7IHZhbHVlOiB2YWx1ZSB9ICkgIT09IGZhbHNlICkgew0KCQkJdGhpcy5fdmFsdWUoIHZhbHVlICk7DQoJCQl0aGlzLmNvdW50ZXIrKzsNCgkJfQ0KCX0sDQoNCglfaW5jcmVtZW50OiBmdW5jdGlvbiggaSApIHsNCgkJdmFyIGluY3JlbWVudGFsID0gdGhpcy5vcHRpb25zLmluY3JlbWVudGFsOw0KDQoJCWlmICggaW5jcmVtZW50YWwgKSB7DQoJCQlyZXR1cm4gJC5pc0Z1bmN0aW9uKCBpbmNyZW1lbnRhbCApID8NCgkJCQlpbmNyZW1lbnRhbCggaSApIDoNCgkJCQlNYXRoLmZsb29yKCBpICogaSAqIGkgLyA1MDAwMCAtIGkgKiBpIC8gNTAwICsgMTcgKiBpIC8gMjAwICsgMSApOw0KCQl9DQoNCgkJcmV0dXJuIDE7DQoJfSwNCg0KCV9wcmVjaXNpb246IGZ1bmN0aW9uKCkgew0KCQl2YXIgcHJlY2lzaW9uID0gdGhpcy5fcHJlY2lzaW9uT2YoIHRoaXMub3B0aW9ucy5zdGVwICk7DQoJCWlmICggdGhpcy5vcHRpb25zLm1pbiAhPT0gbnVsbCApIHsNCgkJCXByZWNpc2lvbiA9IE1hdGgubWF4KCBwcmVjaXNpb24sIHRoaXMuX3ByZWNpc2lvbk9mKCB0aGlzLm9wdGlvbnMubWluICkgKTsNCgkJfQ0KCQlyZXR1cm4gcHJlY2lzaW9uOw0KCX0sDQoNCglfcHJlY2lzaW9uT2Y6IGZ1bmN0aW9uKCBudW0gKSB7DQoJCXZhciBzdHIgPSBudW0udG9TdHJpbmcoKSwNCgkJCWRlY2ltYWwgPSBzdHIuaW5kZXhPZiggIi4iICk7DQoJCXJldHVybiBkZWNpbWFsID09PSAtMSA/IDAgOiBzdHIubGVuZ3RoIC0gZGVjaW1hbCAtIDE7DQoJfSwNCg0KCV9hZGp1c3RWYWx1ZTogZnVuY3Rpb24oIHZhbHVlICkgew0KCQl2YXIgYmFzZSwgYWJvdmVNaW4sDQoJCQlvcHRpb25zID0gdGhpcy5vcHRpb25zOw0KDQoJCS8vIE1ha2Ugc3VyZSB3ZSdyZSBhdCBhIHZhbGlkIHN0ZXANCgkJLy8gLSBmaW5kIG91dCB3aGVyZSB3ZSBhcmUgcmVsYXRpdmUgdG8gdGhlIGJhc2UgKG1pbiBvciAwKQ0KCQliYXNlID0gb3B0aW9ucy5taW4gIT09IG51bGwgPyBvcHRpb25zLm1pbiA6IDA7DQoJCWFib3ZlTWluID0gdmFsdWUgLSBiYXNlOw0KDQoJCS8vIC0gcm91bmQgdG8gdGhlIG5lYXJlc3Qgc3RlcA0KCQlhYm92ZU1pbiA9IE1hdGgucm91bmQoIGFib3ZlTWluIC8gb3B0aW9ucy5zdGVwICkgKiBvcHRpb25zLnN0ZXA7DQoNCgkJLy8gLSByb3VuZGluZyBpcyBiYXNlZCBvbiAwLCBzbyBhZGp1c3QgYmFjayB0byBvdXIgYmFzZQ0KCQl2YWx1ZSA9IGJhc2UgKyBhYm92ZU1pbjsNCg0KCQkvLyBGaXggcHJlY2lzaW9uIGZyb20gYmFkIEpTIGZsb2F0aW5nIHBvaW50IG1hdGgNCgkJdmFsdWUgPSBwYXJzZUZsb2F0KCB2YWx1ZS50b0ZpeGVkKCB0aGlzLl9wcmVjaXNpb24oKSApICk7DQoNCgkJLy8gQ2xhbXAgdGhlIHZhbHVlDQoJCWlmICggb3B0aW9ucy5tYXggIT09IG51bGwgJiYgdmFsdWUgPiBvcHRpb25zLm1heCApIHsNCgkJCXJldHVybiBvcHRpb25zLm1heDsNCgkJfQ0KCQlpZiAoIG9wdGlvbnMubWluICE9PSBudWxsICYmIHZhbHVlIDwgb3B0aW9ucy5taW4gKSB7DQoJCQlyZXR1cm4gb3B0aW9ucy5taW47DQoJCX0NCg0KCQlyZXR1cm4gdmFsdWU7DQoJfSwNCg0KCV9zdG9wOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCWlmICggIXRoaXMuc3Bpbm5pbmcgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQljbGVhclRpbWVvdXQoIHRoaXMudGltZXIgKTsNCgkJY2xlYXJUaW1lb3V0KCB0aGlzLm1vdXNld2hlZWxUaW1lciApOw0KCQl0aGlzLmNvdW50ZXIgPSAwOw0KCQl0aGlzLnNwaW5uaW5nID0gZmFsc2U7DQoJCXRoaXMuX3RyaWdnZXIoICJzdG9wIiwgZXZlbnQgKTsNCgl9LA0KDQoJX3NldE9wdGlvbjogZnVuY3Rpb24oIGtleSwgdmFsdWUgKSB7DQoJCXZhciBwcmV2VmFsdWUsIGZpcnN0LCBsYXN0Ow0KDQoJCWlmICgga2V5ID09PSAiY3VsdHVyZSIgfHwga2V5ID09PSAibnVtYmVyRm9ybWF0IiApIHsNCgkJCXByZXZWYWx1ZSA9IHRoaXMuX3BhcnNlKCB0aGlzLmVsZW1lbnQudmFsKCkgKTsNCgkJCXRoaXMub3B0aW9uc1sga2V5IF0gPSB2YWx1ZTsNCgkJCXRoaXMuZWxlbWVudC52YWwoIHRoaXMuX2Zvcm1hdCggcHJldlZhbHVlICkgKTsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCWlmICgga2V5ID09PSAibWF4IiB8fCBrZXkgPT09ICJtaW4iIHx8IGtleSA9PT0gInN0ZXAiICkgew0KCQkJaWYgKCB0eXBlb2YgdmFsdWUgPT09ICJzdHJpbmciICkgew0KCQkJCXZhbHVlID0gdGhpcy5fcGFyc2UoIHZhbHVlICk7DQoJCQl9DQoJCX0NCgkJaWYgKCBrZXkgPT09ICJpY29ucyIgKSB7DQoJCQlmaXJzdCA9IHRoaXMuYnV0dG9ucy5maXJzdCgpLmZpbmQoICIudWktaWNvbiIgKTsNCgkJCXRoaXMuX3JlbW92ZUNsYXNzKCBmaXJzdCwgbnVsbCwgdGhpcy5vcHRpb25zLmljb25zLnVwICk7DQoJCQl0aGlzLl9hZGRDbGFzcyggZmlyc3QsIG51bGwsIHZhbHVlLnVwICk7DQoJCQlsYXN0ID0gdGhpcy5idXR0b25zLmxhc3QoKS5maW5kKCAiLnVpLWljb24iICk7DQoJCQl0aGlzLl9yZW1vdmVDbGFzcyggbGFzdCwgbnVsbCwgdGhpcy5vcHRpb25zLmljb25zLmRvd24gKTsNCgkJCXRoaXMuX2FkZENsYXNzKCBsYXN0LCBudWxsLCB2YWx1ZS5kb3duICk7DQoJCX0NCg0KCQl0aGlzLl9zdXBlcigga2V5LCB2YWx1ZSApOw0KCX0sDQoNCglfc2V0T3B0aW9uRGlzYWJsZWQ6IGZ1bmN0aW9uKCB2YWx1ZSApIHsNCgkJdGhpcy5fc3VwZXIoIHZhbHVlICk7DQoNCgkJdGhpcy5fdG9nZ2xlQ2xhc3MoIHRoaXMudWlTcGlubmVyLCBudWxsLCAidWktc3RhdGUtZGlzYWJsZWQiLCAhIXZhbHVlICk7DQoJCXRoaXMuZWxlbWVudC5wcm9wKCAiZGlzYWJsZWQiLCAhIXZhbHVlICk7DQoJCXRoaXMuYnV0dG9ucy5idXR0b24oIHZhbHVlID8gImRpc2FibGUiIDogImVuYWJsZSIgKTsNCgl9LA0KDQoJX3NldE9wdGlvbnM6IHNwaW5uZXJNb2RpZmVyKCBmdW5jdGlvbiggb3B0aW9ucyApIHsNCgkJdGhpcy5fc3VwZXIoIG9wdGlvbnMgKTsNCgl9ICksDQoNCglfcGFyc2U6IGZ1bmN0aW9uKCB2YWwgKSB7DQoJCWlmICggdHlwZW9mIHZhbCA9PT0gInN0cmluZyIgJiYgdmFsICE9PSAiIiApIHsNCgkJCXZhbCA9IHdpbmRvdy5HbG9iYWxpemUgJiYgdGhpcy5vcHRpb25zLm51bWJlckZvcm1hdCA/DQoJCQkJR2xvYmFsaXplLnBhcnNlRmxvYXQoIHZhbCwgMTAsIHRoaXMub3B0aW9ucy5jdWx0dXJlICkgOiArdmFsOw0KCQl9DQoJCXJldHVybiB2YWwgPT09ICIiIHx8IGlzTmFOKCB2YWwgKSA/IG51bGwgOiB2YWw7DQoJfSwNCg0KCV9mb3JtYXQ6IGZ1bmN0aW9uKCB2YWx1ZSApIHsNCgkJaWYgKCB2YWx1ZSA9PT0gIiIgKSB7DQoJCQlyZXR1cm4gIiI7DQoJCX0NCgkJcmV0dXJuIHdpbmRvdy5HbG9iYWxpemUgJiYgdGhpcy5vcHRpb25zLm51bWJlckZvcm1hdCA/DQoJCQlHbG9iYWxpemUuZm9ybWF0KCB2YWx1ZSwgdGhpcy5vcHRpb25zLm51bWJlckZvcm1hdCwgdGhpcy5vcHRpb25zLmN1bHR1cmUgKSA6DQoJCQl2YWx1ZTsNCgl9LA0KDQoJX3JlZnJlc2g6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLmVsZW1lbnQuYXR0ciggew0KCQkJImFyaWEtdmFsdWVtaW4iOiB0aGlzLm9wdGlvbnMubWluLA0KCQkJImFyaWEtdmFsdWVtYXgiOiB0aGlzLm9wdGlvbnMubWF4LA0KDQoJCQkvLyBUT0RPOiB3aGF0IHNob3VsZCB3ZSBkbyB3aXRoIHZhbHVlcyB0aGF0IGNhbid0IGJlIHBhcnNlZD8NCgkJCSJhcmlhLXZhbHVlbm93IjogdGhpcy5fcGFyc2UoIHRoaXMuZWxlbWVudC52YWwoKSApDQoJCX0gKTsNCgl9LA0KDQoJaXNWYWxpZDogZnVuY3Rpb24oKSB7DQoJCXZhciB2YWx1ZSA9IHRoaXMudmFsdWUoKTsNCg0KCQkvLyBOdWxsIGlzIGludmFsaWQNCgkJaWYgKCB2YWx1ZSA9PT0gbnVsbCApIHsNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KDQoJCS8vIElmIHZhbHVlIGdldHMgYWRqdXN0ZWQsIGl0J3MgaW52YWxpZA0KCQlyZXR1cm4gdmFsdWUgPT09IHRoaXMuX2FkanVzdFZhbHVlKCB2YWx1ZSApOw0KCX0sDQoNCgkvLyBVcGRhdGUgdGhlIHZhbHVlIHdpdGhvdXQgdHJpZ2dlcmluZyBjaGFuZ2UNCglfdmFsdWU6IGZ1bmN0aW9uKCB2YWx1ZSwgYWxsb3dBbnkgKSB7DQoJCXZhciBwYXJzZWQ7DQoJCWlmICggdmFsdWUgIT09ICIiICkgew0KCQkJcGFyc2VkID0gdGhpcy5fcGFyc2UoIHZhbHVlICk7DQoJCQlpZiAoIHBhcnNlZCAhPT0gbnVsbCApIHsNCgkJCQlpZiAoICFhbGxvd0FueSApIHsNCgkJCQkJcGFyc2VkID0gdGhpcy5fYWRqdXN0VmFsdWUoIHBhcnNlZCApOw0KCQkJCX0NCgkJCQl2YWx1ZSA9IHRoaXMuX2Zvcm1hdCggcGFyc2VkICk7DQoJCQl9DQoJCX0NCgkJdGhpcy5lbGVtZW50LnZhbCggdmFsdWUgKTsNCgkJdGhpcy5fcmVmcmVzaCgpOw0KCX0sDQoNCglfZGVzdHJveTogZnVuY3Rpb24oKSB7DQoJCXRoaXMuZWxlbWVudA0KCQkJLnByb3AoICJkaXNhYmxlZCIsIGZhbHNlICkNCgkJCS5yZW1vdmVBdHRyKCAiYXV0b2NvbXBsZXRlIHJvbGUgYXJpYS12YWx1ZW1pbiBhcmlhLXZhbHVlbWF4IGFyaWEtdmFsdWVub3ciICk7DQoNCgkJdGhpcy51aVNwaW5uZXIucmVwbGFjZVdpdGgoIHRoaXMuZWxlbWVudCApOw0KCX0sDQoNCglzdGVwVXA6IHNwaW5uZXJNb2RpZmVyKCBmdW5jdGlvbiggc3RlcHMgKSB7DQoJCXRoaXMuX3N0ZXBVcCggc3RlcHMgKTsNCgl9ICksDQoJX3N0ZXBVcDogZnVuY3Rpb24oIHN0ZXBzICkgew0KCQlpZiAoIHRoaXMuX3N0YXJ0KCkgKSB7DQoJCQl0aGlzLl9zcGluKCAoIHN0ZXBzIHx8IDEgKSAqIHRoaXMub3B0aW9ucy5zdGVwICk7DQoJCQl0aGlzLl9zdG9wKCk7DQoJCX0NCgl9LA0KDQoJc3RlcERvd246IHNwaW5uZXJNb2RpZmVyKCBmdW5jdGlvbiggc3RlcHMgKSB7DQoJCXRoaXMuX3N0ZXBEb3duKCBzdGVwcyApOw0KCX0gKSwNCglfc3RlcERvd246IGZ1bmN0aW9uKCBzdGVwcyApIHsNCgkJaWYgKCB0aGlzLl9zdGFydCgpICkgew0KCQkJdGhpcy5fc3BpbiggKCBzdGVwcyB8fCAxICkgKiAtdGhpcy5vcHRpb25zLnN0ZXAgKTsNCgkJCXRoaXMuX3N0b3AoKTsNCgkJfQ0KCX0sDQoNCglwYWdlVXA6IHNwaW5uZXJNb2RpZmVyKCBmdW5jdGlvbiggcGFnZXMgKSB7DQoJCXRoaXMuX3N0ZXBVcCggKCBwYWdlcyB8fCAxICkgKiB0aGlzLm9wdGlvbnMucGFnZSApOw0KCX0gKSwNCg0KCXBhZ2VEb3duOiBzcGlubmVyTW9kaWZlciggZnVuY3Rpb24oIHBhZ2VzICkgew0KCQl0aGlzLl9zdGVwRG93biggKCBwYWdlcyB8fCAxICkgKiB0aGlzLm9wdGlvbnMucGFnZSApOw0KCX0gKSwNCg0KCXZhbHVlOiBmdW5jdGlvbiggbmV3VmFsICkgew0KCQlpZiAoICFhcmd1bWVudHMubGVuZ3RoICkgew0KCQkJcmV0dXJuIHRoaXMuX3BhcnNlKCB0aGlzLmVsZW1lbnQudmFsKCkgKTsNCgkJfQ0KCQlzcGlubmVyTW9kaWZlciggdGhpcy5fdmFsdWUgKS5jYWxsKCB0aGlzLCBuZXdWYWwgKTsNCgl9LA0KDQoJd2lkZ2V0OiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRoaXMudWlTcGlubmVyOw0KCX0NCn0gKTsNCg0KLy8gREVQUkVDQVRFRA0KLy8gVE9ETzogc3dpdGNoIHJldHVybiBiYWNrIHRvIHdpZGdldCBkZWNsYXJhdGlvbiBhdCB0b3Agb2YgZmlsZSB3aGVuIHRoaXMgaXMgcmVtb3ZlZA0KaWYgKCAkLnVpQmFja0NvbXBhdCAhPT0gZmFsc2UgKSB7DQoNCgkvLyBCYWNrY29tcGF0IGZvciBzcGlubmVyIGh0bWwgZXh0ZW5zaW9uIHBvaW50cw0KCSQud2lkZ2V0KCAidWkuc3Bpbm5lciIsICQudWkuc3Bpbm5lciwgew0KCQlfZW5oYW5jZTogZnVuY3Rpb24oKSB7DQoJCQl0aGlzLnVpU3Bpbm5lciA9IHRoaXMuZWxlbWVudA0KCQkJCS5hdHRyKCAiYXV0b2NvbXBsZXRlIiwgIm9mZiIgKQ0KCQkJCS53cmFwKCB0aGlzLl91aVNwaW5uZXJIdG1sKCkgKQ0KCQkJCS5wYXJlbnQoKQ0KDQoJCQkJCS8vIEFkZCBidXR0b25zDQoJCQkJCS5hcHBlbmQoIHRoaXMuX2J1dHRvbkh0bWwoKSApOw0KCQl9LA0KCQlfdWlTcGlubmVySHRtbDogZnVuY3Rpb24oKSB7DQoJCQlyZXR1cm4gIjxzcGFuPiI7DQoJCX0sDQoNCgkJX2J1dHRvbkh0bWw6IGZ1bmN0aW9uKCkgew0KCQkJcmV0dXJuICI8YT48L2E+PGE+PC9hPiI7DQoJCX0NCgl9ICk7DQp9DQoNCnZhciB3aWRnZXRzU3Bpbm5lciA9ICQudWkuc3Bpbm5lcjsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBUYWJzIDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKi8NCg0KLy8+PmxhYmVsOiBUYWJzDQovLz4+Z3JvdXA6IFdpZGdldHMNCi8vPj5kZXNjcmlwdGlvbjogVHJhbnNmb3JtcyBhIHNldCBvZiBjb250YWluZXIgZWxlbWVudHMgaW50byBhIHRhYiBzdHJ1Y3R1cmUuDQovLz4+ZG9jczogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vdGFicy8NCi8vPj5kZW1vczogaHR0cDovL2pxdWVyeXVpLmNvbS90YWJzLw0KLy8+PmNzcy5zdHJ1Y3R1cmU6IC4uLy4uL3RoZW1lcy9iYXNlL2NvcmUuY3NzDQovLz4+Y3NzLnN0cnVjdHVyZTogLi4vLi4vdGhlbWVzL2Jhc2UvdGFicy5jc3MNCi8vPj5jc3MudGhlbWU6IC4uLy4uL3RoZW1lcy9iYXNlL3RoZW1lLmNzcw0KDQoNCg0KJC53aWRnZXQoICJ1aS50YWJzIiwgew0KCXZlcnNpb246ICIxLjEyLjEiLA0KCWRlbGF5OiAzMDAsDQoJb3B0aW9uczogew0KCQlhY3RpdmU6IG51bGwsDQoJCWNsYXNzZXM6IHsNCgkJCSJ1aS10YWJzIjogInVpLWNvcm5lci1hbGwiLA0KCQkJInVpLXRhYnMtbmF2IjogInVpLWNvcm5lci1hbGwiLA0KCQkJInVpLXRhYnMtcGFuZWwiOiAidWktY29ybmVyLWJvdHRvbSIsDQoJCQkidWktdGFicy10YWIiOiAidWktY29ybmVyLXRvcCINCgkJfSwNCgkJY29sbGFwc2libGU6IGZhbHNlLA0KCQlldmVudDogImNsaWNrIiwNCgkJaGVpZ2h0U3R5bGU6ICJjb250ZW50IiwNCgkJaGlkZTogbnVsbCwNCgkJc2hvdzogbnVsbCwNCg0KCQkvLyBDYWxsYmFja3MNCgkJYWN0aXZhdGU6IG51bGwsDQoJCWJlZm9yZUFjdGl2YXRlOiBudWxsLA0KCQliZWZvcmVMb2FkOiBudWxsLA0KCQlsb2FkOiBudWxsDQoJfSwNCg0KCV9pc0xvY2FsOiAoIGZ1bmN0aW9uKCkgew0KCQl2YXIgcmhhc2ggPSAvIy4qJC87DQoNCgkJcmV0dXJuIGZ1bmN0aW9uKCBhbmNob3IgKSB7DQoJCQl2YXIgYW5jaG9yVXJsLCBsb2NhdGlvblVybDsNCg0KCQkJYW5jaG9yVXJsID0gYW5jaG9yLmhyZWYucmVwbGFjZSggcmhhc2gsICIiICk7DQoJCQlsb2NhdGlvblVybCA9IGxvY2F0aW9uLmhyZWYucmVwbGFjZSggcmhhc2gsICIiICk7DQoNCgkJCS8vIERlY29kaW5nIG1heSB0aHJvdyBhbiBlcnJvciBpZiB0aGUgVVJMIGlzbid0IFVURi04ICgjOTUxOCkNCgkJCXRyeSB7DQoJCQkJYW5jaG9yVXJsID0gZGVjb2RlVVJJQ29tcG9uZW50KCBhbmNob3JVcmwgKTsNCgkJCX0gY2F0Y2ggKCBlcnJvciApIHt9DQoJCQl0cnkgew0KCQkJCWxvY2F0aW9uVXJsID0gZGVjb2RlVVJJQ29tcG9uZW50KCBsb2NhdGlvblVybCApOw0KCQkJfSBjYXRjaCAoIGVycm9yICkge30NCg0KCQkJcmV0dXJuIGFuY2hvci5oYXNoLmxlbmd0aCA+IDEgJiYgYW5jaG9yVXJsID09PSBsb2NhdGlvblVybDsNCgkJfTsNCgl9ICkoKSwNCg0KCV9jcmVhdGU6IGZ1bmN0aW9uKCkgew0KCQl2YXIgdGhhdCA9IHRoaXMsDQoJCQlvcHRpb25zID0gdGhpcy5vcHRpb25zOw0KDQoJCXRoaXMucnVubmluZyA9IGZhbHNlOw0KDQoJCXRoaXMuX2FkZENsYXNzKCAidWktdGFicyIsICJ1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQiICk7DQoJCXRoaXMuX3RvZ2dsZUNsYXNzKCAidWktdGFicy1jb2xsYXBzaWJsZSIsIG51bGwsIG9wdGlvbnMuY29sbGFwc2libGUgKTsNCg0KCQl0aGlzLl9wcm9jZXNzVGFicygpOw0KCQlvcHRpb25zLmFjdGl2ZSA9IHRoaXMuX2luaXRpYWxBY3RpdmUoKTsNCg0KCQkvLyBUYWtlIGRpc2FibGluZyB0YWJzIHZpYSBjbGFzcyBhdHRyaWJ1dGUgZnJvbSBIVE1MDQoJCS8vIGludG8gYWNjb3VudCBhbmQgdXBkYXRlIG9wdGlvbiBwcm9wZXJseS4NCgkJaWYgKCAkLmlzQXJyYXkoIG9wdGlvbnMuZGlzYWJsZWQgKSApIHsNCgkJCW9wdGlvbnMuZGlzYWJsZWQgPSAkLnVuaXF1ZSggb3B0aW9ucy5kaXNhYmxlZC5jb25jYXQoDQoJCQkJJC5tYXAoIHRoaXMudGFicy5maWx0ZXIoICIudWktc3RhdGUtZGlzYWJsZWQiICksIGZ1bmN0aW9uKCBsaSApIHsNCgkJCQkJcmV0dXJuIHRoYXQudGFicy5pbmRleCggbGkgKTsNCgkJCQl9ICkNCgkJCSkgKS5zb3J0KCk7DQoJCX0NCg0KCQkvLyBDaGVjayBmb3IgbGVuZ3RoIGF2b2lkcyBlcnJvciB3aGVuIGluaXRpYWxpemluZyBlbXB0eSBsaXN0DQoJCWlmICggdGhpcy5vcHRpb25zLmFjdGl2ZSAhPT0gZmFsc2UgJiYgdGhpcy5hbmNob3JzLmxlbmd0aCApIHsNCgkJCXRoaXMuYWN0aXZlID0gdGhpcy5fZmluZEFjdGl2ZSggb3B0aW9ucy5hY3RpdmUgKTsNCgkJfSBlbHNlIHsNCgkJCXRoaXMuYWN0aXZlID0gJCgpOw0KCQl9DQoNCgkJdGhpcy5fcmVmcmVzaCgpOw0KDQoJCWlmICggdGhpcy5hY3RpdmUubGVuZ3RoICkgew0KCQkJdGhpcy5sb2FkKCBvcHRpb25zLmFjdGl2ZSApOw0KCQl9DQoJfSwNCg0KCV9pbml0aWFsQWN0aXZlOiBmdW5jdGlvbigpIHsNCgkJdmFyIGFjdGl2ZSA9IHRoaXMub3B0aW9ucy5hY3RpdmUsDQoJCQljb2xsYXBzaWJsZSA9IHRoaXMub3B0aW9ucy5jb2xsYXBzaWJsZSwNCgkJCWxvY2F0aW9uSGFzaCA9IGxvY2F0aW9uLmhhc2guc3Vic3RyaW5nKCAxICk7DQoNCgkJaWYgKCBhY3RpdmUgPT09IG51bGwgKSB7DQoNCgkJCS8vIGNoZWNrIHRoZSBmcmFnbWVudCBpZGVudGlmaWVyIGluIHRoZSBVUkwNCgkJCWlmICggbG9jYXRpb25IYXNoICkgew0KCQkJCXRoaXMudGFicy5lYWNoKCBmdW5jdGlvbiggaSwgdGFiICkgew0KCQkJCQlpZiAoICQoIHRhYiApLmF0dHIoICJhcmlhLWNvbnRyb2xzIiApID09PSBsb2NhdGlvbkhhc2ggKSB7DQoJCQkJCQlhY3RpdmUgPSBpOw0KCQkJCQkJcmV0dXJuIGZhbHNlOw0KCQkJCQl9DQoJCQkJfSApOw0KCQkJfQ0KDQoJCQkvLyBDaGVjayBmb3IgYSB0YWIgbWFya2VkIGFjdGl2ZSB2aWEgYSBjbGFzcw0KCQkJaWYgKCBhY3RpdmUgPT09IG51bGwgKSB7DQoJCQkJYWN0aXZlID0gdGhpcy50YWJzLmluZGV4KCB0aGlzLnRhYnMuZmlsdGVyKCAiLnVpLXRhYnMtYWN0aXZlIiApICk7DQoJCQl9DQoNCgkJCS8vIE5vIGFjdGl2ZSB0YWIsIHNldCB0byBmYWxzZQ0KCQkJaWYgKCBhY3RpdmUgPT09IG51bGwgfHwgYWN0aXZlID09PSAtMSApIHsNCgkJCQlhY3RpdmUgPSB0aGlzLnRhYnMubGVuZ3RoID8gMCA6IGZhbHNlOw0KCQkJfQ0KCQl9DQoNCgkJLy8gSGFuZGxlIG51bWJlcnM6IG5lZ2F0aXZlLCBvdXQgb2YgcmFuZ2UNCgkJaWYgKCBhY3RpdmUgIT09IGZhbHNlICkgew0KCQkJYWN0aXZlID0gdGhpcy50YWJzLmluZGV4KCB0aGlzLnRhYnMuZXEoIGFjdGl2ZSApICk7DQoJCQlpZiAoIGFjdGl2ZSA9PT0gLTEgKSB7DQoJCQkJYWN0aXZlID0gY29sbGFwc2libGUgPyBmYWxzZSA6IDA7DQoJCQl9DQoJCX0NCg0KCQkvLyBEb24ndCBhbGxvdyBjb2xsYXBzaWJsZTogZmFsc2UgYW5kIGFjdGl2ZTogZmFsc2UNCgkJaWYgKCAhY29sbGFwc2libGUgJiYgYWN0aXZlID09PSBmYWxzZSAmJiB0aGlzLmFuY2hvcnMubGVuZ3RoICkgew0KCQkJYWN0aXZlID0gMDsNCgkJfQ0KDQoJCXJldHVybiBhY3RpdmU7DQoJfSwNCg0KCV9nZXRDcmVhdGVFdmVudERhdGE6IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gew0KCQkJdGFiOiB0aGlzLmFjdGl2ZSwNCgkJCXBhbmVsOiAhdGhpcy5hY3RpdmUubGVuZ3RoID8gJCgpIDogdGhpcy5fZ2V0UGFuZWxGb3JUYWIoIHRoaXMuYWN0aXZlICkNCgkJfTsNCgl9LA0KDQoJX3RhYktleWRvd246IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdmFyIGZvY3VzZWRUYWIgPSAkKCAkLnVpLnNhZmVBY3RpdmVFbGVtZW50KCB0aGlzLmRvY3VtZW50WyAwIF0gKSApLmNsb3Nlc3QoICJsaSIgKSwNCgkJCXNlbGVjdGVkSW5kZXggPSB0aGlzLnRhYnMuaW5kZXgoIGZvY3VzZWRUYWIgKSwNCgkJCWdvaW5nRm9yd2FyZCA9IHRydWU7DQoNCgkJaWYgKCB0aGlzLl9oYW5kbGVQYWdlTmF2KCBldmVudCApICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJc3dpdGNoICggZXZlbnQua2V5Q29kZSApIHsNCgkJY2FzZSAkLnVpLmtleUNvZGUuUklHSFQ6DQoJCWNhc2UgJC51aS5rZXlDb2RlLkRPV046DQoJCQlzZWxlY3RlZEluZGV4Kys7DQoJCQlicmVhazsNCgkJY2FzZSAkLnVpLmtleUNvZGUuVVA6DQoJCWNhc2UgJC51aS5rZXlDb2RlLkxFRlQ6DQoJCQlnb2luZ0ZvcndhcmQgPSBmYWxzZTsNCgkJCXNlbGVjdGVkSW5kZXgtLTsNCgkJCWJyZWFrOw0KCQljYXNlICQudWkua2V5Q29kZS5FTkQ6DQoJCQlzZWxlY3RlZEluZGV4ID0gdGhpcy5hbmNob3JzLmxlbmd0aCAtIDE7DQoJCQlicmVhazsNCgkJY2FzZSAkLnVpLmtleUNvZGUuSE9NRToNCgkJCXNlbGVjdGVkSW5kZXggPSAwOw0KCQkJYnJlYWs7DQoJCWNhc2UgJC51aS5rZXlDb2RlLlNQQUNFOg0KDQoJCQkvLyBBY3RpdmF0ZSBvbmx5LCBubyBjb2xsYXBzaW5nDQoJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJY2xlYXJUaW1lb3V0KCB0aGlzLmFjdGl2YXRpbmcgKTsNCgkJCXRoaXMuX2FjdGl2YXRlKCBzZWxlY3RlZEluZGV4ICk7DQoJCQlyZXR1cm47DQoJCWNhc2UgJC51aS5rZXlDb2RlLkVOVEVSOg0KDQoJCQkvLyBUb2dnbGUgKGNhbmNlbCBkZWxheWVkIGFjdGl2YXRpb24sIGFsbG93IGNvbGxhcHNpbmcpDQoJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJY2xlYXJUaW1lb3V0KCB0aGlzLmFjdGl2YXRpbmcgKTsNCg0KCQkJLy8gRGV0ZXJtaW5lIGlmIHdlIHNob3VsZCBjb2xsYXBzZSBvciBhY3RpdmF0ZQ0KCQkJdGhpcy5fYWN0aXZhdGUoIHNlbGVjdGVkSW5kZXggPT09IHRoaXMub3B0aW9ucy5hY3RpdmUgPyBmYWxzZSA6IHNlbGVjdGVkSW5kZXggKTsNCgkJCXJldHVybjsNCgkJZGVmYXVsdDoNCgkJCXJldHVybjsNCgkJfQ0KDQoJCS8vIEZvY3VzIHRoZSBhcHByb3ByaWF0ZSB0YWIsIGJhc2VkIG9uIHdoaWNoIGtleSB3YXMgcHJlc3NlZA0KCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQljbGVhclRpbWVvdXQoIHRoaXMuYWN0aXZhdGluZyApOw0KCQlzZWxlY3RlZEluZGV4ID0gdGhpcy5fZm9jdXNOZXh0VGFiKCBzZWxlY3RlZEluZGV4LCBnb2luZ0ZvcndhcmQgKTsNCg0KCQkvLyBOYXZpZ2F0aW5nIHdpdGggY29udHJvbC9jb21tYW5kIGtleSB3aWxsIHByZXZlbnQgYXV0b21hdGljIGFjdGl2YXRpb24NCgkJaWYgKCAhZXZlbnQuY3RybEtleSAmJiAhZXZlbnQubWV0YUtleSApIHsNCg0KCQkJLy8gVXBkYXRlIGFyaWEtc2VsZWN0ZWQgaW1tZWRpYXRlbHkgc28gdGhhdCBBVCB0aGluayB0aGUgdGFiIGlzIGFscmVhZHkgc2VsZWN0ZWQuDQoJCQkvLyBPdGhlcndpc2UgQVQgbWF5IGNvbmZ1c2UgdGhlIHVzZXIgYnkgc3RhdGluZyB0aGF0IHRoZXkgbmVlZCB0byBhY3RpdmF0ZSB0aGUgdGFiLA0KCQkJLy8gYnV0IHRoZSB0YWIgd2lsbCBhbHJlYWR5IGJlIGFjdGl2YXRlZCBieSB0aGUgdGltZSB0aGUgYW5ub3VuY2VtZW50IGZpbmlzaGVzLg0KCQkJZm9jdXNlZFRhYi5hdHRyKCAiYXJpYS1zZWxlY3RlZCIsICJmYWxzZSIgKTsNCgkJCXRoaXMudGFicy5lcSggc2VsZWN0ZWRJbmRleCApLmF0dHIoICJhcmlhLXNlbGVjdGVkIiwgInRydWUiICk7DQoNCgkJCXRoaXMuYWN0aXZhdGluZyA9IHRoaXMuX2RlbGF5KCBmdW5jdGlvbigpIHsNCgkJCQl0aGlzLm9wdGlvbiggImFjdGl2ZSIsIHNlbGVjdGVkSW5kZXggKTsNCgkJCX0sIHRoaXMuZGVsYXkgKTsNCgkJfQ0KCX0sDQoNCglfcGFuZWxLZXlkb3duOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCWlmICggdGhpcy5faGFuZGxlUGFnZU5hdiggZXZlbnQgKSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCS8vIEN0cmwrdXAgbW92ZXMgZm9jdXMgdG8gdGhlIGN1cnJlbnQgdGFiDQoJCWlmICggZXZlbnQuY3RybEtleSAmJiBldmVudC5rZXlDb2RlID09PSAkLnVpLmtleUNvZGUuVVAgKSB7DQoJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJdGhpcy5hY3RpdmUudHJpZ2dlciggImZvY3VzIiApOw0KCQl9DQoJfSwNCg0KCS8vIEFsdCtwYWdlIHVwL2Rvd24gbW92ZXMgZm9jdXMgdG8gdGhlIHByZXZpb3VzL25leHQgdGFiIChhbmQgYWN0aXZhdGVzKQ0KCV9oYW5kbGVQYWdlTmF2OiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCWlmICggZXZlbnQuYWx0S2V5ICYmIGV2ZW50LmtleUNvZGUgPT09ICQudWkua2V5Q29kZS5QQUdFX1VQICkgew0KCQkJdGhpcy5fYWN0aXZhdGUoIHRoaXMuX2ZvY3VzTmV4dFRhYiggdGhpcy5vcHRpb25zLmFjdGl2ZSAtIDEsIGZhbHNlICkgKTsNCgkJCXJldHVybiB0cnVlOw0KCQl9DQoJCWlmICggZXZlbnQuYWx0S2V5ICYmIGV2ZW50LmtleUNvZGUgPT09ICQudWkua2V5Q29kZS5QQUdFX0RPV04gKSB7DQoJCQl0aGlzLl9hY3RpdmF0ZSggdGhpcy5fZm9jdXNOZXh0VGFiKCB0aGlzLm9wdGlvbnMuYWN0aXZlICsgMSwgdHJ1ZSApICk7DQoJCQlyZXR1cm4gdHJ1ZTsNCgkJfQ0KCX0sDQoNCglfZmluZE5leHRUYWI6IGZ1bmN0aW9uKCBpbmRleCwgZ29pbmdGb3J3YXJkICkgew0KCQl2YXIgbGFzdFRhYkluZGV4ID0gdGhpcy50YWJzLmxlbmd0aCAtIDE7DQoNCgkJZnVuY3Rpb24gY29uc3RyYWluKCkgew0KCQkJaWYgKCBpbmRleCA+IGxhc3RUYWJJbmRleCApIHsNCgkJCQlpbmRleCA9IDA7DQoJCQl9DQoJCQlpZiAoIGluZGV4IDwgMCApIHsNCgkJCQlpbmRleCA9IGxhc3RUYWJJbmRleDsNCgkJCX0NCgkJCXJldHVybiBpbmRleDsNCgkJfQ0KDQoJCXdoaWxlICggJC5pbkFycmF5KCBjb25zdHJhaW4oKSwgdGhpcy5vcHRpb25zLmRpc2FibGVkICkgIT09IC0xICkgew0KCQkJaW5kZXggPSBnb2luZ0ZvcndhcmQgPyBpbmRleCArIDEgOiBpbmRleCAtIDE7DQoJCX0NCg0KCQlyZXR1cm4gaW5kZXg7DQoJfSwNCg0KCV9mb2N1c05leHRUYWI6IGZ1bmN0aW9uKCBpbmRleCwgZ29pbmdGb3J3YXJkICkgew0KCQlpbmRleCA9IHRoaXMuX2ZpbmROZXh0VGFiKCBpbmRleCwgZ29pbmdGb3J3YXJkICk7DQoJCXRoaXMudGFicy5lcSggaW5kZXggKS50cmlnZ2VyKCAiZm9jdXMiICk7DQoJCXJldHVybiBpbmRleDsNCgl9LA0KDQoJX3NldE9wdGlvbjogZnVuY3Rpb24oIGtleSwgdmFsdWUgKSB7DQoJCWlmICgga2V5ID09PSAiYWN0aXZlIiApIHsNCg0KCQkJLy8gX2FjdGl2YXRlKCkgd2lsbCBoYW5kbGUgaW52YWxpZCB2YWx1ZXMgYW5kIHVwZGF0ZSB0aGlzLm9wdGlvbnMNCgkJCXRoaXMuX2FjdGl2YXRlKCB2YWx1ZSApOw0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJdGhpcy5fc3VwZXIoIGtleSwgdmFsdWUgKTsNCg0KCQlpZiAoIGtleSA9PT0gImNvbGxhcHNpYmxlIiApIHsNCgkJCXRoaXMuX3RvZ2dsZUNsYXNzKCAidWktdGFicy1jb2xsYXBzaWJsZSIsIG51bGwsIHZhbHVlICk7DQoNCgkJCS8vIFNldHRpbmcgY29sbGFwc2libGU6IGZhbHNlIHdoaWxlIGNvbGxhcHNlZDsgb3BlbiBmaXJzdCBwYW5lbA0KCQkJaWYgKCAhdmFsdWUgJiYgdGhpcy5vcHRpb25zLmFjdGl2ZSA9PT0gZmFsc2UgKSB7DQoJCQkJdGhpcy5fYWN0aXZhdGUoIDAgKTsNCgkJCX0NCgkJfQ0KDQoJCWlmICgga2V5ID09PSAiZXZlbnQiICkgew0KCQkJdGhpcy5fc2V0dXBFdmVudHMoIHZhbHVlICk7DQoJCX0NCg0KCQlpZiAoIGtleSA9PT0gImhlaWdodFN0eWxlIiApIHsNCgkJCXRoaXMuX3NldHVwSGVpZ2h0U3R5bGUoIHZhbHVlICk7DQoJCX0NCgl9LA0KDQoJX3Nhbml0aXplU2VsZWN0b3I6IGZ1bmN0aW9uKCBoYXNoICkgew0KCQlyZXR1cm4gaGFzaCA/IGhhc2gucmVwbGFjZSggL1shIiQlJicoKSorLC5cLzo7PD0+P0BcW1xdXF5ge3x9fl0vZywgIlxcJCYiICkgOiAiIjsNCgl9LA0KDQoJcmVmcmVzaDogZnVuY3Rpb24oKSB7DQoJCXZhciBvcHRpb25zID0gdGhpcy5vcHRpb25zLA0KCQkJbGlzID0gdGhpcy50YWJsaXN0LmNoaWxkcmVuKCAiOmhhcyhhW2hyZWZdKSIgKTsNCg0KCQkvLyBHZXQgZGlzYWJsZWQgdGFicyBmcm9tIGNsYXNzIGF0dHJpYnV0ZSBmcm9tIEhUTUwNCgkJLy8gdGhpcyB3aWxsIGdldCBjb252ZXJ0ZWQgdG8gYSBib29sZWFuIGlmIG5lZWRlZCBpbiBfcmVmcmVzaCgpDQoJCW9wdGlvbnMuZGlzYWJsZWQgPSAkLm1hcCggbGlzLmZpbHRlciggIi51aS1zdGF0ZS1kaXNhYmxlZCIgKSwgZnVuY3Rpb24oIHRhYiApIHsNCgkJCXJldHVybiBsaXMuaW5kZXgoIHRhYiApOw0KCQl9ICk7DQoNCgkJdGhpcy5fcHJvY2Vzc1RhYnMoKTsNCg0KCQkvLyBXYXMgY29sbGFwc2VkIG9yIG5vIHRhYnMNCgkJaWYgKCBvcHRpb25zLmFjdGl2ZSA9PT0gZmFsc2UgfHwgIXRoaXMuYW5jaG9ycy5sZW5ndGggKSB7DQoJCQlvcHRpb25zLmFjdGl2ZSA9IGZhbHNlOw0KCQkJdGhpcy5hY3RpdmUgPSAkKCk7DQoNCgkJLy8gd2FzIGFjdGl2ZSwgYnV0IGFjdGl2ZSB0YWIgaXMgZ29uZQ0KCQl9IGVsc2UgaWYgKCB0aGlzLmFjdGl2ZS5sZW5ndGggJiYgISQuY29udGFpbnMoIHRoaXMudGFibGlzdFsgMCBdLCB0aGlzLmFjdGl2ZVsgMCBdICkgKSB7DQoNCgkJCS8vIGFsbCByZW1haW5pbmcgdGFicyBhcmUgZGlzYWJsZWQNCgkJCWlmICggdGhpcy50YWJzLmxlbmd0aCA9PT0gb3B0aW9ucy5kaXNhYmxlZC5sZW5ndGggKSB7DQoJCQkJb3B0aW9ucy5hY3RpdmUgPSBmYWxzZTsNCgkJCQl0aGlzLmFjdGl2ZSA9ICQoKTsNCg0KCQkJLy8gYWN0aXZhdGUgcHJldmlvdXMgdGFiDQoJCQl9IGVsc2Ugew0KCQkJCXRoaXMuX2FjdGl2YXRlKCB0aGlzLl9maW5kTmV4dFRhYiggTWF0aC5tYXgoIDAsIG9wdGlvbnMuYWN0aXZlIC0gMSApLCBmYWxzZSApICk7DQoJCQl9DQoNCgkJLy8gd2FzIGFjdGl2ZSwgYWN0aXZlIHRhYiBzdGlsbCBleGlzdHMNCgkJfSBlbHNlIHsNCg0KCQkJLy8gbWFrZSBzdXJlIGFjdGl2ZSBpbmRleCBpcyBjb3JyZWN0DQoJCQlvcHRpb25zLmFjdGl2ZSA9IHRoaXMudGFicy5pbmRleCggdGhpcy5hY3RpdmUgKTsNCgkJfQ0KDQoJCXRoaXMuX3JlZnJlc2goKTsNCgl9LA0KDQoJX3JlZnJlc2g6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLl9zZXRPcHRpb25EaXNhYmxlZCggdGhpcy5vcHRpb25zLmRpc2FibGVkICk7DQoJCXRoaXMuX3NldHVwRXZlbnRzKCB0aGlzLm9wdGlvbnMuZXZlbnQgKTsNCgkJdGhpcy5fc2V0dXBIZWlnaHRTdHlsZSggdGhpcy5vcHRpb25zLmhlaWdodFN0eWxlICk7DQoNCgkJdGhpcy50YWJzLm5vdCggdGhpcy5hY3RpdmUgKS5hdHRyKCB7DQoJCQkiYXJpYS1zZWxlY3RlZCI6ICJmYWxzZSIsDQoJCQkiYXJpYS1leHBhbmRlZCI6ICJmYWxzZSIsDQoJCQl0YWJJbmRleDogLTENCgkJfSApOw0KCQl0aGlzLnBhbmVscy5ub3QoIHRoaXMuX2dldFBhbmVsRm9yVGFiKCB0aGlzLmFjdGl2ZSApICkNCgkJCS5oaWRlKCkNCgkJCS5hdHRyKCB7DQoJCQkJImFyaWEtaGlkZGVuIjogInRydWUiDQoJCQl9ICk7DQoNCgkJLy8gTWFrZSBzdXJlIG9uZSB0YWIgaXMgaW4gdGhlIHRhYiBvcmRlcg0KCQlpZiAoICF0aGlzLmFjdGl2ZS5sZW5ndGggKSB7DQoJCQl0aGlzLnRhYnMuZXEoIDAgKS5hdHRyKCAidGFiSW5kZXgiLCAwICk7DQoJCX0gZWxzZSB7DQoJCQl0aGlzLmFjdGl2ZQ0KCQkJCS5hdHRyKCB7DQoJCQkJCSJhcmlhLXNlbGVjdGVkIjogInRydWUiLA0KCQkJCQkiYXJpYS1leHBhbmRlZCI6ICJ0cnVlIiwNCgkJCQkJdGFiSW5kZXg6IDANCgkJCQl9ICk7DQoJCQl0aGlzLl9hZGRDbGFzcyggdGhpcy5hY3RpdmUsICJ1aS10YWJzLWFjdGl2ZSIsICJ1aS1zdGF0ZS1hY3RpdmUiICk7DQoJCQl0aGlzLl9nZXRQYW5lbEZvclRhYiggdGhpcy5hY3RpdmUgKQ0KCQkJCS5zaG93KCkNCgkJCQkuYXR0ciggew0KCQkJCQkiYXJpYS1oaWRkZW4iOiAiZmFsc2UiDQoJCQkJfSApOw0KCQl9DQoJfSwNCg0KCV9wcm9jZXNzVGFiczogZnVuY3Rpb24oKSB7DQoJCXZhciB0aGF0ID0gdGhpcywNCgkJCXByZXZUYWJzID0gdGhpcy50YWJzLA0KCQkJcHJldkFuY2hvcnMgPSB0aGlzLmFuY2hvcnMsDQoJCQlwcmV2UGFuZWxzID0gdGhpcy5wYW5lbHM7DQoNCgkJdGhpcy50YWJsaXN0ID0gdGhpcy5fZ2V0TGlzdCgpLmF0dHIoICJyb2xlIiwgInRhYmxpc3QiICk7DQoJCXRoaXMuX2FkZENsYXNzKCB0aGlzLnRhYmxpc3QsICJ1aS10YWJzLW5hdiIsDQoJCQkidWktaGVscGVyLXJlc2V0IHVpLWhlbHBlci1jbGVhcmZpeCB1aS13aWRnZXQtaGVhZGVyIiApOw0KDQoJCS8vIFByZXZlbnQgdXNlcnMgZnJvbSBmb2N1c2luZyBkaXNhYmxlZCB0YWJzIHZpYSBjbGljaw0KCQl0aGlzLnRhYmxpc3QNCgkJCS5vbiggIm1vdXNlZG93biIgKyB0aGlzLmV2ZW50TmFtZXNwYWNlLCAiPiBsaSIsIGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCQlpZiAoICQoIHRoaXMgKS5pcyggIi51aS1zdGF0ZS1kaXNhYmxlZCIgKSApIHsNCgkJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCgkJCQl9DQoJCQl9ICkNCg0KCQkJLy8gU3VwcG9ydDogSUUgPDkNCgkJCS8vIFByZXZlbnRpbmcgdGhlIGRlZmF1bHQgYWN0aW9uIGluIG1vdXNlZG93biBkb2Vzbid0IHByZXZlbnQgSUUNCgkJCS8vIGZyb20gZm9jdXNpbmcgdGhlIGVsZW1lbnQsIHNvIGlmIHRoZSBhbmNob3IgZ2V0cyBmb2N1c2VkLCBibHVyLg0KCQkJLy8gV2UgZG9uJ3QgaGF2ZSB0byB3b3JyeSBhYm91dCBmb2N1c2luZyB0aGUgcHJldmlvdXNseSBmb2N1c2VkDQoJCQkvLyBlbGVtZW50IHNpbmNlIGNsaWNraW5nIG9uIGEgbm9uLWZvY3VzYWJsZSBlbGVtZW50IHNob3VsZCBmb2N1cw0KCQkJLy8gdGhlIGJvZHkgYW55d2F5Lg0KCQkJLm9uKCAiZm9jdXMiICsgdGhpcy5ldmVudE5hbWVzcGFjZSwgIi51aS10YWJzLWFuY2hvciIsIGZ1bmN0aW9uKCkgew0KCQkJCWlmICggJCggdGhpcyApLmNsb3Nlc3QoICJsaSIgKS5pcyggIi51aS1zdGF0ZS1kaXNhYmxlZCIgKSApIHsNCgkJCQkJdGhpcy5ibHVyKCk7DQoJCQkJfQ0KCQkJfSApOw0KDQoJCXRoaXMudGFicyA9IHRoaXMudGFibGlzdC5maW5kKCAiPiBsaTpoYXMoYVtocmVmXSkiICkNCgkJCS5hdHRyKCB7DQoJCQkJcm9sZTogInRhYiIsDQoJCQkJdGFiSW5kZXg6IC0xDQoJCQl9ICk7DQoJCXRoaXMuX2FkZENsYXNzKCB0aGlzLnRhYnMsICJ1aS10YWJzLXRhYiIsICJ1aS1zdGF0ZS1kZWZhdWx0IiApOw0KDQoJCXRoaXMuYW5jaG9ycyA9IHRoaXMudGFicy5tYXAoIGZ1bmN0aW9uKCkgew0KCQkJcmV0dXJuICQoICJhIiwgdGhpcyApWyAwIF07DQoJCX0gKQ0KCQkJLmF0dHIoIHsNCgkJCQlyb2xlOiAicHJlc2VudGF0aW9uIiwNCgkJCQl0YWJJbmRleDogLTENCgkJCX0gKTsNCgkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMuYW5jaG9ycywgInVpLXRhYnMtYW5jaG9yIiApOw0KDQoJCXRoaXMucGFuZWxzID0gJCgpOw0KDQoJCXRoaXMuYW5jaG9ycy5lYWNoKCBmdW5jdGlvbiggaSwgYW5jaG9yICkgew0KCQkJdmFyIHNlbGVjdG9yLCBwYW5lbCwgcGFuZWxJZCwNCgkJCQlhbmNob3JJZCA9ICQoIGFuY2hvciApLnVuaXF1ZUlkKCkuYXR0ciggImlkIiApLA0KCQkJCXRhYiA9ICQoIGFuY2hvciApLmNsb3Nlc3QoICJsaSIgKSwNCgkJCQlvcmlnaW5hbEFyaWFDb250cm9scyA9IHRhYi5hdHRyKCAiYXJpYS1jb250cm9scyIgKTsNCg0KCQkJLy8gSW5saW5lIHRhYg0KCQkJaWYgKCB0aGF0Ll9pc0xvY2FsKCBhbmNob3IgKSApIHsNCgkJCQlzZWxlY3RvciA9IGFuY2hvci5oYXNoOw0KCQkJCXBhbmVsSWQgPSBzZWxlY3Rvci5zdWJzdHJpbmcoIDEgKTsNCgkJCQlwYW5lbCA9IHRoYXQuZWxlbWVudC5maW5kKCB0aGF0Ll9zYW5pdGl6ZVNlbGVjdG9yKCBzZWxlY3RvciApICk7DQoNCgkJCS8vIHJlbW90ZSB0YWINCgkJCX0gZWxzZSB7DQoNCgkJCQkvLyBJZiB0aGUgdGFiIGRvZXNuJ3QgYWxyZWFkeSBoYXZlIGFyaWEtY29udHJvbHMsDQoJCQkJLy8gZ2VuZXJhdGUgYW4gaWQgYnkgdXNpbmcgYSB0aHJvdy1hd2F5IGVsZW1lbnQNCgkJCQlwYW5lbElkID0gdGFiLmF0dHIoICJhcmlhLWNvbnRyb2xzIiApIHx8ICQoIHt9ICkudW5pcXVlSWQoKVsgMCBdLmlkOw0KCQkJCXNlbGVjdG9yID0gIiMiICsgcGFuZWxJZDsNCgkJCQlwYW5lbCA9IHRoYXQuZWxlbWVudC5maW5kKCBzZWxlY3RvciApOw0KCQkJCWlmICggIXBhbmVsLmxlbmd0aCApIHsNCgkJCQkJcGFuZWwgPSB0aGF0Ll9jcmVhdGVQYW5lbCggcGFuZWxJZCApOw0KCQkJCQlwYW5lbC5pbnNlcnRBZnRlciggdGhhdC5wYW5lbHNbIGkgLSAxIF0gfHwgdGhhdC50YWJsaXN0ICk7DQoJCQkJfQ0KCQkJCXBhbmVsLmF0dHIoICJhcmlhLWxpdmUiLCAicG9saXRlIiApOw0KCQkJfQ0KDQoJCQlpZiAoIHBhbmVsLmxlbmd0aCApIHsNCgkJCQl0aGF0LnBhbmVscyA9IHRoYXQucGFuZWxzLmFkZCggcGFuZWwgKTsNCgkJCX0NCgkJCWlmICggb3JpZ2luYWxBcmlhQ29udHJvbHMgKSB7DQoJCQkJdGFiLmRhdGEoICJ1aS10YWJzLWFyaWEtY29udHJvbHMiLCBvcmlnaW5hbEFyaWFDb250cm9scyApOw0KCQkJfQ0KCQkJdGFiLmF0dHIoIHsNCgkJCQkiYXJpYS1jb250cm9scyI6IHBhbmVsSWQsDQoJCQkJImFyaWEtbGFiZWxsZWRieSI6IGFuY2hvcklkDQoJCQl9ICk7DQoJCQlwYW5lbC5hdHRyKCAiYXJpYS1sYWJlbGxlZGJ5IiwgYW5jaG9ySWQgKTsNCgkJfSApOw0KDQoJCXRoaXMucGFuZWxzLmF0dHIoICJyb2xlIiwgInRhYnBhbmVsIiApOw0KCQl0aGlzLl9hZGRDbGFzcyggdGhpcy5wYW5lbHMsICJ1aS10YWJzLXBhbmVsIiwgInVpLXdpZGdldC1jb250ZW50IiApOw0KDQoJCS8vIEF2b2lkIG1lbW9yeSBsZWFrcyAoIzEwMDU2KQ0KCQlpZiAoIHByZXZUYWJzICkgew0KCQkJdGhpcy5fb2ZmKCBwcmV2VGFicy5ub3QoIHRoaXMudGFicyApICk7DQoJCQl0aGlzLl9vZmYoIHByZXZBbmNob3JzLm5vdCggdGhpcy5hbmNob3JzICkgKTsNCgkJCXRoaXMuX29mZiggcHJldlBhbmVscy5ub3QoIHRoaXMucGFuZWxzICkgKTsNCgkJfQ0KCX0sDQoNCgkvLyBBbGxvdyBvdmVycmlkaW5nIGhvdyB0byBmaW5kIHRoZSBsaXN0IGZvciByYXJlIHVzYWdlIHNjZW5hcmlvcyAoIzc3MTUpDQoJX2dldExpc3Q6IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gdGhpcy50YWJsaXN0IHx8IHRoaXMuZWxlbWVudC5maW5kKCAib2wsIHVsIiApLmVxKCAwICk7DQoJfSwNCg0KCV9jcmVhdGVQYW5lbDogZnVuY3Rpb24oIGlkICkgew0KCQlyZXR1cm4gJCggIjxkaXY+IiApDQoJCQkuYXR0ciggImlkIiwgaWQgKQ0KCQkJLmRhdGEoICJ1aS10YWJzLWRlc3Ryb3kiLCB0cnVlICk7DQoJfSwNCg0KCV9zZXRPcHRpb25EaXNhYmxlZDogZnVuY3Rpb24oIGRpc2FibGVkICkgew0KCQl2YXIgY3VycmVudEl0ZW0sIGxpLCBpOw0KDQoJCWlmICggJC5pc0FycmF5KCBkaXNhYmxlZCApICkgew0KCQkJaWYgKCAhZGlzYWJsZWQubGVuZ3RoICkgew0KCQkJCWRpc2FibGVkID0gZmFsc2U7DQoJCQl9IGVsc2UgaWYgKCBkaXNhYmxlZC5sZW5ndGggPT09IHRoaXMuYW5jaG9ycy5sZW5ndGggKSB7DQoJCQkJZGlzYWJsZWQgPSB0cnVlOw0KCQkJfQ0KCQl9DQoNCgkJLy8gRGlzYWJsZSB0YWJzDQoJCWZvciAoIGkgPSAwOyAoIGxpID0gdGhpcy50YWJzWyBpIF0gKTsgaSsrICkgew0KCQkJY3VycmVudEl0ZW0gPSAkKCBsaSApOw0KCQkJaWYgKCBkaXNhYmxlZCA9PT0gdHJ1ZSB8fCAkLmluQXJyYXkoIGksIGRpc2FibGVkICkgIT09IC0xICkgew0KCQkJCWN1cnJlbnRJdGVtLmF0dHIoICJhcmlhLWRpc2FibGVkIiwgInRydWUiICk7DQoJCQkJdGhpcy5fYWRkQ2xhc3MoIGN1cnJlbnRJdGVtLCBudWxsLCAidWktc3RhdGUtZGlzYWJsZWQiICk7DQoJCQl9IGVsc2Ugew0KCQkJCWN1cnJlbnRJdGVtLnJlbW92ZUF0dHIoICJhcmlhLWRpc2FibGVkIiApOw0KCQkJCXRoaXMuX3JlbW92ZUNsYXNzKCBjdXJyZW50SXRlbSwgbnVsbCwgInVpLXN0YXRlLWRpc2FibGVkIiApOw0KCQkJfQ0KCQl9DQoNCgkJdGhpcy5vcHRpb25zLmRpc2FibGVkID0gZGlzYWJsZWQ7DQoNCgkJdGhpcy5fdG9nZ2xlQ2xhc3MoIHRoaXMud2lkZ2V0KCksIHRoaXMud2lkZ2V0RnVsbE5hbWUgKyAiLWRpc2FibGVkIiwgbnVsbCwNCgkJCWRpc2FibGVkID09PSB0cnVlICk7DQoJfSwNCg0KCV9zZXR1cEV2ZW50czogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl2YXIgZXZlbnRzID0ge307DQoJCWlmICggZXZlbnQgKSB7DQoJCQkkLmVhY2goIGV2ZW50LnNwbGl0KCAiICIgKSwgZnVuY3Rpb24oIGluZGV4LCBldmVudE5hbWUgKSB7DQoJCQkJZXZlbnRzWyBldmVudE5hbWUgXSA9ICJfZXZlbnRIYW5kbGVyIjsNCgkJCX0gKTsNCgkJfQ0KDQoJCXRoaXMuX29mZiggdGhpcy5hbmNob3JzLmFkZCggdGhpcy50YWJzICkuYWRkKCB0aGlzLnBhbmVscyApICk7DQoNCgkJLy8gQWx3YXlzIHByZXZlbnQgdGhlIGRlZmF1bHQgYWN0aW9uLCBldmVuIHdoZW4gZGlzYWJsZWQNCgkJdGhpcy5fb24oIHRydWUsIHRoaXMuYW5jaG9ycywgew0KCQkJY2xpY2s6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJfQ0KCQl9ICk7DQoJCXRoaXMuX29uKCB0aGlzLmFuY2hvcnMsIGV2ZW50cyApOw0KCQl0aGlzLl9vbiggdGhpcy50YWJzLCB7IGtleWRvd246ICJfdGFiS2V5ZG93biIgfSApOw0KCQl0aGlzLl9vbiggdGhpcy5wYW5lbHMsIHsga2V5ZG93bjogIl9wYW5lbEtleWRvd24iIH0gKTsNCg0KCQl0aGlzLl9mb2N1c2FibGUoIHRoaXMudGFicyApOw0KCQl0aGlzLl9ob3ZlcmFibGUoIHRoaXMudGFicyApOw0KCX0sDQoNCglfc2V0dXBIZWlnaHRTdHlsZTogZnVuY3Rpb24oIGhlaWdodFN0eWxlICkgew0KCQl2YXIgbWF4SGVpZ2h0LA0KCQkJcGFyZW50ID0gdGhpcy5lbGVtZW50LnBhcmVudCgpOw0KDQoJCWlmICggaGVpZ2h0U3R5bGUgPT09ICJmaWxsIiApIHsNCgkJCW1heEhlaWdodCA9IHBhcmVudC5oZWlnaHQoKTsNCgkJCW1heEhlaWdodCAtPSB0aGlzLmVsZW1lbnQub3V0ZXJIZWlnaHQoKSAtIHRoaXMuZWxlbWVudC5oZWlnaHQoKTsNCg0KCQkJdGhpcy5lbGVtZW50LnNpYmxpbmdzKCAiOnZpc2libGUiICkuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQkJdmFyIGVsZW0gPSAkKCB0aGlzICksDQoJCQkJCXBvc2l0aW9uID0gZWxlbS5jc3MoICJwb3NpdGlvbiIgKTsNCg0KCQkJCWlmICggcG9zaXRpb24gPT09ICJhYnNvbHV0ZSIgfHwgcG9zaXRpb24gPT09ICJmaXhlZCIgKSB7DQoJCQkJCXJldHVybjsNCgkJCQl9DQoJCQkJbWF4SGVpZ2h0IC09IGVsZW0ub3V0ZXJIZWlnaHQoIHRydWUgKTsNCgkJCX0gKTsNCg0KCQkJdGhpcy5lbGVtZW50LmNoaWxkcmVuKCkubm90KCB0aGlzLnBhbmVscyApLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJCW1heEhlaWdodCAtPSAkKCB0aGlzICkub3V0ZXJIZWlnaHQoIHRydWUgKTsNCgkJCX0gKTsNCg0KCQkJdGhpcy5wYW5lbHMuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQkJJCggdGhpcyApLmhlaWdodCggTWF0aC5tYXgoIDAsIG1heEhlaWdodCAtDQoJCQkJCSQoIHRoaXMgKS5pbm5lckhlaWdodCgpICsgJCggdGhpcyApLmhlaWdodCgpICkgKTsNCgkJCX0gKQ0KCQkJCS5jc3MoICJvdmVyZmxvdyIsICJhdXRvIiApOw0KCQl9IGVsc2UgaWYgKCBoZWlnaHRTdHlsZSA9PT0gImF1dG8iICkgew0KCQkJbWF4SGVpZ2h0ID0gMDsNCgkJCXRoaXMucGFuZWxzLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJCW1heEhlaWdodCA9IE1hdGgubWF4KCBtYXhIZWlnaHQsICQoIHRoaXMgKS5oZWlnaHQoICIiICkuaGVpZ2h0KCkgKTsNCgkJCX0gKS5oZWlnaHQoIG1heEhlaWdodCApOw0KCQl9DQoJfSwNCg0KCV9ldmVudEhhbmRsZXI6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdmFyIG9wdGlvbnMgPSB0aGlzLm9wdGlvbnMsDQoJCQlhY3RpdmUgPSB0aGlzLmFjdGl2ZSwNCgkJCWFuY2hvciA9ICQoIGV2ZW50LmN1cnJlbnRUYXJnZXQgKSwNCgkJCXRhYiA9IGFuY2hvci5jbG9zZXN0KCAibGkiICksDQoJCQljbGlja2VkSXNBY3RpdmUgPSB0YWJbIDAgXSA9PT0gYWN0aXZlWyAwIF0sDQoJCQljb2xsYXBzaW5nID0gY2xpY2tlZElzQWN0aXZlICYmIG9wdGlvbnMuY29sbGFwc2libGUsDQoJCQl0b1Nob3cgPSBjb2xsYXBzaW5nID8gJCgpIDogdGhpcy5fZ2V0UGFuZWxGb3JUYWIoIHRhYiApLA0KCQkJdG9IaWRlID0gIWFjdGl2ZS5sZW5ndGggPyAkKCkgOiB0aGlzLl9nZXRQYW5lbEZvclRhYiggYWN0aXZlICksDQoJCQlldmVudERhdGEgPSB7DQoJCQkJb2xkVGFiOiBhY3RpdmUsDQoJCQkJb2xkUGFuZWw6IHRvSGlkZSwNCgkJCQluZXdUYWI6IGNvbGxhcHNpbmcgPyAkKCkgOiB0YWIsDQoJCQkJbmV3UGFuZWw6IHRvU2hvdw0KCQkJfTsNCg0KCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KDQoJCWlmICggdGFiLmhhc0NsYXNzKCAidWktc3RhdGUtZGlzYWJsZWQiICkgfHwNCg0KCQkJCS8vIHRhYiBpcyBhbHJlYWR5IGxvYWRpbmcNCgkJCQl0YWIuaGFzQ2xhc3MoICJ1aS10YWJzLWxvYWRpbmciICkgfHwNCg0KCQkJCS8vIGNhbid0IHN3aXRjaCBkdXJuaW5nIGFuIGFuaW1hdGlvbg0KCQkJCXRoaXMucnVubmluZyB8fA0KDQoJCQkJLy8gY2xpY2sgb24gYWN0aXZlIGhlYWRlciwgYnV0IG5vdCBjb2xsYXBzaWJsZQ0KCQkJCSggY2xpY2tlZElzQWN0aXZlICYmICFvcHRpb25zLmNvbGxhcHNpYmxlICkgfHwNCg0KCQkJCS8vIGFsbG93IGNhbmNlbGluZyBhY3RpdmF0aW9uDQoJCQkJKCB0aGlzLl90cmlnZ2VyKCAiYmVmb3JlQWN0aXZhdGUiLCBldmVudCwgZXZlbnREYXRhICkgPT09IGZhbHNlICkgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlvcHRpb25zLmFjdGl2ZSA9IGNvbGxhcHNpbmcgPyBmYWxzZSA6IHRoaXMudGFicy5pbmRleCggdGFiICk7DQoNCgkJdGhpcy5hY3RpdmUgPSBjbGlja2VkSXNBY3RpdmUgPyAkKCkgOiB0YWI7DQoJCWlmICggdGhpcy54aHIgKSB7DQoJCQl0aGlzLnhoci5hYm9ydCgpOw0KCQl9DQoNCgkJaWYgKCAhdG9IaWRlLmxlbmd0aCAmJiAhdG9TaG93Lmxlbmd0aCApIHsNCgkJCSQuZXJyb3IoICJqUXVlcnkgVUkgVGFiczogTWlzbWF0Y2hpbmcgZnJhZ21lbnQgaWRlbnRpZmllci4iICk7DQoJCX0NCg0KCQlpZiAoIHRvU2hvdy5sZW5ndGggKSB7DQoJCQl0aGlzLmxvYWQoIHRoaXMudGFicy5pbmRleCggdGFiICksIGV2ZW50ICk7DQoJCX0NCgkJdGhpcy5fdG9nZ2xlKCBldmVudCwgZXZlbnREYXRhICk7DQoJfSwNCg0KCS8vIEhhbmRsZXMgc2hvdy9oaWRlIGZvciBzZWxlY3RpbmcgdGFicw0KCV90b2dnbGU6IGZ1bmN0aW9uKCBldmVudCwgZXZlbnREYXRhICkgew0KCQl2YXIgdGhhdCA9IHRoaXMsDQoJCQl0b1Nob3cgPSBldmVudERhdGEubmV3UGFuZWwsDQoJCQl0b0hpZGUgPSBldmVudERhdGEub2xkUGFuZWw7DQoNCgkJdGhpcy5ydW5uaW5nID0gdHJ1ZTsNCg0KCQlmdW5jdGlvbiBjb21wbGV0ZSgpIHsNCgkJCXRoYXQucnVubmluZyA9IGZhbHNlOw0KCQkJdGhhdC5fdHJpZ2dlciggImFjdGl2YXRlIiwgZXZlbnQsIGV2ZW50RGF0YSApOw0KCQl9DQoNCgkJZnVuY3Rpb24gc2hvdygpIHsNCgkJCXRoYXQuX2FkZENsYXNzKCBldmVudERhdGEubmV3VGFiLmNsb3Nlc3QoICJsaSIgKSwgInVpLXRhYnMtYWN0aXZlIiwgInVpLXN0YXRlLWFjdGl2ZSIgKTsNCg0KCQkJaWYgKCB0b1Nob3cubGVuZ3RoICYmIHRoYXQub3B0aW9ucy5zaG93ICkgew0KCQkJCXRoYXQuX3Nob3coIHRvU2hvdywgdGhhdC5vcHRpb25zLnNob3csIGNvbXBsZXRlICk7DQoJCQl9IGVsc2Ugew0KCQkJCXRvU2hvdy5zaG93KCk7DQoJCQkJY29tcGxldGUoKTsNCgkJCX0NCgkJfQ0KDQoJCS8vIFN0YXJ0IG91dCBieSBoaWRpbmcsIHRoZW4gc2hvd2luZywgdGhlbiBjb21wbGV0aW5nDQoJCWlmICggdG9IaWRlLmxlbmd0aCAmJiB0aGlzLm9wdGlvbnMuaGlkZSApIHsNCgkJCXRoaXMuX2hpZGUoIHRvSGlkZSwgdGhpcy5vcHRpb25zLmhpZGUsIGZ1bmN0aW9uKCkgew0KCQkJCXRoYXQuX3JlbW92ZUNsYXNzKCBldmVudERhdGEub2xkVGFiLmNsb3Nlc3QoICJsaSIgKSwNCgkJCQkJInVpLXRhYnMtYWN0aXZlIiwgInVpLXN0YXRlLWFjdGl2ZSIgKTsNCgkJCQlzaG93KCk7DQoJCQl9ICk7DQoJCX0gZWxzZSB7DQoJCQl0aGlzLl9yZW1vdmVDbGFzcyggZXZlbnREYXRhLm9sZFRhYi5jbG9zZXN0KCAibGkiICksDQoJCQkJInVpLXRhYnMtYWN0aXZlIiwgInVpLXN0YXRlLWFjdGl2ZSIgKTsNCgkJCXRvSGlkZS5oaWRlKCk7DQoJCQlzaG93KCk7DQoJCX0NCg0KCQl0b0hpZGUuYXR0ciggImFyaWEtaGlkZGVuIiwgInRydWUiICk7DQoJCWV2ZW50RGF0YS5vbGRUYWIuYXR0ciggew0KCQkJImFyaWEtc2VsZWN0ZWQiOiAiZmFsc2UiLA0KCQkJImFyaWEtZXhwYW5kZWQiOiAiZmFsc2UiDQoJCX0gKTsNCg0KCQkvLyBJZiB3ZSdyZSBzd2l0Y2hpbmcgdGFicywgcmVtb3ZlIHRoZSBvbGQgdGFiIGZyb20gdGhlIHRhYiBvcmRlci4NCgkJLy8gSWYgd2UncmUgb3BlbmluZyBmcm9tIGNvbGxhcHNlZCBzdGF0ZSwgcmVtb3ZlIHRoZSBwcmV2aW91cyB0YWIgZnJvbSB0aGUgdGFiIG9yZGVyLg0KCQkvLyBJZiB3ZSdyZSBjb2xsYXBzaW5nLCB0aGVuIGtlZXAgdGhlIGNvbGxhcHNpbmcgdGFiIGluIHRoZSB0YWIgb3JkZXIuDQoJCWlmICggdG9TaG93Lmxlbmd0aCAmJiB0b0hpZGUubGVuZ3RoICkgew0KCQkJZXZlbnREYXRhLm9sZFRhYi5hdHRyKCAidGFiSW5kZXgiLCAtMSApOw0KCQl9IGVsc2UgaWYgKCB0b1Nob3cubGVuZ3RoICkgew0KCQkJdGhpcy50YWJzLmZpbHRlciggZnVuY3Rpb24oKSB7DQoJCQkJcmV0dXJuICQoIHRoaXMgKS5hdHRyKCAidGFiSW5kZXgiICkgPT09IDA7DQoJCQl9ICkNCgkJCQkuYXR0ciggInRhYkluZGV4IiwgLTEgKTsNCgkJfQ0KDQoJCXRvU2hvdy5hdHRyKCAiYXJpYS1oaWRkZW4iLCAiZmFsc2UiICk7DQoJCWV2ZW50RGF0YS5uZXdUYWIuYXR0ciggew0KCQkJImFyaWEtc2VsZWN0ZWQiOiAidHJ1ZSIsDQoJCQkiYXJpYS1leHBhbmRlZCI6ICJ0cnVlIiwNCgkJCXRhYkluZGV4OiAwDQoJCX0gKTsNCgl9LA0KDQoJX2FjdGl2YXRlOiBmdW5jdGlvbiggaW5kZXggKSB7DQoJCXZhciBhbmNob3IsDQoJCQlhY3RpdmUgPSB0aGlzLl9maW5kQWN0aXZlKCBpbmRleCApOw0KDQoJCS8vIFRyeWluZyB0byBhY3RpdmF0ZSB0aGUgYWxyZWFkeSBhY3RpdmUgcGFuZWwNCgkJaWYgKCBhY3RpdmVbIDAgXSA9PT0gdGhpcy5hY3RpdmVbIDAgXSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCS8vIFRyeWluZyB0byBjb2xsYXBzZSwgc2ltdWxhdGUgYSBjbGljayBvbiB0aGUgY3VycmVudCBhY3RpdmUgaGVhZGVyDQoJCWlmICggIWFjdGl2ZS5sZW5ndGggKSB7DQoJCQlhY3RpdmUgPSB0aGlzLmFjdGl2ZTsNCgkJfQ0KDQoJCWFuY2hvciA9IGFjdGl2ZS5maW5kKCAiLnVpLXRhYnMtYW5jaG9yIiApWyAwIF07DQoJCXRoaXMuX2V2ZW50SGFuZGxlciggew0KCQkJdGFyZ2V0OiBhbmNob3IsDQoJCQljdXJyZW50VGFyZ2V0OiBhbmNob3IsDQoJCQlwcmV2ZW50RGVmYXVsdDogJC5ub29wDQoJCX0gKTsNCgl9LA0KDQoJX2ZpbmRBY3RpdmU6IGZ1bmN0aW9uKCBpbmRleCApIHsNCgkJcmV0dXJuIGluZGV4ID09PSBmYWxzZSA/ICQoKSA6IHRoaXMudGFicy5lcSggaW5kZXggKTsNCgl9LA0KDQoJX2dldEluZGV4OiBmdW5jdGlvbiggaW5kZXggKSB7DQoNCgkJLy8gbWV0YS1mdW5jdGlvbiB0byBnaXZlIHVzZXJzIG9wdGlvbiB0byBwcm92aWRlIGEgaHJlZiBzdHJpbmcgaW5zdGVhZCBvZiBhIG51bWVyaWNhbCBpbmRleC4NCgkJaWYgKCB0eXBlb2YgaW5kZXggPT09ICJzdHJpbmciICkgew0KCQkJaW5kZXggPSB0aGlzLmFuY2hvcnMuaW5kZXgoIHRoaXMuYW5jaG9ycy5maWx0ZXIoICJbaHJlZiQ9JyIgKw0KCQkJCSQudWkuZXNjYXBlU2VsZWN0b3IoIGluZGV4ICkgKyAiJ10iICkgKTsNCgkJfQ0KDQoJCXJldHVybiBpbmRleDsNCgl9LA0KDQoJX2Rlc3Ryb3k6IGZ1bmN0aW9uKCkgew0KCQlpZiAoIHRoaXMueGhyICkgew0KCQkJdGhpcy54aHIuYWJvcnQoKTsNCgkJfQ0KDQoJCXRoaXMudGFibGlzdA0KCQkJLnJlbW92ZUF0dHIoICJyb2xlIiApDQoJCQkub2ZmKCB0aGlzLmV2ZW50TmFtZXNwYWNlICk7DQoNCgkJdGhpcy5hbmNob3JzDQoJCQkucmVtb3ZlQXR0ciggInJvbGUgdGFiSW5kZXgiICkNCgkJCS5yZW1vdmVVbmlxdWVJZCgpOw0KDQoJCXRoaXMudGFicy5hZGQoIHRoaXMucGFuZWxzICkuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQlpZiAoICQuZGF0YSggdGhpcywgInVpLXRhYnMtZGVzdHJveSIgKSApIHsNCgkJCQkkKCB0aGlzICkucmVtb3ZlKCk7DQoJCQl9IGVsc2Ugew0KCQkJCSQoIHRoaXMgKS5yZW1vdmVBdHRyKCAicm9sZSB0YWJJbmRleCAiICsNCgkJCQkJImFyaWEtbGl2ZSBhcmlhLWJ1c3kgYXJpYS1zZWxlY3RlZCBhcmlhLWxhYmVsbGVkYnkgYXJpYS1oaWRkZW4gYXJpYS1leHBhbmRlZCIgKTsNCgkJCX0NCgkJfSApOw0KDQoJCXRoaXMudGFicy5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCXZhciBsaSA9ICQoIHRoaXMgKSwNCgkJCQlwcmV2ID0gbGkuZGF0YSggInVpLXRhYnMtYXJpYS1jb250cm9scyIgKTsNCgkJCWlmICggcHJldiApIHsNCgkJCQlsaQ0KCQkJCQkuYXR0ciggImFyaWEtY29udHJvbHMiLCBwcmV2ICkNCgkJCQkJLnJlbW92ZURhdGEoICJ1aS10YWJzLWFyaWEtY29udHJvbHMiICk7DQoJCQl9IGVsc2Ugew0KCQkJCWxpLnJlbW92ZUF0dHIoICJhcmlhLWNvbnRyb2xzIiApOw0KCQkJfQ0KCQl9ICk7DQoNCgkJdGhpcy5wYW5lbHMuc2hvdygpOw0KDQoJCWlmICggdGhpcy5vcHRpb25zLmhlaWdodFN0eWxlICE9PSAiY29udGVudCIgKSB7DQoJCQl0aGlzLnBhbmVscy5jc3MoICJoZWlnaHQiLCAiIiApOw0KCQl9DQoJfSwNCg0KCWVuYWJsZTogZnVuY3Rpb24oIGluZGV4ICkgew0KCQl2YXIgZGlzYWJsZWQgPSB0aGlzLm9wdGlvbnMuZGlzYWJsZWQ7DQoJCWlmICggZGlzYWJsZWQgPT09IGZhbHNlICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJaWYgKCBpbmRleCA9PT0gdW5kZWZpbmVkICkgew0KCQkJZGlzYWJsZWQgPSBmYWxzZTsNCgkJfSBlbHNlIHsNCgkJCWluZGV4ID0gdGhpcy5fZ2V0SW5kZXgoIGluZGV4ICk7DQoJCQlpZiAoICQuaXNBcnJheSggZGlzYWJsZWQgKSApIHsNCgkJCQlkaXNhYmxlZCA9ICQubWFwKCBkaXNhYmxlZCwgZnVuY3Rpb24oIG51bSApIHsNCgkJCQkJcmV0dXJuIG51bSAhPT0gaW5kZXggPyBudW0gOiBudWxsOw0KCQkJCX0gKTsNCgkJCX0gZWxzZSB7DQoJCQkJZGlzYWJsZWQgPSAkLm1hcCggdGhpcy50YWJzLCBmdW5jdGlvbiggbGksIG51bSApIHsNCgkJCQkJcmV0dXJuIG51bSAhPT0gaW5kZXggPyBudW0gOiBudWxsOw0KCQkJCX0gKTsNCgkJCX0NCgkJfQ0KCQl0aGlzLl9zZXRPcHRpb25EaXNhYmxlZCggZGlzYWJsZWQgKTsNCgl9LA0KDQoJZGlzYWJsZTogZnVuY3Rpb24oIGluZGV4ICkgew0KCQl2YXIgZGlzYWJsZWQgPSB0aGlzLm9wdGlvbnMuZGlzYWJsZWQ7DQoJCWlmICggZGlzYWJsZWQgPT09IHRydWUgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlpZiAoIGluZGV4ID09PSB1bmRlZmluZWQgKSB7DQoJCQlkaXNhYmxlZCA9IHRydWU7DQoJCX0gZWxzZSB7DQoJCQlpbmRleCA9IHRoaXMuX2dldEluZGV4KCBpbmRleCApOw0KCQkJaWYgKCAkLmluQXJyYXkoIGluZGV4LCBkaXNhYmxlZCApICE9PSAtMSApIHsNCgkJCQlyZXR1cm47DQoJCQl9DQoJCQlpZiAoICQuaXNBcnJheSggZGlzYWJsZWQgKSApIHsNCgkJCQlkaXNhYmxlZCA9ICQubWVyZ2UoIFsgaW5kZXggXSwgZGlzYWJsZWQgKS5zb3J0KCk7DQoJCQl9IGVsc2Ugew0KCQkJCWRpc2FibGVkID0gWyBpbmRleCBdOw0KCQkJfQ0KCQl9DQoJCXRoaXMuX3NldE9wdGlvbkRpc2FibGVkKCBkaXNhYmxlZCApOw0KCX0sDQoNCglsb2FkOiBmdW5jdGlvbiggaW5kZXgsIGV2ZW50ICkgew0KCQlpbmRleCA9IHRoaXMuX2dldEluZGV4KCBpbmRleCApOw0KCQl2YXIgdGhhdCA9IHRoaXMsDQoJCQl0YWIgPSB0aGlzLnRhYnMuZXEoIGluZGV4ICksDQoJCQlhbmNob3IgPSB0YWIuZmluZCggIi51aS10YWJzLWFuY2hvciIgKSwNCgkJCXBhbmVsID0gdGhpcy5fZ2V0UGFuZWxGb3JUYWIoIHRhYiApLA0KCQkJZXZlbnREYXRhID0gew0KCQkJCXRhYjogdGFiLA0KCQkJCXBhbmVsOiBwYW5lbA0KCQkJfSwNCgkJCWNvbXBsZXRlID0gZnVuY3Rpb24oIGpxWEhSLCBzdGF0dXMgKSB7DQoJCQkJaWYgKCBzdGF0dXMgPT09ICJhYm9ydCIgKSB7DQoJCQkJCXRoYXQucGFuZWxzLnN0b3AoIGZhbHNlLCB0cnVlICk7DQoJCQkJfQ0KDQoJCQkJdGhhdC5fcmVtb3ZlQ2xhc3MoIHRhYiwgInVpLXRhYnMtbG9hZGluZyIgKTsNCgkJCQlwYW5lbC5yZW1vdmVBdHRyKCAiYXJpYS1idXN5IiApOw0KDQoJCQkJaWYgKCBqcVhIUiA9PT0gdGhhdC54aHIgKSB7DQoJCQkJCWRlbGV0ZSB0aGF0LnhocjsNCgkJCQl9DQoJCQl9Ow0KDQoJCS8vIE5vdCByZW1vdGUNCgkJaWYgKCB0aGlzLl9pc0xvY2FsKCBhbmNob3JbIDAgXSApICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJdGhpcy54aHIgPSAkLmFqYXgoIHRoaXMuX2FqYXhTZXR0aW5ncyggYW5jaG9yLCBldmVudCwgZXZlbnREYXRhICkgKTsNCg0KCQkvLyBTdXBwb3J0OiBqUXVlcnkgPDEuOA0KCQkvLyBqUXVlcnkgPDEuOCByZXR1cm5zIGZhbHNlIGlmIHRoZSByZXF1ZXN0IGlzIGNhbmNlbGVkIGluIGJlZm9yZVNlbmQsDQoJCS8vIGJ1dCBhcyBvZiAxLjgsICQuYWpheCgpIGFsd2F5cyByZXR1cm5zIGEganFYSFIgb2JqZWN0Lg0KCQlpZiAoIHRoaXMueGhyICYmIHRoaXMueGhyLnN0YXR1c1RleHQgIT09ICJjYW5jZWxlZCIgKSB7DQoJCQl0aGlzLl9hZGRDbGFzcyggdGFiLCAidWktdGFicy1sb2FkaW5nIiApOw0KCQkJcGFuZWwuYXR0ciggImFyaWEtYnVzeSIsICJ0cnVlIiApOw0KDQoJCQl0aGlzLnhocg0KCQkJCS5kb25lKCBmdW5jdGlvbiggcmVzcG9uc2UsIHN0YXR1cywganFYSFIgKSB7DQoNCgkJCQkJLy8gc3VwcG9ydDogalF1ZXJ5IDwxLjgNCgkJCQkJLy8gaHR0cDovL2J1Z3MuanF1ZXJ5LmNvbS90aWNrZXQvMTE3NzgNCgkJCQkJc2V0VGltZW91dCggZnVuY3Rpb24oKSB7DQoJCQkJCQlwYW5lbC5odG1sKCByZXNwb25zZSApOw0KCQkJCQkJdGhhdC5fdHJpZ2dlciggImxvYWQiLCBldmVudCwgZXZlbnREYXRhICk7DQoNCgkJCQkJCWNvbXBsZXRlKCBqcVhIUiwgc3RhdHVzICk7DQoJCQkJCX0sIDEgKTsNCgkJCQl9ICkNCgkJCQkuZmFpbCggZnVuY3Rpb24oIGpxWEhSLCBzdGF0dXMgKSB7DQoNCgkJCQkJLy8gc3VwcG9ydDogalF1ZXJ5IDwxLjgNCgkJCQkJLy8gaHR0cDovL2J1Z3MuanF1ZXJ5LmNvbS90aWNrZXQvMTE3NzgNCgkJCQkJc2V0VGltZW91dCggZnVuY3Rpb24oKSB7DQoJCQkJCQljb21wbGV0ZSgganFYSFIsIHN0YXR1cyApOw0KCQkJCQl9LCAxICk7DQoJCQkJfSApOw0KCQl9DQoJfSwNCg0KCV9hamF4U2V0dGluZ3M6IGZ1bmN0aW9uKCBhbmNob3IsIGV2ZW50LCBldmVudERhdGEgKSB7DQoJCXZhciB0aGF0ID0gdGhpczsNCgkJcmV0dXJuIHsNCg0KCQkJLy8gU3VwcG9ydDogSUUgPDExIG9ubHkNCgkJCS8vIFN0cmlwIGFueSBoYXNoIHRoYXQgZXhpc3RzIHRvIHByZXZlbnQgZXJyb3JzIHdpdGggdGhlIEFqYXggcmVxdWVzdA0KCQkJdXJsOiBhbmNob3IuYXR0ciggImhyZWYiICkucmVwbGFjZSggLyMuKiQvLCAiIiApLA0KCQkJYmVmb3JlU2VuZDogZnVuY3Rpb24oIGpxWEhSLCBzZXR0aW5ncyApIHsNCgkJCQlyZXR1cm4gdGhhdC5fdHJpZ2dlciggImJlZm9yZUxvYWQiLCBldmVudCwNCgkJCQkJJC5leHRlbmQoIHsganFYSFI6IGpxWEhSLCBhamF4U2V0dGluZ3M6IHNldHRpbmdzIH0sIGV2ZW50RGF0YSApICk7DQoJCQl9DQoJCX07DQoJfSwNCg0KCV9nZXRQYW5lbEZvclRhYjogZnVuY3Rpb24oIHRhYiApIHsNCgkJdmFyIGlkID0gJCggdGFiICkuYXR0ciggImFyaWEtY29udHJvbHMiICk7DQoJCXJldHVybiB0aGlzLmVsZW1lbnQuZmluZCggdGhpcy5fc2FuaXRpemVTZWxlY3RvciggIiMiICsgaWQgKSApOw0KCX0NCn0gKTsNCg0KLy8gREVQUkVDQVRFRA0KLy8gVE9ETzogU3dpdGNoIHJldHVybiBiYWNrIHRvIHdpZGdldCBkZWNsYXJhdGlvbiBhdCB0b3Agb2YgZmlsZSB3aGVuIHRoaXMgaXMgcmVtb3ZlZA0KaWYgKCAkLnVpQmFja0NvbXBhdCAhPT0gZmFsc2UgKSB7DQoNCgkvLyBCYWNrY29tcGF0IGZvciB1aS10YWIgY2xhc3MgKG5vdyB1aS10YWJzLXRhYikNCgkkLndpZGdldCggInVpLnRhYnMiLCAkLnVpLnRhYnMsIHsNCgkJX3Byb2Nlc3NUYWJzOiBmdW5jdGlvbigpIHsNCgkJCXRoaXMuX3N1cGVyQXBwbHkoIGFyZ3VtZW50cyApOw0KCQkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMudGFicywgInVpLXRhYiIgKTsNCgkJfQ0KCX0gKTsNCn0NCg0KdmFyIHdpZGdldHNUYWJzID0gJC51aS50YWJzOw0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIFRvb2x0aXAgMS4xMi4xDQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqLw0KDQovLz4+bGFiZWw6IFRvb2x0aXANCi8vPj5ncm91cDogV2lkZ2V0cw0KLy8+PmRlc2NyaXB0aW9uOiBTaG93cyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGZvciBhbnkgZWxlbWVudCBvbiBob3ZlciBvciBmb2N1cy4NCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS90b29sdGlwLw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL3Rvb2x0aXAvDQovLz4+Y3NzLnN0cnVjdHVyZTogLi4vLi4vdGhlbWVzL2Jhc2UvY29yZS5jc3MNCi8vPj5jc3Muc3RydWN0dXJlOiAuLi8uLi90aGVtZXMvYmFzZS90b29sdGlwLmNzcw0KLy8+PmNzcy50aGVtZTogLi4vLi4vdGhlbWVzL2Jhc2UvdGhlbWUuY3NzDQoNCg0KDQokLndpZGdldCggInVpLnRvb2x0aXAiLCB7DQoJdmVyc2lvbjogIjEuMTIuMSIsDQoJb3B0aW9uczogew0KCQljbGFzc2VzOiB7DQoJCQkidWktdG9vbHRpcCI6ICJ1aS1jb3JuZXItYWxsIHVpLXdpZGdldC1zaGFkb3ciDQoJCX0sDQoJCWNvbnRlbnQ6IGZ1bmN0aW9uKCkgew0KDQoJCQkvLyBzdXBwb3J0OiBJRTw5LCBPcGVyYSBpbiBqUXVlcnkgPDEuNw0KCQkJLy8gLnRleHQoKSBjYW4ndCBhY2NlcHQgdW5kZWZpbmVkLCBzbyBjb2VyY2UgdG8gYSBzdHJpbmcNCgkJCXZhciB0aXRsZSA9ICQoIHRoaXMgKS5hdHRyKCAidGl0bGUiICkgfHwgIiI7DQoNCgkJCS8vIEVzY2FwZSB0aXRsZSwgc2luY2Ugd2UncmUgZ29pbmcgZnJvbSBhbiBhdHRyaWJ1dGUgdG8gcmF3IEhUTUwNCgkJCXJldHVybiAkKCAiPGE+IiApLnRleHQoIHRpdGxlICkuaHRtbCgpOw0KCQl9LA0KCQloaWRlOiB0cnVlLA0KDQoJCS8vIERpc2FibGVkIGVsZW1lbnRzIGhhdmUgaW5jb25zaXN0ZW50IGJlaGF2aW9yIGFjcm9zcyBicm93c2VycyAoIzg2NjEpDQoJCWl0ZW1zOiAiW3RpdGxlXTpub3QoW2Rpc2FibGVkXSkiLA0KCQlwb3NpdGlvbjogew0KCQkJbXk6ICJsZWZ0IHRvcCsxNSIsDQoJCQlhdDogImxlZnQgYm90dG9tIiwNCgkJCWNvbGxpc2lvbjogImZsaXBmaXQgZmxpcCINCgkJfSwNCgkJc2hvdzogdHJ1ZSwNCgkJdHJhY2s6IGZhbHNlLA0KDQoJCS8vIENhbGxiYWNrcw0KCQljbG9zZTogbnVsbCwNCgkJb3BlbjogbnVsbA0KCX0sDQoNCglfYWRkRGVzY3JpYmVkQnk6IGZ1bmN0aW9uKCBlbGVtLCBpZCApIHsNCgkJdmFyIGRlc2NyaWJlZGJ5ID0gKCBlbGVtLmF0dHIoICJhcmlhLWRlc2NyaWJlZGJ5IiApIHx8ICIiICkuc3BsaXQoIC9ccysvICk7DQoJCWRlc2NyaWJlZGJ5LnB1c2goIGlkICk7DQoJCWVsZW0NCgkJCS5kYXRhKCAidWktdG9vbHRpcC1pZCIsIGlkICkNCgkJCS5hdHRyKCAiYXJpYS1kZXNjcmliZWRieSIsICQudHJpbSggZGVzY3JpYmVkYnkuam9pbiggIiAiICkgKSApOw0KCX0sDQoNCglfcmVtb3ZlRGVzY3JpYmVkQnk6IGZ1bmN0aW9uKCBlbGVtICkgew0KCQl2YXIgaWQgPSBlbGVtLmRhdGEoICJ1aS10b29sdGlwLWlkIiApLA0KCQkJZGVzY3JpYmVkYnkgPSAoIGVsZW0uYXR0ciggImFyaWEtZGVzY3JpYmVkYnkiICkgfHwgIiIgKS5zcGxpdCggL1xzKy8gKSwNCgkJCWluZGV4ID0gJC5pbkFycmF5KCBpZCwgZGVzY3JpYmVkYnkgKTsNCg0KCQlpZiAoIGluZGV4ICE9PSAtMSApIHsNCgkJCWRlc2NyaWJlZGJ5LnNwbGljZSggaW5kZXgsIDEgKTsNCgkJfQ0KDQoJCWVsZW0ucmVtb3ZlRGF0YSggInVpLXRvb2x0aXAtaWQiICk7DQoJCWRlc2NyaWJlZGJ5ID0gJC50cmltKCBkZXNjcmliZWRieS5qb2luKCAiICIgKSApOw0KCQlpZiAoIGRlc2NyaWJlZGJ5ICkgew0KCQkJZWxlbS5hdHRyKCAiYXJpYS1kZXNjcmliZWRieSIsIGRlc2NyaWJlZGJ5ICk7DQoJCX0gZWxzZSB7DQoJCQllbGVtLnJlbW92ZUF0dHIoICJhcmlhLWRlc2NyaWJlZGJ5IiApOw0KCQl9DQoJfSwNCg0KCV9jcmVhdGU6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLl9vbiggew0KCQkJbW91c2VvdmVyOiAib3BlbiIsDQoJCQlmb2N1c2luOiAib3BlbiINCgkJfSApOw0KDQoJCS8vIElEcyBvZiBnZW5lcmF0ZWQgdG9vbHRpcHMsIG5lZWRlZCBmb3IgZGVzdHJveQ0KCQl0aGlzLnRvb2x0aXBzID0ge307DQoNCgkJLy8gSURzIG9mIHBhcmVudCB0b29sdGlwcyB3aGVyZSB3ZSByZW1vdmVkIHRoZSB0aXRsZSBhdHRyaWJ1dGUNCgkJdGhpcy5wYXJlbnRzID0ge307DQoNCgkJLy8gQXBwZW5kIHRoZSBhcmlhLWxpdmUgcmVnaW9uIHNvIHRvb2x0aXBzIGFubm91bmNlIGNvcnJlY3RseQ0KCQl0aGlzLmxpdmVSZWdpb24gPSAkKCAiPGRpdj4iICkNCgkJCS5hdHRyKCB7DQoJCQkJcm9sZTogImxvZyIsDQoJCQkJImFyaWEtbGl2ZSI6ICJhc3NlcnRpdmUiLA0KCQkJCSJhcmlhLXJlbGV2YW50IjogImFkZGl0aW9ucyINCgkJCX0gKQ0KCQkJLmFwcGVuZFRvKCB0aGlzLmRvY3VtZW50WyAwIF0uYm9keSApOw0KCQl0aGlzLl9hZGRDbGFzcyggdGhpcy5saXZlUmVnaW9uLCBudWxsLCAidWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIiApOw0KDQoJCXRoaXMuZGlzYWJsZWRUaXRsZXMgPSAkKCBbXSApOw0KCX0sDQoNCglfc2V0T3B0aW9uOiBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCgkJdmFyIHRoYXQgPSB0aGlzOw0KDQoJCXRoaXMuX3N1cGVyKCBrZXksIHZhbHVlICk7DQoNCgkJaWYgKCBrZXkgPT09ICJjb250ZW50IiApIHsNCgkJCSQuZWFjaCggdGhpcy50b29sdGlwcywgZnVuY3Rpb24oIGlkLCB0b29sdGlwRGF0YSApIHsNCgkJCQl0aGF0Ll91cGRhdGVDb250ZW50KCB0b29sdGlwRGF0YS5lbGVtZW50ICk7DQoJCQl9ICk7DQoJCX0NCgl9LA0KDQoJX3NldE9wdGlvbkRpc2FibGVkOiBmdW5jdGlvbiggdmFsdWUgKSB7DQoJCXRoaXNbIHZhbHVlID8gIl9kaXNhYmxlIiA6ICJfZW5hYmxlIiBdKCk7DQoJfSwNCg0KCV9kaXNhYmxlOiBmdW5jdGlvbigpIHsNCgkJdmFyIHRoYXQgPSB0aGlzOw0KDQoJCS8vIENsb3NlIG9wZW4gdG9vbHRpcHMNCgkJJC5lYWNoKCB0aGlzLnRvb2x0aXBzLCBmdW5jdGlvbiggaWQsIHRvb2x0aXBEYXRhICkgew0KCQkJdmFyIGV2ZW50ID0gJC5FdmVudCggImJsdXIiICk7DQoJCQlldmVudC50YXJnZXQgPSBldmVudC5jdXJyZW50VGFyZ2V0ID0gdG9vbHRpcERhdGEuZWxlbWVudFsgMCBdOw0KCQkJdGhhdC5jbG9zZSggZXZlbnQsIHRydWUgKTsNCgkJfSApOw0KDQoJCS8vIFJlbW92ZSB0aXRsZSBhdHRyaWJ1dGVzIHRvIHByZXZlbnQgbmF0aXZlIHRvb2x0aXBzDQoJCXRoaXMuZGlzYWJsZWRUaXRsZXMgPSB0aGlzLmRpc2FibGVkVGl0bGVzLmFkZCgNCgkJCXRoaXMuZWxlbWVudC5maW5kKCB0aGlzLm9wdGlvbnMuaXRlbXMgKS5hZGRCYWNrKCkNCgkJCQkuZmlsdGVyKCBmdW5jdGlvbigpIHsNCgkJCQkJdmFyIGVsZW1lbnQgPSAkKCB0aGlzICk7DQoJCQkJCWlmICggZWxlbWVudC5pcyggIlt0aXRsZV0iICkgKSB7DQoJCQkJCQlyZXR1cm4gZWxlbWVudA0KCQkJCQkJCS5kYXRhKCAidWktdG9vbHRpcC10aXRsZSIsIGVsZW1lbnQuYXR0ciggInRpdGxlIiApICkNCgkJCQkJCQkucmVtb3ZlQXR0ciggInRpdGxlIiApOw0KCQkJCQl9DQoJCQkJfSApDQoJCSk7DQoJfSwNCg0KCV9lbmFibGU6IGZ1bmN0aW9uKCkgew0KDQoJCS8vIHJlc3RvcmUgdGl0bGUgYXR0cmlidXRlcw0KCQl0aGlzLmRpc2FibGVkVGl0bGVzLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJdmFyIGVsZW1lbnQgPSAkKCB0aGlzICk7DQoJCQlpZiAoIGVsZW1lbnQuZGF0YSggInVpLXRvb2x0aXAtdGl0bGUiICkgKSB7DQoJCQkJZWxlbWVudC5hdHRyKCAidGl0bGUiLCBlbGVtZW50LmRhdGEoICJ1aS10b29sdGlwLXRpdGxlIiApICk7DQoJCQl9DQoJCX0gKTsNCgkJdGhpcy5kaXNhYmxlZFRpdGxlcyA9ICQoIFtdICk7DQoJfSwNCg0KCW9wZW46IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdmFyIHRoYXQgPSB0aGlzLA0KCQkJdGFyZ2V0ID0gJCggZXZlbnQgPyBldmVudC50YXJnZXQgOiB0aGlzLmVsZW1lbnQgKQ0KDQoJCQkJLy8gd2UgbmVlZCBjbG9zZXN0IGhlcmUgZHVlIHRvIG1vdXNlb3ZlciBidWJibGluZywNCgkJCQkvLyBidXQgYWx3YXlzIHBvaW50aW5nIGF0IHRoZSBzYW1lIGV2ZW50IHRhcmdldA0KCQkJCS5jbG9zZXN0KCB0aGlzLm9wdGlvbnMuaXRlbXMgKTsNCg0KCQkvLyBObyBlbGVtZW50IHRvIHNob3cgYSB0b29sdGlwIGZvciBvciB0aGUgdG9vbHRpcCBpcyBhbHJlYWR5IG9wZW4NCgkJaWYgKCAhdGFyZ2V0Lmxlbmd0aCB8fCB0YXJnZXQuZGF0YSggInVpLXRvb2x0aXAtaWQiICkgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlpZiAoIHRhcmdldC5hdHRyKCAidGl0bGUiICkgKSB7DQoJCQl0YXJnZXQuZGF0YSggInVpLXRvb2x0aXAtdGl0bGUiLCB0YXJnZXQuYXR0ciggInRpdGxlIiApICk7DQoJCX0NCg0KCQl0YXJnZXQuZGF0YSggInVpLXRvb2x0aXAtb3BlbiIsIHRydWUgKTsNCg0KCQkvLyBLaWxsIHBhcmVudCB0b29sdGlwcywgY3VzdG9tIG9yIG5hdGl2ZSwgZm9yIGhvdmVyDQoJCWlmICggZXZlbnQgJiYgZXZlbnQudHlwZSA9PT0gIm1vdXNlb3ZlciIgKSB7DQoJCQl0YXJnZXQucGFyZW50cygpLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJCXZhciBwYXJlbnQgPSAkKCB0aGlzICksDQoJCQkJCWJsdXJFdmVudDsNCgkJCQlpZiAoIHBhcmVudC5kYXRhKCAidWktdG9vbHRpcC1vcGVuIiApICkgew0KCQkJCQlibHVyRXZlbnQgPSAkLkV2ZW50KCAiYmx1ciIgKTsNCgkJCQkJYmx1ckV2ZW50LnRhcmdldCA9IGJsdXJFdmVudC5jdXJyZW50VGFyZ2V0ID0gdGhpczsNCgkJCQkJdGhhdC5jbG9zZSggYmx1ckV2ZW50LCB0cnVlICk7DQoJCQkJfQ0KCQkJCWlmICggcGFyZW50LmF0dHIoICJ0aXRsZSIgKSApIHsNCgkJCQkJcGFyZW50LnVuaXF1ZUlkKCk7DQoJCQkJCXRoYXQucGFyZW50c1sgdGhpcy5pZCBdID0gew0KCQkJCQkJZWxlbWVudDogdGhpcywNCgkJCQkJCXRpdGxlOiBwYXJlbnQuYXR0ciggInRpdGxlIiApDQoJCQkJCX07DQoJCQkJCXBhcmVudC5hdHRyKCAidGl0bGUiLCAiIiApOw0KCQkJCX0NCgkJCX0gKTsNCgkJfQ0KDQoJCXRoaXMuX3JlZ2lzdGVyQ2xvc2VIYW5kbGVycyggZXZlbnQsIHRhcmdldCApOw0KCQl0aGlzLl91cGRhdGVDb250ZW50KCB0YXJnZXQsIGV2ZW50ICk7DQoJfSwNCg0KCV91cGRhdGVDb250ZW50OiBmdW5jdGlvbiggdGFyZ2V0LCBldmVudCApIHsNCgkJdmFyIGNvbnRlbnQsDQoJCQljb250ZW50T3B0aW9uID0gdGhpcy5vcHRpb25zLmNvbnRlbnQsDQoJCQl0aGF0ID0gdGhpcywNCgkJCWV2ZW50VHlwZSA9IGV2ZW50ID8gZXZlbnQudHlwZSA6IG51bGw7DQoNCgkJaWYgKCB0eXBlb2YgY29udGVudE9wdGlvbiA9PT0gInN0cmluZyIgfHwgY29udGVudE9wdGlvbi5ub2RlVHlwZSB8fA0KCQkJCWNvbnRlbnRPcHRpb24uanF1ZXJ5ICkgew0KCQkJcmV0dXJuIHRoaXMuX29wZW4oIGV2ZW50LCB0YXJnZXQsIGNvbnRlbnRPcHRpb24gKTsNCgkJfQ0KDQoJCWNvbnRlbnQgPSBjb250ZW50T3B0aW9uLmNhbGwoIHRhcmdldFsgMCBdLCBmdW5jdGlvbiggcmVzcG9uc2UgKSB7DQoNCgkJCS8vIElFIG1heSBpbnN0YW50bHkgc2VydmUgYSBjYWNoZWQgcmVzcG9uc2UgZm9yIGFqYXggcmVxdWVzdHMNCgkJCS8vIGRlbGF5IHRoaXMgY2FsbCB0byBfb3BlbiBzbyB0aGUgb3RoZXIgY2FsbCB0byBfb3BlbiBydW5zIGZpcnN0DQoJCQl0aGF0Ll9kZWxheSggZnVuY3Rpb24oKSB7DQoNCgkJCQkvLyBJZ25vcmUgYXN5bmMgcmVzcG9uc2UgaWYgdG9vbHRpcCB3YXMgY2xvc2VkIGFscmVhZHkNCgkJCQlpZiAoICF0YXJnZXQuZGF0YSggInVpLXRvb2x0aXAtb3BlbiIgKSApIHsNCgkJCQkJcmV0dXJuOw0KCQkJCX0NCg0KCQkJCS8vIEpRdWVyeSBjcmVhdGVzIGEgc3BlY2lhbCBldmVudCBmb3IgZm9jdXNpbiB3aGVuIGl0IGRvZXNuJ3QNCgkJCQkvLyBleGlzdCBuYXRpdmVseS4gVG8gaW1wcm92ZSBwZXJmb3JtYW5jZSwgdGhlIG5hdGl2ZSBldmVudA0KCQkJCS8vIG9iamVjdCBpcyByZXVzZWQgYW5kIHRoZSB0eXBlIGlzIGNoYW5nZWQuIFRoZXJlZm9yZSwgd2UgY2FuJ3QNCgkJCQkvLyByZWx5IG9uIHRoZSB0eXBlIGJlaW5nIGNvcnJlY3QgYWZ0ZXIgdGhlIGV2ZW50IGZpbmlzaGVkDQoJCQkJLy8gYnViYmxpbmcsIHNvIHdlIHNldCBpdCBiYWNrIHRvIHRoZSBwcmV2aW91cyB2YWx1ZS4gKCM4NzQwKQ0KCQkJCWlmICggZXZlbnQgKSB7DQoJCQkJCWV2ZW50LnR5cGUgPSBldmVudFR5cGU7DQoJCQkJfQ0KCQkJCXRoaXMuX29wZW4oIGV2ZW50LCB0YXJnZXQsIHJlc3BvbnNlICk7DQoJCQl9ICk7DQoJCX0gKTsNCgkJaWYgKCBjb250ZW50ICkgew0KCQkJdGhpcy5fb3BlbiggZXZlbnQsIHRhcmdldCwgY29udGVudCApOw0KCQl9DQoJfSwNCg0KCV9vcGVuOiBmdW5jdGlvbiggZXZlbnQsIHRhcmdldCwgY29udGVudCApIHsNCgkJdmFyIHRvb2x0aXBEYXRhLCB0b29sdGlwLCBkZWxheWVkU2hvdywgYTExeUNvbnRlbnQsDQoJCQlwb3NpdGlvbk9wdGlvbiA9ICQuZXh0ZW5kKCB7fSwgdGhpcy5vcHRpb25zLnBvc2l0aW9uICk7DQoNCgkJaWYgKCAhY29udGVudCApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCS8vIENvbnRlbnQgY2FuIGJlIHVwZGF0ZWQgbXVsdGlwbGUgdGltZXMuIElmIHRoZSB0b29sdGlwIGFscmVhZHkNCgkJLy8gZXhpc3RzLCB0aGVuIGp1c3QgdXBkYXRlIHRoZSBjb250ZW50IGFuZCBiYWlsLg0KCQl0b29sdGlwRGF0YSA9IHRoaXMuX2ZpbmQoIHRhcmdldCApOw0KCQlpZiAoIHRvb2x0aXBEYXRhICkgew0KCQkJdG9vbHRpcERhdGEudG9vbHRpcC5maW5kKCAiLnVpLXRvb2x0aXAtY29udGVudCIgKS5odG1sKCBjb250ZW50ICk7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQkvLyBJZiB3ZSBoYXZlIGEgdGl0bGUsIGNsZWFyIGl0IHRvIHByZXZlbnQgdGhlIG5hdGl2ZSB0b29sdGlwDQoJCS8vIHdlIGhhdmUgdG8gY2hlY2sgZmlyc3QgdG8gYXZvaWQgZGVmaW5pbmcgYSB0aXRsZSBpZiBub25lIGV4aXN0cw0KCQkvLyAod2UgZG9uJ3Qgd2FudCB0byBjYXVzZSBhbiBlbGVtZW50IHRvIHN0YXJ0IG1hdGNoaW5nIFt0aXRsZV0pDQoJCS8vDQoJCS8vIFdlIHVzZSByZW1vdmVBdHRyIG9ubHkgZm9yIGtleSBldmVudHMsIHRvIGFsbG93IElFIHRvIGV4cG9ydCB0aGUgY29ycmVjdA0KCQkvLyBhY2Nlc3NpYmxlIGF0dHJpYnV0ZXMuIEZvciBtb3VzZSBldmVudHMsIHNldCB0byBlbXB0eSBzdHJpbmcgdG8gYXZvaWQNCgkJLy8gbmF0aXZlIHRvb2x0aXAgc2hvd2luZyB1cCAoaGFwcGVucyBvbmx5IHdoZW4gcmVtb3ZpbmcgaW5zaWRlIG1vdXNlb3ZlcikuDQoJCWlmICggdGFyZ2V0LmlzKCAiW3RpdGxlXSIgKSApIHsNCgkJCWlmICggZXZlbnQgJiYgZXZlbnQudHlwZSA9PT0gIm1vdXNlb3ZlciIgKSB7DQoJCQkJdGFyZ2V0LmF0dHIoICJ0aXRsZSIsICIiICk7DQoJCQl9IGVsc2Ugew0KCQkJCXRhcmdldC5yZW1vdmVBdHRyKCAidGl0bGUiICk7DQoJCQl9DQoJCX0NCg0KCQl0b29sdGlwRGF0YSA9IHRoaXMuX3Rvb2x0aXAoIHRhcmdldCApOw0KCQl0b29sdGlwID0gdG9vbHRpcERhdGEudG9vbHRpcDsNCgkJdGhpcy5fYWRkRGVzY3JpYmVkQnkoIHRhcmdldCwgdG9vbHRpcC5hdHRyKCAiaWQiICkgKTsNCgkJdG9vbHRpcC5maW5kKCAiLnVpLXRvb2x0aXAtY29udGVudCIgKS5odG1sKCBjb250ZW50ICk7DQoNCgkJLy8gU3VwcG9ydDogVm9pY2VvdmVyIG9uIE9TIFgsIEpBV1Mgb24gSUUgPD0gOQ0KCQkvLyBKQVdTIGFubm91bmNlcyBkZWxldGlvbnMgZXZlbiB3aGVuIGFyaWEtcmVsZXZhbnQ9ImFkZGl0aW9ucyINCgkJLy8gVm9pY2VvdmVyIHdpbGwgc29tZXRpbWVzIHJlLXJlYWQgdGhlIGVudGlyZSBsb2cgcmVnaW9uJ3MgY29udGVudHMgZnJvbSB0aGUgYmVnaW5uaW5nDQoJCXRoaXMubGl2ZVJlZ2lvbi5jaGlsZHJlbigpLmhpZGUoKTsNCgkJYTExeUNvbnRlbnQgPSAkKCAiPGRpdj4iICkuaHRtbCggdG9vbHRpcC5maW5kKCAiLnVpLXRvb2x0aXAtY29udGVudCIgKS5odG1sKCkgKTsNCgkJYTExeUNvbnRlbnQucmVtb3ZlQXR0ciggIm5hbWUiICkuZmluZCggIltuYW1lXSIgKS5yZW1vdmVBdHRyKCAibmFtZSIgKTsNCgkJYTExeUNvbnRlbnQucmVtb3ZlQXR0ciggImlkIiApLmZpbmQoICJbaWRdIiApLnJlbW92ZUF0dHIoICJpZCIgKTsNCgkJYTExeUNvbnRlbnQuYXBwZW5kVG8oIHRoaXMubGl2ZVJlZ2lvbiApOw0KDQoJCWZ1bmN0aW9uIHBvc2l0aW9uKCBldmVudCApIHsNCgkJCXBvc2l0aW9uT3B0aW9uLm9mID0gZXZlbnQ7DQoJCQlpZiAoIHRvb2x0aXAuaXMoICI6aGlkZGVuIiApICkgew0KCQkJCXJldHVybjsNCgkJCX0NCgkJCXRvb2x0aXAucG9zaXRpb24oIHBvc2l0aW9uT3B0aW9uICk7DQoJCX0NCgkJaWYgKCB0aGlzLm9wdGlvbnMudHJhY2sgJiYgZXZlbnQgJiYgL15tb3VzZS8udGVzdCggZXZlbnQudHlwZSApICkgew0KCQkJdGhpcy5fb24oIHRoaXMuZG9jdW1lbnQsIHsNCgkJCQltb3VzZW1vdmU6IHBvc2l0aW9uDQoJCQl9ICk7DQoNCgkJCS8vIHRyaWdnZXIgb25jZSB0byBvdmVycmlkZSBlbGVtZW50LXJlbGF0aXZlIHBvc2l0aW9uaW5nDQoJCQlwb3NpdGlvbiggZXZlbnQgKTsNCgkJfSBlbHNlIHsNCgkJCXRvb2x0aXAucG9zaXRpb24oICQuZXh0ZW5kKCB7DQoJCQkJb2Y6IHRhcmdldA0KCQkJfSwgdGhpcy5vcHRpb25zLnBvc2l0aW9uICkgKTsNCgkJfQ0KDQoJCXRvb2x0aXAuaGlkZSgpOw0KDQoJCXRoaXMuX3Nob3coIHRvb2x0aXAsIHRoaXMub3B0aW9ucy5zaG93ICk7DQoNCgkJLy8gSGFuZGxlIHRyYWNraW5nIHRvb2x0aXBzIHRoYXQgYXJlIHNob3duIHdpdGggYSBkZWxheSAoIzg2NDQpLiBBcyBzb29uDQoJCS8vIGFzIHRoZSB0b29sdGlwIGlzIHZpc2libGUsIHBvc2l0aW9uIHRoZSB0b29sdGlwIHVzaW5nIHRoZSBtb3N0IHJlY2VudA0KCQkvLyBldmVudC4NCgkJLy8gQWRkcyB0aGUgY2hlY2sgdG8gYWRkIHRoZSB0aW1lcnMgb25seSB3aGVuIGJvdGggZGVsYXkgYW5kIHRyYWNrIG9wdGlvbnMgYXJlIHNldCAoIzE0NjgyKQ0KCQlpZiAoIHRoaXMub3B0aW9ucy50cmFjayAmJiB0aGlzLm9wdGlvbnMuc2hvdyAmJiB0aGlzLm9wdGlvbnMuc2hvdy5kZWxheSApIHsNCgkJCWRlbGF5ZWRTaG93ID0gdGhpcy5kZWxheWVkU2hvdyA9IHNldEludGVydmFsKCBmdW5jdGlvbigpIHsNCgkJCQlpZiAoIHRvb2x0aXAuaXMoICI6dmlzaWJsZSIgKSApIHsNCgkJCQkJcG9zaXRpb24oIHBvc2l0aW9uT3B0aW9uLm9mICk7DQoJCQkJCWNsZWFySW50ZXJ2YWwoIGRlbGF5ZWRTaG93ICk7DQoJCQkJfQ0KCQkJfSwgJC5meC5pbnRlcnZhbCApOw0KCQl9DQoNCgkJdGhpcy5fdHJpZ2dlciggIm9wZW4iLCBldmVudCwgeyB0b29sdGlwOiB0b29sdGlwIH0gKTsNCgl9LA0KDQoJX3JlZ2lzdGVyQ2xvc2VIYW5kbGVyczogZnVuY3Rpb24oIGV2ZW50LCB0YXJnZXQgKSB7DQoJCXZhciBldmVudHMgPSB7DQoJCQlrZXl1cDogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCWlmICggZXZlbnQua2V5Q29kZSA9PT0gJC51aS5rZXlDb2RlLkVTQ0FQRSApIHsNCgkJCQkJdmFyIGZha2VFdmVudCA9ICQuRXZlbnQoIGV2ZW50ICk7DQoJCQkJCWZha2VFdmVudC5jdXJyZW50VGFyZ2V0ID0gdGFyZ2V0WyAwIF07DQoJCQkJCXRoaXMuY2xvc2UoIGZha2VFdmVudCwgdHJ1ZSApOw0KCQkJCX0NCgkJCX0NCgkJfTsNCg0KCQkvLyBPbmx5IGJpbmQgcmVtb3ZlIGhhbmRsZXIgZm9yIGRlbGVnYXRlZCB0YXJnZXRzLiBOb24tZGVsZWdhdGVkDQoJCS8vIHRvb2x0aXBzIHdpbGwgaGFuZGxlIHRoaXMgaW4gZGVzdHJveS4NCgkJaWYgKCB0YXJnZXRbIDAgXSAhPT0gdGhpcy5lbGVtZW50WyAwIF0gKSB7DQoJCQlldmVudHMucmVtb3ZlID0gZnVuY3Rpb24oKSB7DQoJCQkJdGhpcy5fcmVtb3ZlVG9vbHRpcCggdGhpcy5fZmluZCggdGFyZ2V0ICkudG9vbHRpcCApOw0KCQkJfTsNCgkJfQ0KDQoJCWlmICggIWV2ZW50IHx8IGV2ZW50LnR5cGUgPT09ICJtb3VzZW92ZXIiICkgew0KCQkJZXZlbnRzLm1vdXNlbGVhdmUgPSAiY2xvc2UiOw0KCQl9DQoJCWlmICggIWV2ZW50IHx8IGV2ZW50LnR5cGUgPT09ICJmb2N1c2luIiApIHsNCgkJCWV2ZW50cy5mb2N1c291dCA9ICJjbG9zZSI7DQoJCX0NCgkJdGhpcy5fb24oIHRydWUsIHRhcmdldCwgZXZlbnRzICk7DQoJfSwNCg0KCWNsb3NlOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXZhciB0b29sdGlwLA0KCQkJdGhhdCA9IHRoaXMsDQoJCQl0YXJnZXQgPSAkKCBldmVudCA/IGV2ZW50LmN1cnJlbnRUYXJnZXQgOiB0aGlzLmVsZW1lbnQgKSwNCgkJCXRvb2x0aXBEYXRhID0gdGhpcy5fZmluZCggdGFyZ2V0ICk7DQoNCgkJLy8gVGhlIHRvb2x0aXAgbWF5IGFscmVhZHkgYmUgY2xvc2VkDQoJCWlmICggIXRvb2x0aXBEYXRhICkgew0KDQoJCQkvLyBXZSBzZXQgdWktdG9vbHRpcC1vcGVuIGltbWVkaWF0ZWx5IHVwb24gb3BlbiAoaW4gb3BlbigpKSwgYnV0IG9ubHkgc2V0IHRoZQ0KCQkJLy8gYWRkaXRpb25hbCBkYXRhIG9uY2UgdGhlcmUncyBhY3R1YWxseSBjb250ZW50IHRvIHNob3cgKGluIF9vcGVuKCkpLiBTbyBldmVuIGlmIHRoZQ0KCQkJLy8gdG9vbHRpcCBkb2Vzbid0IGhhdmUgZnVsbCBkYXRhLCB3ZSBhbHdheXMgcmVtb3ZlIHVpLXRvb2x0aXAtb3BlbiBpbiBjYXNlIHdlJ3JlIGluDQoJCQkvLyB0aGUgcGVyaW9kIGJldHdlZW4gb3BlbigpIGFuZCBfb3BlbigpLg0KCQkJdGFyZ2V0LnJlbW92ZURhdGEoICJ1aS10b29sdGlwLW9wZW4iICk7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQl0b29sdGlwID0gdG9vbHRpcERhdGEudG9vbHRpcDsNCg0KCQkvLyBEaXNhYmxpbmcgY2xvc2VzIHRoZSB0b29sdGlwLCBzbyB3ZSBuZWVkIHRvIHRyYWNrIHdoZW4gd2UncmUgY2xvc2luZw0KCQkvLyB0byBhdm9pZCBhbiBpbmZpbml0ZSBsb29wIGluIGNhc2UgdGhlIHRvb2x0aXAgYmVjb21lcyBkaXNhYmxlZCBvbiBjbG9zZQ0KCQlpZiAoIHRvb2x0aXBEYXRhLmNsb3NpbmcgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQkvLyBDbGVhciB0aGUgaW50ZXJ2YWwgZm9yIGRlbGF5ZWQgdHJhY2tpbmcgdG9vbHRpcHMNCgkJY2xlYXJJbnRlcnZhbCggdGhpcy5kZWxheWVkU2hvdyApOw0KDQoJCS8vIE9ubHkgc2V0IHRpdGxlIGlmIHdlIGhhZCBvbmUgYmVmb3JlIChzZWUgY29tbWVudCBpbiBfb3BlbigpKQ0KCQkvLyBJZiB0aGUgdGl0bGUgYXR0cmlidXRlIGhhcyBjaGFuZ2VkIHNpbmNlIG9wZW4oKSwgZG9uJ3QgcmVzdG9yZQ0KCQlpZiAoIHRhcmdldC5kYXRhKCAidWktdG9vbHRpcC10aXRsZSIgKSAmJiAhdGFyZ2V0LmF0dHIoICJ0aXRsZSIgKSApIHsNCgkJCXRhcmdldC5hdHRyKCAidGl0bGUiLCB0YXJnZXQuZGF0YSggInVpLXRvb2x0aXAtdGl0bGUiICkgKTsNCgkJfQ0KDQoJCXRoaXMuX3JlbW92ZURlc2NyaWJlZEJ5KCB0YXJnZXQgKTsNCg0KCQl0b29sdGlwRGF0YS5oaWRpbmcgPSB0cnVlOw0KCQl0b29sdGlwLnN0b3AoIHRydWUgKTsNCgkJdGhpcy5faGlkZSggdG9vbHRpcCwgdGhpcy5vcHRpb25zLmhpZGUsIGZ1bmN0aW9uKCkgew0KCQkJdGhhdC5fcmVtb3ZlVG9vbHRpcCggJCggdGhpcyApICk7DQoJCX0gKTsNCg0KCQl0YXJnZXQucmVtb3ZlRGF0YSggInVpLXRvb2x0aXAtb3BlbiIgKTsNCgkJdGhpcy5fb2ZmKCB0YXJnZXQsICJtb3VzZWxlYXZlIGZvY3Vzb3V0IGtleXVwIiApOw0KDQoJCS8vIFJlbW92ZSAncmVtb3ZlJyBiaW5kaW5nIG9ubHkgb24gZGVsZWdhdGVkIHRhcmdldHMNCgkJaWYgKCB0YXJnZXRbIDAgXSAhPT0gdGhpcy5lbGVtZW50WyAwIF0gKSB7DQoJCQl0aGlzLl9vZmYoIHRhcmdldCwgInJlbW92ZSIgKTsNCgkJfQ0KCQl0aGlzLl9vZmYoIHRoaXMuZG9jdW1lbnQsICJtb3VzZW1vdmUiICk7DQoNCgkJaWYgKCBldmVudCAmJiBldmVudC50eXBlID09PSAibW91c2VsZWF2ZSIgKSB7DQoJCQkkLmVhY2goIHRoaXMucGFyZW50cywgZnVuY3Rpb24oIGlkLCBwYXJlbnQgKSB7DQoJCQkJJCggcGFyZW50LmVsZW1lbnQgKS5hdHRyKCAidGl0bGUiLCBwYXJlbnQudGl0bGUgKTsNCgkJCQlkZWxldGUgdGhhdC5wYXJlbnRzWyBpZCBdOw0KCQkJfSApOw0KCQl9DQoNCgkJdG9vbHRpcERhdGEuY2xvc2luZyA9IHRydWU7DQoJCXRoaXMuX3RyaWdnZXIoICJjbG9zZSIsIGV2ZW50LCB7IHRvb2x0aXA6IHRvb2x0aXAgfSApOw0KCQlpZiAoICF0b29sdGlwRGF0YS5oaWRpbmcgKSB7DQoJCQl0b29sdGlwRGF0YS5jbG9zaW5nID0gZmFsc2U7DQoJCX0NCgl9LA0KDQoJX3Rvb2x0aXA6IGZ1bmN0aW9uKCBlbGVtZW50ICkgew0KCQl2YXIgdG9vbHRpcCA9ICQoICI8ZGl2PiIgKS5hdHRyKCAicm9sZSIsICJ0b29sdGlwIiApLA0KCQkJY29udGVudCA9ICQoICI8ZGl2PiIgKS5hcHBlbmRUbyggdG9vbHRpcCApLA0KCQkJaWQgPSB0b29sdGlwLnVuaXF1ZUlkKCkuYXR0ciggImlkIiApOw0KDQoJCXRoaXMuX2FkZENsYXNzKCBjb250ZW50LCAidWktdG9vbHRpcC1jb250ZW50IiApOw0KCQl0aGlzLl9hZGRDbGFzcyggdG9vbHRpcCwgInVpLXRvb2x0aXAiLCAidWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IiApOw0KDQoJCXRvb2x0aXAuYXBwZW5kVG8oIHRoaXMuX2FwcGVuZFRvKCBlbGVtZW50ICkgKTsNCg0KCQlyZXR1cm4gdGhpcy50b29sdGlwc1sgaWQgXSA9IHsNCgkJCWVsZW1lbnQ6IGVsZW1lbnQsDQoJCQl0b29sdGlwOiB0b29sdGlwDQoJCX07DQoJfSwNCg0KCV9maW5kOiBmdW5jdGlvbiggdGFyZ2V0ICkgew0KCQl2YXIgaWQgPSB0YXJnZXQuZGF0YSggInVpLXRvb2x0aXAtaWQiICk7DQoJCXJldHVybiBpZCA/IHRoaXMudG9vbHRpcHNbIGlkIF0gOiBudWxsOw0KCX0sDQoNCglfcmVtb3ZlVG9vbHRpcDogZnVuY3Rpb24oIHRvb2x0aXAgKSB7DQoJCXRvb2x0aXAucmVtb3ZlKCk7DQoJCWRlbGV0ZSB0aGlzLnRvb2x0aXBzWyB0b29sdGlwLmF0dHIoICJpZCIgKSBdOw0KCX0sDQoNCglfYXBwZW5kVG86IGZ1bmN0aW9uKCB0YXJnZXQgKSB7DQoJCXZhciBlbGVtZW50ID0gdGFyZ2V0LmNsb3Nlc3QoICIudWktZnJvbnQsIGRpYWxvZyIgKTsNCg0KCQlpZiAoICFlbGVtZW50Lmxlbmd0aCApIHsNCgkJCWVsZW1lbnQgPSB0aGlzLmRvY3VtZW50WyAwIF0uYm9keTsNCgkJfQ0KDQoJCXJldHVybiBlbGVtZW50Ow0KCX0sDQoNCglfZGVzdHJveTogZnVuY3Rpb24oKSB7DQoJCXZhciB0aGF0ID0gdGhpczsNCg0KCQkvLyBDbG9zZSBvcGVuIHRvb2x0aXBzDQoJCSQuZWFjaCggdGhpcy50b29sdGlwcywgZnVuY3Rpb24oIGlkLCB0b29sdGlwRGF0YSApIHsNCg0KCQkJLy8gRGVsZWdhdGUgdG8gY2xvc2UgbWV0aG9kIHRvIGhhbmRsZSBjb21tb24gY2xlYW51cA0KCQkJdmFyIGV2ZW50ID0gJC5FdmVudCggImJsdXIiICksDQoJCQkJZWxlbWVudCA9IHRvb2x0aXBEYXRhLmVsZW1lbnQ7DQoJCQlldmVudC50YXJnZXQgPSBldmVudC5jdXJyZW50VGFyZ2V0ID0gZWxlbWVudFsgMCBdOw0KCQkJdGhhdC5jbG9zZSggZXZlbnQsIHRydWUgKTsNCg0KCQkJLy8gUmVtb3ZlIGltbWVkaWF0ZWx5OyBkZXN0cm95aW5nIGFuIG9wZW4gdG9vbHRpcCBkb2Vzbid0IHVzZSB0aGUNCgkJCS8vIGhpZGUgYW5pbWF0aW9uDQoJCQkkKCAiIyIgKyBpZCApLnJlbW92ZSgpOw0KDQoJCQkvLyBSZXN0b3JlIHRoZSB0aXRsZQ0KCQkJaWYgKCBlbGVtZW50LmRhdGEoICJ1aS10b29sdGlwLXRpdGxlIiApICkgew0KDQoJCQkJLy8gSWYgdGhlIHRpdGxlIGF0dHJpYnV0ZSBoYXMgY2hhbmdlZCBzaW5jZSBvcGVuKCksIGRvbid0IHJlc3RvcmUNCgkJCQlpZiAoICFlbGVtZW50LmF0dHIoICJ0aXRsZSIgKSApIHsNCgkJCQkJZWxlbWVudC5hdHRyKCAidGl0bGUiLCBlbGVtZW50LmRhdGEoICJ1aS10b29sdGlwLXRpdGxlIiApICk7DQoJCQkJfQ0KCQkJCWVsZW1lbnQucmVtb3ZlRGF0YSggInVpLXRvb2x0aXAtdGl0bGUiICk7DQoJCQl9DQoJCX0gKTsNCgkJdGhpcy5saXZlUmVnaW9uLnJlbW92ZSgpOw0KCX0NCn0gKTsNCg0KLy8gREVQUkVDQVRFRA0KLy8gVE9ETzogU3dpdGNoIHJldHVybiBiYWNrIHRvIHdpZGdldCBkZWNsYXJhdGlvbiBhdCB0b3Agb2YgZmlsZSB3aGVuIHRoaXMgaXMgcmVtb3ZlZA0KaWYgKCAkLnVpQmFja0NvbXBhdCAhPT0gZmFsc2UgKSB7DQoNCgkvLyBCYWNrY29tcGF0IGZvciB0b29sdGlwQ2xhc3Mgb3B0aW9uDQoJJC53aWRnZXQoICJ1aS50b29sdGlwIiwgJC51aS50b29sdGlwLCB7DQoJCW9wdGlvbnM6IHsNCgkJCXRvb2x0aXBDbGFzczogbnVsbA0KCQl9LA0KCQlfdG9vbHRpcDogZnVuY3Rpb24oKSB7DQoJCQl2YXIgdG9vbHRpcERhdGEgPSB0aGlzLl9zdXBlckFwcGx5KCBhcmd1bWVudHMgKTsNCgkJCWlmICggdGhpcy5vcHRpb25zLnRvb2x0aXBDbGFzcyApIHsNCgkJCQl0b29sdGlwRGF0YS50b29sdGlwLmFkZENsYXNzKCB0aGlzLm9wdGlvbnMudG9vbHRpcENsYXNzICk7DQoJCQl9DQoJCQlyZXR1cm4gdG9vbHRpcERhdGE7DQoJCX0NCgl9ICk7DQp9DQoNCnZhciB3aWRnZXRzVG9vbHRpcCA9ICQudWkudG9vbHRpcDsNCg0KDQoNCg0KfSkpOw=="}},"time_used":79,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":53,"receive":26,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/plugins/revolution/css/layers.css","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.374Z","timestamp":1785123231374,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /plugins/revolution/css/layers.css HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: text/css\r\nlast-modified: Wed, 22 Apr 2026 17:27:51 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 9985\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":146597,"size_decoded":10294,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"67b50bc0d49c4b80742a835113b03562","sha1":"29ce5433ed65387f6f6ef97159071e5987ae1599","sha256":"cc830234af8b0e2ac01ad515ff209c43b29ba78d5145505a1088b18beefd2ac9","sha512":"5991d613af7c17ff93728dff20841b8996f8ae8e0b34f891ea6066f76d836ca58140d2ef5774abaa7a6711dc8fef91acc221a0f12a2c55dca2702d01982478e4","ssdeep":"384:0jgGE3ZtaszFwt62cEGrmvNNRLv3A2qsbJNaNT8KiiOSGO2TK5NTXNG6IPXuuK2m:r3TreNNRIzGTTYIv+Yby","tlshash":"77e3ee61f90541c77073d91833729fc8eb690253ae078a35fbad23648f7d2acaa5179c","first_seen":"2023-04-11T01:29:53Z","last_seen":"2026-07-27T05:25:19.056555Z","times_seen":1630,"resource_available":false,"data":"LyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQotCVJldm9sdXRpb24gU2xpZGVyIDUuMCBMYXllciBTdHlsZSBTZXR0aW5ncyAtDQoNClNjcmVlbiBTdHlsZXNoZWV0DQoNCnZlcnNpb246ICAgCTUuMC4wDQpkYXRlOiAgICAgIAkxOC8wMy8xNQ0KYXV0aG9yOgkJdGhlbWVwdW5jaA0KZW1haWw6ICAgICAJaW5mb0B0aGVtZXB1bmNoLmNvbQ0Kd2Vic2l0ZTogICAJaHR0cDovL3d3dy50aGVtZXB1bmNoLmNvbQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KDQoqIHsNCiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQogICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7DQp9DQoNCi50cC1jYXB0aW9uLlR3aXR0ZXItQ29udGVudCBhLC50cC1jYXB0aW9uLlR3aXR0ZXItQ29udGVudCBhOnZpc2l0ZWQNCnsNCgljb2xvcjojMDA4NEI0IWltcG9ydGFudDsNCn0NCg0KLnRwLWNhcHRpb24uVHdpdHRlci1Db250ZW50IGE6aG92ZXINCnsNCgljb2xvcjojMDA4NEI0IWltcG9ydGFudDsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lIWltcG9ydGFudDsNCn0NCg0KLnRwLWNhcHRpb24ubWVkaXVtX2dyZXksLm1lZGl1bV9ncmV5DQp7DQoJYmFja2dyb3VuZC1jb2xvcjojODg4Ow0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiNmZmY7DQoJZm9udC1mYW1pbHk6QXJpYWw7DQoJZm9udC1zaXplOjIwcHg7DQoJZm9udC13ZWlnaHQ6NzAwOw0KCWxpbmUtaGVpZ2h0OjIwcHg7DQoJbWFyZ2luOjA7DQoJcGFkZGluZzoycHggNHB4Ow0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXRleHQtc2hhZG93OjAgMnB4IDVweCByZ2JhKDAsMCwwLDAuNSk7DQoJd2hpdGUtc3BhY2U6bm93cmFwOw0KfQ0KDQoudHAtY2FwdGlvbi5zbWFsbF90ZXh0LC5zbWFsbF90ZXh0DQp7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseTpBcmlhbDsNCglmb250LXNpemU6MTRweDsNCglmb250LXdlaWdodDo3MDA7DQoJbGluZS1oZWlnaHQ6MjBweDsNCgltYXJnaW46MDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0ZXh0LXNoYWRvdzowIDJweCA1cHggcmdiYSgwLDAsMCwwLjUpOw0KCXdoaXRlLXNwYWNlOm5vd3JhcDsNCn0NCg0KLnRwLWNhcHRpb24ubWVkaXVtX3RleHQsLm1lZGl1bV90ZXh0DQp7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseTpBcmlhbDsNCglmb250LXNpemU6MjBweDsNCglmb250LXdlaWdodDo3MDA7DQoJbGluZS1oZWlnaHQ6MjBweDsNCgltYXJnaW46MDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0ZXh0LXNoYWRvdzowIDJweCA1cHggcmdiYSgwLDAsMCwwLjUpOw0KCXdoaXRlLXNwYWNlOm5vd3JhcDsNCn0NCg0KLnRwLWNhcHRpb24ubGFyZ2VfdGV4dCwubGFyZ2VfdGV4dA0Kew0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiNmZmY7DQoJZm9udC1mYW1pbHk6QXJpYWw7DQoJZm9udC1zaXplOjQwcHg7DQoJZm9udC13ZWlnaHQ6NzAwOw0KCWxpbmUtaGVpZ2h0OjQwcHg7DQoJbWFyZ2luOjA7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJdGV4dC1zaGFkb3c6MCAycHggNXB4IHJnYmEoMCwwLDAsMC41KTsNCgl3aGl0ZS1zcGFjZTpub3dyYXA7DQp9DQoNCi50cC1jYXB0aW9uLnZlcnlfbGFyZ2VfdGV4dCwudmVyeV9sYXJnZV90ZXh0DQp7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseTpBcmlhbDsNCglmb250LXNpemU6NjBweDsNCglmb250LXdlaWdodDo3MDA7DQoJbGV0dGVyLXNwYWNpbmc6LTJweDsNCglsaW5lLWhlaWdodDo2MHB4Ow0KCW1hcmdpbjowOw0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXRleHQtc2hhZG93OjAgMnB4IDVweCByZ2JhKDAsMCwwLDAuNSk7DQoJd2hpdGUtc3BhY2U6bm93cmFwOw0KfQ0KDQoudHAtY2FwdGlvbi52ZXJ5X2JpZ193aGl0ZSwudmVyeV9iaWdfd2hpdGUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOiMwMDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseTpBcmlhbDsNCglmb250LXNpemU6NjBweDsNCglmb250LXdlaWdodDo4MDA7DQoJbGluZS1oZWlnaHQ6NjBweDsNCgltYXJnaW46MDsNCglwYWRkaW5nOjFweCA0cHggMDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KCXdoaXRlLXNwYWNlOm5vd3JhcDsNCn0NCg0KLnRwLWNhcHRpb24udmVyeV9iaWdfYmxhY2ssLnZlcnlfYmlnX2JsYWNrDQp7DQoJYmFja2dyb3VuZC1jb2xvcjojZmZmOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiMwMDA7DQoJZm9udC1mYW1pbHk6QXJpYWw7DQoJZm9udC1zaXplOjYwcHg7DQoJZm9udC13ZWlnaHQ6NzAwOw0KCWxpbmUtaGVpZ2h0OjYwcHg7DQoJbWFyZ2luOjA7DQoJcGFkZGluZzoxcHggNHB4IDA7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCgl3aGl0ZS1zcGFjZTpub3dyYXA7DQp9DQoNCi50cC1jYXB0aW9uLm1vZGVybl9tZWRpdW1fZmF0LC5tb2Rlcm5fbWVkaXVtX2ZhdA0Kew0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiMwMDA7DQoJZm9udC1mYW1pbHk6Ik9wZW4gU2FucyIsIHNhbnMtc2VyaWY7DQoJZm9udC1zaXplOjI0cHg7DQoJZm9udC13ZWlnaHQ6ODAwOw0KCWxpbmUtaGVpZ2h0OjIwcHg7DQoJbWFyZ2luOjA7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCgl3aGl0ZS1zcGFjZTpub3dyYXA7DQp9DQoNCi50cC1jYXB0aW9uLm1vZGVybl9tZWRpdW1fZmF0X3doaXRlLC5tb2Rlcm5fbWVkaXVtX2ZhdF93aGl0ZQ0Kew0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiNmZmY7DQoJZm9udC1mYW1pbHk6Ik9wZW4gU2FucyIsIHNhbnMtc2VyaWY7DQoJZm9udC1zaXplOjI0cHg7DQoJZm9udC13ZWlnaHQ6ODAwOw0KCWxpbmUtaGVpZ2h0OjIwcHg7DQoJbWFyZ2luOjA7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCgl3aGl0ZS1zcGFjZTpub3dyYXA7DQp9DQoNCi50cC1jYXB0aW9uLm1vZGVybl9tZWRpdW1fbGlnaHQsLm1vZGVybl9tZWRpdW1fbGlnaHQNCnsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjojMDAwOw0KCWZvbnQtZmFtaWx5OiJPcGVuIFNhbnMiLCBzYW5zLXNlcmlmOw0KCWZvbnQtc2l6ZToyNHB4Ow0KCWZvbnQtd2VpZ2h0OjMwMDsNCglsaW5lLWhlaWdodDoyMHB4Ow0KCW1hcmdpbjowOw0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXRleHQtc2hhZG93Om5vbmU7DQoJd2hpdGUtc3BhY2U6bm93cmFwOw0KfQ0KDQoudHAtY2FwdGlvbi5tb2Rlcm5fYmlnX2JsdWViZywubW9kZXJuX2JpZ19ibHVlYmcNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOiM0ZTViNmM7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIiwgc2Fucy1zZXJpZjsNCglmb250LXNpemU6MzBweDsNCglmb250LXdlaWdodDo4MDA7DQoJbGV0dGVyLXNwYWNpbmc6MDsNCglsaW5lLWhlaWdodDozNnB4Ow0KCW1hcmdpbjowOw0KCXBhZGRpbmc6M3B4IDEwcHg7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24ubW9kZXJuX2JpZ19yZWRiZywubW9kZXJuX2JpZ19yZWRiZw0Kew0KCWJhY2tncm91bmQtY29sb3I6I2RlNTQzZTsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjojZmZmOw0KCWZvbnQtZmFtaWx5OiJPcGVuIFNhbnMiLCBzYW5zLXNlcmlmOw0KCWZvbnQtc2l6ZTozMHB4Ow0KCWZvbnQtd2VpZ2h0OjMwMDsNCglsZXR0ZXItc3BhY2luZzowOw0KCWxpbmUtaGVpZ2h0OjM2cHg7DQoJbWFyZ2luOjA7DQoJcGFkZGluZzoxcHggMTBweCAzcHg7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24ubW9kZXJuX3NtYWxsX3RleHRfZGFyaywubW9kZXJuX3NtYWxsX3RleHRfZGFyaw0Kew0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiM1NTU7DQoJZm9udC1mYW1pbHk6QXJpYWw7DQoJZm9udC1zaXplOjE0cHg7DQoJbGluZS1oZWlnaHQ6MjJweDsNCgltYXJnaW46MDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KCXdoaXRlLXNwYWNlOm5vd3JhcDsNCn0NCg0KLnRwLWNhcHRpb24uYm94c2hhZG93LC5ib3hzaGFkb3cNCnsJCQ0KCWJveC1zaGFkb3c6MCAwIDIwcHggcmdiYSgwLDAsMCwwLjUpOw0KfQ0KDQoudHAtY2FwdGlvbi5ibGFjaywuYmxhY2sNCnsNCgljb2xvcjojMDAwOw0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLm5vc2hhZG93LC5ub3NoYWRvdw0Kew0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLnRoaW5oZWFkbGluZV9kYXJrLC50aGluaGVhZGxpbmVfZGFyaw0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJY29sb3I6cmdiYSgwLDAsMCwwLjg1KTsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIjsNCglmb250LXNpemU6MzBweDsNCglmb250LXdlaWdodDozMDA7DQoJbGluZS1oZWlnaHQ6MzBweDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi50aGludGV4dF9kYXJrLC50aGludGV4dF9kYXJrDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCgljb2xvcjpyZ2JhKDAsMCwwLDAuODUpOw0KCWZvbnQtZmFtaWx5OiJPcGVuIFNhbnMiOw0KCWZvbnQtc2l6ZToxNnB4Ow0KCWZvbnQtd2VpZ2h0OjMwMDsNCglsaW5lLWhlaWdodDoyNnB4Ow0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLmxhcmdlYmxhY2tiZywubGFyZ2VibGFja2JnDQp7DQoJDQoJDQoJYmFja2dyb3VuZC1jb2xvcjojMDAwOw0KCWJvcmRlci1yYWRpdXM6MDsNCgljb2xvcjojZmZmOw0KCWZvbnQtZmFtaWx5OiJPcGVuIFNhbnMiOw0KCWZvbnQtc2l6ZTo1MHB4Ow0KCWZvbnQtd2VpZ2h0OjMwMDsNCglsaW5lLWhlaWdodDo3MHB4Ow0KCXBhZGRpbmc6MCAyMHB4Ow0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLmxhcmdlcGlua2JnLC5sYXJnZXBpbmtiZw0Kew0KCQ0KCQ0KCWJhY2tncm91bmQtY29sb3I6I2RiNDM2MDsNCglib3JkZXItcmFkaXVzOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIjsNCglmb250LXNpemU6NTBweDsNCglmb250LXdlaWdodDozMDA7DQoJbGluZS1oZWlnaHQ6NzBweDsNCglwYWRkaW5nOjAgMjBweDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5sYXJnZXdoaXRlYmcsLmxhcmdld2hpdGViZw0Kew0KCQ0KCQ0KCWJhY2tncm91bmQtY29sb3I6I2ZmZjsNCglib3JkZXItcmFkaXVzOjA7DQoJY29sb3I6IzAwMDsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIjsNCglmb250LXNpemU6NTBweDsNCglmb250LXdlaWdodDozMDA7DQoJbGluZS1oZWlnaHQ6NzBweDsNCglwYWRkaW5nOjAgMjBweDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5sYXJnZWdyZWVuYmcsLmxhcmdlZ3JlZW5iZw0Kew0KCQ0KCQ0KCWJhY2tncm91bmQtY29sb3I6IzY3YWU3MzsNCglib3JkZXItcmFkaXVzOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIjsNCglmb250LXNpemU6NTBweDsNCglmb250LXdlaWdodDozMDA7DQoJbGluZS1oZWlnaHQ6NzBweDsNCglwYWRkaW5nOjAgMjBweDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5leGNlcnB0LC5leGNlcnB0DQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDEpOw0KCWJvcmRlci1jb2xvcjojZmZmOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiNmZmY7DQoJZm9udC1mYW1pbHk6QXJpYWw7DQoJZm9udC1zaXplOjM2cHg7DQoJZm9udC13ZWlnaHQ6NzAwOw0KCWhlaWdodDphdXRvOw0KCWxldHRlci1zcGFjaW5nOi0xLjVweDsNCglsaW5lLWhlaWdodDozNnB4Ow0KCW1hcmdpbjowOw0KCXBhZGRpbmc6MXB4IDRweCAwOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCXRleHQtc2hhZG93Om5vbmU7DQoJd2hpdGUtc3BhY2U6bm9ybWFsIWltcG9ydGFudDsNCgl3aWR0aDoxNTBweDsNCn0NCg0KLnRwLWNhcHRpb24ubGFyZ2VfYm9sZF9ncmV5LC5sYXJnZV9ib2xkX2dyZXkNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjojZmZkNjU4Ow0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiM2NjY7DQoJZm9udC1mYW1pbHk6Ik9wZW4gU2FucyI7DQoJZm9udC1zaXplOjYwcHg7DQoJZm9udC13ZWlnaHQ6ODAwOw0KCWxpbmUtaGVpZ2h0OjYwcHg7DQoJbWFyZ2luOjA7DQoJcGFkZGluZzoxcHggNHB4IDA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24ubWVkaXVtX3RoaW5fZ3JleSwubWVkaXVtX3RoaW5fZ3JleQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOiNmZmQ2NTg7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6IzY2NjsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIjsNCglmb250LXNpemU6MzRweDsNCglmb250LXdlaWdodDozMDA7DQoJbGluZS1oZWlnaHQ6MzBweDsNCgltYXJnaW46MDsNCglwYWRkaW5nOjFweCA0cHggMDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5zbWFsbF90aGluX2dyZXksLnNtYWxsX3RoaW5fZ3JleQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOiNmZmQ2NTg7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6Izc1NzU3NTsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIjsNCglmb250LXNpemU6MThweDsNCglmb250LXdlaWdodDozMDA7DQoJbGluZS1oZWlnaHQ6MjZweDsNCgltYXJnaW46MDsNCglwYWRkaW5nOjFweCA0cHggMDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5saWdodGdyZXlfZGl2aWRlciwubGlnaHRncmV5X2RpdmlkZXINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjM1LDIzNSwyMzUsMSk7DQoJYmFja2dyb3VuZC1wb3NpdGlvbjppbml0aWFsOw0KCWJhY2tncm91bmQtcmVwZWF0OmluaXRpYWw7DQoJYm9yZGVyLWNvbG9yOiMyMjI7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJaGVpZ2h0OjNweDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCgl3aWR0aDozNzBweDsNCn0NCg0KLnRwLWNhcHRpb24ubGFyZ2VfYm9sZF9kYXJrYmx1ZSwubGFyZ2VfYm9sZF9kYXJrYmx1ZQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOiNmZmQ2NTg7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6IzM0NDk1ZTsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIjsNCglmb250LXNpemU6NThweDsNCglmb250LXdlaWdodDo4MDA7DQoJbGluZS1oZWlnaHQ6NjBweDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24ubWVkaXVtX2JnX2RhcmtibHVlLC5tZWRpdW1fYmdfZGFya2JsdWUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOiMzNDQ5NWU7DQoJYm9yZGVyLWNvbG9yOiNmZmQ2NTg7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIjsNCglmb250LXNpemU6MjBweDsNCglmb250LXdlaWdodDo4MDA7DQoJbGluZS1oZWlnaHQ6MjBweDsNCglwYWRkaW5nOjEwcHg7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLm1lZGl1bV9ib2xkX3JlZCwubWVkaXVtX2JvbGRfcmVkDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6I2ZmZDY1ODsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjojZTMzYTBjOw0KCWZvbnQtZmFtaWx5OiJPcGVuIFNhbnMiOw0KCWZvbnQtc2l6ZToyNHB4Ow0KCWZvbnQtd2VpZ2h0OjgwMDsNCglsaW5lLWhlaWdodDozMHB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24ubWVkaXVtX2xpZ2h0X3JlZCwubWVkaXVtX2xpZ2h0X3JlZA0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOiNmZmQ2NTg7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2UzM2EwYzsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIjsNCglmb250LXNpemU6MjFweDsNCglmb250LXdlaWdodDozMDA7DQoJbGluZS1oZWlnaHQ6MjZweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLm1lZGl1bV9iZ19yZWQsLm1lZGl1bV9iZ19yZWQNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOiNlMzNhMGM7DQoJYm9yZGVyLWNvbG9yOiNmZmQ2NTg7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIjsNCglmb250LXNpemU6MjBweDsNCglmb250LXdlaWdodDo4MDA7DQoJbGluZS1oZWlnaHQ6MjBweDsNCglwYWRkaW5nOjEwcHg7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLm1lZGl1bV9ib2xkX29yYW5nZSwubWVkaXVtX2JvbGRfb3JhbmdlDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6I2ZmZDY1ODsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjojZjM5YzEyOw0KCWZvbnQtZmFtaWx5OiJPcGVuIFNhbnMiOw0KCWZvbnQtc2l6ZToyNHB4Ow0KCWZvbnQtd2VpZ2h0OjgwMDsNCglsaW5lLWhlaWdodDozMHB4Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5tZWRpdW1fYmdfb3JhbmdlLC5tZWRpdW1fYmdfb3JhbmdlDQp7DQoJYmFja2dyb3VuZC1jb2xvcjojZjM5YzEyOw0KCWJvcmRlci1jb2xvcjojZmZkNjU4Ow0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiNmZmY7DQoJZm9udC1mYW1pbHk6Ik9wZW4gU2FucyI7DQoJZm9udC1zaXplOjIwcHg7DQoJZm9udC13ZWlnaHQ6ODAwOw0KCWxpbmUtaGVpZ2h0OjIwcHg7DQoJcGFkZGluZzoxMHB4Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5ncmFzc2Zsb29yLC5ncmFzc2Zsb29yDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE2MCwxNzksMTUxLDEpOw0KCWJvcmRlci1jb2xvcjojMjIyOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWhlaWdodDoxNTBweDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCgl3aWR0aDo0MDAwcHg7DQp9DQoNCi50cC1jYXB0aW9uLmxhcmdlX2JvbGRfd2hpdGUsLmxhcmdlX2JvbGRfd2hpdGUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjojZmZkNjU4Ow0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiNmZmY7DQoJZm9udC1mYW1pbHk6Ik9wZW4gU2FucyI7DQoJZm9udC1zaXplOjU4cHg7DQoJZm9udC13ZWlnaHQ6ODAwOw0KCWxpbmUtaGVpZ2h0OjYwcHg7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLm1lZGl1bV9saWdodF93aGl0ZSwubWVkaXVtX2xpZ2h0X3doaXRlDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6I2ZmZDY1ODsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjojZmZmOw0KCWZvbnQtZmFtaWx5OiJPcGVuIFNhbnMiOw0KCWZvbnQtc2l6ZTozMHB4Ow0KCWZvbnQtd2VpZ2h0OjMwMDsNCglsaW5lLWhlaWdodDozNnB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24ubWVkaXVtbGFyZ2VfbGlnaHRfd2hpdGUsLm1lZGl1bWxhcmdlX2xpZ2h0X3doaXRlDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6I2ZmZDY1ODsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjojZmZmOw0KCWZvbnQtZmFtaWx5OiJPcGVuIFNhbnMiOw0KCWZvbnQtc2l6ZTozNHB4Ow0KCWZvbnQtd2VpZ2h0OjMwMDsNCglsaW5lLWhlaWdodDo0MHB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24ubWVkaXVtbGFyZ2VfbGlnaHRfd2hpdGVfY2VudGVyLC5tZWRpdW1sYXJnZV9saWdodF93aGl0ZV9jZW50ZXINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjojZmZkNjU4Ow0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiNmZmY7DQoJZm9udC1mYW1pbHk6Ik9wZW4gU2FucyI7DQoJZm9udC1zaXplOjM0cHg7DQoJZm9udC13ZWlnaHQ6MzAwOw0KCWxpbmUtaGVpZ2h0OjQwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtYWxpZ246Y2VudGVyOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5tZWRpdW1fYmdfYXNiZXN0b3MsLm1lZGl1bV9iZ19hc2Jlc3Rvcw0Kew0KCWJhY2tncm91bmQtY29sb3I6IzdmOGM4ZDsNCglib3JkZXItY29sb3I6I2ZmZDY1ODsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjojZmZmOw0KCWZvbnQtZmFtaWx5OiJPcGVuIFNhbnMiOw0KCWZvbnQtc2l6ZToyMHB4Ow0KCWZvbnQtd2VpZ2h0OjgwMDsNCglsaW5lLWhlaWdodDoyMHB4Ow0KCXBhZGRpbmc6MTBweDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24ubWVkaXVtX2xpZ2h0X2JsYWNrLC5tZWRpdW1fbGlnaHRfYmxhY2sNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjojZmZkNjU4Ow0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiMwMDA7DQoJZm9udC1mYW1pbHk6Ik9wZW4gU2FucyI7DQoJZm9udC1zaXplOjMwcHg7DQoJZm9udC13ZWlnaHQ6MzAwOw0KCWxpbmUtaGVpZ2h0OjM2cHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5sYXJnZV9ib2xkX2JsYWNrLC5sYXJnZV9ib2xkX2JsYWNrDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6I2ZmZDY1ODsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjojMDAwOw0KCWZvbnQtZmFtaWx5OiJPcGVuIFNhbnMiOw0KCWZvbnQtc2l6ZTo1OHB4Ow0KCWZvbnQtd2VpZ2h0OjgwMDsNCglsaW5lLWhlaWdodDo2MHB4Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5tZWRpdW1sYXJnZV9saWdodF9kYXJrYmx1ZSwubWVkaXVtbGFyZ2VfbGlnaHRfZGFya2JsdWUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjojZmZkNjU4Ow0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiMzNDQ5NWU7DQoJZm9udC1mYW1pbHk6Ik9wZW4gU2FucyI7DQoJZm9udC1zaXplOjM0cHg7DQoJZm9udC13ZWlnaHQ6MzAwOw0KCWxpbmUtaGVpZ2h0OjQwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5zbWFsbF9saWdodF93aGl0ZSwuc21hbGxfbGlnaHRfd2hpdGUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjojZmZkNjU4Ow0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiNmZmY7DQoJZm9udC1mYW1pbHk6Ik9wZW4gU2FucyI7DQoJZm9udC1zaXplOjE3cHg7DQoJZm9udC13ZWlnaHQ6MzAwOw0KCWxpbmUtaGVpZ2h0OjI4cHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5yb3VuZGVkaW1hZ2UsLnJvdW5kZWRpbWFnZQ0Kew0KCWJvcmRlci1jb2xvcjojMjIyOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KfQ0KDQoudHAtY2FwdGlvbi5sYXJnZV9iZ19ibGFjaywubGFyZ2VfYmdfYmxhY2sNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOiMwMDA7DQoJYm9yZGVyLWNvbG9yOiNmZmQ2NTg7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIjsNCglmb250LXNpemU6NDBweDsNCglmb250LXdlaWdodDo4MDA7DQoJbGluZS1oZWlnaHQ6NDBweDsNCglwYWRkaW5nOjEwcHggMjBweCAxNXB4Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5tZWRpdW13aGl0ZWJnLC5tZWRpdW13aGl0ZWJnDQp7DQoJYmFja2dyb3VuZC1jb2xvcjojZmZmOw0KCWJvcmRlci1jb2xvcjojMDAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiMwMDA7DQoJZm9udC1mYW1pbHk6Ik9wZW4gU2FucyI7DQoJZm9udC1zaXplOjMwcHg7DQoJZm9udC13ZWlnaHQ6MzAwOw0KCWxpbmUtaGVpZ2h0OjMwcHg7DQoJcGFkZGluZzo1cHggMTVweCAxMHB4Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLm1haW5jYXB0aW9uLC5tYWluY2FwdGlvbg0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOiMwMDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6IzIxMmE0MDsNCglmb250LWZhbWlseTpyb2JvdG87DQoJZm9udC1zaXplOjMzcHg7DQoJZm9udC13ZWlnaHQ6NTAwOw0KCWxpbmUtaGVpZ2h0OjQzcHg7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24ubWlhbWlfdGl0bGVfNjBweCwubWlhbWlfdGl0bGVfNjBweA0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOiMwMDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseToiU291cmNlIFNhbnMgUHJvIjsNCglmb250LXNpemU6NjBweDsNCglmb250LXdlaWdodDo3MDA7DQoJbGV0dGVyLXNwYWNpbmc6MXB4Ow0KCWxpbmUtaGVpZ2h0OjYwcHg7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24ubWlhbWlfc3VidGl0bGUsLm1pYW1pX3N1YnRpdGxlDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6IzAwMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNjUpOw0KCWZvbnQtZmFtaWx5OiJTb3VyY2UgU2FucyBQcm8iOw0KCWZvbnQtc2l6ZToxN3B4Ow0KCWZvbnQtd2VpZ2h0OjQwMDsNCglsZXR0ZXItc3BhY2luZzoycHg7DQoJbGluZS1oZWlnaHQ6MjRweDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5kaXZpZGVsaW5lMzBweCwuZGl2aWRlbGluZTMwcHgNCnsNCgliYWNrZ3JvdW5kOiNmZmY7DQoJYmFja2dyb3VuZC1jb2xvcjojZmZmOw0KCWJvcmRlci1jb2xvcjojMjIyOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWhlaWdodDoycHg7DQoJbWluLXdpZHRoOjMwcHg7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLk1pYW1pX25vc3R5bGUsLk1pYW1pX25vc3R5bGUNCnsNCglib3JkZXItY29sb3I6IzIyMjsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCn0NCg0KLnRwLWNhcHRpb24ubWlhbWlfY29udGVudF9saWdodCwubWlhbWlfY29udGVudF9saWdodA0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOiMwMDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseToiU291cmNlIFNhbnMgUHJvIjsNCglmb250LXNpemU6MjJweDsNCglmb250LXdlaWdodDo0MDA7DQoJbGV0dGVyLXNwYWNpbmc6MDsNCglsaW5lLWhlaWdodDoyOHB4Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLm1pYW1pX3RpdGxlXzYwcHhfZGFyaywubWlhbWlfdGl0bGVfNjBweF9kYXJrDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6IzAwMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjojMzMzOw0KCWZvbnQtZmFtaWx5OiJTb3VyY2UgU2FucyBQcm8iOw0KCWZvbnQtc2l6ZTo2MHB4Ow0KCWZvbnQtd2VpZ2h0OjcwMDsNCglsZXR0ZXItc3BhY2luZzoxcHg7DQoJbGluZS1oZWlnaHQ6NjBweDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5taWFtaV9jb250ZW50X2RhcmssLm1pYW1pX2NvbnRlbnRfZGFyaw0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOiMwMDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6IzY2NjsNCglmb250LWZhbWlseToiU291cmNlIFNhbnMgUHJvIjsNCglmb250LXNpemU6MjJweDsNCglmb250LXdlaWdodDo0MDA7DQoJbGV0dGVyLXNwYWNpbmc6MDsNCglsaW5lLWhlaWdodDoyOHB4Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLmRpdmlkZWxpbmUzMHB4X2RhcmssLmRpdmlkZWxpbmUzMHB4X2RhcmsNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOiMzMzM7DQoJYm9yZGVyLWNvbG9yOiMyMjI7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJaGVpZ2h0OjJweDsNCgltaW4td2lkdGg6MzBweDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uZWxsaXBzZTcwcHgsLmVsbGlwc2U3MHB4DQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMTQ5MDIpOw0KCWJvcmRlci1jb2xvcjojMjIyOw0KCWJvcmRlci1yYWRpdXM6NTBweCA1MHB4IDUwcHggNTBweDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljdXJzb3I6cG9pbnRlcjsNCglsaW5lLWhlaWdodDoxcHg7DQoJbWluLWhlaWdodDo3MHB4Ow0KCW1pbi13aWR0aDo3MHB4Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5hcnJvd2ljb24sLmFycm93aWNvbg0Kew0KCWJvcmRlci1jb2xvcjojMjIyOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWxpbmUtaGVpZ2h0OjFweDsNCn0NCg0KLnRwLWNhcHRpb24uTWFya2VyRGlzcGxheSwuTWFya2VyRGlzcGxheQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOiMwMDA7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWZvbnQtZmFtaWx5OiJQZXJtYW5lbnQgTWFya2VyIjsNCglmb250LXN0eWxlOm5vcm1hbDsNCglwYWRkaW5nOjA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uUmVzdGF1cmFudC1EaXNwbGF5LC5SZXN0YXVyYW50LURpc3BsYXkNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseTpSb2JvdG87DQoJZm9udC1zaXplOjEyMHB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjcwMDsNCglsaW5lLWhlaWdodDoxMjBweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlJlc3RhdXJhbnQtQ3Vyc2l2ZSwuUmVzdGF1cmFudC1DdXJzaXZlDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiNmZmY7DQoJZm9udC1mYW1pbHk6Ik5vdGhpbmcgeW91IGNvdWxkIGRvIjsNCglmb250LXNpemU6MzBweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo0MDA7DQoJbGV0dGVyLXNwYWNpbmc6MnB4Ow0KCWxpbmUtaGVpZ2h0OjMwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5SZXN0YXVyYW50LVNjcm9sbERvd25UZXh0LC5SZXN0YXVyYW50LVNjcm9sbERvd25UZXh0DQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiNmZmY7DQoJZm9udC1mYW1pbHk6Um9ib3RvOw0KCWZvbnQtc2l6ZToxN3B4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjQwMDsNCglsZXR0ZXItc3BhY2luZzoycHg7DQoJbGluZS1oZWlnaHQ6MTdweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlJlc3RhdXJhbnQtRGVzY3JpcHRpb24sLlJlc3RhdXJhbnQtRGVzY3JpcHRpb24NCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseTpSb2JvdG87DQoJZm9udC1zaXplOjIwcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6MzAwOw0KCWxldHRlci1zcGFjaW5nOjNweDsNCglsaW5lLWhlaWdodDozMHB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uUmVzdGF1cmFudC1QcmljZSwuUmVzdGF1cmFudC1QcmljZQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjojZmZmOw0KCWZvbnQtZmFtaWx5OlJvYm90bzsNCglmb250LXNpemU6MzBweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDozMDA7DQoJbGV0dGVyLXNwYWNpbmc6M3B4Ow0KCWxpbmUtaGVpZ2h0OjMwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5SZXN0YXVyYW50LU1lbnVpdGVtLC5SZXN0YXVyYW50LU1lbnVpdGVtDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDEuMDApOw0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSb2JvdG87DQoJZm9udC1zaXplOjE3cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWxldHRlci1zcGFjaW5nOjJweDsNCglsaW5lLWhlaWdodDoxN3B4Ow0KCXBhZGRpbmc6MTBweCAzMHB4Ow0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uRnVybml0dXJlLUxvZ29UZXh0LC5GdXJuaXR1cmUtTG9nb1RleHQNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyMzAsMjA3LDE2MywxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZToxNjBweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDozMDA7DQoJbGluZS1oZWlnaHQ6MTUwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLkZ1cm5pdHVyZS1QbHVzLC5GdXJuaXR1cmUtUGx1cw0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czozMHB4IDMwcHggMzBweCAzMHB4Ow0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWJveC1zaGFkb3c6cmdiYSgwLDAsMCwwLjEpIDAgMXB4IDNweDsNCgljb2xvcjpyZ2JhKDIzMCwyMDcsMTYzLDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjIwcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWxpbmUtaGVpZ2h0OjIwcHg7DQoJcGFkZGluZzo2cHggN3B4IDRweDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5GdXJuaXR1cmUtVGl0bGUsLkZ1cm5pdHVyZS1UaXRsZQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDAsMCwwLDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjIwcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NzAwOw0KCWxldHRlci1zcGFjaW5nOjNweDsNCglsaW5lLWhlaWdodDoyMHB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5GdXJuaXR1cmUtU3VidGl0bGUsLkZ1cm5pdHVyZS1TdWJ0aXRsZQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDAsMCwwLDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjE3cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6MzAwOw0KCWxpbmUtaGVpZ2h0OjIwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLkd5bS1EaXNwbGF5LC5HeW0tRGlzcGxheQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjgwcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6OTAwOw0KCWxpbmUtaGVpZ2h0OjcwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5HeW0tU3VibGluZSwuR3ltLVN1YmxpbmUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZTozMHB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjEwMDsNCglsZXR0ZXItc3BhY2luZzo1cHg7DQoJbGluZS1oZWlnaHQ6MzBweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLkd5bS1TbWFsbFRleHQsLkd5bS1TbWFsbFRleHQNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZToxN3B4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjMwMDsNCglsaW5lLWhlaWdodDoyMjsNCglwYWRkaW5nOjA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uRmFzaGlvbi1TbWFsbFRleHQsLkZhc2hpb24tU21hbGxUZXh0DQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6MTJweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo2MDA7DQoJbGV0dGVyLXNwYWNpbmc6MnB4Ow0KCWxpbmUtaGVpZ2h0OjIwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5GYXNoaW9uLUJpZ0Rpc3BsYXksLkZhc2hpb24tQmlnRGlzcGxheQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDAsMCwwLDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjYwcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6OTAwOw0KCWxldHRlci1zcGFjaW5nOjJweDsNCglsaW5lLWhlaWdodDo2MHB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uRmFzaGlvbi1UZXh0QmxvY2ssLkZhc2hpb24tVGV4dEJsb2NrDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMCwwLDAsMS4wMCk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6MjBweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo0MDA7DQoJbGV0dGVyLXNwYWNpbmc6MnB4Ow0KCWxpbmUtaGVpZ2h0OjQwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5TcG9ydHMtRGlzcGxheSwuU3BvcnRzLURpc3BsYXkNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZToxMzBweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDoxMDA7DQoJbGV0dGVyLXNwYWNpbmc6MTNweDsNCglsaW5lLWhlaWdodDoxMzBweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlNwb3J0cy1EaXNwbGF5RmF0LC5TcG9ydHMtRGlzcGxheUZhdA0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjEzMHB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjkwMDsNCglsaW5lLWhlaWdodDoxMzBweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlNwb3J0cy1TdWJsaW5lLC5TcG9ydHMtU3VibGluZQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDAsMCwwLDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjMycHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWxldHRlci1zcGFjaW5nOjRweDsNCglsaW5lLWhlaWdodDozMnB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uSW5zdGFncmFtLUNhcHRpb24sLkluc3RhZ3JhbS1DYXB0aW9uDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6Um9ib3RvOw0KCWZvbnQtc2l6ZToyMHB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjkwMDsNCglsaW5lLWhlaWdodDoyMHB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTmV3cy1UaXRsZSwuTmV3cy1UaXRsZQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OiJSb2JvdG8gU2xhYiI7DQoJZm9udC1zaXplOjcwcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWxpbmUtaGVpZ2h0OjYwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5OZXdzLVN1YnRpdGxlLC5OZXdzLVN1YnRpdGxlDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDApOw0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseToiUm9ib3RvIFNsYWIiOw0KCWZvbnQtc2l6ZToxNXB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjMwMDsNCglsaW5lLWhlaWdodDoyNHB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTmV3cy1TdWJ0aXRsZTpob3ZlciwuTmV3cy1TdWJ0aXRsZTpob3Zlcg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwKTsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpzb2xpZDsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNjUpOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5QaG90b2dyYXBoeS1EaXNwbGF5LC5QaG90b2dyYXBoeS1EaXNwbGF5DQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6ODBweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDoxMDA7DQoJbGV0dGVyLXNwYWNpbmc6NXB4Ow0KCWxpbmUtaGVpZ2h0OjcwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5QaG90b2dyYXBoeS1TdWJsaW5lLC5QaG90b2dyYXBoeS1TdWJsaW5lDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMTE5LDExOSwxMTksMS4wMCk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6MjBweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDozMDA7DQoJbGV0dGVyLXNwYWNpbmc6M3B4Ow0KCWxpbmUtaGVpZ2h0OjMwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5QaG90b2dyYXBoeS1JbWFnZUhvdmVyLC5QaG90b2dyYXBoeS1JbWFnZUhvdmVyDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwKTsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LXNpemU6MjBweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo0MDA7DQoJbGluZS1oZWlnaHQ6MjI7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5QaG90b2dyYXBoeS1JbWFnZUhvdmVyOmhvdmVyLC5QaG90b2dyYXBoeS1JbWFnZUhvdmVyOmhvdmVyDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlBob3RvZ3JhcGh5LU1lbnVpdGVtLC5QaG90b2dyYXBoeS1NZW51aXRlbQ0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjY1KTsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6MjBweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDozMDA7DQoJbGV0dGVyLXNwYWNpbmc6MnB4Ow0KCWxpbmUtaGVpZ2h0OjIwcHg7DQoJcGFkZGluZzozcHggNXB4IDNweCA4cHg7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlBob3RvZ3JhcGh5LU1lbnVpdGVtOmhvdmVyLC5QaG90b2dyYXBoeS1NZW51aXRlbTpob3Zlcg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDI1NSwyMjIsMC42NSk7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5QaG90b2dyYXBoeS1UZXh0YmxvY2ssLlBob3RvZ3JhcGh5LVRleHRibG9jaw0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjE3cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6MzAwOw0KCWxldHRlci1zcGFjaW5nOjJweDsNCglsaW5lLWhlaWdodDozMHB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uUGhvdG9ncmFwaHktU3VibGluZS0yLC5QaG90b2dyYXBoeS1TdWJsaW5lLTINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjM1KTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZToyMHB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjMwMDsNCglsZXR0ZXItc3BhY2luZzozcHg7DQoJbGluZS1oZWlnaHQ6MzBweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlBob3RvZ3JhcGh5LUltYWdlSG92ZXIyLC5QaG90b2dyYXBoeS1JbWFnZUhvdmVyMg0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMCk7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6QXJpYWw7DQoJZm9udC1zaXplOjIwcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWxpbmUtaGVpZ2h0OjIyOw0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uUGhvdG9ncmFwaHktSW1hZ2VIb3ZlcjI6aG92ZXIsLlBob3RvZ3JhcGh5LUltYWdlSG92ZXIyOmhvdmVyDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLldlYlByb2R1Y3QtVGl0bGUsLldlYlByb2R1Y3QtVGl0bGUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSg1MSw1MSw1MSwxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZTo5MHB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjEwMDsNCglsaW5lLWhlaWdodDo5MHB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uV2ViUHJvZHVjdC1TdWJUaXRsZSwuV2ViUHJvZHVjdC1TdWJUaXRsZQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDE1MywxNTMsMTUzLDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjE1cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWxpbmUtaGVpZ2h0OjIwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5XZWJQcm9kdWN0LUNvbnRlbnQsLldlYlByb2R1Y3QtQ29udGVudA0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDE1MywxNTMsMTUzLDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjE2cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NjAwOw0KCWxpbmUtaGVpZ2h0OjI0cHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5XZWJQcm9kdWN0LU1lbnVpdGVtLC5XZWJQcm9kdWN0LU1lbnVpdGVtDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDUxLDUxLDUxLDEuMDApOw0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZToxNXB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjUwMDsNCglsZXR0ZXItc3BhY2luZzoycHg7DQoJbGluZS1oZWlnaHQ6MjBweDsNCglwYWRkaW5nOjNweCA1cHggM3B4IDhweDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLldlYlByb2R1Y3QtTWVudWl0ZW06aG92ZXIsLldlYlByb2R1Y3QtTWVudWl0ZW06aG92ZXINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDE1MywxNTMsMTUzLDEuMDApOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5XZWJQcm9kdWN0LVRpdGxlLUxpZ2h0LC5XZWJQcm9kdWN0LVRpdGxlLUxpZ2h0DQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6OTBweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDoxMDA7DQoJbGluZS1oZWlnaHQ6OTBweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5XZWJQcm9kdWN0LVN1YlRpdGxlLUxpZ2h0LC5XZWJQcm9kdWN0LVN1YlRpdGxlLUxpZ2h0DQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4zNSk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6MTVweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo0MDA7DQoJbGluZS1oZWlnaHQ6MjBweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5XZWJQcm9kdWN0LUNvbnRlbnQtTGlnaHQsLldlYlByb2R1Y3QtQ29udGVudC1MaWdodA0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNjUpOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjE2cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NjAwOw0KCWxpbmUtaGVpZ2h0OjI0cHg7DQoJcGFkZGluZzowOw0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uRmF0Um91bmRlZCwuRmF0Um91bmRlZA0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjUwKTsNCglib3JkZXItY29sb3I6cmdiYSgyMTEsMjExLDIxMSwxLjAwKTsNCglib3JkZXItcmFkaXVzOjUwcHggNTBweCA1MHB4IDUwcHg7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZTozMHB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjkwMDsNCglsaW5lLWhlaWdodDozMHB4Ow0KCXBhZGRpbmc6MjBweCAyMnB4IDIwcHggMjVweDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uRmF0Um91bmRlZDpob3ZlciwuRmF0Um91bmRlZDpob3Zlcg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwxLjAwKTsNCglib3JkZXItY29sb3I6cmdiYSgyMTEsMjExLDIxMSwxLjAwKTsNCglib3JkZXItcmFkaXVzOjUwcHggNTBweCA1MHB4IDUwcHg7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTm90R2VuZXJpYy1UaXRsZSwuTm90R2VuZXJpYy1UaXRsZQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjcwcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6ODAwOw0KCWxpbmUtaGVpZ2h0OjcwcHg7DQoJcGFkZGluZzoxMHB4IDA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLk5vdEdlbmVyaWMtU3ViVGl0bGUsLk5vdEdlbmVyaWMtU3ViVGl0bGUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZToxM3B4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjUwMDsNCglsZXR0ZXItc3BhY2luZzo0cHg7DQoJbGluZS1oZWlnaHQ6MjBweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5Ob3RHZW5lcmljLUNhbGxUb0FjdGlvbiwuTm90R2VuZXJpYy1DYWxsVG9BY3Rpb24NCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMCk7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC41MCk7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpzb2xpZDsNCglib3JkZXItd2lkdGg6MXB4Ow0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6MTRweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo1MDA7DQoJbGV0dGVyLXNwYWNpbmc6M3B4Ow0KCWxpbmUtaGVpZ2h0OjE0cHg7DQoJcGFkZGluZzoxMHB4IDMwcHg7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5Ob3RHZW5lcmljLUNhbGxUb0FjdGlvbjpob3ZlciwuTm90R2VuZXJpYy1DYWxsVG9BY3Rpb246aG92ZXINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjFweDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5Ob3RHZW5lcmljLUljb24sLk5vdEdlbmVyaWMtSWNvbg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTsNCglib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwKTsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6MzBweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo0MDA7DQoJbGV0dGVyLXNwYWNpbmc6M3B4Ow0KCWxpbmUtaGVpZ2h0OjMwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTm90R2VuZXJpYy1NZW51aXRlbSwuTm90R2VuZXJpYy1NZW51aXRlbQ0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTsNCglib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjE1KTsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDoxcHg7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZToxNHB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjUwMDsNCglsZXR0ZXItc3BhY2luZzozcHg7DQoJbGluZS1oZWlnaHQ6MTRweDsNCglwYWRkaW5nOjI3cHggMzBweDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLk5vdEdlbmVyaWMtTWVudWl0ZW06aG92ZXIsLk5vdEdlbmVyaWMtTWVudWl0ZW06aG92ZXINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMCk7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpzb2xpZDsNCglib3JkZXItd2lkdGg6MXB4Ow0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLk1hcmtlclN0eWxlLC5NYXJrZXJTdHlsZQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OiJQZXJtYW5lbnQgTWFya2VyIjsNCglmb250LXNpemU6MTdweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDoxMDA7DQoJbGluZS1oZWlnaHQ6MzBweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5HeW0tTWVudWl0ZW0sLkd5bS1NZW51aXRlbQ0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwxLjAwKTsNCglib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwKTsNCglib3JkZXItcmFkaXVzOjNweCAzcHggM3B4IDNweDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjJweDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjIwcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6MzAwOw0KCWxldHRlci1zcGFjaW5nOjJweDsNCglsaW5lLWhlaWdodDoyMHB4Ow0KCXBhZGRpbmc6M3B4IDVweCAzcHggOHB4Ow0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uR3ltLU1lbnVpdGVtOmhvdmVyLC5HeW0tTWVudWl0ZW06aG92ZXINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMS4wMCk7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4yNSk7DQoJYm9yZGVyLXJhZGl1czozcHggM3B4IDNweCAzcHg7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDoycHg7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTmV3c3BhcGVyLUJ1dHRvbiwuTmV3c3BhcGVyLUJ1dHRvbg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwKTsNCglib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjI1KTsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDoxcHg7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSb2JvdG87DQoJZm9udC1zaXplOjEzcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NzAwOw0KCWxldHRlci1zcGFjaW5nOjJweDsNCglsaW5lLWhlaWdodDoxN3B4Ow0KCXBhZGRpbmc6MTJweCAzNXB4Ow0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTmV3c3BhcGVyLUJ1dHRvbjpob3ZlciwuTmV3c3BhcGVyLUJ1dHRvbjpob3Zlcg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDoxcHg7DQoJY29sb3I6cmdiYSgwLDAsMCwxLjAwKTsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTmV3c3BhcGVyLVN1YnRpdGxlLC5OZXdzcGFwZXItU3VidGl0bGUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgxNjgsMjE2LDIzOCwxLjAwKTsNCglmb250LWZhbWlseTpSb2JvdG87DQoJZm9udC1zaXplOjE1cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6OTAwOw0KCWxpbmUtaGVpZ2h0OjIwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTmV3c3BhcGVyLVRpdGxlLC5OZXdzcGFwZXItVGl0bGUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseToiUm9ib3RvIFNsYWIiOw0KCWZvbnQtc2l6ZTo1MHB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjQwMDsNCglsaW5lLWhlaWdodDo1NXB4Ow0KCXBhZGRpbmc6MCAwIDEwcHg7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5OZXdzcGFwZXItVGl0bGUtQ2VudGVyZWQsLk5ld3NwYXBlci1UaXRsZS1DZW50ZXJlZA0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OiJSb2JvdG8gU2xhYiI7DQoJZm9udC1zaXplOjUwcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWxpbmUtaGVpZ2h0OjU1cHg7DQoJcGFkZGluZzowIDAgMTBweDsNCgl0ZXh0LWFsaWduOmNlbnRlcjsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uSGVyby1CdXR0b24sLkhlcm8tQnV0dG9uDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApOw0KCWJvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNTApOw0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjFweDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjE0cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NTAwOw0KCWxldHRlci1zcGFjaW5nOjNweDsNCglsaW5lLWhlaWdodDoxNHB4Ow0KCXBhZGRpbmc6MTBweCAzMHB4Ow0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uSGVyby1CdXR0b246aG92ZXIsLkhlcm8tQnV0dG9uOmhvdmVyDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWJvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjFweDsNCgljb2xvcjpyZ2JhKDAsMCwwLDEuMDApOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5WaWRlby1UaXRsZSwuVmlkZW8tVGl0bGUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMS4wMCk7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjMwcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6OTAwOw0KCWxpbmUtaGVpZ2h0OjMwcHg7DQoJcGFkZGluZzo1cHg7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5WaWRlby1TdWJUaXRsZSwuVmlkZW8tU3ViVGl0bGUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zNSk7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjEycHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NjAwOw0KCWxldHRlci1zcGFjaW5nOjJweDsNCglsaW5lLWhlaWdodDoxMnB4Ow0KCXBhZGRpbmc6NXB4Ow0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTm90R2VuZXJpYy1CdXR0b24sLk5vdEdlbmVyaWMtQnV0dG9uDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApOw0KCWJvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNTApOw0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjFweDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjE0cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NTAwOw0KCWxldHRlci1zcGFjaW5nOjNweDsNCglsaW5lLWhlaWdodDoxNHB4Ow0KCXBhZGRpbmc6MTBweCAzMHB4Ow0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTm90R2VuZXJpYy1CdXR0b246aG92ZXIsLk5vdEdlbmVyaWMtQnV0dG9uOmhvdmVyDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDoxcHg7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTm90R2VuZXJpYy1CaWdCdXR0b24sLk5vdEdlbmVyaWMtQmlnQnV0dG9uDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApOw0KCWJvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuMTUpOw0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjFweDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjE0cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NTAwOw0KCWxldHRlci1zcGFjaW5nOjNweDsNCglsaW5lLWhlaWdodDoxNHB4Ow0KCXBhZGRpbmc6MjdweCAzMHB4Ow0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTm90R2VuZXJpYy1CaWdCdXR0b246aG92ZXIsLk5vdEdlbmVyaWMtQmlnQnV0dG9uOmhvdmVyDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApOw0KCWJvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjFweDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5XZWJQcm9kdWN0LUJ1dHRvbiwuV2ViUHJvZHVjdC1CdXR0b24NCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNTEsNTEsNTEsMS4wMCk7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMS4wMCk7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDoycHg7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZToxNnB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjYwMDsNCglsZXR0ZXItc3BhY2luZzoxcHg7DQoJbGluZS1oZWlnaHQ6NDhweDsNCglwYWRkaW5nOjAgNDBweDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLldlYlByb2R1Y3QtQnV0dG9uOmhvdmVyLC5XZWJQcm9kdWN0LUJ1dHRvbjpob3Zlcg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglib3JkZXItY29sb3I6cmdiYSgwLDAsMCwxLjAwKTsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjJweDsNCgljb2xvcjpyZ2JhKDUxLDUxLDUxLDEuMDApOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5SZXN0YXVyYW50LUJ1dHRvbiwuUmVzdGF1cmFudC1CdXR0b24NCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTAsMTAsMTAsMCk7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC41MCk7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpzb2xpZDsNCglib3JkZXItd2lkdGg6MnB4Ow0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6Um9ib3RvOw0KCWZvbnQtc2l6ZToxN3B4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjUwMDsNCglsZXR0ZXItc3BhY2luZzozcHg7DQoJbGluZS1oZWlnaHQ6MTdweDsNCglwYWRkaW5nOjEycHggMzVweDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlJlc3RhdXJhbnQtQnV0dG9uOmhvdmVyLC5SZXN0YXVyYW50LUJ1dHRvbjpob3Zlcg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTsNCglib3JkZXItY29sb3I6cmdiYSgyNTUsMjI0LDEyOSwxLjAwKTsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDoycHg7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uR3ltLUJ1dHRvbiwuR3ltLUJ1dHRvbg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgxMzksMTkyLDM5LDEuMDApOw0KCWJvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDApOw0KCWJvcmRlci1yYWRpdXM6MzBweCAzMHB4IDMwcHggMzBweDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZToxNXB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjYwMDsNCglsZXR0ZXItc3BhY2luZzoxcHg7DQoJbGluZS1oZWlnaHQ6MTVweDsNCglwYWRkaW5nOjEzcHggMzVweDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLkd5bS1CdXR0b246aG92ZXIsLkd5bS1CdXR0b246aG92ZXINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTE0LDE2OCwwLDEuMDApOw0KCWJvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDApOw0KCWJvcmRlci1yYWRpdXM6MzBweCAzMHB4IDMwcHggMzBweDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uR3ltLUJ1dHRvbi1MaWdodCwuR3ltLUJ1dHRvbi1MaWdodA0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4yNSk7DQoJYm9yZGVyLXJhZGl1czozMHB4IDMwcHggMzBweCAzMHB4Ow0KCWJvcmRlci1zdHlsZTpzb2xpZDsNCglib3JkZXItd2lkdGg6MnB4Ow0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6MTVweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo2MDA7DQoJbGluZS1oZWlnaHQ6MTVweDsNCglwYWRkaW5nOjEycHggMzVweDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLkd5bS1CdXR0b24tTGlnaHQ6aG92ZXIsLkd5bS1CdXR0b24tTGlnaHQ6aG92ZXINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTE0LDE2OCwwLDApOw0KCWJvcmRlci1jb2xvcjpyZ2JhKDEzOSwxOTIsMzksMS4wMCk7DQoJYm9yZGVyLXJhZGl1czozMHB4IDMwcHggMzBweCAzMHB4Ow0KCWJvcmRlci1zdHlsZTpzb2xpZDsNCglib3JkZXItd2lkdGg6MnB4Ow0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlNwb3J0cy1CdXR0b24tTGlnaHQsLlNwb3J0cy1CdXR0b24tTGlnaHQNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMCk7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC41MCk7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpzb2xpZDsNCglib3JkZXItd2lkdGg6MnB4Ow0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6MTdweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo2MDA7DQoJbGV0dGVyLXNwYWNpbmc6MnB4Ow0KCWxpbmUtaGVpZ2h0OjE3cHg7DQoJcGFkZGluZzoxMnB4IDM1cHg7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5TcG9ydHMtQnV0dG9uLUxpZ2h0OmhvdmVyLC5TcG9ydHMtQnV0dG9uLUxpZ2h0OmhvdmVyDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApOw0KCWJvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjJweDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5TcG9ydHMtQnV0dG9uLVJlZCwuU3BvcnRzLUJ1dHRvbi1SZWQNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjE5LDI4LDM0LDEuMDApOw0KCWJvcmRlci1jb2xvcjpyZ2JhKDIxOSwyOCwzNCwwKTsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDoycHg7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZToxN3B4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjYwMDsNCglsZXR0ZXItc3BhY2luZzoycHg7DQoJbGluZS1oZWlnaHQ6MTdweDsNCglwYWRkaW5nOjEycHggMzVweDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlNwb3J0cy1CdXR0b24tUmVkOmhvdmVyLC5TcG9ydHMtQnV0dG9uLVJlZDpob3Zlcg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwxLjAwKTsNCglib3JkZXItY29sb3I6cmdiYSgwLDAsMCwxLjAwKTsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDoycHg7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uUGhvdG9ncmFwaHktQnV0dG9uLC5QaG90b2dyYXBoeS1CdXR0b24NCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMCk7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4yNSk7DQoJYm9yZGVyLXJhZGl1czozMHB4IDMwcHggMzBweCAzMHB4Ow0KCWJvcmRlci1zdHlsZTpzb2xpZDsNCglib3JkZXItd2lkdGg6MXB4Ow0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6MTVweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo2MDA7DQoJbGV0dGVyLXNwYWNpbmc6MXB4Ow0KCWxpbmUtaGVpZ2h0OjE1cHg7DQoJcGFkZGluZzoxM3B4IDM1cHg7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5QaG90b2dyYXBoeS1CdXR0b246aG92ZXIsLlBob3RvZ3JhcGh5LUJ1dHRvbjpob3Zlcg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTsNCglib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglib3JkZXItcmFkaXVzOjMwcHggMzBweCAzMHB4IDMwcHg7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDoxcHg7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTmV3c3BhcGVyLUJ1dHRvbi0yLC5OZXdzcGFwZXItQnV0dG9uLTINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMCk7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC41MCk7DQoJYm9yZGVyLXJhZGl1czozcHggM3B4IDNweCAzcHg7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDoycHg7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSb2JvdG87DQoJZm9udC1zaXplOjE1cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6OTAwOw0KCWxpbmUtaGVpZ2h0OjE1cHg7DQoJcGFkZGluZzoxMHB4IDMwcHg7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5OZXdzcGFwZXItQnV0dG9uLTI6aG92ZXIsLk5ld3NwYXBlci1CdXR0b24tMjpob3Zlcg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTsNCglib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglib3JkZXItcmFkaXVzOjNweCAzcHggM3B4IDNweDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjJweDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5GZWF0dXJlLVRvdXIsLkZlYXR1cmUtVG91cg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgxMzksMTkyLDM5LDEuMDApOw0KCWJvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDApOw0KCWJvcmRlci1yYWRpdXM6MzBweCAzMHB4IDMwcHggMzBweDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSb2JvdG87DQoJZm9udC1zaXplOjE3cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NzAwOw0KCWxpbmUtaGVpZ2h0OjE3cHg7DQoJcGFkZGluZzoxN3B4IDM1cHg7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5GZWF0dXJlLVRvdXI6aG92ZXIsLkZlYXR1cmUtVG91cjpob3Zlcg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgxMTQsMTY4LDAsMS4wMCk7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMCk7DQoJYm9yZGVyLXJhZGl1czozMHB4IDMwcHggMzBweCAzMHB4Ow0KCWJvcmRlci1zdHlsZTpzb2xpZDsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5GZWF0dXJlLUV4YW1wbGVzLC5GZWF0dXJlLUV4YW1wbGVzDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6cmdiYSgzMyw0Miw2NCwwLjE1KTsNCglib3JkZXItcmFkaXVzOjMwcHggMzBweCAzMHB4IDMwcHg7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDoycHg7DQoJY29sb3I6cmdiYSgzMyw0Miw2NCwwLjUwKTsNCglmb250LWZhbWlseTpSb2JvdG87DQoJZm9udC1zaXplOjE3cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NzAwOw0KCWxpbmUtaGVpZ2h0OjE3cHg7DQoJcGFkZGluZzoxNXB4IDM1cHg7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5GZWF0dXJlLUV4YW1wbGVzOmhvdmVyLC5GZWF0dXJlLUV4YW1wbGVzOmhvdmVyDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6cmdiYSgxMzksMTkyLDM5LDEuMDApOw0KCWJvcmRlci1yYWRpdXM6MzBweCAzMHB4IDMwcHggMzBweDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjJweDsNCgljb2xvcjpyZ2JhKDEzOSwxOTIsMzksMS4wMCk7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLnN1YmNhcHRpb24sLnN1YmNhcHRpb24NCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDEuMDApOw0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDExMSwxMjQsMTMwLDEuMDApOw0KCWZvbnQtZmFtaWx5OnJvYm90bzsNCglmb250LXNpemU6MTlweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo0MDA7DQoJbGluZS1oZWlnaHQ6MjRweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLm1lbnV0YWIsLm1lbnV0YWINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDEuMDApOw0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDQxLDQ2LDQ5LDEuMDApOw0KCWZvbnQtZmFtaWx5OnJvYm90bzsNCglmb250LXNpemU6MjVweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDozMDA7DQoJbGluZS1oZWlnaHQ6MzBweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLm1lbnV0YWI6aG92ZXIsLm1lbnV0YWI6aG92ZXINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyMTMsMCwwLDEuMDApOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5tYWluY29udGVudCwubWFpbmNvbnRlbnQNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDEuMDApOw0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDQxLDQ2LDQ5LDEuMDApOw0KCWZvbnQtZmFtaWx5OnJvYm90bzsNCglmb250LXNpemU6MjFweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDozMDA7DQoJbGluZS1oZWlnaHQ6MjZweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLm1pbml0ZXh0LC5taW5pdGV4dA0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMS4wMCk7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMTg1LDE4NiwxODcsMS4wMCk7DQoJZm9udC1mYW1pbHk6cm9ib3RvOw0KCWZvbnQtc2l6ZToxNXB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjQwMDsNCglsaW5lLWhlaWdodDoyMHB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uRmVhdHVyZS1CdXksLkZlYXR1cmUtQnV5DQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMTU0LDIzOCwxLjAwKTsNCglib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwKTsNCglib3JkZXItcmFkaXVzOjMwcHggMzBweCAzMHB4IDMwcHg7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6Um9ib3RvOw0KCWZvbnQtc2l6ZToxN3B4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjcwMDsNCglsaW5lLWhlaWdodDoxN3B4Ow0KCXBhZGRpbmc6MTdweCAzNXB4Ow0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uRmVhdHVyZS1CdXk6aG92ZXIsLkZlYXR1cmUtQnV5OmhvdmVyDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMTMzLDIxNCwxLjAwKTsNCglib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwKTsNCglib3JkZXItcmFkaXVzOjMwcHggMzBweCAzMHB4IDMwcHg7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLkZlYXR1cmUtRXhhbXBsZXMtTGlnaHQsLkZlYXR1cmUtRXhhbXBsZXMtTGlnaHQNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuMTUpOw0KCWJvcmRlci1yYWRpdXM6MzBweCAzMHB4IDMwcHggMzBweDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjJweDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJvYm90bzsNCglmb250LXNpemU6MTdweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo3MDA7DQoJbGluZS1oZWlnaHQ6MTdweDsNCglwYWRkaW5nOjE1cHggMzVweDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLkZlYXR1cmUtRXhhbXBsZXMtTGlnaHQ6aG92ZXIsLkZlYXR1cmUtRXhhbXBsZXMtTGlnaHQ6aG92ZXINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWJvcmRlci1yYWRpdXM6MzBweCAzMHB4IDMwcHggMzBweDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjJweDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5GYWNlYm9vay1MaWtlcywuRmFjZWJvb2stTGlrZXMNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNTksODksMTUzLDEuMDApOw0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSb2JvdG87DQoJZm9udC1zaXplOjE1cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NTAwOw0KCWxpbmUtaGVpZ2h0OjIycHg7DQoJcGFkZGluZzo1cHggMTVweDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlR3aXR0ZXItRmF2b3JpdGVzLC5Ud2l0dGVyLUZhdm9yaXRlcw0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwKTsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMTM2LDE1MywxNjYsMS4wMCk7DQoJZm9udC1mYW1pbHk6Um9ib3RvOw0KCWZvbnQtc2l6ZToxNXB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjUwMDsNCglsaW5lLWhlaWdodDoyMnB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlR3aXR0ZXItTGluaywuVHdpdHRlci1MaW5rDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjMwcHggMzBweCAzMHB4IDMwcHg7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgxMzUsMTUzLDE2NSwxLjAwKTsNCglmb250LWZhbWlseTpSb2JvdG87DQoJZm9udC1zaXplOjE1cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NTAwOw0KCWxpbmUtaGVpZ2h0OjE1cHg7DQoJcGFkZGluZzoxMXB4IDExcHggOXB4Ow0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uVHdpdHRlci1MaW5rOmhvdmVyLC5Ud2l0dGVyLUxpbms6aG92ZXINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwxMzIsMTgwLDEuMDApOw0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjMwcHggMzBweCAzMHB4IDMwcHg7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uVHdpdHRlci1SZXR3ZWV0LC5Ud2l0dGVyLVJldHdlZXQNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMCk7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDEzNiwxNTMsMTY2LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJvYm90bzsNCglmb250LXNpemU6MTVweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo1MDA7DQoJbGluZS1oZWlnaHQ6MjJweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5Ud2l0dGVyLUNvbnRlbnQsLlR3aXR0ZXItQ29udGVudA0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoNDEsNDcsNTEsMS4wMCk7DQoJZm9udC1mYW1pbHk6Um9ib3RvOw0KCWZvbnQtc2l6ZToyMHB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjUwMDsNCglsaW5lLWhlaWdodDoyOHB4Ow0KCXBhZGRpbmc6MzBweCAzMHB4IDcwcHg7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoucmV2dHAtc2VhcmNoZm9ybSBpbnB1dFt0eXBlPSJ0ZXh0Il0sDQoucmV2dHAtc2VhcmNoZm9ybSBpbnB1dFt0eXBlPSJlbWFpbCJdLA0KLnJldnRwLWZvcm0gaW5wdXRbdHlwZT0idGV4dCJdLA0KLnJldnRwLWZvcm0gaW5wdXRbdHlwZT0iZW1haWwiXXsgCQ0KCWZvbnQtZmFtaWx5OiAiQXJpYWwiLCBzYW5zLXNlcmlmOw0KICAgIGZvbnQtc2l6ZTogMTVweDsNCiAgICBjb2xvcjogIzAwMDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgIGxpbmUtaGVpZ2h0OiA0NnB4Ow0KICAgIHBhZGRpbmc6IDAgMjBweDsNCiAgICBjdXJzb3I6IHRleHQ7DQogICAgYm9yZGVyOiAwOw0KICAgIHdpZHRoOiA0MDBweDsNCiAgICBtYXJnaW4tYm90dG9tOiAwcHg7DQogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7DQogICAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7DQogICAgLW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzOw0KICAgIC1tcy10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7DQogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzOw0KICAgIA0KICAgIA0KICAgIGJvcmRlci1yYWRpdXM6IDBweDsNCn0NCg0KDQoudHAtY2FwdGlvbi5CaWdCb2xkLVRpdGxlLA0KLkJpZ0JvbGQtVGl0bGUgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMTEwcHg7DQogICAgbGluZS1oZWlnaHQ6IDEwMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA4MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSYWxld2F5Ow0KICAgIHBhZGRpbmc6IDEwcHggMHB4IDEwcHggMDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQNCn0NCi50cC1jYXB0aW9uLkJpZ0JvbGQtU3ViVGl0bGUsDQouQmlnQm9sZC1TdWJUaXRsZSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41MCk7DQogICAgZm9udC1zaXplOiAxNXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyNHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSYWxld2F5Ow0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgbGV0dGVyLXNwYWNpbmc6IDFweA0KfQ0KLnRwLWNhcHRpb24uQmlnQm9sZC1CdXR0b24sDQouQmlnQm9sZC1CdXR0b24gew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICBsaW5lLWhlaWdodDogMTNweDsNCiAgICBmb250LXdlaWdodDogNTAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUmFsZXdheTsNCiAgICBwYWRkaW5nOiAxNXB4IDUwcHggMTVweCA1MHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOw0KICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUwKTsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMXB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMHB4IDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGxldHRlci1zcGFjaW5nOiAxcHgNCn0NCi50cC1jYXB0aW9uLkJpZ0JvbGQtQnV0dG9uOmhvdmVyLA0KLkJpZ0JvbGQtQnV0dG9uOmhvdmVyIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4DQp9DQoudHAtY2FwdGlvbi5Gb29kQ2Fyb3VzZWwtQ29udGVudCwNCi5Gb29kQ2Fyb3VzZWwtQ29udGVudCB7DQogICAgY29sb3I6IHJnYmEoNDEsIDQ2LCA0OSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxN3B4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyOHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSYWxld2F5Ow0KICAgIHBhZGRpbmc6IDMwcHggMzBweCAzMHB4IDMwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDQxLCA0NiwgNDksIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQNCn0NCi50cC1jYXB0aW9uLkZvb2RDYXJvdXNlbC1CdXR0b24sDQouRm9vZENhcm91c2VsLUJ1dHRvbiB7DQogICAgY29sb3I6IHJnYmEoNDEsIDQ2LCA0OSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxM3B4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxM3B4Ow0KICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSYWxld2F5Ow0KICAgIHBhZGRpbmc6IDE1cHggNzBweCAxNXB4IDUwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDQxLCA0NiwgNDksIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgbGV0dGVyLXNwYWNpbmc6IDFweA0KfQ0KLnRwLWNhcHRpb24uRm9vZENhcm91c2VsLUJ1dHRvbjpob3ZlciwNCi5Gb29kQ2Fyb3VzZWwtQnV0dG9uOmhvdmVyIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MSwgNDYsIDQ5LCAxLjAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoNDEsIDQ2LCA0OSwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHgNCn0NCi50cC1jYXB0aW9uLkZvb2RDYXJvdXNlbC1DbG9zZUJ1dHRvbiwNCi5Gb29kQ2Fyb3VzZWwtQ2xvc2VCdXR0b24gew0KICAgIGNvbG9yOiByZ2JhKDQxLCA0NiwgNDksIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICBsaW5lLWhlaWdodDogMjBweDsNCiAgICBmb250LXdlaWdodDogNzAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUmFsZXdheTsNCiAgICBwYWRkaW5nOiAxNHB4IDE0cHggMTRweCAxNnB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOw0KICAgIGJvcmRlci1jb2xvcjogcmdiYSg0MSwgNDYsIDQ5LCAwKTsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMXB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDMwcHggMzBweCAzMHB4IDMwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBsZXR0ZXItc3BhY2luZzogMXB4DQp9DQoudHAtY2FwdGlvbi5Gb29kQ2Fyb3VzZWwtQ2xvc2VCdXR0b246aG92ZXIsDQouRm9vZENhcm91c2VsLUNsb3NlQnV0dG9uOmhvdmVyIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MSwgNDYsIDQ5LCAxLjAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoNDEsIDQ2LCA0OSwgMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICBib3JkZXItcmFkaXVzOiAzMHB4IDMwcHggMzBweCAzMHB4DQp9DQoudHAtY2FwdGlvbi5WaWRlby1TdWJUaXRsZSwNCi5WaWRlby1TdWJUaXRsZSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxMnB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA2MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSYWxld2F5Ow0KICAgIHBhZGRpbmc6IDVweCA1cHggNXB4IDVweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM1KTsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgbGV0dGVyLXNwYWNpbmc6IDJweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0DQp9DQoudHAtY2FwdGlvbi5WaWRlby1UaXRsZSwNCi5WaWRlby1UaXRsZSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAzMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAzMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA5MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSYWxld2F5Ow0KICAgIHBhZGRpbmc6IDVweCA1cHggNXB4IDVweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uVHJhdmVsLUJpZ0NhcHRpb24sDQouVHJhdmVsLUJpZ0NhcHRpb24gew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogNTBweDsNCiAgICBsaW5lLWhlaWdodDogNTBweDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQNCn0NCi50cC1jYXB0aW9uLlRyYXZlbC1TbWFsbENhcHRpb24sDQouVHJhdmVsLVNtYWxsQ2FwdGlvbiB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAyNXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAzMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiAzMDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uVHJhdmVsLUNhbGxUb0FjdGlvbiwNCi5UcmF2ZWwtQ2FsbFRvQWN0aW9uIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDI1cHg7DQogICAgbGluZS1oZWlnaHQ6IDI1cHg7DQogICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IFJvYm90bzsNCiAgICBwYWRkaW5nOiAxMnB4IDIwcHggMTJweCAyMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpOw0KICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMnB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDVweCA1cHggNXB4IDVweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGxldHRlci1zcGFjaW5nOiAxcHgNCn0NCi50cC1jYXB0aW9uLlRyYXZlbC1DYWxsVG9BY3Rpb246aG92ZXIsDQouVHJhdmVsLUNhbGxUb0FjdGlvbjpob3ZlciB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAycHg7DQogICAgYm9yZGVyLXJhZGl1czogNXB4IDVweCA1cHggNXB4DQp9DQoNCg0KLnRwLWNhcHRpb24uUm90YXRpbmdXb3Jkcy1UaXRsZVdoaXRlLA0KLlJvdGF0aW5nV29yZHMtVGl0bGVXaGl0ZSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiA3MHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA3MHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA4MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSYWxld2F5Ow0KICAgIHBhZGRpbmc6IDBweCAwcHggMHB4IDA7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0DQp9DQoudHAtY2FwdGlvbi5Sb3RhdGluZ1dvcmRzLUJ1dHRvbiwNCi5Sb3RhdGluZ1dvcmRzLUJ1dHRvbiB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAyMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSYWxld2F5Ow0KICAgIHBhZGRpbmc6IDIwcHggNTBweCAyMHB4IDUwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAycHg7DQogICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgbGV0dGVyLXNwYWNpbmc6IDNweA0KfQ0KLnRwLWNhcHRpb24uUm90YXRpbmdXb3Jkcy1CdXR0b246aG92ZXIsDQouUm90YXRpbmdXb3Jkcy1CdXR0b246aG92ZXIgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDJweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHgNCn0NCi50cC1jYXB0aW9uLlJvdGF0aW5nV29yZHMtU21hbGxUZXh0LA0KLlJvdGF0aW5nV29yZHMtU21hbGxUZXh0IHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDE0cHg7DQogICAgbGluZS1oZWlnaHQ6IDIwcHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IFJhbGV3YXk7DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICB0ZXh0LXNoYWRvdzogbm9uZQ0KfQ0KDQoNCg0KDQoudHAtY2FwdGlvbi5Db250ZW50Wm9vbS1TbWFsbFRpdGxlLA0KLkNvbnRlbnRab29tLVNtYWxsVGl0bGUgew0KICAgIGNvbG9yOiByZ2JhKDQxLCA0NiwgNDksIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMzNweDsNCiAgICBsaW5lLWhlaWdodDogNDVweDsNCiAgICBmb250LXdlaWdodDogNjAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUmFsZXdheTsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0DQp9DQoudHAtY2FwdGlvbi5Db250ZW50Wm9vbS1TbWFsbFN1YnRpdGxlLA0KLkNvbnRlbnRab29tLVNtYWxsU3VidGl0bGUgew0KICAgIGNvbG9yOiByZ2JhKDExMSwgMTI0LCAxMzAsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICBsaW5lLWhlaWdodDogMjRweDsNCiAgICBmb250LXdlaWdodDogNjAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUmFsZXdheTsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0DQp9DQoudHAtY2FwdGlvbi5Db250ZW50Wm9vbS1TbWFsbEljb24sDQouQ29udGVudFpvb20tU21hbGxJY29uIHsNCiAgICBjb2xvcjogcmdiYSg0MSwgNDYsIDQ5LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDIwcHg7DQogICAgbGluZS1oZWlnaHQ6IDIwcHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IFJhbGV3YXk7DQogICAgcGFkZGluZzogMTBweCAxMHB4IDEwcHggMTBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQNCn0NCi50cC1jYXB0aW9uLkNvbnRlbnRab29tLVNtYWxsSWNvbjpob3ZlciwNCi5Db250ZW50Wm9vbS1TbWFsbEljb246aG92ZXIgew0KICAgIGNvbG9yOiByZ2JhKDExMSwgMTI0LCAxMzAsIDEuMDApOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHgNCn0NCi50cC1jYXB0aW9uLkNvbnRlbnRab29tLURldGFpbFRpdGxlLA0KLkNvbnRlbnRab29tLURldGFpbFRpdGxlIHsNCiAgICBjb2xvcjogcmdiYSg0MSwgNDYsIDQ5LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDcwcHg7DQogICAgbGluZS1oZWlnaHQ6IDcwcHg7DQogICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IFJhbGV3YXk7DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uQ29udGVudFpvb20tRGV0YWlsU3ViVGl0bGUsDQouQ29udGVudFpvb20tRGV0YWlsU3ViVGl0bGUgew0KICAgIGNvbG9yOiByZ2JhKDExMSwgMTI0LCAxMzAsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICBsaW5lLWhlaWdodDogMjVweDsNCiAgICBmb250LXdlaWdodDogNTAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUmFsZXdheTsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0DQp9DQoudHAtY2FwdGlvbi5Db250ZW50Wm9vbS1EZXRhaWxDb250ZW50LA0KLkNvbnRlbnRab29tLURldGFpbENvbnRlbnQgew0KICAgIGNvbG9yOiByZ2JhKDExMSwgMTI0LCAxMzAsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMTdweDsNCiAgICBsaW5lLWhlaWdodDogMjhweDsNCiAgICBmb250LXdlaWdodDogNTAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUmFsZXdheTsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0DQp9DQoudHAtY2FwdGlvbi5Db250ZW50Wm9vbS1CdXR0b24sDQouQ29udGVudFpvb20tQnV0dG9uIHsNCiAgICBjb2xvcjogcmdiYSg0MSwgNDYsIDQ5LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgbGluZS1oZWlnaHQ6IDEzcHg7DQogICAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IFJhbGV3YXk7DQogICAgcGFkZGluZzogMTVweCA1MHB4IDE1cHggNTBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoNDEsIDQ2LCA0OSwgMC41MCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBsZXR0ZXItc3BhY2luZzogMXB4DQp9DQoudHAtY2FwdGlvbi5Db250ZW50Wm9vbS1CdXR0b246aG92ZXIsDQouQ29udGVudFpvb20tQnV0dG9uOmhvdmVyIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MSwgNDYsIDQ5LCAxLjAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoNDEsIDQ2LCA0OSwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHgNCn0NCi50cC1jYXB0aW9uLkNvbnRlbnRab29tLUJ1dHRvbkNsb3NlLA0KLkNvbnRlbnRab29tLUJ1dHRvbkNsb3NlIHsNCiAgICBjb2xvcjogcmdiYSg0MSwgNDYsIDQ5LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgbGluZS1oZWlnaHQ6IDEzcHg7DQogICAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IFJhbGV3YXk7DQogICAgcGFkZGluZzogMTRweCAxNHB4IDE0cHggMTZweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoNDEsIDQ2LCA0OSwgMC41MCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICBib3JkZXItcmFkaXVzOiAzMHB4IDMwcHggMzBweCAzMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgbGV0dGVyLXNwYWNpbmc6IDFweA0KfQ0KLnRwLWNhcHRpb24uQ29udGVudFpvb20tQnV0dG9uQ2xvc2U6aG92ZXIsDQouQ29udGVudFpvb20tQnV0dG9uQ2xvc2U6aG92ZXIgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQxLCA0NiwgNDksIDEuMDApOw0KICAgIGJvcmRlci1jb2xvcjogcmdiYSg0MSwgNDYsIDQ5LCAxLjAwKTsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMXB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDMwcHggMzBweCAzMHB4IDMwcHgNCn0NCi50cC1jYXB0aW9uLk5ld3NwYXBlci1UaXRsZSwNCi5OZXdzcGFwZXItVGl0bGUgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogNTBweDsNCiAgICBsaW5lLWhlaWdodDogNTVweDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogIlJvYm90byBTbGFiIjsNCiAgICBwYWRkaW5nOiAwIDAgMTBweCAwOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uTmV3c3BhcGVyLVN1YnRpdGxlLA0KLk5ld3NwYXBlci1TdWJ0aXRsZSB7DQogICAgY29sb3I6IHJnYmEoMTY4LCAyMTYsIDIzOCwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxNXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA5MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uTmV3c3BhcGVyLUJ1dHRvbiwNCi5OZXdzcGFwZXItQnV0dG9uIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgbGluZS1oZWlnaHQ6IDE3cHg7DQogICAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IFJvYm90bzsNCiAgICBwYWRkaW5nOiAxMnB4IDM1cHggMTJweCAzNXB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApOw0KICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMXB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMHB4IDBweDsNCiAgICBsZXR0ZXItc3BhY2luZzogMnB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQNCn0NCi50cC1jYXB0aW9uLk5ld3NwYXBlci1CdXR0b246aG92ZXIsDQouTmV3c3BhcGVyLUJ1dHRvbjpob3ZlciB7DQogICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4DQp9DQoudHAtY2FwdGlvbi5ydHdoaXRlbWVkaXVtLA0KLnJ0d2hpdGVtZWRpdW0gew0KICAgIGZvbnQtc2l6ZTogMjJweDsNCiAgICBsaW5lLWhlaWdodDogMjZweDsNCiAgICBjb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItY29sb3I6IHJnYigwLCAwLCAwKTsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgdGV4dC1zaGFkb3c6IG5vbmUNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgew0KCS5yZXZ0cC1zZWFyY2hmb3JtIGlucHV0W3R5cGU9InRleHQiXSwNCgkucmV2dHAtc2VhcmNoZm9ybSBpbnB1dFt0eXBlPSJlbWFpbCJdLA0KCS5yZXZ0cC1mb3JtIGlucHV0W3R5cGU9InRleHQiXSwNCgkucmV2dHAtZm9ybSBpbnB1dFt0eXBlPSJlbWFpbCJdIHsgd2lkdGg6IDIwMHB4ICFpbXBvcnRhbnQ7IH0NCn0NCg0KLnJldnRwLXNlYXJjaGZvcm0gaW5wdXRbdHlwZT0ic3VibWl0Il0sDQoucmV2dHAtZm9ybSBpbnB1dFt0eXBlPSJzdWJtaXQiXSB7CQ0KCWZvbnQtZmFtaWx5OiAiQXJpYWwiLCBzYW5zLXNlcmlmOw0KICAgIGxpbmUtaGVpZ2h0OiA0NnB4Ow0KICAgIGxldHRlci1zcGFjaW5nOiAxcHg7DQogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsNCiAgICBmb250LXNpemU6IDE1cHg7DQogICAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgICBwYWRkaW5nOiAwIDIwcHg7DQogICAgYm9yZGVyOiAwOw0KICAgIGJhY2tncm91bmQ6ICMwMDlhZWU7DQogICAgY29sb3I6ICNmZmY7DQogICAgDQogICAgDQogICAgYm9yZGVyLXJhZGl1czogMHB4Ow0KfQ0KDQoudHAtY2FwdGlvbi5Ud2l0dGVyLUNvbnRlbnQgYSwNCiAgICAudHAtY2FwdGlvbi5Ud2l0dGVyLUNvbnRlbnQgYTp2aXNpdGVkIHsNCiAgICAgICAgY29sb3I6ICMwMDg0QjQgIWltcG9ydGFudA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Ud2l0dGVyLUNvbnRlbnQgYTpob3ZlciB7DQogICAgICAgIGNvbG9yOiAjMDA4NEI0ICFpbXBvcnRhbnQ7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnRwLWNhcHRpb24uQ29uY2VwdC1UaXRsZSwNCiAgICAuQ29uY2VwdC1UaXRsZSB7DQogICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgICAgICBmb250LXNpemU6IDcwcHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiA3MHB4Ow0KICAgICAgICBmb250LXdlaWdodDogNzAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgICAgIGZvbnQtZmFtaWx5OiAiUm9ib3RvIENvbmRlbnNlZCI7DQogICAgICAgIHBhZGRpbmc6IDBweCAwcHggMTBweCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMHB4IDBweDsNCiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDVweA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Db25jZXB0LVN1YlRpdGxlLA0KICAgIC5Db25jZXB0LVN1YlRpdGxlIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42NSk7DQogICAgICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsNCiAgICAgICAgZm9udC1mYW1pbHk6ICIiUGxheWZhaXIgRGlzcGxheSIiOw0KICAgICAgICBwYWRkaW5nOiAwcHggMHB4IDEwcHggMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHgNCiAgICB9DQogICAgLnRwLWNhcHRpb24uQ29uY2VwdC1Db250ZW50LA0KICAgIC5Db25jZXB0LUNvbnRlbnQgew0KICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAyMHB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzBweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogIlJvYm90byBDb25kZW5zZWQiOw0KICAgICAgICBwYWRkaW5nOiAwcHggMHB4IDBweCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOw0KICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMHB4IDBweA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Db25jZXB0LU1vcmVCdG4sDQogICAgLkNvbmNlcHQtTW9yZUJ0biB7DQogICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgICAgICBmb250LXNpemU6IDMwcHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4Ow0KICAgICAgICBmb250LXdlaWdodDogMzAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87DQogICAgICAgIHBhZGRpbmc6IDEwcHggOHB4IDdweCAxMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7DQogICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4IDUwcHggNTBweCA1MHB4Ow0KICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4Ow0KICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0DQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkNvbmNlcHQtTW9yZUJ0bjpob3ZlciwNCiAgICAuQ29uY2VwdC1Nb3JlQnRuOmhvdmVyIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweCA1MHB4IDUwcHggNTBweA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Db25jZXB0LUxlc3NCdG4sDQogICAgLkNvbmNlcHQtTGVzc0J0biB7DQogICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgICAgICBmb250LXNpemU6IDMwcHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4Ow0KICAgICAgICBmb250LXdlaWdodDogMzAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87DQogICAgICAgIHBhZGRpbmc6IDEwcHggOHB4IDdweCAxMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHggNTBweCA1MHB4IDUwcHg7DQogICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQNCiAgICB9DQogICAgLnRwLWNhcHRpb24uQ29uY2VwdC1MZXNzQnRuOmhvdmVyLA0KICAgIC5Db25jZXB0LUxlc3NCdG46aG92ZXIgew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7DQogICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4IDUwcHggNTBweCA1MHB4DQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkNvbmNlcHQtU3ViVGl0bGUtRGFyaywNCiAgICAuQ29uY2VwdC1TdWJUaXRsZS1EYXJrIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42NSk7DQogICAgICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsNCiAgICAgICAgZm9udC1mYW1pbHk6ICJQbGF5ZmFpciBEaXNwbGF5IjsNCiAgICAgICAgcGFkZGluZzogMHB4IDBweCAxMHB4IDBweDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4DQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkNvbmNlcHQtVGl0bGUtRGFyaywNCiAgICAuQ29uY2VwdC1UaXRsZS1EYXJrIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogNzBweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDcwcHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6ICJSb2JvdG8gQ29uZGVuc2VkIjsNCiAgICAgICAgcGFkZGluZzogMHB4IDBweCAxMHB4IDBweDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHg7DQogICAgICAgIGxldHRlci1zcGFjaW5nOiA1cHgNCiAgICB9DQogICAgLnRwLWNhcHRpb24uQ29uY2VwdC1Nb3JlQnRuLURhcmssDQogICAgLkNvbmNlcHQtTW9yZUJ0bi1EYXJrIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMzBweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IFJvYm90bzsNCiAgICAgICAgcGFkZGluZzogMTBweCA4cHggN3B4IDEwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHggNTBweCA1MHB4IDUwcHg7DQogICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQNCiAgICB9DQogICAgLnRwLWNhcHRpb24uQ29uY2VwdC1Nb3JlQnRuLURhcms6aG92ZXIsDQogICAgLkNvbmNlcHQtTW9yZUJ0bi1EYXJrOmhvdmVyIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweCA1MHB4IDUwcHggNTBweA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Db25jZXB0LUNvbnRlbnQtRGFyaywNCiAgICAuQ29uY2VwdC1Db250ZW50LURhcmsgew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAyMHB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzBweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogIlJvYm90byBDb25kZW5zZWQiOw0KICAgICAgICBwYWRkaW5nOiAwcHggMHB4IDBweCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOw0KICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMHB4IDBweA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Db25jZXB0LU5vdGljZSwNCiAgICAuQ29uY2VwdC1Ob3RpY2Ugew0KICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAxNXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMTVweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogIlJvYm90byBDb25kZW5zZWQiOw0KICAgICAgICBwYWRkaW5nOiAwcHggMHB4IDBweCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOw0KICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMHB4IDBweDsNCiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Db25jZXB0LUNvbnRlbnQgYSwNCiAgICAudHAtY2FwdGlvbi5Db25jZXB0LUNvbnRlbnQgYTp2aXNpdGVkIHsNCiAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDsNCiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmYgIWltcG9ydGFudDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Db25jZXB0LUNvbnRlbnQgYTpob3ZlciB7DQogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Db25jZXB0LUNvbnRlbnQtRGFyayBhLA0KICAgIC50cC1jYXB0aW9uLkNvbmNlcHQtQ29udGVudC1EYXJrIGE6dmlzaXRlZCB7DQogICAgICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7DQogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwICFpbXBvcnRhbnQ7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDsNCiAgICB9DQogICAgLnRwLWNhcHRpb24uQ29uY2VwdC1Db250ZW50LURhcmsgYTpob3ZlciB7DQogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50Ow0KICAgIH0NCg0KICAgIC50cC1jYXB0aW9uLlR3aXR0ZXItQ29udGVudCBhLA0KICAgIC50cC1jYXB0aW9uLlR3aXR0ZXItQ29udGVudCBhOnZpc2l0ZWQgew0KICAgICAgICBjb2xvcjogIzAwODRCNCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC50cC1jYXB0aW9uLlR3aXR0ZXItQ29udGVudCBhOmhvdmVyIHsNCiAgICAgICAgY29sb3I6ICMwMDg0QjQgIWltcG9ydGFudDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5DcmVhdGl2ZS1UaXRsZSwNCiAgICAuQ3JlYXRpdmUtVGl0bGUgew0KICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiA3MHB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogNzBweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogIlBsYXlmYWlyIERpc3BsYXkiOw0KICAgICAgICBwYWRkaW5nOiAwcHggMHB4IDBweCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4DQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkNyZWF0aXZlLVN1YlRpdGxlLA0KICAgIC5DcmVhdGl2ZS1TdWJUaXRsZSB7DQogICAgICAgIGNvbG9yOiByZ2JhKDIwNSwgMTc2LCAxMzEsIDEuMDApOw0KICAgICAgICBmb250LXNpemU6IDE0cHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4Ow0KICAgICAgICBmb250LXdlaWdodDogNDAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgICAgIGZvbnQtZmFtaWx5OiBMYXRvOw0KICAgICAgICBwYWRkaW5nOiAwcHggMHB4IDBweCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4Ow0KICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4DQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkNyZWF0aXZlLUJ1dHRvbiwNCiAgICAuQ3JlYXRpdmUtQnV0dG9uIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMjA1LCAxNzYsIDEzMSwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDEzcHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IExhdG87DQogICAgICAgIHBhZGRpbmc6IDE1cHggNTBweCAxNXB4IDUwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNSwgMTc2LCAxMzEsIDAuMjUpOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4Ow0KICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4DQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkNyZWF0aXZlLUJ1dHRvbjpob3ZlciwNCiAgICAuQ3JlYXRpdmUtQnV0dG9uOmhvdmVyIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMjA1LCAxNzYsIDEzMSwgMS4wMCk7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNSwgMTc2LCAxMzEsIDEuMDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4DQogICAgfQ0KDQoudHAtY2FwdGlvbi5zdWJjYXB0aW9uLA0KICAgIC5zdWJjYXB0aW9uIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMTExLCAxMjQsIDEzMCwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMTlweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IHJvYm90bzsNCiAgICAgICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQNCiAgICB9DQogICAgLnRwLWNhcHRpb24uUmVkRG90LA0KICAgIC5SZWREb3Qgew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsgICAgICAgIA0KICAgICAgICBmb250LXdlaWdodDogNDAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7ICAgICAgICANCiAgICAgICAgcGFkZGluZzogMHB4IDBweCAwcHggMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjEzLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDVweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweCA1MHB4IDUwcHggNTBweA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5SZWREb3Q6aG92ZXIsDQogICAgLlJlZERvdDpob3ZlciB7DQogICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7DQogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTMsIDAsIDAsIDEuMDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDVweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweCA1MHB4IDUwcHggNTBweA0KICAgIH0NCg0KICAgIC50cC1jYXB0aW9uLlNsaWRpbmdPdmVybGF5cy1UaXRsZSwNCiAgICAuU2xpZGluZ092ZXJsYXlzLVRpdGxlIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogNTBweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6ICJQbGF5ZmFpciBEaXNwbGF5IjsNCiAgICAgICAgcGFkZGluZzogMHB4IDBweCAwcHggMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHgNCiAgICB9DQogICAgLnRwLWNhcHRpb24uU2xpZGluZ092ZXJsYXlzLVRpdGxlLA0KICAgIC5TbGlkaW5nT3ZlcmxheXMtVGl0bGUgew0KICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiA1MHB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogNTBweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogIlBsYXlmYWlyIERpc3BsYXkiOw0KICAgICAgICBwYWRkaW5nOiAwcHggMHB4IDBweCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMHB4IDBweA0KICAgIH0NCg0KICAgICAudHAtY2FwdGlvbi5Xb28tVGl0bGVMYXJnZSwNCiAgICAuV29vLVRpdGxlTGFyZ2Ugew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiA0MHB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogNDBweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogIlBsYXlmYWlyIERpc3BsYXkiOw0KICAgICAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICANCiAgICB9DQogICAgLnRwLWNhcHRpb24uV29vLVJhdGluZywNCiAgICAuV29vLVJhdGluZyB7DQogICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgICAgICBmb250LXNpemU6IDE0cHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4Ow0KICAgICAgICBmb250LXdlaWdodDogMzAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87DQogICAgICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgICAgICANCiAgICB9DQogICAgLnRwLWNhcHRpb24uV29vLVN1YlRpdGxlLA0KICAgIC5Xb28tU3ViVGl0bGUgew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAxOHB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMThweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgICAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4Ow0KICAgICAgICANCiAgICB9DQogICAgLnRwLWNhcHRpb24uV29vLVByaWNlTGFyZ2UsDQogICAgLldvby1QcmljZUxhcmdlIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogNjBweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IFJvYm90bzsNCiAgICAgICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLldvby1Qcm9kdWN0SW5mbywNCiAgICAuV29vLVByb2R1Y3RJbmZvIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMTVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDE1cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IFJvYm90bzsNCiAgICAgICAgcGFkZGluZzogMTJweCA3NXB4IDEycHggNTBweDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NCwgMjA3LCAxMTQsIDEuMDApOw0KICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgICAgIGJvcmRlci13aWR0aDogMXB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDRweCA0cHg7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgICAgIA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Xb28tUHJvZHVjdEluZm86aG92ZXIsDQogICAgLldvby1Qcm9kdWN0SW5mbzpob3ZlciB7DQogICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQzLCAxNjgsIDcxLCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCA0cHggNHB4DQogICAgfQ0KICAgIC50cC1jYXB0aW9uLldvby1BZGRUb0NhcnQsDQogICAgLldvby1BZGRUb0NhcnQgew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAxNXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMTVweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgICAgICBwYWRkaW5nOiAxMnB4IDM1cHggMTJweCAzNXB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU0LCAyMDcsIDExNCwgMS4wMCk7DQogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggNHB4IDRweDsNCiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICAgICAgDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLldvby1BZGRUb0NhcnQ6aG92ZXIsDQogICAgLldvby1BZGRUb0NhcnQ6aG92ZXIgew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MywgMTY4LCA3MSwgMS4wMCk7DQogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggNHB4IDRweA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Xb28tVGl0bGVMYXJnZSwNCiAgICAuV29vLVRpdGxlTGFyZ2Ugew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiA0MHB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogNDBweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogIlBsYXlmYWlyIERpc3BsYXkiOw0KICAgICAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICANCiAgICB9DQogICAgLnRwLWNhcHRpb24uV29vLVN1YlRpdGxlLA0KICAgIC5Xb28tU3ViVGl0bGUgew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAxOHB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMThweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgICAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4Ow0KICAgICAgICANCiAgICB9DQogICAgLnRwLWNhcHRpb24uV29vLVByaWNlTGFyZ2UsDQogICAgLldvby1QcmljZUxhcmdlIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogNjBweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IFJvYm90bzsNCiAgICAgICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLldvby1Qcm9kdWN0SW5mbywNCiAgICAuV29vLVByb2R1Y3RJbmZvIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMTVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDE1cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IFJvYm90bzsNCiAgICAgICAgcGFkZGluZzogMTJweCA3NXB4IDEycHggNTBweDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NCwgMjA3LCAxMTQsIDEuMDApOw0KICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgICAgIGJvcmRlci13aWR0aDogMXB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDRweCA0cHg7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgICAgIA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Xb28tUHJvZHVjdEluZm86aG92ZXIsDQogICAgLldvby1Qcm9kdWN0SW5mbzpob3ZlciB7DQogICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQzLCAxNjgsIDcxLCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCA0cHggNHB4DQogICAgfQ0KICAgIC50cC1jYXB0aW9uLldvby1BZGRUb0NhcnQsDQogICAgLldvby1BZGRUb0NhcnQgew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAxNXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMTVweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgICAgICBwYWRkaW5nOiAxMnB4IDM1cHggMTJweCAzNXB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU0LCAyMDcsIDExNCwgMS4wMCk7DQogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggNHB4IDRweDsNCiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICAgICAgDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLldvby1BZGRUb0NhcnQ6aG92ZXIsDQogICAgLldvby1BZGRUb0NhcnQ6aG92ZXIgew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MywgMTY4LCA3MSwgMS4wMCk7DQogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggNHB4IDRweA0KICAgIH0NCg0KICAgIC50cC1jYXB0aW9uLkZ1bGxTY3JlZW4tVG9nZ2xlLA0KICAgIC5GdWxsU2NyZWVuLVRvZ2dsZSB7DQogICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgICAgICBmb250LXNpemU6IDIwcHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgICAgICBmb250LXdlaWdodDogNDAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgICAgIGZvbnQtZmFtaWx5OiBSYWxld2F5Ow0KICAgICAgICBwYWRkaW5nOiAxMXB4IDhweCAxMXB4IDEycHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUwKTsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4Ow0KICAgICAgICBsZXR0ZXItc3BhY2luZzogM3B4Ow0KICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0DQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTY3JlZW4tVG9nZ2xlOmhvdmVyLA0KICAgIC5GdWxsU2NyZWVuLVRvZ2dsZTpob3ZlciB7DQogICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMHB4IDBweA0KICAgIH0NCg0KICAgIC50cC1jYXB0aW9uLkFnZW5jeS1UaXRsZSwNCi5BZ2VuY3ktVGl0bGUgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogNzBweDsNCiAgICBsaW5lLWhlaWdodDogNzBweDsNCiAgICBmb250LXdlaWdodDogOTAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogbGF0bzsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGxldHRlci1zcGFjaW5nOiAxMHB4DQp9DQoudHAtY2FwdGlvbi5BZ2VuY3ktU3ViVGl0bGUsDQouQWdlbmN5LVN1YlRpdGxlIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDIwcHg7DQogICAgbGluZS1oZWlnaHQ6IDIwcHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBmb250LXN0eWxlOiBpdGFsaWM7DQogICAgZm9udC1mYW1pbHk6IEdlb3JnaWEsIHNlcmlmOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcg0KfQ0KLnRwLWNhcHRpb24uQWdlbmN5LVBsYXlCdG4sDQouQWdlbmN5LVBsYXlCdG4gew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMzBweDsNCiAgICBsaW5lLWhlaWdodDogNzFweDsNCiAgICBmb250LXdlaWdodDogNTAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgIHBhZGRpbmc6IDBweCAwcHggMHB4IDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAycHg7DQogICAgYm9yZGVyLXJhZGl1czogMTAwcHggMTAwcHggMTAwcHggMTAwcHg7DQogICAgdGV4dC1hbGlnbjogY2VudGVyDQp9DQoudHAtY2FwdGlvbi5BZ2VuY3ktUGxheUJ0bjpob3ZlciwNCi5BZ2VuY3ktUGxheUJ0bjpob3ZlciB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMnB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4IDEwMHB4IDEwMHB4IDEwMHB4Ow0KICAgIGN1cnNvcjogcG9pbnRlcg0KfQ0KLnRwLWNhcHRpb24uQWdlbmN5LVNtYWxsVGV4dCwNCi5BZ2VuY3ktU21hbGxUZXh0IHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDEycHg7DQogICAgbGluZS1oZWlnaHQ6IDEycHg7DQogICAgZm9udC13ZWlnaHQ6IDkwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IGxhdG87DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBsZXR0ZXItc3BhY2luZzogNXB4DQp9DQoudHAtY2FwdGlvbi5BZ2VuY3ktU29jaWFsLA0KLkFnZW5jeS1Tb2NpYWwgew0KICAgIGNvbG9yOiByZ2JhKDUxLCA1MSwgNTEsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICBsaW5lLWhlaWdodDogNTBweDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogR2VvcmdpYSwgc2VyaWY7DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDJweDsNCiAgICBib3JkZXItcmFkaXVzOiAzMHB4IDMwcHggMzBweCAzMHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcg0KfQ0KLnRwLWNhcHRpb24uQWdlbmN5LVNvY2lhbDpob3ZlciwNCi5BZ2VuY3ktU29jaWFsOmhvdmVyIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDJweDsNCiAgICBib3JkZXItcmFkaXVzOiAzMHB4IDMwcHggMzBweCAzMHB4Ow0KICAgIGN1cnNvcjogcG9pbnRlcg0KfQ0KLnRwLWNhcHRpb24uQWdlbmN5LUNsb3NlQnRuLA0KLkFnZW5jeS1DbG9zZUJ0biB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiA1MHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA1MHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87DQogICAgcGFkZGluZzogMHB4IDBweCAwcHggMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4IDEwMHB4IDEwMHB4IDEwMHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcg0KfQ0KLnRwLWNhcHRpb24uQWdlbmN5LUNsb3NlQnRuOmhvdmVyLA0KLkFnZW5jeS1DbG9zZUJ0bjpob3ZlciB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMTAwcHggMTAwcHggMTAwcHggMTAwcHg7DQogICAgY3Vyc29yOiBwb2ludGVyDQp9DQoNCi50cC1jYXB0aW9uLkRpbmluZy1UaXRsZSwNCi5EaW5pbmctVGl0bGUgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogNzBweDsNCiAgICBsaW5lLWhlaWdodDogNzBweDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogR2VvcmdpYSwgc2VyaWY7DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBsZXR0ZXItc3BhY2luZzogMTBweA0KfQ0KLnRwLWNhcHRpb24uRGluaW5nLVN1YlRpdGxlLA0KLkRpbmluZy1TdWJUaXRsZSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAyMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBHZW9yZ2lhLCBzZXJpZjsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0DQp9DQoudHAtY2FwdGlvbi5EaW5pbmctQnRuTGlnaHQsDQouRGluaW5nLUJ0bkxpZ2h0IHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUwKTsNCiAgICBmb250LXNpemU6IDE1cHg7DQogICAgbGluZS1oZWlnaHQ6IDE1cHg7DQogICAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IExhdG87DQogICAgcGFkZGluZzogMTdweCA3M3B4IDE3cHggNTBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBsZXR0ZXItc3BhY2luZzogMnB4DQp9DQoudHAtY2FwdGlvbi5EaW5pbmctQnRuTGlnaHQ6aG92ZXIsDQouRGluaW5nLUJ0bkxpZ2h0OmhvdmVyIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHgNCn0NCi50cC1jYXB0aW9uLkRpbmluZy1Tb2NpYWwsDQouRGluaW5nLVNvY2lhbCB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAyNXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA1MHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBHZW9yZ2lhLCBzZXJpZjsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMXB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDMwcHggMzBweCAzMHB4IDMwcHg7DQogICAgdGV4dC1hbGlnbjogY2VudGVyDQp9DQoudHAtY2FwdGlvbi5EaW5pbmctU29jaWFsOmhvdmVyLA0KLkRpbmluZy1Tb2NpYWw6aG92ZXIgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICBib3JkZXItcmFkaXVzOiAzMHB4IDMwcHggMzBweCAzMHB4Ow0KICAgIGN1cnNvcjogcG9pbnRlcg0KfQ0KdHAtY2FwdGlvbi5UZWFtLVRodW1iLA0KLlRlYW0tVGh1bWIgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICBsaW5lLWhlaWdodDogMjJweDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogQXJpYWw7DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uVGVhbS1UaHVtYjpob3ZlciwNCi5UZWFtLVRodW1iOmhvdmVyIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIGN1cnNvcjogcG9pbnRlcg0KfQ0KLnRwLWNhcHRpb24uVGVhbS1OYW1lLA0KLlRlYW0tTmFtZSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiA3MHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA3MHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA5MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uVGVhbS1Qb3NpdGlvbiwNCi5UZWFtLVBvc2l0aW9uIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDMwcHg7DQogICAgbGluZS1oZWlnaHQ6IDMwcHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IEdlb3JnaWEsIHNlcmlmOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQNCn0NCi50cC1jYXB0aW9uLlRlYW0tRGVzY3JpcHRpb24sDQouVGVhbS1EZXNjcmlwdGlvbiB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxOHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyOHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uVGVhbS1Tb2NpYWwsDQouVGVhbS1Tb2NpYWwgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogNTBweDsNCiAgICBsaW5lLWhlaWdodDogNTBweDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogQXJpYWw7DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogY2VudGVyDQp9DQoudHAtY2FwdGlvbi5UZWFtLVNvY2lhbDpob3ZlciwNCi5UZWFtLVNvY2lhbDpob3ZlciB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMHB4IDBweDsNCiAgICBjdXJzb3I6IHBvaW50ZXINCn0NCg0KLnRwLWNhcHRpb24uVmlkZW9Db250cm9scy1QbGF5LA0KLlZpZGVvQ29udHJvbHMtUGxheSB7DQogICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgZm9udC1zaXplOiA1MHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxMjBweDsNCiAgICBmb250LXdlaWdodDogNTAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgIHBhZGRpbmc6IDBweCAwcHggMHB4IDdweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAxMDBweCAxMDBweCAxMDBweCAxMDBweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXINCn0NCi50cC1jYXB0aW9uLlZpZGVvQ29udHJvbHMtUGxheTpob3ZlciwNCi5WaWRlb0NvbnRyb2xzLVBsYXk6aG92ZXIgew0KICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4IDEwMHB4IDEwMHB4IDEwMHB4Ow0KICAgIGN1cnNvcjogcG9pbnRlcg0KfQ0KLnRwLWNhcHRpb24uVmlkZW9QbGF5ZXItVGl0bGUsDQouVmlkZW9QbGF5ZXItVGl0bGUgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogNDBweDsNCiAgICBsaW5lLWhlaWdodDogNDBweDsNCiAgICBmb250LXdlaWdodDogOTAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGxldHRlci1zcGFjaW5nOiAxMHB4DQp9DQoudHAtY2FwdGlvbi5WaWRlb1BsYXllci1TdWJUaXRsZSwNCi5WaWRlb1BsYXllci1TdWJUaXRsZSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAyMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgZm9udC1zdHlsZTogaXRhbGljOw0KICAgIGZvbnQtZmFtaWx5OiBHZW9yZ2lhLCBzZXJpZjsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXINCn0NCi50cC1jYXB0aW9uLlZpZGVvUGxheWVyLVNvY2lhbCwNCi5WaWRlb1BsYXllci1Tb2NpYWwgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogNTBweDsNCiAgICBsaW5lLWhlaWdodDogNTBweDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogQXJpYWw7DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogY2VudGVyDQp9DQoudHAtY2FwdGlvbi5WaWRlb1BsYXllci1Tb2NpYWw6aG92ZXIsDQouVmlkZW9QbGF5ZXItU29jaWFsOmhvdmVyIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4Ow0KICAgIGN1cnNvcjogcG9pbnRlcg0KfQ0KLnRwLWNhcHRpb24uVmlkZW9Db250cm9scy1NdXRlLA0KLlZpZGVvQ29udHJvbHMtTXV0ZSB7DQogICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgZm9udC1zaXplOiAyMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA1MHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87DQogICAgcGFkZGluZzogMHB4IDBweCAwcHggMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4IDEwMHB4IDEwMHB4IDEwMHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcg0KfQ0KLnRwLWNhcHRpb24uVmlkZW9Db250cm9scy1NdXRlOmhvdmVyLA0KLlZpZGVvQ29udHJvbHMtTXV0ZTpob3ZlciB7DQogICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMTAwcHggMTAwcHggMTAwcHggMTAwcHg7DQogICAgY3Vyc29yOiBwb2ludGVyDQp9DQoudHAtY2FwdGlvbi5WaWRlb0NvbnRyb2xzLVBhdXNlLA0KLlZpZGVvQ29udHJvbHMtUGF1c2Ugew0KICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICBsaW5lLWhlaWdodDogNTBweDsNCiAgICBmb250LXdlaWdodDogNTAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgIHBhZGRpbmc6IDBweCAwcHggMHB4IDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAxMDBweCAxMDBweCAxMDBweCAxMDBweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXINCn0NCi50cC1jYXB0aW9uLlZpZGVvQ29udHJvbHMtUGF1c2U6aG92ZXIsDQouVmlkZW9Db250cm9scy1QYXVzZTpob3ZlciB7DQogICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMTAwcHggMTAwcHggMTAwcHggMTAwcHg7DQogICAgY3Vyc29yOiBwb2ludGVyDQogfQ0KDQouc291bmRjbG91ZHdyYXBwZXIgaWZyYW1lIHsNCiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50DQp9DQoudHAtY2FwdGlvbi5TbGVla0xhbmRpbmctVGl0bGUsDQouU2xlZWtMYW5kaW5nLVRpdGxlIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDM1cHg7DQogICAgbGluZS1oZWlnaHQ6IDQwcHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IExhdG87DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGxldHRlci1zcGFjaW5nOiA1cHgNCn0NCi50cC1jYXB0aW9uLlNsZWVrTGFuZGluZy1CdXR0b25CRywNCi5TbGVla0xhbmRpbmctQnV0dG9uQkcgew0KICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgICAgICANCiAgICBmb250LXdlaWdodDogNzAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgICAgDQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMCk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogNXB4IDVweCA1cHggNXB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQ7ICAgIA0KICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAycHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTUpDQp9DQoudHAtY2FwdGlvbi5TbGVla0xhbmRpbmctU21hbGxUaXRsZSwNCi5TbGVla0xhbmRpbmctU21hbGxUaXRsZSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxM3B4Ow0KICAgIGxpbmUtaGVpZ2h0OiA1MHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA5MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBMYXRvOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBsZXR0ZXItc3BhY2luZzogMnB4DQp9DQoudHAtY2FwdGlvbi5TbGVla0xhbmRpbmctQm90dG9tVGV4dCwNCi5TbGVla0xhbmRpbmctQm90dG9tVGV4dCB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxNXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyNHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBMYXRvOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uU2xlZWtMYW5kaW5nLVNvY2lhbCwNCi5TbGVla0xhbmRpbmctU29jaWFsIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDIycHg7DQogICAgbGluZS1oZWlnaHQ6IDMwcHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IEFyaWFsOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXINCn0NCi50cC1jYXB0aW9uLlNsZWVrTGFuZGluZy1Tb2NpYWw6aG92ZXIsDQouU2xlZWtMYW5kaW5nLVNvY2lhbDpob3ZlciB7DQogICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICBjdXJzb3I6IHBvaW50ZXINCn0NCiNyZXZfc2xpZGVyXzQyOV8xX3dyYXBwZXIgLnRwLWxvYWRlci5zcGlubmVyMiB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTU1NSAhaW1wb3J0YW50Ow0KfQ0KLnRwLWZhdCB7DQogICAgZm9udC13ZWlnaHQ6IDkwMCAhaW1wb3J0YW50Ow0KfQ0KDQoudHAtY2FwdGlvbi5Qb3N0U2xpZGVyLUNhdGVnb3J5LA0KLlBvc3RTbGlkZXItQ2F0ZWdvcnkgew0KICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMTVweDsNCiAgICBsaW5lLWhlaWdodDogMTVweDsNCiAgICBmb250LXdlaWdodDogMzAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIGxldHRlci1zcGFjaW5nOiAzcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uUG9zdFNsaWRlci1UaXRsZSwNCi5Qb3N0U2xpZGVyLVRpdGxlIHsNCiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICBmb250LXNpemU6IDQwcHg7DQogICAgbGluZS1oZWlnaHQ6IDQwcHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6ICJQbGF5ZmFpciBEaXNwbGF5IjsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0DQp9DQoudHAtY2FwdGlvbi5Qb3N0U2xpZGVyLUNvbnRlbnQsDQouUG9zdFNsaWRlci1Db250ZW50IHsNCiAgICBjb2xvcjogcmdiYSgxMTksIDExOSwgMTE5LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDE1cHg7DQogICAgbGluZS1oZWlnaHQ6IDIzcHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IFJvYm90bzsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0DQp9DQoudHAtY2FwdGlvbi5Qb3N0U2xpZGVyLUJ1dHRvbiwNCi5Qb3N0U2xpZGVyLUJ1dHRvbiB7DQogICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxNXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA0MHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87DQogICAgcGFkZGluZzogMXB4IDU2cHggMXB4IDMycHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQNCn0NCi50cC1jYXB0aW9uLlBvc3RTbGlkZXItQnV0dG9uOmhvdmVyLA0KLlBvc3RTbGlkZXItQnV0dG9uOmhvdmVyIHsNCiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzgsIDIzOCwgMjM4LCAxLjAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHg7DQogICAgY3Vyc29yOiBwb2ludGVyDQp9DQoNCi8qIG1lZGlhIHF1ZXJpZXMgKi8NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge30gQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge30gLnRwLWNhcHRpb24uTGFuZGluZ1BhZ2UtVGl0bGUsDQouTGFuZGluZ1BhZ2UtVGl0bGUgew0KICAgIGNvbG9yOnJnYmEoMjU1LA0KICAgIDI1NSwNCiAgICAyNTUsDQogICAgMS4wMCk7DQogICAgZm9udC1zaXplOjcwcHg7DQogICAgbGluZS1oZWlnaHQ6ODBweDsNCiAgICBmb250LXdlaWdodDo5MDA7DQogICAgZm9udC1zdHlsZTpub3JtYWw7DQogICAgZm9udC1mYW1pbHk6TGF0bzsNCiAgICBwYWRkaW5nOjAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246bm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6bm9uZTsNCiAgICBib3JkZXItd2lkdGg6MHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6MCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246bGVmdDsNCiAgICBsZXR0ZXItc3BhY2luZzoxMHB4DQp9DQoudHAtY2FwdGlvbi5MYW5kaW5nUGFnZS1TdWJUaXRsZSwNCi5MYW5kaW5nUGFnZS1TdWJUaXRsZSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAyMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAzMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgZm9udC1zdHlsZTogaXRhbGljOw0KICAgIGZvbnQtZmFtaWx5OiBHZW9yZ2lhLCBzZXJpZjsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0DQp9DQoudHAtY2FwdGlvbi5MYW5kaW5nUGFnZS1CdXR0b24sDQouTGFuZGluZ1BhZ2UtQnV0dG9uIHsNCiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICBmb250LXNpemU6IDE1cHg7DQogICAgbGluZS1oZWlnaHQ6IDU0cHg7DQogICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IFJvYm90bzsNCiAgICBwYWRkaW5nOiAwcHggMzVweCAwcHggMzVweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBsZXR0ZXItc3BhY2luZzogM3B4DQp9DQoudHAtY2FwdGlvbi5MYW5kaW5nUGFnZS1CdXR0b246aG92ZXIsDQouTGFuZGluZ1BhZ2UtQnV0dG9uOmhvdmVyIHsNCiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHg7DQogICAgY3Vyc29yOiBwb2ludGVyDQp9DQoudHAtY2FwdGlvbi5BcHAtQ29udGVudCBhLA0KLnRwLWNhcHRpb24uQXBwLUNvbnRlbnQgYTp2aXNpdGVkIHsNCiAgICBjb2xvcjogIzg5MTI0ZSAhaW1wb3J0YW50Ow0KICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50Ow0KICAgIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7DQp9DQoudHAtY2FwdGlvbi5BcHAtQ29udGVudCBhOmhvdmVyIHsNCiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzg5MTI0ZSAhaW1wb3J0YW50Ow0KfQ0KLnRwLWNhcHRpb24uUm9ja0JhbmQtTG9nb1RleHQsDQouUm9ja0JhbmQtTG9nb1RleHQgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogNjBweDsNCiAgICBsaW5lLWhlaWdodDogNjBweDsNCiAgICBmb250LXdlaWdodDogNzAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogT3N3YWxkOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uVHdpdHRlci1Db250ZW50IGEsDQoudHAtY2FwdGlvbi5Ud2l0dGVyLUNvbnRlbnQgYTp2aXNpdGVkIHsNCiAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7DQp9DQoudHAtY2FwdGlvbi5Ud2l0dGVyLUNvbnRlbnQgYTpob3ZlciB7DQogICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsNCn0NCi5zb3VuZGNsb3Vkd3JhcHBlciBpZnJhbWUgew0KICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQNCn0NCg0KLnRwLWNhcHRpb24uQWdlbmN5LUxvZ29UZXh0LA0KLkFnZW5jeS1Mb2dvVGV4dCB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBMYXRvOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgbGV0dGVyLXNwYWNpbmc6IDFweA0KfQ0KLnRwLWNhcHRpb24uQ29taW5nU29vbi1IaWdobGlnaHQsDQouQ29taW5nU29vbi1IaWdobGlnaHQgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICBsaW5lLWhlaWdodDogMzdweDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICBwYWRkaW5nOiAwIDIwcHggM3B4IDIwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNTQsIDIzOCwgMS4wMCk7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQNCn0NCi50cC1jYXB0aW9uLkNvbWluZ1Nvb24tQ291bnQsDQouQ29taW5nU29vbi1Db3VudCB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiA1MHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA1MHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA5MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBMYXRvOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uQ29taW5nU29vbi1Db3VudFVuaXQsDQouQ29taW5nU29vbi1Db3VudFVuaXQgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICBsaW5lLWhlaWdodDogMjBweDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogY2VudGVyDQp9DQoudHAtY2FwdGlvbi5Db21pbmdTb29uLU5vdGlmeU1lLA0KLkNvbWluZ1Nvb24tTm90aWZ5TWUgew0KICAgIGNvbG9yOiByZ2JhKDE2NCwgMTU3LCAxNDMsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMjdweDsNCiAgICBsaW5lLWhlaWdodDogMzVweDsNCiAgICBmb250LXdlaWdodDogNjAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogY2VudGVyDQp9DQoNCiNtY19lbWJlZF9zaWdudXAgaW5wdXQjbWNlLUVNQUlMIHsNCiAgICBmb250LWZhbWlseTogIkxhdG8iLCBzYW5zLXNlcmlmOw0KICAgIGZvbnQtc2l6ZTogMTVweDsNCiAgICBjb2xvcjogIzAwMDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgIGxpbmUtaGVpZ2h0OiA0NnB4Ow0KICAgIHBhZGRpbmc6IDAgMjBweDsNCiAgICBjdXJzb3I6IHRleHQ7DQogICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjsNCiAgICB3aWR0aDogNDAwcHg7DQogICAgbWFyZ2luLWJvdHRvbTogMHB4Ow0KICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzOw0KICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzOw0KICAgIC1vLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41czsNCiAgICAtbXMtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzOw0KICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41czsNCiAgICANCiAgICANCiAgICBib3JkZXItcmFkaXVzOiAwcHg7DQp9DQojbWNfZW1iZWRfc2lnbnVwIGlucHV0I21jZS1FTUFJTFt0eXBlPSJlbWFpbCJdOmZvY3VzIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkICM2NjY7DQogICAgYm9yZGVyLXJpZ2h0OiAwOw0KfQ0KI21jX2VtYmVkX3NpZ251cCBpbnB1dCNtYy1lbWJlZGRlZC1zdWJzY3JpYmUsDQojbWNfZW1iZWRfc2lnbnVwIGlucHV0I21jLWVtYmVkZGVkLXN1YnNjcmliZTpmb2N1cyB7DQogICAgZm9udC1mYW1pbHk6ICJMYXRvIiwgc2Fucy1zZXJpZjsNCiAgICBsaW5lLWhlaWdodDogNDZweDsNCiAgICBsZXR0ZXItc3BhY2luZzogMXB4Ow0KICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQogICAgZm9udC1zaXplOiAxM3B4Ow0KICAgIGZvbnQtd2VpZ2h0OiA5MDA7DQogICAgcGFkZGluZzogMCAyMHB4Ow0KICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDlhZWU7DQogICAgYmFja2dyb3VuZDogIzAwOWFlZTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICANCiAgICANCiAgICBib3JkZXItcmFkaXVzOiAwcHg7DQp9DQojbWNfZW1iZWRfc2lnbnVwIGlucHV0I21jLWVtYmVkZGVkLXN1YnNjcmliZTpob3ZlciB7DQogICAgYmFja2dyb3VuZDogIzAwODNkNDsNCn0NCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsNCiAgICAjbWNfZW1iZWRfc2lnbnVwIGlucHV0I21jZS1FTUFJTCB7DQogICAgICAgIHdpZHRoOiAyMDBweDsNCiAgICB9DQp9DQoudHAtY2FwdGlvbi5BZ2VuY3ktU21hbGxUaXRsZSwNCi5BZ2VuY3ktU21hbGxUaXRsZSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxNXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMnB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBsYXRvOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgbGV0dGVyLXNwYWNpbmc6IDZweA0KfQ0KLnRwLWNhcHRpb24uQWdlbmN5LVNtYWxsQ29udGVudCwNCi5BZ2VuY3ktU21hbGxDb250ZW50IHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDE1cHg7DQogICAgbGluZS1oZWlnaHQ6IDI0cHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IGxhdG87DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcg0KfQ0KLnRwLWNhcHRpb24uQWdlbmN5LVNtYWxsTGluaywNCi5BZ2VuY3ktU21hbGxMaW5rIHsNCiAgICBjb2xvcjogcmdiYSgyNDgsIDEyNCwgOSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMnB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBsYXRvOw0KICAgIHBhZGRpbmc6IDAgMCAwcHggMDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgbGV0dGVyLXNwYWNpbmc6IDJweDsNCiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Y4N2MwOSAhaW1wb3J0YW50DQp9DQoudHAtY2FwdGlvbi5BZ2VuY3ktU21hbGxMaW5rOmhvdmVyLA0KLkFnZW5jeS1TbWFsbExpbms6aG92ZXIgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgY3Vyc29yOiBwb2ludGVyDQp9DQoudHAtY2FwdGlvbi5BZ2VuY3ktTmF2QnV0dG9uLA0KLkFnZW5jeS1OYXZCdXR0b24gew0KICAgIGNvbG9yOiByZ2JhKDUxLCA1MSwgNTEsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMTdweDsNCiAgICBsaW5lLWhlaWdodDogNTBweDsNCiAgICBmb250LXdlaWdodDogNTAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgIHBhZGRpbmc6IDBweCAwcHggMHB4IDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcg0KfQ0KLnRwLWNhcHRpb24uQWdlbmN5LU5hdkJ1dHRvbjpob3ZlciwNCi5BZ2VuY3ktTmF2QnV0dG9uOmhvdmVyIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHg7DQogICAgY3Vyc29yOiBwb2ludGVyDQp9DQoudHAtY2FwdGlvbi5BZ2VuY3ktU21hbGxMaW5rR3JlZW4sDQouQWdlbmN5LVNtYWxsTGlua0dyZWVuIHsNCiAgICBjb2xvcjogcmdiYSgxMDksIDE3NywgMTU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDEycHg7DQogICAgbGluZS1oZWlnaHQ6IDIycHg7DQogICAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IGxhdG87DQogICAgcGFkZGluZzogMCAwIDBweCAwOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBsZXR0ZXItc3BhY2luZzogMnB4Ow0KICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNmRiMTliICFpbXBvcnRhbnQNCn0NCi50cC1jYXB0aW9uLkFnZW5jeS1TbWFsbExpbmtHcmVlbjpob3ZlciwNCi5BZ2VuY3ktU21hbGxMaW5rR3JlZW46aG92ZXIgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgY3Vyc29yOiBwb2ludGVyDQp9DQoudHAtY2FwdGlvbi5BZ2VuY3ktU21hbGxMaW5rQmx1ZSwNCi5BZ2VuY3ktU21hbGxMaW5rQmx1ZSB7DQogICAgY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMS4wMCk7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMnB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBsYXRvOw0KICAgIHBhZGRpbmc6IDAgMCAwcHggMDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgbGV0dGVyLXNwYWNpbmc6IDJweDsNCiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzk5OSAhaW1wb3J0YW50DQp9DQoudHAtY2FwdGlvbi5BZ2VuY3ktU21hbGxMaW5rQmx1ZTpob3ZlciwNCi5BZ2VuY3ktU21hbGxMaW5rQmx1ZTpob3ZlciB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICBjdXJzb3I6IHBvaW50ZXINCn0NCi50cC1jYXB0aW9uLkFnZW5jeS1Mb2dvVGV4dCwNCi5BZ2VuY3ktTG9nb1RleHQgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBsaW5lLWhlaWdodDogMjBweDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGxldHRlci1zcGFjaW5nOiAxcHgNCn0NCi50cC1jYXB0aW9uLkFnZW5jeS1BcnJvd1Rvb2x0aXAsDQouQWdlbmN5LUFycm93VG9vbHRpcCB7DQogICAgY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxNXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiAiUGVybWFuZW50IE1hcmtlciI7DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0DQp9DQoudHAtY2FwdGlvbi5BZ2VuY3ktU21hbGxTb2NpYWwsDQouQWdlbmN5LVNtYWxsU29jaWFsIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDMwcHg7DQogICAgbGluZS1oZWlnaHQ6IDMwcHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IEFyaWFsOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXINCn0NCi50cC1jYXB0aW9uLkFnZW5jeS1TbWFsbFNvY2lhbDpob3ZlciwNCi5BZ2VuY3ktU21hbGxTb2NpYWw6aG92ZXIgew0KICAgIGNvbG9yOiByZ2JhKDUxLCA1MSwgNTEsIDEuMDApOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHg7DQogICAgY3Vyc29yOiBwb2ludGVyDQp9DQoudHAtY2FwdGlvbi5Ud2l0dGVyLUNvbnRlbnQgYSwNCi50cC1jYXB0aW9uLlR3aXR0ZXItQ29udGVudCBhOnZpc2l0ZWQgew0KICAgIGNvbG9yOiAjMDA4NEI0ICFpbXBvcnRhbnQNCn0NCi50cC1jYXB0aW9uLlR3aXR0ZXItQ29udGVudCBhOmhvdmVyIHsNCiAgICBjb2xvcjogIzAwODRCNCAhaW1wb3J0YW50Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQNCn0NCi50cC1jYXB0aW9uLkNyZWF0aXZlRnJvbnRQYWdlLUJ0biwNCi5DcmVhdGl2ZUZyb250UGFnZS1CdG4gew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMTRweDsNCiAgICBsaW5lLWhlaWdodDogNjBweDsNCiAgICBmb250LXdlaWdodDogOTAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgIHBhZGRpbmc6IDBweCA1MHB4IDBweCA1MHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTA0LCA5MiwgMS4wMCk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCA0cHggNHB4Ow0KICAgIGxldHRlci1zcGFjaW5nOiAycHgNCn0NCi50cC1jYXB0aW9uLkNyZWF0aXZlRnJvbnRQYWdlLUJ0bjpob3ZlciwNCi5DcmVhdGl2ZUZyb250UGFnZS1CdG46aG92ZXIgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpOw0KICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggNHB4IDRweDsNCiAgICBjdXJzb3I6IHBvaW50ZXINCn0NCi50cC1jYXB0aW9uLkNyZWF0aXZlRnJvbnRQYWdlLU1lbnUsDQouQ3JlYXRpdmVGcm9udFBhZ2UtTWVudSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxNHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxNHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiByb2JvdG87DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICBsZXR0ZXItc3BhY2luZzogMnB4DQp9DQoudHAtZmxpcC1pbmRleCB7DQogICAgei1pbmRleDogMTAwMCAhaW1wb3J0YW50Ow0KfQ0KLnRwLWNhcHRpb24uVHdpdHRlci1Db250ZW50IGEsDQoudHAtY2FwdGlvbi5Ud2l0dGVyLUNvbnRlbnQgYTp2aXNpdGVkIHsNCiAgICBjb2xvcjogIzAwODRCNCAhaW1wb3J0YW50DQp9DQoudHAtY2FwdGlvbi5Ud2l0dGVyLUNvbnRlbnQgYTpob3ZlciB7DQogICAgY29sb3I6ICMwMDg0QjQgIWltcG9ydGFudDsNCiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50DQp9DQoudHAtY2FwdGlvbi5GdWxsU2NyZWVuTWVudS1DYXRlZ29yeSwNCi5GdWxsU2NyZWVuTWVudS1DYXRlZ29yeSB7DQogICAgY29sb3I6IHJnYmEoMTcsIDE3LCAxNywgMS4wMCk7DQogICAgZm9udC1zaXplOiAyMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBCZW5jaE5pbmU7DQogICAgcGFkZGluZzogMjFweCAzMHB4IDE2cHggMzBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTApOw0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICBsZXR0ZXItc3BhY2luZzogM3B4DQp9DQoudHAtY2FwdGlvbi5GdWxsU2NyZWVuTWVudS1UaXRsZSwNCi5GdWxsU2NyZWVuTWVudS1UaXRsZSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiA2NXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA3MHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBCZW5jaE5pbmU7DQogICAgcGFkZGluZzogMjFweCAzMHB4IDE2cHggMzBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE3LCAxNywgMTcsIDAuOTApOw0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweA0KfQ0KLnRwLWNhcHRpb24uVHdpdHRlci1Db250ZW50IGEsDQoudHAtY2FwdGlvbi5Ud2l0dGVyLUNvbnRlbnQgYTp2aXNpdGVkIHsNCiAgICBjb2xvcjogIzAwODRCNCAhaW1wb3J0YW50DQp9DQoudHAtY2FwdGlvbi5Ud2l0dGVyLUNvbnRlbnQgYTpob3ZlciB7DQogICAgY29sb3I6ICMwMDg0QjQgIWltcG9ydGFudDsNCiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50DQp9DQoudHAtY2FwdGlvbi5UZWNoSm91cm5hbC1CdXR0b24sDQouVGVjaEpvdXJuYWwtQnV0dG9uIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgbGluZS1oZWlnaHQ6IDQwcHg7DQogICAgZm9udC13ZWlnaHQ6IDkwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IFJhbGV3YXk7DQogICAgcGFkZGluZzogMXB4IDMwcHggMXB4IDMwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMzgsIDAsIDI1NSwgMS4wMCk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4Ow0KICAgIGxldHRlci1zcGFjaW5nOiAzcHgNCn0NCi50cC1jYXB0aW9uLlRlY2hKb3VybmFsLUJ1dHRvbjpob3ZlciwNCi5UZWNoSm91cm5hbC1CdXR0b246aG92ZXIgew0KICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMHB4IDBweDsNCiAgICBjdXJzb3I6IHBvaW50ZXINCn0NCi50cC1jYXB0aW9uLlRlY2hKb3VybmFsLUJpZywNCi5UZWNoSm91cm5hbC1CaWcgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMTIwcHg7DQogICAgbGluZS1oZWlnaHQ6IDEyMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA5MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSYWxld2F5Ow0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgbGV0dGVyLXNwYWNpbmc6IDBweA0KfQ0KLnJldl9zbGlkZXIgew0KICAgIG92ZXJmbG93OiBoaWRkZW47DQp9DQouZWZmZWN0X2xheWVyIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOiAwcHg7DQogICAgbGVmdDogMHB4Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGhlaWdodDogMTAwJTsNCn0NCg0KLnRwLWNhcHRpb24uVHdpdHRlci1Db250ZW50IGEsDQogICAgLnRwLWNhcHRpb24uVHdpdHRlci1Db250ZW50IGE6dmlzaXRlZCB7DQogICAgICAgIGNvbG9yOiAjMDA4NEI0ICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnRwLWNhcHRpb24uVHdpdHRlci1Db250ZW50IGE6aG92ZXIgew0KICAgICAgICBjb2xvcjogIzAwODRCNCAhaW1wb3J0YW50Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50DQogICAgfQ0KICAgICNtZW51X2ZvcmNlZnVsbHdpZHRoIHsNCiAgICAgICAgei1pbmRleDogNTAwMDsNCiAgICAgICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7DQogICAgICAgIHRvcDogMHB4Ow0KICAgICAgICBsZWZ0OiAwcHg7DQogICAgICAgIHdpZHRoOiAxMDAlDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stVGl0bGUsDQogICAgLkZ1bGxTaXRlQmxvY2stVGl0bGUgew0KICAgICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiA1NXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogNjVweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICAgICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stU3ViVGl0bGUsDQogICAgLkZ1bGxTaXRlQmxvY2stU3ViVGl0bGUgew0KICAgICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAyNXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzRweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICAgICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stTGluaywNCiAgICAuRnVsbFNpdGVCbG9jay1MaW5rIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMTUwLCAyNTUsIDEuMDApOw0KICAgICAgICBmb250LXNpemU6IDI1cHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4Ow0KICAgICAgICBmb250LXdlaWdodDogMzAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgICAgIGZvbnQtZmFtaWx5OiBMYXRvOw0KICAgICAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXINCiAgICB9DQogICAgLnRwLWNhcHRpb24uRnVsbFNpdGVCbG9jay1MaW5rOmhvdmVyLA0KICAgIC5GdWxsU2l0ZUJsb2NrLUxpbms6aG92ZXIgew0KICAgICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgICAgICBjdXJzb3I6IHBvaW50ZXINCiAgICB9DQogICAgLnRwLWNhcHRpb24uRnVsbFNpdGVCbG9jay1Eb3duQnV0dG9uLA0KICAgIC5GdWxsU2l0ZUJsb2NrLURvd25CdXR0b24gew0KICAgICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAyNXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzJweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgICAgICBwYWRkaW5nOiAxcHggMXB4IDFweCAxcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDUxLCA1MSwgNTEsIDEuMDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweCAzMHB4IDMwcHggMzBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stRG93bkJ1dHRvbjpob3ZlciwNCiAgICAuRnVsbFNpdGVCbG9jay1Eb3duQnV0dG9uOmhvdmVyIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMTUwLCAyNTUsIDEuMDApOw0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMTUwLCAyNTUsIDEuMDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweCAzMHB4IDMwcHggMzBweDsNCiAgICAgICAgY3Vyc29yOiBwb2ludGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stVGl0bGUsDQogICAgLkZ1bGxTaXRlQmxvY2stVGl0bGUgew0KICAgICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiA1NXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogNjVweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICAgICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stU3ViVGl0bGUsDQogICAgLkZ1bGxTaXRlQmxvY2stU3ViVGl0bGUgew0KICAgICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAyNXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzRweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICAgICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stTGluaywNCiAgICAuRnVsbFNpdGVCbG9jay1MaW5rIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMTUwLCAyNTUsIDEuMDApOw0KICAgICAgICBmb250LXNpemU6IDI1cHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4Ow0KICAgICAgICBmb250LXdlaWdodDogMzAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgICAgIGZvbnQtZmFtaWx5OiBMYXRvOw0KICAgICAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXINCiAgICB9DQogICAgLnRwLWNhcHRpb24uRnVsbFNpdGVCbG9jay1MaW5rOmhvdmVyLA0KICAgIC5GdWxsU2l0ZUJsb2NrLUxpbms6aG92ZXIgew0KICAgICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgICAgICBjdXJzb3I6IHBvaW50ZXINCiAgICB9DQogICAgLnRwLWNhcHRpb24uRnVsbFNpdGVCbG9jay1Eb3duQnV0dG9uLA0KICAgIC5GdWxsU2l0ZUJsb2NrLURvd25CdXR0b24gew0KICAgICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAyNXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzJweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgICAgICBwYWRkaW5nOiAxcHggMXB4IDFweCAxcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDUxLCA1MSwgNTEsIDEuMDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweCAzMHB4IDMwcHggMzBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stRG93bkJ1dHRvbjpob3ZlciwNCiAgICAuRnVsbFNpdGVCbG9jay1Eb3duQnV0dG9uOmhvdmVyIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMTUwLCAyNTUsIDEuMDApOw0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMTUwLCAyNTUsIDEuMDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweCAzMHB4IDMwcHggMzBweDsNCiAgICAgICAgY3Vyc29yOiBwb2ludGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stVGl0bGUsDQogICAgLkZ1bGxTaXRlQmxvY2stVGl0bGUgew0KICAgICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiA1NXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogNjVweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICAgICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stU3ViVGl0bGUsDQogICAgLkZ1bGxTaXRlQmxvY2stU3ViVGl0bGUgew0KICAgICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAyNXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzRweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICAgICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stRG93bkJ1dHRvbiwNCiAgICAuRnVsbFNpdGVCbG9jay1Eb3duQnV0dG9uIHsNCiAgICAgICAgY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IFJvYm90bzsNCiAgICAgICAgcGFkZGluZzogMXB4IDFweCAxcHggMXB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHggMzBweCAzMHB4IDMwcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLURvd25CdXR0b246aG92ZXIsDQogICAgLkZ1bGxTaXRlQmxvY2stRG93bkJ1dHRvbjpob3ZlciB7DQogICAgICAgIGNvbG9yOiByZ2JhKDAsIDE1MCwgMjU1LCAxLjAwKTsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDE1MCwgMjU1LCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHggMzBweCAzMHB4IDMwcHg7DQogICAgICAgIGN1cnNvcjogcG9pbnRlcg0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLVRpdGxlLA0KICAgIC5GdWxsU2l0ZUJsb2NrLVRpdGxlIHsNCiAgICAgICAgY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogNTVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDY1cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IExhdG87DQogICAgICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLVN1YlRpdGxlLA0KICAgIC5GdWxsU2l0ZUJsb2NrLVN1YlRpdGxlIHsNCiAgICAgICAgY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IExhdG87DQogICAgICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLUxpbmssDQogICAgLkZ1bGxTaXRlQmxvY2stTGluayB7DQogICAgICAgIGNvbG9yOiByZ2JhKDAsIDE1MCwgMjU1LCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAyNXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMjRweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICAgICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stTGluazpob3ZlciwNCiAgICAuRnVsbFNpdGVCbG9jay1MaW5rOmhvdmVyIHsNCiAgICAgICAgY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMS4wMCk7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgY3Vyc29yOiBwb2ludGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stRG93bkJ1dHRvbiwNCiAgICAuRnVsbFNpdGVCbG9jay1Eb3duQnV0dG9uIHsNCiAgICAgICAgY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IFJvYm90bzsNCiAgICAgICAgcGFkZGluZzogMXB4IDFweCAxcHggMXB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHggMzBweCAzMHB4IDMwcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLURvd25CdXR0b246aG92ZXIsDQogICAgLkZ1bGxTaXRlQmxvY2stRG93bkJ1dHRvbjpob3ZlciB7DQogICAgICAgIGNvbG9yOiByZ2JhKDAsIDE1MCwgMjU1LCAxLjAwKTsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDE1MCwgMjU1LCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHggMzBweCAzMHB4IDMwcHg7DQogICAgICAgIGN1cnNvcjogcG9pbnRlcg0KICAgIH0NCiAgICAucmV2X3NsaWRlciB7DQogICAgICAgIG92ZXJmbG93OiBoaWRkZW47DQogICAgfQ0KICAgIC5lZmZlY3RfbGF5ZXIgew0KICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgICAgIHRvcDogMHB4Ow0KICAgICAgICBsZWZ0OiAwcHg7DQogICAgICAgIHdpZHRoOiAxMDAlOw0KICAgICAgICBoZWlnaHQ6IDEwMCU7DQogICAgfQ0KICAgIC5neWdlcyAudHAtdGh1bWIgew0KICAgICAgICBvcGFjaXR5OiAxDQogICAgfQ0KICAgIC5neWdlcyAudHAtdGh1bWItaW1nLXdyYXAgew0KICAgICAgICBwYWRkaW5nOiAzcHg7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7DQogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICAgICAgd2lkdGg6IDEwMCU7DQogICAgICAgIGhlaWdodDogMTAwJTsNCiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgICAgICBtYXJnaW46IDBweDsNCiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsNCiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7DQogICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3M7DQogICAgfQ0KICAgIC5neWdlcyAudHAtdGh1bWItaW1hZ2Ugew0KICAgICAgICBwYWRkaW5nOiAzcHg7DQogICAgICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgNXB4IDVweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMjUpOw0KICAgICAgICAtbW96LWJveC1zaGFkb3c6IGluc2V0IDVweCA1cHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjI1KTsNCiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgNXB4IDVweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMjUpOw0KICAgIH0NCiAgICAuZ3lnZXMgLnRwLXRodW1iOmhvdmVyIC50cC10aHVtYi1pbWctd3JhcCwNCiAgICAuZ3lnZXMgLnRwLXRodW1iLnNlbGVjdGVkIC50cC10aHVtYi1pbWctd3JhcCB7DQogICAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAxMDAlKTsNCiAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkpLCBjb2xvci1zdG9wKDEwMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkpKTsNCiAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDEwMCUpOw0KICAgICAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDEwMCUpOw0KICAgICAgICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAxMDAlKTsNCiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAxMDAlKTsNCiAgICB9DQogICAgLnRwLWNhcHRpb24uRnVsbFNpdGVCbG9jay1UaXRsZSwNCiAgICAuRnVsbFNpdGVCbG9jay1UaXRsZSB7DQogICAgICAgIGNvbG9yOiByZ2JhKDUxLCA1MSwgNTEsIDEuMDApOw0KICAgICAgICBmb250LXNpemU6IDU1cHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiA2NXB4Ow0KICAgICAgICBmb250LXdlaWdodDogMzAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgICAgIGZvbnQtZmFtaWx5OiBMYXRvOw0KICAgICAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXINCiAgICB9DQogICAgLnRwLWNhcHRpb24uRnVsbFNpdGVCbG9jay1TdWJUaXRsZSwNCiAgICAuRnVsbFNpdGVCbG9jay1TdWJUaXRsZSB7DQogICAgICAgIGNvbG9yOiByZ2JhKDUxLCA1MSwgNTEsIDEuMDApOw0KICAgICAgICBmb250LXNpemU6IDI1cHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4Ow0KICAgICAgICBmb250LXdlaWdodDogMzAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgICAgIGZvbnQtZmFtaWx5OiBMYXRvOw0KICAgICAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXINCiAgICB9DQogICAgLnRwLWNhcHRpb24uRnVsbFNpdGVCbG9jay1MaW5rLA0KICAgIC5GdWxsU2l0ZUJsb2NrLUxpbmsgew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAxNTAsIDI1NSwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IExhdG87DQogICAgICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLUxpbms6aG92ZXIsDQogICAgLkZ1bGxTaXRlQmxvY2stTGluazpob3ZlciB7DQogICAgICAgIGNvbG9yOiByZ2JhKDUxLCA1MSwgNTEsIDEuMDApOw0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgICAgIGN1cnNvcjogcG9pbnRlcg0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLVN1YlRpdGxlLA0KICAgIC5GdWxsU2l0ZUJsb2NrLVN1YlRpdGxlIHsNCiAgICAgICAgY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IExhdG87DQogICAgICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLVN1YlRpdGxlLA0KICAgIC5GdWxsU2l0ZUJsb2NrLVN1YlRpdGxlIHsNCiAgICAgICAgY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IExhdG87DQogICAgICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLUZvb3RlckxpbmssDQogICAgLkZ1bGxTaXRlQmxvY2stRm9vdGVyTGluayB7DQogICAgICAgIGNvbG9yOiByZ2JhKDg1LCA4NSwgODUsIDEuMDApOw0KICAgICAgICBmb250LXNpemU6IDE1cHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgICAgICBmb250LXdlaWdodDogMzAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgICAgIGZvbnQtZmFtaWx5OiBMYXRvOw0KICAgICAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogbGVmdA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLUZvb3Rlckxpbms6aG92ZXIsDQogICAgLkZ1bGxTaXRlQmxvY2stRm9vdGVyTGluazpob3ZlciB7DQogICAgICAgIGNvbG9yOiByZ2JhKDAsIDE1MCwgMjU1LCAxLjAwKTsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgICAgICBjdXJzb3I6IHBvaW50ZXINCiAgICB9DQogICAgLmZiLXNoYXJlLWJ1dHRvbi5mYl9pZnJhbWVfd2lkZ2V0IGlmcmFtZSB7DQogICAgICAgIHdpZHRoOiAxMTVweCFpbXBvcnRhbnQ7DQogICAgfQ0KICAgICN0cC1zb2NpYWx3cmFwcGVyIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICB9DQoNCiAgICAgICAgLnRwLWNhcHRpb24uVHdpdHRlci1Db250ZW50IGEsDQogICAgLnRwLWNhcHRpb24uVHdpdHRlci1Db250ZW50IGE6dmlzaXRlZCB7DQogICAgICAgIGNvbG9yOiAjMDA4NEI0ICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnRwLWNhcHRpb24uVHdpdHRlci1Db250ZW50IGE6aG92ZXIgew0KICAgICAgICBjb2xvcjogIzAwODRCNCAhaW1wb3J0YW50Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50DQogICAgfQ0KICAgICNtZW51X2ZvcmNlZnVsbHdpZHRoIHsNCiAgICAgICAgei1pbmRleDogNTAwMDsNCiAgICAgICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7DQogICAgICAgIHRvcDogMHB4Ow0KICAgICAgICBsZWZ0OiAwcHg7DQogICAgICAgIHdpZHRoOiAxMDAlDQogICAgfQ0KICAgICN0cC1tZW51Ymcgew0KICAgICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC43NSkgMCUsIHJnYmEoMCwgMCwgMCwgMCkgMTAwJSk7DQogICAgICAgIC8qIEZGMy42LTE1ICovDQogICAgICAgIA0KICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC43NSkgMCUsIHJnYmEoMCwgMCwgMCwgMCkgMTAwJSk7DQogICAgICAgIC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovDQogICAgICAgIA0KICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNzUpIDAlLCByZ2JhKDAsIDAsIDAsIDApIDEwMCUpOw0KICAgICAgICAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi8NCiAgICAgICAgDQogICAgICAgIGZpbHRlcjogcHJvZ2lkOiBEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2Q5MDAwMDAwJywgZW5kQ29sb3JzdHI9JyMwMDAwMDAwMCcsIEdyYWRpZW50VHlwZT0wKTsNCiAgICAgICAgLyogSUU2LTkgKi8NCiAgICB9DQogICAgI21jX2VtYmVkX3NpZ251cCBpbnB1dFt0eXBlPSJlbWFpbCJdIHsNCiAgICAgICAgZm9udC1mYW1pbHk6ICJMYXRvIiwgc2Fucy1zZXJpZjsNCiAgICAgICAgZm9udC1zaXplOiAxNnB4Ow0KICAgICAgICBmb250LXdlaWdodDogNDAwOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgICAgICBjb2xvcjogIzg4OCAhaW1wb3J0YW50Ow0KICAgICAgICBsaW5lLWhlaWdodDogNDZweDsNCiAgICAgICAgcGFkZGluZzogMCAyMHB4Ow0KICAgICAgICBjdXJzb3I6IHRleHQ7DQogICAgICAgIGJvcmRlcjogMDsNCiAgICAgICAgd2lkdGg6IDQwMHB4Ow0KICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7DQogICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzOw0KICAgICAgICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41czsNCiAgICAgICAgLW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzOw0KICAgICAgICAtbXMtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzOw0KICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7DQogICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogM3B4Ow0KICAgICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDNweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4Ow0KICAgIH0NCiAgICAjbWNfZW1iZWRfc2lnbnVwIGlucHV0W3R5cGU9ImVtYWlsIl06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgew0KICAgICAgICBjb2xvcjogIzg4OCAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICAjbWNfZW1iZWRfc2lnbnVwIGlucHV0W3R5cGU9ImVtYWlsIl06Oi1tb3otcGxhY2Vob2xkZXIgew0KICAgICAgICBjb2xvcjogIzg4OCAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICAjbWNfZW1iZWRfc2lnbnVwIGlucHV0W3R5cGU9ImVtYWlsIl06LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsNCiAgICAgICAgY29sb3I6ICM4ODggIWltcG9ydGFudDsNCiAgICB9DQogICAgI21jX2VtYmVkX3NpZ251cCBpbnB1dFt0eXBlPSJlbWFpbCJdOmZvY3VzIHsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsNCiAgICAgICAgY29sb3I6ICM0NTQ1NDU7DQogICAgfQ0KICAgICNtY19lbWJlZF9zaWdudXAgaW5wdXQjbWMtZW1iZWRkZWQtc3Vic2NyaWJlLA0KICAgICNtY19lbWJlZF9zaWdudXAgaW5wdXQjbWMtZW1iZWRkZWQtc3Vic2NyaWJlOmZvY3VzIHsNCiAgICAgICAgZm9udC1mYW1pbHk6ICJMYXRvIiwgc2Fucy1zZXJpZjsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDQ2cHg7DQogICAgICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgICAgICAgcGFkZGluZzogMCAzMHB4Ow0KICAgICAgICBib3JkZXI6IDA7DQogICAgICAgIGJhY2tncm91bmQ6ICNmMDQ1MzE7DQogICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOw0KICAgICAgICBjb2xvcjogI2ZmZjsNCiAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAzcHg7DQogICAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogM3B4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7DQogICAgfQ0KICAgICNtY19lbWJlZF9zaWdudXAgaW5wdXQjbWMtZW1iZWRkZWQtc3Vic2NyaWJlOmhvdmVyIHsNCiAgICAgICAgYmFja2dyb3VuZDogI2UwMzcyNzsNCiAgICB9DQogICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgew0KICAgICAgICAjbWNfZW1iZWRfc2lnbnVwIGlucHV0W3R5cGU9ImVtYWlsIl0gew0KICAgICAgICAgICAgd2lkdGg6IDI2MHB4Ow0KICAgICAgICB9DQogICAgfQ0KICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHsNCiAgICAgICAgI21jX2VtYmVkX3NpZ251cCBpbnB1dFt0eXBlPSJlbWFpbCJdIHsNCiAgICAgICAgICAgIHdpZHRoOiAxNjBweDsNCiAgICAgICAgfQ0KICAgIH0NCiAgICAjcmV2X3NsaWRlcl8xNjdfNiAudXJhbnVzLnRwYXJyb3dzIHsNCiAgICAgICAgd2lkdGg6IDUwcHg7DQogICAgICAgIGhlaWdodDogNTBweDsNCiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTsNCiAgICB9DQogICAgI3Jldl9zbGlkZXJfMTY3XzYgLnVyYW51cy50cGFycm93czpiZWZvcmUgew0KICAgICAgICB3aWR0aDogNTBweDsNCiAgICAgICAgaGVpZ2h0OiA1MHB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogNTBweDsNCiAgICAgICAgZm9udC1zaXplOiA0MHB4Ow0KICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zczsNCiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zczsNCiAgICB9DQogICAgI3Jldl9zbGlkZXJfMTY3XzYgLnVyYW51cy50cGFycm93czpob3ZlcjpiZWZvcmUgew0KICAgICAgICBvcGFjaXR5OiAwLjc1Ow0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLVN1YlRpdGxlLA0KICAgIC5GdWxsU2l0ZUJsb2NrLVN1YlRpdGxlIHsNCiAgICAgICAgY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IExhdG87DQogICAgICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5QYXJhbGxheFdlYnNpdGUtRm9vdGVySXRlbSwNCiAgICAuUGFyYWxsYXhXZWJzaXRlLUZvb3Rlckl0ZW0gew0KICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUwKTsNCiAgICAgICAgZm9udC1zaXplOiAxNnB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMjRweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICAgICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHgNCiAgICB9DQogICAgLnRwLWNhcHRpb24uUGFyYWxsYXhXZWJzaXRlLUZvb3Rlckl0ZW06aG92ZXIsDQogICAgLlBhcmFsbGF4V2Vic2l0ZS1Gb290ZXJJdGVtOmhvdmVyIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgY3Vyc29yOiBwb2ludGVyDQogICAgfQ0KICAgIC5mYi1zaGFyZS1idXR0b24uZmJfaWZyYW1lX3dpZGdldCBpZnJhbWUgew0KICAgICAgICB3aWR0aDogMTE1cHghaW1wb3J0YW50Ow0KICAgIH0NCiAgICBpZnJhbWUudHdpdHRlci1zaGFyZS1idXR0b24gew0KICAgICAgICBkaXNwbGF5OiBub25lOw0KICAgIH0NCiAgICAuZmItc2hhcmUtYnV0dG9uLmZiX2lmcmFtZV93aWRnZXQgaWZyYW1lIHsNCiAgICAgICAgZGlzcGxheTogbm9uZTsNCiAgICB9DQoNCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLUxpbmssIA0KICAgIC5GdWxsU2l0ZUJsb2NrLUxpbmsgew0KICAgIGNvbG9yOiByZ2JhKDAsMTUwLDI1NSwxLjAwKTsNCiAgICBmb250LXNpemU6IDI1cHg7DQogICAgbGluZS1oZWlnaHQ6IDI0cHg7DQogICAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IExhdG87DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCn0="}},"time_used":35,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":29,"receive":6,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/plugins/revolution/css/navigation.css","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.379Z","timestamp":1785123231379,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /plugins/revolution/css/navigation.css HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: text/css\r\nlast-modified: Wed, 22 Apr 2026 17:27:51 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 7646\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":59576,"size_decoded":7955,"mime_type":"text/css","magic":"ASCII text","md5":"c8f8666090883e07c43c886896157556","sha1":"0a8f9fe0f46c959954bd69173062d8b042a2db70","sha256":"c9c5f901eeef711f631164c4cd4108b433cf07adfa16cf1d544bc6f8505bf128","sha512":"fdd15582e7c1073eee77d974340453f597fc5b22e4625019779cd82540b5df21a0bf3823c349f16935ceb43c51100e5017564deb476271a82fef6220ddc4c0a3","ssdeep":"1536:Gww1nwqr7ymxY5XYWlSDWLam+aIjU742TzJq3:Vt9Xt/2","tlshash":"ac4372aa5e936100b127c6049fc54bace33e8017e552cdaeb79e74cedf415c891ae38d","first_seen":"2023-04-07T16:02:15Z","last_seen":"2026-07-27T05:25:19.150339Z","times_seen":2481,"resource_available":false,"data":"LyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBSZXZvbHV0aW9uIFNsaWRlciA1LjAgTmF2aWdhdGluIFNraW4gU3R5bGUgIC0KCiBBUkVTIFNLSU4KCmF1dGhvcjogIFRoZW1lUHVuY2gKZW1haWw6ICAgICAgaW5mb0B0aGVtZXB1bmNoLmNvbQp3ZWJzaXRlOiAgICBodHRwOi8vd3d3LnRoZW1lcHVuY2guY29tCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLmFyZXMudHBhcnJvd3MgewogIGN1cnNvcjpwb2ludGVyOwogIGJhY2tncm91bmQ6I2ZmZjsKICBtaW4td2lkdGg6NjBweDsKICAgIG1pbi1oZWlnaHQ6NjBweDsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICBkaXNwbGF5OmJsb2NrOwogIHotaW5kZXg6MTAwOwogICAgYm9yZGVyLXJhZGl1czo1MCU7Cn0KLmFyZXMudHBhcnJvd3M6aG92ZXIgewp9Ci5hcmVzLnRwYXJyb3dzOmJlZm9yZSB7CiAgZm9udC1mYW1pbHk6ICJyZXZpY29ucyI7CiAgZm9udC1zaXplOjI1cHg7CiAgY29sb3I6I2FhYTsKICBkaXNwbGF5OmJsb2NrOwogIGxpbmUtaGVpZ2h0OiA2MHB4OwogIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgMC4zczsKICAgIC1tb3otdHJhbnNpdGlvbjogY29sb3IgMC4zczsKICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7CiAgICB6LWluZGV4OjI7CiAgICBwb3NpdGlvbjpyZWxhdGl2ZTsKfQouYXJlcy50cGFycm93cy50cC1sZWZ0YXJyb3c6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MWYiOwp9Ci5hcmVzLnRwYXJyb3dzLnRwLXJpZ2h0YXJyb3c6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MWUiOwp9Ci5hcmVzLnRwYXJyb3dzOmhvdmVyOmJlZm9yZSB7CiBjb2xvcjojMDAwOwogICAgICB9Ci5hcmVzIC50cC10aXRsZS13cmFwIHsgCiAgcG9zaXRpb246YWJzb2x1dGU7CiAgei1pbmRleDoxOwogIGRpc3BsYXk6aW5saW5lLWJsb2NrOwogIGJhY2tncm91bmQ6I2ZmZjsKICBtaW4taGVpZ2h0OjYwcHg7CiAgbGluZS1oZWlnaHQ6NjBweDsKICB0b3A6MHB4OwogIG1hcmdpbi1sZWZ0OjMwcHg7CiAgYm9yZGVyLXJhZGl1czowcHggMzBweCAzMHB4IDBweDsKICBvdmVyZmxvdzpoaWRkZW47CiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjNzOwogIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzOwogIHRyYW5zZm9ybTpzY2FsZVgoMCk7ICAKICAtd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMCk7ICAKICB0cmFuc2Zvcm0tb3JpZ2luOjAlIDUwJTsgCiAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjowJSA1MCU7Cn0KIC5hcmVzLnRwLXJpZ2h0YXJyb3cgLnRwLXRpdGxlLXdyYXAgeyAKICAgcmlnaHQ6MHB4OwogICBtYXJnaW4tcmlnaHQ6MzBweDttYXJnaW4tbGVmdDowcHg7CiAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjoxMDAlIDUwJTsKYm9yZGVyLXJhZGl1czozMHB4IDBweCAwcHggMzBweDsKIH0KLmFyZXMudHBhcnJvd3M6aG92ZXIgLnRwLXRpdGxlLXdyYXAgewogIHRyYW5zZm9ybTpzY2FsZVgoMSkgc2NhbGVZKDEpOwogICAgLXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDEpIHNjYWxlWSgxKTsKfQouYXJlcyAudHAtYXJyLXRpdGxlaG9sZGVyIHsKICBwb3NpdGlvbjpyZWxhdGl2ZTsKICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3M7CiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7CiAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjAwcHgpOyAgCiAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOwogIGNvbG9yOiMwMDA7CiAgZm9udC13ZWlnaHQ6NDAwOwogIGZvbnQtc2l6ZToxNHB4OwogIGxpbmUtaGVpZ2h0OjYwcHg7CiAgd2hpdGUtc3BhY2U6bm93cmFwOwogIHBhZGRpbmc6MHB4IDIwcHg7CiAgbWFyZ2luLWxlZnQ6MTBweDsKICBvcGFjaXR5OjA7Cn0KCi5hcmVzLnRwLXJpZ2h0YXJyb3cgLnRwLWFyci10aXRsZWhvbGRlciB7CiAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDBweCk7IAogICBtYXJnaW4tbGVmdDowcHg7IG1hcmdpbi1yaWdodDoxMHB4OwogICAgICB9CgouYXJlcy50cGFycm93czpob3ZlciAudHAtYXJyLXRpdGxlaG9sZGVyIHsKICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMHB4KTsKICAgLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwcHgpOwogIHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7CiAgb3BhY2l0eToxOwp9CgovKiBCVUxMRVRTICovCi5hcmVzLnRwLWJ1bGxldHMgewp9Ci5hcmVzLnRwLWJ1bGxldHM6YmVmb3JlIHsKCWNvbnRlbnQ6IiAiOwoJcG9zaXRpb246YWJzb2x1dGU7Cgl3aWR0aDoxMDAlOwoJaGVpZ2h0OjEwMCU7CgliYWNrZ3JvdW5kOnRyYW5zcGFyZW50OwoJcGFkZGluZzoxMHB4OwoJbWFyZ2luLWxlZnQ6LTEwcHg7bWFyZ2luLXRvcDotMTBweDsKCWJveC1zaXppbmc6Y29udGVudC1ib3g7Cn0KLmFyZXMgLnRwLWJ1bGxldCB7Cgl3aWR0aDoxM3B4OwoJaGVpZ2h0OjEzcHg7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWJhY2tncm91bmQ6I2U1ZTVlNTsKCWJvcmRlci1yYWRpdXM6NTAlOwoJY3Vyc29yOiBwb2ludGVyOwoJYm94LXNpemluZzpjb250ZW50LWJveDsKfQouYXJlcyAudHAtYnVsbGV0OmhvdmVyLAouYXJlcyAudHAtYnVsbGV0LnNlbGVjdGVkIHsKCWJhY2tncm91bmQ6I2ZmZjsKfQouYXJlcyAudHAtYnVsbGV0LXRpdGxlIHsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICBjb2xvcjojODg4OwogIGZvbnQtc2l6ZToxMnB4OwogIHBhZGRpbmc6MHB4IDEwcHg7CiAgZm9udC13ZWlnaHQ6NjAwOwogIHJpZ2h0OjI3cHg7CiAgdG9wOi00cHg7CiAgYmFja2dyb3VuZDojZmZmOwogIGJhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjc1KTsKICB2aXNpYmlsaXR5OmhpZGRlbjsKICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjBweCk7CiAgLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjBweCk7CiAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb246dHJhbnNmb3JtIDAuM3M7CiAgbGluZS1oZWlnaHQ6MjBweDsKICB3aGl0ZS1zcGFjZTpub3dyYXA7Cn0gICAgIAoKLmFyZXMgLnRwLWJ1bGxldC10aXRsZTphZnRlciB7CiAgICB3aWR0aDogMHB4OwoJaGVpZ2h0OiAwcHg7Cglib3JkZXItc3R5bGU6IHNvbGlkOwoJYm9yZGVyLXdpZHRoOiAxMHB4IDAgMTBweCAxMHB4OwoJYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCByZ2JhKDI1NSwyNTUsMjU1LDAuNzUpOwoJY29udGVudDoiICI7CiAgICBwb3NpdGlvbjphYnNvbHV0ZTsKICAgIHJpZ2h0Oi0xMHB4OwoJdG9wOjBweDsKfQogICAgCi5hcmVzIC50cC1idWxsZXQ6aG92ZXIgLnRwLWJ1bGxldC10aXRsZXsKICB2aXNpYmlsaXR5OnZpc2libGU7CiAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDBweCk7CiAgLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwcHgpOwp9CgouYXJlcyAudHAtYnVsbGV0LnNlbGVjdGVkOmhvdmVyIC50cC1idWxsZXQtdGl0bGUgewogICAgYmFja2dyb3VuZDojZmZmOwogICAgICAgIH0KLmFyZXMgLnRwLWJ1bGxldC5zZWxlY3RlZDpob3ZlciAudHAtYnVsbGV0LXRpdGxlOmFmdGVyIHsKICBib3JkZXItY29sb3I6dHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZjsKfQouYXJlcy50cC1idWxsZXRzOmhvdmVyIC50cC1idWxsZXQtdGl0bGUgewogICAgICAgIHZpc2liaWxpdHk6aGlkZGVuOwp9Ci5hcmVzLnRwLWJ1bGxldHM6aG92ZXIgLnRwLWJ1bGxldDpob3ZlciAudHAtYnVsbGV0LXRpdGxlIHsKICAgIHZpc2liaWxpdHk6dmlzaWJsZTsKICAgICAgfQoKLyogVEFCUyAqLwouYXJlcyAudHAtdGFiIHsgCiAgb3BhY2l0eToxOyAgICAgIAogIHBhZGRpbmc6MTBweDsKICBib3gtc2l6aW5nOmJvcmRlci1ib3g7CiAgZm9udC1mYW1pbHk6ICJSb2JvdG8iLCBzYW5zLXNlcmlmOwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1OwogfQouYXJlcyAudHAtdGFiLWltYWdlIAp7IAogIHdpZHRoOjYwcHg7CiAgaGVpZ2h0OjYwcHg7IG1heC1oZWlnaHQ6MTAwJTsgbWF4LXdpZHRoOjEwMCU7CiAgcG9zaXRpb246cmVsYXRpdmU7CiAgZGlzcGxheTppbmxpbmUtYmxvY2s7CiAgZmxvYXQ6bGVmdDsKCn0KLmFyZXMgLnRwLXRhYi1jb250ZW50IAp7CiAgICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMCk7IAogICAgcG9zaXRpb246cmVsYXRpdmU7CiAgICBwYWRkaW5nOjE1cHggMTVweCAxNXB4IDg1cHg7CiBsZWZ0OjBweDsKIG92ZXJmbG93OmhpZGRlbjsKIG1hcmdpbi10b3A6LTE1cHg7CiAgICBib3gtc2l6aW5nOmJvcmRlci1ib3g7CiAgICBjb2xvcjojMzMzOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgd2lkdGg6MTAwJTsKICAgIGhlaWdodDoxMDAlOwogcG9zaXRpb246YWJzb2x1dGU7IH0KLmFyZXMgLnRwLXRhYi1kYXRlCiAgewogIGRpc3BsYXk6YmxvY2s7CiAgY29sb3I6ICNhYWE7CiAgZm9udC13ZWlnaHQ6NTAwOwogIGZvbnQtc2l6ZToxMnB4OwogIG1hcmdpbi1ib3R0b206MHB4OwogIH0KLmFyZXMgLnRwLXRhYi10aXRsZSAKewogICAgZGlzcGxheTpibG9jazsJCiAgICB0ZXh0LWFsaWduOmxlZnQ7CiAgICBjb2xvcjojMzMzOwogICAgZm9udC1zaXplOjE0cHg7CiAgICBmb250LXdlaWdodDo1MDA7CiAgICB0ZXh0LXRyYW5zZm9ybTpub25lOwogICAgbGluZS1oZWlnaHQ6MTdweDsKfQouYXJlcyAudHAtdGFiOmhvdmVyLAouYXJlcyAudHAtdGFiLnNlbGVjdGVkIHsKCWJhY2tncm91bmQ6I2VlZTsgCn0KCi5hcmVzIC50cC10YWItbWFzayB7Cn0KCi8qIE1FRElBIFFVRVJJRVMgKi8KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkgewoKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7Cgp9CgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotIFJldm9sdXRpb24gU2xpZGVyIDUuMCBOYXZpZ2F0aW4gU2tpbiBTdHlsZSAgLQoKIENVU1RPTSBTS0lOCgphdXRob3I6ICBUaGVtZVB1bmNoCmVtYWlsOiAgICAgIGluZm9AdGhlbWVwdW5jaC5jb20Kd2Vic2l0ZTogICAgaHR0cDovL3d3dy50aGVtZXB1bmNoLmNvbQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi8qIEFSUk9XUyAqLwouY3VzdG9tLnRwYXJyb3dzIHsKCWN1cnNvcjpwb2ludGVyOwoJYmFja2dyb3VuZDojMDAwOwoJYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNSk7Cgl3aWR0aDo0MHB4OwoJaGVpZ2h0OjQwcHg7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWRpc3BsYXk6YmxvY2s7Cgl6LWluZGV4OjEwMDAwOwp9Ci5jdXN0b20udHBhcnJvd3M6aG92ZXIgewoJYmFja2dyb3VuZDojMDAwOwp9Ci5jdXN0b20udHBhcnJvd3M6YmVmb3JlIHsKCWZvbnQtZmFtaWx5OiAicmV2aWNvbnMiOwoJZm9udC1zaXplOjE1cHg7Cgljb2xvcjojZmZmOwoJZGlzcGxheTpibG9jazsKCWxpbmUtaGVpZ2h0OiA0MHB4OwoJdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5jdXN0b20udHBhcnJvd3MudHAtbGVmdGFycm93OmJlZm9yZSB7Cgljb250ZW50OiAiXGU4MjQiOwp9Ci5jdXN0b20udHBhcnJvd3MudHAtcmlnaHRhcnJvdzpiZWZvcmUgewoJY29udGVudDogIlxlODI1IjsKfQoKCgovKiBCVUxMRVRTICovCi5jdXN0b20udHAtYnVsbGV0cyB7Cn0KLmN1c3RvbS50cC1idWxsZXRzOmJlZm9yZSB7Cgljb250ZW50OiIgIjsKCXBvc2l0aW9uOmFic29sdXRlOwoJd2lkdGg6MTAwJTsKCWhlaWdodDoxMDAlOwoJYmFja2dyb3VuZDp0cmFuc3BhcmVudDsKCXBhZGRpbmc6MTBweDsKCW1hcmdpbi1sZWZ0Oi0xMHB4O21hcmdpbi10b3A6LTEwcHg7Cglib3gtc2l6aW5nOmNvbnRlbnQtYm94Owp9Ci5jdXN0b20gLnRwLWJ1bGxldCB7Cgl3aWR0aDoxMnB4OwoJaGVpZ2h0OjEycHg7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWJhY2tncm91bmQ6I2FhYTsKICAgIGJhY2tncm91bmQ6cmdiYSgxMjUsMTI1LDEyNSwwLjUpOwoJY3Vyc29yOiBwb2ludGVyOwoJYm94LXNpemluZzpjb250ZW50LWJveDsKfQouY3VzdG9tIC50cC1idWxsZXQ6aG92ZXIsCi5jdXN0b20gLnRwLWJ1bGxldC5zZWxlY3RlZCB7CgliYWNrZ3JvdW5kOnJnYigxMjUsMTI1LDEyNSk7Cn0KLmN1c3RvbSAudHAtYnVsbGV0LWltYWdlIHsKfQouY3VzdG9tIC50cC1idWxsZXQtdGl0bGUgewp9CgoKLyogVEhVTUJTICovCgoKLyogVEFCUyAqLwoKCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0gUmV2b2x1dGlvbiBTbGlkZXIgNS4wIE5hdmlnYXRpbiBTa2luIFN0eWxlICAtCgogRElPTkUgU0tJTgoKYXV0aG9yOiAgVGhlbWVQdW5jaAplbWFpbDogICAgICBpbmZvQHRoZW1lcHVuY2guY29tCndlYnNpdGU6ICAgIGh0dHA6Ly93d3cudGhlbWVwdW5jaC5jb20KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwovKiBBUlJPV1MgKi8KLmRpb25lLnRwYXJyb3dzIHsKICBoZWlnaHQ6MTAwJTsKICB3aWR0aDoxMDBweDsKICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50OwogIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwKTsKICBsaW5lLWhlaWdodDoxMDAlOwogIHRyYW5zaXRpb246YWxsIDAuM3M7Ci13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zczsKfQoKLmRpb25lLnRwYXJyb3dzOmhvdmVyIHsKIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjQ1KTsKIH0KLmRpb25lIC50cC1hcnItaW1nd3JhcHBlciB7CiB3aWR0aDoxMDBweDsKIGxlZnQ6MHB4OwogcG9zaXRpb246YWJzb2x1dGU7CiBoZWlnaHQ6MTAwJTsKIHRvcDowcHg7CiBvdmVyZmxvdzpoaWRkZW47CiB9Ci5kaW9uZS50cC1yaWdodGFycm93IC50cC1hcnItaW1nd3JhcHBlciB7CmxlZnQ6YXV0bzsKcmlnaHQ6MHB4Owp9CgouZGlvbmUgLnRwLWFyci1pbWdob2xkZXIgewpiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7CmJhY2tncm91bmQtc2l6ZTpjb3ZlcjsKd2lkdGg6MTAwcHg7CmhlaWdodDoxMDAlOwp0b3A6MHB4Owp2aXNpYmlsaXR5OmhpZGRlbjsKdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwcHgpOwotd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MHB4KTsKdHJhbnNpdGlvbjphbGwgMC4zczsKLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzOwpvcGFjaXR5OjA7CmxlZnQ6MHB4Owp9CgouZGlvbmUudHBhcnJvd3MudHAtcmlnaHRhcnJvdyAudHAtYXJyLWltZ2hvbGRlciB7CiAgcmlnaHQ6MHB4OwogIGxlZnQ6YXV0bzsKICB0cmFuc2Zvcm06dHJhbnNsYXRlWCg1MHB4KTsKIC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoNTBweCk7Cn0KCi5kaW9uZS50cGFycm93czpiZWZvcmUgewpwb3NpdGlvbjphYnNvbHV0ZTsKbGluZS1oZWlnaHQ6MzBweDsKbWFyZ2luLWxlZnQ6LTIycHg7CnRvcDo1MCU7CmxlZnQ6NTAlOwpmb250LXNpemU6MzBweDsKbWFyZ2luLXRvcDotMTVweDsKdHJhbnNpdGlvbjphbGwgMC4zczsKLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzOwp9CgouZGlvbmUudHBhcnJvd3MudHAtcmlnaHRhcnJvdzpiZWZvcmUgewptYXJnaW4tbGVmdDo2cHg7Cn0KCi5kaW9uZS50cGFycm93czpob3ZlcjpiZWZvcmUgewogIHRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMHB4KTsKLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjBweCk7Cm9wYWNpdHk6MDsKfQoKLmRpb25lLnRwYXJyb3dzLnRwLXJpZ2h0YXJyb3c6aG92ZXI6YmVmb3JlIHsKICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgyMHB4KTsKLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgyMHB4KTsKfQoKLmRpb25lLnRwYXJyb3dzOmhvdmVyIC50cC1hcnItaW1naG9sZGVyIHsKIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDBweCk7Ci13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMHB4KTsKb3BhY2l0eToxOwp2aXNpYmlsaXR5OnZpc2libGU7Cn0KCgoKLyogQlVMTEVUUyAqLwouZGlvbmUgLnRwLWJ1bGxldCB7IAogICAgb3BhY2l0eToxOwogICAgd2lkdGg6NTBweDsKICAgIGhlaWdodDo1MHB4OyAgICAKICAgIHBhZGRpbmc6M3B4OwogICAgYmFja2dyb3VuZDojMDAwOwogICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMjUpOwogICAgbWFyZ2luOjBweDsKICAgIGJveC1zaXppbmc6Ym9yZGVyLWJveDsKICAgIHRyYW5zaXRpb246YWxsIDAuM3M7CiAgICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7CgogIH0KCi5kaW9uZSAudHAtYnVsbGV0LWltYWdlIHsKICAgZGlzcGxheTpibG9jazsKICAgYm94LXNpemluZzpib3JkZXItYm94OwogICBwb3NpdGlvbjpyZWxhdGl2ZTsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgNXB4IDVweCAxMHB4IDBweCByZ2JhKDAsMCwwLDAuMjUpOwogIC1tb3otYm94LXNoYWRvdzogaW5zZXQgNXB4IDVweCAxMHB4IDBweCByZ2JhKDAsMCwwLDAuMjUpOwogIGJveC1zaGFkb3c6IGluc2V0IDVweCA1cHggMTBweCAwcHggcmdiYSgwLDAsMCwwLjI1KTsKICB3aWR0aDo0NHB4OwogIGhlaWdodDo0NHB4OwogIGJhY2tncm91bmQtc2l6ZTpjb3ZlcjsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7CiB9ICAKLmRpb25lIC50cC1idWxsZXQtdGl0bGUgeyAKICAgICBwb3NpdGlvbjphYnNvbHV0ZTsgCiAgIGJvdHRvbTo2NXB4OwogICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrOwogICAgIGxlZnQ6NTAlOwogICAgIGJhY2tncm91bmQ6IzAwMDsKICAgICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC43NSk7CiAgICAgY29sb3I6I2ZmZjsKICAgICBwYWRkaW5nOjEwcHggMzBweDsKICAgICBib3JkZXItcmFkaXVzOjRweDsKICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOjRweDsKICAgICBvcGFjaXR5OjA7CiAgICAgIHRyYW5zaXRpb246YWxsIDAuM3M7CiAgICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMC4wMDFweCkgdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDE0cHgpOwogICAgdHJhbnNmb3JtLW9yaWdpbjo1MCUgMTAwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDAuMDAxcHgpIHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgxNHB4KTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjo1MCUgMTAwJTsKICAgIG9wYWNpdHk6MDsKICAgIHdoaXRlLXNwYWNlOm5vd3JhcDsKIH0KCi5kaW9uZSAudHAtYnVsbGV0OmhvdmVyIC50cC1idWxsZXQtdGl0bGUgewogICAgIHRyYW5zZm9ybTpyb3RhdGVYKDBkZWcpIHRyYW5zbGF0ZVgoLTUwJSk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTpyb3RhdGVYKDBkZWcpIHRyYW5zbGF0ZVgoLTUwJSk7CiAgICBvcGFjaXR5OjE7Cn0KCi5kaW9uZSAudHAtYnVsbGV0LnNlbGVjdGVkLAouZGlvbmUgLnRwLWJ1bGxldDpob3ZlciAgewogIAogICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDEpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSwgcmdiYSgxMTksMTE5LDExOSwxKSAxMDAlKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwgcmdiYSgyNTUsMjU1LDI1NSwxKSksIGNvbG9yLXN0b3AoMTAwJSwgcmdiYSgxMTksMTE5LDExOSwxKSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSwgcmdiYSgxMTksMTE5LDExOSwxKSAxMDAlKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLCByZ2JhKDExOSwxMTksMTE5LDEpIDEwMCUpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLCByZ2JhKDExOSwxMTksMTE5LDEpIDEwMCUpOwogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMjU1LDI1NSwyNTUsMSkgMCUsIHJnYmEoMTE5LDExOSwxMTksMSkgMTAwJSk7CiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9IiNmZmZmZmYiLCBlbmRDb2xvcnN0cj0iIzc3Nzc3NyIsIEdyYWRpZW50VHlwZT0wICk7CiAKICAgICAgfQouZGlvbmUgLnRwLWJ1bGxldC10aXRsZTphZnRlciB7CiAgICAgICAgY29udGVudDoiICI7CiAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7CiAgICAgICAgbGVmdDo1MCU7CiAgICAgICAgbWFyZ2luLWxlZnQ6LThweDsKICAgICAgICB3aWR0aDogMDsKICAgIGhlaWdodDogMDsKICAgIGJvcmRlci1zdHlsZTogc29saWQ7CiAgICBib3JkZXItd2lkdGg6IDhweCA4cHggMCA4cHg7CiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsMC43NSkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm90dG9tOi04cHg7CiAgIH0KCgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotIFJldm9sdXRpb24gU2xpZGVyIDUuMCBOYXZpZ2F0aW4gU2tpbiBTdHlsZSAgLQoKIEVSSU5ZRU4gU0tJTgoKYXV0aG9yOiAgVGhlbWVQdW5jaAplbWFpbDogICAgICBpbmZvQHRoZW1lcHVuY2guY29tCndlYnNpdGU6ICAgIGh0dHA6Ly93d3cudGhlbWVwdW5jaC5jb20KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwovKiBBUlJPV1MgKi8KLmVyaW55ZW4udHBhcnJvd3MgewogIGN1cnNvcjpwb2ludGVyOwogIGJhY2tncm91bmQ6IzAwMDsKICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC41KTsKICBtaW4td2lkdGg6NzBweDsKICBtaW4taGVpZ2h0OjcwcHg7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgZGlzcGxheTpibG9jazsKICB6LWluZGV4OjEwMDA7CiAgYm9yZGVyLXJhZGl1czozNXB4OyAgIAp9CgouZXJpbnllbi50cGFycm93czpiZWZvcmUgewogIGZvbnQtZmFtaWx5OiAicmV2aWNvbnMiOwogIGZvbnQtc2l6ZToyMHB4OwogIGNvbG9yOiNmZmY7CiAgZGlzcGxheTpibG9jazsKICBsaW5lLWhlaWdodDogNzBweDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7ICAgIAogIHotaW5kZXg6MjsKICBwb3NpdGlvbjpyZWxhdGl2ZTsKfQouZXJpbnllbi50cGFycm93cy50cC1sZWZ0YXJyb3c6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MjQiOwp9Ci5lcmlueWVuLnRwYXJyb3dzLnRwLXJpZ2h0YXJyb3c6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MjUiOwp9CgouZXJpbnllbiAudHAtdGl0bGUtd3JhcCB7IAogIHBvc2l0aW9uOmFic29sdXRlOwogIHotaW5kZXg6MTsKICBkaXNwbGF5OmlubGluZS1ibG9jazsKICBiYWNrZ3JvdW5kOiMwMDA7CiAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNSk7CiAgbWluLWhlaWdodDo3MHB4OwogIGxpbmUtaGVpZ2h0OjcwcHg7CiAgdG9wOjBweDsKICBtYXJnaW4tbGVmdDowcHg7CiAgYm9yZGVyLXJhZGl1czozNXB4OwogIG92ZXJmbG93OmhpZGRlbjsgCiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzOwogIC13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IDAuM3M7CiAgLW1vei10cmFuc2l0aW9uOm9wYWNpdHkgMC4zczsKICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7CiAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDApOwogIHRyYW5zZm9ybTogc2NhbGUoMCk7ICAKICB2aXNpYmlsaXR5OmhpZGRlbjsKICBvcGFjaXR5OjA7Cn0KCi5lcmlueWVuLnRwYXJyb3dzOmhvdmVyIC50cC10aXRsZS13cmFwewogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7CiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICBvcGFjaXR5OjE7CiAgdmlzaWJpbGl0eTp2aXNpYmxlOwp9CiAgICAgICAgCiAuZXJpbnllbi50cC1yaWdodGFycm93IC50cC10aXRsZS13cmFwIHsgCiAgIHJpZ2h0OjBweDsKICAgbWFyZ2luLXJpZ2h0OjBweDttYXJnaW4tbGVmdDowcHg7CiAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjoxMDAlIDUwJTsKICBib3JkZXItcmFkaXVzOjM1cHg7CiAgcGFkZGluZy1yaWdodDoyMHB4OwogIHBhZGRpbmctbGVmdDoxMHB4OwogfQoKCi5lcmlueWVuLnRwLWxlZnRhcnJvdyAudHAtdGl0bGUtd3JhcCB7IAogICBwYWRkaW5nLWxlZnQ6MjBweDsKICBwYWRkaW5nLXJpZ2h0OjEwcHg7Cn0KCi5lcmlueWVuIC50cC1hcnItdGl0bGVob2xkZXIgewogIGxldHRlci1zcGFjaW5nOiAzcHg7CiAgIHBvc2l0aW9uOnJlbGF0aXZlOwogIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4zczsKICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zczsKICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgyMDBweCk7ICAKICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7CiAgY29sb3I6I2ZmZjsKICBmb250LXdlaWdodDo2MDA7CiAgZm9udC1zaXplOjEzcHg7CiAgbGluZS1oZWlnaHQ6NzBweDsKICB3aGl0ZS1zcGFjZTpub3dyYXA7CiAgcGFkZGluZzowcHggMjBweDsKICBtYXJnaW4tbGVmdDoxMXB4OwogIG9wYWNpdHk6MDsgIAp9CgouZXJpbnllbiAudHAtYXJyLWltZ2hvbGRlciB7CiAgd2lkdGg6MTAwJTsKICBoZWlnaHQ6MTAwJTsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICB0b3A6MHB4OwogIGxlZnQ6MHB4OwogIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjsKICBiYWNrZ3JvdW5kLXNpemU6Y292ZXI7CiAgICB9CiAuZXJpbnllbiAudHAtYXJyLWltZy1vdmVyIHsKICAgd2lkdGg6MTAwJTsKICBoZWlnaHQ6MTAwJTsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICB0b3A6MHB4OwogIGxlZnQ6MHB4OwogICBiYWNrZ3JvdW5kOiMwMDA7CiAgIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjUpOwogICAgICAgIH0KLmVyaW55ZW4udHAtcmlnaHRhcnJvdyAudHAtYXJyLXRpdGxlaG9sZGVyIHsKICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMHB4KTsgCiAgIG1hcmdpbi1sZWZ0OjBweDsgbWFyZ2luLXJpZ2h0OjExcHg7CiAgICAgIH0KCi5lcmlueWVuLnRwYXJyb3dzOmhvdmVyIC50cC1hcnItdGl0bGVob2xkZXIgewogICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgwcHgpOwogICAtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDBweCk7CiAgdHJhbnNpdGlvbi1kZWxheTogMC4xczsKICBvcGFjaXR5OjE7Cn0KCi8qIEJVTExFVFMgKi8KLmVyaW55ZW4udHAtYnVsbGV0cyB7Cn0KLmVyaW55ZW4udHAtYnVsbGV0czpiZWZvcmUgewoJY29udGVudDoiICI7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCXdpZHRoOjEwMCU7CgloZWlnaHQ6MTAwJTsKCWJhY2tncm91bmQ6ICM1NTU1NTU7IC8qIG9sZCBicm93c2VycyAqLwogICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAgIzU1NTU1NSAwJSwgIzIyMjIyMiAxMDAlKTsgLyogZmYzLjYrICovCiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCM1NTU1NTUpLCBjb2xvci1zdG9wKDEwMCUsIzIyMjIyMikpOyAvKiBjaHJvbWUsc2FmYXJpNCsgKi8KICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgICM1NTU1NTUgMCUsIzIyMjIyMiAxMDAlKTsgLyogY2hyb21lMTArLHNhZmFyaTUuMSsgKi8KICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICAjNTU1NTU1IDAlLCMyMjIyMjIgMTAwJSk7IC8qIG9wZXJhIDExLjEwKyAqLwogICAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICAjNTU1NTU1IDAlLCMyMjIyMjIgMTAwJSk7IC8qIGllMTArICovCiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAgIzU1NTU1NSAwJSwjMjIyMjIyIDEwMCUpOyAvKiB3M2MgKi8KICAgIGZpbHRlcjogcHJvZ2lkOmR4aW1hZ2V0cmFuc2Zvcm0ubWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydGNvbG9yc3RyPSIjNTU1NTU1IiwgZW5kY29sb3JzdHI9IiMyMjIyMjIiLGdyYWRpZW50dHlwZT0wICk7IC8qIGllNi05ICovCglwYWRkaW5nOjEwcHggMTVweDsKCW1hcmdpbi1sZWZ0Oi0xNXB4O21hcmdpbi10b3A6LTEwcHg7Cglib3gtc2l6aW5nOmNvbnRlbnQtYm94OwogICBib3JkZXItcmFkaXVzOjEwcHg7CiAgIGJveC1zaGFkb3c6MHB4IDBweCAycHggMXB4IHJnYmEoMzMsMzMsMzMsMC4zKTsKfQouZXJpbnllbiAudHAtYnVsbGV0IHsKCXdpZHRoOjEzcHg7CgloZWlnaHQ6MTNweDsKCXBvc2l0aW9uOmFic29sdXRlOwoJYmFja2dyb3VuZDojMTExOwkKCWJvcmRlci1yYWRpdXM6NTAlOwoJY3Vyc29yOiBwb2ludGVyOwoJYm94LXNpemluZzpjb250ZW50LWJveDsKfQouZXJpbnllbiAudHAtYnVsbGV0OmhvdmVyLAouZXJpbnllbiAudHAtYnVsbGV0LnNlbGVjdGVkIHsKCWJhY2tncm91bmQ6ICNlNWU1ZTU7IC8qIG9sZCBicm93c2VycyAqLwpiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICAjZTVlNWU1IDAlLCAjOTk5OTk5IDEwMCUpOyAvKiBmZjMuNisgKi8KYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwjZTVlNWU1KSwgY29sb3Itc3RvcCgxMDAlLCM5OTk5OTkpKTsgLyogY2hyb21lLHNhZmFyaTQrICovCmJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgICNlNWU1ZTUgMCUsIzk5OTk5OSAxMDAlKTsgLyogY2hyb21lMTArLHNhZmFyaTUuMSsgKi8KYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgICNlNWU1ZTUgMCUsIzk5OTk5OSAxMDAlKTsgLyogb3BlcmEgMTEuMTArICovCmJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAgI2U1ZTVlNSAwJSwjOTk5OTk5IDEwMCUpOyAvKiBpZTEwKyAqLwpiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAgI2U1ZTVlNSAwJSwjOTk5OTk5IDEwMCUpOyAvKiB3M2MgKi8KZmlsdGVyOiBwcm9naWQ6ZHhpbWFnZXRyYW5zZm9ybS5taWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Y29sb3JzdHI9IiNlNWU1ZTUiLCBlbmRjb2xvcnN0cj0iIzk5OTk5OSIsZ3JhZGllbnR0eXBlPTAgKTsgLyogaWU2LTkgKi8KICBib3JkZXI6MXB4IHNvbGlkICM1NTU7CiAgd2lkdGg6MTJweDtoZWlnaHQ6MTJweDsKfQouZXJpbnllbiAudHAtYnVsbGV0LWltYWdlIHsKfQouZXJpbnllbiAudHAtYnVsbGV0LXRpdGxlIHsKfQoKCi8qIFRIVU1CUyAqLwouZXJpbnllbiAudHAtdGh1bWIgewpvcGFjaXR5OjEKfQoKLmVyaW55ZW4gLnRwLXRodW1iLW92ZXIgewogIGJhY2tncm91bmQ6IzAwMDsKICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4yNSk7CiAgd2lkdGg6MTAwJTsKICBoZWlnaHQ6MTAwJTsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICB0b3A6MHB4OwogIGxlZnQ6MHB4OwogIHotaW5kZXg6MTsKICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7CiAgdHJhbnNpdGlvbjphbGwgMC4zczsKfQoKLmVyaW55ZW4gLnRwLXRodW1iLW1vcmU6YmVmb3JlIHsKICBmb250LWZhbWlseTogInJldmljb25zIjsKICBmb250LXNpemU6MTJweDsKICBjb2xvcjojYWFhOwogIGNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43NSk7CiAgZGlzcGxheTpibG9jazsKICBsaW5lLWhlaWdodDogMTJweDsKICB0ZXh0LWFsaWduOiBsZWZ0OyAgICAKICB6LWluZGV4OjI7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgdG9wOjIwcHg7CiAgcmlnaHQ6MjBweDsKICB6LWluZGV4OjI7Cn0KLmVyaW55ZW4gLnRwLXRodW1iLW1vcmU6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MjUiOwp9CgouZXJpbnllbiAudHAtdGh1bWItdGl0bGUgewogIGZvbnQtZmFtaWx5OiJSYWxld2F5IjsKICBsZXR0ZXItc3BhY2luZzoxcHg7CiAgZm9udC1zaXplOjEycHg7CiAgY29sb3I6I2ZmZjsKICBkaXNwbGF5OmJsb2NrOwogIGxpbmUtaGVpZ2h0OiAxNXB4OwogIHRleHQtYWxpZ246IGxlZnQ7ICAgIAogIHotaW5kZXg6MjsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICB0b3A6MHB4OwogIGxlZnQ6MHB4OwogIHotaW5kZXg6MjsKICBwYWRkaW5nOjIwcHggMzVweCAyMHB4IDIwcHg7CiAgd2lkdGg6MTAwJTsKICBoZWlnaHQ6MTAwJTsKICBib3gtc2l6aW5nOmJvcmRlci1ib3g7CiAgdHJhbnNpdGlvbjphbGwgMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7CiAgZm9udC13ZWlnaHQ6NTAwOwp9CgouZXJpbnllbiAudHAtdGh1bWIuc2VsZWN0ZWQgLnRwLXRodW1iLW1vcmU6YmVmb3JlLAouZXJpbnllbiAudHAtdGh1bWI6aG92ZXIgLnRwLXRodW1iLW1vcmU6YmVmb3JlIHsKIGNvbG9yOiNhYWE7Cgp9CgouZXJpbnllbiAudHAtdGh1bWIuc2VsZWN0ZWQgLnRwLXRodW1iLW92ZXIsCi5lcmlueWVuIC50cC10aHVtYjpob3ZlciAudHAtdGh1bWItb3ZlciB7CiBiYWNrZ3JvdW5kOiNmZmY7Cn0KLmVyaW55ZW4gLnRwLXRodW1iLnNlbGVjdGVkIC50cC10aHVtYi10aXRsZSwKLmVyaW55ZW4gLnRwLXRodW1iOmhvdmVyIC50cC10aHVtYi10aXRsZSB7CiAgY29sb3I6IzAwMDsKCn0KCgovKiBUQUJTICovCi5lcmlueWVuIC50cC10YWItdGl0bGUgewogICAgY29sb3I6I2E4ZDhlZTsKICAgIGZvbnQtc2l6ZToxM3B4OwogICAgZm9udC13ZWlnaHQ6NzAwOwogICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOwogICAgZm9udC1mYW1pbHk6IlJvYm90byBTbGFiIgogICAgbWFyZ2luLWJvdHRvbTo1cHg7Cn0KCi5lcmlueWVuIC50cC10YWItZGVzYyB7Cglmb250LXNpemU6MThweDsKICAgIGZvbnQtd2VpZ2h0OjQwMDsKICAgIGNvbG9yOiNmZmY7CiAgICBsaW5lLWhlaWdodDoyNXB4OwoJZm9udC1mYW1pbHk6IlJvYm90byBTbGFiIjsKfQogICAgICAKCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0gUmV2b2x1dGlvbiBTbGlkZXIgNS4wIE5hdmlnYXRpbiBTa2luIFN0eWxlICAtCgogR1lHRVMgU0tJTgoKYXV0aG9yOiAgVGhlbWVQdW5jaAplbWFpbDogICAgICBpbmZvQHRoZW1lcHVuY2guY29tCndlYnNpdGU6ICAgIGh0dHA6Ly93d3cudGhlbWVwdW5jaC5jb20KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwovKiBBUlJPV1MgKi8KCgovKiBCVUxMRVRTICovCi5neWdlcy50cC1idWxsZXRzIHsKfQouZ3lnZXMudHAtYnVsbGV0czpiZWZvcmUgewoJY29udGVudDoiICI7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCXdpZHRoOjEwMCU7CgloZWlnaHQ6MTAwJTsKCWJhY2tncm91bmQ6ICM3Nzc3Nzc7IC8qIE9sZCBicm93c2VycyAqLwogICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAgIzc3Nzc3NyAwJSwgIzY2NjY2NiAxMDAlKTsgCiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCAKICAgIGNvbG9yLXN0b3AoMCUsIzc3Nzc3NyksIGNvbG9yLXN0b3AoMTAwJSwjNjY2NjY2KSk7IAogICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAgIzc3Nzc3NyAwJSwjNjY2NjY2IDEwMCUpOyAKICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICAjNzc3Nzc3IDAlLCM2NjY2NjYgMTAwJSk7IAogICAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICAjNzc3Nzc3IDAlLCM2NjY2NjYgMTAwJSk7IAogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgICM3Nzc3NzcgMCUsIzY2NjY2NiAxMDAlKTsgCiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0iIzc3Nzc3NyIsIAogICAgZW5kQ29sb3JzdHI9IiM2NjY2NjYiLEdyYWRpZW50VHlwZT0wICk7IAoJcGFkZGluZzoxMHB4OwoJbWFyZ2luLWxlZnQ6LTEwcHg7bWFyZ2luLXRvcDotMTBweDsKCWJveC1zaXppbmc6Y29udGVudC1ib3g7CiAgYm9yZGVyLXJhZGl1czoxMHB4Owp9Ci5neWdlcyAudHAtYnVsbGV0IHsKCXdpZHRoOjEycHg7CgloZWlnaHQ6MTJweDsKCXBvc2l0aW9uOmFic29sdXRlOwoJYmFja2dyb3VuZDojMzMzOwoJYm9yZGVyOjNweCBzb2xpZCAjNDQ0OwoJYm9yZGVyLXJhZGl1czo1MCU7CgljdXJzb3I6IHBvaW50ZXI7Cglib3gtc2l6aW5nOmNvbnRlbnQtYm94Owp9Ci5neWdlcyAudHAtYnVsbGV0OmhvdmVyLAouZ3lnZXMgLnRwLWJ1bGxldC5zZWxlY3RlZCB7CgliYWNrZ3JvdW5kOiAjZmZmZmZmOyAvKiBPbGQgYnJvd3NlcnMgKi8KICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgICNmZmZmZmYgMCUsICNlMWUxZTEgMTAwJSk7IC8qIEZGMy42KyAqLwogICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgCiAgICBjb2xvci1zdG9wKDAlLCNmZmZmZmYpLCBjb2xvci1zdG9wKDEwMCUsI2UxZTFlMSkpOyAvKiBDaHJvbWUsU2FmYXJpNCsgKi8KICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgICNmZmZmZmYgMCUsI2UxZTFlMSAxMDAlKTsgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi8KICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICAjZmZmZmZmIDAlLCNlMWUxZTEgMTAwJSk7IC8qIE9wZXJhIDExLjEwKyAqLwogICAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICAjZmZmZmZmIDAlLCNlMWUxZTEgMTAwJSk7IC8qIElFMTArICovCiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAgI2ZmZmZmZiAwJSwjZTFlMWUxIDEwMCUpOyAvKiBXM0MgKi8KICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPSIjZmZmZmZmIiwgCiAgICBlbmRDb2xvcnN0cj0iI2UxZTFlMSIsR3JhZGllbnRUeXBlPTAgKTsgLyogSUU2LTkgKi8KCn0KLmd5Z2VzIC50cC1idWxsZXQtaW1hZ2Ugewp9Ci5neWdlcyAudHAtYnVsbGV0LXRpdGxlIHsKfQoJCgovKiBUSFVNQlMgKi8KLmd5Z2VzIC50cC10aHVtYiB7IAogICAgICBvcGFjaXR5OjEKICB9Ci5neWdlcyAudHAtdGh1bWItaW1nLXdyYXAgewogIHBhZGRpbmc6M3B4OwogICAgYmFja2dyb3VuZDojMDAwOwogIGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjI1KTsKICBkaXNwbGF5OmlubGluZS1ibG9jazsKCiAgd2lkdGg6MTAwJTsKICBoZWlnaHQ6MTAwJTsKICBwb3NpdGlvbjpyZWxhdGl2ZTsKICBtYXJnaW46MHB4OwogIGJveC1zaXppbmc6Ym9yZGVyLWJveDsKICAgIHRyYW5zaXRpb246YWxsIDAuM3M7CiAgICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7Cn0KLmd5Z2VzIC50cC10aHVtYi1pbWFnZSB7CiAgIHBhZGRpbmc6M3B4OyAKICAgZGlzcGxheTpibG9jazsKICAgYm94LXNpemluZzpib3JkZXItYm94OwogICBwb3NpdGlvbjpyZWxhdGl2ZTsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgNXB4IDVweCAxMHB4IDBweCByZ2JhKDAsMCwwLDAuMjUpOwogIC1tb3otYm94LXNoYWRvdzogaW5zZXQgNXB4IDVweCAxMHB4IDBweCByZ2JhKDAsMCwwLDAuMjUpOwogIGJveC1zaGFkb3c6IGluc2V0IDVweCA1cHggMTBweCAwcHggcmdiYSgwLDAsMCwwLjI1KTsKIH0gIAouZ3lnZXMgLnRwLXRodW1iLXRpdGxlIHsgCiAgICAgcG9zaXRpb246YWJzb2x1dGU7IAogICAgIGJvdHRvbToxMDAlOyAKICAgICBkaXNwbGF5OmlubGluZS1ibG9jazsKICAgICBsZWZ0OjUwJTsKICAgICBiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC44KTsKICAgICBwYWRkaW5nOjEwcHggMzBweDsKICAgICBib3JkZXItcmFkaXVzOjRweDsKCSAtd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4OwogICAgIG1hcmdpbi1ib3R0b206MjBweDsKICAgICBvcGFjaXR5OjA7CiAgICAgIHRyYW5zaXRpb246YWxsIDAuM3M7CiAgICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMC4wMDFweCkgdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDE0cHgpOwogICAgdHJhbnNmb3JtLW9yaWdpbjo1MCUgMTAwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDAuMDAxcHgpIHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgxNHB4KTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjo1MCUgMTAwJTsKICAgIHdoaXRlLXNwYWNlOm5vd3JhcDsKIH0KLmd5Z2VzIC50cC10aHVtYjpob3ZlciAudHAtdGh1bWItdGl0bGUgewogIAkgdHJhbnNmb3JtOnJvdGF0ZVgoMGRlZykgdHJhbnNsYXRlWCgtNTAlKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZVgoMGRlZykgdHJhbnNsYXRlWCgtNTAlKTsKICAgIG9wYWNpdHk6MTsKfQoKLmd5Z2VzIC50cC10aHVtYjpob3ZlciAudHAtdGh1bWItaW1nLXdyYXAsCiAuZ3lnZXMgLnRwLXRodW1iLnNlbGVjdGVkIC50cC10aHVtYi1pbWctd3JhcCB7CgogIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLCByZ2JhKDExOSwxMTksMTE5LDEpIDEwMCUpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCByZ2JhKDI1NSwyNTUsMjU1LDEpKSwgY29sb3Itc3RvcCgxMDAlLCByZ2JhKDExOSwxMTksMTE5LDEpKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLCByZ2JhKDExOSwxMTksMTE5LDEpIDEwMCUpOwogIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LDI1NSwyNTUsMSkgMCUsIHJnYmEoMTE5LDExOSwxMTksMSkgMTAwJSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LDI1NSwyNTUsMSkgMCUsIHJnYmEoMTE5LDExOSwxMTksMSkgMTAwJSk7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSwgcmdiYSgxMTksMTE5LDExOSwxKSAxMDAlKTsKICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0iI2ZmZmZmZiIsIGVuZENvbG9yc3RyPSIjNzc3Nzc3IiwgR3JhZGllbnRUeXBlPTAgKTsKIH0KLmd5Z2VzIC50cC10aHVtYi10aXRsZTphZnRlciB7CiAgICAgICAgY29udGVudDoiICI7CiAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7CiAgICAgICAgbGVmdDo1MCU7CiAgICAgICAgbWFyZ2luLWxlZnQ6LThweDsKICAgICAgICB3aWR0aDogMDsKCQloZWlnaHQ6IDA7CgkJYm9yZGVyLXN0eWxlOiBzb2xpZDsKCQlib3JkZXItd2lkdGg6IDhweCA4cHggMCA4cHg7CgkJYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuOCkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm90dG9tOi04cHg7CiAgIH0KCgovKiBUQUJTICovCi5neWdlcyAudHAtdGFiIHsgCiAgb3BhY2l0eToxOyAgICAgIAogIHBhZGRpbmc6MTBweDsKICBib3gtc2l6aW5nOmJvcmRlci1ib3g7CiAgZm9udC1mYW1pbHk6ICJSb2JvdG8iLCBzYW5zLXNlcmlmOwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMTUpOwogfQouZ3lnZXMgLnRwLXRhYi1pbWFnZSAKeyAKICB3aWR0aDo2MHB4OwogIGhlaWdodDo2MHB4OyBtYXgtaGVpZ2h0OjEwMCU7IG1heC13aWR0aDoxMDAlOwogIHBvc2l0aW9uOnJlbGF0aXZlOwogIGRpc3BsYXk6aW5saW5lLWJsb2NrOwogIGZsb2F0OmxlZnQ7Cgp9Ci5neWdlcyAudHAtdGFiLWNvbnRlbnQgCnsKICAgIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwKTsgCiAgICBwb3NpdGlvbjpyZWxhdGl2ZTsKICAgIHBhZGRpbmc6MTVweCAxNXB4IDE1cHggODVweDsKIGxlZnQ6MHB4OwogIG92ZXJmbG93OmhpZGRlbjsKIG1hcmdpbi10b3A6LTE1cHg7CiAgICBib3gtc2l6aW5nOmJvcmRlci1ib3g7CiAgICBjb2xvcjojMzMzOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgd2lkdGg6MTAwJTsKICAgIGhlaWdodDoxMDAlOwogcG9zaXRpb246YWJzb2x1dGU7IH0KLmd5Z2VzIC50cC10YWItZGF0ZQogIHsKICBkaXNwbGF5OmJsb2NrOwogIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuMjUpOwogIGZvbnQtd2VpZ2h0OjUwMDsKICBmb250LXNpemU6MTJweDsKICBtYXJnaW4tYm90dG9tOjBweDsKICB9Ci5neWdlcyAudHAtdGFiLXRpdGxlIAp7CiAgICBkaXNwbGF5OmJsb2NrOyAgCiAgICB0ZXh0LWFsaWduOmxlZnQ7CiAgICBjb2xvcjojZmZmOwogICAgZm9udC1zaXplOjE0cHg7CiAgICBmb250LXdlaWdodDo1MDA7CiAgICB0ZXh0LXRyYW5zZm9ybTpub25lOwogICAgbGluZS1oZWlnaHQ6MTdweDsKfQouZ3lnZXMgLnRwLXRhYjpob3ZlciwKLmd5Z2VzIC50cC10YWIuc2VsZWN0ZWQgewogIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjUpOyAKfQoKLmd5Z2VzIC50cC10YWItbWFzayB7Cn0KCi8qIE1FRElBIFFVRVJJRVMgKi8KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkgewoKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7Cgp9CgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotIFJldm9sdXRpb24gU2xpZGVyIDUuMCBOYXZpZ2F0aW4gU2tpbiBTdHlsZSAgLQoKIEhBREVTIFNLSU4KCmF1dGhvcjogIFRoZW1lUHVuY2gKZW1haWw6ICAgICAgaW5mb0B0aGVtZXB1bmNoLmNvbQp3ZWJzaXRlOiAgICBodHRwOi8vd3d3LnRoZW1lcHVuY2guY29tCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLyogQVJST1dTICovCi5oYWRlcy50cGFycm93cyB7CgljdXJzb3I6cG9pbnRlcjsKCWJhY2tncm91bmQ6IzAwMDsKCWJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjE1KTsKCXdpZHRoOjEwMHB4OwoJaGVpZ2h0OjEwMHB4OwoJcG9zaXRpb246YWJzb2x1dGU7CglkaXNwbGF5OmJsb2NrOwoJei1pbmRleDoxMDAwOwp9CgouaGFkZXMudHBhcnJvd3M6YmVmb3JlIHsKCWZvbnQtZmFtaWx5OiAicmV2aWNvbnMiOwoJZm9udC1zaXplOjMwcHg7Cgljb2xvcjojZmZmOwoJZGlzcGxheTpibG9jazsKCWxpbmUtaGVpZ2h0OiAxMDBweDsKCXRleHQtYWxpZ246IGNlbnRlcjsKICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MsIGNvbG9yIDAuM3M7Cn0KLmhhZGVzLnRwYXJyb3dzLnRwLWxlZnRhcnJvdzpiZWZvcmUgewoJY29udGVudDogIlxlODI0IjsKfQouaGFkZXMudHBhcnJvd3MudHAtcmlnaHRhcnJvdzpiZWZvcmUgewoJY29udGVudDogIlxlODI1IjsKfQoKLmhhZGVzLnRwYXJyb3dzOmhvdmVyOmJlZm9yZSB7CiAgIGNvbG9yOiNhYWE7CiAgIGJhY2tncm91bmQ6I2ZmZjsKICAgYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDEpOwogfQouaGFkZXMgLnRwLWFyci1hbGx3cmFwcGVyIHsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICBsZWZ0OjEwMCU7CiAgdG9wOjBweDsKICBiYWNrZ3JvdW5kOiM4ODg7IAogIHdpZHRoOjEwMHB4O2hlaWdodDoxMDBweDsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzOwogIHRyYW5zaXRpb246IGFsbCAwLjNzOwogIC1tcy1maWx0ZXI6ICJwcm9naWQ6ZHhpbWFnZXRyYW5zZm9ybS5taWNyb3NvZnQuYWxwaGEob3BhY2l0eT0wKSI7CiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApOwogIC1tb3otb3BhY2l0eTogMC4wOwogIC1raHRtbC1vcGFjaXR5OiAwLjA7CiAgb3BhY2l0eTogMC4wOwogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGV5KC05MGRlZyk7CiAgdHJhbnNmb3JtOiByb3RhdGV5KC05MGRlZyk7CiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwJSA1MCU7CiAgdHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlOwp9Ci5oYWRlcy50cC1yaWdodGFycm93IC50cC1hcnItYWxsd3JhcHBlciB7CiAgIGxlZnQ6YXV0bzsKICAgcmlnaHQ6MTAwJTsKICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTsKICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTsKICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZXkoOTBkZWcpOwogIHRyYW5zZm9ybTogcm90YXRleSg5MGRlZyk7Cn0KCi5oYWRlczpob3ZlciAudHAtYXJyLWFsbHdyYXBwZXIgewogICAtbXMtZmlsdGVyOiAicHJvZ2lkOmR4aW1hZ2V0cmFuc2Zvcm0ubWljcm9zb2Z0LmFscGhhKG9wYWNpdHk9MTAwKSI7CiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7CiAgLW1vei1vcGFjaXR5OiAxOwogIC1raHRtbC1vcGFjaXR5OiAxOwogIG9wYWNpdHk6IDE7ICAKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGV5KDBkZWcpOwogIHRyYW5zZm9ybTogcm90YXRleSgwZGVnKTsKCiB9CiAgICAKLmhhZGVzIC50cC1hcnItaXdyYXBwZXIgewp9Ci5oYWRlcyAudHAtYXJyLWltZ2hvbGRlciB7CiAgYmFja2dyb3VuZC1zaXplOmNvdmVyOwogIHBvc2l0aW9uOmFic29sdXRlOwogIHRvcDowcHg7bGVmdDowcHg7CiAgd2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTsKfQouaGFkZXMgLnRwLWFyci10aXRsZWhvbGRlciB7Cn0KLmhhZGVzIC50cC1hcnItc3VidGl0bGVob2xkZXIgewp9CgoKLyogQlVMTEVUUyAqLwouaGFkZXMudHAtYnVsbGV0cyB7Cn0KLmhhZGVzLnRwLWJ1bGxldHM6YmVmb3JlIHsKCWNvbnRlbnQ6IiAiOwoJcG9zaXRpb246YWJzb2x1dGU7Cgl3aWR0aDoxMDAlOwoJaGVpZ2h0OjEwMCU7CgliYWNrZ3JvdW5kOnRyYW5zcGFyZW50OwoJcGFkZGluZzoxMHB4OwoJbWFyZ2luLWxlZnQ6LTEwcHg7bWFyZ2luLXRvcDotMTBweDsKCWJveC1zaXppbmc6Y29udGVudC1ib3g7Cn0KLmhhZGVzIC50cC1idWxsZXQgewoJd2lkdGg6M3B4OwoJaGVpZ2h0OjNweDsKCXBvc2l0aW9uOmFic29sdXRlOwoJYmFja2dyb3VuZDojODg4OwkKCWN1cnNvcjogcG9pbnRlcjsKICAgIGJvcmRlcjo1cHggc29saWQgI2ZmZjsKCWJveC1zaXppbmc6Y29udGVudC1ib3g7CiAgICBib3gtc2hhZG93OjBweCAwcHggM3B4IDFweCByZ2JhKDAsMCwwLDAuMik7CiAgICAtd2Via2l0LXBlcnNwZWN0aXZlOjQwMDsKICAgIHBlcnNwZWN0aXZlOjQwMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZXooMC4wMXB4KTsKICAgIHRyYW5zZm9ybTp0cmFuc2xhdGV6KDAuMDFweCk7Cn0KLmhhZGVzIC50cC1idWxsZXQ6aG92ZXIsCi5oYWRlcyAudHAtYnVsbGV0LnNlbGVjdGVkIHsKCWJhY2tncm91bmQ6IzU1NTsKICAKfQoKLmhhZGVzIC50cC1idWxsZXQtaW1hZ2UgewogIHBvc2l0aW9uOmFic29sdXRlO3RvcDotODBweDsgbGVmdDotNjBweDt3aWR0aDoxMjBweDtoZWlnaHQ6NjBweDsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7CiAgYmFja2dyb3VuZC1zaXplOmNvdmVyOwogIHZpc2liaWxpdHk6aGlkZGVuOwogIG9wYWNpdHk6MDsKICB0cmFuc2l0aW9uOmFsbCAwLjNzOwogIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOmZsYXQ7CiAgdHJhbnNmb3JtLXN0eWxlOmZsYXQ7CiAgcGVyc3BlY3RpdmU6NjAwOwogIC13ZWJraXQtcGVyc3BlY3RpdmU6NjAwOwogIHRyYW5zZm9ybTogcm90YXRleCgtOTBkZWcpOwogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGV4KC05MGRlZyk7CiAgYm94LXNoYWRvdzowcHggMHB4IDNweCAxcHggcmdiYSgwLDAsMCwwLjIpOwogIHRyYW5zZm9ybS1vcmlnaW46NTAlIDEwMCU7CiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOjUwJSAxMDAlOwogIAogIAp9Ci5oYWRlcyAudHAtYnVsbGV0OmhvdmVyIC50cC1idWxsZXQtaW1hZ2UgewogIGRpc3BsYXk6YmxvY2s7CiAgb3BhY2l0eToxOwogIHRyYW5zZm9ybTogcm90YXRleCgwZGVnKTsKICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRleCgwZGVnKTsKICB2aXNpYmlsaXR5OnZpc2libGU7CiAgICB9Ci5oYWRlcyAudHAtYnVsbGV0LXRpdGxlIHsKfQoKCi8qIFRIVU1CUyAqLwouaGFkZXMgLnRwLXRodW1iIHsgCiAgICAgIG9wYWNpdHk6MQogIH0KLmhhZGVzIC50cC10aHVtYi1pbWctd3JhcCB7CiAgYm9yZGVyLXJhZGl1czo1MCU7CiAgcGFkZGluZzozcHg7CiAgZGlzcGxheTppbmxpbmUtYmxvY2s7CmJhY2tncm91bmQ6IzAwMDsKICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4yNSk7CiAgd2lkdGg6MTAwJTsKICBoZWlnaHQ6MTAwJTsKICBwb3NpdGlvbjpyZWxhdGl2ZTsKICBtYXJnaW46MHB4OwogIGJveC1zaXppbmc6Ym9yZGVyLWJveDsKICAgIHRyYW5zaXRpb246YWxsIDAuM3M7CiAgICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7Cn0KLmhhZGVzIC50cC10aHVtYi1pbWFnZSB7CiAgIHBhZGRpbmc6M3B4OyAKICAgYm9yZGVyLXJhZGl1czo1MCU7CiAgIGRpc3BsYXk6YmxvY2s7CiAgIGJveC1zaXppbmc6Ym9yZGVyLWJveDsKICAgcG9zaXRpb246cmVsYXRpdmU7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDVweCA1cHggMTBweCAwcHggcmdiYSgwLDAsMCwwLjI1KTsKICAtbW96LWJveC1zaGFkb3c6IGluc2V0IDVweCA1cHggMTBweCAwcHggcmdiYSgwLDAsMCwwLjI1KTsKICBib3gtc2hhZG93OiBpbnNldCA1cHggNXB4IDEwcHggMHB4IHJnYmEoMCwwLDAsMC4yNSk7CiB9ICAKCgouaGFkZXMgLnRwLXRodW1iOmhvdmVyIC50cC10aHVtYi1pbWctd3JhcCwKLmhhZGVzIC50cC10aHVtYi5zZWxlY3RlZCAudHAtdGh1bWItaW1nLXdyYXAgewogIAogICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDEpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSwgcmdiYSgxMTksMTE5LDExOSwxKSAxMDAlKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwgcmdiYSgyNTUsMjU1LDI1NSwxKSksIGNvbG9yLXN0b3AoMTAwJSwgcmdiYSgxMTksMTE5LDExOSwxKSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSwgcmdiYSgxMTksMTE5LDExOSwxKSAxMDAlKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLCByZ2JhKDExOSwxMTksMTE5LDEpIDEwMCUpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLCByZ2JhKDExOSwxMTksMTE5LDEpIDEwMCUpOwogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMjU1LDI1NSwyNTUsMSkgMCUsIHJnYmEoMTE5LDExOSwxMTksMSkgMTAwJSk7CiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9IiNmZmZmZmYiLCBlbmRDb2xvcnN0cj0iIzc3Nzc3NyIsIEdyYWRpZW50VHlwZT0wICk7CiAKICAgICAgfQouaGFkZXMgLnRwLXRodW1iLXRpdGxlOmFmdGVyIHsKICAgICAgICBjb250ZW50OiIgIjsKICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTsKICAgICAgICBsZWZ0OjUwJTsKICAgICAgICBtYXJnaW4tbGVmdDotOHB4OwogICAgICAgIHdpZHRoOiAwOwoJCWhlaWdodDogMDsKCQlib3JkZXItc3R5bGU6IHNvbGlkOwoJCWJvcmRlci13aWR0aDogOHB4IDhweCAwIDhweDsKCQlib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsMC43NSkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm90dG9tOi04cHg7CiAgIH0KCgovKiBUQUJTICovCi5oYWRlcyAudHAtdGFiIHsKICBvcGFjaXR5OjE7CiB9CiAgICAKLmhhZGVzIC50cC10YWItdGl0bGUKIHsKICAgICAgZGlzcGxheTpibG9jazsKICAgICAgY29sb3I6IzMzMzsKICAgICAgZm9udC13ZWlnaHQ6NjAwOwogICAgICBmb250LXNpemU6MThweDsKICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7CiAgICAgIGxpbmUtaGVpZ2h0OjI1cHg7ICAgICAgCiAgICB9IAouaGFkZXMgLnRwLXRhYi1wcmljZQogewoJZGlzcGxheTpibG9jazsKICAgIHRleHQtYWxpZ246Y2VudGVyOwogICAgY29sb3I6Izk5OTsKICAgIGZvbnQtc2l6ZToxNnB4OwogICAgbWFyZ2luLXRvcDoxMHB4OwogICBsaW5lLWhlaWdodDoyMHB4Cn0KCi5oYWRlcyAudHAtdGFiLWJ1dHRvbiB7CiAgICBkaXNwbGF5OmlubGluZS1ibG9jazsKICAgIG1hcmdpbi10b3A6MTVweDsKICAgIHRleHQtYWxpZ246Y2VudGVyOwoJcGFkZGluZzo1cHggMTVweDsKICAJY29sb3I6I2ZmZjsKICAJZm9udC1zaXplOjE0cHg7CiAgCWJhY2tncm91bmQ6IzIxOWJkNzsKICAgCWJvcmRlci1yYWRpdXM6NHB4OwogICBmb250LXdlaWdodDo0MDA7Cn0KLmhhZGVzIC50cC10YWItaW5uZXIgewoJdGV4dC1hbGlnbjpjZW50ZXI7Cn0KCiAgICAgICAgICAgICAgCgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotIFJldm9sdXRpb24gU2xpZGVyIDUuMCBOYXZpZ2F0aW4gU2tpbiBTdHlsZSAgLQoKIEhFQkUgU0tJTgoKYXV0aG9yOiAgVGhlbWVQdW5jaAplbWFpbDogICAgICBpbmZvQHRoZW1lcHVuY2guY29tCndlYnNpdGU6ICAgIGh0dHA6Ly93d3cudGhlbWVwdW5jaC5jb20KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwovKiBBUlJPV1MgKi8KLmhlYmUudHBhcnJvd3MgewogIGN1cnNvcjpwb2ludGVyOwogIGJhY2tncm91bmQ6I2ZmZjsKICBtaW4td2lkdGg6NzBweDsKICAgIG1pbi1oZWlnaHQ6NzBweDsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICBkaXNwbGF5OmJsb2NrOwogIHotaW5kZXg6MTAwMDsKfQouaGViZS50cGFycm93czpob3ZlciB7Cn0KLmhlYmUudHBhcnJvd3M6YmVmb3JlIHsKICBmb250LWZhbWlseTogInJldmljb25zIjsKICBmb250LXNpemU6MzBweDsKICBjb2xvcjojYWFhOwogIGRpc3BsYXk6YmxvY2s7CiAgbGluZS1oZWlnaHQ6IDcwcHg7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgMC4zczsKICAtbW96LXRyYW5zaXRpb246IGNvbG9yIDAuM3M7CiAgdHJhbnNpdGlvbjogY29sb3IgMC4zczsKICB6LWluZGV4OjI7CiAgcG9zaXRpb246cmVsYXRpdmU7CiAgIGJhY2tncm91bmQ6I2ZmZjsKICBtaW4td2lkdGg6NzBweDsKICAgIG1pbi1oZWlnaHQ6NzBweDsKfQouaGViZS50cGFycm93cy50cC1sZWZ0YXJyb3c6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MjQiOwp9Ci5oZWJlLnRwYXJyb3dzLnRwLXJpZ2h0YXJyb3c6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MjUiOwp9Ci5oZWJlLnRwYXJyb3dzOmhvdmVyOmJlZm9yZSB7CiBjb2xvcjojMDAwOwogICAgICB9Ci5oZWJlIC50cC10aXRsZS13cmFwIHsgCiAgcG9zaXRpb246YWJzb2x1dGU7CiAgei1pbmRleDowOwogIGRpc3BsYXk6aW5saW5lLWJsb2NrOwogIGJhY2tncm91bmQ6IzAwMDsKICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC43NSk7CiAgbWluLWhlaWdodDo2MHB4OwogIGxpbmUtaGVpZ2h0OjYwcHg7CiAgdG9wOi0xMHB4OwogIG1hcmdpbi1sZWZ0OjBweDsKICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3M7CiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7CiAgdHJhbnNmb3JtOnNjYWxlWCgwKTsgIAogIC13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgwKTsgIAogIHRyYW5zZm9ybS1vcmlnaW46MCUgNTAlOyAKICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOjAlIDUwJTsKfQogLmhlYmUudHAtcmlnaHRhcnJvdyAudHAtdGl0bGUtd3JhcCB7IAogICByaWdodDowcHg7CiAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjoxMDAlIDUwJTsKIH0KLmhlYmUudHBhcnJvd3M6aG92ZXIgLnRwLXRpdGxlLXdyYXAgewogIHRyYW5zZm9ybTpzY2FsZVgoMSk7CiAgLXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDEpOwp9Ci5oZWJlIC50cC1hcnItdGl0bGVob2xkZXIgewogIHBvc2l0aW9uOnJlbGF0aXZlOwogIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsKICBjb2xvcjojZmZmOwogIGZvbnQtd2VpZ2h0OjYwMDsKICBmb250LXNpemU6MTJweDsKICBsaW5lLWhlaWdodDo5MHB4OwogIHdoaXRlLXNwYWNlOm5vd3JhcDsKICBwYWRkaW5nOjBweCAyMHB4IDBweCA5MHB4Owp9CgouaGViZS50cC1yaWdodGFycm93IC50cC1hcnItdGl0bGVob2xkZXIgewogICBtYXJnaW4tbGVmdDowcHg7IAogICBwYWRkaW5nOjBweCA5MHB4IDBweCAyMHB4OwogfQoKLmhlYmUudHBhcnJvd3M6aG92ZXIgLnRwLWFyci10aXRsZWhvbGRlciB7CiAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDBweCk7CiAgIC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMHB4KTsKICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzOwogIG9wYWNpdHk6MTsKfQoKLmhlYmUgLnRwLWFyci1pbWdob2xkZXJ7CiAgICAgIHdpZHRoOjkwcHg7CiAgICAgIGhlaWdodDo5MHB4OwogICAgICBwb3NpdGlvbjphYnNvbHV0ZTsKICAgICAgbGVmdDoxMDAlOwogICAgICBkaXNwbGF5OmJsb2NrOwogICAgICBiYWNrZ3JvdW5kLXNpemU6Y292ZXI7CiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjsKICAJIHRvcDowcHg7IHJpZ2h0Oi05MHB4OwogICAgfQouaGViZS50cC1yaWdodGFycm93IC50cC1hcnItaW1naG9sZGVyewogICAgICAgIHJpZ2h0OmF1dG87bGVmdDotOTBweDsKICAgICAgfQoKLyogQlVMTEVUUyAqLwouaGViZS50cC1idWxsZXRzIHsKfQouaGViZS50cC1idWxsZXRzOmJlZm9yZSB7CiAgY29udGVudDoiICI7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgd2lkdGg6MTAwJTsKICBoZWlnaHQ6MTAwJTsKICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50OwogIHBhZGRpbmc6MTBweDsKICBtYXJnaW4tbGVmdDotMTBweDttYXJnaW4tdG9wOi0xMHB4OwogIGJveC1zaXppbmc6Y29udGVudC1ib3g7Cn0KCi5oZWJlIC50cC1idWxsZXQgewogIHdpZHRoOjNweDsKICBoZWlnaHQ6M3B4OwogIHBvc2l0aW9uOmFic29sdXRlOwogIGJhY2tncm91bmQ6I2ZmZjsgIAogIGN1cnNvcjogcG9pbnRlcjsKICBib3JkZXI6NXB4IHNvbGlkICMyMjI7CiAgYm9yZGVyLXJhZGl1czo1MCU7CiAgYm94LXNpemluZzpjb250ZW50LWJveDsKICAtd2Via2l0LXBlcnNwZWN0aXZlOjQwMDsKICBwZXJzcGVjdGl2ZTo0MDA7CiAgLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwLjAxcHgpOwogIHRyYW5zZm9ybTp0cmFuc2xhdGVaKDAuMDFweCk7CiAgIHRyYW5zaXRpb246YWxsIDAuM3M7Cn0KLmhlYmUgLnRwLWJ1bGxldDpob3ZlciwKLmhlYmUgLnRwLWJ1bGxldC5zZWxlY3RlZCB7CiAgYmFja2dyb3VuZDojMjIyOwogIGJvcmRlci1jb2xvcjojZmZmOwp9CgouaGViZSAudHAtYnVsbGV0LWltYWdlIHsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICB0b3A6LTkwcHg7IGxlZnQ6LTQwcHg7CiAgd2lkdGg6NzBweDsKICBoZWlnaHQ6NzBweDsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7CiAgYmFja2dyb3VuZC1zaXplOmNvdmVyOwogIHZpc2liaWxpdHk6aGlkZGVuOwogIG9wYWNpdHk6MDsKICB0cmFuc2l0aW9uOmFsbCAwLjNzOwogIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOmZsYXQ7CiAgdHJhbnNmb3JtLXN0eWxlOmZsYXQ7CiAgcGVyc3BlY3RpdmU6NjAwOwogIC13ZWJraXQtcGVyc3BlY3RpdmU6NjAwOwogIHRyYW5zZm9ybTogc2NhbGUoMCk7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApOwogIHRyYW5zZm9ybS1vcmlnaW46NTAlIDEwMCU7CiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOjUwJSAxMDAlOwpib3JkZXItcmFkaXVzOjZweDsKICAKICAKfQouaGViZSAudHAtYnVsbGV0OmhvdmVyIC50cC1idWxsZXQtaW1hZ2UgewogIGRpc3BsYXk6YmxvY2s7CiAgb3BhY2l0eToxOwogIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOwogIHZpc2liaWxpdHk6dmlzaWJsZTsKICAgIH0KLmhlYmUgLnRwLWJ1bGxldC10aXRsZSB7Cn0KCgovKiBUQUJTICovCi5oZWJlIC50cC10YWItdGl0bGUgewogICAgY29sb3I6I2E4ZDhlZTsKICAgIGZvbnQtc2l6ZToxM3B4OwogICAgZm9udC13ZWlnaHQ6NzAwOwogICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOwogICAgZm9udC1mYW1pbHk6IlJvYm90byBTbGFiIgogICAgbWFyZ2luLWJvdHRvbTo1cHg7Cn0KCi5oZWJlIC50cC10YWItZGVzYyB7Cglmb250LXNpemU6MThweDsKICAgIGZvbnQtd2VpZ2h0OjQwMDsKICAgIGNvbG9yOiNmZmY7CiAgICBsaW5lLWhlaWdodDoyNXB4OwoJZm9udC1mYW1pbHk6IlJvYm90byBTbGFiIjsKfQoKCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0gUmV2b2x1dGlvbiBTbGlkZXIgNS4wIE5hdmlnYXRpbiBTa2luIFN0eWxlICAtCgogSEVQSEFJU1RPUyBTS0lOCgphdXRob3I6ICBUaGVtZVB1bmNoCmVtYWlsOiAgICAgIGluZm9AdGhlbWVwdW5jaC5jb20Kd2Vic2l0ZTogICAgaHR0cDovL3d3dy50aGVtZXB1bmNoLmNvbQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi8qIEFSUk9XUyAqLwouaGVwaGFpc3Rvcy50cGFycm93cyB7CgljdXJzb3I6cG9pbnRlcjsKCWJhY2tncm91bmQ6IzAwMDsKCWJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjUpOwoJd2lkdGg6NDBweDsKCWhlaWdodDo0MHB4OwoJcG9zaXRpb246YWJzb2x1dGU7CglkaXNwbGF5OmJsb2NrOwoJei1pbmRleDoxMDAwOwogICAgYm9yZGVyLXJhZGl1czo1MCU7Cn0KLmhlcGhhaXN0b3MudHBhcnJvd3M6aG92ZXIgewoJYmFja2dyb3VuZDojMDAwOwp9Ci5oZXBoYWlzdG9zLnRwYXJyb3dzOmJlZm9yZSB7Cglmb250LWZhbWlseTogInJldmljb25zIjsKCWZvbnQtc2l6ZToxOHB4OwoJY29sb3I6I2ZmZjsKCWRpc3BsYXk6YmxvY2s7CglsaW5lLWhlaWdodDogNDBweDsKCXRleHQtYWxpZ246IGNlbnRlcjsKfQouaGVwaGFpc3Rvcy50cGFycm93cy50cC1sZWZ0YXJyb3c6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTgyYyI7CiAgbWFyZ2luLWxlZnQ6LTJweDsKICAKfQouaGVwaGFpc3Rvcy50cGFycm93cy50cC1yaWdodGFycm93OmJlZm9yZSB7Cgljb250ZW50OiAiXGU4MmQiOwogICBtYXJnaW4tcmlnaHQ6LTJweDsKfQoKCgovKiBCVUxMRVRTICovCi5oZXBoYWlzdG9zLnRwLWJ1bGxldHMgewp9Ci5oZXBoYWlzdG9zLnRwLWJ1bGxldHM6YmVmb3JlIHsKCWNvbnRlbnQ6IiAiOwoJcG9zaXRpb246YWJzb2x1dGU7Cgl3aWR0aDoxMDAlOwoJaGVpZ2h0OjEwMCU7CgliYWNrZ3JvdW5kOnRyYW5zcGFyZW50OwoJcGFkZGluZzoxMHB4OwoJbWFyZ2luLWxlZnQ6LTEwcHg7bWFyZ2luLXRvcDotMTBweDsKCWJveC1zaXppbmc6Y29udGVudC1ib3g7Cn0KLmhlcGhhaXN0b3MgLnRwLWJ1bGxldCB7Cgl3aWR0aDoxMnB4OwoJaGVpZ2h0OjEycHg7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWJhY2tncm91bmQ6Izk5OTsKCWJvcmRlcjozcHggc29saWQgI2Y1ZjVmNTsKCWJvcmRlci1yYWRpdXM6NTAlOwoJY3Vyc29yOiBwb2ludGVyOwoJYm94LXNpemluZzpjb250ZW50LWJveDsKICBib3gtc2hhZG93OiAwcHggMHB4IDJweCAxcHggcmdiYSgxMzAsMTMwLDEzMCwgMC4zKTsKCn0KLmhlcGhhaXN0b3MgLnRwLWJ1bGxldDpob3ZlciwKLmhlcGhhaXN0b3MgLnRwLWJ1bGxldC5zZWxlY3RlZCB7CgliYWNrZ3JvdW5kOiNmZmY7CiAgICBib3JkZXItY29sb3I6IzAwMDsKfQouaGVwaGFpc3RvcyAudHAtYnVsbGV0LWltYWdlIHsKfQouaGVwaGFpc3RvcyAudHAtYnVsbGV0LXRpdGxlIHsKfQoKCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0gUmV2b2x1dGlvbiBTbGlkZXIgNS4wIE5hdmlnYXRpbiBTa2luIFN0eWxlICAtCgogSEVSTUVTIFNLSU4KCmF1dGhvcjogIFRoZW1lUHVuY2gKZW1haWw6ICAgICAgaW5mb0B0aGVtZXB1bmNoLmNvbQp3ZWJzaXRlOiAgICBodHRwOi8vd3d3LnRoZW1lcHVuY2guY29tCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLyogQVJST1dTICovCi5oZXJtZXMudHBhcnJvd3MgewoJY3Vyc29yOnBvaW50ZXI7CgliYWNrZ3JvdW5kOiMwMDA7CgliYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC41KTsKCXdpZHRoOjMwcHg7CgloZWlnaHQ6MTEwcHg7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWRpc3BsYXk6YmxvY2s7Cgl6LWluZGV4OjEwMDA7Cn0KCi5oZXJtZXMudHBhcnJvd3M6YmVmb3JlIHsKCWZvbnQtZmFtaWx5OiAicmV2aWNvbnMiOwoJZm9udC1zaXplOjE1cHg7Cgljb2xvcjojZmZmOwoJZGlzcGxheTpibG9jazsKCWxpbmUtaGVpZ2h0OiAxMTBweDsKCXRleHQtYWxpZ246IGNlbnRlcjsKICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDBweCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDBweCk7CiAgICB0cmFuc2l0aW9uOmFsbCAwLjNzOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzOwp9Ci5oZXJtZXMudHBhcnJvd3MudHAtbGVmdGFycm93OmJlZm9yZSB7Cgljb250ZW50OiAiXGU4MjQiOwp9Ci5oZXJtZXMudHBhcnJvd3MudHAtcmlnaHRhcnJvdzpiZWZvcmUgewoJY29udGVudDogIlxlODI1IjsKfQouaGVybWVzLnRwYXJyb3dzLnRwLWxlZnRhcnJvdzpob3ZlcjpiZWZvcmUgewogICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwcHgpOwogICAgLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjBweCk7CiAgICAgb3BhY2l0eTowOwp9Ci5oZXJtZXMudHBhcnJvd3MudHAtcmlnaHRhcnJvdzpob3ZlcjpiZWZvcmUgewogICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjBweCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDIwcHgpOwogICAgIG9wYWNpdHk6MDsKfQoKLmhlcm1lcyAudHAtYXJyLWFsbHdyYXBwZXIgewogICAgb3ZlcmZsb3c6aGlkZGVuOwogICAgcG9zaXRpb246YWJzb2x1dGU7Cgl3aWR0aDoxODBweDsKICAgIGhlaWdodDoxNDBweDsKICAgIHRvcDowcHg7CiAgICBsZWZ0OjBweDsKICAgIHZpc2liaWxpdHk6aGlkZGVuOwogICAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgMC4zczsKICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyAwLjNzOwogIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEwMDBweDsKICBwZXJzcGVjdGl2ZTogMTAwMHB4OwogICAgfQouaGVybWVzLnRwLXJpZ2h0YXJyb3cgLnRwLWFyci1hbGx3cmFwcGVyIHsKICAgcmlnaHQ6MHB4O2xlZnQ6YXV0bzsKICAgICAgfQouaGVybWVzLnRwYXJyb3dzOmhvdmVyIC50cC1hcnItYWxsd3JhcHBlciB7CiAgIHZpc2liaWxpdHk6dmlzaWJsZTsKICAgICAgICAgIH0KLmhlcm1lcyAudHAtYXJyLWltZ2hvbGRlciB7CiAgd2lkdGg6MTgwcHg7cG9zaXRpb246YWJzb2x1dGU7CiAgbGVmdDowcHg7dG9wOjBweDtoZWlnaHQ6MTEwcHg7CiAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTE4MHB4KTsKICAtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xODBweCk7CiAgdHJhbnNpdGlvbjphbGwgMC4zczsKICB0cmFuc2l0aW9uLWRlbGF5OjAuM3M7Cn0KLmhlcm1lcy50cC1yaWdodGFycm93IC50cC1hcnItaW1naG9sZGVyewogICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTgwcHgpOwogIC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTgwcHgpOwogICAgICB9CiAgCi5oZXJtZXMudHBhcnJvd3M6aG92ZXIgLnRwLWFyci1pbWdob2xkZXIgewogICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgwcHgpOwogICAtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDBweCk7ICAgICAgICAgICAgCn0KLmhlcm1lcyAudHAtYXJyLXRpdGxlaG9sZGVyIHsKICB0b3A6MTEwcHg7CiAgd2lkdGg6MTgwcHg7CiAgdGV4dC1hbGlnbjpsZWZ0OyAKICBkaXNwbGF5OmJsb2NrOwogIHBhZGRpbmc6MHB4IDEwcHg7CiAgbGluZS1oZWlnaHQ6MzBweDsgYmFja2dyb3VuZDojMDAwOwogIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjc1KTtjb2xvcjojZmZmOwogIGZvbnQtd2VpZ2h0OjYwMDsgcG9zaXRpb246YWJzb2x1dGU7CiAgZm9udC1zaXplOjEycHg7CiAgd2hpdGUtc3BhY2U6bm93cmFwOwogIGxldHRlci1zcGFjaW5nOjFweDsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzOwogIHRyYW5zaXRpb246IGFsbCAwLjNzOwogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKC05MGRlZyk7CiAgdHJhbnNmb3JtOiByb3RhdGVYKC05MGRlZyk7CiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDsKICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDsKICBib3gtc2l6aW5nOmJvcmRlci1ib3g7Cgp9Ci5oZXJtZXMudHBhcnJvd3M6aG92ZXIgLnRwLWFyci10aXRsZWhvbGRlciB7CiAgICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDAuNnM7CiAgdHJhbnNpdGlvbi1kZWxheTogMC42czsKICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgwZGVnKTsKICB0cmFuc2Zvcm06IHJvdGF0ZVgoMGRlZyk7Cn0KCgovKiBCVUxMRVRTICovCi5oZXJtZXMudHAtYnVsbGV0cyB7Cn0KCi5oZXJtZXMgLnRwLWJ1bGxldCB7CiAgICBvdmVyZmxvdzpoaWRkZW47CiAgICBib3JkZXItcmFkaXVzOjUwJTsKICAgIHdpZHRoOjE2cHg7CiAgICBoZWlnaHQ6MTZweDsKICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggI0ZGRjsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZTsKICAgIHBvc2l0aW9uOmFic29sdXRlOwp9CgouaGVybWVzIC50cC1idWxsZXQ6aG92ZXIgewoJICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7Cn0KLmhlcm1lcyAudHAtYnVsbGV0OmFmdGVyIHsKICBjb250ZW50OiAnICc7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGJvdHRvbTogMDsKICBoZWlnaHQ6IDA7CiAgbGVmdDogMDsKICB3aWR0aDogMTAwJTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGOwogIGJveC1zaGFkb3c6IDAgMCAxcHggI0ZGRjsKICAtd2Via2l0LXRyYW5zaXRpb246IGhlaWdodCAwLjNzIGVhc2U7CiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3MgZWFzZTsKfQouaGVybWVzIC50cC1idWxsZXQuc2VsZWN0ZWQ6YWZ0ZXIgewogIGhlaWdodDoxMDAlOwp9CgoKLyogVEFCUyAqLwouaGVybWVzIC50cC10YWIgeyAKICBvcGFjaXR5OjE7ICAKICBwYWRkaW5nLXJpZ2h0OjEwcHg7CiAgYm94LXNpemluZzpib3JkZXItYm94OwogfQouaGVybWVzIC50cC10YWItaW1hZ2UgCnsgCiAgd2lkdGg6MTAwJTsKICBoZWlnaHQ6NjAlOwogIHBvc2l0aW9uOnJlbGF0aXZlOwp9Ci5oZXJtZXMgLnRwLXRhYi1jb250ZW50IAp7CiAgICBiYWNrZ3JvdW5kOnJnYig1NCw1NCw1NCk7IAogICAgcG9zaXRpb246YWJzb2x1dGU7CiAgICBwYWRkaW5nOjIwcHggMjBweCAyMHB4IDMwcHg7CiAgICBib3gtc2l6aW5nOmJvcmRlci1ib3g7CiAgICBjb2xvcjojZmZmOwogIGRpc3BsYXk6YmxvY2s7CiAgd2lkdGg6MTAwJTsKICBtaW4taGVpZ2h0OjQwJTsKICBib3R0b206MHB4OwogIGxlZnQ6LTEwcHg7CiAgfQouaGVybWVzIC50cC10YWItZGF0ZQogIHsKICBkaXNwbGF5OmJsb2NrOwogIGNvbG9yOiM4ODg7CiAgZm9udC13ZWlnaHQ6NjAwOwogIGZvbnQtc2l6ZToxMnB4OwogIG1hcmdpbi1ib3R0b206MTBweDsKICB9Ci5oZXJtZXMgLnRwLXRhYi10aXRsZSAKewogICAgZGlzcGxheTpibG9jazsJCiAgICBjb2xvcjojZmZmOwogICAgZm9udC1zaXplOjE2cHg7CiAgICBmb250LXdlaWdodDo4MDA7CiAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7CiAgIGxpbmUtaGVpZ2h0OjE5cHg7Cn0KCi5oZXJtZXMgLnRwLXRhYi5zZWxlY3RlZCAudHAtdGFiLXRpdGxlOmFmdGVyIHsKICAgIHdpZHRoOiAwcHg7CgloZWlnaHQ6IDBweDsKCWJvcmRlci1zdHlsZTogc29saWQ7Cglib3JkZXItd2lkdGg6IDMwcHggMCAzMHB4IDEwcHg7Cglib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHJnYig1NCw1NCw1NCk7Cgljb250ZW50OiIgIjsKICAgIHBvc2l0aW9uOmFic29sdXRlOwogICAgcmlnaHQ6LTlweDsKICAgIGJvdHRvbTo1MCU7CiAgICBtYXJnaW4tYm90dG9tOi0zMHB4Owp9Ci5oZXJtZXMgLnRwLXRhYi1tYXNrIHsKICAgICBwYWRkaW5nLXJpZ2h0OjEwcHggIWltcG9ydGFudDsKICAgICAgICAgIH0KCi8qIE1FRElBIFFVRVJJRVMgKi8KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkgewogIC5oZXJtZXMgLnRwLXRhYiAudHAtdGFiLXRpdGxlIHtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxNnB4O30KICAuaGVybWVzIC50cC10YWItZGF0ZSB7IGZvbnQtc2l6ZToxMXB4OyBsaW5lLWhlaWdodDoxM3B4O21hcmdpbi1ib3R0b206MTBweDt9CiAgLmhlcm1lcyAudHAtdGFiLWNvbnRlbnQgeyBwYWRkaW5nOjE1cHggMTVweCAxNXB4IDI1cHg7fQp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsKICAuaGVybWVzIC50cC10YWIgLnRwLXRhYi10aXRsZSB7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTRweDt9CiAgLmhlcm1lcyAudHAtdGFiLWRhdGUge2ZvbnQtc2l6ZToxMHB4OyBsaW5lLWhlaWdodDoxMnB4O21hcmdpbi1ib3R0b206NXB4O30KICAuaGVybWVzIC50cC10YWItY29udGVudCB7cGFkZGluZzoxMHB4IDEwcHggMTBweCAyMHB4O30KfQoKLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBSZXZvbHV0aW9uIFNsaWRlciA1LjAgTmF2aWdhdGluIFNraW4gU3R5bGUgIC0KCiBIRVNQRVJJREVOIFNLSU4KCmF1dGhvcjogIFRoZW1lUHVuY2gKZW1haWw6ICAgICAgaW5mb0B0aGVtZXB1bmNoLmNvbQp3ZWJzaXRlOiAgICBodHRwOi8vd3d3LnRoZW1lcHVuY2guY29tCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLyogQVJST1dTICovCi5oZXNwZXJpZGVuLnRwYXJyb3dzIHsKCWN1cnNvcjpwb2ludGVyOwoJYmFja2dyb3VuZDojMDAwOwoJYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNSk7Cgl3aWR0aDo0MHB4OwoJaGVpZ2h0OjQwcHg7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWRpc3BsYXk6YmxvY2s7Cgl6LWluZGV4OjEwMDA7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7Cn0KLmhlc3BlcmlkZW4udHBhcnJvd3M6aG92ZXIgewoJYmFja2dyb3VuZDojMDAwOwp9Ci5oZXNwZXJpZGVuLnRwYXJyb3dzOmJlZm9yZSB7Cglmb250LWZhbWlseTogInJldmljb25zIjsKCWZvbnQtc2l6ZToyMHB4OwoJY29sb3I6I2ZmZjsKCWRpc3BsYXk6YmxvY2s7CglsaW5lLWhlaWdodDogNDBweDsKCXRleHQtYWxpZ246IGNlbnRlcjsKfQouaGVzcGVyaWRlbi50cGFycm93cy50cC1sZWZ0YXJyb3c6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTgyYyI7CiAgICBtYXJnaW4tbGVmdDotM3B4Owp9Ci5oZXNwZXJpZGVuLnRwYXJyb3dzLnRwLXJpZ2h0YXJyb3c6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTgyZCI7CiAgICBtYXJnaW4tcmlnaHQ6LTNweDsKfQoKLyogQlVMTEVUUyAqLwouaGVzcGVyaWRlbi50cC1idWxsZXRzIHsKfQouaGVzcGVyaWRlbi50cC1idWxsZXRzOmJlZm9yZSB7Cgljb250ZW50OiIgIjsKCXBvc2l0aW9uOmFic29sdXRlOwoJd2lkdGg6MTAwJTsKCWhlaWdodDoxMDAlOwoJYmFja2dyb3VuZDp0cmFuc3BhcmVudDsKCXBhZGRpbmc6MTBweDsKCW1hcmdpbi1sZWZ0Oi0xMHB4O21hcmdpbi10b3A6LTEwcHg7Cglib3gtc2l6aW5nOmNvbnRlbnQtYm94OwogICBib3JkZXItcmFkaXVzOjhweDsKICAKfQouaGVzcGVyaWRlbiAudHAtYnVsbGV0IHsKCXdpZHRoOjEycHg7CgloZWlnaHQ6MTJweDsKCXBvc2l0aW9uOmFic29sdXRlOwoJYmFja2dyb3VuZDogIzk5OTk5OTsgLyogb2xkIGJyb3dzZXJzICovCiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICAjOTk5OTk5IDAlLCAjZTFlMWUxIDEwMCUpOyAvKiBmZjMuNisgKi8KICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUsIzk5OTk5OSksIAogICAgY29sb3Itc3RvcCgxMDAlLCNlMWUxZTEpKTsgLyogY2hyb21lLHNhZmFyaTQrICovCiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICAjOTk5OTk5IDAlLCNlMWUxZTEgMTAwJSk7IC8qIGNocm9tZTEwKyxzYWZhcmk1LjErICovCiAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAgIzk5OTk5OSAwJSwjZTFlMWUxIDEwMCUpOyAvKiBvcGVyYSAxMS4xMCsgKi8KICAgIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAgIzk5OTk5OSAwJSwjZTFlMWUxIDEwMCUpOyAvKiBpZTEwKyAqLwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgICM5OTk5OTkgMCUsI2UxZTFlMSAxMDAlKTsgLyogdzNjICovCiAgICBmaWx0ZXI6IHByb2dpZDpkeGltYWdldHJhbnNmb3JtLm1pY3Jvc29mdC5ncmFkaWVudCggCiAgICBzdGFydGNvbG9yc3RyPSIjOTk5OTk5IiwgZW5kY29sb3JzdHI9IiNlMWUxZTEiLGdyYWRpZW50dHlwZT0wICk7IC8qIGllNi05ICovCglib3JkZXI6M3B4IHNvbGlkICNlNWU1ZTU7Cglib3JkZXItcmFkaXVzOjUwJTsKCWN1cnNvcjogcG9pbnRlcjsKCWJveC1zaXppbmc6Y29udGVudC1ib3g7Cn0KLmhlc3BlcmlkZW4gLnRwLWJ1bGxldDpob3ZlciwKLmhlc3BlcmlkZW4gLnRwLWJ1bGxldC5zZWxlY3RlZCB7CgliYWNrZ3JvdW5kOiM2NjY7Cn0KLmhlc3BlcmlkZW4gLnRwLWJ1bGxldC1pbWFnZSB7Cn0KLmhlc3BlcmlkZW4gLnRwLWJ1bGxldC10aXRsZSB7Cn0KCgovKiBUSFVNQlMgKi8KLmhlc3BlcmlkZW4gLnRwLXRodW1iIHsKICBvcGFjaXR5OjE7CiAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogNjAwcHg7CiAgcGVyc3BlY3RpdmU6IDYwMHB4Owp9Ci5oZXNwZXJpZGVuIC50cC10aHVtYiAudHAtdGh1bWItdGl0bGUgewogICAgZm9udC1zaXplOjEycHg7CiAgICBwb3NpdGlvbjphYnNvbHV0ZTsKICAgIG1hcmdpbi10b3A6LTEwcHg7CiAgICBjb2xvcjojZmZmOwogICAgZGlzcGxheTpibG9jazsKICAgIHotaW5kZXg6MTAwMDA7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7CiAgICBwYWRkaW5nOjVweCAxMHB4OyAKICAgIGJvdHRvbTowcHg7CiAgICBsZWZ0OjBweDsKICAgIHdpZHRoOjEwMCU7CiAgYm94LXNpemluZzpib3JkZXItYm94OwogICAgdGV4dC1hbGlnbjpjZW50ZXI7CiAgICBvdmVyZmxvdzpoaWRkZW47CiAgICB3aGl0ZS1zcGFjZTpub3dyYXA7CiAgICB0cmFuc2l0aW9uOmFsbCAwLjNzOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzOwogICAgdHJhbnNmb3JtOnJvdGF0ZXgoOTBkZWcpIHRyYW5zbGF0ZXooMC4wMDFweCk7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOjUwJSAxMDAlOwogICAgLXdlYmtpdC10cmFuc2Zvcm06cm90YXRleCg5MGRlZykgdHJhbnNsYXRleigwLjAwMXB4KTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjo1MCUgMTAwJTsKICAgIG9wYWNpdHk6MDsKIH0KLmhlc3BlcmlkZW4gLnRwLXRodW1iOmhvdmVyIC50cC10aHVtYi10aXRsZSB7CiAgCSB0cmFuc2Zvcm06cm90YXRleCgwZGVnKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZXgoMGRlZyk7CiAgICBvcGFjaXR5OjE7Cn0KCi8qIFRBQlMgKi8KLmhlc3BlcmlkZW4gLnRwLXRhYiB7IAogIG9wYWNpdHk6MTsgICAgICAKICBwYWRkaW5nOjEwcHg7CiAgYm94LXNpemluZzpib3JkZXItYm94OwogIGZvbnQtZmFtaWx5OiAiUm9ib3RvIiwgc2Fucy1zZXJpZjsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTsKIH0KLmhlc3BlcmlkZW4gLnRwLXRhYi1pbWFnZSAKeyAKICB3aWR0aDo2MHB4OwogIGhlaWdodDo2MHB4OyBtYXgtaGVpZ2h0OjEwMCU7IG1heC13aWR0aDoxMDAlOwogIHBvc2l0aW9uOnJlbGF0aXZlOwogIGRpc3BsYXk6aW5saW5lLWJsb2NrOwogIGZsb2F0OmxlZnQ7Cgp9Ci5oZXNwZXJpZGVuIC50cC10YWItY29udGVudCAKewogICAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDApOyAKICAgIHBvc2l0aW9uOnJlbGF0aXZlOwogICAgcGFkZGluZzoxNXB4IDE1cHggMTVweCA4NXB4OwogbGVmdDowcHg7CiBvdmVyZmxvdzpoaWRkZW47CiBtYXJnaW4tdG9wOi0xNXB4OwogICAgYm94LXNpemluZzpib3JkZXItYm94OwogICAgY29sb3I6IzMzMzsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHdpZHRoOjEwMCU7CiAgICBoZWlnaHQ6MTAwJTsKIHBvc2l0aW9uOmFic29sdXRlOyB9Ci5oZXNwZXJpZGVuIC50cC10YWItZGF0ZQogIHsKICBkaXNwbGF5OmJsb2NrOwogIGNvbG9yOiAjYWFhOwogIGZvbnQtd2VpZ2h0OjUwMDsKICBmb250LXNpemU6MTJweDsKICBtYXJnaW4tYm90dG9tOjBweDsKICB9Ci5oZXNwZXJpZGVuIC50cC10YWItdGl0bGUgCnsKICAgIGRpc3BsYXk6YmxvY2s7CQogICAgdGV4dC1hbGlnbjpsZWZ0OwogICAgY29sb3I6IzMzMzsKICAgIGZvbnQtc2l6ZToxNHB4OwogICAgZm9udC13ZWlnaHQ6NTAwOwogICAgdGV4dC10cmFuc2Zvcm06bm9uZTsKICAgIGxpbmUtaGVpZ2h0OjE3cHg7Cn0KLmhlc3BlcmlkZW4gLnRwLXRhYjpob3ZlciwKLmhlc3BlcmlkZW4gLnRwLXRhYi5zZWxlY3RlZCB7CgliYWNrZ3JvdW5kOiNlZWU7IAp9CgouaGVzcGVyaWRlbiAudHAtdGFiLW1hc2sgewp9CgovKiBNRURJQSBRVUVSSUVTICovCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHsKCn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgewoKfQoKLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBSZXZvbHV0aW9uIFNsaWRlciA1LjAgTmF2aWdhdGluIFNraW4gU3R5bGUgIC0KCiBNRVRJUyBTS0lOCgphdXRob3I6ICBUaGVtZVB1bmNoCmVtYWlsOiAgICAgIGluZm9AdGhlbWVwdW5jaC5jb20Kd2Vic2l0ZTogICAgaHR0cDovL3d3dy50aGVtZXB1bmNoLmNvbQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi8qIEFSUk9XUyAqLwoubWV0aXMudHBhcnJvd3MgewogIGJhY2tncm91bmQ6I2ZmZjsKICBwYWRkaW5nOjEwcHg7CiAgdHJhbnNpdGlvbjphbGwgMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7CiAgd2lkdGg6NjBweDsKICBoZWlnaHQ6NjBweDsKICBib3gtc2l6aW5nOmJvcmRlci1ib3g7CiB9CiAKIC5tZXRpcy50cGFycm93czpob3ZlciB7CiAgIGJhY2tncm91bmQ6I2ZmZjsKICAgYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuNzUpOwogfQogCiAubWV0aXMudHBhcnJvd3M6YmVmb3JlIHsKICBjb2xvcjojMDAwOyAgCiAgIHRyYW5zaXRpb246YWxsIDAuM3M7CiAgLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzOwogfQogCiAubWV0aXMudHBhcnJvd3M6aG92ZXI6YmVmb3JlIHsKICAgdHJhbnNmb3JtOnNjYWxlKDEuNSk7CiAgfQogCgovKiBCVUxMRVRTICovCi5tZXRpcyAudHAtYnVsbGV0IHsgCiAgICBvcGFjaXR5OjE7CiAgICB3aWR0aDo1MHB4OwogICAgaGVpZ2h0OjUwcHg7ICAgIAogICAgcGFkZGluZzozcHg7CiAgICBiYWNrZ3JvdW5kOiMwMDA7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4yNSk7CiAgICBtYXJnaW46MHB4OwogICAgYm94LXNpemluZzpib3JkZXItYm94OwogICAgdHJhbnNpdGlvbjphbGwgMC4zczsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zczsKICAgIGJvcmRlci1yYWRpdXM6NTAlOwogIH0KCi5tZXRpcyAudHAtYnVsbGV0LWltYWdlIHsKCiAgIGJvcmRlci1yYWRpdXM6NTAlOwogICBkaXNwbGF5OmJsb2NrOwogICBib3gtc2l6aW5nOmJvcmRlci1ib3g7CiAgIHBvc2l0aW9uOnJlbGF0aXZlOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCA1cHggNXB4IDEwcHggMHB4IHJnYmEoMCwwLDAsMC4yNSk7CiAgLW1vei1ib3gtc2hhZG93OiBpbnNldCA1cHggNXB4IDEwcHggMHB4IHJnYmEoMCwwLDAsMC4yNSk7CiAgYm94LXNoYWRvdzogaW5zZXQgNXB4IDVweCAxMHB4IDBweCByZ2JhKDAsMCwwLDAuMjUpOwogIHdpZHRoOjQ0cHg7CiAgaGVpZ2h0OjQ0cHg7CiAgYmFja2dyb3VuZC1zaXplOmNvdmVyOwogIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjsKIH0gIAoubWV0aXMgLnRwLWJ1bGxldC10aXRsZSB7IAogICAgIHBvc2l0aW9uOmFic29sdXRlOyAKCSBib3R0b206NjVweDsKICAgICBkaXNwbGF5OmlubGluZS1ibG9jazsKICAgICBsZWZ0OjUwJTsKICAgICBiYWNrZ3JvdW5kOiMwMDA7CiAgICAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNzUpOwogICAgIGNvbG9yOiNmZmY7CiAgICAgcGFkZGluZzoxMHB4IDMwcHg7CiAgICAgYm9yZGVyLXJhZGl1czo0cHg7CgkgLXdlYmtpdC1ib3JkZXItcmFkaXVzOjRweDsKICAgICBvcGFjaXR5OjA7CiAgICAgIHRyYW5zaXRpb246YWxsIDAuM3M7CiAgICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMC4wMDFweCkgdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDE0cHgpOwogICAgdHJhbnNmb3JtLW9yaWdpbjo1MCUgMTAwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDAuMDAxcHgpIHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgxNHB4KTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjo1MCUgMTAwJTsKICAgIG9wYWNpdHk6MDsKICAgIHdoaXRlLXNwYWNlOm5vd3JhcDsKIH0KCi5tZXRpcyAudHAtYnVsbGV0OmhvdmVyIC50cC1idWxsZXQtdGl0bGUgewogIAkgdHJhbnNmb3JtOnJvdGF0ZVgoMGRlZykgdHJhbnNsYXRlWCgtNTAlKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZVgoMGRlZykgdHJhbnNsYXRlWCgtNTAlKTsKICAgIG9wYWNpdHk6MTsKfQoKLm1ldGlzIC50cC1idWxsZXQuc2VsZWN0ZWQsCi5tZXRpcyAudHAtYnVsbGV0OmhvdmVyICB7CiAgCiAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLCByZ2JhKDExOSwxMTksMTE5LDEpIDEwMCUpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCByZ2JhKDI1NSwyNTUsMjU1LDEpKSwgY29sb3Itc3RvcCgxMDAlLCByZ2JhKDExOSwxMTksMTE5LDEpKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLCByZ2JhKDExOSwxMTksMTE5LDEpIDEwMCUpOwogIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LDI1NSwyNTUsMSkgMCUsIHJnYmEoMTE5LDExOSwxMTksMSkgMTAwJSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LDI1NSwyNTUsMSkgMCUsIHJnYmEoMTE5LDExOSwxMTksMSkgMTAwJSk7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSwgcmdiYSgxMTksMTE5LDExOSwxKSAxMDAlKTsKICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0iI2ZmZmZmZiIsIGVuZENvbG9yc3RyPSIjNzc3Nzc3IiwgR3JhZGllbnRUeXBlPTAgKTsKIAogICAgICB9Ci5tZXRpcyAudHAtYnVsbGV0LXRpdGxlOmFmdGVyIHsKICAgICAgICBjb250ZW50OiIgIjsKICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTsKICAgICAgICBsZWZ0OjUwJTsKICAgICAgICBtYXJnaW4tbGVmdDotOHB4OwogICAgICAgIHdpZHRoOiAwOwoJCWhlaWdodDogMDsKCQlib3JkZXItc3R5bGU6IHNvbGlkOwoJCWJvcmRlci13aWR0aDogOHB4IDhweCAwIDhweDsKCQlib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsMC43NSkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm90dG9tOi04cHg7CiAgIH0KCi5tZXRpcyAudHAtdGFiLW51bWJlciB7CiAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgZm9udC1zaXplOiA0MHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgZm9udC1mYW1pbHk6ICJQbGF5ZmFpciBEaXNwbGF5IjsKICAgICAgICB3aWR0aDogNTBweDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDE3cHg7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIGZsb2F0OiBsZWZ0OwogICAgfQogICAgLm1ldGlzIC50cC10YWItbWFzayB7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4OwogICAgICAgIGxlZnQ6IDBweDsKICAgICAgICBtYXgtd2lkdGg6IDkwcHggIWltcG9ydGFudDsKICAgICAgICB0cmFuc2l0aW9uOiAwLjRzIHBhZGRpbmctbGVmdCwgMC40cyBsZWZ0LCAwLjRzIG1heC13aWR0aDsKICAgIH0KICAgIC5tZXRpczpob3ZlciAudHAtdGFiLW1hc2sgewogICAgICAgIHBhZGRpbmctbGVmdDogMHB4OwogICAgICAgIGxlZnQ6IDUwcHg7CiAgICAgICAgbWF4LXdpZHRoOiA1MDBweCAhaW1wb3J0YW50OwogICAgfQogICAgLm1ldGlzIC50cC10YWItZGl2aWRlciB7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgaGVpZ2h0OiAzMHB4OwogICAgICAgIHdpZHRoOiAxcHg7CiAgICAgICAgbWFyZ2luLXRvcDogNXB4OwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBmbG9hdDogbGVmdDsKICAgIH0KICAgIC5tZXRpcyAudHAtdGFiLXRpdGxlIHsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBmb250LWZhbWlseTogIlBsYXlmYWlyIERpc3BsYXkiOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBwYWRkaW5nLXRvcDogMTBweDsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7CiAgICAgICAgdHJhbnNpdGlvbjogMC40cyBhbGw7CiAgICB9CiAgICAubWV0aXMgLnRwLXRhYi10aXRsZS1tYXNrIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBsZWZ0OiA2N3B4OwogICAgfQogICAgLm1ldGlzOmhvdmVyIC50cC10YWItdGl0bGUgewogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgIH0KICAgIC5tZXRpcyAudHAtdGFiIHsKICAgICAgICBvcGFjaXR5OiAwLjE1OwogICAgICAgIHRyYW5zaXRpb246IDAuNHMgYWxsOwogICAgfQogICAgLm1ldGlzIC50cC10YWI6aG92ZXIsCiAgICAubWV0aXMgLnRwLXRhYi5zZWxlY3RlZCB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgIH0KICAgIC5tZXRpcyAudHAtdGFiLnNlbGVjdGVkIC50cC10YWItZGl2aWRlciB7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NkYjA4MzsKICAgIH0KICAgIC5tZXRpcy50cC10YWJzIHsKICAgICAgICBtYXgtd2lkdGg6IDExOHB4ICFpbXBvcnRhbnQ7CiAgICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4OwogICAgfQogICAgLm1ldGlzLnRwLXRhYnM6YmVmb3JlIHsKICAgICAgICBjb250ZW50OiAiICI7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHdpZHRoOiA4OHB4OwogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xNSk7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEwKTsKICAgICAgICBsZWZ0OiAwcHg7CiAgICAgICAgdG9wOiAwcHg7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRyYW5zaXRpb246IDAuNHMgYWxsOwogICAgfQogICAgLm1ldGlzLnRwLXRhYnM6aG92ZXI6YmVmb3JlIHsKICAgICAgICB3aWR0aDogMTE4cHg7CiAgICB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogNDk5cHgpIHsKICAgICAgICAubWV0aXMudHAtdGFiczpiZWZvcmUgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNzUpOwogICAgICAgIH0KICAgIH0KCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0gUmV2b2x1dGlvbiBTbGlkZXIgNS4wIE5hdmlnYXRpbiBTa2luIFN0eWxlICAtCgogUEVSU0VQSE9ORSBTS0lOCgphdXRob3I6ICBUaGVtZVB1bmNoCmVtYWlsOiAgICAgIGluZm9AdGhlbWVwdW5jaC5jb20Kd2Vic2l0ZTogICAgaHR0cDovL3d3dy50aGVtZXB1bmNoLmNvbQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi8qIEFSUk9XUyAqLwoucGVyc2VwaG9uZS50cGFycm93cyB7CgljdXJzb3I6cG9pbnRlcjsKCWJhY2tncm91bmQ6I2FhYTsKCWJhY2tncm91bmQ6cmdiYSgyMDAsMjAwLDIwMCwwLjUpOwoJd2lkdGg6NDBweDsKCWhlaWdodDo0MHB4OwoJcG9zaXRpb246YWJzb2x1dGU7CglkaXNwbGF5OmJsb2NrOwoJei1pbmRleDoxMDA7CiAgYm9yZGVyOjFweCBzb2xpZCAjZjVmNWY1Owp9Ci5wZXJzZXBob25lLnRwYXJyb3dzOmhvdmVyIHsKCWJhY2tncm91bmQ6IzMzMzsKfQoucGVyc2VwaG9uZS50cGFycm93czpiZWZvcmUgewoJZm9udC1mYW1pbHk6ICJyZXZpY29ucyI7Cglmb250LXNpemU6MTVweDsKCWNvbG9yOiNmZmY7CglkaXNwbGF5OmJsb2NrOwoJbGluZS1oZWlnaHQ6IDQwcHg7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KLnBlcnNlcGhvbmUudHBhcnJvd3MudHAtbGVmdGFycm93OmJlZm9yZSB7Cgljb250ZW50OiAiXGU4MjQiOwp9Ci5wZXJzZXBob25lLnRwYXJyb3dzLnRwLXJpZ2h0YXJyb3c6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTgyNSI7Cn0KCgoKLyogQlVMTEVUUyAqLwoucGVyc2VwaG9uZS50cC1idWxsZXRzIHsKfQoucGVyc2VwaG9uZS50cC1idWxsZXRzOmJlZm9yZSB7Cgljb250ZW50OiIgIjsKCXBvc2l0aW9uOmFic29sdXRlOwoJd2lkdGg6MTAwJTsKCWhlaWdodDoxMDAlOwoJYmFja2dyb3VuZDojdHJhbnNwYXJlbnQ7CglwYWRkaW5nOjEwcHg7CgltYXJnaW4tbGVmdDotMTBweDttYXJnaW4tdG9wOi0xMHB4OwoJYm94LXNpemluZzpjb250ZW50LWJveDsKfQoucGVyc2VwaG9uZSAudHAtYnVsbGV0IHsKCXdpZHRoOjEycHg7CgloZWlnaHQ6MTJweDsKCXBvc2l0aW9uOmFic29sdXRlOwoJYmFja2dyb3VuZDojYWFhOwoJYm9yZGVyOjFweCBzb2xpZCAjZTVlNWU1OwkKCWN1cnNvcjogcG9pbnRlcjsKCWJveC1zaXppbmc6Y29udGVudC1ib3g7Cn0KLnBlcnNlcGhvbmUgLnRwLWJ1bGxldDpob3ZlciwKLnBlcnNlcGhvbmUgLnRwLWJ1bGxldC5zZWxlY3RlZCB7CgliYWNrZ3JvdW5kOiMyMjI7Cn0KLnBlcnNlcGhvbmUgLnRwLWJ1bGxldC1pbWFnZSB7Cn0KLnBlcnNlcGhvbmUgLnRwLWJ1bGxldC10aXRsZSB7Cn0KCgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotIFJldm9sdXRpb24gU2xpZGVyIDUuMCBOYXZpZ2F0aW4gU2tpbiBTdHlsZSAgLQoKIFVSQU5VUyBTS0lOCgphdXRob3I6ICBUaGVtZVB1bmNoCmVtYWlsOiAgICAgIGluZm9AdGhlbWVwdW5jaC5jb20Kd2Vic2l0ZTogICAgaHR0cDovL3d3dy50aGVtZXB1bmNoLmNvbQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi8qIEFSUk9XUyAqLwoudXJhbnVzLnRwYXJyb3dzIHsKICB3aWR0aDo1MHB4OwogIGhlaWdodDo1MHB4OwogIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7CiB9CiAudXJhbnVzLnRwYXJyb3dzOmJlZm9yZSB7CiB3aWR0aDo1MHB4OwogaGVpZ2h0OjUwcHg7CiBsaW5lLWhlaWdodDo1MHB4OwogZm9udC1zaXplOjQwcHg7CiB0cmFuc2l0aW9uOmFsbCAwLjNzOwotd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7CiB9CiAKICAudXJhbnVzLnRwYXJyb3dzOmhvdmVyOmJlZm9yZSB7CiAgICBvcGFjaXR5OjAuNzU7CiAgfQoKLyogQlVMTEVUUyAqLwoudXJhbnVzIC50cC1idWxsZXR7Cglib3JkZXItcmFkaXVzOiA1MCU7CiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3MgZWFzZTsKICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3MgZWFzZTsKICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50Owp9Ci51cmFudXMgLnRwLWJ1bGxldC5zZWxlY3RlZCwKLnVyYW51cyAudHAtYnVsbGV0OmhvdmVyIHsKICBib3gtc2hhZG93OiAwIDAgMCAycHggI0ZGRjsKICBib3JkZXI6bm9uZTsKICBib3JkZXItcmFkaXVzOiA1MCU7CgogICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50Owp9CgoKCi51cmFudXMgLnRwLWJ1bGxldC1pbm5lciB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UsIC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZTsKICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZSwgdHJhbnNmb3JtIDAuM3MgZWFzZTsKICB0b3A6IDA7CiAgbGVmdDogMDsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgb3V0bGluZTogbm9uZTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7CiAgdGV4dC1pbmRlbnQ6IC05OTllbTsKICBjdXJzb3I6IHBvaW50ZXI7CiAgcG9zaXRpb246IGFic29sdXRlOwp9CgoudXJhbnVzIC50cC1idWxsZXQuc2VsZWN0ZWQgLnRwLWJ1bGxldC1pbm5lciwKLnVyYW51cyAudHAtYnVsbGV0OmhvdmVyIC50cC1idWxsZXQtaW5uZXJ7CiB0cmFuc2Zvcm06IHNjYWxlKDAuNCk7CiAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC40KTsKIGJhY2tncm91bmQtY29sb3I6I2ZmZjsKfQoKLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBSZXZvbHV0aW9uIFNsaWRlciA1LjAgTmF2aWdhdGluIFNraW4gU3R5bGUgIC0KCiBaRVVTIFNLSU4KCmF1dGhvcjogIFRoZW1lUHVuY2gKZW1haWw6ICAgICAgaW5mb0B0aGVtZXB1bmNoLmNvbQp3ZWJzaXRlOiAgICBodHRwOi8vd3d3LnRoZW1lcHVuY2guY29tCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLyogQVJST1dTICovCi56ZXVzLnRwYXJyb3dzIHsKICBjdXJzb3I6cG9pbnRlcjsKICBtaW4td2lkdGg6NzBweDsKICBtaW4taGVpZ2h0OjcwcHg7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgZGlzcGxheTpibG9jazsKICB6LWluZGV4OjEwMDsKICBib3JkZXItcmFkaXVzOjM1cHg7ICAgCiAgb3ZlcmZsb3c6aGlkZGVuOwogIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEwKTsKfQoKLnpldXMudHBhcnJvd3M6YmVmb3JlIHsKICBmb250LWZhbWlseTogInJldmljb25zIjsKICBmb250LXNpemU6MjBweDsKICBjb2xvcjojZmZmOwogIGRpc3BsYXk6YmxvY2s7CiAgbGluZS1oZWlnaHQ6IDcwcHg7CiAgdGV4dC1hbGlnbjogY2VudGVyOyAgICAKICB6LWluZGV4OjI7CiAgcG9zaXRpb246cmVsYXRpdmU7Cn0KLnpldXMudHBhcnJvd3MudHAtbGVmdGFycm93OmJlZm9yZSB7CiAgY29udGVudDogIlxlODI0IjsKfQouemV1cy50cGFycm93cy50cC1yaWdodGFycm93OmJlZm9yZSB7CiAgY29udGVudDogIlxlODI1IjsKfQoKLnpldXMgLnRwLXRpdGxlLXdyYXAgewogIGJhY2tncm91bmQ6IzAwMDsKICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC41KTsKICB3aWR0aDoxMDAlOwogIGhlaWdodDoxMDAlOwogIHRvcDowcHg7CiAgbGVmdDowcHg7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgb3BhY2l0eTowOwogIHRyYW5zZm9ybTpzY2FsZSgwKTsKICAtd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwKTsKICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7CiAgLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzOwogIC1tb3otdHJhbnNpdGlvbjphbGwgMC4zczsKICAgYm9yZGVyLXJhZGl1czo1MCU7CiB9Ci56ZXVzIC50cC1hcnItaW1naG9sZGVyIHsKICB3aWR0aDoxMDAlOwogIGhlaWdodDoxMDAlOwogIHBvc2l0aW9uOmFic29sdXRlOwogIHRvcDowcHg7CiAgbGVmdDowcHg7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyOwogIGJhY2tncm91bmQtc2l6ZTpjb3ZlcjsKICBib3JkZXItcmFkaXVzOjUwJTsKICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7CiAgLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7CiAgIHRyYW5zaXRpb246IGFsbCAwLjNzOwogIC13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zczsKICAtbW96LXRyYW5zaXRpb246YWxsIDAuM3M7CgogfQouemV1cy50cC1yaWdodGFycm93IC50cC1hcnItaW1naG9sZGVyIHsKICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpOwogIC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7CiAgICAgIH0KLnpldXMudHBhcnJvd3M6aG92ZXIgLnRwLWFyci1pbWdob2xkZXIgewogIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDApOwogIC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7CiAgb3BhY2l0eToxOwp9CiAgICAgIAouemV1cy50cGFycm93czpob3ZlciAudHAtdGl0bGUtd3JhcCB7CiAgdHJhbnNmb3JtOnNjYWxlKDEpOwogIC13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpOwogIG9wYWNpdHk6MTsKfQogCgovKiBCVUxMRVRTICovCi56ZXVzIC50cC1idWxsZXQgewogICAgIGJveC1zaXppbmc6Y29udGVudC1ib3g7IC13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDsgYm9yZGVyLXJhZGl1czo1MCU7CiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7CiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7CiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlOwoJICB3aWR0aDoxM3B4O2hlaWdodDoxM3B4OwoJICBib3JkZXI6MnB4IHNvbGlkICNmZmY7CiB9Ci56ZXVzIC50cC1idWxsZXQ6YWZ0ZXIgewogIGNvbnRlbnQ6ICIiOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgbGVmdDogMDsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsKICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7CiAgdHJhbnNmb3JtOiBzY2FsZSgwKTsKICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7CiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsKICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZTsKICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlOwp9Ci56ZXVzIC50cC1idWxsZXQ6aG92ZXI6YWZ0ZXIsCi56ZXVzIC50cC1idWxsZXQuc2VsZWN0ZWQ6YWZ0ZXJ7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4yKTsKICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7Cn0KICAKIC56ZXVzIC50cC1idWxsZXQtaW1hZ2UsCiAuemV1cyAudHAtYnVsbGV0LWltYWdlb3ZlcmxheXsKICAgICAgICB3aWR0aDoxMzVweDsKICAgICAgICBoZWlnaHQ6NjBweDsKICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTsKICAgICAgICBiYWNrZ3JvdW5kOiMwMDA7CiAgICAgICAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNSk7CiAgICAgICAgYm90dG9tOjI1cHg7CiAgICAgICAgbGVmdDo1MCU7CiAgICAgICAgbWFyZ2luLWxlZnQ6LTY1cHg7CiAgICAgICAgYm94LXNpemluZzpib3JkZXItYm94OwogICAgICAgIGJhY2tncm91bmQtc2l6ZTpjb3ZlcjsKICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7CiAgICAgICAgdmlzaWJpbGl0eTpoaWRkZW47CiAgICAgICAgb3BhY2l0eTowOwogICAgICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgCiAgICAgIAliYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOwoJCXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7CiAgCQktd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgCQl0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogICAgICAgIGJvcmRlci1yYWRpdXM6NHB4OwoKfQogICAgICAgICAgCgouemV1cyAudHAtYnVsbGV0LXRpdGxlLAouemV1cyAudHAtYnVsbGV0LWltYWdlb3ZlcmxheSB7CiAgICAgICAgei1pbmRleDoyOwogICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTsKCSAgCXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7Cn0gICAgIAouemV1cyAudHAtYnVsbGV0LXRpdGxlIHsgCiAgICAgICAgY29sb3I6I2ZmZjsKICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjsKICAgICAgICBsaW5lLWhlaWdodDoxNXB4OwogICAgICAgIGZvbnQtc2l6ZToxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OjYwMDsgIAogICAgICAgIHotaW5kZXg6MzsKICAgICAgICAgdmlzaWJpbGl0eTpoaWRkZW47CiAgICAgICAgb3BhY2l0eTowOwogICAgICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgCiAgICAgIAliYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOwoJCXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7CiAgCQktd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgCQl0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogICAgICAgIHBvc2l0aW9uOmFic29sdXRlOwogICAgICAgIGJvdHRvbTo0NXB4OwogICAgICAgIHdpZHRoOjEzNXB4OwogICAgCXZlcnRpY2FsLWFsaWduOm1pZGRsZTsKICAgICAgICBsZWZ0Oi01N3B4Owp9CiAgICAgIAouemV1cyAudHAtYnVsbGV0OmhvdmVyIC50cC1idWxsZXQtdGl0bGUsCi56ZXVzIC50cC1idWxsZXQ6aG92ZXIgLnRwLWJ1bGxldC1pbWFnZSwKLnpldXMgLnRwLWJ1bGxldDpob3ZlciAudHAtYnVsbGV0LWltYWdlb3ZlcmxheXsKICAgICAgb3BhY2l0eToxOwogICAgICB2aXNpYmlsaXR5OnZpc2libGU7CgkgIC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMHB4KTsKICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMHB4KTsgICAgICAgICAKICAgIH0KCi8qIFRIVU1CUyAqLwouemV1cyAudHAtdGh1bWIgewpvcGFjaXR5OjEKfQoKLnpldXMgLnRwLXRodW1iLW92ZXIgewogIGJhY2tncm91bmQ6IzAwMDsKICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4yNSk7CiAgd2lkdGg6MTAwJTsKICBoZWlnaHQ6MTAwJTsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICB0b3A6MHB4OwogIGxlZnQ6MHB4OwogIHotaW5kZXg6MTsKICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7CiAgdHJhbnNpdGlvbjphbGwgMC4zczsKfQoKLnpldXMgLnRwLXRodW1iLW1vcmU6YmVmb3JlIHsKICBmb250LWZhbWlseTogInJldmljb25zIjsKICBmb250LXNpemU6MTJweDsKICBjb2xvcjojYWFhOwogIGNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43NSk7CiAgZGlzcGxheTpibG9jazsKICBsaW5lLWhlaWdodDogMTJweDsKICB0ZXh0LWFsaWduOiBsZWZ0OyAgICAKICB6LWluZGV4OjI7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgdG9wOjIwcHg7CiAgcmlnaHQ6MjBweDsKICB6LWluZGV4OjI7Cn0KLnpldXMgLnRwLXRodW1iLW1vcmU6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MjUiOwp9CgouemV1cyAudHAtdGh1bWItdGl0bGUgewogIGZvbnQtZmFtaWx5OiJSYWxld2F5IjsKICBsZXR0ZXItc3BhY2luZzoxcHg7CiAgZm9udC1zaXplOjEycHg7CiAgY29sb3I6I2ZmZjsKICBkaXNwbGF5OmJsb2NrOwogIGxpbmUtaGVpZ2h0OiAxNXB4OwogIHRleHQtYWxpZ246IGxlZnQ7ICAgIAogIHotaW5kZXg6MjsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICB0b3A6MHB4OwogIGxlZnQ6MHB4OwogIHotaW5kZXg6MjsKICBwYWRkaW5nOjIwcHggMzVweCAyMHB4IDIwcHg7CiAgd2lkdGg6MTAwJTsKICBoZWlnaHQ6MTAwJTsKICBib3gtc2l6aW5nOmJvcmRlci1ib3g7CiAgdHJhbnNpdGlvbjphbGwgMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7CiAgZm9udC13ZWlnaHQ6NTAwOwp9CgouemV1cyAudHAtdGh1bWIuc2VsZWN0ZWQgLnRwLXRodW1iLW1vcmU6YmVmb3JlLAouemV1cyAudHAtdGh1bWI6aG92ZXIgLnRwLXRodW1iLW1vcmU6YmVmb3JlIHsKIGNvbG9yOiNhYWE7Cgp9CgouemV1cyAudHAtdGh1bWIuc2VsZWN0ZWQgLnRwLXRodW1iLW92ZXIsCi56ZXVzIC50cC10aHVtYjpob3ZlciAudHAtdGh1bWItb3ZlciB7CiBiYWNrZ3JvdW5kOiMwMDA7Cn0KLnpldXMgLnRwLXRodW1iLnNlbGVjdGVkIC50cC10aHVtYi10aXRsZSwKLnpldXMgLnRwLXRodW1iOmhvdmVyIC50cC10aHVtYi10aXRsZSB7CiAgY29sb3I6I2ZmZjsKCn0KCgovKiBUQUJTICovCi56ZXVzIC50cC10YWIgeyAKICBvcGFjaXR5OjE7ICAgICAgCiAgYm94LXNpemluZzpib3JkZXItYm94Owp9CgouemV1cyAudHAtdGFiLXRpdGxlIHsgCmRpc3BsYXk6IGJsb2NrOwp0ZXh0LWFsaWduOiBjZW50ZXI7CmJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4yNSk7CmZvbnQtZmFtaWx5OiAiUm9ib3RvIFNsYWIiLCBzZXJpZjsgCmZvbnQtd2VpZ2h0OiA3MDA7IApmb250LXNpemU6IDEzcHg7IApsaW5lLWhlaWdodDogMTNweDsKY29sb3I6ICNmZmY7IApwYWRkaW5nOiA5cHggMTBweDsgfQoKLnpldXMgLnRwLXRhYjpob3ZlciAudHAtdGFiLXRpdGxlLAouemV1cyAudHAtdGFiLnNlbGVjdGVkIC50cC10YWItdGl0bGUgewogY29sb3I6ICMwMDA7CiAgYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDEpOyAKfQoKCgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotIFJldm9sdXRpb24gU2xpZGVyIDUuMCBOYXZpZ2F0aW4gU2tpbiBTdHlsZSAgLQoKIFpFVVMgU0tJTgoKYXV0aG9yOiAgVGhlbWVQdW5jaAplbWFpbDogICAgICBpbmZvQHRoZW1lcHVuY2guY29tCndlYnNpdGU6ICAgIGh0dHA6Ly93d3cudGhlbWVwdW5jaC5jb20KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoKCi5wb3N0LXRhYnMgLnRwLXRodW1iIHsKb3BhY2l0eToxCn0KCi5wb3N0LXRhYnMgLnRwLXRodW1iLW92ZXIgewogIGJhY2tncm91bmQ6IzI1MjUyNTsKICB3aWR0aDoxMDAlOwogIGhlaWdodDoxMDAlOwogIHBvc2l0aW9uOmFic29sdXRlOwogIHRvcDowcHg7CiAgbGVmdDowcHg7CiAgei1pbmRleDoxOwogIC13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zczsKICB0cmFuc2l0aW9uOmFsbCAwLjNzOwp9CgoucG9zdC10YWJzIC50cC10aHVtYi1tb3JlOmJlZm9yZSB7CiAgZm9udC1mYW1pbHk6ICJyZXZpY29ucyI7CiAgZm9udC1zaXplOjEycHg7CiAgY29sb3I6I2FhYTsKICBjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNzUpOwogIGRpc3BsYXk6YmxvY2s7CiAgbGluZS1oZWlnaHQ6IDEycHg7CiAgdGV4dC1hbGlnbjogbGVmdDsgICAgCiAgei1pbmRleDoyOwogIHBvc2l0aW9uOmFic29sdXRlOwogIHRvcDoxNXB4OwogIHJpZ2h0OjE1cHg7CiAgei1pbmRleDoyOwp9Ci5wb3N0LXRhYnMgLnRwLXRodW1iLW1vcmU6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MjUiOwp9CgoucG9zdC10YWJzIC50cC10aHVtYi10aXRsZSB7CiAgZm9udC1mYW1pbHk6InJhbGV3YXkiOwogIGxldHRlci1zcGFjaW5nOjFweDsKICBmb250LXNpemU6MTJweDsKICBjb2xvcjojZmZmOwogIGRpc3BsYXk6YmxvY2s7CiAgbGluZS1oZWlnaHQ6IDE1cHg7CiAgdGV4dC1hbGlnbjogbGVmdDsgICAgCiAgei1pbmRleDoyOwogIHBvc2l0aW9uOmFic29sdXRlOwogIHRvcDowcHg7CiAgbGVmdDowcHg7CiAgei1pbmRleDoyOwogIHBhZGRpbmc6MTVweCAzMHB4IDE1cHggMTVweDsKICB3aWR0aDoxMDAlOwogIGhlaWdodDoxMDAlOwogIGJveC1zaXppbmc6Ym9yZGVyLWJveDsKICB0cmFuc2l0aW9uOmFsbCAwLjNzOwogIC13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zczsKICBmb250LXdlaWdodDo1MDA7Cn0KCi5wb3N0LXRhYnMgLnRwLXRodW1iLnNlbGVjdGVkIC50cC10aHVtYi1tb3JlOmJlZm9yZSwKLnBvc3QtdGFicyAudHAtdGh1bWI6aG92ZXIgLnRwLXRodW1iLW1vcmU6YmVmb3JlIHsKIGNvbG9yOiNhYWE7Cgp9CgoucG9zdC10YWJzIC50cC10aHVtYi5zZWxlY3RlZCAudHAtdGh1bWItb3ZlciwKLnBvc3QtdGFicyAudHAtdGh1bWI6aG92ZXIgLnRwLXRodW1iLW92ZXIgewogYmFja2dyb3VuZDojZmZmOwp9Ci5wb3N0LXRhYnMgLnRwLXRodW1iLnNlbGVjdGVkIC50cC10aHVtYi10aXRsZSwKLnBvc3QtdGFicyAudHAtdGh1bWI6aG92ZXIgLnRwLXRodW1iLXRpdGxlIHsKICBjb2xvcjojMDAwOwoKfQo="}},"time_used":49,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":31,"receive":18,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"static.cryptohopper.com/widgets/assets/public/img/rss.png","fqdn":"static.cryptohopper.com","domain":"cryptohopper.com","tld":"com"},"ip":{"addr":"172.66.153.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:52.782Z","timestamp":1785123232782,"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":"cryptohopper.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 30 May 2026 04:15:50 GMT","end":"Fri, 28 Aug 2026 05:15:20 GMT"},"fingerprint":{"sha1":"76:C3:06:CF:AB:6D:33:4E:AE:DF:C4:54:C2:1D:03:D4:CF:1B:9C:A3","sha256":"10:12:9C:D7:A2:4D:11:94:F2:85:64:80:13:42:3F:4D:AF:06:BA:15:05:A8:C2:4D:43:D3:AB:5A:DE:02:6E:BA"}}},"request":{"raw":"GET /widgets/assets/public/img/rss.png HTTP/1.1\r\nHost: static.cryptohopper.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\nReferer: https://static.cryptohopper.com/widgets/assets/public/css/style.css\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nCookie: widgets_csrf_cookie_name=c05588fb9c82dab23afba686b9a973b9; ci_session=u7fi01s2m2eddk9fhpvgl0etidffdv1p\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/3 200 \r\ncontent-type: image/png\r\nserver-timing: cfExtPri\r\ndate: Mon, 27 Jul 2026 03:33:52 GMT\r\nlast-modified: Wed, 12 Aug 2020 10:33:33 GMT\r\netag: \"da8ee316f8df535c07500fadda0c55de\"\r\naccept-ranges: bytes\r\nserver: cloudflare\r\nx-cache: Miss from cloudfront\r\nvia: 1.1 c4c5dabdc780c35f0408131822b3a96a.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN53-P3\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-amz-cf-id: beozXCczvWj19HhYGR2WTnf-sXg70P4Z7CEuj7un6X2f3R66GgRheQ==\r\nx-xss-protection: 1; mode=block\r\nx-frame-options: SAMEORIGIN\r\nreferrer-policy: strict-origin-when-cross-origin\r\ncontent-security-policy: default-src 'self'; script-src 'self'; frame-ancestors 'none';\r\nx-content-type-options: nosniff\r\nstrict-transport-security: max-age=31536000\r\nvary: Origin\r\npriority: u=4,i\r\nage: 5959\r\ncache-control: max-age=14400\r\ncf-cache-status: HIT\r\ncf-ray: a21895ccec965684-OSL\r\ncontent-length: 9365\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":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"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":9365,"size_decoded":10249,"mime_type":"image/png","magic":"PNG image data, 150 x 150, 8-bit/color RGBA, non-interlaced","md5":"da8ee316f8df535c07500fadda0c55de","sha1":"f3f951d867d0e9049aa5f788adb7c33dba3d1417","sha256":"6c7ce327c24b8a4b6b3768b0f7d2d18405d5a623141152a6943bcb483c8f5c44","sha512":"6b897d9e0d1b3549b8f6f6631735603cbb3ea31a2edc68e76a5383664d45796422f2321087340ba06869f28ff467323ce7e93ee265a7fbed4a20bb07481afcdf","ssdeep":"192:xx3ftCwQR6qqzszkHBHn687xPVE4CX7MkqRXKHdU5:xxYwQRPqzJ5i484F9oO","tlshash":"7012bf47b3ab41f2ae56c9405430bed6bcd29633fbc37502a009d286e84c69ac4ed533","first_seen":"2025-09-23T12:55:48.493736Z","last_seen":"2026-07-27T05:58:06.542217Z","times_seen":46,"resource_available":false,"data":"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"}},"time_used":11,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":11,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/images/resource/services-3.jpg","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.649Z","timestamp":1785123231649,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /images/resource/services-3.jpg HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Wed, 22 Apr 2026 21:44:12 GMT\r\naccept-ranges: bytes\r\ncontent-length: 21106\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":21106,"size_decoded":21373,"mime_type":"image/jpeg","magic":"JPEG image data, Exif standard: [TIFF image data, little-endian, direntries=0], baseline, precision 8, 270x370, components 3","md5":"ea5ddd2847065908fb395bd11452a2f6","sha1":"57260688193baf614c7f6951c3791f59c2406ae3","sha256":"65f763b265eb1465709ad5a26a01c9a42e5e04c5628dd7a9dd3eca624f12f274","sha512":"c720cdfa0b7150b1fbd4e0b7190206097c1d498be95d14cff634aabb7cee95b2096f8272f834a93afeac1245324cf75a7c3801641e76fb1b90bc8e69e1748213","ssdeep":"384:n1KUKpESCMxFb0fPedODw312NB0oizQJySuJDFb7i/TsKUKIjRBa:iObMxOfP0Os4w5UKvb2r3UNLa","tlshash":"bc92d05bb848afb2d0e9dde421fb03840e1039c5996117e23dff4c0eb666a92b4193d1","first_seen":"2024-12-04T10:10:15.82915Z","last_seen":"2026-07-27T05:05:33.665124Z","times_seen":11,"resource_available":false,"data":"/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMvaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzA2NyA3OS4xNTc3NDcsIDIwMTUvMDMvMzAtMjM6NDA6NDIgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1MzdERDRBNTA0QzIxMUU4OTY0NEVFOTJEOUU4MEI3MSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1MzdERDRBNjA0QzIxMUU4OTY0NEVFOTJEOUU4MEI3MSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjUzN0RENEEzMDRDMjExRTg5NjQ0RUU5MkQ5RTgwQjcxIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjUzN0RENEE0MDRDMjExRTg5NjQ0RUU5MkQ5RTgwQjcxIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJ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"}},"time_used":59,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":44,"receive":15,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/css.css","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.714Z","timestamp":1785123231714,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /css.css HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/css/style.css\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: text/css\r\nlast-modified: Wed, 22 Apr 2026 17:27:37 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 437\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":5801,"size_decoded":745,"mime_type":"text/css","magic":"ASCII text","md5":"410da361e2f39495bc048afb354ead48","sha1":"660bc2fb1d17c5fd546ea7aa2df47711e9926789","sha256":"7767d76be040d06cd923d1ea5f56d25b1392bd07a7effb367082949f49b42fea","sha512":"619b5711f18dfd9658176dc08d2f6b2074a5c707c0397ff6875e5eebc4edc7423024b764d93702cc382405aba98c5068747e28fb5efef3774f46f100bc0c990a","ssdeep":"96:oYgS7EzYgJEaYgWEHYgLEcYggE5YgxTEk9YgCEcYgw6EzYgME/OS7EOOJEbOWEe3:p37PiUl7kqPh2qpWIHTO7eU4kHUZxP3+","tlshash":"4ac1f9120a0ed661ee611deeb3db7e38fe0e15152143c0ad96759cfcadd282b4384b5d","first_seen":"2026-06-26T06:01:48.630858Z","last_seen":"2026-07-27T05:05:33.549451Z","times_seen":7,"resource_available":false,"data":"QGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSYWxld2F5JzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDEwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcmFsZXdheS92MjIvMVB0X2c4ellTX1NLZ2dQTnlDZ1NRYW1iMVcwbHdrNFM0V2pORHJNZkpRLnR0ZikgZm9ybWF0KCd0cnVldHlwZScpOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUmFsZXdheSc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiAyMDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JhbGV3YXkvdjIyLzFQdF9nOHpZU19TS2dnUE55Q2dTUWFtYjFXMGx3azRTNGVqTURyTWZKUS50dGYpIGZvcm1hdCgndHJ1ZXR5cGUnKTsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JhbGV3YXknOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogMzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yYWxld2F5L3YyMi8xUHRfZzh6WVNfU0tnZ1BOeUNnU1FhbWIxVzBsd2s0UzRUYk1Eck1mSlEudHRmKSBmb3JtYXQoJ3RydWV0eXBlJyk7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSYWxld2F5JzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcmFsZXdheS92MjIvMVB0X2c4ellTX1NLZ2dQTnlDZ1NRYW1iMVcwbHdrNFM0V2pNRHJNZkpRLnR0ZikgZm9ybWF0KCd0cnVldHlwZScpOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUmFsZXdheSc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JhbGV3YXkvdjIyLzFQdF9nOHpZU19TS2dnUE55Q2dTUWFtYjFXMGx3azRTNFZyTURyTWZKUS50dGYpIGZvcm1hdCgndHJ1ZXR5cGUnKTsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JhbGV3YXknOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNjAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yYWxld2F5L3YyMi8xUHRfZzh6WVNfU0tnZ1BOeUNnU1FhbWIxVzBsd2s0UzRiYkxEck1mSlEudHRmKSBmb3JtYXQoJ3RydWV0eXBlJyk7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSYWxld2F5JzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcmFsZXdheS92MjIvMVB0X2c4ellTX1NLZ2dQTnlDZ1NRYW1iMVcwbHdrNFM0WV9MRHJNZkpRLnR0ZikgZm9ybWF0KCd0cnVldHlwZScpOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUmFsZXdheSc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA4MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JhbGV3YXkvdjIyLzFQdF9nOHpZU19TS2dnUE55Q2dTUWFtYjFXMGx3azRTNGVqTERyTWZKUS50dGYpIGZvcm1hdCgndHJ1ZXR5cGUnKTsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JhbGV3YXknOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogOTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yYWxld2F5L3YyMi8xUHRfZzh6WVNfU0tnZ1BOeUNnU1FhbWIxVzBsd2s0UzRjSExEck1mSlEudHRmKSBmb3JtYXQoJ3RydWV0eXBlJyk7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSYWxld2F5JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDEwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcmFsZXdheS92MjIvMVB0eGc4ellTX1NLZ2dQTjRpRWd2bkh5dnZlTHhWdmFvN0NJUHJRLnR0ZikgZm9ybWF0KCd0cnVldHlwZScpOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUmFsZXdheSc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAyMDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JhbGV3YXkvdjIyLzFQdHhnOHpZU19TS2dnUE40aUVndm5IeXZ2ZUx4VnRhb3JDSVByUS50dGYpIGZvcm1hdCgndHJ1ZXR5cGUnKTsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JhbGV3YXknOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yYWxld2F5L3YyMi8xUHR4Zzh6WVNfU0tnZ1BONGlFZ3ZuSHl2dmVMeFZ1RW9yQ0lQclEudHRmKSBmb3JtYXQoJ3RydWV0eXBlJyk7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSYWxld2F5JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcmFsZXdheS92MjIvMVB0eGc4ellTX1NLZ2dQTjRpRWd2bkh5dnZlTHhWdmFvckNJUHJRLnR0ZikgZm9ybWF0KCd0cnVldHlwZScpOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUmFsZXdheSc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JhbGV3YXkvdjIyLzFQdHhnOHpZU19TS2dnUE40aUVndm5IeXZ2ZUx4VnZvb3JDSVByUS50dGYpIGZvcm1hdCgndHJ1ZXR5cGUnKTsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JhbGV3YXknOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yYWxld2F5L3YyMi8xUHR4Zzh6WVNfU0tnZ1BONGlFZ3ZuSHl2dmVMeFZzRXBiQ0lQclEudHRmKSBmb3JtYXQoJ3RydWV0eXBlJyk7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSYWxld2F5JzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcmFsZXdheS92MjIvMVB0eGc4ellTX1NLZ2dQTjRpRWd2bkh5dnZlTHhWczlwYkNJUHJRLnR0ZikgZm9ybWF0KCd0cnVldHlwZScpOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUmFsZXdheSc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA4MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JhbGV3YXkvdjIyLzFQdHhnOHpZU19TS2dnUE40aUVndm5IeXZ2ZUx4VnRhcGJDSVByUS50dGYpIGZvcm1hdCgndHJ1ZXR5cGUnKTsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JhbGV3YXknOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogOTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yYWxld2F5L3YyMi8xUHR4Zzh6WVNfU0tnZ1BONGlFZ3ZuSHl2dmVMeFZ0enBiQ0lQclEudHRmKSBmb3JtYXQoJ3RydWV0eXBlJyk7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogMTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjI3L0tGT2lDbnFFdTkyRnIxTXU1MVFyRXpBZEtnLnR0ZikgZm9ybWF0KCd0cnVldHlwZScpOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3YyNy9LRk9qQ25xRXU5MkZyMU11NTFUakFTYzZDc0UudHRmKSBmb3JtYXQoJ3RydWV0eXBlJyk7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjI3L0tGT2tDbnFFdTkyRnIxTXU1MXhJSXpjLnR0ZikgZm9ybWF0KCd0cnVldHlwZScpOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBpdGFsaWM7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3YyNy9LRk9qQ25xRXU5MkZyMU11NTFTN0FDYzZDc0UudHRmKSBmb3JtYXQoJ3RydWV0eXBlJyk7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IGl0YWxpYzsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjI3L0tGT2pDbnFFdTkyRnIxTXU1MVR6QmljNkNzRS50dGYpIGZvcm1hdCgndHJ1ZXR5cGUnKTsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGZvbnQtd2VpZ2h0OiA5MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92MjcvS0ZPakNucUV1OTJGcjFNdTUxVExCQ2M2Q3NFLnR0ZikgZm9ybWF0KCd0cnVldHlwZScpOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDEwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3YyNy9LRk9rQ25xRXU5MkZyMU1tZ1Z4SUl6Yy50dGYpIGZvcm1hdCgndHJ1ZXR5cGUnKTsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92MjcvS0ZPbENucUV1OTJGcjFNbVNVNWZCQmM5LnR0ZikgZm9ybWF0KCd0cnVldHlwZScpOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3YyNy9LRk9tQ25xRXU5MkZyMU11NG14UC50dGYpIGZvcm1hdCgndHJ1ZXR5cGUnKTsKfQpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92MjcvS0ZPbENucUV1OTJGcjFNbUVVOWZCQmM5LnR0ZikgZm9ybWF0KCd0cnVldHlwZScpOwp9CkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3YyNy9LRk9sQ25xRXU5MkZyMU1tV1VsZkJCYzkudHRmKSBmb3JtYXQoJ3RydWV0eXBlJyk7Cn0KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogOTAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjI3L0tGT2xDbnFFdTkyRnIxTW1ZVXRmQkJjOS50dGYpIGZvcm1hdCgndHJ1ZXR5cGUnKTsKfQo="}},"time_used":29,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":29,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/css/flaticon.css","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.717Z","timestamp":1785123231717,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /css/flaticon.css HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/css/style.css\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: text/css\r\nlast-modified: Wed, 22 Apr 2026 17:27:28 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 1711\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":10487,"size_decoded":2020,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"7f1eb63b88ffc1126440ef1ed6c30457","sha1":"ec406e34c1161a2f57e4a9018fd00f05ba192b36","sha256":"677fe2d96021894c99ea84d130acea11df659f212723924eaccf175a13ee905d","sha512":"1edfcfa77234bb3acaef44d28ab5f352c636ca63ac04213674b1025682d6bff637f229eb990e1e5912c75f5effbecc3f3e75194923ad3840a8b28760d9db5c1d","ssdeep":"192:v2ZuNJBRgia1zI1hQQdWD+vJ6VbwqxoSUNL1ze:OZeO/zI1hQQdWD+vJ0wUoft1q","tlshash":"de22eff6917f00c44713eb81e6abe2909f8db46c99c1dc59d0626d9df6e1e0a83863dc","first_seen":"2026-06-26T06:01:48.62742Z","last_seen":"2026-07-27T05:05:33.726588Z","times_seen":7,"resource_available":false,"data":"CUBmb250LWZhY2Ugew0KICBmb250LWZhbWlseTogIkZsYXRpY29uIjsNCiAgc3JjOiB1cmwoIi4uL2ZvbnRzL2ZsYXRpY29uLmVvdCIpOw0KICBzcmM6IHVybCgiLi4vZm9udHMvZmxhdGljb24tLmVvdCIpIGZvcm1hdCgiZW1iZWRkZWQtb3BlbnR5cGUiKSwNCiAgICAgICB1cmwoIi4uL2ZvbnRzL2ZsYXRpY29uLndvZmYiKSBmb3JtYXQoIndvZmYiKSwNCiAgICAgICB1cmwoIi4uL2ZvbnRzL2ZsYXRpY29uLnR0ZiIpIGZvcm1hdCgidHJ1ZXR5cGUiKSwNCiAgICAgICB1cmwoIi4uL2ZvbnRzL2ZsYXRpY29uLnN2ZyIpIGZvcm1hdCgic3ZnIik7DQogIGZvbnQtd2VpZ2h0OiBub3JtYWw7DQogIGZvbnQtc3R5bGU6IG5vcm1hbDsNCn0NCg0KQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzowKSB7DQogIEBmb250LWZhY2Ugew0KICAgIGZvbnQtZmFtaWx5OiAiRmxhdGljb24iOw0KICAgIHNyYzogdXJsKCIuLi9mb250cy9mbGF0aWNvbi5zdmciKSBmb3JtYXQoInN2ZyIpOw0KICB9DQp9DQoNCltjbGFzc149ImZsYXRpY29uLSJdOmJlZm9yZSwgW2NsYXNzKj0iIGZsYXRpY29uLSJdOmJlZm9yZSwNCltjbGFzc149ImZsYXRpY29uLSJdOmFmdGVyLCBbY2xhc3MqPSIgZmxhdGljb24tIl06YWZ0ZXIgeyAgIA0KCWZvbnQtZmFtaWx5OiBGbGF0aWNvbjsNCglmb250LXN0eWxlOiBub3JtYWw7DQp9DQoNCi5mbGF0aWNvbi1iaXRjb2luLTU6YmVmb3JlIHsgY29udGVudDogIlxmMTAwIjsgfQ0KLmZsYXRpY29uLWRhbmdlcjpiZWZvcmUgeyBjb250ZW50OiAiXGYxMDEiOyB9DQouZmxhdGljb24tbWFya2V0aW5nOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEwMiI7IH0NCi5mbGF0aWNvbi1tZWdhcGhvbmU6YmVmb3JlIHsgY29udGVudDogIlxmMTAzIjsgfQ0KLmZsYXRpY29uLWJhcnM6YmVmb3JlIHsgY29udGVudDogIlxmMTA0IjsgfQ0KLmZsYXRpY29uLW1vbmV5LTY6YmVmb3JlIHsgY29udGVudDogIlxmMTA1IjsgfQ0KLmZsYXRpY29uLW1vbmV5LTU6YmVmb3JlIHsgY29udGVudDogIlxmMTA2IjsgfQ0KLmZsYXRpY29uLW1vbmV5LTQ6YmVmb3JlIHsgY29udGVudDogIlxmMTA3IjsgfQ0KLmZsYXRpY29uLWF0bTpiZWZvcmUgeyBjb250ZW50OiAiXGYxMDgiOyB9DQouZmxhdGljb24tYml0Y29pbi00OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEwOSI7IH0NCi5mbGF0aWNvbi1tb25leS0zOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEwYSI7IH0NCi5mbGF0aWNvbi1iaXRjb2luLTM6YmVmb3JlIHsgY29udGVudDogIlxmMTBiIjsgfQ0KLmZsYXRpY29uLXNtYXJ0cGhvbmUtMjpiZWZvcmUgeyBjb250ZW50OiAiXGYxMGMiOyB9DQouZmxhdGljb24tY3JlZGl0LWNhcmQ6YmVmb3JlIHsgY29udGVudDogIlxmMTBkIjsgfQ0KLmZsYXRpY29uLWJpdGNvaW4tMjpiZWZvcmUgeyBjb250ZW50OiAiXGYxMGUiOyB9DQouZmxhdGljb24tYml0Y29pbi0xOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEwZiI7IH0NCi5mbGF0aWNvbi1tb25leS03OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjExMCI7IH0NCi5mbGF0aWNvbi1tb25leS0yOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjExMSI7IH0NCi5mbGF0aWNvbi1tb25leS0xOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjExMiI7IH0NCi5mbGF0aWNvbi1tb25leTpiZWZvcmUgeyBjb250ZW50OiAiXGYxMTMiOyB9DQouZmxhdGljb24tYml0Y29pbjpiZWZvcmUgeyBjb250ZW50OiAiXGYxMTQiOyB9DQouZmxhdGljb24tZG9uYXRpb246YmVmb3JlIHsgY29udGVudDogIlxmMTE1IjsgfQ0KLmZsYXRpY29uLXNoaWVsZDpiZWZvcmUgeyBjb250ZW50OiAiXGYxMTYiOyB9DQouZmxhdGljb24tZXhjaGFuZ2UtMTpiZWZvcmUgeyBjb250ZW50OiAiXGYxMTciOyB9DQouZmxhdGljb24tZXhjaGFuZ2U6YmVmb3JlIHsgY29udGVudDogIlxmMTE4IjsgfQ0KLmZsYXRpY29uLWVtcGxveWVlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjExOSI7IH0NCi5mbGF0aWNvbi13ZWItbG9nLWluOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjExYSI7IH0NCi5mbGF0aWNvbi1zZW5kOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjExYiI7IH0NCi5mbGF0aWNvbi1zaG9wcGluZy1jYXJ0LTE6YmVmb3JlIHsgY29udGVudDogIlxmMTFjIjsgfQ0KLmZsYXRpY29uLW1lc3NhZ2U6YmVmb3JlIHsgY29udGVudDogIlxmMTFkIjsgfQ0KLmZsYXRpY29uLWhvbWUtMTpiZWZvcmUgeyBjb250ZW50OiAiXGYxMWUiOyB9DQouZmxhdGljb24tYXJyb3dzLTU6YmVmb3JlIHsgY29udGVudDogIlxmMTFmIjsgfQ0KLmZsYXRpY29uLWZpbGUtMTpiZWZvcmUgeyBjb250ZW50OiAiXGYxMjAiOyB9DQouZmxhdGljb24tY2hhdDpiZWZvcmUgeyBjb250ZW50OiAiXGYxMjEiOyB9DQouZmxhdGljb24tc2V0dGluZ3MtMTpiZWZvcmUgeyBjb250ZW50OiAiXGYxMjIiOyB9DQouZmxhdGljb24tY2xvdWQ6YmVmb3JlIHsgY29udGVudDogIlxmMTIzIjsgfQ0KLmZsYXRpY29uLWVudmVsb3BlLTE6YmVmb3JlIHsgY29udGVudDogIlxmMTI0IjsgfQ0KLmZsYXRpY29uLXBsYW5ldC1lYXJ0aDpiZWZvcmUgeyBjb250ZW50OiAiXGYxMjUiOyB9DQouZmxhdGljb24tcGxhY2Vob2xkZXItMjpiZWZvcmUgeyBjb250ZW50OiAiXGYxMjYiOyB9DQouZmxhdGljb24taW50ZXJmYWNlLTE6YmVmb3JlIHsgY29udGVudDogIlxmMTI3IjsgfQ0KLmZsYXRpY29uLWxheWVycy0xOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEyOCI7IH0NCi5mbGF0aWNvbi1lZGl0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEyOSI7IH0NCi5mbGF0aWNvbi10cm9waHktMTpiZWZvcmUgeyBjb250ZW50OiAiXGYxMmEiOyB9DQouZmxhdGljb24tbm90ZS0xOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEyYiI7IH0NCi5mbGF0aWNvbi10ZWxlbWFya2V0ZXI6YmVmb3JlIHsgY29udGVudDogIlxmMTJjIjsgfQ0KLmZsYXRpY29uLWZsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEyZCI7IH0NCi5mbGF0aWNvbi1jYWxlbmRhci0xOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEyZSI7IH0NCi5mbGF0aWNvbi1tZWRhbDpiZWZvcmUgeyBjb250ZW50OiAiXGYxMmYiOyB9DQouZmxhdGljb24tc21hcnRwaG9uZS0xOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEzMCI7IH0NCi5mbGF0aWNvbi10ZWNobm9sb2d5LTI6YmVmb3JlIHsgY29udGVudDogIlxmMTMxIjsgfQ0KLmZsYXRpY29uLXVzZXItMTpiZWZvcmUgeyBjb250ZW50OiAiXGYxMzIiOyB9DQouZmxhdGljb24tdGVjaG5vbG9neS0xOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEzMyI7IH0NCi5mbGF0aWNvbi1waG90by1jYW1lcmE6YmVmb3JlIHsgY29udGVudDogIlxmMTM0IjsgfQ0KLmZsYXRpY29uLWFycm93cy00OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEzNSI7IH0NCi5mbGF0aWNvbi1hcnJvd3MtMzpiZWZvcmUgeyBjb250ZW50OiAiXGYxMzYiOyB9DQouZmxhdGljb24tc3BlZWNoLWJ1YmJsZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxMzciOyB9DQouZmxhdGljb24taGVhcnQtMTpiZWZvcmUgeyBjb250ZW50OiAiXGYxMzgiOyB9DQouZmxhdGljb24tcGFwZXItcGxhbmU6YmVmb3JlIHsgY29udGVudDogIlxmMTM5IjsgfQ0KLmZsYXRpY29uLXN0YXItMTpiZWZvcmUgeyBjb250ZW50OiAiXGYxM2EiOyB9DQouZmxhdGljb24tZ3JhcGhpYzpiZWZvcmUgeyBjb250ZW50OiAiXGYxM2IiOyB9DQouZmxhdGljb24tdXNlcjpiZWZvcmUgeyBjb250ZW50OiAiXGYxM2MiOyB9DQouZmxhdGljb24tcHJldmlvdXM6YmVmb3JlIHsgY29udGVudDogIlxmMTNkIjsgfQ0KLmZsYXRpY29uLWFycm93cy0yOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEzZSI7IH0NCi5mbGF0aWNvbi1wYWRsb2NrOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEzZiI7IH0NCi5mbGF0aWNvbi1yaWdodC1xdW90ZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxNDAiOyB9DQouZmxhdGljb24tbGVmdC1xdW90ZS0xOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE0MSI7IH0NCi5mbGF0aWNvbi1yaWdodC1hcnJvdy0zOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE0MiI7IH0NCi5mbGF0aWNvbi1saXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE0MyI7IH0NCi5mbGF0aWNvbi1kcm9wOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE0NCI7IH0NCi5mbGF0aWNvbi11bmxpbms6YmVmb3JlIHsgY29udGVudDogIlxmMTQ1IjsgfQ0KLmZsYXRpY29uLXNlYXJjaC0xOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE0NiI7IH0NCi5mbGF0aWNvbi1saWtlLTE6YmVmb3JlIHsgY29udGVudDogIlxmMTQ3IjsgfQ0KLmZsYXRpY29uLXBsYXktYnV0dG9uLTE6YmVmb3JlIHsgY29udGVudDogIlxmMTQ4IjsgfQ0KLmZsYXRpY29uLXBsYWNlaG9sZGVyLTE6YmVmb3JlIHsgY29udGVudDogIlxmMTQ5IjsgfQ0KLmZsYXRpY29uLWRpYW1vbmQ6YmVmb3JlIHsgY29udGVudDogIlxmMTRhIjsgfQ0KLmZsYXRpY29uLWxheWVyczpiZWZvcmUgeyBjb250ZW50OiAiXGYxNGIiOyB9DQouZmxhdGljb24tYWRkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE0YyI7IH0NCi5mbGF0aWNvbi1wbGF5LWJ1dHRvbjpiZWZvcmUgeyBjb250ZW50OiAiXGYxNGQiOyB9DQouZmxhdGljb24tZmlsZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxNGUiOyB9DQouZmxhdGljb24tY2FsZW5kYXI6YmVmb3JlIHsgY29udGVudDogIlxmMTRmIjsgfQ0KLmZsYXRpY29uLXByaWNlLXRhZzpiZWZvcmUgeyBjb250ZW50OiAiXGYxNTAiOyB9DQouZmxhdGljb24tbmV4dC0yOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE1MSI7IH0NCi5mbGF0aWNvbi1icmllZmNhc2U6YmVmb3JlIHsgY29udGVudDogIlxmMTUyIjsgfQ0KLmZsYXRpY29uLW1lbnU6YmVmb3JlIHsgY29udGVudDogIlxmMTUzIjsgfQ0KLmZsYXRpY29uLW5vdGU6YmVmb3JlIHsgY29udGVudDogIlxmMTU0IjsgfQ0KLmZsYXRpY29uLWNoZWNrLTE6YmVmb3JlIHsgY29udGVudDogIlxmMTU1IjsgfQ0KLmZsYXRpY29uLWNhbmNlbC0xOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE1NiI7IH0NCi5mbGF0aWNvbi1iYWNrLTE6YmVmb3JlIHsgY29udGVudDogIlxmMTU3IjsgfQ0KLmZsYXRpY29uLXNob3BwaW5nLWJhZy0zOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE1OCI7IH0NCi5mbGF0aWNvbi1tb25pdG9yOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE1OSI7IH0NCi5mbGF0aWNvbi1waWdneS1iYW5rLTE6YmVmb3JlIHsgY29udGVudDogIlxmMTVhIjsgfQ0KLmZsYXRpY29uLXNob3BwaW5nLWNhcnQ6YmVmb3JlIHsgY29udGVudDogIlxmMTViIjsgfQ0KLmZsYXRpY29uLXBob25lLWNhbGw6YmVmb3JlIHsgY29udGVudDogIlxmMTVjIjsgfQ0KLmZsYXRpY29uLWhlYWRwaG9uZXMtMTpiZWZvcmUgeyBjb250ZW50OiAiXGYxNWQiOyB9DQouZmxhdGljb24tdmVjdG9yOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE1ZSI7IH0NCi5mbGF0aWNvbi1ob3VzZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxNWYiOyB9DQouZmxhdGljb24tc2hhcmU6YmVmb3JlIHsgY29udGVudDogIlxmMTYwIjsgfQ0KLmZsYXRpY29uLW11c2ljYWwtbm90ZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxNjEiOyB9DQouZmxhdGljb24tYmFjazpiZWZvcmUgeyBjb250ZW50OiAiXGYxNjIiOyB9DQouZmxhdGljb24tbmV4dC0xOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE2MyI7IH0NCi5mbGF0aWNvbi1zdGFyOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE2NCI7IH0NCi5mbGF0aWNvbi1saW5rOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE2NSI7IH0NCi5mbGF0aWNvbi1saWtlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE2NiI7IH0NCi5mbGF0aWNvbi1zZXR0aW5nczpiZWZvcmUgeyBjb250ZW50OiAiXGYxNjciOyB9DQouZmxhdGljb24taGVhcnQ6YmVmb3JlIHsgY29udGVudDogIlxmMTY4IjsgfQ0KLmZsYXRpY29uLXBsYWNlaG9sZGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE2OSI7IH0NCi5mbGF0aWNvbi1uZXh0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE2YSI7IH0NCi5mbGF0aWNvbi1hcnJvdzpiZWZvcmUgeyBjb250ZW50OiAiXGYxNmIiOyB9DQouZmxhdGljb24tdGVsZXBob25lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE2YyI7IH0NCi5mbGF0aWNvbi1tb25leS1iYWc6YmVmb3JlIHsgY29udGVudDogIlxmMTZkIjsgfQ0KLmZsYXRpY29uLXBpZ2d5LWJhbms6YmVmb3JlIHsgY29udGVudDogIlxmMTZlIjsgfQ0KLmZsYXRpY29uLWhlYWRwaG9uZXM6YmVmb3JlIHsgY29udGVudDogIlxmMTZmIjsgfQ0KLmZsYXRpY29uLWNvaW46YmVmb3JlIHsgY29udGVudDogIlxmMTcwIjsgfQ0KLmZsYXRpY29uLWxpZ2h0LWJ1bGI6YmVmb3JlIHsgY29udGVudDogIlxmMTcxIjsgfQ0KLmZsYXRpY29uLWZhdm9yaXRlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE3MiI7IH0NCi5mbGF0aWNvbi1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE3MyI7IH0NCi5mbGF0aWNvbi1taW51czpiZWZvcmUgeyBjb250ZW50OiAiXGYxNzQiOyB9DQouZmxhdGljb24tY2hlY2tlZDpiZWZvcmUgeyBjb250ZW50OiAiXGYxNzUiOyB9DQouZmxhdGljb24tdW5jaGVja2VkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE3NiI7IH0NCi5mbGF0aWNvbi10aW1lcjpiZWZvcmUgeyBjb250ZW50OiAiXGYxNzciOyB9DQouZmxhdGljb24tcHJvZmlsZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxNzgiOyB9DQouZmxhdGljb24tY2FuY2VsOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE3OSI7IH0NCi5mbGF0aWNvbi1yaWdodC1hcnJvdy0yOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE3YSI7IH0NCi5mbGF0aWNvbi1sZWZ0LWFycm93LTI6YmVmb3JlIHsgY29udGVudDogIlxmMTdiIjsgfQ0KLmZsYXRpY29uLWRvd24tYXJyb3c6YmVmb3JlIHsgY29udGVudDogIlxmMTdjIjsgfQ0KLmZsYXRpY29uLXNlYXJjaDpiZWZvcmUgeyBjb250ZW50OiAiXGYxN2QiOyB9DQouZmxhdGljb24tY2xvY2stMjpiZWZvcmUgeyBjb250ZW50OiAiXGYxN2UiOyB9DQouZmxhdGljb24taW50ZXJmYWNlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE3ZiI7IH0NCi5mbGF0aWNvbi1zaG9wcGluZy1iYWctMjpiZWZvcmUgeyBjb250ZW50OiAiXGYxODAiOyB9DQouZmxhdGljb24tc2hvcHBpbmctYmFnLTE6YmVmb3JlIHsgY29udGVudDogIlxmMTgxIjsgfQ0KLmZsYXRpY29uLXNob3BwaW5nLWJhZzpiZWZvcmUgeyBjb250ZW50OiAiXGYxODIiOyB9DQouZmxhdGljb24tYXJyb3dzLTE6YmVmb3JlIHsgY29udGVudDogIlxmMTgzIjsgfQ0KLmZsYXRpY29uLW1hZ25pZnlpbmctZ2xhc3M6YmVmb3JlIHsgY29udGVudDogIlxmMTg0IjsgfQ0KLmZsYXRpY29uLXNtYXJ0cGhvbmU6YmVmb3JlIHsgY29udGVudDogIlxmMTg1IjsgfQ0KLmZsYXRpY29uLXRpbWU6YmVmb3JlIHsgY29udGVudDogIlxmMTg2IjsgfQ0KLmZsYXRpY29uLWxlZnQtYXJyb3ctMTpiZWZvcmUgeyBjb250ZW50OiAiXGYxODciOyB9DQouZmxhdGljb24tcmlnaHQtYXJyb3ctMTpiZWZvcmUgeyBjb250ZW50OiAiXGYxODgiOyB9DQouZmxhdGljb24tbWludXMtc3ltYm9sOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE4OSI7IH0NCi5mbGF0aWNvbi1wbHVzLXN5bWJvbDpiZWZvcmUgeyBjb250ZW50OiAiXGYxOGEiOyB9DQouZmxhdGljb24tY2xvY2stMTpiZWZvcmUgeyBjb250ZW50OiAiXGYxOGIiOyB9DQouZmxhdGljb24tZG93bmxvYWQtYXJyb3c6YmVmb3JlIHsgY29udGVudDogIlxmMThjIjsgfQ0KLmZsYXRpY29uLWVudmVsb3BlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE4ZCI7IH0NCi5mbGF0aWNvbi11cC1hcnJvdzpiZWZvcmUgeyBjb250ZW50OiAiXGYxOGUiOyB9DQouZmxhdGljb24tY2xvY2s6YmVmb3JlIHsgY29udGVudDogIlxmMThmIjsgfQ0KLmZsYXRpY29uLXBlb3BsZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxOTAiOyB9DQouZmxhdGljb24tY29tbWVudGluZzpiZWZvcmUgeyBjb250ZW50OiAiXGYxOTEiOyB9DQouZmxhdGljb24tdGVjaG5vbG9neTpiZWZvcmUgeyBjb250ZW50OiAiXGYxOTIiOyB9DQouZmxhdGljb24tYmlnLWFuY2hvcjpiZWZvcmUgeyBjb250ZW50OiAiXGYxOTMiOyB9DQouZmxhdGljb24tc2hhcmUtc3ltYm9sOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE5NCI7IH0NCi5mbGF0aWNvbi1hcnJvd3M6YmVmb3JlIHsgY29udGVudDogIlxmMTk1IjsgfQ0KLmZsYXRpY29uLXNlbnQtbWFpbDpiZWZvcmUgeyBjb250ZW50OiAiXGYxOTYiOyB9DQouZmxhdGljb24tbGFiZWw6YmVmb3JlIHsgY29udGVudDogIlxmMTk3IjsgfQ0KLmZsYXRpY29uLW1lbnUtb3B0aW9uczpiZWZvcmUgeyBjb250ZW50OiAiXGYxOTgiOyB9DQouZmxhdGljb24td2ViLXBhZ2UtaG9tZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxOTkiOyB9DQouZmxhdGljb24tZmxhc2stb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxOWEiOyB9DQouZmxhdGljb24tbG9jYXRpb24tcGluOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE5YiI7IH0NCi5mbGF0aWNvbi1hcnJvdy1wb2ludGluZy10by1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAiXGYxOWMiOyB9DQouZmxhdGljb24tcmlnaHQtYXJyb3c6YmVmb3JlIHsgY29udGVudDogIlxmMTlkIjsgfQ0KLmZsYXRpY29uLWhvdXNlLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmMTllIjsgfQ0KLmZsYXRpY29uLWxlZnQtYXJyb3c6YmVmb3JlIHsgY29udGVudDogIlxmMTlmIjsgfQ0KLmZsYXRpY29uLXJvdW5kOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFhMCI7IH0NCi5mbGF0aWNvbi1jaGVjay1zeW1ib2w6YmVmb3JlIHsgY29udGVudDogIlxmMWExIjsgfQ0KLmZsYXRpY29uLWZvcndhcmQtYXJyb3c6YmVmb3JlIHsgY29udGVudDogIlxmMWEyIjsgfQ0KLmZsYXRpY29uLWxlZnQtcXVvdGU6YmVmb3JlIHsgY29udGVudDogIlxmMWEzIjsgfQ0KLmZsYXRpY29uLXBsYWNlaG9sZGVyLWZpbGxlZC1wb2ludDpiZWZvcmUgeyBjb250ZW50OiAiXGYxYTQiOyB9DQouZmxhdGljb24tcmlnaHQtcXVvdGF0aW9uLXNpZ246YmVmb3JlIHsgY29udGVudDogIlxmMWE1IjsgfQ0KLmZsYXRpY29uLXdpZmktY29ubmVjdGlvbi1zaWduYWwtc3ltYm9sOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFhNiI7IH0NCi5mbGF0aWNvbi13b3JsZDpiZWZvcmUgeyBjb250ZW50OiAiXGYxYTciOyB9DQouZmxhdGljb24td29yZC1maWxlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFhOCI7IH0NCi5mbGF0aWNvbi1zeW1ib2w6YmVmb3JlIHsgY29udGVudDogIlxmMWE5IjsgfQ0KLmZsYXRpY29uLW1hcC1tYXJrZXI6YmVmb3JlIHsgY29udGVudDogIlxmMWFhIjsgfQ0KLmZsYXRpY29uLWhvbWU6YmVmb3JlIHsgY29udGVudDogIlxmMWFiIjsgfQ0KLmZsYXRpY29uLXRhZy1ibGFjay1zaGFwZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxYWMiOyB9DQouZmxhdGljb24tcXVvdGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiAiXGYxYWQiOyB9DQouZmxhdGljb24tdGFnczpiZWZvcmUgeyBjb250ZW50OiAiXGYxYWUiOyB9DQouZmxhdGljb24tY2hlY2s6YmVmb3JlIHsgY29udGVudDogIlxmMWFmIjsgfQ0KLmZsYXRpY29uLXVzZXItc2hhcGU6YmVmb3JlIHsgY29udGVudDogIlxmMWIwIjsgfQ0KLmZsYXRpY29uLXRlbGVwaG9uZS1oYW5kbGUtc2lsaG91ZXR0ZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxYjEiOyB9DQouZmxhdGljb24tcmlnaHQtcXVvdGF0aW9uLW1hcms6YmVmb3JlIHsgY29udGVudDogIlxmMWIyIjsgfQ0KLmZsYXRpY29uLWNvbW1lbnRzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFiMyI7IH0NCi5mbGF0aWNvbi1hcHBsZS1sb2dvOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFiNCI7IH0NCi5mbGF0aWNvbi1lYXJ0aDpiZWZvcmUgeyBjb250ZW50OiAiXGYxYjUiOyB9DQouZmxhdGljb24tcGRmOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFiNiI7IH0NCi5mbGF0aWNvbi13b3JkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFiNyI7IH0NCi5mbGF0aWNvbi1wZW5jaWw6YmVmb3JlIHsgY29udGVudDogIlxmMWI4IjsgfQ0KLmZsYXRpY29uLXRyb3BoeTpiZWZvcmUgeyBjb250ZW50OiAiXGYxYjkiOyB9DQouZmxhdGljb24tZS1tYWlsLWVudmVsb3BlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFiYSI7IH0NCi5mbGF0aWNvbi1nby1iYWNrLWFycm93OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFiYiI7IH0NCi5mbGF0aWNvbi1ib2F0LWFuY2hvcjpiZWZvcmUgeyBjb250ZW50OiAiXGYxYmMiOyB9DQouZmxhdGljb24tc21hcnRwaG9uZS1jYWxsOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFiZCI7IH0NCi5mbGF0aWNvbi1zZW5kLW1lc3NhZ2UtYnV0dG9uOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFiZSI7IH0NCi5mbGF0aWNvbi13ZWI6YmVmb3JlIHsgY29udGVudDogIlxmMWJmIjsgfQ0KLmZsYXRpY29uLWJvYXQtbGlmZXNhdmVyOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFjMCI7IH0NCi5mbGF0aWNvbi1idXNpbmVzczpiZWZvcmUgeyBjb250ZW50OiAiXGYxYzEiOyB9DQouZmxhdGljb24taG9tZS1wYWdlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFjMiI7IH0NCi5mbGF0aWNvbi1nYXJiYWdlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFjMyI7IH0="}},"time_used":35,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":34,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/plugins/revolution/js/extensions/revolution.extension.video.min.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.600Z","timestamp":1785123231600,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /plugins/revolution/js/extensions/revolution.extension.video.min.js HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Wed, 22 Apr 2026 17:27:52 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 6098\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":24211,"size_decoded":6421,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (23965), with CRLF line terminators","md5":"02bf3ed4a0eaebfb8eccd78d58acb3c1","sha1":"d24d3cf3002ad0f2d1aa3d17b9d330e8bb343712","sha256":"8c31c97858196d93a06ad02300c31b25acbb40b1b6e63c11c77ac6644f0cff01","sha512":"bf443cd79b8e5460dbca4a5e3369df02e8fc1b0fa687fd482a5e85ffb5ab7da584a545ece35fa9e5e4ca9e1cd87270b7a11700396974e5797301366ff615c765","ssdeep":"384:ZJf1dVyV0HW8Tn5rk4kcpNWpVbwhqASaR6R/fl1WkZtqjVM1e48ENrLHMHzA9bn+:1dVyV02A5pU6AASag+RjVh4xwzAEUS1J","tlshash":"5cb2c867f50418a5c419f9969daf115132b1fa7de0058ef068f7e2b41f3ce8220daade","first_seen":"2023-03-07T13:53:39Z","last_seen":"2026-07-27T05:16:16.829694Z","times_seen":532,"resource_available":true,"data":"LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogKiBSRVZPTFVUSU9OIDUuNC4yIEVYVEVOU0lPTiAtIFZJREVPIEZVTkNUSU9OUw0KICogQHZlcnNpb246IDIuMS42ICgxNS4wNS4yMDE3KQ0KICogQHJlcXVpcmVzIGpxdWVyeS50aGVtZXB1bmNoLnJldm9sdXRpb24uanMNCiAqIEBhdXRob3IgVGhlbWVQdW5jaA0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KIWZ1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBmKGEpe3JldHVybiB2b2lkIDA9PWE/LTE6alF1ZXJ5LmlzTnVtZXJpYyhhKT9hOmEuc3BsaXQoIjoiKS5sZW5ndGg+MT82MCpwYXJzZUludChhLnNwbGl0KCI6IilbMF0sMCkrcGFyc2VJbnQoYS5zcGxpdCgiOiIpWzFdLDApOmF9dmFyIGI9alF1ZXJ5LmZuLnJldm9sdXRpb24sYz1iLmlzX21vYmlsZSgpLGQ9Yi5pc19hbmRyb2lkKCksZT17YWxpYXM6IlZpZGVvIE1pbiBKUyIsbmFtZToicmV2b2x1dGlvbi5leHRlbnNpb25zLnZpZGVvLm1pbi5qcyIsbWluX2NvcmU6IjUuNC41Iix2ZXJzaW9uOiIyLjEuNiJ9O2pRdWVyeS5leHRlbmQoITAsYix7cHJlTG9hZEF1ZGlvOmZ1bmN0aW9uKGEsYyl7aWYoInN0b3AiPT09Yi5jb21wYXJlX3ZlcnNpb24oZSkuY2hlY2spcmV0dXJuITE7YS5maW5kKCIudHAtYXVkaW9sYXllciIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyksZD17fTswPT09YS5maW5kKCJhdWRpbyIpLmxlbmd0aCYmKGQuc3JjPXZvaWQgMCE9YS5kYXRhKCJ2aWRlb21wNCIpP2EuZGF0YSgidmlkZW9tcDQiKToiIixkLnByZT1hLmRhdGEoInZpZGVvcHJlbG9hZCIpfHwiIix2b2lkIDA9PT1hLmF0dHIoImlkIikmJmEuYXR0cigiYXVkaW8tbGF5ZXItIitNYXRoLnJvdW5kKDE5OTk5OSpNYXRoLnJhbmRvbSgpKSksZC5pZD1hLmF0dHIoImlkIiksZC5zdGF0dXM9InByZXBhcmVkIixkLnN0YXJ0PWpRdWVyeS5ub3coKSxkLndhaXR0aW1lPTFlMyphLmRhdGEoInZpZGVvcHJlbG9hZHdhaXQiKXx8NWUzLCJhdXRvIiE9ZC5wcmUmJiJjYW5wbGF5dGhyb3VnaCIhPWQucHJlJiYiY2FucGxheSIhPWQucHJlJiYicHJvZ3Jlc3MiIT1kLnByZXx8KHZvaWQgMD09PWMuYXVkaW9xdWV1ZSYmKGMuYXVkaW9xdWV1ZT1bXSksYy5hdWRpb3F1ZXVlLnB1c2goZCksYi5tYW5hZ2VWaWRlb0xheWVyKGEsYykpKX0pfSxwcmVMb2FkQXVkaW9Eb25lOmZ1bmN0aW9uKGEsYixjKXtiLmF1ZGlvcXVldWUmJmIuYXVkaW9xdWV1ZS5sZW5ndGg+MCYmalF1ZXJ5LmVhY2goYi5hdWRpb3F1ZXVlLGZ1bmN0aW9uKGIsZCl7YS5kYXRhKCJ2aWRlb21wNCIpIT09ZC5zcmN8fGQucHJlIT09YyYmImF1dG8iIT09ZC5wcmV8fChkLnN0YXR1cz0ibG9hZGVkIil9KX0scmVzZXRWaWRlbzpmdW5jdGlvbihhLGQsZSl7dmFyIGc9YS5kYXRhKCk7c3dpdGNoKGcudmlkZW90eXBlKXtjYXNlInlvdXR1YmUiOmcucGxheWVyO3RyeXtpZigib24iPT1nLmZvcmNlcmV3aW5kKXt2YXIgaT1mKGEuZGF0YSgidmlkZW9zdGFydGF0IikpOzE9PT1nLmJndmlkZW98fGEuZmluZCgiLnRwLXZpZGVvcG9zdGVyIikubGVuZ3RoO3ZvaWQgMCE9Zy5wbGF5ZXImJihpPS0xPT1pPzA6aSxnLnBsYXllci5zZWVrVG8oaSksZy5wbGF5ZXIucGF1c2VWaWRlbygpKX19Y2F0Y2goYSl7fTA9PWEuZmluZCgiLnRwLXZpZGVvcG9zdGVyIikubGVuZ3RoJiYxIT09Zy5iZ3ZpZGVvJiYhMCE9PWUmJnB1bmNoZ3MuVHdlZW5MaXRlLnRvKGEuZmluZCgiaWZyYW1lIiksLjMse2F1dG9BbHBoYToxLGRpc3BsYXk6ImJsb2NrIixlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dH0pO2JyZWFrO2Nhc2UidmltZW8iOnZhciBsPSRmKGEuZmluZCgiaWZyYW1lIikuYXR0cigiaWQiKSk7dHJ5e2lmKCJvbiI9PWcuZm9yY2VyZXdpbmQpe3ZhciBpPWYoZy52aWRlb3N0YXJ0YXQpOzE9PT1nLmJndmlkZW98fGEuZmluZCgiLnRwLXZpZGVvcG9zdGVyIikubGVuZ3RoO2k9LTE9PWk/MDppLGwuYXBpKCJzZWVrVG8iLGkpLGwuYXBpKCJwYXVzZSIpfX1jYXRjaChhKXt9MD09YS5maW5kKCIudHAtdmlkZW9wb3N0ZXIiKS5sZW5ndGgmJjEhPT1nLmJndmlkZW8mJiEwIT09ZSYmcHVuY2hncy5Ud2VlbkxpdGUudG8oYS5maW5kKCJpZnJhbWUiKSwuMyx7YXV0b0FscGhhOjEsZGlzcGxheToiYmxvY2siLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0fSk7YnJlYWs7Y2FzZSJodG1sNSI6aWYoYyYmMT09Zy5kaXNhYmxldmlkZW9vbm1vYmlsZSlyZXR1cm4hMTt2YXIgbj0iaHRtbDUiPT1nLmF1ZGlvPyJhdWRpbyI6InZpZGVvIixvPWEuZmluZChuKSxwPW9bMF07aWYocHVuY2hncy5Ud2VlbkxpdGUudG8obywuMyx7YXV0b0FscGhhOjEsZGlzcGxheToiYmxvY2siLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0fSksIm9uIj09Zy5mb3JjZXJld2luZCYmIWEuaGFzQ2xhc3MoInZpZGVvaXNwbGF5aW5nIikpdHJ5e3ZhciBpPWYoZy52aWRlb3N0YXJ0YXQpO3AuY3VycmVudFRpbWU9LTE9PWk/MDppfWNhdGNoKGEpe30oIm11dGUiPT1nLnZvbHVtZXx8Yi5sYXN0VG9nZ2xlU3RhdGUoYS52aWRlb211dGV0b2dnbGVkYnkpfHwhMD09PWQuZ2xvYmFsbXV0ZSkmJihwLm11dGVkPSEwKX19LGlzVmlkZW9NdXRlZDpmdW5jdGlvbihhLGIpe3ZhciBjPSExLGQ9YS5kYXRhKCk7c3dpdGNoKGQudmlkZW90eXBlKXtjYXNlInlvdXR1YmUiOnRyeXtjPWQucGxheWVyLmlzTXV0ZWQoKX1jYXRjaChhKXt9YnJlYWs7Y2FzZSJ2aW1lbyI6dHJ5eyRmKGEuZmluZCgiaWZyYW1lIikuYXR0cigiaWQiKSk7Im11dGUiPT1kLnZvbHVtZSYmKGM9ITApfWNhdGNoKGEpe31icmVhaztjYXNlImh0bWw1Ijp2YXIgZz0iaHRtbDUiPT1kLmF1ZGlvPyJhdWRpbyI6InZpZGVvIjthLmZpbmQoZylbMF0ubXV0ZWQmJihjPSEwKX1yZXR1cm4gY30sbXV0ZVZpZGVvOmZ1bmN0aW9uKGEsYil7dmFyIGM9YS5kYXRhKCk7c3dpdGNoKGMudmlkZW90eXBlKXtjYXNlInlvdXR1YmUiOnRyeXtjLnBsYXllci5tdXRlKCl9Y2F0Y2goYSl7fWJyZWFrO2Nhc2UidmltZW8iOnRyeXt2YXIgZT0kZihhLmZpbmQoImlmcmFtZSIpLmF0dHIoImlkIikpO2EuZGF0YSgidm9sdW1lIiwibXV0ZSIpLGUuYXBpKCJzZXRWb2x1bWUiLDApfWNhdGNoKGEpe31icmVhaztjYXNlImh0bWw1Ijp2YXIgZj0iaHRtbDUiPT1jLmF1ZGlvPyJhdWRpbyI6InZpZGVvIjthLmZpbmQoZilbMF0ubXV0ZWQ9ITB9fSx1bk11dGVWaWRlbzpmdW5jdGlvbihhLGIpe2lmKCEwIT09Yi5nbG9iYWxtdXRlKXt2YXIgYz1hLmRhdGEoKTtzd2l0Y2goYy52aWRlb3R5cGUpe2Nhc2UieW91dHViZSI6dHJ5e2MucGxheWVyLnVuTXV0ZSgpfWNhdGNoKGEpe31icmVhaztjYXNlInZpbWVvIjp0cnl7dmFyIGU9JGYoYS5maW5kKCJpZnJhbWUiKS5hdHRyKCJpZCIpKTthLmRhdGEoInZvbHVtZSIsIjEiKSxlLmFwaSgic2V0Vm9sdW1lIiwxKX1jYXRjaChhKXt9YnJlYWs7Y2FzZSJodG1sNSI6dmFyIGY9Imh0bWw1Ij09Yy5hdWRpbz8iYXVkaW8iOiJ2aWRlbyI7YS5maW5kKGYpWzBdLm11dGVkPSExfX19LHN0b3BWaWRlbzpmdW5jdGlvbihhLGIpe3ZhciBjPWEuZGF0YSgpO3N3aXRjaChiLmxlYXZlVmlld1BvcnRCYXNlZFN0b3B8fChiLmxhc3RwbGF5ZWR2aWRlb3M9W10pLGIubGVhdmVWaWV3UG9ydEJhc2VkU3RvcD0hMSxjLnZpZGVvdHlwZSl7Y2FzZSJ5b3V0dWJlIjp0cnl7dmFyIGQ9Yy5wbGF5ZXI7aWYoMj09PWQuZ2V0UGxheWVyU3RhdGUoKXx8NT09PWQuZ2V0UGxheWVyU3RhdGUoKSlyZXR1cm47ZC5wYXVzZVZpZGVvKCksYy55b3V0dWJlcGF1c2VjYWxsZWQ9ITAsc2V0VGltZW91dChmdW5jdGlvbigpe2MueW91dHViZXBhdXNlY2FsbGVkPSExfSw4MCl9Y2F0Y2goYSl7Y29uc29sZS5sb2coIklzc3VlIGF0IFlvdVR1YmUgVmlkZW8gUGF1c2U6IiksY29uc29sZS5sb2coYSl9YnJlYWs7Y2FzZSJ2aW1lbyI6dHJ5eyRmKGEuZmluZCgiaWZyYW1lIikuYXR0cigiaWQiKSkuYXBpKCJwYXVzZSIpLGMudmltZW9wYXVzZWNhbGxlZD0hMCxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yy52aW1lb3BhdXNlY2FsbGVkPSExfSw4MCl9Y2F0Y2goYSl7Y29uc29sZS5sb2coIklzc3VlIGF0IFZpbWVvIFZpZGVvIFBhdXNlOiIpLGNvbnNvbGUubG9nKGEpfWJyZWFrO2Nhc2UiaHRtbDUiOnZhciBmPSJodG1sNSI9PWMuYXVkaW8/ImF1ZGlvIjoidmlkZW8iLGc9YS5maW5kKGYpLGg9Z1swXTt2b2lkIDAhPWcmJnZvaWQgMCE9aCYmaC5wYXVzZSgpfX0scGxheVZpZGVvOmZ1bmN0aW9uKGEsYyl7Y2xlYXJUaW1lb3V0KGEuZGF0YSgidmlkZW9wbGF5d2FpdCIpKTt2YXIgZD1hLmRhdGEoKTtzd2l0Y2goZC52aWRlb3R5cGUpe2Nhc2UieW91dHViZSI6aWYoMD09YS5maW5kKCJpZnJhbWUiKS5sZW5ndGgpYS5hcHBlbmQoYS5kYXRhKCJ2aWRlb21hcmt1cCIpKSxpKGEsYywhMCk7ZWxzZSBpZih2b2lkIDAhPWQucGxheWVyLnBsYXlWaWRlbyl7dmFyIGU9ZihhLmRhdGEoInZpZGVvc3RhcnRhdCIpKSxoPWQucGxheWVyLmdldEN1cnJlbnRUaW1lKCk7MT09YS5kYXRhKCJuZXh0c2xpZGVhdGVuZC10cmlnZ2VyZWQiKSYmKGg9LTEsYS5kYXRhKCJuZXh0c2xpZGVhdGVuZC10cmlnZ2VyZWQiLDApKSwtMSE9ZSYmZT5oJiZkLnBsYXllci5zZWVrVG8oZSksITAhPT1kLnlvdXR1YmVwYXVzZWNhbGxlZCYmZC5wbGF5ZXIucGxheVZpZGVvKCl9ZWxzZSBhLmRhdGEoInZpZGVvcGxheXdhaXQiLHNldFRpbWVvdXQoZnVuY3Rpb24oKXshMCE9PWQueW91dHViZXBhdXNlY2FsbGVkJiZiLnBsYXlWaWRlbyhhLGMpfSw1MCkpO2JyZWFrO2Nhc2UidmltZW8iOmlmKDA9PWEuZmluZCgiaWZyYW1lIikubGVuZ3RoKWEuYXBwZW5kKGEuZGF0YSgidmlkZW9tYXJrdXAiKSksaShhLGMsITApO2Vsc2UgaWYoYS5oYXNDbGFzcygicnMtYXBpcmVhZHkiKSl7dmFyIGo9YS5maW5kKCJpZnJhbWUiKS5hdHRyKCJpZCIpLGs9JGYoaik7dm9pZCAwPT1rLmFwaSgicGxheSIpP2EuZGF0YSgidmlkZW9wbGF5d2FpdCIsc2V0VGltZW91dChmdW5jdGlvbigpeyEwIT09ZC52aW1lb3BhdXNlY2FsbGVkJiZiLnBsYXlWaWRlbyhhLGMpfSw1MCkpOnNldFRpbWVvdXQoZnVuY3Rpb24oKXtrLmFwaSgicGxheSIpO3ZhciBiPWYoYS5kYXRhKCJ2aWRlb3N0YXJ0YXQiKSksYz1hLmRhdGEoImN1cnJlbnR0aW1lIik7MT09YS5kYXRhKCJuZXh0c2xpZGVhdGVuZC10cmlnZ2VyZWQiKSYmKGM9LTEsYS5kYXRhKCJuZXh0c2xpZGVhdGVuZC10cmlnZ2VyZWQiLDApKSwtMSE9YiYmYj5jJiZrLmFwaSgic2Vla1RvIixiKX0sNTEwKX1lbHNlIGEuZGF0YSgidmlkZW9wbGF5d2FpdCIsc2V0VGltZW91dChmdW5jdGlvbigpeyEwIT09ZC52aW1lb3BhdXNlY2FsbGVkJiZiLnBsYXlWaWRlbyhhLGMpfSw1MCkpO2JyZWFrO2Nhc2UiaHRtbDUiOnZhciBsPSJodG1sNSI9PWQuYXVkaW8/ImF1ZGlvIjoidmlkZW8iLG09YS5maW5kKGwpLG49bVswXTtpZigxIT1tLnBhcmVudCgpLmRhdGEoIm1ldGFsb2FkZWQiKSlnKG4sImxvYWRlZG1ldGFkYXRhIixmdW5jdGlvbihhKXtiLnJlc2V0VmlkZW8oYSxjKSxuLnBsYXkoKTt2YXIgZD1mKGEuZGF0YSgidmlkZW9zdGFydGF0IikpLGU9bi5jdXJyZW50VGltZTsxPT1hLmRhdGEoIm5leHRzbGlkZWF0ZW5kLXRyaWdnZXJlZCIpJiYoZT0tMSxhLmRhdGEoIm5leHRzbGlkZWF0ZW5kLXRyaWdnZXJlZCIsMCkpLC0xIT1kJiZkPmUmJihuLmN1cnJlbnRUaW1lPWQpfShhKSk7ZWxzZXtuLnBsYXkoKTt2YXIgZT1mKGEuZGF0YSgidmlkZW9zdGFydGF0IikpLGg9bi5jdXJyZW50VGltZTsxPT1hLmRhdGEoIm5leHRzbGlkZWF0ZW5kLXRyaWdnZXJlZCIpJiYoaD0tMSxhLmRhdGEoIm5leHRzbGlkZWF0ZW5kLXRyaWdnZXJlZCIsMCkpLC0xIT1lJiZlPmgmJihuLmN1cnJlbnRUaW1lPWUpfX19LGlzVmlkZW9QbGF5aW5nOmZ1bmN0aW9uKGEsYil7dmFyIGM9ITE7cmV0dXJuIHZvaWQgMCE9Yi5wbGF5aW5ndmlkZW9zJiZqUXVlcnkuZWFjaChiLnBsYXlpbmd2aWRlb3MsZnVuY3Rpb24oYixkKXthLmF0dHIoImlkIik9PWQuYXR0cigiaWQiKSYmKGM9ITApfSksY30scmVtb3ZlTWVkaWFGcm9tTGlzdDpmdW5jdGlvbihhLGIpe24oYSxiKX0scHJlcGFyZUNvdmVyZWRWaWRlbzpmdW5jdGlvbihhLGMsZCl7dmFyIGU9ZC5maW5kKCJpZnJhbWUsIHZpZGVvIiksZj1hLnNwbGl0KCI6IilbMF0sZz1hLnNwbGl0KCI6IilbMV0saD1kLmNsb3Nlc3QoIi50cC1yZXZzbGlkZXItc2xpZGVzbGkiKSxpPWgud2lkdGgoKS9oLmhlaWdodCgpLGo9Zi9nLGs9aS9qKjEwMCxsPWovaSoxMDA7aT5qP3B1bmNoZ3MuVHdlZW5MaXRlLnRvKGUsLjAwMSx7aGVpZ2h0OmsrIiUiLHdpZHRoOiIxMDAlIix0b3A6LShrLTEwMCkvMisiJSIsbGVmdDoiMHB4Iixwb3NpdGlvbjoiYWJzb2x1dGUifSk6cHVuY2hncy5Ud2VlbkxpdGUudG8oZSwuMDAxLHt3aWR0aDpsKyIlIixoZWlnaHQ6IjEwMCUiLGxlZnQ6LShsLTEwMCkvMisiJSIsdG9wOiIwcHgiLHBvc2l0aW9uOiJhYnNvbHV0ZSJ9KSxlLmhhc0NsYXNzKCJyZXNpemVsaXN0ZW5lciIpfHwoZS5hZGRDbGFzcygicmVzaXplbGlzdGVuZXIiKSxqUXVlcnkod2luZG93KS5yZXNpemUoZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQoZS5kYXRhKCJyZXNpemVsaXN0ZW5lciIpKSxlLmRhdGEoInJlc2l6ZWxpc3RlbmVyIixzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yi5wcmVwYXJlQ292ZXJlZFZpZGVvKGEsYyxkKX0sMzApKX0pKX0sY2hlY2tWaWRlb0FwaXM6ZnVuY3Rpb24oYSxiLGMpe2xvY2F0aW9uLnByb3RvY29sO2lmKCh2b2lkIDAhPWEuZGF0YSgieXRpZCIpfHxhLmZpbmQoImlmcmFtZSIpLmxlbmd0aD4wJiZhLmZpbmQoImlmcmFtZSIpLmF0dHIoInNyYyIpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZigieW91dHViZSIpPjApJiYoYi55b3V0dWJlYXBpbmVlZGVkPSEwKSwodm9pZCAwIT1hLmRhdGEoInl0aWQiKXx8YS5maW5kKCJpZnJhbWUiKS5sZW5ndGg+MCYmYS5maW5kKCJpZnJhbWUiKS5hdHRyKCJzcmMiKS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoInlvdXR1YmUiKT4wKSYmMD09Yy5hZGRlZHl0KXtiLnlvdXR1YmVzdGFydHRpbWU9alF1ZXJ5Lm5vdygpLGMuYWRkZWR5dD0xO3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO2Uuc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9pZnJhbWVfYXBpIjt2YXIgZj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF0sZz0hMDtqUXVlcnkoImhlYWQiKS5maW5kKCIqIikuZWFjaChmdW5jdGlvbigpeyJodHRwczovL3d3dy55b3V0dWJlLmNvbS9pZnJhbWVfYXBpIj09alF1ZXJ5KHRoaXMpLmF0dHIoInNyYyIpJiYoZz0hMSl9KSxnJiZmLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGUsZil9aWYoKHZvaWQgMCE9YS5kYXRhKCJ2aW1lb2lkIil8fGEuZmluZCgiaWZyYW1lIikubGVuZ3RoPjAmJmEuZmluZCgiaWZyYW1lIikuYXR0cigic3JjIikudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ2aW1lbyIpPjApJiYoYi52aW1lb2FwaW5lZWRlZD0hMCksKHZvaWQgMCE9YS5kYXRhKCJ2aW1lb2lkIil8fGEuZmluZCgiaWZyYW1lIikubGVuZ3RoPjAmJmEuZmluZCgiaWZyYW1lIikuYXR0cigic3JjIikudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ2aW1lbyIpPjApJiYwPT1jLmFkZGVkdmltKXtiLnZpbWVvc3RhcnR0aW1lPWpRdWVyeS5ub3coKSxjLmFkZGVkdmltPTE7dmFyIGg9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0IiksZj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF0sZz0hMDtoLnNyYz0iaHR0cHM6Ly9zZWN1cmUtYS52aW1lb2Nkbi5jb20vanMvZnJvb2dhbG9vcDIubWluLmpzIixqUXVlcnkoImhlYWQiKS5maW5kKCIqIikuZWFjaChmdW5jdGlvbigpeyJodHRwczovL3NlY3VyZS1hLnZpbWVvY2RuLmNvbS9qcy9mcm9vZ2Fsb29wMi5taW4uanMiPT1qUXVlcnkodGhpcykuYXR0cigic3JjIikmJihnPSExKX0pLGcmJmYucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoaCxmKX1yZXR1cm4gY30sbWFuYWdlVmlkZW9MYXllcjpmdW5jdGlvbihhLGQsaCxqKXtpZigic3RvcCI9PT1iLmNvbXBhcmVfdmVyc2lvbihlKS5jaGVjaylyZXR1cm4hMTt2YXIgaz1hLmRhdGEoKSxtPWsudmlkZW9hdHRyaWJ1dGVzLG49ay55dGlkLG89ay52aW1lb2lkLHA9ImF1dG8iPT09ay52aWRlb3ByZWxvYWR8fCJjYW5wbGF5Ij09PWsudmlkZW9wcmVsb2FkfHwiY2FucGxheXRocm91Z2giPT09ay52aWRlb3ByZWxvYWR8fCJwcm9ncmVzcyI9PT1rLnZpZGVvcHJlbG9hZD8iYXV0byI6ay52aWRlb3ByZWxvYWQscT1rLnZpZGVvbXA0LHI9ay52aWRlb3dlYm0scz1rLnZpZGVvb2d2LHQ9ay5hbGxvd2Z1bGxzY3JlZW52aWRlbyx1PWsudmlkZW9jb250cm9scyx2PSJodHRwIix3PSJsb29wIj09ay52aWRlb2xvb3A/Imxvb3AiOiJsb29wYW5kbm9zbGlkZXN0b3AiPT1rLnZpZGVvbG9vcD8ibG9vcCI6IiIseD12b2lkIDAhPXF8fHZvaWQgMCE9cj8iaHRtbDUiOnZvaWQgMCE9biYmU3RyaW5nKG4pLmxlbmd0aD4xPyJ5b3V0dWJlIjp2b2lkIDAhPW8mJlN0cmluZyhvKS5sZW5ndGg+MT8idmltZW8iOiJub25lIix5PSJodG1sNSI9PWsuYXVkaW8/ImF1ZGlvIjoidmlkZW8iLHo9Imh0bWw1Ij09eCYmMD09YS5maW5kKHkpLmxlbmd0aD8iaHRtbDUiOiJ5b3V0dWJlIj09eCYmMD09YS5maW5kKCJpZnJhbWUiKS5sZW5ndGg/InlvdXR1YmUiOiJ2aW1lbyI9PXgmJjA9PWEuZmluZCgiaWZyYW1lIikubGVuZ3RoPyJ2aW1lbyI6Im5vbmUiO3N3aXRjaCh3PSEwPT09ay5uZXh0c2xpZGVhdGVuZD8iIjp3LGsudmlkZW90eXBlPXgseil7Y2FzZSJodG1sNSI6ImNvbnRyb2xzIiE9dSYmKHU9IiIpO3ZhciB5PSJ2aWRlbyI7Imh0bWw1Ij09ay5hdWRpbyYmKHk9ImF1ZGlvIixhLmFkZENsYXNzKCJ0cC1hdWRpby1odG1sNSIpKTt2YXIgQT1kLmZhbGxiYWNrcy5hbGxvd0hUTUw1QXV0b1BsYXlPbkFuZHJvaWQ/Im11dGVkIHBsYXlzaW5saW5lIjoiIixCPSI8Iit5KyIgIitBKycgc3R5bGU9Im9iamVjdC1maXQ6Y292ZXI7YmFja2dyb3VuZC1zaXplOmNvdmVyO3Zpc2libGU6aGlkZGVuO3dpZHRoOjEwMCU7IGhlaWdodDoxMDAlIiBjbGFzcz0iIiAnK3crJyBwcmVsb2FkPSInK3ArJyI+JzsiYXV0byI9PXAmJihkLm1lZGlhcHJlbG9hZD0hMCksdm9pZCAwIT1yJiYiZmlyZWZveCI9PWIuZ2V0X2Jyb3dzZXIoKS50b0xvd2VyQ2FzZSgpJiYoQj1CKyc8c291cmNlIHNyYz0iJytyKyciIHR5cGU9InZpZGVvL3dlYm0iIC8+Jyksdm9pZCAwIT1xJiYoQj1CKyc8c291cmNlIHNyYz0iJytxKyciIHR5cGU9InZpZGVvL21wNCIgLz4nKSx2b2lkIDAhPXMmJihCPUIrJzxzb3VyY2Ugc3JjPSInK3MrJyIgdHlwZT0idmlkZW8vb2dnIiAvPicpLEI9QisiPC8iK3krIj4iO3ZhciBDPSIiOyJ0cnVlIiE9PXQmJiEwIT09dHx8KEM9JzxkaXYgY2xhc3M9InRwLXZpZGVvLWJ1dHRvbi13cmFwIj48YnV0dG9uICB0eXBlPSJidXR0b24iIGNsYXNzPSJ0cC12aWRlby1idXR0b24gdHAtdmlkLWZ1bGwtc2NyZWVuIj5GdWxsLVNjcmVlbjwvYnV0dG9uPjwvZGl2PicpLCJjb250cm9scyI9PXUmJihCPUIrJzxkaXYgY2xhc3M9InRwLXZpZGVvLWNvbnRyb2xzIj48ZGl2IGNsYXNzPSJ0cC12aWRlby1idXR0b24td3JhcCI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJ0cC12aWRlby1idXR0b24gdHAtdmlkLXBsYXktcGF1c2UiPlBsYXk8L2J1dHRvbj48L2Rpdj48ZGl2IGNsYXNzPSJ0cC12aWRlby1zZWVrLWJhci13cmFwIj48aW5wdXQgIHR5cGU9InJhbmdlIiBjbGFzcz0idHAtc2Vlay1iYXIiIHZhbHVlPSIwIj48L2Rpdj48ZGl2IGNsYXNzPSJ0cC12aWRlby1idXR0b24td3JhcCI+PGJ1dHRvbiAgdHlwZT0iYnV0dG9uIiBjbGFzcz0idHAtdmlkZW8tYnV0dG9uIHRwLXZpZC1tdXRlIj5NdXRlPC9idXR0b24+PC9kaXY+PGRpdiBjbGFzcz0idHAtdmlkZW8tdm9sLWJhci13cmFwIj48aW5wdXQgIHR5cGU9InJhbmdlIiBjbGFzcz0idHAtdm9sdW1lLWJhciIgbWluPSIwIiBtYXg9IjEiIHN0ZXA9IjAuMSIgdmFsdWU9IjEiPjwvZGl2PicrQysiPC9kaXY+IiksYS5kYXRhKCJ2aWRlb21hcmt1cCIsQiksYS5hcHBlbmQoQiksKGMmJjE9PWEuZGF0YSgiZGlzYWJsZXZpZGVvb25tb2JpbGUiKXx8Yi5pc0lFKDgpKSYmYS5maW5kKHkpLnJlbW92ZSgpLGEuZmluZCh5KS5lYWNoKGZ1bmN0aW9uKGMpe3ZhciBlPXRoaXMsZj1qUXVlcnkodGhpcyk7Zi5wYXJlbnQoKS5oYXNDbGFzcygiaHRtbDV2aWQiKXx8Zi53cmFwKCc8ZGl2IGNsYXNzPSJodG1sNXZpZCIgc3R5bGU9InBvc2l0aW9uOnJlbGF0aXZlO3RvcDowcHg7bGVmdDowcHg7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTsgb3ZlcmZsb3c6aGlkZGVuOyI+PC9kaXY+JyksMSE9Zi5wYXJlbnQoKS5kYXRhKCJtZXRhbG9hZGVkIikmJmcoZSwibG9hZGVkbWV0YWRhdGEiLGZ1bmN0aW9uKGEpe2woYSxkKSxiLnJlc2V0VmlkZW8oYSxkKX0oYSkpfSk7YnJlYWs7Y2FzZSJ5b3V0dWJlIjp2PSJodHRwcyIsIm5vbmUiPT11JiYobT1tLnJlcGxhY2UoImNvbnRyb2xzPTEiLCJjb250cm9scz0wIiksLTE9PW0udG9Mb3dlckNhc2UoKS5pbmRleE9mKCJjb250cm9scyIpJiYobSs9IiZjb250cm9scz0wIikpLCEwIT09ay52aWRlb2lubGluZSYmInRydWUiIT09ay52aWRlb2lubGluZSYmMSE9PWsudmlkZW9pbmxpbmV8fChtKz0iJnBsYXlzaW5saW5lPTEiKTt2YXIgRD1mKGEuZGF0YSgidmlkZW9zdGFydGF0IikpLEU9ZihhLmRhdGEoInZpZGVvZW5kYXQiKSk7LTEhPUQmJihtPW0rIiZzdGFydD0iK0QpLC0xIT1FJiYobT1tKyImZW5kPSIrRSk7dmFyIEY9bS5zcGxpdCgib3JpZ2luPSIrdisiOi8vIiksRz0iIjtGLmxlbmd0aD4xPyhHPUZbMF0rIm9yaWdpbj0iK3YrIjovLyIsc2VsZi5sb2NhdGlvbi5ocmVmLm1hdGNoKC93d3cvZ2kpJiYhRlsxXS5tYXRjaCgvd3d3L2dpKSYmKEcrPSJ3d3cuIiksRys9RlsxXSk6Rz1tO3ZhciBIPSJ0cnVlIj09PXR8fCEwPT09dD8iYWxsb3dmdWxsc2NyZWVuIjoiIjthLmRhdGEoInZpZGVvbWFya3VwIiwnPGlmcmFtZSB0eXBlPSJ0ZXh0L2h0bWwiIHNyYz0iJyt2KyI6Ly93d3cueW91dHViZS5jb20vZW1iZWQvIituKyI/IitHKyciICcrSCsnIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHN0eWxlPSJvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJSI+PC9pZnJhbWU+Jyk7YnJlYWs7Y2FzZSJ2aW1lbyI6dj0iaHR0cHMiLGEuZGF0YSgidmlkZW9tYXJrdXAiLCc8aWZyYW1lIHNyYz0iJyt2KyI6Ly9wbGF5ZXIudmltZW8uY29tL3ZpZGVvLyIrbysiP2F1dG9wbGF5PTAmIittKyciIHdlYmtpdGFsbG93ZnVsbHNjcmVlbiBtb3phbGxvd2Z1bGxzY3JlZW4gYWxsb3dmdWxsc2NyZWVuIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHN0eWxlPSJvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47MTAwJTtoZWlnaHQ6MTAwJSI+PC9pZnJhbWU+Jyl9dmFyIEk9YyYmIm9uIj09YS5kYXRhKCJub3Bvc3Rlcm9ubW9iaWxlIik7aWYodm9pZCAwIT1rLnZpZGVvcG9zdGVyJiZrLnZpZGVvcG9zdGVyLmxlbmd0aD4yJiYhSSkwPT1hLmZpbmQoIi50cC12aWRlb3Bvc3RlciIpLmxlbmd0aCYmYS5hcHBlbmQoJzxkaXYgY2xhc3M9InRwLXZpZGVvcG9zdGVyIG5vU3dpcGUiIHN0eWxlPSJjdXJzb3I6cG9pbnRlcjsgcG9zaXRpb246YWJzb2x1dGU7dG9wOjBweDtsZWZ0OjBweDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3otaW5kZXg6MztiYWNrZ3JvdW5kLWltYWdlOnVybCgnK2sudmlkZW9wb3N0ZXIrJyk7IGJhY2tncm91bmQtc2l6ZTpjb3ZlcjtiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7Ij48L2Rpdj4nKSwwPT1hLmZpbmQoImlmcmFtZSIpLmxlbmd0aCYmYS5maW5kKCIudHAtdmlkZW9wb3N0ZXIiKS5jbGljayhmdW5jdGlvbigpe2lmKGIucGxheVZpZGVvKGEsZCksYyl7aWYoMT09YS5kYXRhKCJkaXNhYmxldmlkZW9vbm1vYmlsZSIpKXJldHVybiExO3B1bmNoZ3MuVHdlZW5MaXRlLnRvKGEuZmluZCgiLnRwLXZpZGVvcG9zdGVyIiksLjMse2F1dG9BbHBoYTowLGZvcmNlM0Q6ImF1dG8iLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0fSkscHVuY2hncy5Ud2VlbkxpdGUudG8oYS5maW5kKCJpZnJhbWUiKSwuMyx7YXV0b0FscGhhOjEsZGlzcGxheToiYmxvY2siLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0fSl9fSk7ZWxzZXtpZihjJiYxPT1hLmRhdGEoImRpc2FibGV2aWRlb29ubW9iaWxlIikpcmV0dXJuITE7MCE9YS5maW5kKCJpZnJhbWUiKS5sZW5ndGh8fCJ5b3V0dWJlIiE9eCYmInZpbWVvIiE9eHx8KGEuYXBwZW5kKGEuZGF0YSgidmlkZW9tYXJrdXAiKSksaShhLGQsITEpKX0ibm9uZSIhPWEuZGF0YSgiZG90dGVkb3ZlcmxheSIpJiZ2b2lkIDAhPWEuZGF0YSgiZG90dGVkb3ZlcmxheSIpJiYxIT1hLmZpbmQoIi50cC1kb3R0ZWRvdmVybGF5IikubGVuZ3RoJiZhLmFwcGVuZCgnPGRpdiBjbGFzcz0idHAtZG90dGVkb3ZlcmxheSAnK2EuZGF0YSgiZG90dGVkb3ZlcmxheSIpKyciPjwvZGl2PicpLGEuYWRkQ2xhc3MoIkhhc0xpc3RlbmVyIiksMT09YS5kYXRhKCJiZ3ZpZGVvIikmJnB1bmNoZ3MuVHdlZW5MaXRlLnNldChhLmZpbmQoInZpZGVvLCBpZnJhbWUiKSx7YXV0b0FscGhhOjB9KX19KTt2YXIgZz1mdW5jdGlvbihhLGIsYyl7YS5hZGRFdmVudExpc3RlbmVyP2EuYWRkRXZlbnRMaXN0ZW5lcihiLGMse2NhcHR1cmU6ITEscGFzc2l2ZTohMH0pOmEuYXR0YWNoRXZlbnQoYixjLHtjYXB0dXJlOiExLHBhc3NpdmU6ITB9KX0saD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9e307cmV0dXJuIGQudmlkZW89YSxkLnZpZGVvdHlwZT1iLGQuc2V0dGluZ3M9YyxkfSxpPWZ1bmN0aW9uKGEsZCxlKXt2YXIgZz1hLmRhdGEoKSxpPWEuZmluZCgiaWZyYW1lIiksbD0iaWZyYW1lIitNYXRoLnJvdW5kKDFlNSpNYXRoLnJhbmRvbSgpKzEpLG89Zy52aWRlb2xvb3AscD0ibG9vcGFuZG5vc2xpZGVzdG9wIiE9bztpZihvPSJsb29wIj09b3x8Imxvb3BhbmRub3NsaWRlc3RvcCI9PW8sMT09YS5kYXRhKCJmb3JjZWNvdmVyIikpe2EucmVtb3ZlQ2xhc3MoImZ1bGxzY3JlZW52aWRlbyIpLmFkZENsYXNzKCJjb3ZlcnNjcmVlbnZpZGVvIik7dmFyIHE9YS5kYXRhKCJhc3BlY3RyYXRpbyIpO3ZvaWQgMCE9cSYmcS5zcGxpdCgiOiIpLmxlbmd0aD4xJiYoY29uc29sZS5sb2coImkiKSxiLnByZXBhcmVDb3ZlcmVkVmlkZW8ocSxkLGEpKX1pZigxPT1hLmRhdGEoImJndmlkZW8iKSl7dmFyIHE9YS5kYXRhKCJhc3BlY3RyYXRpbyIpO3ZvaWQgMCE9cSYmcS5zcGxpdCgiOiIpLmxlbmd0aD4xJiYoY29uc29sZS5sb2coImFrIiksYi5wcmVwYXJlQ292ZXJlZFZpZGVvKHEsZCxhKSl9aWYoaS5hdHRyKCJpZCIsbCksZSYmYS5kYXRhKCJzdGFydHZpZGVvbm93IiwhMCksMSE9PWEuZGF0YSgidmlkZW9saXN0ZW5lcmV4aXN0Iikpc3dpdGNoKGcudmlkZW90eXBlKXtjYXNlInlvdXR1YmUiOnZhciByPW5ldyBZVC5QbGF5ZXIobCx7ZXZlbnRzOntvblN0YXRlQ2hhbmdlOmZ1bmN0aW9uKGMpe3ZhciBlPWEuY2xvc2VzdCgiLnRwLXNpbXBsZXJlc3BvbnNpdmUiKSxxPShnLnZpZGVvcmF0ZSxhLmRhdGEoInZpZGVvc3RhcnQiKSxrKCkpO2lmKGMuZGF0YT09WVQuUGxheWVyU3RhdGUuUExBWUlORylwdW5jaGdzLlR3ZWVuTGl0ZS50byhhLmZpbmQoIi50cC12aWRlb3Bvc3RlciIpLC4zLHthdXRvQWxwaGE6MCxmb3JjZTNEOiJhdXRvIixlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dH0pLHB1bmNoZ3MuVHdlZW5MaXRlLnRvKGEuZmluZCgiaWZyYW1lIiksLjMse2F1dG9BbHBoYToxLGRpc3BsYXk6ImJsb2NrIixlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dH0pLCJtdXRlIj09YS5kYXRhKCJ2b2x1bWUiKXx8Yi5sYXN0VG9nZ2xlU3RhdGUoYS5kYXRhKCJ2aWRlb211dGV0b2dnbGVkYnkiKSl8fCEwPT09ZC5nbG9iYWxtdXRlP3IubXV0ZSgpOihyLnVuTXV0ZSgpLHIuc2V0Vm9sdW1lKHBhcnNlSW50KGEuZGF0YSgidm9sdW1lIiksMCl8fDc1KSksZC52aWRlb3BsYXlpbmc9ITAsbShhLGQpLHA/ZC5jLnRyaWdnZXIoInN0b3B0aW1lciIpOmQudmlkZW9wbGF5aW5nPSExLGQuYy50cmlnZ2VyKCJyZXZvbHV0aW9uLnNsaWRlLm9udmlkZW9wbGF5IixoKHIsInlvdXR1YmUiLGEuZGF0YSgpKSksYi50b2dnbGVTdGF0ZShnLnZpZGVvdG9nZ2xlZGJ5KTtlbHNle2lmKDA9PWMuZGF0YSYmbyl7dmFyIHM9ZihhLmRhdGEoInZpZGVvc3RhcnRhdCIpKTstMSE9cyYmci5zZWVrVG8ocyksci5wbGF5VmlkZW8oKSxiLnRvZ2dsZVN0YXRlKGcudmlkZW90b2dnbGVkYnkpfXF8fDAhPWMuZGF0YSYmMiE9Yy5kYXRhfHwhKCJvbiI9PWEuZGF0YSgic2hvd2NvdmVyb25wYXVzZSIpJiZhLmZpbmQoIi50cC12aWRlb3Bvc3RlciIpLmxlbmd0aD4wfHwxPT09YS5kYXRhKCJiZ3ZpZGVvIikmJmEuZmluZCgiLnJzLWZ1bGx2aWRlby1jb3ZlciIpLmxlbmd0aD4wKXx8KDE9PT1hLmRhdGEoImJndmlkZW8iKT9wdW5jaGdzLlR3ZWVuTGl0ZS50byhhLmZpbmQoIi5ycy1mdWxsdmlkZW8tY292ZXIiKSwuMSx7YXV0b0FscGhhOjEsZm9yY2UzRDoiYXV0byIsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlSW5PdXR9KTpwdW5jaGdzLlR3ZWVuTGl0ZS50byhhLmZpbmQoIi50cC12aWRlb3Bvc3RlciIpLC4xLHthdXRvQWxwaGE6MSxmb3JjZTNEOiJhdXRvIixlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dH0pLHB1bmNoZ3MuVHdlZW5MaXRlLnRvKGEuZmluZCgiaWZyYW1lIiksLjEse2F1dG9BbHBoYTowLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0fSkpLC0xIT1jLmRhdGEmJjMhPWMuZGF0YSYmKGQudmlkZW9wbGF5aW5nPSExLGQudG9ucGF1c2U9ITEsbihhLGQpLGUudHJpZ2dlcigic3RhcnR0aW1lciIpLGQuYy50cmlnZ2VyKCJyZXZvbHV0aW9uLnNsaWRlLm9udmlkZW9zdG9wIixoKHIsInlvdXR1YmUiLGEuZGF0YSgpKSksdm9pZCAwIT1kLmN1cnJlbnRMYXllclZpZGVvSXNQbGF5aW5nJiZkLmN1cnJlbnRMYXllclZpZGVvSXNQbGF5aW5nLmF0dHIoImlkIikhPWEuYXR0cigiaWQiKXx8Yi51blRvZ2dsZVN0YXRlKGcudmlkZW90b2dnbGVkYnkpKSwwPT1jLmRhdGEmJjE9PWEuZGF0YSgibmV4dHNsaWRlYXRlbmQiKT8oaigpLGEuZGF0YSgibmV4dHNsaWRlYXRlbmQtdHJpZ2dlcmVkIiwxKSxkLmMucmV2bmV4dCgpLG4oYSxkKSk6KG4oYSxkKSxkLnZpZGVvcGxheWluZz0hMSxlLnRyaWdnZXIoInN0YXJ0dGltZXIiKSxkLmMudHJpZ2dlcigicmV2b2x1dGlvbi5zbGlkZS5vbnZpZGVvc3RvcCIsaChyLCJ5b3V0dWJlIixhLmRhdGEoKSkpLHZvaWQgMCE9ZC5jdXJyZW50TGF5ZXJWaWRlb0lzUGxheWluZyYmZC5jdXJyZW50TGF5ZXJWaWRlb0lzUGxheWluZy5hdHRyKCJpZCIpIT1hLmF0dHIoImlkIil8fGIudW5Ub2dnbGVTdGF0ZShnLnZpZGVvdG9nZ2xlZGJ5KSl9fSxvblJlYWR5OmZ1bmN0aW9uKGIpe3ZhciBkPWcudmlkZW9yYXRlO2EuZGF0YSgidmlkZW9zdGFydCIpO2lmKGEuYWRkQ2xhc3MoInJzLWFwaXJlYWR5Iiksdm9pZCAwIT1kJiZiLnRhcmdldC5zZXRQbGF5YmFja1JhdGUocGFyc2VGbG9hdChkKSksYS5maW5kKCIudHAtdmlkZW9wb3N0ZXIiKS51bmJpbmQoImNsaWNrIiksYS5maW5kKCIudHAtdmlkZW9wb3N0ZXIiKS5jbGljayhmdW5jdGlvbigpe2N8fHIucGxheVZpZGVvKCl9KSxhLmRhdGEoInN0YXJ0dmlkZW9ub3ciKSl7Zy5wbGF5ZXIucGxheVZpZGVvKCk7dmFyIGg9ZihhLmRhdGEoInZpZGVvc3RhcnRhdCIpKTstMSE9aCYmZy5wbGF5ZXIuc2Vla1RvKGgpfWEuZGF0YSgidmlkZW9saXN0ZW5lcmV4aXN0IiwxKX19fSk7YS5kYXRhKCJwbGF5ZXIiLHIpO2JyZWFrO2Nhc2UidmltZW8iOmZvcih2YXIgdyxzPWkuYXR0cigic3JjIiksdD17fSx1PXMsdj0vKFteJj1dKyk9KFteJl0qKS9nO3c9di5leGVjKHUpOyl0W2RlY29kZVVSSUNvbXBvbmVudCh3WzFdKV09ZGVjb2RlVVJJQ29tcG9uZW50KHdbMl0pO3M9dm9pZCAwIT10LnBsYXllcl9pZD9zLnJlcGxhY2UodC5wbGF5ZXJfaWQsbCk6cysiJnBsYXllcl9pZD0iK2w7dHJ5e3M9cy5yZXBsYWNlKCJhcGk9MCIsImFwaT0xIil9Y2F0Y2goYSl7fXMrPSImYXBpPTEiLGkuYXR0cigic3JjIixzKTt2YXIgcj1hLmZpbmQoImlmcmFtZSIpWzBdLHk9KGpRdWVyeSgiIyIrbCksJGYobCkpO3kuYWRkRXZlbnQoInJlYWR5IixmdW5jdGlvbigpe2lmKGEuYWRkQ2xhc3MoInJzLWFwaXJlYWR5IikseS5hZGRFdmVudCgicGxheSIsZnVuY3Rpb24oYyl7YS5kYXRhKCJuZXh0c2xpZGVjYWxsZWQiLDApLHB1bmNoZ3MuVHdlZW5MaXRlLnRvKGEuZmluZCgiLnRwLXZpZGVvcG9zdGVyIiksLjMse2F1dG9BbHBoYTowLGZvcmNlM0Q6ImF1dG8iLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0fSkscHVuY2hncy5Ud2VlbkxpdGUudG8oYS5maW5kKCJpZnJhbWUiKSwuMyx7YXV0b0FscGhhOjEsZGlzcGxheToiYmxvY2siLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0fSksZC5jLnRyaWdnZXIoInJldm9sdXRpb24uc2xpZGUub252aWRlb3BsYXkiLGgoeSwidmltZW8iLGEuZGF0YSgpKSksZC52aWRlb3BsYXlpbmc9ITAsbShhLGQpLHA/ZC5jLnRyaWdnZXIoInN0b3B0aW1lciIpOmQudmlkZW9wbGF5aW5nPSExLCJtdXRlIj09YS5kYXRhKCJ2b2x1bWUiKXx8Yi5sYXN0VG9nZ2xlU3RhdGUoYS5kYXRhKCJ2aWRlb211dGV0b2dnbGVkYnkiKSl8fCEwPT09ZC5nbG9iYWxtdXRlP3kuYXBpKCJzZXRWb2x1bWUiLCIwIik6eS5hcGkoInNldFZvbHVtZSIscGFyc2VJbnQoYS5kYXRhKCJ2b2x1bWUiKSwwKS8xMDB8fC43NSksYi50b2dnbGVTdGF0ZShnLnZpZGVvdG9nZ2xlZGJ5KX0pLHkuYWRkRXZlbnQoInBsYXlQcm9ncmVzcyIsZnVuY3Rpb24oYil7dmFyIGM9ZihhLmRhdGEoInZpZGVvZW5kYXQiKSk7aWYoYS5kYXRhKCJjdXJyZW50dGltZSIsYi5zZWNvbmRzKSwwIT1jJiZNYXRoLmFicyhjLWIuc2Vjb25kcyk8LjMmJmM+Yi5zZWNvbmRzJiYxIT1hLmRhdGEoIm5leHRzbGlkZWNhbGxlZCIpKWlmKG8pe3kuYXBpKCJwbGF5Iik7dmFyIGU9ZihhLmRhdGEoInZpZGVvc3RhcnRhdCIpKTstMSE9ZSYmeS5hcGkoInNlZWtUbyIsZSl9ZWxzZSAxPT1hLmRhdGEoIm5leHRzbGlkZWF0ZW5kIikmJihhLmRhdGEoIm5leHRzbGlkZWF0ZW5kLXRyaWdnZXJlZCIsMSksYS5kYXRhKCJuZXh0c2xpZGVjYWxsZWQiLDEpLGQuYy5yZXZuZXh0KCkpLHkuYXBpKCJwYXVzZSIpfSkseS5hZGRFdmVudCgiZmluaXNoIixmdW5jdGlvbihjKXtuKGEsZCksZC52aWRlb3BsYXlpbmc9ITEsZC5jLnRyaWdnZXIoInN0YXJ0dGltZXIiKSxkLmMudHJpZ2dlcigicmV2b2x1dGlvbi5zbGlkZS5vbnZpZGVvc3RvcCIsaCh5LCJ2aW1lbyIsYS5kYXRhKCkpKSwxPT1hLmRhdGEoIm5leHRzbGlkZWF0ZW5kIikmJihhLmRhdGEoIm5leHRzbGlkZWF0ZW5kLXRyaWdnZXJlZCIsMSksZC5jLnJldm5leHQoKSksdm9pZCAwIT1kLmN1cnJlbnRMYXllclZpZGVvSXNQbGF5aW5nJiZkLmN1cnJlbnRMYXllclZpZGVvSXNQbGF5aW5nLmF0dHIoImlkIikhPWEuYXR0cigiaWQiKXx8Yi51blRvZ2dsZVN0YXRlKGcudmlkZW90b2dnbGVkYnkpfSkseS5hZGRFdmVudCgicGF1c2UiLGZ1bmN0aW9uKGMpeygib24iPT1hLmRhdGEoInNob3djb3Zlcm9ucGF1c2UiKSYmYS5maW5kKCIudHAtdmlkZW9wb3N0ZXIiKS5sZW5ndGg+MHx8MT09PWEuZGF0YSgiYmd2aWRlbyIpJiZhLmZpbmQoIi5ycy1mdWxsdmlkZW8tY292ZXIiKS5sZW5ndGg+MCkmJigxPT09YS5kYXRhKCJiZ3ZpZGVvIik/cHVuY2hncy5Ud2VlbkxpdGUudG8oYS5maW5kKCIucnMtZnVsbHZpZGVvLWNvdmVyIiksLjEse2F1dG9BbHBoYToxLGZvcmNlM0Q6ImF1dG8iLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0fSk6cHVuY2hncy5Ud2VlbkxpdGUudG8oYS5maW5kKCIudHAtdmlkZW9wb3N0ZXIiKSwuMSx7YXV0b0FscGhhOjEsZm9yY2UzRDoiYXV0byIsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlSW5PdXR9KSxwdW5jaGdzLlR3ZWVuTGl0ZS50byhhLmZpbmQoImlmcmFtZSIpLC4xLHthdXRvQWxwaGE6MCxlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dH0pKSxkLnZpZGVvcGxheWluZz0hMSxkLnRvbnBhdXNlPSExLG4oYSxkKSxkLmMudHJpZ2dlcigic3RhcnR0aW1lciIpLGQuYy50cmlnZ2VyKCJyZXZvbHV0aW9uLnNsaWRlLm9udmlkZW9zdG9wIixoKHksInZpbWVvIixhLmRhdGEoKSkpLHZvaWQgMCE9ZC5jdXJyZW50TGF5ZXJWaWRlb0lzUGxheWluZyYmZC5jdXJyZW50TGF5ZXJWaWRlb0lzUGxheWluZy5hdHRyKCJpZCIpIT1hLmF0dHIoImlkIil8fGIudW5Ub2dnbGVTdGF0ZShnLnZpZGVvdG9nZ2xlZGJ5KX0pLGEuZmluZCgiLnRwLXZpZGVvcG9zdGVyIikudW5iaW5kKCJjbGljayIpLGEuZmluZCgiLnRwLXZpZGVvcG9zdGVyIikuY2xpY2soZnVuY3Rpb24oKXtpZighYylyZXR1cm4geS5hcGkoInBsYXkiKSwhMX0pLGEuZGF0YSgic3RhcnR2aWRlb25vdyIpKXt5LmFwaSgicGxheSIpO3ZhciBlPWYoYS5kYXRhKCJ2aWRlb3N0YXJ0YXQiKSk7LTEhPWUmJnkuYXBpKCJzZWVrVG8iLGUpfWEuZGF0YSgidmlkZW9saXN0ZW5lcmV4aXN0IiwxKX0pfWVsc2V7dmFyIHo9ZihhLmRhdGEoInZpZGVvc3RhcnRhdCIpKTtzd2l0Y2goZy52aWRlb3R5cGUpe2Nhc2UieW91dHViZSI6ZSYmKGcucGxheWVyLnBsYXlWaWRlbygpLC0xIT16JiZnLnBsYXllci5zZWVrVG8oKSk7YnJlYWs7Y2FzZSJ2aW1lbyI6aWYoZSl7dmFyIHk9JGYoYS5maW5kKCJpZnJhbWUiKS5hdHRyKCJpZCIpKTt5LmFwaSgicGxheSIpLC0xIT16JiZ5LmFwaSgic2Vla1RvIix6KX19fX0saj1mdW5jdGlvbigpe2RvY3VtZW50LmV4aXRGdWxsc2NyZWVuP2RvY3VtZW50LmV4aXRGdWxsc2NyZWVuKCk6ZG9jdW1lbnQubW96Q2FuY2VsRnVsbFNjcmVlbj9kb2N1bWVudC5tb3pDYW5jZWxGdWxsU2NyZWVuKCk6ZG9jdW1lbnQud2Via2l0RXhpdEZ1bGxzY3JlZW4mJmRvY3VtZW50LndlYmtpdEV4aXRGdWxsc2NyZWVuKCl9LGs9ZnVuY3Rpb24oKXt0cnl7aWYodm9pZCAwIT09d2luZG93LmZ1bGxTY3JlZW4pcmV0dXJuIHdpbmRvdy5mdWxsU2NyZWVuO3ZhciBhPTU7cmV0dXJuIGpRdWVyeS5icm93c2VyLndlYmtpdCYmL0FwcGxlIENvbXB1dGVyLy50ZXN0KG5hdmlnYXRvci52ZW5kb3IpJiYoYT00Miksc2NyZWVuLndpZHRoPT13aW5kb3cuaW5uZXJXaWR0aCYmTWF0aC5hYnMoc2NyZWVuLmhlaWdodC13aW5kb3cuaW5uZXJIZWlnaHQpPGF9Y2F0Y2goYSl7fX0sbD1mdW5jdGlvbihhLGUsaSl7aWYoYyYmMT09YS5kYXRhKCJkaXNhYmxldmlkZW9vbm1vYmlsZSIpKXJldHVybiExO3ZhciBsPWEuZGF0YSgpLG89Imh0bWw1Ij09bC5hdWRpbz8iYXVkaW8iOiJ2aWRlbyIscD1hLmZpbmQobykscT1wWzBdLHI9cC5wYXJlbnQoKSxzPWwudmlkZW9sb29wLHQ9Imxvb3BhbmRub3NsaWRlc3RvcCIhPXM7aWYocz0ibG9vcCI9PXN8fCJsb29wYW5kbm9zbGlkZXN0b3AiPT1zLHIuZGF0YSgibWV0YWxvYWRlZCIsMSksMSE9YS5kYXRhKCJiZ3ZpZGVvIil8fCJub25lIiE9PWwudmlkZW9sb29wJiYhMSE9PWwudmlkZW9sb29wfHwodD0hMSksdm9pZCAwPT1wLmF0dHIoImNvbnRyb2wiKSYmKDAhPWEuZmluZCgiLnRwLXZpZGVvLXBsYXktYnV0dG9uIikubGVuZ3RofHxjfHxhLmFwcGVuZCgnPGRpdiBjbGFzcz0idHAtdmlkZW8tcGxheS1idXR0b24iPjxpIGNsYXNzPSJyZXZpY29uLXJpZ2h0LWRpciI+PC9pPjxzcGFuIGNsYXNzPSJ0cC1yZXZzdG9wIj4mbmJzcDs8L3NwYW4+PC9kaXY+JyksYS5maW5kKCJ2aWRlbywgLnRwLXBvc3RlciwgLnRwLXZpZGVvLXBsYXktYnV0dG9uIikuY2xpY2soZnVuY3Rpb24oKXthLmhhc0NsYXNzKCJ2aWRlb2lzcGxheWluZyIpP3EucGF1c2UoKTpxLnBsYXkoKX0pKSwxPT1hLmRhdGEoImZvcmNlY292ZXIiKXx8YS5oYXNDbGFzcygiZnVsbHNjcmVlbnZpZGVvIil8fDE9PWEuZGF0YSgiYmd2aWRlbyIpKWlmKDE9PWEuZGF0YSgiZm9yY2Vjb3ZlciIpfHwxPT1hLmRhdGEoImJndmlkZW8iKSl7ci5hZGRDbGFzcygiZnVsbGNvdmVyZWR2aWRlbyIpO3ZhciB1PWEuZGF0YSgiYXNwZWN0cmF0aW8iKXx8IjQ6MyI7Yi5zZXRTaXplKGUpLGIucHJlcGFyZUNvdmVyZWRWaWRlbyh1LGUsYSl9ZWxzZSByLmFkZENsYXNzKCJmdWxsc2NyZWVudmlkZW8iKTt2YXIgdj1hLmZpbmQoIi50cC12aWQtcGxheS1wYXVzZSIpWzBdLHc9YS5maW5kKCIudHAtdmlkLW11dGUiKVswXSx4PWEuZmluZCgiLnRwLXZpZC1mdWxsLXNjcmVlbiIpWzBdLHk9YS5maW5kKCIudHAtc2Vlay1iYXIiKVswXSx6PWEuZmluZCgiLnRwLXZvbHVtZS1iYXIiKVswXTt2b2lkIDAhPXYmJmcodiwiY2xpY2siLGZ1bmN0aW9uKCl7MT09cS5wYXVzZWQ/cS5wbGF5KCk6cS5wYXVzZSgpfSksdm9pZCAwIT13JiZnKHcsImNsaWNrIixmdW5jdGlvbigpezA9PXEubXV0ZWQ/KHEubXV0ZWQ9ITAsdy5pbm5lckhUTUw9IlVubXV0ZSIpOihxLm11dGVkPSExLHcuaW5uZXJIVE1MPSJNdXRlIil9KSx2b2lkIDAhPXgmJngmJmcoeCwiY2xpY2siLGZ1bmN0aW9uKCl7cS5yZXF1ZXN0RnVsbHNjcmVlbj9xLnJlcXVlc3RGdWxsc2NyZWVuKCk6cS5tb3pSZXF1ZXN0RnVsbFNjcmVlbj9xLm1velJlcXVlc3RGdWxsU2NyZWVuKCk6cS53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbiYmcS53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbigpfSksdm9pZCAwIT15JiYoZyh5LCJjaGFuZ2UiLGZ1bmN0aW9uKCl7dmFyIGE9cS5kdXJhdGlvbiooeS52YWx1ZS8xMDApO3EuY3VycmVudFRpbWU9YX0pLGcoeSwibW91c2Vkb3duIixmdW5jdGlvbigpe2EuYWRkQ2xhc3MoInNlZWtiYXJkcmFnZ2VkIikscS5wYXVzZSgpfSksZyh5LCJtb3VzZXVwIixmdW5jdGlvbigpe2EucmVtb3ZlQ2xhc3MoInNlZWtiYXJkcmFnZ2VkIikscS5wbGF5KCl9KSksZyhxLCJjYW5wbGF5dGhyb3VnaCIsZnVuY3Rpb24oKXtiLnByZUxvYWRBdWRpb0RvbmUoYSxlLCJjYW5wbGF5dGhyb3VnaCIpfSksZyhxLCJjYW5wbGF5IixmdW5jdGlvbigpe2IucHJlTG9hZEF1ZGlvRG9uZShhLGUsImNhbnBsYXkiKX0pLGcocSwicHJvZ3Jlc3MiLGZ1bmN0aW9uKCl7Yi5wcmVMb2FkQXVkaW9Eb25lKGEsZSwicHJvZ3Jlc3MiKX0pLGcocSwidGltZXVwZGF0ZSIsZnVuY3Rpb24oKXt2YXIgYj0xMDAvcS5kdXJhdGlvbipxLmN1cnJlbnRUaW1lLGM9ZihhLmRhdGEoInZpZGVvZW5kYXQiKSksZD1xLmN1cnJlbnRUaW1lO2lmKHZvaWQgMCE9eSYmKHkudmFsdWU9YiksMCE9YyYmLTEhPWMmJk1hdGguYWJzKGMtZCk8PS4zJiZjPmQmJjEhPWEuZGF0YSgibmV4dHNsaWRlY2FsbGVkIikpaWYocyl7cS5wbGF5KCk7dmFyIGc9ZihhLmRhdGEoInZpZGVvc3RhcnRhdCIpKTstMSE9ZyYmKHEuY3VycmVudFRpbWU9Zyl9ZWxzZSAxPT1hLmRhdGEoIm5leHRzbGlkZWF0ZW5kIikmJihhLmRhdGEoIm5leHRzbGlkZWF0ZW5kLXRyaWdnZXJlZCIsMSksYS5kYXRhKCJuZXh0c2xpZGVjYWxsZWQiLDEpLGUuanVzdF9jYWxsZWRfbmV4dHNsaWRlX2F0X2h0bWx0aW1lcj0hMCxlLmMucmV2bmV4dCgpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtlLmp1c3RfY2FsbGVkX25leHRzbGlkZV9hdF9odG1sdGltZXI9ITF9LDFlMykpLHEucGF1c2UoKX0pLHZvaWQgMCE9eiYmZyh6LCJjaGFuZ2UiLGZ1bmN0aW9uKCl7cS52b2x1bWU9ei52YWx1ZX0pLGcocSwicGxheSIsZnVuY3Rpb24oKXthLmRhdGEoIm5leHRzbGlkZWNhbGxlZCIsMCk7dmFyIGM9YS5kYXRhKCJ2b2x1bWUiKTtjPXZvaWQgMCE9YyYmIm11dGUiIT1jP3BhcnNlRmxvYXQoYykvMTAwOmMsZHx8KCEwPT09ZS5nbG9iYWxtdXRlP3EubXV0ZWQ9ITA6cS5tdXRlZD0hMSxjPjEmJihjLz0xMDApLCJtdXRlIj09Yz9xLm11dGVkPSEwOnZvaWQgMCE9YyYmKHEudm9sdW1lPWMpKSxhLmFkZENsYXNzKCJ2aWRlb2lzcGxheWluZyIpO3ZhciBmPSJodG1sNSI9PWwuYXVkaW8/ImF1ZGlvIjoidmlkZW8iO20oYSxlKSx0JiYiYXVkaW8iIT1mPyhlLnZpZGVvcGxheWluZz0hMCxlLmMudHJpZ2dlcigic3RvcHRpbWVyIiksZS5jLnRyaWdnZXIoInJldm9sdXRpb24uc2xpZGUub252aWRlb3BsYXkiLGgocSwiaHRtbDUiLGwpKSk6KGUudmlkZW9wbGF5aW5nPSExLCJhdWRpbyIhPWYmJmUuYy50cmlnZ2VyKCJzdGFydHRpbWVyIiksZS5jLnRyaWdnZXIoInJldm9sdXRpb24uc2xpZGUub252aWRlb3N0b3AiLGgocSwiaHRtbDUiLGwpKSkscHVuY2hncy5Ud2VlbkxpdGUudG8oYS5maW5kKCIudHAtdmlkZW9wb3N0ZXIiKSwuMyx7YXV0b0FscGhhOjAsZm9yY2UzRDoiYXV0byIsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlSW5PdXR9KSxwdW5jaGdzLlR3ZWVuTGl0ZS50byhhLmZpbmQoZiksLjMse2F1dG9BbHBoYToxLGRpc3BsYXk6ImJsb2NrIixlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dH0pO3ZhciBnPWEuZmluZCgiLnRwLXZpZC1wbGF5LXBhdXNlIilbMF0saT1hLmZpbmQoIi50cC12aWQtbXV0ZSIpWzBdO3ZvaWQgMCE9ZyYmKGcuaW5uZXJIVE1MPSJQYXVzZSIpLHZvaWQgMCE9aSYmcS5tdXRlZCYmKGkuaW5uZXJIVE1MPSJVbm11dGUiKSxiLnRvZ2dsZVN0YXRlKGwudmlkZW90b2dnbGVkYnkpfSksZyhxLCJwYXVzZSIsZnVuY3Rpb24oYyl7dmFyIGQ9Imh0bWw1Ij09bC5hdWRpbz8iYXVkaW8iOiJ2aWRlbyI7IWsoKSYmYS5maW5kKCIudHAtdmlkZW9wb3N0ZXIiKS5sZW5ndGg+MCYmIm9uIj09YS5kYXRhKCJzaG93Y292ZXJvbnBhdXNlIikmJiFhLmhhc0NsYXNzKCJzZWVrYmFyZHJhZ2dlZCIpJiYocHVuY2hncy5Ud2VlbkxpdGUudG8oYS5maW5kKCIudHAtdmlkZW9wb3N0ZXIiKSwuMyx7YXV0b0FscGhhOjEsZm9yY2UzRDoiYXV0byIsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlSW5PdXR9KSxwdW5jaGdzLlR3ZWVuTGl0ZS50byhhLmZpbmQoZCksLjMse2F1dG9BbHBoYTowLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0fSkpLGEucmVtb3ZlQ2xhc3MoInZpZGVvaXNwbGF5aW5nIiksZS52aWRlb3BsYXlpbmc9ITEsbihhLGUpLCJhdWRpbyIhPWQmJmUuYy50cmlnZ2VyKCJzdGFydHRpbWVyIiksZS5jLnRyaWdnZXIoInJldm9sdXRpb24uc2xpZGUub252aWRlb3N0b3AiLGgocSwiaHRtbDUiLGEuZGF0YSgpKSk7dmFyIGc9YS5maW5kKCIudHAtdmlkLXBsYXktcGF1c2UiKVswXTt2b2lkIDAhPWcmJihnLmlubmVySFRNTD0iUGxheSIpLHZvaWQgMCE9ZS5jdXJyZW50TGF5ZXJWaWRlb0lzUGxheWluZyYmZS5jdXJyZW50TGF5ZXJWaWRlb0lzUGxheWluZy5hdHRyKCJpZCIpIT1hLmF0dHIoImlkIil8fGIudW5Ub2dnbGVTdGF0ZShsLnZpZGVvdG9nZ2xlZGJ5KX0pLGcocSwiZW5kZWQiLGZ1bmN0aW9uKCl7aigpLG4oYSxlKSxlLnZpZGVvcGxheWluZz0hMSxuKGEsZSksImF1ZGlvIiE9byYmZS5jLnRyaWdnZXIoInN0YXJ0dGltZXIiKSxlLmMudHJpZ2dlcigicmV2b2x1dGlvbi5zbGlkZS5vbnZpZGVvc3RvcCIsaChxLCJodG1sNSIsYS5kYXRhKCkpKSwhMD09PWEuZGF0YSgibmV4dHNsaWRlYXRlbmQiKSYmcS5jdXJyZW50VGltZT4wJiYoMT09IWUuanVzdF9jYWxsZWRfbmV4dHNsaWRlX2F0X2h0bWx0aW1lciYmKGEuZGF0YSgibmV4dHNsaWRlYXRlbmQtdHJpZ2dlcmVkIiwxKSxlLmMucmV2bmV4dCgpLGUuanVzdF9jYWxsZWRfbmV4dHNsaWRlX2F0X2h0bWx0aW1lcj0hMCksc2V0VGltZW91dChmdW5jdGlvbigpe2UuanVzdF9jYWxsZWRfbmV4dHNsaWRlX2F0X2h0bWx0aW1lcj0hMX0sMTUwMCkpLGEucmVtb3ZlQ2xhc3MoInZpZGVvaXNwbGF5aW5nIil9KX0sbT1mdW5jdGlvbihhLGMpe3ZvaWQgMD09Yy5wbGF5aW5ndmlkZW9zJiYoYy5wbGF5aW5ndmlkZW9zPW5ldyBBcnJheSksYS5kYXRhKCJzdG9wYWxsdmlkZW9zIikmJnZvaWQgMCE9Yy5wbGF5aW5ndmlkZW9zJiZjLnBsYXlpbmd2aWRlb3MubGVuZ3RoPjAmJihjLmxhc3RwbGF5ZWR2aWRlb3M9alF1ZXJ5LmV4dGVuZCghMCxbXSxjLnBsYXlpbmd2aWRlb3MpLGpRdWVyeS5lYWNoKGMucGxheWluZ3ZpZGVvcyxmdW5jdGlvbihhLGQpe2Iuc3RvcFZpZGVvKGQsYyl9KSksYy5wbGF5aW5ndmlkZW9zLnB1c2goYSksYy5jdXJyZW50TGF5ZXJWaWRlb0lzUGxheWluZz1hfSxuPWZ1bmN0aW9uKGEsYil7dm9pZCAwIT1iLnBsYXlpbmd2aWRlb3MmJmpRdWVyeS5pbkFycmF5KGEsYi5wbGF5aW5ndmlkZW9zKT49MCYmYi5wbGF5aW5ndmlkZW9zLnNwbGljZShqUXVlcnkuaW5BcnJheShhLGIucGxheWluZ3ZpZGVvcyksMSl9fShqUXVlcnkpOw=="}},"time_used":52,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":46,"receive":6,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/images/resource/curve-1.png","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.916Z","timestamp":1785123231916,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /images/resource/curve-1.png HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/css/style.css\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: image/png\r\nlast-modified: Wed, 22 Apr 2026 21:44:12 GMT\r\naccept-ranges: bytes\r\ncontent-length: 2270\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":2270,"size_decoded":2535,"mime_type":"image/png","magic":"PNG image data, 114 x 85, 8-bit/color RGBA, non-interlaced","md5":"79cf8fca8792f48d39989f5e5d2b5e5d","sha1":"160e97be58a8e895eccdb30553ed1ff9a04caca2","sha256":"38495681bc62e20037362b34f61e94ce4937d79536bbe404dfb4375e6e387c26","sha512":"812d302c13548cf59cb44da63880ab332937ae2615f53f7a132d1dcb0198a7f42d7f460fd5598f82932cbf24111d350e451cde4b8b986f6b232c8dbe0ae2e463","ssdeep":"","tlshash":"6941298e8e116e82fb4ce9d361ed44bb9c226980efe0e0562eca49038b915f180196d7","first_seen":"2025-10-05T03:57:22.045458Z","last_seen":"2026-07-27T05:05:33.638677Z","times_seen":10,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAHIAAABVCAYAAACVdLDzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3FpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDphOGE1ODRiYy1hOGIyLWUzNDQtYTM2Ny05OGNhMGFiM2NkZDgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUIyOEMwNkUwNEQ2MTFFOEEzMzZFREVENEUxQjAxN0YiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUIyOEMwNkQwNEQ2MTFFOEEzMzZFREVENEUxQjAxN0YiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOmIwNDc4NzM3LTA4NjktYWQ0Yy1iYTdiLWQ5MDU0OTQ1YTJkNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDphOGE1ODRiYy1hOGIyLWUzNDQtYTM2Ny05OGNhMGFiM2NkZDgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5Yhj55AAAFA0lEQVR42uyd63LaSBCFGyQZkLk4TvJj3//pUhXHYAMGIaFVl8+UOuw6ASPQjDinaoqLr9JHn+6e0aVXlqVQQeqfakyqsa3Gj5j7Izj1qjGsRloNjcKlwuxzvwSnCJEYIRoVZEmQ4WlQjXs8X1Uj0ycEGZ6tjquRAOAS9kqQgWkEkArvFdYqBBmWYpMbM9iqEGR4Sk1u/C0aCTKsSnWKqNwCZEmQYRY4GpFFNRbV2B1+E0H6rztEo+rtMDcSZDjSaNSZnD0sdUeQ4VmqApzh+fKjaCRI/9uNmSlwXhCVBBmgpbrm/wX5UQgyzAInAsD/tBsEGUbP+CDvk+N5NeZ4FIIMS/ewVEEkro75IYL0S4kpcDbHWCpB+qc+LFVXOApY6vaUH6b86BnHKHDcEtXR0UiQ/sg1/lrorOV9PrU8NZwpPyx1aCw1+8wvodqFqHY6wesFqtSSIMNSimgUAFyc84mg2pHO3nzBYyYfrDMSpN/SoubRtBq/UOQIQYYFcSb1hPji1FaDIP3QGCD7ALg4FyJBttMval7UqTidtXk+Jy8SZDvS1YxvKG50NeNJTpiCI0g/lCASU0B8liNXNQjSH/UAUZv+fVPFzaF4fuRl5abfpgCqh2zM0XIIIzKcSJwgGnU/L9EvFpf6xFCX0RRNvzvuprEKlSCv2ys+Sn0e45P85Sg45kj/7DRFm+F6RYW4vvQfZkQ2K4X4Fb3iFjlxdY0/TJDNaQSIQ9MrLptuM2itl4f4XepV/ie0GlcTQZ6vexQ2Q1Sl82tDJMhmIFo71ZzY+KwNQV4e4nepJ8F/Iifu2/hnCPJzLcbYtBi7NnIiQZ4vXRR+MM3+r7YhEuTprdoDRgyIP6/R7BNkc0oMRLXWN0DctFHYEOTnNADAGV67VYyNT/8kQf65qBmgvbiX+hTwk86SIsh2pUtPdt60AMRnOeLsYYL0Z5/oWuIXAHWzNXNf8iFBHlfUPEp9aMYGUfgawqePem8tXD601wr3rqghyD/vA7eiH5t8eLHjawjycq2Fs9IMubCRw/gJ8jpWmkq9/KTQVsiH6xA3KL7RKJwgEvtoJ1x/mIe6UbcGcgIbdZeUfoONvoS+YbcC0s2VulstuGuf/vVifQTpTy4cS31tN9cbzpETi65saFdBunnSGey0L/UJNDq2XdvgLoK8QxROALOEfc5RkRZd/OR2CaSz0SlaC5XOky5NRdrZeyx2AWRkbDTF6wI58OjLZBJku3J3p5mYbVmjGl2H3BfeAshI6gu3p8iJqgwAX7tuo10AOTIRmBiAzkY3cqOKA4rACSAO8H6OQuYF7cRN3yzaZ5DuXMP0IAfmBxG4F8pLkDGibgorjU0rsUIUEqDHIO9MFTqEpbocuEQV+nbrFuoryFjqmZiRyX+CqFuZKpQR6BnICMNF3hj50NlnJvUdS7dE5A/IHuzwDuBGGIn5mmsh1lKv0NNCPQI5ADDXNgzN1wrYp4O3o336AzKGbQ4xDuHlpvrconghPA9ARrDHROrpMrXNvtRXDNkbeBtTeRJgiyAjAEoQae4xNu1CKfVRaZmxzR3z3nVB9swOT0zEDT4A57QFuA2Gs1HqSiAj2FwMUH0Dza31WasU06jvDLxcPDrx8xZBfjMAY4zS9HaliTgLrsB7+4MoploCOTOv9wC0B6Qc4DLz3v8BI0QPQK4QabmB5WDm3EVhqFeWZQ+2WnB3hKt/BRgAv59S6aLTYbIAAAAASUVORK5CYII="}},"time_used":30,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":29,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.878Z","timestamp":1785123231878,"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 /_/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://agilitetrade.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\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: 397387\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":20284,"size_decoded":4819,"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-07-27T05:19:53.227915Z","times_seen":16518,"resource_available":false,"data":"LlZJcGdKZC1aVmk5b2QtT1JIYi1PRVZtY2R7bGVmdDowO3RvcDowO2hlaWdodDozOXB4O3dpZHRoOjEwMCU7ei1pbmRleDoxMDAwMDAwMTtwb3NpdGlvbjpmaXhlZDtib3JkZXI6bm9uZTtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjNkI5MERBO21hcmdpbjowO2JveC1zaGFkb3c6MCAwIDhweCAxcHggIzk5OX0uVklwZ0pkLVpWaTlvZC14bDA3T2ItT0VWbWNke3otaW5kZXg6MTAwMDAwMDI7Ym9yZGVyOm5vbmU7cG9zaXRpb246Zml4ZWQ7Ym94LXNoYWRvdzowIDNweCA4cHggMnB4ICM5OTl9LlZJcGdKZC1aVmk5b2QtU21mWi1PRVZtY2R7ei1pbmRleDoxMDAwMDAwMDtib3JkZXI6bm9uZTttYXJnaW46MH0uZ29vZy10ZS1nYWRnZXR7Zm9udC1mYW1pbHk6YXJpYWw7Zm9udC1zaXplOjExcHg7Y29sb3I6IzY2Njt3aGl0ZS1zcGFjZTpub3dyYXB9Lmdvb2ctdGUtZ2FkZ2V0IGltZ3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Ym9yZGVyOm5vbmV9Lmdvb2ctdGUtZ2FkZ2V0LXNpbXBsZXtiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNENUQ1RDU7Ym9yZGVyLXRvcDoxcHggc29saWQgIzlCOUI5Qjtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjRThFOEU4O2JvcmRlci1yaWdodDoxcHggc29saWQgI0Q1RDVENTtmb250LXNpemU6MTBwdDtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLXRvcDoxcHg7cGFkZGluZy1ib3R0b206MnB4O2N1cnNvcjpwb2ludGVyfS5nb29nLXRlLWdhZGdldC1pY29ue21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4O3dpZHRoOjE5cHg7aGVpZ2h0OjE5cHg7Ym9yZGVyOm5vbmU7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nb29nLXRlLWNvbWJve21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4O3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfS5nb29nLXRlLWdhZGdldCAuZ29vZy10ZS1jb21ib3ttYXJnaW46NHB4IDB9LlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDphY3RpdmUsLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkOmhvdmVyLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDpsaW5rLC5WSXBnSmQtWlZpOW9kLWw0ZUhYLWhTUkdQZDp2aXNpdGVke2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjcwMDtjb2xvcjojNDQ0O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLU9SSGIgLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1BkLC5WSXBnSmQtWlZpOW9kLVR2RDlQYy1oU1JHUGR7ZGlzcGxheTpibG9jazttYXJnaW46MCAxMHB4fS5WSXBnSmQtWlZpOW9kLU9SSGIgLlZJcGdKZC1aVmk5b2QtbDRlSFgtaFNSR1Bke3BhZGRpbmctdG9wOjJweDtwYWRkaW5nLWxlZnQ6NHB4fS5WSXBnSmQtWlZpOW9kLU9SSGIgKiwuVklwZ0pkLVpWaTlvZC1TbWZaICosLlZJcGdKZC1aVmk5b2QtbDl4a3RmICosLlZJcGdKZC1aVmk5b2QtdkgxR21mICosLlZJcGdKZC1aVmk5b2QteGwwN09iICosLmdvb2ctdGUtY29tYm97Zm9udC1mYW1pbHk6YXJpYWw7Zm9udC1zaXplOjEwcHR9LlZJcGdKZC1aVmk5b2QtT1JIYnttYXJnaW46MDtiYWNrZ3JvdW5kLWNvbG9yOiNFNEVGRkI7b3ZlcmZsb3c6aGlkZGVufS5WSXBnSmQtWlZpOW9kLU9SSGIgaW1ne2JvcmRlcjpub25lfS5WSXBnSmQtWlZpOW9kLU9SSGItYk45N1Bje2NvbG9yOiMwMDB9LlZJcGdKZC1aVmk5b2QtT1JIYi1iTjk3UGMgaW1ne3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uVklwZ0pkLVpWaTlvZC1PUkhiLVRzd3YxYntjb2xvcjojNjY2O3ZlcnRpY2FsLWFsaWduOnRvcDttYXJnaW4tdG9wOjA7Zm9udC1zaXplOjdwdH0uVklwZ0pkLVpWaTlvZC1PUkhiLUtFNnZxZXt3aWR0aDo4cHh9LlZJcGdKZC1aVmk5b2QtTGdic1Nle2JvcmRlci1jb2xvcjojRTdFN0U3O2JvcmRlci1zdHlsZTpub25lIHNvbGlkIHNvbGlkIG5vbmU7Ym9yZGVyLXdpZHRoOjAgMXB4IDFweCAwfS5WSXBnSmQtWlZpOW9kLUxnYnNTZSBkaXZ7Ym9yZGVyLWNvbG9yOiNDQ0MgIzk5OSAjOTk5ICNDQ0M7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjOTk5O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MXB4O2hlaWdodDoyMHB4fS5WSXBnSmQtWlZpOW9kLUxnYnNTZSBidXR0b257YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXI6bm9uZTtjdXJzb3I6cG9pbnRlcjtoZWlnaHQ6MjBweDtvdmVyZmxvdzpoaWRkZW47bWFyZ2luOjA7dmVydGljYWwtYWxpZ246dG9wO3doaXRlLXNwYWNlOm5vd3JhcH0uVklwZ0pkLVpWaTlvZC1MZ2JzU2UgYnV0dG9uOmFjdGl2ZXtiYWNrZ3JvdW5kOm5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgI0NDQ30uVklwZ0pkLVpWaTlvZC1TbWZae21hcmdpbjowO2JhY2tncm91bmQtY29sb3I6I0ZGRjt3aGl0ZS1zcGFjZTpub3dyYXB9LlZJcGdKZC1aVmk5b2QtU21mWi1oU1JHUGR7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Zm9udC13ZWlnaHQ6NzAwO2ZvbnQtc2l6ZToxMHB0O2JvcmRlcjoxcHggb3V0c2V0ICM4ODg7cGFkZGluZzo2cHggMTBweDt3aGl0ZS1zcGFjZTpub3dyYXA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowfS5WSXBnSmQtWlZpOW9kLVNtZlotaFNSR1BkIGltZ3ttYXJnaW4tbGVmdDoycHg7bWFyZ2luLXJpZ2h0OjJweDt3aWR0aDoxOXB4O2hlaWdodDoxOXB4O2JvcmRlcjpub25lO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZCBzcGFue3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7bWFyZ2luLWxlZnQ6MnB4O21hcmdpbi1yaWdodDoycHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5nb29nLXRlLWZsb2F0LXRvcCAuVklwZ0pkLVpWaTlvZC1TbWZaLWhTUkdQZHtwYWRkaW5nOjJweDtib3JkZXItdG9wLXdpZHRoOjB9Lmdvb2ctdGUtZmxvYXQtYm90dG9tIC5WSXBnSmQtWlZpOW9kLVNtZlotaFNSR1Bke3BhZGRpbmc6MnB4O2JvcmRlci1ib3R0b20td2lkdGg6MH0uVklwZ0pkLVpWaTlvZC14bDA3T2ItbFRCeGVke3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOiMwMEM7d2hpdGUtc3BhY2U6bm93cmFwO21hcmdpbi1sZWZ0OjRweDttYXJnaW4tcmlnaHQ6NHB4fS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQgc3Bhbnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1sVEJ4ZWQgaW1ne21hcmdpbi1sZWZ0OjJweDttYXJnaW4tcmlnaHQ6MnB4fS5nb29nLXRlLWdhZGdldC1zaW1wbGUgLlZJcGdKZC1aVmk5b2QteGwwN09iLWxUQnhlZHtjb2xvcjojMDAwfS5nb29nLXRlLWdhZGdldC1zaW1wbGUgLlZJcGdKZC1aVmk5b2QteGwwN09iLWxUQnhlZCBzcGFue3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYntiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Ym9yZGVyOjJweCBzb2xpZCAjQzNEOUZGO292ZXJmbG93LXk6c2Nyb2xsO292ZXJmbG93LXg6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MH0uVklwZ0pkLVpWaTlvZC14bDA3T2ItaWJuQzZie3BhZGRpbmc6M3B4O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmIsLlZJcGdKZC1aVmk5b2QteGwwN09iLWlibkM2YjpsaW5re2NvbG9yOiMwMEM7YmFja2dyb3VuZDojRkZGfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6dmlzaXRlZHtjb2xvcjojNTUxQThCfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6aG92ZXJ7YmFja2dyb3VuZDojQzNEOUZGfS5WSXBnSmQtWlZpOW9kLXhsMDdPYi1pYm5DNmI6YWN0aXZle2NvbG9yOiMwMEN9LlZJcGdKZC1aVmk5b2QtdkgxR21me2JhY2tncm91bmQtY29sb3I6I0ZGRjt0ZXh0LWRlY29yYXRpb246bm9uZTtib3JkZXI6MXB4IHNvbGlkICM2QjkwREE7b3ZlcmZsb3c6aGlkZGVuO3BhZGRpbmc6NHB4fS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1LcmhQTmJ7d2lkdGg6MTZweH0uVklwZ0pkLVpWaTlvZC12SDFHbWYtaGdEVXdle21hcmdpbjo2cHggMDtoZWlnaHQ6MXB4O2JhY2tncm91bmQtY29sb3I6I2FhYTtvdmVyZmxvdzpoaWRkZW59LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YiBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQgZGl2e3BhZGRpbmc6NHB4fS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmIgLnVERUZnZXtkaXNwbGF5Om5vbmV9LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2Yi1nazZTTWQgLmZtY21Te3BhZGRpbmctbGVmdDo0cHg7cGFkZGluZy1yaWdodDo0cHh9LlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZHt0ZXh0LWRlY29yYXRpb246bm9uZX0uVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiOmFjdGl2ZSBkaXYsLlZJcGdKZC1aVmk5b2QtdkgxR21mLWlibkM2YjpsaW5rIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiOnZpc2l0ZWQgZGl2e2NvbG9yOiMwMEM7YmFja2dyb3VuZDojRkZGfS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmI6aG92ZXIgZGl2e2NvbG9yOiNGRkY7YmFja2dyb3VuZDojMzZDfS5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDphY3RpdmUgZGl2LC5WSXBnSmQtWlZpOW9kLXZIMUdtZi1pYm5DNmItZ2s2U01kOmhvdmVyIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDpsaW5rIGRpdiwuVklwZ0pkLVpWaTlvZC12SDFHbWYtaWJuQzZiLWdrNlNNZDp2aXNpdGVkIGRpdntjb2xvcjojMDAwO2ZvbnQtd2VpZ2h0OjcwMH0uVklwZ0pkLVpWaTlvZC1sOXhrdGZ7YmFja2dyb3VuZC1jb2xvcjojRkZGO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjhweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjEwcHh9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLU9FVm1jZHtiYWNrZ3JvdW5kLWNvbG9yOiNGRkY7Ym9yZGVyOjFweCBzb2xpZCAjNkI5MERBO2JveC1zaGFkb3c6MCAzcHggOHB4IDJweCAjOTk5O2JvcmRlci1yYWRpdXM6OHB4fS5WSXBnSmQtWlZpOW9kLWw5eGt0ZiBpbWd7Ym9yZGVyOm5vbmV9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLWZtY21Te21hcmdpbi10b3A6NnB4fS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1WZ3dKbGN7bWFyZ2luLXRvcDo2cHg7d2hpdGUtc3BhY2U6bm93cmFwfS5WSXBnSmQtWlZpOW9kLWw5eGt0Zi1WZ3dKbGMgKnt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLVZnd0psYyAuRFVHSmlle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3Jmdvb2dsZS5jb20vaW1hZ2VzL3ppcHB5X21pbnVzX3NtLmdpZil9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLVZnd0psYyAuVGR5VERle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vd3d3Jmdvb2dsZS5jb20vaW1hZ2VzL3ppcHB5X3BsdXNfc20uZ2lmKX0uVklwZ0pkLVpWaTlvZC1sOXhrdGYtVmd3SmxjIHNwYW57Y29sb3I6IzAwQzt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO2N1cnNvcjpwb2ludGVyO21hcmdpbjowIDRweH0uVklwZ0pkLVpWaTlvZC1sOXhrdGYtSTlHTHB7bWFyZ2luOjZweCAwIDB9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLUk5R0xwIGZvcm17bWFyZ2luOjB9LlZJcGdKZC1aVmk5b2QtbDl4a3RmLUk5R0xwIGZvcm0gdGV4dGFyZWF7bWFyZ2luLWJvdHRvbTo0cHg7d2lkdGg6MTAwJX0uVklwZ0pkLVpWaTlvZC1sOXhrdGYteWVQZTVje21hcmdpbjo2cHggMCA0cHh9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLXdPSE15Znt6LWluZGV4OjEwMDA7cG9zaXRpb246Zml4ZWQ7dHJhbnNpdGlvbi1kZWxheTouNnM7bGVmdDotMTAwMHB4O3RvcDotMTAwMHB4fS5WSXBnSmQtWlZpOW9kLWFaMndFZS13T0hNeWYtdGk2aEdje3RyYW5zaXRpb24tZGVsYXk6MHM7bGVmdDotMTRweDt0b3A6LTE0cHh9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPe2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1vei1ib3gtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxMDRweDtoZWlnaHQ6MTA0cHg7Ym9yZGVyLXJhZGl1czo1MHB4O2JhY2tncm91bmQ6I0ZGRiB1cmwoaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20vaW1hZ2VzL2JyYW5kaW5nL3Byb2R1Y3QvMngvdHJhbnNsYXRlXzI0ZHAucG5nKSA1MCUgNTAlIG5vLXJlcGVhdDt0cmFuc2l0aW9uOmFsbCAuNnMgZWFzZS1pbi1vdXQ7dHJhbnNmb3JtOnNjYWxlKC40KTtvcGFjaXR5OjB9LlZJcGdKZC1aVmk5b2QtYVoyd0VlLU9paUNPLXRpNmhHY3t0cmFuc2Zvcm06c2NhbGUoLjUpO29wYWNpdHk6MX0uVklwZ0pkLVpWaTlvZC1hWjJ3RWV7bWFyZ2luOjJweCAwIDAgMnB4O2FuaW1hdGlvbjpzcGlubmVyLXJvdGF0b3IgMS40cyBsaW5lYXIgaW5maW5pdGV9QGtleWZyYW1lcyBzcGlubmVyLXJvdGF0b3J7MCV7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3t0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9fS5WSXBnSmQtWlZpOW9kLWFaMndFZS1KdDVjS3tzdHJva2UtZGFzaGFycmF5OjE4NztzdHJva2UtZGFzaG9mZnNldDowO3N0cm9rZTojNDI4NUY0O3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyO2FuaW1hdGlvbjpzcGlubmVyLWRhc2ggMS40cyBlYXNlLWluLW91dCBpbmZpbml0ZX1Aa2V5ZnJhbWVzIHNwaW5uZXItZGFzaHswJXtzdHJva2UtZGFzaG9mZnNldDoxODd9NTAle3N0cm9rZS1kYXNob2Zmc2V0OjQ2Ljc1O3RyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKX10b3tzdHJva2UtZGFzaG9mZnNldDoxODc7dHJhbnNmb3JtOnJvdGF0ZSg0NTBkZWcpfX0uVklwZ0pkLXlBV05FYi1MN2xia2IgYSwuVklwZ0pkLXlBV05FYi1MN2xia2IgYm9keSwuVklwZ0pkLXlBV05FYi1MN2xia2IgZGl2LC5WSXBnSmQteUFXTkViLUw3bGJrYiBmb3JtLC5WSXBnSmQteUFXTkViLUw3bGJrYiBoMSwuVklwZ0pkLXlBV05FYi1MN2xia2IgaDIsLlZJcGdKZC15QVdORWItTDdsYmtiIGgzLC5WSXBnSmQteUFXTkViLUw3bGJrYiBoNCwuVklwZ0pkLXlBV05FYi1MN2xia2IgaDUsLlZJcGdKZC15QVdORWItTDdsYmtiIGg2LC5WSXBnSmQteUFXTkViLUw3bGJrYiBodG1sLC5WSXBnSmQteUFXTkViLUw3bGJrYiBpZnJhbWUsLlZJcGdKZC15QVdORWItTDdsYmtiIGltZywuVklwZ0pkLXlBV05FYi1MN2xia2IgbGksLlZJcGdKZC15QVdORWItTDdsYmtiIG9sLC5WSXBnSmQteUFXTkViLUw3bGJrYiBwLC5WSXBnSmQteUFXTkViLUw3bGJrYiBzcGFuLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0YWJsZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgdGJvZHksLlZJcGdKZC15QVdORWItTDdsYmtiIHRkLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0ciwuVklwZ0pkLXlBV05FYi1MN2xia2IgdWx7YWxsOnVuc2V0O2ZvbnQtc2l6ZToxMDAlO2xpbmUtaGVpZ2h0Om5vcm1hbH0uVklwZ0pkLXlBV05FYi1MN2xia2Igb2wsLlZJcGdKZC15QVdORWItTDdsYmtiIHVse2xpc3Qtc3R5bGU6bm9uZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgdGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlci1zcGFjaW5nOjB9LlZJcGdKZC15QVdORWItTDdsYmtiIGNhcHRpb24sLlZJcGdKZC15QVdORWItTDdsYmtiIHRkLC5WSXBnSmQteUFXTkViLUw3bGJrYiB0aHt0ZXh0LWFsaWduOmxlZnQ7Zm9udC13ZWlnaHQ6NDAwfS5WSXBnSmQteUFXTkViLUw3bGJrYiBpbnB1dDo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH1kaXY+LlZJcGdKZC15QVdORWItTDdsYmtie3BhZGRpbmc6MTBweCAxNHB4fS5WSXBnSmQteUFXTkViLUw3bGJrYntjb2xvcjojMjIyO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNlZWU7Ym94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpOy1tb3otYm94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpOy13ZWJraXQtYm94LXNoYWRvdzowIDRweCAxNnB4IHJnYmEoMCwwLDAsLjIpO2Rpc3BsYXk6bm9uZTtmb250LWZhbWlseTphcmlhbDtmb250LXNpemU6MTBwdDt3aWR0aDo0MjBweDtwYWRkaW5nOjEycHg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwMH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItblZNZmNkLWZtY21TLC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtcGJUVFlle2NsZWFyOmJvdGg7Zm9udC1zaXplOjEwcHQ7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpqdXN0aWZ5O3dpZHRoOjEwMCV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXI0bmtle2NvbG9yOiM5OTk7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjttYXJnaW46NHB4IDA7dGV4dC1hbGlnbjpsZWZ0fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UdkQ5UGMtTGdic1Nle2Rpc3BsYXk6bm9uZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItbDRlSFh7ZmxvYXQ6bGVmdDttYXJnaW46MH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItWjBBcnFmLVBMRGJiZntkaXNwbGF5OmlubGluZS1ibG9ja30uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItZnc0MlplLVowQXJxZi1oYUFjbGZ7ZGlzcGxheTpub25lO3dpZHRoOjEwMCV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVowQXJxZi1IOXREdHttYXJnaW4tdG9wOjIwcHh9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUxLNXl1e2Zsb2F0OmxlZnR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXF3VThNZXtmbG9hdDpyaWdodH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItY0dNSTJie21pbi1oZWlnaHQ6MTVweDtwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MSV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLWpPZmtNYi1OZTNzRmZ7YmFja2dyb3VuZDotbXMtbGluZWFyLWdyYWRpZW50KHRvcCwjMjk5MTBkIDAsIzIwYWYwZSAxMDAlKTtiYWNrZ3JvdW5kOiMyOTkxMGQ7Ym9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDstd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4O2JveC1zaGFkb3c6aW5zZXQgMCAycHggMnB4ICMxZTY2MDk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMnB4IDJweCAjMWU2NjA5Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDJweCAycHggIzFlNjYwOTtjb2xvcjp3aGl0ZTtmb250LXNpemU6OXB0O2ZvbnQtd2VpZ2h0OmJvbGRlcjttYXJnaW4tdG9wOjEycHg7cGFkZGluZzo2cHg7dGV4dC1zaGFkb3c6MXB4IDFweCAxcHggIzFlNjYwOX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItWjBBcnFmLWhTUkdQZHtjb2xvcjojMTVjO2N1cnNvcjpwb2ludGVyO2ZvbnQtZmFtaWx5OmFyaWFsO2ZvbnQtc2l6ZToxMXB4O21hcmdpbi1yaWdodDoxNXB4O3RleHQtZGVjb3JhdGlvbjpub25lfS5WSXBnSmQteUFXTkViLUw3bGJrYj50ZXh0YXJlYXtmb250LWZhbWlseTphcmlhbDtyZXNpemU6dmVydGljYWw7d2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOjEwcHg7Ym9yZGVyLXJhZGl1czoxcHg7Ym9yZGVyOjFweCBzb2xpZCAjZDlkOWQ5O2JvcmRlci10b3A6MXB4IHNvbGlkIHNpbHZlcjtmb250LXNpemU6MTNweDtoZWlnaHQ6YXV0bztvdmVyZmxvdy15OmF1dG87cGFkZGluZzoxcHh9LlZJcGdKZC15QVdORWItTDdsYmtiIHRleHRhcmVhOmZvY3Vze2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjMpO2JvcmRlcjoxcHggc29saWQgIzRkOTBmZTtvdXRsaW5lOm5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVowQXJxZi1JYkUwU3ttYXJnaW4tcmlnaHQ6MTBweH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwe21pbi1oZWlnaHQ6MjVweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7cGFkZGluZy10b3A6OHB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwe21hcmdpbi1ib3R0b206NXB4O21hcmdpbi1ib3R0b206MH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dHtkaXNwbGF5OmlubGluZS1ibG9jazttaW4td2lkdGg6NTRweDsqbWluLXdpZHRoOjcwcHg7Ym9yZGVyOjFweCBzb2xpZCAjZGNkY2RjO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMSk7dGV4dC1hbGlnbjpjZW50ZXI7Y29sb3I6IzQ0NDtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo3MDA7aGVpZ2h0OjI3cHg7b3V0bGluZTowO3BhZGRpbmc6MCA4cHg7dmVydGljYWwtYWxpZ246bWlkZGxlO2xpbmUtaGVpZ2h0OjI3cHg7bWFyZ2luOjAgMTZweCAwIDA7Ym94LXNoYWRvdzowIDFweCAycHggcmdiYSgwLDAsMCwuMSk7LW1vei1ib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4xKTstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpO2JvcmRlci1yYWRpdXM6MnB4O3RyYW5zaXRpb246YWxsIC4yMThzO2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2Y1ZjVmNSwjZjFmMWYxKTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lO2N1cnNvcjpkZWZhdWx0fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmhvdmVye2JvcmRlcjoxcHggc29saWQgI2M2YzZjNjtjb2xvcjojMjIyO3RyYW5zaXRpb246YWxsIDBzO2JhY2tncm91bmQtY29sb3I6I2Y4ZjhmODtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2Y4ZjhmOCwjZjFmMWYxKX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDphY3RpdmV7Ym9yZGVyOjFweCBzb2xpZCAjYzZjNmM2O2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjojZjZmNmY2O2JhY2tncm91bmQtaW1hZ2U6LW8tbGluZWFyLWdyYWRpZW50KHRvcCwjZjZmNmY2LCNmMWYxZjEpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmZvY3VzIC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0LkFIbXV3ZSAuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDphY3RpdmUsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQ6Zm9jdXM6YWN0aXZle2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LDI1NSwyNTUsLjUpOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsMjU1LDI1NSwuNSk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwyNTUsMjU1LC41KX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dC5BSG11d2UsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQ6Zm9jdXN7b3V0bGluZTpub25lO2JvcmRlcjoxcHggc29saWQgIzRkOTBmZTt6LWluZGV4OjQhaW1wb3J0YW50fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0LmdrNlNNZHtiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCNlZWUsI2UwZTBlMCk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSk7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2NvbG9yOiMzMzN9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZntjb2xvcjp3aGl0ZTtib3JkZXItY29sb3I6IzMwNzllZDtiYWNrZ3JvdW5kLWNvbG9yOiM0ZDkwZmU7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQodG9wLCM0ZDkwZmUsIzQ3ODdlZCl9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZi5BSG11d2UgLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZjphY3RpdmUsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQgLlZJcGdKZC15QVdORWItWjBBcnFmLXNGZUJxZjpob3ZlciAuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmZvY3Vze2JvcmRlci1jb2xvcjojMzA3OWVkO2JhY2tncm91bmQtY29sb3I6IzM1N2FlODtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsIzRkOTBmZSwjMzU3YWU4KX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmhvdmVye2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgMXB4ICNmZmYsMCAxcHggMXB4IHJnYmEoMCwwLDAsLjEpOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggI2ZmZiwwIDFweCAxcHggcmdiYSgwLDAsMCwuMSk7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAwIDFweCAjZmZmLDAgMXB4IDFweCByZ2JhKDAsMCwwLC4xKX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmLkFIbXV3ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmFjdGl2ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dCAuVklwZ0pkLXlBV05FYi1aMEFycWYtc0ZlQnFmOmZvY3VzLC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0IC5WSXBnSmQteUFXTkViLVowQXJxZi1zRmVCcWY6aG92ZXIsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUw0Tm41ZS1JOUdMcCAuVklwZ0pkLXlBV05FYi1aMEFycWYtSTlHTHAgaW5wdXQuQUhtdXdlLC5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1MNE5uNWUtSTlHTHAgLlZJcGdKZC15QVdORWItWjBBcnFmLUk5R0xwIGlucHV0OmFjdGl2ZSwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDpmb2N1cywuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItTDRObjVlLUk5R0xwIC5WSXBnSmQteUFXTkViLVowQXJxZi1JOUdMcCBpbnB1dDpob3Zlcntib3JkZXItY29sb3I6IzMwNzllZH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItbXJ4UGdle2NvbG9yOiM5OTk7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZn0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLVcwdkpvLWZtY21Te2NvbG9yOiM5OTk7Zm9udC1zaXplOjExcHg7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjttYXJnaW46MTVweCAwIDVweH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXUwcGpvZS1mbWNtU3tjb2xvcjojODAwO2Rpc3BsYXk6bm9uZTtmb250LXNpemU6OXB0fS5WSXBnSmQteUFXTkViLVZJcGdKZC1mbWNtUy1zbjU0UXtiYWNrZ3JvdW5kLWNvbG9yOiNjOWQ3ZjE7Ym94LXNoYWRvdzoycHggMnB4IDRweCAjOTlhO2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtwb3NpdGlvbjpyZWxhdGl2ZX0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXhsMDdPYiAuVklwZ0pkLXlBV05FYi1WSXBnSmQteGwwN09ie2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkZGQ7Ym94LXNoYWRvdzowIDJweCA0cHggIzk5YTttaW4td2lkdGg6MDtvdXRsaW5lOm5vbmU7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MjAwMH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItSUZkS3lkLXhsMDdPYiAuVklwZ0pkLXlBV05FYi1WSXBnSmQtajdMRmxie2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MnB4IDVweCA1cHg7bWFyZ2luLXJpZ2h0OjA7Ym9yZGVyLXN0eWxlOm5vbmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC14bDA3T2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYjpob3ZlcntiYWNrZ3JvdW5kOiNkZGR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC14bDA3T2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYiBoMXtmb250LXNpemU6MTAwJTtmb250LXdlaWdodDo3MDA7bWFyZ2luOjRweCAwfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQteGwwN09iIC5WSXBnSmQteUFXTkViLVZJcGdKZC1qN0xGbGIgc3Ryb25ne2NvbG9yOiMzNDVhYWR9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVZJcGdKZC1lS201RmMtaEZzYm97dGV4dC1hbGlnbjpyaWdodDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO2xlZnQ6YXV0b30uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVklwZ0pkLWo3TEZsYi1TSXNyVGQgLlZJcGdKZC15QVdORWItVklwZ0pkLWVLbTVGYy1oRnNib3t0ZXh0LWFsaWduOmxlZnQ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OmF1dG99LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLVRWTHc5Yy1wcEhscmYtc241NFEsLlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtZm1jbVN7YmFja2dyb3VuZC1jb2xvcjojZjFlYTAwO2JvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHg7LW1vei1ib3JkZXItcmFkaXVzOjRweDtib3gtc2hhZG93OjNweCAzcHggNHB4IHJnYmEoMCwwLDAsLjUpO2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtjb2xvcjojZjFlYTAwO2N1cnNvcjpwb2ludGVyO21hcmdpbjotMnB4IC0ycHggLTJweCAtM3B4O3BhZGRpbmc6MnB4IDJweCAycHggM3B4O3Bvc2l0aW9uOnJlbGF0aXZlfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtcHBIbHJmLXNuNTRRe2NvbG9yOiMyMjJ9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1WeTJBcWMtcGJUVFlle2NvbG9yOndoaXRlO3Bvc2l0aW9uOmFic29sdXRlIWltcG9ydGFudH0uVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVFZMdzljLXBwSGxyZiwuVklwZ0pkLXlBV05FYi1MN2xia2IgLlZJcGdKZC15QVdORWItVFZMdzljLXBwSGxyZiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtcHBIbHJmLXNuNTRRe2JhY2tncm91bmQtY29sb3I6I2M5ZDdmMTtib3JkZXItcmFkaXVzOjRweCA0cHggMCAwOy13ZWJraXQtYm9yZGVyLXJhZGl1czo0cHggNHB4IDAgMDstbW96LWJvcmRlci1yYWRpdXM6NHB4IDRweCAwIDA7Ym94LXNoYWRvdzozcHggM3B4IDRweCByZ2JhKDAsMCwwLC41KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Y3Vyc29yOnBvaW50ZXI7bWFyZ2luOi0ycHggLTJweCAtMnB4IC0zcHg7cGFkZGluZzoycHggMnB4IDNweCAzcHg7cG9zaXRpb246cmVsYXRpdmV9LlZJcGdKZC15QVdORWItTDdsYmtiIHNwYW46Zm9jdXN7b3V0bGluZTpub25lfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1UVkx3OWMtRHlWREF7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MXB4IHNvbGlkICM0ZDkwZmU7Ym9yZGVyLXJhZGl1czowOy13ZWJraXQtYm9yZGVyLXJhZGl1czowOy1tb3otYm9yZGVyLXJhZGl1czowO21hcmdpbjotMnB4O3BhZGRpbmc6MXB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi15QVdORWItVFZMdzljLXNuNTRRLUx6WDNlZntib3JkZXItbGVmdDoycHggc29saWQgcmVkO21hcmdpbi1sZWZ0Oi0ycHh9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLXlBV05FYi1UVkx3OWMtc241NFEtWUlBaUlie2JvcmRlci1yaWdodDoycHggc29saWQgcmVkO21hcmdpbi1yaWdodDotMnB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJme3BhZGRpbmc6MnB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21Te2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6MnB4IDJweCAzcHg7bWFyZ2luOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMzMzM7Ym9yZGVyOjFweCBzb2xpZCAjZDlkOWQ5O2JvcmRlci10b3A6MXB4IHNvbGlkICNjMGMwYzA7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246dG9wO2hlaWdodDoyMXB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJvcmRlci1yYWRpdXM6MXB4fS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21TOmhvdmVye2JvcmRlcjoxcHggc29saWQgI2I5YjliOTtib3JkZXItdG9wOjFweCBzb2xpZCAjYTBhMGEwO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpfS5WSXBnSmQteUFXTkViLUw3bGJrYiAuVklwZ0pkLXlBV05FYi1JRmRLeWQtWVBxamJmLWZtY21TOmZvY3Vze2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjMpO291dGxpbmU6bm9uZTtib3JkZXI6MXB4IHNvbGlkICM0ZDkwZmV9LlZJcGdKZC15QVdORWItTDdsYmtiIC5WSXBnSmQteUFXTkViLUlGZEt5ZC1ZUHFqYmYtc0ZlQnFme2ZvbnQtc2l6ZToxMXB4O3BhZGRpbmc6MnB4IDZweCAzcHg7bWFyZ2luOjAgMCAwIDJweDtoZWlnaHQ6MjFweH0uVklwZ0pkLXlBV05FYi1MN2xia2I+ZGl2e2Rpc3BsYXk6LW1vei1ib3g7ZGlzcGxheTpmbGV4Oy1tb3otYm94LW9yaWVudDp2ZXJ0aWNhbDstbW96LWJveC1kaXJlY3Rpb246bm9ybWFsO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmb250LWZhbWlseTpHb29nbGUgU2FucyxBcmlhbCxzYW5zLXNlcmlmfS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtVWQ3ZnJ7ZGlzcGxheTotbW96LWJveDtkaXNwbGF5OmZsZXg7LW1vei1ib3gtYWxpZ246ZW5kO2FsaWduLWl0ZW1zOmVuZDttYXJnaW46MTRweH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLUl1aXpXYy1TSXNyVGR7bWFyZ2luLXJpZ2h0OjE0cHg7Y29sb3I6Izc0Nzc3NTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1JdWl6V2MtaTNqTThje21hcmdpbi1sZWZ0OjE0cHg7Y29sb3I6Izc0Nzc3NTtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1rNzdJaWZ7bWFyZ2luOjAgMTZweCAxNnB4fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtYXhBVjF7d2lkdGg6YXV0bztjb2xvcjojMWYxZjFmO2ZvbnQtc2l6ZToxNnB4O3RleHQtYWxpZ246aW5pdGlhbH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWF4QVYxIC5WSXBnSmQteUFXTkViLVNJc3JUZHt0ZXh0LWFsaWduOnJpZ2h0fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlke2JvcmRlci1yYWRpdXM6MCAwIDEycHggMTJweDttYXJnaW46MDtiYWNrZ3JvdW5kOiNmMWY0Zjk7cG9zaXRpb246cmVsYXRpdmU7bWluLWhlaWdodDo1MHB4fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkIC5WSXBnSmQteUFXTkViLVNJc3JUZHt0ZXh0LWFsaWduOnJpZ2h0fS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtTjdFcWlkLUI3STRPZHtkaXNwbGF5Oi1tb3otYm94O2Rpc3BsYXk6ZmxleDstbW96LWJveC1vcmllbnQ6dmVydGljYWw7LW1vei1ib3gtZGlyZWN0aW9uOm5vcm1hbDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47d2lkdGg6NzclO3BhZGRpbmc6MTJweH0uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLU43RXFpZC1CN0k0T2QgLlZJcGdKZC15QVdORWItU0lzclRke3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1VVHVqQ2J7Y29sb3I6IzFmMWYxZjtmb250LXNpemU6MTJweDtmb250LXdlaWdodDo1MDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIC5WSXBnSmQteUFXTkViLVNJc3JUZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtVVR1akNie3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1lTzltS2V7Y29sb3I6IzQ0NDc0Njtmb250LXNpemU6MTJweDtwYWRkaW5nLXRvcDo0cHh9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1ON0VxaWQtQjdJNE9kIC5WSXBnSmQteUFXTkViLVNJc3JUZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtZU85bUtle3RleHQtYWxpZ246cmlnaHR9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC14Z292NXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDtyaWdodDo1cHh9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC14Z292NSAuVklwZ0pkLXlBV05FYi1TSXNyVGR7bGVmdDo1cHg7cmlnaHQ6YXV0b30uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLVRISTZWYntmaWxsOiMwYjU3ZDB9LlZJcGdKZC15QVdORWItaHZoZ05kIC5WSXBnSmQteUFXTkViLWh2aGdOZC1iZ202c2Z7bWFyZ2luOi00cHggMnB4IDAgMDtwYWRkaW5nOjJweCAwIDA7d2lkdGg6NDhweDtoZWlnaHQ6NDhweDtib3JkZXI6bm9uZTtib3JkZXItcmFkaXVzOjI0cHg7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDpub25lfS5WSXBnSmQteUFXTkViLWh2aGdOZCAuVklwZ0pkLXlBV05FYi1odmhnTmQtYmdtNnNmOmhvdmVye2JhY2tncm91bmQ6I2U4ZWJlY30uVklwZ0pkLXlBV05FYi1odmhnTmQgLlZJcGdKZC15QVdORWItaHZoZ05kLWFYWVRjZXtkaXNwbGF5Om5vbmV9c2VudGluZWx7fQ=="}},"time_used":65,"timings":{"blocked":0,"dns":2,"connect":16,"send":0,"wait":17,"receive":0,"ssl":30},"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.150.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/HPoJhVNSHdk","date":"2026-07-27T03:33:52.068Z","timestamp":1785123232068,"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/HPoJhVNSHdk\r\nCookie: __Secure-YNID=20.YT=eV2loe5TarhFqlUVIFSBpQRjn_v_TMVcG01J09SodanGw26pe2dVmqat59lQtaocVbsKCUdYA2q0kVVJHaHa9N9qE5YhzDAFJQp29wsoORZgohQgznu7SrhEUnX94RyA0yb-3RoDyd_XlJ57nkHAh3eV9Qsd7xxb3SBcbYT3hiAHoZZc6KPloe5Gpy8oMzE5FJaQ-X8NI0e8ilwJcaR3NFRYY9cFTL4lxxjADOjeAFUZYGMs-ZoMsmCtrxugvROVb3ZHDiEPVIhYns5Stpgl_oPJ38X-by_Q0pbdW0QAWDT96gMZTv3o3XBDur4bAWfiiupWuFb_BeE3XCrAaMOmHg; YSC=6ky3ezEIvRY; VISITOR_INFO1_LIVE=15CNSB7h6-4; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgYQ%3D%3D; __Secure-ROLLOUT_TOKEN=COiu8dvIl-ubQBDLxvug9vGVAxjLxvug9vGVAw%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 23:45:20 GMT\r\nexpires: Thu, 22 Jul 2027 23:45:20 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: 359312\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-27T05:12:07.080827Z","times_seen":4581,"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":26,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":10,"receive":16,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/css/jquery.bootstrap-touchspin.css","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.729Z","timestamp":1785123231729,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /css/jquery.bootstrap-touchspin.css HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/css/style.css\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: text/css\r\nlast-modified: Wed, 22 Apr 2026 17:27:28 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 258\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":772,"size_decoded":566,"mime_type":"text/css","magic":"ASCII text","md5":"c82a1dde47ad0956ce4a8a71761cc87e","sha1":"2b59a1bc66421246f642c1b866a4fea07210075b","sha256":"ea40d450aba1b968363c725912b035222155046a64acc60f14829a3e53e2006c","sha512":"f86dd414f7e06eb2961a1eb7d2759e38a807d9ff81ec1f2abd3e3c6dae0edf37340ed0eed499e305b9b0b5aeec959af389ded5739a0dc6c56eea896410d88567","ssdeep":"","tlshash":"8301499b3b93a960ec4ae174255443c7796a1292beb7c10403ea31246f899ff0b33a05","first_seen":"2023-04-05T08:09:08Z","last_seen":"2026-07-27T05:54:25.687214Z","times_seen":1890,"resource_available":false,"data":"Ci5ib290c3RyYXAtdG91Y2hzcGluIC5pbnB1dC1ncm91cC1idG4tdmVydGljYWwgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB3aGl0ZS1zcGFjZTogbm93cmFwOwogIHdpZHRoOiAxJTsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIGRpc3BsYXk6IHRhYmxlLWNlbGw7Cn0KCi5ib290c3RyYXAtdG91Y2hzcGluIC5pbnB1dC1ncm91cC1idG4tdmVydGljYWwgPiAuYnRuIHsKICBkaXNwbGF5OiBibG9jazsKICBmbG9hdDogbm9uZTsKICB3aWR0aDogMTAwJTsKICBtYXgtd2lkdGg6IDEwMCU7CiAgcGFkZGluZzogOHB4IDEwcHg7CiAgbWFyZ2luLWxlZnQ6IC0xcHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9CgouYm9vdHN0cmFwLXRvdWNoc3BpbiAuaW5wdXQtZ3JvdXAtYnRuLXZlcnRpY2FsIC5ib290c3RyYXAtdG91Y2hzcGluLXVwIHsKICBib3JkZXItcmFkaXVzOiAwOwogIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7Cn0KCi5ib290c3RyYXAtdG91Y2hzcGluIC5pbnB1dC1ncm91cC1idG4tdmVydGljYWwgLmJvb3RzdHJhcC10b3VjaHNwaW4tZG93biB7CiAgbWFyZ2luLXRvcDogLTJweDsKICBib3JkZXItcmFkaXVzOiAwOwogIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7Cn0KCi5ib290c3RyYXAtdG91Y2hzcGluIC5pbnB1dC1ncm91cC1idG4tdmVydGljYWwgaSB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogM3B4OwogIGxlZnQ6IDVweDsKICBmb250LXNpemU6IDlweDsKICBmb250LXdlaWdodDogbm9ybWFsOwp9Cg=="}},"time_used":30,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":30,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"static.cryptohopper.com/widgets/assets/public/css/style.css","fqdn":"static.cryptohopper.com","domain":"cryptohopper.com","tld":"com"},"ip":{"addr":"172.66.153.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:52.106Z","timestamp":1785123232106,"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":"cryptohopper.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 30 May 2026 04:15:50 GMT","end":"Fri, 28 Aug 2026 05:15:20 GMT"},"fingerprint":{"sha1":"76:C3:06:CF:AB:6D:33:4E:AE:DF:C4:54:C2:1D:03:D4:CF:1B:9C:A3","sha256":"10:12:9C:D7:A2:4D:11:94:F2:85:64:80:13:42:3F:4D:AF:06:BA:15:05:A8:C2:4D:43:D3:AB:5A:DE:02:6E:BA"}}},"request":{"raw":"GET /widgets/assets/public/css/style.css HTTP/1.1\r\nHost: static.cryptohopper.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://agilitetrade.com/\r\nCookie: widgets_csrf_cookie_name=c05588fb9c82dab23afba686b9a973b9; ci_session=cto3o5dhrgcl50up7to7u584adbmu7e7\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ncontent-type: text/css\r\nlast-modified: Thu, 13 Aug 2020 09:10:47 GMT\r\ncontent-encoding: gzip\r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 03:33:52 GMT\r\netag: \"c2be2f2d17f1ad2e99e26d7d1f03710e\"\r\nvary: accept-encoding, Origin\r\nx-cache: Hit from cloudfront\r\nvia: 1.1 c9ecaac90c1241105b5e208a8bb9f8ce.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: ARN52-P1\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-amz-cf-id: dTzW3y7_vdkF8GpJ7uVhysr2dbnJZyn9yUsSis4IfZ9ToJ5zQ_GJbg==\r\ncf-cache-status: HIT\r\nx-xss-protection: 1; mode=block\r\nx-frame-options: SAMEORIGIN\r\nreferrer-policy: strict-origin-when-cross-origin\r\ncontent-security-policy: default-src 'self'; script-src 'self'; frame-ancestors 'none';\r\nx-content-type-options: nosniff\r\nstrict-transport-security: max-age=31536000\r\npriority: u=2,i=?0\r\nage: 4267\r\ncache-control: max-age=14400\r\ncf-ray: a21895c8bc875684-OSL\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":50710,"size_decoded":9614,"mime_type":"text/css","magic":"ASCII text, with very long lines (50709)","md5":"c2be2f2d17f1ad2e99e26d7d1f03710e","sha1":"ebc05b4d01edec633c9df96b4b0d41b15cfc612d","sha256":"06a92e9862a29259429538cdf7a2cb5675e8675d0edb9cfb26eba6e58e826245","sha512":"93e9541ba0917deb25e1e7d3cd61358670318cae49c82e6af2471e507f2214c25b855d2a6adbe024f031d09f0788f2356f4b826da5269bcfcd525d1ec8eee9ff","ssdeep":"384:El8298DchESZnQshDcIqPKUyZAjq+AjqaAjqCh2WVlhLN8Lt8/ty7UBj40ZkS5tT:YWDtYQODzxUy6h2WVl6Gj40AgR3eBx2","tlshash":"6d337621fa427219277ef4116df0f39a627c513191314b7afa9793128fcac9ec352b1a","first_seen":"2024-10-27T18:02:30.419505Z","last_seen":"2026-07-27T05:16:33.146376Z","times_seen":562,"resource_available":false,"data":"QGltcG9ydCB1cmwoaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90byk7LmNyeXB0b2hvcHBlci13ZWItd2lkZ2V0e2ZvbnQtZmFtaWx5OlJvYm90byxzYW5zLXNlcmlmfS5jcnlwdG9ib3hlcyAuc2VsZWN0aXplLWlucHV0PmlucHV0e21hcmdpbjowIDJweCAwIDAhaW1wb3J0YW50fS5jcnlwdG9ib3hlcyAuc2VsZWN0aXplLWNvbnRyb2wubXVsdGkgLnNlbGVjdGl6ZS1pbnB1dC5kaXNhYmxlZD5kaXYsLmNyeXB0b2JveGVzIC5zZWxlY3RpemUtY29udHJvbC5tdWx0aSAuc2VsZWN0aXplLWlucHV0LmRpc2FibGVkPmRpdi5hY3RpdmV7Y29sb3I6IzdkN2Q3ZDtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjAgc29saWQgI2ZmZn0uY3J5cHRvYm94ZXMgLnNlbGVjdGl6ZS1jb250cm9sLm11bHRpIC5zZWxlY3RpemUtaW5wdXQ+ZGl2LmFjdGl2ZXtiYWNrZ3JvdW5kOiNlOGU4ZTg7Y29sb3I6IzMwMzAzMDtib3JkZXI6bm9uZX0uY3J5cHRvYm94ZXMgLnNlbGVjdGl6ZS1jb250cm9sLm11bHRpIC5zZWxlY3RpemUtaW5wdXQ+ZGl2e21hcmdpbjowIDNweCAzcHggMDtwYWRkaW5nOjJweCA2cHg7YmFja2dyb3VuZDojZjJmMmYyO2NvbG9yOiMzMDMwMzA7Ym9yZGVyOm5vbmV9LmNyeXB0b2JveGVzIC5zZWxlY3RpemUtY29udHJvbC5tdWx0aSAuc2VsZWN0aXplLWlucHV0Lmhhcy1pdGVtc3twYWRkaW5nOjZweCA4cHggM3B4fS5jcnlwdG9ib3hlcyAuc2VsZWN0aXplLWRyb3Bkb3duLC5jcnlwdG9ib3hlcyAuc2VsZWN0aXplLWlucHV0e2JvcmRlcjoxcHggc29saWQgI2QwZDBkMDtmb250LXNpemU6Ljg1ZW19QGZvbnQtZmFjZXtmb250LWZhbWlseTptYXNzaXZlLWNyeXB0bztzcmM6dXJsKC4uL2ZvbnRzL21hc3NpdmUtY3J5cHRvLmVvdD92KTtzcmM6dXJsKC4uL2ZvbnRzL21hc3NpdmUtY3J5cHRvLmVvdD92I2llZml4KSBmb3JtYXQoImVtYmVkZGVkLW9wZW50eXBlIiksdXJsKC4uL2ZvbnRzL21hc3NpdmUtY3J5cHRvLndvZmY/dikgZm9ybWF0KCJ3b2ZmIiksdXJsKC4uL2ZvbnRzL21hc3NpdmUtY3J5cHRvLnR0Zj92KSBmb3JtYXQoInRydWV0eXBlIiksdXJsKC4uL2ZvbnRzL21hc3NpdmUtY3J5cHRvLnN2Zz92I21hc3NpdmUtY3J5cHRvKSBmb3JtYXQoInN2ZyIpO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5vcm1hbH1bZGF0YS1pY29uXTpiZWZvcmV7Zm9udC1mYW1pbHk6bWFzc2l2ZS1jcnlwdG8haW1wb3J0YW50O2NvbnRlbnQ6YXR0cihkYXRhLWljb24pO2ZvbnQtc3R5bGU6bm9ybWFsIWltcG9ydGFudDtmb250LXdlaWdodDo0MDAhaW1wb3J0YW50O2ZvbnQtdmFyaWFudDpub3JtYWwhaW1wb3J0YW50O3RleHQtdHJhbnNmb3JtOm5vbmUhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjE7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlfVtjbGFzcyo9IiBtaWNvbi0iXTpiZWZvcmUsW2NsYXNzXj1taWNvbi1dOmJlZm9yZXtmb250LWZhbWlseTptYXNzaXZlLWNyeXB0byFpbXBvcnRhbnQ7Zm9udC1zdHlsZTpub3JtYWwhaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjQwMCFpbXBvcnRhbnQ7Zm9udC12YXJpYW50Om5vcm1hbCFpbXBvcnRhbnQ7dGV4dC10cmFuc2Zvcm06bm9uZSFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGV9LmNyeXB0b2JveGVzIC5tY3ctZG93biwuY3J5cHRvYm94ZXMgLm1jdy11cHtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjt2ZXJ0aWNhbC1hbGlnbjpib3R0b219Lm1pY29uLWFycm93LWRvd24sLm1pY29uLWFycm93LXVwe2Rpc3BsYXk6ZmxleH0ubWljb24tYXJyb3ctdXA6YmVmb3Jle2NvbnRlbnQ6Ilw2MSJ9Lm1pY29uLWFycm93LWRvd246YmVmb3Jle2NvbnRlbnQ6Ilw2MiJ9Lm1pY29uLWFycm93LWNpcmNsZS1vLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6Ilw2NSJ9Lm1pY29uLWFycm93LWNpcmNsZS1vLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcNjYifS5taWNvbi1pbmZvLWNpcmNsZWQ6YmVmb3Jle2NvbnRlbnQ6Ilw2OCJ9Lm1pY29uLXN0YXI6YmVmb3Jle2NvbnRlbnQ6Ilw2OSJ9Lm1pY29uLXdvcmxkOmJlZm9yZXtjb250ZW50OiJcNmEifS5taWNvbi1lbnZlbG9wZTpiZWZvcmV7Y29udGVudDoiXDZiIn0ubWljb24tdXAtb3BlbjpiZWZvcmV7Y29udGVudDoiXDY3In0ubWljb24tZG93bi1vcGVuOmJlZm9yZXtjb250ZW50OiJcNmMifS5taWNvbi10aW1lczpiZWZvcmV7Y29udGVudDoiXDYzIn0ubWljb24tYmFyczpiZWZvcmV7Y29udGVudDoiXDY0In0uY3J5cHRvYm94ZXMgLm1jdy1kYW5nZXItdGhlbWUsLmNyeXB0b2JveGVzIC5tY3ctZGFyay10aGVtZSwuY3J5cHRvYm94ZXMgLm1jdy1pbmZvLXRoZW1lLC5jcnlwdG9ib3hlcyAubWN3LW1pZG5pZ2h0LXRoZW1lLC5jcnlwdG9ib3hlcyAubWN3LXN1Y2Nlc3MtdGhlbWUsLmNyeXB0b2JveGVzIC5tY3ctd2FybmluZy10aGVtZXtjb2xvcjojZmZmIWltcG9ydGFudH0uY3J5cHRvYm94ZXMgLm1jdy13aGl0ZS10aGVtZXtjb2xvcjojNTY1NjU2IWltcG9ydGFudH0uY3J5cHRvYm94ZXMgLm1jdy13aGl0ZS10aGVtZXtiYWNrZ3JvdW5kOiNmZmZ9LmNyeXB0b2JveGVzIC5tY3ctZGFyay10aGVtZXtiYWNrZ3JvdW5kOiMwMDB9LmNyeXB0b2JveGVzIC5tY3ctbWlkbmlnaHQtdGhlbWV7YmFja2dyb3VuZDojNDA0MDc1fS5jcnlwdG9ib3hlcyAubWN3LWluZm8tdGhlbWV7YmFja2dyb3VuZDojNTA3M2Y1fS5jcnlwdG9ib3hlcyAubWN3LXdhcm5pbmctdGhlbWV7YmFja2dyb3VuZDojZWRhODM2fS5jcnlwdG9ib3hlcyAubWN3LWRhbmdlci10aGVtZXtiYWNrZ3JvdW5kOiNmNjg4N2R9LmNyeXB0b2JveGVzIC5tY3ctc3VjY2Vzcy10aGVtZXtiYWNrZ3JvdW5kOiMyOWM3OWV9LmNyeXB0b2JveGVzICp7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS5jcnlwdG9ib3hlcyBhcnRpY2xlLC5jcnlwdG9ib3hlcyBhc2lkZSwuY3J5cHRvYm94ZXMgZGV0YWlscywuY3J5cHRvYm94ZXMgZmlnY2FwdGlvbiwuY3J5cHRvYm94ZXMgZmlndXJlLC5jcnlwdG9ib3hlcyBmb290ZXIsLmNyeXB0b2JveGVzIGhlYWRlciwuY3J5cHRvYm94ZXMgaGdyb3VwLC5jcnlwdG9ib3hlcyBtZW51LC5jcnlwdG9ib3hlcyBuYXYsLmNyeXB0b2JveGVzIHNlY3Rpb257ZGlzcGxheTpibG9ja30uY3J5cHRvYm94ZXMgb2wsLmNyeXB0b2JveGVzIHVse2xpc3Qtc3R5bGU6bm9uZSFpbXBvcnRhbnQ7bWFyZ2luOjAhaW1wb3J0YW50O3BhZGRpbmctbGVmdDowfS5jcnlwdG9ib3hlcyBibG9ja3F1b3RlLC5jcnlwdG9ib3hlcyBxe3F1b3Rlczpub25lfS5jcnlwdG9ib3hlcyBibG9ja3F1b3RlOmFmdGVyLC5jcnlwdG9ib3hlcyBibG9ja3F1b3RlOmJlZm9yZSwuY3J5cHRvYm94ZXMgcTphZnRlciwuY3J5cHRvYm94ZXMgcTpiZWZvcmV7Y29udGVudDonJztjb250ZW50Om5vbmV9LmNyeXB0b2JveGVzIC5pbnZlcnQtYWN0IGltZy5pbnZlcnRhYmxlLC5jcnlwdG9ib3hlcy5pbnZlcnQtYWN0IGltZy5pbnZlcnRhYmxley13ZWJraXQtZmlsdGVyOmludmVydCg4MCUpO2ZpbHRlcjppbnZlcnQoODAlKX0uY3J5cHRvYm94ZXMgLmludmVydC1hY3QgLmJnIGltZy5pbnZlcnRhYmxley13ZWJraXQtZmlsdGVyOmdyYXlzY2FsZSg4MCUpIGludmVydCg4MCUpO2ZpbHRlcjpncmF5c2NhbGUoODAlKSBpbnZlcnQoODAlKX0uY3J5cHRvYm94ZXMgYS5tY3ctbGlua3tjb2xvcjppbmhlcml0O3RleHQtZGVjb3JhdGlvbjpub25lfS5jcnlwdG9ib3hlcyAubWN3LXRpY2tlcnt2aXNpYmlsaXR5OmhpZGRlbjtvdmVyZmxvdzpoaWRkZW59LmNyeXB0b2JveGVzIC5tY3ctdGlja2VyLm1jdy1mb290ZXIsLmNyeXB0b2JveGVzIC5tY3ctdGlja2VyLm1jdy1oZWFkZXJ7d2lkdGg6MTAwJTtwb3NpdGlvbjpmaXhlZDtsZWZ0OjA7ei1pbmRleDo5OTk5OTk5fS5jcnlwdG9ib3hlcyAubWN3LXRpY2tlci5tY3ctaGVhZGVye3RvcDowfS5jcnlwdG9ib3hlcyAubWN3LXRpY2tlci5tY3ctZm9vdGVye2JvdHRvbTowfS5jcnlwdG9ib3hlcyAuY2MtdGlja2VyLXJvdW5ke2JvcmRlci1yYWRpdXM6NXB4fS5jcnlwdG9ib3hlcyAuY2Mtc3RhdHN7bWFyZ2luOjAhaW1wb3J0YW50O2JvcmRlcjowIG5vbmUhaW1wb3J0YW50O3doaXRlLXNwYWNlOm5vd3JhcDtsaXN0LXN0eWxlOm5vbmUhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjFlbX0uY3J5cHRvYm94ZXMgLmNjLXN0YXRzIC5jYy1jb2lue2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjowIWltcG9ydGFudDtwYWRkaW5nOjEwcHghaW1wb3J0YW50O2JvcmRlcjowIG5vbmUhaW1wb3J0YW50fS5jcnlwdG9ib3hlcyAuY2Mtc3RhdHMgLmNjLWNvaW4gZGl2IGJ7Zm9udC13ZWlnaHQ6NDAwIWltcG9ydGFudDt0ZXh0LWFsaWduOmNlbnRlcjtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS5jcnlwdG9ib3hlcyAuY2MtY29pbiAuY29pbi1pbWd7bWFyZ2luLXJpZ2h0OjEwcHh9LmNyeXB0b2JveGVzIFtkYXRhLXByaWNlXXtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nOi4zZW07bGluZS1oZWlnaHQ6MTtib3JkZXItcmFkaXVzOjRweDt3aGl0ZS1zcGFjZTpub3dyYXA7LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3h9LmNyeXB0b2JveGVzIC5jYy1jb2luPmRpdntwb3NpdGlvbjpyZWxhdGl2ZX0uY3J5cHRvYm94ZXMgLmNjLWNvaW4gc3Zne3dpZHRoOjI0cHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO21hcmdpbi1yaWdodDo1cHh9LmNyeXB0b2JveGVzIC5jYy1jb2luOmJlZm9yZXtkaXNwbGF5Om5vbmV9LmNyeXB0b2JveGVzIC5jYy1jb2luIC5tY3ctZG93bntjb2xvcjojZjY4ODdkfS5jcnlwdG9ib3hlcyAuY2MtY29pbiAubWN3LXVwe2NvbG9yOiMyOWM3OWV9LmNyeXB0b2JveGVzIGEuY2MtY29pbjpob3ZlcntiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjEpfS5jcnlwdG9ib3hlcyAuY2MtdGlja2VyLm1jdy13aGl0ZS10aGVtZSBhLmNjLWNvaW46aG92ZXJ7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4wMil9LmNyeXB0b2JveGVzIC5tY3ctdGlja2VyLm1jdy1oZWFkZXIgLm1jdy13aGl0ZS10aGVtZXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZTZlNmU2fS5jcnlwdG9ib3hlcyAubWN3LXRpY2tlci5tY3ctZm9vdGVyIC5tY3ctd2hpdGUtdGhlbWV7Ym9yZGVyLXRvcDoxcHggc29saWQgI2U2ZTZlNn0uY3J5cHRvYm94ZXMgLmNjLXN0YXRze2ZvbnQtc2l6ZToxNHB4IWltcG9ydGFudH0uY3J5cHRvYm94ZXMgLmNjLXN0YXRze3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7LXdlYmtpdC1hbmltYXRpb246dGlja2VyIDBzIGxpbmVhciBpbmZpbml0ZSAwcyBub3JtYWw7LW1vei1hbmltYXRpb246dGlja2VyIDBzIGxpbmVhciBpbmZpbml0ZSAwcyBub3JtYWw7YW5pbWF0aW9uOnRpY2tlciAwcyBsaW5lYXIgaW5maW5pdGUgMHMgbm9ybWFsfS5jcnlwdG9ib3hlczpob3ZlciAuY2Mtc3RhdHN7LXdlYmtpdC1hbmltYXRpb24tcGxheS1zdGF0ZTpwYXVzZWQ7LW1vei1hbmltYXRpb24tcGxheS1zdGF0ZTpwYXVzZWQ7YW5pbWF0aW9uLXBsYXktc3RhdGU6cGF1c2VkfS5jcnlwdG9ib3hlcyAuY2Mtc3RhdHMgLmNjLWR1cHtkaXNwbGF5OmlubGluZX1ALXdlYmtpdC1rZXlmcmFtZXMgdGlja2VyezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSl9fUBrZXlmcmFtZXMgdGlja2VyezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSl9fS5jcnlwdG9ib3hlcyAubWN3LWNhcmQtaGVhZHtsaW5lLWhlaWdodDoxfS5jcnlwdG9ib3hlcyAubWN3LWNhcmQtaGVhZD5kaXZ7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uY3J5cHRvYm94ZXMgLmNjLWNvaW4gaW1ne3ZlcnRpY2FsLWFsaWduOnRvcH0uY3J5cHRvYm94ZXMgLmNjLWNvaW4gYiwuY3J5cHRvYm94ZXMgLm1jdy1jYXJkLWhlYWQgcHtmb250LXNpemU6aW5oZXJpdDtmb250LXdlaWdodDo0MDA7cGFkZGluZy1sZWZ0OjEwcHghaW1wb3J0YW50O21hcmdpbjowIWltcG9ydGFudDt3b3JkLWJyZWFrOmJyZWFrLXdvcmR9LmNyeXB0b2JveGVzIC5tY3ctdGlja2VyLTIgLmNjLXN0YXRze3BhZGRpbmc6MCFpbXBvcnRhbnR9LmNyeXB0b2JveGVzIC5tY3ctdGlja2VyLTIgLmNvaW4tbmFtZXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2ZvbnQtd2VpZ2h0OjcwMH0uY3J5cHRvYm94ZXMgLm1jdy10aWNrZXItMiAuY29pbi1uYW1lIGltZ3ttYXJnaW4tcmlnaHQ6NXB4fS5jcnlwdG9ib3hlcyAubWN3LXRpY2tlci0yIC5jb2luLW5hbWUgc3BhbntvcGFjaXR5Oi42fS5jcnlwdG9ib3hlcyAubWN3LXRpY2tlci0yIC5jb2luLWNoYXJ0e21hcmdpbi1sZWZ0OjIwcHh9LmNyeXB0b2JveGVzIC5tY3ctdGlja2VyLTIgLm1jdy1wcmljZXtmb250LXNpemU6MS4xZW07bGluZS1oZWlnaHQ6MS41O2ZvbnQtd2VpZ2h0OjcwMDttYXJnaW4tdG9wOjE1cHg7dGV4dC1hbGlnbjpsZWZ0fS5jcnlwdG9ib3hlcyAubWN3LXRpY2tlci0yIC5jYy1zdGF0cyAuY2MtY29pbntwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nOjIwcHghaW1wb3J0YW50fS5jcnlwdG9ib3hlcyAubWN3LXRpY2tlci0yIC5jYy1jb2luOjphZnRlcntjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtoZWlnaHQ6ODAlO3JpZ2h0OjA7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4yKX0uY3J5cHRvYm94ZXMgLm1jdy10aWNrZXItMiAubWN3LXdoaXRlLXRoZW1lIC5jYy1jb2luOjphZnRlcntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjEpfS5jcnlwdG9ib3hlcyAubWN3LXRpY2tlciAubWN3LXByaWNle21hcmdpbi1sZWZ0Oi0uM2VtfS5jcnlwdG9ib3hlcyAubWN3LWNhcmR7ZmlsbDojZmZmO2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1yaWdodDouNXJlbTttYXJnaW4tbGVmdDouNXJlbTttYXJnaW4tYm90dG9tOjFyZW07b3ZlcmZsb3c6aGlkZGVuO21pbi13aWR0aDozNjBweDttYXgtd2lkdGg6Y2FsYygxMDAlIC0gMXJlbSk7dmVydGljYWwtYWxpZ246dG9wOy13ZWJraXQtYm94LXNoYWRvdzowIDFweCA0cHggLTFweCByZ2JhKDAsMCwwLC4yKSwwIDFweCA1cHggMCByZ2JhKDAsMCwwLC4xKSwwIDFweCAxcHggMCByZ2JhKDAsMCwwLC4xKSFpbXBvcnRhbnQ7Ym94LXNoYWRvdzowIDFweCA0cHggLTFweCByZ2JhKDAsMCwwLC4yKSwwIDFweCA1cHggMCByZ2JhKDAsMCwwLC4xKSwwIDFweCAxcHggMCByZ2JhKDAsMCwwLC4xKSFpbXBvcnRhbnQ7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS5jcnlwdG9ib3hlcyAubWN3LWNhcmQubWN3LXN0cmV0Y2gsLmNyeXB0b2JveGVzIC5tY3ctbGFiZWwubWN3LXN0cmV0Y2h7d2lkdGg6MTAwJTttYXJnaW46MDttYXJnaW4tYm90dG9tOjIwcHg7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOmF1dG99LmNyeXB0b2JveGVzIC5jYy1sYWJlbC1jb2x7dmVydGljYWwtYWxpZ246dG9wO2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1yaWdodDoyMHB4fS5jcnlwdG9ib3hlcyAubWN3LWNhcmQubWN3LXdoaXRlLXRoZW1le2ZpbGw6IzAwMH0uY3J5cHRvYm94ZXMgLm1jdy1jYXJkLWhlYWQgaW1ne21heC1oZWlnaHQ6MjRweH0uY3J5cHRvYm94ZXMgLm1jdy1jYXJkIC5tY3ctcHJpY2VsYWJlbHttYXJnaW4tdG9wOjMwcHh9LmNyeXB0b2JveGVzIC5tY3ctY2FyZCAubWN3LXByaWNle2ZvbnQtc2l6ZToyMjAlO3BhZGRpbmc6MCA4cHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7bGluZS1oZWlnaHQ6MS41fS5jcnlwdG9ib3hlcyAubWN3LWNhcmQubWN3LWRhcmstdGhlbWUgaDIsLmNyeXB0b2JveGVzIC5tY3ctY2FyZC5tY3ctZGFyay10aGVtZSB0aHtjb2xvcjojZmZmfS5jcnlwdG9ib3hlcyAubWN3LWNhcmQgLm1jdy1kb3duLC5jcnlwdG9ib3hlcyAubWN3LWNhcmQgLm1jdy11cHtwb3NpdGlvbjpyZWxhdGl2ZTt2ZXJ0aWNhbC1hbGlnbjp0ZXh0LWJvdHRvbX0uY3J5cHRvYm94ZXMgLm1jdy1jYXJkIC5tY3ctdXB7Y29sb3I6IzI4ZDA5NCFpbXBvcnRhbnR9LmNyeXB0b2JveGVzIC5tY3ctY2FyZCAubWN3LWRvd257Y29sb3I6I2ZmNDk2MSFpbXBvcnRhbnR9LmNyeXB0b2JveGVzIC5tY3ctY2FyZC5tY3ctc3VjY2Vzcy10aGVtZSAubWN3LXVwLC5jcnlwdG9ib3hlcyAubWN3LWNhcmQubWN3LXdhcm5pbmctdGhlbWUgLm1jdy11cHtjb2xvcjojMDk5NzdlfS5jcnlwdG9ib3hlcyAubWN3LWNhcmQubWN3LWRhbmdlci10aGVtZSAubWN3LWRvd24sLmNyeXB0b2JveGVzIC5tY3ctY2FyZC5tY3ctaW5mby10aGVtZSAubWN3LWRvd257Y29sb3I6I2ZmNmI1Y30uY3J5cHRvYm94ZXMgLm1jdy1jYXJkLTF7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZzoyMHB4IDIwcHggMTBweCAyMHB4O3RleHQtYWxpZ246bGVmdH0uY3J5cHRvYm94ZXMgLm1jdy1yb3VuZGVke2JvcmRlci1yYWRpdXM6NXB4fS5jcnlwdG9ib3hlcyAubWN3LWNhcmQtMSAuYmd7cG9zaXRpb246YWJzb2x1dGU7aGVpZ2h0OjEwMCU7cmlnaHQ6MDt0b3A6MjBweH0uY3J5cHRvYm94ZXMgLm1jdy1jYXJkLTEgLmJnIGltZ3tkaXNwbGF5OmJsb2NrO21heC13aWR0aDoxMDAlO2hlaWdodDoxMDAlO29wYWNpdHk6LjE7LXdlYmtpdC1maWx0ZXI6Z3JheXNjYWxlKDEwMCUpO2ZpbHRlcjpncmF5c2NhbGUoMTAwJSk7YmFja2dyb3VuZDowIDA7Ym9yZGVyOm5vbmV9LmNyeXB0b2JveGVzIC5tY3ctY2FyZC0xIC5tY3ctcHJpY2V7ZGlzcGxheTppbmxpbmU7bWFyZ2luLWxlZnQ6LThweH0uY3J5cHRvYm94ZXMgLm1jdy1jYXJkLTJ7cGFkZGluZzoyMHB4O3RleHQtYWxpZ246Y2VudGVyfS5jcnlwdG9ib3hlcyAubWN3LWNhcmQtMiAubWN3LXByaWNle2ZvbnQtd2VpZ2h0OjcwMDtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW46MCAxMHB4IDEwcHh9LmNyeXB0b2JveGVzIC5tY3ctY2FyZC0yIC5tY3ctY2FyZC1oZWFke21hcmdpbi10b3A6NXB4fS5jcnlwdG9ib3hlcyAubWN3LWNhcmQtM3twb3NpdGlvbjpyZWxhdGl2ZX0uY3J5cHRvYm94ZXMgLm1jdy1jYXJkLTMgbGl7cGFkZGluZzoyMHB4IDMwcHh9LmNyeXB0b2JveGVzIC5tY3ctY2FyZC0zIC5tY3ctY2FyZC1zeW1ib2x7Zm9udC1zaXplOjg1JX0uY3J5cHRvYm94ZXMgLm1jdy1jYXJkLTMgLm1jdy1jYXJkLW5hbWUsLmNyeXB0b2JveGVzIC5tY3ctY2FyZC0zIC5tY3ctcHJpY2V7Zm9udC1zaXplOjE0MCU7dGV4dC1hbGlnbjpsZWZ0IWltcG9ydGFudDtkaXNwbGF5OmlubGluZTtsaW5lLWhlaWdodDoxLjV9LmNyeXB0b2JveGVzIC5tY3ctY2FyZC0zIC5tY3ctcHJpY2V7bWFyZ2luLXJpZ2h0Oi0xMHB4fS5jcnlwdG9ib3hlcyAubWN3LWNhcmQtMyAubWN3LXByaWNlbGFiZWx7bWFyZ2luOjB9LmNyeXB0b2JveGVzIC5tY3ctY2FyZC0zPmRpdntkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47dGV4dC1hbGlnbjpsZWZ0fS5jcnlwdG9ib3hlcyAubWN3LWNhcmQtMz5kaXY6bGFzdC1jaGlsZCBsaXtwYWRkaW5nLXRvcDowfS5jcnlwdG9ib3hlcyAubWN3LWNhcmQtMyB1bDpsYXN0LWNoaWxke3RleHQtYWxpZ246cmlnaHR9LmNyeXB0b2JveGVzIC5tY3ctY2FyZC0zIC5tY3ctZG4zLWJvZHl7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4yKX0uY3J5cHRvYm94ZXMgLm1jdy1jYXJkLTMgLm1jdy1jYXJkLW1hcmtldGNhcCwuY3J5cHRvYm94ZXMgLm1jdy1jYXJkLTMgLm1jdy1jYXJkLXBlcmNlbnR7bGluZS1oZWlnaHQ6MS41fS5jcnlwdG9ib3hlcyAubWN3LWNhcmQtNHtwYWRkaW5nOjIwcHg7dGV4dC1hbGlnbjpjZW50ZXJ9LmNyeXB0b2JveGVzIC5tY3ctY2FyZC00IC5oZWFkZXJ7cGFkZGluZzoyMHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjIpO2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuMSl9LmNyeXB0b2JveGVzIC5tY3ctY2FyZC00Lm1jdy13aGl0ZS10aGVtZSAuaGVhZGVye2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMSk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwuMil9LmNyeXB0b2JveGVzIC5tY3ctY2FyZC00IC5tY3ctcHJpY2V7ZGlzcGxheTppbmxpbmV9LmNyeXB0b2JveGVzIC5tY3ctY2FyZC01e3BhZGRpbmc6MjBweDt0ZXh0LWFsaWduOmNlbnRlcjtwb3NpdGlvbjpyZWxhdGl2ZX0uY3J5cHRvYm94ZXMgLm1jdy1jYXJkLTUgLmhlYWRlcntwYWRkaW5nOjEwcHggMCAyMHB4IDB9LmNyeXB0b2JveGVzIC5tY3ctY2FyZC01IC5tY3ctY2FyZC1tYXJrZXRjYXB7bWFyZ2luOjEwcHggLTIwcHg7cGFkZGluZzo1cHg7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4wNSl9LmNyeXB0b2JveGVzIC5tY3ctY2FyZC01IC5tY3ctcHJpY2V7ZGlzcGxheTppbmxpbmV9LmNyeXB0b2JveGVzIC5tY3ctY2FyZC01Lm1jdy13aGl0ZS10aGVtZSAubWN3LWNhcmQtbWFya2V0Y2Fwe2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMSl9LmNyeXB0b2JveGVzIC5tY3ctY2FyZC02e3BhZGRpbmc6MTBweDt0ZXh0LWFsaWduOmNlbnRlcn0uY3J5cHRvYm94ZXMgLm1jdy1jYXJkLTYgLm1jdy1kbjYtYm9keSwuY3J5cHRvYm94ZXMgLm1jdy1jYXJkLTYgLm1jdy1kbjYtaGVhZHtwYWRkaW5nOjEwcHh9LmNyeXB0b2JveGVzIC5tY3ctY2FyZC02IGxpe2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDozMCU7bWFyZ2luOjAgMS41JTtib3gtc2l6aW5nOmJvcmRlci1ib3h9LmNyeXB0b2JveGVzIC5tY3ctY2FyZC02IHRhYmxlIHRkLC5jcnlwdG9ib3hlcyAubWN3LWNhcmQtNiB0YWJsZSB0aHtwYWRkaW5nOjVweH0uY3J5cHRvYm94ZXMgLm1jdy1jYXJkLTd7d2lkdGg6MTAwJTttYXgtd2lkdGg6OTAwcHg7Zm9udC13ZWlnaHQ6ODAwO3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6MjBweH0uY3J5cHRvYm94ZXMgLm1jdy1jYXJkLTcgLm1jdy1wcmljZSBzdmd7dmVydGljYWwtYWxpZ246bWlkZGxlfS5jcnlwdG9ib3hlcyAubWN3LWNhcmQtNyAubWN3LWNhcmQtaGVhZHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Zm9udC1zaXplOjUwcHh9LmNyeXB0b2JveGVzIC5tY3ctY2FyZC03IC5tY3ctaGVhZC1zeW1ib2x7Zm9udC1zaXplOjEwMHB4O2ZvbnQtd2VpZ2h0OjMwMDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmNyeXB0b2JveGVzIC5tY3ctY2FyZC03IC5tY3ctY2FyZC1ib2R5e2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwb3NpdGlvbjpyZWxhdGl2ZTtmb250LXNpemU6MjBweDtmbGV4LXdyYXA6d3JhcH0uY3J5cHRvYm94ZXMgLm1jdy1jYXJkLTcgLm1jdy1jYXJkLWJvZHk+ZGl2e3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6MjBweH0uY3J5cHRvYm94ZXMgLm1jdy1jYXJkLTcgLm1jdy1jYXJkLW5hbWUgc3Bhbntmb250LXNpemU6MThweDt2ZXJ0aWNhbC1hbGlnbjp0b3B9LmNyeXB0b2JveGVzIC5tY3ctY2FyZC03IC5tY3ctY2FyZC1uYW1lIGltZ3twb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7Ym90dG9tOjA7bWFyZ2luOmF1dG8haW1wb3J0YW50O21heC1oZWlnaHQ6NjBweH0uY3J5cHRvYm94ZXMgLm1jdy1jYXJkLTcgLm1jdy1jYXJkLW5hbWU+ZGl2e2xpbmUtaGVpZ2h0OjI0cHg7bWFyZ2luOjAhaW1wb3J0YW50O3BhZGRpbmctbGVmdDo2MHB4O2ZvbnQtc2l6ZTo0MHB4fS5jcnlwdG9ib3hlcyAubWN3LWNhcmQtNyAubWN3LWNhcmQtYm9keSAubWN3LWNoYW5nZXN7dGV4dC1hbGlnbjpsZWZ0fS5jcnlwdG9ib3hlcyAubWN3LWNhcmQtNyAubWN3LWNhcmQtYm9keSAubWN3LWNoYW5nZXMgc3Bhbi5tY3ctZG93biwuY3J5cHRvYm94ZXMgLm1jdy1jYXJkLTcgLm1jdy1jYXJkLWJvZHkgLm1jdy1jaGFuZ2VzIHNwYW4ubWN3LXVwe2Rpc3BsYXk6YmxvY2s7bGluZS1oZWlnaHQ6MS41fS5jcnlwdG9ib3hlcyAubWN3LWNhcmQtNyAubWN3LXRvZ2dsZXtkaXNwbGF5OmZsZXg7Zm9udC1zaXplOjE1cHh9LmNyeXB0b2JveGVzIC5tY3ctY2FyZC03IC5tY3ctdG9nZ2xlLXN3aXRjaHtwYWRkaW5nOjEwcHggMzBweDtib3JkZXI6MXB4IHNvbGlkICMwMDA7Ym9yZGVyLXJpZ2h0OjA7Y3Vyc29yOnBvaW50ZXJ9LmNyeXB0b2JveGVzIC5tY3ctdG9nZ2xlLXN3aXRjaDpmaXJzdC1jaGlsZHtib3JkZXItcmFkaXVzOjIwcHggMCAwIDIwcHh9LmNyeXB0b2JveGVzIC5tY3ctY2FyZC03IC5tY3ctdG9nZ2xlLXN3aXRjaDpsYXN0LWNoaWxke2JvcmRlci1yYWRpdXM6MCAyMHB4IDIwcHggMDtib3JkZXItcmlnaHQ6MXB4IHNvbGlkICMwMDB9LmNyeXB0b2JveGVzIC5tY3ctY2FyZC03IC5tY3ctY2hhbmdlc3tkaXNwbGF5OmZsZXh9LmNyeXB0b2JveGVzIC5tY3ctY2FyZC03IC5tY3ctY2hhbmdlcz5kaXY6bGFzdC1jaGlsZHtwYWRkaW5nLWxlZnQ6MjBweH0uY3J5cHRvYm94ZXMgLm1jdy1jYXJkLTcgLm1jdy10b2dnbGUtc3dpdGNoLmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpfS5jcnlwdG9ib3hlcyAubWN3LWNhcmQtNy5tY3ctd2hpdGUtdGhlbWUgLm1jdy10b2dnbGUtc3dpdGNoLmFjdGl2ZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzAwMH0uY3J5cHRvYm94ZXMgLm1jdy1jYXJkLTd7Ym9yZGVyOm5vbmUhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZSFpbXBvcnRhbnR9LmNyeXB0b2JveGVzIC5tY3ctY2FyZC03Lm1jdy1zdHJldGNoe2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjIwcHggYXV0b31AbWVkaWEgKG1heC13aWR0aDoxMDIzcHgpey5jcnlwdG9ib3hlcyAubWN3LWNhcmQtNyAubWN3LWNhcmQtaGVhZHtmb250LXNpemU6NDBweH0uY3J5cHRvYm94ZXMgLm1jdy1jYXJkLTcgLm1jdy1oZWFkLXN5bWJvbHtmb250LXNpemU6ODBweH0uY3J5cHRvYm94ZXMgLm1jdy1jYXJkLTcgLm1jdy1jYXJkLWJvZHl7Zm9udC1zaXplOjE1cHh9LmNyeXB0b2JveGVzIC5tY3ctY2FyZC03IC5tY3ctY2FyZC1uYW1lPmRpdntmb250LXNpemU6MzBweDtwYWRkaW5nLWxlZnQ6MjBweH0uY3J5cHRvYm94ZXMgLm1jdy1jYXJkLTcgLm1jdy1jYXJkLW5hbWU+ZGl2PnNwYW57Zm9udC1zaXplOjhweH0uY3J5cHRvYm94ZXMgLm1jdy1jYXJkLTcgLm1jdy1jYXJkLW5hbWUgaW1ne21heC13aWR0aDozNXB4fX1AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7LmNyeXB0b2JveGVzIC5tY3ctY2FyZC03IC5tY3ctY2FyZHtwYWRkaW5nOjIwcHggMTBweH0uY3J5cHRvYm94ZXMgLm1jdy1jYXJkLTcgLm1jdy1jYXJkLWhlYWR7Zm9udC1zaXplOjI1cHh9LmNyeXB0b2JveGVzIC5tY3ctY2FyZC03IC5tY3ctaGVhZC1zeW1ib2x7Zm9udC1zaXplOjUwcHh9LmNyeXB0b2JveGVzIC5tY3ctY2FyZC03IC5tY3ctY2FyZC1ib2R5e2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uY3J5cHRvYm94ZXMgLm1jdy1jYXJkLTcgLm1jdy1jYXJkLWJvZHk+ZGl2e3BhZGRpbmc6MTBweH0uY3J5cHRvYm94ZXMgLm1jdy1jYXJkLTcgLm1jdy1jYXJkLW5hbWU+ZGl2e2ZvbnQtc2l6ZToyMHB4O3BhZGRpbmctbGVmdDozMHB4fX0uY3J5cHRvYm94ZXMgLm1jdy1sYWJlbHtkaXNwbGF5OmlubGluZS1mbGV4O2ZsZXgtd3JhcDp3cmFwO21hcmdpbi1yaWdodDouNXJlbTttYXJnaW4tbGVmdDouNXJlbTttYXJnaW4tYm90dG9tOjFyZW07cGFkZGluZzoyMHB4O21pbi13aWR0aDozNjBweDttYXgtd2lkdGg6Y2FsYygxMDAlIC0gMXJlbSk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyO292ZXJmbG93OmhpZGRlbjstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggNHB4IC0xcHggcmdiYSgwLDAsMCwuMiksMCAxcHggNXB4IDAgcmdiYSgwLDAsMCwuMSksMCAxcHggMXB4IDAgcmdiYSgwLDAsMCwuMSkhaW1wb3J0YW50O2JveC1zaGFkb3c6MCAxcHggNHB4IC0xcHggcmdiYSgwLDAsMCwuMiksMCAxcHggNXB4IDAgcmdiYSgwLDAsMCwuMSksMCAxcHggMXB4IDAgcmdiYSgwLDAsMCwuMSkhaW1wb3J0YW50Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0uY3J5cHRvYm94ZXMgLm1jdy1sYWJlbC5tY3ctZGFyay10aGVtZSBie2NvbG9yOiNmZmZ9LmNyeXB0b2JveGVzIC5tY3ctbGFiZWwgLm1jdy1sYWJlbC1kbjEtYm9keSwuY3J5cHRvYm94ZXMgLm1jdy1sYWJlbCAubWN3LWxhYmVsLWRuMS1oZWFke2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uY3J5cHRvYm94ZXMgLm1jdy1sYWJlbCAubWN3LWxhYmVsLWRuMS1oZWFke2Zsb2F0OmxlZnR9LmNyeXB0b2JveGVzIC5tY3ctbGFiZWwgLm1jdy1sYWJlbC1kbjEtYm9keXtmbG9hdDpyaWdodDtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcn0uY3J5cHRvYm94ZXMgLm1jdy1sYWJlbCAubWN3LWxhYmVsLWRuMnttaW4td2lkdGg6MTQwcHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlO3RleHQtYWxpZ246Y2VudGVyfS5jcnlwdG9ib3hlcyAubWN3LWxhYmVsIC5tY3ctbGFiZWwtZG4yOmZpcnN0LWNoaWxke3RleHQtYWxpZ246bGVmdH0uY3J5cHRvYm94ZXMgLm1jdy1sYWJlbCAubWN3LWxhYmVsLWRuMj5kaXY6bm90KC5tY3ctY2FyZC1oZWFkKXtwYWRkaW5nOjVweH1AbWVkaWEobWF4LXdpZHRoOjc2N3B4KXsuY3J5cHRvYm94ZXMgLm1jdy1sYWJlbCAubWN3LWxhYmVsLWRuMjpmaXJzdC1jaGlsZHt0ZXh0LWFsaWduOmNlbnRlcn0uY3J5cHRvYm94ZXMgLm1jdy1sYWJlbCAubWN3LWxhYmVsLWRuMntmbGV4OjEgMTAwJX19LmNyeXB0b2JveGVzIC5tY3ctbGFiZWw+cHttYXJnaW46MTZweCAwIWltcG9ydGFudH0uY3J5cHRvYm94ZXMgLm1jdy1sYWJlbCBie2ZvbnQtd2VpZ2h0OjcwMCFpbXBvcnRhbnQ7cGFkZGluZzo0cHggOHB4O2JvcmRlci1yYWRpdXM6NHB4O21hcmdpbjowfS5jcnlwdG9ib3hlcyAubWN3LWxhYmVsIC5tY3ctZG93biwuY3J5cHRvYm94ZXMgLm1jdy1sYWJlbCAubWN3LXVwe2Rpc3BsYXk6aW5saW5lLWZsZXg7cG9zaXRpb246cmVsYXRpdmV9LmNyeXB0b2JveGVzIC5tY3ctbGFiZWwgLm1jdy11cHtjb2xvcjojMjhkMDk0fS5jcnlwdG9ib3hlcyAubWN3LWxhYmVsIC5tY3ctZG93bntjb2xvcjojZmY0OTYxfS5jcnlwdG9ib3hlcyAubWN3LWxhYmVsLm1jdy1zdWNjZXNzLXRoZW1lIC5tY3ctdXAsLmNyeXB0b2JveGVzIC5tY3ctbGFiZWwubWN3LXdhcm5pbmctdGhlbWUgLm1jdy11cHtjb2xvcjojMDk5NzdlfS5jcnlwdG9ib3hlcyAubWN3LWxhYmVsLm1jdy1kYW5nZXItdGhlbWUgLm1jdy1kb3duLC5jcnlwdG9ib3hlcyAubWN3LWxhYmVsLm1jdy1pbmZvLXRoZW1lIC5tY3ctZG93bntjb2xvcjojZmY2YjVjfS5jcnlwdG9ib3hlcyAubWN3LWRhbmdlci10aGVtZSAuY2MtY29pbiAubWN3LWRvd257Y29sb3I6I2ZmNmI1Y30uY3J5cHRvYm94ZXMgLm1jdy1zdWNjZXNzLXRoZW1lIC5jYy1jb2luIC5tY3ctdXB7Y29sb3I6IzA5OTc3ZX0uY3J5cHRvYm94ZXMgLm1jdy1pbmZvLXRoZW1lIC5jYy1jb2luIC5tY3ctZG93bntjb2xvcjojZmY2YjVjfS5jcnlwdG9ib3hlcyAubWN3LXdhcm5pbmctdGhlbWUgLmNjLWNvaW4gLm1jdy11cHtjb2xvcjojMjhEMDk0fS5jcnlwdG9ib3hlcyAubWN3LWNoYXJ0e2hlaWdodDo0MDBweDtwYWRkaW5nOjEwcHg7Ym9yZGVyLXJhZGl1czo1cHg7Ym9yZGVyLXdpZHRoOjVweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50fS5jcnlwdG9ib3hlcyAubWN3LWNoYXJ0LWxpZ2h0e2JhY2tncm91bmQ6I2ZmZn0uY3J5cHRvYm94ZXMgLm1jdy1jaGFydC1kYXJre2JhY2tncm91bmQ6IzIwMjMyOH0ubWN3LWZvcm0tZ3JvdXAtc3dhcHtmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZX0uY3J5cHRvYm94ZXMgLm1jdy1jb252ZXJ0ZXJ7d2lkdGg6MTAwJTt0ZXh0LWFsaWduOmxlZnQ7cGFkZGluZzoxMHB4IDIwcHg7Ym9yZGVyLXJhZGl1czo1cHh9LmNyeXB0b2JveGVzIC5tY3ctY29udmVydGVyLW9uZSAubWN3LWlucHV0LWdyb3Vwe2Rpc3BsYXk6ZmxleH0uY3J5cHRvYm94ZXMgLm1jdy1jb252ZXJ0ZXItb25lIC5zZWxlY3RpemUtaW5wdXR7d2lkdGg6MTIwcHg7aGVpZ2h0OjEwMCU7Ym9yZGVyLXJhZGl1czo1cHggMCAwIDVweDtwYWRkaW5nOjE2cHggMTBweDtsaW5lLWhlaWdodDoyNXB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uY3J5cHRvYm94ZXMgLm1jdy1jb252ZXJ0ZXItb25lIC5tY3ctZmllbGR7ZmxleDoxO2NvbG9yOiM1MDU5NmM7Ym9yZGVyLXJhZGl1czowIDVweCA1cHggMDtib3JkZXI6MXB4IHNvbGlkICNiOGI4Yjg7Ym9yZGVyLWxlZnQ6MDttYXJnaW46MDt0ZXh0LWFsaWduOnJpZ2h0O3BhZGRpbmc6MTZweDtmb250LXNpemU6MS4xZW07aGVpZ2h0OmF1dG87Ym94LXNpemluZzpib3JkZXItYm94O3dpZHRoOjEwMCV9LmNyeXB0b2JveGVzIC5tY3ctY29udmVydGVyLW9uZSAubWN3LWZvcm0tY29udHJvbHttYXJnaW46MjBweCAwfS5jcnlwdG9ib3hlcyAubWN3LWNvbnZlcnRlciAuc2VsZWN0aXplLWlucHV0LC5tY3ctY29udmVydGVyIC5zZWxlY3RpemUtZHJvcGRvd24sLnNlbGVjdGl6ZS1kcm9wZG93bi5tY3ctY29udi1zdHlsZXtmb250LXdlaWdodDo3MDA7Y29sb3I6IzUwNTk2YyFpbXBvcnRhbnR9LmNyeXB0b2JveGVzIC5tY3ctY29udmVydGVyLXR3byAubWN3LWZvcm0tZ3JvdXB7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW46MTBweCAwfS5jcnlwdG9ib3hlcyAubWN3LWNvbnZlcnRlci10d28gLm1jdy1mb3JtLWNvbnRyb2x7d2lkdGg6MTAwJTtmbGV4OjN9LmNyeXB0b2JveGVzIC5tY3ctY29udmVydGVyLXR3byAubWN3LWZpZWxke2NvbG9yOiM1MDU5NmM7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czo1cHg7Ym9yZGVyOjFweCBzb2xpZCAjYjhiOGI4O2ZvbnQtc2l6ZToxLjFlbTttYXJnaW4tdG9wOjIwcHg7Ym94LXNpemluZzpib3JkZXItYm94fS5jcnlwdG9ib3hlcyAubWN3LWNvbnZlcnRlci10d28gYnV0dG9ue3dpZHRoOjEwMCU7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IGJvdHRvbSxsZWZ0IHRvcCxmcm9tKCNlY2U5ZTYpLHRvKCNmZmYpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSwjZWNlOWU2LCNmZmYpO2JhY2tncm91bmQ6LW8tbGluZWFyLWdyYWRpZW50KGJvdHRvbSwjZWNlOWU2LCNmZmYpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHRvcCwjZWNlOWU2LCNmZmYpOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lO2JvcmRlcjpub25lO2JvcmRlci1yYWRpdXM6NXB4O2NvbG9yOiNmZmY7cGFkZGluZzoyMHB4O2N1cnNvcjpwb2ludGVyO2JvcmRlcjoxcHggc29saWQgI2E2YTZhNjtjb2xvcjojNTA1OTZjO291dGxpbmU6MDttYXJnaW4tdG9wOjEwcHh9LmNyeXB0b2JveGVzIC5tY3ctY29udmVydGVyLXR3byBidXR0b246YWN0aXZle2JhY2tncm91bmQ6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sZnJvbSgjZWNlOWU2KSx0bygjZmZmKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsI2VjZTllNiwjZmZmKTtiYWNrZ3JvdW5kOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsI2VjZTllNiwjZmZmKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sI2VjZTllNiwjZmZmKX0uY3J5cHRvYm94ZXMgLm1jdy1jb252ZXJ0ZXItdHdvIGltZ3ttYXJnaW46MCBhdXRvfS5jcnlwdG9ib3hlcyAubWN3LWFuaW1hdGVkey13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOjFzO2FuaW1hdGlvbi1kdXJhdGlvbjoxczstd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6Ym90aDthbmltYXRpb24tZmlsbC1tb2RlOmJvdGh9LmNyeXB0b2JveGVzIC5tY3ctYW5pbWF0ZWQuaW5maW5pdGV7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGV9LmNyeXB0b2JveGVzIC5saXZldXB7YW5pbWF0aW9uLW5hbWU6bGl2ZXVwOy13ZWJraXQtYW5pbWF0aW9uLW5hbWU6bGl2ZXVwO2FuaW1hdGlvbi1kdXJhdGlvbjo1MDA7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246NTAwfS5jcnlwdG9ib3hlcyAubGl2ZWRvd257YW5pbWF0aW9uLW5hbWU6bGl2ZWRvd247LXdlYmtpdC1hbmltYXRpb24tbmFtZTpsaXZlZG93bjthbmltYXRpb24tZHVyYXRpb246NTAwOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOjUwMH1ALXdlYmtpdC1rZXlmcmFtZXMgbGl2ZXVwezAle2JhY2tncm91bmQ6cmdiYSg0MSwxOTksMTU4LC4zKX01MCV7YmFja2dyb3VuZDpyZ2JhKDQxLDE5OSwxNTgsLjYpfTEwMCV7YmFja2dyb3VuZDpyZ2JhKDQxLDE5OSwxNTgsLjMpfX1ALW1vei1rZXlmcmFtZXMgbGl2ZXVwezAle2JhY2tncm91bmQ6cmdiYSg0MSwxOTksMTU4LC4zKX01MCV7YmFja2dyb3VuZDpyZ2JhKDQxLDE5OSwxNTgsLjYpfTEwMCV7YmFja2dyb3VuZDpyZ2JhKDQxLDE5OSwxNTgsLjMpfX1Aa2V5ZnJhbWVzIGxpdmV1cHswJXtiYWNrZ3JvdW5kOnJnYmEoNDEsMTk5LDE1OCwuMyl9NTAle2JhY2tncm91bmQ6cmdiYSg0MSwxOTksMTU4LC42KX0xMDAle2JhY2tncm91bmQ6cmdiYSg0MSwxOTksMTU4LC4zKX19QC13ZWJraXQta2V5ZnJhbWVzIGxpdmVkb3duezAle2JhY2tncm91bmQ6cmdiYSgyNDYsMTM2LDEyNSwuMyl9NTAle2JhY2tncm91bmQ6cmdiYSgyNDYsMTM2LDEyNSwuNil9MTAwJXtiYWNrZ3JvdW5kOnJnYmEoMjQ2LDEzNiwxMjUsLjMpfX1ALW1vei1rZXlmcmFtZXMgbGl2ZWRvd257MCV7YmFja2dyb3VuZDpyZ2JhKDI0NiwxMzYsMTI1LC4zKX01MCV7YmFja2dyb3VuZDpyZ2JhKDI0NiwxMzYsMTI1LC42KX0xMDAle2JhY2tncm91bmQ6cmdiYSgyNDYsMTM2LDEyNSwuMyl9fUBrZXlmcmFtZXMgbGl2ZWRvd257MCV7YmFja2dyb3VuZDpyZ2JhKDI0NiwxMzYsMTI1LC4zKX01MCV7YmFja2dyb3VuZDpyZ2JhKDI0NiwxMzYsMTI1LC42KX0xMDAle2JhY2tncm91bmQ6cmdiYSgyNDYsMTM2LDEyNSwuMyl9fS5jcnlwdG8tNDA0e3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToxNTAlO3BhZGRpbmc6MzBweCAwO3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LmNyeXB0by00MDQ6YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6Jyc7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2Q3ZDdkNztoZWlnaHQ6MXB4O3dpZHRoOjgwJTt0b3A6NTAlO2xlZnQ6MDt6LWluZGV4Oi0xO21hcmdpbjphdXRvO3RleHQtYWxpZ246Y2VudGVyO3JpZ2h0OjB9LmNyeXB0by00MDQ6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDonJzt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDttYXJnaW46YXV0bzt3aWR0aDozMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDotMTtiYWNrZ3JvdW5kOiNmZmZ9LmNyeXB0b2JveGVzIC5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lLC5jcnlwdG9ib3hlcyAub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtZGVmYXVsdHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7cG9zaXRpb246cmVsYXRpdmV9LmNyeXB0b2JveGVzIC5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCwuY3J5cHRvYm94ZXMgLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWRlZmF1bHQgLm9kb21ldGVyLWRpZ2l0e3Bvc2l0aW9uOnJlbGF0aXZlfS5jcnlwdG9ib3hlcyAub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLWRpZ2l0LXNwYWNlciwuY3J5cHRvYm94ZXMgLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWRlZmF1bHQgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1kaWdpdC1zcGFjZXJ7dmlzaWJpbGl0eTpoaWRkZW59LmNyeXB0b2JveGVzIC5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItZGlnaXQtaW5uZXIsLmNyeXB0b2JveGVzIC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1kZWZhdWx0IC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItZGlnaXQtaW5uZXJ7dGV4dC1hbGlnbjpsZWZ0O2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7b3ZlcmZsb3c6aGlkZGVufS5jcnlwdG9ib3hlcyAub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXJpYmJvbiwuY3J5cHRvYm94ZXMgLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWRlZmF1bHQgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1yaWJib257ZGlzcGxheTpibG9ja30uY3J5cHRvYm94ZXMgLm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1yaWJib24taW5uZXIsLmNyeXB0b2JveGVzIC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1kZWZhdWx0IC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItcmliYm9uLWlubmVye2Rpc3BsYXk6YmxvY2s7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbn0uY3J5cHRvYm94ZXMgLm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci12YWx1ZSwuY3J5cHRvYm94ZXMgLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWRlZmF1bHQgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci12YWx1ZXtkaXNwbGF5OmJsb2NrOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9LmNyeXB0b2JveGVzIC5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItdmFsdWUub2RvbWV0ZXItbGFzdC12YWx1ZSwuY3J5cHRvYm94ZXMgLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWRlZmF1bHQgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci12YWx1ZS5vZG9tZXRlci1sYXN0LXZhbHVle3Bvc2l0aW9uOmFic29sdXRlfS5jcnlwdG9ib3hlcyAub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZS5vZG9tZXRlci1hbmltYXRpbmctdXAgLm9kb21ldGVyLXJpYmJvbi1pbm5lciwuY3J5cHRvYm94ZXMgLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWRlZmF1bHQub2RvbWV0ZXItYW5pbWF0aW5nLXVwIC5vZG9tZXRlci1yaWJib24taW5uZXJ7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIDJzOy1tb3otdHJhbnNpdGlvbjotbW96LXRyYW5zZm9ybSAyczstbXMtdHJhbnNpdGlvbjotbXMtdHJhbnNmb3JtIDJzOy1vLXRyYW5zaXRpb246LW8tdHJhbnNmb3JtIDJzO3RyYW5zaXRpb246dHJhbnNmb3JtIDJzfS5jcnlwdG9ib3hlcyAub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZS5vZG9tZXRlci1hbmltYXRpbmctdXAub2RvbWV0ZXItYW5pbWF0aW5nIC5vZG9tZXRlci1yaWJib24taW5uZXIsLmNyeXB0b2JveGVzIC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1kZWZhdWx0Lm9kb21ldGVyLWFuaW1hdGluZy11cC5vZG9tZXRlci1hbmltYXRpbmcgLm9kb21ldGVyLXJpYmJvbi1pbm5lcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSl9LmNyeXB0b2JveGVzIC5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lLm9kb21ldGVyLWFuaW1hdGluZy1kb3duIC5vZG9tZXRlci1yaWJib24taW5uZXIsLmNyeXB0b2JveGVzIC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1kZWZhdWx0Lm9kb21ldGVyLWFuaW1hdGluZy1kb3duIC5vZG9tZXRlci1yaWJib24taW5uZXJ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpfS5jcnlwdG9ib3hlcyAub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZS5vZG9tZXRlci1hbmltYXRpbmctZG93bi5vZG9tZXRlci1hbmltYXRpbmcgLm9kb21ldGVyLXJpYmJvbi1pbm5lciwuY3J5cHRvYm94ZXMgLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWRlZmF1bHQub2RvbWV0ZXItYW5pbWF0aW5nLWRvd24ub2RvbWV0ZXItYW5pbWF0aW5nIC5vZG9tZXRlci1yaWJib24taW5uZXJ7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIDJzOy1tb3otdHJhbnNpdGlvbjotbW96LXRyYW5zZm9ybSAyczstbXMtdHJhbnNpdGlvbjotbXMtdHJhbnNmb3JtIDJzOy1vLXRyYW5zaXRpb246LW8tdHJhbnNmb3JtIDJzO3RyYW5zaXRpb246dHJhbnNmb3JtIDJzOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9LmNyeXB0b2JveGVzIC5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci12YWx1ZSwuY3J5cHRvYm94ZXMgLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWRlZmF1bHQgLm9kb21ldGVyLXZhbHVle3RleHQtYWxpZ246Y2VudGVyfS5jcnlwdG9ib3hlcyAub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItaW5zaWRle2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXJ9LmNyeXB0b2JveGVzIHRhYmxlLmRhdGFUYWJsZXt0YWJsZS1sYXlvdXQ6YXV0b30uY3J5cHRvYm94ZXMgdGFibGUuZGF0YVRhYmxlLC5jcnlwdG9ib3hlcyB0YWJsZS5kYXRhVGFibGUgdGQsLmNyeXB0b2JveGVzIHRhYmxlLmRhdGFUYWJsZSB0aHtib3JkZXI6bm9uZX0uY3J5cHRvYm94ZXMgdGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5ne2JhY2tncm91bmQtaW1hZ2U6dXJsKC4uL2ltZy9zb3J0X2JvdGgucG5nKX0uY3J5cHRvYm94ZXMgdGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2FzY3tiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvc29ydF9hc2MucG5nKX0uY3J5cHRvYm94ZXMgdGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2Rlc2N7YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vaW1nL3NvcnRfZGVzYy5wbmcpfS5jcnlwdG9ib3hlcyB0YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfYXNjX2Rpc2FibGVke2JhY2tncm91bmQtaW1hZ2U6bm9uZX0uY3J5cHRvYm94ZXMgdGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2Rlc2NfZGlzYWJsZWR7YmFja2dyb3VuZC1pbWFnZTpub25lfS5jcnlwdG9ib3hlcyAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3Byb2Nlc3NpbmcsLmNyeXB0b2JveGVzIHRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLC5jcnlwdG9ib3hlcyB0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5ldmVuPi5zb3J0aW5nXzEsLmNyeXB0b2JveGVzIHRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLm9kZD4uc29ydGluZ18xLC5jcnlwdG9ib3hlcyB0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0cjpob3ZlciwuY3J5cHRvYm94ZXMgdGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHI+LnNvcnRpbmdfMSwuY3J5cHRvYm94ZXMgdGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHI+LnNvcnRpbmdfMiwuY3J5cHRvYm94ZXMgdGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHI+LnNvcnRpbmdfMywuY3J5cHRvYm94ZXMgdGFibGUuZGF0YVRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVye2JhY2tncm91bmQ6MCAwfS5jcnlwdG9ib3hlcyB0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ZCwuY3J5cHRvYm94ZXMgdGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdGh7Ym9yZGVyLXRvcDpub25lfS5jcnlwdG9ib3hlcyAuZGF0YVRhYmxlc193cmFwcGVyLm5vLWZvb3RlciAuZGF0YVRhYmxlc19zY3JvbGxCb2R5LC5jcnlwdG9ib3hlcyB0YWJsZS5kYXRhVGFibGUubm8tZm9vdGVye2JvcmRlci1ib3R0b206bm9uZX0uY3J5cHRvYm94ZXMgLmRhdGFUYWJsZXNfd3JhcHBlciAuRFRGQ19MZWZ0Qm9keUxpbmVyLC5jcnlwdG9ib3hlcyAuZGF0YVRhYmxlc193cmFwcGVyIC5EVEZDX1JpZ2h0Qm9keUxpbmVye292ZXJmbG93LXk6dW5zZXQhaW1wb3J0YW50fS5tY3ctdGFibGV7d2lkdGg6MTAwJTtjb2xvcjojNjU2NTY1O2JhY2tncm91bmQ6I2ZmZjtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo0MDA7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4wNyk7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlci1yYWRpdXM6NXB4O2JveC1zaGFkb3c6MCA4cHggMTZweCAwIHJnYmEoNDAsNDAsOTAsLjA5KSwwIDNweCA2cHggMCByZ2JhKDAsMCwwLC4wNjUpfS5tY3ctdGFibGUgLnRpdGxlLWJhcntib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4wNyk7Zm9udC13ZWlnaHQ6NzAwO3BhZGRpbmc6MTRweDtsZXR0ZXItc3BhY2luZzoxcHg7dGV4dC1hbGlnbjpsZWZ0fS5jcnlwdG9ib3hlcyB0YWJsZS5kYXRhVGFibGUgdGhlYWQgdGh7Zm9udC1zaXplOi44ZW07bGV0dGVyLXNwYWNpbmc6MXB4O2NvbG9yOiM2YjZmODI7YmFja2dyb3VuZC1jb2xvcjojZmZmO3RleHQtYWxpZ246cmlnaHQ7cGFkZGluZzoxNHB4IDM2cHggMTRweCAxOHB4O2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4wNyk7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDowIDFweCAxcHggMDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9LmNyeXB0b2JveGVzIHRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0ZHtjb2xvcjojMzc0MTRhO3BhZGRpbmc6OHB4IDE4cHg7dGV4dC1hbGlnbjpyaWdodDtvdXRsaW5lOjA7dmVydGljYWwtYWxpZ246bWlkZGxlfS5tY3ctdGFibGUgLmRhdGFUYWJsZXMtZm9vdGVye2JhY2tncm91bmQ6I2YzZjdmYTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO3BhZGRpbmc6MTBweCAzMHB4O2JvcmRlci10b3A6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA3KX0uY3J5cHRvYm94ZXMgdGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nLC5jcnlwdG9ib3hlcyB0YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfYXNjLC5jcnlwdG9ib3hlcyB0YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfYXNjX2Rpc2FibGVkLC5jcnlwdG9ib3hlcyB0YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfZGVzYywuY3J5cHRvYm94ZXMgdGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2Rlc2NfZGlzYWJsZWR7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIHJpZ2h0IDEwcHh9LmNyeXB0b2JveGVzIHRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLmV2ZW57YmFja2dyb3VuZC1jb2xvcjojZmZmfS5jcnlwdG9ib3hlcyB0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5vZGR7YmFja2dyb3VuZC1jb2xvcjojZjhmYWZifS5jcnlwdG9ib3hlcyAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX2xlbmd0aHtjb2xvcjpyZ2JhKDc0LDg5LDEwNiwuNCk7Zm9udC1zaXplOi45ZW19LmNyeXB0b2JveGVzIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfbGVuZ3RoIHNlbGVjdHtvdXRsaW5lOjA7ZGlzcGxheTppbmxpbmUtYmxvY2s7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDt3aWR0aDphdXRvO3BhZGRpbmc6MnB4O2JvcmRlcjoxcHggc29saWQgI2Q2ZDZkNjtib3JkZXItcmFkaXVzOjNweDtoZWlnaHQ6YXV0bztmb250LXNpemU6MTRweDttYXJnaW4tbGVmdDo4cHg7Y29sb3I6cmdiYSg3NCw4OSwxMDYsLjcpO2ZvbnQtd2VpZ2h0OjcwMH0uY3J5cHRvYm94ZXMgLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19wYWdpbmF0ZXtwYWRkaW5nLXRvcDowfS5jcnlwdG9ib3hlcyAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIC5wYWdpbmF0ZV9idXR0b24uZGlzYWJsZWR7ZGlzcGxheTpub25lfS5jcnlwdG9ib3hlcyAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIC5wYWdpbmF0ZV9idXR0b257cG9zaXRpb246cmVsYXRpdmU7Y29sb3I6cmdiYSg3NCw4OSwxMDYsLjcpIWltcG9ydGFudDtmb250LXdlaWdodDo3MDA7Zm9udC1zaXplOi45ZW19LmNyeXB0b2JveGVzIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLnBhZ2luYXRlX2J1dHRvbi5pbmZve2N1cnNvcjpkZWZhdWx0fS5jcnlwdG9ib3hlcyAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIC5wYWdpbmF0ZV9idXR0b246aG92ZXJ7Y29sb3I6cmdiYSg3NCw4OSwxMDYsLjcpIWltcG9ydGFudDtiYWNrZ3JvdW5kOjAgMDtib3gtc2hhZG93Om5vbmU7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudH0uY3J5cHRvYm94ZXMgLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19wYWdpbmF0ZSAucGFnaW5hdGVfYnV0dG9uLm5leHQ6OmJlZm9yZSwuY3J5cHRvYm94ZXMgLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19wYWdpbmF0ZSAucGFnaW5hdGVfYnV0dG9uLnByZXZpb3VzOjpiZWZvcmV7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTBweDt3aWR0aDowO2hlaWdodDowO2JvcmRlci10b3A6NnB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206NnB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6NXB4fS5jcnlwdG9ib3hlcyAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIC5wYWdpbmF0ZV9idXR0b24ucHJldmlvdXM6OmJlZm9yZXtsZWZ0OjA7Ym9yZGVyLXJpZ2h0OjdweCBzb2xpZCByZ2JhKDc0LDg5LDEwNiwuNyl9LmNyeXB0b2JveGVzIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLnBhZ2luYXRlX2J1dHRvbi5uZXh0OjpiZWZvcmV7cmlnaHQ6MDtib3JkZXItbGVmdDo3cHggc29saWQgcmdiYSg3NCw4OSwxMDYsLjcpfS5jcnlwdG9ib3hlcyAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIC5wYWdpbmF0ZV9idXR0b24ucHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZXtib3JkZXItcmlnaHQ6N3B4IHNvbGlkIHJnYmEoNzQsODksMTA2LC4yKX0uY3J5cHRvYm94ZXMgLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19wYWdpbmF0ZSAucGFnaW5hdGVfYnV0dG9uLm5leHQuZGlzYWJsZWQ6OmJlZm9yZXtib3JkZXItbGVmdDo3cHggc29saWQgcmdiYSg3NCw4OSwxMDYsLjIpfS5jcnlwdG9ib3hlcyB0YWJsZS5kYXRhVGFibGUgdGJvZHkgdGQudGV4dC1sZWZ0LC5jcnlwdG9ib3hlcyB0YWJsZS5kYXRhVGFibGUgdGhlYWQgdGgudGV4dC1sZWZ0e3RleHQtYWxpZ246bGVmdH0uY3J5cHRvYm94ZXMgdGFibGUuZGF0YVRhYmxlIHRib2R5IC5jb2luLC5jcnlwdG9ib3hlcyB0YWJsZS5kYXRhVGFibGUgdGJvZHkgLmNvaW4taW1hZ2V7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjJweH0uY3J5cHRvYm94ZXMgdGFibGUuZGF0YVRhYmxlIHRib2R5IC5jb2luIC5jb2luLWltYWdlIGltZ3twYWRkaW5nOjA7bWF4LXdpZHRoOjM1cHg7bWFyZ2luLXJpZ2h0OjEwcHh9LmNyeXB0b2JveGVzIHRhYmxlLmRhdGFUYWJsZS5kdHItY29sdW1uLmNvbGxhcHNlZCB0Ym9keSB0ZC5jdHJsIC5jb2luIC5jb2luLWltYWdlIGltZ3ttYXgtd2lkdGg6MjVweH0uY3J5cHRvYm94ZXMgdGFibGUuZGF0YVRhYmxlLmR0ci1jb2x1bW4uY29sbGFwc2VkIHRib2R5IHRkLmN0cmwgLmNvaW4gLmNvaW4tbmFtZXtkaXNwbGF5Om5vbmV9LmNyeXB0b2JveGVzIHRhYmxlLmRhdGFUYWJsZS5kdHItY29sdW1uLmNvbGxhcHNlZCB0Ym9keSB0ZC5jdHJsIC5jb2luIC5jb2luLXN5bWJvbHtjb2xvcjojNmQ2ZDZkO2ZvbnQtd2VpZ2h0OjcwMH0uY3J5cHRvYm94ZXMgdGFibGUuZGF0YVRhYmxlLmR0ci1jb2x1bW4uY29sbGFwc2VkIHRib2R5IHRkLmN0cmwgLmNvaW4gYS5jb2luLXRpdGxlIC5jb2luLXN5bWJvbHtjb2xvcjojMDA5N2E5fS5jcnlwdG9ib3hlcyB0YWJsZS5kYXRhVGFibGUgdGJvZHkgLmNvaW4gLmNvaW4tdGl0bGV7Zm9udC1zaXplOjE1cHh9LmNyeXB0b2JveGVzIHRhYmxlLmRhdGFUYWJsZSB0Ym9keSAuY29pbiAuY29pbi10aXRsZSAuY29pbi1uYW1lLC5jcnlwdG9ib3hlcyB0YWJsZS5kYXRhVGFibGUgdGJvZHkgLmNvaW4gLmNvaW4tdGl0bGUgLmNvaW4tc3ltYm9se2xpbmUtaGVpZ2h0OjEuNX0uY3J5cHRvYm94ZXMgdGFibGUuZGF0YVRhYmxlIHRib2R5IC5jb2luIC5jb2luLXRpdGxlIC5jb2luLW5hbWV7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOiM2ZDZkNmQ7Zm9udC1zaXplOjEuMWVtfS5jcnlwdG9ib3hlcyB0YWJsZS5kYXRhVGFibGUgdGJvZHkgLmNvaW4gYS5jb2luLXRpdGxle2JveC1zaGFkb3c6bm9uZTt0ZXh0LWRlY29yYXRpb246bm9uZX0uY3J5cHRvYm94ZXMgdGFibGUuZGF0YVRhYmxlIHRib2R5IC5jb2luIGEuY29pbi10aXRsZSAuY29pbi1uYW1le2NvbG9yOiMwMDk3YTl9LmNyeXB0b2JveGVzIHRhYmxlLmRhdGFUYWJsZSB0Ym9keSAuY29pbiAuY29pbi10aXRsZSAuY29pbi1zeW1ib2x7Y29sb3I6Izk5OTtmb250LXNpemU6LjllbX0uY3J5cHRvYm94ZXMgdGFibGUuZGF0YVRhYmxlIHRib2R5IC51cHtjb2xvcjojMjljNzllfS5jcnlwdG9ib3hlcyB0YWJsZS5kYXRhVGFibGUgdGJvZHkgLmRvd257Y29sb3I6I2Y2ODg3ZH0uY3J5cHRvYm94ZXMgdGFibGUuZGF0YVRhYmxlIHRib2R5IGNhbnZhc3t3aWR0aDoxMDAlIWltcG9ydGFudDtoZWlnaHQ6NTBweCFpbXBvcnRhbnR9LmNyeXB0b2JveGVzIHRhYmxlLmRhdGFUYWJsZSB0Ym9keSAuY2hhcnQtd3JhcHBlcnt3aWR0aDoxOTBweDttaW4td2lkdGg6MTUwcHg7bWF4LXdpZHRoOjE5MHB4fS5jcnlwdG9ib3hlcyB0YWJsZS5kYXRhVGFibGUuZHRyLWNvbHVtbiB0Ym9keSB0ZHtmb250LXNpemU6MTRweH1AbWVkaWEgKG1heC13aWR0aDo3NjhweCl7LmRhdGFUYWJsZXMtZm9vdGVye2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn19QGtleWZyYW1lcyBtb3ZlR3JhZGllbnR7MCV7YmFja2dyb3VuZC1wb3NpdGlvbjowIDB9MTAwJXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMDAlIDB9fS5tY3ctdGFibGUgLmxvYWRlcntwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Om5vbmU7d2lkdGg6MTAwJTtoZWlnaHQ6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2V9Lm1jdy10YWJsZS50YWJsZS1wcm9jZXNzaW5nIC5sb2FkZXJ7b3BhY2l0eToxfS5tY3ctdGFibGUgLmxvYWRlcjo6YmVmb3Jle2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7dG9wOi0xcHg7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjJweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywgIzAwYzhjNiAwJSwgIzAwYjJjOCAxNSUsICMwMDk3YTkgMzAlLCAjNDA0MDc1IDUwJSwgIzUzNTM3MiA2NSUsICMyMzIzNjggODAlLCAjMGQwYzQzIDEwMCUpO2JhY2tncm91bmQtc2l6ZToyMDAlO2FuaW1hdGlvbjptb3ZlR3JhZGllbnQgNXMgbGluZWFyIGluZmluaXRlfS5tY3ctdGFibGUuZGFya3tjb2xvcjojZmZmO2JhY2tncm91bmQ6IzIzMjM2ODtib3JkZXI6MXB4IHNvbGlkIHJnYmEoODMsMTAxLDE0MCwuMzMpfS5tY3ctdGFibGUuZGFyayB0YWJsZS5kYXRhVGFibGUgdGhlYWQgdGh7Y29sb3I6I2NjZDllODtiYWNrZ3JvdW5kLWNvbG9yOiMyMzIzNjg7Ym9yZGVyLWNvbG9yOnJnYmEoODMsMTAxLDE0MCwuMzMpfS5tY3ctdGFibGUuZGFyayAudGl0bGUtYmFye2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoODMsMTAxLDE0MCwuMzMpfS5tY3ctdGFibGUuZGFyayB0YWJsZS5kYXRhVGFibGUgdGJvZHkgLmNvaW4gLmNvaW4tdGl0bGUgLmNvaW4tbmFtZSwubWN3LXRhYmxlLmRhcmsgdGFibGUuZGF0YVRhYmxlIHRib2R5IHRke2NvbG9yOiNjY2Q5ZTh9Lm1jdy10YWJsZS5kYXJrIHRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLmV2ZW57YmFja2dyb3VuZC1jb2xvcjojMjMyMzY4fS5tY3ctdGFibGUuZGFyayB0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5vZGR7YmFja2dyb3VuZC1jb2xvcjojMUYxRjVDfS5tY3ctdGFibGUuZGFyayAuZGF0YVRhYmxlcy1mb290ZXJ7YmFja2dyb3VuZDpyZ2JhKDE4LDIyLDQxLC4yMil9Lm1jdy10YWJsZS5kYXJrIC5jb2luIC5jb2luLXRpdGxlIC5jb2luLW5hbWV7Y29sb3I6I2RkZH0ubWN3LXRhYmxlLmRhcmsgLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19sZW5ndGgsLm1jdy10YWJsZS5kYXJrIC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfbGVuZ3RoIHNlbGVjdCwubWN3LXRhYmxlLmRhcmsgLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19wYWdpbmF0ZSAucGFnaW5hdGVfYnV0dG9ue2NvbG9yOiNiN2JhYzYhaW1wb3J0YW50fS5tY3ctdGFibGUuZGFyayAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIC5wYWdpbmF0ZV9idXR0b24ucHJldmlvdXM6OmJlZm9yZXtsZWZ0OjA7Ym9yZGVyLXJpZ2h0OjdweCBzb2xpZCAjYjdiYWM2fS5tY3ctdGFibGUuZGFyayAuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIC5wYWdpbmF0ZV9idXR0b24ubmV4dDo6YmVmb3Jle3JpZ2h0OjA7Ym9yZGVyLWxlZnQ6N3B4IHNvbGlkICNiN2JhYzZ9Lm1jdy10YWJsZS5kYXJrIHRhYmxlLmRhdGFUYWJsZS5kdHItY29sdW1uLmNvbGxhcHNlZD50Ym9keT50cj50ZC5jdHJsOmJlZm9yZSwubWN3LXRhYmxlLmRhcmsgdGFibGUuZGF0YVRhYmxlLmR0ci1jb2x1bW4uY29sbGFwc2VkPnRib2R5PnRyPnRoLmN0cmw6YmVmb3JlLC5tY3ctdGFibGUuZGFyayB0YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQ+dGJvZHk+dHJbcm9sZT1yb3ddPnRkOmZpcnN0LWNoaWxkOmJlZm9yZSwubWN3LXRhYmxlLmRhcmsgdGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkPnRib2R5PnRyW3JvbGU9cm93XT50aDpmaXJzdC1jaGlsZDpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjojMjMyMzY4fS5tY3ctdGFibGUuZGFyayB0YWJsZS5kYXRhVGFibGU+dGJvZHk+dHIuY2hpbGQgc3Bhbi5kdHItdGl0bGV7Y29sb3I6I2NjZDllOH0ubWN3LXRhYmxlLmRhcmsgdGFibGUuZGF0YVRhYmxlPnRib2R5PnRyLmNoaWxkIHVsLmR0ci1kZXRhaWxzPmxpe2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoODMsMTAxLDE0MCwuMzMpfS5tY3ctdGFibGUuZGFyayB0YWJsZS5kYXRhVGFibGU+dGJvZHk+dHIuY2hpbGQgdWwuZHRyLWRldGFpbHM+bGk6bGFzdC1jaGlsZHtib3JkZXItYm90dG9tOm5vbmV9Lm1jdy10YWJsZS5kYXJrIHRhYmxlLmRhdGFUYWJsZT50Ym9keT50ci5jaGlsZD50ZC5jaGlsZHtiYWNrZ3JvdW5kOnJnYmEoMTgsMjIsNDEsLjIyKTtib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKDgzLDEwMSwxNDAsLjMzKTtib3JkZXItYm90dG9tOjFweCBzb2xpZCByZ2JhKDgzLDEwMSwxNDAsLjMzKX0ubWN3LXRhYmxlLmRhcmsgdGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2FzY3tiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvc29ydF9hc2NfZGFyay5wbmcpfS5tY3ctdGFibGUuZGFyayB0YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfZGVzY3tiYWNrZ3JvdW5kLWltYWdlOnVybCguLi9pbWcvc29ydF9kZXNjX2RhcmsucG5nKX0ubWN3LXRhYmxlLmRhcmsgdGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5ne2JhY2tncm91bmQtaW1hZ2U6dXJsKC4uL2ltZy9zb3J0X2JvdGhfZGFyay5wbmcpfS5jcnlwdG9ib3hlcyB0YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQ+dGJvZHk+dHI+dGQuY2hpbGQsLmNyeXB0b2JveGVzIHRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZD50Ym9keT50cj50ZC5kYXRhVGFibGVzX2VtcHR5LC5jcnlwdG9ib3hlcyB0YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQ+dGJvZHk+dHI+dGguY2hpbGR7Y3Vyc29yOmRlZmF1bHQhaW1wb3J0YW50fS5jcnlwdG9ib3hlcyB0YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQ+dGJvZHk+dHI+dGQuY2hpbGQ6YmVmb3JlLC5jcnlwdG9ib3hlcyB0YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQ+dGJvZHk+dHI+dGQuZGF0YVRhYmxlc19lbXB0eTpiZWZvcmUsLmNyeXB0b2JveGVzIHRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZD50Ym9keT50cj50aC5jaGlsZDpiZWZvcmV7ZGlzcGxheTpub25lIWltcG9ydGFudH0uY3J5cHRvYm94ZXMgdGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkPnRib2R5PnRyW3JvbGU9cm93XT50ZDpmaXJzdC1jaGlsZCwuY3J5cHRvYm94ZXMgdGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkPnRib2R5PnRyW3JvbGU9cm93XT50aDpmaXJzdC1jaGlsZHtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLWxlZnQ6NjBweDtjdXJzb3I6cG9pbnRlcn0uY3J5cHRvYm94ZXMgdGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkPnRib2R5PnRyW3JvbGU9cm93XT50ZDpmaXJzdC1jaGlsZDpiZWZvcmUsLmNyeXB0b2JveGVzIHRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZD50Ym9keT50cltyb2xlPXJvd10+dGg6Zmlyc3QtY2hpbGQ6YmVmb3Jle3RvcDo1MCU7bGVmdDoxNXB4O2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7Y29sb3I6I2ZmZjtib3gtc2l6aW5nOmNvbnRlbnQtYm94O3RleHQtYWxpZ246Y2VudGVyO3RleHQtaW5kZW50OjAhaW1wb3J0YW50O2ZvbnQtZmFtaWx5Om1hc3NpdmUtY3J5cHRvLHNhbnMtc2VyaWY7bGluZS1oZWlnaHQ6MTZweDtjb250ZW50OidcNmMnO2JhY2tncm91bmQtY29sb3I6I2QwZDBkMDtwYWRkaW5nOjZweDtib3JkZXItcmFkaXVzOjRweDtmb250LXNpemU6MS4xZW07dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSl9LmNyeXB0b2JveGVzIHRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZD50Ym9keT50ci5wYXJlbnQ+dGQ6Zmlyc3QtY2hpbGQ6YmVmb3JlLC5jcnlwdG9ib3hlcyB0YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQ+dGJvZHk+dHIucGFyZW50PnRoOmZpcnN0LWNoaWxkOmJlZm9yZXtjb250ZW50OidcNjcnfS5jcnlwdG9ib3hlcyB0YWJsZS5kYXRhVGFibGUuZHRyLWlubGluZS5jb2xsYXBzZWQuY29tcGFjdD50Ym9keT50cj50ZDpmaXJzdC1jaGlsZCwuY3J5cHRvYm94ZXMgdGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkLmNvbXBhY3Q+dGJvZHk+dHI+dGg6Zmlyc3QtY2hpbGR7cGFkZGluZy1sZWZ0OjI3cHh9LmNyeXB0b2JveGVzIHRhYmxlLmRhdGFUYWJsZS5kdHItaW5saW5lLmNvbGxhcHNlZC5jb21wYWN0PnRib2R5PnRyPnRkOmZpcnN0LWNoaWxkOmJlZm9yZSwuY3J5cHRvYm94ZXMgdGFibGUuZGF0YVRhYmxlLmR0ci1pbmxpbmUuY29sbGFwc2VkLmNvbXBhY3Q+dGJvZHk+dHI+dGg6Zmlyc3QtY2hpbGQ6YmVmb3Jle3RvcDo1cHg7bGVmdDo0cHg7aGVpZ2h0OjE0cHg7d2lkdGg6MTRweDtib3JkZXItcmFkaXVzOjE0cHg7bGluZS1oZWlnaHQ6MTRweDt0ZXh0LWluZGVudDozcHh9LmNyeXB0b2JveGVzIHRhYmxlLmRhdGFUYWJsZS5kdHItY29sdW1uLmNvbGxhcHNlZD50Ym9keT50cj50ZC5jdHJsLC5jcnlwdG9ib3hlcyB0YWJsZS5kYXRhVGFibGUuZHRyLWNvbHVtbi5jb2xsYXBzZWQ+dGJvZHk+dHI+dGguY3RybHtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLWxlZnQ6NjBweDtjdXJzb3I6cG9pbnRlcn0uY3J5cHRvYm94ZXMgdGFibGUuZGF0YVRhYmxlLmR0ci1jb2x1bW4uY29sbGFwc2VkPnRib2R5PnRyPnRkLmN0cmw6YmVmb3JlLC5jcnlwdG9ib3hlcyB0YWJsZS5kYXRhVGFibGUuZHRyLWNvbHVtbi5jb2xsYXBzZWQ+dGJvZHk+dHI+dGguY3RybDpiZWZvcmV7dG9wOjUwJTtsZWZ0OjE1cHg7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTtjb2xvcjojZmZmO2JveC1zaXppbmc6Y29udGVudC1ib3g7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC1pbmRlbnQ6MCFpbXBvcnRhbnQ7Zm9udC1mYW1pbHk6bWFzc2l2ZS1jcnlwdG8sc2Fucy1zZXJpZjtsaW5lLWhlaWdodDoxNnB4O2NvbnRlbnQ6J1w2Yyc7YmFja2dyb3VuZC1jb2xvcjojZDBkMGQwO3BhZGRpbmc6NnB4O2JvcmRlci1yYWRpdXM6NHB4O2ZvbnQtc2l6ZToxLjFlbTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKX0uY3J5cHRvYm94ZXMgdGFibGUuZGF0YVRhYmxlLmR0ci1jb2x1bW4+dGJvZHk+dHIucGFyZW50IHRkLmN0cmw6YmVmb3JlLC5jcnlwdG9ib3hlcyB0YWJsZS5kYXRhVGFibGUuZHRyLWNvbHVtbj50Ym9keT50ci5wYXJlbnQgdGguY3RybDpiZWZvcmV7Y29udGVudDonXDY3J30uY3J5cHRvYm94ZXMgdGFibGUuZGF0YVRhYmxlPnRib2R5PnRyLmNoaWxkPnRkLmNoaWxke2JhY2tncm91bmQ6I2YzZjdmYTtib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4wNyk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwuMDcpfS5jcnlwdG9ib3hlcyB0YWJsZS5kYXRhVGFibGU+dGJvZHk+dHIuY2hpbGR7cGFkZGluZzouNWVtIDFlbX0uY3J5cHRvYm94ZXMgdGFibGUuZGF0YVRhYmxlPnRib2R5PnRyLmNoaWxkOmhvdmVye2JhY2tncm91bmQ6MCAwIWltcG9ydGFudH0uY3J5cHRvYm94ZXMgdGFibGUuZGF0YVRhYmxlPnRib2R5PnRyLmNoaWxkIHVsLmR0ci1kZXRhaWxze3dpZHRoOjEwMCU7ZGlzcGxheTppbmxpbmUtYmxvY2s7bGlzdC1zdHlsZS10eXBlOm5vbmU7bWFyZ2luOjA7cGFkZGluZzowfS5jcnlwdG9ib3hlcyB0YWJsZS5kYXRhVGFibGU+dGJvZHk+dHIuY2hpbGQgdWwuZHRyLWRldGFpbHM+bGl7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbjtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZWZlZmVmO21hcmdpbjowO3BhZGRpbmc6LjVlbSAwO3RleHQtYWxpZ246bGVmdH0uY3J5cHRvYm94ZXMgdGFibGUuZGF0YVRhYmxlPnRib2R5PnRyLmNoaWxkIHVsLmR0ci1kZXRhaWxzPmxpOmZpcnN0LWNoaWxke3BhZGRpbmctdG9wOjB9LmNyeXB0b2JveGVzIHRhYmxlLmRhdGFUYWJsZT50Ym9keT50ci5jaGlsZCB1bC5kdHItZGV0YWlscz5saTpsYXN0LWNoaWxke2JvcmRlci1ib3R0b206bm9uZX0uY3J5cHRvYm94ZXMgdGFibGUuZGF0YVRhYmxlPnRib2R5PnRyLmNoaWxkIHNwYW4uZHRyLXRpdGxle2NvbG9yOiM2ZDZkNmQ7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWluLXdpZHRoOjc1cHg7Zm9udC13ZWlnaHQ6NzAwfWRpdi5kdHItbW9kYWx7cG9zaXRpb246Zml4ZWQ7Ym94LXNpemluZzpib3JkZXItYm94O3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3otaW5kZXg6MTAwO3BhZGRpbmc6MTBlbSAxZW19ZGl2LmR0ci1tb2RhbCBkaXYuZHRyLW1vZGFsLWRpc3BsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2JvdHRvbTowO3JpZ2h0OjA7d2lkdGg6NTAlO2hlaWdodDo1MCU7b3ZlcmZsb3c6YXV0bzttYXJnaW46YXV0bzt6LWluZGV4OjEwMjtvdmVyZmxvdzphdXRvO2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNztib3JkZXI6MXB4IHNvbGlkICMwMDA7Ym9yZGVyLXJhZGl1czouNWVtO2JveC1zaGFkb3c6MCAxMnB4IDMwcHggcmdiYSgwLDAsMCwuNil9ZGl2LmR0ci1tb2RhbCBkaXYuZHRyLW1vZGFsLWNvbnRlbnR7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZzoxZW19ZGl2LmR0ci1tb2RhbCBkaXYuZHRyLW1vZGFsLWNsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3RvcDo2cHg7cmlnaHQ6NnB4O3dpZHRoOjIycHg7aGVpZ2h0OjIycHg7Ym9yZGVyOjFweCBzb2xpZCAjZWFlYWVhO2JhY2tncm91bmQtY29sb3I6I2Y5ZjlmOTt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXItcmFkaXVzOjNweDtjdXJzb3I6cG9pbnRlcjt6LWluZGV4OjEyfWRpdi5kdHItbW9kYWwgZGl2LmR0ci1tb2RhbC1jbG9zZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNlYWVhZWF9ZGl2LmR0ci1tb2RhbCBkaXYuZHRyLW1vZGFsLWJhY2tncm91bmR7cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7ei1pbmRleDoxMDE7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC42KX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2N3B4KXtkaXYuZHRyLW1vZGFsIGRpdi5kdHItbW9kYWwtZGlzcGxheXt3aWR0aDo5NSV9fS5tY3ctbGlzdHtjb2xvcjojZmZmO292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7Ym9yZGVyLXJhZGl1czo1cHh9Lm1jdy1saXN0LXNoYWRvd3tib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA3KTtib3gtc2hhZG93OjAgMnB4IDNweCAwIHJnYmEoNDAsNDAsOTAsLjA5KSwwIDNweCA2cHggMCByZ2JhKDAsMCwwLC4wNjUpfS5tY3ctbGlzdCAubWN3LWxpc3Qtcm93e2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpjZW50ZXI7ZmxleC1mbG93OnJvdztmbGV4LXdyYXA6d3JhcDtwYWRkaW5nLWJvdHRvbToxMHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjEpfS5tY3ctbGlzdCAubWN3LWxpc3Qtcm93Omxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbTpub25lIWltcG9ydGFudH0ubWN3LWxpc3QgLm1jdy1saXN0LWNvbHVtbntwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6MTBweCAxOHB4IDAgMThweH0ubWN3LWxpc3QgLm1jdy1saXN0LWNvbHVtbiAuY29pbi1pbWd7bWFyZ2luLXJpZ2h0OjEwcHh9Lm1jdy1saXN0LXByaWNle29wYWNpdHk6MTtwYWRkaW5nOjRweDt0cmFuc2l0aW9uOm9wYWNpdHkgLjVzIGVhc2UtaW59Lm1jdy1saXN0LWNoYW5nZXtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tbGVmdDo0MHB4fS5tY3ctbGlzdC1jaGFuZ2UuZG93bntjb2xvcjojZjY4ODdkfS5tY3ctbGlzdC1jaGFuZ2UudXB7Y29sb3I6IzI5Yzc5ZX0ubWN3LWxpc3QtY2hhbmdlLmRvd246OmJlZm9yZSwubWN3LWxpc3QtY2hhbmdlLnVwOjpiZWZvcmV7Y29udGVudDonJztwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowO2hlaWdodDowO2xlZnQ6LTIwcHg7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNjAlKTtib3JkZXItcmFkaXVzOjJweDtib3JkZXItbGVmdDo3cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjdweCBzb2xpZCB0cmFuc3BhcmVudH0ubWN3LWxpc3QtY2hhbmdlLmRvd246OmJlZm9yZXtib3JkZXItdG9wOjEwcHggc29saWQgI2Y2ODg3ZH0ubWN3LWxpc3QtY2hhbmdlLnVwOjpiZWZvcmV7Ym9yZGVyLWJvdHRvbToxMHB4IHNvbGlkICMyOWM3OWV9Lm1jdy1saXN0Lm1jdy13aGl0ZS10aGVtZSAubWN3LWxpc3Qtcm93e2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlNmU2ZTZ9Lm1jdy1saXN0LTIgLm1jdy13aGl0ZS10aGVtZSAubWN3LWxpc3QtaGVhZGVyIGk6OmFmdGVyLC5tY3ctbGlzdC0yIC5tY3ctd2hpdGUtdGhlbWUgLm1jdy1saXN0LWhlYWRlciBpOjpiZWZvcmV7YmFja2dyb3VuZDojNTY1NjU2fS5tY3ctbGlzdC5tY3ctZGFyay10aGVtZSAubWN3LWxpc3Qtcm93e2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoODMsMTAxLDE0MCwuMzMpfS5tY3ctbGlzdC5tY3ctZGFuZ2VyLXRoZW1lIC5tY3ctbGlzdC1jaGFuZ2UuZG93bntjb2xvcjojZjY4ODdkfS5tY3ctbGlzdC5tY3ctZGFuZ2VyLXRoZW1lIC5tY3ctbGlzdC1jaGFuZ2UuZG93bjo6YmVmb3Jle2JvcmRlci10b3A6MTBweCBzb2xpZCAjZjY4ODdkfS5tY3ctbGlzdC0ye2JhY2tncm91bmQ6MCAwfS5tY3ctbGlzdC0yLm1jdy1saXN0LXNoYWRvd3tib3JkZXI6bm9uZTtib3gtc2hhZG93Om5vbmV9Lm1jdy1saXN0LTIgLm1jdy1saXN0LWl0ZW17bWFyZ2luLWJvdHRvbToxMHB4O2JvcmRlci1yYWRpdXM6NXB4fS5tY3ctbGlzdC0yIC5tY3ctbGlzdC1ib2R5e2Rpc3BsYXk6bm9uZTt3aWR0aDoxMDAlO3RleHQtYWxpZ246bGVmdH0ubWN3LWxpc3QtMiAubWN3LWxpc3QtYm9keSAubWN3LWxpc3QtcHJpY2V7bWFyZ2luLWxlZnQ6MjVweDtmb250LXNpemU6MmVtO2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5tY3ctbGlzdC0yIC5tY3ctbGlzdC1ib2R5IC5tY3ctbGlzdC1wcmljZSAuc3ltYm9se2ZvbnQtc2l6ZTouNmVtO3ZlcnRpY2FsLWFsaWduOnN1cGVyO2Rpc3BsYXk6aW5saW5lfS5tY3ctbGlzdC0yIC5tY3ctbGlzdC1oZWFkZXJ7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1yaWdodDozMHB4fS5tY3ctbGlzdC0yIC5tY3ctbGlzdC1oZWFkZXIgaXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDozMHB4fS5tY3ctbGlzdC0yIC5tY3ctbGlzdC1oZWFkZXIgaTo6YmVmb3JlLC5tY3ctbGlzdC1oZWFkZXIgaTo6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7d2lkdGg6M3B4O2hlaWdodDo5cHg7dHJhbnNpdGlvbjphbGwgLjI1cyBlYXNlLWluLW91dH0ubWN3LWxpc3QtMiAubWN3LWxpc3QtaGVhZGVyIGk6OmJlZm9yZXt0cmFuc2Zvcm06dHJhbnNsYXRlKDJweCwwKSByb3RhdGUoNDVkZWcpfS5tY3ctbGlzdC0yIC5tY3ctbGlzdC1oZWFkZXIgaTo6YWZ0ZXJ7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMnB4LDApIHJvdGF0ZSgtNDVkZWcpfS5tY3ctbGlzdC0yIC5tY3ctbGlzdC1pdGVtLmFjdGl2ZSAubWN3LWxpc3QtaGVhZGVyIGk6OmJlZm9yZXt0cmFuc2Zvcm06dHJhbnNsYXRlKC0ycHgsMCkgcm90YXRlKDQ1ZGVnKX0ubWN3LWxpc3QtMiAubWN3LWxpc3QtaXRlbS5hY3RpdmUgLm1jdy1saXN0LWhlYWRlciBpOjphZnRlcnt0cmFuc2Zvcm06dHJhbnNsYXRlKDJweCwwKSByb3RhdGUoLTQ1ZGVnKX0ubWN3LWxpc3QtMiAubWN3LWxpc3QtaXRlbS5hY3RpdmUgLm1jdy1saXN0LWhlYWRlciAubWN3LWxpc3QtcHJpY2V7b3BhY2l0eTowfS5tY3ctbGlzdC0zIC5pbmxpbmUtY2hhcnR7bWF4LXdpZHRoOjIwMHB4O3BhZGRpbmctbGVmdDozMHB4fS5tY3ctbGlzdC0zIC5tY3ctbGlzdC1jb2x1bW57anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59Lm1jdy1ib3h7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTAwJTtoZWlnaHQ6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59Lm1jdy1ib3gubWN3LXdoaXRlLXRoZW1le2JvcmRlcjoxcHggc29saWQgI2U2ZTZlNn0ubWN3LWJveC1jb250ZW50e2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtwYWRkaW5nOjEwcHggMjBweH0ubWN3LWJveC1yb3d7cGFkZGluZy10b3A6MTBweDtwYWRkaW5nLWJvdHRvbToxMHB4fS5tY3ctYm94LWNvbnRlbnQubWN3LWNlbnRlcntmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bGluZS1oZWlnaHQ6MX0ubWN3LWJveC1wcmljZS13cmFwcGVye2ZvbnQtc2l6ZToxLjVlbSFpbXBvcnRhbnQ7Zm9udC13ZWlnaHQ6NzAwIWltcG9ydGFudH0ubWN3LWJveC1wcmljZS13cmFwcGVyIC5tY3ctcHJpY2Utc3ltYm9se29wYWNpdHk6LjR9Lm1jdy1ib3ggLmNoYXJ0LW9mZnNldHtkaXNwbGF5Om5vbmV9Lm1jdy1ib3gtMiAubWN3LWxpc3QtY2hhbmdle2ZvbnQtc2l6ZToxcmVtfS5tY3ctYm94LTMgLm1jdy1ib3gtcHJpY2Utd3JhcHBlcntmb250LXNpemU6MmVtIWltcG9ydGFudDttYXJnaW4tdG9wOjIwcHh9Lm1jdy1ib3gtNCAubWN3LWJveC1wcmljZS13cmFwcGVye3BhZGRpbmc6MTBweH0ubWN3LWJveC1jb252ZXJ0ZXJ7d2lkdGg6MTAwJTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXgtd3JhcDpub3dyYXB9Lm1jdy1ib3gtY29udmVydGVyIC5tY3ctYm94LXNlcGFyYXRvcntwYWRkaW5nOjAgMjBweH0ubWN3LWJveC1jb252ZXJ0ZXIgLm1jdy1ib3gtc2VsZWN0e2ZsZXg6MX0ubWN3LWJveC1jb252ZXJ0ZXIgLm1jdy1zZWxlY3Qtd3JhcHBlciwubWN3LWJveC1jb252ZXJ0ZXIgc2VsZWN0e3dpZHRoOjEwMCV9Lm1jdy1ib3gtNiAubWN3LWJveC1jb2x1bW57ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcn0ubWN3LWJveC02IC5jb2luLWltZ3ttYXJnaW4tcmlnaHQ6MTBweH0ubWN3LWJveC02IC5tY3ctYm94LWNvbnRlbnR7cGFkZGluZzoxNXB4IDIwcHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMDUpfS5tY3ctYm94LTYubWN3LXdoaXRlLXRoZW1lIC5tY3ctYm94LWNvbnRlbnR7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwuMDUpfS5tY3ctc2VsZWN0LXdyYXBwZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyLXJhZGl1czo2cHh9Lm1jdy1zZWxlY3Qtd3JhcHBlcjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo0MCU7cmlnaHQ6MTZweDtib3JkZXI6c29saWQgI2RkZDtib3JkZXItd2lkdGg6MCAzcHggM3B4IDA7cGFkZGluZzozcHg7dHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTtib3JkZXItcmFkaXVzOjFweH0ubWN3LXNlbGVjdC13cmFwcGVyIHNlbGVjdHtwYWRkaW5nOjEwcHggNDBweCAxMHB4IDEwcHg7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1zLWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7Ym9yZGVyOjFweCBzb2xpZCAjZGRkO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czo1cHg7cG9zaXRpb246cmVsYXRpdmU7dG9wOjA7Y3Vyc29yOnBvaW50ZXI7ei1pbmRleDoxMDtvdXRsaW5lOjA7Zm9udC13ZWlnaHQ6NzAwO2NvbG9yOmluaGVyaXQ7aGVpZ2h0OmF1dG99Lm1jdy1zZWxlY3Qtd3JhcHBlciBzZWxlY3Qgb3B0aW9ue2NvbG9yOiMwMDB9LmNyeXB0b2JveGVzIC5tY3ctdGV4dHtwYWRkaW5nOjEwcHg7YmFja2dyb3VuZDojZmZmO2JvcmRlcjo1cHggc29saWQgI2VlZTtib3JkZXItcmFkaXVzOjVweH0uY3J5cHRvYm94ZXMgLm1jdy10ZXh0IGg0e2ZvbnQtc2l6ZToyZW07Zm9udC13ZWlnaHQ6NzAwfS5jcnlwdG9ib3hlcyAubWN3LWJveC10aXRsZXtvcGFjaXR5Oi42O2ZsZXgtYmFzaXM6NDAlfS5jcnlwdG9ib3hlcyAubWN3LWJveC1zaG9ydGNvZGV7Y29sb3I6IzU1NTtwYWRkaW5nLXRvcDoxMHB4O2ZvbnQtd2VpZ2h0OjcwMCFpbXBvcnRhbnR9Lm1jdy1jaGFuZ2VsbHl7cG9zaXRpb246cmVsYXRpdmU7Ym9yZGVyOjJweCBzb2xpZCAjMDBjZjcwO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLXRvcDo1Ni4yNSV9Lm1jdy1jaGFuZ2VsbHkgLm1jdy1jaGFuZ2VsbHktaWZyYW1le3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvcmRlcjowfS5tY3ctbXVsdGktdGFic3tvdmVyZmxvdzpoaWRkZW59Lm1jdy1tdWx0aS10YWJzIC5tY3ctbGlzdC1yb3d7cGFkZGluZzoxMHB4fS5tY3ctbXVsdGktdGFicyAubWN3LWxpc3QtY29sdW1ue3BhZGRpbmc6MH0ubWN3LW11bHRpLXRhYnMubWN3LXdoaXRlLXRoZW1le2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMSl9Lm1jdy10YWJze3dpZHRoOjEwMCU7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDpub3dyYXA7anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZDt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjEpfS5tY3ctd2hpdGUtdGhlbWUgLm1jdy10YWJze2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMSl9Lm1jdy10YWJzIC5tY3ctdGFie3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7cGFkZGluZzoxNXB4IDEwcHg7Y3Vyc29yOnBvaW50ZXI7dXNlci1zZWxlY3Q6bm9uZTtvdmVyZmxvdzpoaWRkZW59Lm1jdy10YWJzIC5tY3ctdGFiIHNwYW57cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxMH0ubWN3LXRhYnMgLm1jdy10YWItYmd7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtsZWZ0OjA7dG9wOjEwMCU7ei1pbmRleDoxO3RyYW5zaXRpb246dG9wIC4zc30ubWN3LXRhYnMgLm1jdy10YWIuYWN0aXZlIC5tY3ctdGFiLWJne3RvcDowfS5tY3ctdGFiLWNvbnRlbnR7ZGlzcGxheTpub25lfS5tY3ctdGFiLWNvbnRlbnQuYWN0aXZle2Rpc3BsYXk6YmxvY2t9Lm1jdy10YWItY29udGVudCAubWN3LXJvd3tkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6MTVweDtib3JkZXItYm90dG9tOjFweCBkYXNoZWQgcmdiYSgyNTUsMjU1LDI1NSwuMSl9dWwubWN3LW5ld3N7bGlzdC1zdHlsZTpub25lO3RleHQtYWxpZ246bGVmdDtwYWRkaW5nLWxlZnQ6MH11bC5tY3ctbmV3cyBsaXtjb2xvcjojNDk1MDU3O3BhZGRpbmctYm90dG9tOjIwcHg7bGluZS1oZWlnaHQ6MS41ZW19dWwubWN3LW5ld3MgLm1jdy1uLXNpbmdsZXtkaXNwbGF5OmZsZXh9dWwubWN3LW5ld3MgLm1jdy1uLW1lZGlhe21hcmdpbi1yaWdodDoyMHB4fXVsLm1jdy1uZXdzIC5tY3ctbi1pbWd7d2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4O2JvcmRlci1yYWRpdXM6NXB4O2JhY2tncm91bmQtaW1hZ2U6dXJsKC4uL2ltZy9yc3MucG5nKTtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXJ9dWwubWN3LW5ld3MgLm1jdy1uLWNvbnRlbnR7d2lkdGg6MTAwJX11bC5tY3ctbmV3cyBhLm1jdy1uLXRpdGxle2NvbG9yOiM0OTUwNTc7Zm9udC1zaXplOjEuMmVtO2ZvbnQtd2VpZ2h0OjcwMDt0ZXh0LWRlY29yYXRpb246bm9uZX11bC5tY3ctbmV3cyBhLm1jdy1uLXRpdGxlOmhvdmVye3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9dWwubWN3LW5ld3MgLm1jdy1uLXN0YXR7Y29sb3I6I2FiYjBiNX0uc2VsZWN0aXplLWNvbnRyb2wuZm9ybS1jb250cm9se2hlaWdodDphdXRvIWltcG9ydGFudDtwYWRkaW5nOjA7YmFja2dyb3VuZDowIDA7Ym94LXNoYWRvdzpub25lfS5zZWxlY3RpemUtY29udHJvbC5wbHVnaW4tZHJhZ19kcm9wLm11bHRpPi5zZWxlY3RpemUtaW5wdXQ+ZGl2LnVpLXNvcnRhYmxlLXBsYWNlaG9sZGVye3Zpc2liaWxpdHk6dmlzaWJsZSFpbXBvcnRhbnQ7YmFja2dyb3VuZDojZjJmMmYyIWltcG9ydGFudDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjA2KSFpbXBvcnRhbnQ7Ym9yZGVyOjAgbm9uZSFpbXBvcnRhbnQ7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMCAxMnB4IDRweCAjZmZmO2JveC1zaGFkb3c6aW5zZXQgMCAwIDEycHggNHB4ICNmZmZ9LnNlbGVjdGl6ZS1jb250cm9sLnBsdWdpbi1kcmFnX2Ryb3AgLnVpLXNvcnRhYmxlLXBsYWNlaG9sZGVyOjphZnRlcntjb250ZW50OichJzt2aXNpYmlsaXR5OmhpZGRlbn0uc2VsZWN0aXplLWNvbnRyb2wucGx1Z2luLWRyYWdfZHJvcCAudWktc29ydGFibGUtaGVscGVyey13ZWJraXQtYm94LXNoYWRvdzowIDJweCA1cHggcmdiYSgwLDAsMCwuMik7Ym94LXNoYWRvdzowIDJweCA1cHggcmdiYSgwLDAsMCwuMil9LnNlbGVjdGl6ZS1kcm9wZG93bi1oZWFkZXJ7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZzo1cHggOHB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNkMGQwZDA7YmFja2dyb3VuZDojZjhmOGY4Oy13ZWJraXQtYm9yZGVyLXJhZGl1czozcHggM3B4IDAgMDstbW96LWJvcmRlci1yYWRpdXM6M3B4IDNweCAwIDA7Ym9yZGVyLXJhZGl1czozcHggM3B4IDAgMH0uc2VsZWN0aXplLWRyb3Bkb3duLWhlYWRlci1jbG9zZXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDo4cHg7dG9wOjUwJTtjb2xvcjojMzAzMDMwO29wYWNpdHk6LjQ7bWFyZ2luLXRvcDotMTJweDtsaW5lLWhlaWdodDoyMHB4O2ZvbnQtc2l6ZToyMHB4IWltcG9ydGFudH0uc2VsZWN0aXplLWRyb3Bkb3duLWhlYWRlci1jbG9zZTpob3Zlcntjb2xvcjojMDAwfS5zZWxlY3RpemUtZHJvcGRvd24ucGx1Z2luLW9wdGdyb3VwX2NvbHVtbnMgLm9wdGdyb3Vwe2JvcmRlci1yaWdodDoxcHggc29saWQgI2YyZjJmMjtib3JkZXItdG9wOjAgbm9uZTtmbG9hdDpsZWZ0Oy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0uc2VsZWN0aXplLWRyb3Bkb3duLnBsdWdpbi1vcHRncm91cF9jb2x1bW5zIC5vcHRncm91cDpsYXN0LWNoaWxke2JvcmRlci1yaWdodDowIG5vbmV9LnNlbGVjdGl6ZS1kcm9wZG93bi5wbHVnaW4tb3B0Z3JvdXBfY29sdW1ucyAub3B0Z3JvdXA6YmVmb3Jle2Rpc3BsYXk6bm9uZX0uc2VsZWN0aXplLWRyb3Bkb3duLnBsdWdpbi1vcHRncm91cF9jb2x1bW5zIC5vcHRncm91cC1oZWFkZXJ7Ym9yZGVyLXRvcDowIG5vbmV9LnNlbGVjdGl6ZS1jb250cm9sLnBsdWdpbi1yZW1vdmVfYnV0dG9uIFtkYXRhLXZhbHVlXXtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjMycHghaW1wb3J0YW50fS5zZWxlY3RpemUtY29udHJvbC5wbHVnaW4tcmVtb3ZlX2J1dHRvbiBbZGF0YS12YWx1ZV0gLnJlbW92ZXt6LWluZGV4OjE7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3R0b206MDt3aWR0aDoyNHB4O3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MTJweDtjb2xvcjppbmhlcml0O3RleHQtZGVjb3JhdGlvbjpub25lO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nOjhweCAwIDAgMDstd2Via2l0LWJvcmRlci1yYWRpdXM6MCAycHggMnB4IDA7LW1vei1ib3JkZXItcmFkaXVzOjAgMnB4IDJweCAwO2JvcmRlci1yYWRpdXM6MCAycHggMnB4IDA7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS5zZWxlY3RpemUtY29udHJvbC5wbHVnaW4tcmVtb3ZlX2J1dHRvbiBbZGF0YS12YWx1ZV0gLnJlbW92ZTpob3ZlcntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjA1KX0uc2VsZWN0aXplLWNvbnRyb2wucGx1Z2luLXJlbW92ZV9idXR0b24gW2RhdGEtdmFsdWVdLmFjdGl2ZSAucmVtb3Zle2JvcmRlci1sZWZ0LWNvbG9yOiNjYWNhY2F9LnNlbGVjdGl6ZS1jb250cm9sLnBsdWdpbi1yZW1vdmVfYnV0dG9uIC5kaXNhYmxlZCBbZGF0YS12YWx1ZV0gLnJlbW92ZTpob3ZlcntiYWNrZ3JvdW5kOjAgMH0uc2VsZWN0aXplLWNvbnRyb2wucGx1Z2luLXJlbW92ZV9idXR0b24gLmRpc2FibGVkIFtkYXRhLXZhbHVlXSAucmVtb3Zle2JvcmRlci1sZWZ0LWNvbG9yOiNmZmZ9LnNlbGVjdGl6ZS1jb250cm9sLnBsdWdpbi1yZW1vdmVfYnV0dG9uIC5yZW1vdmUtc2luZ2xle3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7dG9wOjA7Zm9udC1zaXplOjIzcHh9LnNlbGVjdGl6ZS1jb250cm9se3Bvc2l0aW9uOnJlbGF0aXZlfS5zZWxlY3RpemUtZHJvcGRvd24sLnNlbGVjdGl6ZS1pbnB1dCwuc2VsZWN0aXplLWlucHV0IGlucHV0e2NvbG9yOiMzMDMwMzA7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXNpemU6MTNweDtsaW5lLWhlaWdodDoxOHB4Oy13ZWJraXQtZm9udC1zbW9vdGhpbmc6aW5oZXJpdH0uc2VsZWN0aXplLWNvbnRyb2wuc2luZ2xlIC5zZWxlY3RpemUtaW5wdXQuaW5wdXQtYWN0aXZlLC5zZWxlY3RpemUtaW5wdXR7YmFja2dyb3VuZDojZmZmO2N1cnNvcjp0ZXh0O2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5zZWxlY3RpemUtaW5wdXR7Y29sb3I6Izg4OThhYTtmb250LXNpemU6Ljg3NXJlbTtsaW5lLWhlaWdodDoxLjg7aGVpZ2h0OmNhbGMoMi43NXJlbSArIDJweCk7cGFkZGluZzouNjI1cmVtIC43NXJlbTtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxMDAlO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlci1yYWRpdXM6LjM3NXJlbTtib3gtc2hhZG93OjAgMXB4IDNweCByZ2JhKDUwLDUwLDkzLC4xNSksMCAxcHggMCByZ2JhKDAsMCwwLC4wMil9LnNlbGVjdGl6ZS1jb250cm9sLm11bHRpIC5zZWxlY3RpemUtaW5wdXR7aGVpZ2h0OmF1dG99LnNlbGVjdGl6ZS1jb250cm9sLm11bHRpIC5zZWxlY3RpemUtaW5wdXQuaGFzLWl0ZW1ze3BhZGRpbmc6NnB4IDhweCAzcHh9LnNlbGVjdGl6ZS1pbnB1dC5mdWxse2JhY2tncm91bmQtY29sb3I6I2ZmZn0uc2VsZWN0aXplLWlucHV0LmRpc2FibGVkLC5zZWxlY3RpemUtaW5wdXQuZGlzYWJsZWQgKntjdXJzb3I6ZGVmYXVsdCFpbXBvcnRhbnR9LnNlbGVjdGl6ZS1pbnB1dC5mb2N1c3std2Via2l0LWJveC1zaGFkb3c6MCA0cHggNnB4IHJnYmEoNTAsNTAsOTMsLjExKSwwIDFweCAzcHggcmdiYSgwLDAsMCwuMDgpO2JveC1zaGFkb3c6MCA0cHggNnB4IHJnYmEoNTAsNTAsOTMsLjExKSwwIDFweCAzcHggcmdiYSgwLDAsMCwuMDgpfS5zZWxlY3RpemUtaW5wdXQuZHJvcGRvd24tYWN0aXZley13ZWJraXQtYm9yZGVyLXJhZGl1czouMzc1cmVtIC4zNzVyZW0gMCAwOy1tb3otYm9yZGVyLXJhZGl1czouMzc1cmVtIC4zNzVyZW0gMCAwO2JvcmRlci1yYWRpdXM6LjM3NXJlbSAuMzc1cmVtIDAgMH0uc2VsZWN0aXplLWlucHV0Pip7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7ZGlzcGxheTotbW96LWlubGluZS1zdGFjaztkaXNwbGF5OmlubGluZS1ibG9jazt6b29tOjF9LnNlbGVjdGl6ZS1jb250cm9sLm11bHRpIC5zZWxlY3RpemUtaW5wdXQ+ZGl2e2N1cnNvcjpwb2ludGVyO21hcmdpbjowIDNweCAzcHggMDtwYWRkaW5nOjZweCAxMnB4O2JhY2tncm91bmQ6I2YyZjJmMjtjb2xvcjojZmZmO2JvcmRlci1jb2xvcjojNWU3MmU0O2JhY2tncm91bmQtY29sb3I6IzVlNzJlNDtib3JkZXItcmFkaXVzOjVweH0uc2VsZWN0aXplLWNvbnRyb2wubXVsdGkgLnNlbGVjdGl6ZS1pbnB1dC5kaXNhYmxlZD5kaXYsLnNlbGVjdGl6ZS1jb250cm9sLm11bHRpIC5zZWxlY3RpemUtaW5wdXQuZGlzYWJsZWQ+ZGl2LmFjdGl2ZXtjb2xvcjojN2Q3ZDdkO2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MCBzb2xpZCAjZmZmfS5zZWxlY3RpemUtaW5wdXQ+aW5wdXR7ZGlzcGxheTppbmxpbmUtYmxvY2shaW1wb3J0YW50O3BhZGRpbmc6MCFpbXBvcnRhbnQ7bWluLWhlaWdodDowIWltcG9ydGFudDttYXgtaGVpZ2h0Om5vbmUhaW1wb3J0YW50O21heC13aWR0aDoxMDAlIWltcG9ydGFudDttYXJnaW46MCAycHggMCAwIWltcG9ydGFudDt0ZXh0LWluZGVudDowIWltcG9ydGFudDtib3JkZXI6MCBub25lIWltcG9ydGFudDtiYWNrZ3JvdW5kOjAgMCFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6aW5oZXJpdCFpbXBvcnRhbnQ7LXdlYmtpdC11c2VyLXNlbGVjdDphdXRvIWltcG9ydGFudDstd2Via2l0LWJveC1zaGFkb3c6bm9uZSFpbXBvcnRhbnQ7Ym94LXNoYWRvdzpub25lIWltcG9ydGFudH0uc2VsZWN0aXplLWlucHV0PmlucHV0OjotbXMtY2xlYXJ7ZGlzcGxheTpub25lfS5zZWxlY3RpemUtaW5wdXQ+aW5wdXQ6Zm9jdXN7b3V0bGluZTowIWltcG9ydGFudH0uc2VsZWN0aXplLWlucHV0OjphZnRlcntjb250ZW50OicgJztkaXNwbGF5OmJsb2NrO2NsZWFyOmxlZnR9LnNlbGVjdGl6ZS1pbnB1dC5kcm9wZG93bi1hY3RpdmU6OmJlZm9yZXtjb250ZW50OicgJztkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2JhY2tncm91bmQ6I2YwZjBmMDtoZWlnaHQ6MXB4O2JvdHRvbTowO2xlZnQ6MDtyaWdodDowfS5zZWxlY3RpemUtZHJvcGRvd257cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDtiYWNrZ3JvdW5kOiNmZmY7bWFyZ2luOi0xcHggMCAwIDA7Ym9yZGVyLXRvcDowIG5vbmU7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O2JveC1zaGFkb3c6MCA0cHggNnB4IHJnYmEoNTAsNTAsOTMsLjExKSwwIDFweCAzcHggcmdiYSgwLDAsMCwuMDgpOy13ZWJraXQtYm9yZGVyLXJhZGl1czowIDAgLjM3NXJlbSAuMzc1cmVtOy1tb3otYm9yZGVyLXJhZGl1czowIDAgLjM3NXJlbSAuMzc1cmVtO2JvcmRlci1yYWRpdXM6MCAwIC4zNzVyZW0gLjM3NXJlbX0uc2VsZWN0aXplLWRyb3Bkb3duIFtkYXRhLXNlbGVjdGFibGVde2N1cnNvcjpwb2ludGVyO292ZXJmbG93OmhpZGRlbn0uc2VsZWN0aXplLWRyb3Bkb3duIFtkYXRhLXNlbGVjdGFibGVdIC5oaWdobGlnaHR7YmFja2dyb3VuZDpyZ2JhKDEyNSwxNjgsMjA4LC4yKTstd2Via2l0LWJvcmRlci1yYWRpdXM6MXB4Oy1tb3otYm9yZGVyLXJhZGl1czoxcHg7Ym9yZGVyLXJhZGl1czoxcHh9LnNlbGVjdGl6ZS1kcm9wZG93biAub3B0Z3JvdXAtaGVhZGVyLC5zZWxlY3RpemUtZHJvcGRvd24gLm9wdGlvbntwYWRkaW5nOi42MjVyZW0gLjc1cmVtfS5zZWxlY3RpemUtZHJvcGRvd24gLm9wdGlvbiwuc2VsZWN0aXplLWRyb3Bkb3duIFtkYXRhLWRpc2FibGVkXSwuc2VsZWN0aXplLWRyb3Bkb3duIFtkYXRhLWRpc2FibGVkXSBbZGF0YS1zZWxlY3RhYmxlXS5vcHRpb257Y3Vyc29yOmluaGVyaXQ7b3BhY2l0eTouNX0uc2VsZWN0aXplLWRyb3Bkb3duIFtkYXRhLXNlbGVjdGFibGVdLm9wdGlvbntvcGFjaXR5OjF9LnNlbGVjdGl6ZS1kcm9wZG93biAub3B0Z3JvdXA6Zmlyc3QtY2hpbGQgLm9wdGdyb3VwLWhlYWRlcntib3JkZXItdG9wOjAgbm9uZX0uc2VsZWN0aXplLWRyb3Bkb3duIC5vcHRncm91cC1oZWFkZXJ7Y29sb3I6IzMwMzAzMDtiYWNrZ3JvdW5kOiNmZmY7Y3Vyc29yOmRlZmF1bHR9LnNlbGVjdGl6ZS1kcm9wZG93biAuYWN0aXZle2JhY2tncm91bmQtY29sb3I6I2Y1ZmFmZDtjb2xvcjojNDk1YzY4fS5zZWxlY3RpemUtZHJvcGRvd24gLmFjdGl2ZS5jcmVhdGV7Y29sb3I6IzQ5NWM2OH0uc2VsZWN0aXplLWRyb3Bkb3duIC5jcmVhdGV7Y29sb3I6cmdiYSg0OCw0OCw0OCwuNSl9LnNlbGVjdGl6ZS1kcm9wZG93bi1jb250ZW50e292ZXJmbG93LXk6YXV0bztvdmVyZmxvdy14OmhpZGRlbjttYXgtaGVpZ2h0OjIwMHB4Oy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNofS5zZWxlY3RpemUtY29udHJvbC5zaW5nbGUgLnNlbGVjdGl6ZS1pbnB1dCwuc2VsZWN0aXplLWNvbnRyb2wuc2luZ2xlIC5zZWxlY3RpemUtaW5wdXQgaW5wdXR7Y3Vyc29yOnBvaW50ZXJ9LnNlbGVjdGl6ZS1jb250cm9sLnNpbmdsZSAuc2VsZWN0aXplLWlucHV0LmlucHV0LWFjdGl2ZSwuc2VsZWN0aXplLWNvbnRyb2wuc2luZ2xlIC5zZWxlY3RpemUtaW5wdXQuaW5wdXQtYWN0aXZlIGlucHV0e2N1cnNvcjp0ZXh0fS5zZWxlY3RpemUtY29udHJvbC5zaW5nbGUgLnNlbGVjdGl6ZS1pbnB1dDphZnRlcntjb250ZW50OicgJztkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7cmlnaHQ6MTVweDttYXJnaW4tdG9wOi0zcHg7d2lkdGg6MDtoZWlnaHQ6MDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjVweCA1cHggMCA1cHg7Ym9yZGVyLWNvbG9yOmdyZXkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnR9LnNlbGVjdGl6ZS1jb250cm9sLnNpbmdsZSAuc2VsZWN0aXplLWlucHV0LmRyb3Bkb3duLWFjdGl2ZTphZnRlcnttYXJnaW4tdG9wOi00cHg7Ym9yZGVyLXdpZHRoOjAgNXB4IDVweCA1cHg7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50IHRyYW5zcGFyZW50IGdyZXkgdHJhbnNwYXJlbnR9LnNlbGVjdGl6ZS1jb250cm9sLnJ0bC5zaW5nbGUgLnNlbGVjdGl6ZS1pbnB1dDphZnRlcntsZWZ0OjE1cHg7cmlnaHQ6YXV0b30uc2VsZWN0aXplLWNvbnRyb2wucnRsIC5zZWxlY3RpemUtaW5wdXQ+aW5wdXR7bWFyZ2luOjAgNHB4IDAgLTJweCFpbXBvcnRhbnR9LnNlbGVjdGl6ZS1jb250cm9sIC5zZWxlY3RpemUtaW5wdXQuZGlzYWJsZWR7b3BhY2l0eTouNTtiYWNrZ3JvdW5kLWNvbG9yOiNmYWZhZmF9LmNyeXB0b2hvcHBlci13ZWItd2lkZ2V0IC5hbGVydHtmb250LXNpemU6Ljg3NXJlbTtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tYm90dG9tOjFyZW07cGFkZGluZzoxcmVtIDEuNXJlbTtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6LjM3NXJlbX0uY3J5cHRvaG9wcGVyLXdlYi13aWRnZXQgLmFsZXJ0LWRlZmF1bHR7Y29sb3I6I2ZmZjtib3JkZXItY29sb3I6IzNjNGQ2OTtiYWNrZ3JvdW5kLWNvbG9yOiMzYzRkNjl9Cg=="}},"time_used":23,"timings":{"blocked":1,"dns":5,"connect":0,"send":0,"wait":16,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/plugins/revolution/fonts/revicons/revicons-5510888.woff","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:52.301Z","timestamp":1785123232301,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /plugins/revolution/fonts/revicons/revicons-5510888.woff HTTP/1.1\r\nHost: agilitetrade.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/plugins/revolution/css/settings.css\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\r\nSec-Fetch-Dest: font\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":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:52 GMT\r\ncontent-type: font/woff\r\nlast-modified: Wed, 22 Apr 2026 17:27:53 GMT\r\naccept-ranges: bytes\r\ncontent-length: 7536\r\ndate: Mon, 27 Jul 2026 03:33:52 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":7536,"size_decoded":7801,"mime_type":"font/woff","magic":"Web Open Font Format, TrueType, length 7536, version 1.0","md5":"04eb8fc57f27498e5ae37523e3bfb2c7","sha1":"d942ae11706c3f7e511e3c49b0e4574d7ad199c4","sha256":"f7b9c3065e55fa3b9e320093612e7b30dcb14355a44ec461247b495a3e729686","sha512":"fa6508c8a1a822794036174b0b9dbc6e91b5afc1fd340381b868ede6d928dd0f3e66b5a91308d2c0c4c4c64b27dab7761a904c0b6e6b3c0e3e736e5d6342f365","ssdeep":"192:340F/mM4Oa0wA2jPOf2X62xqpjjjaT64iSNizw:34sxBwCujqpj/aT6nSYzw","tlshash":"20f18e14fec0f56dfd8f52702780e6f6b2646de260560dc52d48e65c14e291ae27d47c","first_seen":"2023-04-05T13:50:09Z","last_seen":"2026-07-27T05:05:33.661676Z","times_seen":31958,"resource_available":false,"data":"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"}},"time_used":29,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":29,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:53.064Z","timestamp":1785123233064,"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://agilitetrade.com/\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: 397419\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-07-27T05:12:11.019038Z","times_seen":53660,"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":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":"agilitetrade.com/css/owl.css","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.719Z","timestamp":1785123231719,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /css/owl.css HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/css/style.css\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: text/css\r\nlast-modified: Wed, 22 Apr 2026 17:27:28 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 1055\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":4154,"size_decoded":1364,"mime_type":"text/css","magic":"ASCII text","md5":"00ffdce27c268e3fc07f3e027bf1d4b8","sha1":"52b2203aeb409e2d3f1cd6d44cba6afd7465069a","sha256":"ccd049fc8560d3dab7fdc94b928983070a7a03a6810dd451d9c269d4d287f076","sha512":"cc77452e30517675d33461364fce1ff321f16960ae47bdbdeec187693a8e069ede1e911a22bf55a3ee3011eab94ae2242c739741217ba73a6dc25a64bd180f16","ssdeep":"96:OTgJdduXehkNbIAIhIL4NV5mVrKWT+8FjFE9pgrQ7gBuU4X:OTgJ/upNbIAIOoV5mVrKWT+39pgM7gtc","tlshash":"0a81dde62167010e381b93e01aad6a56393d8443d81d8c58b6fb6609cf8ef98215ff5f","first_seen":"2026-06-26T06:01:48.610534Z","last_seen":"2026-07-27T05:05:33.682696Z","times_seen":7,"resource_available":false,"data":"LyoqCiAqIE93bCBDYXJvdXNlbCB2Mi4yLjAKICogQ29weXJpZ2h0IDIwMTMtMjAxNiBEYXZpZCBEZXV0c2NoCiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL093bENhcm91c2VsMi9Pd2xDYXJvdXNlbDIvYmxvYi9tYXN0ZXIvTElDRU5TRSkKICovCi8qCiAqICBPd2wgQ2Fyb3VzZWwgLSBDb3JlCiAqLwoub3dsLWNhcm91c2VsIHsKICBkaXNwbGF5OiBub25lOwogIHdpZHRoOiAxMDAlOwogIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgLyogcG9zaXRpb24gcmVsYXRpdmUgYW5kIHotaW5kZXggZml4IHdlYmtpdCByZW5kZXJpbmcgZm9udHMgaXNzdWUgKi8KICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgei1pbmRleDogMTsgfQogIC5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZSB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4tWTsgfQogIC5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZTphZnRlciB7CiAgICBjb250ZW50OiAiLiI7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGNsZWFyOiBib3RoOwogICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgbGluZS1oZWlnaHQ6IDA7CiAgICBoZWlnaHQ6IDA7IH0KICAub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2Utb3V0ZXIgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIC8qIGZpeCBmb3IgZmxhc2hpbmcgYmFja2dyb3VuZCAqLwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpOyB9CiAgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgbWluLWhlaWdodDogMXB4OwogICAgZmxvYXQ6IGxlZnQ7CiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7IH0KICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSBpbWcgewogICAgZGlzcGxheTogYmxvY2s7CiAgICB3aWR0aDogMTAwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsgfQogIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYuZGlzYWJsZWQsCiAgLm93bC1jYXJvdXNlbCAub3dsLWRvdHMuZGlzYWJsZWQgewogICAgZGlzcGxheTogbm9uZTsgfQogIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgLm93bC1wcmV2LAogIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgLm93bC1uZXh0LAogIC5vd2wtY2Fyb3VzZWwgLm93bC1kb3QgewogICAgY3Vyc29yOiBwb2ludGVyOwogICAgY3Vyc29yOiBoYW5kOwogICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTsKICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICB1c2VyLXNlbGVjdDogbm9uZTsgfQogIC5vd2wtY2Fyb3VzZWwub3dsLWxvYWRlZCB7CiAgICBkaXNwbGF5OiBibG9jazsgfQogIC5vd2wtY2Fyb3VzZWwub3dsLWxvYWRpbmcgewogICAgb3BhY2l0eTogMDsKICAgIGRpc3BsYXk6IGJsb2NrOyB9CiAgLm93bC1jYXJvdXNlbC5vd2wtaGlkZGVuIHsKICAgIG9wYWNpdHk6IDA7IH0KICAub3dsLWNhcm91c2VsLm93bC1yZWZyZXNoIC5vd2wtaXRlbSB7CiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH0KICAub3dsLWNhcm91c2VsLm93bC1kcmFnIC5vd2wtaXRlbSB7CiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsKICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTsKICAgIHVzZXItc2VsZWN0OiBub25lOyB9CiAgLm93bC1jYXJvdXNlbC5vd2wtZ3JhYiB7CiAgICBjdXJzb3I6IG1vdmU7CiAgICBjdXJzb3I6IGdyYWI7IH0KICAub3dsLWNhcm91c2VsLm93bC1ydGwgewogICAgZGlyZWN0aW9uOiBydGw7IH0KICAub3dsLWNhcm91c2VsLm93bC1ydGwgLm93bC1pdGVtIHsKICAgIGZsb2F0OiByaWdodDsgfQoKLyogTm8gSnMgKi8KLm5vLWpzIC5vd2wtY2Fyb3VzZWwgewogIGRpc3BsYXk6IGJsb2NrOyB9CgovKgogKiAgT3dsIENhcm91c2VsIC0gQW5pbWF0ZSBQbHVnaW4KICovCi5vd2wtY2Fyb3VzZWwgLmFuaW1hdGVkIHsKICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zOwogICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7CiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOwogICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgfQoKLm93bC1jYXJvdXNlbCAub3dsLWFuaW1hdGVkLWluIHsKICB6LWluZGV4OiAwOyB9Cgoub3dsLWNhcm91c2VsIC5vd2wtYW5pbWF0ZWQtb3V0IHsKICB6LWluZGV4OiAxOyB9Cgoub3dsLWNhcm91c2VsIC5mYWRlT3V0IHsKICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0OwogICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7IH0KCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0IHsKICAwJSB7CiAgICBvcGFjaXR5OiAxOyB9CiAgMTAwJSB7CiAgICBvcGFjaXR5OiAwOyB9IH0KCkBrZXlmcmFtZXMgZmFkZU91dCB7CiAgMCUgewogICAgb3BhY2l0eTogMTsgfQogIDEwMCUgewogICAgb3BhY2l0eTogMDsgfSB9CgovKgogKiAJT3dsIENhcm91c2VsIC0gQXV0byBIZWlnaHQgUGx1Z2luCiAqLwoub3dsLWhlaWdodCB7CiAgdHJhbnNpdGlvbjogaGVpZ2h0IDUwMG1zIGVhc2UtaW4tb3V0OyB9CgovKgogKiAJT3dsIENhcm91c2VsIC0gTGF6eSBMb2FkIFBsdWdpbgogKi8KLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLm93bC1sYXp5IHsKICBvcGFjaXR5OiAwOwogIHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTsgfQoKLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gaW1nLm93bC1sYXp5IHsKICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7CiAgICAgICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOyB9CgovKgogKiAJT3dsIENhcm91c2VsIC0gVmlkZW8gUGx1Z2luCiAqLwoub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8td3JhcHBlciB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGhlaWdodDogMTAwJTsKICBiYWNrZ3JvdW5kOiAjMDAwOyB9Cgoub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheS1pY29uIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgaGVpZ2h0OiA4MHB4OwogIHdpZHRoOiA4MHB4OwogIGxlZnQ6IDUwJTsKICB0b3A6IDUwJTsKICBtYXJnaW4tbGVmdDogLTQwcHg7CiAgbWFyZ2luLXRvcDogLTQwcHg7CiAgYmFja2dyb3VuZDogdXJsKCIuLi8uLi90LmNvbW1vbnN1cHBvcnQuY29tL21hc3RlcmNvaW4vY3NzL293bC52aWRlby5wbGF5Lmh0bWwiKSBuby1yZXBlYXQ7CiAgY3Vyc29yOiBwb2ludGVyOwogIHotaW5kZXg6IDE7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMTAwbXMgZWFzZTsKICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTAwbXMgZWFzZTsgfQoKLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbjpob3ZlciB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMywgMS4zKTsKICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4zLCAxLjMpOwogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMsIDEuMyk7IH0KCi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tdG4sCi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tcGxheS1pY29uIHsKICBkaXNwbGF5OiBub25lOyB9Cgoub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tdG4gewogIG9wYWNpdHk6IDA7CiAgaGVpZ2h0OiAxMDAlOwogIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7CiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47CiAgdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlOyB9Cgoub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tZnJhbWUgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB6LWluZGV4OiAxOwogIGhlaWdodDogMTAwJTsKICB3aWR0aDogMTAwJTsgfQo="}},"time_used":31,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":31,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/raleway/v22/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVsEpbCIPrQ.ttf","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://agilitetrade.com/","date":"2026-07-27T03:33:51.866Z","timestamp":1785123231866,"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/raleway/v22/1Ptxg8zYS_SKggPN4iEgvnHyvveLxVsEpbCIPrQ.ttf 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: gzip, deflate, br, zstd\r\nOrigin: https://agilitetrade.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.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\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\ntiming-allow-origin: *\r\ncontent-length: 27855\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 14:05:00 GMT\r\nexpires: Fri, 23 Jul 2027 14:05:00 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Tue, 29 Jun 2021 19:40:52 GMT\r\ncontent-type: font/ttf\r\nvary: Accept-Encoding\r\nage: 307731\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":46696,"size_decoded":28713,"mime_type":"font/ttf","magic":"TrueType Font data, 18 tables, 1st \"GDEF\", 14 names, Microsoft, language 0x409, Copyright 2010 The Raleway Project Authors (impallari@gmail.com), with Reserved Font Name \"Ralew","md5":"b524d845c3d65a7acac1c6cf4949a546","sha1":"8c6729ab4eb2824a40d8fb619c8cb60da2097584","sha256":"e914d7cd8a6ac7c5744db0eeb7873ffc7d2a1cf9f91dcd066336b15c48501bd9","sha512":"5aeb94be66a0e054ef629de677ba0e46fc711e5a3255da2624ccf8066184c727258eb9b070a1309cb74c2053f164a1dd0b9d912b2e85f674747098834b9b3711","ssdeep":"768:8lSOslPL+R15DTf8URYIRoRVXVeRy2uE5HogrGpL7Eg6+Q/zhqbDgV9fIh9IHO:8lLsVo3/HAYH2p3EBtq","tlshash":"5a235c21f341a718d123767c8ea3d364a746b818fbd6031f748a365f9c9e984ce647c9","first_seen":"2023-06-14T10:57:00Z","last_seen":"2026-07-27T05:59:47.386173Z","times_seen":32,"resource_available":false,"data":"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AIIAAgCF//UArv+HAK//lQC5//AAvgABAMYAAgDT/1kA1v/iAPL/7QDz/+0A9P+IAAMARv/2AFMABADT/8cADgAN//kANP/tADX/7QA2/+cAN//cADj/3ABG//8Acv/1AIIAAACv/+0Avv/lAMb/8gDT/68A9P/5AAsADf/5ADT/5QA2/94ARv//AHL/9QCCAAAAr//pAL7/5QDG/+4A0/+vAPT/+QAJAAgAFABG//UAUAAAAFIABgBTAAkAaQAAAHD/9ACFAAAA0//IAEEAAf/NAAL/zQAD/80ABP/NAAX/zQAG/80AB//NAAj/pgAb/6QANP/1ADX/9QA2/+4AN//uADj/7gA6//oAO//6ADz/+gA9//oAPv/6AD//+gBA//oAQf/6AEP/9gBE//YARf/3AEb/6QBH//YASP/2AEn/9gBK//YAS//2AE3/9wBTAAcAXP/2AF3/9gBe//YAX//2AGD/9gBh//YAYv/2AGP/9gBm//cAaP/8AHEAAwByAAEAcwABAHQAAQB1AAEAgv/QAIP//QCz/6oAtP+qALj/qgC+/7UAxv/9AMcAAADIAAAAyQAAAMoAAADL//QAzf/0AM//qgDT/8YA1P+qANb/5gAxAAH/5AAC/+QAA//kAAT/5AAF/+QABv/kAAf/5AAI/90ADf/5ABv/5wAt//8ALv/ZADT/3wA1/+AANv/WADf/xAA4/8QAOf/tADr//wA7//8APP//AD3//wA+//8AP///AED//wBB//8Acv/5AHP/+wB0//sAdf/7AK7/8ACv/90As//pALT/6QC4/+kAuf/3ALv/9gC8//YAvv/fAML//QDE//wAxv/oAM//6QDQAAAA0f/2ANIAAADT//YA1P/pAPT/7QATAAH/8gAC//IAA//yAAT/8gAF//IABv/yAAf/8gAIABIADf//ADT/5QA2//AARv//AHL/+ACCAAMAr//pAL7/7gDG//QA0/+vAPT/+QALAA3//wA0/+oARv/pAFP//ABh//IAcP/+AIIABACv//wAvgACAMYAAwDT/8AACgA0/+8ANv/4AFIAAwBTAAgAcP/vAHL/9wB8AAAAgf/9AIUAAADT/8EAIwBA/7IARv+1AFD/wABR//cAUgAkAFMAHABVAAUAYv+aAGn/9QBw/7oAcv/DAHf/3wB4/98Aef/fAHr/5wB+/9AAf//K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AEIABABOAAQATwAEAFAABABRAAQAUgAEAFMABABVAAQAVgAEAFcABABYAAUAZQAEAGkAAAB9AAUArgAiALkABgC7AAMAvAADAMIAAwDEAAUA0AADANEABQDSAAMA0//pAPQAFwAcAEIABgBOAAYATwAGAFAABgBRAAYAUgAGAFMABgBVAAYAVgAGAFcABgBYAAcAZQAGAGkABAB8AAcAfQAKAK4AFgCvABIAuQALALsABgC8AAYAwgAGAMQABwDGAA4A0AAHANEACADSAAcA0//sAPQADAADAFIABABTAAYA0//bAAQAUgAEAFMABgBWABsA0//bAAcANP/tAEb/4QBh/+0Ar//0AL4ABQDGAAUA0//BAAkADf/3ADT/xwA2//gAcP/2AK7/8gCv/9QAuf/zANP/wAD0/+8AEwAN//IANP+8ADb/2QBw/+4Acf/xAHL/6gBz/+8AdP/vAHX/7wB9//4Arv/qAK//zwC5//AAvv/9AML//gDE//4Axv/rANP/tgD0/+oADwAN//IANP+8ADb/2QBw/+4Acv/oAH3//gCu/+oAr//PALn/8AC+//0Awv/+AMT//gDG/+sA0/+2APT/6gALAA3/9gA0/8UANv/pAHD/8QBy/+wArv/tAK//0wC5//UAxv/vANP/uAD0/+wADwAN//IANP+9ADb/2QBw/+4Acv/pAH3/+ACu/+gAr//OALn/7wC+//YAwv/2AMT/9gDG/+kA0/+oAPT/6QAGADT/1AA2//cAVgBOAK//4QDT/80A9P/1AAoADf/7ADT/9gA2/+IARv/kAK///gC+/84Axv/xANP/3QDW/+oA7gAAAAkADf/2ADT/ywA2//gAcP/0AHL//gCu//cAr//dANP/wQD0//EATAAB//QAAv/0AAP/9AAE//QABf/0AAb/9AAH//QACP/0AAn/9wAK//8AC///AAz/9wAN//IADv/3AA//9wAQ//cAEf/3ABL/9wAT//cAFP//ABX/9wAW//cAF//3ABj/9wAZ//cAGv/3ABz/9wAd//cAHv/3AB//9wAg//cAIf//ACL//wAj//8AJP//ACX//wAm//8AJ///ACj//wAp//cAKv/3ACv//wAs//cALf/6AC7/7AAv//QAMP/0ADH/9AAy//QAM//0ADT/3QA1/90ANv/nADf/zwA4/88AOf/4AEz/+ABo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AAD/6QAAAAAAAAAAAAAAAAAA/7P/5QAAAAAAAAAAAAAAAAACABEAAQAIAAAACgASAAgAFAAoABEAKwAzACYANQA1AC8ANwBFADAARwBTAD8AVQBoAEwAagBvAGAAcQBxAGYAcwB7AGcAsACwAHAAsgCzAHEAuAC4AHMAuwC9AHQAwADAAHcAxwDUAHgAAgBDAAEABwADAAgACAAEAAoACwAQAAwADQARAA4AEgAEABQAFAAdABsAGwAeABwAHAAfAB0AHQAgACEAJwACACgAKAAEACsAKwACACwALAAhAC0ALQAiAC4ALgAjAC8AMwAIADUANQAkADcAOAASADkAOQAlADoAQAAFAEEAQQAGAEIAQgAMAEMARAATAEUARQAmAEcASwAGAEwATAAVAE0ATQAWAE4ATgAnAE8AUwABAFUAVgABAFcAVwAoAFgAWAANAFkAWwAOAFwAYgAHAGMAYwAGAGQAZQAMAGYAZgAWAGcAZwApAGgAaAAqAGoAagArAGsAbwAJAHEAcQAsAHMAdQAPAHYAdgAtAHcAdwAVAHgAeAABAHkAeQANAHoAegABAHsAewANALAAsAAXALIAsgAUALMAswAKALgAuAAKALsAvAAaAL0AvQAUAMAAwAAXAMcAygALAMsAywAYAMwAzAAZAM0AzQAYAM4AzgAZAM8AzwAKANAA0AAbANEA0QAcANIA0gAbANMA0wAcANQA1AAKAAIAPwABAAcABQAIAAgAGAAJAAkAAQAKAAsAAwAMABMAAQAUABQAAwAVABoAAQAbABsAGQAcACAAAQAhACgAAwApACoAAQArACsAAwAsACwAAQAtAC0AGgAuAC4AGwAvADMACAA1ADUAHAA3ADgAEAA5ADkAHQA6AEEABABCAEIACQBDAEQAAgBFAEUADgBHAEsAAgBMAEwABwBNAE0ADgBOAE4ACQBPAFMABgBVAFYABgBXAFcACQBYAFgAHgBZAFsACwBcAGMAAgBkAGQACwBlAGUACQBmAGYADgBnAGcACwBoAGgAHwBpAGkACQBqAGoAIABrAG8ADABxAHEAIQBzAHUADwB2AHYAIgB3AHsABwCwALAAEgCyALIAEQCzALQACgC4ALgACgC7ALwAFQC9AL0AEQDAAMAAEgDHAMoADQDLAMsAEwDMAMwAFADNAM0AEwDOAM4AFADPAM8ACgDQANAAFgDRANEAFwDSANIAFgDTANMAFwDUANQACgABAAAACgDGAVAAA0RGTFQAFGN5cmwAFGxhdG4AGAAsAAAAKAAGQVpFIAA4Q0FUIABKQ1JUIABcS0FaIABuVEFUIACAVFJLIACSAAD//wAFAAAAAQACAAMACgAA//8ABgAAAAEAAgADAAQACgAA//8ABgAAAAEAAgADAAUACgAA//8ABgAAAAEAAgADAAYACgAA//8ABgAAAAEAAgADAAcACgAA//8ABgAAAAEAAgADAAgACgAA//8ABgAAAAEAAgADAAkACgALZG5vbQBEZnJhYwBKbGlnYQBUbG51bQBabG9jbABgbG9jbABmbG9jbABsbG9jbABybG9jbAB4bG9jbAB+bnVtcgCEAAAAAQAJAAAAAwAKAAsADAAAAAEADwAAAAEAEAAAAAEABwAAAAEAAAAAAAEABgAAAAEAAwAAAAEABAAAAAEABQAAAAEACAARACQAYgBiAHYAdgB2AHYAdgCsAIoAmACsALoA+AD4ARABVAAGAAAAAgAKACQAAwABABQAAQBCAAEAFAABAAAAAQABAAEAWAADAAEAFAABACgAAQAUAAEAAAACAAEAAQAdAAEAAAABAAgAAQAGABAAAQABALAAAQAAAAEACAABAAYABQABAAEATwABAAAAAQAIAAEA0AAUAAEAAAABAAgAAQAG/+wAAQABAL4AAQAAAAEACAABAK4AHgAGAAAAAgAKACIAAwABABIAAQBCAAAAAQAAAA0AAQABAKoAAwABABIAAQAqAAAAAQAAAA4AAgABAJIAmwAAAAEAAAABAAgAAQAG//YAAgABAJwApQAAAAQAAAABAAgAAQA2AAEACAAFAAwAFAAcACIAKAB4AAMATABPAHkAAwBMAFgAdwACAEwAegACAE8AewACAFgAAQABAEwAAQAAAAEACAABAAYACgACAAEAfgCHAAAAAQABAAgAAgAAABQAAgAAACQAAndnaHQBAAAAaXRhbAETAAEABAAQAAEAAAAAAQYCWAAAAAMAAQACARQAAAAAAAEAAA=="}},"time_used":69,"timings":{"blocked":26,"dns":0,"connect":0,"send":0,"wait":30,"receive":13,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"i.ytimg.com/vi/HPoJhVNSHdk/sddefault.jpg","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/HPoJhVNSHdk","date":"2026-07-27T03:33:52.667Z","timestamp":1785123232667,"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/HPoJhVNSHdk/sddefault.jpg 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\naccess-control-allow-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\ntiming-allow-origin: *\r\ncontent-length: 52637\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Mon, 27 Jul 2026 03:05:45 GMT\r\nexpires: Mon, 27 Jul 2026 05:05:45 GMT\r\ncache-control: public, max-age=7200\r\netag: \"1609634591\"\r\ncontent-type: image/jpeg\r\nage: 1687\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":52637,"size_decoded":53310,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 640x480, components 3","md5":"c56aca39899e9f58d6fe30b8f94afae3","sha1":"8e432b4dab288d77e0f5d1c13f80ae5ff02df681","sha256":"c87a10d5e9c482f2e7d437a84bed0b3b83451bf4978b799997a531a0d23dd2a8","sha512":"da190790d5626e135c214faaacc45ef08cc7c388397d2a29da790ef30720cf9f17d188d2ce50604fab5c210c5b5f0a806d0695408e6479334ffc4e95c6932c1c","ssdeep":"1536:iKeqkjDkjXTiL0ntD2v/O/RTVDM5SHXK3:i6kjIiLU5U/CzM5Sa3","tlshash":"5a33e0539c8cfad8926d82e6bd465cdabd14235ceea40cff99551fc4bca10336e2910b","first_seen":"2026-06-26T06:01:48.569566Z","last_seen":"2026-07-27T05:05:33.558136Z","times_seen":7,"resource_available":false,"data":"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TxPC5l2C+DMNwed9pZFulL/Fv3Z8SrA9KH+Lvuz4lVcaKcsq4pedzR7A8F4bg877SxTdJ3+Lvuv4nWB6TP8AF33X8TqvFFOWWMWvP5o9gngrDcHnfaWEbpLfxf8AdfxOsD0kv4v+6vidV+opVlrGcPmj2DfBGE4HPLtJ/PSQ9wfdXxSsT0jvcH3V8UqAqKd4cxnD6MewTwNhOBzy7SfP1xvuD7q+KUfrjPcH3V8UqA6KPDuN4fRj2B4GwnA55dpPR6RXuD7q+KUfrivcH3V8UqBaKXw7jeH0Y9gvgjCcDnl2k9frivcH3V8Ur4ekT7g+6vilQNRSeHcbw+jHsF8E4Xg88u0ngdIf3B91fFK+frh/cH3V8UqCKKPDuN4fRj2DlkzDrzed9pO364b3D91fFK+N0hPcP3T8VqCqKXw7jeH0Y9g5ZPoLzed9pOR6QPuH7p+K1ief/wBw/dPxWoPopfD+O9J0Y9g7vGjwed9pNp5/PcX3T8VrE8/PuL7p+K1ClFLtgx/pOjH4R6wlJbnOyaTz7+4vun4tWB58/cf3R8WqGaKdtix/pOjH4Ryw9NbnWTGefD3H90fFqwbnt9x/dHxaofopdsmUPSdGHwjlSitwl1uen3J90fF6xPPN7k+H+L1ElFO2zZR9J0YfCPUUSweeT3J8P8XrA88HuX4f4vUVUUq2UZSX9Xow+EdclQ87/uX4f4vXw87vuX4f9BUWUUu2nKfpejD4RyqSRKPz3Pcvw/6Cvh52/cvw/wCgqL6KXbVlP0vRh8IqqyW6Seedn3L8P+gr589gf6r8P+gqMaKNtWU/S9GHwju7z3yT152fcvw/vfSOFHz2fcvw36Cowoo215T9L0YfCKsTUW71EpfPc9y/D/oK+jne9y/D/oPJUWUUm2nKXpejD4Re+qm/zIlYc8HuT7o+L1l8+P3J90H+4qJ6KTbPlL0vRh8Id9Vd/qJaXnl9yfdHxeshzz+4/uj4vUR0Um2bKPpOjD4RO+am/wBRLq89PuP7o+L1kvPX7j+6Pi9RBRSbZcoek6MPhDvmpv8AUTD8+33H90fFqyHPf7j+6Pi1Q5RSbY8oek6MfhE74qb5Mvz8fcX3R8WrIc+nuL7o+LVDFFN2xY/0nRj8IOvN7oUUUVikIUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH/9k="}},"time_used":90,"timings":{"blocked":0,"dns":2,"connect":16,"send":0,"wait":18,"receive":23,"ssl":30},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.google.com/js/th/b8qXrFAu9PHVrGqMZi2nqKm9TUNPrrzEh40PAl-6oVo.js","fqdn":"www.google.com","domain":"google.com","tld":"com"},"ip":{"addr":"142.251.155.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/HPoJhVNSHdk","date":"2026-07-27T03:33:52.909Z","timestamp":1785123232909,"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/b8qXrFAu9PHVrGqMZi2nqKm9TUNPrrzEh40PAl-6oVo.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: 23758\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Thu, 23 Jul 2026 00:07:39 GMT\r\nexpires: Fri, 23 Jul 2027 00:07:39 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: 357973\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":62519,"size_decoded":24569,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (61258)","md5":"443622910d8e7fe75010d4a41f533e07","sha1":"9774250436c6d11ce6978a2f57e620b1b86098c1","sha256":"6fca97ac502ef4f1d5ac6a8c662da7a8a9bd4d434faebcc4878d0f025fbaa15a","sha512":"8ce4ae6fb3b48726d2ac7dd7f8bcfb87df79adfc89c666d8278594d86648345411b78b003967291c4125ebbf78a2af3c7dd7dfdb100899ecea73c8ad8bd8b7a5","ssdeep":"1536:jN7w3cPBzlUowT2cm9iXFHDYzcmNkBfXoLz:RtyokXFHDSH","tlshash":"ce532acf72d2b73559e269e6105f410a62fe940a4c85186fba10f6f42a70d4b903bf7e","first_seen":"2026-07-25T07:02:54.064057Z","last_seen":"2026-07-27T05:15:36.990389Z","times_seen":469,"resource_available":true,"data":"Ly8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb2dNeXdpYzI5MWNtTmxjeUk2V3lJaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lJQ0pkTENKdVlXMWxjeUk2V3lKamJHOXpkWEpsUkhsdVlXMXBZMEoxZEhSdmJpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUVpZlE9PQooZnVuY3Rpb24oKXt2YXIgZD1mdW5jdGlvbihSLGMsRyxCLG0sTixoLFAsayxEKXt7az05ODt3aGlsZShrIT1jKXtpZihrPT02OClyZXR1cm4gRDtpZihrPT04NylrPShHPDwyJjcpPDYmJigoR140MCkmNyk+PTQ/NDA6Njg7ZWxzZSBpZihrPT05OClrPTM3O2Vsc2UgaWYoaz09NDApe2E6e2lmKCEoUD0oaD1tLFopLnRydXN0ZWRUeXBlcyxQKXx8IVAuY3JlYXRlUG9saWN5KXtEPWg7YnJlYWsgYX10cnl7aD1QLmNyZWF0ZVBvbGljeShOLHtjcmVhdGVIVE1MOm4sY3JlYXRlU2NyaXB0Om4sY3JlYXRlU2NyaXB0VVJMOm59KX1jYXRjaChJKXtpZihaLmNvbnNvbGUpWi5jb25zb2xlW0JdKEkubWVzc2FnZSl9RD1ofWs9Njh9ZWxzZSBrPT01Nj8oRD1CLGs9ODcpOms9PTM3JiYoaz0oR14xMyk8MjQmJihHXlIpPj0xOD81Njo4Nyl9fX0sWj10aGlzfHxzZWxmLG49ZnVuY3Rpb24oUil7cmV0dXJuIGQuY2FsbCh0aGlzLDMwLDgwLDMsUil9OygwLGV2YWwpKGZ1bmN0aW9uKFIsYyl7cmV0dXJuKGM9ZCgzMCw4MCwxNCwiZXJyb3IiLG51bGwsImFkIikpJiZSLmV2YWwoYy5jcmVhdGVTY3JpcHQoIjEiKSk9PT0xP2Z1bmN0aW9uKEcpe3JldHVybiBjLmNyZWF0ZVNjcmlwdChHKX06ZnVuY3Rpb24oRyl7cmV0dXJuIiIrR319KFopKEFycmF5KE1hdGgucmFuZG9tKCkqNzgyNHwwKS5qb2luKCJcbiIpK1snLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb2dNeXdpYzI5MWNtTmxjeUk2V3lJaVhTd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2lJQ0pkTENKdVlXMWxjeUk2V3lKamJHOXpkWEpsUkhsdVlXMXBZMEoxZEhSdmJpSmRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRTdRVUZCUVR0QlFVRkJPMEZCUVVFN1FVRkJRVHRCUVVGQk8wRkJRVUVpZlE9PScsCicoZnVuY3Rpb24oKXsvKicsCicnLAonIENvcHlyaWdodCBHb29nbGUgTExDJywKJyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMCcsCicqLycsCid2YXIgY3U9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkKXtmb3IoZD0oUD05OCwxNik7Oyl0cnl7aWYoUD09ODApYnJlYWs7ZWxzZSBpZihQPT0zNylQPSgoR3w2KSY3KT49MyYmKEc+PjImNik8Mz81Njo4NztlbHNlIGlmKFA9PTg3KVA9KEd8OCk9PUc/NDA6Njg7ZWxzZSBpZihQPT03NSlQPTk5O2Vsc2UgaWYoUD09MSlkPTE2LGUoODgsRCxaLFQpLFA9MzI7ZWxzZSBpZihQPT01NilrLnJhdz1SLE9iamVjdC5mcmVlemUmJihPYmplY3QuZnJlZXplKGspLE9iamVjdC5mcmVlemUoUikpLE49ayxQPTg3O2Vsc2UgaWYoUD09NDApUD05OTtlbHNlIGlmKFA9PTYpZD0yMSxuPWtuKEIsayxSLFopLFA9MzI7ZWxzZSBpZihQPT05OClQPTM3O2Vsc2UgaWYoUD09MzkpWi5TPWgsQj1aLlAucG9wKCksUD02O2Vsc2V7aWYoUD09NjgpcmV0dXJuIE47UD09NTE/UD1jJiZaLlM/MTY6NzU6UD09NTI/KE49bixQPTY4KTpQPT0zMj8oZD0xNixQPTUxKTpQPT0xNj8obT1aLlMsbShmdW5jdGlvbigpe1JCKDMxLGZhbHNlLFosUixSKX0pLFA9NTIpOlA9PTk5JiYoUD1aLlAubGVuZ3RoPzM5OjUyKX19Y2F0Y2goSSl7aWYoZD09MTYpdGhyb3cgSTtkPT0yMSYmKFQ9SSxQPTEpfX0sb0I9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQil7Zm9yKG09MTttIT01OTspaWYobT09MjYpbT1SPDwxJms/ODg6OTI7ZWxzZSBpZihtPT0zNyl7YTp7aWYodHlwZW9mIGM9PT0ic3RyaW5nIil7Qj10eXBlb2YgRCE9PSJzdHJpbmcifHxELmxlbmd0aCE9Rz8tMTpjLmluZGV4T2YoRCxoKTticmVhayBhfWZvcihaPWg7WjxjLmxlbmd0aDtaKyspaWYoWiBpbiBjJiZjW1pdPT09RCl7Qj1aO2JyZWFrIGF9Qj0tMX1tPTIzfWVsc2UgaWYobT09NzApdGhpcy5CPUcsbT0yNjtlbHNlIGlmKG09PTc0KVo9dHlwZW9mIGMsbj1aIT1oP1o6Yz9BcnJheS5pc0FycmF5KGMpPyJhcnJheSI6WjoibnVsbCIsQj1uPT1EfHxuPT1oJiZ0eXBlb2YgYy5sZW5ndGg9PUcsbT01NjtlbHNlIGlmKG09PTM2KW09KFJ8NDApPT1SPzc0OjU2O2Vsc2V7aWYobT09ODgpcmV0dXJuIEI7bT09NTY/bT0oUj4+MSZrKT09MT8zNzoyMzptPT02MT8oQj1jdShHLEcsMyksbT0zNik6bT09MjM/bT0oUi01JjMpPT0zPzcwOjI2Om09PTA/bT0oUiY1OSk9PVI/NjE6MzY6bT09OTI/KHRoaXMubisrLGg9Ry10aGlzLmgsdGhpcy5oKz1oL3RoaXMubix0aGlzLmh4Kz1oKihHLXRoaXMuaCksbT04OCk6bT09MSYmKG09MCl9fSxDbj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSl7Zm9yKG49NDc7biE9MjE7KWlmKG49PTQ1KW49KFJeMjIpPj4zPzU3OjY3O2Vsc2UgaWYobj09Njgpbj1SLTQ+PjQ+PTEmJigoUl42OCkmMTYpPDI/MTI6OTI7ZWxzZSBpZihuPT1rKW49KFImOTApPT1SPzMzOjY4O2Vsc2UgaWYobj09NjcpbT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoRyxFUikmJkdbRVJdfHwoR1tFUl09KytIdSksbj01NztlbHNlIGlmKG49PTQ3KW49aztlbHNlIGlmKG49PTMzKW09YSgxOCxudWxsLDgxOTIsRyx0cnVlKSxuPTY4O2Vsc2V7aWYobj09NTcpcmV0dXJuIG07bj09OTI/bj0oUnw0OCk9PVI/ODE6NDU6bj09ODE/KHRoaXNbdGhpcysiIl09dGhpcyxuPTQ1KTpuPT0xMiYmKGM9aCxjXj1jPDwxMyxjPShaPWM+PjE3LChjfDApLShjJlopLSh+Y15aKSsofmN8WikpLChjPShjXmM8PDUpJkQpfHwoYz0xKSxtPShHfDApKyhjfDApLTIqKEcmYyksbj05Mil9fSxySj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCKXtmb3IobT05NTttIT02NTspe2lmKG09PTg3KXJldHVybiBCO2lmKG09PTI4KWhXKDI0LHRydWUsRyksbT0zMTtlbHNlIGlmKG09PTQ2KXthOntmb3IoYyBpbiBoKWlmKEQuY2FsbCh2b2lkIDAsaFtjXSxjLGgpKXtCPVI7YnJlYWsgYX1CPUd9bT04N31lbHNlIGlmKG09PTMxKW09aC5aW0RdLmxlbmd0aD09Uj84OToxMztlbHNlIGlmKG09PTIxKUQ9Ry50eXBlLG09Nzg7ZWxzZSBpZihtPT03MSl0aGlzLmxYPXRoaXMubFgsdGhpcy5nPXRoaXMuZyxtPTU5O2Vsc2UgaWYobT09NiltPShrfDE2KT09az83NTo5NDtlbHNlIGlmKG09PTEzKW09KGs+PjImMTMpPT0xPzcxOjU5O2Vsc2UgaWYobT09NTkpbT0oaz4+MSY3KT09ND83OTo2O2Vsc2UgaWYobT09OTUpbT02MztlbHNlIGlmKG09PTk0KW09KChrXjUyKSYxMyk+PTgmJigoa141MCkmMTQpPDk/NDY6ODc7ZWxzZSBpZihtPT02MyltPWs+PjEmNj8xMzoyMTtlbHNlIGlmKG09PTc4KW09RCBpbiBoLlomJnRXKDcsUixHLGguWltEXSk/Mjg6MTM7ZWxzZSBpZihtPT03OSltPTY7ZWxzZSBpZihtPT03NSl7YTp7Zm9yKG49UjtuPEQubGVuZ3RoOysrbilpZihaPURbbl0sIVouZlgmJloubGlzdGVuZXI9PWMmJlouY2FwdHVyZT09ISFHJiZaLlZuPT1oKXtCPW47YnJlYWsgYX1CPS0xfW09OTR9ZWxzZSBtPT04OSYmKGRlbGV0ZSBoLlpbRF0saC5KeC0tLG09MTMpfX0sdFc9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkKXt7UD05NDt3aGlsZShQIT05KWlmKFA9PTE2KUQ9b0IoMTMsNiwxLFIsRyxoKSwoYz1EPj1SKSYmQXJyYXkucHJvdG90eXBlLnNwbGljZS5jYWxsKGgsRCwxKSxkPWMsUD00NztlbHNle2lmKFA9PTQpcmV0dXJuIGQ7aWYoUD09NTcpbT1aW0JdLFA9NDA7ZWxzZSBpZihQPT01MilQPTM3O2Vsc2UgaWYoUD09NDApUD0hb0IoMTMsNDUsRywib2JqZWN0IiwiYXJyYXkiLG0pfHxOUCg0LCJvYmplY3QiLDE5LG0pJiZtLm5vZGVUeXBlPkQ/OTU6NzU7ZWxzZSBpZihQPT00NylQPShrJjI3KT09az82NTo3MjtlbHNlIGlmKFA9PTkzKUc9UltsOV0sZD1HIGluc3RhbmNlb2Ygak0/RzpudWxsLFA9NDtlbHNlIGlmKFA9PTYyKVA9KGsrOF4yNyk+PWsmJihrLTR8NzUpPGs/Mjk6MTg7ZWxzZSBpZihQPT03NSl7YTp7aWYobSYmdHlwZW9mIG0ubGVuZ3RoPT1HKXtpZihOUCg0LCJvYmplY3QiLDE4LG0pKXtUPXR5cGVvZiBtLml0ZW09PSJmdW5jdGlvbiJ8fHR5cGVvZiBtLml0ZW09PSJzdHJpbmciO2JyZWFrIGF9aWYodHlwZW9mIG09PT0iZnVuY3Rpb24iKXtUPXR5cGVvZiBtLml0ZW09PSJmdW5jdGlvbiI7YnJlYWsgYX19VD1SfVA9KFJCKDMzLEQsaCxUP2hXKDEyLEQsbSk6bSxOKSw2MCl9ZWxzZSBQPT02NT8oTj1mdW5jdGlvbihJKXtJJiZuLmFwcGVuZENoaWxkKHR5cGVvZiBJPT09InN0cmluZyI/Yy5jcmVhdGVUZXh0Tm9kZShJKTpJKX0sQj0xLFA9NTIpOlA9PTYwPyhCKyssUD0zNyk6UD09OTQ/UD0xMjpQPT05OT8oYUIuY2FsbCh0aGlzLFI/Ui50eXBlOiIiKSx0aGlzLnJlbGF0ZWRUYXJnZXQ9dGhpcy5jdXJyZW50VGFyZ2V0PXRoaXMudGFyZ2V0PW51bGwsdGhpcy5idXR0b249dGhpcy5zY3JlZW5ZPXRoaXMuc2NyZWVuWD10aGlzLmNsaWVudFk9dGhpcy5jbGllbnRYPXRoaXMub2Zmc2V0WT10aGlzLm9mZnNldFg9MCx0aGlzLmtleT0iIix0aGlzLmNoYXJDb2RlPXRoaXMua2V5Q29kZT0wLHRoaXMubWV0YUtleT10aGlzLnNoaWZ0S2V5PXRoaXMuYWx0S2V5PXRoaXMuY3RybEtleT1mYWxzZSx0aGlzLnN0YXRlPW51bGwsdGhpcy5wb2ludGVySWQ9MCx0aGlzLnBvaW50ZXJUeXBlPSIiLHRoaXMudGltZVN0YW1wPTAsdGhpcy5ZTj1udWxsLFImJnRoaXMuaW5pdChSLEcpLFA9NjIpOlA9PTcyP1A9KGs+PjEmMjMpPT0yPzkzOjQ6UD09MTI/UD1rKzYmMTM/NjI6OTk6UD09Mjk/KGQ9eWZbR10oeWYucHJvdG90eXBlLHtwYXJlbnQ6UixsZW5ndGg6UixzdGFjazpSLHBvcDpSLHByb3RvdHlwZTpSLHByb3BlcnR5SXNFbnVtZXJhYmxlOlIsZG9jdW1lbnQ6UixzcGxpY2U6UixjYWxsOlIscmVwbGFjZTpSLGNvbnNvbGU6UixmbG9vcjpSfSksUD0xOCk6UD09Mzc/UD1CPFoubGVuZ3RoPzU3OjcyOlA9PTk1PyhOKG0pLFA9NjApOlA9PTE4JiYoUD1rPj4xPDkmJihrXjgwKT4+Mz49Mj8xNjo0Nyl9fX0sTVA9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixUKXt7Qj00Nzt3aGlsZShCIT0zNCl7aWYoQj09OTIpdGhyb3cgbmV3IFNNKHR5cGVvZiBHLDEpO2lmKEI9PTk2KVIuc2FuZGJveC5zdXBwb3J0cyYmIVIuc2FuZGJveC5zdXBwb3J0cyhEW2NdKXx8Ui5zYW5kYm94LmFkZChEW2NdKSxCPTc5O2Vsc2UgaWYoQj09NTYpQj0oays4JjU5KTxrJiYoays2XjUpPj1rPzMyOjgzO2Vsc2UgaWYoQj09NSlCPW48Ui5sZW5ndGg/MTg6NDk7ZWxzZSBpZihCPT02NylCPUcgaW5zdGFuY2VvZiBYMT83NTo5MjtlbHNlIGlmKEI9PTMwKXtpZihHIGluc3RhbmNlb2YgWDEpaD1HLktqO2Vsc2UgdGhyb3cgRXJyb3IoIiIpO1Iuc3JjPWgudG9TdHJpbmcoKSxCPTUxfWVsc2UgaWYoQj09MjUpQj02MjtlbHNlIGlmKEI9PTQ3KUI9NTY7ZWxzZSBpZihCPT00NSlUPSEhKGg9Ry5PMiwtMip+KGgmUikrfmgrKGheUikrKGh8flIpKSxCPTY7ZWxzZSBpZihCPT03OSljKyssQj02MjtlbHNlIGlmKEI9PTc1KUQ9ImFsbG93LXNhbWUtb3JpZ2luIGFsbG93LXNjcmlwdHMgYWxsb3ctZm9ybXMgYWxsb3ctcG9wdXBzIGFsbG93LXBvcHVwcy10by1lc2NhcGUtc2FuZGJveCBhbGxvdy1zdG9yYWdlLWFjY2Vzcy1ieS11c2VyLWFjdGl2YXRpb24iLnNwbGl0KCIgIiksUi5zZXRBdHRyaWJ1dGUoInNhbmRib3giLCIiKSxjPTAsQj0yNTtlbHNlIGlmKEI9PTgzKUI9ay01PDE1JiYoa142OSk+PjQ+PTI/NDU6NjtlbHNlIGlmKEI9PTUzKUI9NzY7ZWxzZXtpZihCPT01MSlyZXR1cm4gVDtCPT01Mj9CPTE2OkI9PTcyP0I9NTpCPT02Mj9CPWM8RC5sZW5ndGg/OTY6MzA6Qj09Nzc/KFIucmVtb3ZlQXR0cmlidXRlKCJzcmNkb2MiKSxCPTY3KTpCPT00PyhuKyssQj01KTpCPT0xNj9CPWg+Nz8yNzo0OkI9PTE4PyhoKz1HLEQ9KG09RDw8RyxjPVJbbl0sMiooY3wwKSt+Yy0ofm18YykpLEI9NTIpOkI9PTQ5PyhUPVosQj04Myk6Qj09Nj9CPShrKzUmNyk9PTE/NTM6NzY6Qj09MTM/Qj0xNjpCPT0zMj8oaD1uPTAsWj1bXSxCPTcyKTpCPT0yNz8oaC09OCxaLnB1c2goRD4+aCYyNTUpLEI9MTMpOkI9PTc2JiYoQj0oaysxJjExKT09Mz83Nzo1MSl9fX19LGhXPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbil7Zm9yKFo9NTtaIT05NjspaWYoWj09OTEpe2E6e2lmKChEPUcubGVuZ3RoLEQpPlIpe2ZvcihjPShoPUFycmF5KEQpLFIpO2M8RDtjKyspaFtjXT1HW2NdO249aDticmVhayBhfW49W119Wj05OX1lbHNlIGlmKFo9PTQwKW49TWF0aC5mbG9vcih0aGlzLkooKSksWj01NztlbHNlIGlmKFo9PTEwKVo9ay00Pj4zPT0xPzkxOjk5O2Vsc2UgaWYoWj09NDIpUi5uWD1mdW5jdGlvbigpe3JldHVybiBSLlh6P1IuWHo6Ui5Yej1uZXcgUn0sUi5Yej12b2lkIDAsWj0xMDtlbHNlIGlmKFo9PTIpRy5mWD1SLEcubGlzdGVuZXI9bnVsbCxHLnByb3h5PW51bGwsRy5zcmM9bnVsbCxHLlZuPW51bGwsWj01OTtlbHNlIGlmKFo9PTg1KVo9KGt8NTYpPT1rPzQwOjU3O2Vsc2UgaWYoWj09NTcpWj0oaysxJjI4KT49ayYmKGstMV43KTxrPzI6NTk7ZWxzZSBpZihaPT01OSlaPShrfDcyKT09az80MjoxMDtlbHNlIGlmKFo9PTUpWj04NTtlbHNlIGlmKFo9PTk5KXJldHVybiBufSxUbz1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTil7e1Q9NTc7d2hpbGUoVCE9NTkpaWYoVD09aylEWi5jYWxsKHRoaXMpLFJ8fFpafHwoWlo9bmV3IG5uKSx0aGlzLlFuPXRoaXMuQT1udWxsLHRoaXMuWGk9dGhpcy5qbT1mYWxzZSx0aGlzLnMyPXZvaWQgMCx0aGlzLktYPXRoaXMuWjc9dGhpcy5jVj1udWxsLFQ9Njk7ZWxzZSBpZihUPT03NSlUPTQ7ZWxzZXtpZihUPT01MSlyZXR1cm4gTjtUPT00P1Q9QjxtLmxlbmd0aD81Mjo1MTpUPT04OT9UPShHLTVeMzIpPj1HJiYoRy00fDE2KTxHP2s6Njk6VD09MTM/KG49QnUoMyxuKSxaJiZaW2RKXT9aLkkuYWRkKFN0cmluZyhtKSxuLGgsTlAoNCxSLDE2LGMpPyEhYy5jYXB0dXJlOiEhYyxEKTpJQig2NCwib2JqZWN0IixmYWxzZSxuLGgsbSxaLGMsRCksVD01MSk6VD09OTA/KEI9MCxUPTc1KTpUPT01P1Q9QXJyYXkuaXNBcnJheShtKT85MDoxMzpUPT01Nz9UPTg5OlQ9PTE/KEIrKyxUPTQpOlQ9PTY5P1Q9Ry05Pj40PzUxOjU6VD09NTImJihUbyg1NCwib2JqZWN0Iiw5LHRydWUsRCxjLFosbixtW0JdKSxUPTEpfX19LGU9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuKXt7bj0yMTt3aGlsZShuIT02NylpZihuPT0yMSluPTUwO2Vsc2UgaWYobj09MTkpbj0oKGteNTApJjI2KTw3JiYoa143OSk+PTI3Pzk2Ojg3O2Vsc2UgaWYobj09MjkpdHlwZW9mIGguY2xhc3NOYW1lPT1SP2guY2xhc3NOYW1lPUc6aC5zZXRBdHRyaWJ1dGUmJmguc2V0QXR0cmlidXRlKCJjbGFzcyIsRyksbj04OTtlbHNlIGlmKG49PTMpYz1HLHNSPT09dm9pZCAwJiYoc1I9UiksRD0oaD1zUik/aC5jcmVhdGVTY3JpcHRVUkwoYyk6YyxaPW5ldyBYMShEKSxuPTE5O2Vsc2UgaWYobj09NTApbj1rLTE+PjQ+PTEmJihrPj4xJjEyKTwyPzM6MTk7ZWxzZSBpZihuPT0yMClHLks9KChHLks/Ry5LKyJ+IjoiRToiKStoLm1lc3NhZ2UrUitoLnN0YWNrKS5zbGljZSgwLDIwNDgpLG49MTU7ZWxzZSBpZihuPT05NiluPTg3O2Vsc2UgaWYobj09OTIpWj1vQigxMyw3LDEsUixHLGgpPj1SLG49NjI7ZWxzZSBpZihuPT04NyluPShrfDMpPj40PDImJms+PjE+PS02Nj8yOTo4OTtlbHNlIGlmKG49PTYyKW49KGt8MjQpPT1rPzIwOjE1O2Vsc2UgaWYobj09ODkpbj0oays1JjgpPDgmJihrXjkzKT4+Mz49MT85Mjo2MjtlbHNlIGlmKG49PTE1KXJldHVybiBafX0sQVc9ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7Zm9yKGM9aztjIT00MDspe2lmKGM9PTM3KXJldHVybiBaO2lmKGM9PTY3KWM9Ry05PDwyPj1HJiYoRyszXjUpPEc/NTM6Mzc7ZWxzZSBpZihjPT04KXRoaXMudHlwZT1SLHRoaXMuY3VycmVudFRhcmdldD10aGlzLnRhcmdldD1oLHRoaXMuZGVmYXVsdFByZXZlbnRlZD10aGlzLlB0PWZhbHNlLGM9MjM7ZWxzZSBpZihjPT01KWM9KEcrNSYxNCk9PTI/ODY6Njc7ZWxzZSBpZihjPT0xMyl7YTp7aWYoIShEPW51bGwsaD1ILnRydXN0ZWRUeXBlcyxoKXx8IWguY3JlYXRlUG9saWN5KXtaPUQ7YnJlYWsgYX10cnl7RD1oLmNyZWF0ZVBvbGljeShSLHtjcmVhdGVIVE1MOnBuLGNyZWF0ZVNjcmlwdDpwbixjcmVhdGVTY3JpcHRVUkw6cG59KX1jYXRjaChuKXtILmNvbnNvbGUmJkguY29uc29sZS5lcnJvcihuLm1lc3NhZ2UpfVo9RH1jPTV9ZWxzZSBjPT04Nj8oYjkuY2FsbCh0aGlzLFIsaHx8UWYublgoKSxEKSxjPTY3KTpjPT0zOT9jPShHJjc5KT09Rz84OjIzOmM9PWs/Yz0zOTpjPT01Mz8oWj10eXBlb2YgRC5jbGFzc05hbWU9PSJzdHJpbmciP0QuY2xhc3NOYW1lOkQuZ2V0QXR0cmlidXRlJiZELmdldEF0dHJpYnV0ZShSKXx8aCxjPTM3KTpjPT0yMyYmKGM9KEc8PDEmMTYpPDE2JiYoR141OSk+PjM+PTI/MTM6NSl9fSxLbj1mdW5jdGlvbihrLFIsRyxoLEQsYyl7Zm9yKGM9Njc7YyE9Njk7KWlmKGM9PTU3KXRoaXMuc3JjPWgsdGhpcy5KeD1rLHRoaXMuWj17fSxjPTE3O2Vsc2V7aWYoYz09MTcpcmV0dXJuIEQ7Yz09Njc/Yz03NzpjPT0zMj9jPUc8PDImNT8xNzo1NzpjPT03Nz9jPShHPj4yJjMpPT1SPzM2OjMyOmM9PTM2JiYoV3UuY2FsbCh0aGlzKSx0aGlzLkk9bmV3IGpNKHRoaXMpLHRoaXMubHE9dGhpcyx0aGlzLk5vPW51bGwsYz0zMil9fSxJQj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTixQLGQsSSl7Zm9yKEk9MTc7SSE9NTE7KWlmKEk9PTY3KVouYWRkTGlzdGVuZXIoQiksST0wO2Vsc2UgaWYoST09MTcpST01MztlbHNlIGlmKEk9PTE5KUk9KGteNzQpPj40PzYxOjM3O2Vsc2UgaWYoST09MTEpST1aLmF0dGFjaEV2ZW50PzU0OjMyO2Vsc2V7aWYoST09Nyl0aHJvdyBFcnJvcigiSW52YWxpZCBldmVudCB0eXBlIik7aWYoST09NzQpZm58fChuPVQpLG49PT12b2lkIDAmJihuPUcpLFouYWRkRXZlbnRMaXN0ZW5lcihjLnRvU3RyaW5nKCksQixuKSxJPTA7ZWxzZSBpZihJPT00OSlJPShrJjQ2KT09az85MzoxOTtlbHNlIGlmKEk9PTYxKUk9KGt8MjQpPT1rPzgwOjg2O2Vsc2UgaWYoST09MzcpST1jPzU1Ojc7ZWxzZSBpZihJPT04MClkPVIsST04NjtlbHNlIGlmKEk9PTg5KUk9Wi5hZGRFdmVudExpc3RlbmVyPzc0OjExO2Vsc2UgaWYoST09OTMpZD0hIShHLnJiJkQpJiZNUCg4LEQsRykhPWgmJighKGM9Ry5pcSwtMS1+KGN8RCktKGNeRCkpfHxHLmRpc3BhdGNoRXZlbnQodnUoNTYsUixELDIsNjQsOCxoLDI0KSkpJiYhRy5nLEk9MTk7ZWxzZSBpZihJPT04NSlkPXFQKFZmLFIpLEk9NDk7ZWxzZSBpZihJPT01NSlUPU5QKDQsUiwyMSxuKT8hIW4uY2FwdHVyZTohIW4sKFA9dFcoMjAsWikpfHwoWltsOV09UD1uZXcgak0oWikpLE49UC5hZGQoYyxoLEQsVCxtKSxJPTk3O2Vsc2V7aWYoST09MzYpdGhyb3cgRXJyb3IoImFkZEV2ZW50TGlzdGVuZXIgYW5kIGF0dGFjaEV2ZW50IGFyZSB1bmF2YWlsYWJsZS4iKTtpZihJPT0wKWk5KyssST02MTtlbHNlIGlmKEk9PTUzKUk9KGstOXw4NCk8ayYmKGsrNV4zKT49az8xMDozNDtlbHNlIGlmKEk9PTU0KVouYXR0YWNoRXZlbnQoTG4oMywib24iLGMudG9TdHJpbmcoKSw0OCksQiksST0wO2Vsc2V7aWYoST09ODYpcmV0dXJuIGQ7ST09MzI/ST1aLmFkZExpc3RlbmVyJiZaLnJlbW92ZUxpc3RlbmVyPzY3OjM2Okk9PTEwPyhSLlFuJiZSLlFuLmZvckVhY2goRyx2b2lkIDApLEk9MzQpOkk9PTU5PyhCPUYxKDk0LCJvbiIsMyksTi5wcm94eT1CLEIuc3JjPVosQi5saXN0ZW5lcj1OLEk9ODkpOkk9PTk3P0k9Ti5wcm94eT82MTo1OTpJPT0zNCYmKEk9KGs8PDImMTMpPT00Pzg1OjQ5KX19fX0sZj1mdW5jdGlvbihrLFIsRyxoLEQsYyl7e0Q9MzA7d2hpbGUoRCE9NzkpaWYoRD09OTQpRD0oa3w3KT4+Mz84ODo1MTtlbHNlIGlmKEQ9PTUxKXRoaXMuTW89SC5kb2N1bWVudHx8ZG9jdW1lbnQsRD04ODtlbHNlIGlmKEQ9PTg4KUQ9ay0yPDwyPj1rJiYoays0XjI5KTxrPzYyOjYzO2Vsc2UgaWYoRD09MzApRD05NDtlbHNlIGlmKEQ9PTYyKUMoRyxSLGgpLFJbeG5dPTI3OTYsRD02MztlbHNlIGlmKEQ9PTYzKXJldHVybiBjfX0sT1I9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCl7e1Q9NTI7d2hpbGUoVCE9OTYpaWYoVD09NTApVD1jPT09IiJ8fGM9PXZvaWQgMD83NTo2NjtlbHNlIGlmKFQ9PTgxKVQ9Ui0yPj0xMCYmUis2PDI2PzU6ODY7ZWxzZSBpZihUPT02MilUPShSJjcwKT09Uj8yNDo3NDtlbHNlIGlmKFQ9PTc0KVQ9KFImNDUpPT1SPzE0OjExO2Vsc2UgaWYoVD09MjQpUD1mdW5jdGlvbigpe30sRD12b2lkIDAsYz1nSihHLGZ1bmN0aW9uKGQsSSl7Zm9yKEk9MTU7SSE9NjQ7KUk9PTE1P0k9UD82Nzo2NDpJPT02NyYmKGgmJnU5KGgpLEQ9ZCxQKCksUD12b2lkIDAsST02NCl9LCEhaCksWj1jWzBdLG49Y1sxXSxOPXtob3Q6ZnVuY3Rpb24oZCxJLFMsWCxNLHIsbCl7Zm9yKHI9NDc7ciE9MjU7KXtpZihyPT0xMylyZXR1cm4gTT1aKFMpLGQmJmQoTSksTTtyPT01MD8obCgpLHI9MjUpOnI9PTg0P3I9ST8zOToxMzpyPT1rPyhYPVAsUD1mdW5jdGlvbigpe1goKSx1OShsKX0scj0yNSk6cj09Mzk/cj1EPzUwOms6cj09NDcmJihsPWZ1bmN0aW9uKCl7RChmdW5jdGlvbih3KXt1OShmdW5jdGlvbigpe2Qodyl9KX0sUyl9LHI9ODQpfX0scGU6ZnVuY3Rpb24oZCl7biYmbihkKX19LFQ9NzQ7ZWxzZSBpZihUPT02NilELnNldEF0dHJpYnV0ZShtLGMpLFQ9MTE7ZWxzZSBpZihUPT01MilUPTgxO2Vsc2V7aWYoVD09MTEpcmV0dXJuIE47VD09ODY/VD0oUnw3Mik9PVI/OTI6NjI6VD09MTQ/KEFycmF5LmlzQXJyYXkoYykmJihjPWMuam9pbigiICIpKSxtPSJhcmlhLSIrWixUPTUwKTpUPT01Pyh0aGlzW3RoaXMrIiJdPXRoaXMsTj1Qcm9taXNlLnJlc29sdmUoKSxUPTg2KTpUPT05Mj8oRD1HLE49ZnVuY3Rpb24oKXtyZXR1cm4gRDxoLmxlbmd0aD97ZG9uZTpmYWxzZSx2YWx1ZTpoW0QrK119Ontkb25lOnRydWV9fSxUPTYyKTpUPT0yMj8oQj1VUixaIGluIEI/RC5zZXRBdHRyaWJ1dGUobSxCW1pdKTpELnJlbW92ZUF0dHJpYnV0ZShtKSxUPTExKTpUPT02Nz8obj17fSxVUj0obi5hdG9taWM9RyxuLmF1dG9jb21wbGV0ZT0ibm9uZSIsbi5kcm9wZWZmZWN0PSJub25lIixuLmhhc3BvcHVwPUcsbi5saXZlPSJvZmYiLG4ubXVsdGlsaW5lPUcsbi5tdWx0aXNlbGVjdGFibGU9RyxuLm9yaWVudGF0aW9uPSJ2ZXJ0aWNhbCIsbi5yZWFkb25seT1HLG4ucmVsZXZhbnQ9ImFkZGl0aW9ucyB0ZXh0IixuLnJlcXVpcmVkPUcsbi5zb3J0PSJub25lIixuLmJ1c3k9RyxuLmRpc2FibGVkPUcsbltoXT1HLG4uaW52YWxpZD0iZmFsc2UiLG4pLFQ9MjIpOlQ9PTc1JiYoVD1VUj8yMjo2Nyl9fX0sem89ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7e2M9Mzt3aGlsZShjIT01NilpZihjPT02OCljPShHJjEwMyk9PUc/azpSO2Vsc2V7aWYoYz09UilyZXR1cm4gWjtjPT0zNj8oaC5jbGFzc0xpc3Q/QXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChELGZ1bmN0aW9uKG4pe0pXKDM1LDcsImNsYXNzIiwyMCwiICIsInN0cmluZyIsMCxoLG4pfSk6ZSgzLCJzdHJpbmciLEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChCdSgzNCwiY2xhc3MiLGgpLGZ1bmN0aW9uKG4pe3JldHVybiFlKDQ0LDAsbixEKX0pLmpvaW4oIiAiKSxoKSxjPTY4KTpjPT1rPyhaPXRoaXMubj09PTA/MDpNYXRoLnNxcnQodGhpcy5oeC90aGlzLm4pLGM9Uik6Yz09Mz9jPTY6Yz09NiYmKGM9KEd8MjQpPT1HPzM2OjY4KX19fSxxPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtKXt3aGlsZShrLTM+PjQ9PTQpe2E6e2ZvcigwO1IuVjswKXttPWtmKFIsUi5HKTticmVhayBhO2lmKDEpYnJlYWt9KGg9R04oOCxSLHRydWUpLGgmMTI4KSYmKGhePTEyOCxEPUdOKDIsUix0cnVlKSxoPShHPWg8PDIsKEcmRCktMS1+KEd8RCkpKSxtPWh9aWYoImoiKWJyZWFrfXdoaWxlKCgoa14yMSkmMjMpPT00KXthOntpZihSLlYpe209a2YoUixSLkcpO2JyZWFrIGF9aD1HTig4LFIsdHJ1ZSksaCYxMjgmJihoXj0xMjgsRz1HTigyLFIsdHJ1ZSksaD0oRD1oPDwyLChEJkcpLTEtfihEfEcpKSksbT1ofWlmKHRydWUpYnJlYWt9cmV0dXJuKCgoa14oKChrXjM4KSYxNSk+PTkmJmstNDwxOSYmKGg9UnYoRyksaCYxMjgmJihoPS1+KGgmMTI3KSsofmgmMTI3KSsoaHwtMTI4KXxSdihHKTw8UiksbT1oKSw3MCkpJjE1KT09MyYmKGg9eWZbRy5SXShHLnZWKSxoW0cuUl09ZnVuY3Rpb24oKXt3aGlsZSh0cnVlKXtyZXR1cm4gUjtpZih0cnVlIT1bXSlicmVha319LGguY29uY2F0PWZ1bmN0aW9uKEIpe1I9Qn0sbT1oKSwoKGteNTEpJjE1KT09MSkmJihtPShaPShjPWhbR108PDI0LEQ9aFsoR3wwKSsxXTw8MTYsKGN8MCkrKGNeRCkrKH5jXkQpLShjfH5EKSksbj1oWyhHfDApKzJdPDxSLC0obnwwKSsyKihaJm4pKyhaXm4pKyh+WiZuKSl8aFsoR3wwKSszXSksbX0sUkI9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCl7Zm9yKFA9Njk7UCE9MDspaWYoUD09NTMpbj1oLmxlbmd0aCxaPXR5cGVvZiBoPT09InN0cmluZyI/aC5zcGxpdChHKTpoLGM9UixQPTI7ZWxzZSBpZihQPT0xMilQPWstMT4+Mz09Mz85MDo1MTtlbHNlIGlmKFA9PTQ5KVA9NDc7ZWxzZSBpZihQPT0yKVA9OTQ7ZWxzZSBpZihQPT04MSlQPShrKzdeMjEpPj1rJiZrLTc8PDE8az80MTo3MjtlbHNlIGlmKFA9PTExKUQ9bj0wLFA9NDk7ZWxzZSBpZihQPT04MilEKyssUD00NztlbHNlIGlmKFA9PTk2KU49TWF0aC5mbG9vcih0aGlzLlRmKyh0aGlzLkooKS10aGlzLmtOKSksUD04MTtlbHNlIGlmKFA9PTY5KVA9NTc7ZWxzZSBpZihQPT00MiljIGluIFomJkQuY2FsbCh2b2lkIDAsWltjXSxjLGgpLFA9ODc7ZWxzZSBpZihQPT05NClQPWM8bj80MjoxMjtlbHNlIGlmKFA9PTkwKXthOmlmKEcuUC5sZW5ndGgpeyhHLm8mJiI6VFFSOlRRUjoiKCksRykuRTk9RCxHLm89dHJ1ZTt0cnl7Wj1HLkooKSxHLkUyPTAsRy5vbz0wLEcuY3Q9WixHLmtOPVosYz1jdSgyLHRydWUsMjQsbnVsbCwiOiIsRCxHKSxtPWg/MDoxMCxuPUcuSigpLUcua04sRy5UZis9bixHLkJWJiZHLkJWKG4tRy5YLEcudSxHLlcsRy5FMiksRy51PVIsRy5YPTAsRy5XPVIsbjxtfHxHLnM5LS08PTB8fChuPU1hdGguZmxvb3IobiksRy51WC5wdXNoKG48PTI1ND9uOjI1NCkpfWZpbmFsbHl7Ry5vPVJ9Tj1jO2JyZWFrIGF9UD01MX1lbHNlIGlmKFA9PTg3KWMrKyxQPTk0O2Vsc2UgaWYoUD09NTcpUD0oaysxJjYzKTxrJiYoay0yfDcwKT49az85Njo4MTtlbHNlIGlmKFA9PTU5KW4rPVIuY2hhckNvZGVBdChEKSxuKz1uPDwxMCxuPShjPW4+PjYsKG58YykrfmMtKG58fmMpKSxQPTgyO2Vsc2UgaWYoUD09NDEpe2E6e2lmKHRoaXMubj09PTApe049WzAsMF07YnJlYWsgYX1OPSh0aGlzLlQuc29ydChmdW5jdGlvbihkLEkpe3JldHVybiBkLUl9KSxbdGhpcy5uLHRoaXMuVFt0aGlzLlQubGVuZ3RoPj4xXV0pfVA9NzJ9ZWxzZSBpZihQPT03MilQPShrKzdeMTIpPGsmJmstNjw8MT49az8xMTo3MDtlbHNlIGlmKFA9PTIwKW4rPW48PDMsbl49bj4+MTEsWj1uKyhuPDwxNSk+Pj4wLG09bmV3IE51bWJlcigoQj0oVD0xPDxHLChUfDEpLShUJjEpLTIqKH5UJjEpKSwoWnwwKSsoQnwwKS0oWnxCKSkpLG1bMF09KFo+Pj5HKSVoLE49bSxQPTcwO2Vsc2V7aWYoUD09NTEpcmV0dXJuIE47UD09NDc/UD1EPFIubGVuZ3RoPzU5OjIwOlA9PTcwJiYoUD0oa3wzMik9PWs/NTM6MTIpfX0sYT1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQpe2ZvcihCPTgzO0IhPTg2Oyl7aWYoQj09ODIpcmV0dXJuIFQ7aWYoQj09NjApQj0oayYxMTQpPT1rPzMyOjgyO2Vsc2V7aWYoQj09MTcpdGhyb3cgRXJyb3IoIkludmFsaWQgY2xhc3MgbmFtZSAiK0cpO2lmKEI9PTU2KXRocm93IEVycm9yKCJJbnZhbGlkIGRlY29yYXRvciBmdW5jdGlvbiAiK1IpO2lmKEI9PTEwKUcuUC5zcGxpY2UoMCwwLFIpLEI9MzM7ZWxzZSBpZihCPT04MylCPTM7ZWxzZSBpZihCPT0xMilCPUc/NTA6MTc7ZWxzZSBpZihCPT0zKUI9KGt8NDApPT1rPzEwOjMzO2Vsc2UgaWYoQj09NTApQj10eXBlb2YgUiE9PSJmdW5jdGlvbiI/NTY6NjA7ZWxzZSBpZihCPT0zMil7YTppZihjPXdpbmRvdy5idG9hKXtmb3IoWj0wLG49IiI7WjxoLmxlbmd0aDtaKz1HKW4rPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoUixoLnNsaWNlKFosWitHKSk7VD0obT1jKG4pLEQmJihtPW0ucmVwbGFjZSgvXFwrL2csIi0iKS5yZXBsYWNlKC9cXC8vZywiXyIpLnJlcGxhY2UoLz0vZywiIikpLG0pO2JyZWFrIGF9Qj04Mn1lbHNlIEI9PTMzJiYoQj0oaz4+MiY3KT09MT8xMjo2MCl9fX0sQlk9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkKXtmb3IoZD02OTtkIT0yMjspaWYoZD09NTUpREQuY2FsbCh0aGlzLGgpLGQ9NjE7ZWxzZSBpZihkPT05OClQPShUPVpEW2suc3Vic3RyaW5nKDAsMykrIl8iXSk/VChrLnN1YnN0cmluZygzKSxHLGgsRCxjLFosbixtLEIpOkpXKDM1LDcsRyw1LGspLGQ9Mjc7ZWxzZSBpZihkPT0zMilkPWM/NzQ6MTY7ZWxzZSBpZihkPT02OSlkPTk7ZWxzZSBpZihkPT0xNiltPW4/dHlwZW9mIG4ublg9PT0iZnVuY3Rpb24iP24ublgoKTpuZXcgbjpudWxsLGQ9NTc7ZWxzZSBpZihkPT0yMClkPTMyO2Vsc2UgaWYoZD09NTcpdGhpcy5DPW0sZD00MTtlbHNlIGlmKGQ9PTk3KWQ9KG49bnJbWl0pPzcxOjI2O2Vsc2UgaWYoZD09NzUpYz10aGlzLmNvbnN0cnVjdG9yLGQ9MTE7ZWxzZSBpZihkPT04NylOPWZ1bmN0aW9uKCl7fSxOLnByb3RvdHlwZT1oLnByb3RvdHlwZSxHLk89aC5wcm90b3R5cGUsRy5wcm90b3R5cGU9bmV3IE4sRy5wcm90b3R5cGUuY29uc3RydWN0b3I9RyxHLmN3PWZ1bmN0aW9uKEksUyxYKXtmb3IodmFyIE09MTk7TSE9MjU7KWlmKE09PTE5KXZhciByPUFycmF5KChNPTEsYXJndW1lbnRzLmxlbmd0aC1rKSksbD1rO2Vsc2UgaWYoTT09MilyW2wta109YXJndW1lbnRzW2xdLE09NDE7ZWxzZXtpZihNPT01MilyZXR1cm4gaC5wcm90b3R5cGVbU10uYXBwbHkoSSxyKTtNPT00MT8obCsrLE09NTMpOk09PTUzP009bDxhcmd1bWVudHMubGVuZ3RoPzI6NTI6TT09MSYmKE09NTMpfX0sZD03O2Vsc2UgaWYoZD09MjYpYz0oRD1PYmplY3QuZ2V0UHJvdG90eXBlT2YoYy5wcm90b3R5cGUpKSYmRC5jb25zdHJ1Y3RvcixkPTIwO2Vsc2UgaWYoZD09MjcpZD0oUis1JjcpPj01JiZSPj4xPDE1PzU1OjQxO2Vsc2UgaWYoZD09NjEpZD0obT1HKT81Nzo3NTtlbHNlIGlmKGQ9PTQxKWQ9KFJ8NDApPT1SPzg3Ojc7ZWxzZSBpZihkPT05KWQ9Uis0Pj4zPT0yPzk4OjI3O2Vsc2UgaWYoZD09NylkPShSfDcyKT09Uj85OTo3MztlbHNlIGlmKGQ9PTk5KVA9YSgxNixudWxsLDgxOTIsayxmYWxzZSksZD03MztlbHNle2lmKGQ9PTczKXJldHVybiBQO2Q9PTc0PyhaPUNuKDY0LDE5LGMpLGQ9OTcpOmQ9PTcxP2Q9MTY6ZD09MTEmJihkPTMyKX19LFBZPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIsVCxOLFAsZCl7e2Q9NTU7d2hpbGUoZCE9NSlpZihkPT04NylkPTQxO2Vsc2UgaWYoZD09NTUpZD01NztlbHNlIGlmKGQ9PTQ1KXthOntpZighKFo9Ry5JLlpbU3RyaW5nKGgpXSxaKSl7UD10cnVlO2JyZWFrIGF9Zm9yKG49KFo9Wi5jb25jYXQoKSxOPXRydWUsUik7bjxaLmxlbmd0aDsrK24pKFQ9WltuXSkmJiFULmZYJiZULmNhcHR1cmU9PUQmJihCPVQuVm58fFQuc3JjLG09VC5saXN0ZW5lcixULmFvJiZySigzLFIsVCxHLkkpLE49bS5jYWxsKEIsYykhPT1mYWxzZSYmTik7UD1OJiYhYy5kZWZhdWx0UHJldmVudGVkfWQ9Mzd9ZWxzZSBpZihkPT0zNylkPWs8PDE+PTI1JiYoa3wxKT4+NTwyPzg3OjQxO2Vsc2V7aWYoZD09NDEpcmV0dXJuIFA7ZD09NTcmJihkPShrKzJeMjQpPj1rJiZrKzM+PjI8az80NTozNyl9fX0sdnU9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4pe2ZvcihUPTQ7VCE9Njc7KWlmKFQ9PTkzKVQ9KG58OSk+PjQ/NDc6aztlbHNlIGlmKFQ9PTU1KVRvKDU0LCJvYmplY3QiLDEwLGMsbSxoLEQsRyxaKSxUPTQ3O2Vsc2UgaWYoVD09ODEpe2E6e3N3aXRjaChHKXtjYXNlIDE6Tj1aPyJkaXNhYmxlIjoiZW5hYmxlIjticmVhayBhO2Nhc2UgaDpOPVo/ImhpZ2hsaWdodCI6InVuaGlnaGxpZ2h0IjticmVhayBhO2Nhc2UgUjpOPVo/ImFjdGl2YXRlIjoiZGVhY3RpdmF0ZSI7YnJlYWsgYTtjYXNlIGM6Tj1aPyJzZWxlY3QiOiJ1bnNlbGVjdCI7YnJlYWsgYTtjYXNlIDE2Ok49Wj8iY2hlY2siOiJ1bmNoZWNrIjticmVhayBhO2Nhc2UgMzI6Tj1aPyJmb2N1cyI6ImJsdXIiO2JyZWFrIGE7Y2FzZSBEOk49Wj8ib3BlbiI6ImNsb3NlIjticmVhayBhfXRocm93IEVycm9yKCJJbnZhbGlkIGNvbXBvbmVudCBzdGF0ZSIpO31UPTczfWVsc2UgaWYoVD09NTQpVD03NDtlbHNlIGlmKFQ9PTQ3KVQ9KChuXjEyKSY4KTw0JiYobnwyKT49LTMxPzgxOjczO2Vsc2V7aWYoVD09NzMpcmV0dXJuIE47VD09MD8oRz1CdSg2LEcpLEQmJkRbZEpdP0QuSS5hZGQoU3RyaW5nKFopLEcsUixOUCg0LCJvYmplY3QiLDIwLGgpPyEhaC5jYXB0dXJlOiEhaCxtKTpJQig2Niwib2JqZWN0IixmYWxzZSxHLFIsWixELGgsbSksVD00Nyk6VD09ND9UPTkzOlQ9PTc0P1Q9QjxaLmxlbmd0aD83Nzo0NzpUPT02OT8oQj0wLFQ9NTQpOlQ9PWs/VD1oJiZoLm9uY2U/NTU6NDg6VD09OTg/KEIrKyxUPTc0KTpUPT00OD9UPUFycmF5LmlzQXJyYXkoWik/Njk6MDpUPT03NyYmKHZ1KDU2LGZhbHNlLEcsaCxELHRydWUsWltCXSw1LG0pLFQ9OTgpfX0sRTU9ZnVuY3Rpb24oayxSKXtmdW5jdGlvbiBHKCl7dGhpcy5oPXRoaXMuaHg9dGhpcy5uPTB9cmV0dXJuW2Z1bmN0aW9uKGgpeyhrLmdiKGgpLFIpLmdiKGgpfSwoUj0oaz1uZXcgKEcucHJvdG90eXBlLnJKPShHLnByb3RvdHlwZS5nYj1mdW5jdGlvbihoLEQpe3JldHVybiBvQi5jYWxsKHRoaXMsMTMsNjUsaCxEKX0sZnVuY3Rpb24oKXtyZXR1cm4gem8uY2FsbCh0aGlzLDIxLDc5LDMpfSksRyksbmV3IEcpLGZ1bmN0aW9uKGgsRCl7cmV0dXJuIEQ9W2suckooKSxSLnJKKCksay5oLFIuaF0sKGg9PT12b2lkIDB8fGgpJiYoUj1uZXcgRyksRH0pXX0sSlc9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixUKXt7VD05O3doaWxlKFQhPTgwKWlmKFQ9PTkpVD00ODtlbHNle2lmKFQ9PTI1KXJldHVybiBCO1Q9PTQ4P1Q9KChoXjEzKSY0KTwzJiYoaHw5KT4+Mz49Mj81NjoxNzpUPT04NT8oRyhmdW5jdGlvbihOKXtOKEQpfSksQj1bZnVuY3Rpb24oKXtyZXR1cm4gRH0sZnVuY3Rpb24oKXt9XSxUPTI1KTpUPT01Nj8obi5jbGFzc0xpc3Q/bi5jbGFzc0xpc3QucmVtb3ZlKG0pOihuLmNsYXNzTGlzdD9uLmNsYXNzTGlzdC5jb250YWlucyhtKTplKDQ2LFosbSxCdShrLEcsbikpKSYmZShSLGMsQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKEJ1KDMzLEcsbiksZnVuY3Rpb24oTil7cmV0dXJuIE4hPW19KS5qb2luKEQpLG4pLFQ9MTcpOlQ9PTE3JiYoVD1oPj4yPDE2JiYoaCsxJjIpPj0xPzg1OjI1KX19fSxGMT1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTil7e049MjY7d2hpbGUoTiE9MTcpaWYoTj09NDIpYz10cnVlLE49NDY7ZWxzZSBpZihOPT04MylUPWZ1bmN0aW9uKFApe3JldHVybiBoLmNhbGwoVC5zcmMsVC5saXN0ZW5lcixQKX0saD10byxCPVQsTj0yMTtlbHNlIGlmKE49PTYwKW09bmV3IHJVKEQsdGhpcyksWj1oLlZufHxoLnNyYyxuPWgubGlzdGVuZXIsaC5hbyYmY1koMzMsbnVsbCwzLFIsaCksYz1uLmNhbGwoWixtKSxOPTQ2O2Vsc2UgaWYoTj09MjYpTj1rO2Vsc2V7aWYoTj09NTcpcmV0dXJuIEI7Tj09MjE/Tj0oR14yNCk8NyYmRy03Pj01PzMwOjU3Ok49PWs/Tj0oRz4+MSY3KT09MT84MzoyMTpOPT0zMD9OPWguZlg/NDI6NjA6Tj09NDYmJihCPWMsTj01Nyl9fX0sYXY9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCl7d2hpbGUoIVIueW4mJihCPXZvaWQgMCxoJiZoWzBdPT09d1UmJihCPWhbMl0sRz1oWzFdLGg9dm9pZCAwKSxuPVYoayxSKSxuLmxlbmd0aD09MCYmKEQ9VigxNjgsUik+PjMsbi5wdXNoKEcsRD4+OCYyNTUsRCYyNTUpLEIhPXZvaWQgMCYmbi5wdXNoKEImMjU1KSksUD0iIixoJiYoaC5tZXNzYWdlJiYoUCs9aC5tZXNzYWdlKSxoLnN0YWNrJiYoUCs9IjoiK2guc3RhY2spKSxtPVcoUiwzMDIpLG1bMF0+MykpeyhUPShQPShtWzBdLT0oUD1QLnNsaWNlKDAsKG1bMF18MCktMyksWj1QLmxlbmd0aCwoWnwzKS1+Wisoflp8MykpLGVlKShQLDEyOCksUikuQixSKS5CPVI7dHJ5e1IuSHQ/KE49KE49Vig0NDYsUikpJiZOW04ubGVuZ3RoLTFdfHw5NSwoYz1XKFIsMTYzKSkmJmNbYy5sZW5ndGgtMV09PU58fGxOKDE2MyxbTiYyNTVdLDcsUikpOmplKDQ0NixbOTVdLFIpLGxOKDQyLEsoMixQLmxlbmd0aCkuY29uY2F0KFApLDcsUiwxNDQpfWZpbmFsbHl7Ui5CPVR9aWYoe30pYnJlYWt9fSxHTj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTixQLGQsSSxTKXtpZihoPVYoMTQyLFIpLGg+PVIuail0aHJvd1t3VSwzMV07Zm9yKGM9KEk9KG09KE49MCxoKSxSLkNqKS5sZW5ndGgsayk7Yz4wOylaPW0+PjMsUz1tJTgsUD1SLndiW1pdLG49OC0oU3wwKSxCPW48Yz9uOmMsRyYmKGQ9UixkLmwhPW0+PjYmJihkLmw9bT4+NixEPWIoZCwzNjMpLGQud0o9eWgoMTYsZC5sLDI1NSxkLk4sWzAsMCxEWzFdLERbMl1dKSksUF49Ui53SltaJkldKSxOfD0oUD4+OC0oU3wwKS0oQnwwKSYoMTw8QiktMSk8PChjfDApLShCfDApLG0rPUIsYy09QjtyZXR1cm4gQygxNDIsKGh8MCkrKGt8KFQ9TiwwKSksUiksVH0sWT1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTil7KFIrNyY0NCk+PVImJlIrND4+MjxSJiYoaD1bLTc1LC0zMSw3MSwtMzUsNDYsLTEwMCxoLDk0LDUwLC03OF0sWj1jJjcsbT1TZSxCPXlmW0cuUl0oRy5KcyksQltHLlJdPWZ1bmN0aW9uKFApe249UDt3aGlsZShudWxsPT1mYWxzZT09MClpZighKForPTYrNypjLFtdKT09dHJ1ZT09IVtdKWJyZWFrO1o9MTYrfihafDcpK2sqKFomLTgpKyh+Wl43KX0sQi5jb25jYXQ9ZnVuY3Rpb24oUCxkLEkpe3JldHVybihkPShuPShQPShJPUQlMTYrMSwrKG0oKXwwKSpJLTc4KkQqRCpuKzM5Km4qbi0yMjYyKm4rWi0gLTEyMDkqRCpuK2hbWisxOSY3XSpEKkkpLUkqbitrKkQqRCpJLHZvaWQgMCksaFtQXSksaClbKForNjEmNykrKC0yLWsqfihjfGspK2sqKH5jXmspKyh+YyZrKSldPWQsaFtaKygtfihjJmspKyhjXmspLSh+YyZrKSsofmN8aykpXT0tMzEsZH0sTj1CKTtzd2l0Y2goISgoUl4xMyk8MjQmJihSXjkwKT49MTgpKXtjYXNlIHRydWU6TnVtYmVyKHRydWUudHJ1ZSk7YnJlYWs7Y2FzZSB0cnVlPT1bXTpzd2l0Y2goIShEPVhYKCJhcnJheSIsaCwibnVsbCIpPT09ImFycmF5Ij9oOltoXSx0aGlzLkspKXtjYXNlIHRydWU6dHJ5e2M9IXRoaXMuUC5sZW5ndGgmJiF0aGlzLm8sYSg1NyxbJGYsW10sRCxrLEddLHRoaXMpLEcmJiFjfHxSQigyNyxmYWxzZSx0aGlzLHRydWUsRyl9Y2F0Y2goUCl7ZSg1NiwiOiIsdGhpcyxQKSxrKHRoaXMuSyl9YnJlYWs7Y2FzZSB0cnVlPT1bXT09bnVsbDprKHRoaXMuSyk7YnJlYWt9YnJlYWt9KFIrM14xMik+PVImJihSKzJeMjcpPFImJihOPVQ9ZnVuY3Rpb24oKXt7dmFyIFA9NzE7d2hpbGUoUCE9OSlpZihQPT0xNil2YXIgZD1bTVQsKFA9OTcsYyksaCx2b2lkIDAsbixtLGFyZ3VtZW50c107ZWxzZSBpZihQPT01OSlQPVouWT8xNjo4ODtlbHNlIGlmKFA9PTk3KVA9RD09Rz83OTozNTtlbHNlIGlmKFA9PTM1KVA9RD09MT81NjoyNztlbHNlIGlmKFA9PTI3KXt2YXIgST1rbihkLDIsdHJ1ZSxaKTtQPTk5fWVsc2UgaWYoUD09NTYpe3ZhciBTPSFaLlAubGVuZ3RoJiYhWi5vO2EoNDMsZCxaKSxTJiZSQigyOCxmYWxzZSxaLGssayksUD05OX1lbHNlIGlmKFA9PTg4KW4mJm0mJm4ucmVtb3ZlRXZlbnRMaXN0ZW5lcihtLFQsb3YpLFA9OTtlbHNle2lmKFA9PTk5KXJldHVybiBJO1A9PTcxP1A9Wi5CPT1aPzU5Ojk6UD09NzkmJihhKDQyLGQsWiksST1SQigyOSxmYWxzZSxaLGssayksUD05OSl9fX0pO3N3aXRjaCghKChSfDcyKT09Uikpe2Nhc2UgdHJ1ZTowO2JyZWFrO2Nhc2UgW109PShbXSE9KCFbXT09MCkpOmE6e2lmKGsuVil7Tj1rZihrLGsuRyk7YnJlYWsgYX0oRz1HTig4LGssdHJ1ZSksRyYxMjgpJiYoR149MTI4LGg9R04oMixrLHRydWUpLEc9KEQ9Rzw8MiwoRCZoKS0xLX4oRHxoKSkpLE49R31icmVha313aGlsZShSPj4yPj05JiYoKFJeMTkpJjI0KTwxOSl7RD1xKDE3LEcpO3tjPTA7d2hpbGUoaD4wKWM9Yzw8a3xSdihHKSxoLS19aWYoIVtdPT0oMCE9IShDKEQsYyxHKSxbXSkpKWJyZWFrfXJldHVybiBOfSxzNT1mdW5jdGlvbihrKXtyZXR1cm4gSUIuY2FsbCh0aGlzLDksayl9LENyPWZ1bmN0aW9uKGssUil7e3ZhciBHPTkzO3doaWxlKEchPTUxKWlmKEc9PTkzKXZhciBoPShHPTUwLDEpO2Vsc2UgaWYoRz09NjQpRz1oPGFyZ3VtZW50cy5sZW5ndGg/NzU6NTE7ZWxzZSBpZihHPT03NSl7dmFyIEQ9YXJndW1lbnRzW2hdO2ZvcihaIGluIEQpa1taXT1EW1pdO3ZhciBjPShHPTk2LDApfWVsc2UgaWYoRz09OTYpRz04NDtlbHNlIGlmKEc9PTUwKUc9NjQ7ZWxzZSBpZihHPT03MiljKyssRz04NDtlbHNlIGlmKEc9PTg0KUc9YzxIWS5sZW5ndGg/ODA6MjtlbHNlIGlmKEc9PTIpaCsrLEc9NjQ7ZWxzZSBpZihHPT04MCl7dmFyIFo9SFlbY107T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEQsWikmJihrW1pdPURbWl0pLEc9NzJ9fX0sTlQ9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkLEkpe2ZvcihkPTI0O2QhPTE5OylpZihkPT05NilBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKEcsZnVuY3Rpb24oUyxYLE0pe2ZvcihNPTI0O00hPTI2OylNPT0yND9NPWsuY2xhc3NMaXN0PzYwOjQ5Ok09PTQ5P009KGsuY2xhc3NMaXN0P2suY2xhc3NMaXN0LmNvbnRhaW5zKFMpOmUoNDUsMCxTLEJ1KDMyLCJjbGFzcyIsaykpKT8yNjo1NTpNPT01NT8oWD1BVyg0MSwiY2xhc3MiLDI4LCIiLGspLGUoNiwic3RyaW5nIixYKyhYLmxlbmd0aD4wPyIgIitTOlMpLGspLE09MjYpOk09PTYwJiYoay5jbGFzc0xpc3QuYWRkKFMpLE09MjYpfSksZD0yNztlbHNlIGlmKGQ9PTkwKWQ9KFI8PDEmOSk+PTEmJihSPj4yJjEyKTw2Pzg2OjI3O2Vsc2UgaWYoZD09MjQpZD02MTtlbHNlIGlmKGQ9PTg2KWQ9ay5jbGFzc0xpc3Q/OTY6NztlbHNlIGlmKGQ9PTI3KWQ9KFJeMzQpPDI2JiYoUisxJjE1KT49OT81ODo5NztlbHNlIGlmKGQ9PTEwKWQ9YzxoLmxlbmd0aD8zMzo3NDtlbHNlIGlmKGQ9PTEzKWMrKyxkPTEwO2Vsc2V7aWYoZD09OTcpcmV0dXJuIEk7aWYoZD09Nyl7Zm9yKGMgaW4gaD0oKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoKEQ9e30sQnUpKDM2LCJjbGFzcyIsayksZnVuY3Rpb24oUyl7RFtTXT10cnVlfSksQXJyYXkucHJvdG90eXBlKS5mb3JFYWNoLmNhbGwoRyxmdW5jdGlvbihTKXtEW1NdPXRydWV9KSwiIiksRCloKz1oLmxlbmd0aD4wPyIgIitjOmM7ZD0oZSg1LCJzdHJpbmciLGgsayksMjcpfWVsc2UgaWYoZD09ODkpZD1EPms/Njo1NztlbHNlIGlmKGQ9PTYpWltuKytdPUQmayxEPj49OCxkPTU3O2Vsc2UgaWYoZD09MzMpRD1oLmNoYXJDb2RlQXQoYyksZD04OTtlbHNlIGlmKGQ9PTc0KUk9WixkPTk3O2Vsc2UgaWYoZD09OTQpZD0xMDtlbHNlIGlmKGQ9PTU3KVpbbisrXT1ELGQ9MTM7ZWxzZSBpZihkPT01OCluPWM9RyxaPVtdLGQ9OTQ7ZWxzZSBpZihkPT04KXthOntpZihELkI9KChELkgrPShaPShuPShjfHxELm9vKyssRC5xbz4wJiZELm8mJkQuRTkpJiZELkQ3PD0xJiYhRC5WJiYhRC5TJiYoIWN8fEQuZEotRz4xKSYmZG9jdW1lbnQuaGlkZGVuPT1rLChCPUQub289PTQpfHxuP0QuSigpOkQuY3QpLG09Wi1ELmN0LG0pPj4xND4wLEQpLk4mJihELk49KFQ9RC5OLE49KEQuSCsxPj4yKSoobTw8MiksLSh+VF5OKSsoflQmTikrKFR8fk4pKSksRC5IKzE+PjIhPTB8fEQuQiksQnx8bilELm9vPTAsRC5jdD1aO2lmKCFuKXtJPWs7YnJlYWsgYX1pZigoRC5xbz5ELkUyJiYoRC5FMj1ELnFvKSxaLUQua04pPEQucW8tKGg/MjU1OmM/NToyKSl7ST1rO2JyZWFrIGF9ST0oQygxNDIsKFA9VihjPzE2ODoxNDIsKEQuZEo9RyxEKSksRC5qKSxEKSxELlAucHVzaChbbWMsUCxjP0crMTpHLEQudSxELlddKSx0cnVlKSxELlM9dTl9ZD02NH1lbHNlIGQ9PTE3PyhJPWsmJmsucGFyZW50Tm9kZT9rLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoayk6bnVsbCxkPTkwKTpkPT02ND9kPShSKzReMTApPj1SJiYoUis0XjI1KTxSPzE3OjkwOmQ9PTYxJiYoZD1SPj4xJjE1PzY0OjgpfX0sTG49ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0pe2ZvcihuPTgwO24hPTk1Oyl7aWYobj09MTUpcmV0dXJuIG07bj09Nzg/bj0oaC1rJjcpPT0xPzU1OjgxOm49PTU1Pyh0aGlzLmxpc3RlbmVyPVosdGhpcy5wcm94eT1udWxsLHRoaXMuc3JjPWMsdGhpcy50eXBlPUcsdGhpcy5jYXB0dXJlPSEhRCx0aGlzLlZuPVIsdGhpcy5rZXk9KytJdix0aGlzLmFvPXRoaXMuZlg9ZmFsc2Usbj04MSk6bj09NTY/KG09RyBpbiBUTj9UTltHXTpUTltHXT1SK0csbj0xNSk6bj09Mzg/bj0oaHw0OCk9PWg/NTY6MTU6bj09MTM/KEcucFgoZnVuY3Rpb24oQil7Yz1CfSxSLEQpLG09YyxuPTM4KTpuPT04MT9uPWgtNyY1PzM4OjEzOm49PTgwJiYobj03OCl9fSxCdT1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCLFQsTixQLGQpe2ZvcihQPTI1O1AhPTU2OylpZihQPT00MCltPXRXKDY4LG4pLFA9NDc7ZWxzZSBpZihQPT0zMyluLkkucmVtb3ZlKFN0cmluZyhaKSxELEIsYyksUD05MztlbHNlIGlmKFA9PTQ3KVA9bT82Njo5MztlbHNlIGlmKFA9PTQ0KU49UixQPTE4O2Vsc2UgaWYoUD09NzMpUD0oa3wzMik9PWs/NTk6NDg7ZWxzZXtpZihQPT00OClyZXR1cm4gZDtpZihQPT01MilQPUFycmF5LmlzQXJyYXkoWik/NDQ6MzE7ZWxzZSBpZihQPT01OSlkPUcuY2xhc3NMaXN0P0cuY2xhc3NMaXN0OkFXKDQxLFIsMjYsIiIsRykubWF0Y2goL1xcUysvZyl8fFtdLFA9NDg7ZWxzZSBpZihQPT03MClQPWsrNj4+ND83Mzo5NDtlbHNlIGlmKFA9PTk0KXthOntpZih0eXBlb2YgUj09PSJmdW5jdGlvbiIpe2Q9UjticmVhayBhfWQ9KFJbZFVdfHwoUltkVV09ZnVuY3Rpb24oSSl7cmV0dXJuIFIuaGFuZGxlRXZlbnQoSSl9KSxSW2RVXSl9UD03M31lbHNlIGlmKFA9PTE4KVA9MzA7ZWxzZSBpZihQPT05MylQPShrLTdeMjMpPj1rJiYoays3JjI1KTxrPzc3OjcwO2Vsc2UgaWYoUD09MzcpUD0oa3w5KT4+Mz09Mz81Mjo5MztlbHNlIGlmKFA9PTI1KVA9Mzc7ZWxzZSBpZihQPT01MylQPW4mJm5bZEpdPzMzOjg5O2Vsc2UgaWYoUD09ODkpUD1uPzQwOjkzO2Vsc2UgaWYoUD09ODIpTisrLFA9MzA7ZWxzZSBpZihQPT0zMSlCPU5QKDQsRywxNyxoKT8hIWguY2FwdHVyZTohIWgsRD1CdSg1LEQpLFA9NTM7ZWxzZSBpZihQPT0yMSlCdSgxNywwLCJvYmplY3QiLGgsRCxjLFpbTl0sbiksUD04MjtlbHNlIGlmKFA9PTc3KXtmb3IoWiBpbihEPVIsaCkuWil7Zm9yKGM9KG49aC5aW1pdLFIpO2M8bi5sZW5ndGg7YysrKSsrRCxoVyg4LEcsbltjXSk7ZGVsZXRlIGguWltoLkp4LS0sWl19UD03MH1lbHNlIFA9PTY2PygoVD1tLkNYKFosRCxjLEIpKSYmY1koMzMsbnVsbCw1LCJvbiIsVCksUD05Myk6UD09MzAmJihQPU48Wi5sZW5ndGg/MjE6OTMpfX0sTlA9ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7Zm9yKFo9OTY7WiE9NzM7KWlmKFo9PTU4KVo9KEd8MTYpPT1HPzQ3OjcwO2Vsc2V7aWYoWj09NzApcmV0dXJuIGM7Wj09NjY/Wj0oRysyXjIwKT49RyYmKEcrayY1Nyk8Rz82OTo1ODpaPT00Nz8oRD10eXBlb2YgaCxjPUQ9PVImJmghPW51bGx8fEQ9PSJmdW5jdGlvbiIsWj03MCk6Wj09Njk/KHRoaXMuS2o9UixaPTU4KTpaPT05NiYmKFo9NjYpfX0sY1k9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixUKXtmb3IoQj05NTtCIT0wOylpZihCPT04KXRoaXMubisrLEI9ODE7ZWxzZSBpZihCPT05NylCPW0/ODA6Mzc7ZWxzZSBpZihCPT05NClCPXR5cGVvZiBEIT09Im51bWJlciImJkQmJiFELmZYPzE1OjMyO2Vsc2UgaWYoQj09MTUpYz1ELnNyYyxCPTEzO2Vsc2UgaWYoQj09ODApckooaywwLEQsbSksQj0yNjtlbHNlIGlmKEI9PTI2KUI9bS5KeD09MD82MzozMjtlbHNlIGlmKEI9PTY1KXRoaXMuVC5wdXNoKFIpLEI9MTg7ZWxzZSBpZihCPT0zNyloVyg3LHRydWUsRCksQj0zMjtlbHNlIGlmKEI9PTEzKUI9YyYmY1tkSl0/OTE6Mzk7ZWxzZSBpZihCPT02NyloPU1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSp0aGlzLm4pLGg8NTAmJih0aGlzLlRbaF09UiksQj0xODtlbHNlIGlmKEI9PTM5KVo9RC50eXBlLG49RC5wcm94eSxjLnJlbW92ZUV2ZW50TGlzdGVuZXI/Yy5yZW1vdmVFdmVudExpc3RlbmVyKFosbixELmNhcHR1cmUpOmMuZGV0YWNoRXZlbnQ/Yy5kZXRhY2hFdmVudChMbigzLGgsWiw1MCksbik6Yy5hZGRMaXN0ZW5lciYmYy5yZW1vdmVMaXN0ZW5lciYmYy5yZW1vdmVMaXN0ZW5lcihuKSxpOS0tLG09dFcoMjEsYyksQj05NztlbHNlIGlmKEI9PTE5KUI9Ry04PDwyPj1HJiZHKzI+PjE8Rz84OjE4O2Vsc2UgaWYoQj09OTEpckooMzIsMCxELGMuSSksQj0zMjtlbHNlIGlmKEI9PTk1KUI9MTk7ZWxzZSBpZihCPT04MSlCPXRoaXMuVC5sZW5ndGg8NTA/NjU6Njc7ZWxzZSBpZihCPT02MyltLnNyYz1SLGNbbDldPVIsQj0zMjtlbHNle2lmKEI9PTMyKXJldHVybiBUO0I9PTE4JiYoQj0oR3wxKT4+Mz8zMjo5NCl9fSxLPWZ1bmN0aW9uKGssUixHLGgsRCl7Zm9yKGg9LX4oayYxKSsoRD1bXSwtMikrKGsmLTIpO2g+PTA7aC0tKURbfihrJjEpLTMqfmsrMip+KGt8MSkrKH5rJjEpLShofDApXT0oRz1SPj5oKjgsLTIqfihHJjI1NSktMSt+RysoRyYtMjU2KSk7aWYoe30pcmV0dXJuIER9LGZyPWZ1bmN0aW9uKCl7cmV0dXJuIFBZLmNhbGwodGhpcywxNCl9LFE9ZnVuY3Rpb24oayxSLEcpe3N3aXRjaCghKFI9PTE0Mnx8Uj09MTY4KSl7Y2FzZSB0cnVlOmlmKGsueW4mJlIhPTM2MylyZXR1cm47Uj09NDg4fHxSPT00Mnx8Uj09MjY0fHxSPT0xNHx8Uj09NTA2fHxSPT00NDZ8fFI9PTE2M3x8Uj09OTV8fFI9PTE5MXx8Uj09MzAyP2suWVtSXXx8KGsuWVtSXT1ZKDIsMzQsayxHLFIsMzgpKTprLllbUl09WSgyLDMzLGssRyxSLDEyOSk7YnJlYWs7Y2FzZSAhW106ay5ZW1JdP2suWVtSXS5jb25jYXQoRyk6ay5ZW1JdPXEoMjEsRyxrKTticmVha31SPT0zNjMmJihrLk49R04oMzIsayxmYWxzZSksay5sPXZvaWQgMCl9LER5PXR5cGVvZiBPYmplY3QuY3JlYXRlPT0iZnVuY3Rpb24iP09iamVjdC5jcmVhdGU6ZnVuY3Rpb24oayl7ZnVuY3Rpb24gUigpe31yZXR1cm4gUi5wcm90b3R5cGU9ayxuZXcgUn0sREQ9ZnVuY3Rpb24oayl7cmV0dXJuIFRvLmNhbGwodGhpcyw1NCxrLDI1KX0samU9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0pe3N3aXRjaCghKEcuQj09Rykpe2Nhc2UgdHJ1ZTowO2JyZWFrO2Nhc2UgISFudWxsOnttPWIoRyxrKSxrPT00Mnx8az09MTkxfHxrPT0xND8oRD1mdW5jdGlvbihCLFQsTixQLGQsSSxTLFgpe2ZvcihJPShYPTE4LDg5KTs7KXRyeXtpZihYPT0zMylicmVhaztlbHNlIGlmKFg9PTU3KW0ucHVzaChtLkdmWy0oVHw3KS0yKn4oVHw3KSsoVHwtOCkrKH5UfDcpXV5CKSxYPTMzO2Vsc2V7aWYoWD09MzkpdGhyb3cgST04OSxTO1g9PTUwP1g9bS5tQiE9Tj81NDo1NzpYPT02OD8oST0zNixtLkdmPXloKDE2LHEoNTAsOCwtMS0yKn4oUHw0KSsoflBeNCksbSksMjU1LHEoMTgsOCxQLG0pLGQpLFg9NTcpOlg9PTU0PyhQPShOPDwzKS00LGQ9WzAsMCxjWzFdLGNbMl1dLG0ubUI9TixYPTY4KTpYPT0xOCYmKFQ9bS5sZW5ndGgsTj0oVHwwKS00Pj4zLFg9NTApfX1jYXRjaChNKXtpZihJPT04OSl0aHJvdyBNO0k9PTM2JiYoUz1NLFg9MzkpfX0sYz1WKDk1LEcpKTpEPWZ1bmN0aW9uKEIpe20ucHVzaChCKX0saCYmRCgoaHwwKS0gLTUxMisyKn4oaHwyNTUpKyhoJi0yNTYpKSxuPVIubGVuZ3RoLFo9MDt3aGlsZShaPG4pRChSW1pdKSxaKyt9YnJlYWt9fSxQZD1mdW5jdGlvbihrKXtyZXR1cm4gTlQuY2FsbCh0aGlzLGssMTYpfSxoMD1mdW5jdGlvbihrLFIsRyxoLEQsYyl7cmV0dXJuIE9SLmNhbGwodGhpcywxMiw2LGssUixHLGgsRCxjKX0sYjk9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuKXtyZXR1cm4gQlkuY2FsbCh0aGlzLGssOCxSLEcsaCxELGMsWixuKX0sak09ZnVuY3Rpb24oayl7cmV0dXJuIEtuLmNhbGwodGhpcywwLDEsOCxrKX0sUnY9ZnVuY3Rpb24oayl7cmV0dXJuIGsuVj9rZihrLGsuRyk6R04oOCxrLHRydWUpfSx5aD1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4pe1o9KGM9MCxEWzNdfDApO3tuPURbMl18MDt3aGlsZShjPGspUj1SPj4+OHxSPDwyNCxSKz1ofDAsWj1aPj4+OHxaPDwyNCxoPWg8PDN8aD4+PjI5LForPW58MCxSXj1uKzY1OSxuPW48PDN8bj4+PjI5LGhePVIsWl49Yys2NTksbl49WixjKyt9cmV0dXJuW2g+Pj4yNCZHLGg+Pj5rJkcsaD4+PjgmRyxoPj4+MCZHLFI+Pj4yNCZHLFI+Pj5rJkcsUj4+PjgmRyxSPj4+MCZHXX0sY2Q9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4pe0I9KGMuSnM9dFcoNzcsKGMuQ2o9Y1tBb10sYy5nSj14ZixjLllEPUpvLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb25jYXQoKX19KSxjLlIpLGMudlY9eWZbYy5SXShjLkpzLHt2YWx1ZTp7dmFsdWU6e319fSksMCk7e049W107d2hpbGUoQjwzODMpTltCXT1TdHJpbmcuZnJvbUNoYXJDb2RlKEIpLEIrK31pZihjLlJhPShjLmN0PShjLkI9KGMuRno9W10sYy5WVD1mdW5jdGlvbihQKXtyZXR1cm4gb0IuY2FsbCh0aGlzLDEzLDEyLFApfSwoYy5FMj0oYy5QPVtdLDApLGMuWT1bXSxjLlc9ZmFsc2UsYy53Yj1bXSxjKS5OPShjLks9KGMuRz12b2lkIDAsYy5Eaz1bXSx2b2lkIDApLFQ9d2luZG93LnBlcmZvcm1hbmNlfHx7fSx2b2lkIDApLGMpLDApLFQudGltZU9yaWdpbil8fChULnRpbWluZ3x8e30pLm5hdmlnYXRpb25TdGFydHx8MCx0cnVlKWMud0o9dm9pZCAwO2MudT0oYy55VD0oKGMuVGU9RyxjLmRKPTMwMDAxLGMpLkQ3PTAsKGMuWD0wLGMpLnZ0PShjLm89ZmFsc2UsYy5CVj0oYy5PXz1ELG0pLFtdKSwwKSxmYWxzZSk7d2hpbGUoLTA9PT0wKWlmKChjLnM5PTI1LFtdKSE9dHJ1ZSlicmVhaztpZihjLnluPSEoYy5TbT0oKGMuVTk9W10sYy5sPXZvaWQgMCxjLlM9bnVsbCxjLnVYPShjLkJ3PTAsYy5xbz0wLGMuaj0wLFtdKSxjLlY9dm9pZCAwLGMuSHQ9IShjLkU5PWZhbHNlLGMub289dm9pZCAwLDEpLGMpLmtOPShjLlRmPTAsYy5IPTEsYy5XdD12b2lkIDAsMCksW10pLDEpLFomJloubGVuZ3RoPT0yJiYoYy5Eaz1aWzFdLGMuVTk9WlswXSksUil0cnl7Yy5XdD1KU09OLnBhcnNlKFIpfWNhdGNoKFApe2MuV3Q9e319ZigoZigyNixmdW5jdGlvbihQLGQsSSxTLFgpe3tYPTA7d2hpbGUoWCE9NjYpWD09ODg/KEk9cSgyNSxQKSxTPVkoUCw3MyksUShQLFMsZnVuY3Rpb24oTSl7cmV0dXJuIGV2YWwoTSl9KHpOKFYoSSxQLkIpKSkpLFg9NjYpOlg9PTAmJihYPU5UKGZhbHNlLDMyLGQsZmFsc2UsUCx0cnVlKT82Njo4OCl9fSwoKGYoKGYoMTYsZnVuY3Rpb24oUCl7a2ooMyxQKX0sKEMoMTQsKGYoKEEoMjY0LChmKDIzLChmKDIwLCgoZigxNywoZigyNywoZigxOCwoKGYoMjEsZnVuY3Rpb24oKXt9LDMyMywoZigyMCwoZigyMyxmdW5jdGlvbihQLGQsSSxTKXtBKChJPShTPShkPXEoNzEsUCksUnYpKFApLFkoUCw3NykpLEkpLFAsVyhQLGQpPj4+Uyl9LChDKDQyLChBKDE1NixjLChRKGMsKFEoYyw0ODgsKEEoMTkxLGMsKEMoOTUsKEMoNTUsKGYoMjUsKEMoNTA2LFtdLCgoQSgoZigxMyxmdW5jdGlvbihQLGQsSSxTLFgpe2ZvcihYPTU1O1ghPTQyOylYPT0zNz8oZC0tLFg9OTIpOlg9PTkyP1g9ZD4wPzkzOjk3Olg9PTU1PyhJPVAuRnoucG9wKCksWD0yOSk6WD09ODc/KFEoUCwxNDIsUC5qKSxYPTQyKTpYPT03MD9YPTkyOlg9PTk3PyhJWzUwNl09UC5ZWzUwNl0sSVszMDJdPVAuWVszMDJdLFAuWT1JLFg9NDIpOlg9PTI5P1g9ST82Nzo4NzpYPT05Mz8oUz1xKDI1LFApLElbU109UC5ZW1NdLFg9MzcpOlg9PTY3JiYoZD1SdihQKSxYPTcwKX0sKGMud049KChmKDE3LGZ1bmN0aW9uKFAsZCxJLFMsWCxNKXtmb3IoTT03MTtNIT00MDspTT09NzE/TT1OVChmYWxzZSw2NCxkLGZhbHNlLFAsdHJ1ZSk/NDA6OTc6TT09NDg/TT1QLkI9PVB8fEk9PVAuVlQmJlM9PVA/MTk6NDA6TT09OTc/KFg9cVQoNzEsNzQsUCwwLDEpLFM9WC5rZSxJPVguUFYsTT00OCk6TT09MTkmJihBKFgucW0sUCxJLmFwcGx5KFMsWC5MKSksUC5jdD1QLkooKSxNPTQwKX0sKGYoKGYoKChBKDE1NyxjLChmKChmKDI1LChDKDE2OCwoQSgxNDIsYywoZigoZigxOCwoZigyMixmdW5jdGlvbihQLGQsSSxTLFgsTSxyLGwsdyl7Zm9yKHc9MjQ7dyE9ODY7KXc9PTQ/KFEoUCxyLEkpLHc9ODYpOnc9PTQ0PyhkPShNPXEoMTIsNyxQKSwtMip+KGR8TSkrKGR8fk0pKyh+ZHxNKSklbCxJLnB1c2goU1tkXSksdz0yOSk6dz09MjQ/KHI9WShQLDc3KSxYPXEoMTEsNyxQKSxJPVtdLFM9VyhQLDM5MyksZD0wLGw9Uy5sZW5ndGgsdz03MCk6dz09MjM/dz1YLS0/NDQ6NDp3PT0yOT93PTIzOnc9PTcwJiYodz0yMyl9LDMxMSxjKSxmdW5jdGlvbihQLGQsSSxTLFgsTSxyLGwsdyl7Zm9yKHc9NjY7dyE9MzU7KXc9PTYwP3c9bDxkLmxlbmd0aD83MjoyODp3PT03Mj8oWCs9U3RyaW5nLmZyb21DaGFyQ29kZShkW2xdXjEyMSksdz00Myk6dz09NDM/KGwrKyx3PTYwKTp3PT04ND93PTYwOnc9PTY2PyhJPXEoODksUCkscj1xKDcyLFApLE09WShQLDc3KSxkPVcoUCxyKSxTPWIoUCxJKSxsPTAsWD0iIix3PTg0KTp3PT0yOCYmKEMoTSxTW1hdLFApLHc9MzUpfSksMTM2LGMpLDI3KSxmdW5jdGlvbihQLGQsSSxTLFgsTSxyLGwsdyxFKXt7RT04NDt3aGlsZShFIT0xNClFPT0yND8oTSs9U3RyaW5nLmZyb21DaGFyQ29kZSgoUz1kW3ddLDMqfihTJjEyMSktMip+Uy0gLTI0NCt+KFN8MTIxKSkpLEU9OTMpOkU9PTkzPyh3KyssRT0xOSk6RT09ODQ/KFg9WShQLDc0KSxJPVkoUCw3NCkscj1ZKFAsNzIpLGw9VyhQLEkpLGQ9VyhQLFgpLE09IiIsdz0wLEU9NDIpOkU9PTM0PyhBKHIsUCxNIGluIGx8MCksRT0xNCk6RT09MTk/RT13PGQubGVuZ3RoPzI0OjM0OkU9PTQyJiYoRT0xOSl9fSwyMjEsYyksMCkpLDApLGMpLGZ1bmN0aW9uKFAsZCxJKXtkPVkoKEk9WShQLDc2KSxQKSw3NiksQShkLFAsIiIrVyhQLEkpKX0pLDEwNixjKSwyMiksZnVuY3Rpb24oUCxkLEksUyxYLE0pe3tNPTM4O3doaWxlKE0hPTk3KU09PTE5PyhYKyssTT02OCk6TT09OD8oQShTLFAsZCksTT05Nyk6TT09Njg/TT1YPEk/MjY6ODpNPT04NT9NPTY4Ok09PTM4PyhTPXEoNjcsUCksST1xKDksNyxQKSxYPTAsZD1bXSxNPTg1KTpNPT0yNiYmKGQucHVzaChSdihQKSksTT0xOSl9fSwzMzUsYykse30pKSxjKS54ZT0wLDE2KSxmdW5jdGlvbihQLGQsSSxTLFgsTSxyKXtmb3Iocj05NDtyIT04OTspaWYocj09NjEpcj1YPFAudnQubGVuZ3RoPzc0Ojk4O2Vsc2UgaWYocj09OTQpe2ZvcihJIGluIGRlbGV0ZSAoZD0oUz1SdihQKSxXKShQLDU1KSxkKVtTXSxkKWlmKEkhPT0idCImJk9iamVjdC5oYXNPd24oZCxJKSlyZXR1cm47cj0oWD0wLDQ0KX1lbHNlIHI9PTY5PyhYKysscj02MSk6cj09ODU/KEguY2xlYXJUaW1lb3V0KE0uSWEpLGEoNDYsTS5RVCxQKSxhKDQ1LE0uYWEsUCkscj02OSk6cj09Nzg/cj1NLk1tPzY5Ojg1OnI9PTk4PyhQLnZ0Lmxlbmd0aD0wLHI9ODkpOnI9PTc0PyhNPVAudnRbWF0scj03OCk6cj09NDQmJihyPTYxKX0sMzI5LGMpLDI0KSxmdW5jdGlvbihQLGQsSSl7KGQ9YigoST1ZKFAsNzUpLFAuQiksSSksZFswXSkucmVtb3ZlRXZlbnRMaXN0ZW5lcihkWzFdLGRbMl0sb3YpfSwxMzcsYyksMzEwKSxjKSxuZXcgZ1UoIlN1Ym1pdCIpKS5kaXNwb3NlKCksMCksMzI3KSxjKSw0MSksYywxODMpLGYpKDE2LGZ1bmN0aW9uKFApe3VOKDQsUCl9LDEzNCxjKSxjKSksZnVuY3Rpb24oUCxkLEksUyxYLE0scixsLHcsRSxGLCRuLEdvLEosdil7Zm9yKHY9MDt2IT0yNzspaWYodj09NjkpRT1yLmxlbmd0aCxGPUY+MD9GOjEsdz0wLHY9MTE7ZWxzZSBpZih2PT04NSl2PXc8RT83OjI3O2Vsc2UgaWYodj09NjYpbD1xKDczLFApLCRuPXEoNzYsUCksR289cSg0OSxQKSxJPXEoNTcsUCksUz1XKFAsJG4pLHI9VyhQLGwpLE09VihJLFApLEY9VihHbyxQKSx2PTM3O2Vsc2UgaWYodj09Mzcpdj1YWCgiYXJyYXkiLHIsIm51bGwiKT09Im9iamVjdCI/OTA6Nzk7ZWxzZSBpZih2PT0wKXY9TlQoZmFsc2UsMzIsZCx0cnVlLFAsdHJ1ZSk/Mjc6NjY7ZWxzZSBpZih2PT03KVMoci5zbGljZSh3LCh3fDApKyhGfDApKSxNKSx2PTU5O2Vsc2UgaWYodj09MTEpdj04NTtlbHNlIGlmKHY9PTkwKXtmb3IoWCBpbiBKPVtdLHIpSi5wdXNoKFgpO3Y9KHI9Siw3OSl9ZWxzZSB2PT03OT92PVAuQj09UD82OToyNzp2PT01OSYmKHcrPUYsdj04NSl9KSw3MyxjKSx7fSksYyksWzAsMCwwXSksYyksWWYoNCkpKSxbNTcsMCwwXSkpLDE2MyksW10pLEgpKSxZZig0KSksYyksNDU0KSxjKSxmdW5jdGlvbihQLGQsSSxTLFgpe0EoKGQ9WFgoImFycmF5IiwoST1iKFAsKFM9cSgxNywoWD1ZKFAsNzQpLFApKSxYKSksSSksIm51bGwiKSxTKSxQLGQpfSksNDQxLGMpLGMpKSxRKShjLDQ1OCwwKSxmdW5jdGlvbihQLGQsSSxTLFgsTSxyLGwpe3tsPTY5O3doaWxlKGwhPTIyKWw9PTQ2PyhQLk49R04oMzIsUCxmYWxzZSksUC5sPXZvaWQgMCxsPTIyKTpsPT0xNz9sPVg9PTM2Mz80ODoyMjpsPT02ND9sPUk9PTI/NDY6MjI6bD09NDA/bD1QLkI9PVA/OTA6MjI6bD09NDg/KFAubD12b2lkIDAsbD02NCk6bD09OTA/KHI9YihQLFgpLFM9YihQLE0pLEk9VyhQLGQpLHJbSV09UyxsPTE3KTpsPT02OSYmKFg9WShQLDczKSxkPXEoODksUCksTT1xKDc4LFApLGw9NDApfX0pLDY3LGMpLGZ1bmN0aW9uKFAsZCxJLFMsWCxNLHIsbCx3LEUpe2ZvcihFPTM7RSE9MTM7KUU9PTk3PyhYPXFUKDcxLDc0LFAuQiwwLDEpLE09WC5MLHc9WC5xbSxTPVguUFYsST1YLmtlLHI9TS5sZW5ndGgsbD1yPT0wP25ldyBJW1NdOnI9PTE/bmV3IElbU10oTVswXSk6cj09Mj9uZXcgSVtTXShNWzBdLE1bMV0pOnI9PTM/bmV3IElbU10oTVswXSxNWzFdLE1bMl0pOnI9PTQ/bmV3IElbU10oTVswXSxNWzFdLE1bMl0sTVszXSk6MigpLFEoUCx3LGwpLEU9MTMpOkU9PTMmJihFPU5UKGZhbHNlLDY1LGQsZmFsc2UsUCx0cnVlKT8xMzo5Nyl9KSwxMjcsYyksZnVuY3Rpb24oUCxkKXtwcigoZD1XKFAsWShQLDc2KSksNTA2KSwwLDE0MixkLDEwNCxQLkIpfSksMzEzLGMpLGYpKDE4LGZ1bmN0aW9uKFApe3VOKDEsUCl9LDEyMSxjKSxmdW5jdGlvbihQLGQsSSxTLFgsTSl7KEk9KGQ9KE09WShQLChYPXEoKFM9cSg3OSxQKSw2NyksUCksNzIpKSxiKShQLFgpLFYoUyxQKSksQykoTSxJW2RdLFApfSksMjEyLGMpLGYoMTUsZnVuY3Rpb24oUCxkLEksUyxYLE0scixsLHcsRSxGKXtmb3IoRj04MztGIT0yNDspRj09Nzg/KFg9WShmYWxzZSwxNiwyLE0sMSxyLFAsRSx3KSxFLmFkZEV2ZW50TGlzdGVuZXIodyxYLG92KSxWKDcxLFApLnB1c2goZnVuY3Rpb24oKXtFLnJlbW92ZUV2ZW50TGlzdGVuZXIodyxYLG92KX0pLEMoNDU4LFtFLHcsWF0sUCksRj0yNCk6Rj09ODM/KGw9cSg0OSxQKSxTPXEoNzQsUCksZD1xKDU3LFApLEk9cSg3MCxQKSx3PVcoUCxTKSxNPWIoUCxJKSxyPVYoZCxQKSxFPVYobCxQLkIpLEY9MzQpOkY9PTM0JiYoRj1FIT09MD83ODoyNCl9LDQ5MyxjKSxmdW5jdGlvbihQLGQsSSxTKXtRKFAsKGQ9cSg3NSwoST1xKDc3LChTPVkoUCw3MiksUCkpLFApKSxkKSxiKFAsUyl8fFcoUCxJKSl9KSwxMTEsYyksYyksW10pLDE5KSxmdW5jdGlvbihQKXtraig0LFApfSw1MDAsYyksWWYoNCkpLGMpLDM2NCksYyksMTMpLGZ1bmN0aW9uKFAsZCxJLFMsWCxNKXtBKChkPShJPWIoUCwoTT1xKDQ5LChTPVkoUCwoWD1xKDE3LFApLDcyKSksUCkpLFgpKSxWKShTLFApLE0pLFAsKyhJPT1kKSl9LDQzMixjKSxjKS5aaj0wLDUwNCksYyksMTUpLGZ1bmN0aW9uKFAsZCxJLFMsWCxNLHIsbCl7aWYoMD09IShJPShyPVcoKE09WShQLChYPVkoUCwobD1ZKChTPVkoUCw3NiksUCksNzMpLDcyKSksNzUpKSxQKSxsKSxXKFAsTSkpLFt0cnVlLnRydWVdKSlkPVYoWCxQKTtDKFMsWShmYWxzZSwxNywyLGQsSSxyLFApLFApfSw4MCxjKTt3aGlsZSghW10hPSh0cnVlPT1bXSE9bnVsbCkpaWYoZigyNixmdW5jdGlvbihQLGQsSSxTLFgsTSl7KFg9YihQLChkPShTPXEoKEk9cSg2OCwoTT1xKDgwLFApLFApKSw3MCksUCksYihQLEkpKSxNKSksQykoUyxYIGluIGR8MCxQKX0sMzcsYyksIWZhbHNlPT0hIiIpYnJlYWs7UkIoMjYsZmFsc2UsYywoYSg0NywoYSg0MSwoQSg3MSwoKEEoMzAyLGMsWyhmKDE1LGZ1bmN0aW9uKFAsZCxJLFMpe1YoKGQ9YihQLChJPXEoNjgsUCksUz1ZKFAsNzMpLFMpKSxJKSxQKSE9MCYmQygxNDIsZCxQKX0sKFEoYyw0NDYsKGYoMTMsZnVuY3Rpb24oUCl7WSg4LDU0LFAsNCl9LDc0LChRKChmKDE3LGZ1bmN0aW9uKFAsZCxJLFMsWCxNLHIsbCx3LEUsRiwkbixHbyxKLHYsTyx5LHdKKXt7eT0xMzt3aGlsZSh5IT00MCl5PT0wP3k9ODp5PT0yMD8oZigyMSxmdW5jdGlvbih6LFB1LG03LGcsZU0sTCl7Zm9yKEw9NDI7TCE9NzU7KUw9PTIxPyhQdS5wdXNoKG03KSxMPTQ4KTpMPT0zOD8oZy5wdXNoKHEoMjUseikpLEw9OTgpOkw9PTUzP0w9bTc+PWcubGVuZ3RoPzM4OjI1Okw9PTI1PyhtNz1nW203XSxMPTIxKTpMPT02Nj8oei5WPXEoNTMsUy5zbGljZSgpLHopLHouRz1xKDUsUHUseiksTD03NSk6TD09MTE/KG03PU1bZU1dLEw9MTUpOkw9PTQ4PyhlTSsrLEw9NjApOkw9PTQyPyhlTT0wLFB1PVtdLGc9W10sTD05OSk6TD09MTU/TD1PW2VNXT8yMTo2ODpMPT05OD9MPTUzOkw9PTYwP0w9ZU08Sj8xMTo2NjpMPT05OT9MPTYwOkw9PTY4JiYoTD01Myl9LHIsUCkseT00MCk6eT09Mjc/KHc9MCx5PTE1KTp5PT01Mj8oT1tJXXx8KE1bSV09d0ooRikpLHk9NDYpOnk9PTI1PyhGPSgoR298MSkrfihHb3wxKS0ofkdvXjEpLTIqKH5HbyYxKSkudG9TdHJpbmcoMikubGVuZ3RoLE09W10sST0wLHk9Nik6eT09NDk/KFMucHVzaChWKFkoUCw3NSksUCkpLHk9MzMpOnk9PTQ2PyhJKysseT04Nik6eT09MTM/KHdKPWZ1bmN0aW9uKHosUHUpe2Zvcig7RTx6Oyl2fD1SdihQKTw8RSxFKz04O3JldHVybiB2Pj49KFB1PShFLT16LHYmKDE8PHopLTEpLHopLFB1fSxyPVkoUCw3NSksdj1FPTAsWD0od0ooMyl8MCkrMSxKPXdKKDUpLE89W10seT1Hbz1sPTApOnk9PTg2P3k9STxKPzUyOjI3Onk9PTY1Pyh3KysseT04Myk6eT09MzM/eT00Nzp5PT02P3k9ODY6eT09NTA/KE9bd10mJihNW3ddPVkoUCw3MikpLHk9NjUpOnk9PTcxPygkbj13SigxKSxPLnB1c2goJG4pLEdvKz0kbj8wOjEseT03Nik6eT09NDc/eT1kLS0/NDk6MjA6eT09OD95PWw8Sj83MToyNTp5PT04Mz95PXc8Sj81MDo2OTp5PT03Nj8obCsrLHk9OCk6eT09Njk/KGQ9WCxTPVtdLHk9NjYpOnk9PTE1P3k9ODM6eT09NjYmJih5PTQ3KX19LDMwMCwoZigoQygxMDMsMCxjKSwyNCksZnVuY3Rpb24oUCxkLEksUyxYLE0scixsLHcpe2Zvcih3PTkxO3chPTQ3Oyl3PT04MT8oZD0oTT1xKDgsNyxQKSwyKihkJk0pK34oZCZNKS1+KGR8TSkpJVMscis9TltsW2RdXSx3PTI1KTp3PT01MD93PTgzOnc9PTEyPyhBKFgsUCxyKSx3PTQ3KTp3PT05MT8oWD1ZKFAsNzUpLEk9cSgxMCw3LFApLHI9IiIsbD1XKFAsMzkzKSxTPWwubGVuZ3RoLGQ9MCx3PTUwKTp3PT04Mz93PUktLT84MToxMjp3PT0yNSYmKHc9ODMpfSw1MSxjKSxjKSksYyksMzksYyksYykpLFtdKSksMTcxKSxjKSwyMDQ4KV0pLGYpKDE5LGZ1bmN0aW9uKFAsZCxJLFMsWCl7USgoWD0oZD0oUz1xKDI1LChJPVkoUCw3NiksUCkpLGIpKFAsUyksVihJLFApKSxQKSxTLGQrWCl9LDEwNCxjKSxjKSxbXSksaHx8YSg1NixbeG5dLGMpLFtHdCxrXSksYyksW1JZLG5dKSxjKSx0cnVlKSx0cnVlKX0sVmg9ZnVuY3Rpb24oayxSKXtyZXR1cm4gem8uY2FsbCh0aGlzLDIxLDc5LDI0LGssUil9LGtmPWZ1bmN0aW9uKGssUixHKXtyZXR1cm4oRz1SLmNyZWF0ZSgpLnNoaWZ0KCksay5WLmNyZWF0ZSgpLmxlbmd0aHx8ay5HLmNyZWF0ZSgpLmxlbmd0aCl8fChrLkc9dm9pZCAwLGsuVj12b2lkIDApLEd9LHFQPWZ1bmN0aW9uKGspe2Zvcih2YXIgUj04NztSIT0yOTspaWYoUj09MzIpRCs9ZW5jb2RlVVJJQ29tcG9uZW50KEdbaF0pK2tbaCsxXSxSPTM1O2Vsc2V7aWYoUj09MTgpcmV0dXJuIGUoMzYsbnVsbCxEKTtpZihSPT04Nyl2YXIgRz1Lci5hcHBseSgxLChSPTkzLGFyZ3VtZW50cykpO2Vsc2UgaWYoUj09MzUpaCsrLFI9NDY7ZWxzZSBpZihSPT04Myl2YXIgaD0oUj00LDApLEQ9a1swXTtlbHNlIGlmKFI9PTkzKVI9Ry5sZW5ndGg9PT0wPzUxOjgzO2Vsc2UgaWYoUj09NClSPTQ2O2Vsc2UgaWYoUj09NDYpUj1oPEcubGVuZ3RoPzMyOjE4O2Vsc2UgaWYoUj09NTEpcmV0dXJuIGUoMzUsbnVsbCxrWzBdKX19LFdZPWZ1bmN0aW9uKGssUixHLGgsRCl7cmV0dXJuIE1QLmNhbGwodGhpcywyMixrLFIsRyxoLEQpfSxubj1mdW5jdGlvbigpe3JldHVybiBmLmNhbGwodGhpcywzKX0sYUI9ZnVuY3Rpb24oayxSKXtyZXR1cm4gQVcuY2FsbCh0aGlzLDQxLGssOCxSKX0sWWY9ZnVuY3Rpb24oayxSLEcpe2ZvcihHPTE5O0chPTY4OylpZihHPT03OSlSLnB1c2goTWF0aC5yYW5kb20oKSoyNTV8MCksRz0xNTtlbHNlIGlmKEc9PTE5KVI9W10sRz05NztlbHNlIGlmKEc9PTk3KUc9MzA7ZWxzZSBpZihHPT0xNSlHPTMwO2Vsc2UgaWYoRz09MzApRz1rLS0/Nzk6NzE7ZWxzZSBpZihHPT03MSlyZXR1cm4gUn0sZWU9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4sUCxkLEksUyl7Zm9yKFo9KEI9KFQ9KEk9ay5yZXBsYWNlKC9cXHJcXG4vZywiXFxuIiksW10pLDApLDApO1o8SS5sZW5ndGg7WisrKUQ9SS5jaGFyQ29kZUF0KFopLEQ8Uj9UW0IrK109RDooRDwyMDQ4P1RbQisrXT0oYz1EPj42LC1+KGMmMTkyKSsyKihjXjE5MiktKH5jJjE5MikrKH5jfDE5MikpOigoRCY2NDUxMik9PTU1Mjk2JiZaKzE8SS5sZW5ndGgmJihJLmNoYXJDb2RlQXQoWisxKSY2NDUxMik9PTU2MzIwPyhEPShtPShEJjEwMjMpPDwxMCwyKig2NTUzNiZtKSsoNjU1MzYmfm0pLSgtNjU1MzdebSkrKC02NTUzN3xtKSkrKGg9SS5jaGFyQ29kZUF0KCsrWiksKGh8MCktfihoJjEwMjMpK35oKSxUW0IrK109KGQ9RD4+MTgsMjQwKyhkJjI0MCkrLTI0MS0ofmReMjQwKSksVFtCKytdPShHPShQPUQ+PjEyLDYzLSh+UCY2MykpLDEyNy0ofkd8UikpKTpUW0IrK109KFM9RD4+MTIsMjIzLSh+U3wyMjQpKSxUW0IrK109KG49KE49RD4+Niwtfk4rKH5OXjYzKSsofk4mNjMpKSxSLSh+bl5SKSsobnwtMTI5KSkpLFRbQisrXT02My1+RCt+KER8NjMpfFIpO3JldHVybiBUfSxXPWZ1bmN0aW9uKGssUixHKXtHPWsuWVtSXTtmb3IoTmFOO0c9PT12b2lkIDA7ZmFsc2Upe3Rocm93W3dVLDMwLFJdO2lmKHRydWUpYnJlYWt9aWYoRy52YWx1ZSlyZXR1cm4gRy5jcmVhdGUoKTtyZXR1cm4oRy5jcmVhdGUoUioyKlIrLTMxKlIrNTgpLEcpLnByb3RvdHlwZX0sTHI9ZnVuY3Rpb24oayxSLEcsaCxEKXtyZXR1cm4gTlQuY2FsbCh0aGlzLGssNSxSLEcsaCxEKX0sa2o9ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7KCgoRz1iKFIsKFo9WShSLChjPVkoUiwoRD0oa3w0KS1+aysoaD1rJjMsfihrfDQpKS0oayYtNSksNzMpKSw3NykpLGMpKSxEKSYmKEc9ZWUoIiIrRywxMjgpKSxoKSYmamUoWixLKDIsRy5sZW5ndGgpLFIpLGplKShaLEcsUil9LGlOPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIsVCxOKXsoUi5wdXNoKChjPWtbMF08PDI0fGtbMV08PDE2LG49a1syXTw8OCwtfihjJm4pKy0yLSh+Y15uKSl8a1szXSksUi5wdXNoKChaPShoPWtbNF08PDI0fGtbNV08PDE2LE49a1s2XTw8OCwtMi1+Ti0ofmh8TikpLEQ9a1s3XSwyKihEfDApLTIqKFomRCktflorKFp8fkQpKSksUikucHVzaCgoVD0oQj1rWzhdPDwyNHxrWzldPDwxNixtPWtbMTBdPDw4LC1+KEImbSkrMiooQl5tKSsofkJebSkpLEc9a1sxMV0sLTEtflQrKH5UJkcpKSl9LGxOPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIpe3N3aXRjaCghKGguQj09aCkpe2Nhc2UgdHJ1ZTpmYWxzZTticmVhaztjYXNlICFbIiJdIT0wOntaPWIoaCxrKSxrPT00Mnx8az09MTkxfHxrPT0xND8obT1mdW5jdGlvbihULE4sUCxkLEksUyxYLE0pe2ZvcihYPShTPTgsOTcpOzspdHJ5e2lmKFM9PTU1KWJyZWFrO2Vsc2UgaWYoUz09NzYpWD0zMyxaLkdmPXloKDE2LHEoMzQsOCwtMS0yKn4oSXw0KSsofkleNCksWiksMjU1LHEoNjYsOCxJLFopLGQpLFM9NzA7ZWxzZXtpZihTPT02Mil0aHJvdyBYPTk3LE07Uz09NzA/KFoucHVzaChaLkdmWy0oTnxHKS0yKn4oTnxHKSsoTnwtOCkrKH5OfEcpXV5UKSxTPTU1KTpTPT05MD9TPVoubUIhPVA/Mjk6NzA6Uz09OD8oTj1aLmxlbmd0aCxQPShOfDApLTQ+PjMsUz05MCk6Uz09MjkmJihJPShQPDwzKS00LGQ9WzAsMCxCWzFdLEJbMl1dLFoubUI9UCxTPTc2KX19Y2F0Y2gocil7aWYoWD09OTcpdGhyb3cgcjtYPT0zMyYmKE09cixTPTYyKX19LEI9Vig5NSxoKSk6bT1mdW5jdGlvbihUKXtaLnB1c2goVCl9LEQmJm0oKER8MCktIC01MTIrMip+KER8MjU1KSsoRCYtMjU2KSksYz1SLmxlbmd0aCxuPTA7d2hpbGUobjxjKW0oUltuXSksbisrfWJyZWFrfX0sQz1mdW5jdGlvbihrLFIsRyl7c3dpdGNoKCEoaz09MTQyfHxrPT0xNjgpKXtjYXNlIHRydWU6d2hpbGUoRy55biYmayE9MzYzKXtyZXR1cm47aWYoZmFsc2U9PTApYnJlYWt9az09NDg4fHxrPT00Mnx8az09MjY0fHxrPT0xNHx8az09NTA2fHxrPT00NDZ8fGs9PTE2M3x8az09OTV8fGs9PTE5MXx8az09MzAyP0cuWVtrXXx8KEcuWVtrXT1ZKDIsMzIsRyxSLGssMzgpKTpHLllba109WSgyLDM1LEcsUixrLDEyOSk7YnJlYWs7Y2FzZSBmYWxzZTpHLllba10/Ry5ZW2tdLmNvbmNhdChSKTpHLllba109cSg4NSxSLEcpO2JyZWFrfWs9PTM2MyYmKEcuTj1HTigzMixHLGZhbHNlKSxHLmw9dm9pZCAwKX0scVQ9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQil7Yz0oWj0oKG49cSgobT1HW3ZZXXx8e30sayksRyksbS5xbT1xKDE3LEcpLG0pLkw9W10sRykuQj09Rz8oUnYoRyl8aCktRDoxLFkoRyxSKSk7e0I9aDt3aGlsZShCPFopbS5MLnB1c2gocSg0OSxHKSksQisrfWZvcihtLlBWPWIoRyxuKTtaLS07KW0uTFtaXT1iKEcsbS5MW1pdKTtyZXR1cm4gbS5rZT1iKEcsYyksbX0sV3U9ZnVuY3Rpb24oKXtyZXR1cm4gckouY2FsbCh0aGlzLDUpfSxRaD1mdW5jdGlvbihrLFIsRyxoLEQsYyl7cmV0dXJuIFcoRCwoQygxNDIsKGJOKDU3LGgsKChjPVcoRCwxNDIpLEQud2ImJmM8RC5qKT8oUShELDE0MixELmopLHByKDUwNixrLDE0MixSLDEwNCxEKSk6QygxNDIsUixEKSxEKSw0MSksYyksRCksRykpfSxGWD1mdW5jdGlvbigpe3JldHVybiBNUC5jYWxsKHRoaXMsMjApfSxYWD1mdW5jdGlvbihrLFIsRyxoLEQpe0Q9dHlwZW9mIFI7c3dpdGNoKCEoRD09Im9iamVjdCIpKXtjYXNlIE5hTiE9PU51bWJlcih1bmRlZmluZWQpOmZvcihbXSE9KCFbIiJdPT1OdW1iZXIoKSk7RD09ImZ1bmN0aW9uIiYmdHlwZW9mIFIuY2FsbD09InVuZGVmaW5lZCI7MCl7cmV0dXJuIm9iamVjdCI7aWYoIkYiKWJyZWFrfWJyZWFrO2Nhc2UgbnVsbD09KG51bGw9PWZhbHNlKTpzd2l0Y2goIVIpe2Nhc2UgIVtdPT0wOnJldHVybiBHO2JyZWFrO2Nhc2UgIVt1bmRlZmluZWRdIT0wOmlmKFIgaW5zdGFuY2VvZiBBcnJheSlyZXR1cm4gaztzd2l0Y2goIShSIGluc3RhbmNlb2YgT2JqZWN0KSl7Y2FzZSB0cnVlOltdIT0odHJ1ZSE9W10pO2JyZWFrO2Nhc2UgIVtdPT0oLTA9PT0wKTpyZXR1cm4gRDticmVha31oPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChSKTtmb3IoZmFsc2U7aD09IltvYmplY3QgV2luZG93XSI7ZmFsc2Upe3JldHVybiJvYmplY3QiO2lmKFtdPT0oIWZhbHNlPT0hIiIpIT1udWxsKWJyZWFrfWZvcihOdW1iZXIoKTtoPT0iW29iamVjdCBBcnJheV0ifHx0eXBlb2YgUi5sZW5ndGg9PSJudW1iZXIiJiZ0eXBlb2YgUi5zcGxpY2UhPSJ1bmRlZmluZWQiJiZ0eXBlb2YgUi5wcm9wZXJ0eUlzRW51bWVyYWJsZSE9InVuZGVmaW5lZCImJiFSLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJzcGxpY2UiKTtmYWxzZSl7cmV0dXJuIGs7aWYoIlkiKWJyZWFrfXN3aXRjaCghKGg9PSJbb2JqZWN0IEZ1bmN0aW9uXSJ8fHR5cGVvZiBSLmNhbGwhPSJ1bmRlZmluZWQiJiZ0eXBlb2YgUi5wcm9wZXJ0eUlzRW51bWVyYWJsZSE9InVuZGVmaW5lZCImJiFSLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJjYWxsIikpKXtjYXNlIFtdIT10cnVlOjE7YnJlYWs7Y2FzZSBmYWxzZTpyZXR1cm4iZnVuY3Rpb24iO2JyZWFrfWJyZWFrfWJyZWFrfXJldHVybiBEfSxyVT1mdW5jdGlvbihrLFIpe3JldHVybiB0Vy5jYWxsKHRoaXMsMjgsayxSKX0seD1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSl7bT10aGlzO3RyeXtjZChSLG4sYyxaLGssdGhpcyxoLEQsRyl9Y2F0Y2goQil7ZSg4OSwiOiIsdGhpcyxCKSxEKGZ1bmN0aW9uKFQpe1QobS5LKX0pfX0sWnk9ZnVuY3Rpb24oayxSKXtmdW5jdGlvbiBHKCl7dGhpcy5uPSh0aGlzLlQ9W10sMCl9cmV0dXJuW2Z1bmN0aW9uKGgpe2sueE4oaCksUi54TihoKX0sKFI9KGs9KEcucHJvdG90eXBlLnhOPShHLnByb3RvdHlwZS5POT1mdW5jdGlvbigpe3JldHVybiBSQi5jYWxsKHRoaXMsMyl9LGZ1bmN0aW9uKGgsRCl7cmV0dXJuIGNZLmNhbGwodGhpcywzMyxoLDExLEQpfSksbmV3IEcpLG5ldyBHKSxmdW5jdGlvbihoLEQpe3JldHVybiBEPShoPWg9PT12b2lkIDA/dHJ1ZTpoLGsuTzkoKS5jb25jYXQoUi5POSgpKSksaCYmKFI9bmV3IEcpLER9KV19LGtuPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIsVCxOLFApe209a1swXTtzd2l0Y2goIShtPT0kZikpe2Nhc2UgZmFsc2U9PSFbXTppZihtPT1CZCloLlc9RyxoLnM5PTI1LGgueVQ9aC5SbygpLWtbUl0saC5pKGspO2Vsc2UgaWYobT09QW8pe0I9a1sxXVszXTt0cnl7Yz1oLkt8fGguaShrKX1jYXRjaChkKXtlKDU4LCI6IixoLGQpLGM9aC5LfShuPWguSigpLEIoYyksaCkuWCs9aC5KKCktbn1lbHNlIHN3aXRjaCghKG09PW1jKSl7Y2FzZSBOYU4hPT1OdW1iZXIodW5kZWZpbmVkKTpzd2l0Y2goIShtPT1HdCkpe2Nhc2UgMD09PS0wOnN3aXRjaCghKG09PVJZKSl7Y2FzZSBOdW1iZXIoKT09PS1OdW1iZXIoKTppZihtPT1NVClyZXR1cm4gRD1rW1JdLEEoNDUxLGgsa1s2XSksQygxNTcsRCxoKSxoLmkoayk7bT09ZHI/KGguaShrKSxoLlk9bnVsbCxoLnVYPVtdLGgud2I9W10pOm09PXhuJiZILmRvY3VtZW50LnJlYWR5U3RhdGU9PT0ibG9hZGluZyImJihoLlM9ZnVuY3Rpb24oZCxJKXtmdW5jdGlvbiBTKFgpe2ZvcihYPTk3O1ghPTU2OylYPT05Nz9YPUk/NTY6ODY6WD09ODYmJihJPUcsSC5kb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixTLG92KSxILnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLFMsb3YpLGQoKSxYPTU2KX1ILmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLChJPWZhbHNlLFMpLG92KSxILmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLFMsb3YpfSk7YnJlYWs7Y2FzZSBmYWxzZTp0cnl7e1A9MDt3aGlsZShQPGguU20ubGVuZ3RoKXt0cnl7Wj1oLlNtW1BdLFpbMF1bWlsxXV0oWltSXSl9Y2F0Y2goZCl7fVArK319fWNhdGNoKGQpe30oMCxrWzFdKShmdW5jdGlvbihkLEkpe2gucFgoZCxHLEkpfSxmdW5jdGlvbihkKXthKDQ0LChkPSFoLlAubGVuZ3RoJiYhaC5vLFtkcl0pLGgpLGQmJlJCKDMwLGZhbHNlLGgsZmFsc2UsRyl9LChoLlNtPVtdLFQ9aC5KKCksZnVuY3Rpb24oZCl7cmV0dXJuIGgudHgoZCl9KSxmdW5jdGlvbihkLEksUyl7cmV0dXJuIGguZWkoZCxJLFMpfSksaC5YKz1oLkooKS1UO2JyZWFrfWJyZWFrO2Nhc2UgZmFsc2U6aC51PUcsaC5pKGspO2JyZWFrfWJyZWFrO2Nhc2UgW109PShmYWxzZT09IVtdKTprWzNdJiYoaC51PUcpLGtbNF0mJihoLlc9RyksaC5pKGspO2JyZWFrfWJyZWFrO2Nhc2UgTmFOPT09TmFOOmlmKE49aC5pKGspKU4uSWE9SC5zZXRUaW1lb3V0KGZ1bmN0aW9uKGQpeyhhKChhKDQwLE4uUVQsKGQ9KE4uTW09RywhaC5QLmxlbmd0aCYmIWgubyksaCkpLDU4KSxOLmFhLGgpLGQpJiZSQigyNSxmYWxzZSxoLEcsRyl9LE4udGltZW91dCksaC52dC5wdXNoKE4pO2JyZWFrfX0sU009ZnVuY3Rpb24oayxSLEcpeyJzdGFjayJpbih0aGlzLm1lc3NhZ2U9KEc9RXJyb3IuY2FsbCh0aGlzLGsrIiBjYW5ub3QgYmUgdXNlZCB3aXRoIGludGVudCAiK21EW1JdKSxHLm1lc3NhZ2UpLEcpJiYodGhpcy5zdGFjaz1HLnN0YWNrKSx0aGlzLnR5cGU9ayx0aGlzLm5hbWU9IlR5cGVDYW5ub3RCZVVzZWRXaXRoSWZyYW1lSW50ZW50RXJyb3IifSxnVT1mdW5jdGlvbihrLFIsRyl7cmV0dXJuIEFXLmNhbGwodGhpcyw0MSxrLDI5LFIsRyl9LEE9ZnVuY3Rpb24oayxSLEcpe2lmKGs9PTE0Mnx8az09MTY4KVIuWVtrXT9SLllba10uY29uY2F0KEcpOlIuWVtrXT1xKDM3LEcsUik7ZWxzZXtpZihSLnluJiZrIT0zNjMpcmV0dXJuO2s9PTQ4OHx8az09NDJ8fGs9PTI2NHx8az09MTR8fGs9PTUwNnx8az09NDQ2fHxrPT0xNjN8fGs9PTk1fHxrPT0xOTF8fGs9PTMwMj9SLllba118fChSLllba109WSgyLDQwLFIsRyxrLDM4KSk6Ui5ZW2tdPVkoMiwzMixSLEcsaywxMjkpfWs9PTM2MyYmKFIuTj1HTigzMixSLGZhbHNlKSxSLmw9dm9pZCAwKX0sbng9ZnVuY3Rpb24oayxSLEcsaCxEKXt3aGlsZShrLmxlbmd0aD09Myl7e2g9MDt3aGlsZShoPDMpUltoXSs9a1toXSxoKyt9RD1bMTMsOCwxMywxMiwxNiw1LDMsMTAsMTVdO3tHPTA7d2hpbGUoRzw5KVJbM10oUixHJTMsRFtHXSksRysrfWlmKHt9KWJyZWFrfX0sS3I9ZnVuY3Rpb24oKXt7dmFyIGs9OTM7d2hpbGUoayE9Mzkpe2lmKGs9PTkwKXJldHVybiBoO2lmKGs9PTc3KWs9Rzxhcmd1bWVudHMubGVuZ3RoPzE2OjkwO2Vsc2UgaWYoaz09OTMpdmFyIFI9KGs9MTEsTnVtYmVyKSh0aGlzKSxHPVIsaD1bXTtlbHNlIGs9PTExP2s9Nzc6az09OTI/KEcrKyxrPTc3KTprPT0xNiYmKGhbRy1SXT1hcmd1bWVudHNbR10saz05Mil9fX0scHI9ZnVuY3Rpb24oayxSLEcsaCxELGMpe3doaWxlKGZhbHNlPT0wKWlmKGMuRnoubGVuZ3RoPkQ/YXYoayxjLFIsW3dVLDM2XSk6KGMuRnoucHVzaChjLlkuc2xpY2UoKSksYy5ZW0ddPXZvaWQgMCxBKEcsYyxoKSksIVtdPT0wKWJyZWFrfSxiPWZ1bmN0aW9uKGssUixHKXtHPWsuWVtSXTt3aGlsZShHPT09dm9pZCAwKXt0aHJvd1t3VSwzMCxSXTtpZigwPT0hW3RydWUudHJ1ZV0pYnJlYWt9c3dpdGNoKCFHLnZhbHVlKXtjYXNlIDA9PSFbXTpbXSE9KHRydWUhPVtdKTticmVhaztjYXNlIG51bGw9PShmYWxzZT09bnVsbCk6cmV0dXJuIEcuY3JlYXRlKCk7YnJlYWt9cmV0dXJuKEcuY3JlYXRlKFIqMipSKy0zMSpSKzU4KSxHKS5wcm90b3R5cGV9LE5ELHRvPWZ1bmN0aW9uKGssUixHLGgsRCxjKXtyZXR1cm4gRjEuY2FsbCh0aGlzLDk0LCJvbiIsMjQsayxSLEcsaCxELGMpfSxUdD1mdW5jdGlvbihrLFIsRyxoLEQpe3JldHVybiBMbi5jYWxsKHRoaXMsMyxrLEcsMTIsRCxSLGgpfSxEWj1mdW5jdGlvbigpe3JldHVybiBLbi5jYWxsKHRoaXMsMCwxLDUpfSxnSj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCKXtyZXR1cm4gQlkuY2FsbCh0aGlzLGssMTIsUixHLGgsRCxjLFosbixtLEIpfSxWPWZ1bmN0aW9uKGssUixHKXtHPVIuWVtrXTtzd2l0Y2goIShHPT09dm9pZCAwKSl7Y2FzZSAwPT0hWyIiXTowPT0hWyIiXTticmVhaztjYXNlIDAhPT0tTnVtYmVyKCk6dGhyb3dbd1UsMzAsa107YnJlYWt9aWYoRy52YWx1ZSlyZXR1cm4gRy5jcmVhdGUoKTtyZXR1cm4oRy5jcmVhdGUoayoyKmsrLTMxKmsrNTgpLEcpLnByb3RvdHlwZX0sUzg9ZnVuY3Rpb24oayxSLEcsaCl7dHJ5e2g9a1soKFJ8MCkrMiklM10sa1tSXT0oa1tSXXwwKS0oa1soLTIqfihSJjEpKy0yKyhSJi0yKSsoflImMSkpJTNdfDApLShofDApXihSPT0xP2g8PEc6aD4+PkcpfWNhdGNoKEQpe3Rocm93IEQ7fX0sSVk9ZnVuY3Rpb24oKXtyZXR1cm4gckouY2FsbCh0aGlzLDgpfSxRZj1mdW5jdGlvbigpe3JldHVybiBlLmNhbGwodGhpcyw1MSl9LFgxPWZ1bmN0aW9uKGspe3JldHVybiBOUC5jYWxsKHRoaXMsNCxrLDMpfSx1Tj1mdW5jdGlvbihrLFIsRyxoKXtoPXEoNTcsKEc9WShSLDczKSxSKSksamUoaCxLKGssVihHLFIpKSxSKX0sYk49ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0pe2lmKCFHLkspe0cuRDcrKzt0cnl7RD1HLmo7d2hpbGUoIW51bGwpaWYoYz12b2lkIDAsdHJ1ZSE9IVtdKWJyZWFrO2ZvcihaPTA7LS1SOyl0cnl7aWYobT12b2lkIDAsRy5WKWM9a2YoRyxHLlYpO2Vsc2V7aWYoKFo9VigxNDIsRyksWik+PUQpYnJlYWs7Yz1iKEcsKG09cSg4OSwoUShHLDE2OCxaKSxHKSksbSkpfU5UKGZhbHNlLDMzLChjJiYobj1jW2RyXSwobnwwKSsyMDQ4LShufDIwNDgpKT9jKEcsUik6YXYoNTA2LEcsMCxbd1UsMjEsbV0pLFIpLGZhbHNlLEcsZmFsc2UpfWNhdGNoKEIpe1coRyxoKT9hdig1MDYsRywyMixCKTpBKGgsRyxCKX1mb3IodHJ1ZSsobnVsbCE9KDAhPSFbXSkpOyFSOzEpe2Zvcih2b2lkIDA7Ry5ObTshW109PWZhbHNlKXtiTig1NywoRy5ENy0tLDYwMzE5ODAwNTkzMCksRyw0MSk7cmV0dXJuO2lmKDMpYnJlYWt9aWYoYXYoNTA2LEcsMCxbd1UsMzNdKSwxKWJyZWFrfX1jYXRjaChCKXt0cnl7YXYoNTA2LEcsMjIsQil9Y2F0Y2goVCl7ZShrLCI6IixHLFQpfX1HLkQ3LS19fSxwbj1mdW5jdGlvbihrKXtyZXR1cm4gSUIuY2FsbCh0aGlzLDI0LGspfSx1O3N3aXRjaCghKHR5cGVvZiBPYmplY3Quc2V0UHJvdG90eXBlT2Y9PSJmdW5jdGlvbiIpKXtjYXNlICEiIj09IWZhbHNlOnZhciBYUTthOnt2YXIgTUQ9e30sb1k9e2E6dHJ1ZX07dHJ5e01ELl9fcHJvdG9fXz1vWTt3aGlsZShOdW1iZXIoKT09ZmFsc2UpaWYoWFE9TUQuYSx0cnVlIT1bXSlicmVhazticmVhayBhfWNhdGNoKGspe31YUT1mYWxzZX1ORD1YUT9mdW5jdGlvbihrLFIsRyl7Zm9yKEc9MTU7RyE9NTI7KXtpZihHPT02NilyZXR1cm4gaztpZihHPT0xNSlrLl9fcHJvdG9fXz1SLEc9Nzg7ZWxzZSBpZihHPT03OClHPWsuX19wcm90b19fIT09Uj80MTo2NjtlbHNlIGlmKEc9PTQxKXRocm93IG5ldyBUeXBlRXJyb3IoaysiIGlzIG5vdCBleHRlbnNpYmxlIik7fX06bnVsbDticmVhaztjYXNlIDAhPSFbXTpORD1PYmplY3Quc2V0UHJvdG90eXBlT2Y7YnJlYWt9dmFyIEg9dGhpc3x8c2VsZix0MD1ORCxFUj0iY2xvc3VyZV91aWRfIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKSxIdT0wLFpaLGZuPWZ1bmN0aW9uKGssUixHLGgsRCxjKXtEPTgxO3toPTU0O3doaWxlKFtdKXRyeXtpZihEPT0zNSlicmVhaztlbHNlIGlmKEQ9PTgwKVI9ZmFsc2UsRz1PYmplY3QuZGVmaW5lUHJvcGVydHkoe30sInBhc3NpdmUiLHtnZXQ6ZnVuY3Rpb24oKXtSPXRydWV9fSksRD01MDtlbHNlIGlmKEQ9PTMwKWg9NTQsRD0zMjtlbHNle2lmKEQ9PTMyKXJldHVybiBoPTU0LFI7aWYoRD09MzMpcmV0dXJuIGZhbHNlO0Q9PTUwPyhoPTM4LGs9ZnVuY3Rpb24oKXt9LEguYWRkRXZlbnRMaXN0ZW5lcigidGVzdCIsayxHKSxILnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3QiLGssRyksRD0zMik6RD09ODEmJihEPUguYWRkRXZlbnRMaXN0ZW5lciYmT2JqZWN0LmRlZmluZVByb3BlcnR5PzgwOjMzKX19Y2F0Y2goWil7aWYoaD09NTQpdGhyb3cgWjtoPT0zOCYmKGM9WixEPTMwKX19fSgpLGRKPSJjbG9zdXJlX2xpc3RlbmFibGVfIisoKCgoKEJZKDIsNDUsclUsKGFCLnByb3RvdHlwZS5wcmV2ZW50RGVmYXVsdD0oV3UucHJvdG90eXBlW1d1LnByb3RvdHlwZS5kaXNwb3NlPShXdS5wcm90b3R5cGUuZz1mYWxzZSxmdW5jdGlvbihrKXt7az05NTt3aGlsZShrIT0xMilrPT01Mj8odGhpcy5nPXRydWUsdGhpcy5VKCksaz0xMik6az09OTUmJihrPXRoaXMuZz8xMjo1Mil9fSksKGFCLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXt0aGlzLlB0PXRydWV9LFN5bWJvbCkuZGlzcG9zZV09KFd1LnByb3RvdHlwZS5VPWZ1bmN0aW9uKGspe3trPTc2O3doaWxlKGshPTQ2KWs9PTU4P2s9ODA6az09MzY/KHRoaXMubFguc2hpZnQoKSgpLGs9NDEpOms9PTgwP2s9dGhpcy5sWC5sZW5ndGg/MzY6NDY6az09NDE/az04MDprPT03NiYmKGs9dGhpcy5sWD81ODo0Nil9fSxmdW5jdGlvbigpe3RoaXMuZGlzcG9zZSgpfSksZnVuY3Rpb24oKXt0aGlzLmRlZmF1bHRQcmV2ZW50ZWQ9dHJ1ZX0pLGFCKSksclUucHJvdG90eXBlKS5pbml0PWZ1bmN0aW9uKGssUixHLGgsRCxjKXtmb3IoYz0zOTtjIT05NjspYz09MTY/Yz1EPT0ibW91c2VvdmVyIj8yMjoyMzpjPT0yMz9jPUQ9PSJtb3VzZW91dCI/MTI6ODQ6Yz09OTk/KHRoaXMub2Zmc2V0WD1rLm9mZnNldFgsdGhpcy5vZmZzZXRZPWsub2Zmc2V0WSx0aGlzLmNsaWVudFg9ay5jbGllbnRYIT09dm9pZCAwP2suY2xpZW50WDprLnBhZ2VYLHRoaXMuY2xpZW50WT1rLmNsaWVudFkhPT12b2lkIDA/ay5jbGllbnRZOmsucGFnZVksdGhpcy5zY3JlZW5YPWsuc2NyZWVuWHx8MCx0aGlzLnNjcmVlblk9ay5zY3JlZW5ZfHwwLGM9MjApOmM9PTg0Pyh0aGlzLnJlbGF0ZWRUYXJnZXQ9aCxjPTgxKTpjPT01ND8odGhpcy5jbGllbnRYPUcuY2xpZW50WCE9PXZvaWQgMD9HLmNsaWVudFg6Ry5wYWdlWCx0aGlzLmNsaWVudFk9Ry5jbGllbnRZIT09dm9pZCAwP0cuY2xpZW50WTpHLnBhZ2VZLHRoaXMuc2NyZWVuWD1HLnNjcmVlblh8fDAsdGhpcy5zY3JlZW5ZPUcuc2NyZWVuWXx8MCxjPTIwKTpjPT0yMD8odGhpcy5idXR0b249ay5idXR0b24sdGhpcy5rZXlDb2RlPWsua2V5Q29kZXx8MCx0aGlzLmtleT1rLmtleXx8IiIsdGhpcy5jaGFyQ29kZT1rLmNoYXJDb2RlfHwoRD09ImtleXByZXNzIj9rLmtleUNvZGU6MCksdGhpcy5jdHJsS2V5PWsuY3RybEtleSx0aGlzLmFsdEtleT1rLmFsdEtleSx0aGlzLnNoaWZ0S2V5PWsuc2hpZnRLZXksdGhpcy5tZXRhS2V5PWsubWV0YUtleSx0aGlzLnBvaW50ZXJJZD1rLnBvaW50ZXJJZHx8MCx0aGlzLnBvaW50ZXJUeXBlPWsucG9pbnRlclR5cGUsdGhpcy5zdGF0ZT1rLnN0YXRlLHRoaXMudGltZVN0YW1wPWsudGltZVN0YW1wLHRoaXMuWU49ayxrLmRlZmF1bHRQcmV2ZW50ZWQmJnJVLk8ucHJldmVudERlZmF1bHQuY2FsbCh0aGlzKSxjPTk2KTpjPT02OD9jPWg/ODQ6MTY6Yz09MjI/KGg9ay5mcm9tRWxlbWVudCxjPTg0KTpjPT04MT9jPUc/NTQ6OTk6Yz09MTI/KGg9ay50b0VsZW1lbnQsYz04NCk6Yz09MzkmJihEPXRoaXMudHlwZT1rLnR5cGUsRz1rLmNoYW5nZWRUb3VjaGVzJiZrLmNoYW5nZWRUb3VjaGVzLmxlbmd0aD9rLmNoYW5nZWRUb3VjaGVzWzBdOm51bGwsdGhpcy50YXJnZXQ9ay50YXJnZXR8fGsuc3JjRWxlbWVudCx0aGlzLmN1cnJlbnRUYXJnZXQ9UixoPWsucmVsYXRlZFRhcmdldCxjPTY4KX0sclUpLnByb3RvdHlwZS5zdG9wUHJvcGFnYXRpb249ZnVuY3Rpb24oKXsoclUuTy5zdG9wUHJvcGFnYXRpb24uY2FsbCh0aGlzKSx0aGlzLllOLnN0b3BQcm9wYWdhdGlvbik/dGhpcy5ZTi5zdG9wUHJvcGFnYXRpb24oKTp0aGlzLllOLmNhbmNlbEJ1YmJsZT10cnVlfSxyVSkucHJvdG90eXBlLnByZXZlbnREZWZhdWx0PWZ1bmN0aW9uKGspeyhrPShyVS5PLnByZXZlbnREZWZhdWx0LmNhbGwodGhpcyksdGhpcy5ZTiksaykucHJldmVudERlZmF1bHQ/ay5wcmV2ZW50RGVmYXVsdCgpOmsucmV0dXJuVmFsdWU9ZmFsc2V9LE1hdGgucmFuZG9tKCkpKjFFNnwwKSxIWT0iY29uc3RydWN0b3IgaGFzT3duUHJvcGVydHkgaXNQcm90b3R5cGVPZiBwcm9wZXJ0eUlzRW51bWVyYWJsZSB0b0xvY2FsZVN0cmluZyB0b1N0cmluZyB2YWx1ZU9mIi5zcGxpdCgiICIpLEl2PTAsbDk9KCgoak0ucHJvdG90eXBlLmFkZD0oak0ucHJvdG90eXBlLmhhc0xpc3RlbmVyPWZ1bmN0aW9uKGssUixHLGgsRCl7cmV0dXJuIHJKKDEwLHRydWUsZmFsc2UsKEc9KGg9KEQ9ayE9PXZvaWQgMCk/ay50b1N0cmluZygpOiIiLFIhPT12b2lkIDApLHRoaXMuWiksZnVuY3Rpb24oYyxaLG4pe2ZvcihuPTM4O24hPTgzOylpZihuPT04OCkrK1osbj0zMjtlbHNle2lmKG49PTE4KXJldHVybiBmYWxzZTtpZihuPT03NyluPTMyO2Vsc2UgaWYobj09ODkpbj1EJiZjW1pdLnR5cGUhPWh8fEcmJmNbWl0uY2FwdHVyZSE9Uj84ODoxNDtlbHNle2lmKG49PTE0KXJldHVybiB0cnVlO249PTMyP249WjxjLmxlbmd0aD84OToxODpuPT0zOCYmKFo9MCxuPTc3KX19fSl9LGZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIpe3tCPTczO3doaWxlKEIhPTI5KWlmKEI9PTEwKW0uYW89ZmFsc2UsQj01MTtlbHNlIGlmKEI9PTIxKUI9Yz4tMT8wOjcxO2Vsc2UgaWYoQj09NDMpQj1HPzUxOjEwO2Vsc2V7aWYoQj09NTEpcmV0dXJuIG07Qj09MD8obT1uW2NdLEI9NDMpOkI9PTk0PyhuPXRoaXMuWltaXT1bXSx0aGlzLkp4KyssQj0zMik6Qj09NzE/KG09bmV3IFR0KEQsdGhpcy5zcmMsWixSLCEhaCksbS5hbz1HLG4ucHVzaChtKSxCPTUxKTpCPT0zMj8oYz1ySigyMSwwLGgsRCxuLFIpLEI9MjEpOkI9PTczPyhaPWsudG9TdHJpbmcoKSxuPXRoaXMuWltaXSxCPTQ4KTpCPT00OCYmKEI9bj8zMjo5NCl9fX0pLGpNKS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbil7e249MjI7d2hpbGUobiE9NDIpaWYobj09MzkpaFcoMjMsdHJ1ZSxEW2NdKSxBcnJheS5wcm90b3R5cGUuc3BsaWNlLmNhbGwoRCxjLDEpLG49NzQ7ZWxzZSBpZihuPT05OSluPWM+LTE/Mzk6NTk7ZWxzZXtpZihuPT0yKXJldHVybiB0cnVlO2lmKG49PTUpZGVsZXRlIHRoaXMuWltaXSx0aGlzLkp4LS0sbj0yO2Vsc2UgaWYobj09NzQpbj1ELmxlbmd0aD09MD81OjI7ZWxzZSBpZihuPT04MyluPVogaW4gdGhpcy5aPzg0OjA7ZWxzZXtpZihuPT01OXx8bj09MClyZXR1cm4gZmFsc2U7bj09MjI/KFo9ay50b1N0cmluZygpLG49ODMpOm49PTg0JiYoRD10aGlzLlpbWl0sYz1ySigyMCwwLEcsaCxELFIpLG49OTkpfX19fSxqTSkucHJvdG90eXBlLkNYPWZ1bmN0aW9uKGssUixHLGgsRCxjKXtyZXR1cm4oRD10aGlzLlpbay50b1N0cmluZygpXSxjPS0xLEQmJihjPXJKKDIyLDAsaCxHLEQsUikpLGMpPi0xP0RbY106bnVsbH0sImNsb3N1cmVfbG1fIikrKE1hdGgucmFuZG9tKCkqMUU2fDApLGk5PTAsVE49e30sZFU9Il9fY2xvc3VyZV9ldmVudHNfZm5fIisoTWF0aC5yYW5kb20oKSoxRTk+Pj4wKTsoKCgoKEJZKDIsNDMsRFosV3UpLERaLnByb3RvdHlwZSlbZEpdPXRydWUsdT1EWi5wcm90b3R5cGUsdSkuemY9ZnVuY3Rpb24oayl7dGhpcy5Obz1rfSx1KS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGssUixHLGgpe3Z1KDU2LGZhbHNlLFIsRyx0aGlzLHRydWUsaywzLGgpfSx1KS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGssUixHLGgpe0J1KDE2LDAsIm9iamVjdCIsRyxSLGgsayx0aGlzKX0sdS5kaXNwYXRjaEV2ZW50PWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIsVCxOKXtmb3IoTj03NDtOIT02MTspaWYoTj09ODYpQj1SLmN1cnJlbnRUYXJnZXQ9bixoPVBZKDUsMCxCLG0sdHJ1ZSxSKSYmaCxSLlB0fHwoaD1QWSgzLDAsQixtLGZhbHNlLFIpJiZoKSxOPTY0O2Vsc2UgaWYoTj09OTEpTj05O2Vsc2UgaWYoTj09NilOPVIuUHQ/NjQ6ODY7ZWxzZSBpZihOPT0yKUI9Ui5jdXJyZW50VGFyZ2V0PWNbWl0saD1QWSg3LDAsQixtLHRydWUsUikmJmgsTj0yNDtlbHNlIGlmKE49PTY4KUQ9W10sTj00O2Vsc2UgaWYoTj09NzMpRC5wdXNoKEcpLE49NzE7ZWxzZSBpZihOPT02NClOPWM/NDc6MjU7ZWxzZSBpZihOPT01MyloPXRydWUsTj0xMjtlbHNlIGlmKE49PTkpTj0hUi5QdCYmWj49MD8yOjY7ZWxzZSBpZihOPT0xNSlOPXR5cGVvZiBSPT09InN0cmluZyI/Mzc6ODtlbHNlIGlmKE49PTQ3KVo9MCxOPTk5O2Vsc2V7aWYoTj09MjUpcmV0dXJuIGg7Tj09OTk/Tj05NzpOPT00MD8oWisrLE49OTcpOk49PTY5PyhSLnRhcmdldD1SLnRhcmdldHx8bixOPTUzKTpOPT0zNz8oUj1uZXcgYUIoUixuKSxOPTUzKTpOPT0zMz9OPUc/Njg6NzU6Tj09MjQ/KFotLSxOPTkpOk49PTQ/Tj04OTpOPT03ND8oRz10aGlzLk5vLE49MzMpOk49PTg1PyhCPVIuY3VycmVudFRhcmdldD1jW1pdLGg9UFkoNiwwLEIsbSxmYWxzZSxSKSYmaCxOPTQwKTpOPT0xND8oVD1SLFI9bmV3IGFCKG0sbiksQ3IoUixUKSxOPTUzKTpOPT03NT8oUj1rLG09Ui50eXBlfHxSLG49dGhpcy5scSxjPUQsTj0xNSk6Tj09NDM/KFo9Yy5sZW5ndGgtMSxOPTkxKTpOPT04OT9OPUc/NzM6NzU6Tj09NzE/KEc9Ry5ObyxOPTg5KTpOPT04P049UiBpbnN0YW5jZW9mIGFCPzY5OjE0Ok49PTEyP049Yz80Mzo2Ok49PTk3JiYoTj0hUi5QdCYmWjxjLmxlbmd0aD84NToyNSl9fSx1KS5VPWZ1bmN0aW9uKCl7dGhpcy5Obz0oRFouTy5VLmNhbGwodGhpcyksdGhpcy5JJiZCdSg3MiwwLHRydWUsdGhpcy5JKSxudWxsKX0sdS5DWD1mdW5jdGlvbihrLFIsRyxoKXtyZXR1cm4gdGhpcy5JLkNYKFN0cmluZyhrKSxSLEcsaCl9LHUuaGFzTGlzdGVuZXI9ZnVuY3Rpb24oayxSKXtyZXR1cm4gdGhpcy5JLmhhc0xpc3RlbmVyKGshPT12b2lkIDA/U3RyaW5nKGspOnZvaWQgMCxSKX07dmFyIHNSLFVSLHJyPShYMS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5LaisiIn0sRXJyb3IpLG1EPXtGaTowLEFzOjEsemU6MiwwOiJGT1JNQVRURURfSFRNTF9DT05URU5UIiwxOiJFTUJFRERFRF9JTlRFUk5BTF9DT05URU5UIiwyOiJFTUJFRERFRF9UUlVTVEVEX0VYVEVSTkFMX0NPTlRFTlQifTtTTS5wcm90b3R5cGU9RHkocnIucHJvdG90eXBlKSxTTS5wcm90b3R5cGUuY29uc3RydWN0b3I9U007c3dpdGNoKCF0MCl7Y2FzZSAhW10hPShudWxsIT1mYWxzZSk6Zm9yKHZhciB3ciBpbiBycilpZih3ciE9InByb3RvdHlwZSIpaWYoT2JqZWN0LmRlZmluZVByb3BlcnRpZXMpe3ZhciBlOD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHJyLHdyKTtlOCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KFNNLHdyLGU4KX1lbHNlIFNNW3dyXT1yclt3cl07YnJlYWs7Y2FzZSBmYWxzZTp0MChTTSxycik7YnJlYWt9aWYoTmFOIT09KCgodT0oIkFSVElDTEUgU0VDVElPTiBOQVYgQVNJREUgSDEgSDIgSDMgSDQgSDUgSDYgSEVBREVSIEZPT1RFUiBBRERSRVNTIFAgSFIgUFJFIEJMT0NLUVVPVEUgT0wgVUwgTEggTEkgREwgRFQgREQgRklHVVJFIEZJR0NBUFRJT04gTUFJTiBESVYgRU0gU1RST05HIFNNQUxMIFMgQ0lURSBRIERGTiBBQkJSIFJVQlkgUkIgUlQgUlRDIFJQIERBVEEgVElNRSBDT0RFIFZBUiBTQU1QIEtCRCBTVUIgU1VQIEkgQiBVIE1BUksgQkRJIEJETyBTUEFOIEJSIFdCUiBOT0JSIElOUyBERUwgUElDVFVSRSBQQVJBTSBUUkFDSyBNQVAgVEFCTEUgQ0FQVElPTiBDT0xHUk9VUCBDT0wgVEJPRFkgVEhFQUQgVEZPT1QgVFIgVEQgVEggU0VMRUNUIERBVEFMSVNUIE9QVEdST1VQIE9QVElPTiBPVVRQVVQgUFJPR1JFU1MgTUVURVIgRklFTERTRVQgTEVHRU5EIERFVEFJTFMgU1VNTUFSWSBNRU5VIERJQUxPRyBTTE9UIENBTlZBUyBGT05UIENFTlRFUiBBQ1JPTllNIEJBU0VGT05UIEJJRyBESVIgSEdST1VQIFNUUklLRSBUVCIuc3BsaXQoKFNNLk89cnIucHJvdG90eXBlLCIgIikpLmNvbmNhdChbIkJVVFRPTiIsIklOUFVUIl0pLG5uKS5wcm90b3R5cGUsdSkuRj1mdW5jdGlvbihrKXtyZXR1cm4gdHlwZW9mIGs9PT0ic3RyaW5nIj90aGlzLk1vLmdldEVsZW1lbnRCeUlkKGspOmt9LHUuZ2V0RWxlbWVudHNCeVRhZ05hbWU9ZnVuY3Rpb24oayxSKXtyZXR1cm4oUnx8dGhpcy5NbykuZ2V0RWxlbWVudHNCeVRhZ05hbWUoU3RyaW5nKGspKX0sdS5jcmVhdGVFbGVtZW50PWZ1bmN0aW9uKGssUixHKXtyZXR1cm4oRz0oUj10aGlzLk1vLFN0cmluZyhrKSksUi5jb250ZW50VHlwZT09PSJhcHBsaWNhdGlvbi94aHRtbCt4bWwiJiYoRz1HLnRvTG93ZXJDYXNlKCkpLFIpLmNyZWF0ZUVsZW1lbnQoRyl9LHUuY3JlYXRlVGV4dE5vZGU9ZnVuY3Rpb24oayl7cmV0dXJuIHRoaXMuTW8uY3JlYXRlVGV4dE5vZGUoU3RyaW5nKGspKX0sdS5hcHBlbmRDaGlsZD1mdW5jdGlvbihrLFIpe2suYXBwZW5kQ2hpbGQoUil9LHUpLmFwcGVuZD1mdW5jdGlvbihrLFIpe3RXKDE4LGZhbHNlLCJudW1iZXIiLCIiLDAsay5ub2RlVHlwZT09OT9rOmsub3duZXJEb2N1bWVudHx8ay5kb2N1bWVudCxhcmd1bWVudHMsayl9LHUuY2FuSGF2ZUNoaWxkcmVuPWZ1bmN0aW9uKGssUil7e1I9MDt3aGlsZShSIT01NSlpZihSPT0wKVI9ay5ub2RlVHlwZSE9MT85ODoyODtlbHNle2lmKFI9PTI4KXtzd2l0Y2goay50YWdOYW1lKXtjYXNlICJBUFBMRVQiOmNhc2UgIkFSRUEiOmNhc2UgIkJBU0UiOmNhc2UgIkJSIjpjYXNlICJDT0wiOmNhc2UgIkNPTU1BTkQiOmNhc2UgIkVNQkVEIjpjYXNlICJGUkFNRSI6Y2FzZSAiSFIiOmNhc2UgIklNRyI6Y2FzZSAiSU5QVVQiOmNhc2UgIklGUkFNRSI6Y2FzZSAiSVNJTkRFWCI6Y2FzZSAiS0VZR0VOIjpjYXNlICJMSU5LIjpjYXNlICJOT0ZSQU1FUyI6Y2FzZSAiTk9TQ1JJUFQiOmNhc2UgIk1FVEEiOmNhc2UgIk9CSkVDVCI6Y2FzZSAiUEFSQU0iOmNhc2UgIlNDUklQVCI6Y2FzZSAiU09VUkNFIjpjYXNlICJTVFlMRSI6Y2FzZSAiVFJBQ0siOmNhc2UgIldCUiI6cmV0dXJuIGZhbHNlfXJldHVybiB0cnVlfWlmKFI9PTk4KXJldHVybiBmYWxzZX19fSx1LnJlbW92ZU5vZGU9UGQsdS5jb250YWlucz1mdW5jdGlvbihrLFIsRyxoKXtmb3IoaD05OTtoIT0xODspe2lmKGg9PTUxKXJldHVybiBrPT1SfHxrLmNvbnRhaW5zKFIpO2lmKGg9PTg3KWg9ay5jb250YWlucyYmUi5ub2RlVHlwZT09MT81MToyNDtlbHNlIGlmKGg9PTI3KWg9MjA7ZWxzZSBpZihoPT00NylSPVIucGFyZW50Tm9kZSxoPTI3O2Vsc2UgaWYoaD09NjgpaD0yMDtlbHNle2lmKGg9PTYwKXJldHVybiBrPT1SfHwhIShHPWsuY29tcGFyZURvY3VtZW50UG9zaXRpb24oUiksLX4oRyYxNikrKEdeMTYpKyh+R14xNikpO2lmKGg9PTk5KWg9ayYmUj84Nzo1NztlbHNle2lmKGg9PTM3KXJldHVybiBSPT1rO2lmKGg9PTI0KWg9dHlwZW9mIGsuY29tcGFyZURvY3VtZW50UG9zaXRpb24hPSJ1bmRlZmluZWQiPzYwOjY4O2Vsc2UgaWYoaD09MjApaD1SJiZrIT1SPzQ3OjM3O2Vsc2UgaWYoaD09NTcpcmV0dXJuIGZhbHNlfX19fSxOdW1iZXIodW5kZWZpbmVkKSkpaFcoNzQsSVkpOygodT0oQlkoMiwoSVkucHJvdG90eXBlLmJxPShJWS5wcm90b3R5cGUuR2U9MCwiIiksNDEpLERELERaKSxERC5wcm90b3R5cGUpLHUub2E9SVkublgoKSx1LkY9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5BfSx1LmdldFBhcmVudD1mdW5jdGlvbigpe2lmKCFbXSE9KCFbXT09MCkpcmV0dXJuIHRoaXMuWjd9LHUuQnQ9ZnVuY3Rpb24oKXsoSUIoMyx0aGlzLGZ1bmN0aW9uKGspe2suam0mJmsuQnQoKX0pLHRoaXMpLnMyJiZCdSg3MSwwLHRydWUsdGhpcy5zMiksdGhpcy5qbT1mYWxzZX0sdS5VPWZ1bmN0aW9uKGspe3trPTcxO3doaWxlKGshPTY1KWs9PTQzP2s9dGhpcy5zMj8xMDo5MTprPT0xMD8odGhpcy5zMi5kaXNwb3NlKCksZGVsZXRlIHRoaXMuczIsaz05MSk6az09NzE/KHRoaXMuam0mJnRoaXMuQnQoKSxrPTQzKTprPT05MSYmKElCKDcsdGhpcyxmdW5jdGlvbihSKXtSLmRpc3Bvc2UoKX0pLCF0aGlzLlhpJiZ0aGlzLkEmJlBkKHRoaXMuQSksdGhpcy5LWD10aGlzLlFuPXRoaXMuQT10aGlzLlo3PW51bGwsREQuTy5VLmNhbGwodGhpcyksaz02NSl9fSx1KS56Zj1mdW5jdGlvbihrLFIpe3tSPTM0O3doaWxlKFIhPTIpe2lmKFI9PTM2KXRocm93IEVycm9yKCJNZXRob2Qgbm90IHN1cHBvcnRlZCIpO1I9PTM0P1I9dGhpcy5aNyYmdGhpcy5aNyE9az8zNjo5NDpSPT05NCYmKERELk8uemYuY2FsbCh0aGlzLGspLFI9Mil9fX0sdSkucmVtb3ZlQ2hpbGQ9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuLG0sQixULE4pe3tOPTMzO3doaWxlKE4hPTcxKXtpZihOPT01OSl0aHJvdyBFcnJvcigiVW5hYmxlIHRvIHNldCBwYXJlbnQgY29tcG9uZW50Iik7aWYoTj09NDcpYz10aGlzLktYLEI9KGMhPT1udWxsJiZoIGluIGM/Y1toXTp2b2lkIDApfHxudWxsLE49Mzg7ZWxzZSBpZihOPT04MilaPXRoaXMuS1gsaCBpbiBaJiZkZWxldGUgWltoXSx0VygxMywwLGssdGhpcy5RbiksTj04NztlbHNlIGlmKE49PTkxKU49KEQ9ay5jVik/MDo3ODtlbHNle2lmKE49PTkpdGhyb3cgRXJyb3IoIkNoaWxkIGlzIG5vdCBpbiBwYXJlbnQgY29tcG9uZW50Iik7aWYoTj09MCluPUQsTj04MDtlbHNlIGlmKE49PTc1KW09ayxOPTE2O2Vsc2UgaWYoTj09MTYpTj1tPT1udWxsPzU5Ojk4O2Vsc2UgaWYoTj09OTgpbS5aNz1udWxsLERELk8uemYuY2FsbChtLG51bGwpLE49NTQ7ZWxzZSBpZihOPT0zMSlOPXR5cGVvZiBrPT09InN0cmluZyI/ODE6OTE7ZWxzZSBpZihOPT00MylOPWgmJms/ODI6NTQ7ZWxzZSBpZihOPT03OClHPWsub2EsVD1HLmJxKyI6IisoRy5HZSsrKS50b1N0cmluZygzNiksRD1rLmNWPVQsTj0wO2Vsc2UgaWYoTj09NylOPXRoaXMuS1gmJmg/NDc6Mjk7ZWxzZSBpZihOPT0yOSlCPW51bGwsTj0zODtlbHNlIGlmKE49PTgxKW49ayxOPTgwO2Vsc2UgaWYoTj09NTYpay5CdCgpLGsuQSYmUGQoay5BKSxOPTc1O2Vsc2UgaWYoTj09ODcpTj1SPzU2Ojc1O2Vsc2V7aWYoTj09NDYpcmV0dXJuIGs7Tj09Mzg/KGs9QixOPTQzKTpOPT0zMz9OPWs/MzE6NTQ6Tj09ODA/KGg9bixOPTcpOk49PTU0JiYoTj1rPzQ2OjkpfX19fX07dmFyIGx6LGo4PSh1PShoVyg3NSxmciksZnIucHJvdG90eXBlKSx1LklvPWZ1bmN0aW9uKGssUixHLGgpeyhoPWsuRj9rLkYoKTprKSYmKEc/THI6VmgpKGgsW1JdKX0sdS5BeD1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSl7Wj03Mzt7bj0yNDt3aGlsZSgibyIpdHJ5e2lmKFo9PTQpYnJlYWs7ZWxzZSBaPT01Mj8oYy50YWJJbmRleD0wLFo9NCk6Wj09OD8obj0yNCxaPTIxKTpaPT0yMT8obj0yNCxaPTY3KTpaPT0yOD9aPUQhPVI/NjM6NDpaPT0yNT8oRz1oLnRhYkluZGV4LEQ9dHlwZW9mIEc9PT0ibnVtYmVyIiYmRz49MCYmRzwzMjc2OCxaPTI4KTpaPT05MD8oYy50YWJJbmRleD0tMSxjLnJlbW92ZUF0dHJpYnV0ZSgidGFiSW5kZXgiKSxaPTQpOlo9PTI5P1o9KEQ9aC5oYXNBdHRyaWJ1dGUoInRhYmluZGV4IikpPzI1OjI4Olo9PTk4P1o9Uj81Mjo5MDpaPT0xMT9aPSFSJiZNUCg1LDMyLGspPzk5OjI5Olo9PTY3P1o9TVAoNywzMixrKT84MDoyOTpaPT04MD8oay5ZZSY0JiZrLnJiJjQmJmsuc2V0QWN0aXZlKGZhbHNlKSxrLlllJjMyJiZrLnJiJjMyJiZJQigxNCw0LGssZmFsc2UsMzIpJiZrLnYoZmFsc2UsMzIpLFo9MjkpOlo9PTk5PyhuPTEyLGguYmx1cigpLFo9MjEpOlo9PTYzPyhjPWgsWj05OCk6Wj09NzMmJihaPWsucmImMzImJihoPWsuaVgoKSk/MTE6NCl9Y2F0Y2goQil7aWYobj09MjQpdGhyb3cgQjtuPT0xMiYmKG09QixaPTgpfX19LHtidXR0b246InByZXNzZWQiLGNoZWNrYm94OiJjaGVja2VkIixtZW51aXRlbToic2VsZWN0ZWQiLG1lbnVpdGVtY2hlY2tib3g6ImNoZWNrZWQiLG1lbnVpdGVtcmFkaW86ImNoZWNrZWQiLHJhZGlvOiJjaGVja2VkIix0YWI6InNlbGVjdGVkIix0cmVlaXRlbToic2VsZWN0ZWQifSk7dS5maj1mdW5jdGlvbigpe3JldHVybiJnb29nLWNvbnRyb2wifTt3aGlsZSgwPT09LU51bWJlcigpKWlmKHUuYlg9ZnVuY3Rpb24oayxSLEcsaCxELGMsWixuKXsoKGg9KG49KGx6fHwobHo9ezE6ImRpc2FibGVkIiw4OiJzZWxlY3RlZCIsMTY6ImNoZWNrZWQiLDY0OiJleHBhbmRlZCJ9KSxseltSXSksay5nZXRBdHRyaWJ1dGUoInJvbGUiKXx8bnVsbCkpPyhEPWo4W2hdfHxuLFo9bj09ImNoZWNrZWQifHxuPT0ic2VsZWN0ZWQiP0Q6bik6Wj1uLGM9WikmJk9SKDEyLDgsZmFsc2UsImhpZGRlbiIsayxHLGMpfSx0cnVlKWJyZWFrO2lmKHUuaVg9KHUudj1mdW5jdGlvbihrLFIsRyxoLEQsYyxaKXt7Wj03OTt3aGlsZShaIT0xKVo9PTA/KGg9dGhpcy5maigpLGgucmVwbGFjZSgvXFx4YTB8XFxzL2csIiAiKSx0aGlzLlprPXsxOmgrIi1kaXNhYmxlZCIsMjpoKyItaG92ZXIiLDQ6aCsiLWFjdGl2ZSIsODpoKyItc2VsZWN0ZWQiLDE2OmgrIi1jaGVja2VkIiwzMjpoKyItZm9jdXNlZCIsNjQ6aCsiLW9wZW4ifSxaPTU2KTpaPT03OT8oRD1SLkYoKSxaPTIwKTpaPT0yMD9aPUQ/MTM6MTpaPT01Nj8oKGM9dGhpcy5aa1trXSkmJnRoaXMuSW8oUixjLEcpLHRoaXMuYlgoRCxrLEcpLFo9MSk6Wj09MTMmJihaPXRoaXMuWms/NTY6MCl9fSxmdW5jdGlvbihrKXtyZXR1cm4gay5GKCl9KSxbXSlCWSgyLDQ0LEZYLGZyKTt2YXIgbnI9KChoVyg3MixGWCksRlgpLnByb3RvdHlwZS5maj1mdW5jdGlvbigpe3JldHVybiJnb29nLWJ1dHRvbiJ9LEZYLnByb3RvdHlwZS5iWD1mdW5jdGlvbihrLFIsRyl7c3dpdGNoKFIpe2Nhc2UgODpjYXNlIDE2Ok9SKDEyLDUsZmFsc2UsImhpZGRlbiIsayxHLCJwcmVzc2VkIik7YnJlYWs7ZGVmYXVsdDpjYXNlIDY0OmNhc2UgMTpGWC5PLmJYLmNhbGwodGhpcyxrLFIsRyl9fSx7fSk7aWYoKCgoKCgoKCh1PShCWSgyLDQyLGI5LEREKSxiOSkucHJvdG90eXBlLHUpLmppPXRydWUsdSkuSW89ZnVuY3Rpb24oayxSLEcpe2ZvcihHPTU2O0chPTI0OylHPT04Mj8odGhpcy5EP2UoNDMsMCxrLHRoaXMuRCl8fHRoaXMuRC5wdXNoKGspOnRoaXMuRD1ba10sdGhpcy5DLklvKHRoaXMsayx0cnVlKSxHPTI0KTpHPT03Mz8odGhpcy5DLklvKHRoaXMsayxmYWxzZSksRz0yNCk6Rz09MTk/Rz10aGlzLkQubGVuZ3RoPT0wPzQwOjczOkc9PTQwPyh0aGlzLkQ9bnVsbCxHPTczKTpHPT01Nj9HPVI/MTM6NzE6Rz09MTM/Rz1rPzgyOjI0Okc9PTcxJiYoRz1rJiZ0aGlzLkQmJnRXKDYsMCxrLHRoaXMuRCk/MTk6MjQpfSx1KS5pWD1mdW5jdGlvbigpe3JldHVybiB0aGlzLkMuaVgodGhpcyl9LHUucmI9MzksdSkuaXE9MCx1KS5ZZT0yNTUsdS5CdD1mdW5jdGlvbigpeygoYjkuTy5CdC5jYWxsKHRoaXMpLHRoaXMuVTIpJiZ0aGlzLlUyLmRldGFjaCgpLHRoaXMuaXNWaXNpYmxlKCkmJnRoaXMuaXNFbmFibGVkKCkpJiZ0aGlzLkMuQXgodGhpcyxmYWxzZSl9LHUuVT1mdW5jdGlvbihrKXt7az03NTt3aGlsZShrIT02MilrPT03MD8oZGVsZXRlIHRoaXMuQyx0aGlzLkQ9bnVsbCxrPTYyKTprPT01Mz9rPXRoaXMuVTI/OTE6NzA6az09OTE/KHRoaXMuVTIuZGlzcG9zZSgpLGRlbGV0ZSB0aGlzLlUyLGs9NzApOms9PTc1JiYoYjkuTy5VLmNhbGwodGhpcyksaz01Myl9fSx1KS5EPW51bGwsdS5PMj0wLHUuaXNWaXNpYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaml9LHUpLmlzRW5hYmxlZD1mdW5jdGlvbigpe3JldHVybiFNUCgxMCwxLHRoaXMpfSx1LmlzQWN0aXZlPWZ1bmN0aW9uKCl7cmV0dXJuIE1QKDksNCx0aGlzKX0sdS5zZXRBY3RpdmU9ZnVuY3Rpb24oayl7SUIoMTAsNCx0aGlzLGssNCkmJnRoaXMudihrLDQpfSx1KS5nZXRTdGF0ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLk8yfSx1LnY9ZnVuY3Rpb24oayxSLEcsaCxELGMsWil7Zm9yKFo9Nzg7WiE9ODk7KVo9PTgzPyhEPSFrLGM9dGhpcy5nZXRQYXJlbnQoKSxaPTM1KTpaPT0xNj9aPUQ/MTQ6NzQ6Wj09NzQ/KHRoaXMuc2V0QWN0aXZlKGZhbHNlKSxJQigxMiw0LHRoaXMsZmFsc2UsMikmJnRoaXMudihmYWxzZSwyKSxaPTE0KTpaPT0yNT8odGhpcy5DLnYoUix0aGlzLGspLHRoaXMuTzI9az8oaD10aGlzLk8yLC0xLX5oLShoJn5SKSsoaF5SKSk6dGhpcy5PMiZ+UixaPTg5KTpaPT00Mj9aPXRoaXMucmImUiYmayE9TVAoMyxSLHRoaXMpPzI1Ojg5Olo9PTM1P1o9YyYmdHlwZW9mIGMuaXNFbmFibGVkPT0iZnVuY3Rpb24iJiYhYy5pc0VuYWJsZWQoKXx8IUlCKDMyLDQsdGhpcywhRCwxKT84OToxNjpaPT03OD9aPUd8fFIhPTE/NDI6ODM6Wj09MTQmJih0aGlzLmlzVmlzaWJsZSgpJiZ0aGlzLkMuQXgodGhpcyxEKSx0aGlzLnYoIUQsMSx0cnVlKSxaPTg5KX0sdHlwZW9mIGI5IT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiSW52YWxpZCBjb21wb25lbnQgY2xhc3MgIitiOSk7aWYodHlwZW9mIGZyIT09ImZ1bmN0aW9uIil0aHJvdyBFcnJvcigiSW52YWxpZCByZW5kZXJlciBjbGFzcyAiK2ZyKTt2YXIgYVk9Q24oNjQsMTcsYjkpOygoQlkoMiw0MCxnVSwoKEJZKDIsNDYsUWYsKGEoNixmdW5jdGlvbigpe3JldHVybiBuZXcgYjkobnVsbCl9LChuclthWV09ZnIsImdvb2ctY29udHJvbCIpKSxGWCkpLGhXKDczLFFmKSxRZi5wcm90b3R5cGUuQXg9ZnVuY3Rpb24oKXt9LFFmLnByb3RvdHlwZSkudj1mdW5jdGlvbihrLFIsRyxoLEQpe3tEPTkxO3doaWxlKEQhPTQyKUQ9PTkxPyhRZi5PLnYuY2FsbCh0aGlzLGssUixHKSxoPVIuRigpLEQ9NjEpOkQ9PTgzPyhoLmRpc2FibGVkPUcsRD00Mik6RD09NjEmJihEPWgmJms9PTE/ODM6NDIpfX0sUWYucHJvdG90eXBlLmJYPWZ1bmN0aW9uKCl7fSxiOSkpLGdVLnByb3RvdHlwZSkuVT1mdW5jdGlvbigpe2RlbGV0ZSAoZGVsZXRlIChnVS5PLlUuY2FsbCh0aGlzKSx0aGlzKS5KMyx0aGlzKS5kTn0sYSkoNSxmdW5jdGlvbigpe3JldHVybiBuZXcgZ1UobnVsbCl9LCJnb29nLWJ1dHRvbiIpO3ZhciBaRCx1OT1ILnJlcXVlc3RJZGxlQ2FsbGJhY2s/ZnVuY3Rpb24oayl7cmVxdWVzdElkbGVDYWxsYmFjayhmdW5jdGlvbigpe2soKX0se3RpbWVvdXQ6NH0pfTpILnNldEltbWVkaWF0ZT9mdW5jdGlvbihrKXtzZXRJbW1lZGlhdGUoayl9OmZ1bmN0aW9uKGspe3NldFRpbWVvdXQoaywwKX0sb3Y9e3Bhc3NpdmU6dHJ1ZSxjYXB0dXJlOnRydWV9LFZmPW9CKDEzLDEwLFsiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9qcy9iZy8iLCIiXSksdlk9U3RyaW5nLmZyb21DaGFyQ29kZSgxMDUsMTEwLDExNiwxMDEsMTAzLDY3LDEwNCwxMDEsOTksMTA3LDY2LDEyMSwxMTIsOTcsMTE1LDExNSksd1U9e30sJGY9W10sUlk9KHgucHJvdG90eXBlLlB3PXZvaWQgMCx4LnByb3RvdHlwZS5MWD0oeC5wcm90b3R5cGUuTm09ZmFsc2UsInRvU3RyaW5nIiksW10pLGRyPVtdLEFvPSh4LnByb3RvdHlwZS5mUT12b2lkIDAsW10pLEJkPVtdLG1jPVtdLEd0PVtdLE1UPVtdLHhuPVtdLHpOPWZ1bmN0aW9uKGssUil7d2hpbGUoIVtdPT1mYWxzZSl7cmV0dXJuKFI9QVcoNDEsImFkIiwxNykpJiZrLmV2YWwoUi5jcmVhdGVTY3JpcHQoIjEiKSk9PT0xP2Z1bmN0aW9uKEcpe3JldHVybiBSLmNyZWF0ZVNjcmlwdChHKX06ZnVuY3Rpb24oRyl7cmV0dXJuIiIrR307aWYoImEiKWJyZWFrfX0oSCkseXI9ZnVuY3Rpb24oayl7cmV0dXJuKGs9QVcoNDEsImFkIiwxNikpP2Z1bmN0aW9uKFIpe3JldHVybiBrLmNyZWF0ZVNjcmlwdFVSTChSKX06ZnVuY3Rpb24oUil7cmV0dXJuIFJ9fSgpLEVlPWZ1bmN0aW9uKGspe3JldHVybihrPUFXKDQxLCJhZCIsMTkpKT9mdW5jdGlvbihSKXtyZXR1cm4gay5jcmVhdGVIVE1MKFIpfTpmdW5jdGlvbihSKXtyZXR1cm4gUn19KCkseWY9KCgoKChpTixZZixTOCxueCxaeSxmdW5jdGlvbigpe30pKEU1KSxmdW5jdGlvbigpe30pKFdZKSxmdW5jdGlvbigpe30pKHM1KSx5cixmdW5jdGlvbigpe30pKEVlKSx3VSkuY29uc3RydWN0b3IsU2U9KCgoKCgoKHgucHJvdG90eXBlLkxqPTAseC5wcm90b3R5cGUuUj0odT14LnByb3RvdHlwZSwiY3JlYXRlIiksdSkuSj0od2luZG93LnBlcmZvcm1hbmNlfHx7fSkubm93P2Z1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUmErd2luZG93LnBlcmZvcm1hbmNlLm5vdygpfTpmdW5jdGlvbigpe3JldHVybituZXcgRGF0ZX0sdSkuaHM9ZnVuY3Rpb24oayxSLEcsaCxEKXtyZXR1cm4gQ24uY2FsbCh0aGlzLDY0LDMyLGssUixHLGgsRCl9LHUpLlJvPWZ1bmN0aW9uKCl7cmV0dXJuIGhXLmNhbGwodGhpcyw1Nil9LHUpLnNfPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbil7cmV0dXJuIE1QLmNhbGwodGhpcyw1NixrLFIsRyxoLEQsYyxaLG4pfSx1KS50cz1mdW5jdGlvbihrLFIsRyxoLEQsYyxaLG4sbSxCKXtyZXR1cm4gUkIuY2FsbCh0aGlzLDIxLGssUixHLGgsRCxjLFosbixtLEIpfSx1LnBqPWZ1bmN0aW9uKCl7cmV0dXJuIFJCLmNhbGwodGhpcyw2NCl9LHUpLnBYPWZ1bmN0aW9uKGssUixHLGgsRCl7cmV0dXJuIFkuY2FsbCh0aGlzLGssOSxSLEcsaCxEKX0sdS5IVj0wLHZvaWQgMCksSm89KHU9eC5wcm90b3R5cGUsdS5pPWZ1bmN0aW9uKGssUil7cmV0dXJuIFI9KGs9e30sU2U9ZnVuY3Rpb24oKXtyZXR1cm4gaz09Uj81ODoxMDZ9LHt9KSxmdW5jdGlvbihHLGgsRCxjLFosbixtLEIsVCxOLFAsZCxJLFMsWCxNLHIsbCx3LEUsRiwkbixHbyxKLHYsTyx5LHdKLHosUHUsbTcsZyxlTSxMLFU1LHQsVSxPNSxZbixwLEN4KXtmb3IodD0zMixVPXVuZGVmaW5lZCxwPTIwLEN4PWZhbHNlOzspdHJ5e2lmKHQ9PTY1KWJyZWFrO2Vsc2UgaWYodD09NDQpdD1CPzc3OjEwO2Vsc2UgaWYodD09OTEpcD00NyxiTig1NywzMDAwMSx0aGlzLDQxKSx0PTM3O2Vsc2UgaWYodD09ODcpcD00Nyxhdig1MDYsdGhpcywxNyxPNSksVT02NSx0PTM3O2Vsc2UgaWYodD09MjcpVSE9PXVuZGVmaW5lZD8odD1VLFU9dW5kZWZpbmVkKTp0PTY1O2Vsc2UgaWYodD09MjkpcD00Nyx0PTk1O2Vsc2UgaWYodD09MTcpcD01NSxHbygpLHQ9OTU7ZWxzZSBpZih0PT00MSl0PVA9PW1jPzI0OjIxO2Vsc2UgaWYodD09NzApdD0zOTtlbHNlIGlmKHQ9PTU3KXQ9Zy5sZW5ndGg+ND81NjozNjtlbHNlIGlmKHQ9PTI4KU4ubGVuZ3RoPTAsdD0zNztlbHNlIGlmKHQ9PTYpcD03MCx0aGlzLndiPU5UKDI1NSw0MCwwLGF0b2IoJG4pKSx0aGlzLmo9dGhpcy53Yi5sZW5ndGg8PDMsQSgzNjMsdGhpcyxbMCwwLDBdKSx0PTkxO2Vsc2UgaWYodD09MjIpe2lmKEU9KE49Vyh0aGlzLDcxKSx0eXBlb2YgU3ltYm9sIT0idW5kZWZpbmVkIiYmU3ltYm9sLml0ZXJhdG9yKSYmTltTeW1ib2wuaXRlcmF0b3JdKXo9RS5jYWxsKE4pO2Vsc2UgaWYodHlwZW9mIE4ubGVuZ3RoPT0ibnVtYmVyIil6PXtuZXh0Ok9SKDEyLDcyLDAsTil9O2Vsc2UgdGhyb3cgRXJyb3IoU3RyaW5nKE4pKyIgaXMgbm90IGFuIGl0ZXJhYmxlIG9yIEFycmF5TGlrZSIpO3Q9KFQ9KHk9eix5Lm5leHQoKSksNDgpfWVsc2UgaWYodD09Nyl0PUdbNF0/NjQ6NTk7ZWxzZSBpZih0PT02NCl7Zm9yKFggaW4gQj1mYWxzZSxoKWlmKFghPT0idCImJk9iamVjdC5oYXNPd24oaCxYKSl7Qj10cnVlO2JyZWFrfXQ9NDR9ZWxzZSBpZih0PT01Myl0PVA9PUJkPzgyOjQzO2Vsc2UgaWYodD09MzgpSj0wLE89IiIsdD03MDtlbHNlIGlmKHQ9PTU2KXQ9Zy5sZW5ndGg+MUU2Pzg4Ojk3O2Vsc2UgaWYodD09MTUpWW49UWgoMCxHWzFdLDE1NywzMDAwMSx0aGlzKSxVPTk5LHQ9Mzc7ZWxzZSBpZih0PT00Myl0PVA9PUFvPzgxOjQxO2Vsc2UgaWYodD09MjUpdD1QPT1kcj8yMjozNztlbHNlIGlmKHQ9PTMyKWVNPWssaz1SLHQ9MztlbHNlIGlmKHQ9PTk2KWg9e30sdj0wLHQ9ODtlbHNlIGlmKHQ9PTg4KWc9Zy5zbGljZSgwLDFFNiksbE4oNDg4LFtdLDcsdGhpcywxMDIpLGplKDQ4OCxbXSx0aGlzLDEzNSksdD05NztlbHNlIGlmKHQ9PTY4KSRuPUdbMV0sdD02O2Vsc2UgaWYodD09NjYpSisrLHQ9Mzk7ZWxzZSBpZih0PT03NCl0PU8/Nzk6Mzg7ZWxzZSBpZih0PT04MSlyPUdbMV1bMV0sYz1LKDIsKG09Yih0aGlzLDQ4OCkubGVuZ3RoLC0yKn4obSYyKSstMisobV4yKSkpLHdKPXRoaXMuQix0aGlzLkI9dGhpcyx0PTExO2Vsc2UgaWYodD09MjQpUWgoMCxHWzFdLDE1NyxHWzJdLHRoaXMpLHQ9Mzc7ZWxzZSBpZih0PT0xOSl0PVUhPT11bmRlZmluZWQ/Mzc6NDtlbHNlIGlmKHQ9PTQpcD00NyxTPVlmKDIpLmNvbmNhdChiKHRoaXMsNDg4KSksU1sxXT0oTT1TWzBdLC0oTXwwKSsoTXwxNTkpKyhNJi0xNjApKSxTWzNdPVNbMV1eY1swXSxTWzRdPVNbMV1eY1sxXSxPPXRoaXMubmooUyksdD03NDtlbHNlIGlmKHQ9PTM2KXA9NDcsdGhpcy5CPXdKLHQ9MTk7ZWxzZSBpZih0PT05NSlUPXkubmV4dCgpLHQ9NDI7ZWxzZSBpZih0PT01MSl0PVA9PSRmPzk2OjUzO2Vsc2UgaWYodD09NTkpdGhpcy5QLnB1c2gobCksdGhpcy5QLnB1c2godyksVT02NSx0PTM3O2Vsc2UgaWYodD09MzkpdD1KPFMubGVuZ3RoPzYwOjYyO2Vsc2UgaWYodD09NzcpWW49e1FUOncsYWE6bCx0aW1lb3V0OnYsTW06ZmFsc2UsSWE6MH0sVT02Myx0PTM3O2Vsc2UgaWYodD09MzMpdD1QPT1HdD82ODo1MTtlbHNlIGlmKHQ9PTQyKXQ9VC5kb25lPzI4Ojk4O2Vsc2UgaWYodD09ODIpbj1HWzFdLG5bMV0ucHVzaChWKDE5MSx0aGlzKS5sZW5ndGgsVyh0aGlzLDE0KS5sZW5ndGgsVyh0aGlzLDQ4OCkubGVuZ3RoLGIodGhpcyw0NDYpLmxlbmd0aCxiKHRoaXMsMTYzKS5sZW5ndGgsYih0aGlzLDMwMilbMF0sVigyNjQsdGhpcykubGVuZ3RoLFcodGhpcyw0MikubGVuZ3RoKSxRKHRoaXMsMTU3LG5bMl0pLHRoaXMuWVs0NjldJiZRaCgwLFYoNDY5LHRoaXMpLDE1NywzMDAwMSx0aGlzKSx0PTM3O2Vsc2UgaWYodD09OTgpR289VC52YWx1ZSx0PTE3O2Vsc2UgaWYodD09NDApcD00Nyx3PVtCZCxHLHRoaXMuUm8oKV0sbD1bQW8sR10sdD03O2Vsc2UgaWYodD09MylwPTQ3LFA9R1swXSx0PTMzO2Vsc2UgaWYodD09MzcpcD0yMCxrPWVNLHQ9Mjc7ZWxzZXtpZih0PT00NylyZXR1cm4gWW47aWYodD09OClwPTc3LGg9Yih0aGlzLDU1KXx8e30sdj1oLnR8MCx0PTQwO2Vsc2UgaWYodD09NjApZD1TW0pdW3RoaXMuTFhdKDE2KSxkLmxlbmd0aD09MSYmKGQ9IjAiK2QpLE8rPWQsdD02NjtlbHNlIGlmKHQ9PTk3KWplKDQ4OCxLKDIsZy5sZW5ndGgpLmNvbmNhdChnKSx0aGlzLDUpLHQ9MzY7ZWxzZSBpZih0PT0xMSlwPTc2LG03PWIodGhpcyw1MDYpLG03Lmxlbmd0aD4wJiZsTig0ODgsSygyLG03Lmxlbmd0aCkuY29uY2F0KG03KSw3LHRoaXMsMTQ3KSxsTig0ODgsSygxLHRoaXMuSCsxPj4xKSw3LHRoaXMsMjQ0KSxqZSg0ODgsSygxLHRoaXNbQW9dLmxlbmd0aCksdGhpcyksUHU9dGhpcy5IdD9WKDE2Myx0aGlzKTpiKHRoaXMsNDQ2KSxQdS5sZW5ndGg+MCYmbE4oMTQsSygyLFB1Lmxlbmd0aCkuY29uY2F0KFB1KSw3LHRoaXMsMjI3KSxGPVYoMTQsdGhpcyksRi5sZW5ndGg+NCYmamUoNDg4LEsoMixGLmxlbmd0aCkuY29uY2F0KEYpLHRoaXMsMjI2KSxJPTAsSSs9Yih0aGlzLDEwMykmMjA0NyxJLT0oWj1WKDQ4OCx0aGlzKS5sZW5ndGgsLTItMip+KFp8NSktKFpeNSkpLGc9Vig0Mix0aGlzKSxnLmxlbmd0aD40JiYoSS09KGcubGVuZ3RofDApKzMpLEk+MCYmamUoNDg4LEsoMixJKS5jb25jYXQoWWYoSSkpLHRoaXMsMTUwKSx0PTU3O2Vsc2UgaWYodD09NzkpTz0iJCIrTyx0PTYyO2Vsc2V7aWYodD09OTkpcmV0dXJuIFluO2lmKHQ9PTEwKXRoaXMuUC5wdXNoKGwpLHRoaXMuUC5wdXNoKHcpLFU9NjUsdD0zNztlbHNlIGlmKHQ9PTIxKXQ9UD09TVQ/MTU6MjU7ZWxzZSBpZih0PT02MilEPU8sYih0aGlzLDE5MSkubGVuZ3RoPXIuc2hpZnQoKSxiKHRoaXMsMTQpLmxlbmd0aD1yLnNoaWZ0KCksVyh0aGlzLDQ4OCkubGVuZ3RoPXIuc2hpZnQoKSxXKHRoaXMsNDQ2KS5sZW5ndGg9ci5zaGlmdCgpLFYoMTYzLHRoaXMpLmxlbmd0aD1yLnNoaWZ0KCksVigzMDIsdGhpcylbMF09ci5zaGlmdCgpLFcodGhpcywyNjQpLmxlbmd0aD1yLnNoaWZ0KCksVyh0aGlzLDQyKS5sZW5ndGg9ci5zaGlmdCgpLFluPUQsVT00Nyx0PTM3O2Vsc2V7aWYodD09NjMpcmV0dXJuIFluO2lmKHQ9PTQ4KXQ9NDI7ZWxzZSBpZih0PT05MCl0aHJvdyBVNTt9fX19Y2F0Y2goaG8pe2lmKHA9PShVNT1obywyMCkpdGhyb3cgaG87cD09NDc/KFU9OTAsdD0zNyk6cD09NzA/KE81PWhvLHQ9ODcpOnA9PTc2PyhVPTkwLHQ9MzYpOnA9PTc3PyhVPTkwLHQ9NDApOnA9PTU1JiYoTD1obyx0PTI5KX19fSgpLHUudXE9ZnVuY3Rpb24oayl7cmV0dXJuIEJZLmNhbGwodGhpcyxrLDcyKX0sLy4vKTtpZih0cnVlKXUubmo9ZnVuY3Rpb24oayl7cmV0dXJuIENuLmNhbGwodGhpcyw2NCw4LGspfTt2YXIgeGY7aWYodS5TaT0odS50eD1mdW5jdGlvbigpe3JldHVybiBDbi5jYWxsKHRoaXMsNjQsNDgpfSwwKSx0cnVlKXUuck49MDt2YXIgSGQ9R3QucG9wLmJpbmQoeC5wcm90b3R5cGVbeC5wcm90b3R5cGVbUlldPSh1LmVpPWZ1bmN0aW9uKCl7cmV0dXJuIE9SLmNhbGwodGhpcywxMiwxNCl9LFswLDAsMSwxLDAsMSwxXSksQmRdKTsoWkQ9KHhmPXRXKDkzLChKb1t4LnByb3RvdHlwZS5MWF09SGQse2dldDpIZH0pLHgucHJvdG90eXBlLlIpLHgucHJvdG90eXBlLldWPXZvaWQgMCxILnRyYXlyaWRlKXx8KEgudHJheXJpZGU9e30pLFpELm0+NDB8fChaRC5tPTQxLFpELmFkPWgwLFpELmE9Z0opLFpEKS5ScnZfPWZ1bmN0aW9uKGssUixHLGgsRCxjLFosbixtLEIpe3JldHVybltmdW5jdGlvbihUKXtyZXR1cm4gTG4oMyxmYWxzZSxCLDcsVCl9LChCPW5ldyB4KGgsayxELGMsUixtLG4sWiksZnVuY3Rpb24oVCl7Qi50eChUKX0pXX07fSkuY2FsbCh0aGlzKTsnXS5qb2luKCdcbicpKSk7fSkuY2FsbCh0aGlzKTs="}},"time_used":38,"timings":{"blocked":0,"dns":2,"connect":23,"send":0,"wait":9,"receive":4,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/images/clients/4.png","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.655Z","timestamp":1785123231655,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /images/clients/4.png HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: image/png\r\nlast-modified: Wed, 22 Apr 2026 21:44:12 GMT\r\naccept-ranges: bytes\r\ncontent-length: 9765\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":9765,"size_decoded":10030,"mime_type":"image/png","magic":"JPEG image data, JFIF standard 1.01, resolution (DPI), density 72x72, segment length 16, Exif Standard: [TIFF image data, big-endian, direntries=1, orientation=upper-left], baseline, precision 8, 300x168, components 3","md5":"97d2281efa7935eaefb6d49c82638a6f","sha1":"f8bb5ef00566deaf6a77c7a13c4154e2949fc211","sha256":"68644a0d0df8fd28867defeab8b72728b33096a12b0cdcc0d85278ba49296481","sha512":"f95788f16b01156bc1ab5fb175553c616886a72d177887d581374dc0a87822025d5be6e17cfc058ab1b9003f956c14a99fe24a56a3111579a64b5238b7daaf4e","ssdeep":"192:0jyfCR2kvpUfyFJnQs3Wup8jPSs7P5ZdvsY:0jPQkvp1JnQ4WuyWc5Z2Y","tlshash":"82126d17d8521f23a9aac3683f5bda068f69d20e55cb30dd29134053f784bb21d1e17c","first_seen":"2026-06-26T06:01:48.648056Z","last_seen":"2026-07-27T05:05:33.519912Z","times_seen":7,"resource_available":false,"data":"/9j/4AAQSkZJRgABAQEASABIAAD/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAEAAAAAAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCACoASwDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo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GsXcmr+FNRhyqm3Mm8RLIOk1uxCEZDYEb4Ada+7P2Mv+DhPwvqHguw0b41WepaT4gsolhk1/TbM3NlqW0Y82WGP95DI3G5UR0JyRsBCD9APjv+z54N/aa+Hlz4V8daBY+IdEuGEnk3AIaCQAhZYpFIeKQBmAdCGAYjOCQfz5+K3/AAbXeHdT1WSfwR8TtY0W0c5Wz1nS49RKewljeE4HbKk+pPWu3D8a8OcRZbTwPFSlCrTVlUSbvsrpxTabsuZOLi3r2S5K3Cee5Hj6mL4calTqO7g2tPKzaTS6NNO2nr7p4u/4Lv8A7N/hvTGns/FWteIJlGRbafoF4sr+wM6RJ+bCn/8ABO//AIKkv/wUH+OPjbStM8L/APCN+F/C+m29xaNdz+dqF5JJK6l5Nv7uNQqjCLvOcneeg+avCf8AwbQyC/Vte+MG61U/NHp/h3ZI49A8lwwX67TX3F+xX/wTv+G/7B+kahH4LtdSuNU1hEj1HVtTuvPvLxUJKKdoWNFBYnCIuc85IBr5vP6PA+Dy+rTymdSvXkkoyle0dU2/hgtrraW/Tc9/JanF2KxtOeZQhSoxu5JWvLR26ze9nutj3Siiivyk/RgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/Z"}},"time_used":49,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":41,"receive":8,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/css/slick.css","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.721Z","timestamp":1785123231721,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /css/slick.css HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/css/style.css\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: text/css\r\nlast-modified: Wed, 22 Apr 2026 17:27:27 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 468\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":1808,"size_decoded":776,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"82b238c577e5c8471db85b17264fb253","sha1":"27d804bc75148eb75917638d8edf78d1469adec8","sha256":"50d96772c409eecb7b5750f0f125d9d7a3da8562dcbed321616e9c1f3b5687fb","sha512":"14f09f05637fd2d025f53cb26939293b4496bf61d813c7e5b99ba27026ff7d31a0c49e7d06d634587519d9de38783c48c6906585a2920ab42d834709ed68e18a","ssdeep":"","tlshash":"4e31ebdc0252c5d68737c4444fd38649eeefa0930c251698ba8d47098fbfae8a9c5e77","first_seen":"2023-11-27T22:38:05Z","last_seen":"2026-07-27T05:05:33.523121Z","times_seen":39,"resource_available":false,"data":"LyogU2xpZGVyICovDQouc2xpY2stc2xpZGVyDQp7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KDQogICAgZGlzcGxheTogYmxvY2s7DQogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsNCg0KICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7DQogICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsNCiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lOw0KICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7DQoNCiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7DQogICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lOw0KICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15Ow0KICAgICAgICB0b3VjaC1hY3Rpb246IHBhbi15Ow0KICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7DQp9DQoNCi5zbGljay1saXN0DQp7DQogICAgcG9zaXRpb246IHJlbGF0aXZlOw0KDQogICAgZGlzcGxheTogYmxvY2s7DQogICAgb3ZlcmZsb3c6IGhpZGRlbjsNCg0KICAgIG1hcmdpbjogMDsNCiAgICBwYWRkaW5nOiAwOw0KfQ0KLnNsaWNrLWxpc3Q6Zm9jdXMNCnsNCiAgICBvdXRsaW5lOiBub25lOw0KfQ0KLnNsaWNrLWxpc3QuZHJhZ2dpbmcNCnsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgY3Vyc29yOiBoYW5kOw0KfQ0KDQouc2xpY2stc2xpZGVyIC5zbGljay10cmFjaywNCi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3QNCnsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KfQ0KDQouc2xpY2stdHJhY2sNCnsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgdG9wOiAwOw0KICAgIGxlZnQ6IDA7DQoNCiAgICBkaXNwbGF5OiBibG9jazsNCn0NCi5zbGljay10cmFjazpiZWZvcmUsDQouc2xpY2stdHJhY2s6YWZ0ZXINCnsNCiAgICBkaXNwbGF5OiB0YWJsZTsNCg0KICAgIGNvbnRlbnQ6ICcnOw0KfQ0KLnNsaWNrLXRyYWNrOmFmdGVyDQp7DQogICAgY2xlYXI6IGJvdGg7DQp9DQouc2xpY2stbG9hZGluZyAuc2xpY2stdHJhY2sNCnsNCiAgICB2aXNpYmlsaXR5OiBoaWRkZW47DQp9DQoNCi5zbGljay1zbGlkZQ0Kew0KICAgIGRpc3BsYXk6IG5vbmU7DQogICAgZmxvYXQ6IGxlZnQ7DQoNCiAgICBoZWlnaHQ6IDEwMCU7DQogICAgbWluLWhlaWdodDogMXB4Ow0KfQ0KW2Rpcj0ncnRsJ10gLnNsaWNrLXNsaWRlDQp7DQogICAgZmxvYXQ6IHJpZ2h0Ow0KfQ0KLnNsaWNrLXNsaWRlIGltZw0Kew0KICAgIGRpc3BsYXk6IGJsb2NrOw0KfQ0KLnNsaWNrLXNsaWRlLnNsaWNrLWxvYWRpbmcgaW1nDQp7DQogICAgZGlzcGxheTogbm9uZTsNCn0NCi5zbGljay1zbGlkZS5kcmFnZ2luZyBpbWcNCnsNCiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsNCn0NCi5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGUNCnsNCiAgICBkaXNwbGF5OiBibG9jazsNCn0NCi5zbGljay1sb2FkaW5nIC5zbGljay1zbGlkZQ0Kew0KICAgIHZpc2liaWxpdHk6IGhpZGRlbjsNCn0NCi5zbGljay12ZXJ0aWNhbCAuc2xpY2stc2xpZGUNCnsNCiAgICBkaXNwbGF5OiBibG9jazsNCg0KICAgIGhlaWdodDogYXV0bzsNCn0NCi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4gew0KICAgIGRpc3BsYXk6IG5vbmU7DQp9DQo="}},"time_used":37,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":37,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/images/resource/image-1.png","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.912Z","timestamp":1785123231912,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /images/resource/image-1.png HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/css/style.css\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: image/png\r\nlast-modified: Wed, 22 Apr 2026 21:44:12 GMT\r\naccept-ranges: bytes\r\ncontent-length: 3174\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":3174,"size_decoded":3439,"mime_type":"image/png","magic":"PNG image data, 176 x 162, 8-bit/color RGBA, non-interlaced","md5":"bacbf958c860cde8fb3bfb328cd8711a","sha1":"612a971e07725f5a046c05269040884b818a4172","sha256":"42baa502f25188e018f993e52e85f1eebf0d0e1ee158056618f17cae9929d04a","sha512":"0eacb511a538d86e79bb0fef603ba751ffef078942e98de50aaf5b23257985ee7820641f06f442760bbcc3be3d48e18830f3d4704a31f12a45aa244aeeda3c7a","ssdeep":"","tlshash":"50612a84c88f588345ba9c9b44d3c812fc95c730ec54ef209659c224c9f537a856abcf","first_seen":"2024-12-04T10:10:15.863094Z","last_seen":"2026-07-27T05:05:33.68122Z","times_seen":11,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAALAAAACiCAYAAADhqUfOAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhERjQ4NTE3MDRCRjExRThCNDA4RkUwRjJBMjAyRTk1IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhERjQ4NTE4MDRCRjExRThCNDA4RkUwRjJBMjAyRTk1Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OERGNDg1MTUwNEJGMTFFOEI0MDhGRTBGMkEyMDJFOTUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OERGNDg1MTYwNEJGMTFFOEI0MDhGRTBGMkEyMDJFOTUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5TB7tiAAAI1klEQVR42uzd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"}},"time_used":32,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":32,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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.150.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/HPoJhVNSHdk","date":"2026-07-27T03:33:52.072Z","timestamp":1785123232072,"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/HPoJhVNSHdk\r\nCookie: __Secure-YNID=20.YT=eV2loe5TarhFqlUVIFSBpQRjn_v_TMVcG01J09SodanGw26pe2dVmqat59lQtaocVbsKCUdYA2q0kVVJHaHa9N9qE5YhzDAFJQp29wsoORZgohQgznu7SrhEUnX94RyA0yb-3RoDyd_XlJ57nkHAh3eV9Qsd7xxb3SBcbYT3hiAHoZZc6KPloe5Gpy8oMzE5FJaQ-X8NI0e8ilwJcaR3NFRYY9cFTL4lxxjADOjeAFUZYGMs-ZoMsmCtrxugvROVb3ZHDiEPVIhYns5Stpgl_oPJ38X-by_Q0pbdW0QAWDT96gMZTv3o3XBDur4bAWfiiupWuFb_BeE3XCrAaMOmHg; YSC=6ky3ezEIvRY; VISITOR_INFO1_LIVE=15CNSB7h6-4; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgYQ%3D%3D; __Secure-ROLLOUT_TOKEN=COiu8dvIl-ubQBDLxvug9vGVAxjLxvug9vGVAw%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: Thu, 23 Jul 2026 00:08:44 GMT\r\nexpires: Fri, 23 Jul 2027 00:08:44 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: 357908\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-27T05:15:36.976554Z","times_seen":1370,"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":52,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":20,"receive":32,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/plugins/revolution/css/settings.css","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.372Z","timestamp":1785123231372,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /plugins/revolution/css/settings.css HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: text/css\r\nlast-modified: Wed, 22 Apr 2026 17:27:51 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 6858\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":30114,"size_decoded":7167,"mime_type":"text/css","magic":"ASCII text, with very long lines (29743), with CRLF line terminators","md5":"8677c68215ec26810eae0b6ff1d5f21c","sha1":"856b8a77c69808934b8c30afa772b83c623b9429","sha256":"3aa5c308173c70527ed2cd9ae7e24ce18a7c7459104752abf59a67df48066432","sha512":"15d246d11390128ffd8e418716cd283b2c1586c82ec6afbfb41e1af0188370237e1bea3b3f5ba48dc21177be644a143c4f5a24e4a25919c2acea55f1266e482a","ssdeep":"384:bT5/Mcuw4bLT4ILX8sSeyOOWC7G7C5+TU1Zz80id48f/:bFMcCLTPX8sSe3OWCy7wmU1h8D283","tlshash":"b7d2db70f98975fc77a7c12663c0b7adb02ed122e6521d6ef02f72f986d3086446e648","first_seen":"2026-06-26T06:01:48.628506Z","last_seen":"2026-07-27T05:05:33.613075Z","times_seen":7,"resource_available":false,"data":"LyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQotCVJldm9sdXRpb24gU2xpZGVyIDUuMCBEZWZhdWx0IFN0eWxlIFNldHRpbmdzIC0NCg0KU2NyZWVuIFN0eWxlc2hlZXQNCg0KdmVyc2lvbjogICAJNS40LjUNCmRhdGU6ICAgICAgCTE1LzA1LzE3DQphdXRob3I6CQl0aGVtZXB1bmNoDQplbWFpbDogICAgIAlpbmZvQHRoZW1lcHVuY2guY29tDQp3ZWJzaXRlOiAgIAlodHRwOi8vd3d3LnRoZW1lcHVuY2guY29tDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQojZGVidW5nY29udHJvbGxzLC5kZWJ1Z3RpbWVsaW5le3dpZHRoOjEwMCU7Ym94LXNpemluZzpib3JkZXItYm94fS5yZXZfY29sdW1uLC5yZXZfY29sdW1uIC50cC1wYXJhbGxheC13cmFwLC50cC1zdmctbGF5ZXIgc3Zne3ZlcnRpY2FsLWFsaWduOnRvcH0jZGVidW5nY29udHJvbGxze3otaW5kZXg6MTAwMDAwO3Bvc2l0aW9uOmZpeGVkO2JvdHRvbTowO2hlaWdodDphdXRvO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNik7cGFkZGluZzoxMHB4fS5kZWJ1Z3RpbWVsaW5le2hlaWdodDoxMHB4O3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi1ib3R0b206M3B4O2Rpc3BsYXk6bm9uZTt3aGl0ZS1zcGFjZTpub3dyYXB9LmRlYnVndGltZWxpbmU6aG92ZXJ7aGVpZ2h0OjE1cHh9LnRoZV90aW1lbGluZV90ZXN0ZXJ7YmFja2dyb3VuZDojZTc0YzNjO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDowfS5ycy1nby1mdWxsc2NyZWVue3Bvc2l0aW9uOmZpeGVkIWltcG9ydGFudDt3aWR0aDoxMDAlIWltcG9ydGFudDtoZWlnaHQ6MTAwJSFpbXBvcnRhbnQ7dG9wOjAhaW1wb3J0YW50O2xlZnQ6MCFpbXBvcnRhbnQ7ei1pbmRleDo5OTk5OTk5IWltcG9ydGFudDtiYWNrZ3JvdW5kOiNmZmYhaW1wb3J0YW50fS5kZWJ1Z3RpbWVsaW5lLnRsX3NsaWRlIC50aGVfdGltZWxpbmVfdGVzdGVye2JhY2tncm91bmQ6I2YzOWMxMn0uZGVidWd0aW1lbGluZS50bF9mcmFtZSAudGhlX3RpbWVsaW5lX3Rlc3RlcntiYWNrZ3JvdW5kOiMzNDk4ZGJ9LmRlYnVndGltbGluZV90eHR7Y29sb3I6I2ZmZjtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjdweDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjEwcHg7dG9wOjA7d2hpdGUtc3BhY2U6bm93cmFwO2xpbmUtaGVpZ2h0OjEwcHh9LnJ0bHtkaXJlY3Rpb246cnRsfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6cmV2aWNvbnM7c3JjOnVybCgiLi4vZm9udHMvcmV2aWNvbnMvcmV2aWNvbnMtNTUxMDg4OC5lb3QiKTtzcmM6dXJsKCIuLi9mb250cy9yZXZpY29ucy9yZXZpY29ucy01NTEwODg4LmVvdCIpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSx1cmwoIi4uL2ZvbnRzL3Jldmljb25zL3Jldmljb25zLTU1MTA4ODgud29mZiIpIGZvcm1hdCgnd29mZicpLHVybCgiLi4vZm9udHMvcmV2aWNvbnMvcmV2aWNvbnMtNTUxMDg4OC50dGYiKSBmb3JtYXQoJ3RydWV0eXBlJyksdXJsKCIuLi9mb250cy9yZXZpY29ucy9yZXZpY29ucy01NTEwODg4LnN2ZyIpIGZvcm1hdCgnc3ZnJyk7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFsfVtjbGFzcyo9IiByZXZpY29uLSJdOmJlZm9yZSxbY2xhc3NePXJldmljb24tXTpiZWZvcmV7Zm9udC1mYW1pbHk6cmV2aWNvbnM7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO3NwZWFrOm5vbmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7dGV4dC1kZWNvcmF0aW9uOmluaGVyaXQ7d2lkdGg6MWVtO21hcmdpbi1yaWdodDouMmVtO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtdmFyaWFudDpub3JtYWw7dGV4dC10cmFuc2Zvcm06bm9uZTtsaW5lLWhlaWdodDoxZW07bWFyZ2luLWxlZnQ6LjJlbX0ucmV2aWNvbi1zZWFyY2gtMTpiZWZvcmV7Y29udGVudDonXGU4MDInfS5yZXZpY29uLXBlbmNpbC0xOmJlZm9yZXtjb250ZW50OidcZTgzMSd9LnJldmljb24tcGljdHVyZS0xOmJlZm9yZXtjb250ZW50OidcZTgwMyd9LnJldmljb24tY2FuY2VsOmJlZm9yZXtjb250ZW50OidcZTgwYSd9LnJldmljb24taW5mby1jaXJjbGVkOmJlZm9yZXtjb250ZW50OidcZTgwZid9LnJldmljb24tdHJhc2g6YmVmb3Jle2NvbnRlbnQ6J1xlODAxJ30ucmV2aWNvbi1sZWZ0LWRpcjpiZWZvcmV7Y29udGVudDonXGU4MTcnfS5yZXZpY29uLXJpZ2h0LWRpcjpiZWZvcmV7Y29udGVudDonXGU4MTgnfS5yZXZpY29uLWRvd24tb3BlbjpiZWZvcmV7Y29udGVudDonXGU4M2InfS5yZXZpY29uLWxlZnQtb3BlbjpiZWZvcmV7Y29udGVudDonXGU4MTknfS5yZXZpY29uLXJpZ2h0LW9wZW46YmVmb3Jle2NvbnRlbnQ6J1xlODFhJ30ucmV2aWNvbi1hbmdsZS1sZWZ0OmJlZm9yZXtjb250ZW50OidcZTgyMCd9LnJldmljb24tYW5nbGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6J1xlODFkJ30ucmV2aWNvbi1sZWZ0LWJpZzpiZWZvcmV7Y29udGVudDonXGU4MWYnfS5yZXZpY29uLXJpZ2h0LWJpZzpiZWZvcmV7Y29udGVudDonXGU4MWUnfS5yZXZpY29uLW1hZ2ljOmJlZm9yZXtjb250ZW50OidcZTgwNyd9LnJldmljb24tcGljdHVyZTpiZWZvcmV7Y29udGVudDonXGU4MDAnfS5yZXZpY29uLWV4cG9ydDpiZWZvcmV7Y29udGVudDonXGU4MGInfS5yZXZpY29uLWNvZzpiZWZvcmV7Y29udGVudDonXGU4MzInfS5yZXZpY29uLWxvZ2luOmJlZm9yZXtjb250ZW50OidcZTgzMyd9LnJldmljb24tbG9nb3V0OmJlZm9yZXtjb250ZW50OidcZTgzNCd9LnJldmljb24tdmlkZW86YmVmb3Jle2NvbnRlbnQ6J1xlODA1J30ucmV2aWNvbi1hcnJvdy1jb21ibzpiZWZvcmV7Y29udGVudDonXGU4MjcnfS5yZXZpY29uLWxlZnQtb3Blbi0xOmJlZm9yZXtjb250ZW50OidcZTgyYSd9LnJldmljb24tcmlnaHQtb3Blbi0xOmJlZm9yZXtjb250ZW50OidcZTgyYid9LnJldmljb24tbGVmdC1vcGVuLW1pbmk6YmVmb3Jle2NvbnRlbnQ6J1xlODIyJ30ucmV2aWNvbi1yaWdodC1vcGVuLW1pbmk6YmVmb3Jle2NvbnRlbnQ6J1xlODIzJ30ucmV2aWNvbi1sZWZ0LW9wZW4tYmlnOmJlZm9yZXtjb250ZW50OidcZTgyNCd9LnJldmljb24tcmlnaHQtb3Blbi1iaWc6YmVmb3Jle2NvbnRlbnQ6J1xlODI1J30ucmV2aWNvbi1sZWZ0OmJlZm9yZXtjb250ZW50OidcZTgzNid9LnJldmljb24tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6J1xlODI2J30ucmV2aWNvbi1jY3c6YmVmb3Jle2NvbnRlbnQ6J1xlODA4J30ucmV2aWNvbi1hcnJvd3MtY2N3OmJlZm9yZXtjb250ZW50OidcZTgwNid9LnJldmljb24tcGFsZXR0ZTpiZWZvcmV7Y29udGVudDonXGU4MjknfS5yZXZpY29uLWxpc3QtYWRkOmJlZm9yZXtjb250ZW50OidcZTgwYyd9LnJldmljb24tZG9jOmJlZm9yZXtjb250ZW50OidcZTgwOSd9LnJldmljb24tbGVmdC1vcGVuLW91dGxpbmU6YmVmb3Jle2NvbnRlbnQ6J1xlODJlJ30ucmV2aWNvbi1sZWZ0LW9wZW4tMjpiZWZvcmV7Y29udGVudDonXGU4MmMnfS5yZXZpY29uLXJpZ2h0LW9wZW4tb3V0bGluZTpiZWZvcmV7Y29udGVudDonXGU4MmYnfS5yZXZpY29uLXJpZ2h0LW9wZW4tMjpiZWZvcmV7Y29udGVudDonXGU4MmQnfS5yZXZpY29uLWVxdWFsaXplcjpiZWZvcmV7Y29udGVudDonXGU4M2EnfS5yZXZpY29uLWxheWVycy1hbHQ6YmVmb3Jle2NvbnRlbnQ6J1xlODA0J30ucmV2aWNvbi1wb3B1cDpiZWZvcmV7Y29udGVudDonXGU4MjgnfS5yZXZfc2xpZGVyX3dyYXBwZXJ7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDowO3dpZHRoOjEwMCV9LnJldl9zbGlkZXJ7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6dmlzaWJsZX0uZW50cnktY29udGVudCAucmV2X3NsaWRlciBhLC5yZXZfc2xpZGVyIGF7Ym94LXNoYWRvdzpub25lfS50cC1vdmVyZmxvdy1oaWRkZW57b3ZlcmZsb3c6aGlkZGVuIWltcG9ydGFudH0uZ3JvdXBfb3ZfaGlkZGVue292ZXJmbG93OmhpZGRlbn0ucmV2X3NsaWRlciBpbWcsLnRwLXNpbXBsZXJlc3BvbnNpdmUgaW1ne21heC13aWR0aDpub25lIWltcG9ydGFudDt0cmFuc2l0aW9uOm5vbmU7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjpub25lfS5yZXZfc2xpZGVyIC5uby1zbGlkZXMtdGV4dHtmb250LXdlaWdodDo3MDA7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZy10b3A6ODBweH0ucmV2X3NsaWRlcj51bCwucmV2X3NsaWRlcj51bD5saSwucmV2X3NsaWRlcj51bD5saTpiZWZvcmUsLnJldl9zbGlkZXJfd3JhcHBlcj51bCwudHAtcmV2c2xpZGVyLW1haW51bD5saSwudHAtcmV2c2xpZGVyLW1haW51bD5saTpiZWZvcmUsLnRwLXNpbXBsZXJlc3BvbnNpdmU+dWwsLnRwLXNpbXBsZXJlc3BvbnNpdmU+dWw+bGksLnRwLXNpbXBsZXJlc3BvbnNpdmU+dWw+bGk6YmVmb3Jle2xpc3Qtc3R5bGU6bm9uZSFpbXBvcnRhbnQ7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luOjAhaW1wb3J0YW50O3BhZGRpbmc6MCFpbXBvcnRhbnQ7b3ZlcmZsb3cteDp2aXNpYmxlO292ZXJmbG93LXk6dmlzaWJsZTtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7YmFja2dyb3VuZC1wb3NpdGlvbjowIDA7dGV4dC1pbmRlbnQ6MDt0b3A6MDtsZWZ0OjB9LnJldl9zbGlkZXI+dWw+bGksLnJldl9zbGlkZXI+dWw+bGk6YmVmb3JlLC50cC1yZXZzbGlkZXItbWFpbnVsPmxpLC50cC1yZXZzbGlkZXItbWFpbnVsPmxpOmJlZm9yZSwudHAtc2ltcGxlcmVzcG9uc2l2ZT51bD5saSwudHAtc2ltcGxlcmVzcG9uc2l2ZT51bD5saTpiZWZvcmV7dmlzaWJpbGl0eTpoaWRkZW59LnRwLXJldnNsaWRlci1tYWludWwsLnRwLXJldnNsaWRlci1zbGlkZXNsaXtwYWRkaW5nOjAhaW1wb3J0YW50O21hcmdpbjowIWltcG9ydGFudDtsaXN0LXN0eWxlOm5vbmUhaW1wb3J0YW50fS5mdWxsc2NyZWVuLWNvbnRhaW5lciwuZnVsbHdpZHRoYmFubmVyLWNvbnRhaW5lcntwYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmV9LnJldl9zbGlkZXIgbGkudHAtcmV2c2xpZGVyLXNsaWRlc2xpe3Bvc2l0aW9uOmFic29sdXRlIWltcG9ydGFudH0udHAtY2FwdGlvbiAucnMtdW50b2dnbGVkLWNvbnRlbnR7ZGlzcGxheTpibG9ja30udHAtY2FwdGlvbiAucnMtdG9nZ2xlZC1jb250ZW50e2Rpc3BsYXk6bm9uZX0ucnMtdG9nZ2xlLWNvbnRlbnQtYWN0aXZlLnRwLWNhcHRpb24gLnJzLXRvZ2dsZWQtY29udGVudHtkaXNwbGF5OmJsb2NrfS5ycy10b2dnbGUtY29udGVudC1hY3RpdmUudHAtY2FwdGlvbiAucnMtdW50b2dnbGVkLWNvbnRlbnR7ZGlzcGxheTpub25lfS5yZXZfc2xpZGVyIC5jYXB0aW9uLC5yZXZfc2xpZGVyIC50cC1jYXB0aW9ue3Bvc2l0aW9uOnJlbGF0aXZlO3Zpc2liaWxpdHk6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDtkaXNwbGF5OmJsb2NrOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQhaW1wb3J0YW50O3otaW5kZXg6MX0ucmV2X3NsaWRlciAuY2FwdGlvbiwucmV2X3NsaWRlciAudHAtY2FwdGlvbiwudHAtc2ltcGxlcmVzcG9uc2l2ZSBpbWd7LW1vei11c2VyLXNlbGVjdDpub25lOy1raHRtbC11c2VyLXNlbGVjdDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstby11c2VyLXNlbGVjdDpub25lfS5yZXZfc2xpZGVyIC50cC1tYXNrLXdyYXAgLnRwLWNhcHRpb24sLnJldl9zbGlkZXIgLnRwLW1hc2std3JhcCA6bGFzdC1jaGlsZCwud3BiX3RleHRfY29sdW1uIC5yZXZfc2xpZGVyIC50cC1tYXNrLXdyYXAgLnRwLWNhcHRpb24sLndwYl90ZXh0X2NvbHVtbiAucmV2X3NsaWRlciAudHAtbWFzay13cmFwIDpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH0udHAtc3ZnLWxheWVyIHN2Z3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlfS50cC1jYXJvdXNlbC13cmFwcGVye2N1cnNvcjp1cmwoIm9wZW5oYW5kLmN1ciIpLG1vdmV9LnRwLWNhcm91c2VsLXdyYXBwZXIuZHJhZ2dlZHtjdXJzb3I6dXJsKCJjbG9zZWRoYW5kLmN1ciIpLG1vdmV9LnRwX2lubmVyX3BhZGRpbmd7Ym94LXNpemluZzpib3JkZXItYm94O21heC1oZWlnaHQ6bm9uZSFpbXBvcnRhbnR9LnRwLWNhcHRpb24udHAtbGF5ZXItc2VsZWN0YWJsZXstbW96LXVzZXItc2VsZWN0OmFsbDsta2h0bWwtdXNlci1zZWxlY3Q6YWxsOy13ZWJraXQtdXNlci1zZWxlY3Q6YWxsOy1vLXVzZXItc2VsZWN0OmFsbH0udHAtY2FwdGlvbi50cC1oaWRkZW4tY2FwdGlvbiwudHAtZm9yY2Vub3R2aXNpYmxlLC50cC1oaWRlLXJldnNsaWRlciwudHAtcGFyYWxsYXgtd3JhcC50cC1oaWRkZW4tY2FwdGlvbnt2aXNpYmlsaXR5OmhpZGRlbiFpbXBvcnRhbnQ7ZGlzcGxheTpub25lIWltcG9ydGFudH0ucmV2X3NsaWRlciBhdWRpbywucmV2X3NsaWRlciBlbWJlZCwucmV2X3NsaWRlciBpZnJhbWUsLnJldl9zbGlkZXIgb2JqZWN0LC5yZXZfc2xpZGVyIHZpZGVve21heC13aWR0aDpub25lIWltcG9ydGFudH0udHAtZWxlbWVudC1iYWNrZ3JvdW5ke3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3otaW5kZXg6MH0udHAtYmxvY2ttYXNrLC50cC1ibG9ja21hc2tfaW4sLnRwLWJsb2NrbWFza19vdXR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDojZmZmO3otaW5kZXg6MTAwMDt0cmFuc2Zvcm06c2NhbGVYKDApIHNjYWxlWSgwKX0udHAtcGFyYWxsYXgtd3JhcHt0cmFuc2Zvcm0tc3R5bGU6cHJlc2VydmUtM2R9LnJldl9yb3dfem9uZXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2xlZnQ6MDtib3gtc2l6aW5nOmJvcmRlci1ib3g7bWluLWhlaWdodDo1MHB4O2ZvbnQtc2l6ZTowfS5yZXZfY29sdW1uX2lubmVyLC5yZXZfc2xpZGVyIC50cC1jYXB0aW9uLnJldl9yb3d7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJSFpbXBvcnRhbnQ7Ym94LXNpemluZzpib3JkZXItYm94fS5yZXZfcm93X3pvbmVfdG9we3RvcDowfS5yZXZfcm93X3pvbmVfbWlkZGxle3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSl9LnJldl9yb3dfem9uZV9ib3R0b217Ym90dG9tOjB9LnJldl9zbGlkZXIgLnRwLWNhcHRpb24ucmV2X3Jvd3tkaXNwbGF5OnRhYmxlO3RhYmxlLWxheW91dDpmaXhlZDt2ZXJ0aWNhbC1hbGlnbjp0b3A7aGVpZ2h0OmF1dG8haW1wb3J0YW50O2ZvbnQtc2l6ZTowfS5yZXZfY29sdW1ue2Rpc3BsYXk6dGFibGUtY2VsbDtwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7Zm9udC1zaXplOjB9LnJldl9jb2x1bW5faW5uZXJ7ZGlzcGxheTpibG9jaztoZWlnaHQ6YXV0byFpbXBvcnRhbnQ7d2hpdGUtc3BhY2U6bm9ybWFsIWltcG9ydGFudH0ucmV2X2NvbHVtbl9iZ3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjA7Ym94LXNpemluZzpib3JkZXItYm94O2JhY2tncm91bmQtY2xpcDpjb250ZW50LWJveDtib3JkZXI6MCBzb2xpZCB0cmFuc3BhcmVudH0udHAtY2FwdGlvbiAuYmFja2Nvcm5lciwudHAtY2FwdGlvbiAuYmFja2Nvcm5lcnRvcCwudHAtY2FwdGlvbiAuZnJvbnRjb3JuZXIsLnRwLWNhcHRpb24gLmZyb250Y29ybmVydG9we2hlaWdodDowO3RvcDowO3dpZHRoOjA7cG9zaXRpb246YWJzb2x1dGV9LnJldl9jb2x1bW5faW5uZXIgLnRwLWxvb3Atd3JhcCwucmV2X2NvbHVtbl9pbm5lciAudHAtbWFzay13cmFwLC5yZXZfY29sdW1uX2lubmVyIC50cC1wYXJhbGxheC13cmFwe3RleHQtYWxpZ246aW5oZXJpdH0ucmV2X2NvbHVtbl9pbm5lciAudHAtbWFzay13cmFwe2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5yZXZfY29sdW1uX2lubmVyIC50cC1wYXJhbGxheC13cmFwLC5yZXZfY29sdW1uX2lubmVyIC50cC1wYXJhbGxheC13cmFwIC50cC1sb29wLXdyYXAsLnJldl9jb2x1bW5faW5uZXIgLnRwLXBhcmFsbGF4LXdyYXAgLnRwLW1hc2std3JhcHtwb3NpdGlvbjpyZWxhdGl2ZSFpbXBvcnRhbnQ7bGVmdDphdXRvIWltcG9ydGFudDt0b3A6YXV0byFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MH0udHAtdmlkZW8tcGxheS1idXR0b24sLnRwLXZpZGVvLXBsYXktYnV0dG9uIGl7bGluZS1oZWlnaHQ6NTBweCFpbXBvcnRhbnQ7dmVydGljYWwtYWxpZ246dG9wO3RleHQtYWxpZ246Y2VudGVyfS5yZXZfY29sdW1uX2lubmVyIC5yZXZfbGF5ZXJfaW5fY29sdW1uLC5yZXZfY29sdW1uX2lubmVyIC50cC1wYXJhbGxheC13cmFwLC5yZXZfY29sdW1uX2lubmVyIC50cC1wYXJhbGxheC13cmFwIC50cC1sb29wLXdyYXAsLnJldl9jb2x1bW5faW5uZXIgLnRwLXBhcmFsbGF4LXdyYXAgLnRwLW1hc2std3JhcHt2ZXJ0aWNhbC1hbGlnbjp0b3B9LnJldl9icmVha19jb2x1bW5ze2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fS5yZXZfYnJlYWtfY29sdW1ucyAudHAtcGFyYWxsYXgtd3JhcC5yZXZfY29sdW1ue2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50O3dpZHRoOjEwMCUhaW1wb3J0YW50fS5mdWxsd2lkdGhiYW5uZXItY29udGFpbmVye292ZXJmbG93OmhpZGRlbn0uZnVsbHdpZHRoYmFubmVyLWNvbnRhaW5lciAuZnVsbHdpZHRoYWJhbm5lcnt3aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlfS50cC1zdGF0aWMtbGF5ZXJze3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAxO3RvcDowO2xlZnQ6MH0udHAtY2FwdGlvbiAuZnJvbnRjb3JuZXJ7Ym9yZGVyLWxlZnQ6NDBweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6MCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItdG9wOjQwcHggc29saWQgIzAwQThGRjtsZWZ0Oi00MHB4fS50cC1jYXB0aW9uIC5iYWNrY29ybmVye2JvcmRlci1sZWZ0OjAgc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjQwcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTo0MHB4IHNvbGlkICMwMEE4RkY7cmlnaHQ6MH0udHAtY2FwdGlvbiAuZnJvbnRjb3JuZXJ0b3B7Ym9yZGVyLWxlZnQ6NDBweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6MCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjQwcHggc29saWQgIzAwQThGRjtsZWZ0Oi00MHB4fS50cC1jYXB0aW9uIC5iYWNrY29ybmVydG9we2JvcmRlci1sZWZ0OjAgc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjQwcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXRvcDo0MHB4IHNvbGlkICMwMEE4RkY7cmlnaHQ6MH0udHAtbGF5ZXItaW5uZXItcm90YXRpb257cG9zaXRpb246cmVsYXRpdmUhaW1wb3J0YW50fWltZy50cC1zbGlkZXItYWx0ZXJuYXRpdmUtaW1hZ2V7d2lkdGg6MTAwJTtoZWlnaHQ6YXV0b30uY2FwdGlvbi5mdWxsc2NyZWVudmlkZW8sLnJzLWJhY2tncm91bmQtdmlkZW8tbGF5ZXIsLnRwLWNhcHRpb24uY292ZXJzY3JlZW52aWRlbywudHAtY2FwdGlvbi5mdWxsc2NyZWVudmlkZW97d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt0b3A6MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGV9Lm5vRmlsdGVyQ2xhc3N7ZmlsdGVyOm5vbmUhaW1wb3J0YW50fS5ycy1iYWNrZ3JvdW5kLXZpZGVvLWxheWVye3Zpc2liaWxpdHk6aGlkZGVuO3otaW5kZXg6MH0uY2FwdGlvbi5mdWxsc2NyZWVudmlkZW8gYXVkaW8sLmNhcHRpb24uZnVsbHNjcmVlbnZpZGVvIGlmcmFtZSwuY2FwdGlvbi5mdWxsc2NyZWVudmlkZW8gdmlkZW8sLnRwLWNhcHRpb24uZnVsbHNjcmVlbnZpZGVvIGlmcmFtZSwudHAtY2FwdGlvbi5mdWxsc2NyZWVudmlkZW8gaWZyYW1lIGF1ZGlvLC50cC1jYXB0aW9uLmZ1bGxzY3JlZW52aWRlbyBpZnJhbWUgdmlkZW97d2lkdGg6MTAwJSFpbXBvcnRhbnQ7aGVpZ2h0OjEwMCUhaW1wb3J0YW50O2Rpc3BsYXk6bm9uZX0uZnVsbGNvdmVyZWR2aWRlbyBhdWRpbywuZnVsbHNjcmVlbnZpZGVvIGF1ZGlvIC5mdWxsY292ZXJlZHZpZGVvIHZpZGVvLC5mdWxsc2NyZWVudmlkZW8gdmlkZW97YmFja2dyb3VuZDojMDAwfS5mdWxsY292ZXJlZHZpZGVvIC50cC1wb3N0ZXJ7YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcjt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MH0udmlkZW9pc3BsYXlpbmcgLmh0bWw1dmlkIC50cC1wb3N0ZXJ7ZGlzcGxheTpub25lfS50cC12aWRlby1wbGF5LWJ1dHRvbntiYWNrZ3JvdW5kOiMwMDA7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zKTtib3JkZXItcmFkaXVzOjVweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO2NvbG9yOiNGRkY7bWFyZ2luLXRvcDotMjVweDttYXJnaW4tbGVmdDotMjVweDtjdXJzb3I6cG9pbnRlcjt3aWR0aDo1MHB4O2hlaWdodDo1MHB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmlubGluZS1ibG9jazt6LWluZGV4OjQ7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAuM3MgZWFzZS1vdXQhaW1wb3J0YW50fS50cC1hdWRpby1odG1sNSAudHAtdmlkZW8tcGxheS1idXR0b24sLnRwLWhpZGRlbmF1ZGlve2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LnRwLWNhcHRpb24gLmh0bWw1dmlke3dpZHRoOjEwMCUhaW1wb3J0YW50O2hlaWdodDoxMDAlIWltcG9ydGFudH0udHAtdmlkZW8tcGxheS1idXR0b24gaXt3aWR0aDo1MHB4O2hlaWdodDo1MHB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZTo0MHB4IWltcG9ydGFudH0ucnMtZnVsbHZpZGVvLWNvdmVyLC50cC1kb3R0ZWRvdmVybGF5LC50cC1zaGFkb3djb3ZlcntoZWlnaHQ6MTAwJTt0b3A6MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGV9LnRwLWNhcHRpb246aG92ZXIgLnRwLXZpZGVvLXBsYXktYnV0dG9ue29wYWNpdHk6MTtkaXNwbGF5OmJsb2NrfS50cC1jYXB0aW9uIC50cC1yZXZzdG9we2Rpc3BsYXk6bm9uZTtib3JkZXItbGVmdDo1cHggc29saWQgI2ZmZiFpbXBvcnRhbnQ7Ym9yZGVyLXJpZ2h0OjVweCBzb2xpZCAjZmZmIWltcG9ydGFudDttYXJnaW4tdG9wOjE1cHghaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjIwcHghaW1wb3J0YW50O3ZlcnRpY2FsLWFsaWduOnRvcDtmb250LXNpemU6MjVweCFpbXBvcnRhbnR9LnRwLXNlZWstYmFyLC50cC12aWRlby1idXR0b24sLnRwLXZvbHVtZS1iYXJ7b3V0bGluZTowO2xpbmUtaGVpZ2h0OjEycHg7bWFyZ2luOjA7Y3Vyc29yOnBvaW50ZXJ9LnZpZGVvaXNwbGF5aW5nIC5yZXZpY29uLXJpZ2h0LWRpcntkaXNwbGF5Om5vbmV9LnZpZGVvaXNwbGF5aW5nIC50cC1yZXZzdG9we2Rpc3BsYXk6aW5saW5lLWJsb2NrfS52aWRlb2lzcGxheWluZyAudHAtdmlkZW8tcGxheS1idXR0b257ZGlzcGxheTpub25lfS5mdWxsY292ZXJlZHZpZGVvIC50cC12aWRlby1wbGF5LWJ1dHRvbntkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5mdWxsc2NyZWVudmlkZW8gLmZ1bGxzY3JlZW52aWRlbyBhdWRpbywuZnVsbHNjcmVlbnZpZGVvIC5mdWxsc2NyZWVudmlkZW8gdmlkZW97b2JqZWN0LWZpdDpjb250YWluIWltcG9ydGFudH0uZnVsbHNjcmVlbnZpZGVvIC5mdWxsY292ZXJlZHZpZGVvIGF1ZGlvLC5mdWxsc2NyZWVudmlkZW8gLmZ1bGxjb3ZlcmVkdmlkZW8gdmlkZW97b2JqZWN0LWZpdDpjb3ZlciFpbXBvcnRhbnR9LnRwLXZpZGVvLWNvbnRyb2xze3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3BhZGRpbmc6NXB4O29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjMDAwIDEzJSwjMzIzMjMyIDEwMCUpO2Rpc3BsYXk6dGFibGU7bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ucmV2LWJ0bi5yZXYtaGlkZGVuaWNvbiBpLC5yZXYtYnRuLnJldi13aXRoaWNvbiBpe3RyYW5zaXRpb246YWxsIC4ycyBlYXNlLW91dCFpbXBvcnRhbnQ7Zm9udC1zaXplOjE1cHh9LnRwLWNhcHRpb246aG92ZXIgLnRwLXZpZGVvLWNvbnRyb2xze29wYWNpdHk6Ljl9LnRwLXZpZGVvLWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjUpO2JvcmRlcjowO2JvcmRlci1yYWRpdXM6M3B4O2ZvbnQtc2l6ZToxMnB4O2NvbG9yOiNmZmY7cGFkZGluZzowfS50cC12aWRlby1idXR0b246aG92ZXJ7Y3Vyc29yOnBvaW50ZXJ9LnRwLXZpZGVvLWJ1dHRvbi13cmFwLC50cC12aWRlby1zZWVrLWJhci13cmFwLC50cC12aWRlby12b2wtYmFyLXdyYXB7cGFkZGluZzowIDVweDtkaXNwbGF5OnRhYmxlLWNlbGw7dmVydGljYWwtYWxpZ246bWlkZGxlfS50cC12aWRlby1zZWVrLWJhci13cmFwe3dpZHRoOjgwJX0udHAtdmlkZW8tdm9sLWJhci13cmFwe3dpZHRoOjIwJX0udHAtc2Vlay1iYXIsLnRwLXZvbHVtZS1iYXJ7d2lkdGg6MTAwJTtwYWRkaW5nOjB9LnJzLWZ1bGx2aWRlby1jb3Zlcnt3aWR0aDoxMDAlO2JhY2tncm91bmQ6MCAwO3otaW5kZXg6NX0uZGlzYWJsZWRfbGMgLnRwLXZpZGVvLXBsYXktYnV0dG9uLC5ycy1iYWNrZ3JvdW5kLXZpZGVvLWxheWVyIGF1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLC5ycy1iYWNrZ3JvdW5kLXZpZGVvLWxheWVyIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLC5ycy1iYWNrZ3JvdW5kLXZpZGVvLWxheWVyIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXN0YXJ0LXBsYXliYWNrLWJ1dHRvbntkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS50cC1hdWRpby1odG1sNSAudHAtdmlkZW8tY29udHJvbHN7b3BhY2l0eToxIWltcG9ydGFudDt2aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50fS50cC1kb3R0ZWRvdmVybGF5e2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdDt3aWR0aDoxMDAlO3otaW5kZXg6M30udHAtZG90dGVkb3ZlcmxheS50d294dHdve2JhY2tncm91bmQ6dXJsKCIuLi9hc3NldHMvZ3JpZHRpbGUucG5nIil9LnRwLWRvdHRlZG92ZXJsYXkudHdveHR3b3doaXRle2JhY2tncm91bmQ6dXJsKCIuLi9hc3NldHMvZ3JpZHRpbGVfd2hpdGUucG5nIil9LnRwLWRvdHRlZG92ZXJsYXkudGhyZWV4dGhyZWV7YmFja2dyb3VuZDp1cmwoIi4uL2Fzc2V0cy9ncmlkdGlsZV8zeDMucG5nIil9LnRwLWRvdHRlZG92ZXJsYXkudGhyZWV4dGhyZWV3aGl0ZXtiYWNrZ3JvdW5kOnVybCgiLi4vYXNzZXRzL2dyaWR0aWxlXzN4M193aGl0ZS5wbmciKX0udHAtc2hhZG93Y292ZXJ7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kOiNmZmY7ei1pbmRleDotMX0udHAtc2hhZG93MXtib3gtc2hhZG93OjAgMTBweCA2cHggLTZweCByZ2JhKDAsMCwwLC44KX0udHAtc2hhZG93MjphZnRlciwudHAtc2hhZG93MjpiZWZvcmUsLnRwLXNoYWRvdzM6YmVmb3JlLC50cC1zaGFkb3c0OmFmdGVye3otaW5kZXg6LTI7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDoiIjtib3R0b206MTBweDtsZWZ0OjEwcHg7d2lkdGg6NTAlO3RvcDo4NSU7bWF4LXdpZHRoOjMwMHB4O2JhY2tncm91bmQ6MCAwO2JveC1zaGFkb3c6MCAxNXB4IDEwcHggcmdiYSgwLDAsMCwuOCk7dHJhbnNmb3JtOnJvdGF0ZSgtM2RlZyl9LnRwLXNoYWRvdzI6YWZ0ZXIsLnRwLXNoYWRvdzQ6YWZ0ZXJ7dHJhbnNmb3JtOnJvdGF0ZSgzZGVnKTtyaWdodDoxMHB4O2xlZnQ6YXV0b30udHAtc2hhZG93NXtwb3NpdGlvbjpyZWxhdGl2ZTtib3gtc2hhZG93OjAgMXB4IDRweCByZ2JhKDAsMCwwLC4zKSwwIDAgNDBweCByZ2JhKDAsMCwwLC4xKSBpbnNldH0udHAtc2hhZG93NTphZnRlciwudHAtc2hhZG93NTpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0yO2JveC1zaGFkb3c6MCAwIDI1cHggMCByZ2JhKDAsMCwwLC42KTt0b3A6MzAlO2JvdHRvbTowO2xlZnQ6MjBweDtyaWdodDoyMHB4O2JvcmRlci1yYWRpdXM6MTAwcHgvMjBweH0udHAtYnV0dG9ue3BhZGRpbmc6NnB4IDEzcHggNXB4O2JvcmRlci1yYWRpdXM6M3B4O2hlaWdodDozMHB4O2N1cnNvcjpwb2ludGVyO2NvbG9yOiNmZmYhaW1wb3J0YW50O3RleHQtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC42KSFpbXBvcnRhbnQ7Zm9udC1zaXplOjE1cHg7bGluZS1oZWlnaHQ6NDVweCFpbXBvcnRhbnQ7Zm9udC1mYW1pbHk6YXJpYWwsc2Fucy1zZXJpZjtmb250LXdlaWdodDo3MDA7bGV0dGVyLXNwYWNpbmc6LTFweDt0ZXh0LWRlY29yYXRpb246bm9uZX0udHAtYnV0dG9uLmJpZ3tjb2xvcjojZmZmO3RleHQtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC42KTtmb250LXdlaWdodDo3MDA7cGFkZGluZzo5cHggMjBweDtmb250LXNpemU6MTlweDtsaW5lLWhlaWdodDo1N3B4IWltcG9ydGFudH0ucHVyY2hhc2U6aG92ZXIsLnRwLWJ1dHRvbi5iaWc6aG92ZXIsLnRwLWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLXBvc2l0aW9uOmJvdHRvbSwxNXB4IDExcHh9LnB1cmNoYXNlLmdyZWVuLC5wdXJjaGFzZTpob3Zlci5ncmVlbiwudHAtYnV0dG9uLmdyZWVuLC50cC1idXR0b246aG92ZXIuZ3JlZW57YmFja2dyb3VuZC1jb2xvcjojMjFhMTE3O2JveC1zaGFkb3c6MCAzcHggMCAwICMxMDRkMGJ9LnB1cmNoYXNlLmJsdWUsLnB1cmNoYXNlOmhvdmVyLmJsdWUsLnRwLWJ1dHRvbi5ibHVlLC50cC1idXR0b246aG92ZXIuYmx1ZXtiYWNrZ3JvdW5kLWNvbG9yOiMxZDc4Y2I7Ym94LXNoYWRvdzowIDNweCAwIDAgIzBmM2U2OH0ucHVyY2hhc2UucmVkLC5wdXJjaGFzZTpob3Zlci5yZWQsLnRwLWJ1dHRvbi5yZWQsLnRwLWJ1dHRvbjpob3Zlci5yZWR7YmFja2dyb3VuZC1jb2xvcjojY2IxZDFkO2JveC1zaGFkb3c6MCAzcHggMCAwICM3YzEyMTJ9LnB1cmNoYXNlLm9yYW5nZSwucHVyY2hhc2U6aG92ZXIub3JhbmdlLC50cC1idXR0b24ub3JhbmdlLC50cC1idXR0b246aG92ZXIub3Jhbmdle2JhY2tncm91bmQtY29sb3I6I2Y3MDtib3gtc2hhZG93OjAgM3B4IDAgMCAjYTM0YzAwfS5wdXJjaGFzZS5kYXJrZ3JleSwucHVyY2hhc2U6aG92ZXIuZGFya2dyZXksLnRwLWJ1dHRvbi5kYXJrZ3JleSwudHAtYnV0dG9uLmdyZXksLnRwLWJ1dHRvbjpob3Zlci5kYXJrZ3JleSwudHAtYnV0dG9uOmhvdmVyLmdyZXl7YmFja2dyb3VuZC1jb2xvcjojNTU1O2JveC1zaGFkb3c6MCAzcHggMCAwICMyMjJ9LnB1cmNoYXNlLmxpZ2h0Z3JleSwucHVyY2hhc2U6aG92ZXIubGlnaHRncmV5LC50cC1idXR0b24ubGlnaHRncmV5LC50cC1idXR0b246aG92ZXIubGlnaHRncmV5e2JhY2tncm91bmQtY29sb3I6Izg4ODtib3gtc2hhZG93OjAgM3B4IDAgMCAjNTU1fS5yZXYtYnRuLC5yZXYtYnRuOnZpc2l0ZWR7b3V0bGluZTowIWltcG9ydGFudDtib3gtc2hhZG93Om5vbmUhaW1wb3J0YW50O3RleHQtZGVjb3JhdGlvbjpub25lIWltcG9ydGFudDtsaW5lLWhlaWdodDo0NHB4O2ZvbnQtc2l6ZToxN3B4O2ZvbnQtd2VpZ2h0OjUwMDtwYWRkaW5nOjEycHggMzVweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Zm9udC1mYW1pbHk6Um9ib3RvLHNhbnMtc2VyaWY7Y3Vyc29yOnBvaW50ZXJ9LnJldi1idG4ucmV2LXVwcGVyY2FzZSwucmV2LWJ0bi5yZXYtdXBwZXJjYXNlOnZpc2l0ZWR7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2xldHRlci1zcGFjaW5nOjFweDtmb250LXNpemU6MTVweDtmb250LXdlaWdodDo5MDB9LnJldi1idG4ucmV2LXdpdGhpY29uIGl7Zm9udC13ZWlnaHQ6NDAwO3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDowO21hcmdpbi1sZWZ0OjEwcHghaW1wb3J0YW50fS5yZXYtYnRuLnJldi1oaWRkZW5pY29uIGl7Zm9udC13ZWlnaHQ6NDAwO3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDowO29wYWNpdHk6MDttYXJnaW4tbGVmdDowIWltcG9ydGFudDt3aWR0aDowIWltcG9ydGFudH0ucmV2LWJ0bi5yZXYtaGlkZGVuaWNvbjpob3ZlciBpe29wYWNpdHk6MSFpbXBvcnRhbnQ7bWFyZ2luLWxlZnQ6MTBweCFpbXBvcnRhbnQ7d2lkdGg6YXV0byFpbXBvcnRhbnR9LnJldi1idG4ucmV2LW1lZGl1bSwucmV2LWJ0bi5yZXYtbWVkaXVtOnZpc2l0ZWR7bGluZS1oZWlnaHQ6MzZweDtmb250LXNpemU6MTRweDtwYWRkaW5nOjEwcHggMzBweH0ucmV2LWJ0bi5yZXYtbWVkaXVtLnJldi1oaWRkZW5pY29uIGksLnJldi1idG4ucmV2LW1lZGl1bS5yZXYtd2l0aGljb24gaXtmb250LXNpemU6MTRweDt0b3A6MH0ucmV2LWJ0bi5yZXYtc21hbGwsLnJldi1idG4ucmV2LXNtYWxsOnZpc2l0ZWR7bGluZS1oZWlnaHQ6MjhweDtmb250LXNpemU6MTJweDtwYWRkaW5nOjdweCAyMHB4fS5yZXYtYnRuLnJldi1zbWFsbC5yZXYtaGlkZGVuaWNvbiBpLC5yZXYtYnRuLnJldi1zbWFsbC5yZXYtd2l0aGljb24gaXtmb250LXNpemU6MTJweDt0b3A6MH0ucmV2LW1heHJvdW5ke2JvcmRlci1yYWRpdXM6MzBweH0ucmV2LW1pbnJvdW5ke2JvcmRlci1yYWRpdXM6M3B4fS5yZXYtYnVyZ2Vye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjYwcHg7aGVpZ2h0OjYwcHg7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6MjJweCAwIDAgMTRweDtib3JkZXItcmFkaXVzOjUwJTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoNTEsNTEsNTEsLjI1KTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7Y3Vyc29yOnBvaW50ZXJ9LnJldi1idXJnZXIgc3BhbntkaXNwbGF5OmJsb2NrO3dpZHRoOjMwcHg7aGVpZ2h0OjNweDtiYWNrZ3JvdW5kOiMzMzM7dHJhbnNpdGlvbjouN3M7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2Zvcm0tc3R5bGU6ZmxhdCFpbXBvcnRhbnR9LnJldi1idXJnZXIucmV2Yi13aGl0ZSBzcGFuLC5yZXYtYnVyZ2VyLnJldmItd2hpdGVub2JvcmRlciBzcGFue2JhY2tncm91bmQ6I2ZmZn0ucmV2LWJ1cmdlciBzcGFuOm50aC1jaGlsZCgyKXttYXJnaW46M3B4IDB9I2RpYWxvZ19hZGRidXR0b24gLnJldi1idXJnZXI6aG92ZXIgOmZpcnN0LWNoaWxkLC5vcGVuIC5yZXYtYnVyZ2VyIDpmaXJzdC1jaGlsZCwub3Blbi5yZXYtYnVyZ2VyIDpmaXJzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlWSg2cHgpIHJvdGF0ZSgtNDVkZWcpfSNkaWFsb2dfYWRkYnV0dG9uIC5yZXYtYnVyZ2VyOmhvdmVyIDpudGgtY2hpbGQoMiksLm9wZW4gLnJldi1idXJnZXIgOm50aC1jaGlsZCgyKSwub3Blbi5yZXYtYnVyZ2VyIDpudGgtY2hpbGQoMil7dHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpO29wYWNpdHk6MH0jZGlhbG9nX2FkZGJ1dHRvbiAucmV2LWJ1cmdlcjpob3ZlciA6bGFzdC1jaGlsZCwub3BlbiAucmV2LWJ1cmdlciA6bGFzdC1jaGlsZCwub3Blbi5yZXYtYnVyZ2VyIDpsYXN0LWNoaWxke3RyYW5zZm9ybTp0cmFuc2xhdGVZKC02cHgpIHJvdGF0ZSgtMTM1ZGVnKX0ucmV2LWJ1cmdlci5yZXZiLXdoaXRle2JvcmRlcjoycHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMil9LnJldi1idXJnZXIucmV2Yi1kYXJrbm9ib3JkZXIsLnJldi1idXJnZXIucmV2Yi13aGl0ZW5vYm9yZGVye2JvcmRlcjowfS5yZXYtYnVyZ2VyLnJldmItZGFya25vYm9yZGVyIHNwYW57YmFja2dyb3VuZDojMzMzfS5yZXYtYnVyZ2VyLnJldmItd2hpdGVmdWxse2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6bm9uZX0ucmV2LWJ1cmdlci5yZXZiLXdoaXRlZnVsbCBzcGFue2JhY2tncm91bmQ6IzMzM30ucmV2LWJ1cmdlci5yZXZiLWRhcmtmdWxse2JhY2tncm91bmQ6IzMzMztib3JkZXI6bm9uZX0ucmV2LWJ1cmdlci5yZXZiLWRhcmtmdWxsIHNwYW4sLnJldi1zY3JvbGwtYnRuLnJldnMtZnVsbHdoaXRle2JhY2tncm91bmQ6I2ZmZn1Aa2V5ZnJhbWVzIHJldi1hbmktbW91c2V7MCV7b3BhY2l0eToxO3RvcDoyOSV9MTUle29wYWNpdHk6MTt0b3A6NTAlfTUwJXtvcGFjaXR5OjA7dG9wOjUwJX0xMDAle29wYWNpdHk6MDt0b3A6MjklfX0ucmV2LXNjcm9sbC1idG57ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmU7bGVmdDowO3JpZ2h0OjA7dGV4dC1hbGlnbjpjZW50ZXI7Y3Vyc29yOnBvaW50ZXI7d2lkdGg6MzVweDtoZWlnaHQ6NTVweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOjNweCBzb2xpZCAjZmZmO2JvcmRlci1yYWRpdXM6MjNweH0ucmV2LXNjcm9sbC1idG4+KntkaXNwbGF5OmlubGluZS1ibG9jaztsaW5lLWhlaWdodDoxOHB4O2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjQwMDtjb2xvcjojZmZmO2ZvbnQtZmFtaWx5OnByb3hpbWEtbm92YSwiSGVsdmV0aWNhIE5ldWUiLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOjJweH0ucmV2LXNjcm9sbC1idG4+LmFjdGl2ZSwucmV2LXNjcm9sbC1idG4+OmZvY3VzLC5yZXYtc2Nyb2xsLWJ0bj46aG92ZXJ7Y29sb3I6I2ZmZn0ucmV2LXNjcm9sbC1idG4+LmFjdGl2ZSwucmV2LXNjcm9sbC1idG4+OmFjdGl2ZSwucmV2LXNjcm9sbC1idG4+OmZvY3VzLC5yZXYtc2Nyb2xsLWJ0bj46aG92ZXJ7b3BhY2l0eTouOH0ucmV2LXNjcm9sbC1idG4ucmV2cy1mdWxsd2hpdGUgc3BhbntiYWNrZ3JvdW5kOiMzMzN9LnJldi1zY3JvbGwtYnRuLnJldnMtZnVsbGRhcmt7YmFja2dyb3VuZDojMzMzO2JvcmRlcjpub25lfS5yZXYtc2Nyb2xsLWJ0bi5yZXZzLWZ1bGxkYXJrIHNwYW4sLnRwLWJ1bGxldHtiYWNrZ3JvdW5kOiNmZmZ9LnJldi1zY3JvbGwtYnRuIHNwYW57cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazt0b3A6MjklO2xlZnQ6NTAlO3dpZHRoOjhweDtoZWlnaHQ6OHB4O21hcmdpbjotNHB4IDAgMCAtNHB4O2JhY2tncm91bmQ6I2ZmZjtib3JkZXItcmFkaXVzOjUwJTthbmltYXRpb246cmV2LWFuaS1tb3VzZSAyLjVzIGxpbmVhciBpbmZpbml0ZX0ucmV2LXNjcm9sbC1idG4ucmV2cy1kYXJre2JvcmRlci1jb2xvcjojMzMzfS5yZXYtc2Nyb2xsLWJ0bi5yZXZzLWRhcmsgc3BhbntiYWNrZ3JvdW5kOiMzMzN9LnJldi1jb250cm9sLWJ0bntwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1ibG9jazt6LWluZGV4OjU7Y29sb3I6I0ZGRjtmb250LXNpemU6MjBweDtsaW5lLWhlaWdodDo2MHB4O2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5vcm1hbDtmb250LWZhbWlseTpSYWxld2F5O3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtYWxpZ246Y2VudGVyO2JhY2tncm91bmQtY29sb3I6IzAwMDtib3JkZXItcmFkaXVzOjUwcHg7dGV4dC1zaGFkb3c6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjUpO3dpZHRoOjYwcHg7aGVpZ2h0OjYwcHg7Ym94LXNpemluZzpib3JkZXItYm94O2N1cnNvcjpwb2ludGVyfS5yZXYtY2J1dHRvbi1kYXJrLXNyLC5yZXYtY2J1dHRvbi1saWdodC1zcntib3JkZXItcmFkaXVzOjNweH0ucmV2LWNidXR0b24tbGlnaHQsLnJldi1jYnV0dG9uLWxpZ2h0LXNye2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43NSl9LnJldi1zYnV0dG9ue2xpbmUtaGVpZ2h0OjM3cHg7d2lkdGg6MzdweDtoZWlnaHQ6MzdweH0ucmV2LXNidXR0b24tYmx1ZXtiYWNrZ3JvdW5kLWNvbG9yOiMzQjU5OTh9LnJldi1zYnV0dG9uLWxpZ2h0Ymx1ZXtiYWNrZ3JvdW5kLWNvbG9yOiMwMEEwRDF9LnJldi1zYnV0dG9uLXJlZHtiYWNrZ3JvdW5kLWNvbG9yOiNERDRCMzl9LnRwLWJhbm5lcnRpbWVye3Zpc2liaWxpdHk6aGlkZGVuO3dpZHRoOjEwMCU7aGVpZ2h0OjVweDtiYWNrZ3JvdW5kOiMwMDA7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4xNSk7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoyMDA7dG9wOjB9LnRwLWJhbm5lcnRpbWVyLnRwLWJvdHRvbXt2aXNpYmlsaXR5OiBoaWRkZW4haW1wb3J0YW50O3RvcDphdXRvO2JvdHRvbTowIWltcG9ydGFudDtoZWlnaHQ6NXB4fS50cC1jYXB0aW9uIGltZ3tiYWNrZ3JvdW5kOjAgMDstbXMtZmlsdGVyOiJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0jMDBGRkZGRkYsZW5kQ29sb3JzdHI9IzAwRkZGRkZGKSI7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSMwMEZGRkZGRiwgZW5kQ29sb3JzdHI9IzAwRkZGRkZGKTt6b29tOjF9LmNhcHRpb24uc2xpZGVsaW5rIGEgZGl2LC50cC1jYXB0aW9uLnNsaWRlbGluayBhIGRpdnt3aWR0aDozMDAwcHg7aGVpZ2h0OjE1MDBweDtiYWNrZ3JvdW5kOnVybCgiLi4vYXNzZXRzL2NvbG9yZWRiZy5wbmciKX0udHAtY2FwdGlvbi5zbGlkZWxpbmsgYSBzcGFue2JhY2tncm91bmQ6dXJsKCIuLi9hc3NldHMvY29sb3JlZGJnLnBuZyIpfS50cC1sb2FkZXIuc3Bpbm5lcjAsLnRwLWxvYWRlci5zcGlubmVyNXtiYWNrZ3JvdW5kLWltYWdlOnVybCgiLi4vYXNzZXRzL2xvYWRlci5naWYiKTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXR9LnRwLXNoYXBle3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9LnRwLWNhcHRpb24gLnJzLXN0YXJyaW5ne2Rpc3BsYXk6aW5saW5lLWJsb2NrfS50cC1jYXB0aW9uIC5ycy1zdGFycmluZyAuc3Rhci1yYXRpbmd7ZmxvYXQ6bm9uZTtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjp0b3A7Y29sb3I6I0ZGQzMyMSFpbXBvcnRhbnR9LnRwLWNhcHRpb24gLnJzLXN0YXJyaW5nIC5zdGFyLXJhdGluZywudHAtY2FwdGlvbiAucnMtc3RhcnJpbmctcGFnZSAuc3Rhci1yYXRpbmd7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjFlbTt3aWR0aDo1LjRlbTtmb250LWZhbWlseTpzdGFyO2ZvbnQtc2l6ZToxZW0haW1wb3J0YW50fS50cC1sb2FkZXIuc3Bpbm5lcjAsLnRwLWxvYWRlci5zcGlubmVyMXt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O21hcmdpbi10b3A6LTIwcHg7bWFyZ2luLWxlZnQ6LTIwcHg7YW5pbWF0aW9uOnRwLXJvdGF0ZXBsYW5lIDEuMnMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6M3B4O2JveC1zaGFkb3c6MCAwIDIwcHggMCByZ2JhKDAsMCwwLC4xNSl9LnRwLWNhcHRpb24gLnJzLXN0YXJyaW5nIC5zdGFyLXJhdGluZzpiZWZvcmUsLnRwLWNhcHRpb24gLnJzLXN0YXJyaW5nLXBhZ2UgLnN0YXItcmF0aW5nOmJlZm9yZXtjb250ZW50OiJcNzNcNzNcNzNcNzNcNzMiO2NvbG9yOiNFMERBREY7ZmxvYXQ6bGVmdDt0b3A6MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGV9LnRwLWNhcHRpb24gLnJzLXN0YXJyaW5nIC5zdGFyLXJhdGluZyBzcGFue292ZXJmbG93OmhpZGRlbjtmbG9hdDpsZWZ0O3RvcDowO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTtwYWRkaW5nLXRvcDoxLjVlbTtmb250LXNpemU6MWVtIWltcG9ydGFudH0udHAtY2FwdGlvbiAucnMtc3RhcnJpbmcgLnN0YXItcmF0aW5nIHNwYW46YmVmb3Jle2NvbnRlbnQ6Ilw1M1w1M1w1M1w1M1w1MyI7dG9wOjA7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowfS50cC1sb2FkZXJ7dG9wOjUwJTtsZWZ0OjUwJTt6LWluZGV4OjEwMDAwO3Bvc2l0aW9uOmFic29sdXRlfS50cC1sb2FkZXIuc3Bpbm5lcjB7YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyfS50cC1sb2FkZXIuc3Bpbm5lcjV7YmFja2dyb3VuZC1wb3NpdGlvbjoxMHB4IDEwcHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO21hcmdpbjotMjJweDt3aWR0aDo0NHB4O2hlaWdodDo0NHB4O2JvcmRlci1yYWRpdXM6M3B4fUBrZXlmcmFtZXMgdHAtcm90YXRlcGxhbmV7MCV7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDEyMHB4KSByb3RhdGVYKDApIHJvdGF0ZVkoMCl9NTAle3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSgxMjBweCkgcm90YXRlWCgtMTgwLjFkZWcpIHJvdGF0ZVkoMCl9MTAwJXt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoMTIwcHgpIHJvdGF0ZVgoLTE4MGRlZykgcm90YXRlWSgtMTc5LjlkZWcpfX0udHAtbG9hZGVyLnNwaW5uZXIye3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7bWFyZ2luLXRvcDotMjBweDttYXJnaW4tbGVmdDotMjBweDtiYWNrZ3JvdW5kLWNvbG9yOnJlZDtib3gtc2hhZG93OjAgMCAyMHB4IDAgcmdiYSgwLDAsMCwuMTUpO2JvcmRlci1yYWRpdXM6MTAwJTthbmltYXRpb246dHAtc2NhbGVvdXQgMXMgaW5maW5pdGUgZWFzZS1pbi1vdXR9QGtleWZyYW1lcyB0cC1zY2FsZW91dHswJXt0cmFuc2Zvcm06c2NhbGUoMCl9MTAwJXt0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eTowfX0udHAtbG9hZGVyLnNwaW5uZXIze21hcmdpbjotOXB4IDAgMCAtMzVweDt3aWR0aDo3MHB4O3RleHQtYWxpZ246Y2VudGVyfS50cC1sb2FkZXIuc3Bpbm5lcjMgLmJvdW5jZTEsLnRwLWxvYWRlci5zcGlubmVyMyAuYm91bmNlMiwudHAtbG9hZGVyLnNwaW5uZXIzIC5ib3VuY2Uze3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JveC1zaGFkb3c6MCAwIDIwcHggMCByZ2JhKDAsMCwwLC4xNSk7Ym9yZGVyLXJhZGl1czoxMDAlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2FuaW1hdGlvbjp0cC1ib3VuY2VkZWxheSAxLjRzIGluZmluaXRlIGVhc2UtaW4tb3V0O2FuaW1hdGlvbi1maWxsLW1vZGU6Ym90aH0udHAtbG9hZGVyLnNwaW5uZXIzIC5ib3VuY2Uxe2FuaW1hdGlvbi1kZWxheTotLjMyc30udHAtbG9hZGVyLnNwaW5uZXIzIC5ib3VuY2Uye2FuaW1hdGlvbi1kZWxheTotLjE2c31Aa2V5ZnJhbWVzIHRwLWJvdW5jZWRlbGF5ezAlLDEwMCUsODAle3RyYW5zZm9ybTpzY2FsZSgwKX00MCV7dHJhbnNmb3JtOnNjYWxlKDEpfX0udHAtbG9hZGVyLnNwaW5uZXI0e21hcmdpbjotMjBweCAwIDAgLTIwcHg7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDt0ZXh0LWFsaWduOmNlbnRlcjthbmltYXRpb246dHAtcm90YXRlIDJzIGluZmluaXRlIGxpbmVhcn0udHAtbG9hZGVyLnNwaW5uZXI0IC5kb3QxLC50cC1sb2FkZXIuc3Bpbm5lcjQgLmRvdDJ7d2lkdGg6NjAlO2hlaWdodDo2MCU7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6MTAwJTthbmltYXRpb246dHAtYm91bmNlIDJzIGluZmluaXRlIGVhc2UtaW4tb3V0O2JveC1zaGFkb3c6MCAwIDIwcHggMCByZ2JhKDAsMCwwLC4xNSl9LnRwLWxvYWRlci5zcGlubmVyNCAuZG90Mnt0b3A6YXV0bztib3R0b206MDthbmltYXRpb24tZGVsYXk6LTFzfUBrZXlmcmFtZXMgdHAtcm90YXRlezEwMCV7dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1Aa2V5ZnJhbWVzIHRwLWJvdW5jZXswJSwxMDAle3RyYW5zZm9ybTpzY2FsZSgwKX01MCV7dHJhbnNmb3JtOnNjYWxlKDEpfX0udHAtYnVsbGV0cy5uYXZiYXIsLnRwLXRhYnMubmF2YmFyLC50cC10aHVtYnMubmF2YmFye2JvcmRlcjpub25lO21pbi1oZWlnaHQ6MDttYXJnaW46MDtib3JkZXItcmFkaXVzOjB9LnRwLWJ1bGxldHMsLnRwLXRhYnMsLnRwLXRodW1ic3twb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmJsb2NrO3otaW5kZXg6MTAwMDt0b3A6MDtsZWZ0OjB9LnRwLXRhYiwudHAtdGh1bWJ7Y3Vyc29yOnBvaW50ZXI7cG9zaXRpb246YWJzb2x1dGU7b3BhY2l0eTouNTtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnRwLWFyci1pbWdob2xkZXIsLnRwLXRhYi1pbWFnZSwudHAtdGh1bWItaW1hZ2UsLnRwLXZpZGVvcG9zdGVye2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MH0udHAtdGFiLnNlbGVjdGVkLC50cC10YWI6aG92ZXIsLnRwLXRodW1iLnNlbGVjdGVkLC50cC10aHVtYjpob3ZlcntvcGFjaXR5OjF9LnRwLXRhYi1tYXNrLC50cC10aHVtYi1tYXNre2JveC1zaXppbmc6Ym9yZGVyLWJveCFpbXBvcnRhbnR9LnRwLXRhYnMsLnRwLXRodW1ic3tib3gtc2l6aW5nOmNvbnRlbnQtYm94IWltcG9ydGFudH0udHAtYnVsbGV0e3dpZHRoOjE1cHg7aGVpZ2h0OjE1cHg7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC4zKTtjdXJzb3I6cG9pbnRlcn0udHAtYnVsbGV0LnNlbGVjdGVkLC50cC1idWxsZXQ6aG92ZXJ7YmFja2dyb3VuZDojZmZmfS50cGFycm93c3tjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kOiMwMDA7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC41KTt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6YmxvY2s7ei1pbmRleDoxMDAwfS50cGFycm93czpob3ZlcntiYWNrZ3JvdW5kOiMwMDB9LnRwYXJyb3dzOmJlZm9yZXtmb250LWZhbWlseTpyZXZpY29ucztmb250LXNpemU6MTVweDtjb2xvcjojZmZmO2Rpc3BsYXk6YmxvY2s7bGluZS1oZWlnaHQ6NDBweDt0ZXh0LWFsaWduOmNlbnRlcn0uaGdpbmZvLC5oZ2xheWVyaW5mb3tmb250LXNpemU6MTJweDtmb250LXdlaWdodDo2MDB9LnRwYXJyb3dzLnRwLWxlZnRhcnJvdzpiZWZvcmV7Y29udGVudDonXGU4MjQnfS50cGFycm93cy50cC1yaWdodGFycm93OmJlZm9yZXtjb250ZW50OidcZTgyNSd9Ym9keS5ydGwgLnRwLWtiaW1ne2xlZnQ6MCFpbXBvcnRhbnR9LmRkZHdyYXBwZXJzaGFkb3d7Ym94LXNoYWRvdzowIDQ1cHggMTAwcHggcmdiYSgwLDAsMCwuNCl9LmhnbGF5ZXJpbmZve3Bvc2l0aW9uOmZpeGVkO2JvdHRvbTowO2xlZnQ6MDtjb2xvcjojRkZGO2xpbmUtaGVpZ2h0OjIwcHg7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC43NSk7cGFkZGluZzo1cHggMTBweDt6LWluZGV4OjIwMDA7d2hpdGUtc3BhY2U6bm9ybWFsfS5oZWxwZ3JpZCwuaGdpbmZve3Bvc2l0aW9uOmFic29sdXRlfS5oZ2luZm97dG9wOi0ycHg7bGVmdDotMnB4O2NvbG9yOiNlNzRjM2M7YmFja2dyb3VuZDojMDAwO3BhZGRpbmc6MnB4IDVweH0uaW5kZWJ1Z21vZGUgLnRwLWNhcHRpb246aG92ZXJ7Ym9yZGVyOjFweCBkYXNoZWQgI2MwMzkyYiFpbXBvcnRhbnR9LmhlbHBncmlke2JvcmRlcjoycHggZGFzaGVkICNjMDM5MmI7dG9wOjA7bGVmdDowO3otaW5kZXg6MH0jcmV2c2xpZGVybG9nbG9nbG9ne3BhZGRpbmc6MTVweDtjb2xvcjojZmZmO3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDt3aWR0aDoyMDBweDtoZWlnaHQ6MTUwcHg7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC43KTt6LWluZGV4OjEwMDAwMDtmb250LXNpemU6MTBweDtvdmVyZmxvdzpzY3JvbGx9LmFkZW57ZmlsdGVyOmh1ZS1yb3RhdGUoLTIwZGVnKSBjb250cmFzdCguOSkgc2F0dXJhdGUoLjg1KSBicmlnaHRuZXNzKDEuMil9LmFkZW46OmFmdGVye2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LHJnYmEoNjYsMTAsMTQsLjIpLHRyYW5zcGFyZW50KTttaXgtYmxlbmQtbW9kZTpkYXJrZW59LnBlcnBldHVhOjphZnRlciwucmV5ZXM6OmFmdGVye21peC1ibGVuZC1tb2RlOnNvZnQtbGlnaHQ7b3BhY2l0eTouNX0uaW5rd2VsbHtmaWx0ZXI6c2VwaWEoLjMpIGNvbnRyYXN0KDEuMSkgYnJpZ2h0bmVzcygxLjEpIGdyYXlzY2FsZSgxKX0ucGVycGV0dWE6OmFmdGVye2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjMDA1YjlhLCNlNmMxM2QpfS5yZXllc3tmaWx0ZXI6c2VwaWEoLjIyKSBicmlnaHRuZXNzKDEuMSkgY29udHJhc3QoLjg1KSBzYXR1cmF0ZSguNzUpfS5yZXllczo6YWZ0ZXJ7YmFja2dyb3VuZDojZWZjZGFkfS5naW5naGFte2ZpbHRlcjpicmlnaHRuZXNzKDEuMDUpIGh1ZS1yb3RhdGUoLTEwZGVnKX0uZ2luZ2hhbTo6YWZ0ZXJ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQscmdiYSg2NiwxMCwxNCwuMiksdHJhbnNwYXJlbnQpO21peC1ibGVuZC1tb2RlOmRhcmtlbn0udG9hc3RlcntmaWx0ZXI6Y29udHJhc3QoMS41KSBicmlnaHRuZXNzKC45KX0udG9hc3Rlcjo6YWZ0ZXJ7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCM4MDRlMGYsIzNiMDAzYik7bWl4LWJsZW5kLW1vZGU6c2NyZWVufS53YWxkZW57ZmlsdGVyOmJyaWdodG5lc3MoMS4xKSBodWUtcm90YXRlKC0xMGRlZykgc2VwaWEoLjMpIHNhdHVyYXRlKDEuNil9LndhbGRlbjo6YWZ0ZXJ7YmFja2dyb3VuZDojMDRjO21peC1ibGVuZC1tb2RlOnNjcmVlbjtvcGFjaXR5Oi4zfS5odWRzb257ZmlsdGVyOmJyaWdodG5lc3MoMS4yKSBjb250cmFzdCguOSkgc2F0dXJhdGUoMS4xKX0uaHVkc29uOjphZnRlcntiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUsI2E2YjFmZiA1MCUsIzM0MjEzNCk7bWl4LWJsZW5kLW1vZGU6bXVsdGlwbHk7b3BhY2l0eTouNX0uZWFybHliaXJke2ZpbHRlcjpjb250cmFzdCguOSkgc2VwaWEoLjIpfS5lYXJseWJpcmQ6OmFmdGVye2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSwjZDBiYThlIDIwJSwjMzYwMzA5IDg1JSwjMWQwMjEwIDEwMCUpO21peC1ibGVuZC1tb2RlOm92ZXJsYXl9Lm1heWZhaXJ7ZmlsdGVyOmNvbnRyYXN0KDEuMSkgc2F0dXJhdGUoMS4xKX0ubWF5ZmFpcjo6YWZ0ZXJ7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDQwJSA0MCUscmdiYSgyNTUsMjU1LDI1NSwuOCkscmdiYSgyNTUsMjAwLDIwMCwuNiksIzExMSA2MCUpO21peC1ibGVuZC1tb2RlOm92ZXJsYXk7b3BhY2l0eTouNH0ubG9maXtmaWx0ZXI6c2F0dXJhdGUoMS4xKSBjb250cmFzdCgxLjUpfS5sb2ZpOjphZnRlcntiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUsdHJhbnNwYXJlbnQgNzAlLCMyMjIgMTUwJSk7bWl4LWJsZW5kLW1vZGU6bXVsdGlwbHl9Ll8xOTc3e2ZpbHRlcjpjb250cmFzdCgxLjEpIGJyaWdodG5lc3MoMS4xKSBzYXR1cmF0ZSgxLjMpfS5fMTk3NzphZnRlcntiYWNrZ3JvdW5kOnJnYmEoMjQzLDEwNiwxODgsLjMpO21peC1ibGVuZC1tb2RlOnNjcmVlbn0uYnJvb2tseW57ZmlsdGVyOmNvbnRyYXN0KC45KSBicmlnaHRuZXNzKDEuMSl9LmJyb29rbHluOjphZnRlcntiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUscmdiYSgxNjgsMjIzLDE5MywuNCkgNzAlLCNjNGI3YzgpO21peC1ibGVuZC1tb2RlOm92ZXJsYXl9Lnhwcm8ye2ZpbHRlcjpzZXBpYSguMyl9Lnhwcm8yOjphZnRlcntiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUsI2U2ZTdlMCA0MCUscmdiYSg0Myw0MiwxNjEsLjYpIDExMCUpO21peC1ibGVuZC1tb2RlOmNvbG9yLWJ1cm59Lm5hc2h2aWxsZXtmaWx0ZXI6c2VwaWEoLjIpIGNvbnRyYXN0KDEuMikgYnJpZ2h0bmVzcygxLjA1KSBzYXR1cmF0ZSgxLjIpfS5uYXNodmlsbGU6OmFmdGVye2JhY2tncm91bmQ6cmdiYSgwLDcwLDE1MCwuNCk7bWl4LWJsZW5kLW1vZGU6bGlnaHRlbn0ubmFzaHZpbGxlOjpiZWZvcmV7YmFja2dyb3VuZDpyZ2JhKDI0NywxNzYsMTUzLC41Nik7bWl4LWJsZW5kLW1vZGU6ZGFya2VufS5sYXJre2ZpbHRlcjpjb250cmFzdCguOSl9Lmxhcms6OmFmdGVye2JhY2tncm91bmQ6cmdiYSgyNDIsMjQyLDI0MiwuOCk7bWl4LWJsZW5kLW1vZGU6ZGFya2VufS5sYXJrOjpiZWZvcmV7YmFja2dyb3VuZDojMjIyNTNmO21peC1ibGVuZC1tb2RlOmNvbG9yLWRvZGdlfS5tb29ue2ZpbHRlcjpncmF5c2NhbGUoMSkgY29udHJhc3QoMS4xKSBicmlnaHRuZXNzKDEuMSl9Lm1vb246OmJlZm9yZXtiYWNrZ3JvdW5kOiNhMGEwYTA7bWl4LWJsZW5kLW1vZGU6c29mdC1saWdodH0ubW9vbjo6YWZ0ZXJ7YmFja2dyb3VuZDojMzgzODM4O21peC1ibGVuZC1tb2RlOmxpZ2h0ZW59LmNsYXJlbmRvbntmaWx0ZXI6Y29udHJhc3QoMS4yKSBzYXR1cmF0ZSgxLjM1KX0uY2xhcmVuZG9uOmJlZm9yZXtiYWNrZ3JvdW5kOnJnYmEoMTI3LDE4NywyMjcsLjIpO21peC1ibGVuZC1tb2RlOm92ZXJsYXl9LndpbGxvd3tmaWx0ZXI6Z3JheXNjYWxlKC41KSBjb250cmFzdCguOTUpIGJyaWdodG5lc3MoLjkpfS53aWxsb3c6OmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOnJhZGlhbC1ncmFkaWVudCg0MCUsY2lyY2xlLCNkNGE5YWYgNTUlLCMwMDAgMTUwJSk7bWl4LWJsZW5kLW1vZGU6b3ZlcmxheX0ud2lsbG93OjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNkOGNkY2I7bWl4LWJsZW5kLW1vZGU6Y29sb3J9LnJpc2V7ZmlsdGVyOmJyaWdodG5lc3MoMS4wNSkgc2VwaWEoLjIpIGNvbnRyYXN0KC45KSBzYXR1cmF0ZSguOSl9LnJpc2U6OmFmdGVye2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSxyZ2JhKDIzMiwxOTcsMTUyLC44KSx0cmFuc3BhcmVudCA5MCUpO21peC1ibGVuZC1tb2RlOm92ZXJsYXk7b3BhY2l0eTouNn0ucmlzZTo6YmVmb3Jle2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSxyZ2JhKDIzNiwyMDUsMTY5LC4xNSkgNTUlLHJnYmEoNTAsMzAsNywuNCkpO21peC1ibGVuZC1tb2RlOm11bHRpcGx5fS5fMTk3NzphZnRlciwuXzE5Nzc6YmVmb3JlLC5hZGVuOmFmdGVyLC5hZGVuOmJlZm9yZSwuYnJvb2tseW46YWZ0ZXIsLmJyb29rbHluOmJlZm9yZSwuY2xhcmVuZG9uOmFmdGVyLC5jbGFyZW5kb246YmVmb3JlLC5lYXJseWJpcmQ6YWZ0ZXIsLmVhcmx5YmlyZDpiZWZvcmUsLmdpbmdoYW06YWZ0ZXIsLmdpbmdoYW06YmVmb3JlLC5odWRzb246YWZ0ZXIsLmh1ZHNvbjpiZWZvcmUsLmlua3dlbGw6YWZ0ZXIsLmlua3dlbGw6YmVmb3JlLC5sYXJrOmFmdGVyLC5sYXJrOmJlZm9yZSwubG9maTphZnRlciwubG9maTpiZWZvcmUsLm1heWZhaXI6YWZ0ZXIsLm1heWZhaXI6YmVmb3JlLC5tb29uOmFmdGVyLC5tb29uOmJlZm9yZSwubmFzaHZpbGxlOmFmdGVyLC5uYXNodmlsbGU6YmVmb3JlLC5wZXJwZXR1YTphZnRlciwucGVycGV0dWE6YmVmb3JlLC5yZXllczphZnRlciwucmV5ZXM6YmVmb3JlLC5yaXNlOmFmdGVyLC5yaXNlOmJlZm9yZSwuc2x1bWJlcjphZnRlciwuc2x1bWJlcjpiZWZvcmUsLnRvYXN0ZXI6YWZ0ZXIsLnRvYXN0ZXI6YmVmb3JlLC53YWxkZW46YWZ0ZXIsLndhbGRlbjpiZWZvcmUsLndpbGxvdzphZnRlciwud2lsbG93OmJlZm9yZSwueHBybzI6YWZ0ZXIsLnhwcm8yOmJlZm9yZXtjb250ZW50OicnO2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTt0b3A6MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7cG9pbnRlci1ldmVudHM6bm9uZX0uXzE5NzcsLmFkZW4sLmJyb29rbHluLC5jbGFyZW5kb24sLmVhcmx5YmlyZCwuZ2luZ2hhbSwuaHVkc29uLC5pbmt3ZWxsLC5sYXJrLC5sb2ZpLC5tYXlmYWlyLC5tb29uLC5uYXNodmlsbGUsLnBlcnBldHVhLC5yZXllcywucmlzZSwuc2x1bWJlciwudG9hc3Rlciwud2FsZGVuLC53aWxsb3csLnhwcm8ye3Bvc2l0aW9uOnJlbGF0aXZlfS5fMTk3NyBpbWcsLmFkZW4gaW1nLC5icm9va2x5biBpbWcsLmNsYXJlbmRvbiBpbWcsLmVhcmx5YmlyZCBpbWcsLmdpbmdoYW0gaW1nLC5odWRzb24gaW1nLC5pbmt3ZWxsIGltZywubGFyayBpbWcsLmxvZmkgaW1nLC5tYXlmYWlyIGltZywubW9vbiBpbWcsLm5hc2h2aWxsZSBpbWcsLnBlcnBldHVhIGltZywucmV5ZXMgaW1nLC5yaXNlIGltZywuc2x1bWJlciBpbWcsLnRvYXN0ZXIgaW1nLC53YWxkZW4gaW1nLC53aWxsb3cgaW1nLC54cHJvMiBpbWd7d2lkdGg6MTAwJTt6LWluZGV4OjF9Ll8xOTc3OmJlZm9yZSwuYWRlbjpiZWZvcmUsLmJyb29rbHluOmJlZm9yZSwuY2xhcmVuZG9uOmJlZm9yZSwuZWFybHliaXJkOmJlZm9yZSwuZ2luZ2hhbTpiZWZvcmUsLmh1ZHNvbjpiZWZvcmUsLmlua3dlbGw6YmVmb3JlLC5sYXJrOmJlZm9yZSwubG9maTpiZWZvcmUsLm1heWZhaXI6YmVmb3JlLC5tb29uOmJlZm9yZSwubmFzaHZpbGxlOmJlZm9yZSwucGVycGV0dWE6YmVmb3JlLC5yZXllczpiZWZvcmUsLnJpc2U6YmVmb3JlLC5zbHVtYmVyOmJlZm9yZSwudG9hc3RlcjpiZWZvcmUsLndhbGRlbjpiZWZvcmUsLndpbGxvdzpiZWZvcmUsLnhwcm8yOmJlZm9yZXt6LWluZGV4OjJ9Ll8xOTc3OmFmdGVyLC5hZGVuOmFmdGVyLC5icm9va2x5bjphZnRlciwuY2xhcmVuZG9uOmFmdGVyLC5lYXJseWJpcmQ6YWZ0ZXIsLmdpbmdoYW06YWZ0ZXIsLmh1ZHNvbjphZnRlciwuaW5rd2VsbDphZnRlciwubGFyazphZnRlciwubG9maTphZnRlciwubWF5ZmFpcjphZnRlciwubW9vbjphZnRlciwubmFzaHZpbGxlOmFmdGVyLC5wZXJwZXR1YTphZnRlciwucmV5ZXM6YWZ0ZXIsLnJpc2U6YWZ0ZXIsLnNsdW1iZXI6YWZ0ZXIsLnRvYXN0ZXI6YWZ0ZXIsLndhbGRlbjphZnRlciwud2lsbG93OmFmdGVyLC54cHJvMjphZnRlcnt6LWluZGV4OjN9LnNsdW1iZXJ7ZmlsdGVyOnNhdHVyYXRlKC42NikgYnJpZ2h0bmVzcygxLjA1KX0uc2x1bWJlcjo6YWZ0ZXJ7YmFja2dyb3VuZDpyZ2JhKDEyNSwxMDUsMjQsLjUpO21peC1ibGVuZC1tb2RlOnNvZnQtbGlnaHR9LnNsdW1iZXI6OmJlZm9yZXtiYWNrZ3JvdW5kOnJnYmEoNjksNDEsMTIsLjQpO21peC1ibGVuZC1tb2RlOmxpZ2h0ZW59LnRwLWtiaW1nLXdyYXA6YWZ0ZXIsLnRwLWtiaW1nLXdyYXA6YmVmb3Jle2hlaWdodDo1MDAlO3dpZHRoOjUwMCV9"}},"time_used":38,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":30,"receive":8,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/images/resource/cards.png","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.657Z","timestamp":1785123231657,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /images/resource/cards.png HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: image/png\r\nlast-modified: Wed, 22 Apr 2026 21:44:12 GMT\r\naccept-ranges: bytes\r\ncontent-length: 11647\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":11647,"size_decoded":11913,"mime_type":"image/png","magic":"PNG image data, 312 x 34, 8-bit/color RGBA, non-interlaced","md5":"fef8cf3ad8ecb59a640fded08317654f","sha1":"ff82de0d9fdd945356660767e84ba0965c61032e","sha256":"fc4a45fba3fadfb7fb49464004c3ce31e68954a24e93446e3d7a308b52f706b6","sha512":"33492fd7b0ac53553071e2c007ad334735bb11877db15fa12dfc4cf937405aeedf4c6a857501dcb3f54de143f7bc1014f3104822b084cc678cd0c832d61425f7","ssdeep":"192:tzOF63ds9mfoXZoAQZxH06iqZFi6T5Ehg2FPDoiMjWTDAURyjfQEX/eo7SK4e2xf:lOF63DAQBhZU6tEhg2FLkPUha/X7v4e6","tlshash":"1e32c0bdb022720201ded5aab5bff57f4a6bc0b4e222e6e59cd96d0904553f8c068ec5","first_seen":"2025-10-05T03:57:22.083317Z","last_seen":"2026-07-27T05:05:33.755935Z","times_seen":11,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAATgAAAAiCAYAAADLRcUjAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkMwRUE3RDU2MDU4RDExRTg5MDkzRDUyNDYyMEUyNTg0IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkMwRUE3RDU3MDU4RDExRTg5MDkzRDUyNDYyMEUyNTg0Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzBFQTdENTQwNThEMTFFODkwOTNENTI0NjIwRTI1ODQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QzBFQTdENTUwNThEMTFFODkwOTNENTI0NjIwRTI1ODQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz65BE7rAAAp70lEQVR42ux9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"}},"time_used":46,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":38,"receive":8,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/js/jquery.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.587Z","timestamp":1785123231587,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /js/jquery.js HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Wed, 22 Apr 2026 17:27:39 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 29172\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":85580,"size_decoded":29496,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (32065), with CRLF line terminators","md5":"adb784ef9dc257b32965a5da7ee82a8b","sha1":"7a41c488d820ea08231d1d393e5f4daed4d25041","sha256":"8e09aa31f396ea41d698f437dc5fc7125e931d400eb2873f5b68ef78c1e6f3a6","sha512":"bc8fcdf5a4645443c394b0d1b7222b2e2321a4558cd39cfac18c88aa1abc44d4317a94a26b0f8444f6700197fe2a90d2812c42fb1f85fc5ae33069343579d4df","ssdeep":"1536:fYE1JVoiB9JqZdXXe2pD3PgoIiulrUn6Z6a4tfOR7WpfWBZPBJda4w9W3qG9a98Q:u4J+rlfOhWpgCW6G9a98HrU","tlshash":"1383c6d9b2d6706297b734b850bf410bb17a98dab44c8c60f059d4e47eb4a8e507bf2c","first_seen":"2023-03-07T01:20:21Z","last_seen":"2026-07-27T05:57:49.9419Z","times_seen":2148,"resource_available":true,"data":"LyohIGpRdWVyeSB2Mi4yLjQgfCAoYykgalF1ZXJ5IEZvdW5kYXRpb24gfCBqcXVlcnkub3JnL2xpY2Vuc2UgKi8NCiFmdW5jdGlvbihhLGIpeyJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiYib2JqZWN0Ij09dHlwZW9mIG1vZHVsZS5leHBvcnRzP21vZHVsZS5leHBvcnRzPWEuZG9jdW1lbnQ/YihhLCEwKTpmdW5jdGlvbihhKXtpZighYS5kb2N1bWVudCl0aHJvdyBuZXcgRXJyb3IoImpRdWVyeSByZXF1aXJlcyBhIHdpbmRvdyB3aXRoIGEgZG9jdW1lbnQiKTtyZXR1cm4gYihhKX06YihhKX0oInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93OnRoaXMsZnVuY3Rpb24oYSxiKXt2YXIgYz1bXSxkPWEuZG9jdW1lbnQsZT1jLnNsaWNlLGY9Yy5jb25jYXQsZz1jLnB1c2gsaD1jLmluZGV4T2YsaT17fSxqPWkudG9TdHJpbmcsaz1pLmhhc093blByb3BlcnR5LGw9e30sbT0iMi4yLjQiLG49ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbmV3IG4uZm4uaW5pdChhLGIpfSxvPS9eW1xzXHVGRUZGXHhBMF0rfFtcc1x1RkVGRlx4QTBdKyQvZyxwPS9eLW1zLS8scT0vLShbXGRhLXpdKS9naSxyPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGIudG9VcHBlckNhc2UoKX07bi5mbj1uLnByb3RvdHlwZT17anF1ZXJ5Om0sY29uc3RydWN0b3I6bixzZWxlY3RvcjoiIixsZW5ndGg6MCx0b0FycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIGUuY2FsbCh0aGlzKX0sZ2V0OmZ1bmN0aW9uKGEpe3JldHVybiBudWxsIT1hPzA+YT90aGlzW2ErdGhpcy5sZW5ndGhdOnRoaXNbYV06ZS5jYWxsKHRoaXMpfSxwdXNoU3RhY2s6ZnVuY3Rpb24oYSl7dmFyIGI9bi5tZXJnZSh0aGlzLmNvbnN0cnVjdG9yKCksYSk7cmV0dXJuIGIucHJldk9iamVjdD10aGlzLGIuY29udGV4dD10aGlzLmNvbnRleHQsYn0sZWFjaDpmdW5jdGlvbihhKXtyZXR1cm4gbi5lYWNoKHRoaXMsYSl9LG1hcDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sobi5tYXAodGhpcyxmdW5jdGlvbihiLGMpe3JldHVybiBhLmNhbGwoYixjLGIpfSkpfSxzbGljZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9LGZpcnN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoMCl9LGxhc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgtMSl9LGVxOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMubGVuZ3RoLGM9K2ErKDA+YT9iOjApO3JldHVybiB0aGlzLnB1c2hTdGFjayhjPj0wJiZiPmM/W3RoaXNbY11dOltdKX0sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHJldk9iamVjdHx8dGhpcy5jb25zdHJ1Y3RvcigpfSxwdXNoOmcsc29ydDpjLnNvcnQsc3BsaWNlOmMuc3BsaWNlfSxuLmV4dGVuZD1uLmZuLmV4dGVuZD1mdW5jdGlvbigpe3ZhciBhLGIsYyxkLGUsZixnPWFyZ3VtZW50c1swXXx8e30saD0xLGk9YXJndW1lbnRzLmxlbmd0aCxqPSExO2ZvcigiYm9vbGVhbiI9PXR5cGVvZiBnJiYoaj1nLGc9YXJndW1lbnRzW2hdfHx7fSxoKyspLCJvYmplY3QiPT10eXBlb2YgZ3x8bi5pc0Z1bmN0aW9uKGcpfHwoZz17fSksaD09PWkmJihnPXRoaXMsaC0tKTtpPmg7aCsrKWlmKG51bGwhPShhPWFyZ3VtZW50c1toXSkpZm9yKGIgaW4gYSljPWdbYl0sZD1hW2JdLGchPT1kJiYoaiYmZCYmKG4uaXNQbGFpbk9iamVjdChkKXx8KGU9bi5pc0FycmF5KGQpKSk/KGU/KGU9ITEsZj1jJiZuLmlzQXJyYXkoYyk/YzpbXSk6Zj1jJiZuLmlzUGxhaW5PYmplY3QoYyk/Yzp7fSxnW2JdPW4uZXh0ZW5kKGosZixkKSk6dm9pZCAwIT09ZCYmKGdbYl09ZCkpO3JldHVybiBnfSxuLmV4dGVuZCh7ZXhwYW5kbzoialF1ZXJ5IisobStNYXRoLnJhbmRvbSgpKS5yZXBsYWNlKC9cRC9nLCIiKSxpc1JlYWR5OiEwLGVycm9yOmZ1bmN0aW9uKGEpe3Rocm93IG5ldyBFcnJvcihhKX0sbm9vcDpmdW5jdGlvbigpe30saXNGdW5jdGlvbjpmdW5jdGlvbihhKXtyZXR1cm4iZnVuY3Rpb24iPT09bi50eXBlKGEpfSxpc0FycmF5OkFycmF5LmlzQXJyYXksaXNXaW5kb3c6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPWEmJmE9PT1hLndpbmRvd30saXNOdW1lcmljOmZ1bmN0aW9uKGEpe3ZhciBiPWEmJmEudG9TdHJpbmcoKTtyZXR1cm4hbi5pc0FycmF5KGEpJiZiLXBhcnNlRmxvYXQoYikrMT49MH0saXNQbGFpbk9iamVjdDpmdW5jdGlvbihhKXt2YXIgYjtpZigib2JqZWN0IiE9PW4udHlwZShhKXx8YS5ub2RlVHlwZXx8bi5pc1dpbmRvdyhhKSlyZXR1cm4hMTtpZihhLmNvbnN0cnVjdG9yJiYhay5jYWxsKGEsImNvbnN0cnVjdG9yIikmJiFrLmNhbGwoYS5jb25zdHJ1Y3Rvci5wcm90b3R5cGV8fHt9LCJpc1Byb3RvdHlwZU9mIikpcmV0dXJuITE7Zm9yKGIgaW4gYSk7cmV0dXJuIHZvaWQgMD09PWJ8fGsuY2FsbChhLGIpfSxpc0VtcHR5T2JqZWN0OmZ1bmN0aW9uKGEpe3ZhciBiO2ZvcihiIGluIGEpcmV0dXJuITE7cmV0dXJuITB9LHR5cGU6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWE/YSsiIjoib2JqZWN0Ij09dHlwZW9mIGF8fCJmdW5jdGlvbiI9PXR5cGVvZiBhP2lbai5jYWxsKGEpXXx8Im9iamVjdCI6dHlwZW9mIGF9LGdsb2JhbEV2YWw6ZnVuY3Rpb24oYSl7dmFyIGIsYz1ldmFsO2E9bi50cmltKGEpLGEmJigxPT09YS5pbmRleE9mKCJ1c2Ugc3RyaWN0Iik/KGI9ZC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSxiLnRleHQ9YSxkLmhlYWQuYXBwZW5kQ2hpbGQoYikucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChiKSk6YyhhKSl9LGNhbWVsQ2FzZTpmdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKHAsIm1zLSIpLnJlcGxhY2UocSxyKX0sbm9kZU5hbWU6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5ub2RlTmFtZSYmYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09Yi50b0xvd2VyQ2FzZSgpfSxlYWNoOmZ1bmN0aW9uKGEsYil7dmFyIGMsZD0wO2lmKHMoYSkpe2ZvcihjPWEubGVuZ3RoO2M+ZDtkKyspaWYoYi5jYWxsKGFbZF0sZCxhW2RdKT09PSExKWJyZWFrfWVsc2UgZm9yKGQgaW4gYSlpZihiLmNhbGwoYVtkXSxkLGFbZF0pPT09ITEpYnJlYWs7cmV0dXJuIGF9LHRyaW06ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWE/IiI6KGErIiIpLnJlcGxhY2UobywiIil9LG1ha2VBcnJheTpmdW5jdGlvbihhLGIpe3ZhciBjPWJ8fFtdO3JldHVybiBudWxsIT1hJiYocyhPYmplY3QoYSkpP24ubWVyZ2UoYywic3RyaW5nIj09dHlwZW9mIGE/W2FdOmEpOmcuY2FsbChjLGEpKSxjfSxpbkFycmF5OmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbnVsbD09Yj8tMTpoLmNhbGwoYixhLGMpfSxtZXJnZTpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0rYi5sZW5ndGgsZD0wLGU9YS5sZW5ndGg7Yz5kO2QrKylhW2UrK109YltkXTtyZXR1cm4gYS5sZW5ndGg9ZSxhfSxncmVwOmZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQsZT1bXSxmPTAsZz1hLmxlbmd0aCxoPSFjO2c+ZjtmKyspZD0hYihhW2ZdLGYpLGQhPT1oJiZlLnB1c2goYVtmXSk7cmV0dXJuIGV9LG1hcDpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxnPTAsaD1bXTtpZihzKGEpKWZvcihkPWEubGVuZ3RoO2Q+ZztnKyspZT1iKGFbZ10sZyxjKSxudWxsIT1lJiZoLnB1c2goZSk7ZWxzZSBmb3IoZyBpbiBhKWU9YihhW2ddLGcsYyksbnVsbCE9ZSYmaC5wdXNoKGUpO3JldHVybiBmLmFwcGx5KFtdLGgpfSxndWlkOjEscHJveHk6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGY7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBiJiYoYz1hW2JdLGI9YSxhPWMpLG4uaXNGdW5jdGlvbihhKT8oZD1lLmNhbGwoYXJndW1lbnRzLDIpLGY9ZnVuY3Rpb24oKXtyZXR1cm4gYS5hcHBseShifHx0aGlzLGQuY29uY2F0KGUuY2FsbChhcmd1bWVudHMpKSl9LGYuZ3VpZD1hLmd1aWQ9YS5ndWlkfHxuLmd1aWQrKyxmKTp2b2lkIDB9LG5vdzpEYXRlLm5vdyxzdXBwb3J0Omx9KSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYobi5mbltTeW1ib2wuaXRlcmF0b3JdPWNbU3ltYm9sLml0ZXJhdG9yXSksbi5lYWNoKCJCb29sZWFuIE51bWJlciBTdHJpbmcgRnVuY3Rpb24gQXJyYXkgRGF0ZSBSZWdFeHAgT2JqZWN0IEVycm9yIFN5bWJvbCIuc3BsaXQoIiAiKSxmdW5jdGlvbihhLGIpe2lbIltvYmplY3QgIitiKyJdIl09Yi50b0xvd2VyQ2FzZSgpfSk7ZnVuY3Rpb24gcyhhKXt2YXIgYj0hIWEmJiJsZW5ndGgiaW4gYSYmYS5sZW5ndGgsYz1uLnR5cGUoYSk7cmV0dXJuImZ1bmN0aW9uIj09PWN8fG4uaXNXaW5kb3coYSk/ITE6ImFycmF5Ij09PWN8fDA9PT1ifHwibnVtYmVyIj09dHlwZW9mIGImJmI+MCYmYi0xIGluIGF9dmFyIHQ9ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGgsaSxqLGssbCxtLG4sbyxwLHEscixzLHQsdT0ic2l6emxlIisxKm5ldyBEYXRlLHY9YS5kb2N1bWVudCx3PTAseD0wLHk9Z2EoKSx6PWdhKCksQT1nYSgpLEI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09PWImJihsPSEwKSwwfSxDPTE8PDMxLEQ9e30uaGFzT3duUHJvcGVydHksRT1bXSxGPUUucG9wLEc9RS5wdXNoLEg9RS5wdXNoLEk9RS5zbGljZSxKPWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPTAsZD1hLmxlbmd0aDtkPmM7YysrKWlmKGFbY109PT1iKXJldHVybiBjO3JldHVybi0xfSxLPSJjaGVja2VkfHNlbGVjdGVkfGFzeW5jfGF1dG9mb2N1c3xhdXRvcGxheXxjb250cm9sc3xkZWZlcnxkaXNhYmxlZHxoaWRkZW58aXNtYXB8bG9vcHxtdWx0aXBsZXxvcGVufHJlYWRvbmx5fHJlcXVpcmVkfHNjb3BlZCIsTD0iW1xceDIwXFx0XFxyXFxuXFxmXSIsTT0iKD86XFxcXC58W1xcdy1dfFteXFx4MDAtXFx4YTBdKSsiLE49IlxcWyIrTCsiKigiK00rIikoPzoiK0wrIiooWypeJHwhfl0/PSkiK0wrIiooPzonKCg/OlxcXFwufFteXFxcXCddKSopJ3xcIigoPzpcXFxcLnxbXlxcXFxcIl0pKilcInwoIitNKyIpKXwpIitMKyIqXFxdIixPPSI6KCIrTSsiKSg/OlxcKCgoJygoPzpcXFxcLnxbXlxcXFwnXSkqKSd8XCIoKD86XFxcXC58W15cXFxcXCJdKSopXCIpfCgoPzpcXFxcLnxbXlxcXFwoKVtcXF1dfCIrTisiKSopfC4qKVxcKXwpIixQPW5ldyBSZWdFeHAoTCsiKyIsImciKSxRPW5ldyBSZWdFeHAoIl4iK0wrIit8KCg/Ol58W15cXFxcXSkoPzpcXFxcLikqKSIrTCsiKyQiLCJnIiksUj1uZXcgUmVnRXhwKCJeIitMKyIqLCIrTCsiKiIpLFM9bmV3IFJlZ0V4cCgiXiIrTCsiKihbPit+XXwiK0wrIikiK0wrIioiKSxUPW5ldyBSZWdFeHAoIj0iK0wrIiooW15cXF0nXCJdKj8pIitMKyIqXFxdIiwiZyIpLFU9bmV3IFJlZ0V4cChPKSxWPW5ldyBSZWdFeHAoIl4iK00rIiQiKSxXPXtJRDpuZXcgUmVnRXhwKCJeIygiK00rIikiKSxDTEFTUzpuZXcgUmVnRXhwKCJeXFwuKCIrTSsiKSIpLFRBRzpuZXcgUmVnRXhwKCJeKCIrTSsifFsqXSkiKSxBVFRSOm5ldyBSZWdFeHAoIl4iK04pLFBTRVVETzpuZXcgUmVnRXhwKCJeIitPKSxDSElMRDpuZXcgUmVnRXhwKCJeOihvbmx5fGZpcnN0fGxhc3R8bnRofG50aC1sYXN0KS0oY2hpbGR8b2YtdHlwZSkoPzpcXCgiK0wrIiooZXZlbnxvZGR8KChbKy1dfCkoXFxkKilufCkiK0wrIiooPzooWystXXwpIitMKyIqKFxcZCspfCkpIitMKyIqXFwpfCkiLCJpIiksYm9vbDpuZXcgUmVnRXhwKCJeKD86IitLKyIpJCIsImkiKSxuZWVkc0NvbnRleHQ6bmV3IFJlZ0V4cCgiXiIrTCsiKls+K35dfDooZXZlbnxvZGR8ZXF8Z3R8bHR8bnRofGZpcnN0fGxhc3QpKD86XFwoIitMKyIqKCg/Oi1cXGQpP1xcZCopIitMKyIqXFwpfCkoPz1bXi1dfCQpIiwiaSIpfSxYPS9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGJ1dHRvbikkL2ksWT0vXmhcZCQvaSxaPS9eW157XStce1xzKlxbbmF0aXZlIFx3LywkPS9eKD86IyhbXHctXSspfChcdyspfFwuKFtcdy1dKykpJC8sXz0vWyt+XS8sYWE9Lyd8XFwvZyxiYT1uZXcgUmVnRXhwKCJcXFxcKFtcXGRhLWZdezEsNn0iK0wrIj98KCIrTCsiKXwuKSIsImlnIiksY2E9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSIweCIrYi02NTUzNjtyZXR1cm4gZCE9PWR8fGM/YjowPmQ/U3RyaW5nLmZyb21DaGFyQ29kZShkKzY1NTM2KTpTdHJpbmcuZnJvbUNoYXJDb2RlKGQ+PjEwfDU1Mjk2LDEwMjMmZHw1NjMyMCl9LGRhPWZ1bmN0aW9uKCl7bSgpfTt0cnl7SC5hcHBseShFPUkuY2FsbCh2LmNoaWxkTm9kZXMpLHYuY2hpbGROb2RlcyksRVt2LmNoaWxkTm9kZXMubGVuZ3RoXS5ub2RlVHlwZX1jYXRjaChlYSl7SD17YXBwbHk6RS5sZW5ndGg/ZnVuY3Rpb24oYSxiKXtHLmFwcGx5KGEsSS5jYWxsKGIpKX06ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmxlbmd0aCxkPTA7d2hpbGUoYVtjKytdPWJbZCsrXSk7YS5sZW5ndGg9Yy0xfX19ZnVuY3Rpb24gZmEoYSxiLGQsZSl7dmFyIGYsaCxqLGssbCxvLHIscyx3PWImJmIub3duZXJEb2N1bWVudCx4PWI/Yi5ub2RlVHlwZTo5O2lmKGQ9ZHx8W10sInN0cmluZyIhPXR5cGVvZiBhfHwhYXx8MSE9PXgmJjkhPT14JiYxMSE9PXgpcmV0dXJuIGQ7aWYoIWUmJigoYj9iLm93bmVyRG9jdW1lbnR8fGI6dikhPT1uJiZtKGIpLGI9Ynx8bixwKSl7aWYoMTEhPT14JiYobz0kLmV4ZWMoYSkpKWlmKGY9b1sxXSl7aWYoOT09PXgpe2lmKCEoaj1iLmdldEVsZW1lbnRCeUlkKGYpKSlyZXR1cm4gZDtpZihqLmlkPT09ZilyZXR1cm4gZC5wdXNoKGopLGR9ZWxzZSBpZih3JiYoaj13LmdldEVsZW1lbnRCeUlkKGYpKSYmdChiLGopJiZqLmlkPT09ZilyZXR1cm4gZC5wdXNoKGopLGR9ZWxzZXtpZihvWzJdKXJldHVybiBILmFwcGx5KGQsYi5nZXRFbGVtZW50c0J5VGFnTmFtZShhKSksZDtpZigoZj1vWzNdKSYmYy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lJiZiLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpcmV0dXJuIEguYXBwbHkoZCxiLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoZikpLGR9aWYoYy5xc2EmJiFBW2ErIiAiXSYmKCFxfHwhcS50ZXN0KGEpKSl7aWYoMSE9PXgpdz1iLHM9YTtlbHNlIGlmKCJvYmplY3QiIT09Yi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKXsoaz1iLmdldEF0dHJpYnV0ZSgiaWQiKSk/az1rLnJlcGxhY2UoYWEsIlxcJCYiKTpiLnNldEF0dHJpYnV0ZSgiaWQiLGs9dSkscj1nKGEpLGg9ci5sZW5ndGgsbD1WLnRlc3Qoayk/IiMiK2s6IltpZD0nIitrKyInXSI7d2hpbGUoaC0tKXJbaF09bCsiICIrcWEocltoXSk7cz1yLmpvaW4oIiwiKSx3PV8udGVzdChhKSYmb2EoYi5wYXJlbnROb2RlKXx8Yn1pZihzKXRyeXtyZXR1cm4gSC5hcHBseShkLHcucXVlcnlTZWxlY3RvckFsbChzKSksZH1jYXRjaCh5KXt9ZmluYWxseXtrPT09dSYmYi5yZW1vdmVBdHRyaWJ1dGUoImlkIil9fX1yZXR1cm4gaShhLnJlcGxhY2UoUSwiJDEiKSxiLGQsZSl9ZnVuY3Rpb24gZ2EoKXt2YXIgYT1bXTtmdW5jdGlvbiBiKGMsZSl7cmV0dXJuIGEucHVzaChjKyIgIik+ZC5jYWNoZUxlbmd0aCYmZGVsZXRlIGJbYS5zaGlmdCgpXSxiW2MrIiAiXT1lfXJldHVybiBifWZ1bmN0aW9uIGhhKGEpe3JldHVybiBhW3VdPSEwLGF9ZnVuY3Rpb24gaWEoYSl7dmFyIGI9bi5jcmVhdGVFbGVtZW50KCJkaXYiKTt0cnl7cmV0dXJuISFhKGIpfWNhdGNoKGMpe3JldHVybiExfWZpbmFsbHl7Yi5wYXJlbnROb2RlJiZiLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYiksYj1udWxsfX1mdW5jdGlvbiBqYShhLGIpe3ZhciBjPWEuc3BsaXQoInwiKSxlPWMubGVuZ3RoO3doaWxlKGUtLSlkLmF0dHJIYW5kbGVbY1tlXV09Yn1mdW5jdGlvbiBrYShhLGIpe3ZhciBjPWImJmEsZD1jJiYxPT09YS5ub2RlVHlwZSYmMT09PWIubm9kZVR5cGUmJih+Yi5zb3VyY2VJbmRleHx8QyktKH5hLnNvdXJjZUluZGV4fHxDKTtpZihkKXJldHVybiBkO2lmKGMpd2hpbGUoYz1jLm5leHRTaWJsaW5nKWlmKGM9PT1iKXJldHVybi0xO3JldHVybiBhPzE6LTF9ZnVuY3Rpb24gbGEoYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3ZhciBjPWIubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4iaW5wdXQiPT09YyYmYi50eXBlPT09YX19ZnVuY3Rpb24gbWEoYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3ZhciBjPWIubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4oImlucHV0Ij09PWN8fCJidXR0b24iPT09YykmJmIudHlwZT09PWF9fWZ1bmN0aW9uIG5hKGEpe3JldHVybiBoYShmdW5jdGlvbihiKXtyZXR1cm4gYj0rYixoYShmdW5jdGlvbihjLGQpe3ZhciBlLGY9YShbXSxjLmxlbmd0aCxiKSxnPWYubGVuZ3RoO3doaWxlKGctLSljW2U9ZltnXV0mJihjW2VdPSEoZFtlXT1jW2VdKSl9KX0pfWZ1bmN0aW9uIG9hKGEpe3JldHVybiBhJiYidW5kZWZpbmVkIiE9dHlwZW9mIGEuZ2V0RWxlbWVudHNCeVRhZ05hbWUmJmF9Yz1mYS5zdXBwb3J0PXt9LGY9ZmEuaXNYTUw9ZnVuY3Rpb24oYSl7dmFyIGI9YSYmKGEub3duZXJEb2N1bWVudHx8YSkuZG9jdW1lbnRFbGVtZW50O3JldHVybiBiPyJIVE1MIiE9PWIubm9kZU5hbWU6ITF9LG09ZmEuc2V0RG9jdW1lbnQ9ZnVuY3Rpb24oYSl7dmFyIGIsZSxnPWE/YS5vd25lckRvY3VtZW50fHxhOnY7cmV0dXJuIGchPT1uJiY5PT09Zy5ub2RlVHlwZSYmZy5kb2N1bWVudEVsZW1lbnQ/KG49ZyxvPW4uZG9jdW1lbnRFbGVtZW50LHA9IWYobiksKGU9bi5kZWZhdWx0VmlldykmJmUudG9wIT09ZSYmKGUuYWRkRXZlbnRMaXN0ZW5lcj9lLmFkZEV2ZW50TGlzdGVuZXIoInVubG9hZCIsZGEsITEpOmUuYXR0YWNoRXZlbnQmJmUuYXR0YWNoRXZlbnQoIm9udW5sb2FkIixkYSkpLGMuYXR0cmlidXRlcz1pYShmdW5jdGlvbihhKXtyZXR1cm4gYS5jbGFzc05hbWU9ImkiLCFhLmdldEF0dHJpYnV0ZSgiY2xhc3NOYW1lIil9KSxjLmdldEVsZW1lbnRzQnlUYWdOYW1lPWlhKGZ1bmN0aW9uKGEpe3JldHVybiBhLmFwcGVuZENoaWxkKG4uY3JlYXRlQ29tbWVudCgiIikpLCFhLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikubGVuZ3RofSksYy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lPVoudGVzdChuLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpLGMuZ2V0QnlJZD1pYShmdW5jdGlvbihhKXtyZXR1cm4gby5hcHBlbmRDaGlsZChhKS5pZD11LCFuLmdldEVsZW1lbnRzQnlOYW1lfHwhbi5nZXRFbGVtZW50c0J5TmFtZSh1KS5sZW5ndGh9KSxjLmdldEJ5SWQ/KGQuZmluZC5JRD1mdW5jdGlvbihhLGIpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgYi5nZXRFbGVtZW50QnlJZCYmcCl7dmFyIGM9Yi5nZXRFbGVtZW50QnlJZChhKTtyZXR1cm4gYz9bY106W119fSxkLmZpbHRlci5JRD1mdW5jdGlvbihhKXt2YXIgYj1hLnJlcGxhY2UoYmEsY2EpO3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gYS5nZXRBdHRyaWJ1dGUoImlkIik9PT1ifX0pOihkZWxldGUgZC5maW5kLklELGQuZmlsdGVyLklEPWZ1bmN0aW9uKGEpe3ZhciBiPWEucmVwbGFjZShiYSxjYSk7cmV0dXJuIGZ1bmN0aW9uKGEpe3ZhciBjPSJ1bmRlZmluZWQiIT10eXBlb2YgYS5nZXRBdHRyaWJ1dGVOb2RlJiZhLmdldEF0dHJpYnV0ZU5vZGUoImlkIik7cmV0dXJuIGMmJmMudmFsdWU9PT1ifX0pLGQuZmluZC5UQUc9Yy5nZXRFbGVtZW50c0J5VGFnTmFtZT9mdW5jdGlvbihhLGIpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgYi5nZXRFbGVtZW50c0J5VGFnTmFtZT9iLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpOmMucXNhP2IucXVlcnlTZWxlY3RvckFsbChhKTp2b2lkIDB9OmZ1bmN0aW9uKGEsYil7dmFyIGMsZD1bXSxlPTAsZj1iLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpO2lmKCIqIj09PWEpe3doaWxlKGM9ZltlKytdKTE9PT1jLm5vZGVUeXBlJiZkLnB1c2goYyk7cmV0dXJuIGR9cmV0dXJuIGZ9LGQuZmluZC5DTEFTUz1jLmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJmZ1bmN0aW9uKGEsYil7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBiLmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJnA/Yi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGEpOnZvaWQgMH0scj1bXSxxPVtdLChjLnFzYT1aLnRlc3Qobi5xdWVyeVNlbGVjdG9yQWxsKSkmJihpYShmdW5jdGlvbihhKXtvLmFwcGVuZENoaWxkKGEpLmlubmVySFRNTD0iPGEgaWQ9JyIrdSsiJz48L2E+PHNlbGVjdCBpZD0nIit1KyItXHJcXCcgbXNhbGxvd2NhcHR1cmU9Jyc+PG9wdGlvbiBzZWxlY3RlZD0nJz48L29wdGlvbj48L3NlbGVjdD4iLGEucXVlcnlTZWxlY3RvckFsbCgiW21zYWxsb3djYXB0dXJlXj0nJ10iKS5sZW5ndGgmJnEucHVzaCgiWypeJF09IitMKyIqKD86Jyd8XCJcIikiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIltzZWxlY3RlZF0iKS5sZW5ndGh8fHEucHVzaCgiXFxbIitMKyIqKD86dmFsdWV8IitLKyIpIiksYS5xdWVyeVNlbGVjdG9yQWxsKCJbaWR+PSIrdSsiLV0iKS5sZW5ndGh8fHEucHVzaCgifj0iKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIjpjaGVja2VkIikubGVuZ3RofHxxLnB1c2goIjpjaGVja2VkIiksYS5xdWVyeVNlbGVjdG9yQWxsKCJhIyIrdSsiKyoiKS5sZW5ndGh8fHEucHVzaCgiLiMuK1srfl0iKX0pLGlhKGZ1bmN0aW9uKGEpe3ZhciBiPW4uY3JlYXRlRWxlbWVudCgiaW5wdXQiKTtiLnNldEF0dHJpYnV0ZSgidHlwZSIsImhpZGRlbiIpLGEuYXBwZW5kQ2hpbGQoYikuc2V0QXR0cmlidXRlKCJuYW1lIiwiRCIpLGEucXVlcnlTZWxlY3RvckFsbCgiW25hbWU9ZF0iKS5sZW5ndGgmJnEucHVzaCgibmFtZSIrTCsiKlsqXiR8IX5dPz0iKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIjplbmFibGVkIikubGVuZ3RofHxxLnB1c2goIjplbmFibGVkIiwiOmRpc2FibGVkIiksYS5xdWVyeVNlbGVjdG9yQWxsKCIqLDp4IikscS5wdXNoKCIsLio6Iil9KSksKGMubWF0Y2hlc1NlbGVjdG9yPVoudGVzdChzPW8ubWF0Y2hlc3x8by53ZWJraXRNYXRjaGVzU2VsZWN0b3J8fG8ubW96TWF0Y2hlc1NlbGVjdG9yfHxvLm9NYXRjaGVzU2VsZWN0b3J8fG8ubXNNYXRjaGVzU2VsZWN0b3IpKSYmaWEoZnVuY3Rpb24oYSl7Yy5kaXNjb25uZWN0ZWRNYXRjaD1zLmNhbGwoYSwiZGl2Iikscy5jYWxsKGEsIltzIT0nJ106eCIpLHIucHVzaCgiIT0iLE8pfSkscT1xLmxlbmd0aCYmbmV3IFJlZ0V4cChxLmpvaW4oInwiKSkscj1yLmxlbmd0aCYmbmV3IFJlZ0V4cChyLmpvaW4oInwiKSksYj1aLnRlc3Qoby5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiksdD1ifHxaLnRlc3Qoby5jb250YWlucyk/ZnVuY3Rpb24oYSxiKXt2YXIgYz05PT09YS5ub2RlVHlwZT9hLmRvY3VtZW50RWxlbWVudDphLGQ9YiYmYi5wYXJlbnROb2RlO3JldHVybiBhPT09ZHx8ISghZHx8MSE9PWQubm9kZVR5cGV8fCEoYy5jb250YWlucz9jLmNvbnRhaW5zKGQpOmEuY29tcGFyZURvY3VtZW50UG9zaXRpb24mJjE2JmEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oZCkpKX06ZnVuY3Rpb24oYSxiKXtpZihiKXdoaWxlKGI9Yi5wYXJlbnROb2RlKWlmKGI9PT1hKXJldHVybiEwO3JldHVybiExfSxCPWI/ZnVuY3Rpb24oYSxiKXtpZihhPT09YilyZXR1cm4gbD0hMCwwO3ZhciBkPSFhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uLSFiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uO3JldHVybiBkP2Q6KGQ9KGEub3duZXJEb2N1bWVudHx8YSk9PT0oYi5vd25lckRvY3VtZW50fHxiKT9hLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGIpOjEsMSZkfHwhYy5zb3J0RGV0YWNoZWQmJmIuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYSk9PT1kP2E9PT1ufHxhLm93bmVyRG9jdW1lbnQ9PT12JiZ0KHYsYSk/LTE6Yj09PW58fGIub3duZXJEb2N1bWVudD09PXYmJnQodixiKT8xOms/SihrLGEpLUooayxiKTowOjQmZD8tMToxKX06ZnVuY3Rpb24oYSxiKXtpZihhPT09YilyZXR1cm4gbD0hMCwwO3ZhciBjLGQ9MCxlPWEucGFyZW50Tm9kZSxmPWIucGFyZW50Tm9kZSxnPVthXSxoPVtiXTtpZighZXx8IWYpcmV0dXJuIGE9PT1uPy0xOmI9PT1uPzE6ZT8tMTpmPzE6az9KKGssYSktSihrLGIpOjA7aWYoZT09PWYpcmV0dXJuIGthKGEsYik7Yz1hO3doaWxlKGM9Yy5wYXJlbnROb2RlKWcudW5zaGlmdChjKTtjPWI7d2hpbGUoYz1jLnBhcmVudE5vZGUpaC51bnNoaWZ0KGMpO3doaWxlKGdbZF09PT1oW2RdKWQrKztyZXR1cm4gZD9rYShnW2RdLGhbZF0pOmdbZF09PT12Py0xOmhbZF09PT12PzE6MH0sbik6bn0sZmEubWF0Y2hlcz1mdW5jdGlvbihhLGIpe3JldHVybiBmYShhLG51bGwsbnVsbCxiKX0sZmEubWF0Y2hlc1NlbGVjdG9yPWZ1bmN0aW9uKGEsYil7aWYoKGEub3duZXJEb2N1bWVudHx8YSkhPT1uJiZtKGEpLGI9Yi5yZXBsYWNlKFQsIj0nJDEnXSIpLGMubWF0Y2hlc1NlbGVjdG9yJiZwJiYhQVtiKyIgIl0mJighcnx8IXIudGVzdChiKSkmJighcXx8IXEudGVzdChiKSkpdHJ5e3ZhciBkPXMuY2FsbChhLGIpO2lmKGR8fGMuZGlzY29ubmVjdGVkTWF0Y2h8fGEuZG9jdW1lbnQmJjExIT09YS5kb2N1bWVudC5ub2RlVHlwZSlyZXR1cm4gZH1jYXRjaChlKXt9cmV0dXJuIGZhKGIsbixudWxsLFthXSkubGVuZ3RoPjB9LGZhLmNvbnRhaW5zPWZ1bmN0aW9uKGEsYil7cmV0dXJuKGEub3duZXJEb2N1bWVudHx8YSkhPT1uJiZtKGEpLHQoYSxiKX0sZmEuYXR0cj1mdW5jdGlvbihhLGIpeyhhLm93bmVyRG9jdW1lbnR8fGEpIT09biYmbShhKTt2YXIgZT1kLmF0dHJIYW5kbGVbYi50b0xvd2VyQ2FzZSgpXSxmPWUmJkQuY2FsbChkLmF0dHJIYW5kbGUsYi50b0xvd2VyQ2FzZSgpKT9lKGEsYiwhcCk6dm9pZCAwO3JldHVybiB2b2lkIDAhPT1mP2Y6Yy5hdHRyaWJ1dGVzfHwhcD9hLmdldEF0dHJpYnV0ZShiKTooZj1hLmdldEF0dHJpYnV0ZU5vZGUoYikpJiZmLnNwZWNpZmllZD9mLnZhbHVlOm51bGx9LGZhLmVycm9yPWZ1bmN0aW9uKGEpe3Rocm93IG5ldyBFcnJvcigiU3ludGF4IGVycm9yLCB1bnJlY29nbml6ZWQgZXhwcmVzc2lvbjogIithKX0sZmEudW5pcXVlU29ydD1mdW5jdGlvbihhKXt2YXIgYixkPVtdLGU9MCxmPTA7aWYobD0hYy5kZXRlY3REdXBsaWNhdGVzLGs9IWMuc29ydFN0YWJsZSYmYS5zbGljZSgwKSxhLnNvcnQoQiksbCl7d2hpbGUoYj1hW2YrK10pYj09PWFbZl0mJihlPWQucHVzaChmKSk7d2hpbGUoZS0tKWEuc3BsaWNlKGRbZV0sMSl9cmV0dXJuIGs9bnVsbCxhfSxlPWZhLmdldFRleHQ9ZnVuY3Rpb24oYSl7dmFyIGIsYz0iIixkPTAsZj1hLm5vZGVUeXBlO2lmKGYpe2lmKDE9PT1mfHw5PT09Znx8MTE9PT1mKXtpZigic3RyaW5nIj09dHlwZW9mIGEudGV4dENvbnRlbnQpcmV0dXJuIGEudGV4dENvbnRlbnQ7Zm9yKGE9YS5maXJzdENoaWxkO2E7YT1hLm5leHRTaWJsaW5nKWMrPWUoYSl9ZWxzZSBpZigzPT09Znx8ND09PWYpcmV0dXJuIGEubm9kZVZhbHVlfWVsc2Ugd2hpbGUoYj1hW2QrK10pYys9ZShiKTtyZXR1cm4gY30sZD1mYS5zZWxlY3RvcnM9e2NhY2hlTGVuZ3RoOjUwLGNyZWF0ZVBzZXVkbzpoYSxtYXRjaDpXLGF0dHJIYW5kbGU6e30sZmluZDp7fSxyZWxhdGl2ZTp7Ij4iOntkaXI6InBhcmVudE5vZGUiLGZpcnN0OiEwfSwiICI6e2RpcjoicGFyZW50Tm9kZSJ9LCIrIjp7ZGlyOiJwcmV2aW91c1NpYmxpbmciLGZpcnN0OiEwfSwifiI6e2RpcjoicHJldmlvdXNTaWJsaW5nIn19LHByZUZpbHRlcjp7QVRUUjpmdW5jdGlvbihhKXtyZXR1cm4gYVsxXT1hWzFdLnJlcGxhY2UoYmEsY2EpLGFbM109KGFbM118fGFbNF18fGFbNV18fCIiKS5yZXBsYWNlKGJhLGNhKSwifj0iPT09YVsyXSYmKGFbM109IiAiK2FbM10rIiAiKSxhLnNsaWNlKDAsNCl9LENISUxEOmZ1bmN0aW9uKGEpe3JldHVybiBhWzFdPWFbMV0udG9Mb3dlckNhc2UoKSwibnRoIj09PWFbMV0uc2xpY2UoMCwzKT8oYVszXXx8ZmEuZXJyb3IoYVswXSksYVs0XT0rKGFbNF0/YVs1XSsoYVs2XXx8MSk6MiooImV2ZW4iPT09YVszXXx8Im9kZCI9PT1hWzNdKSksYVs1XT0rKGFbN10rYVs4XXx8Im9kZCI9PT1hWzNdKSk6YVszXSYmZmEuZXJyb3IoYVswXSksYX0sUFNFVURPOmZ1bmN0aW9uKGEpe3ZhciBiLGM9IWFbNl0mJmFbMl07cmV0dXJuIFcuQ0hJTEQudGVzdChhWzBdKT9udWxsOihhWzNdP2FbMl09YVs0XXx8YVs1XXx8IiI6YyYmVS50ZXN0KGMpJiYoYj1nKGMsITApKSYmKGI9Yy5pbmRleE9mKCIpIixjLmxlbmd0aC1iKS1jLmxlbmd0aCkmJihhWzBdPWFbMF0uc2xpY2UoMCxiKSxhWzJdPWMuc2xpY2UoMCxiKSksYS5zbGljZSgwLDMpKX19LGZpbHRlcjp7VEFHOmZ1bmN0aW9uKGEpe3ZhciBiPWEucmVwbGFjZShiYSxjYSkudG9Mb3dlckNhc2UoKTtyZXR1cm4iKiI9PT1hP2Z1bmN0aW9uKCl7cmV0dXJuITB9OmZ1bmN0aW9uKGEpe3JldHVybiBhLm5vZGVOYW1lJiZhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1ifX0sQ0xBU1M6ZnVuY3Rpb24oYSl7dmFyIGI9eVthKyIgIl07cmV0dXJuIGJ8fChiPW5ldyBSZWdFeHAoIihefCIrTCsiKSIrYSsiKCIrTCsifCQpIikpJiZ5KGEsZnVuY3Rpb24oYSl7cmV0dXJuIGIudGVzdCgic3RyaW5nIj09dHlwZW9mIGEuY2xhc3NOYW1lJiZhLmNsYXNzTmFtZXx8InVuZGVmaW5lZCIhPXR5cGVvZiBhLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiKX0pfSxBVFRSOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZnVuY3Rpb24oZCl7dmFyIGU9ZmEuYXR0cihkLGEpO3JldHVybiBudWxsPT1lPyIhPSI9PT1iOmI/KGUrPSIiLCI9Ij09PWI/ZT09PWM6IiE9Ij09PWI/ZSE9PWM6Il49Ij09PWI/YyYmMD09PWUuaW5kZXhPZihjKToiKj0iPT09Yj9jJiZlLmluZGV4T2YoYyk+LTE6IiQ9Ij09PWI/YyYmZS5zbGljZSgtYy5sZW5ndGgpPT09Yzoifj0iPT09Yj8oIiAiK2UucmVwbGFjZShQLCIgIikrIiAiKS5pbmRleE9mKGMpPi0xOiJ8PSI9PT1iP2U9PT1jfHxlLnNsaWNlKDAsYy5sZW5ndGgrMSk9PT1jKyItIjohMSk6ITB9fSxDSElMRDpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPSJudGgiIT09YS5zbGljZSgwLDMpLGc9Imxhc3QiIT09YS5zbGljZSgtNCksaD0ib2YtdHlwZSI9PT1iO3JldHVybiAxPT09ZCYmMD09PWU/ZnVuY3Rpb24oYSl7cmV0dXJuISFhLnBhcmVudE5vZGV9OmZ1bmN0aW9uKGIsYyxpKXt2YXIgaixrLGwsbSxuLG8scD1mIT09Zz8ibmV4dFNpYmxpbmciOiJwcmV2aW91c1NpYmxpbmciLHE9Yi5wYXJlbnROb2RlLHI9aCYmYi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLHM9IWkmJiFoLHQ9ITE7aWYocSl7aWYoZil7d2hpbGUocCl7bT1iO3doaWxlKG09bVtwXSlpZihoP20ubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXI6MT09PW0ubm9kZVR5cGUpcmV0dXJuITE7bz1wPSJvbmx5Ij09PWEmJiFvJiYibmV4dFNpYmxpbmcifXJldHVybiEwfWlmKG89W2c/cS5maXJzdENoaWxkOnEubGFzdENoaWxkXSxnJiZzKXttPXEsbD1tW3VdfHwobVt1XT17fSksaz1sW20udW5pcXVlSURdfHwobFttLnVuaXF1ZUlEXT17fSksaj1rW2FdfHxbXSxuPWpbMF09PT13JiZqWzFdLHQ9biYmalsyXSxtPW4mJnEuY2hpbGROb2Rlc1tuXTt3aGlsZShtPSsrbiYmbSYmbVtwXXx8KHQ9bj0wKXx8by5wb3AoKSlpZigxPT09bS5ub2RlVHlwZSYmKyt0JiZtPT09Yil7a1thXT1bdyxuLHRdO2JyZWFrfX1lbHNlIGlmKHMmJihtPWIsbD1tW3VdfHwobVt1XT17fSksaz1sW20udW5pcXVlSURdfHwobFttLnVuaXF1ZUlEXT17fSksaj1rW2FdfHxbXSxuPWpbMF09PT13JiZqWzFdLHQ9biksdD09PSExKXdoaWxlKG09KytuJiZtJiZtW3BdfHwodD1uPTApfHxvLnBvcCgpKWlmKChoP20ubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PXI6MT09PW0ubm9kZVR5cGUpJiYrK3QmJihzJiYobD1tW3VdfHwobVt1XT17fSksaz1sW20udW5pcXVlSURdfHwobFttLnVuaXF1ZUlEXT17fSksa1thXT1bdyx0XSksbT09PWIpKWJyZWFrO3JldHVybiB0LT1lLHQ9PT1kfHx0JWQ9PT0wJiZ0L2Q+PTB9fX0sUFNFVURPOmZ1bmN0aW9uKGEsYil7dmFyIGMsZT1kLnBzZXVkb3NbYV18fGQuc2V0RmlsdGVyc1thLnRvTG93ZXJDYXNlKCldfHxmYS5lcnJvcigidW5zdXBwb3J0ZWQgcHNldWRvOiAiK2EpO3JldHVybiBlW3VdP2UoYik6ZS5sZW5ndGg+MT8oYz1bYSxhLCIiLGJdLGQuc2V0RmlsdGVycy5oYXNPd25Qcm9wZXJ0eShhLnRvTG93ZXJDYXNlKCkpP2hhKGZ1bmN0aW9uKGEsYyl7dmFyIGQsZj1lKGEsYiksZz1mLmxlbmd0aDt3aGlsZShnLS0pZD1KKGEsZltnXSksYVtkXT0hKGNbZF09ZltnXSl9KTpmdW5jdGlvbihhKXtyZXR1cm4gZShhLDAsYyl9KTplfX0scHNldWRvczp7bm90OmhhKGZ1bmN0aW9uKGEpe3ZhciBiPVtdLGM9W10sZD1oKGEucmVwbGFjZShRLCIkMSIpKTtyZXR1cm4gZFt1XT9oYShmdW5jdGlvbihhLGIsYyxlKXt2YXIgZixnPWQoYSxudWxsLGUsW10pLGg9YS5sZW5ndGg7d2hpbGUoaC0tKShmPWdbaF0pJiYoYVtoXT0hKGJbaF09ZikpfSk6ZnVuY3Rpb24oYSxlLGYpe3JldHVybiBiWzBdPWEsZChiLG51bGwsZixjKSxiWzBdPW51bGwsIWMucG9wKCl9fSksaGFzOmhhKGZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbihiKXtyZXR1cm4gZmEoYSxiKS5sZW5ndGg+MH19KSxjb250YWluczpoYShmdW5jdGlvbihhKXtyZXR1cm4gYT1hLnJlcGxhY2UoYmEsY2EpLGZ1bmN0aW9uKGIpe3JldHVybihiLnRleHRDb250ZW50fHxiLmlubmVyVGV4dHx8ZShiKSkuaW5kZXhPZihhKT4tMX19KSxsYW5nOmhhKGZ1bmN0aW9uKGEpe3JldHVybiBWLnRlc3QoYXx8IiIpfHxmYS5lcnJvcigidW5zdXBwb3J0ZWQgbGFuZzogIithKSxhPWEucmVwbGFjZShiYSxjYSkudG9Mb3dlckNhc2UoKSxmdW5jdGlvbihiKXt2YXIgYztkbyBpZihjPXA/Yi5sYW5nOmIuZ2V0QXR0cmlidXRlKCJ4bWw6bGFuZyIpfHxiLmdldEF0dHJpYnV0ZSgibGFuZyIpKXJldHVybiBjPWMudG9Mb3dlckNhc2UoKSxjPT09YXx8MD09PWMuaW5kZXhPZihhKyItIik7d2hpbGUoKGI9Yi5wYXJlbnROb2RlKSYmMT09PWIubm9kZVR5cGUpO3JldHVybiExfX0pLHRhcmdldDpmdW5jdGlvbihiKXt2YXIgYz1hLmxvY2F0aW9uJiZhLmxvY2F0aW9uLmhhc2g7cmV0dXJuIGMmJmMuc2xpY2UoMSk9PT1iLmlkfSxyb290OmZ1bmN0aW9uKGEpe3JldHVybiBhPT09b30sZm9jdXM6ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1uLmFjdGl2ZUVsZW1lbnQmJighbi5oYXNGb2N1c3x8bi5oYXNGb2N1cygpKSYmISEoYS50eXBlfHxhLmhyZWZ8fH5hLnRhYkluZGV4KX0sZW5hYmxlZDpmdW5jdGlvbihhKXtyZXR1cm4gYS5kaXNhYmxlZD09PSExfSxkaXNhYmxlZDpmdW5jdGlvbihhKXtyZXR1cm4gYS5kaXNhYmxlZD09PSEwfSxjaGVja2VkOmZ1bmN0aW9uKGEpe3ZhciBiPWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4iaW5wdXQiPT09YiYmISFhLmNoZWNrZWR8fCJvcHRpb24iPT09YiYmISFhLnNlbGVjdGVkfSxzZWxlY3RlZDpmdW5jdGlvbihhKXtyZXR1cm4gYS5wYXJlbnROb2RlJiZhLnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCxhLnNlbGVjdGVkPT09ITB9LGVtcHR5OmZ1bmN0aW9uKGEpe2ZvcihhPWEuZmlyc3RDaGlsZDthO2E9YS5uZXh0U2libGluZylpZihhLm5vZGVUeXBlPDYpcmV0dXJuITE7cmV0dXJuITB9LHBhcmVudDpmdW5jdGlvbihhKXtyZXR1cm4hZC5wc2V1ZG9zLmVtcHR5KGEpfSxoZWFkZXI6ZnVuY3Rpb24oYSl7cmV0dXJuIFkudGVzdChhLm5vZGVOYW1lKX0saW5wdXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIFgudGVzdChhLm5vZGVOYW1lKX0sYnV0dG9uOmZ1bmN0aW9uKGEpe3ZhciBiPWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4iaW5wdXQiPT09YiYmImJ1dHRvbiI9PT1hLnR5cGV8fCJidXR0b24iPT09Yn0sdGV4dDpmdW5jdGlvbihhKXt2YXIgYjtyZXR1cm4iaW5wdXQiPT09YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpJiYidGV4dCI9PT1hLnR5cGUmJihudWxsPT0oYj1hLmdldEF0dHJpYnV0ZSgidHlwZSIpKXx8InRleHQiPT09Yi50b0xvd2VyQ2FzZSgpKX0sZmlyc3Q6bmEoZnVuY3Rpb24oKXtyZXR1cm5bMF19KSxsYXN0Om5hKGZ1bmN0aW9uKGEsYil7cmV0dXJuW2ItMV19KSxlcTpuYShmdW5jdGlvbihhLGIsYyl7cmV0dXJuWzA+Yz9jK2I6Y119KSxldmVuOm5hKGZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPTA7Yj5jO2MrPTIpYS5wdXNoKGMpO3JldHVybiBhfSksb2RkOm5hKGZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPTE7Yj5jO2MrPTIpYS5wdXNoKGMpO3JldHVybiBhfSksbHQ6bmEoZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZD0wPmM/YytiOmM7LS1kPj0wOylhLnB1c2goZCk7cmV0dXJuIGF9KSxndDpuYShmdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPTA+Yz9jK2I6YzsrK2Q8YjspYS5wdXNoKGQpO3JldHVybiBhfSl9fSxkLnBzZXVkb3MubnRoPWQucHNldWRvcy5lcTtmb3IoYiBpbntyYWRpbzohMCxjaGVja2JveDohMCxmaWxlOiEwLHBhc3N3b3JkOiEwLGltYWdlOiEwfSlkLnBzZXVkb3NbYl09bGEoYik7Zm9yKGIgaW57c3VibWl0OiEwLHJlc2V0OiEwfSlkLnBzZXVkb3NbYl09bWEoYik7ZnVuY3Rpb24gcGEoKXt9cGEucHJvdG90eXBlPWQuZmlsdGVycz1kLnBzZXVkb3MsZC5zZXRGaWx0ZXJzPW5ldyBwYSxnPWZhLnRva2VuaXplPWZ1bmN0aW9uKGEsYil7dmFyIGMsZSxmLGcsaCxpLGosaz16W2ErIiAiXTtpZihrKXJldHVybiBiPzA6ay5zbGljZSgwKTtoPWEsaT1bXSxqPWQucHJlRmlsdGVyO3doaWxlKGgpe2MmJiEoZT1SLmV4ZWMoaCkpfHwoZSYmKGg9aC5zbGljZShlWzBdLmxlbmd0aCl8fGgpLGkucHVzaChmPVtdKSksYz0hMSwoZT1TLmV4ZWMoaCkpJiYoYz1lLnNoaWZ0KCksZi5wdXNoKHt2YWx1ZTpjLHR5cGU6ZVswXS5yZXBsYWNlKFEsIiAiKX0pLGg9aC5zbGljZShjLmxlbmd0aCkpO2ZvcihnIGluIGQuZmlsdGVyKSEoZT1XW2ddLmV4ZWMoaCkpfHxqW2ddJiYhKGU9altnXShlKSl8fChjPWUuc2hpZnQoKSxmLnB1c2goe3ZhbHVlOmMsdHlwZTpnLG1hdGNoZXM6ZX0pLGg9aC5zbGljZShjLmxlbmd0aCkpO2lmKCFjKWJyZWFrfXJldHVybiBiP2gubGVuZ3RoOmg/ZmEuZXJyb3IoYSk6eihhLGkpLnNsaWNlKDApfTtmdW5jdGlvbiBxYShhKXtmb3IodmFyIGI9MCxjPWEubGVuZ3RoLGQ9IiI7Yz5iO2IrKylkKz1hW2JdLnZhbHVlO3JldHVybiBkfWZ1bmN0aW9uIHJhKGEsYixjKXt2YXIgZD1iLmRpcixlPWMmJiJwYXJlbnROb2RlIj09PWQsZj14Kys7cmV0dXJuIGIuZmlyc3Q/ZnVuY3Rpb24oYixjLGYpe3doaWxlKGI9YltkXSlpZigxPT09Yi5ub2RlVHlwZXx8ZSlyZXR1cm4gYShiLGMsZil9OmZ1bmN0aW9uKGIsYyxnKXt2YXIgaCxpLGosaz1bdyxmXTtpZihnKXt3aGlsZShiPWJbZF0paWYoKDE9PT1iLm5vZGVUeXBlfHxlKSYmYShiLGMsZykpcmV0dXJuITB9ZWxzZSB3aGlsZShiPWJbZF0paWYoMT09PWIubm9kZVR5cGV8fGUpe2lmKGo9Ylt1XXx8KGJbdV09e30pLGk9altiLnVuaXF1ZUlEXXx8KGpbYi51bmlxdWVJRF09e30pLChoPWlbZF0pJiZoWzBdPT09dyYmaFsxXT09PWYpcmV0dXJuIGtbMl09aFsyXTtpZihpW2RdPWssa1syXT1hKGIsYyxnKSlyZXR1cm4hMH19fWZ1bmN0aW9uIHNhKGEpe3JldHVybiBhLmxlbmd0aD4xP2Z1bmN0aW9uKGIsYyxkKXt2YXIgZT1hLmxlbmd0aDt3aGlsZShlLS0paWYoIWFbZV0oYixjLGQpKXJldHVybiExO3JldHVybiEwfTphWzBdfWZ1bmN0aW9uIHRhKGEsYixjKXtmb3IodmFyIGQ9MCxlPWIubGVuZ3RoO2U+ZDtkKyspZmEoYSxiW2RdLGMpO3JldHVybiBjfWZ1bmN0aW9uIHVhKGEsYixjLGQsZSl7Zm9yKHZhciBmLGc9W10saD0wLGk9YS5sZW5ndGgsaj1udWxsIT1iO2k+aDtoKyspKGY9YVtoXSkmJihjJiYhYyhmLGQsZSl8fChnLnB1c2goZiksaiYmYi5wdXNoKGgpKSk7cmV0dXJuIGd9ZnVuY3Rpb24gdmEoYSxiLGMsZCxlLGYpe3JldHVybiBkJiYhZFt1XSYmKGQ9dmEoZCkpLGUmJiFlW3VdJiYoZT12YShlLGYpKSxoYShmdW5jdGlvbihmLGcsaCxpKXt2YXIgaixrLGwsbT1bXSxuPVtdLG89Zy5sZW5ndGgscD1mfHx0YShifHwiKiIsaC5ub2RlVHlwZT9baF06aCxbXSkscT0hYXx8IWYmJmI/cDp1YShwLG0sYSxoLGkpLHI9Yz9lfHwoZj9hOm98fGQpP1tdOmc6cTtpZihjJiZjKHEscixoLGkpLGQpe2o9dWEocixuKSxkKGosW10saCxpKSxrPWoubGVuZ3RoO3doaWxlKGstLSkobD1qW2tdKSYmKHJbbltrXV09IShxW25ba11dPWwpKX1pZihmKXtpZihlfHxhKXtpZihlKXtqPVtdLGs9ci5sZW5ndGg7d2hpbGUoay0tKShsPXJba10pJiZqLnB1c2gocVtrXT1sKTtlKG51bGwscj1bXSxqLGkpfWs9ci5sZW5ndGg7d2hpbGUoay0tKShsPXJba10pJiYoaj1lP0ooZixsKTptW2tdKT4tMSYmKGZbal09IShnW2pdPWwpKX19ZWxzZSByPXVhKHI9PT1nP3Iuc3BsaWNlKG8sci5sZW5ndGgpOnIpLGU/ZShudWxsLGcscixpKTpILmFwcGx5KGcscil9KX1mdW5jdGlvbiB3YShhKXtmb3IodmFyIGIsYyxlLGY9YS5sZW5ndGgsZz1kLnJlbGF0aXZlW2FbMF0udHlwZV0saD1nfHxkLnJlbGF0aXZlWyIgIl0saT1nPzE6MCxrPXJhKGZ1bmN0aW9uKGEpe3JldHVybiBhPT09Yn0saCwhMCksbD1yYShmdW5jdGlvbihhKXtyZXR1cm4gSihiLGEpPi0xfSxoLCEwKSxtPVtmdW5jdGlvbihhLGMsZCl7dmFyIGU9IWcmJihkfHxjIT09ail8fCgoYj1jKS5ub2RlVHlwZT9rKGEsYyxkKTpsKGEsYyxkKSk7cmV0dXJuIGI9bnVsbCxlfV07Zj5pO2krKylpZihjPWQucmVsYXRpdmVbYVtpXS50eXBlXSltPVtyYShzYShtKSxjKV07ZWxzZXtpZihjPWQuZmlsdGVyW2FbaV0udHlwZV0uYXBwbHkobnVsbCxhW2ldLm1hdGNoZXMpLGNbdV0pe2ZvcihlPSsraTtmPmU7ZSsrKWlmKGQucmVsYXRpdmVbYVtlXS50eXBlXSlicmVhaztyZXR1cm4gdmEoaT4xJiZzYShtKSxpPjEmJnFhKGEuc2xpY2UoMCxpLTEpLmNvbmNhdCh7dmFsdWU6IiAiPT09YVtpLTJdLnR5cGU/IioiOiIifSkpLnJlcGxhY2UoUSwiJDEiKSxjLGU+aSYmd2EoYS5zbGljZShpLGUpKSxmPmUmJndhKGE9YS5zbGljZShlKSksZj5lJiZxYShhKSl9bS5wdXNoKGMpfXJldHVybiBzYShtKX1mdW5jdGlvbiB4YShhLGIpe3ZhciBjPWIubGVuZ3RoPjAsZT1hLmxlbmd0aD4wLGY9ZnVuY3Rpb24oZixnLGgsaSxrKXt2YXIgbCxvLHEscj0wLHM9IjAiLHQ9ZiYmW10sdT1bXSx2PWoseD1mfHxlJiZkLmZpbmQuVEFHKCIqIixrKSx5PXcrPW51bGw9PXY/MTpNYXRoLnJhbmRvbSgpfHwuMSx6PXgubGVuZ3RoO2ZvcihrJiYoaj1nPT09bnx8Z3x8ayk7cyE9PXomJm51bGwhPShsPXhbc10pO3MrKyl7aWYoZSYmbCl7bz0wLGd8fGwub3duZXJEb2N1bWVudD09PW58fChtKGwpLGg9IXApO3doaWxlKHE9YVtvKytdKWlmKHEobCxnfHxuLGgpKXtpLnB1c2gobCk7YnJlYWt9ayYmKHc9eSl9YyYmKChsPSFxJiZsKSYmci0tLGYmJnQucHVzaChsKSl9aWYocis9cyxjJiZzIT09cil7bz0wO3doaWxlKHE9YltvKytdKXEodCx1LGcsaCk7aWYoZil7aWYocj4wKXdoaWxlKHMtLSl0W3NdfHx1W3NdfHwodVtzXT1GLmNhbGwoaSkpO3U9dWEodSl9SC5hcHBseShpLHUpLGsmJiFmJiZ1Lmxlbmd0aD4wJiZyK2IubGVuZ3RoPjEmJmZhLnVuaXF1ZVNvcnQoaSl9cmV0dXJuIGsmJih3PXksaj12KSx0fTtyZXR1cm4gYz9oYShmKTpmfXJldHVybiBoPWZhLmNvbXBpbGU9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPVtdLGU9W10sZj1BW2ErIiAiXTtpZighZil7Ynx8KGI9ZyhhKSksYz1iLmxlbmd0aDt3aGlsZShjLS0pZj13YShiW2NdKSxmW3VdP2QucHVzaChmKTplLnB1c2goZik7Zj1BKGEseGEoZSxkKSksZi5zZWxlY3Rvcj1hfXJldHVybiBmfSxpPWZhLnNlbGVjdD1mdW5jdGlvbihhLGIsZSxmKXt2YXIgaSxqLGssbCxtLG49ImZ1bmN0aW9uIj09dHlwZW9mIGEmJmEsbz0hZiYmZyhhPW4uc2VsZWN0b3J8fGEpO2lmKGU9ZXx8W10sMT09PW8ubGVuZ3RoKXtpZihqPW9bMF09b1swXS5zbGljZSgwKSxqLmxlbmd0aD4yJiYiSUQiPT09KGs9alswXSkudHlwZSYmYy5nZXRCeUlkJiY5PT09Yi5ub2RlVHlwZSYmcCYmZC5yZWxhdGl2ZVtqWzFdLnR5cGVdKXtpZihiPShkLmZpbmQuSUQoay5tYXRjaGVzWzBdLnJlcGxhY2UoYmEsY2EpLGIpfHxbXSlbMF0sIWIpcmV0dXJuIGU7biYmKGI9Yi5wYXJlbnROb2RlKSxhPWEuc2xpY2Uoai5zaGlmdCgpLnZhbHVlLmxlbmd0aCl9aT1XLm5lZWRzQ29udGV4dC50ZXN0KGEpPzA6ai5sZW5ndGg7d2hpbGUoaS0tKXtpZihrPWpbaV0sZC5yZWxhdGl2ZVtsPWsudHlwZV0pYnJlYWs7aWYoKG09ZC5maW5kW2xdKSYmKGY9bShrLm1hdGNoZXNbMF0ucmVwbGFjZShiYSxjYSksXy50ZXN0KGpbMF0udHlwZSkmJm9hKGIucGFyZW50Tm9kZSl8fGIpKSl7aWYoai5zcGxpY2UoaSwxKSxhPWYubGVuZ3RoJiZxYShqKSwhYSlyZXR1cm4gSC5hcHBseShlLGYpLGU7YnJlYWt9fX1yZXR1cm4obnx8aChhLG8pKShmLGIsIXAsZSwhYnx8Xy50ZXN0KGEpJiZvYShiLnBhcmVudE5vZGUpfHxiKSxlfSxjLnNvcnRTdGFibGU9dS5zcGxpdCgiIikuc29ydChCKS5qb2luKCIiKT09PXUsYy5kZXRlY3REdXBsaWNhdGVzPSEhbCxtKCksYy5zb3J0RGV0YWNoZWQ9aWEoZnVuY3Rpb24oYSl7cmV0dXJuIDEmYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihuLmNyZWF0ZUVsZW1lbnQoImRpdiIpKX0pLGlhKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlubmVySFRNTD0iPGEgaHJlZj0nIyc+PC9hPiIsIiMiPT09YS5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSgiaHJlZiIpfSl8fGphKCJ0eXBlfGhyZWZ8aGVpZ2h0fHdpZHRoIixmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGM/dm9pZCAwOmEuZ2V0QXR0cmlidXRlKGIsInR5cGUiPT09Yi50b0xvd2VyQ2FzZSgpPzE6Mil9KSxjLmF0dHJpYnV0ZXMmJmlhKGZ1bmN0aW9uKGEpe3JldHVybiBhLmlubmVySFRNTD0iPGlucHV0Lz4iLGEuZmlyc3RDaGlsZC5zZXRBdHRyaWJ1dGUoInZhbHVlIiwiIiksIiI9PT1hLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpfSl8fGphKCJ2YWx1ZSIsZnVuY3Rpb24oYSxiLGMpe3JldHVybiBjfHwiaW5wdXQiIT09YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpP3ZvaWQgMDphLmRlZmF1bHRWYWx1ZX0pLGlhKGZ1bmN0aW9uKGEpe3JldHVybiBudWxsPT1hLmdldEF0dHJpYnV0ZSgiZGlzYWJsZWQiKX0pfHxqYShLLGZ1bmN0aW9uKGEsYixjKXt2YXIgZDtyZXR1cm4gYz92b2lkIDA6YVtiXT09PSEwP2IudG9Mb3dlckNhc2UoKTooZD1hLmdldEF0dHJpYnV0ZU5vZGUoYikpJiZkLnNwZWNpZmllZD9kLnZhbHVlOm51bGx9KSxmYX0oYSk7bi5maW5kPXQsbi5leHByPXQuc2VsZWN0b3JzLG4uZXhwclsiOiJdPW4uZXhwci5wc2V1ZG9zLG4udW5pcXVlU29ydD1uLnVuaXF1ZT10LnVuaXF1ZVNvcnQsbi50ZXh0PXQuZ2V0VGV4dCxuLmlzWE1MRG9jPXQuaXNYTUwsbi5jb250YWlucz10LmNvbnRhaW5zO3ZhciB1PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1bXSxlPXZvaWQgMCE9PWM7d2hpbGUoKGE9YVtiXSkmJjkhPT1hLm5vZGVUeXBlKWlmKDE9PT1hLm5vZGVUeXBlKXtpZihlJiZuKGEpLmlzKGMpKWJyZWFrO2QucHVzaChhKX1yZXR1cm4gZH0sdj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz1bXTthO2E9YS5uZXh0U2libGluZykxPT09YS5ub2RlVHlwZSYmYSE9PWImJmMucHVzaChhKTtyZXR1cm4gY30sdz1uLmV4cHIubWF0Y2gubmVlZHNDb250ZXh0LHg9L148KFtcdy1dKylccypcLz8+KD86PFwvXDE+fCkkLyx5PS9eLlteOiNcW1wuLF0qJC87ZnVuY3Rpb24geihhLGIsYyl7aWYobi5pc0Z1bmN0aW9uKGIpKXJldHVybiBuLmdyZXAoYSxmdW5jdGlvbihhLGQpe3JldHVybiEhYi5jYWxsKGEsZCxhKSE9PWN9KTtpZihiLm5vZGVUeXBlKXJldHVybiBuLmdyZXAoYSxmdW5jdGlvbihhKXtyZXR1cm4gYT09PWIhPT1jfSk7aWYoInN0cmluZyI9PXR5cGVvZiBiKXtpZih5LnRlc3QoYikpcmV0dXJuIG4uZmlsdGVyKGIsYSxjKTtiPW4uZmlsdGVyKGIsYSl9cmV0dXJuIG4uZ3JlcChhLGZ1bmN0aW9uKGEpe3JldHVybiBoLmNhbGwoYixhKT4tMSE9PWN9KX1uLmZpbHRlcj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YlswXTtyZXR1cm4gYyYmKGE9Ijpub3QoIithKyIpIiksMT09PWIubGVuZ3RoJiYxPT09ZC5ub2RlVHlwZT9uLmZpbmQubWF0Y2hlc1NlbGVjdG9yKGQsYSk/W2RdOltdOm4uZmluZC5tYXRjaGVzKGEsbi5ncmVwKGIsZnVuY3Rpb24oYSl7cmV0dXJuIDE9PT1hLm5vZGVUeXBlfSkpfSxuLmZuLmV4dGVuZCh7ZmluZDpmdW5jdGlvbihhKXt2YXIgYixjPXRoaXMubGVuZ3RoLGQ9W10sZT10aGlzO2lmKCJzdHJpbmciIT10eXBlb2YgYSlyZXR1cm4gdGhpcy5wdXNoU3RhY2sobihhKS5maWx0ZXIoZnVuY3Rpb24oKXtmb3IoYj0wO2M+YjtiKyspaWYobi5jb250YWlucyhlW2JdLHRoaXMpKXJldHVybiEwfSkpO2ZvcihiPTA7Yz5iO2IrKyluLmZpbmQoYSxlW2JdLGQpO3JldHVybiBkPXRoaXMucHVzaFN0YWNrKGM+MT9uLnVuaXF1ZShkKTpkKSxkLnNlbGVjdG9yPXRoaXMuc2VsZWN0b3I/dGhpcy5zZWxlY3RvcisiICIrYTphLGR9LGZpbHRlcjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soeih0aGlzLGF8fFtdLCExKSl9LG5vdDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soeih0aGlzLGF8fFtdLCEwKSl9LGlzOmZ1bmN0aW9uKGEpe3JldHVybiEheih0aGlzLCJzdHJpbmciPT10eXBlb2YgYSYmdy50ZXN0KGEpP24oYSk6YXx8W10sITEpLmxlbmd0aH19KTt2YXIgQSxCPS9eKD86XHMqKDxbXHdcV10rPilbXj5dKnwjKFtcdy1dKikpJC8sQz1uLmZuLmluaXQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBlLGY7aWYoIWEpcmV0dXJuIHRoaXM7aWYoYz1jfHxBLCJzdHJpbmciPT10eXBlb2YgYSl7aWYoZT0iPCI9PT1hWzBdJiYiPiI9PT1hW2EubGVuZ3RoLTFdJiZhLmxlbmd0aD49Mz9bbnVsbCxhLG51bGxdOkIuZXhlYyhhKSwhZXx8IWVbMV0mJmIpcmV0dXJuIWJ8fGIuanF1ZXJ5PyhifHxjKS5maW5kKGEpOnRoaXMuY29uc3RydWN0b3IoYikuZmluZChhKTtpZihlWzFdKXtpZihiPWIgaW5zdGFuY2VvZiBuP2JbMF06YixuLm1lcmdlKHRoaXMsbi5wYXJzZUhUTUwoZVsxXSxiJiZiLm5vZGVUeXBlP2Iub3duZXJEb2N1bWVudHx8YjpkLCEwKSkseC50ZXN0KGVbMV0pJiZuLmlzUGxhaW5PYmplY3QoYikpZm9yKGUgaW4gYiluLmlzRnVuY3Rpb24odGhpc1tlXSk/dGhpc1tlXShiW2VdKTp0aGlzLmF0dHIoZSxiW2VdKTtyZXR1cm4gdGhpc31yZXR1cm4gZj1kLmdldEVsZW1lbnRCeUlkKGVbMl0pLGYmJmYucGFyZW50Tm9kZSYmKHRoaXMubGVuZ3RoPTEsdGhpc1swXT1mKSx0aGlzLmNvbnRleHQ9ZCx0aGlzLnNlbGVjdG9yPWEsdGhpc31yZXR1cm4gYS5ub2RlVHlwZT8odGhpcy5jb250ZXh0PXRoaXNbMF09YSx0aGlzLmxlbmd0aD0xLHRoaXMpOm4uaXNGdW5jdGlvbihhKT92b2lkIDAhPT1jLnJlYWR5P2MucmVhZHkoYSk6YShuKToodm9pZCAwIT09YS5zZWxlY3RvciYmKHRoaXMuc2VsZWN0b3I9YS5zZWxlY3Rvcix0aGlzLmNvbnRleHQ9YS5jb250ZXh0KSxuLm1ha2VBcnJheShhLHRoaXMpKX07Qy5wcm90b3R5cGU9bi5mbixBPW4oZCk7dmFyIEQ9L14oPzpwYXJlbnRzfHByZXYoPzpVbnRpbHxBbGwpKS8sRT17Y2hpbGRyZW46ITAsY29udGVudHM6ITAsbmV4dDohMCxwcmV2OiEwfTtuLmZuLmV4dGVuZCh7aGFzOmZ1bmN0aW9uKGEpe3ZhciBiPW4oYSx0aGlzKSxjPWIubGVuZ3RoO3JldHVybiB0aGlzLmZpbHRlcihmdW5jdGlvbigpe2Zvcih2YXIgYT0wO2M+YTthKyspaWYobi5jb250YWlucyh0aGlzLGJbYV0pKXJldHVybiEwfSl9LGNsb3Nlc3Q6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGMsZD0wLGU9dGhpcy5sZW5ndGgsZj1bXSxnPXcudGVzdChhKXx8InN0cmluZyIhPXR5cGVvZiBhP24oYSxifHx0aGlzLmNvbnRleHQpOjA7ZT5kO2QrKylmb3IoYz10aGlzW2RdO2MmJmMhPT1iO2M9Yy5wYXJlbnROb2RlKWlmKGMubm9kZVR5cGU8MTEmJihnP2cuaW5kZXgoYyk+LTE6MT09PWMubm9kZVR5cGUmJm4uZmluZC5tYXRjaGVzU2VsZWN0b3IoYyxhKSkpe2YucHVzaChjKTticmVha31yZXR1cm4gdGhpcy5wdXNoU3RhY2soZi5sZW5ndGg+MT9uLnVuaXF1ZVNvcnQoZik6Zil9LGluZGV4OmZ1bmN0aW9uKGEpe3JldHVybiBhPyJzdHJpbmciPT10eXBlb2YgYT9oLmNhbGwobihhKSx0aGlzWzBdKTpoLmNhbGwodGhpcyxhLmpxdWVyeT9hWzBdOmEpOnRoaXNbMF0mJnRoaXNbMF0ucGFyZW50Tm9kZT90aGlzLmZpcnN0KCkucHJldkFsbCgpLmxlbmd0aDotMX0sYWRkOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMucHVzaFN0YWNrKG4udW5pcXVlU29ydChuLm1lcmdlKHRoaXMuZ2V0KCksbihhLGIpKSkpfSxhZGRCYWNrOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmFkZChudWxsPT1hP3RoaXMucHJldk9iamVjdDp0aGlzLnByZXZPYmplY3QuZmlsdGVyKGEpKX19KTtmdW5jdGlvbiBGKGEsYil7d2hpbGUoKGE9YVtiXSkmJjEhPT1hLm5vZGVUeXBlKTtyZXR1cm4gYX1uLmVhY2goe3BhcmVudDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0dXJuIGImJjExIT09Yi5ub2RlVHlwZT9iOm51bGx9LHBhcmVudHM6ZnVuY3Rpb24oYSl7cmV0dXJuIHUoYSwicGFyZW50Tm9kZSIpfSxwYXJlbnRzVW50aWw6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB1KGEsInBhcmVudE5vZGUiLGMpfSxuZXh0OmZ1bmN0aW9uKGEpe3JldHVybiBGKGEsIm5leHRTaWJsaW5nIil9LHByZXY6ZnVuY3Rpb24oYSl7cmV0dXJuIEYoYSwicHJldmlvdXNTaWJsaW5nIil9LG5leHRBbGw6ZnVuY3Rpb24oYSl7cmV0dXJuIHUoYSwibmV4dFNpYmxpbmciKX0scHJldkFsbDpmdW5jdGlvbihhKXtyZXR1cm4gdShhLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dFVudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdShhLCJuZXh0U2libGluZyIsYyl9LHByZXZVbnRpbDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHUoYSwicHJldmlvdXNTaWJsaW5nIixjKX0sc2libGluZ3M6ZnVuY3Rpb24oYSl7cmV0dXJuIHYoKGEucGFyZW50Tm9kZXx8e30pLmZpcnN0Q2hpbGQsYSl9LGNoaWxkcmVuOmZ1bmN0aW9uKGEpe3JldHVybiB2KGEuZmlyc3RDaGlsZCl9LGNvbnRlbnRzOmZ1bmN0aW9uKGEpe3JldHVybiBhLmNvbnRlbnREb2N1bWVudHx8bi5tZXJnZShbXSxhLmNoaWxkTm9kZXMpfX0sZnVuY3Rpb24oYSxiKXtuLmZuW2FdPWZ1bmN0aW9uKGMsZCl7dmFyIGU9bi5tYXAodGhpcyxiLGMpO3JldHVybiJVbnRpbCIhPT1hLnNsaWNlKC01KSYmKGQ9YyksZCYmInN0cmluZyI9PXR5cGVvZiBkJiYoZT1uLmZpbHRlcihkLGUpKSx0aGlzLmxlbmd0aD4xJiYoRVthXXx8bi51bmlxdWVTb3J0KGUpLEQudGVzdChhKSYmZS5yZXZlcnNlKCkpLHRoaXMucHVzaFN0YWNrKGUpfX0pO3ZhciBHPS9cUysvZztmdW5jdGlvbiBIKGEpe3ZhciBiPXt9O3JldHVybiBuLmVhY2goYS5tYXRjaChHKXx8W10sZnVuY3Rpb24oYSxjKXtiW2NdPSEwfSksYn1uLkNhbGxiYWNrcz1mdW5jdGlvbihhKXthPSJzdHJpbmciPT10eXBlb2YgYT9IKGEpOm4uZXh0ZW5kKHt9LGEpO3ZhciBiLGMsZCxlLGY9W10sZz1bXSxoPS0xLGk9ZnVuY3Rpb24oKXtmb3IoZT1hLm9uY2UsZD1iPSEwO2cubGVuZ3RoO2g9LTEpe2M9Zy5zaGlmdCgpO3doaWxlKCsraDxmLmxlbmd0aClmW2hdLmFwcGx5KGNbMF0sY1sxXSk9PT0hMSYmYS5zdG9wT25GYWxzZSYmKGg9Zi5sZW5ndGgsYz0hMSl9YS5tZW1vcnl8fChjPSExKSxiPSExLGUmJihmPWM/W106IiIpfSxqPXthZGQ6ZnVuY3Rpb24oKXtyZXR1cm4gZiYmKGMmJiFiJiYoaD1mLmxlbmd0aC0xLGcucHVzaChjKSksZnVuY3Rpb24gZChiKXtuLmVhY2goYixmdW5jdGlvbihiLGMpe24uaXNGdW5jdGlvbihjKT9hLnVuaXF1ZSYmai5oYXMoYyl8fGYucHVzaChjKTpjJiZjLmxlbmd0aCYmInN0cmluZyIhPT1uLnR5cGUoYykmJmQoYyl9KX0oYXJndW1lbnRzKSxjJiYhYiYmaSgpKSx0aGlzfSxyZW1vdmU6ZnVuY3Rpb24oKXtyZXR1cm4gbi5lYWNoKGFyZ3VtZW50cyxmdW5jdGlvbihhLGIpe3ZhciBjO3doaWxlKChjPW4uaW5BcnJheShiLGYsYykpPi0xKWYuc3BsaWNlKGMsMSksaD49YyYmaC0tfSksdGhpc30saGFzOmZ1bmN0aW9uKGEpe3JldHVybiBhP24uaW5BcnJheShhLGYpPi0xOmYubGVuZ3RoPjB9LGVtcHR5OmZ1bmN0aW9uKCl7cmV0dXJuIGYmJihmPVtdKSx0aGlzfSxkaXNhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIGU9Zz1bXSxmPWM9IiIsdGhpc30sZGlzYWJsZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hZn0sbG9jazpmdW5jdGlvbigpe3JldHVybiBlPWc9W10sY3x8KGY9Yz0iIiksdGhpc30sbG9ja2VkOmZ1bmN0aW9uKCl7cmV0dXJuISFlfSxmaXJlV2l0aDpmdW5jdGlvbihhLGMpe3JldHVybiBlfHwoYz1jfHxbXSxjPVthLGMuc2xpY2U/Yy5zbGljZSgpOmNdLGcucHVzaChjKSxifHxpKCkpLHRoaXN9LGZpcmU6ZnVuY3Rpb24oKXtyZXR1cm4gai5maXJlV2l0aCh0aGlzLGFyZ3VtZW50cyksdGhpc30sZmlyZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hIWR9fTtyZXR1cm4gan0sbi5leHRlbmQoe0RlZmVycmVkOmZ1bmN0aW9uKGEpe3ZhciBiPVtbInJlc29sdmUiLCJkb25lIixuLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSwicmVzb2x2ZWQiXSxbInJlamVjdCIsImZhaWwiLG4uQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLCJyZWplY3RlZCJdLFsibm90aWZ5IiwicHJvZ3Jlc3MiLG4uQ2FsbGJhY2tzKCJtZW1vcnkiKV1dLGM9InBlbmRpbmciLGQ9e3N0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIGN9LGFsd2F5czpmdW5jdGlvbigpe3JldHVybiBlLmRvbmUoYXJndW1lbnRzKS5mYWlsKGFyZ3VtZW50cyksdGhpc30sdGhlbjpmdW5jdGlvbigpe3ZhciBhPWFyZ3VtZW50cztyZXR1cm4gbi5EZWZlcnJlZChmdW5jdGlvbihjKXtuLmVhY2goYixmdW5jdGlvbihiLGYpe3ZhciBnPW4uaXNGdW5jdGlvbihhW2JdKSYmYVtiXTtlW2ZbMV1dKGZ1bmN0aW9uKCl7dmFyIGE9ZyYmZy5hcHBseSh0aGlzLGFyZ3VtZW50cyk7YSYmbi5pc0Z1bmN0aW9uKGEucHJvbWlzZSk/YS5wcm9taXNlKCkucHJvZ3Jlc3MoYy5ub3RpZnkpLmRvbmUoYy5yZXNvbHZlKS5mYWlsKGMucmVqZWN0KTpjW2ZbMF0rIldpdGgiXSh0aGlzPT09ZD9jLnByb21pc2UoKTp0aGlzLGc/W2FdOmFyZ3VtZW50cyl9KX0pLGE9bnVsbH0pLnByb21pc2UoKX0scHJvbWlzZTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbCE9YT9uLmV4dGVuZChhLGQpOmR9fSxlPXt9O3JldHVybiBkLnBpcGU9ZC50aGVuLG4uZWFjaChiLGZ1bmN0aW9uKGEsZil7dmFyIGc9ZlsyXSxoPWZbM107ZFtmWzFdXT1nLmFkZCxoJiZnLmFkZChmdW5jdGlvbigpe2M9aH0sYlsxXmFdWzJdLmRpc2FibGUsYlsyXVsyXS5sb2NrKSxlW2ZbMF1dPWZ1bmN0aW9uKCl7cmV0dXJuIGVbZlswXSsiV2l0aCJdKHRoaXM9PT1lP2Q6dGhpcyxhcmd1bWVudHMpLHRoaXN9LGVbZlswXSsiV2l0aCJdPWcuZmlyZVdpdGh9KSxkLnByb21pc2UoZSksYSYmYS5jYWxsKGUsZSksZX0sd2hlbjpmdW5jdGlvbihhKXt2YXIgYj0wLGM9ZS5jYWxsKGFyZ3VtZW50cyksZD1jLmxlbmd0aCxmPTEhPT1kfHxhJiZuLmlzRnVuY3Rpb24oYS5wcm9taXNlKT9kOjAsZz0xPT09Zj9hOm4uRGVmZXJyZWQoKSxoPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZnVuY3Rpb24oZCl7YlthXT10aGlzLGNbYV09YXJndW1lbnRzLmxlbmd0aD4xP2UuY2FsbChhcmd1bWVudHMpOmQsYz09PWk/Zy5ub3RpZnlXaXRoKGIsYyk6LS1mfHxnLnJlc29sdmVXaXRoKGIsYyl9fSxpLGosaztpZihkPjEpZm9yKGk9bmV3IEFycmF5KGQpLGo9bmV3IEFycmF5KGQpLGs9bmV3IEFycmF5KGQpO2Q+YjtiKyspY1tiXSYmbi5pc0Z1bmN0aW9uKGNbYl0ucHJvbWlzZSk/Y1tiXS5wcm9taXNlKCkucHJvZ3Jlc3MoaChiLGosaSkpLmRvbmUoaChiLGssYykpLmZhaWwoZy5yZWplY3QpOi0tZjtyZXR1cm4gZnx8Zy5yZXNvbHZlV2l0aChrLGMpLGcucHJvbWlzZSgpfX0pO3ZhciBJO24uZm4ucmVhZHk9ZnVuY3Rpb24oYSl7cmV0dXJuIG4ucmVhZHkucHJvbWlzZSgpLmRvbmUoYSksdGhpc30sbi5leHRlbmQoe2lzUmVhZHk6ITEscmVhZHlXYWl0OjEsaG9sZFJlYWR5OmZ1bmN0aW9uKGEpe2E/bi5yZWFkeVdhaXQrKzpuLnJlYWR5KCEwKX0scmVhZHk6ZnVuY3Rpb24oYSl7KGE9PT0hMD8tLW4ucmVhZHlXYWl0Om4uaXNSZWFkeSl8fChuLmlzUmVhZHk9ITAsYSE9PSEwJiYtLW4ucmVhZHlXYWl0PjB8fChJLnJlc29sdmVXaXRoKGQsW25dKSxuLmZuLnRyaWdnZXJIYW5kbGVyJiYobihkKS50cmlnZ2VySGFuZGxlcigicmVhZHkiKSxuKGQpLm9mZigicmVhZHkiKSkpKX19KTtmdW5jdGlvbiBKKCl7ZC5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixKKSxhLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLEopLG4ucmVhZHkoKX1uLnJlYWR5LnByb21pc2U9ZnVuY3Rpb24oYil7cmV0dXJuIEl8fChJPW4uRGVmZXJyZWQoKSwiY29tcGxldGUiPT09ZC5yZWFkeVN0YXRlfHwibG9hZGluZyIhPT1kLnJlYWR5U3RhdGUmJiFkLmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbD9hLnNldFRpbWVvdXQobi5yZWFkeSk6KGQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsSiksYS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixKKSkpLEkucHJvbWlzZShiKX0sbi5yZWFkeS5wcm9taXNlKCk7dmFyIEs9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7dmFyIGg9MCxpPWEubGVuZ3RoLGo9bnVsbD09YztpZigib2JqZWN0Ij09PW4udHlwZShjKSl7ZT0hMDtmb3IoaCBpbiBjKUsoYSxiLGgsY1toXSwhMCxmLGcpfWVsc2UgaWYodm9pZCAwIT09ZCYmKGU9ITAsbi5pc0Z1bmN0aW9uKGQpfHwoZz0hMCksaiYmKGc/KGIuY2FsbChhLGQpLGI9bnVsbCk6KGo9YixiPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gai5jYWxsKG4oYSksYyl9KSksYikpZm9yKDtpPmg7aCsrKWIoYVtoXSxjLGc/ZDpkLmNhbGwoYVtoXSxoLGIoYVtoXSxjKSkpO3JldHVybiBlP2E6aj9iLmNhbGwoYSk6aT9iKGFbMF0sYyk6Zn0sTD1mdW5jdGlvbihhKXtyZXR1cm4gMT09PWEubm9kZVR5cGV8fDk9PT1hLm5vZGVUeXBlfHwhK2Eubm9kZVR5cGV9O2Z1bmN0aW9uIE0oKXt0aGlzLmV4cGFuZG89bi5leHBhbmRvK00udWlkKyt9TS51aWQ9MSxNLnByb3RvdHlwZT17cmVnaXN0ZXI6ZnVuY3Rpb24oYSxiKXt2YXIgYz1ifHx7fTtyZXR1cm4gYS5ub2RlVHlwZT9hW3RoaXMuZXhwYW5kb109YzpPYmplY3QuZGVmaW5lUHJvcGVydHkoYSx0aGlzLmV4cGFuZG8se3ZhbHVlOmMsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksYVt0aGlzLmV4cGFuZG9dfSxjYWNoZTpmdW5jdGlvbihhKXtpZighTChhKSlyZXR1cm57fTt2YXIgYj1hW3RoaXMuZXhwYW5kb107cmV0dXJuIGJ8fChiPXt9LEwoYSkmJihhLm5vZGVUeXBlP2FbdGhpcy5leHBhbmRvXT1iOk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLHRoaXMuZXhwYW5kbyx7dmFsdWU6Yixjb25maWd1cmFibGU6ITB9KSkpLGJ9LHNldDpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZT10aGlzLmNhY2hlKGEpO2lmKCJzdHJpbmciPT10eXBlb2YgYillW2JdPWM7ZWxzZSBmb3IoZCBpbiBiKWVbZF09YltkXTtyZXR1cm4gZX0sZ2V0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIHZvaWQgMD09PWI/dGhpcy5jYWNoZShhKTphW3RoaXMuZXhwYW5kb10mJmFbdGhpcy5leHBhbmRvXVtiXX0sYWNjZXNzOmZ1bmN0aW9uKGEsYixjKXt2YXIgZDtyZXR1cm4gdm9pZCAwPT09Ynx8YiYmInN0cmluZyI9PXR5cGVvZiBiJiZ2b2lkIDA9PT1jPyhkPXRoaXMuZ2V0KGEsYiksdm9pZCAwIT09ZD9kOnRoaXMuZ2V0KGEsbi5jYW1lbENhc2UoYikpKToodGhpcy5zZXQoYSxiLGMpLHZvaWQgMCE9PWM/YzpiKX0scmVtb3ZlOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGY9YVt0aGlzLmV4cGFuZG9dO2lmKHZvaWQgMCE9PWYpe2lmKHZvaWQgMD09PWIpdGhpcy5yZWdpc3RlcihhKTtlbHNle24uaXNBcnJheShiKT9kPWIuY29uY2F0KGIubWFwKG4uY2FtZWxDYXNlKSk6KGU9bi5jYW1lbENhc2UoYiksYiBpbiBmP2Q9W2IsZV06KGQ9ZSxkPWQgaW4gZj9bZF06ZC5tYXRjaChHKXx8W10pKSxjPWQubGVuZ3RoO3doaWxlKGMtLSlkZWxldGUgZltkW2NdXX0odm9pZCAwPT09Ynx8bi5pc0VtcHR5T2JqZWN0KGYpKSYmKGEubm9kZVR5cGU/YVt0aGlzLmV4cGFuZG9dPXZvaWQgMDpkZWxldGUgYVt0aGlzLmV4cGFuZG9dKX19LGhhc0RhdGE6ZnVuY3Rpb24oYSl7dmFyIGI9YVt0aGlzLmV4cGFuZG9dO3JldHVybiB2b2lkIDAhPT1iJiYhbi5pc0VtcHR5T2JqZWN0KGIpfX07dmFyIE49bmV3IE0sTz1uZXcgTSxQPS9eKD86XHtbXHdcV10qXH18XFtbXHdcV10qXF0pJC8sUT0vW0EtWl0vZztmdW5jdGlvbiBSKGEsYixjKXt2YXIgZDtpZih2b2lkIDA9PT1jJiYxPT09YS5ub2RlVHlwZSlpZihkPSJkYXRhLSIrYi5yZXBsYWNlKFEsIi0kJiIpLnRvTG93ZXJDYXNlKCksYz1hLmdldEF0dHJpYnV0ZShkKSwic3RyaW5nIj09dHlwZW9mIGMpe3RyeXtjPSJ0cnVlIj09PWM/ITA6ImZhbHNlIj09PWM/ITE6Im51bGwiPT09Yz9udWxsOitjKyIiPT09Yz8rYzpQLnRlc3QoYyk/bi5wYXJzZUpTT04oYyk6YzsNCn1jYXRjaChlKXt9Ty5zZXQoYSxiLGMpfWVsc2UgYz12b2lkIDA7cmV0dXJuIGN9bi5leHRlbmQoe2hhc0RhdGE6ZnVuY3Rpb24oYSl7cmV0dXJuIE8uaGFzRGF0YShhKXx8Ti5oYXNEYXRhKGEpfSxkYXRhOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gTy5hY2Nlc3MoYSxiLGMpfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGEsYil7Ty5yZW1vdmUoYSxiKX0sX2RhdGE6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBOLmFjY2VzcyhhLGIsYyl9LF9yZW1vdmVEYXRhOmZ1bmN0aW9uKGEsYil7Ti5yZW1vdmUoYSxiKX19KSxuLmZuLmV4dGVuZCh7ZGF0YTpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmPXRoaXNbMF0sZz1mJiZmLmF0dHJpYnV0ZXM7aWYodm9pZCAwPT09YSl7aWYodGhpcy5sZW5ndGgmJihlPU8uZ2V0KGYpLDE9PT1mLm5vZGVUeXBlJiYhTi5nZXQoZiwiaGFzRGF0YUF0dHJzIikpKXtjPWcubGVuZ3RoO3doaWxlKGMtLSlnW2NdJiYoZD1nW2NdLm5hbWUsMD09PWQuaW5kZXhPZigiZGF0YS0iKSYmKGQ9bi5jYW1lbENhc2UoZC5zbGljZSg1KSksUihmLGQsZVtkXSkpKTtOLnNldChmLCJoYXNEYXRhQXR0cnMiLCEwKX1yZXR1cm4gZX1yZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGE/dGhpcy5lYWNoKGZ1bmN0aW9uKCl7Ty5zZXQodGhpcyxhKX0pOksodGhpcyxmdW5jdGlvbihiKXt2YXIgYyxkO2lmKGYmJnZvaWQgMD09PWIpe2lmKGM9Ty5nZXQoZixhKXx8Ty5nZXQoZixhLnJlcGxhY2UoUSwiLSQmIikudG9Mb3dlckNhc2UoKSksdm9pZCAwIT09YylyZXR1cm4gYztpZihkPW4uY2FtZWxDYXNlKGEpLGM9Ty5nZXQoZixkKSx2b2lkIDAhPT1jKXJldHVybiBjO2lmKGM9UihmLGQsdm9pZCAwKSx2b2lkIDAhPT1jKXJldHVybiBjfWVsc2UgZD1uLmNhbWVsQ2FzZShhKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1PLmdldCh0aGlzLGQpO08uc2V0KHRoaXMsZCxiKSxhLmluZGV4T2YoIi0iKT4tMSYmdm9pZCAwIT09YyYmTy5zZXQodGhpcyxhLGIpfSl9LG51bGwsYixhcmd1bWVudHMubGVuZ3RoPjEsbnVsbCwhMCl9LHJlbW92ZURhdGE6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe08ucmVtb3ZlKHRoaXMsYSl9KX19KSxuLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybiBhPyhiPShifHwiZngiKSsicXVldWUiLGQ9Ti5nZXQoYSxiKSxjJiYoIWR8fG4uaXNBcnJheShjKT9kPU4uYWNjZXNzKGEsYixuLm1ha2VBcnJheShjKSk6ZC5wdXNoKGMpKSxkfHxbXSk6dm9pZCAwfSxkZXF1ZXVlOmZ1bmN0aW9uKGEsYil7Yj1ifHwiZngiO3ZhciBjPW4ucXVldWUoYSxiKSxkPWMubGVuZ3RoLGU9Yy5zaGlmdCgpLGY9bi5fcXVldWVIb29rcyhhLGIpLGc9ZnVuY3Rpb24oKXtuLmRlcXVldWUoYSxiKX07ImlucHJvZ3Jlc3MiPT09ZSYmKGU9Yy5zaGlmdCgpLGQtLSksZSYmKCJmeCI9PT1iJiZjLnVuc2hpZnQoImlucHJvZ3Jlc3MiKSxkZWxldGUgZi5zdG9wLGUuY2FsbChhLGcsZikpLCFkJiZmJiZmLmVtcHR5LmZpcmUoKX0sX3F1ZXVlSG9va3M6ZnVuY3Rpb24oYSxiKXt2YXIgYz1iKyJxdWV1ZUhvb2tzIjtyZXR1cm4gTi5nZXQoYSxjKXx8Ti5hY2Nlc3MoYSxjLHtlbXB0eTpuLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKS5hZGQoZnVuY3Rpb24oKXtOLnJlbW92ZShhLFtiKyJxdWV1ZSIsY10pfSl9KX19KSxuLmZuLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oYSxiKXt2YXIgYz0yO3JldHVybiJzdHJpbmciIT10eXBlb2YgYSYmKGI9YSxhPSJmeCIsYy0tKSxhcmd1bWVudHMubGVuZ3RoPGM/bi5xdWV1ZSh0aGlzWzBdLGEpOnZvaWQgMD09PWI/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1uLnF1ZXVlKHRoaXMsYSxiKTtuLl9xdWV1ZUhvb2tzKHRoaXMsYSksImZ4Ij09PWEmJiJpbnByb2dyZXNzIiE9PWNbMF0mJm4uZGVxdWV1ZSh0aGlzLGEpfSl9LGRlcXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe24uZGVxdWV1ZSh0aGlzLGEpfSl9LGNsZWFyUXVldWU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucXVldWUoYXx8ImZ4IixbXSl9LHByb21pc2U6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPTEsZT1uLkRlZmVycmVkKCksZj10aGlzLGc9dGhpcy5sZW5ndGgsaD1mdW5jdGlvbigpey0tZHx8ZS5yZXNvbHZlV2l0aChmLFtmXSl9OyJzdHJpbmciIT10eXBlb2YgYSYmKGI9YSxhPXZvaWQgMCksYT1hfHwiZngiO3doaWxlKGctLSljPU4uZ2V0KGZbZ10sYSsicXVldWVIb29rcyIpLGMmJmMuZW1wdHkmJihkKyssYy5lbXB0eS5hZGQoaCkpO3JldHVybiBoKCksZS5wcm9taXNlKGIpfX0pO3ZhciBTPS9bKy1dPyg/OlxkKlwufClcZCsoPzpbZUVdWystXT9cZCt8KS8uc291cmNlLFQ9bmV3IFJlZ0V4cCgiXig/OihbKy1dKT18KSgiK1MrIikoW2EteiVdKikkIiwiaSIpLFU9WyJUb3AiLCJSaWdodCIsIkJvdHRvbSIsIkxlZnQiXSxWPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9Ynx8YSwibm9uZSI9PT1uLmNzcyhhLCJkaXNwbGF5Iil8fCFuLmNvbnRhaW5zKGEub3duZXJEb2N1bWVudCxhKX07ZnVuY3Rpb24gVyhhLGIsYyxkKXt2YXIgZSxmPTEsZz0yMCxoPWQ/ZnVuY3Rpb24oKXtyZXR1cm4gZC5jdXIoKX06ZnVuY3Rpb24oKXtyZXR1cm4gbi5jc3MoYSxiLCIiKX0saT1oKCksaj1jJiZjWzNdfHwobi5jc3NOdW1iZXJbYl0/IiI6InB4Iiksaz0obi5jc3NOdW1iZXJbYl18fCJweCIhPT1qJiYraSkmJlQuZXhlYyhuLmNzcyhhLGIpKTtpZihrJiZrWzNdIT09ail7aj1qfHxrWzNdLGM9Y3x8W10saz0raXx8MTtkbyBmPWZ8fCIuNSIsay89ZixuLnN0eWxlKGEsYixrK2opO3doaWxlKGYhPT0oZj1oKCkvaSkmJjEhPT1mJiYtLWcpfXJldHVybiBjJiYoaz0ra3x8K2l8fDAsZT1jWzFdP2srKGNbMV0rMSkqY1syXTorY1syXSxkJiYoZC51bml0PWosZC5zdGFydD1rLGQuZW5kPWUpKSxlfXZhciBYPS9eKD86Y2hlY2tib3h8cmFkaW8pJC9pLFk9LzwoW1x3Oi1dKykvLFo9L14kfFwvKD86amF2YXxlY21hKXNjcmlwdC9pLCQ9e29wdGlvbjpbMSwiPHNlbGVjdCBtdWx0aXBsZT0nbXVsdGlwbGUnPiIsIjwvc2VsZWN0PiJdLHRoZWFkOlsxLCI8dGFibGU+IiwiPC90YWJsZT4iXSxjb2w6WzIsIjx0YWJsZT48Y29sZ3JvdXA+IiwiPC9jb2xncm91cD48L3RhYmxlPiJdLHRyOlsyLCI8dGFibGU+PHRib2R5PiIsIjwvdGJvZHk+PC90YWJsZT4iXSx0ZDpbMywiPHRhYmxlPjx0Ym9keT48dHI+IiwiPC90cj48L3Rib2R5PjwvdGFibGU+Il0sX2RlZmF1bHQ6WzAsIiIsIiJdfTskLm9wdGdyb3VwPSQub3B0aW9uLCQudGJvZHk9JC50Zm9vdD0kLmNvbGdyb3VwPSQuY2FwdGlvbj0kLnRoZWFkLCQudGg9JC50ZDtmdW5jdGlvbiBfKGEsYil7dmFyIGM9InVuZGVmaW5lZCIhPXR5cGVvZiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lP2EuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYnx8IioiKToidW5kZWZpbmVkIiE9dHlwZW9mIGEucXVlcnlTZWxlY3RvckFsbD9hLnF1ZXJ5U2VsZWN0b3JBbGwoYnx8IioiKTpbXTtyZXR1cm4gdm9pZCAwPT09Ynx8YiYmbi5ub2RlTmFtZShhLGIpP24ubWVyZ2UoW2FdLGMpOmN9ZnVuY3Rpb24gYWEoYSxiKXtmb3IodmFyIGM9MCxkPWEubGVuZ3RoO2Q+YztjKyspTi5zZXQoYVtjXSwiZ2xvYmFsRXZhbCIsIWJ8fE4uZ2V0KGJbY10sImdsb2JhbEV2YWwiKSl9dmFyIGJhPS88fCYjP1x3KzsvO2Z1bmN0aW9uIGNhKGEsYixjLGQsZSl7Zm9yKHZhciBmLGcsaCxpLGosayxsPWIuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLG09W10sbz0wLHA9YS5sZW5ndGg7cD5vO28rKylpZihmPWFbb10sZnx8MD09PWYpaWYoIm9iamVjdCI9PT1uLnR5cGUoZikpbi5tZXJnZShtLGYubm9kZVR5cGU/W2ZdOmYpO2Vsc2UgaWYoYmEudGVzdChmKSl7Zz1nfHxsLmFwcGVuZENoaWxkKGIuY3JlYXRlRWxlbWVudCgiZGl2IikpLGg9KFkuZXhlYyhmKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKSxpPSRbaF18fCQuX2RlZmF1bHQsZy5pbm5lckhUTUw9aVsxXStuLmh0bWxQcmVmaWx0ZXIoZikraVsyXSxrPWlbMF07d2hpbGUoay0tKWc9Zy5sYXN0Q2hpbGQ7bi5tZXJnZShtLGcuY2hpbGROb2RlcyksZz1sLmZpcnN0Q2hpbGQsZy50ZXh0Q29udGVudD0iIn1lbHNlIG0ucHVzaChiLmNyZWF0ZVRleHROb2RlKGYpKTtsLnRleHRDb250ZW50PSIiLG89MDt3aGlsZShmPW1bbysrXSlpZihkJiZuLmluQXJyYXkoZixkKT4tMSllJiZlLnB1c2goZik7ZWxzZSBpZihqPW4uY29udGFpbnMoZi5vd25lckRvY3VtZW50LGYpLGc9XyhsLmFwcGVuZENoaWxkKGYpLCJzY3JpcHQiKSxqJiZhYShnKSxjKXtrPTA7d2hpbGUoZj1nW2srK10pWi50ZXN0KGYudHlwZXx8IiIpJiZjLnB1c2goZil9cmV0dXJuIGx9IWZ1bmN0aW9uKCl7dmFyIGE9ZC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksYj1hLmFwcGVuZENoaWxkKGQuY3JlYXRlRWxlbWVudCgiZGl2IikpLGM9ZC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO2Muc2V0QXR0cmlidXRlKCJ0eXBlIiwicmFkaW8iKSxjLnNldEF0dHJpYnV0ZSgiY2hlY2tlZCIsImNoZWNrZWQiKSxjLnNldEF0dHJpYnV0ZSgibmFtZSIsInQiKSxiLmFwcGVuZENoaWxkKGMpLGwuY2hlY2tDbG9uZT1iLmNsb25lTm9kZSghMCkuY2xvbmVOb2RlKCEwKS5sYXN0Q2hpbGQuY2hlY2tlZCxiLmlubmVySFRNTD0iPHRleHRhcmVhPng8L3RleHRhcmVhPiIsbC5ub0Nsb25lQ2hlY2tlZD0hIWIuY2xvbmVOb2RlKCEwKS5sYXN0Q2hpbGQuZGVmYXVsdFZhbHVlfSgpO3ZhciBkYT0vXmtleS8sZWE9L14oPzptb3VzZXxwb2ludGVyfGNvbnRleHRtZW51fGRyYWd8ZHJvcCl8Y2xpY2svLGZhPS9eKFteLl0qKSg/OlwuKC4rKXwpLztmdW5jdGlvbiBnYSgpe3JldHVybiEwfWZ1bmN0aW9uIGhhKCl7cmV0dXJuITF9ZnVuY3Rpb24gaWEoKXt0cnl7cmV0dXJuIGQuYWN0aXZlRWxlbWVudH1jYXRjaChhKXt9fWZ1bmN0aW9uIGphKGEsYixjLGQsZSxmKXt2YXIgZyxoO2lmKCJvYmplY3QiPT10eXBlb2YgYil7InN0cmluZyIhPXR5cGVvZiBjJiYoZD1kfHxjLGM9dm9pZCAwKTtmb3IoaCBpbiBiKWphKGEsaCxjLGQsYltoXSxmKTtyZXR1cm4gYX1pZihudWxsPT1kJiZudWxsPT1lPyhlPWMsZD1jPXZvaWQgMCk6bnVsbD09ZSYmKCJzdHJpbmciPT10eXBlb2YgYz8oZT1kLGQ9dm9pZCAwKTooZT1kLGQ9YyxjPXZvaWQgMCkpLGU9PT0hMSllPWhhO2Vsc2UgaWYoIWUpcmV0dXJuIGE7cmV0dXJuIDE9PT1mJiYoZz1lLGU9ZnVuY3Rpb24oYSl7cmV0dXJuIG4oKS5vZmYoYSksZy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGUuZ3VpZD1nLmd1aWR8fChnLmd1aWQ9bi5ndWlkKyspKSxhLmVhY2goZnVuY3Rpb24oKXtuLmV2ZW50LmFkZCh0aGlzLGIsZSxkLGMpfSl9bi5ldmVudD17Z2xvYmFsOnt9LGFkZDpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmLGcsaCxpLGosayxsLG0sbyxwLHEscj1OLmdldChhKTtpZihyKXtjLmhhbmRsZXImJihmPWMsYz1mLmhhbmRsZXIsZT1mLnNlbGVjdG9yKSxjLmd1aWR8fChjLmd1aWQ9bi5ndWlkKyspLChpPXIuZXZlbnRzKXx8KGk9ci5ldmVudHM9e30pLChnPXIuaGFuZGxlKXx8KGc9ci5oYW5kbGU9ZnVuY3Rpb24oYil7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBuJiZuLmV2ZW50LnRyaWdnZXJlZCE9PWIudHlwZT9uLmV2ZW50LmRpc3BhdGNoLmFwcGx5KGEsYXJndW1lbnRzKTp2b2lkIDB9KSxiPShifHwiIikubWF0Y2goRyl8fFsiIl0saj1iLmxlbmd0aDt3aGlsZShqLS0paD1mYS5leGVjKGJbal0pfHxbXSxvPXE9aFsxXSxwPShoWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksbyYmKGw9bi5ldmVudC5zcGVjaWFsW29dfHx7fSxvPShlP2wuZGVsZWdhdGVUeXBlOmwuYmluZFR5cGUpfHxvLGw9bi5ldmVudC5zcGVjaWFsW29dfHx7fSxrPW4uZXh0ZW5kKHt0eXBlOm8sb3JpZ1R5cGU6cSxkYXRhOmQsaGFuZGxlcjpjLGd1aWQ6Yy5ndWlkLHNlbGVjdG9yOmUsbmVlZHNDb250ZXh0OmUmJm4uZXhwci5tYXRjaC5uZWVkc0NvbnRleHQudGVzdChlKSxuYW1lc3BhY2U6cC5qb2luKCIuIil9LGYpLChtPWlbb10pfHwobT1pW29dPVtdLG0uZGVsZWdhdGVDb3VudD0wLGwuc2V0dXAmJmwuc2V0dXAuY2FsbChhLGQscCxnKSE9PSExfHxhLmFkZEV2ZW50TGlzdGVuZXImJmEuYWRkRXZlbnRMaXN0ZW5lcihvLGcpKSxsLmFkZCYmKGwuYWRkLmNhbGwoYSxrKSxrLmhhbmRsZXIuZ3VpZHx8KGsuaGFuZGxlci5ndWlkPWMuZ3VpZCkpLGU/bS5zcGxpY2UobS5kZWxlZ2F0ZUNvdW50KyssMCxrKTptLnB1c2goayksbi5ldmVudC5nbG9iYWxbb109ITApfX0scmVtb3ZlOmZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGYsZyxoLGksaixrLGwsbSxvLHAscSxyPU4uaGFzRGF0YShhKSYmTi5nZXQoYSk7aWYociYmKGk9ci5ldmVudHMpKXtiPShifHwiIikubWF0Y2goRyl8fFsiIl0saj1iLmxlbmd0aDt3aGlsZShqLS0paWYoaD1mYS5leGVjKGJbal0pfHxbXSxvPXE9aFsxXSxwPShoWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksbyl7bD1uLmV2ZW50LnNwZWNpYWxbb118fHt9LG89KGQ/bC5kZWxlZ2F0ZVR5cGU6bC5iaW5kVHlwZSl8fG8sbT1pW29dfHxbXSxoPWhbMl0mJm5ldyBSZWdFeHAoIihefFxcLikiK3Auam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIiksZz1mPW0ubGVuZ3RoO3doaWxlKGYtLSlrPW1bZl0sIWUmJnEhPT1rLm9yaWdUeXBlfHxjJiZjLmd1aWQhPT1rLmd1aWR8fGgmJiFoLnRlc3Qoay5uYW1lc3BhY2UpfHxkJiZkIT09ay5zZWxlY3RvciYmKCIqKiIhPT1kfHwhay5zZWxlY3Rvcil8fChtLnNwbGljZShmLDEpLGsuc2VsZWN0b3ImJm0uZGVsZWdhdGVDb3VudC0tLGwucmVtb3ZlJiZsLnJlbW92ZS5jYWxsKGEsaykpO2cmJiFtLmxlbmd0aCYmKGwudGVhcmRvd24mJmwudGVhcmRvd24uY2FsbChhLHAsci5oYW5kbGUpIT09ITF8fG4ucmVtb3ZlRXZlbnQoYSxvLHIuaGFuZGxlKSxkZWxldGUgaVtvXSl9ZWxzZSBmb3IobyBpbiBpKW4uZXZlbnQucmVtb3ZlKGEsbytiW2pdLGMsZCwhMCk7bi5pc0VtcHR5T2JqZWN0KGkpJiZOLnJlbW92ZShhLCJoYW5kbGUgZXZlbnRzIil9fSxkaXNwYXRjaDpmdW5jdGlvbihhKXthPW4uZXZlbnQuZml4KGEpO3ZhciBiLGMsZCxmLGcsaD1bXSxpPWUuY2FsbChhcmd1bWVudHMpLGo9KE4uZ2V0KHRoaXMsImV2ZW50cyIpfHx7fSlbYS50eXBlXXx8W10saz1uLmV2ZW50LnNwZWNpYWxbYS50eXBlXXx8e307aWYoaVswXT1hLGEuZGVsZWdhdGVUYXJnZXQ9dGhpcywhay5wcmVEaXNwYXRjaHx8ay5wcmVEaXNwYXRjaC5jYWxsKHRoaXMsYSkhPT0hMSl7aD1uLmV2ZW50LmhhbmRsZXJzLmNhbGwodGhpcyxhLGopLGI9MDt3aGlsZSgoZj1oW2IrK10pJiYhYS5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKXthLmN1cnJlbnRUYXJnZXQ9Zi5lbGVtLGM9MDt3aGlsZSgoZz1mLmhhbmRsZXJzW2MrK10pJiYhYS5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZCgpKWEucm5hbWVzcGFjZSYmIWEucm5hbWVzcGFjZS50ZXN0KGcubmFtZXNwYWNlKXx8KGEuaGFuZGxlT2JqPWcsYS5kYXRhPWcuZGF0YSxkPSgobi5ldmVudC5zcGVjaWFsW2cub3JpZ1R5cGVdfHx7fSkuaGFuZGxlfHxnLmhhbmRsZXIpLmFwcGx5KGYuZWxlbSxpKSx2b2lkIDAhPT1kJiYoYS5yZXN1bHQ9ZCk9PT0hMSYmKGEucHJldmVudERlZmF1bHQoKSxhLnN0b3BQcm9wYWdhdGlvbigpKSl9cmV0dXJuIGsucG9zdERpc3BhdGNoJiZrLnBvc3REaXNwYXRjaC5jYWxsKHRoaXMsYSksYS5yZXN1bHR9fSxoYW5kbGVyczpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGc9W10saD1iLmRlbGVnYXRlQ291bnQsaT1hLnRhcmdldDtpZihoJiZpLm5vZGVUeXBlJiYoImNsaWNrIiE9PWEudHlwZXx8aXNOYU4oYS5idXR0b24pfHxhLmJ1dHRvbjwxKSlmb3IoO2khPT10aGlzO2k9aS5wYXJlbnROb2RlfHx0aGlzKWlmKDE9PT1pLm5vZGVUeXBlJiYoaS5kaXNhYmxlZCE9PSEwfHwiY2xpY2siIT09YS50eXBlKSl7Zm9yKGQ9W10sYz0wO2g+YztjKyspZj1iW2NdLGU9Zi5zZWxlY3RvcisiICIsdm9pZCAwPT09ZFtlXSYmKGRbZV09Zi5uZWVkc0NvbnRleHQ/bihlLHRoaXMpLmluZGV4KGkpPi0xOm4uZmluZChlLHRoaXMsbnVsbCxbaV0pLmxlbmd0aCksZFtlXSYmZC5wdXNoKGYpO2QubGVuZ3RoJiZnLnB1c2goe2VsZW06aSxoYW5kbGVyczpkfSl9cmV0dXJuIGg8Yi5sZW5ndGgmJmcucHVzaCh7ZWxlbTp0aGlzLGhhbmRsZXJzOmIuc2xpY2UoaCl9KSxnfSxwcm9wczoiYWx0S2V5IGJ1YmJsZXMgY2FuY2VsYWJsZSBjdHJsS2V5IGN1cnJlbnRUYXJnZXQgZGV0YWlsIGV2ZW50UGhhc2UgbWV0YUtleSByZWxhdGVkVGFyZ2V0IHNoaWZ0S2V5IHRhcmdldCB0aW1lU3RhbXAgdmlldyB3aGljaCIuc3BsaXQoIiAiKSxmaXhIb29rczp7fSxrZXlIb29rczp7cHJvcHM6ImNoYXIgY2hhckNvZGUga2V5IGtleUNvZGUiLnNwbGl0KCIgIiksZmlsdGVyOmZ1bmN0aW9uKGEsYil7cmV0dXJuIG51bGw9PWEud2hpY2gmJihhLndoaWNoPW51bGwhPWIuY2hhckNvZGU/Yi5jaGFyQ29kZTpiLmtleUNvZGUpLGF9fSxtb3VzZUhvb2tzOntwcm9wczoiYnV0dG9uIGJ1dHRvbnMgY2xpZW50WCBjbGllbnRZIG9mZnNldFggb2Zmc2V0WSBwYWdlWCBwYWdlWSBzY3JlZW5YIHNjcmVlblkgdG9FbGVtZW50Ii5zcGxpdCgiICIpLGZpbHRlcjpmdW5jdGlvbihhLGIpe3ZhciBjLGUsZixnPWIuYnV0dG9uO3JldHVybiBudWxsPT1hLnBhZ2VYJiZudWxsIT1iLmNsaWVudFgmJihjPWEudGFyZ2V0Lm93bmVyRG9jdW1lbnR8fGQsZT1jLmRvY3VtZW50RWxlbWVudCxmPWMuYm9keSxhLnBhZ2VYPWIuY2xpZW50WCsoZSYmZS5zY3JvbGxMZWZ0fHxmJiZmLnNjcm9sbExlZnR8fDApLShlJiZlLmNsaWVudExlZnR8fGYmJmYuY2xpZW50TGVmdHx8MCksYS5wYWdlWT1iLmNsaWVudFkrKGUmJmUuc2Nyb2xsVG9wfHxmJiZmLnNjcm9sbFRvcHx8MCktKGUmJmUuY2xpZW50VG9wfHxmJiZmLmNsaWVudFRvcHx8MCkpLGEud2hpY2h8fHZvaWQgMD09PWd8fChhLndoaWNoPTEmZz8xOjImZz8zOjQmZz8yOjApLGF9fSxmaXg6ZnVuY3Rpb24oYSl7aWYoYVtuLmV4cGFuZG9dKXJldHVybiBhO3ZhciBiLGMsZSxmPWEudHlwZSxnPWEsaD10aGlzLmZpeEhvb2tzW2ZdO2h8fCh0aGlzLmZpeEhvb2tzW2ZdPWg9ZWEudGVzdChmKT90aGlzLm1vdXNlSG9va3M6ZGEudGVzdChmKT90aGlzLmtleUhvb2tzOnt9KSxlPWgucHJvcHM/dGhpcy5wcm9wcy5jb25jYXQoaC5wcm9wcyk6dGhpcy5wcm9wcyxhPW5ldyBuLkV2ZW50KGcpLGI9ZS5sZW5ndGg7d2hpbGUoYi0tKWM9ZVtiXSxhW2NdPWdbY107cmV0dXJuIGEudGFyZ2V0fHwoYS50YXJnZXQ9ZCksMz09PWEudGFyZ2V0Lm5vZGVUeXBlJiYoYS50YXJnZXQ9YS50YXJnZXQucGFyZW50Tm9kZSksaC5maWx0ZXI/aC5maWx0ZXIoYSxnKTphfSxzcGVjaWFsOntsb2FkOntub0J1YmJsZTohMH0sZm9jdXM6e3RyaWdnZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcyE9PWlhKCkmJnRoaXMuZm9jdXM/KHRoaXMuZm9jdXMoKSwhMSk6dm9pZCAwfSxkZWxlZ2F0ZVR5cGU6ImZvY3VzaW4ifSxibHVyOnt0cmlnZ2VyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXM9PT1pYSgpJiZ0aGlzLmJsdXI/KHRoaXMuYmx1cigpLCExKTp2b2lkIDB9LGRlbGVnYXRlVHlwZToiZm9jdXNvdXQifSxjbGljazp7dHJpZ2dlcjpmdW5jdGlvbigpe3JldHVybiJjaGVja2JveCI9PT10aGlzLnR5cGUmJnRoaXMuY2xpY2smJm4ubm9kZU5hbWUodGhpcywiaW5wdXQiKT8odGhpcy5jbGljaygpLCExKTp2b2lkIDB9LF9kZWZhdWx0OmZ1bmN0aW9uKGEpe3JldHVybiBuLm5vZGVOYW1lKGEudGFyZ2V0LCJhIil9fSxiZWZvcmV1bmxvYWQ6e3Bvc3REaXNwYXRjaDpmdW5jdGlvbihhKXt2b2lkIDAhPT1hLnJlc3VsdCYmYS5vcmlnaW5hbEV2ZW50JiYoYS5vcmlnaW5hbEV2ZW50LnJldHVyblZhbHVlPWEucmVzdWx0KX19fX0sbi5yZW1vdmVFdmVudD1mdW5jdGlvbihhLGIsYyl7YS5yZW1vdmVFdmVudExpc3RlbmVyJiZhLnJlbW92ZUV2ZW50TGlzdGVuZXIoYixjKX0sbi5FdmVudD1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzIGluc3RhbmNlb2Ygbi5FdmVudD8oYSYmYS50eXBlPyh0aGlzLm9yaWdpbmFsRXZlbnQ9YSx0aGlzLnR5cGU9YS50eXBlLHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPWEuZGVmYXVsdFByZXZlbnRlZHx8dm9pZCAwPT09YS5kZWZhdWx0UHJldmVudGVkJiZhLnJldHVyblZhbHVlPT09ITE/Z2E6aGEpOnRoaXMudHlwZT1hLGImJm4uZXh0ZW5kKHRoaXMsYiksdGhpcy50aW1lU3RhbXA9YSYmYS50aW1lU3RhbXB8fG4ubm93KCksdm9pZCh0aGlzW24uZXhwYW5kb109ITApKTpuZXcgbi5FdmVudChhLGIpfSxuLkV2ZW50LnByb3RvdHlwZT17Y29uc3RydWN0b3I6bi5FdmVudCxpc0RlZmF1bHRQcmV2ZW50ZWQ6aGEsaXNQcm9wYWdhdGlvblN0b3BwZWQ6aGEsaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ6aGEsaXNTaW11bGF0ZWQ6ITEscHJldmVudERlZmF1bHQ6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9Z2EsYSYmIXRoaXMuaXNTaW11bGF0ZWQmJmEucHJldmVudERlZmF1bHQoKX0sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9Z2EsYSYmIXRoaXMuaXNTaW11bGF0ZWQmJmEuc3RvcFByb3BhZ2F0aW9uKCl9LHN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBhPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkPWdhLGEmJiF0aGlzLmlzU2ltdWxhdGVkJiZhLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLHRoaXMuc3RvcFByb3BhZ2F0aW9uKCl9fSxuLmVhY2goe21vdXNlZW50ZXI6Im1vdXNlb3ZlciIsbW91c2VsZWF2ZToibW91c2VvdXQiLHBvaW50ZXJlbnRlcjoicG9pbnRlcm92ZXIiLHBvaW50ZXJsZWF2ZToicG9pbnRlcm91dCJ9LGZ1bmN0aW9uKGEsYil7bi5ldmVudC5zcGVjaWFsW2FdPXtkZWxlZ2F0ZVR5cGU6YixiaW5kVHlwZTpiLGhhbmRsZTpmdW5jdGlvbihhKXt2YXIgYyxkPXRoaXMsZT1hLnJlbGF0ZWRUYXJnZXQsZj1hLmhhbmRsZU9iajtyZXR1cm4gZSYmKGU9PT1kfHxuLmNvbnRhaW5zKGQsZSkpfHwoYS50eXBlPWYub3JpZ1R5cGUsYz1mLmhhbmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpLGEudHlwZT1iKSxjfX19KSxuLmZuLmV4dGVuZCh7b246ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIGphKHRoaXMsYSxiLGMsZCl9LG9uZTpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gamEodGhpcyxhLGIsYyxkLDEpfSxvZmY6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGU7aWYoYSYmYS5wcmV2ZW50RGVmYXVsdCYmYS5oYW5kbGVPYmopcmV0dXJuIGQ9YS5oYW5kbGVPYmosbihhLmRlbGVnYXRlVGFyZ2V0KS5vZmYoZC5uYW1lc3BhY2U/ZC5vcmlnVHlwZSsiLiIrZC5uYW1lc3BhY2U6ZC5vcmlnVHlwZSxkLnNlbGVjdG9yLGQuaGFuZGxlciksdGhpcztpZigib2JqZWN0Ij09dHlwZW9mIGEpe2ZvcihlIGluIGEpdGhpcy5vZmYoZSxiLGFbZV0pO3JldHVybiB0aGlzfXJldHVybiBiIT09ITEmJiJmdW5jdGlvbiIhPXR5cGVvZiBifHwoYz1iLGI9dm9pZCAwKSxjPT09ITEmJihjPWhhKSx0aGlzLmVhY2goZnVuY3Rpb24oKXtuLmV2ZW50LnJlbW92ZSh0aGlzLGEsYyxiKX0pfX0pO3ZhciBrYT0vPCg/IWFyZWF8YnJ8Y29sfGVtYmVkfGhyfGltZ3xpbnB1dHxsaW5rfG1ldGF8cGFyYW0pKChbXHc6LV0rKVtePl0qKVwvPi9naSxsYT0vPHNjcmlwdHw8c3R5bGV8PGxpbmsvaSxtYT0vY2hlY2tlZFxzKig/OltePV18PVxzKi5jaGVja2VkLikvaSxuYT0vXnRydWVcLyguKikvLG9hPS9eXHMqPCEoPzpcW0NEQVRBXFt8LS0pfCg/OlxdXF18LS0pPlxzKiQvZztmdW5jdGlvbiBwYShhLGIpe3JldHVybiBuLm5vZGVOYW1lKGEsInRhYmxlIikmJm4ubm9kZU5hbWUoMTEhPT1iLm5vZGVUeXBlP2I6Yi5maXJzdENoaWxkLCJ0ciIpP2EuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRib2R5IilbMF18fGEuYXBwZW5kQ2hpbGQoYS5vd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRib2R5IikpOmF9ZnVuY3Rpb24gcWEoYSl7cmV0dXJuIGEudHlwZT0obnVsbCE9PWEuZ2V0QXR0cmlidXRlKCJ0eXBlIikpKyIvIithLnR5cGUsYX1mdW5jdGlvbiByYShhKXt2YXIgYj1uYS5leGVjKGEudHlwZSk7cmV0dXJuIGI/YS50eXBlPWJbMV06YS5yZW1vdmVBdHRyaWJ1dGUoInR5cGUiKSxhfWZ1bmN0aW9uIHNhKGEsYil7dmFyIGMsZCxlLGYsZyxoLGksajtpZigxPT09Yi5ub2RlVHlwZSl7aWYoTi5oYXNEYXRhKGEpJiYoZj1OLmFjY2VzcyhhKSxnPU4uc2V0KGIsZiksaj1mLmV2ZW50cykpe2RlbGV0ZSBnLmhhbmRsZSxnLmV2ZW50cz17fTtmb3IoZSBpbiBqKWZvcihjPTAsZD1qW2VdLmxlbmd0aDtkPmM7YysrKW4uZXZlbnQuYWRkKGIsZSxqW2VdW2NdKX1PLmhhc0RhdGEoYSkmJihoPU8uYWNjZXNzKGEpLGk9bi5leHRlbmQoe30saCksTy5zZXQoYixpKSl9fWZ1bmN0aW9uIHRhKGEsYil7dmFyIGM9Yi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpOyJpbnB1dCI9PT1jJiZYLnRlc3QoYS50eXBlKT9iLmNoZWNrZWQ9YS5jaGVja2VkOiJpbnB1dCIhPT1jJiYidGV4dGFyZWEiIT09Y3x8KGIuZGVmYXVsdFZhbHVlPWEuZGVmYXVsdFZhbHVlKX1mdW5jdGlvbiB1YShhLGIsYyxkKXtiPWYuYXBwbHkoW10sYik7dmFyIGUsZyxoLGksaixrLG09MCxvPWEubGVuZ3RoLHA9by0xLHE9YlswXSxyPW4uaXNGdW5jdGlvbihxKTtpZihyfHxvPjEmJiJzdHJpbmciPT10eXBlb2YgcSYmIWwuY2hlY2tDbG9uZSYmbWEudGVzdChxKSlyZXR1cm4gYS5lYWNoKGZ1bmN0aW9uKGUpe3ZhciBmPWEuZXEoZSk7ciYmKGJbMF09cS5jYWxsKHRoaXMsZSxmLmh0bWwoKSkpLHVhKGYsYixjLGQpfSk7aWYobyYmKGU9Y2EoYixhWzBdLm93bmVyRG9jdW1lbnQsITEsYSxkKSxnPWUuZmlyc3RDaGlsZCwxPT09ZS5jaGlsZE5vZGVzLmxlbmd0aCYmKGU9ZyksZ3x8ZCkpe2ZvcihoPW4ubWFwKF8oZSwic2NyaXB0IikscWEpLGk9aC5sZW5ndGg7bz5tO20rKylqPWUsbSE9PXAmJihqPW4uY2xvbmUoaiwhMCwhMCksaSYmbi5tZXJnZShoLF8oaiwic2NyaXB0IikpKSxjLmNhbGwoYVttXSxqLG0pO2lmKGkpZm9yKGs9aFtoLmxlbmd0aC0xXS5vd25lckRvY3VtZW50LG4ubWFwKGgscmEpLG09MDtpPm07bSsrKWo9aFttXSxaLnRlc3Qoai50eXBlfHwiIikmJiFOLmFjY2VzcyhqLCJnbG9iYWxFdmFsIikmJm4uY29udGFpbnMoayxqKSYmKGouc3JjP24uX2V2YWxVcmwmJm4uX2V2YWxVcmwoai5zcmMpOm4uZ2xvYmFsRXZhbChqLnRleHRDb250ZW50LnJlcGxhY2Uob2EsIiIpKSl9cmV0dXJuIGF9ZnVuY3Rpb24gdmEoYSxiLGMpe2Zvcih2YXIgZCxlPWI/bi5maWx0ZXIoYixhKTphLGY9MDtudWxsIT0oZD1lW2ZdKTtmKyspY3x8MSE9PWQubm9kZVR5cGV8fG4uY2xlYW5EYXRhKF8oZCkpLGQucGFyZW50Tm9kZSYmKGMmJm4uY29udGFpbnMoZC5vd25lckRvY3VtZW50LGQpJiZhYShfKGQsInNjcmlwdCIpKSxkLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZCkpO3JldHVybiBhfW4uZXh0ZW5kKHtodG1sUHJlZmlsdGVyOmZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2Uoa2EsIjwkMT48LyQyPiIpfSxjbG9uZTpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmLGcsaD1hLmNsb25lTm9kZSghMCksaT1uLmNvbnRhaW5zKGEub3duZXJEb2N1bWVudCxhKTtpZighKGwubm9DbG9uZUNoZWNrZWR8fDEhPT1hLm5vZGVUeXBlJiYxMSE9PWEubm9kZVR5cGV8fG4uaXNYTUxEb2MoYSkpKWZvcihnPV8oaCksZj1fKGEpLGQ9MCxlPWYubGVuZ3RoO2U+ZDtkKyspdGEoZltkXSxnW2RdKTtpZihiKWlmKGMpZm9yKGY9Znx8XyhhKSxnPWd8fF8oaCksZD0wLGU9Zi5sZW5ndGg7ZT5kO2QrKylzYShmW2RdLGdbZF0pO2Vsc2Ugc2EoYSxoKTtyZXR1cm4gZz1fKGgsInNjcmlwdCIpLGcubGVuZ3RoPjAmJmFhKGcsIWkmJl8oYSwic2NyaXB0IikpLGh9LGNsZWFuRGF0YTpmdW5jdGlvbihhKXtmb3IodmFyIGIsYyxkLGU9bi5ldmVudC5zcGVjaWFsLGY9MDt2b2lkIDAhPT0oYz1hW2ZdKTtmKyspaWYoTChjKSl7aWYoYj1jW04uZXhwYW5kb10pe2lmKGIuZXZlbnRzKWZvcihkIGluIGIuZXZlbnRzKWVbZF0/bi5ldmVudC5yZW1vdmUoYyxkKTpuLnJlbW92ZUV2ZW50KGMsZCxiLmhhbmRsZSk7Y1tOLmV4cGFuZG9dPXZvaWQgMH1jW08uZXhwYW5kb10mJihjW08uZXhwYW5kb109dm9pZCAwKX19fSksbi5mbi5leHRlbmQoe2RvbU1hbmlwOnVhLGRldGFjaDpmdW5jdGlvbihhKXtyZXR1cm4gdmEodGhpcyxhLCEwKX0scmVtb3ZlOmZ1bmN0aW9uKGEpe3JldHVybiB2YSh0aGlzLGEpfSx0ZXh0OmZ1bmN0aW9uKGEpe3JldHVybiBLKHRoaXMsZnVuY3Rpb24oYSl7cmV0dXJuIHZvaWQgMD09PWE/bi50ZXh0KHRoaXMpOnRoaXMuZW1wdHkoKS5lYWNoKGZ1bmN0aW9uKCl7MSE9PXRoaXMubm9kZVR5cGUmJjExIT09dGhpcy5ub2RlVHlwZSYmOSE9PXRoaXMubm9kZVR5cGV8fCh0aGlzLnRleHRDb250ZW50PWEpfSl9LG51bGwsYSxhcmd1bWVudHMubGVuZ3RoKX0sYXBwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHVhKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGEpe2lmKDE9PT10aGlzLm5vZGVUeXBlfHwxMT09PXRoaXMubm9kZVR5cGV8fDk9PT10aGlzLm5vZGVUeXBlKXt2YXIgYj1wYSh0aGlzLGEpO2IuYXBwZW5kQ2hpbGQoYSl9fSl9LHByZXBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdWEodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oYSl7aWYoMT09PXRoaXMubm9kZVR5cGV8fDExPT09dGhpcy5ub2RlVHlwZXx8OT09PXRoaXMubm9kZVR5cGUpe3ZhciBiPXBhKHRoaXMsYSk7Yi5pbnNlcnRCZWZvcmUoYSxiLmZpcnN0Q2hpbGQpfX0pfSxiZWZvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gdWEodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oYSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsdGhpcyl9KX0sYWZ0ZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdWEodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oYSl7dGhpcy5wYXJlbnROb2RlJiZ0aGlzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGEsdGhpcy5uZXh0U2libGluZyl9KX0sZW1wdHk6ZnVuY3Rpb24oKXtmb3IodmFyIGEsYj0wO251bGwhPShhPXRoaXNbYl0pO2IrKykxPT09YS5ub2RlVHlwZSYmKG4uY2xlYW5EYXRhKF8oYSwhMSkpLGEudGV4dENvbnRlbnQ9IiIpO3JldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbihhLGIpe3JldHVybiBhPW51bGw9PWE/ITE6YSxiPW51bGw9PWI/YTpiLHRoaXMubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIG4uY2xvbmUodGhpcyxhLGIpfSl9LGh0bWw6ZnVuY3Rpb24oYSl7cmV0dXJuIEsodGhpcyxmdW5jdGlvbihhKXt2YXIgYj10aGlzWzBdfHx7fSxjPTAsZD10aGlzLmxlbmd0aDtpZih2b2lkIDA9PT1hJiYxPT09Yi5ub2RlVHlwZSlyZXR1cm4gYi5pbm5lckhUTUw7aWYoInN0cmluZyI9PXR5cGVvZiBhJiYhbGEudGVzdChhKSYmISRbKFkuZXhlYyhhKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKV0pe2E9bi5odG1sUHJlZmlsdGVyKGEpO3RyeXtmb3IoO2Q+YztjKyspYj10aGlzW2NdfHx7fSwxPT09Yi5ub2RlVHlwZSYmKG4uY2xlYW5EYXRhKF8oYiwhMSkpLGIuaW5uZXJIVE1MPWEpO2I9MH1jYXRjaChlKXt9fWImJnRoaXMuZW1wdHkoKS5hcHBlbmQoYSl9LG51bGwsYSxhcmd1bWVudHMubGVuZ3RoKX0scmVwbGFjZVdpdGg6ZnVuY3Rpb24oKXt2YXIgYT1bXTtyZXR1cm4gdWEodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oYil7dmFyIGM9dGhpcy5wYXJlbnROb2RlO24uaW5BcnJheSh0aGlzLGEpPDAmJihuLmNsZWFuRGF0YShfKHRoaXMpKSxjJiZjLnJlcGxhY2VDaGlsZChiLHRoaXMpKX0sYSl9fSksbi5lYWNoKHthcHBlbmRUbzoiYXBwZW5kIixwcmVwZW5kVG86InByZXBlbmQiLGluc2VydEJlZm9yZToiYmVmb3JlIixpbnNlcnRBZnRlcjoiYWZ0ZXIiLHJlcGxhY2VBbGw6InJlcGxhY2VXaXRoIn0sZnVuY3Rpb24oYSxiKXtuLmZuW2FdPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYyxkPVtdLGU9bihhKSxmPWUubGVuZ3RoLTEsaD0wO2Y+PWg7aCsrKWM9aD09PWY/dGhpczp0aGlzLmNsb25lKCEwKSxuKGVbaF0pW2JdKGMpLGcuYXBwbHkoZCxjLmdldCgpKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soZCl9fSk7dmFyIHdhLHhhPXtIVE1MOiJibG9jayIsQk9EWToiYmxvY2sifTtmdW5jdGlvbiB5YShhLGIpe3ZhciBjPW4oYi5jcmVhdGVFbGVtZW50KGEpKS5hcHBlbmRUbyhiLmJvZHkpLGQ9bi5jc3MoY1swXSwiZGlzcGxheSIpO3JldHVybiBjLmRldGFjaCgpLGR9ZnVuY3Rpb24gemEoYSl7dmFyIGI9ZCxjPXhhW2FdO3JldHVybiBjfHwoYz15YShhLGIpLCJub25lIiE9PWMmJmN8fCh3YT0od2F8fG4oIjxpZnJhbWUgZnJhbWVib3JkZXI9JzAnIHdpZHRoPScwJyBoZWlnaHQ9JzAnLz4iKSkuYXBwZW5kVG8oYi5kb2N1bWVudEVsZW1lbnQpLGI9d2FbMF0uY29udGVudERvY3VtZW50LGIud3JpdGUoKSxiLmNsb3NlKCksYz15YShhLGIpLHdhLmRldGFjaCgpKSx4YVthXT1jKSxjfXZhciBBYT0vXm1hcmdpbi8sQmE9bmV3IFJlZ0V4cCgiXigiK1MrIikoPyFweClbYS16JV0rJCIsImkiKSxDYT1mdW5jdGlvbihiKXt2YXIgYz1iLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc7cmV0dXJuIGMmJmMub3BlbmVyfHwoYz1hKSxjLmdldENvbXB1dGVkU3R5bGUoYil9LERhPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlLGYsZz17fTtmb3IoZiBpbiBiKWdbZl09YS5zdHlsZVtmXSxhLnN0eWxlW2ZdPWJbZl07ZT1jLmFwcGx5KGEsZHx8W10pO2ZvcihmIGluIGIpYS5zdHlsZVtmXT1nW2ZdO3JldHVybiBlfSxFYT1kLmRvY3VtZW50RWxlbWVudDshZnVuY3Rpb24oKXt2YXIgYixjLGUsZixnPWQuY3JlYXRlRWxlbWVudCgiZGl2IiksaD1kLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2lmKGguc3R5bGUpe2guc3R5bGUuYmFja2dyb3VuZENsaXA9ImNvbnRlbnQtYm94IixoLmNsb25lTm9kZSghMCkuc3R5bGUuYmFja2dyb3VuZENsaXA9IiIsbC5jbGVhckNsb25lU3R5bGU9ImNvbnRlbnQtYm94Ij09PWguc3R5bGUuYmFja2dyb3VuZENsaXAsZy5zdHlsZS5jc3NUZXh0PSJib3JkZXI6MDt3aWR0aDo4cHg7aGVpZ2h0OjA7dG9wOjA7bGVmdDotOTk5OXB4O3BhZGRpbmc6MDttYXJnaW4tdG9wOjFweDtwb3NpdGlvbjphYnNvbHV0ZSIsZy5hcHBlbmRDaGlsZChoKTtmdW5jdGlvbiBpKCl7aC5zdHlsZS5jc3NUZXh0PSItd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jazttYXJnaW46YXV0bztib3JkZXI6MXB4O3BhZGRpbmc6MXB4O3RvcDoxJTt3aWR0aDo1MCUiLGguaW5uZXJIVE1MPSIiLEVhLmFwcGVuZENoaWxkKGcpO3ZhciBkPWEuZ2V0Q29tcHV0ZWRTdHlsZShoKTtiPSIxJSIhPT1kLnRvcCxmPSIycHgiPT09ZC5tYXJnaW5MZWZ0LGM9IjRweCI9PT1kLndpZHRoLGguc3R5bGUubWFyZ2luUmlnaHQ9IjUwJSIsZT0iNHB4Ij09PWQubWFyZ2luUmlnaHQsRWEucmVtb3ZlQ2hpbGQoZyl9bi5leHRlbmQobCx7cGl4ZWxQb3NpdGlvbjpmdW5jdGlvbigpe3JldHVybiBpKCksYn0sYm94U2l6aW5nUmVsaWFibGU6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbD09YyYmaSgpLGN9LHBpeGVsTWFyZ2luUmlnaHQ6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbD09YyYmaSgpLGV9LHJlbGlhYmxlTWFyZ2luTGVmdDpmdW5jdGlvbigpe3JldHVybiBudWxsPT1jJiZpKCksZn0scmVsaWFibGVNYXJnaW5SaWdodDpmdW5jdGlvbigpe3ZhciBiLGM9aC5hcHBlbmRDaGlsZChkLmNyZWF0ZUVsZW1lbnQoImRpdiIpKTtyZXR1cm4gYy5zdHlsZS5jc3NUZXh0PWguc3R5bGUuY3NzVGV4dD0iLXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O2JveC1zaXppbmc6Y29udGVudC1ib3g7ZGlzcGxheTpibG9jazttYXJnaW46MDtib3JkZXI6MDtwYWRkaW5nOjAiLGMuc3R5bGUubWFyZ2luUmlnaHQ9Yy5zdHlsZS53aWR0aD0iMCIsaC5zdHlsZS53aWR0aD0iMXB4IixFYS5hcHBlbmRDaGlsZChnKSxiPSFwYXJzZUZsb2F0KGEuZ2V0Q29tcHV0ZWRTdHlsZShjKS5tYXJnaW5SaWdodCksRWEucmVtb3ZlQ2hpbGQoZyksaC5yZW1vdmVDaGlsZChjKSxifX0pfX0oKTtmdW5jdGlvbiBGYShhLGIsYyl7dmFyIGQsZSxmLGcsaD1hLnN0eWxlO3JldHVybiBjPWN8fENhKGEpLGc9Yz9jLmdldFByb3BlcnR5VmFsdWUoYil8fGNbYl06dm9pZCAwLCIiIT09ZyYmdm9pZCAwIT09Z3x8bi5jb250YWlucyhhLm93bmVyRG9jdW1lbnQsYSl8fChnPW4uc3R5bGUoYSxiKSksYyYmIWwucGl4ZWxNYXJnaW5SaWdodCgpJiZCYS50ZXN0KGcpJiZBYS50ZXN0KGIpJiYoZD1oLndpZHRoLGU9aC5taW5XaWR0aCxmPWgubWF4V2lkdGgsaC5taW5XaWR0aD1oLm1heFdpZHRoPWgud2lkdGg9ZyxnPWMud2lkdGgsaC53aWR0aD1kLGgubWluV2lkdGg9ZSxoLm1heFdpZHRoPWYpLHZvaWQgMCE9PWc/ZysiIjpnfWZ1bmN0aW9uIEdhKGEsYil7cmV0dXJue2dldDpmdW5jdGlvbigpe3JldHVybiBhKCk/dm9pZCBkZWxldGUgdGhpcy5nZXQ6KHRoaXMuZ2V0PWIpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19fXZhciBIYT0vXihub25lfHRhYmxlKD8hLWNbZWFdKS4rKS8sSWE9e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdmlzaWJpbGl0eToiaGlkZGVuIixkaXNwbGF5OiJibG9jayJ9LEphPXtsZXR0ZXJTcGFjaW5nOiIwIixmb250V2VpZ2h0OiI0MDAifSxLYT1bIldlYmtpdCIsIk8iLCJNb3oiLCJtcyJdLExhPWQuY3JlYXRlRWxlbWVudCgiZGl2Iikuc3R5bGU7ZnVuY3Rpb24gTWEoYSl7aWYoYSBpbiBMYSlyZXR1cm4gYTt2YXIgYj1hWzBdLnRvVXBwZXJDYXNlKCkrYS5zbGljZSgxKSxjPUthLmxlbmd0aDt3aGlsZShjLS0paWYoYT1LYVtjXStiLGEgaW4gTGEpcmV0dXJuIGF9ZnVuY3Rpb24gTmEoYSxiLGMpe3ZhciBkPVQuZXhlYyhiKTtyZXR1cm4gZD9NYXRoLm1heCgwLGRbMl0tKGN8fDApKSsoZFszXXx8InB4Iik6Yn1mdW5jdGlvbiBPYShhLGIsYyxkLGUpe2Zvcih2YXIgZj1jPT09KGQ/ImJvcmRlciI6ImNvbnRlbnQiKT80OiJ3aWR0aCI9PT1iPzE6MCxnPTA7ND5mO2YrPTIpIm1hcmdpbiI9PT1jJiYoZys9bi5jc3MoYSxjK1VbZl0sITAsZSkpLGQ/KCJjb250ZW50Ij09PWMmJihnLT1uLmNzcyhhLCJwYWRkaW5nIitVW2ZdLCEwLGUpKSwibWFyZ2luIiE9PWMmJihnLT1uLmNzcyhhLCJib3JkZXIiK1VbZl0rIldpZHRoIiwhMCxlKSkpOihnKz1uLmNzcyhhLCJwYWRkaW5nIitVW2ZdLCEwLGUpLCJwYWRkaW5nIiE9PWMmJihnKz1uLmNzcyhhLCJib3JkZXIiK1VbZl0rIldpZHRoIiwhMCxlKSkpO3JldHVybiBnfWZ1bmN0aW9uIFBhKGEsYixjKXt2YXIgZD0hMCxlPSJ3aWR0aCI9PT1iP2Eub2Zmc2V0V2lkdGg6YS5vZmZzZXRIZWlnaHQsZj1DYShhKSxnPSJib3JkZXItYm94Ij09PW4uY3NzKGEsImJveFNpemluZyIsITEsZik7aWYoMD49ZXx8bnVsbD09ZSl7aWYoZT1GYShhLGIsZiksKDA+ZXx8bnVsbD09ZSkmJihlPWEuc3R5bGVbYl0pLEJhLnRlc3QoZSkpcmV0dXJuIGU7ZD1nJiYobC5ib3hTaXppbmdSZWxpYWJsZSgpfHxlPT09YS5zdHlsZVtiXSksZT1wYXJzZUZsb2F0KGUpfHwwfXJldHVybiBlK09hKGEsYixjfHwoZz8iYm9yZGVyIjoiY29udGVudCIpLGQsZikrInB4In1mdW5jdGlvbiBRYShhLGIpe2Zvcih2YXIgYyxkLGUsZj1bXSxnPTAsaD1hLmxlbmd0aDtoPmc7ZysrKWQ9YVtnXSxkLnN0eWxlJiYoZltnXT1OLmdldChkLCJvbGRkaXNwbGF5IiksYz1kLnN0eWxlLmRpc3BsYXksYj8oZltnXXx8Im5vbmUiIT09Y3x8KGQuc3R5bGUuZGlzcGxheT0iIiksIiI9PT1kLnN0eWxlLmRpc3BsYXkmJlYoZCkmJihmW2ddPU4uYWNjZXNzKGQsIm9sZGRpc3BsYXkiLHphKGQubm9kZU5hbWUpKSkpOihlPVYoZCksIm5vbmUiPT09YyYmZXx8Ti5zZXQoZCwib2xkZGlzcGxheSIsZT9jOm4uY3NzKGQsImRpc3BsYXkiKSkpKTtmb3IoZz0wO2g+ZztnKyspZD1hW2ddLGQuc3R5bGUmJihiJiYibm9uZSIhPT1kLnN0eWxlLmRpc3BsYXkmJiIiIT09ZC5zdHlsZS5kaXNwbGF5fHwoZC5zdHlsZS5kaXNwbGF5PWI/ZltnXXx8IiI6Im5vbmUiKSk7cmV0dXJuIGF9bi5leHRlbmQoe2Nzc0hvb2tzOntvcGFjaXR5OntnZXQ6ZnVuY3Rpb24oYSxiKXtpZihiKXt2YXIgYz1GYShhLCJvcGFjaXR5Iik7cmV0dXJuIiI9PT1jPyIxIjpjfX19fSxjc3NOdW1iZXI6e2FuaW1hdGlvbkl0ZXJhdGlvbkNvdW50OiEwLGNvbHVtbkNvdW50OiEwLGZpbGxPcGFjaXR5OiEwLGZsZXhHcm93OiEwLGZsZXhTaHJpbms6ITAsZm9udFdlaWdodDohMCxsaW5lSGVpZ2h0OiEwLG9wYWNpdHk6ITAsb3JkZXI6ITAsb3JwaGFuczohMCx3aWRvd3M6ITAsekluZGV4OiEwLHpvb206ITB9LGNzc1Byb3BzOnsiZmxvYXQiOiJjc3NGbG9hdCJ9LHN0eWxlOmZ1bmN0aW9uKGEsYixjLGQpe2lmKGEmJjMhPT1hLm5vZGVUeXBlJiY4IT09YS5ub2RlVHlwZSYmYS5zdHlsZSl7dmFyIGUsZixnLGg9bi5jYW1lbENhc2UoYiksaT1hLnN0eWxlO3JldHVybiBiPW4uY3NzUHJvcHNbaF18fChuLmNzc1Byb3BzW2hdPU1hKGgpfHxoKSxnPW4uY3NzSG9va3NbYl18fG4uY3NzSG9va3NbaF0sdm9pZCAwPT09Yz9nJiYiZ2V0ImluIGcmJnZvaWQgMCE9PShlPWcuZ2V0KGEsITEsZCkpP2U6aVtiXTooZj10eXBlb2YgYywic3RyaW5nIj09PWYmJihlPVQuZXhlYyhjKSkmJmVbMV0mJihjPVcoYSxiLGUpLGY9Im51bWJlciIpLG51bGwhPWMmJmM9PT1jJiYoIm51bWJlciI9PT1mJiYoYys9ZSYmZVszXXx8KG4uY3NzTnVtYmVyW2hdPyIiOiJweCIpKSxsLmNsZWFyQ2xvbmVTdHlsZXx8IiIhPT1jfHwwIT09Yi5pbmRleE9mKCJiYWNrZ3JvdW5kIil8fChpW2JdPSJpbmhlcml0IiksZyYmInNldCJpbiBnJiZ2b2lkIDA9PT0oYz1nLnNldChhLGMsZCkpfHwoaVtiXT1jKSksdm9pZCAwKX19LGNzczpmdW5jdGlvbihhLGIsYyxkKXt2YXIgZSxmLGcsaD1uLmNhbWVsQ2FzZShiKTtyZXR1cm4gYj1uLmNzc1Byb3BzW2hdfHwobi5jc3NQcm9wc1toXT1NYShoKXx8aCksZz1uLmNzc0hvb2tzW2JdfHxuLmNzc0hvb2tzW2hdLGcmJiJnZXQiaW4gZyYmKGU9Zy5nZXQoYSwhMCxjKSksdm9pZCAwPT09ZSYmKGU9RmEoYSxiLGQpKSwibm9ybWFsIj09PWUmJmIgaW4gSmEmJihlPUphW2JdKSwiIj09PWN8fGM/KGY9cGFyc2VGbG9hdChlKSxjPT09ITB8fGlzRmluaXRlKGYpP2Z8fDA6ZSk6ZX19KSxuLmVhY2goWyJoZWlnaHQiLCJ3aWR0aCJdLGZ1bmN0aW9uKGEsYil7bi5jc3NIb29rc1tiXT17Z2V0OmZ1bmN0aW9uKGEsYyxkKXtyZXR1cm4gYz9IYS50ZXN0KG4uY3NzKGEsImRpc3BsYXkiKSkmJjA9PT1hLm9mZnNldFdpZHRoP0RhKGEsSWEsZnVuY3Rpb24oKXtyZXR1cm4gUGEoYSxiLGQpfSk6UGEoYSxiLGQpOnZvaWQgMH0sc2V0OmZ1bmN0aW9uKGEsYyxkKXt2YXIgZSxmPWQmJkNhKGEpLGc9ZCYmT2EoYSxiLGQsImJvcmRlci1ib3giPT09bi5jc3MoYSwiYm94U2l6aW5nIiwhMSxmKSxmKTtyZXR1cm4gZyYmKGU9VC5leGVjKGMpKSYmInB4IiE9PShlWzNdfHwicHgiKSYmKGEuc3R5bGVbYl09YyxjPW4uY3NzKGEsYikpLE5hKGEsYyxnKX19fSksbi5jc3NIb29rcy5tYXJnaW5MZWZ0PUdhKGwucmVsaWFibGVNYXJnaW5MZWZ0LGZ1bmN0aW9uKGEsYil7cmV0dXJuIGI/KHBhcnNlRmxvYXQoRmEoYSwibWFyZ2luTGVmdCIpKXx8YS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0LURhKGEse21hcmdpbkxlZnQ6MH0sZnVuY3Rpb24oKXtyZXR1cm4gYS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0fSkpKyJweCI6dm9pZCAwfSksbi5jc3NIb29rcy5tYXJnaW5SaWdodD1HYShsLnJlbGlhYmxlTWFyZ2luUmlnaHQsZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj9EYShhLHtkaXNwbGF5OiJpbmxpbmUtYmxvY2sifSxGYSxbYSwibWFyZ2luUmlnaHQiXSk6dm9pZCAwfSksbi5lYWNoKHttYXJnaW46IiIscGFkZGluZzoiIixib3JkZXI6IldpZHRoIn0sZnVuY3Rpb24oYSxiKXtuLmNzc0hvb2tzW2ErYl09e2V4cGFuZDpmdW5jdGlvbihjKXtmb3IodmFyIGQ9MCxlPXt9LGY9InN0cmluZyI9PXR5cGVvZiBjP2Muc3BsaXQoIiAiKTpbY107ND5kO2QrKyllW2ErVVtkXStiXT1mW2RdfHxmW2QtMl18fGZbMF07cmV0dXJuIGV9fSxBYS50ZXN0KGEpfHwobi5jc3NIb29rc1thK2JdLnNldD1OYSl9KSxuLmZuLmV4dGVuZCh7Y3NzOmZ1bmN0aW9uKGEsYil7cmV0dXJuIEsodGhpcyxmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmPXt9LGc9MDtpZihuLmlzQXJyYXkoYikpe2ZvcihkPUNhKGEpLGU9Yi5sZW5ndGg7ZT5nO2crKylmW2JbZ11dPW4uY3NzKGEsYltnXSwhMSxkKTtyZXR1cm4gZn1yZXR1cm4gdm9pZCAwIT09Yz9uLnN0eWxlKGEsYixjKTpuLmNzcyhhLGIpfSxhLGIsYXJndW1lbnRzLmxlbmd0aD4xKX0sc2hvdzpmdW5jdGlvbigpe3JldHVybiBRYSh0aGlzLCEwKX0saGlkZTpmdW5jdGlvbigpe3JldHVybiBRYSh0aGlzKX0sdG9nZ2xlOmZ1bmN0aW9uKGEpe3JldHVybiJib29sZWFuIj09dHlwZW9mIGE/YT90aGlzLnNob3coKTp0aGlzLmhpZGUoKTp0aGlzLmVhY2goZnVuY3Rpb24oKXtWKHRoaXMpP24odGhpcykuc2hvdygpOm4odGhpcykuaGlkZSgpfSl9fSk7ZnVuY3Rpb24gUmEoYSxiLGMsZCxlKXtyZXR1cm4gbmV3IFJhLnByb3RvdHlwZS5pbml0KGEsYixjLGQsZSl9bi5Ud2Vlbj1SYSxSYS5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOlJhLGluaXQ6ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3RoaXMuZWxlbT1hLHRoaXMucHJvcD1jLHRoaXMuZWFzaW5nPWV8fG4uZWFzaW5nLl9kZWZhdWx0LHRoaXMub3B0aW9ucz1iLHRoaXMuc3RhcnQ9dGhpcy5ub3c9dGhpcy5jdXIoKSx0aGlzLmVuZD1kLHRoaXMudW5pdD1mfHwobi5jc3NOdW1iZXJbY10/IiI6InB4Iil9LGN1cjpmdW5jdGlvbigpe3ZhciBhPVJhLnByb3BIb29rc1t0aGlzLnByb3BdO3JldHVybiBhJiZhLmdldD9hLmdldCh0aGlzKTpSYS5wcm9wSG9va3MuX2RlZmF1bHQuZ2V0KHRoaXMpfSxydW46ZnVuY3Rpb24oYSl7dmFyIGIsYz1SYS5wcm9wSG9va3NbdGhpcy5wcm9wXTtyZXR1cm4gdGhpcy5vcHRpb25zLmR1cmF0aW9uP3RoaXMucG9zPWI9bi5lYXNpbmdbdGhpcy5lYXNpbmddKGEsdGhpcy5vcHRpb25zLmR1cmF0aW9uKmEsMCwxLHRoaXMub3B0aW9ucy5kdXJhdGlvbik6dGhpcy5wb3M9Yj1hLHRoaXMubm93PSh0aGlzLmVuZC10aGlzLnN0YXJ0KSpiK3RoaXMuc3RhcnQsdGhpcy5vcHRpb25zLnN0ZXAmJnRoaXMub3B0aW9ucy5zdGVwLmNhbGwodGhpcy5lbGVtLHRoaXMubm93LHRoaXMpLGMmJmMuc2V0P2Muc2V0KHRoaXMpOlJhLnByb3BIb29rcy5fZGVmYXVsdC5zZXQodGhpcyksdGhpc319LFJhLnByb3RvdHlwZS5pbml0LnByb3RvdHlwZT1SYS5wcm90b3R5cGUsUmEucHJvcEhvb2tzPXtfZGVmYXVsdDp7Z2V0OmZ1bmN0aW9uKGEpe3ZhciBiO3JldHVybiAxIT09YS5lbGVtLm5vZGVUeXBlfHxudWxsIT1hLmVsZW1bYS5wcm9wXSYmbnVsbD09YS5lbGVtLnN0eWxlW2EucHJvcF0/YS5lbGVtW2EucHJvcF06KGI9bi5jc3MoYS5lbGVtLGEucHJvcCwiIiksYiYmImF1dG8iIT09Yj9iOjApfSxzZXQ6ZnVuY3Rpb24oYSl7bi5meC5zdGVwW2EucHJvcF0/bi5meC5zdGVwW2EucHJvcF0oYSk6MSE9PWEuZWxlbS5ub2RlVHlwZXx8bnVsbD09YS5lbGVtLnN0eWxlW24uY3NzUHJvcHNbYS5wcm9wXV0mJiFuLmNzc0hvb2tzW2EucHJvcF0/YS5lbGVtW2EucHJvcF09YS5ub3c6bi5zdHlsZShhLmVsZW0sYS5wcm9wLGEubm93K2EudW5pdCl9fX0sUmEucHJvcEhvb2tzLnNjcm9sbFRvcD1SYS5wcm9wSG9va3Muc2Nyb2xsTGVmdD17c2V0OmZ1bmN0aW9uKGEpe2EuZWxlbS5ub2RlVHlwZSYmYS5lbGVtLnBhcmVudE5vZGUmJihhLmVsZW1bYS5wcm9wXT1hLm5vdyl9fSxuLmVhc2luZz17bGluZWFyOmZ1bmN0aW9uKGEpe3JldHVybiBhfSxzd2luZzpmdW5jdGlvbihhKXtyZXR1cm4uNS1NYXRoLmNvcyhhKk1hdGguUEkpLzJ9LF9kZWZhdWx0OiJzd2luZyJ9LG4uZng9UmEucHJvdG90eXBlLmluaXQsbi5meC5zdGVwPXt9O3ZhciBTYSxUYSxVYT0vXig/OnRvZ2dsZXxzaG93fGhpZGUpJC8sVmE9L3F1ZXVlSG9va3MkLztmdW5jdGlvbiBXYSgpe3JldHVybiBhLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtTYT12b2lkIDB9KSxTYT1uLm5vdygpfWZ1bmN0aW9uIFhhKGEsYil7dmFyIGMsZD0wLGU9e2hlaWdodDphfTtmb3IoYj1iPzE6MDs0PmQ7ZCs9Mi1iKWM9VVtkXSxlWyJtYXJnaW4iK2NdPWVbInBhZGRpbmciK2NdPWE7cmV0dXJuIGImJihlLm9wYWNpdHk9ZS53aWR0aD1hKSxlfWZ1bmN0aW9uIFlhKGEsYixjKXtmb3IodmFyIGQsZT0oX2EudHdlZW5lcnNbYl18fFtdKS5jb25jYXQoX2EudHdlZW5lcnNbIioiXSksZj0wLGc9ZS5sZW5ndGg7Zz5mO2YrKylpZihkPWVbZl0uY2FsbChjLGIsYSkpcmV0dXJuIGR9ZnVuY3Rpb24gWmEoYSxiLGMpe3ZhciBkLGUsZixnLGgsaSxqLGssbD10aGlzLG09e30sbz1hLnN0eWxlLHA9YS5ub2RlVHlwZSYmVihhKSxxPU4uZ2V0KGEsImZ4c2hvdyIpO2MucXVldWV8fChoPW4uX3F1ZXVlSG9va3MoYSwiZngiKSxudWxsPT1oLnVucXVldWVkJiYoaC51bnF1ZXVlZD0wLGk9aC5lbXB0eS5maXJlLGguZW1wdHkuZmlyZT1mdW5jdGlvbigpe2gudW5xdWV1ZWR8fGkoKX0pLGgudW5xdWV1ZWQrKyxsLmFsd2F5cyhmdW5jdGlvbigpe2wuYWx3YXlzKGZ1bmN0aW9uKCl7aC51bnF1ZXVlZC0tLG4ucXVldWUoYSwiZngiKS5sZW5ndGh8fGguZW1wdHkuZmlyZSgpfSl9KSksMT09PWEubm9kZVR5cGUmJigiaGVpZ2h0ImluIGJ8fCJ3aWR0aCJpbiBiKSYmKGMub3ZlcmZsb3c9W28ub3ZlcmZsb3csby5vdmVyZmxvd1gsby5vdmVyZmxvd1ldLGo9bi5jc3MoYSwiZGlzcGxheSIpLGs9Im5vbmUiPT09aj9OLmdldChhLCJvbGRkaXNwbGF5Iil8fHphKGEubm9kZU5hbWUpOmosImlubGluZSI9PT1rJiYibm9uZSI9PT1uLmNzcyhhLCJmbG9hdCIpJiYoby5kaXNwbGF5PSJpbmxpbmUtYmxvY2siKSksYy5vdmVyZmxvdyYmKG8ub3ZlcmZsb3c9ImhpZGRlbiIsbC5hbHdheXMoZnVuY3Rpb24oKXtvLm92ZXJmbG93PWMub3ZlcmZsb3dbMF0sby5vdmVyZmxvd1g9Yy5vdmVyZmxvd1sxXSxvLm92ZXJmbG93WT1jLm92ZXJmbG93WzJdfSkpO2ZvcihkIGluIGIpaWYoZT1iW2RdLFVhLmV4ZWMoZSkpe2lmKGRlbGV0ZSBiW2RdLGY9Znx8InRvZ2dsZSI9PT1lLGU9PT0ocD8iaGlkZSI6InNob3ciKSl7aWYoInNob3ciIT09ZXx8IXF8fHZvaWQgMD09PXFbZF0pY29udGludWU7cD0hMH1tW2RdPXEmJnFbZF18fG4uc3R5bGUoYSxkKX1lbHNlIGo9dm9pZCAwO2lmKG4uaXNFbXB0eU9iamVjdChtKSkiaW5saW5lIj09PSgibm9uZSI9PT1qP3phKGEubm9kZU5hbWUpOmopJiYoby5kaXNwbGF5PWopO2Vsc2V7cT8iaGlkZGVuImluIHEmJihwPXEuaGlkZGVuKTpxPU4uYWNjZXNzKGEsImZ4c2hvdyIse30pLGYmJihxLmhpZGRlbj0hcCkscD9uKGEpLnNob3coKTpsLmRvbmUoZnVuY3Rpb24oKXtuKGEpLmhpZGUoKX0pLGwuZG9uZShmdW5jdGlvbigpe3ZhciBiO04ucmVtb3ZlKGEsImZ4c2hvdyIpO2ZvcihiIGluIG0pbi5zdHlsZShhLGIsbVtiXSl9KTtmb3IoZCBpbiBtKWc9WWEocD9xW2RdOjAsZCxsKSxkIGluIHF8fChxW2RdPWcuc3RhcnQscCYmKGcuZW5kPWcuc3RhcnQsZy5zdGFydD0id2lkdGgiPT09ZHx8ImhlaWdodCI9PT1kPzE6MCkpfX1mdW5jdGlvbiAkYShhLGIpe3ZhciBjLGQsZSxmLGc7Zm9yKGMgaW4gYSlpZihkPW4uY2FtZWxDYXNlKGMpLGU9YltkXSxmPWFbY10sbi5pc0FycmF5KGYpJiYoZT1mWzFdLGY9YVtjXT1mWzBdKSxjIT09ZCYmKGFbZF09ZixkZWxldGUgYVtjXSksZz1uLmNzc0hvb2tzW2RdLGcmJiJleHBhbmQiaW4gZyl7Zj1nLmV4cGFuZChmKSxkZWxldGUgYVtkXTtmb3IoYyBpbiBmKWMgaW4gYXx8KGFbY109ZltjXSxiW2NdPWUpfWVsc2UgYltkXT1lfWZ1bmN0aW9uIF9hKGEsYixjKXt2YXIgZCxlLGY9MCxnPV9hLnByZWZpbHRlcnMubGVuZ3RoLGg9bi5EZWZlcnJlZCgpLmFsd2F5cyhmdW5jdGlvbigpe2RlbGV0ZSBpLmVsZW19KSxpPWZ1bmN0aW9uKCl7aWYoZSlyZXR1cm4hMTtmb3IodmFyIGI9U2F8fFdhKCksYz1NYXRoLm1heCgwLGouc3RhcnRUaW1lK2ouZHVyYXRpb24tYiksZD1jL2ouZHVyYXRpb258fDAsZj0xLWQsZz0wLGk9ai50d2VlbnMubGVuZ3RoO2k+ZztnKyspai50d2VlbnNbZ10ucnVuKGYpO3JldHVybiBoLm5vdGlmeVdpdGgoYSxbaixmLGNdKSwxPmYmJmk/YzooaC5yZXNvbHZlV2l0aChhLFtqXSksITEpfSxqPWgucHJvbWlzZSh7ZWxlbTphLHByb3BzOm4uZXh0ZW5kKHt9LGIpLG9wdHM6bi5leHRlbmQoITAse3NwZWNpYWxFYXNpbmc6e30sZWFzaW5nOm4uZWFzaW5nLl9kZWZhdWx0fSxjKSxvcmlnaW5hbFByb3BlcnRpZXM6YixvcmlnaW5hbE9wdGlvbnM6YyxzdGFydFRpbWU6U2F8fFdhKCksZHVyYXRpb246Yy5kdXJhdGlvbix0d2VlbnM6W10sY3JlYXRlVHdlZW46ZnVuY3Rpb24oYixjKXt2YXIgZD1uLlR3ZWVuKGEsai5vcHRzLGIsYyxqLm9wdHMuc3BlY2lhbEVhc2luZ1tiXXx8ai5vcHRzLmVhc2luZyk7cmV0dXJuIGoudHdlZW5zLnB1c2goZCksZH0sc3RvcDpmdW5jdGlvbihiKXt2YXIgYz0wLGQ9Yj9qLnR3ZWVucy5sZW5ndGg6MDtpZihlKXJldHVybiB0aGlzO2ZvcihlPSEwO2Q+YztjKyspai50d2VlbnNbY10ucnVuKDEpO3JldHVybiBiPyhoLm5vdGlmeVdpdGgoYSxbaiwxLDBdKSxoLnJlc29sdmVXaXRoKGEsW2osYl0pKTpoLnJlamVjdFdpdGgoYSxbaixiXSksdGhpc319KSxrPWoucHJvcHM7Zm9yKCRhKGssai5vcHRzLnNwZWNpYWxFYXNpbmcpO2c+ZjtmKyspaWYoZD1fYS5wcmVmaWx0ZXJzW2ZdLmNhbGwoaixhLGssai5vcHRzKSlyZXR1cm4gbi5pc0Z1bmN0aW9uKGQuc3RvcCkmJihuLl9xdWV1ZUhvb2tzKGouZWxlbSxqLm9wdHMucXVldWUpLnN0b3A9bi5wcm94eShkLnN0b3AsZCkpLGQ7cmV0dXJuIG4ubWFwKGssWWEsaiksbi5pc0Z1bmN0aW9uKGoub3B0cy5zdGFydCkmJmoub3B0cy5zdGFydC5jYWxsKGEsaiksbi5meC50aW1lcihuLmV4dGVuZChpLHtlbGVtOmEsYW5pbTpqLHF1ZXVlOmoub3B0cy5xdWV1ZX0pKSxqLnByb2dyZXNzKGoub3B0cy5wcm9ncmVzcykuZG9uZShqLm9wdHMuZG9uZSxqLm9wdHMuY29tcGxldGUpLmZhaWwoai5vcHRzLmZhaWwpLmFsd2F5cyhqLm9wdHMuYWx3YXlzKX1uLkFuaW1hdGlvbj1uLmV4dGVuZChfYSx7dHdlZW5lcnM6eyIqIjpbZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLmNyZWF0ZVR3ZWVuKGEsYik7cmV0dXJuIFcoYy5lbGVtLGEsVC5leGVjKGIpLGMpLGN9XX0sdHdlZW5lcjpmdW5jdGlvbihhLGIpe24uaXNGdW5jdGlvbihhKT8oYj1hLGE9WyIqIl0pOmE9YS5tYXRjaChHKTtmb3IodmFyIGMsZD0wLGU9YS5sZW5ndGg7ZT5kO2QrKyljPWFbZF0sX2EudHdlZW5lcnNbY109X2EudHdlZW5lcnNbY118fFtdLF9hLnR3ZWVuZXJzW2NdLnVuc2hpZnQoYil9LHByZWZpbHRlcnM6W1phXSxwcmVmaWx0ZXI6ZnVuY3Rpb24oYSxiKXtiP19hLnByZWZpbHRlcnMudW5zaGlmdChhKTpfYS5wcmVmaWx0ZXJzLnB1c2goYSl9fSksbi5zcGVlZD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YSYmIm9iamVjdCI9PXR5cGVvZiBhP24uZXh0ZW5kKHt9LGEpOntjb21wbGV0ZTpjfHwhYyYmYnx8bi5pc0Z1bmN0aW9uKGEpJiZhLGR1cmF0aW9uOmEsZWFzaW5nOmMmJmJ8fGImJiFuLmlzRnVuY3Rpb24oYikmJmJ9O3JldHVybiBkLmR1cmF0aW9uPW4uZngub2ZmPzA6Im51bWJlciI9PXR5cGVvZiBkLmR1cmF0aW9uP2QuZHVyYXRpb246ZC5kdXJhdGlvbiBpbiBuLmZ4LnNwZWVkcz9uLmZ4LnNwZWVkc1tkLmR1cmF0aW9uXTpuLmZ4LnNwZWVkcy5fZGVmYXVsdCxudWxsIT1kLnF1ZXVlJiZkLnF1ZXVlIT09ITB8fChkLnF1ZXVlPSJmeCIpLGQub2xkPWQuY29tcGxldGUsZC5jb21wbGV0ZT1mdW5jdGlvbigpe24uaXNGdW5jdGlvbihkLm9sZCkmJmQub2xkLmNhbGwodGhpcyksZC5xdWV1ZSYmbi5kZXF1ZXVlKHRoaXMsZC5xdWV1ZSl9LGR9LG4uZm4uZXh0ZW5kKHtmYWRlVG86ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIHRoaXMuZmlsdGVyKFYpLmNzcygib3BhY2l0eSIsMCkuc2hvdygpLmVuZCgpLmFuaW1hdGUoe29wYWNpdHk6Yn0sYSxjLGQpfSxhbmltYXRlOmZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPW4uaXNFbXB0eU9iamVjdChhKSxmPW4uc3BlZWQoYixjLGQpLGc9ZnVuY3Rpb24oKXt2YXIgYj1fYSh0aGlzLG4uZXh0ZW5kKHt9LGEpLGYpOyhlfHxOLmdldCh0aGlzLCJmaW5pc2giKSkmJmIuc3RvcCghMCl9O3JldHVybiBnLmZpbmlzaD1nLGV8fGYucXVldWU9PT0hMT90aGlzLmVhY2goZyk6dGhpcy5xdWV1ZShmLnF1ZXVlLGcpfSxzdG9wOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD1mdW5jdGlvbihhKXt2YXIgYj1hLnN0b3A7ZGVsZXRlIGEuc3RvcCxiKGMpfTtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGEmJihjPWIsYj1hLGE9dm9pZCAwKSxiJiZhIT09ITEmJnRoaXMucXVldWUoYXx8ImZ4IixbXSksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGI9ITAsZT1udWxsIT1hJiZhKyJxdWV1ZUhvb2tzIixmPW4udGltZXJzLGc9Ti5nZXQodGhpcyk7aWYoZSlnW2VdJiZnW2VdLnN0b3AmJmQoZ1tlXSk7ZWxzZSBmb3IoZSBpbiBnKWdbZV0mJmdbZV0uc3RvcCYmVmEudGVzdChlKSYmZChnW2VdKTtmb3IoZT1mLmxlbmd0aDtlLS07KWZbZV0uZWxlbSE9PXRoaXN8fG51bGwhPWEmJmZbZV0ucXVldWUhPT1hfHwoZltlXS5hbmltLnN0b3AoYyksYj0hMSxmLnNwbGljZShlLDEpKTshYiYmY3x8bi5kZXF1ZXVlKHRoaXMsYSl9KX0sZmluaXNoOmZ1bmN0aW9uKGEpe3JldHVybiBhIT09ITEmJihhPWF8fCJmeCIpLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiLGM9Ti5nZXQodGhpcyksZD1jW2ErInF1ZXVlIl0sZT1jW2ErInF1ZXVlSG9va3MiXSxmPW4udGltZXJzLGc9ZD9kLmxlbmd0aDowO2ZvcihjLmZpbmlzaD0hMCxuLnF1ZXVlKHRoaXMsYSxbXSksZSYmZS5zdG9wJiZlLnN0b3AuY2FsbCh0aGlzLCEwKSxiPWYubGVuZ3RoO2ItLTspZltiXS5lbGVtPT09dGhpcyYmZltiXS5xdWV1ZT09PWEmJihmW2JdLmFuaW0uc3RvcCghMCksZi5zcGxpY2UoYiwxKSk7Zm9yKGI9MDtnPmI7YisrKWRbYl0mJmRbYl0uZmluaXNoJiZkW2JdLmZpbmlzaC5jYWxsKHRoaXMpO2RlbGV0ZSBjLmZpbmlzaH0pfX0pLG4uZWFjaChbInRvZ2dsZSIsInNob3ciLCJoaWRlIl0sZnVuY3Rpb24oYSxiKXt2YXIgYz1uLmZuW2JdO24uZm5bYl09ZnVuY3Rpb24oYSxkLGUpe3JldHVybiBudWxsPT1hfHwiYm9vbGVhbiI9PXR5cGVvZiBhP2MuYXBwbHkodGhpcyxhcmd1bWVudHMpOnRoaXMuYW5pbWF0ZShYYShiLCEwKSxhLGQsZSl9fSksbi5lYWNoKHtzbGlkZURvd246WGEoInNob3ciKSxzbGlkZVVwOlhhKCJoaWRlIiksc2xpZGVUb2dnbGU6WGEoInRvZ2dsZSIpLGZhZGVJbjp7b3BhY2l0eToic2hvdyJ9LGZhZGVPdXQ6e29wYWNpdHk6ImhpZGUifSxmYWRlVG9nZ2xlOntvcGFjaXR5OiJ0b2dnbGUifX0sZnVuY3Rpb24oYSxiKXtuLmZuW2FdPWZ1bmN0aW9uKGEsYyxkKXtyZXR1cm4gdGhpcy5hbmltYXRlKGIsYSxjLGQpfX0pLG4udGltZXJzPVtdLG4uZngudGljaz1mdW5jdGlvbigpe3ZhciBhLGI9MCxjPW4udGltZXJzO2ZvcihTYT1uLm5vdygpO2I8Yy5sZW5ndGg7YisrKWE9Y1tiXSxhKCl8fGNbYl0hPT1hfHxjLnNwbGljZShiLS0sMSk7Yy5sZW5ndGh8fG4uZnguc3RvcCgpLFNhPXZvaWQgMH0sbi5meC50aW1lcj1mdW5jdGlvbihhKXtuLnRpbWVycy5wdXNoKGEpLGEoKT9uLmZ4LnN0YXJ0KCk6bi50aW1lcnMucG9wKCl9LG4uZnguaW50ZXJ2YWw9MTMsbi5meC5zdGFydD1mdW5jdGlvbigpe1RhfHwoVGE9YS5zZXRJbnRlcnZhbChuLmZ4LnRpY2ssbi5meC5pbnRlcnZhbCkpfSxuLmZ4LnN0b3A9ZnVuY3Rpb24oKXthLmNsZWFySW50ZXJ2YWwoVGEpLFRhPW51bGx9LG4uZnguc3BlZWRzPXtzbG93OjYwMCxmYXN0OjIwMCxfZGVmYXVsdDo0MDB9LG4uZm4uZGVsYXk9ZnVuY3Rpb24oYixjKXtyZXR1cm4gYj1uLmZ4P24uZnguc3BlZWRzW2JdfHxiOmIsYz1jfHwiZngiLHRoaXMucXVldWUoYyxmdW5jdGlvbihjLGQpe3ZhciBlPWEuc2V0VGltZW91dChjLGIpO2Quc3RvcD1mdW5jdGlvbigpe2EuY2xlYXJUaW1lb3V0KGUpfX0pfSxmdW5jdGlvbigpe3ZhciBhPWQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxiPWQuY3JlYXRlRWxlbWVudCgic2VsZWN0IiksYz1iLmFwcGVuZENoaWxkKGQuY3JlYXRlRWxlbWVudCgib3B0aW9uIikpO2EudHlwZT0iY2hlY2tib3giLGwuY2hlY2tPbj0iIiE9PWEudmFsdWUsbC5vcHRTZWxlY3RlZD1jLnNlbGVjdGVkLGIuZGlzYWJsZWQ9ITAsbC5vcHREaXNhYmxlZD0hYy5kaXNhYmxlZCxhPWQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxhLnZhbHVlPSJ0IixhLnR5cGU9InJhZGlvIixsLnJhZGlvVmFsdWU9InQiPT09YS52YWx1ZX0oKTt2YXIgYWIsYmI9bi5leHByLmF0dHJIYW5kbGU7bi5mbi5leHRlbmQoe2F0dHI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gSyh0aGlzLG4uYXR0cixhLGIsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlQXR0cjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7bi5yZW1vdmVBdHRyKHRoaXMsYSl9KX19KSxuLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmPWEubm9kZVR5cGU7aWYoMyE9PWYmJjghPT1mJiYyIT09ZilyZXR1cm4idW5kZWZpbmVkIj09dHlwZW9mIGEuZ2V0QXR0cmlidXRlP24ucHJvcChhLGIsYyk6KDE9PT1mJiZuLmlzWE1MRG9jKGEpfHwoYj1iLnRvTG93ZXJDYXNlKCksZT1uLmF0dHJIb29rc1tiXXx8KG4uZXhwci5tYXRjaC5ib29sLnRlc3QoYik/YWI6dm9pZCAwKSksdm9pZCAwIT09Yz9udWxsPT09Yz92b2lkIG4ucmVtb3ZlQXR0cihhLGIpOmUmJiJzZXQiaW4gZSYmdm9pZCAwIT09KGQ9ZS5zZXQoYSxjLGIpKT9kOihhLnNldEF0dHJpYnV0ZShiLGMrIiIpLGMpOmUmJiJnZXQiaW4gZSYmbnVsbCE9PShkPWUuZ2V0KGEsYikpP2Q6KGQ9bi5maW5kLmF0dHIoYSxiKSxudWxsPT1kP3ZvaWQgMDpkKSl9LGF0dHJIb29rczp7dHlwZTp7c2V0OmZ1bmN0aW9uKGEsYil7aWYoIWwucmFkaW9WYWx1ZSYmInJhZGlvIj09PWImJm4ubm9kZU5hbWUoYSwiaW5wdXQiKSl7dmFyIGM9YS52YWx1ZTtyZXR1cm4gYS5zZXRBdHRyaWJ1dGUoInR5cGUiLGIpLGMmJihhLnZhbHVlPWMpLGJ9fX19LHJlbW92ZUF0dHI6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGU9MCxmPWImJmIubWF0Y2goRyk7aWYoZiYmMT09PWEubm9kZVR5cGUpd2hpbGUoYz1mW2UrK10pZD1uLnByb3BGaXhbY118fGMsbi5leHByLm1hdGNoLmJvb2wudGVzdChjKSYmKGFbZF09ITEpLGEucmVtb3ZlQXR0cmlidXRlKGMpfX0pLGFiPXtzZXQ6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBiPT09ITE/bi5yZW1vdmVBdHRyKGEsYyk6YS5zZXRBdHRyaWJ1dGUoYyxjKSxjfX0sbi5lYWNoKG4uZXhwci5tYXRjaC5ib29sLnNvdXJjZS5tYXRjaCgvXHcrL2cpLGZ1bmN0aW9uKGEsYil7dmFyIGM9YmJbYl18fG4uZmluZC5hdHRyO2JiW2JdPWZ1bmN0aW9uKGEsYixkKXt2YXIgZSxmO3JldHVybiBkfHwoZj1iYltiXSxiYltiXT1lLGU9bnVsbCE9YyhhLGIsZCk/Yi50b0xvd2VyQ2FzZSgpOm51bGwsYmJbYl09ZiksZX19KTt2YXIgY2I9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSxkYj0vXig/OmF8YXJlYSkkL2k7bi5mbi5leHRlbmQoe3Byb3A6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gSyh0aGlzLG4ucHJvcCxhLGIsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlUHJvcDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7ZGVsZXRlIHRoaXNbbi5wcm9wRml4W2FdfHxhXX0pfX0pLG4uZXh0ZW5kKHtwcm9wOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9YS5ub2RlVHlwZTtpZigzIT09ZiYmOCE9PWYmJjIhPT1mKXJldHVybiAxPT09ZiYmbi5pc1hNTERvYyhhKXx8KGI9bi5wcm9wRml4W2JdfHxiLGU9bi5wcm9wSG9va3NbYl0pLA0Kdm9pZCAwIT09Yz9lJiYic2V0ImluIGUmJnZvaWQgMCE9PShkPWUuc2V0KGEsYyxiKSk/ZDphW2JdPWM6ZSYmImdldCJpbiBlJiZudWxsIT09KGQ9ZS5nZXQoYSxiKSk/ZDphW2JdfSxwcm9wSG9va3M6e3RhYkluZGV4OntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9bi5maW5kLmF0dHIoYSwidGFiaW5kZXgiKTtyZXR1cm4gYj9wYXJzZUludChiLDEwKTpjYi50ZXN0KGEubm9kZU5hbWUpfHxkYi50ZXN0KGEubm9kZU5hbWUpJiZhLmhyZWY/MDotMX19fSxwcm9wRml4OnsiZm9yIjoiaHRtbEZvciIsImNsYXNzIjoiY2xhc3NOYW1lIn19KSxsLm9wdFNlbGVjdGVkfHwobi5wcm9wSG9va3Muc2VsZWN0ZWQ9e2dldDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0dXJuIGImJmIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsbnVsbH0sc2V0OmZ1bmN0aW9uKGEpe3ZhciBiPWEucGFyZW50Tm9kZTtiJiYoYi5zZWxlY3RlZEluZGV4LGIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgpfX0pLG4uZWFjaChbInRhYkluZGV4IiwicmVhZE9ubHkiLCJtYXhMZW5ndGgiLCJjZWxsU3BhY2luZyIsImNlbGxQYWRkaW5nIiwicm93U3BhbiIsImNvbFNwYW4iLCJ1c2VNYXAiLCJmcmFtZUJvcmRlciIsImNvbnRlbnRFZGl0YWJsZSJdLGZ1bmN0aW9uKCl7bi5wcm9wRml4W3RoaXMudG9Mb3dlckNhc2UoKV09dGhpc30pO3ZhciBlYj0vW1x0XHJcblxmXS9nO2Z1bmN0aW9uIGZiKGEpe3JldHVybiBhLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIifW4uZm4uZXh0ZW5kKHthZGRDbGFzczpmdW5jdGlvbihhKXt2YXIgYixjLGQsZSxmLGcsaCxpPTA7aWYobi5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7bih0aGlzKS5hZGRDbGFzcyhhLmNhbGwodGhpcyxiLGZiKHRoaXMpKSl9KTtpZigic3RyaW5nIj09dHlwZW9mIGEmJmEpe2I9YS5tYXRjaChHKXx8W107d2hpbGUoYz10aGlzW2krK10paWYoZT1mYihjKSxkPTE9PT1jLm5vZGVUeXBlJiYoIiAiK2UrIiAiKS5yZXBsYWNlKGViLCIgIikpe2c9MDt3aGlsZShmPWJbZysrXSlkLmluZGV4T2YoIiAiK2YrIiAiKTwwJiYoZCs9ZisiICIpO2g9bi50cmltKGQpLGUhPT1oJiZjLnNldEF0dHJpYnV0ZSgiY2xhc3MiLGgpfX1yZXR1cm4gdGhpc30scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGgsaT0wO2lmKG4uaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIpe24odGhpcykucmVtb3ZlQ2xhc3MoYS5jYWxsKHRoaXMsYixmYih0aGlzKSkpfSk7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHRoaXMuYXR0cigiY2xhc3MiLCIiKTtpZigic3RyaW5nIj09dHlwZW9mIGEmJmEpe2I9YS5tYXRjaChHKXx8W107d2hpbGUoYz10aGlzW2krK10paWYoZT1mYihjKSxkPTE9PT1jLm5vZGVUeXBlJiYoIiAiK2UrIiAiKS5yZXBsYWNlKGViLCIgIikpe2c9MDt3aGlsZShmPWJbZysrXSl3aGlsZShkLmluZGV4T2YoIiAiK2YrIiAiKT4tMSlkPWQucmVwbGFjZSgiICIrZisiICIsIiAiKTtoPW4udHJpbShkKSxlIT09aCYmYy5zZXRBdHRyaWJ1dGUoImNsYXNzIixoKX19cmV0dXJuIHRoaXN9LHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKGEsYil7dmFyIGM9dHlwZW9mIGE7cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgYiYmInN0cmluZyI9PT1jP2I/dGhpcy5hZGRDbGFzcyhhKTp0aGlzLnJlbW92ZUNsYXNzKGEpOm4uaXNGdW5jdGlvbihhKT90aGlzLmVhY2goZnVuY3Rpb24oYyl7bih0aGlzKS50b2dnbGVDbGFzcyhhLmNhbGwodGhpcyxjLGZiKHRoaXMpLGIpLGIpfSk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGIsZCxlLGY7aWYoInN0cmluZyI9PT1jKXtkPTAsZT1uKHRoaXMpLGY9YS5tYXRjaChHKXx8W107d2hpbGUoYj1mW2QrK10pZS5oYXNDbGFzcyhiKT9lLnJlbW92ZUNsYXNzKGIpOmUuYWRkQ2xhc3MoYil9ZWxzZSB2b2lkIDAhPT1hJiYiYm9vbGVhbiIhPT1jfHwoYj1mYih0aGlzKSxiJiZOLnNldCh0aGlzLCJfX2NsYXNzTmFtZV9fIixiKSx0aGlzLnNldEF0dHJpYnV0ZSYmdGhpcy5zZXRBdHRyaWJ1dGUoImNsYXNzIixifHxhPT09ITE/IiI6Ti5nZXQodGhpcywiX19jbGFzc05hbWVfXyIpfHwiIikpfSl9LGhhc0NsYXNzOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZD0wO2I9IiAiK2ErIiAiO3doaWxlKGM9dGhpc1tkKytdKWlmKDE9PT1jLm5vZGVUeXBlJiYoIiAiK2ZiKGMpKyIgIikucmVwbGFjZShlYiwiICIpLmluZGV4T2YoYik+LTEpcmV0dXJuITA7cmV0dXJuITF9fSk7dmFyIGdiPS9cci9nLGhiPS9bXHgyMFx0XHJcblxmXSsvZztuLmZuLmV4dGVuZCh7dmFsOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlPXRoaXNbMF07e2lmKGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQ9bi5pc0Z1bmN0aW9uKGEpLHRoaXMuZWFjaChmdW5jdGlvbihjKXt2YXIgZTsxPT09dGhpcy5ub2RlVHlwZSYmKGU9ZD9hLmNhbGwodGhpcyxjLG4odGhpcykudmFsKCkpOmEsbnVsbD09ZT9lPSIiOiJudW1iZXIiPT10eXBlb2YgZT9lKz0iIjpuLmlzQXJyYXkoZSkmJihlPW4ubWFwKGUsZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWE/IiI6YSsiIn0pKSxiPW4udmFsSG9va3NbdGhpcy50eXBlXXx8bi52YWxIb29rc1t0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLGImJiJzZXQiaW4gYiYmdm9pZCAwIT09Yi5zZXQodGhpcyxlLCJ2YWx1ZSIpfHwodGhpcy52YWx1ZT1lKSl9KTtpZihlKXJldHVybiBiPW4udmFsSG9va3NbZS50eXBlXXx8bi52YWxIb29rc1tlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLGImJiJnZXQiaW4gYiYmdm9pZCAwIT09KGM9Yi5nZXQoZSwidmFsdWUiKSk/YzooYz1lLnZhbHVlLCJzdHJpbmciPT10eXBlb2YgYz9jLnJlcGxhY2UoZ2IsIiIpOm51bGw9PWM/IiI6Yyl9fX0pLG4uZXh0ZW5kKHt2YWxIb29rczp7b3B0aW9uOntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9bi5maW5kLmF0dHIoYSwidmFsdWUiKTtyZXR1cm4gbnVsbCE9Yj9iOm4udHJpbShuLnRleHQoYSkpLnJlcGxhY2UoaGIsIiAiKX19LHNlbGVjdDp7Z2V0OmZ1bmN0aW9uKGEpe2Zvcih2YXIgYixjLGQ9YS5vcHRpb25zLGU9YS5zZWxlY3RlZEluZGV4LGY9InNlbGVjdC1vbmUiPT09YS50eXBlfHwwPmUsZz1mP251bGw6W10saD1mP2UrMTpkLmxlbmd0aCxpPTA+ZT9oOmY/ZTowO2g+aTtpKyspaWYoYz1kW2ldLChjLnNlbGVjdGVkfHxpPT09ZSkmJihsLm9wdERpc2FibGVkPyFjLmRpc2FibGVkOm51bGw9PT1jLmdldEF0dHJpYnV0ZSgiZGlzYWJsZWQiKSkmJighYy5wYXJlbnROb2RlLmRpc2FibGVkfHwhbi5ub2RlTmFtZShjLnBhcmVudE5vZGUsIm9wdGdyb3VwIikpKXtpZihiPW4oYykudmFsKCksZilyZXR1cm4gYjtnLnB1c2goYil9cmV0dXJuIGd9LHNldDpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZT1hLm9wdGlvbnMsZj1uLm1ha2VBcnJheShiKSxnPWUubGVuZ3RoO3doaWxlKGctLSlkPWVbZ10sKGQuc2VsZWN0ZWQ9bi5pbkFycmF5KG4udmFsSG9va3Mub3B0aW9uLmdldChkKSxmKT4tMSkmJihjPSEwKTtyZXR1cm4gY3x8KGEuc2VsZWN0ZWRJbmRleD0tMSksZn19fX0pLG4uZWFjaChbInJhZGlvIiwiY2hlY2tib3giXSxmdW5jdGlvbigpe24udmFsSG9va3NbdGhpc109e3NldDpmdW5jdGlvbihhLGIpe3JldHVybiBuLmlzQXJyYXkoYik/YS5jaGVja2VkPW4uaW5BcnJheShuKGEpLnZhbCgpLGIpPi0xOnZvaWQgMH19LGwuY2hlY2tPbnx8KG4udmFsSG9va3NbdGhpc10uZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiBudWxsPT09YS5nZXRBdHRyaWJ1dGUoInZhbHVlIik/Im9uIjphLnZhbHVlfSl9KTt2YXIgaWI9L14oPzpmb2N1c2luZm9jdXN8Zm9jdXNvdXRibHVyKSQvO24uZXh0ZW5kKG4uZXZlbnQse3RyaWdnZXI6ZnVuY3Rpb24oYixjLGUsZil7dmFyIGcsaCxpLGosbCxtLG8scD1bZXx8ZF0scT1rLmNhbGwoYiwidHlwZSIpP2IudHlwZTpiLHI9ay5jYWxsKGIsIm5hbWVzcGFjZSIpP2IubmFtZXNwYWNlLnNwbGl0KCIuIik6W107aWYoaD1pPWU9ZXx8ZCwzIT09ZS5ub2RlVHlwZSYmOCE9PWUubm9kZVR5cGUmJiFpYi50ZXN0KHErbi5ldmVudC50cmlnZ2VyZWQpJiYocS5pbmRleE9mKCIuIik+LTEmJihyPXEuc3BsaXQoIi4iKSxxPXIuc2hpZnQoKSxyLnNvcnQoKSksbD1xLmluZGV4T2YoIjoiKTwwJiYib24iK3EsYj1iW24uZXhwYW5kb10/YjpuZXcgbi5FdmVudChxLCJvYmplY3QiPT10eXBlb2YgYiYmYiksYi5pc1RyaWdnZXI9Zj8yOjMsYi5uYW1lc3BhY2U9ci5qb2luKCIuIiksYi5ybmFtZXNwYWNlPWIubmFtZXNwYWNlP25ldyBSZWdFeHAoIihefFxcLikiK3Iuam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIik6bnVsbCxiLnJlc3VsdD12b2lkIDAsYi50YXJnZXR8fChiLnRhcmdldD1lKSxjPW51bGw9PWM/W2JdOm4ubWFrZUFycmF5KGMsW2JdKSxvPW4uZXZlbnQuc3BlY2lhbFtxXXx8e30sZnx8IW8udHJpZ2dlcnx8by50cmlnZ2VyLmFwcGx5KGUsYykhPT0hMSkpe2lmKCFmJiYhby5ub0J1YmJsZSYmIW4uaXNXaW5kb3coZSkpe2ZvcihqPW8uZGVsZWdhdGVUeXBlfHxxLGliLnRlc3QoaitxKXx8KGg9aC5wYXJlbnROb2RlKTtoO2g9aC5wYXJlbnROb2RlKXAucHVzaChoKSxpPWg7aT09PShlLm93bmVyRG9jdW1lbnR8fGQpJiZwLnB1c2goaS5kZWZhdWx0Vmlld3x8aS5wYXJlbnRXaW5kb3d8fGEpfWc9MDt3aGlsZSgoaD1wW2crK10pJiYhYi5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKWIudHlwZT1nPjE/ajpvLmJpbmRUeXBlfHxxLG09KE4uZ2V0KGgsImV2ZW50cyIpfHx7fSlbYi50eXBlXSYmTi5nZXQoaCwiaGFuZGxlIiksbSYmbS5hcHBseShoLGMpLG09bCYmaFtsXSxtJiZtLmFwcGx5JiZMKGgpJiYoYi5yZXN1bHQ9bS5hcHBseShoLGMpLGIucmVzdWx0PT09ITEmJmIucHJldmVudERlZmF1bHQoKSk7cmV0dXJuIGIudHlwZT1xLGZ8fGIuaXNEZWZhdWx0UHJldmVudGVkKCl8fG8uX2RlZmF1bHQmJm8uX2RlZmF1bHQuYXBwbHkocC5wb3AoKSxjKSE9PSExfHwhTChlKXx8bCYmbi5pc0Z1bmN0aW9uKGVbcV0pJiYhbi5pc1dpbmRvdyhlKSYmKGk9ZVtsXSxpJiYoZVtsXT1udWxsKSxuLmV2ZW50LnRyaWdnZXJlZD1xLGVbcV0oKSxuLmV2ZW50LnRyaWdnZXJlZD12b2lkIDAsaSYmKGVbbF09aSkpLGIucmVzdWx0fX0sc2ltdWxhdGU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPW4uZXh0ZW5kKG5ldyBuLkV2ZW50LGMse3R5cGU6YSxpc1NpbXVsYXRlZDohMH0pO24uZXZlbnQudHJpZ2dlcihkLG51bGwsYil9fSksbi5mbi5leHRlbmQoe3RyaWdnZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7bi5ldmVudC50cmlnZ2VyKGEsYix0aGlzKX0pfSx0cmlnZ2VySGFuZGxlcjpmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXNbMF07cmV0dXJuIGM/bi5ldmVudC50cmlnZ2VyKGEsYixjLCEwKTp2b2lkIDB9fSksbi5lYWNoKCJibHVyIGZvY3VzIGZvY3VzaW4gZm9jdXNvdXQgbG9hZCByZXNpemUgc2Nyb2xsIHVubG9hZCBjbGljayBkYmxjbGljayBtb3VzZWRvd24gbW91c2V1cCBtb3VzZW1vdmUgbW91c2VvdmVyIG1vdXNlb3V0IG1vdXNlZW50ZXIgbW91c2VsZWF2ZSBjaGFuZ2Ugc2VsZWN0IHN1Ym1pdCBrZXlkb3duIGtleXByZXNzIGtleXVwIGVycm9yIGNvbnRleHRtZW51Ii5zcGxpdCgiICIpLGZ1bmN0aW9uKGEsYil7bi5mbltiXT1mdW5jdGlvbihhLGMpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPjA/dGhpcy5vbihiLG51bGwsYSxjKTp0aGlzLnRyaWdnZXIoYil9fSksbi5mbi5leHRlbmQoe2hvdmVyOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMubW91c2VlbnRlcihhKS5tb3VzZWxlYXZlKGJ8fGEpfX0pLGwuZm9jdXNpbj0ib25mb2N1c2luImluIGEsbC5mb2N1c2lufHxuLmVhY2goe2ZvY3VzOiJmb2N1c2luIixibHVyOiJmb2N1c291dCJ9LGZ1bmN0aW9uKGEsYil7dmFyIGM9ZnVuY3Rpb24oYSl7bi5ldmVudC5zaW11bGF0ZShiLGEudGFyZ2V0LG4uZXZlbnQuZml4KGEpKX07bi5ldmVudC5zcGVjaWFsW2JdPXtzZXR1cDpmdW5jdGlvbigpe3ZhciBkPXRoaXMub3duZXJEb2N1bWVudHx8dGhpcyxlPU4uYWNjZXNzKGQsYik7ZXx8ZC5hZGRFdmVudExpc3RlbmVyKGEsYywhMCksTi5hY2Nlc3MoZCxiLChlfHwwKSsxKX0sdGVhcmRvd246ZnVuY3Rpb24oKXt2YXIgZD10aGlzLm93bmVyRG9jdW1lbnR8fHRoaXMsZT1OLmFjY2VzcyhkLGIpLTE7ZT9OLmFjY2VzcyhkLGIsZSk6KGQucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGMsITApLE4ucmVtb3ZlKGQsYikpfX19KTt2YXIgamI9YS5sb2NhdGlvbixrYj1uLm5vdygpLGxiPS9cPy87bi5wYXJzZUpTT049ZnVuY3Rpb24oYSl7cmV0dXJuIEpTT04ucGFyc2UoYSsiIil9LG4ucGFyc2VYTUw9ZnVuY3Rpb24oYil7dmFyIGM7aWYoIWJ8fCJzdHJpbmciIT10eXBlb2YgYilyZXR1cm4gbnVsbDt0cnl7Yz0obmV3IGEuRE9NUGFyc2VyKS5wYXJzZUZyb21TdHJpbmcoYiwidGV4dC94bWwiKX1jYXRjaChkKXtjPXZvaWQgMH1yZXR1cm4gYyYmIWMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInBhcnNlcmVycm9yIikubGVuZ3RofHxuLmVycm9yKCJJbnZhbGlkIFhNTDogIitiKSxjfTt2YXIgbWI9LyMuKiQvLG5iPS8oWz8mXSlfPVteJl0qLyxvYj0vXiguKj8pOlsgXHRdKihbXlxyXG5dKikkL2dtLHBiPS9eKD86YWJvdXR8YXBwfGFwcC1zdG9yYWdlfC4rLWV4dGVuc2lvbnxmaWxlfHJlc3x3aWRnZXQpOiQvLHFiPS9eKD86R0VUfEhFQUQpJC8scmI9L15cL1wvLyxzYj17fSx0Yj17fSx1Yj0iKi8iLmNvbmNhdCgiKiIpLHZiPWQuY3JlYXRlRWxlbWVudCgiYSIpO3ZiLmhyZWY9amIuaHJlZjtmdW5jdGlvbiB3YihhKXtyZXR1cm4gZnVuY3Rpb24oYixjKXsic3RyaW5nIiE9dHlwZW9mIGImJihjPWIsYj0iKiIpO3ZhciBkLGU9MCxmPWIudG9Mb3dlckNhc2UoKS5tYXRjaChHKXx8W107aWYobi5pc0Z1bmN0aW9uKGMpKXdoaWxlKGQ9ZltlKytdKSIrIj09PWRbMF0/KGQ9ZC5zbGljZSgxKXx8IioiLChhW2RdPWFbZF18fFtdKS51bnNoaWZ0KGMpKTooYVtkXT1hW2RdfHxbXSkucHVzaChjKX19ZnVuY3Rpb24geGIoYSxiLGMsZCl7dmFyIGU9e30sZj1hPT09dGI7ZnVuY3Rpb24gZyhoKXt2YXIgaTtyZXR1cm4gZVtoXT0hMCxuLmVhY2goYVtoXXx8W10sZnVuY3Rpb24oYSxoKXt2YXIgaj1oKGIsYyxkKTtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGp8fGZ8fGVbal0/Zj8hKGk9aik6dm9pZCAwOihiLmRhdGFUeXBlcy51bnNoaWZ0KGopLGcoaiksITEpfSksaX1yZXR1cm4gZyhiLmRhdGFUeXBlc1swXSl8fCFlWyIqIl0mJmcoIioiKX1mdW5jdGlvbiB5YihhLGIpe3ZhciBjLGQsZT1uLmFqYXhTZXR0aW5ncy5mbGF0T3B0aW9uc3x8e307Zm9yKGMgaW4gYil2b2lkIDAhPT1iW2NdJiYoKGVbY10/YTpkfHwoZD17fSkpW2NdPWJbY10pO3JldHVybiBkJiZuLmV4dGVuZCghMCxhLGQpLGF9ZnVuY3Rpb24gemIoYSxiLGMpe3ZhciBkLGUsZixnLGg9YS5jb250ZW50cyxpPWEuZGF0YVR5cGVzO3doaWxlKCIqIj09PWlbMF0paS5zaGlmdCgpLHZvaWQgMD09PWQmJihkPWEubWltZVR5cGV8fGIuZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHlwZSIpKTtpZihkKWZvcihlIGluIGgpaWYoaFtlXSYmaFtlXS50ZXN0KGQpKXtpLnVuc2hpZnQoZSk7YnJlYWt9aWYoaVswXWluIGMpZj1pWzBdO2Vsc2V7Zm9yKGUgaW4gYyl7aWYoIWlbMF18fGEuY29udmVydGVyc1tlKyIgIitpWzBdXSl7Zj1lO2JyZWFrfWd8fChnPWUpfWY9Znx8Z31yZXR1cm4gZj8oZiE9PWlbMF0mJmkudW5zaGlmdChmKSxjW2ZdKTp2b2lkIDB9ZnVuY3Rpb24gQWIoYSxiLGMsZCl7dmFyIGUsZixnLGgsaSxqPXt9LGs9YS5kYXRhVHlwZXMuc2xpY2UoKTtpZihrWzFdKWZvcihnIGluIGEuY29udmVydGVycylqW2cudG9Mb3dlckNhc2UoKV09YS5jb252ZXJ0ZXJzW2ddO2Y9ay5zaGlmdCgpO3doaWxlKGYpaWYoYS5yZXNwb25zZUZpZWxkc1tmXSYmKGNbYS5yZXNwb25zZUZpZWxkc1tmXV09YiksIWkmJmQmJmEuZGF0YUZpbHRlciYmKGI9YS5kYXRhRmlsdGVyKGIsYS5kYXRhVHlwZSkpLGk9ZixmPWsuc2hpZnQoKSlpZigiKiI9PT1mKWY9aTtlbHNlIGlmKCIqIiE9PWkmJmkhPT1mKXtpZihnPWpbaSsiICIrZl18fGpbIiogIitmXSwhZylmb3IoZSBpbiBqKWlmKGg9ZS5zcGxpdCgiICIpLGhbMV09PT1mJiYoZz1qW2krIiAiK2hbMF1dfHxqWyIqICIraFswXV0pKXtnPT09ITA/Zz1qW2VdOmpbZV0hPT0hMCYmKGY9aFswXSxrLnVuc2hpZnQoaFsxXSkpO2JyZWFrfWlmKGchPT0hMClpZihnJiZhWyJ0aHJvd3MiXSliPWcoYik7ZWxzZSB0cnl7Yj1nKGIpfWNhdGNoKGwpe3JldHVybntzdGF0ZToicGFyc2VyZXJyb3IiLGVycm9yOmc/bDoiTm8gY29udmVyc2lvbiBmcm9tICIraSsiIHRvICIrZn19fXJldHVybntzdGF0ZToic3VjY2VzcyIsZGF0YTpifX1uLmV4dGVuZCh7YWN0aXZlOjAsbGFzdE1vZGlmaWVkOnt9LGV0YWc6e30sYWpheFNldHRpbmdzOnt1cmw6amIuaHJlZix0eXBlOiJHRVQiLGlzTG9jYWw6cGIudGVzdChqYi5wcm90b2NvbCksZ2xvYmFsOiEwLHByb2Nlc3NEYXRhOiEwLGFzeW5jOiEwLGNvbnRlbnRUeXBlOiJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9VVRGLTgiLGFjY2VwdHM6eyIqIjp1Yix0ZXh0OiJ0ZXh0L3BsYWluIixodG1sOiJ0ZXh0L2h0bWwiLHhtbDoiYXBwbGljYXRpb24veG1sLCB0ZXh0L3htbCIsanNvbjoiYXBwbGljYXRpb24vanNvbiwgdGV4dC9qYXZhc2NyaXB0In0sY29udGVudHM6e3htbDovXGJ4bWxcYi8saHRtbDovXGJodG1sLyxqc29uOi9cYmpzb25cYi99LHJlc3BvbnNlRmllbGRzOnt4bWw6InJlc3BvbnNlWE1MIix0ZXh0OiJyZXNwb25zZVRleHQiLGpzb246InJlc3BvbnNlSlNPTiJ9LGNvbnZlcnRlcnM6eyIqIHRleHQiOlN0cmluZywidGV4dCBodG1sIjohMCwidGV4dCBqc29uIjpuLnBhcnNlSlNPTiwidGV4dCB4bWwiOm4ucGFyc2VYTUx9LGZsYXRPcHRpb25zOnt1cmw6ITAsY29udGV4dDohMH19LGFqYXhTZXR1cDpmdW5jdGlvbihhLGIpe3JldHVybiBiP3liKHliKGEsbi5hamF4U2V0dGluZ3MpLGIpOnliKG4uYWpheFNldHRpbmdzLGEpfSxhamF4UHJlZmlsdGVyOndiKHNiKSxhamF4VHJhbnNwb3J0OndiKHRiKSxhamF4OmZ1bmN0aW9uKGIsYyl7Im9iamVjdCI9PXR5cGVvZiBiJiYoYz1iLGI9dm9pZCAwKSxjPWN8fHt9O3ZhciBlLGYsZyxoLGksaixrLGwsbT1uLmFqYXhTZXR1cCh7fSxjKSxvPW0uY29udGV4dHx8bSxwPW0uY29udGV4dCYmKG8ubm9kZVR5cGV8fG8uanF1ZXJ5KT9uKG8pOm4uZXZlbnQscT1uLkRlZmVycmVkKCkscj1uLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSxzPW0uc3RhdHVzQ29kZXx8e30sdD17fSx1PXt9LHY9MCx3PSJjYW5jZWxlZCIseD17cmVhZHlTdGF0ZTowLGdldFJlc3BvbnNlSGVhZGVyOmZ1bmN0aW9uKGEpe3ZhciBiO2lmKDI9PT12KXtpZighaCl7aD17fTt3aGlsZShiPW9iLmV4ZWMoZykpaFtiWzFdLnRvTG93ZXJDYXNlKCldPWJbMl19Yj1oW2EudG9Mb3dlckNhc2UoKV19cmV0dXJuIG51bGw9PWI/bnVsbDpifSxnZXRBbGxSZXNwb25zZUhlYWRlcnM6ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXY/ZzpudWxsfSxzZXRSZXF1ZXN0SGVhZGVyOmZ1bmN0aW9uKGEsYil7dmFyIGM9YS50b0xvd2VyQ2FzZSgpO3JldHVybiB2fHwoYT11W2NdPXVbY118fGEsdFthXT1iKSx0aGlzfSxvdmVycmlkZU1pbWVUeXBlOmZ1bmN0aW9uKGEpe3JldHVybiB2fHwobS5taW1lVHlwZT1hKSx0aGlzfSxzdGF0dXNDb2RlOmZ1bmN0aW9uKGEpe3ZhciBiO2lmKGEpaWYoMj52KWZvcihiIGluIGEpc1tiXT1bc1tiXSxhW2JdXTtlbHNlIHguYWx3YXlzKGFbeC5zdGF0dXNdKTtyZXR1cm4gdGhpc30sYWJvcnQ6ZnVuY3Rpb24oYSl7dmFyIGI9YXx8dztyZXR1cm4gZSYmZS5hYm9ydChiKSx6KDAsYiksdGhpc319O2lmKHEucHJvbWlzZSh4KS5jb21wbGV0ZT1yLmFkZCx4LnN1Y2Nlc3M9eC5kb25lLHguZXJyb3I9eC5mYWlsLG0udXJsPSgoYnx8bS51cmx8fGpiLmhyZWYpKyIiKS5yZXBsYWNlKG1iLCIiKS5yZXBsYWNlKHJiLGpiLnByb3RvY29sKyIvLyIpLG0udHlwZT1jLm1ldGhvZHx8Yy50eXBlfHxtLm1ldGhvZHx8bS50eXBlLG0uZGF0YVR5cGVzPW4udHJpbShtLmRhdGFUeXBlfHwiKiIpLnRvTG93ZXJDYXNlKCkubWF0Y2goRyl8fFsiIl0sbnVsbD09bS5jcm9zc0RvbWFpbil7aj1kLmNyZWF0ZUVsZW1lbnQoImEiKTt0cnl7ai5ocmVmPW0udXJsLGouaHJlZj1qLmhyZWYsbS5jcm9zc0RvbWFpbj12Yi5wcm90b2NvbCsiLy8iK3ZiLmhvc3QhPWoucHJvdG9jb2wrIi8vIitqLmhvc3R9Y2F0Y2goeSl7bS5jcm9zc0RvbWFpbj0hMH19aWYobS5kYXRhJiZtLnByb2Nlc3NEYXRhJiYic3RyaW5nIiE9dHlwZW9mIG0uZGF0YSYmKG0uZGF0YT1uLnBhcmFtKG0uZGF0YSxtLnRyYWRpdGlvbmFsKSkseGIoc2IsbSxjLHgpLDI9PT12KXJldHVybiB4O2s9bi5ldmVudCYmbS5nbG9iYWwsayYmMD09PW4uYWN0aXZlKysmJm4uZXZlbnQudHJpZ2dlcigiYWpheFN0YXJ0IiksbS50eXBlPW0udHlwZS50b1VwcGVyQ2FzZSgpLG0uaGFzQ29udGVudD0hcWIudGVzdChtLnR5cGUpLGY9bS51cmwsbS5oYXNDb250ZW50fHwobS5kYXRhJiYoZj1tLnVybCs9KGxiLnRlc3QoZik/IiYiOiI/IikrbS5kYXRhLGRlbGV0ZSBtLmRhdGEpLG0uY2FjaGU9PT0hMSYmKG0udXJsPW5iLnRlc3QoZik/Zi5yZXBsYWNlKG5iLCIkMV89IitrYisrKTpmKyhsYi50ZXN0KGYpPyImIjoiPyIpKyJfPSIra2IrKykpLG0uaWZNb2RpZmllZCYmKG4ubGFzdE1vZGlmaWVkW2ZdJiZ4LnNldFJlcXVlc3RIZWFkZXIoIklmLU1vZGlmaWVkLVNpbmNlIixuLmxhc3RNb2RpZmllZFtmXSksbi5ldGFnW2ZdJiZ4LnNldFJlcXVlc3RIZWFkZXIoIklmLU5vbmUtTWF0Y2giLG4uZXRhZ1tmXSkpLChtLmRhdGEmJm0uaGFzQ29udGVudCYmbS5jb250ZW50VHlwZSE9PSExfHxjLmNvbnRlbnRUeXBlKSYmeC5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLG0uY29udGVudFR5cGUpLHguc2V0UmVxdWVzdEhlYWRlcigiQWNjZXB0IixtLmRhdGFUeXBlc1swXSYmbS5hY2NlcHRzW20uZGF0YVR5cGVzWzBdXT9tLmFjY2VwdHNbbS5kYXRhVHlwZXNbMF1dKygiKiIhPT1tLmRhdGFUeXBlc1swXT8iLCAiK3ViKyI7IHE9MC4wMSI6IiIpOm0uYWNjZXB0c1siKiJdKTtmb3IobCBpbiBtLmhlYWRlcnMpeC5zZXRSZXF1ZXN0SGVhZGVyKGwsbS5oZWFkZXJzW2xdKTtpZihtLmJlZm9yZVNlbmQmJihtLmJlZm9yZVNlbmQuY2FsbChvLHgsbSk9PT0hMXx8Mj09PXYpKXJldHVybiB4LmFib3J0KCk7dz0iYWJvcnQiO2ZvcihsIGlue3N1Y2Nlc3M6MSxlcnJvcjoxLGNvbXBsZXRlOjF9KXhbbF0obVtsXSk7aWYoZT14Yih0YixtLGMseCkpe2lmKHgucmVhZHlTdGF0ZT0xLGsmJnAudHJpZ2dlcigiYWpheFNlbmQiLFt4LG1dKSwyPT09dilyZXR1cm4geDttLmFzeW5jJiZtLnRpbWVvdXQ+MCYmKGk9YS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7eC5hYm9ydCgidGltZW91dCIpfSxtLnRpbWVvdXQpKTt0cnl7dj0xLGUuc2VuZCh0LHopfWNhdGNoKHkpe2lmKCEoMj52KSl0aHJvdyB5O3ooLTEseSl9fWVsc2UgeigtMSwiTm8gVHJhbnNwb3J0Iik7ZnVuY3Rpb24geihiLGMsZCxoKXt2YXIgaixsLHQsdSx3LHk9YzsyIT09diYmKHY9MixpJiZhLmNsZWFyVGltZW91dChpKSxlPXZvaWQgMCxnPWh8fCIiLHgucmVhZHlTdGF0ZT1iPjA/NDowLGo9Yj49MjAwJiYzMDA+Ynx8MzA0PT09YixkJiYodT16YihtLHgsZCkpLHU9QWIobSx1LHgsaiksaj8obS5pZk1vZGlmaWVkJiYodz14LmdldFJlc3BvbnNlSGVhZGVyKCJMYXN0LU1vZGlmaWVkIiksdyYmKG4ubGFzdE1vZGlmaWVkW2ZdPXcpLHc9eC5nZXRSZXNwb25zZUhlYWRlcigiZXRhZyIpLHcmJihuLmV0YWdbZl09dykpLDIwND09PWJ8fCJIRUFEIj09PW0udHlwZT95PSJub2NvbnRlbnQiOjMwND09PWI/eT0ibm90bW9kaWZpZWQiOih5PXUuc3RhdGUsbD11LmRhdGEsdD11LmVycm9yLGo9IXQpKToodD15LCFiJiZ5fHwoeT0iZXJyb3IiLDA+YiYmKGI9MCkpKSx4LnN0YXR1cz1iLHguc3RhdHVzVGV4dD0oY3x8eSkrIiIsaj9xLnJlc29sdmVXaXRoKG8sW2wseSx4XSk6cS5yZWplY3RXaXRoKG8sW3gseSx0XSkseC5zdGF0dXNDb2RlKHMpLHM9dm9pZCAwLGsmJnAudHJpZ2dlcihqPyJhamF4U3VjY2VzcyI6ImFqYXhFcnJvciIsW3gsbSxqP2w6dF0pLHIuZmlyZVdpdGgobyxbeCx5XSksayYmKHAudHJpZ2dlcigiYWpheENvbXBsZXRlIixbeCxtXSksLS1uLmFjdGl2ZXx8bi5ldmVudC50cmlnZ2VyKCJhamF4U3RvcCIpKSl9cmV0dXJuIHh9LGdldEpTT046ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBuLmdldChhLGIsYywianNvbiIpfSxnZXRTY3JpcHQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbi5nZXQoYSx2b2lkIDAsYiwic2NyaXB0Iil9fSksbi5lYWNoKFsiZ2V0IiwicG9zdCJdLGZ1bmN0aW9uKGEsYil7bltiXT1mdW5jdGlvbihhLGMsZCxlKXtyZXR1cm4gbi5pc0Z1bmN0aW9uKGMpJiYoZT1lfHxkLGQ9YyxjPXZvaWQgMCksbi5hamF4KG4uZXh0ZW5kKHt1cmw6YSx0eXBlOmIsZGF0YVR5cGU6ZSxkYXRhOmMsc3VjY2VzczpkfSxuLmlzUGxhaW5PYmplY3QoYSkmJmEpKX19KSxuLl9ldmFsVXJsPWZ1bmN0aW9uKGEpe3JldHVybiBuLmFqYXgoe3VybDphLHR5cGU6IkdFVCIsZGF0YVR5cGU6InNjcmlwdCIsYXN5bmM6ITEsZ2xvYmFsOiExLCJ0aHJvd3MiOiEwfSl9LG4uZm4uZXh0ZW5kKHt3cmFwQWxsOmZ1bmN0aW9uKGEpe3ZhciBiO3JldHVybiBuLmlzRnVuY3Rpb24oYSk/dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe24odGhpcykud3JhcEFsbChhLmNhbGwodGhpcyxiKSl9KToodGhpc1swXSYmKGI9bihhLHRoaXNbMF0ub3duZXJEb2N1bWVudCkuZXEoMCkuY2xvbmUoITApLHRoaXNbMF0ucGFyZW50Tm9kZSYmYi5pbnNlcnRCZWZvcmUodGhpc1swXSksYi5tYXAoZnVuY3Rpb24oKXt2YXIgYT10aGlzO3doaWxlKGEuZmlyc3RFbGVtZW50Q2hpbGQpYT1hLmZpcnN0RWxlbWVudENoaWxkO3JldHVybiBhfSkuYXBwZW5kKHRoaXMpKSx0aGlzKX0sd3JhcElubmVyOmZ1bmN0aW9uKGEpe3JldHVybiBuLmlzRnVuY3Rpb24oYSk/dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe24odGhpcykud3JhcElubmVyKGEuY2FsbCh0aGlzLGIpKX0pOnRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPW4odGhpcyksYz1iLmNvbnRlbnRzKCk7Yy5sZW5ndGg/Yy53cmFwQWxsKGEpOmIuYXBwZW5kKGEpfSl9LHdyYXA6ZnVuY3Rpb24oYSl7dmFyIGI9bi5pc0Z1bmN0aW9uKGEpO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYyl7bih0aGlzKS53cmFwQWxsKGI/YS5jYWxsKHRoaXMsYyk6YSl9KX0sdW53cmFwOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50KCkuZWFjaChmdW5jdGlvbigpe24ubm9kZU5hbWUodGhpcywiYm9keSIpfHxuKHRoaXMpLnJlcGxhY2VXaXRoKHRoaXMuY2hpbGROb2Rlcyl9KS5lbmQoKX19KSxuLmV4cHIuZmlsdGVycy5oaWRkZW49ZnVuY3Rpb24oYSl7cmV0dXJuIW4uZXhwci5maWx0ZXJzLnZpc2libGUoYSl9LG4uZXhwci5maWx0ZXJzLnZpc2libGU9ZnVuY3Rpb24oYSl7cmV0dXJuIGEub2Zmc2V0V2lkdGg+MHx8YS5vZmZzZXRIZWlnaHQ+MHx8YS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aD4wfTt2YXIgQmI9LyUyMC9nLENiPS9cW1xdJC8sRGI9L1xyP1xuL2csRWI9L14oPzpzdWJtaXR8YnV0dG9ufGltYWdlfHJlc2V0fGZpbGUpJC9pLEZiPS9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGtleWdlbikvaTtmdW5jdGlvbiBHYihhLGIsYyxkKXt2YXIgZTtpZihuLmlzQXJyYXkoYikpbi5lYWNoKGIsZnVuY3Rpb24oYixlKXtjfHxDYi50ZXN0KGEpP2QoYSxlKTpHYihhKyJbIisoIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT1lP2I6IiIpKyJdIixlLGMsZCl9KTtlbHNlIGlmKGN8fCJvYmplY3QiIT09bi50eXBlKGIpKWQoYSxiKTtlbHNlIGZvcihlIGluIGIpR2IoYSsiWyIrZSsiXSIsYltlXSxjLGQpfW4ucGFyYW09ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPVtdLGU9ZnVuY3Rpb24oYSxiKXtiPW4uaXNGdW5jdGlvbihiKT9iKCk6bnVsbD09Yj8iIjpiLGRbZC5sZW5ndGhdPWVuY29kZVVSSUNvbXBvbmVudChhKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGIpfTtpZih2b2lkIDA9PT1iJiYoYj1uLmFqYXhTZXR0aW5ncyYmbi5hamF4U2V0dGluZ3MudHJhZGl0aW9uYWwpLG4uaXNBcnJheShhKXx8YS5qcXVlcnkmJiFuLmlzUGxhaW5PYmplY3QoYSkpbi5lYWNoKGEsZnVuY3Rpb24oKXtlKHRoaXMubmFtZSx0aGlzLnZhbHVlKX0pO2Vsc2UgZm9yKGMgaW4gYSlHYihjLGFbY10sYixlKTtyZXR1cm4gZC5qb2luKCImIikucmVwbGFjZShCYiwiKyIpfSxuLmZuLmV4dGVuZCh7c2VyaWFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIG4ucGFyYW0odGhpcy5zZXJpYWxpemVBcnJheSgpKX0sc2VyaWFsaXplQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXt2YXIgYT1uLnByb3AodGhpcywiZWxlbWVudHMiKTtyZXR1cm4gYT9uLm1ha2VBcnJheShhKTp0aGlzfSkuZmlsdGVyKGZ1bmN0aW9uKCl7dmFyIGE9dGhpcy50eXBlO3JldHVybiB0aGlzLm5hbWUmJiFuKHRoaXMpLmlzKCI6ZGlzYWJsZWQiKSYmRmIudGVzdCh0aGlzLm5vZGVOYW1lKSYmIUViLnRlc3QoYSkmJih0aGlzLmNoZWNrZWR8fCFYLnRlc3QoYSkpfSkubWFwKGZ1bmN0aW9uKGEsYil7dmFyIGM9bih0aGlzKS52YWwoKTtyZXR1cm4gbnVsbD09Yz9udWxsOm4uaXNBcnJheShjKT9uLm1hcChjLGZ1bmN0aW9uKGEpe3JldHVybntuYW1lOmIubmFtZSx2YWx1ZTphLnJlcGxhY2UoRGIsIlxyXG4iKX19KTp7bmFtZTpiLm5hbWUsdmFsdWU6Yy5yZXBsYWNlKERiLCJcclxuIil9fSkuZ2V0KCl9fSksbi5hamF4U2V0dGluZ3MueGhyPWZ1bmN0aW9uKCl7dHJ5e3JldHVybiBuZXcgYS5YTUxIdHRwUmVxdWVzdH1jYXRjaChiKXt9fTt2YXIgSGI9ezA6MjAwLDEyMjM6MjA0fSxJYj1uLmFqYXhTZXR0aW5ncy54aHIoKTtsLmNvcnM9ISFJYiYmIndpdGhDcmVkZW50aWFscyJpbiBJYixsLmFqYXg9SWI9ISFJYixuLmFqYXhUcmFuc3BvcnQoZnVuY3Rpb24oYil7dmFyIGMsZDtyZXR1cm4gbC5jb3JzfHxJYiYmIWIuY3Jvc3NEb21haW4/e3NlbmQ6ZnVuY3Rpb24oZSxmKXt2YXIgZyxoPWIueGhyKCk7aWYoaC5vcGVuKGIudHlwZSxiLnVybCxiLmFzeW5jLGIudXNlcm5hbWUsYi5wYXNzd29yZCksYi54aHJGaWVsZHMpZm9yKGcgaW4gYi54aHJGaWVsZHMpaFtnXT1iLnhockZpZWxkc1tnXTtiLm1pbWVUeXBlJiZoLm92ZXJyaWRlTWltZVR5cGUmJmgub3ZlcnJpZGVNaW1lVHlwZShiLm1pbWVUeXBlKSxiLmNyb3NzRG9tYWlufHxlWyJYLVJlcXVlc3RlZC1XaXRoIl18fChlWyJYLVJlcXVlc3RlZC1XaXRoIl09IlhNTEh0dHBSZXF1ZXN0Iik7Zm9yKGcgaW4gZSloLnNldFJlcXVlc3RIZWFkZXIoZyxlW2ddKTtjPWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbigpe2MmJihjPWQ9aC5vbmxvYWQ9aC5vbmVycm9yPWgub25hYm9ydD1oLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLCJhYm9ydCI9PT1hP2guYWJvcnQoKToiZXJyb3IiPT09YT8ibnVtYmVyIiE9dHlwZW9mIGguc3RhdHVzP2YoMCwiZXJyb3IiKTpmKGguc3RhdHVzLGguc3RhdHVzVGV4dCk6ZihIYltoLnN0YXR1c118fGguc3RhdHVzLGguc3RhdHVzVGV4dCwidGV4dCIhPT0oaC5yZXNwb25zZVR5cGV8fCJ0ZXh0Iil8fCJzdHJpbmciIT10eXBlb2YgaC5yZXNwb25zZVRleHQ/e2JpbmFyeTpoLnJlc3BvbnNlfTp7dGV4dDpoLnJlc3BvbnNlVGV4dH0saC5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSkpfX0saC5vbmxvYWQ9YygpLGQ9aC5vbmVycm9yPWMoImVycm9yIiksdm9pZCAwIT09aC5vbmFib3J0P2gub25hYm9ydD1kOmgub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7ND09PWgucmVhZHlTdGF0ZSYmYS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YyYmZCgpfSl9LGM9YygiYWJvcnQiKTt0cnl7aC5zZW5kKGIuaGFzQ29udGVudCYmYi5kYXRhfHxudWxsKX1jYXRjaChpKXtpZihjKXRocm93IGl9fSxhYm9ydDpmdW5jdGlvbigpe2MmJmMoKX19OnZvaWQgMH0pLG4uYWpheFNldHVwKHthY2NlcHRzOntzY3JpcHQ6InRleHQvamF2YXNjcmlwdCwgYXBwbGljYXRpb24vamF2YXNjcmlwdCwgYXBwbGljYXRpb24vZWNtYXNjcmlwdCwgYXBwbGljYXRpb24veC1lY21hc2NyaXB0In0sY29udGVudHM6e3NjcmlwdDovXGIoPzpqYXZhfGVjbWEpc2NyaXB0XGIvfSxjb252ZXJ0ZXJzOnsidGV4dCBzY3JpcHQiOmZ1bmN0aW9uKGEpe3JldHVybiBuLmdsb2JhbEV2YWwoYSksYX19fSksbi5hamF4UHJlZmlsdGVyKCJzY3JpcHQiLGZ1bmN0aW9uKGEpe3ZvaWQgMD09PWEuY2FjaGUmJihhLmNhY2hlPSExKSxhLmNyb3NzRG9tYWluJiYoYS50eXBlPSJHRVQiKX0pLG4uYWpheFRyYW5zcG9ydCgic2NyaXB0IixmdW5jdGlvbihhKXtpZihhLmNyb3NzRG9tYWluKXt2YXIgYixjO3JldHVybntzZW5kOmZ1bmN0aW9uKGUsZil7Yj1uKCI8c2NyaXB0PiIpLnByb3Aoe2NoYXJzZXQ6YS5zY3JpcHRDaGFyc2V0LHNyYzphLnVybH0pLm9uKCJsb2FkIGVycm9yIixjPWZ1bmN0aW9uKGEpe2IucmVtb3ZlKCksYz1udWxsLGEmJmYoImVycm9yIj09PWEudHlwZT80MDQ6MjAwLGEudHlwZSl9KSxkLmhlYWQuYXBwZW5kQ2hpbGQoYlswXSl9LGFib3J0OmZ1bmN0aW9uKCl7YyYmYygpfX19fSk7dmFyIEpiPVtdLEtiPS8oPSlcPyg/PSZ8JCl8XD9cPy87bi5hamF4U2V0dXAoe2pzb25wOiJjYWxsYmFjayIsanNvbnBDYWxsYmFjazpmdW5jdGlvbigpe3ZhciBhPUpiLnBvcCgpfHxuLmV4cGFuZG8rIl8iK2tiKys7cmV0dXJuIHRoaXNbYV09ITAsYX19KSxuLmFqYXhQcmVmaWx0ZXIoImpzb24ganNvbnAiLGZ1bmN0aW9uKGIsYyxkKXt2YXIgZSxmLGcsaD1iLmpzb25wIT09ITEmJihLYi50ZXN0KGIudXJsKT8idXJsIjoic3RyaW5nIj09dHlwZW9mIGIuZGF0YSYmMD09PShiLmNvbnRlbnRUeXBlfHwiIikuaW5kZXhPZigiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIikmJktiLnRlc3QoYi5kYXRhKSYmImRhdGEiKTtyZXR1cm4gaHx8Impzb25wIj09PWIuZGF0YVR5cGVzWzBdPyhlPWIuanNvbnBDYWxsYmFjaz1uLmlzRnVuY3Rpb24oYi5qc29ucENhbGxiYWNrKT9iLmpzb25wQ2FsbGJhY2soKTpiLmpzb25wQ2FsbGJhY2ssaD9iW2hdPWJbaF0ucmVwbGFjZShLYiwiJDEiK2UpOmIuanNvbnAhPT0hMSYmKGIudXJsKz0obGIudGVzdChiLnVybCk/IiYiOiI/IikrYi5qc29ucCsiPSIrZSksYi5jb252ZXJ0ZXJzWyJzY3JpcHQganNvbiJdPWZ1bmN0aW9uKCl7cmV0dXJuIGd8fG4uZXJyb3IoZSsiIHdhcyBub3QgY2FsbGVkIiksZ1swXX0sYi5kYXRhVHlwZXNbMF09Impzb24iLGY9YVtlXSxhW2VdPWZ1bmN0aW9uKCl7Zz1hcmd1bWVudHN9LGQuYWx3YXlzKGZ1bmN0aW9uKCl7dm9pZCAwPT09Zj9uKGEpLnJlbW92ZVByb3AoZSk6YVtlXT1mLGJbZV0mJihiLmpzb25wQ2FsbGJhY2s9Yy5qc29ucENhbGxiYWNrLEpiLnB1c2goZSkpLGcmJm4uaXNGdW5jdGlvbihmKSYmZihnWzBdKSxnPWY9dm9pZCAwfSksInNjcmlwdCIpOnZvaWQgMH0pLG4ucGFyc2VIVE1MPWZ1bmN0aW9uKGEsYixjKXtpZighYXx8InN0cmluZyIhPXR5cGVvZiBhKXJldHVybiBudWxsOyJib29sZWFuIj09dHlwZW9mIGImJihjPWIsYj0hMSksYj1ifHxkO3ZhciBlPXguZXhlYyhhKSxmPSFjJiZbXTtyZXR1cm4gZT9bYi5jcmVhdGVFbGVtZW50KGVbMV0pXTooZT1jYShbYV0sYixmKSxmJiZmLmxlbmd0aCYmbihmKS5yZW1vdmUoKSxuLm1lcmdlKFtdLGUuY2hpbGROb2RlcykpfTt2YXIgTGI9bi5mbi5sb2FkO24uZm4ubG9hZD1mdW5jdGlvbihhLGIsYyl7aWYoInN0cmluZyIhPXR5cGVvZiBhJiZMYilyZXR1cm4gTGIuYXBwbHkodGhpcyxhcmd1bWVudHMpO3ZhciBkLGUsZixnPXRoaXMsaD1hLmluZGV4T2YoIiAiKTtyZXR1cm4gaD4tMSYmKGQ9bi50cmltKGEuc2xpY2UoaCkpLGE9YS5zbGljZSgwLGgpKSxuLmlzRnVuY3Rpb24oYik/KGM9YixiPXZvaWQgMCk6YiYmIm9iamVjdCI9PXR5cGVvZiBiJiYoZT0iUE9TVCIpLGcubGVuZ3RoPjAmJm4uYWpheCh7dXJsOmEsdHlwZTplfHwiR0VUIixkYXRhVHlwZToiaHRtbCIsZGF0YTpifSkuZG9uZShmdW5jdGlvbihhKXtmPWFyZ3VtZW50cyxnLmh0bWwoZD9uKCI8ZGl2PiIpLmFwcGVuZChuLnBhcnNlSFRNTChhKSkuZmluZChkKTphKX0pLmFsd2F5cyhjJiZmdW5jdGlvbihhLGIpe2cuZWFjaChmdW5jdGlvbigpe2MuYXBwbHkodGhpcyxmfHxbYS5yZXNwb25zZVRleHQsYixhXSl9KX0pLHRoaXN9LG4uZWFjaChbImFqYXhTdGFydCIsImFqYXhTdG9wIiwiYWpheENvbXBsZXRlIiwiYWpheEVycm9yIiwiYWpheFN1Y2Nlc3MiLCJhamF4U2VuZCJdLGZ1bmN0aW9uKGEsYil7bi5mbltiXT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5vbihiLGEpfX0pLG4uZXhwci5maWx0ZXJzLmFuaW1hdGVkPWZ1bmN0aW9uKGEpe3JldHVybiBuLmdyZXAobi50aW1lcnMsZnVuY3Rpb24oYil7cmV0dXJuIGE9PT1iLmVsZW19KS5sZW5ndGh9O2Z1bmN0aW9uIE1iKGEpe3JldHVybiBuLmlzV2luZG93KGEpP2E6OT09PWEubm9kZVR5cGUmJmEuZGVmYXVsdFZpZXd9bi5vZmZzZXQ9e3NldE9mZnNldDpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmLGcsaCxpLGosaz1uLmNzcyhhLCJwb3NpdGlvbiIpLGw9bihhKSxtPXt9OyJzdGF0aWMiPT09ayYmKGEuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIiksaD1sLm9mZnNldCgpLGY9bi5jc3MoYSwidG9wIiksaT1uLmNzcyhhLCJsZWZ0Iiksaj0oImFic29sdXRlIj09PWt8fCJmaXhlZCI9PT1rKSYmKGYraSkuaW5kZXhPZigiYXV0byIpPi0xLGo/KGQ9bC5wb3NpdGlvbigpLGc9ZC50b3AsZT1kLmxlZnQpOihnPXBhcnNlRmxvYXQoZil8fDAsZT1wYXJzZUZsb2F0KGkpfHwwKSxuLmlzRnVuY3Rpb24oYikmJihiPWIuY2FsbChhLGMsbi5leHRlbmQoe30saCkpKSxudWxsIT1iLnRvcCYmKG0udG9wPWIudG9wLWgudG9wK2cpLG51bGwhPWIubGVmdCYmKG0ubGVmdD1iLmxlZnQtaC5sZWZ0K2UpLCJ1c2luZyJpbiBiP2IudXNpbmcuY2FsbChhLG0pOmwuY3NzKG0pfX0sbi5mbi5leHRlbmQoe29mZnNldDpmdW5jdGlvbihhKXtpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiB2b2lkIDA9PT1hP3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe24ub2Zmc2V0LnNldE9mZnNldCh0aGlzLGEsYil9KTt2YXIgYixjLGQ9dGhpc1swXSxlPXt0b3A6MCxsZWZ0OjB9LGY9ZCYmZC5vd25lckRvY3VtZW50O2lmKGYpcmV0dXJuIGI9Zi5kb2N1bWVudEVsZW1lbnQsbi5jb250YWlucyhiLGQpPyhlPWQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksYz1NYihmKSx7dG9wOmUudG9wK2MucGFnZVlPZmZzZXQtYi5jbGllbnRUb3AsbGVmdDplLmxlZnQrYy5wYWdlWE9mZnNldC1iLmNsaWVudExlZnR9KTplfSxwb3NpdGlvbjpmdW5jdGlvbigpe2lmKHRoaXNbMF0pe3ZhciBhLGIsYz10aGlzWzBdLGQ9e3RvcDowLGxlZnQ6MH07cmV0dXJuImZpeGVkIj09PW4uY3NzKGMsInBvc2l0aW9uIik/Yj1jLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOihhPXRoaXMub2Zmc2V0UGFyZW50KCksYj10aGlzLm9mZnNldCgpLG4ubm9kZU5hbWUoYVswXSwiaHRtbCIpfHwoZD1hLm9mZnNldCgpKSxkLnRvcCs9bi5jc3MoYVswXSwiYm9yZGVyVG9wV2lkdGgiLCEwKSxkLmxlZnQrPW4uY3NzKGFbMF0sImJvcmRlckxlZnRXaWR0aCIsITApKSx7dG9wOmIudG9wLWQudG9wLW4uY3NzKGMsIm1hcmdpblRvcCIsITApLGxlZnQ6Yi5sZWZ0LWQubGVmdC1uLmNzcyhjLCJtYXJnaW5MZWZ0IiwhMCl9fX0sb2Zmc2V0UGFyZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vZmZzZXRQYXJlbnQ7d2hpbGUoYSYmInN0YXRpYyI9PT1uLmNzcyhhLCJwb3NpdGlvbiIpKWE9YS5vZmZzZXRQYXJlbnQ7cmV0dXJuIGF8fEVhfSl9fSksbi5lYWNoKHtzY3JvbGxMZWZ0OiJwYWdlWE9mZnNldCIsc2Nyb2xsVG9wOiJwYWdlWU9mZnNldCJ9LGZ1bmN0aW9uKGEsYil7dmFyIGM9InBhZ2VZT2Zmc2V0Ij09PWI7bi5mblthXT1mdW5jdGlvbihkKXtyZXR1cm4gSyh0aGlzLGZ1bmN0aW9uKGEsZCxlKXt2YXIgZj1NYihhKTtyZXR1cm4gdm9pZCAwPT09ZT9mP2ZbYl06YVtkXTp2b2lkKGY/Zi5zY3JvbGxUbyhjP2YucGFnZVhPZmZzZXQ6ZSxjP2U6Zi5wYWdlWU9mZnNldCk6YVtkXT1lKX0sYSxkLGFyZ3VtZW50cy5sZW5ndGgpfX0pLG4uZWFjaChbInRvcCIsImxlZnQiXSxmdW5jdGlvbihhLGIpe24uY3NzSG9va3NbYl09R2EobC5waXhlbFBvc2l0aW9uLGZ1bmN0aW9uKGEsYyl7cmV0dXJuIGM/KGM9RmEoYSxiKSxCYS50ZXN0KGMpP24oYSkucG9zaXRpb24oKVtiXSsicHgiOmMpOnZvaWQgMH0pfSksbi5lYWNoKHtIZWlnaHQ6ImhlaWdodCIsV2lkdGg6IndpZHRoIn0sZnVuY3Rpb24oYSxiKXtuLmVhY2goe3BhZGRpbmc6ImlubmVyIithLGNvbnRlbnQ6YiwiIjoib3V0ZXIiK2F9LGZ1bmN0aW9uKGMsZCl7bi5mbltkXT1mdW5jdGlvbihkLGUpe3ZhciBmPWFyZ3VtZW50cy5sZW5ndGgmJihjfHwiYm9vbGVhbiIhPXR5cGVvZiBkKSxnPWN8fChkPT09ITB8fGU9PT0hMD8ibWFyZ2luIjoiYm9yZGVyIik7cmV0dXJuIEsodGhpcyxmdW5jdGlvbihiLGMsZCl7dmFyIGU7cmV0dXJuIG4uaXNXaW5kb3coYik/Yi5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnRbImNsaWVudCIrYV06OT09PWIubm9kZVR5cGU/KGU9Yi5kb2N1bWVudEVsZW1lbnQsTWF0aC5tYXgoYi5ib2R5WyJzY3JvbGwiK2FdLGVbInNjcm9sbCIrYV0sYi5ib2R5WyJvZmZzZXQiK2FdLGVbIm9mZnNldCIrYV0sZVsiY2xpZW50IithXSkpOnZvaWQgMD09PWQ/bi5jc3MoYixjLGcpOm4uc3R5bGUoYixjLGQsZyl9LGIsZj9kOnZvaWQgMCxmLG51bGwpfX0pfSksbi5mbi5leHRlbmQoe2JpbmQ6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB0aGlzLm9uKGEsbnVsbCxiLGMpfSx1bmJpbmQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5vZmYoYSxudWxsLGIpfSxkZWxlZ2F0ZTpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5vbihiLGEsYyxkKX0sdW5kZWxlZ2F0ZTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP3RoaXMub2ZmKGEsIioqIik6dGhpcy5vZmYoYixhfHwiKioiLGMpfSxzaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGVuZ3RofX0pLG4uZm4uYW5kU2VsZj1uLmZuLmFkZEJhY2ssImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZCYmZGVmaW5lKCJqcXVlcnkiLFtdLGZ1bmN0aW9uKCl7cmV0dXJuIG59KTt2YXIgTmI9YS5qUXVlcnksT2I9YS4kO3JldHVybiBuLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oYil7cmV0dXJuIGEuJD09PW4mJihhLiQ9T2IpLGImJmEualF1ZXJ5PT09biYmKGEualF1ZXJ5PU5iKSxufSxifHwoYS5qUXVlcnk9YS4kPW4pLG59KTs="}},"time_used":34,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":27,"receive":7,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/js/widget.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.608Z","timestamp":1785123231608,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /js/widget.js HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Wed, 22 Apr 2026 17:27:37 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 66017\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":208839,"size_decoded":66341,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (32034)","md5":"df575bc616bea3142f70a780e2b9cf31","sha1":"4e260c27385c932a000c3b9d62ae0b1c3a6b153a","sha256":"ec7e2a41be92b6a9406e6b1ce0a778258c7cb5727563c7c30732e412bce31136","sha512":"0a3c8232ed1e7ae87af9f0f80b6997db16a9248438b84a8dd5da524589bc70f9064b2751214d438b5438084579b39143288b9a5f2c9c7f87306dfb6566a3fb2e","ssdeep":"3072:aT59ZiEOcCc9/7x34NYD8OumJH5G/+Gzhq:Y59gEOcCoh4NVmJA/+Cq","tlshash":"e0141bcdb192f06247a721b4006f460bf279285d640e4898f268e8e9bd7cd5e617bf7c","first_seen":"2024-12-04T10:10:15.812801Z","last_seen":"2026-07-27T05:05:33.682021Z","times_seen":19,"resource_available":true,"data":"IWZ1bmN0aW9uIHQoZSxuLGkpe2Z1bmN0aW9uIHIocyxhKXtpZighbltzXSl7aWYoIWVbc10pe3ZhciBsPSJmdW5jdGlvbiI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlO2lmKCFhJiZsKXJldHVybiBsKHMsITApO2lmKG8pcmV0dXJuIG8ocywhMCk7dmFyIHU9bmV3IEVycm9yKCJDYW5ub3QgZmluZCBtb2R1bGUgJyIrcysiJyIpO3Rocm93IHUuY29kZT0iTU9EVUxFX05PVF9GT1VORCIsdX12YXIgYz1uW3NdPXtleHBvcnRzOnt9fTtlW3NdWzBdLmNhbGwoYy5leHBvcnRzLGZ1bmN0aW9uKHQpe3ZhciBuPWVbc11bMV1bdF07cmV0dXJuIHIobj9uOnQpfSxjLGMuZXhwb3J0cyx0LGUsbixpKX1yZXR1cm4gbltzXS5leHBvcnRzfWZvcih2YXIgbz0iZnVuY3Rpb24iPT10eXBlb2YgcmVxdWlyZSYmcmVxdWlyZSxzPTA7czxpLmxlbmd0aDtzKyspcihpW3NdKTtyZXR1cm4gcn0oezE6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiBpKCl7Yz0hMSxhLmxlbmd0aD91PWEuY29uY2F0KHUpOmg9LTEsdS5sZW5ndGgmJnIoKX1mdW5jdGlvbiByKCl7aWYoIWMpe3ZhciB0PXNldFRpbWVvdXQoaSk7Yz0hMDtmb3IodmFyIGU9dS5sZW5ndGg7ZTspe2ZvcihhPXUsdT1bXTsrK2g8ZTspYSYmYVtoXS5ydW4oKTtoPS0xLGU9dS5sZW5ndGh9YT1udWxsLGM9ITEsY2xlYXJUaW1lb3V0KHQpfX1mdW5jdGlvbiBvKHQsZSl7dGhpcy5mdW49dCx0aGlzLmFycmF5PWV9ZnVuY3Rpb24gcygpe312YXIgYSxsPWUuZXhwb3J0cz17fSx1PVtdLGM9ITEsaD0tMTtsLm5leHRUaWNrPWZ1bmN0aW9uKHQpe3ZhciBlPW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoLTEpO2lmKGFyZ3VtZW50cy5sZW5ndGg+MSlmb3IodmFyIG49MTtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKWVbbi0xXT1hcmd1bWVudHNbbl07dS5wdXNoKG5ldyBvKHQsZSkpLDEhPT11Lmxlbmd0aHx8Y3x8c2V0VGltZW91dChyLDApfSxvLnByb3RvdHlwZS5ydW49ZnVuY3Rpb24oKXt0aGlzLmZ1bi5hcHBseShudWxsLHRoaXMuYXJyYXkpfSxsLnRpdGxlPSJicm93c2VyIixsLmJyb3dzZXI9ITAsbC5lbnY9e30sbC5hcmd2PVtdLGwudmVyc2lvbj0iIixsLnZlcnNpb25zPXt9LGwub249cyxsLmFkZExpc3RlbmVyPXMsbC5vbmNlPXMsbC5vZmY9cyxsLnJlbW92ZUxpc3RlbmVyPXMsbC5yZW1vdmVBbGxMaXN0ZW5lcnM9cyxsLmVtaXQ9cyxsLmJpbmRpbmc9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKCJwcm9jZXNzLmJpbmRpbmcgaXMgbm90IHN1cHBvcnRlZCIpfSxsLmN3ZD1mdW5jdGlvbigpe3JldHVybiIvIn0sbC5jaGRpcj1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoInByb2Nlc3MuY2hkaXIgaXMgbm90IHN1cHBvcnRlZCIpfSxsLnVtYXNrPWZ1bmN0aW9uKCl7cmV0dXJuIDB9fSx7fV0sMjpbZnVuY3Rpb24odCxlLG4peyhmdW5jdGlvbih0KXshZnVuY3Rpb24oaSl7ZnVuY3Rpb24gcih0KXt0aHJvdyBSYW5nZUVycm9yKEFbdF0pfWZ1bmN0aW9uIG8odCxlKXtmb3IodmFyIG49dC5sZW5ndGgsaT1bXTtuLS07KWlbbl09ZSh0W25dKTtyZXR1cm4gaX1mdW5jdGlvbiBzKHQsZSl7dmFyIG49dC5zcGxpdCgiQCIpLGk9IiI7bi5sZW5ndGg+MSYmKGk9blswXSsiQCIsdD1uWzFdKSx0PXQucmVwbGFjZShPLCIuIik7dmFyIHI9dC5zcGxpdCgiLiIpLHM9byhyLGUpLmpvaW4oIi4iKTtyZXR1cm4gaStzfWZ1bmN0aW9uIGEodCl7Zm9yKHZhciBlLG4saT1bXSxyPTAsbz10Lmxlbmd0aDtyPG87KWU9dC5jaGFyQ29kZUF0KHIrKyksZT49NTUyOTYmJmU8PTU2MzE5JiZyPG8/KG49dC5jaGFyQ29kZUF0KHIrKyksNTYzMjA9PSg2NDUxMiZuKT9pLnB1c2goKCgxMDIzJmUpPDwxMCkrKDEwMjMmbikrNjU1MzYpOihpLnB1c2goZSksci0tKSk6aS5wdXNoKGUpO3JldHVybiBpfWZ1bmN0aW9uIGwodCl7cmV0dXJuIG8odCxmdW5jdGlvbih0KXt2YXIgZT0iIjtyZXR1cm4gdD42NTUzNSYmKHQtPTY1NTM2LGUrPVkodD4+PjEwJjEwMjN8NTUyOTYpLHQ9NTYzMjB8MTAyMyZ0KSxlKz1ZKHQpfSkuam9pbigiIil9ZnVuY3Rpb24gdSh0KXtyZXR1cm4gdC00ODwxMD90LTIyOnQtNjU8MjY/dC02NTp0LTk3PDI2P3QtOTc6X31mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIHQrMjIrNzUqKHQ8MjYpLSgoMCE9ZSk8PDUpfWZ1bmN0aW9uIGgodCxlLG4pe3ZhciBpPTA7Zm9yKHQ9bj9MKHQvQyk6dD4+MSx0Kz1MKHQvZSk7dD5QKlM+PjE7aSs9Xyl0PUwodC9QKTtyZXR1cm4gTChpKyhQKzEpKnQvKHQrVCkpfWZ1bmN0aW9uIGQodCl7dmFyIGUsbixpLG8scyxhLGMsZCxmLHAsbT1bXSxnPXQubGVuZ3RoLHk9MCx2PU0sdz1EO2ZvcihuPXQubGFzdEluZGV4T2YoTiksbjwwJiYobj0wKSxpPTA7aTxuOysraSl0LmNoYXJDb2RlQXQoaSk+PTEyOCYmcigibm90LWJhc2ljIiksbS5wdXNoKHQuY2hhckNvZGVBdChpKSk7Zm9yKG89bj4wP24rMTowO288Zzspe2ZvcihzPXksYT0xLGM9XztvPj1nJiZyKCJpbnZhbGlkLWlucHV0IiksZD11KHQuY2hhckNvZGVBdChvKyspKSwoZD49X3x8ZD5MKCh4LXkpL2EpKSYmcigib3ZlcmZsb3ciKSx5Kz1kKmEsZj1jPD13P2s6Yz49dytTP1M6Yy13LCEoZDxmKTtjKz1fKXA9Xy1mLGE+TCh4L3ApJiZyKCJvdmVyZmxvdyIpLGEqPXA7ZT1tLmxlbmd0aCsxLHc9aCh5LXMsZSwwPT1zKSxMKHkvZSk+eC12JiZyKCJvdmVyZmxvdyIpLHYrPUwoeS9lKSx5JT1lLG0uc3BsaWNlKHkrKywwLHYpfXJldHVybiBsKG0pfWZ1bmN0aW9uIGYodCl7dmFyIGUsbixpLG8scyxsLHUsZCxmLHAsbSxnLHksdix3LGI9W107Zm9yKHQ9YSh0KSxnPXQubGVuZ3RoLGU9TSxuPTAscz1ELGw9MDtsPGc7KytsKW09dFtsXSxtPDEyOCYmYi5wdXNoKFkobSkpO2ZvcihpPW89Yi5sZW5ndGgsbyYmYi5wdXNoKE4pO2k8Zzspe2Zvcih1PXgsbD0wO2w8ZzsrK2wpbT10W2xdLG0+PWUmJm08dSYmKHU9bSk7Zm9yKHk9aSsxLHUtZT5MKCh4LW4pL3kpJiZyKCJvdmVyZmxvdyIpLG4rPSh1LWUpKnksZT11LGw9MDtsPGc7KytsKWlmKG09dFtsXSxtPGUmJisrbj54JiZyKCJvdmVyZmxvdyIpLG09PWUpe2ZvcihkPW4sZj1fO3A9Zjw9cz9rOmY+PXMrUz9TOmYtcywhKGQ8cCk7Zis9Xyl3PWQtcCx2PV8tcCxiLnB1c2goWShjKHArdyV2LDApKSksZD1MKHcvdik7Yi5wdXNoKFkoYyhkLDApKSkscz1oKG4seSxpPT1vKSxuPTAsKytpfSsrbiwrK2V9cmV0dXJuIGIuam9pbigiIil9ZnVuY3Rpb24gcCh0KXtyZXR1cm4gcyh0LGZ1bmN0aW9uKHQpe3JldHVybiBqLnRlc3QodCk/ZCh0LnNsaWNlKDQpLnRvTG93ZXJDYXNlKCkpOnR9KX1mdW5jdGlvbiBtKHQpe3JldHVybiBzKHQsZnVuY3Rpb24odCl7cmV0dXJuIEUudGVzdCh0KT8ieG4tLSIrZih0KTp0fSl9dmFyIGc9Im9iamVjdCI9PXR5cGVvZiBuJiZuJiYhbi5ub2RlVHlwZSYmbix5PSJvYmplY3QiPT10eXBlb2YgZSYmZSYmIWUubm9kZVR5cGUmJmUsdj0ib2JqZWN0Ij09dHlwZW9mIHQmJnQ7di5nbG9iYWwhPT12JiZ2LndpbmRvdyE9PXYmJnYuc2VsZiE9PXZ8fChpPXYpO3ZhciB3LGIseD0yMTQ3NDgzNjQ3LF89MzYsaz0xLFM9MjYsVD0zOCxDPTcwMCxEPTcyLE09MTI4LE49Ii0iLGo9L154bi0tLyxFPS9bXlx4MjAtXHg3RV0vLE89L1tceDJFXHUzMDAyXHVGRjBFXHVGRjYxXS9nLEE9e292ZXJmbG93OiJPdmVyZmxvdzogaW5wdXQgbmVlZHMgd2lkZXIgaW50ZWdlcnMgdG8gcHJvY2VzcyIsIm5vdC1iYXNpYyI6IklsbGVnYWwgaW5wdXQgPj0gMHg4MCAobm90IGEgYmFzaWMgY29kZSBwb2ludCkiLCJpbnZhbGlkLWlucHV0IjoiSW52YWxpZCBpbnB1dCJ9LFA9Xy1rLEw9TWF0aC5mbG9vcixZPVN0cmluZy5mcm9tQ2hhckNvZGU7aWYodz17dmVyc2lvbjoiMS4zLjIiLHVjczI6e2RlY29kZTphLGVuY29kZTpsfSxkZWNvZGU6ZCxlbmNvZGU6Zix0b0FTQ0lJOm0sdG9Vbmljb2RlOnB9LCJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJiJvYmplY3QiPT10eXBlb2YgZGVmaW5lLmFtZCYmZGVmaW5lLmFtZClkZWZpbmUoInB1bnljb2RlIixmdW5jdGlvbigpe3JldHVybiB3fSk7ZWxzZSBpZihnJiZ5KWlmKGUuZXhwb3J0cz09Zyl5LmV4cG9ydHM9dztlbHNlIGZvcihiIGluIHcpdy5oYXNPd25Qcm9wZXJ0eShiKSYmKGdbYl09d1tiXSk7ZWxzZSBpLnB1bnljb2RlPXd9KHRoaXMpfSkuY2FsbCh0aGlzLCJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsP2dsb2JhbDoidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGY/c2VsZjoidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6e30pfSx7fV0sMzpbZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKHQsZSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGUpfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUsbixvKXtlPWV8fCImIixuPW58fCI9Ijt2YXIgcz17fTtpZigic3RyaW5nIiE9dHlwZW9mIHR8fDA9PT10Lmxlbmd0aClyZXR1cm4gczt2YXIgYT0vXCsvZzt0PXQuc3BsaXQoZSk7dmFyIGw9MWUzO28mJiJudW1iZXIiPT10eXBlb2Ygby5tYXhLZXlzJiYobD1vLm1heEtleXMpO3ZhciB1PXQubGVuZ3RoO2w+MCYmdT5sJiYodT1sKTtmb3IodmFyIGM9MDtjPHU7KytjKXt2YXIgaCxkLGYscCxtPXRbY10ucmVwbGFjZShhLCIlMjAiKSxnPW0uaW5kZXhPZihuKTtnPj0wPyhoPW0uc3Vic3RyKDAsZyksZD1tLnN1YnN0cihnKzEpKTooaD1tLGQ9IiIpLGY9ZGVjb2RlVVJJQ29tcG9uZW50KGgpLHA9ZGVjb2RlVVJJQ29tcG9uZW50KGQpLGkocyxmKT9yKHNbZl0pP3NbZl0ucHVzaChwKTpzW2ZdPVtzW2ZdLHBdOnNbZl09cH1yZXR1cm4gc307dmFyIHI9QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24odCl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX19LHt9XSw0OltmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkodCxlKXtpZih0Lm1hcClyZXR1cm4gdC5tYXAoZSk7Zm9yKHZhciBuPVtdLGk9MDtpPHQubGVuZ3RoO2krKyluLnB1c2goZSh0W2ldLGkpKTtyZXR1cm4gbn12YXIgcj1mdW5jdGlvbih0KXtzd2l0Y2godHlwZW9mIHQpe2Nhc2Uic3RyaW5nIjpyZXR1cm4gdDtjYXNlImJvb2xlYW4iOnJldHVybiB0PyJ0cnVlIjoiZmFsc2UiO2Nhc2UibnVtYmVyIjpyZXR1cm4gaXNGaW5pdGUodCk/dDoiIjtkZWZhdWx0OnJldHVybiIifX07ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxuLGEpe3JldHVybiBlPWV8fCImIixuPW58fCI9IixudWxsPT09dCYmKHQ9dm9pZCAwKSwib2JqZWN0Ij09dHlwZW9mIHQ/aShzKHQpLGZ1bmN0aW9uKHMpe3ZhciBhPWVuY29kZVVSSUNvbXBvbmVudChyKHMpKStuO3JldHVybiBvKHRbc10pP2kodFtzXSxmdW5jdGlvbih0KXtyZXR1cm4gYStlbmNvZGVVUklDb21wb25lbnQocih0KSl9KS5qb2luKGUpOmErZW5jb2RlVVJJQ29tcG9uZW50KHIodFtzXSkpfSkuam9pbihlKTphP2VuY29kZVVSSUNvbXBvbmVudChyKGEpKStuK2VuY29kZVVSSUNvbXBvbmVudChyKHQpKToiIn07dmFyIG89QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24odCl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX0scz1PYmplY3Qua2V5c3x8ZnVuY3Rpb24odCl7dmFyIGU9W107Zm9yKHZhciBuIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbikmJmUucHVzaChuKTtyZXR1cm4gZX19LHt9XSw1OltmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24uZGVjb2RlPW4ucGFyc2U9dCgiLi9kZWNvZGUiKSxuLmVuY29kZT1uLnN0cmluZ2lmeT10KCIuL2VuY29kZSIpfSx7Ii4vZGVjb2RlIjozLCIuL2VuY29kZSI6NH1dLDY6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiBpKCl7dGhpcy5wcm90b2NvbD1udWxsLHRoaXMuc2xhc2hlcz1udWxsLHRoaXMuYXV0aD1udWxsLHRoaXMuaG9zdD1udWxsLHRoaXMucG9ydD1udWxsLHRoaXMuaG9zdG5hbWU9bnVsbCx0aGlzLmhhc2g9bnVsbCx0aGlzLnNlYXJjaD1udWxsLHRoaXMucXVlcnk9bnVsbCx0aGlzLnBhdGhuYW1lPW51bGwsdGhpcy5wYXRoPW51bGwsdGhpcy5ocmVmPW51bGx9ZnVuY3Rpb24gcih0LGUsbil7aWYodCYmdSh0KSYmdCBpbnN0YW5jZW9mIGkpcmV0dXJuIHQ7dmFyIHI9bmV3IGk7cmV0dXJuIHIucGFyc2UodCxlLG4pLHJ9ZnVuY3Rpb24gbyh0KXtyZXR1cm4gbCh0KSYmKHQ9cih0KSksdCBpbnN0YW5jZW9mIGk/dC5mb3JtYXQoKTppLnByb3RvdHlwZS5mb3JtYXQuY2FsbCh0KX1mdW5jdGlvbiBzKHQsZSl7cmV0dXJuIHIodCwhMSwhMCkucmVzb2x2ZShlKX1mdW5jdGlvbiBhKHQsZSl7cmV0dXJuIHQ/cih0LCExLCEwKS5yZXNvbHZlT2JqZWN0KGUpOmV9ZnVuY3Rpb24gbCh0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHR9ZnVuY3Rpb24gdSh0KXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10fWZ1bmN0aW9uIGModCl7cmV0dXJuIG51bGw9PT10fWZ1bmN0aW9uIGgodCl7cmV0dXJuIG51bGw9PXR9dmFyIGQ9dCgicHVueWNvZGUiKTtuLnBhcnNlPXIsbi5yZXNvbHZlPXMsbi5yZXNvbHZlT2JqZWN0PWEsbi5mb3JtYXQ9byxuLlVybD1pO3ZhciBmPS9eKFthLXowLTkuKy1dKzopL2kscD0vOlswLTldKiQvLG09WyI8IiwiPiIsJyInLCJgIiwiICIsIlxyIiwiXG4iLCJcdCJdLGc9WyJ7IiwifSIsInwiLCJcXCIsIl4iLCJgIl0uY29uY2F0KG0pLHk9WyInIl0uY29uY2F0KGcpLHY9WyIlIiwiLyIsIj8iLCI7IiwiIyJdLmNvbmNhdCh5KSx3PVsiLyIsIj8iLCIjIl0sYj0yNTUseD0vXlthLXowLTlBLVpfLV17MCw2M30kLyxfPS9eKFthLXowLTlBLVpfLV17MCw2M30pKC4qKSQvLGs9e2phdmFzY3JpcHQ6ITAsImphdmFzY3JpcHQ6IjohMH0sUz17amF2YXNjcmlwdDohMCwiamF2YXNjcmlwdDoiOiEwfSxUPXtodHRwOiEwLGh0dHBzOiEwLGZ0cDohMCxnb3BoZXI6ITAsZmlsZTohMCwiaHR0cDoiOiEwLCJodHRwczoiOiEwLCJmdHA6IjohMCwiZ29waGVyOiI6ITAsImZpbGU6IjohMH0sQz10KCJxdWVyeXN0cmluZyIpO2kucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKHQsZSxuKXtpZighbCh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJQYXJhbWV0ZXIgJ3VybCcgbXVzdCBiZSBhIHN0cmluZywgbm90ICIrdHlwZW9mIHQpO3ZhciBpPXQ7aT1pLnRyaW0oKTt2YXIgcj1mLmV4ZWMoaSk7aWYocil7cj1yWzBdO3ZhciBvPXIudG9Mb3dlckNhc2UoKTt0aGlzLnByb3RvY29sPW8saT1pLnN1YnN0cihyLmxlbmd0aCl9aWYobnx8cnx8aS5tYXRjaCgvXlwvXC9bXkBcL10rQFteQFwvXSsvKSl7dmFyIHM9Ii8vIj09PWkuc3Vic3RyKDAsMik7IXN8fHImJlNbcl18fChpPWkuc3Vic3RyKDIpLHRoaXMuc2xhc2hlcz0hMCl9aWYoIVNbcl0mJihzfHxyJiYhVFtyXSkpe2Zvcih2YXIgYT0tMSx1PTA7dTx3Lmxlbmd0aDt1Kyspe3ZhciBjPWkuaW5kZXhPZih3W3VdKTtjIT09LTEmJihhPT09LTF8fGM8YSkmJihhPWMpfXZhciBoLHA7cD1hPT09LTE/aS5sYXN0SW5kZXhPZigiQCIpOmkubGFzdEluZGV4T2YoIkAiLGEpLHAhPT0tMSYmKGg9aS5zbGljZSgwLHApLGk9aS5zbGljZShwKzEpLHRoaXMuYXV0aD1kZWNvZGVVUklDb21wb25lbnQoaCkpLGE9LTE7Zm9yKHZhciB1PTA7dTx2Lmxlbmd0aDt1Kyspe3ZhciBjPWkuaW5kZXhPZih2W3VdKTtjIT09LTEmJihhPT09LTF8fGM8YSkmJihhPWMpfWE9PT0tMSYmKGE9aS5sZW5ndGgpLHRoaXMuaG9zdD1pLnNsaWNlKDAsYSksaT1pLnNsaWNlKGEpLHRoaXMucGFyc2VIb3N0KCksdGhpcy5ob3N0bmFtZT10aGlzLmhvc3RuYW1lfHwiIjt2YXIgbT0iWyI9PT10aGlzLmhvc3RuYW1lWzBdJiYiXSI9PT10aGlzLmhvc3RuYW1lW3RoaXMuaG9zdG5hbWUubGVuZ3RoLTFdO2lmKCFtKWZvcih2YXIgZz10aGlzLmhvc3RuYW1lLnNwbGl0KC9cLi8pLHU9MCxEPWcubGVuZ3RoO3U8RDt1Kyspe3ZhciBNPWdbdV07aWYoTSYmIU0ubWF0Y2goeCkpe2Zvcih2YXIgTj0iIixqPTAsRT1NLmxlbmd0aDtqPEU7aisrKU4rPU0uY2hhckNvZGVBdChqKT4xMjc/IngiOk1bal07aWYoIU4ubWF0Y2goeCkpe3ZhciBPPWcuc2xpY2UoMCx1KSxBPWcuc2xpY2UodSsxKSxQPU0ubWF0Y2goXyk7UCYmKE8ucHVzaChQWzFdKSxBLnVuc2hpZnQoUFsyXSkpLEEubGVuZ3RoJiYoaT0iLyIrQS5qb2luKCIuIikraSksdGhpcy5ob3N0bmFtZT1PLmpvaW4oIi4iKTticmVha319fWlmKHRoaXMuaG9zdG5hbWUubGVuZ3RoPmI/dGhpcy5ob3N0bmFtZT0iIjp0aGlzLmhvc3RuYW1lPXRoaXMuaG9zdG5hbWUudG9Mb3dlckNhc2UoKSwhbSl7Zm9yKHZhciBMPXRoaXMuaG9zdG5hbWUuc3BsaXQoIi4iKSxZPVtdLHU9MDt1PEwubGVuZ3RoOysrdSl7dmFyIEY9TFt1XTtZLnB1c2goRi5tYXRjaCgvW15BLVphLXowLTlfLV0vKT8ieG4tLSIrZC5lbmNvZGUoRik6Ril9dGhpcy5ob3N0bmFtZT1ZLmpvaW4oIi4iKX12YXIgUj10aGlzLnBvcnQ/IjoiK3RoaXMucG9ydDoiIixIPXRoaXMuaG9zdG5hbWV8fCIiO3RoaXMuaG9zdD1IK1IsdGhpcy5ocmVmKz10aGlzLmhvc3QsbSYmKHRoaXMuaG9zdG5hbWU9dGhpcy5ob3N0bmFtZS5zdWJzdHIoMSx0aGlzLmhvc3RuYW1lLmxlbmd0aC0yKSwiLyIhPT1pWzBdJiYoaT0iLyIraSkpfWlmKCFrW29dKWZvcih2YXIgdT0wLEQ9eS5sZW5ndGg7dTxEO3UrKyl7dmFyIFc9eVt1XSxxPWVuY29kZVVSSUNvbXBvbmVudChXKTtxPT09VyYmKHE9ZXNjYXBlKFcpKSxpPWkuc3BsaXQoVykuam9pbihxKX12YXIgST1pLmluZGV4T2YoIiMiKTtJIT09LTEmJih0aGlzLmhhc2g9aS5zdWJzdHIoSSksaT1pLnNsaWNlKDAsSSkpO3ZhciBCPWkuaW5kZXhPZigiPyIpO2lmKEIhPT0tMT8odGhpcy5zZWFyY2g9aS5zdWJzdHIoQiksdGhpcy5xdWVyeT1pLnN1YnN0cihCKzEpLGUmJih0aGlzLnF1ZXJ5PUMucGFyc2UodGhpcy5xdWVyeSkpLGk9aS5zbGljZSgwLEIpKTplJiYodGhpcy5zZWFyY2g9IiIsdGhpcy5xdWVyeT17fSksaSYmKHRoaXMucGF0aG5hbWU9aSksVFtvXSYmdGhpcy5ob3N0bmFtZSYmIXRoaXMucGF0aG5hbWUmJih0aGlzLnBhdGhuYW1lPSIvIiksdGhpcy5wYXRobmFtZXx8dGhpcy5zZWFyY2gpe3ZhciBSPXRoaXMucGF0aG5hbWV8fCIiLEY9dGhpcy5zZWFyY2h8fCIiO3RoaXMucGF0aD1SK0Z9cmV0dXJuIHRoaXMuaHJlZj10aGlzLmZvcm1hdCgpLHRoaXN9LGkucHJvdG90eXBlLmZvcm1hdD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuYXV0aHx8IiI7dCYmKHQ9ZW5jb2RlVVJJQ29tcG9uZW50KHQpLHQ9dC5yZXBsYWNlKC8lM0EvaSwiOiIpLHQrPSJAIik7dmFyIGU9dGhpcy5wcm90b2NvbHx8IiIsbj10aGlzLnBhdGhuYW1lfHwiIixpPXRoaXMuaGFzaHx8IiIscj0hMSxvPSIiO3RoaXMuaG9zdD9yPXQrdGhpcy5ob3N0OnRoaXMuaG9zdG5hbWUmJihyPXQrKHRoaXMuaG9zdG5hbWUuaW5kZXhPZigiOiIpPT09LTE/dGhpcy5ob3N0bmFtZToiWyIrdGhpcy5ob3N0bmFtZSsiXSIpLHRoaXMucG9ydCYmKHIrPSI6Iit0aGlzLnBvcnQpKSx0aGlzLnF1ZXJ5JiZ1KHRoaXMucXVlcnkpJiZPYmplY3Qua2V5cyh0aGlzLnF1ZXJ5KS5sZW5ndGgmJihvPUMuc3RyaW5naWZ5KHRoaXMucXVlcnkpKTt2YXIgcz10aGlzLnNlYXJjaHx8byYmIj8iK298fCIiO3JldHVybiBlJiYiOiIhPT1lLnN1YnN0cigtMSkmJihlKz0iOiIpLHRoaXMuc2xhc2hlc3x8KCFlfHxUW2VdKSYmciE9PSExPyhyPSIvLyIrKHJ8fCIiKSxuJiYiLyIhPT1uLmNoYXJBdCgwKSYmKG49Ii8iK24pKTpyfHwocj0iIiksaSYmIiMiIT09aS5jaGFyQXQoMCkmJihpPSIjIitpKSxzJiYiPyIhPT1zLmNoYXJBdCgwKSYmKHM9Ij8iK3MpLG49bi5yZXBsYWNlKC9bPyNdL2csZnVuY3Rpb24odCl7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudCh0KX0pLHM9cy5yZXBsYWNlKCIjIiwiJTIzIiksZStyK24rcytpfSxpLnByb3RvdHlwZS5yZXNvbHZlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnJlc29sdmVPYmplY3Qocih0LCExLCEwKSkuZm9ybWF0KCl9LGkucHJvdG90eXBlLnJlc29sdmVPYmplY3Q9ZnVuY3Rpb24odCl7aWYobCh0KSl7dmFyIGU9bmV3IGk7ZS5wYXJzZSh0LCExLCEwKSx0PWV9dmFyIG49bmV3IGk7aWYoT2JqZWN0LmtleXModGhpcykuZm9yRWFjaChmdW5jdGlvbih0KXtuW3RdPXRoaXNbdF19LHRoaXMpLG4uaGFzaD10Lmhhc2gsIiI9PT10LmhyZWYpcmV0dXJuIG4uaHJlZj1uLmZvcm1hdCgpLG47aWYodC5zbGFzaGVzJiYhdC5wcm90b2NvbClyZXR1cm4gT2JqZWN0LmtleXModCkuZm9yRWFjaChmdW5jdGlvbihlKXsicHJvdG9jb2wiIT09ZSYmKG5bZV09dFtlXSl9KSxUW24ucHJvdG9jb2xdJiZuLmhvc3RuYW1lJiYhbi5wYXRobmFtZSYmKG4ucGF0aD1uLnBhdGhuYW1lPSIvIiksbi5ocmVmPW4uZm9ybWF0KCksbjtpZih0LnByb3RvY29sJiZ0LnByb3RvY29sIT09bi5wcm90b2NvbCl7aWYoIVRbdC5wcm90b2NvbF0pcmV0dXJuIE9iamVjdC5rZXlzKHQpLmZvckVhY2goZnVuY3Rpb24oZSl7bltlXT10W2VdfSksbi5ocmVmPW4uZm9ybWF0KCksbjtpZihuLnByb3RvY29sPXQucHJvdG9jb2wsdC5ob3N0fHxTW3QucHJvdG9jb2xdKW4ucGF0aG5hbWU9dC5wYXRobmFtZTtlbHNle2Zvcih2YXIgcj0odC5wYXRobmFtZXx8IiIpLnNwbGl0KCIvIik7ci5sZW5ndGgmJiEodC5ob3N0PXIuc2hpZnQoKSk7KTt0Lmhvc3R8fCh0Lmhvc3Q9IiIpLHQuaG9zdG5hbWV8fCh0Lmhvc3RuYW1lPSIiKSwiIiE9PXJbMF0mJnIudW5zaGlmdCgiIiksci5sZW5ndGg8MiYmci51bnNoaWZ0KCIiKSxuLnBhdGhuYW1lPXIuam9pbigiLyIpfWlmKG4uc2VhcmNoPXQuc2VhcmNoLG4ucXVlcnk9dC5xdWVyeSxuLmhvc3Q9dC5ob3N0fHwiIixuLmF1dGg9dC5hdXRoLG4uaG9zdG5hbWU9dC5ob3N0bmFtZXx8dC5ob3N0LG4ucG9ydD10LnBvcnQsbi5wYXRobmFtZXx8bi5zZWFyY2gpe3ZhciBvPW4ucGF0aG5hbWV8fCIiLHM9bi5zZWFyY2h8fCIiO24ucGF0aD1vK3N9cmV0dXJuIG4uc2xhc2hlcz1uLnNsYXNoZXN8fHQuc2xhc2hlcyxuLmhyZWY9bi5mb3JtYXQoKSxufXZhciBhPW4ucGF0aG5hbWUmJiIvIj09PW4ucGF0aG5hbWUuY2hhckF0KDApLHU9dC5ob3N0fHx0LnBhdGhuYW1lJiYiLyI9PT10LnBhdGhuYW1lLmNoYXJBdCgwKSxkPXV8fGF8fG4uaG9zdCYmdC5wYXRobmFtZSxmPWQscD1uLnBhdGhuYW1lJiZuLnBhdGhuYW1lLnNwbGl0KCIvIil8fFtdLHI9dC5wYXRobmFtZSYmdC5wYXRobmFtZS5zcGxpdCgiLyIpfHxbXSxtPW4ucHJvdG9jb2wmJiFUW24ucHJvdG9jb2xdO2lmKG0mJihuLmhvc3RuYW1lPSIiLG4ucG9ydD1udWxsLG4uaG9zdCYmKCIiPT09cFswXT9wWzBdPW4uaG9zdDpwLnVuc2hpZnQobi5ob3N0KSksbi5ob3N0PSIiLHQucHJvdG9jb2wmJih0Lmhvc3RuYW1lPW51bGwsdC5wb3J0PW51bGwsdC5ob3N0JiYoIiI9PT1yWzBdP3JbMF09dC5ob3N0OnIudW5zaGlmdCh0Lmhvc3QpKSx0Lmhvc3Q9bnVsbCksZD1kJiYoIiI9PT1yWzBdfHwiIj09PXBbMF0pKSx1KW4uaG9zdD10Lmhvc3R8fCIiPT09dC5ob3N0P3QuaG9zdDpuLmhvc3Qsbi5ob3N0bmFtZT10Lmhvc3RuYW1lfHwiIj09PXQuaG9zdG5hbWU/dC5ob3N0bmFtZTpuLmhvc3RuYW1lLG4uc2VhcmNoPXQuc2VhcmNoLG4ucXVlcnk9dC5xdWVyeSxwPXI7ZWxzZSBpZihyLmxlbmd0aClwfHwocD1bXSkscC5wb3AoKSxwPXAuY29uY2F0KHIpLG4uc2VhcmNoPXQuc2VhcmNoLG4ucXVlcnk9dC5xdWVyeTtlbHNlIGlmKCFoKHQuc2VhcmNoKSl7aWYobSl7bi5ob3N0bmFtZT1uLmhvc3Q9cC5zaGlmdCgpO3ZhciBnPSEhKG4uaG9zdCYmbi5ob3N0LmluZGV4T2YoIkAiKT4wKSYmbi5ob3N0LnNwbGl0KCJAIik7ZyYmKG4uYXV0aD1nLnNoaWZ0KCksbi5ob3N0PW4uaG9zdG5hbWU9Zy5zaGlmdCgpKX1yZXR1cm4gbi5zZWFyY2g9dC5zZWFyY2gsbi5xdWVyeT10LnF1ZXJ5LGMobi5wYXRobmFtZSkmJmMobi5zZWFyY2gpfHwobi5wYXRoPShuLnBhdGhuYW1lP24ucGF0aG5hbWU6IiIpKyhuLnNlYXJjaD9uLnNlYXJjaDoiIikpLG4uaHJlZj1uLmZvcm1hdCgpLG59aWYoIXAubGVuZ3RoKXJldHVybiBuLnBhdGhuYW1lPW51bGwsbi5zZWFyY2g/bi5wYXRoPSIvIituLnNlYXJjaDpuLnBhdGg9bnVsbCxuLmhyZWY9bi5mb3JtYXQoKSxuO2Zvcih2YXIgeT1wLnNsaWNlKC0xKVswXSx2PShuLmhvc3R8fHQuaG9zdCkmJigiLiI9PT15fHwiLi4iPT09eSl8fCIiPT09eSx3PTAsYj1wLmxlbmd0aDtiPj0wO2ItLSl5PXBbYl0sIi4iPT15P3Auc3BsaWNlKGIsMSk6Ii4uIj09PXk/KHAuc3BsaWNlKGIsMSksdysrKTp3JiYocC5zcGxpY2UoYiwxKSx3LS0pO2lmKCFkJiYhZilmb3IoO3ctLTt3KXAudW5zaGlmdCgiLi4iKTshZHx8IiI9PT1wWzBdfHxwWzBdJiYiLyI9PT1wWzBdLmNoYXJBdCgwKXx8cC51bnNoaWZ0KCIiKSx2JiYiLyIhPT1wLmpvaW4oIi8iKS5zdWJzdHIoLTEpJiZwLnB1c2goIiIpO3ZhciB4PSIiPT09cFswXXx8cFswXSYmIi8iPT09cFswXS5jaGFyQXQoMCk7aWYobSl7bi5ob3N0bmFtZT1uLmhvc3Q9eD8iIjpwLmxlbmd0aD9wLnNoaWZ0KCk6IiI7dmFyIGc9ISEobi5ob3N0JiZuLmhvc3QuaW5kZXhPZigiQCIpPjApJiZuLmhvc3Quc3BsaXQoIkAiKTtnJiYobi5hdXRoPWcuc2hpZnQoKSxuLmhvc3Q9bi5ob3N0bmFtZT1nLnNoaWZ0KCkpfXJldHVybiBkPWR8fG4uaG9zdCYmcC5sZW5ndGgsZCYmIXgmJnAudW5zaGlmdCgiIikscC5sZW5ndGg/bi5wYXRobmFtZT1wLmpvaW4oIi8iKToobi5wYXRobmFtZT1udWxsLG4ucGF0aD1udWxsKSxjKG4ucGF0aG5hbWUpJiZjKG4uc2VhcmNoKXx8KG4ucGF0aD0obi5wYXRobmFtZT9uLnBhdGhuYW1lOiIiKSsobi5zZWFyY2g/bi5zZWFyY2g6IiIpKSxuLmF1dGg9dC5hdXRofHxuLmF1dGgsbi5zbGFzaGVzPW4uc2xhc2hlc3x8dC5zbGFzaGVzLG4uaHJlZj1uLmZvcm1hdCgpLG59LGkucHJvdG90eXBlLnBhcnNlSG9zdD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuaG9zdCxlPXAuZXhlYyh0KTtlJiYoZT1lWzBdLCI6IiE9PWUmJih0aGlzLnBvcnQ9ZS5zdWJzdHIoMSkpLHQ9dC5zdWJzdHIoMCx0Lmxlbmd0aC1lLmxlbmd0aCkpLHQmJih0aGlzLmhvc3RuYW1lPXQpfX0se3B1bnljb2RlOjIscXVlcnlzdHJpbmc6NX1dLDc6W2Z1bmN0aW9uKHQsZSxuKXshZnVuY3Rpb24odCxuKXsib2JqZWN0Ij09dHlwZW9mIGUmJiJvYmplY3QiPT10eXBlb2YgZS5leHBvcnRzP2UuZXhwb3J0cz10LmRvY3VtZW50P24odCwhMCk6ZnVuY3Rpb24odCl7aWYoIXQuZG9jdW1lbnQpdGhyb3cgbmV3IEVycm9yKCJqUXVlcnkgcmVxdWlyZXMgYSB3aW5kb3cgd2l0aCBhIGRvY3VtZW50Iik7cmV0dXJuIG4odCl9Om4odCl9KCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp0aGlzLGZ1bmN0aW9uKHQsZSl7ZnVuY3Rpb24gbih0KXt2YXIgZT0hIXQmJiJsZW5ndGgiaW4gdCYmdC5sZW5ndGgsbj1mdC50eXBlKHQpO3JldHVybiJmdW5jdGlvbiIhPT1uJiYhZnQuaXNXaW5kb3codCkmJigiYXJyYXkiPT09bnx8MD09PWV8fCJudW1iZXIiPT10eXBlb2YgZSYmZT4wJiZlLTEgaW4gdCl9ZnVuY3Rpb24gaSh0LGUsbil7aWYoZnQuaXNGdW5jdGlvbihlKSlyZXR1cm4gZnQuZ3JlcCh0LGZ1bmN0aW9uKHQsaSl7cmV0dXJuISFlLmNhbGwodCxpLHQpIT09bn0pO2lmKGUubm9kZVR5cGUpcmV0dXJuIGZ0LmdyZXAodCxmdW5jdGlvbih0KXtyZXR1cm4gdD09PWUhPT1ufSk7aWYoInN0cmluZyI9PXR5cGVvZiBlKXtpZihrdC50ZXN0KGUpKXJldHVybiBmdC5maWx0ZXIoZSx0LG4pO2U9ZnQuZmlsdGVyKGUsdCl9cmV0dXJuIGZ0LmdyZXAodCxmdW5jdGlvbih0KXtyZXR1cm4gZnQuaW5BcnJheSh0LGUpPi0xIT09bn0pfWZ1bmN0aW9uIHIodCxlKXtkbyB0PXRbZV07d2hpbGUodCYmMSE9PXQubm9kZVR5cGUpO3JldHVybiB0fWZ1bmN0aW9uIG8odCl7dmFyIGU9e307cmV0dXJuIGZ0LmVhY2godC5tYXRjaChOdCl8fFtdLGZ1bmN0aW9uKHQsbil7ZVtuXT0hMH0pLGV9ZnVuY3Rpb24gcygpe2l0LmFkZEV2ZW50TGlzdGVuZXI/KGl0LnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLGEpLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsYSkpOihpdC5kZXRhY2hFdmVudCgib25yZWFkeXN0YXRlY2hhbmdlIixhKSx0LmRldGFjaEV2ZW50KCJvbmxvYWQiLGEpKX1mdW5jdGlvbiBhKCl7KGl0LmFkZEV2ZW50TGlzdGVuZXJ8fCJsb2FkIj09PXQuZXZlbnQudHlwZXx8ImNvbXBsZXRlIj09PWl0LnJlYWR5U3RhdGUpJiYocygpLGZ0LnJlYWR5KCkpfWZ1bmN0aW9uIGwodCxlLG4pe2lmKHZvaWQgMD09PW4mJjE9PT10Lm5vZGVUeXBlKXt2YXIgaT0iZGF0YS0iK2UucmVwbGFjZShQdCwiLSQxIikudG9Mb3dlckNhc2UoKTtpZihuPXQuZ2V0QXR0cmlidXRlKGkpLCJzdHJpbmciPT10eXBlb2Ygbil7dHJ5e249InRydWUiPT09bnx8ImZhbHNlIiE9PW4mJigibnVsbCI9PT1uP251bGw6K24rIiI9PT1uPytuOkF0LnRlc3Qobik/ZnQucGFyc2VKU09OKG4pOm4pfWNhdGNoKHQpe31mdC5kYXRhKHQsZSxuKX1lbHNlIG49dm9pZCAwfXJldHVybiBufWZ1bmN0aW9uIHUodCl7dmFyIGU7Zm9yKGUgaW4gdClpZigoImRhdGEiIT09ZXx8IWZ0LmlzRW1wdHlPYmplY3QodFtlXSkpJiYidG9KU09OIiE9PWUpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gYyh0LGUsbixpKXtpZihPdCh0KSl7dmFyIHIsbyxzPWZ0LmV4cGFuZG8sYT10Lm5vZGVUeXBlLGw9YT9mdC5jYWNoZTp0LHU9YT90W3NdOnRbc10mJnM7aWYodSYmbFt1XSYmKGl8fGxbdV0uZGF0YSl8fHZvaWQgMCE9PW58fCJzdHJpbmciIT10eXBlb2YgZSlyZXR1cm4gdXx8KHU9YT90W3NdPW50LnBvcCgpfHxmdC5ndWlkKys6cyksbFt1XXx8KGxbdV09YT97fTp7dG9KU09OOmZ0Lm5vb3B9KSwib2JqZWN0IiE9dHlwZW9mIGUmJiJmdW5jdGlvbiIhPXR5cGVvZiBlfHwoaT9sW3VdPWZ0LmV4dGVuZChsW3VdLGUpOmxbdV0uZGF0YT1mdC5leHRlbmQobFt1XS5kYXRhLGUpKSxvPWxbdV0saXx8KG8uZGF0YXx8KG8uZGF0YT17fSksbz1vLmRhdGEpLHZvaWQgMCE9PW4mJihvW2Z0LmNhbWVsQ2FzZShlKV09biksInN0cmluZyI9PXR5cGVvZiBlPyhyPW9bZV0sbnVsbD09ciYmKHI9b1tmdC5jYW1lbENhc2UoZSldKSk6cj1vLHJ9fWZ1bmN0aW9uIGgodCxlLG4pe2lmKE90KHQpKXt2YXIgaSxyLG89dC5ub2RlVHlwZSxzPW8/ZnQuY2FjaGU6dCxhPW8/dFtmdC5leHBhbmRvXTpmdC5leHBhbmRvO2lmKHNbYV0pe2lmKGUmJihpPW4/c1thXTpzW2FdLmRhdGEpKXtmdC5pc0FycmF5KGUpP2U9ZS5jb25jYXQoZnQubWFwKGUsZnQuY2FtZWxDYXNlKSk6ZSBpbiBpP2U9W2VdOihlPWZ0LmNhbWVsQ2FzZShlKSxlPWUgaW4gaT9bZV06ZS5zcGxpdCgiICIpKSxyPWUubGVuZ3RoO2Zvcig7ci0tOylkZWxldGUgaVtlW3JdXTtpZihuPyF1KGkpOiFmdC5pc0VtcHR5T2JqZWN0KGkpKXJldHVybn0obnx8KGRlbGV0ZSBzW2FdLmRhdGEsdShzW2FdKSkpJiYobz9mdC5jbGVhbkRhdGEoW3RdLCEwKTpodC5kZWxldGVFeHBhbmRvfHxzIT1zLndpbmRvdz9kZWxldGUgc1thXTpzW2FdPXZvaWQgMCl9fX1mdW5jdGlvbiBkKHQsZSxuLGkpe3ZhciByLG89MSxzPTIwLGE9aT9mdW5jdGlvbigpe3JldHVybiBpLmN1cigpfTpmdW5jdGlvbigpe3JldHVybiBmdC5jc3ModCxlLCIiKX0sbD1hKCksdT1uJiZuWzNdfHwoZnQuY3NzTnVtYmVyW2VdPyIiOiJweCIpLGM9KGZ0LmNzc051bWJlcltlXXx8InB4IiE9PXUmJitsKSYmWXQuZXhlYyhmdC5jc3ModCxlKSk7aWYoYyYmY1szXSE9PXUpe3U9dXx8Y1szXSxuPW58fFtdLGM9K2x8fDE7ZG8gbz1vfHwiLjUiLGMvPW8sZnQuc3R5bGUodCxlLGMrdSk7d2hpbGUobyE9PShvPWEoKS9sKSYmMSE9PW8mJi0tcyl9cmV0dXJuIG4mJihjPStjfHwrbHx8MCxyPW5bMV0/YysoblsxXSsxKSpuWzJdOituWzJdLGkmJihpLnVuaXQ9dSxpLnN0YXJ0PWMsaS5lbmQ9cikpLHJ9ZnVuY3Rpb24gZih0KXt2YXIgZT1VdC5zcGxpdCgifCIpLG49dC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7aWYobi5jcmVhdGVFbGVtZW50KWZvcig7ZS5sZW5ndGg7KW4uY3JlYXRlRWxlbWVudChlLnBvcCgpKTtyZXR1cm4gbn1mdW5jdGlvbiBwKHQsZSl7dmFyIG4saSxyPTAsbz0idW5kZWZpbmVkIiE9dHlwZW9mIHQuZ2V0RWxlbWVudHNCeVRhZ05hbWU/dC5nZXRFbGVtZW50c0J5VGFnTmFtZShlfHwiKiIpOiJ1bmRlZmluZWQiIT10eXBlb2YgdC5xdWVyeVNlbGVjdG9yQWxsP3QucXVlcnlTZWxlY3RvckFsbChlfHwiKiIpOnZvaWQgMDtpZighbylmb3Iobz1bXSxuPXQuY2hpbGROb2Rlc3x8dDtudWxsIT0oaT1uW3JdKTtyKyspIWV8fGZ0Lm5vZGVOYW1lKGksZSk/by5wdXNoKGkpOmZ0Lm1lcmdlKG8scChpLGUpKTtyZXR1cm4gdm9pZCAwPT09ZXx8ZSYmZnQubm9kZU5hbWUodCxlKT9mdC5tZXJnZShbdF0sbyk6b31mdW5jdGlvbiBtKHQsZSl7Zm9yKHZhciBuLGk9MDtudWxsIT0obj10W2ldKTtpKyspZnQuX2RhdGEobiwiZ2xvYmFsRXZhbCIsIWV8fGZ0Ll9kYXRhKGVbaV0sImdsb2JhbEV2YWwiKSl9ZnVuY3Rpb24gZyh0KXtXdC50ZXN0KHQudHlwZSkmJih0LmRlZmF1bHRDaGVja2VkPXQuY2hlY2tlZCl9ZnVuY3Rpb24geSh0LGUsbixpLHIpe2Zvcih2YXIgbyxzLGEsbCx1LGMsaCxkPXQubGVuZ3RoLHk9ZihlKSx2PVtdLHc9MDt3PGQ7dysrKWlmKHM9dFt3XSxzfHwwPT09cylpZigib2JqZWN0Ij09PWZ0LnR5cGUocykpZnQubWVyZ2UodixzLm5vZGVUeXBlP1tzXTpzKTtlbHNlIGlmKCR0LnRlc3Qocykpe2ZvcihsPWx8fHkuYXBwZW5kQ2hpbGQoZS5jcmVhdGVFbGVtZW50KCJkaXYiKSksdT0ocXQuZXhlYyhzKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKSxoPXp0W3VdfHx6dC5fZGVmYXVsdCxsLmlubmVySFRNTD1oWzFdK2Z0Lmh0bWxQcmVmaWx0ZXIocykraFsyXSxvPWhbMF07by0tOylsPWwubGFzdENoaWxkO2lmKCFodC5sZWFkaW5nV2hpdGVzcGFjZSYmQnQudGVzdChzKSYmdi5wdXNoKGUuY3JlYXRlVGV4dE5vZGUoQnQuZXhlYyhzKVswXSkpLCFodC50Ym9keSlmb3Iocz0idGFibGUiIT09dXx8R3QudGVzdChzKT8iPHRhYmxlPiIhPT1oWzFdfHxHdC50ZXN0KHMpPzA6bDpsLmZpcnN0Q2hpbGQsbz1zJiZzLmNoaWxkTm9kZXMubGVuZ3RoO28tLTspZnQubm9kZU5hbWUoYz1zLmNoaWxkTm9kZXNbb10sInRib2R5IikmJiFjLmNoaWxkTm9kZXMubGVuZ3RoJiZzLnJlbW92ZUNoaWxkKGMpO2ZvcihmdC5tZXJnZSh2LGwuY2hpbGROb2RlcyksbC50ZXh0Q29udGVudD0iIjtsLmZpcnN0Q2hpbGQ7KWwucmVtb3ZlQ2hpbGQobC5maXJzdENoaWxkKTtsPXkubGFzdENoaWxkfWVsc2Ugdi5wdXNoKGUuY3JlYXRlVGV4dE5vZGUocykpO2ZvcihsJiZ5LnJlbW92ZUNoaWxkKGwpLGh0LmFwcGVuZENoZWNrZWR8fGZ0LmdyZXAocCh2LCJpbnB1dCIpLGcpLHc9MDtzPXZbdysrXTspaWYoaSYmZnQuaW5BcnJheShzLGkpPi0xKXImJnIucHVzaChzKTtlbHNlIGlmKGE9ZnQuY29udGFpbnMocy5vd25lckRvY3VtZW50LHMpLGw9cCh5LmFwcGVuZENoaWxkKHMpLCJzY3JpcHQiKSxhJiZtKGwpLG4pZm9yKG89MDtzPWxbbysrXTspSXQudGVzdChzLnR5cGV8fCIiKSYmbi5wdXNoKHMpO3JldHVybiBsPW51bGwseX1mdW5jdGlvbiB2KCl7cmV0dXJuITB9ZnVuY3Rpb24gdygpe3JldHVybiExfWZ1bmN0aW9uIGIoKXt0cnl7cmV0dXJuIGl0LmFjdGl2ZUVsZW1lbnR9Y2F0Y2godCl7fX1mdW5jdGlvbiB4KHQsZSxuLGkscixvKXt2YXIgcyxhO2lmKCJvYmplY3QiPT10eXBlb2YgZSl7InN0cmluZyIhPXR5cGVvZiBuJiYoaT1pfHxuLG49dm9pZCAwKTtmb3IoYSBpbiBlKXgodCxhLG4saSxlW2FdLG8pO3JldHVybiB0fWlmKG51bGw9PWkmJm51bGw9PXI/KHI9bixpPW49dm9pZCAwKTpudWxsPT1yJiYoInN0cmluZyI9PXR5cGVvZiBuPyhyPWksaT12b2lkIDApOihyPWksaT1uLG49dm9pZCAwKSkscj09PSExKXI9dztlbHNlIGlmKCFyKXJldHVybiB0O3JldHVybiAxPT09byYmKHM9cixyPWZ1bmN0aW9uKHQpe3JldHVybiBmdCgpLm9mZih0KSxzLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sci5ndWlkPXMuZ3VpZHx8KHMuZ3VpZD1mdC5ndWlkKyspKSx0LmVhY2goZnVuY3Rpb24oKXtmdC5ldmVudC5hZGQodGhpcyxlLHIsaSxuKX0pfWZ1bmN0aW9uIF8odCxlKXtyZXR1cm4gZnQubm9kZU5hbWUodCwidGFibGUiKSYmZnQubm9kZU5hbWUoMTEhPT1lLm5vZGVUeXBlP2U6ZS5maXJzdENoaWxkLCJ0ciIpP3QuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRib2R5IilbMF18fHQuYXBwZW5kQ2hpbGQodC5vd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRib2R5IikpOnR9ZnVuY3Rpb24gayh0KXtyZXR1cm4gdC50eXBlPShudWxsIT09ZnQuZmluZC5hdHRyKHQsInR5cGUiKSkrIi8iK3QudHlwZSx0fWZ1bmN0aW9uIFModCl7dmFyIGU9cmUuZXhlYyh0LnR5cGUpO3JldHVybiBlP3QudHlwZT1lWzFdOnQucmVtb3ZlQXR0cmlidXRlKCJ0eXBlIiksdH1mdW5jdGlvbiBUKHQsZSl7aWYoMT09PWUubm9kZVR5cGUmJmZ0Lmhhc0RhdGEodCkpe3ZhciBuLGkscixvPWZ0Ll9kYXRhKHQpLHM9ZnQuX2RhdGEoZSxvKSxhPW8uZXZlbnRzO2lmKGEpe2RlbGV0ZSBzLmhhbmRsZSxzLmV2ZW50cz17fTtmb3IobiBpbiBhKWZvcihpPTAscj1hW25dLmxlbmd0aDtpPHI7aSsrKWZ0LmV2ZW50LmFkZChlLG4sYVtuXVtpXSl9cy5kYXRhJiYocy5kYXRhPWZ0LmV4dGVuZCh7fSxzLmRhdGEpKX19ZnVuY3Rpb24gQyh0LGUpe3ZhciBuLGkscjtpZigxPT09ZS5ub2RlVHlwZSl7aWYobj1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksIWh0Lm5vQ2xvbmVFdmVudCYmZVtmdC5leHBhbmRvXSl7cj1mdC5fZGF0YShlKTtmb3IoaSBpbiByLmV2ZW50cylmdC5yZW1vdmVFdmVudChlLGksci5oYW5kbGUpO2UucmVtb3ZlQXR0cmlidXRlKGZ0LmV4cGFuZG8pfSJzY3JpcHQiPT09biYmZS50ZXh0IT09dC50ZXh0PyhrKGUpLnRleHQ9dC50ZXh0LFMoZSkpOiJvYmplY3QiPT09bj8oZS5wYXJlbnROb2RlJiYoZS5vdXRlckhUTUw9dC5vdXRlckhUTUwpLGh0Lmh0bWw1Q2xvbmUmJnQuaW5uZXJIVE1MJiYhZnQudHJpbShlLmlubmVySFRNTCkmJihlLmlubmVySFRNTD10LmlubmVySFRNTCkpOiJpbnB1dCI9PT1uJiZXdC50ZXN0KHQudHlwZSk/KGUuZGVmYXVsdENoZWNrZWQ9ZS5jaGVja2VkPXQuY2hlY2tlZCxlLnZhbHVlIT09dC52YWx1ZSYmKGUudmFsdWU9dC52YWx1ZSkpOiJvcHRpb24iPT09bj9lLmRlZmF1bHRTZWxlY3RlZD1lLnNlbGVjdGVkPXQuZGVmYXVsdFNlbGVjdGVkOiJpbnB1dCIhPT1uJiYidGV4dGFyZWEiIT09bnx8KGUuZGVmYXVsdFZhbHVlPXQuZGVmYXVsdFZhbHVlKX19ZnVuY3Rpb24gRCh0LGUsbixpKXtlPW90LmFwcGx5KFtdLGUpO3ZhciByLG8scyxhLGwsdSxjPTAsaD10Lmxlbmd0aCxkPWgtMSxmPWVbMF0sbT1mdC5pc0Z1bmN0aW9uKGYpO2lmKG18fGg+MSYmInN0cmluZyI9PXR5cGVvZiBmJiYhaHQuY2hlY2tDbG9uZSYmaWUudGVzdChmKSlyZXR1cm4gdC5lYWNoKGZ1bmN0aW9uKHIpe3ZhciBvPXQuZXEocik7bSYmKGVbMF09Zi5jYWxsKHRoaXMscixvLmh0bWwoKSkpLEQobyxlLG4saSl9KTtpZihoJiYodT15KGUsdFswXS5vd25lckRvY3VtZW50LCExLHQsaSkscj11LmZpcnN0Q2hpbGQsMT09PXUuY2hpbGROb2Rlcy5sZW5ndGgmJih1PXIpLHJ8fGkpKXtmb3IoYT1mdC5tYXAocCh1LCJzY3JpcHQiKSxrKSxzPWEubGVuZ3RoO2M8aDtjKyspbz11LGMhPT1kJiYobz1mdC5jbG9uZShvLCEwLCEwKSxzJiZmdC5tZXJnZShhLHAobywic2NyaXB0IikpKSxuLmNhbGwodFtjXSxvLGMpO2lmKHMpZm9yKGw9YVthLmxlbmd0aC0xXS5vd25lckRvY3VtZW50LGZ0Lm1hcChhLFMpLGM9MDtjPHM7YysrKW89YVtjXSxJdC50ZXN0KG8udHlwZXx8IiIpJiYhZnQuX2RhdGEobywiZ2xvYmFsRXZhbCIpJiZmdC5jb250YWlucyhsLG8pJiYoby5zcmM/ZnQuX2V2YWxVcmwmJmZ0Ll9ldmFsVXJsKG8uc3JjKTpmdC5nbG9iYWxFdmFsKChvLnRleHR8fG8udGV4dENvbnRlbnR8fG8uaW5uZXJIVE1MfHwiIikucmVwbGFjZShvZSwiIikpKTt1PXI9bnVsbH1yZXR1cm4gdH1mdW5jdGlvbiBNKHQsZSxuKXtmb3IodmFyIGkscj1lP2Z0LmZpbHRlcihlLHQpOnQsbz0wO251bGwhPShpPXJbb10pO28rKylufHwxIT09aS5ub2RlVHlwZXx8ZnQuY2xlYW5EYXRhKHAoaSkpLGkucGFyZW50Tm9kZSYmKG4mJmZ0LmNvbnRhaW5zKGkub3duZXJEb2N1bWVudCxpKSYmbShwKGksInNjcmlwdCIpKSxpLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaSkpO3JldHVybiB0fWZ1bmN0aW9uIE4odCxlKXt2YXIgbj1mdChlLmNyZWF0ZUVsZW1lbnQodCkpLmFwcGVuZFRvKGUuYm9keSksaT1mdC5jc3MoblswXSwiZGlzcGxheSIpO3JldHVybiBuLmRldGFjaCgpLGl9ZnVuY3Rpb24gaih0KXt2YXIgZT1pdCxuPXVlW3RdO3JldHVybiBufHwobj1OKHQsZSksIm5vbmUiIT09biYmbnx8KGxlPShsZXx8ZnQoIjxpZnJhbWUgZnJhbWVib3JkZXI9JzAnIHdpZHRoPScwJyBoZWlnaHQ9JzAnLz4iKSkuYXBwZW5kVG8oZS5kb2N1bWVudEVsZW1lbnQpLGU9KGxlWzBdLmNvbnRlbnRXaW5kb3d8fGxlWzBdLmNvbnRlbnREb2N1bWVudCkuZG9jdW1lbnQsZS53cml0ZSgpLGUuY2xvc2UoKSxuPU4odCxlKSxsZS5kZXRhY2goKSksdWVbdF09biksbn1mdW5jdGlvbiBFKHQsZSl7cmV0dXJue2dldDpmdW5jdGlvbigpe3JldHVybiB0KCk/dm9pZCBkZWxldGUgdGhpcy5nZXQ6KHRoaXMuZ2V0PWUpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19fWZ1bmN0aW9uIE8odCl7aWYodCBpbiBTZSlyZXR1cm4gdDtmb3IodmFyIGU9dC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSt0LnNsaWNlKDEpLG49a2UubGVuZ3RoO24tLTspaWYodD1rZVtuXStlLHQgaW4gU2UpcmV0dXJuIHR9ZnVuY3Rpb24gQSh0LGUpe2Zvcih2YXIgbixpLHIsbz1bXSxzPTAsYT10Lmxlbmd0aDtzPGE7cysrKWk9dFtzXSxpLnN0eWxlJiYob1tzXT1mdC5fZGF0YShpLCJvbGRkaXNwbGF5Iiksbj1pLnN0eWxlLmRpc3BsYXksZT8ob1tzXXx8Im5vbmUiIT09bnx8KGkuc3R5bGUuZGlzcGxheT0iIiksIiI9PT1pLnN0eWxlLmRpc3BsYXkmJlJ0KGkpJiYob1tzXT1mdC5fZGF0YShpLCJvbGRkaXNwbGF5IixqKGkubm9kZU5hbWUpKSkpOihyPVJ0KGkpLChuJiYibm9uZSIhPT1ufHwhcikmJmZ0Ll9kYXRhKGksIm9sZGRpc3BsYXkiLHI/bjpmdC5jc3MoaSwiZGlzcGxheSIpKSkpO2ZvcihzPTA7czxhO3MrKylpPXRbc10saS5zdHlsZSYmKGUmJiJub25lIiE9PWkuc3R5bGUuZGlzcGxheSYmIiIhPT1pLnN0eWxlLmRpc3BsYXl8fChpLnN0eWxlLmRpc3BsYXk9ZT9vW3NdfHwiIjoibm9uZSIpKTtyZXR1cm4gdH1mdW5jdGlvbiBQKHQsZSxuKXt2YXIgaT1iZS5leGVjKGUpO3JldHVybiBpP01hdGgubWF4KDAsaVsxXS0obnx8MCkpKyhpWzJdfHwicHgiKTplfWZ1bmN0aW9uIEwodCxlLG4saSxyKXtmb3IodmFyIG89bj09PShpPyJib3JkZXIiOiJjb250ZW50Iik/NDoid2lkdGgiPT09ZT8xOjAscz0wO288NDtvKz0yKSJtYXJnaW4iPT09biYmKHMrPWZ0LmNzcyh0LG4rRnRbb10sITAscikpLGk/KCJjb250ZW50Ij09PW4mJihzLT1mdC5jc3ModCwicGFkZGluZyIrRnRbb10sITAscikpLCJtYXJnaW4iIT09biYmKHMtPWZ0LmNzcyh0LCJib3JkZXIiK0Z0W29dKyJXaWR0aCIsITAscikpKToocys9ZnQuY3NzKHQsInBhZGRpbmciK0Z0W29dLCEwLHIpLCJwYWRkaW5nIiE9PW4mJihzKz1mdC5jc3ModCwiYm9yZGVyIitGdFtvXSsiV2lkdGgiLCEwLHIpKSk7cmV0dXJuIHN9ZnVuY3Rpb24gWSh0LGUsbil7dmFyIGk9ITAscj0id2lkdGgiPT09ZT90Lm9mZnNldFdpZHRoOnQub2Zmc2V0SGVpZ2h0LG89cGUodCkscz1odC5ib3hTaXppbmcmJiJib3JkZXItYm94Ij09PWZ0LmNzcyh0LCJib3hTaXppbmciLCExLG8pO2lmKHI8PTB8fG51bGw9PXIpe2lmKHI9bWUodCxlLG8pLChyPDB8fG51bGw9PXIpJiYocj10LnN0eWxlW2VdKSxoZS50ZXN0KHIpKXJldHVybiByO2k9cyYmKGh0LmJveFNpemluZ1JlbGlhYmxlKCl8fHI9PT10LnN0eWxlW2VdKSxyPXBhcnNlRmxvYXQocil8fDB9cmV0dXJuIHIrTCh0LGUsbnx8KHM/ImJvcmRlciI6ImNvbnRlbnQiKSxpLG8pKyJweCJ9ZnVuY3Rpb24gRih0LGUsbixpLHIpe3JldHVybiBuZXcgRi5wcm90b3R5cGUuaW5pdCh0LGUsbixpLHIpfWZ1bmN0aW9uIFIoKXtyZXR1cm4gdC5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7VGU9dm9pZCAwfSksVGU9ZnQubm93KCl9ZnVuY3Rpb24gSCh0LGUpe3ZhciBuLGk9e2hlaWdodDp0fSxyPTA7Zm9yKGU9ZT8xOjA7cjw0O3IrPTItZSluPUZ0W3JdLGlbIm1hcmdpbiIrbl09aVsicGFkZGluZyIrbl09dDtyZXR1cm4gZSYmKGkub3BhY2l0eT1pLndpZHRoPXQpLGl9ZnVuY3Rpb24gVyh0LGUsbil7Zm9yKHZhciBpLHI9KEIudHdlZW5lcnNbZV18fFtdKS5jb25jYXQoQi50d2VlbmVyc1siKiJdKSxvPTAscz1yLmxlbmd0aDtvPHM7bysrKWlmKGk9cltvXS5jYWxsKG4sZSx0KSlyZXR1cm4gaX1mdW5jdGlvbiBxKHQsZSxuKXt2YXIgaSxyLG8scyxhLGwsdSxjLGg9dGhpcyxkPXt9LGY9dC5zdHlsZSxwPXQubm9kZVR5cGUmJlJ0KHQpLG09ZnQuX2RhdGEodCwiZnhzaG93Iik7bi5xdWV1ZXx8KGE9ZnQuX3F1ZXVlSG9va3ModCwiZngiKSxudWxsPT1hLnVucXVldWVkJiYoYS51bnF1ZXVlZD0wLGw9YS5lbXB0eS5maXJlLGEuZW1wdHkuZmlyZT1mdW5jdGlvbigpe2EudW5xdWV1ZWR8fGwoKX0pLGEudW5xdWV1ZWQrKyxoLmFsd2F5cyhmdW5jdGlvbigpe2guYWx3YXlzKGZ1bmN0aW9uKCl7YS51bnF1ZXVlZC0tLGZ0LnF1ZXVlKHQsImZ4IikubGVuZ3RofHxhLmVtcHR5LmZpcmUoKX0pfSkpLDE9PT10Lm5vZGVUeXBlJiYoImhlaWdodCJpbiBlfHwid2lkdGgiaW4gZSkmJihuLm92ZXJmbG93PVtmLm92ZXJmbG93LGYub3ZlcmZsb3dYLGYub3ZlcmZsb3dZXSx1PWZ0LmNzcyh0LCJkaXNwbGF5IiksYz0ibm9uZSI9PT11P2Z0Ll9kYXRhKHQsIm9sZGRpc3BsYXkiKXx8aih0Lm5vZGVOYW1lKTp1LCJpbmxpbmUiPT09YyYmIm5vbmUiPT09ZnQuY3NzKHQsImZsb2F0IikmJihodC5pbmxpbmVCbG9ja05lZWRzTGF5b3V0JiYiaW5saW5lIiE9PWoodC5ub2RlTmFtZSk/Zi56b29tPTE6Zi5kaXNwbGF5PSJpbmxpbmUtYmxvY2siKSksbi5vdmVyZmxvdyYmKGYub3ZlcmZsb3c9ImhpZGRlbiIsaHQuc2hyaW5rV3JhcEJsb2NrcygpfHxoLmFsd2F5cyhmdW5jdGlvbigpe2Yub3ZlcmZsb3c9bi5vdmVyZmxvd1swXSxmLm92ZXJmbG93WD1uLm92ZXJmbG93WzFdLGYub3ZlcmZsb3dZPW4ub3ZlcmZsb3dbMl19KSk7Zm9yKGkgaW4gZSlpZihyPWVbaV0sRGUuZXhlYyhyKSl7aWYoZGVsZXRlIGVbaV0sbz1vfHwidG9nZ2xlIj09PXIscj09PShwPyJoaWRlIjoic2hvdyIpKXtpZigic2hvdyIhPT1yfHwhbXx8dm9pZCAwPT09bVtpXSljb250aW51ZTtwPSEwfWRbaV09bSYmbVtpXXx8ZnQuc3R5bGUodCxpKX1lbHNlIHU9dm9pZCAwO2lmKGZ0LmlzRW1wdHlPYmplY3QoZCkpImlubGluZSI9PT0oIm5vbmUiPT09dT9qKHQubm9kZU5hbWUpOnUpJiYoZi5kaXNwbGF5PXUpO2Vsc2V7bT8iaGlkZGVuImluIG0mJihwPW0uaGlkZGVuKTptPWZ0Ll9kYXRhKHQsImZ4c2hvdyIse30pLG8mJihtLmhpZGRlbj0hcCkscD9mdCh0KS5zaG93KCk6aC5kb25lKGZ1bmN0aW9uKCl7ZnQodCkuaGlkZSgpfSksaC5kb25lKGZ1bmN0aW9uKCl7dmFyIGU7ZnQuX3JlbW92ZURhdGEodCwiZnhzaG93Iik7Zm9yKGUgaW4gZClmdC5zdHlsZSh0LGUsZFtlXSl9KTtmb3IoaSBpbiBkKXM9VyhwP21baV06MCxpLGgpLGkgaW4gbXx8KG1baV09cy5zdGFydCxwJiYocy5lbmQ9cy5zdGFydCxzLnN0YXJ0PSJ3aWR0aCI9PT1pfHwiaGVpZ2h0Ij09PWk/MTowKSl9fWZ1bmN0aW9uIEkodCxlKXt2YXIgbixpLHIsbyxzO2ZvcihuIGluIHQpaWYoaT1mdC5jYW1lbENhc2Uobikscj1lW2ldLG89dFtuXSxmdC5pc0FycmF5KG8pJiYocj1vWzFdLG89dFtuXT1vWzBdKSxuIT09aSYmKHRbaV09byxkZWxldGUgdFtuXSkscz1mdC5jc3NIb29rc1tpXSxzJiYiZXhwYW5kImluIHMpe289cy5leHBhbmQobyksZGVsZXRlIHRbaV07Zm9yKG4gaW4gbyluIGluIHR8fCh0W25dPW9bbl0sZVtuXT1yKX1lbHNlIGVbaV09cn1mdW5jdGlvbiBCKHQsZSxuKXt2YXIgaSxyLG89MCxzPUIucHJlZmlsdGVycy5sZW5ndGgsYT1mdC5EZWZlcnJlZCgpLmFsd2F5cyhmdW5jdGlvbigpe2RlbGV0ZSBsLmVsZW19KSxsPWZ1bmN0aW9uKCl7aWYocilyZXR1cm4hMTtmb3IodmFyIGU9VGV8fFIoKSxuPU1hdGgubWF4KDAsdS5zdGFydFRpbWUrdS5kdXJhdGlvbi1lKSxpPW4vdS5kdXJhdGlvbnx8MCxvPTEtaSxzPTAsbD11LnR3ZWVucy5sZW5ndGg7czxsO3MrKyl1LnR3ZWVuc1tzXS5ydW4obyk7cmV0dXJuIGEubm90aWZ5V2l0aCh0LFt1LG8sbl0pLG88MSYmbD9uOihhLnJlc29sdmVXaXRoKHQsW3VdKSwhMSl9LHU9YS5wcm9taXNlKHtlbGVtOnQscHJvcHM6ZnQuZXh0ZW5kKHt9LGUpLG9wdHM6ZnQuZXh0ZW5kKCEwLHtzcGVjaWFsRWFzaW5nOnt9LGVhc2luZzpmdC5lYXNpbmcuX2RlZmF1bHR9LG4pLG9yaWdpbmFsUHJvcGVydGllczplLG9yaWdpbmFsT3B0aW9uczpuLHN0YXJ0VGltZTpUZXx8UigpLGR1cmF0aW9uOm4uZHVyYXRpb24sdHdlZW5zOltdLGNyZWF0ZVR3ZWVuOmZ1bmN0aW9uKGUsbil7dmFyIGk9ZnQuVHdlZW4odCx1Lm9wdHMsZSxuLHUub3B0cy5zcGVjaWFsRWFzaW5nW2VdfHx1Lm9wdHMuZWFzaW5nKTtyZXR1cm4gdS50d2VlbnMucHVzaChpKSxpfSxzdG9wOmZ1bmN0aW9uKGUpe3ZhciBuPTAsaT1lP3UudHdlZW5zLmxlbmd0aDowO2lmKHIpcmV0dXJuIHRoaXM7Zm9yKHI9ITA7bjxpO24rKyl1LnR3ZWVuc1tuXS5ydW4oMSk7cmV0dXJuIGU/KGEubm90aWZ5V2l0aCh0LFt1LDEsMF0pLGEucmVzb2x2ZVdpdGgodCxbdSxlXSkpOmEucmVqZWN0V2l0aCh0LFt1LGVdKSx0aGlzfX0pLGM9dS5wcm9wcztmb3IoSShjLHUub3B0cy5zcGVjaWFsRWFzaW5nKTtvPHM7bysrKWlmKGk9Qi5wcmVmaWx0ZXJzW29dLmNhbGwodSx0LGMsdS5vcHRzKSlyZXR1cm4gZnQuaXNGdW5jdGlvbihpLnN0b3ApJiYoZnQuX3F1ZXVlSG9va3ModS5lbGVtLHUub3B0cy5xdWV1ZSkuc3RvcD1mdC5wcm94eShpLnN0b3AsaSkpLGk7cmV0dXJuIGZ0Lm1hcChjLFcsdSksZnQuaXNGdW5jdGlvbih1Lm9wdHMuc3RhcnQpJiZ1Lm9wdHMuc3RhcnQuY2FsbCh0LHUpLGZ0LmZ4LnRpbWVyKGZ0LmV4dGVuZChsLHtlbGVtOnQsYW5pbTp1LHF1ZXVlOnUub3B0cy5xdWV1ZX0pKSx1LnByb2dyZXNzKHUub3B0cy5wcm9ncmVzcykuZG9uZSh1Lm9wdHMuZG9uZSx1Lm9wdHMuY29tcGxldGUpLmZhaWwodS5vcHRzLmZhaWwpLmFsd2F5cyh1Lm9wdHMuYWx3YXlzKX1mdW5jdGlvbiBVKHQpe3JldHVybiBmdC5hdHRyKHQsImNsYXNzIil8fCIifWZ1bmN0aW9uIHoodCl7cmV0dXJuIGZ1bmN0aW9uKGUsbil7InN0cmluZyIhPXR5cGVvZiBlJiYobj1lLGU9IioiKTt2YXIgaSxyPTAsbz1lLnRvTG93ZXJDYXNlKCkubWF0Y2goTnQpfHxbXTtpZihmdC5pc0Z1bmN0aW9uKG4pKWZvcig7aT1vW3IrK107KSIrIj09PWkuY2hhckF0KDApPyhpPWkuc2xpY2UoMSl8fCIqIiwodFtpXT10W2ldfHxbXSkudW5zaGlmdChuKSk6KHRbaV09dFtpXXx8W10pLnB1c2gobil9fWZ1bmN0aW9uICQodCxlLG4saSl7ZnVuY3Rpb24gcihhKXt2YXIgbDtyZXR1cm4gb1thXT0hMCxmdC5lYWNoKHRbYV18fFtdLGZ1bmN0aW9uKHQsYSl7dmFyIHU9YShlLG4saSk7cmV0dXJuInN0cmluZyIhPXR5cGVvZiB1fHxzfHxvW3VdP3M/IShsPXUpOnZvaWQgMDooZS5kYXRhVHlwZXMudW5zaGlmdCh1KSxyKHUpLCExKX0pLGx9dmFyIG89e30scz10PT09SmU7cmV0dXJuIHIoZS5kYXRhVHlwZXNbMF0pfHwhb1siKiJdJiZyKCIqIil9ZnVuY3Rpb24gRyh0LGUpe3ZhciBuLGkscj1mdC5hamF4U2V0dGluZ3MuZmxhdE9wdGlvbnN8fHt9O2ZvcihpIGluIGUpdm9pZCAwIT09ZVtpXSYmKChyW2ldP3Q6bnx8KG49e30pKVtpXT1lW2ldKTtyZXR1cm4gbiYmZnQuZXh0ZW5kKCEwLHQsbiksdH1mdW5jdGlvbiBWKHQsZSxuKXtmb3IodmFyIGkscixvLHMsYT10LmNvbnRlbnRzLGw9dC5kYXRhVHlwZXM7IioiPT09bFswXTspbC5zaGlmdCgpLHZvaWQgMD09PXImJihyPXQubWltZVR5cGV8fGUuZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHlwZSIpKTtpZihyKWZvcihzIGluIGEpaWYoYVtzXSYmYVtzXS50ZXN0KHIpKXtsLnVuc2hpZnQocyk7YnJlYWt9aWYobFswXWluIG4pbz1sWzBdO2Vsc2V7Zm9yKHMgaW4gbil7aWYoIWxbMF18fHQuY29udmVydGVyc1tzKyIgIitsWzBdXSl7bz1zO2JyZWFrfWl8fChpPXMpfW89b3x8aX1pZihvKXJldHVybiBvIT09bFswXSYmbC51bnNoaWZ0KG8pLG5bb119ZnVuY3Rpb24gWCh0LGUsbixpKXt2YXIgcixvLHMsYSxsLHU9e30sYz10LmRhdGFUeXBlcy5zbGljZSgpO2lmKGNbMV0pZm9yKHMgaW4gdC5jb252ZXJ0ZXJzKXVbcy50b0xvd2VyQ2FzZSgpXT10LmNvbnZlcnRlcnNbc107Zm9yKG89Yy5zaGlmdCgpO287KWlmKHQucmVzcG9uc2VGaWVsZHNbb10mJihuW3QucmVzcG9uc2VGaWVsZHNbb11dPWUpLCFsJiZpJiZ0LmRhdGFGaWx0ZXImJihlPXQuZGF0YUZpbHRlcihlLHQuZGF0YVR5cGUpKSxsPW8sbz1jLnNoaWZ0KCkpaWYoIioiPT09bylvPWw7ZWxzZSBpZigiKiIhPT1sJiZsIT09byl7aWYocz11W2wrIiAiK29dfHx1WyIqICIrb10sIXMpZm9yKHIgaW4gdSlpZihhPXIuc3BsaXQoIiAiKSxhWzFdPT09byYmKHM9dVtsKyIgIithWzBdXXx8dVsiKiAiK2FbMF1dKSl7cz09PSEwP3M9dVtyXTp1W3JdIT09ITAmJihvPWFbMF0sYy51bnNoaWZ0KGFbMV0pKTticmVha31pZihzIT09ITApaWYocyYmdC50aHJvd3MpZT1zKGUpO2Vsc2UgdHJ5e2U9cyhlKX1jYXRjaCh0KXtyZXR1cm57c3RhdGU6InBhcnNlcmVycm9yIixlcnJvcjpzP3Q6Ik5vIGNvbnZlcnNpb24gZnJvbSAiK2wrIiB0byAiK299fX1yZXR1cm57c3RhdGU6InN1Y2Nlc3MiLGRhdGE6ZX19ZnVuY3Rpb24gUSh0KXtyZXR1cm4gdC5zdHlsZSYmdC5zdHlsZS5kaXNwbGF5fHxmdC5jc3ModCwiZGlzcGxheSIpfWZ1bmN0aW9uIFoodCl7aWYoIWZ0LmNvbnRhaW5zKHQub3duZXJEb2N1bWVudHx8aXQsdCkpcmV0dXJuITA7Zm9yKDt0JiYxPT09dC5ub2RlVHlwZTspe2lmKCJub25lIj09PVEodCl8fCJoaWRkZW4iPT09dC50eXBlKXJldHVybiEwO3Q9dC5wYXJlbnROb2RlfXJldHVybiExfWZ1bmN0aW9uIEoodCxlLG4saSl7dmFyIHI7aWYoZnQuaXNBcnJheShlKSlmdC5lYWNoKGUsZnVuY3Rpb24oZSxyKXtufHxybi50ZXN0KHQpP2kodCxyKTpKKHQrIlsiKygib2JqZWN0Ij09dHlwZW9mIHImJm51bGwhPXI/ZToiIikrIl0iLHIsbixpKX0pO2Vsc2UgaWYobnx8Im9iamVjdCIhPT1mdC50eXBlKGUpKWkodCxlKTtlbHNlIGZvcihyIGluIGUpSih0KyJbIityKyJdIixlW3JdLG4saSl9ZnVuY3Rpb24gSygpe3RyeXtyZXR1cm4gbmV3IHQuWE1MSHR0cFJlcXVlc3R9Y2F0Y2godCl7fX1mdW5jdGlvbiB0dCgpe3RyeXtyZXR1cm4gbmV3IHQuQWN0aXZlWE9iamVjdCgiTWljcm9zb2Z0LlhNTEhUVFAiKX1jYXRjaCh0KXt9fWZ1bmN0aW9uIGV0KHQpe3JldHVybiBmdC5pc1dpbmRvdyh0KT90Ojk9PT10Lm5vZGVUeXBlJiYodC5kZWZhdWx0Vmlld3x8dC5wYXJlbnRXaW5kb3cpfXZhciBudD1bXSxpdD10LmRvY3VtZW50LHJ0PW50LnNsaWNlLG90PW50LmNvbmNhdCxzdD1udC5wdXNoLGF0PW50LmluZGV4T2YsbHQ9e30sdXQ9bHQudG9TdHJpbmcsY3Q9bHQuaGFzT3duUHJvcGVydHksaHQ9e30sZHQ9IjEuMTIuNCIsZnQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IGZ0LmZuLmluaXQodCxlKX0scHQ9L15bXHNcdUZFRkZceEEwXSt8W1xzXHVGRUZGXHhBMF0rJC9nLG10PS9eLW1zLS8sZ3Q9Ly0oW1xkYS16XSkvZ2kseXQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZS50b1VwcGVyQ2FzZSgpfTtmdC5mbj1mdC5wcm90b3R5cGU9e2pxdWVyeTpkdCxjb25zdHJ1Y3RvcjpmdCxzZWxlY3RvcjoiIixsZW5ndGg6MCx0b0FycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIHJ0LmNhbGwodGhpcyl9LGdldDpmdW5jdGlvbih0KXtyZXR1cm4gbnVsbCE9dD90PDA/dGhpc1t0K3RoaXMubGVuZ3RoXTp0aGlzW3RdOnJ0LmNhbGwodGhpcyl9LHB1c2hTdGFjazpmdW5jdGlvbih0KXt2YXIgZT1mdC5tZXJnZSh0aGlzLmNvbnN0cnVjdG9yKCksdCk7cmV0dXJuIGUucHJldk9iamVjdD10aGlzLGUuY29udGV4dD10aGlzLmNvbnRleHQsZX0sZWFjaDpmdW5jdGlvbih0KXtyZXR1cm4gZnQuZWFjaCh0aGlzLHQpfSxtYXA6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGZ0Lm1hcCh0aGlzLGZ1bmN0aW9uKGUsbil7cmV0dXJuIHQuY2FsbChlLG4sZSl9KSl9LHNsaWNlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKHJ0LmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9LGZpcnN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoMCl9LGxhc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgtMSl9LGVxOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMubGVuZ3RoLG49K3QrKHQ8MD9lOjApO3JldHVybiB0aGlzLnB1c2hTdGFjayhuPj0wJiZuPGU/W3RoaXNbbl1dOltdKX0sZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHJldk9iamVjdHx8dGhpcy5jb25zdHJ1Y3RvcigpfSxwdXNoOnN0LHNvcnQ6bnQuc29ydCxzcGxpY2U6bnQuc3BsaWNlfSxmdC5leHRlbmQ9ZnQuZm4uZXh0ZW5kPWZ1bmN0aW9uKCl7dmFyIHQsZSxuLGkscixvLHM9YXJndW1lbnRzWzBdfHx7fSxhPTEsbD1hcmd1bWVudHMubGVuZ3RoLHU9ITE7Zm9yKCJib29sZWFuIj09dHlwZW9mIHMmJih1PXMscz1hcmd1bWVudHNbYV18fHt9LGErKyksIm9iamVjdCI9PXR5cGVvZiBzfHxmdC5pc0Z1bmN0aW9uKHMpfHwocz17fSksYT09PWwmJihzPXRoaXMsYS0tKTthPGw7YSsrKWlmKG51bGwhPShyPWFyZ3VtZW50c1thXSkpZm9yKGkgaW4gcil0PXNbaV0sbj1yW2ldLHMhPT1uJiYodSYmbiYmKGZ0LmlzUGxhaW5PYmplY3Qobil8fChlPWZ0LmlzQXJyYXkobikpKT8oZT8oZT0hMSxvPXQmJmZ0LmlzQXJyYXkodCk/dDpbXSk6bz10JiZmdC5pc1BsYWluT2JqZWN0KHQpP3Q6e30sc1tpXT1mdC5leHRlbmQodSxvLG4pKTp2b2lkIDAhPT1uJiYoc1tpXT1uKSk7cmV0dXJuIHN9LGZ0LmV4dGVuZCh7ZXhwYW5kbzoialF1ZXJ5IisoZHQrTWF0aC5yYW5kb20oKSkucmVwbGFjZSgvXEQvZywiIiksaXNSZWFkeTohMCxlcnJvcjpmdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IodCl9LG5vb3A6ZnVuY3Rpb24oKXt9LGlzRnVuY3Rpb246ZnVuY3Rpb24odCl7cmV0dXJuImZ1bmN0aW9uIj09PWZ0LnR5cGUodCl9LGlzQXJyYXk6QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24odCl7cmV0dXJuImFycmF5Ij09PWZ0LnR5cGUodCl9LGlzV2luZG93OmZ1bmN0aW9uKHQpe3JldHVybiBudWxsIT10JiZ0PT10LndpbmRvd30saXNOdW1lcmljOmZ1bmN0aW9uKHQpe3ZhciBlPXQmJnQudG9TdHJpbmcoKTtyZXR1cm4hZnQuaXNBcnJheSh0KSYmZS1wYXJzZUZsb2F0KGUpKzE+PTB9LGlzRW1wdHlPYmplY3Q6ZnVuY3Rpb24odCl7dmFyIGU7Zm9yKGUgaW4gdClyZXR1cm4hMTtyZXR1cm4hMH0saXNQbGFpbk9iamVjdDpmdW5jdGlvbih0KXt2YXIgZTtpZighdHx8Im9iamVjdCIhPT1mdC50eXBlKHQpfHx0Lm5vZGVUeXBlfHxmdC5pc1dpbmRvdyh0KSlyZXR1cm4hMTt0cnl7aWYodC5jb25zdHJ1Y3RvciYmIWN0LmNhbGwodCwiY29uc3RydWN0b3IiKSYmIWN0LmNhbGwodC5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsImlzUHJvdG90eXBlT2YiKSlyZXR1cm4hMX1jYXRjaCh0KXtyZXR1cm4hMX1pZighaHQub3duRmlyc3QpZm9yKGUgaW4gdClyZXR1cm4gY3QuY2FsbCh0LGUpO2ZvcihlIGluIHQpO3JldHVybiB2b2lkIDA9PT1lfHxjdC5jYWxsKHQsZSl9LHR5cGU6ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/dCsiIjoib2JqZWN0Ij09dHlwZW9mIHR8fCJmdW5jdGlvbiI9PXR5cGVvZiB0P2x0W3V0LmNhbGwodCldfHwib2JqZWN0Ijp0eXBlb2YgdH0sZ2xvYmFsRXZhbDpmdW5jdGlvbihlKXtlJiZmdC50cmltKGUpJiYodC5leGVjU2NyaXB0fHxmdW5jdGlvbihlKXt0LmV2YWwuY2FsbCh0LGUpfSkoZSl9LGNhbWVsQ2FzZTpmdW5jdGlvbih0KXtyZXR1cm4gdC5yZXBsYWNlKG10LCJtcy0iKS5yZXBsYWNlKGd0LHl0KX0sbm9kZU5hbWU6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5ub2RlTmFtZSYmdC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09ZS50b0xvd2VyQ2FzZSgpfSxlYWNoOmZ1bmN0aW9uKHQsZSl7dmFyIGkscj0wO2lmKG4odCkpZm9yKGk9dC5sZW5ndGg7cjxpJiZlLmNhbGwodFtyXSxyLHRbcl0pIT09ITE7cisrKTtlbHNlIGZvcihyIGluIHQpaWYoZS5jYWxsKHRbcl0scix0W3JdKT09PSExKWJyZWFrO3JldHVybiB0fSx0cmltOmZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10PyIiOih0KyIiKS5yZXBsYWNlKHB0LCIiKX0sbWFrZUFycmF5OmZ1bmN0aW9uKHQsZSl7dmFyIGk9ZXx8W107cmV0dXJuIG51bGwhPXQmJihuKE9iamVjdCh0KSk/ZnQubWVyZ2UoaSwic3RyaW5nIj09dHlwZW9mIHQ/W3RdOnQpOnN0LmNhbGwoaSx0KSksaX0saW5BcnJheTpmdW5jdGlvbih0LGUsbil7dmFyIGk7aWYoZSl7aWYoYXQpcmV0dXJuIGF0LmNhbGwoZSx0LG4pO2ZvcihpPWUubGVuZ3RoLG49bj9uPDA/TWF0aC5tYXgoMCxpK24pOm46MDtuPGk7bisrKWlmKG4gaW4gZSYmZVtuXT09PXQpcmV0dXJuIG59cmV0dXJuLTF9LG1lcmdlOmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPStlLmxlbmd0aCxpPTAscj10Lmxlbmd0aDtpPG47KXRbcisrXT1lW2krK107aWYobiE9PW4pZm9yKDt2b2lkIDAhPT1lW2ldOyl0W3IrK109ZVtpKytdO3JldHVybiB0Lmxlbmd0aD1yLHR9LGdyZXA6ZnVuY3Rpb24odCxlLG4pe2Zvcih2YXIgaSxyPVtdLG89MCxzPXQubGVuZ3RoLGE9IW47bzxzO28rKylpPSFlKHRbb10sbyksaSE9PWEmJnIucHVzaCh0W29dKTtyZXR1cm4gcn0sbWFwOmZ1bmN0aW9uKHQsZSxpKXt2YXIgcixvLHM9MCxhPVtdO2lmKG4odCkpZm9yKHI9dC5sZW5ndGg7czxyO3MrKylvPWUodFtzXSxzLGkpLG51bGwhPW8mJmEucHVzaChvKTtlbHNlIGZvcihzIGluIHQpbz1lKHRbc10scyxpKSxudWxsIT1vJiZhLnB1c2gobyk7cmV0dXJuIG90LmFwcGx5KFtdLGEpfSxndWlkOjEscHJveHk6ZnVuY3Rpb24odCxlKXt2YXIgbixpLHI7aWYoInN0cmluZyI9PXR5cGVvZiBlJiYocj10W2VdLGU9dCx0PXIpLGZ0LmlzRnVuY3Rpb24odCkpcmV0dXJuIG49cnQuY2FsbChhcmd1bWVudHMsMiksaT1mdW5jdGlvbigpe3JldHVybiB0LmFwcGx5KGV8fHRoaXMsbi5jb25jYXQocnQuY2FsbChhcmd1bWVudHMpKSl9LGkuZ3VpZD10Lmd1aWQ9dC5ndWlkfHxmdC5ndWlkKyssaX0sbm93OmZ1bmN0aW9uKCl7cmV0dXJuK25ldyBEYXRlfSxzdXBwb3J0Omh0fSksImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKGZ0LmZuW1N5bWJvbC5pdGVyYXRvcl09bnRbU3ltYm9sLml0ZXJhdG9yXSksZnQuZWFjaCgiQm9vbGVhbiBOdW1iZXIgU3RyaW5nIEZ1bmN0aW9uIEFycmF5IERhdGUgUmVnRXhwIE9iamVjdCBFcnJvciBTeW1ib2wiLnNwbGl0KCIgIiksZnVuY3Rpb24odCxlKXtsdFsiW29iamVjdCAiK2UrIl0iXT1lLnRvTG93ZXJDYXNlKCl9KTt2YXIgdnQ9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUsbixpKXt2YXIgcixvLHMsYSxsLHUsaCxmLHA9ZSYmZS5vd25lckRvY3VtZW50LG09ZT9lLm5vZGVUeXBlOjk7aWYobj1ufHxbXSwic3RyaW5nIiE9dHlwZW9mIHR8fCF0fHwxIT09bSYmOSE9PW0mJjExIT09bSlyZXR1cm4gbjtpZighaSYmKChlP2Uub3duZXJEb2N1bWVudHx8ZTpXKSE9PU8mJkUoZSksZT1lfHxPLFApKXtpZigxMSE9PW0mJih1PXl0LmV4ZWModCkpKWlmKHI9dVsxXSl7aWYoOT09PW0pe2lmKCEocz1lLmdldEVsZW1lbnRCeUlkKHIpKSlyZXR1cm4gbjtpZihzLmlkPT09cilyZXR1cm4gbi5wdXNoKHMpLG59ZWxzZSBpZihwJiYocz1wLmdldEVsZW1lbnRCeUlkKHIpKSYmUihlLHMpJiZzLmlkPT09cilyZXR1cm4gbi5wdXNoKHMpLG59ZWxzZXtpZih1WzJdKXJldHVybiBKLmFwcGx5KG4sZS5nZXRFbGVtZW50c0J5VGFnTmFtZSh0KSksCm47aWYoKHI9dVszXSkmJnguZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKXJldHVybiBKLmFwcGx5KG4sZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKHIpKSxufWlmKHgucXNhJiYhelt0KyIgIl0mJighTHx8IUwudGVzdCh0KSkpe2lmKDEhPT1tKXA9ZSxmPXQ7ZWxzZSBpZigib2JqZWN0IiE9PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl7Zm9yKChhPWUuZ2V0QXR0cmlidXRlKCJpZCIpKT9hPWEucmVwbGFjZSh3dCwiXFwkJiIpOmUuc2V0QXR0cmlidXRlKCJpZCIsYT1IKSxoPVQodCksbz1oLmxlbmd0aCxsPWR0LnRlc3QoYSk/IiMiK2E6IltpZD0nIithKyInXSI7by0tOyloW29dPWwrIiAiK2QoaFtvXSk7Zj1oLmpvaW4oIiwiKSxwPXZ0LnRlc3QodCkmJmMoZS5wYXJlbnROb2RlKXx8ZX1pZihmKXRyeXtyZXR1cm4gSi5hcHBseShuLHAucXVlcnlTZWxlY3RvckFsbChmKSksbn1jYXRjaCh0KXt9ZmluYWxseXthPT09SCYmZS5yZW1vdmVBdHRyaWJ1dGUoImlkIil9fX1yZXR1cm4gRCh0LnJlcGxhY2UoYXQsIiQxIiksZSxuLGkpfWZ1bmN0aW9uIG4oKXtmdW5jdGlvbiB0KG4saSl7cmV0dXJuIGUucHVzaChuKyIgIik+Xy5jYWNoZUxlbmd0aCYmZGVsZXRlIHRbZS5zaGlmdCgpXSx0W24rIiAiXT1pfXZhciBlPVtdO3JldHVybiB0fWZ1bmN0aW9uIGkodCl7cmV0dXJuIHRbSF09ITAsdH1mdW5jdGlvbiByKHQpe3ZhciBlPU8uY3JlYXRlRWxlbWVudCgiZGl2Iik7dHJ5e3JldHVybiEhdChlKX1jYXRjaCh0KXtyZXR1cm4hMX1maW5hbGx5e2UucGFyZW50Tm9kZSYmZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGUpLGU9bnVsbH19ZnVuY3Rpb24gbyh0LGUpe2Zvcih2YXIgbj10LnNwbGl0KCJ8IiksaT1uLmxlbmd0aDtpLS07KV8uYXR0ckhhbmRsZVtuW2ldXT1lfWZ1bmN0aW9uIHModCxlKXt2YXIgbj1lJiZ0LGk9biYmMT09PXQubm9kZVR5cGUmJjE9PT1lLm5vZGVUeXBlJiYofmUuc291cmNlSW5kZXh8fEcpLSh+dC5zb3VyY2VJbmRleHx8Ryk7aWYoaSlyZXR1cm4gaTtpZihuKWZvcig7bj1uLm5leHRTaWJsaW5nOylpZihuPT09ZSlyZXR1cm4tMTtyZXR1cm4gdD8xOi0xfWZ1bmN0aW9uIGEodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBuPWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4iaW5wdXQiPT09biYmZS50eXBlPT09dH19ZnVuY3Rpb24gbCh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIG49ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybigiaW5wdXQiPT09bnx8ImJ1dHRvbiI9PT1uKSYmZS50eXBlPT09dH19ZnVuY3Rpb24gdSh0KXtyZXR1cm4gaShmdW5jdGlvbihlKXtyZXR1cm4gZT0rZSxpKGZ1bmN0aW9uKG4saSl7Zm9yKHZhciByLG89dChbXSxuLmxlbmd0aCxlKSxzPW8ubGVuZ3RoO3MtLTspbltyPW9bc11dJiYobltyXT0hKGlbcl09bltyXSkpfSl9KX1mdW5jdGlvbiBjKHQpe3JldHVybiB0JiYidW5kZWZpbmVkIiE9dHlwZW9mIHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUmJnR9ZnVuY3Rpb24gaCgpe31mdW5jdGlvbiBkKHQpe2Zvcih2YXIgZT0wLG49dC5sZW5ndGgsaT0iIjtlPG47ZSsrKWkrPXRbZV0udmFsdWU7cmV0dXJuIGl9ZnVuY3Rpb24gZih0LGUsbil7dmFyIGk9ZS5kaXIscj1uJiYicGFyZW50Tm9kZSI9PT1pLG89SSsrO3JldHVybiBlLmZpcnN0P2Z1bmN0aW9uKGUsbixvKXtmb3IoO2U9ZVtpXTspaWYoMT09PWUubm9kZVR5cGV8fHIpcmV0dXJuIHQoZSxuLG8pfTpmdW5jdGlvbihlLG4scyl7dmFyIGEsbCx1LGM9W3Esb107aWYocyl7Zm9yKDtlPWVbaV07KWlmKCgxPT09ZS5ub2RlVHlwZXx8cikmJnQoZSxuLHMpKXJldHVybiEwfWVsc2UgZm9yKDtlPWVbaV07KWlmKDE9PT1lLm5vZGVUeXBlfHxyKXtpZih1PWVbSF18fChlW0hdPXt9KSxsPXVbZS51bmlxdWVJRF18fCh1W2UudW5pcXVlSURdPXt9KSwoYT1sW2ldKSYmYVswXT09PXEmJmFbMV09PT1vKXJldHVybiBjWzJdPWFbMl07aWYobFtpXT1jLGNbMl09dChlLG4scykpcmV0dXJuITB9fX1mdW5jdGlvbiBwKHQpe3JldHVybiB0Lmxlbmd0aD4xP2Z1bmN0aW9uKGUsbixpKXtmb3IodmFyIHI9dC5sZW5ndGg7ci0tOylpZighdFtyXShlLG4saSkpcmV0dXJuITE7cmV0dXJuITB9OnRbMF19ZnVuY3Rpb24gbSh0LG4saSl7Zm9yKHZhciByPTAsbz1uLmxlbmd0aDtyPG87cisrKWUodCxuW3JdLGkpO3JldHVybiBpfWZ1bmN0aW9uIGcodCxlLG4saSxyKXtmb3IodmFyIG8scz1bXSxhPTAsbD10Lmxlbmd0aCx1PW51bGwhPWU7YTxsO2ErKykobz10W2FdKSYmKG4mJiFuKG8saSxyKXx8KHMucHVzaChvKSx1JiZlLnB1c2goYSkpKTtyZXR1cm4gc31mdW5jdGlvbiB5KHQsZSxuLHIsbyxzKXtyZXR1cm4gciYmIXJbSF0mJihyPXkocikpLG8mJiFvW0hdJiYobz15KG8scykpLGkoZnVuY3Rpb24oaSxzLGEsbCl7dmFyIHUsYyxoLGQ9W10sZj1bXSxwPXMubGVuZ3RoLHk9aXx8bShlfHwiKiIsYS5ub2RlVHlwZT9bYV06YSxbXSksdj0hdHx8IWkmJmU/eTpnKHksZCx0LGEsbCksdz1uP298fChpP3Q6cHx8cik/W106czp2O2lmKG4mJm4odix3LGEsbCkscilmb3IodT1nKHcsZikscih1LFtdLGEsbCksYz11Lmxlbmd0aDtjLS07KShoPXVbY10pJiYod1tmW2NdXT0hKHZbZltjXV09aCkpO2lmKGkpe2lmKG98fHQpe2lmKG8pe2Zvcih1PVtdLGM9dy5sZW5ndGg7Yy0tOykoaD13W2NdKSYmdS5wdXNoKHZbY109aCk7byhudWxsLHc9W10sdSxsKX1mb3IoYz13Lmxlbmd0aDtjLS07KShoPXdbY10pJiYodT1vP3R0KGksaCk6ZFtjXSk+LTEmJihpW3VdPSEoc1t1XT1oKSl9fWVsc2Ugdz1nKHc9PT1zP3cuc3BsaWNlKHAsdy5sZW5ndGgpOncpLG8/byhudWxsLHMsdyxsKTpKLmFwcGx5KHMsdyl9KX1mdW5jdGlvbiB2KHQpe2Zvcih2YXIgZSxuLGkscj10Lmxlbmd0aCxvPV8ucmVsYXRpdmVbdFswXS50eXBlXSxzPW98fF8ucmVsYXRpdmVbIiAiXSxhPW8/MTowLGw9ZihmdW5jdGlvbih0KXtyZXR1cm4gdD09PWV9LHMsITApLHU9ZihmdW5jdGlvbih0KXtyZXR1cm4gdHQoZSx0KT4tMX0scywhMCksYz1bZnVuY3Rpb24odCxuLGkpe3ZhciByPSFvJiYoaXx8biE9PU0pfHwoKGU9bikubm9kZVR5cGU/bCh0LG4saSk6dSh0LG4saSkpO3JldHVybiBlPW51bGwscn1dO2E8cjthKyspaWYobj1fLnJlbGF0aXZlW3RbYV0udHlwZV0pYz1bZihwKGMpLG4pXTtlbHNle2lmKG49Xy5maWx0ZXJbdFthXS50eXBlXS5hcHBseShudWxsLHRbYV0ubWF0Y2hlcyksbltIXSl7Zm9yKGk9KythO2k8ciYmIV8ucmVsYXRpdmVbdFtpXS50eXBlXTtpKyspO3JldHVybiB5KGE+MSYmcChjKSxhPjEmJmQodC5zbGljZSgwLGEtMSkuY29uY2F0KHt2YWx1ZToiICI9PT10W2EtMl0udHlwZT8iKiI6IiJ9KSkucmVwbGFjZShhdCwiJDEiKSxuLGE8aSYmdih0LnNsaWNlKGEsaSkpLGk8ciYmdih0PXQuc2xpY2UoaSkpLGk8ciYmZCh0KSl9Yy5wdXNoKG4pfXJldHVybiBwKGMpfWZ1bmN0aW9uIHcodCxuKXt2YXIgcj1uLmxlbmd0aD4wLG89dC5sZW5ndGg+MCxzPWZ1bmN0aW9uKGkscyxhLGwsdSl7dmFyIGMsaCxkLGY9MCxwPSIwIixtPWkmJltdLHk9W10sdj1NLHc9aXx8byYmXy5maW5kLlRBRygiKiIsdSksYj1xKz1udWxsPT12PzE6TWF0aC5yYW5kb20oKXx8LjEseD13Lmxlbmd0aDtmb3IodSYmKE09cz09PU98fHN8fHUpO3AhPT14JiZudWxsIT0oYz13W3BdKTtwKyspe2lmKG8mJmMpe2ZvcihoPTAsc3x8Yy5vd25lckRvY3VtZW50PT09T3x8KEUoYyksYT0hUCk7ZD10W2grK107KWlmKGQoYyxzfHxPLGEpKXtsLnB1c2goYyk7YnJlYWt9dSYmKHE9Yil9ciYmKChjPSFkJiZjKSYmZi0tLGkmJm0ucHVzaChjKSl9aWYoZis9cCxyJiZwIT09Zil7Zm9yKGg9MDtkPW5baCsrXTspZChtLHkscyxhKTtpZihpKXtpZihmPjApZm9yKDtwLS07KW1bcF18fHlbcF18fCh5W3BdPVEuY2FsbChsKSk7eT1nKHkpfUouYXBwbHkobCx5KSx1JiYhaSYmeS5sZW5ndGg+MCYmZituLmxlbmd0aD4xJiZlLnVuaXF1ZVNvcnQobCl9cmV0dXJuIHUmJihxPWIsTT12KSxtfTtyZXR1cm4gcj9pKHMpOnN9dmFyIGIseCxfLGssUyxULEMsRCxNLE4saixFLE8sQSxQLEwsWSxGLFIsSD0ic2l6emxlIisxKm5ldyBEYXRlLFc9dC5kb2N1bWVudCxxPTAsST0wLEI9bigpLFU9bigpLHo9bigpLCQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD09PWUmJihqPSEwKSwwfSxHPTE8PDMxLFY9e30uaGFzT3duUHJvcGVydHksWD1bXSxRPVgucG9wLFo9WC5wdXNoLEo9WC5wdXNoLEs9WC5zbGljZSx0dD1mdW5jdGlvbih0LGUpe2Zvcih2YXIgbj0wLGk9dC5sZW5ndGg7bjxpO24rKylpZih0W25dPT09ZSlyZXR1cm4gbjtyZXR1cm4tMX0sZXQ9ImNoZWNrZWR8c2VsZWN0ZWR8YXN5bmN8YXV0b2ZvY3VzfGF1dG9wbGF5fGNvbnRyb2xzfGRlZmVyfGRpc2FibGVkfGhpZGRlbnxpc21hcHxsb29wfG11bHRpcGxlfG9wZW58cmVhZG9ubHl8cmVxdWlyZWR8c2NvcGVkIixudD0iW1xceDIwXFx0XFxyXFxuXFxmXSIsaXQ9Iig/OlxcXFwufFtcXHctXXxbXlxceDAwLVxceGEwXSkrIixydD0iXFxbIitudCsiKigiK2l0KyIpKD86IitudCsiKihbKl4kfCF+XT89KSIrbnQrIiooPzonKCg/OlxcXFwufFteXFxcXCddKSopJ3xcIigoPzpcXFxcLnxbXlxcXFxcIl0pKilcInwoIitpdCsiKSl8KSIrbnQrIipcXF0iLG90PSI6KCIraXQrIikoPzpcXCgoKCcoKD86XFxcXC58W15cXFxcJ10pKiknfFwiKCg/OlxcXFwufFteXFxcXFwiXSkqKVwiKXwoKD86XFxcXC58W15cXFxcKClbXFxdXXwiK3J0KyIpKil8LiopXFwpfCkiLHN0PW5ldyBSZWdFeHAobnQrIisiLCJnIiksYXQ9bmV3IFJlZ0V4cCgiXiIrbnQrIit8KCg/Ol58W15cXFxcXSkoPzpcXFxcLikqKSIrbnQrIiskIiwiZyIpLGx0PW5ldyBSZWdFeHAoIl4iK250KyIqLCIrbnQrIioiKSx1dD1uZXcgUmVnRXhwKCJeIitudCsiKihbPit+XXwiK250KyIpIitudCsiKiIpLGN0PW5ldyBSZWdFeHAoIj0iK250KyIqKFteXFxdJ1wiXSo/KSIrbnQrIipcXF0iLCJnIiksaHQ9bmV3IFJlZ0V4cChvdCksZHQ9bmV3IFJlZ0V4cCgiXiIraXQrIiQiKSxmdD17SUQ6bmV3IFJlZ0V4cCgiXiMoIitpdCsiKSIpLENMQVNTOm5ldyBSZWdFeHAoIl5cXC4oIitpdCsiKSIpLFRBRzpuZXcgUmVnRXhwKCJeKCIraXQrInxbKl0pIiksQVRUUjpuZXcgUmVnRXhwKCJeIitydCksUFNFVURPOm5ldyBSZWdFeHAoIl4iK290KSxDSElMRDpuZXcgUmVnRXhwKCJeOihvbmx5fGZpcnN0fGxhc3R8bnRofG50aC1sYXN0KS0oY2hpbGR8b2YtdHlwZSkoPzpcXCgiK250KyIqKGV2ZW58b2RkfCgoWystXXwpKFxcZCopbnwpIitudCsiKig/OihbKy1dfCkiK250KyIqKFxcZCspfCkpIitudCsiKlxcKXwpIiwiaSIpLGJvb2w6bmV3IFJlZ0V4cCgiXig/OiIrZXQrIikkIiwiaSIpLG5lZWRzQ29udGV4dDpuZXcgUmVnRXhwKCJeIitudCsiKls+K35dfDooZXZlbnxvZGR8ZXF8Z3R8bHR8bnRofGZpcnN0fGxhc3QpKD86XFwoIitudCsiKigoPzotXFxkKT9cXGQqKSIrbnQrIipcXCl8KSg/PVteLV18JCkiLCJpIil9LHB0PS9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGJ1dHRvbikkL2ksbXQ9L15oXGQkL2ksZ3Q9L15bXntdK1x7XHMqXFtuYXRpdmUgXHcvLHl0PS9eKD86IyhbXHctXSspfChcdyspfFwuKFtcdy1dKykpJC8sdnQ9L1srfl0vLHd0PS8nfFxcL2csYnQ9bmV3IFJlZ0V4cCgiXFxcXChbXFxkYS1mXXsxLDZ9IitudCsiP3woIitudCsiKXwuKSIsImlnIikseHQ9ZnVuY3Rpb24odCxlLG4pe3ZhciBpPSIweCIrZS02NTUzNjtyZXR1cm4gaSE9PWl8fG4/ZTppPDA/U3RyaW5nLmZyb21DaGFyQ29kZShpKzY1NTM2KTpTdHJpbmcuZnJvbUNoYXJDb2RlKGk+PjEwfDU1Mjk2LDEwMjMmaXw1NjMyMCl9LF90PWZ1bmN0aW9uKCl7RSgpfTt0cnl7Si5hcHBseShYPUsuY2FsbChXLmNoaWxkTm9kZXMpLFcuY2hpbGROb2RlcyksWFtXLmNoaWxkTm9kZXMubGVuZ3RoXS5ub2RlVHlwZX1jYXRjaCh0KXtKPXthcHBseTpYLmxlbmd0aD9mdW5jdGlvbih0LGUpe1ouYXBwbHkodCxLLmNhbGwoZSkpfTpmdW5jdGlvbih0LGUpe2Zvcih2YXIgbj10Lmxlbmd0aCxpPTA7dFtuKytdPWVbaSsrXTspO3QubGVuZ3RoPW4tMX19fXg9ZS5zdXBwb3J0PXt9LFM9ZS5pc1hNTD1mdW5jdGlvbih0KXt2YXIgZT10JiYodC5vd25lckRvY3VtZW50fHx0KS5kb2N1bWVudEVsZW1lbnQ7cmV0dXJuISFlJiYiSFRNTCIhPT1lLm5vZGVOYW1lfSxFPWUuc2V0RG9jdW1lbnQ9ZnVuY3Rpb24odCl7dmFyIGUsbixpPXQ/dC5vd25lckRvY3VtZW50fHx0Olc7cmV0dXJuIGkhPT1PJiY5PT09aS5ub2RlVHlwZSYmaS5kb2N1bWVudEVsZW1lbnQ/KE89aSxBPU8uZG9jdW1lbnRFbGVtZW50LFA9IVMoTyksKG49Ty5kZWZhdWx0VmlldykmJm4udG9wIT09biYmKG4uYWRkRXZlbnRMaXN0ZW5lcj9uLmFkZEV2ZW50TGlzdGVuZXIoInVubG9hZCIsX3QsITEpOm4uYXR0YWNoRXZlbnQmJm4uYXR0YWNoRXZlbnQoIm9udW5sb2FkIixfdCkpLHguYXR0cmlidXRlcz1yKGZ1bmN0aW9uKHQpe3JldHVybiB0LmNsYXNzTmFtZT0iaSIsIXQuZ2V0QXR0cmlidXRlKCJjbGFzc05hbWUiKX0pLHguZ2V0RWxlbWVudHNCeVRhZ05hbWU9cihmdW5jdGlvbih0KXtyZXR1cm4gdC5hcHBlbmRDaGlsZChPLmNyZWF0ZUNvbW1lbnQoIiIpKSwhdC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aH0pLHguZ2V0RWxlbWVudHNCeUNsYXNzTmFtZT1ndC50ZXN0KE8uZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSkseC5nZXRCeUlkPXIoZnVuY3Rpb24odCl7cmV0dXJuIEEuYXBwZW5kQ2hpbGQodCkuaWQ9SCwhTy5nZXRFbGVtZW50c0J5TmFtZXx8IU8uZ2V0RWxlbWVudHNCeU5hbWUoSCkubGVuZ3RofSkseC5nZXRCeUlkPyhfLmZpbmQuSUQ9ZnVuY3Rpb24odCxlKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIGUuZ2V0RWxlbWVudEJ5SWQmJlApe3ZhciBuPWUuZ2V0RWxlbWVudEJ5SWQodCk7cmV0dXJuIG4/W25dOltdfX0sXy5maWx0ZXIuSUQ9ZnVuY3Rpb24odCl7dmFyIGU9dC5yZXBsYWNlKGJ0LHh0KTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0QXR0cmlidXRlKCJpZCIpPT09ZX19KTooZGVsZXRlIF8uZmluZC5JRCxfLmZpbHRlci5JRD1mdW5jdGlvbih0KXt2YXIgZT10LnJlcGxhY2UoYnQseHQpO3JldHVybiBmdW5jdGlvbih0KXt2YXIgbj0idW5kZWZpbmVkIiE9dHlwZW9mIHQuZ2V0QXR0cmlidXRlTm9kZSYmdC5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpO3JldHVybiBuJiZuLnZhbHVlPT09ZX19KSxfLmZpbmQuVEFHPXguZ2V0RWxlbWVudHNCeVRhZ05hbWU/ZnVuY3Rpb24odCxlKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIGUuZ2V0RWxlbWVudHNCeVRhZ05hbWU/ZS5nZXRFbGVtZW50c0J5VGFnTmFtZSh0KTp4LnFzYT9lLnF1ZXJ5U2VsZWN0b3JBbGwodCk6dm9pZCAwfTpmdW5jdGlvbih0LGUpe3ZhciBuLGk9W10scj0wLG89ZS5nZXRFbGVtZW50c0J5VGFnTmFtZSh0KTtpZigiKiI9PT10KXtmb3IoO249b1tyKytdOykxPT09bi5ub2RlVHlwZSYmaS5wdXNoKG4pO3JldHVybiBpfXJldHVybiBvfSxfLmZpbmQuQ0xBU1M9eC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lJiZmdW5jdGlvbih0LGUpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgZS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lJiZQKXJldHVybiBlLmdldEVsZW1lbnRzQnlDbGFzc05hbWUodCl9LFk9W10sTD1bXSwoeC5xc2E9Z3QudGVzdChPLnF1ZXJ5U2VsZWN0b3JBbGwpKSYmKHIoZnVuY3Rpb24odCl7QS5hcHBlbmRDaGlsZCh0KS5pbm5lckhUTUw9IjxhIGlkPSciK0grIic+PC9hPjxzZWxlY3QgaWQ9JyIrSCsiLVxyXFwnIG1zYWxsb3djYXB0dXJlPScnPjxvcHRpb24gc2VsZWN0ZWQ9Jyc+PC9vcHRpb24+PC9zZWxlY3Q+Iix0LnF1ZXJ5U2VsZWN0b3JBbGwoIlttc2FsbG93Y2FwdHVyZV49JyddIikubGVuZ3RoJiZMLnB1c2goIlsqXiRdPSIrbnQrIiooPzonJ3xcIlwiKSIpLHQucXVlcnlTZWxlY3RvckFsbCgiW3NlbGVjdGVkXSIpLmxlbmd0aHx8TC5wdXNoKCJcXFsiK250KyIqKD86dmFsdWV8IitldCsiKSIpLHQucXVlcnlTZWxlY3RvckFsbCgiW2lkfj0iK0grIi1dIikubGVuZ3RofHxMLnB1c2goIn49IiksdC5xdWVyeVNlbGVjdG9yQWxsKCI6Y2hlY2tlZCIpLmxlbmd0aHx8TC5wdXNoKCI6Y2hlY2tlZCIpLHQucXVlcnlTZWxlY3RvckFsbCgiYSMiK0grIisqIikubGVuZ3RofHxMLnB1c2goIi4jLitbK35dIil9KSxyKGZ1bmN0aW9uKHQpe3ZhciBlPU8uY3JlYXRlRWxlbWVudCgiaW5wdXQiKTtlLnNldEF0dHJpYnV0ZSgidHlwZSIsImhpZGRlbiIpLHQuYXBwZW5kQ2hpbGQoZSkuc2V0QXR0cmlidXRlKCJuYW1lIiwiRCIpLHQucXVlcnlTZWxlY3RvckFsbCgiW25hbWU9ZF0iKS5sZW5ndGgmJkwucHVzaCgibmFtZSIrbnQrIipbKl4kfCF+XT89IiksdC5xdWVyeVNlbGVjdG9yQWxsKCI6ZW5hYmxlZCIpLmxlbmd0aHx8TC5wdXNoKCI6ZW5hYmxlZCIsIjpkaXNhYmxlZCIpLHQucXVlcnlTZWxlY3RvckFsbCgiKiw6eCIpLEwucHVzaCgiLC4qOiIpfSkpLCh4Lm1hdGNoZXNTZWxlY3Rvcj1ndC50ZXN0KEY9QS5tYXRjaGVzfHxBLndlYmtpdE1hdGNoZXNTZWxlY3Rvcnx8QS5tb3pNYXRjaGVzU2VsZWN0b3J8fEEub01hdGNoZXNTZWxlY3Rvcnx8QS5tc01hdGNoZXNTZWxlY3RvcikpJiZyKGZ1bmN0aW9uKHQpe3guZGlzY29ubmVjdGVkTWF0Y2g9Ri5jYWxsKHQsImRpdiIpLEYuY2FsbCh0LCJbcyE9JyddOngiKSxZLnB1c2goIiE9IixvdCl9KSxMPUwubGVuZ3RoJiZuZXcgUmVnRXhwKEwuam9pbigifCIpKSxZPVkubGVuZ3RoJiZuZXcgUmVnRXhwKFkuam9pbigifCIpKSxlPWd0LnRlc3QoQS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiksUj1lfHxndC50ZXN0KEEuY29udGFpbnMpP2Z1bmN0aW9uKHQsZSl7dmFyIG49OT09PXQubm9kZVR5cGU/dC5kb2N1bWVudEVsZW1lbnQ6dCxpPWUmJmUucGFyZW50Tm9kZTtyZXR1cm4gdD09PWl8fCEoIWl8fDEhPT1pLm5vZGVUeXBlfHwhKG4uY29udGFpbnM/bi5jb250YWlucyhpKTp0LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uJiYxNiZ0LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGkpKSl9OmZ1bmN0aW9uKHQsZSl7aWYoZSlmb3IoO2U9ZS5wYXJlbnROb2RlOylpZihlPT09dClyZXR1cm4hMDtyZXR1cm4hMX0sJD1lP2Z1bmN0aW9uKHQsZSl7aWYodD09PWUpcmV0dXJuIGo9ITAsMDt2YXIgbj0hdC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbi0hZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbjtyZXR1cm4gbj9uOihuPSh0Lm93bmVyRG9jdW1lbnR8fHQpPT09KGUub3duZXJEb2N1bWVudHx8ZSk/dC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihlKToxLDEmbnx8IXguc29ydERldGFjaGVkJiZlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKHQpPT09bj90PT09T3x8dC5vd25lckRvY3VtZW50PT09VyYmUihXLHQpPy0xOmU9PT1PfHxlLm93bmVyRG9jdW1lbnQ9PT1XJiZSKFcsZSk/MTpOP3R0KE4sdCktdHQoTixlKTowOjQmbj8tMToxKX06ZnVuY3Rpb24odCxlKXtpZih0PT09ZSlyZXR1cm4gaj0hMCwwO3ZhciBuLGk9MCxyPXQucGFyZW50Tm9kZSxvPWUucGFyZW50Tm9kZSxhPVt0XSxsPVtlXTtpZighcnx8IW8pcmV0dXJuIHQ9PT1PPy0xOmU9PT1PPzE6cj8tMTpvPzE6Tj90dChOLHQpLXR0KE4sZSk6MDtpZihyPT09bylyZXR1cm4gcyh0LGUpO2ZvcihuPXQ7bj1uLnBhcmVudE5vZGU7KWEudW5zaGlmdChuKTtmb3Iobj1lO249bi5wYXJlbnROb2RlOylsLnVuc2hpZnQobik7Zm9yKDthW2ldPT09bFtpXTspaSsrO3JldHVybiBpP3MoYVtpXSxsW2ldKTphW2ldPT09Vz8tMTpsW2ldPT09Vz8xOjB9LE8pOk99LGUubWF0Y2hlcz1mdW5jdGlvbih0LG4pe3JldHVybiBlKHQsbnVsbCxudWxsLG4pfSxlLm1hdGNoZXNTZWxlY3Rvcj1mdW5jdGlvbih0LG4pe2lmKCh0Lm93bmVyRG9jdW1lbnR8fHQpIT09TyYmRSh0KSxuPW4ucmVwbGFjZShjdCwiPSckMSddIikseC5tYXRjaGVzU2VsZWN0b3ImJlAmJiF6W24rIiAiXSYmKCFZfHwhWS50ZXN0KG4pKSYmKCFMfHwhTC50ZXN0KG4pKSl0cnl7dmFyIGk9Ri5jYWxsKHQsbik7aWYoaXx8eC5kaXNjb25uZWN0ZWRNYXRjaHx8dC5kb2N1bWVudCYmMTEhPT10LmRvY3VtZW50Lm5vZGVUeXBlKXJldHVybiBpfWNhdGNoKHQpe31yZXR1cm4gZShuLE8sbnVsbCxbdF0pLmxlbmd0aD4wfSxlLmNvbnRhaW5zPWZ1bmN0aW9uKHQsZSl7cmV0dXJuKHQub3duZXJEb2N1bWVudHx8dCkhPT1PJiZFKHQpLFIodCxlKX0sZS5hdHRyPWZ1bmN0aW9uKHQsZSl7KHQub3duZXJEb2N1bWVudHx8dCkhPT1PJiZFKHQpO3ZhciBuPV8uYXR0ckhhbmRsZVtlLnRvTG93ZXJDYXNlKCldLGk9biYmVi5jYWxsKF8uYXR0ckhhbmRsZSxlLnRvTG93ZXJDYXNlKCkpP24odCxlLCFQKTp2b2lkIDA7cmV0dXJuIHZvaWQgMCE9PWk/aTp4LmF0dHJpYnV0ZXN8fCFQP3QuZ2V0QXR0cmlidXRlKGUpOihpPXQuZ2V0QXR0cmlidXRlTm9kZShlKSkmJmkuc3BlY2lmaWVkP2kudmFsdWU6bnVsbH0sZS5lcnJvcj1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoIlN5bnRheCBlcnJvciwgdW5yZWNvZ25pemVkIGV4cHJlc3Npb246ICIrdCl9LGUudW5pcXVlU29ydD1mdW5jdGlvbih0KXt2YXIgZSxuPVtdLGk9MCxyPTA7aWYoaj0heC5kZXRlY3REdXBsaWNhdGVzLE49IXguc29ydFN0YWJsZSYmdC5zbGljZSgwKSx0LnNvcnQoJCksail7Zm9yKDtlPXRbcisrXTspZT09PXRbcl0mJihpPW4ucHVzaChyKSk7Zm9yKDtpLS07KXQuc3BsaWNlKG5baV0sMSl9cmV0dXJuIE49bnVsbCx0fSxrPWUuZ2V0VGV4dD1mdW5jdGlvbih0KXt2YXIgZSxuPSIiLGk9MCxyPXQubm9kZVR5cGU7aWYocil7aWYoMT09PXJ8fDk9PT1yfHwxMT09PXIpe2lmKCJzdHJpbmciPT10eXBlb2YgdC50ZXh0Q29udGVudClyZXR1cm4gdC50ZXh0Q29udGVudDtmb3IodD10LmZpcnN0Q2hpbGQ7dDt0PXQubmV4dFNpYmxpbmcpbis9ayh0KX1lbHNlIGlmKDM9PT1yfHw0PT09cilyZXR1cm4gdC5ub2RlVmFsdWV9ZWxzZSBmb3IoO2U9dFtpKytdOyluKz1rKGUpO3JldHVybiBufSxfPWUuc2VsZWN0b3JzPXtjYWNoZUxlbmd0aDo1MCxjcmVhdGVQc2V1ZG86aSxtYXRjaDpmdCxhdHRySGFuZGxlOnt9LGZpbmQ6e30scmVsYXRpdmU6eyI+Ijp7ZGlyOiJwYXJlbnROb2RlIixmaXJzdDohMH0sIiAiOntkaXI6InBhcmVudE5vZGUifSwiKyI6e2RpcjoicHJldmlvdXNTaWJsaW5nIixmaXJzdDohMH0sIn4iOntkaXI6InByZXZpb3VzU2libGluZyJ9fSxwcmVGaWx0ZXI6e0FUVFI6ZnVuY3Rpb24odCl7cmV0dXJuIHRbMV09dFsxXS5yZXBsYWNlKGJ0LHh0KSx0WzNdPSh0WzNdfHx0WzRdfHx0WzVdfHwiIikucmVwbGFjZShidCx4dCksIn49Ij09PXRbMl0mJih0WzNdPSIgIit0WzNdKyIgIiksdC5zbGljZSgwLDQpfSxDSElMRDpmdW5jdGlvbih0KXtyZXR1cm4gdFsxXT10WzFdLnRvTG93ZXJDYXNlKCksIm50aCI9PT10WzFdLnNsaWNlKDAsMyk/KHRbM118fGUuZXJyb3IodFswXSksdFs0XT0rKHRbNF0/dFs1XSsodFs2XXx8MSk6MiooImV2ZW4iPT09dFszXXx8Im9kZCI9PT10WzNdKSksdFs1XT0rKHRbN10rdFs4XXx8Im9kZCI9PT10WzNdKSk6dFszXSYmZS5lcnJvcih0WzBdKSx0fSxQU0VVRE86ZnVuY3Rpb24odCl7dmFyIGUsbj0hdFs2XSYmdFsyXTtyZXR1cm4gZnQuQ0hJTEQudGVzdCh0WzBdKT9udWxsOih0WzNdP3RbMl09dFs0XXx8dFs1XXx8IiI6biYmaHQudGVzdChuKSYmKGU9VChuLCEwKSkmJihlPW4uaW5kZXhPZigiKSIsbi5sZW5ndGgtZSktbi5sZW5ndGgpJiYodFswXT10WzBdLnNsaWNlKDAsZSksdFsyXT1uLnNsaWNlKDAsZSkpLHQuc2xpY2UoMCwzKSl9fSxmaWx0ZXI6e1RBRzpmdW5jdGlvbih0KXt2YXIgZT10LnJlcGxhY2UoYnQseHQpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIioiPT09dD9mdW5jdGlvbigpe3JldHVybiEwfTpmdW5jdGlvbih0KXtyZXR1cm4gdC5ub2RlTmFtZSYmdC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09ZX19LENMQVNTOmZ1bmN0aW9uKHQpe3ZhciBlPUJbdCsiICJdO3JldHVybiBlfHwoZT1uZXcgUmVnRXhwKCIoXnwiK250KyIpIit0KyIoIitudCsifCQpIikpJiZCKHQsZnVuY3Rpb24odCl7cmV0dXJuIGUudGVzdCgic3RyaW5nIj09dHlwZW9mIHQuY2xhc3NOYW1lJiZ0LmNsYXNzTmFtZXx8InVuZGVmaW5lZCIhPXR5cGVvZiB0LmdldEF0dHJpYnV0ZSYmdC5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiKX0pfSxBVFRSOmZ1bmN0aW9uKHQsbixpKXtyZXR1cm4gZnVuY3Rpb24ocil7dmFyIG89ZS5hdHRyKHIsdCk7cmV0dXJuIG51bGw9PW8/IiE9Ij09PW46IW58fChvKz0iIiwiPSI9PT1uP289PT1pOiIhPSI9PT1uP28hPT1pOiJePSI9PT1uP2kmJjA9PT1vLmluZGV4T2YoaSk6Iio9Ij09PW4/aSYmby5pbmRleE9mKGkpPi0xOiIkPSI9PT1uP2kmJm8uc2xpY2UoLWkubGVuZ3RoKT09PWk6In49Ij09PW4/KCIgIitvLnJlcGxhY2Uoc3QsIiAiKSsiICIpLmluZGV4T2YoaSk+LTE6Inw9Ij09PW4mJihvPT09aXx8by5zbGljZSgwLGkubGVuZ3RoKzEpPT09aSsiLSIpKX19LENISUxEOmZ1bmN0aW9uKHQsZSxuLGkscil7dmFyIG89Im50aCIhPT10LnNsaWNlKDAsMykscz0ibGFzdCIhPT10LnNsaWNlKC00KSxhPSJvZi10eXBlIj09PWU7cmV0dXJuIDE9PT1pJiYwPT09cj9mdW5jdGlvbih0KXtyZXR1cm4hIXQucGFyZW50Tm9kZX06ZnVuY3Rpb24oZSxuLGwpe3ZhciB1LGMsaCxkLGYscCxtPW8hPT1zPyJuZXh0U2libGluZyI6InByZXZpb3VzU2libGluZyIsZz1lLnBhcmVudE5vZGUseT1hJiZlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksdj0hbCYmIWEsdz0hMTtpZihnKXtpZihvKXtmb3IoO207KXtmb3IoZD1lO2Q9ZFttXTspaWYoYT9kLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT15OjE9PT1kLm5vZGVUeXBlKXJldHVybiExO3A9bT0ib25seSI9PT10JiYhcCYmIm5leHRTaWJsaW5nIn1yZXR1cm4hMH1pZihwPVtzP2cuZmlyc3RDaGlsZDpnLmxhc3RDaGlsZF0scyYmdil7Zm9yKGQ9ZyxoPWRbSF18fChkW0hdPXt9KSxjPWhbZC51bmlxdWVJRF18fChoW2QudW5pcXVlSURdPXt9KSx1PWNbdF18fFtdLGY9dVswXT09PXEmJnVbMV0sdz1mJiZ1WzJdLGQ9ZiYmZy5jaGlsZE5vZGVzW2ZdO2Q9KytmJiZkJiZkW21dfHwodz1mPTApfHxwLnBvcCgpOylpZigxPT09ZC5ub2RlVHlwZSYmKyt3JiZkPT09ZSl7Y1t0XT1bcSxmLHddO2JyZWFrfX1lbHNlIGlmKHYmJihkPWUsaD1kW0hdfHwoZFtIXT17fSksYz1oW2QudW5pcXVlSURdfHwoaFtkLnVuaXF1ZUlEXT17fSksdT1jW3RdfHxbXSxmPXVbMF09PT1xJiZ1WzFdLHc9Ziksdz09PSExKWZvcig7KGQ9KytmJiZkJiZkW21dfHwodz1mPTApfHxwLnBvcCgpKSYmKChhP2Qubm9kZU5hbWUudG9Mb3dlckNhc2UoKSE9PXk6MSE9PWQubm9kZVR5cGUpfHwhKyt3fHwodiYmKGg9ZFtIXXx8KGRbSF09e30pLGM9aFtkLnVuaXF1ZUlEXXx8KGhbZC51bmlxdWVJRF09e30pLGNbdF09W3Esd10pLGQhPT1lKSk7KTtyZXR1cm4gdy09cix3PT09aXx8dyVpPT09MCYmdy9pPj0wfX19LFBTRVVETzpmdW5jdGlvbih0LG4pe3ZhciByLG89Xy5wc2V1ZG9zW3RdfHxfLnNldEZpbHRlcnNbdC50b0xvd2VyQ2FzZSgpXXx8ZS5lcnJvcigidW5zdXBwb3J0ZWQgcHNldWRvOiAiK3QpO3JldHVybiBvW0hdP28obik6by5sZW5ndGg+MT8ocj1bdCx0LCIiLG5dLF8uc2V0RmlsdGVycy5oYXNPd25Qcm9wZXJ0eSh0LnRvTG93ZXJDYXNlKCkpP2koZnVuY3Rpb24odCxlKXtmb3IodmFyIGkscj1vKHQsbikscz1yLmxlbmd0aDtzLS07KWk9dHQodCxyW3NdKSx0W2ldPSEoZVtpXT1yW3NdKX0pOmZ1bmN0aW9uKHQpe3JldHVybiBvKHQsMCxyKX0pOm99fSxwc2V1ZG9zOntub3Q6aShmdW5jdGlvbih0KXt2YXIgZT1bXSxuPVtdLHI9Qyh0LnJlcGxhY2UoYXQsIiQxIikpO3JldHVybiByW0hdP2koZnVuY3Rpb24odCxlLG4saSl7Zm9yKHZhciBvLHM9cih0LG51bGwsaSxbXSksYT10Lmxlbmd0aDthLS07KShvPXNbYV0pJiYodFthXT0hKGVbYV09bykpfSk6ZnVuY3Rpb24odCxpLG8pe3JldHVybiBlWzBdPXQscihlLG51bGwsbyxuKSxlWzBdPW51bGwsIW4ucG9wKCl9fSksaGFzOmkoZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBlKHQsbikubGVuZ3RoPjB9fSksY29udGFpbnM6aShmdW5jdGlvbih0KXtyZXR1cm4gdD10LnJlcGxhY2UoYnQseHQpLGZ1bmN0aW9uKGUpe3JldHVybihlLnRleHRDb250ZW50fHxlLmlubmVyVGV4dHx8ayhlKSkuaW5kZXhPZih0KT4tMX19KSxsYW5nOmkoZnVuY3Rpb24odCl7cmV0dXJuIGR0LnRlc3QodHx8IiIpfHxlLmVycm9yKCJ1bnN1cHBvcnRlZCBsYW5nOiAiK3QpLHQ9dC5yZXBsYWNlKGJ0LHh0KS50b0xvd2VyQ2FzZSgpLGZ1bmN0aW9uKGUpe3ZhciBuO2RvIGlmKG49UD9lLmxhbmc6ZS5nZXRBdHRyaWJ1dGUoInhtbDpsYW5nIil8fGUuZ2V0QXR0cmlidXRlKCJsYW5nIikpcmV0dXJuIG49bi50b0xvd2VyQ2FzZSgpLG49PT10fHwwPT09bi5pbmRleE9mKHQrIi0iKTt3aGlsZSgoZT1lLnBhcmVudE5vZGUpJiYxPT09ZS5ub2RlVHlwZSk7cmV0dXJuITF9fSksdGFyZ2V0OmZ1bmN0aW9uKGUpe3ZhciBuPXQubG9jYXRpb24mJnQubG9jYXRpb24uaGFzaDtyZXR1cm4gbiYmbi5zbGljZSgxKT09PWUuaWR9LHJvb3Q6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9PT1BfSxmb2N1czpmdW5jdGlvbih0KXtyZXR1cm4gdD09PU8uYWN0aXZlRWxlbWVudCYmKCFPLmhhc0ZvY3VzfHxPLmhhc0ZvY3VzKCkpJiYhISh0LnR5cGV8fHQuaHJlZnx8fnQudGFiSW5kZXgpfSxlbmFibGVkOmZ1bmN0aW9uKHQpe3JldHVybiB0LmRpc2FibGVkPT09ITF9LGRpc2FibGVkOmZ1bmN0aW9uKHQpe3JldHVybiB0LmRpc2FibGVkPT09ITB9LGNoZWNrZWQ6ZnVuY3Rpb24odCl7dmFyIGU9dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiJpbnB1dCI9PT1lJiYhIXQuY2hlY2tlZHx8Im9wdGlvbiI9PT1lJiYhIXQuc2VsZWN0ZWR9LHNlbGVjdGVkOmZ1bmN0aW9uKHQpe3JldHVybiB0LnBhcmVudE5vZGUmJnQucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4LHQuc2VsZWN0ZWQ9PT0hMH0sZW1wdHk6ZnVuY3Rpb24odCl7Zm9yKHQ9dC5maXJzdENoaWxkO3Q7dD10Lm5leHRTaWJsaW5nKWlmKHQubm9kZVR5cGU8NilyZXR1cm4hMTtyZXR1cm4hMH0scGFyZW50OmZ1bmN0aW9uKHQpe3JldHVybiFfLnBzZXVkb3MuZW1wdHkodCl9LGhlYWRlcjpmdW5jdGlvbih0KXtyZXR1cm4gbXQudGVzdCh0Lm5vZGVOYW1lKX0saW5wdXQ6ZnVuY3Rpb24odCl7cmV0dXJuIHB0LnRlc3QodC5ub2RlTmFtZSl9LGJ1dHRvbjpmdW5jdGlvbih0KXt2YXIgZT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWUmJiJidXR0b24iPT09dC50eXBlfHwiYnV0dG9uIj09PWV9LHRleHQ6ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuImlucHV0Ij09PXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmInRleHQiPT09dC50eXBlJiYobnVsbD09KGU9dC5nZXRBdHRyaWJ1dGUoInR5cGUiKSl8fCJ0ZXh0Ij09PWUudG9Mb3dlckNhc2UoKSl9LGZpcnN0OnUoZnVuY3Rpb24oKXtyZXR1cm5bMF19KSxsYXN0OnUoZnVuY3Rpb24odCxlKXtyZXR1cm5bZS0xXX0pLGVxOnUoZnVuY3Rpb24odCxlLG4pe3JldHVybltuPDA/bitlOm5dfSksZXZlbjp1KGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPTA7bjxlO24rPTIpdC5wdXNoKG4pO3JldHVybiB0fSksb2RkOnUoZnVuY3Rpb24odCxlKXtmb3IodmFyIG49MTtuPGU7bis9Mil0LnB1c2gobik7cmV0dXJuIHR9KSxsdDp1KGZ1bmN0aW9uKHQsZSxuKXtmb3IodmFyIGk9bjwwP24rZTpuOy0taT49MDspdC5wdXNoKGkpO3JldHVybiB0fSksZ3Q6dShmdW5jdGlvbih0LGUsbil7Zm9yKHZhciBpPW48MD9uK2U6bjsrK2k8ZTspdC5wdXNoKGkpO3JldHVybiB0fSl9fSxfLnBzZXVkb3MubnRoPV8ucHNldWRvcy5lcTtmb3IoYiBpbntyYWRpbzohMCxjaGVja2JveDohMCxmaWxlOiEwLHBhc3N3b3JkOiEwLGltYWdlOiEwfSlfLnBzZXVkb3NbYl09YShiKTtmb3IoYiBpbntzdWJtaXQ6ITAscmVzZXQ6ITB9KV8ucHNldWRvc1tiXT1sKGIpO3JldHVybiBoLnByb3RvdHlwZT1fLmZpbHRlcnM9Xy5wc2V1ZG9zLF8uc2V0RmlsdGVycz1uZXcgaCxUPWUudG9rZW5pemU9ZnVuY3Rpb24odCxuKXt2YXIgaSxyLG8scyxhLGwsdSxjPVVbdCsiICJdO2lmKGMpcmV0dXJuIG4/MDpjLnNsaWNlKDApO2ZvcihhPXQsbD1bXSx1PV8ucHJlRmlsdGVyO2E7KXtpJiYhKHI9bHQuZXhlYyhhKSl8fChyJiYoYT1hLnNsaWNlKHJbMF0ubGVuZ3RoKXx8YSksbC5wdXNoKG89W10pKSxpPSExLChyPXV0LmV4ZWMoYSkpJiYoaT1yLnNoaWZ0KCksby5wdXNoKHt2YWx1ZTppLHR5cGU6clswXS5yZXBsYWNlKGF0LCIgIil9KSxhPWEuc2xpY2UoaS5sZW5ndGgpKTtmb3IocyBpbiBfLmZpbHRlcikhKHI9ZnRbc10uZXhlYyhhKSl8fHVbc10mJiEocj11W3NdKHIpKXx8KGk9ci5zaGlmdCgpLG8ucHVzaCh7dmFsdWU6aSx0eXBlOnMsbWF0Y2hlczpyfSksYT1hLnNsaWNlKGkubGVuZ3RoKSk7aWYoIWkpYnJlYWt9cmV0dXJuIG4/YS5sZW5ndGg6YT9lLmVycm9yKHQpOlUodCxsKS5zbGljZSgwKX0sQz1lLmNvbXBpbGU9ZnVuY3Rpb24odCxlKXt2YXIgbixpPVtdLHI9W10sbz16W3QrIiAiXTtpZighbyl7Zm9yKGV8fChlPVQodCkpLG49ZS5sZW5ndGg7bi0tOylvPXYoZVtuXSksb1tIXT9pLnB1c2gobyk6ci5wdXNoKG8pO289eih0LHcocixpKSksby5zZWxlY3Rvcj10fXJldHVybiBvfSxEPWUuc2VsZWN0PWZ1bmN0aW9uKHQsZSxuLGkpe3ZhciByLG8scyxhLGwsdT0iZnVuY3Rpb24iPT10eXBlb2YgdCYmdCxoPSFpJiZUKHQ9dS5zZWxlY3Rvcnx8dCk7aWYobj1ufHxbXSwxPT09aC5sZW5ndGgpe2lmKG89aFswXT1oWzBdLnNsaWNlKDApLG8ubGVuZ3RoPjImJiJJRCI9PT0ocz1vWzBdKS50eXBlJiZ4LmdldEJ5SWQmJjk9PT1lLm5vZGVUeXBlJiZQJiZfLnJlbGF0aXZlW29bMV0udHlwZV0pe2lmKGU9KF8uZmluZC5JRChzLm1hdGNoZXNbMF0ucmVwbGFjZShidCx4dCksZSl8fFtdKVswXSwhZSlyZXR1cm4gbjt1JiYoZT1lLnBhcmVudE5vZGUpLHQ9dC5zbGljZShvLnNoaWZ0KCkudmFsdWUubGVuZ3RoKX1mb3Iocj1mdC5uZWVkc0NvbnRleHQudGVzdCh0KT8wOm8ubGVuZ3RoO3ItLSYmKHM9b1tyXSwhXy5yZWxhdGl2ZVthPXMudHlwZV0pOylpZigobD1fLmZpbmRbYV0pJiYoaT1sKHMubWF0Y2hlc1swXS5yZXBsYWNlKGJ0LHh0KSx2dC50ZXN0KG9bMF0udHlwZSkmJmMoZS5wYXJlbnROb2RlKXx8ZSkpKXtpZihvLnNwbGljZShyLDEpLHQ9aS5sZW5ndGgmJmQobyksIXQpcmV0dXJuIEouYXBwbHkobixpKSxuO2JyZWFrfX1yZXR1cm4odXx8Qyh0LGgpKShpLGUsIVAsbiwhZXx8dnQudGVzdCh0KSYmYyhlLnBhcmVudE5vZGUpfHxlKSxufSx4LnNvcnRTdGFibGU9SC5zcGxpdCgiIikuc29ydCgkKS5qb2luKCIiKT09PUgseC5kZXRlY3REdXBsaWNhdGVzPSEhaixFKCkseC5zb3J0RGV0YWNoZWQ9cihmdW5jdGlvbih0KXtyZXR1cm4gMSZ0LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKE8uY3JlYXRlRWxlbWVudCgiZGl2IikpfSkscihmdW5jdGlvbih0KXtyZXR1cm4gdC5pbm5lckhUTUw9IjxhIGhyZWY9JyMnPjwvYT4iLCIjIj09PXQuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoImhyZWYiKX0pfHxvKCJ0eXBlfGhyZWZ8aGVpZ2h0fHdpZHRoIixmdW5jdGlvbih0LGUsbil7aWYoIW4pcmV0dXJuIHQuZ2V0QXR0cmlidXRlKGUsInR5cGUiPT09ZS50b0xvd2VyQ2FzZSgpPzE6Mil9KSx4LmF0dHJpYnV0ZXMmJnIoZnVuY3Rpb24odCl7cmV0dXJuIHQuaW5uZXJIVE1MPSI8aW5wdXQvPiIsdC5maXJzdENoaWxkLnNldEF0dHJpYnV0ZSgidmFsdWUiLCIiKSwiIj09PXQuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoInZhbHVlIil9KXx8bygidmFsdWUiLGZ1bmN0aW9uKHQsZSxuKXtpZighbiYmImlucHV0Ij09PXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSlyZXR1cm4gdC5kZWZhdWx0VmFsdWV9KSxyKGZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10LmdldEF0dHJpYnV0ZSgiZGlzYWJsZWQiKX0pfHxvKGV0LGZ1bmN0aW9uKHQsZSxuKXt2YXIgaTtpZighbilyZXR1cm4gdFtlXT09PSEwP2UudG9Mb3dlckNhc2UoKTooaT10LmdldEF0dHJpYnV0ZU5vZGUoZSkpJiZpLnNwZWNpZmllZD9pLnZhbHVlOm51bGx9KSxlfSh0KTtmdC5maW5kPXZ0LGZ0LmV4cHI9dnQuc2VsZWN0b3JzLGZ0LmV4cHJbIjoiXT1mdC5leHByLnBzZXVkb3MsZnQudW5pcXVlU29ydD1mdC51bmlxdWU9dnQudW5pcXVlU29ydCxmdC50ZXh0PXZ0LmdldFRleHQsZnQuaXNYTUxEb2M9dnQuaXNYTUwsZnQuY29udGFpbnM9dnQuY29udGFpbnM7dmFyIHd0PWZ1bmN0aW9uKHQsZSxuKXtmb3IodmFyIGk9W10scj12b2lkIDAhPT1uOyh0PXRbZV0pJiY5IT09dC5ub2RlVHlwZTspaWYoMT09PXQubm9kZVR5cGUpe2lmKHImJmZ0KHQpLmlzKG4pKWJyZWFrO2kucHVzaCh0KX1yZXR1cm4gaX0sYnQ9ZnVuY3Rpb24odCxlKXtmb3IodmFyIG49W107dDt0PXQubmV4dFNpYmxpbmcpMT09PXQubm9kZVR5cGUmJnQhPT1lJiZuLnB1c2godCk7cmV0dXJuIG59LHh0PWZ0LmV4cHIubWF0Y2gubmVlZHNDb250ZXh0LF90PS9ePChbXHctXSspXHMqXC8/Pig/OjxcL1wxPnwpJC8sa3Q9L14uW146I1xbXC4sXSokLztmdC5maWx0ZXI9ZnVuY3Rpb24odCxlLG4pe3ZhciBpPWVbMF07cmV0dXJuIG4mJih0PSI6bm90KCIrdCsiKSIpLDE9PT1lLmxlbmd0aCYmMT09PWkubm9kZVR5cGU/ZnQuZmluZC5tYXRjaGVzU2VsZWN0b3IoaSx0KT9baV06W106ZnQuZmluZC5tYXRjaGVzKHQsZnQuZ3JlcChlLGZ1bmN0aW9uKHQpe3JldHVybiAxPT09dC5ub2RlVHlwZX0pKX0sZnQuZm4uZXh0ZW5kKHtmaW5kOmZ1bmN0aW9uKHQpe3ZhciBlLG49W10saT10aGlzLHI9aS5sZW5ndGg7aWYoInN0cmluZyIhPXR5cGVvZiB0KXJldHVybiB0aGlzLnB1c2hTdGFjayhmdCh0KS5maWx0ZXIoZnVuY3Rpb24oKXtmb3IoZT0wO2U8cjtlKyspaWYoZnQuY29udGFpbnMoaVtlXSx0aGlzKSlyZXR1cm4hMH0pKTtmb3IoZT0wO2U8cjtlKyspZnQuZmluZCh0LGlbZV0sbik7cmV0dXJuIG49dGhpcy5wdXNoU3RhY2socj4xP2Z0LnVuaXF1ZShuKTpuKSxuLnNlbGVjdG9yPXRoaXMuc2VsZWN0b3I/dGhpcy5zZWxlY3RvcisiICIrdDp0LG59LGZpbHRlcjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soaSh0aGlzLHR8fFtdLCExKSl9LG5vdDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soaSh0aGlzLHR8fFtdLCEwKSl9LGlzOmZ1bmN0aW9uKHQpe3JldHVybiEhaSh0aGlzLCJzdHJpbmciPT10eXBlb2YgdCYmeHQudGVzdCh0KT9mdCh0KTp0fHxbXSwhMSkubGVuZ3RofX0pO3ZhciBTdCxUdD0vXig/OlxzKig8W1x3XFddKz4pW14+XSp8IyhbXHctXSopKSQvLEN0PWZ0LmZuLmluaXQ9ZnVuY3Rpb24odCxlLG4pe3ZhciBpLHI7aWYoIXQpcmV0dXJuIHRoaXM7aWYobj1ufHxTdCwic3RyaW5nIj09dHlwZW9mIHQpe2lmKGk9IjwiPT09dC5jaGFyQXQoMCkmJiI+Ij09PXQuY2hhckF0KHQubGVuZ3RoLTEpJiZ0Lmxlbmd0aD49Mz9bbnVsbCx0LG51bGxdOlR0LmV4ZWModCksIWl8fCFpWzFdJiZlKXJldHVybiFlfHxlLmpxdWVyeT8oZXx8bikuZmluZCh0KTp0aGlzLmNvbnN0cnVjdG9yKGUpLmZpbmQodCk7aWYoaVsxXSl7aWYoZT1lIGluc3RhbmNlb2YgZnQ/ZVswXTplLGZ0Lm1lcmdlKHRoaXMsZnQucGFyc2VIVE1MKGlbMV0sZSYmZS5ub2RlVHlwZT9lLm93bmVyRG9jdW1lbnR8fGU6aXQsITApKSxfdC50ZXN0KGlbMV0pJiZmdC5pc1BsYWluT2JqZWN0KGUpKWZvcihpIGluIGUpZnQuaXNGdW5jdGlvbih0aGlzW2ldKT90aGlzW2ldKGVbaV0pOnRoaXMuYXR0cihpLGVbaV0pO3JldHVybiB0aGlzfWlmKHI9aXQuZ2V0RWxlbWVudEJ5SWQoaVsyXSksciYmci5wYXJlbnROb2RlKXtpZihyLmlkIT09aVsyXSlyZXR1cm4gU3QuZmluZCh0KTt0aGlzLmxlbmd0aD0xLHRoaXNbMF09cn1yZXR1cm4gdGhpcy5jb250ZXh0PWl0LHRoaXMuc2VsZWN0b3I9dCx0aGlzfXJldHVybiB0Lm5vZGVUeXBlPyh0aGlzLmNvbnRleHQ9dGhpc1swXT10LHRoaXMubGVuZ3RoPTEsdGhpcyk6ZnQuaXNGdW5jdGlvbih0KT8idW5kZWZpbmVkIiE9dHlwZW9mIG4ucmVhZHk/bi5yZWFkeSh0KTp0KGZ0KToodm9pZCAwIT09dC5zZWxlY3RvciYmKHRoaXMuc2VsZWN0b3I9dC5zZWxlY3Rvcix0aGlzLmNvbnRleHQ9dC5jb250ZXh0KSxmdC5tYWtlQXJyYXkodCx0aGlzKSl9O0N0LnByb3RvdHlwZT1mdC5mbixTdD1mdChpdCk7dmFyIER0PS9eKD86cGFyZW50c3xwcmV2KD86VW50aWx8QWxsKSkvLE10PXtjaGlsZHJlbjohMCxjb250ZW50czohMCxuZXh0OiEwLHByZXY6ITB9O2Z0LmZuLmV4dGVuZCh7aGFzOmZ1bmN0aW9uKHQpe3ZhciBlLG49ZnQodCx0aGlzKSxpPW4ubGVuZ3RoO3JldHVybiB0aGlzLmZpbHRlcihmdW5jdGlvbigpe2ZvcihlPTA7ZTxpO2UrKylpZihmdC5jb250YWlucyh0aGlzLG5bZV0pKXJldHVybiEwfSl9LGNsb3Nlc3Q6ZnVuY3Rpb24odCxlKXtmb3IodmFyIG4saT0wLHI9dGhpcy5sZW5ndGgsbz1bXSxzPXh0LnRlc3QodCl8fCJzdHJpbmciIT10eXBlb2YgdD9mdCh0LGV8fHRoaXMuY29udGV4dCk6MDtpPHI7aSsrKWZvcihuPXRoaXNbaV07biYmbiE9PWU7bj1uLnBhcmVudE5vZGUpaWYobi5ub2RlVHlwZTwxMSYmKHM/cy5pbmRleChuKT4tMToxPT09bi5ub2RlVHlwZSYmZnQuZmluZC5tYXRjaGVzU2VsZWN0b3Iobix0KSkpe28ucHVzaChuKTticmVha31yZXR1cm4gdGhpcy5wdXNoU3RhY2soby5sZW5ndGg+MT9mdC51bmlxdWVTb3J0KG8pOm8pfSxpbmRleDpmdW5jdGlvbih0KXtyZXR1cm4gdD8ic3RyaW5nIj09dHlwZW9mIHQ/ZnQuaW5BcnJheSh0aGlzWzBdLGZ0KHQpKTpmdC5pbkFycmF5KHQuanF1ZXJ5P3RbMF06dCx0aGlzKTp0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGU/dGhpcy5maXJzdCgpLnByZXZBbGwoKS5sZW5ndGg6LTF9LGFkZDpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLnB1c2hTdGFjayhmdC51bmlxdWVTb3J0KGZ0Lm1lcmdlKHRoaXMuZ2V0KCksZnQodCxlKSkpKX0sYWRkQmFjazpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5hZGQobnVsbD09dD90aGlzLnByZXZPYmplY3Q6dGhpcy5wcmV2T2JqZWN0LmZpbHRlcih0KSl9fSksZnQuZWFjaCh7cGFyZW50OmZ1bmN0aW9uKHQpe3ZhciBlPXQucGFyZW50Tm9kZTtyZXR1cm4gZSYmMTEhPT1lLm5vZGVUeXBlP2U6bnVsbH0scGFyZW50czpmdW5jdGlvbih0KXtyZXR1cm4gd3QodCwicGFyZW50Tm9kZSIpfSxwYXJlbnRzVW50aWw6ZnVuY3Rpb24odCxlLG4pe3JldHVybiB3dCh0LCJwYXJlbnROb2RlIixuKX0sbmV4dDpmdW5jdGlvbih0KXtyZXR1cm4gcih0LCJuZXh0U2libGluZyIpfSxwcmV2OmZ1bmN0aW9uKHQpe3JldHVybiByKHQsInByZXZpb3VzU2libGluZyIpfSxuZXh0QWxsOmZ1bmN0aW9uKHQpe3JldHVybiB3dCh0LCJuZXh0U2libGluZyIpfSxwcmV2QWxsOmZ1bmN0aW9uKHQpe3JldHVybiB3dCh0LCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dFVudGlsOmZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gd3QodCwibmV4dFNpYmxpbmciLG4pfSxwcmV2VW50aWw6ZnVuY3Rpb24odCxlLG4pe3JldHVybiB3dCh0LCJwcmV2aW91c1NpYmxpbmciLG4pfSxzaWJsaW5nczpmdW5jdGlvbih0KXtyZXR1cm4gYnQoKHQucGFyZW50Tm9kZXx8e30pLmZpcnN0Q2hpbGQsdCl9LGNoaWxkcmVuOmZ1bmN0aW9uKHQpe3JldHVybiBidCh0LmZpcnN0Q2hpbGQpfSxjb250ZW50czpmdW5jdGlvbih0KXtyZXR1cm4gZnQubm9kZU5hbWUodCwiaWZyYW1lIik/dC5jb250ZW50RG9jdW1lbnR8fHQuY29udGVudFdpbmRvdy5kb2N1bWVudDpmdC5tZXJnZShbXSx0LmNoaWxkTm9kZXMpfX0sZnVuY3Rpb24odCxlKXtmdC5mblt0XT1mdW5jdGlvbihuLGkpe3ZhciByPWZ0Lm1hcCh0aGlzLGUsbik7cmV0dXJuIlVudGlsIiE9PXQuc2xpY2UoLTUpJiYoaT1uKSxpJiYic3RyaW5nIj09dHlwZW9mIGkmJihyPWZ0LmZpbHRlcihpLHIpKSx0aGlzLmxlbmd0aD4xJiYoTXRbdF18fChyPWZ0LnVuaXF1ZVNvcnQocikpLER0LnRlc3QodCkmJihyPXIucmV2ZXJzZSgpKSksdGhpcy5wdXNoU3RhY2socil9fSk7dmFyIE50PS9cUysvZztmdC5DYWxsYmFja3M9ZnVuY3Rpb24odCl7dD0ic3RyaW5nIj09dHlwZW9mIHQ/byh0KTpmdC5leHRlbmQoe30sdCk7dmFyIGUsbixpLHIscz1bXSxhPVtdLGw9LTEsdT1mdW5jdGlvbigpe2ZvcihyPXQub25jZSxpPWU9ITA7YS5sZW5ndGg7bD0tMSlmb3Iobj1hLnNoaWZ0KCk7KytsPHMubGVuZ3RoOylzW2xdLmFwcGx5KG5bMF0sblsxXSk9PT0hMSYmdC5zdG9wT25GYWxzZSYmKGw9cy5sZW5ndGgsbj0hMSk7dC5tZW1vcnl8fChuPSExKSxlPSExLHImJihzPW4/W106IiIpfSxjPXthZGQ6ZnVuY3Rpb24oKXtyZXR1cm4gcyYmKG4mJiFlJiYobD1zLmxlbmd0aC0xLGEucHVzaChuKSksZnVuY3Rpb24gZShuKXtmdC5lYWNoKG4sZnVuY3Rpb24obixpKXtmdC5pc0Z1bmN0aW9uKGkpP3QudW5pcXVlJiZjLmhhcyhpKXx8cy5wdXNoKGkpOmkmJmkubGVuZ3RoJiYic3RyaW5nIiE9PWZ0LnR5cGUoaSkmJmUoaSl9KX0oYXJndW1lbnRzKSxuJiYhZSYmdSgpKSx0aGlzfSxyZW1vdmU6ZnVuY3Rpb24oKXtyZXR1cm4gZnQuZWFjaChhcmd1bWVudHMsZnVuY3Rpb24odCxlKXtmb3IodmFyIG47KG49ZnQuaW5BcnJheShlLHMsbikpPi0xOylzLnNwbGljZShuLDEpLG48PWwmJmwtLX0pLHRoaXN9LGhhczpmdW5jdGlvbih0KXtyZXR1cm4gdD9mdC5pbkFycmF5KHQscyk+LTE6cy5sZW5ndGg+MH0sZW1wdHk6ZnVuY3Rpb24oKXtyZXR1cm4gcyYmKHM9W10pLHRoaXN9LGRpc2FibGU6ZnVuY3Rpb24oKXtyZXR1cm4gcj1hPVtdLHM9bj0iIix0aGlzfSxkaXNhYmxlZDpmdW5jdGlvbigpe3JldHVybiFzfSxsb2NrOmZ1bmN0aW9uKCl7cmV0dXJuIHI9ITAsbnx8Yy5kaXNhYmxlKCksdGhpc30sbG9ja2VkOmZ1bmN0aW9uKCl7cmV0dXJuISFyfSxmaXJlV2l0aDpmdW5jdGlvbih0LG4pe3JldHVybiByfHwobj1ufHxbXSxuPVt0LG4uc2xpY2U/bi5zbGljZSgpOm5dLGEucHVzaChuKSxlfHx1KCkpLHRoaXN9LGZpcmU6ZnVuY3Rpb24oKXtyZXR1cm4gYy5maXJlV2l0aCh0aGlzLGFyZ3VtZW50cyksdGhpc30sZmlyZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hIWl9fTtyZXR1cm4gY30sZnQuZXh0ZW5kKHtEZWZlcnJlZDpmdW5jdGlvbih0KXt2YXIgZT1bWyJyZXNvbHZlIiwiZG9uZSIsZnQuQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLCJyZXNvbHZlZCJdLFsicmVqZWN0IiwiZmFpbCIsZnQuQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLCJyZWplY3RlZCJdLFsibm90aWZ5IiwicHJvZ3Jlc3MiLGZ0LkNhbGxiYWNrcygibWVtb3J5IildXSxuPSJwZW5kaW5nIixpPXtzdGF0ZTpmdW5jdGlvbigpe3JldHVybiBufSxhbHdheXM6ZnVuY3Rpb24oKXtyZXR1cm4gci5kb25lKGFyZ3VtZW50cykuZmFpbChhcmd1bWVudHMpLHRoaXN9LHRoZW46ZnVuY3Rpb24oKXt2YXIgdD1hcmd1bWVudHM7cmV0dXJuIGZ0LkRlZmVycmVkKGZ1bmN0aW9uKG4pe2Z0LmVhY2goZSxmdW5jdGlvbihlLG8pe3ZhciBzPWZ0LmlzRnVuY3Rpb24odFtlXSkmJnRbZV07cltvWzFdXShmdW5jdGlvbigpe3ZhciB0PXMmJnMuYXBwbHkodGhpcyxhcmd1bWVudHMpO3QmJmZ0LmlzRnVuY3Rpb24odC5wcm9taXNlKT90LnByb21pc2UoKS5wcm9ncmVzcyhuLm5vdGlmeSkuZG9uZShuLnJlc29sdmUpLmZhaWwobi5yZWplY3QpOm5bb1swXSsiV2l0aCJdKHRoaXM9PT1pP24ucHJvbWlzZSgpOnRoaXMscz9bdF06YXJndW1lbnRzKX0pfSksdD1udWxsfSkucHJvbWlzZSgpfSxwcm9taXNlOmZ1bmN0aW9uKHQpe3JldHVybiBudWxsIT10P2Z0LmV4dGVuZCh0LGkpOml9fSxyPXt9O3JldHVybiBpLnBpcGU9aS50aGVuLGZ0LmVhY2goZSxmdW5jdGlvbih0LG8pe3ZhciBzPW9bMl0sYT1vWzNdO2lbb1sxXV09cy5hZGQsYSYmcy5hZGQoZnVuY3Rpb24oKXtuPWF9LGVbMV50XVsyXS5kaXNhYmxlLGVbMl1bMl0ubG9jaykscltvWzBdXT1mdW5jdGlvbigpe3JldHVybiByW29bMF0rIldpdGgiXSh0aGlzPT09cj9pOnRoaXMsYXJndW1lbnRzKSx0aGlzfSxyW29bMF0rIldpdGgiXT1zLmZpcmVXaXRofSksaS5wcm9taXNlKHIpLHQmJnQuY2FsbChyLHIpLHJ9LHdoZW46ZnVuY3Rpb24odCl7dmFyIGUsbixpLHI9MCxvPXJ0LmNhbGwoYXJndW1lbnRzKSxzPW8ubGVuZ3RoLGE9MSE9PXN8fHQmJmZ0LmlzRnVuY3Rpb24odC5wcm9taXNlKT9zOjAsbD0xPT09YT90OmZ0LkRlZmVycmVkKCksdT1mdW5jdGlvbih0LG4saSl7cmV0dXJuIGZ1bmN0aW9uKHIpe25bdF09dGhpcyxpW3RdPWFyZ3VtZW50cy5sZW5ndGg+MT9ydC5jYWxsKGFyZ3VtZW50cyk6cixpPT09ZT9sLm5vdGlmeVdpdGgobixpKTotLWF8fGwucmVzb2x2ZVdpdGgobixpKX19O2lmKHM+MSlmb3IoZT1uZXcgQXJyYXkocyksbj1uZXcgQXJyYXkocyksaT1uZXcgQXJyYXkocyk7cjxzO3IrKylvW3JdJiZmdC5pc0Z1bmN0aW9uKG9bcl0ucHJvbWlzZSk/b1tyXS5wcm9taXNlKCkucHJvZ3Jlc3ModShyLG4sZSkpLmRvbmUodShyLGksbykpLmZhaWwobC5yZWplY3QpOi0tYTtyZXR1cm4gYXx8bC5yZXNvbHZlV2l0aChpLG8pLGwucHJvbWlzZSgpfX0pO3ZhciBqdDtmdC5mbi5yZWFkeT1mdW5jdGlvbih0KXtyZXR1cm4gZnQucmVhZHkucHJvbWlzZSgpLmRvbmUodCksdGhpc30sZnQuZXh0ZW5kKHtpc1JlYWR5OiExLHJlYWR5V2FpdDoxLGhvbGRSZWFkeTpmdW5jdGlvbih0KXt0P2Z0LnJlYWR5V2FpdCsrOmZ0LnJlYWR5KCEwKX0scmVhZHk6ZnVuY3Rpb24odCl7KHQ9PT0hMD8tLWZ0LnJlYWR5V2FpdDpmdC5pc1JlYWR5KXx8KGZ0LmlzUmVhZHk9ITAsdCE9PSEwJiYtLWZ0LnJlYWR5V2FpdD4wfHwoanQucmVzb2x2ZVdpdGgoaXQsW2Z0XSksZnQuZm4udHJpZ2dlckhhbmRsZXImJihmdChpdCkudHJpZ2dlckhhbmRsZXIoInJlYWR5IiksZnQoaXQpLm9mZigicmVhZHkiKSkpKX19KSxmdC5yZWFkeS5wcm9taXNlPWZ1bmN0aW9uKGUpe2lmKCFqdClpZihqdD1mdC5EZWZlcnJlZCgpLCJjb21wbGV0ZSI9PT1pdC5yZWFkeVN0YXRlfHwibG9hZGluZyIhPT1pdC5yZWFkeVN0YXRlJiYhaXQuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsKXQuc2V0VGltZW91dChmdC5yZWFkeSk7ZWxzZSBpZihpdC5hZGRFdmVudExpc3RlbmVyKWl0LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLGEpLHQuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsYSk7ZWxzZXtpdC5hdHRhY2hFdmVudCgib25yZWFkeXN0YXRlY2hhbmdlIixhKSx0LmF0dGFjaEV2ZW50KCJvbmxvYWQiLGEpO3ZhciBuPSExO3RyeXtuPW51bGw9PXQuZnJhbWVFbGVtZW50JiZpdC5kb2N1bWVudEVsZW1lbnR9Y2F0Y2godCl7fW4mJm4uZG9TY3JvbGwmJiFmdW5jdGlvbiBlKCl7aWYoIWZ0LmlzUmVhZHkpe3RyeXtuLmRvU2Nyb2xsKCJsZWZ0Iil9Y2F0Y2gobil7cmV0dXJuIHQuc2V0VGltZW91dChlLDUwKX1zKCksZnQucmVhZHkoKX19KCl9cmV0dXJuIGp0LnByb21pc2UoZSl9LGZ0LnJlYWR5LnByb21pc2UoKTt2YXIgRXQ7Zm9yKEV0IGluIGZ0KGh0KSlicmVhaztodC5vd25GaXJzdD0iMCI9PT1FdCxodC5pbmxpbmVCbG9ja05lZWRzTGF5b3V0PSExLGZ0KGZ1bmN0aW9uKCl7dmFyIHQsZSxuLGk7bj1pdC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdLG4mJm4uc3R5bGUmJihlPWl0LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGk9aXQuY3JlYXRlRWxlbWVudCgiZGl2IiksaS5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6MDt3aWR0aDowO2hlaWdodDowO3RvcDowO2xlZnQ6LTk5OTlweCIsbi5hcHBlbmRDaGlsZChpKS5hcHBlbmRDaGlsZChlKSwidW5kZWZpbmVkIiE9dHlwZW9mIGUuc3R5bGUuem9vbSYmKGUuc3R5bGUuY3NzVGV4dD0iZGlzcGxheTppbmxpbmU7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzoxcHg7d2lkdGg6MXB4O3pvb206MSIsaHQuaW5saW5lQmxvY2tOZWVkc0xheW91dD10PTM9PT1lLm9mZnNldFdpZHRoLHQmJihuLnN0eWxlLnpvb209MSkpLG4ucmVtb3ZlQ2hpbGQoaSkpfSksZnVuY3Rpb24oKXt2YXIgdD1pdC5jcmVhdGVFbGVtZW50KCJkaXYiKTtodC5kZWxldGVFeHBhbmRvPSEwO3RyeXtkZWxldGUgdC50ZXN0fWNhdGNoKHQpe2h0LmRlbGV0ZUV4cGFuZG89ITF9dD1udWxsfSgpO3ZhciBPdD1mdW5jdGlvbih0KXt2YXIgZT1mdC5ub0RhdGFbKHQubm9kZU5hbWUrIiAiKS50b0xvd2VyQ2FzZSgpXSxuPSt0Lm5vZGVUeXBlfHwxO3JldHVybigxPT09bnx8OT09PW4pJiYoIWV8fGUhPT0hMCYmdC5nZXRBdHRyaWJ1dGUoImNsYXNzaWQiKT09PWUpfSxBdD0vXig/Olx7W1x3XFddKlx9fFxbW1x3XFddKlxdKSQvLFB0PS8oW0EtWl0pL2c7ZnQuZXh0ZW5kKHtjYWNoZTp7fSxub0RhdGE6eyJhcHBsZXQgIjohMCwiZW1iZWQgIjohMCwib2JqZWN0ICI6ImNsc2lkOkQyN0NEQjZFLUFFNkQtMTFjZi05NkI4LTQ0NDU1MzU0MDAwMCJ9LGhhc0RhdGE6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9dC5ub2RlVHlwZT9mdC5jYWNoZVt0W2Z0LmV4cGFuZG9dXTp0W2Z0LmV4cGFuZG9dLCEhdCYmIXUodCl9LGRhdGE6ZnVuY3Rpb24odCxlLG4pe3JldHVybiBjKHQsZSxuKX0scmVtb3ZlRGF0YTpmdW5jdGlvbih0LGUpe3JldHVybiBoKHQsZSl9LF9kYXRhOmZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gYyh0LGUsbiwhMCl9LF9yZW1vdmVEYXRhOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGgodCxlLCEwKX19KSxmdC5mbi5leHRlbmQoe2RhdGE6ZnVuY3Rpb24odCxlKXt2YXIgbixpLHIsbz10aGlzWzBdLHM9byYmby5hdHRyaWJ1dGVzO2lmKHZvaWQgMD09PXQpe2lmKHRoaXMubGVuZ3RoJiYocj1mdC5kYXRhKG8pLDE9PT1vLm5vZGVUeXBlJiYhZnQuX2RhdGEobywicGFyc2VkQXR0cnMiKSkpe2ZvcihuPXMubGVuZ3RoO24tLTspc1tuXSYmKGk9c1tuXS5uYW1lLDA9PT1pLmluZGV4T2YoImRhdGEtIikmJihpPWZ0LmNhbWVsQ2FzZShpLnNsaWNlKDUpKSxsKG8saSxyW2ldKSkpO2Z0Ll9kYXRhKG8sInBhcnNlZEF0dHJzIiwhMCl9cmV0dXJuIHJ9cmV0dXJuIm9iamVjdCI9PXR5cGVvZiB0P3RoaXMuZWFjaChmdW5jdGlvbigpe2Z0LmRhdGEodGhpcyx0KX0pOmFyZ3VtZW50cy5sZW5ndGg+MT90aGlzLmVhY2goZnVuY3Rpb24oKXtmdC5kYXRhKHRoaXMsdCxlKX0pOm8/bChvLHQsZnQuZGF0YShvLHQpKTp2b2lkIDB9LHJlbW92ZURhdGE6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2Z0LnJlbW92ZURhdGEodGhpcyx0KX0pfX0pLGZ0LmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24odCxlLG4pe3ZhciBpO2lmKHQpcmV0dXJuIGU9KGV8fCJmeCIpKyJxdWV1ZSIsaT1mdC5fZGF0YSh0LGUpLG4mJighaXx8ZnQuaXNBcnJheShuKT9pPWZ0Ll9kYXRhKHQsZSxmdC5tYWtlQXJyYXkobikpOmkucHVzaChuKSksaXx8W119LGRlcXVldWU6ZnVuY3Rpb24odCxlKXtlPWV8fCJmeCI7dmFyIG49ZnQucXVldWUodCxlKSxpPW4ubGVuZ3RoLHI9bi5zaGlmdCgpLG89ZnQuX3F1ZXVlSG9va3ModCxlKSxzPWZ1bmN0aW9uKCl7ZnQuZGVxdWV1ZSh0LGUpfTsiaW5wcm9ncmVzcyI9PT1yJiYocj1uLnNoaWZ0KCksaS0tKSxyJiYoImZ4Ij09PWUmJm4udW5zaGlmdCgiaW5wcm9ncmVzcyIpLGRlbGV0ZSBvLnN0b3Asci5jYWxsKHQscyxvKSksIWkmJm8mJm8uZW1wdHkuZmlyZSgpfSxfcXVldWVIb29rczpmdW5jdGlvbih0LGUpe3ZhciBuPWUrInF1ZXVlSG9va3MiO3JldHVybiBmdC5fZGF0YSh0LG4pfHxmdC5fZGF0YSh0LG4se2VtcHR5OmZ0LkNhbGxiYWNrcygib25jZSBtZW1vcnkiKS5hZGQoZnVuY3Rpb24oKXtmdC5fcmVtb3ZlRGF0YSh0LGUrInF1ZXVlIiksZnQuX3JlbW92ZURhdGEodCxuKX0pfSl9fSksZnQuZm4uZXh0ZW5kKHtxdWV1ZTpmdW5jdGlvbih0LGUpe3ZhciBuPTI7cmV0dXJuInN0cmluZyIhPXR5cGVvZiB0JiYoZT10LHQ9ImZ4IixuLS0pLGFyZ3VtZW50cy5sZW5ndGg8bj9mdC5xdWV1ZSh0aGlzWzBdLHQpOnZvaWQgMD09PWU/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgbj1mdC5xdWV1ZSh0aGlzLHQsZSk7ZnQuX3F1ZXVlSG9va3ModGhpcyx0KSwiZngiPT09dCYmImlucHJvZ3Jlc3MiIT09blswXSYmZnQuZGVxdWV1ZSh0aGlzLHQpfSl9LGRlcXVldWU6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2Z0LmRlcXVldWUodGhpcyx0KX0pfSxjbGVhclF1ZXVlOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnF1ZXVlKHR8fCJmeCIsW10pfSxwcm9taXNlOmZ1bmN0aW9uKHQsZSl7dmFyIG4saT0xLHI9ZnQuRGVmZXJyZWQoKSxvPXRoaXMscz10aGlzLmxlbmd0aCxhPWZ1bmN0aW9uKCl7LS1pfHxyLnJlc29sdmVXaXRoKG8sW29dKX07Zm9yKCJzdHJpbmciIT10eXBlb2YgdCYmKGU9dCx0PXZvaWQgMCksdD10fHwiZngiO3MtLTspbj1mdC5fZGF0YShvW3NdLHQrInF1ZXVlSG9va3MiKSxuJiZuLmVtcHR5JiYoaSsrLG4uZW1wdHkuYWRkKGEpKTtyZXR1cm4gYSgpLHIucHJvbWlzZShlKX19KSxmdW5jdGlvbigpe3ZhciB0O2h0LnNocmlua1dyYXBCbG9ja3M9ZnVuY3Rpb24oKXtpZihudWxsIT10KXJldHVybiB0O3Q9ITE7dmFyIGUsbixpO3JldHVybiBuPWl0LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF0sbiYmbi5zdHlsZT8oZT1pdC5jcmVhdGVFbGVtZW50KCJkaXYiKSxpPWl0LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGkuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjA7d2lkdGg6MDtoZWlnaHQ6MDt0b3A6MDtsZWZ0Oi05OTk5cHgiLG4uYXBwZW5kQ2hpbGQoaSkuYXBwZW5kQ2hpbGQoZSksInVuZGVmaW5lZCIhPXR5cGVvZiBlLnN0eWxlLnpvb20mJihlLnN0eWxlLmNzc1RleHQ9Ii13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDtkaXNwbGF5OmJsb2NrO21hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MXB4O3dpZHRoOjFweDt6b29tOjEiLGUuYXBwZW5kQ2hpbGQoaXQuY3JlYXRlRWxlbWVudCgiZGl2IikpLnN0eWxlLndpZHRoPSI1cHgiLHQ9MyE9PWUub2Zmc2V0V2lkdGgpLG4ucmVtb3ZlQ2hpbGQoaSksdCk6dm9pZCAwfX0oKTt2YXIgTHQ9L1srLV0/KD86XGQqXC58KVxkKyg/OltlRV1bKy1dP1xkK3wpLy5zb3VyY2UsWXQ9bmV3IFJlZ0V4cCgiXig/OihbKy1dKT18KSgiK0x0KyIpKFthLXolXSopJCIsImkiKSxGdD1bIlRvcCIsIlJpZ2h0IiwiQm90dG9tIiwiTGVmdCJdLFJ0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ9ZXx8dCwibm9uZSI9PT1mdC5jc3ModCwiZGlzcGxheSIpfHwhZnQuY29udGFpbnModC5vd25lckRvY3VtZW50LHQpfSxIdD1mdW5jdGlvbih0LGUsbixpLHIsbyxzKXt2YXIgYT0wLGw9dC5sZW5ndGgsdT1udWxsPT1uO2lmKCJvYmplY3QiPT09ZnQudHlwZShuKSl7cj0hMDtmb3IoYSBpbiBuKUh0KHQsZSxhLG5bYV0sITAsbyxzKX1lbHNlIGlmKHZvaWQgMCE9PWkmJihyPSEwLGZ0LmlzRnVuY3Rpb24oaSl8fChzPSEwKSx1JiYocz8oZS5jYWxsKHQsaSksZT1udWxsKToodT1lLGU9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB1LmNhbGwoZnQodCksbil9KSksZSkpZm9yKDthPGw7YSsrKWUodFthXSxuLHM/aTppLmNhbGwodFthXSxhLGUodFthXSxuKSkpO3JldHVybiByP3Q6dT9lLmNhbGwodCk6bD9lKHRbMF0sbik6b30sV3Q9L14oPzpjaGVja2JveHxyYWRpbykkL2kscXQ9LzwoW1x3Oi1dKykvLEl0PS9eJHxcLyg/OmphdmF8ZWNtYSlzY3JpcHQvaSxCdD0vXlxzKy8sVXQ9ImFiYnJ8YXJ0aWNsZXxhc2lkZXxhdWRpb3xiZGl8Y2FudmFzfGRhdGF8ZGF0YWxpc3R8ZGV0YWlsc3xkaWFsb2d8ZmlnY2FwdGlvbnxmaWd1cmV8Zm9vdGVyfGhlYWRlcnxoZ3JvdXB8bWFpbnxtYXJrfG1ldGVyfG5hdnxvdXRwdXR8cGljdHVyZXxwcm9ncmVzc3xzZWN0aW9ufHN1bW1hcnl8dGVtcGxhdGV8dGltZXx2aWRlbyI7IWZ1bmN0aW9uKCl7dmFyIHQ9aXQuY3JlYXRlRWxlbWVudCgiZGl2IiksZT1pdC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksbj1pdC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO3QuaW5uZXJIVE1MPSIgIDxsaW5rLz48dGFibGU+PC90YWJsZT48YSBocmVmPScvYSc+YTwvYT48aW5wdXQgdHlwZT0nY2hlY2tib3gnLz4iLGh0LmxlYWRpbmdXaGl0ZXNwYWNlPTM9PT10LmZpcnN0Q2hpbGQubm9kZVR5cGUsaHQudGJvZHk9IXQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRib2R5IikubGVuZ3RoLGh0Lmh0bWxTZXJpYWxpemU9ISF0LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsaW5rIikubGVuZ3RoLGh0Lmh0bWw1Q2xvbmU9Ijw6bmF2PjwvOm5hdj4iIT09aXQuY3JlYXRlRWxlbWVudCgibmF2IikuY2xvbmVOb2RlKCEwKS5vdXRlckhUTUwsbi50eXBlPSJjaGVja2JveCIsbi5jaGVja2VkPSEwLGUuYXBwZW5kQ2hpbGQobiksaHQuYXBwZW5kQ2hlY2tlZD1uLmNoZWNrZWQsdC5pbm5lckhUTUw9Ijx0ZXh0YXJlYT54PC90ZXh0YXJlYT4iLGh0Lm5vQ2xvbmVDaGVja2VkPSEhdC5jbG9uZU5vZGUoITApLmxhc3RDaGlsZC5kZWZhdWx0VmFsdWUsZS5hcHBlbmRDaGlsZCh0KSxuPWl0LmNyZWF0ZUVsZW1lbnQoImlucHV0Iiksbi5zZXRBdHRyaWJ1dGUoInR5cGUiLCJyYWRpbyIpLG4uc2V0QXR0cmlidXRlKCJjaGVja2VkIiwiY2hlY2tlZCIpLG4uc2V0QXR0cmlidXRlKCJuYW1lIiwidCIpLHQuYXBwZW5kQ2hpbGQobiksaHQuY2hlY2tDbG9uZT10LmNsb25lTm9kZSghMCkuY2xvbmVOb2RlKCEwKS5sYXN0Q2hpbGQuY2hlY2tlZCxodC5ub0Nsb25lRXZlbnQ9ISF0LmFkZEV2ZW50TGlzdGVuZXIsdFtmdC5leHBhbmRvXT0xLGh0LmF0dHJpYnV0ZXM9IXQuZ2V0QXR0cmlidXRlKGZ0LmV4cGFuZG8pfSgpO3ZhciB6dD17b3B0aW9uOlsxLCI8c2VsZWN0IG11bHRpcGxlPSdtdWx0aXBsZSc+IiwiPC9zZWxlY3Q+Il0sbGVnZW5kOlsxLCI8ZmllbGRzZXQ+IiwiPC9maWVsZHNldD4iXSxhcmVhOlsxLCI8bWFwPiIsIjwvbWFwPiJdLHBhcmFtOlsxLCI8b2JqZWN0PiIsIjwvb2JqZWN0PiJdLHRoZWFkOlsxLCI8dGFibGU+IiwiPC90YWJsZT4iXSx0cjpbMiwiPHRhYmxlPjx0Ym9keT4iLCI8L3Rib2R5PjwvdGFibGU+Il0sY29sOlsyLCI8dGFibGU+PHRib2R5PjwvdGJvZHk+PGNvbGdyb3VwPiIsIjwvY29sZ3JvdXA+PC90YWJsZT4iXSx0ZDpbMywiPHRhYmxlPjx0Ym9keT48dHI+IiwiPC90cj48L3Rib2R5PjwvdGFibGU+Il0sX2RlZmF1bHQ6aHQuaHRtbFNlcmlhbGl6ZT9bMCwiIiwiIl06WzEsIlg8ZGl2PiIsIjwvZGl2PiJdfTt6dC5vcHRncm91cD16dC5vcHRpb24senQudGJvZHk9enQudGZvb3Q9enQuY29sZ3JvdXA9enQuY2FwdGlvbj16dC50aGVhZCx6dC50aD16dC50ZDt2YXIgJHQ9Lzx8JiM/XHcrOy8sR3Q9Lzx0Ym9keS9pOyFmdW5jdGlvbigpe3ZhciBlLG4saT1pdC5jcmVhdGVFbGVtZW50KCJkaXYiKTtmb3IoZSBpbntzdWJtaXQ6ITAsY2hhbmdlOiEwLGZvY3VzaW46ITB9KW49Im9uIitlLChodFtlXT1uIGluIHQpfHwoaS5zZXRBdHRyaWJ1dGUobiwidCIpLGh0W2VdPWkuYXR0cmlidXRlc1tuXS5leHBhbmRvPT09ITEpO2k9bnVsbH0oKTt2YXIgVnQ9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWEpJC9pLFh0PS9ea2V5LyxRdD0vXig/Om1vdXNlfHBvaW50ZXJ8Y29udGV4dG1lbnV8ZHJhZ3xkcm9wKXxjbGljay8sWnQ9L14oPzpmb2N1c2luZm9jdXN8Zm9jdXNvdXRibHVyKSQvLEp0PS9eKFteLl0qKSg/OlwuKC4rKXwpLztmdC5ldmVudD17Z2xvYmFsOnt9LGFkZDpmdW5jdGlvbih0LGUsbixpLHIpe3ZhciBvLHMsYSxsLHUsYyxoLGQsZixwLG0sZz1mdC5fZGF0YSh0KTtpZihnKXtmb3Iobi5oYW5kbGVyJiYobD1uLG49bC5oYW5kbGVyLHI9bC5zZWxlY3Rvciksbi5ndWlkfHwobi5ndWlkPWZ0Lmd1aWQrKyksKHM9Zy5ldmVudHMpfHwocz1nLmV2ZW50cz17fSksKGM9Zy5oYW5kbGUpfHwoYz1nLmhhbmRsZT1mdW5jdGlvbih0KXtyZXR1cm4idW5kZWZpbmVkIj09dHlwZW9mIGZ0fHx0JiZmdC5ldmVudC50cmlnZ2VyZWQ9PT10LnR5cGU/dm9pZCAwOmZ0LmV2ZW50LmRpc3BhdGNoLmFwcGx5KGMuZWxlbSxhcmd1bWVudHMpOwp9LGMuZWxlbT10KSxlPShlfHwiIikubWF0Y2goTnQpfHxbIiJdLGE9ZS5sZW5ndGg7YS0tOylvPUp0LmV4ZWMoZVthXSl8fFtdLGY9bT1vWzFdLHA9KG9bMl18fCIiKS5zcGxpdCgiLiIpLnNvcnQoKSxmJiYodT1mdC5ldmVudC5zcGVjaWFsW2ZdfHx7fSxmPShyP3UuZGVsZWdhdGVUeXBlOnUuYmluZFR5cGUpfHxmLHU9ZnQuZXZlbnQuc3BlY2lhbFtmXXx8e30saD1mdC5leHRlbmQoe3R5cGU6ZixvcmlnVHlwZTptLGRhdGE6aSxoYW5kbGVyOm4sZ3VpZDpuLmd1aWQsc2VsZWN0b3I6cixuZWVkc0NvbnRleHQ6ciYmZnQuZXhwci5tYXRjaC5uZWVkc0NvbnRleHQudGVzdChyKSxuYW1lc3BhY2U6cC5qb2luKCIuIil9LGwpLChkPXNbZl0pfHwoZD1zW2ZdPVtdLGQuZGVsZWdhdGVDb3VudD0wLHUuc2V0dXAmJnUuc2V0dXAuY2FsbCh0LGkscCxjKSE9PSExfHwodC5hZGRFdmVudExpc3RlbmVyP3QuYWRkRXZlbnRMaXN0ZW5lcihmLGMsITEpOnQuYXR0YWNoRXZlbnQmJnQuYXR0YWNoRXZlbnQoIm9uIitmLGMpKSksdS5hZGQmJih1LmFkZC5jYWxsKHQsaCksaC5oYW5kbGVyLmd1aWR8fChoLmhhbmRsZXIuZ3VpZD1uLmd1aWQpKSxyP2Quc3BsaWNlKGQuZGVsZWdhdGVDb3VudCsrLDAsaCk6ZC5wdXNoKGgpLGZ0LmV2ZW50Lmdsb2JhbFtmXT0hMCk7dD1udWxsfX0scmVtb3ZlOmZ1bmN0aW9uKHQsZSxuLGkscil7dmFyIG8scyxhLGwsdSxjLGgsZCxmLHAsbSxnPWZ0Lmhhc0RhdGEodCkmJmZ0Ll9kYXRhKHQpO2lmKGcmJihjPWcuZXZlbnRzKSl7Zm9yKGU9KGV8fCIiKS5tYXRjaChOdCl8fFsiIl0sdT1lLmxlbmd0aDt1LS07KWlmKGE9SnQuZXhlYyhlW3VdKXx8W10sZj1tPWFbMV0scD0oYVsyXXx8IiIpLnNwbGl0KCIuIikuc29ydCgpLGYpe2ZvcihoPWZ0LmV2ZW50LnNwZWNpYWxbZl18fHt9LGY9KGk/aC5kZWxlZ2F0ZVR5cGU6aC5iaW5kVHlwZSl8fGYsZD1jW2ZdfHxbXSxhPWFbMl0mJm5ldyBSZWdFeHAoIihefFxcLikiK3Auam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIiksbD1vPWQubGVuZ3RoO28tLTspcz1kW29dLCFyJiZtIT09cy5vcmlnVHlwZXx8biYmbi5ndWlkIT09cy5ndWlkfHxhJiYhYS50ZXN0KHMubmFtZXNwYWNlKXx8aSYmaSE9PXMuc2VsZWN0b3ImJigiKioiIT09aXx8IXMuc2VsZWN0b3IpfHwoZC5zcGxpY2UobywxKSxzLnNlbGVjdG9yJiZkLmRlbGVnYXRlQ291bnQtLSxoLnJlbW92ZSYmaC5yZW1vdmUuY2FsbCh0LHMpKTtsJiYhZC5sZW5ndGgmJihoLnRlYXJkb3duJiZoLnRlYXJkb3duLmNhbGwodCxwLGcuaGFuZGxlKSE9PSExfHxmdC5yZW1vdmVFdmVudCh0LGYsZy5oYW5kbGUpLGRlbGV0ZSBjW2ZdKX1lbHNlIGZvcihmIGluIGMpZnQuZXZlbnQucmVtb3ZlKHQsZitlW3VdLG4saSwhMCk7ZnQuaXNFbXB0eU9iamVjdChjKSYmKGRlbGV0ZSBnLmhhbmRsZSxmdC5fcmVtb3ZlRGF0YSh0LCJldmVudHMiKSl9fSx0cmlnZ2VyOmZ1bmN0aW9uKGUsbixpLHIpe3ZhciBvLHMsYSxsLHUsYyxoLGQ9W2l8fGl0XSxmPWN0LmNhbGwoZSwidHlwZSIpP2UudHlwZTplLHA9Y3QuY2FsbChlLCJuYW1lc3BhY2UiKT9lLm5hbWVzcGFjZS5zcGxpdCgiLiIpOltdO2lmKGE9Yz1pPWl8fGl0LDMhPT1pLm5vZGVUeXBlJiY4IT09aS5ub2RlVHlwZSYmIVp0LnRlc3QoZitmdC5ldmVudC50cmlnZ2VyZWQpJiYoZi5pbmRleE9mKCIuIik+LTEmJihwPWYuc3BsaXQoIi4iKSxmPXAuc2hpZnQoKSxwLnNvcnQoKSkscz1mLmluZGV4T2YoIjoiKTwwJiYib24iK2YsZT1lW2Z0LmV4cGFuZG9dP2U6bmV3IGZ0LkV2ZW50KGYsIm9iamVjdCI9PXR5cGVvZiBlJiZlKSxlLmlzVHJpZ2dlcj1yPzI6MyxlLm5hbWVzcGFjZT1wLmpvaW4oIi4iKSxlLnJuYW1lc3BhY2U9ZS5uYW1lc3BhY2U/bmV3IFJlZ0V4cCgiKF58XFwuKSIrcC5qb2luKCJcXC4oPzouKlxcLnwpIikrIihcXC58JCkiKTpudWxsLGUucmVzdWx0PXZvaWQgMCxlLnRhcmdldHx8KGUudGFyZ2V0PWkpLG49bnVsbD09bj9bZV06ZnQubWFrZUFycmF5KG4sW2VdKSx1PWZ0LmV2ZW50LnNwZWNpYWxbZl18fHt9LHJ8fCF1LnRyaWdnZXJ8fHUudHJpZ2dlci5hcHBseShpLG4pIT09ITEpKXtpZighciYmIXUubm9CdWJibGUmJiFmdC5pc1dpbmRvdyhpKSl7Zm9yKGw9dS5kZWxlZ2F0ZVR5cGV8fGYsWnQudGVzdChsK2YpfHwoYT1hLnBhcmVudE5vZGUpO2E7YT1hLnBhcmVudE5vZGUpZC5wdXNoKGEpLGM9YTtjPT09KGkub3duZXJEb2N1bWVudHx8aXQpJiZkLnB1c2goYy5kZWZhdWx0Vmlld3x8Yy5wYXJlbnRXaW5kb3d8fHQpfWZvcihoPTA7KGE9ZFtoKytdKSYmIWUuaXNQcm9wYWdhdGlvblN0b3BwZWQoKTspZS50eXBlPWg+MT9sOnUuYmluZFR5cGV8fGYsbz0oZnQuX2RhdGEoYSwiZXZlbnRzIil8fHt9KVtlLnR5cGVdJiZmdC5fZGF0YShhLCJoYW5kbGUiKSxvJiZvLmFwcGx5KGEsbiksbz1zJiZhW3NdLG8mJm8uYXBwbHkmJk90KGEpJiYoZS5yZXN1bHQ9by5hcHBseShhLG4pLGUucmVzdWx0PT09ITEmJmUucHJldmVudERlZmF1bHQoKSk7aWYoZS50eXBlPWYsIXImJiFlLmlzRGVmYXVsdFByZXZlbnRlZCgpJiYoIXUuX2RlZmF1bHR8fHUuX2RlZmF1bHQuYXBwbHkoZC5wb3AoKSxuKT09PSExKSYmT3QoaSkmJnMmJmlbZl0mJiFmdC5pc1dpbmRvdyhpKSl7Yz1pW3NdLGMmJihpW3NdPW51bGwpLGZ0LmV2ZW50LnRyaWdnZXJlZD1mO3RyeXtpW2ZdKCl9Y2F0Y2godCl7fWZ0LmV2ZW50LnRyaWdnZXJlZD12b2lkIDAsYyYmKGlbc109Yyl9cmV0dXJuIGUucmVzdWx0fX0sZGlzcGF0Y2g6ZnVuY3Rpb24odCl7dD1mdC5ldmVudC5maXgodCk7dmFyIGUsbixpLHIsbyxzPVtdLGE9cnQuY2FsbChhcmd1bWVudHMpLGw9KGZ0Ll9kYXRhKHRoaXMsImV2ZW50cyIpfHx7fSlbdC50eXBlXXx8W10sdT1mdC5ldmVudC5zcGVjaWFsW3QudHlwZV18fHt9O2lmKGFbMF09dCx0LmRlbGVnYXRlVGFyZ2V0PXRoaXMsIXUucHJlRGlzcGF0Y2h8fHUucHJlRGlzcGF0Y2guY2FsbCh0aGlzLHQpIT09ITEpe2ZvcihzPWZ0LmV2ZW50LmhhbmRsZXJzLmNhbGwodGhpcyx0LGwpLGU9MDsocj1zW2UrK10pJiYhdC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpOylmb3IodC5jdXJyZW50VGFyZ2V0PXIuZWxlbSxuPTA7KG89ci5oYW5kbGVyc1tuKytdKSYmIXQuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQoKTspdC5ybmFtZXNwYWNlJiYhdC5ybmFtZXNwYWNlLnRlc3Qoby5uYW1lc3BhY2UpfHwodC5oYW5kbGVPYmo9byx0LmRhdGE9by5kYXRhLGk9KChmdC5ldmVudC5zcGVjaWFsW28ub3JpZ1R5cGVdfHx7fSkuaGFuZGxlfHxvLmhhbmRsZXIpLmFwcGx5KHIuZWxlbSxhKSx2b2lkIDAhPT1pJiYodC5yZXN1bHQ9aSk9PT0hMSYmKHQucHJldmVudERlZmF1bHQoKSx0LnN0b3BQcm9wYWdhdGlvbigpKSk7cmV0dXJuIHUucG9zdERpc3BhdGNoJiZ1LnBvc3REaXNwYXRjaC5jYWxsKHRoaXMsdCksdC5yZXN1bHR9fSxoYW5kbGVyczpmdW5jdGlvbih0LGUpe3ZhciBuLGkscixvLHM9W10sYT1lLmRlbGVnYXRlQ291bnQsbD10LnRhcmdldDtpZihhJiZsLm5vZGVUeXBlJiYoImNsaWNrIiE9PXQudHlwZXx8aXNOYU4odC5idXR0b24pfHx0LmJ1dHRvbjwxKSlmb3IoO2whPXRoaXM7bD1sLnBhcmVudE5vZGV8fHRoaXMpaWYoMT09PWwubm9kZVR5cGUmJihsLmRpc2FibGVkIT09ITB8fCJjbGljayIhPT10LnR5cGUpKXtmb3IoaT1bXSxuPTA7bjxhO24rKylvPWVbbl0scj1vLnNlbGVjdG9yKyIgIix2b2lkIDA9PT1pW3JdJiYoaVtyXT1vLm5lZWRzQ29udGV4dD9mdChyLHRoaXMpLmluZGV4KGwpPi0xOmZ0LmZpbmQocix0aGlzLG51bGwsW2xdKS5sZW5ndGgpLGlbcl0mJmkucHVzaChvKTtpLmxlbmd0aCYmcy5wdXNoKHtlbGVtOmwsaGFuZGxlcnM6aX0pfXJldHVybiBhPGUubGVuZ3RoJiZzLnB1c2goe2VsZW06dGhpcyxoYW5kbGVyczplLnNsaWNlKGEpfSksc30sZml4OmZ1bmN0aW9uKHQpe2lmKHRbZnQuZXhwYW5kb10pcmV0dXJuIHQ7dmFyIGUsbixpLHI9dC50eXBlLG89dCxzPXRoaXMuZml4SG9va3Nbcl07Zm9yKHN8fCh0aGlzLmZpeEhvb2tzW3JdPXM9UXQudGVzdChyKT90aGlzLm1vdXNlSG9va3M6WHQudGVzdChyKT90aGlzLmtleUhvb2tzOnt9KSxpPXMucHJvcHM/dGhpcy5wcm9wcy5jb25jYXQocy5wcm9wcyk6dGhpcy5wcm9wcyx0PW5ldyBmdC5FdmVudChvKSxlPWkubGVuZ3RoO2UtLTspbj1pW2VdLHRbbl09b1tuXTtyZXR1cm4gdC50YXJnZXR8fCh0LnRhcmdldD1vLnNyY0VsZW1lbnR8fGl0KSwzPT09dC50YXJnZXQubm9kZVR5cGUmJih0LnRhcmdldD10LnRhcmdldC5wYXJlbnROb2RlKSx0Lm1ldGFLZXk9ISF0Lm1ldGFLZXkscy5maWx0ZXI/cy5maWx0ZXIodCxvKTp0fSxwcm9wczoiYWx0S2V5IGJ1YmJsZXMgY2FuY2VsYWJsZSBjdHJsS2V5IGN1cnJlbnRUYXJnZXQgZGV0YWlsIGV2ZW50UGhhc2UgbWV0YUtleSByZWxhdGVkVGFyZ2V0IHNoaWZ0S2V5IHRhcmdldCB0aW1lU3RhbXAgdmlldyB3aGljaCIuc3BsaXQoIiAiKSxmaXhIb29rczp7fSxrZXlIb29rczp7cHJvcHM6ImNoYXIgY2hhckNvZGUga2V5IGtleUNvZGUiLnNwbGl0KCIgIiksZmlsdGVyOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIG51bGw9PXQud2hpY2gmJih0LndoaWNoPW51bGwhPWUuY2hhckNvZGU/ZS5jaGFyQ29kZTplLmtleUNvZGUpLHR9fSxtb3VzZUhvb2tzOntwcm9wczoiYnV0dG9uIGJ1dHRvbnMgY2xpZW50WCBjbGllbnRZIGZyb21FbGVtZW50IG9mZnNldFggb2Zmc2V0WSBwYWdlWCBwYWdlWSBzY3JlZW5YIHNjcmVlblkgdG9FbGVtZW50Ii5zcGxpdCgiICIpLGZpbHRlcjpmdW5jdGlvbih0LGUpe3ZhciBuLGkscixvPWUuYnV0dG9uLHM9ZS5mcm9tRWxlbWVudDtyZXR1cm4gbnVsbD09dC5wYWdlWCYmbnVsbCE9ZS5jbGllbnRYJiYoaT10LnRhcmdldC5vd25lckRvY3VtZW50fHxpdCxyPWkuZG9jdW1lbnRFbGVtZW50LG49aS5ib2R5LHQucGFnZVg9ZS5jbGllbnRYKyhyJiZyLnNjcm9sbExlZnR8fG4mJm4uc2Nyb2xsTGVmdHx8MCktKHImJnIuY2xpZW50TGVmdHx8biYmbi5jbGllbnRMZWZ0fHwwKSx0LnBhZ2VZPWUuY2xpZW50WSsociYmci5zY3JvbGxUb3B8fG4mJm4uc2Nyb2xsVG9wfHwwKS0ociYmci5jbGllbnRUb3B8fG4mJm4uY2xpZW50VG9wfHwwKSksIXQucmVsYXRlZFRhcmdldCYmcyYmKHQucmVsYXRlZFRhcmdldD1zPT09dC50YXJnZXQ/ZS50b0VsZW1lbnQ6cyksdC53aGljaHx8dm9pZCAwPT09b3x8KHQud2hpY2g9MSZvPzE6MiZvPzM6NCZvPzI6MCksdH19LHNwZWNpYWw6e2xvYWQ6e25vQnViYmxlOiEwfSxmb2N1czp7dHJpZ2dlcjpmdW5jdGlvbigpe2lmKHRoaXMhPT1iKCkmJnRoaXMuZm9jdXMpdHJ5e3JldHVybiB0aGlzLmZvY3VzKCksITF9Y2F0Y2godCl7fX0sZGVsZWdhdGVUeXBlOiJmb2N1c2luIn0sYmx1cjp7dHJpZ2dlcjpmdW5jdGlvbigpe2lmKHRoaXM9PT1iKCkmJnRoaXMuYmx1cilyZXR1cm4gdGhpcy5ibHVyKCksITF9LGRlbGVnYXRlVHlwZToiZm9jdXNvdXQifSxjbGljazp7dHJpZ2dlcjpmdW5jdGlvbigpe2lmKGZ0Lm5vZGVOYW1lKHRoaXMsImlucHV0IikmJiJjaGVja2JveCI9PT10aGlzLnR5cGUmJnRoaXMuY2xpY2spcmV0dXJuIHRoaXMuY2xpY2soKSwhMX0sX2RlZmF1bHQ6ZnVuY3Rpb24odCl7cmV0dXJuIGZ0Lm5vZGVOYW1lKHQudGFyZ2V0LCJhIil9fSxiZWZvcmV1bmxvYWQ6e3Bvc3REaXNwYXRjaDpmdW5jdGlvbih0KXt2b2lkIDAhPT10LnJlc3VsdCYmdC5vcmlnaW5hbEV2ZW50JiYodC5vcmlnaW5hbEV2ZW50LnJldHVyblZhbHVlPXQucmVzdWx0KX19fSxzaW11bGF0ZTpmdW5jdGlvbih0LGUsbil7dmFyIGk9ZnQuZXh0ZW5kKG5ldyBmdC5FdmVudCxuLHt0eXBlOnQsaXNTaW11bGF0ZWQ6ITB9KTtmdC5ldmVudC50cmlnZ2VyKGksbnVsbCxlKSxpLmlzRGVmYXVsdFByZXZlbnRlZCgpJiZuLnByZXZlbnREZWZhdWx0KCl9fSxmdC5yZW1vdmVFdmVudD1pdC5yZW1vdmVFdmVudExpc3RlbmVyP2Z1bmN0aW9uKHQsZSxuKXt0LnJlbW92ZUV2ZW50TGlzdGVuZXImJnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLG4pfTpmdW5jdGlvbih0LGUsbil7dmFyIGk9Im9uIitlO3QuZGV0YWNoRXZlbnQmJigidW5kZWZpbmVkIj09dHlwZW9mIHRbaV0mJih0W2ldPW51bGwpLHQuZGV0YWNoRXZlbnQoaSxuKSl9LGZ0LkV2ZW50PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBmdC5FdmVudD8odCYmdC50eXBlPyh0aGlzLm9yaWdpbmFsRXZlbnQ9dCx0aGlzLnR5cGU9dC50eXBlLHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPXQuZGVmYXVsdFByZXZlbnRlZHx8dm9pZCAwPT09dC5kZWZhdWx0UHJldmVudGVkJiZ0LnJldHVyblZhbHVlPT09ITE/djp3KTp0aGlzLnR5cGU9dCxlJiZmdC5leHRlbmQodGhpcyxlKSx0aGlzLnRpbWVTdGFtcD10JiZ0LnRpbWVTdGFtcHx8ZnQubm93KCksdm9pZCh0aGlzW2Z0LmV4cGFuZG9dPSEwKSk6bmV3IGZ0LkV2ZW50KHQsZSl9LGZ0LkV2ZW50LnByb3RvdHlwZT17Y29uc3RydWN0b3I6ZnQuRXZlbnQsaXNEZWZhdWx0UHJldmVudGVkOncsaXNQcm9wYWdhdGlvblN0b3BwZWQ6dyxpc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZDp3LHByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNEZWZhdWx0UHJldmVudGVkPXYsdCYmKHQucHJldmVudERlZmF1bHQ/dC5wcmV2ZW50RGVmYXVsdCgpOnQucmV0dXJuVmFsdWU9ITEpfSxzdG9wUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZD12LHQmJiF0aGlzLmlzU2ltdWxhdGVkJiYodC5zdG9wUHJvcGFnYXRpb24mJnQuc3RvcFByb3BhZ2F0aW9uKCksdC5jYW5jZWxCdWJibGU9ITApfSxzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZD12LHQmJnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uJiZ0LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLHRoaXMuc3RvcFByb3BhZ2F0aW9uKCl9fSxmdC5lYWNoKHttb3VzZWVudGVyOiJtb3VzZW92ZXIiLG1vdXNlbGVhdmU6Im1vdXNlb3V0Iixwb2ludGVyZW50ZXI6InBvaW50ZXJvdmVyIixwb2ludGVybGVhdmU6InBvaW50ZXJvdXQifSxmdW5jdGlvbih0LGUpe2Z0LmV2ZW50LnNwZWNpYWxbdF09e2RlbGVnYXRlVHlwZTplLGJpbmRUeXBlOmUsaGFuZGxlOmZ1bmN0aW9uKHQpe3ZhciBuLGk9dGhpcyxyPXQucmVsYXRlZFRhcmdldCxvPXQuaGFuZGxlT2JqO3JldHVybiByJiYocj09PWl8fGZ0LmNvbnRhaW5zKGkscikpfHwodC50eXBlPW8ub3JpZ1R5cGUsbj1vLmhhbmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpLHQudHlwZT1lKSxufX19KSxodC5zdWJtaXR8fChmdC5ldmVudC5zcGVjaWFsLnN1Ym1pdD17c2V0dXA6ZnVuY3Rpb24oKXtyZXR1cm4hZnQubm9kZU5hbWUodGhpcywiZm9ybSIpJiZ2b2lkIGZ0LmV2ZW50LmFkZCh0aGlzLCJjbGljay5fc3VibWl0IGtleXByZXNzLl9zdWJtaXQiLGZ1bmN0aW9uKHQpe3ZhciBlPXQudGFyZ2V0LG49ZnQubm9kZU5hbWUoZSwiaW5wdXQiKXx8ZnQubm9kZU5hbWUoZSwiYnV0dG9uIik/ZnQucHJvcChlLCJmb3JtIik6dm9pZCAwO24mJiFmdC5fZGF0YShuLCJzdWJtaXQiKSYmKGZ0LmV2ZW50LmFkZChuLCJzdWJtaXQuX3N1Ym1pdCIsZnVuY3Rpb24odCl7dC5fc3VibWl0QnViYmxlPSEwfSksZnQuX2RhdGEobiwic3VibWl0IiwhMCkpfSl9LHBvc3REaXNwYXRjaDpmdW5jdGlvbih0KXt0Ll9zdWJtaXRCdWJibGUmJihkZWxldGUgdC5fc3VibWl0QnViYmxlLHRoaXMucGFyZW50Tm9kZSYmIXQuaXNUcmlnZ2VyJiZmdC5ldmVudC5zaW11bGF0ZSgic3VibWl0Iix0aGlzLnBhcmVudE5vZGUsdCkpfSx0ZWFyZG93bjpmdW5jdGlvbigpe3JldHVybiFmdC5ub2RlTmFtZSh0aGlzLCJmb3JtIikmJnZvaWQgZnQuZXZlbnQucmVtb3ZlKHRoaXMsIi5fc3VibWl0Iil9fSksaHQuY2hhbmdlfHwoZnQuZXZlbnQuc3BlY2lhbC5jaGFuZ2U9e3NldHVwOmZ1bmN0aW9uKCl7cmV0dXJuIFZ0LnRlc3QodGhpcy5ub2RlTmFtZSk/KCJjaGVja2JveCIhPT10aGlzLnR5cGUmJiJyYWRpbyIhPT10aGlzLnR5cGV8fChmdC5ldmVudC5hZGQodGhpcywicHJvcGVydHljaGFuZ2UuX2NoYW5nZSIsZnVuY3Rpb24odCl7ImNoZWNrZWQiPT09dC5vcmlnaW5hbEV2ZW50LnByb3BlcnR5TmFtZSYmKHRoaXMuX2p1c3RDaGFuZ2VkPSEwKX0pLGZ0LmV2ZW50LmFkZCh0aGlzLCJjbGljay5fY2hhbmdlIixmdW5jdGlvbih0KXt0aGlzLl9qdXN0Q2hhbmdlZCYmIXQuaXNUcmlnZ2VyJiYodGhpcy5fanVzdENoYW5nZWQ9ITEpLGZ0LmV2ZW50LnNpbXVsYXRlKCJjaGFuZ2UiLHRoaXMsdCl9KSksITEpOnZvaWQgZnQuZXZlbnQuYWRkKHRoaXMsImJlZm9yZWFjdGl2YXRlLl9jaGFuZ2UiLGZ1bmN0aW9uKHQpe3ZhciBlPXQudGFyZ2V0O1Z0LnRlc3QoZS5ub2RlTmFtZSkmJiFmdC5fZGF0YShlLCJjaGFuZ2UiKSYmKGZ0LmV2ZW50LmFkZChlLCJjaGFuZ2UuX2NoYW5nZSIsZnVuY3Rpb24odCl7IXRoaXMucGFyZW50Tm9kZXx8dC5pc1NpbXVsYXRlZHx8dC5pc1RyaWdnZXJ8fGZ0LmV2ZW50LnNpbXVsYXRlKCJjaGFuZ2UiLHRoaXMucGFyZW50Tm9kZSx0KX0pLGZ0Ll9kYXRhKGUsImNoYW5nZSIsITApKX0pfSxoYW5kbGU6ZnVuY3Rpb24odCl7dmFyIGU9dC50YXJnZXQ7aWYodGhpcyE9PWV8fHQuaXNTaW11bGF0ZWR8fHQuaXNUcmlnZ2VyfHwicmFkaW8iIT09ZS50eXBlJiYiY2hlY2tib3giIT09ZS50eXBlKXJldHVybiB0LmhhbmRsZU9iai5oYW5kbGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sdGVhcmRvd246ZnVuY3Rpb24oKXtyZXR1cm4gZnQuZXZlbnQucmVtb3ZlKHRoaXMsIi5fY2hhbmdlIiksIVZ0LnRlc3QodGhpcy5ub2RlTmFtZSl9fSksaHQuZm9jdXNpbnx8ZnQuZWFjaCh7Zm9jdXM6ImZvY3VzaW4iLGJsdXI6ImZvY3Vzb3V0In0sZnVuY3Rpb24odCxlKXt2YXIgbj1mdW5jdGlvbih0KXtmdC5ldmVudC5zaW11bGF0ZShlLHQudGFyZ2V0LGZ0LmV2ZW50LmZpeCh0KSl9O2Z0LmV2ZW50LnNwZWNpYWxbZV09e3NldHVwOmZ1bmN0aW9uKCl7dmFyIGk9dGhpcy5vd25lckRvY3VtZW50fHx0aGlzLHI9ZnQuX2RhdGEoaSxlKTtyfHxpLmFkZEV2ZW50TGlzdGVuZXIodCxuLCEwKSxmdC5fZGF0YShpLGUsKHJ8fDApKzEpfSx0ZWFyZG93bjpmdW5jdGlvbigpe3ZhciBpPXRoaXMub3duZXJEb2N1bWVudHx8dGhpcyxyPWZ0Ll9kYXRhKGksZSktMTtyP2Z0Ll9kYXRhKGksZSxyKTooaS5yZW1vdmVFdmVudExpc3RlbmVyKHQsbiwhMCksZnQuX3JlbW92ZURhdGEoaSxlKSl9fX0pLGZ0LmZuLmV4dGVuZCh7b246ZnVuY3Rpb24odCxlLG4saSl7cmV0dXJuIHgodGhpcyx0LGUsbixpKX0sb25lOmZ1bmN0aW9uKHQsZSxuLGkpe3JldHVybiB4KHRoaXMsdCxlLG4saSwxKX0sb2ZmOmZ1bmN0aW9uKHQsZSxuKXt2YXIgaSxyO2lmKHQmJnQucHJldmVudERlZmF1bHQmJnQuaGFuZGxlT2JqKXJldHVybiBpPXQuaGFuZGxlT2JqLGZ0KHQuZGVsZWdhdGVUYXJnZXQpLm9mZihpLm5hbWVzcGFjZT9pLm9yaWdUeXBlKyIuIitpLm5hbWVzcGFjZTppLm9yaWdUeXBlLGkuc2VsZWN0b3IsaS5oYW5kbGVyKSx0aGlzO2lmKCJvYmplY3QiPT10eXBlb2YgdCl7Zm9yKHIgaW4gdCl0aGlzLm9mZihyLGUsdFtyXSk7cmV0dXJuIHRoaXN9cmV0dXJuIGUhPT0hMSYmImZ1bmN0aW9uIiE9dHlwZW9mIGV8fChuPWUsZT12b2lkIDApLG49PT0hMSYmKG49dyksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7ZnQuZXZlbnQucmVtb3ZlKHRoaXMsdCxuLGUpfSl9LHRyaWdnZXI6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7ZnQuZXZlbnQudHJpZ2dlcih0LGUsdGhpcyl9KX0sdHJpZ2dlckhhbmRsZXI6ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzWzBdO2lmKG4pcmV0dXJuIGZ0LmV2ZW50LnRyaWdnZXIodCxlLG4sITApfX0pO3ZhciBLdD0vIGpRdWVyeVxkKz0iKD86bnVsbHxcZCspIi9nLHRlPW5ldyBSZWdFeHAoIjwoPzoiK1V0KyIpW1xccy8+XSIsImkiKSxlZT0vPCg/IWFyZWF8YnJ8Y29sfGVtYmVkfGhyfGltZ3xpbnB1dHxsaW5rfG1ldGF8cGFyYW0pKChbXHc6LV0rKVtePl0qKVwvPi9naSxuZT0vPHNjcmlwdHw8c3R5bGV8PGxpbmsvaSxpZT0vY2hlY2tlZFxzKig/OltePV18PVxzKi5jaGVja2VkLikvaSxyZT0vXnRydWVcLyguKikvLG9lPS9eXHMqPCEoPzpcW0NEQVRBXFt8LS0pfCg/OlxdXF18LS0pPlxzKiQvZyxzZT1mKGl0KSxhZT1zZS5hcHBlbmRDaGlsZChpdC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7ZnQuZXh0ZW5kKHtodG1sUHJlZmlsdGVyOmZ1bmN0aW9uKHQpe3JldHVybiB0LnJlcGxhY2UoZWUsIjwkMT48LyQyPiIpfSxjbG9uZTpmdW5jdGlvbih0LGUsbil7dmFyIGkscixvLHMsYSxsPWZ0LmNvbnRhaW5zKHQub3duZXJEb2N1bWVudCx0KTtpZihodC5odG1sNUNsb25lfHxmdC5pc1hNTERvYyh0KXx8IXRlLnRlc3QoIjwiK3Qubm9kZU5hbWUrIj4iKT9vPXQuY2xvbmVOb2RlKCEwKTooYWUuaW5uZXJIVE1MPXQub3V0ZXJIVE1MLGFlLnJlbW92ZUNoaWxkKG89YWUuZmlyc3RDaGlsZCkpLCEoaHQubm9DbG9uZUV2ZW50JiZodC5ub0Nsb25lQ2hlY2tlZHx8MSE9PXQubm9kZVR5cGUmJjExIT09dC5ub2RlVHlwZXx8ZnQuaXNYTUxEb2ModCkpKWZvcihpPXAobyksYT1wKHQpLHM9MDtudWxsIT0ocj1hW3NdKTsrK3MpaVtzXSYmQyhyLGlbc10pO2lmKGUpaWYobilmb3IoYT1hfHxwKHQpLGk9aXx8cChvKSxzPTA7bnVsbCE9KHI9YVtzXSk7cysrKVQocixpW3NdKTtlbHNlIFQodCxvKTtyZXR1cm4gaT1wKG8sInNjcmlwdCIpLGkubGVuZ3RoPjAmJm0oaSwhbCYmcCh0LCJzY3JpcHQiKSksaT1hPXI9bnVsbCxvfSxjbGVhbkRhdGE6ZnVuY3Rpb24odCxlKXtmb3IodmFyIG4saSxyLG8scz0wLGE9ZnQuZXhwYW5kbyxsPWZ0LmNhY2hlLHU9aHQuYXR0cmlidXRlcyxjPWZ0LmV2ZW50LnNwZWNpYWw7bnVsbCE9KG49dFtzXSk7cysrKWlmKChlfHxPdChuKSkmJihyPW5bYV0sbz1yJiZsW3JdKSl7aWYoby5ldmVudHMpZm9yKGkgaW4gby5ldmVudHMpY1tpXT9mdC5ldmVudC5yZW1vdmUobixpKTpmdC5yZW1vdmVFdmVudChuLGksby5oYW5kbGUpO2xbcl0mJihkZWxldGUgbFtyXSx1fHwidW5kZWZpbmVkIj09dHlwZW9mIG4ucmVtb3ZlQXR0cmlidXRlP25bYV09dm9pZCAwOm4ucmVtb3ZlQXR0cmlidXRlKGEpLG50LnB1c2gocikpfX19KSxmdC5mbi5leHRlbmQoe2RvbU1hbmlwOkQsZGV0YWNoOmZ1bmN0aW9uKHQpe3JldHVybiBNKHRoaXMsdCwhMCl9LHJlbW92ZTpmdW5jdGlvbih0KXtyZXR1cm4gTSh0aGlzLHQpfSx0ZXh0OmZ1bmN0aW9uKHQpe3JldHVybiBIdCh0aGlzLGZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDA9PT10P2Z0LnRleHQodGhpcyk6dGhpcy5lbXB0eSgpLmFwcGVuZCgodGhpc1swXSYmdGhpc1swXS5vd25lckRvY3VtZW50fHxpdCkuY3JlYXRlVGV4dE5vZGUodCkpfSxudWxsLHQsYXJndW1lbnRzLmxlbmd0aCl9LGFwcGVuZDpmdW5jdGlvbigpe3JldHVybiBEKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKHQpe2lmKDE9PT10aGlzLm5vZGVUeXBlfHwxMT09PXRoaXMubm9kZVR5cGV8fDk9PT10aGlzLm5vZGVUeXBlKXt2YXIgZT1fKHRoaXMsdCk7ZS5hcHBlbmRDaGlsZCh0KX19KX0scHJlcGVuZDpmdW5jdGlvbigpe3JldHVybiBEKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKHQpe2lmKDE9PT10aGlzLm5vZGVUeXBlfHwxMT09PXRoaXMubm9kZVR5cGV8fDk9PT10aGlzLm5vZGVUeXBlKXt2YXIgZT1fKHRoaXMsdCk7ZS5pbnNlcnRCZWZvcmUodCxlLmZpcnN0Q2hpbGQpfX0pfSxiZWZvcmU6ZnVuY3Rpb24oKXtyZXR1cm4gRCh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbih0KXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodCx0aGlzKX0pfSxhZnRlcjpmdW5jdGlvbigpe3JldHVybiBEKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKHQpe3RoaXMucGFyZW50Tm9kZSYmdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0LHRoaXMubmV4dFNpYmxpbmcpfSl9LGVtcHR5OmZ1bmN0aW9uKCl7Zm9yKHZhciB0LGU9MDtudWxsIT0odD10aGlzW2VdKTtlKyspe2ZvcigxPT09dC5ub2RlVHlwZSYmZnQuY2xlYW5EYXRhKHAodCwhMSkpO3QuZmlyc3RDaGlsZDspdC5yZW1vdmVDaGlsZCh0LmZpcnN0Q2hpbGQpO3Qub3B0aW9ucyYmZnQubm9kZU5hbWUodCwic2VsZWN0IikmJih0Lm9wdGlvbnMubGVuZ3RoPTApfXJldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbih0LGUpe3JldHVybiB0PW51bGwhPXQmJnQsZT1udWxsPT1lP3Q6ZSx0aGlzLm1hcChmdW5jdGlvbigpe3JldHVybiBmdC5jbG9uZSh0aGlzLHQsZSl9KX0saHRtbDpmdW5jdGlvbih0KXtyZXR1cm4gSHQodGhpcyxmdW5jdGlvbih0KXt2YXIgZT10aGlzWzBdfHx7fSxuPTAsaT10aGlzLmxlbmd0aDtpZih2b2lkIDA9PT10KXJldHVybiAxPT09ZS5ub2RlVHlwZT9lLmlubmVySFRNTC5yZXBsYWNlKEt0LCIiKTp2b2lkIDA7aWYoInN0cmluZyI9PXR5cGVvZiB0JiYhbmUudGVzdCh0KSYmKGh0Lmh0bWxTZXJpYWxpemV8fCF0ZS50ZXN0KHQpKSYmKGh0LmxlYWRpbmdXaGl0ZXNwYWNlfHwhQnQudGVzdCh0KSkmJiF6dFsocXQuZXhlYyh0KXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKV0pe3Q9ZnQuaHRtbFByZWZpbHRlcih0KTt0cnl7Zm9yKDtuPGk7bisrKWU9dGhpc1tuXXx8e30sMT09PWUubm9kZVR5cGUmJihmdC5jbGVhbkRhdGEocChlLCExKSksZS5pbm5lckhUTUw9dCk7ZT0wfWNhdGNoKHQpe319ZSYmdGhpcy5lbXB0eSgpLmFwcGVuZCh0KX0sbnVsbCx0LGFyZ3VtZW50cy5sZW5ndGgpfSxyZXBsYWNlV2l0aDpmdW5jdGlvbigpe3ZhciB0PVtdO3JldHVybiBEKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGUpe3ZhciBuPXRoaXMucGFyZW50Tm9kZTtmdC5pbkFycmF5KHRoaXMsdCk8MCYmKGZ0LmNsZWFuRGF0YShwKHRoaXMpKSxuJiZuLnJlcGxhY2VDaGlsZChlLHRoaXMpKX0sdCl9fSksZnQuZWFjaCh7YXBwZW5kVG86ImFwcGVuZCIscHJlcGVuZFRvOiJwcmVwZW5kIixpbnNlcnRCZWZvcmU6ImJlZm9yZSIsaW5zZXJ0QWZ0ZXI6ImFmdGVyIixyZXBsYWNlQWxsOiJyZXBsYWNlV2l0aCJ9LGZ1bmN0aW9uKHQsZSl7ZnQuZm5bdF09ZnVuY3Rpb24odCl7Zm9yKHZhciBuLGk9MCxyPVtdLG89ZnQodCkscz1vLmxlbmd0aC0xO2k8PXM7aSsrKW49aT09PXM/dGhpczp0aGlzLmNsb25lKCEwKSxmdChvW2ldKVtlXShuKSxzdC5hcHBseShyLG4uZ2V0KCkpO3JldHVybiB0aGlzLnB1c2hTdGFjayhyKX19KTt2YXIgbGUsdWU9e0hUTUw6ImJsb2NrIixCT0RZOiJibG9jayJ9LGNlPS9ebWFyZ2luLyxoZT1uZXcgUmVnRXhwKCJeKCIrTHQrIikoPyFweClbYS16JV0rJCIsImkiKSxkZT1mdW5jdGlvbih0LGUsbixpKXt2YXIgcixvLHM9e307Zm9yKG8gaW4gZSlzW29dPXQuc3R5bGVbb10sdC5zdHlsZVtvXT1lW29dO3I9bi5hcHBseSh0LGl8fFtdKTtmb3IobyBpbiBlKXQuc3R5bGVbb109c1tvXTtyZXR1cm4gcn0sZmU9aXQuZG9jdW1lbnRFbGVtZW50OyFmdW5jdGlvbigpe2Z1bmN0aW9uIGUoKXt2YXIgZSxjLGg9aXQuZG9jdW1lbnRFbGVtZW50O2guYXBwZW5kQ2hpbGQobCksdS5zdHlsZS5jc3NUZXh0PSItd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jazttYXJnaW46YXV0bztib3JkZXI6MXB4O3BhZGRpbmc6MXB4O3RvcDoxJTt3aWR0aDo1MCUiLG49cj1hPSExLGk9cz0hMCx0LmdldENvbXB1dGVkU3R5bGUmJihjPXQuZ2V0Q29tcHV0ZWRTdHlsZSh1KSxuPSIxJSIhPT0oY3x8e30pLnRvcCxhPSIycHgiPT09KGN8fHt9KS5tYXJnaW5MZWZ0LHI9IjRweCI9PT0oY3x8e3dpZHRoOiI0cHgifSkud2lkdGgsdS5zdHlsZS5tYXJnaW5SaWdodD0iNTAlIixpPSI0cHgiPT09KGN8fHttYXJnaW5SaWdodDoiNHB4In0pLm1hcmdpblJpZ2h0LGU9dS5hcHBlbmRDaGlsZChpdC5jcmVhdGVFbGVtZW50KCJkaXYiKSksZS5zdHlsZS5jc3NUZXh0PXUuc3R5bGUuY3NzVGV4dD0iLXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94Oy1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzowIixlLnN0eWxlLm1hcmdpblJpZ2h0PWUuc3R5bGUud2lkdGg9IjAiLHUuc3R5bGUud2lkdGg9IjFweCIscz0hcGFyc2VGbG9hdCgodC5nZXRDb21wdXRlZFN0eWxlKGUpfHx7fSkubWFyZ2luUmlnaHQpLHUucmVtb3ZlQ2hpbGQoZSkpLHUuc3R5bGUuZGlzcGxheT0ibm9uZSIsbz0wPT09dS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCxvJiYodS5zdHlsZS5kaXNwbGF5PSIiLHUuaW5uZXJIVE1MPSI8dGFibGU+PHRyPjx0ZD48L3RkPjx0ZD50PC90ZD48L3RyPjwvdGFibGU+Iix1LmNoaWxkTm9kZXNbMF0uc3R5bGUuYm9yZGVyQ29sbGFwc2U9InNlcGFyYXRlIixlPXUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRkIiksZVswXS5zdHlsZS5jc3NUZXh0PSJtYXJnaW46MDtib3JkZXI6MDtwYWRkaW5nOjA7ZGlzcGxheTpub25lIixvPTA9PT1lWzBdLm9mZnNldEhlaWdodCxvJiYoZVswXS5zdHlsZS5kaXNwbGF5PSIiLGVbMV0uc3R5bGUuZGlzcGxheT0ibm9uZSIsbz0wPT09ZVswXS5vZmZzZXRIZWlnaHQpKSxoLnJlbW92ZUNoaWxkKGwpfXZhciBuLGkscixvLHMsYSxsPWl0LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHU9aXQuY3JlYXRlRWxlbWVudCgiZGl2Iik7dS5zdHlsZSYmKHUuc3R5bGUuY3NzVGV4dD0iZmxvYXQ6bGVmdDtvcGFjaXR5Oi41IixodC5vcGFjaXR5PSIwLjUiPT09dS5zdHlsZS5vcGFjaXR5LGh0LmNzc0Zsb2F0PSEhdS5zdHlsZS5jc3NGbG9hdCx1LnN0eWxlLmJhY2tncm91bmRDbGlwPSJjb250ZW50LWJveCIsdS5jbG9uZU5vZGUoITApLnN0eWxlLmJhY2tncm91bmRDbGlwPSIiLGh0LmNsZWFyQ2xvbmVTdHlsZT0iY29udGVudC1ib3giPT09dS5zdHlsZS5iYWNrZ3JvdW5kQ2xpcCxsPWl0LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGwuc3R5bGUuY3NzVGV4dD0iYm9yZGVyOjA7d2lkdGg6OHB4O2hlaWdodDowO3RvcDowO2xlZnQ6LTk5OTlweDtwYWRkaW5nOjA7bWFyZ2luLXRvcDoxcHg7cG9zaXRpb246YWJzb2x1dGUiLHUuaW5uZXJIVE1MPSIiLGwuYXBwZW5kQ2hpbGQodSksaHQuYm94U2l6aW5nPSIiPT09dS5zdHlsZS5ib3hTaXppbmd8fCIiPT09dS5zdHlsZS5Nb3pCb3hTaXppbmd8fCIiPT09dS5zdHlsZS5XZWJraXRCb3hTaXppbmcsZnQuZXh0ZW5kKGh0LHtyZWxpYWJsZUhpZGRlbk9mZnNldHM6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbD09biYmZSgpLG99LGJveFNpemluZ1JlbGlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PW4mJmUoKSxyfSxwaXhlbE1hcmdpblJpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PW4mJmUoKSxpfSxwaXhlbFBvc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PW4mJmUoKSxufSxyZWxpYWJsZU1hcmdpblJpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PW4mJmUoKSxzfSxyZWxpYWJsZU1hcmdpbkxlZnQ6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbD09biYmZSgpLGF9fSkpfSgpO3ZhciBwZSxtZSxnZT0vXih0b3B8cmlnaHR8Ym90dG9tfGxlZnQpJC87dC5nZXRDb21wdXRlZFN0eWxlPyhwZT1mdW5jdGlvbihlKXt2YXIgbj1lLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc7cmV0dXJuIG4mJm4ub3BlbmVyfHwobj10KSxuLmdldENvbXB1dGVkU3R5bGUoZSl9LG1lPWZ1bmN0aW9uKHQsZSxuKXt2YXIgaSxyLG8scyxhPXQuc3R5bGU7cmV0dXJuIG49bnx8cGUodCkscz1uP24uZ2V0UHJvcGVydHlWYWx1ZShlKXx8bltlXTp2b2lkIDAsIiIhPT1zJiZ2b2lkIDAhPT1zfHxmdC5jb250YWlucyh0Lm93bmVyRG9jdW1lbnQsdCl8fChzPWZ0LnN0eWxlKHQsZSkpLG4mJiFodC5waXhlbE1hcmdpblJpZ2h0KCkmJmhlLnRlc3QocykmJmNlLnRlc3QoZSkmJihpPWEud2lkdGgscj1hLm1pbldpZHRoLG89YS5tYXhXaWR0aCxhLm1pbldpZHRoPWEubWF4V2lkdGg9YS53aWR0aD1zLHM9bi53aWR0aCxhLndpZHRoPWksYS5taW5XaWR0aD1yLGEubWF4V2lkdGg9byksdm9pZCAwPT09cz9zOnMrIiJ9KTpmZS5jdXJyZW50U3R5bGUmJihwZT1mdW5jdGlvbih0KXtyZXR1cm4gdC5jdXJyZW50U3R5bGV9LG1lPWZ1bmN0aW9uKHQsZSxuKXt2YXIgaSxyLG8scyxhPXQuc3R5bGU7cmV0dXJuIG49bnx8cGUodCkscz1uP25bZV06dm9pZCAwLG51bGw9PXMmJmEmJmFbZV0mJihzPWFbZV0pLGhlLnRlc3QocykmJiFnZS50ZXN0KGUpJiYoaT1hLmxlZnQscj10LnJ1bnRpbWVTdHlsZSxvPXImJnIubGVmdCxvJiYoci5sZWZ0PXQuY3VycmVudFN0eWxlLmxlZnQpLGEubGVmdD0iZm9udFNpemUiPT09ZT8iMWVtIjpzLHM9YS5waXhlbExlZnQrInB4IixhLmxlZnQ9aSxvJiYoci5sZWZ0PW8pKSx2b2lkIDA9PT1zP3M6cysiInx8ImF1dG8ifSk7dmFyIHllPS9hbHBoYVwoW14pXSpcKS9pLHZlPS9vcGFjaXR5XHMqPVxzKihbXildKikvaSx3ZT0vXihub25lfHRhYmxlKD8hLWNbZWFdKS4rKS8sYmU9bmV3IFJlZ0V4cCgiXigiK0x0KyIpKC4qKSQiLCJpIikseGU9e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdmlzaWJpbGl0eToiaGlkZGVuIixkaXNwbGF5OiJibG9jayJ9LF9lPXtsZXR0ZXJTcGFjaW5nOiIwIixmb250V2VpZ2h0OiI0MDAifSxrZT1bIldlYmtpdCIsIk8iLCJNb3oiLCJtcyJdLFNlPWl0LmNyZWF0ZUVsZW1lbnQoImRpdiIpLnN0eWxlO2Z0LmV4dGVuZCh7Y3NzSG9va3M6e29wYWNpdHk6e2dldDpmdW5jdGlvbih0LGUpe2lmKGUpe3ZhciBuPW1lKHQsIm9wYWNpdHkiKTtyZXR1cm4iIj09PW4/IjEiOm59fX19LGNzc051bWJlcjp7YW5pbWF0aW9uSXRlcmF0aW9uQ291bnQ6ITAsY29sdW1uQ291bnQ6ITAsZmlsbE9wYWNpdHk6ITAsZmxleEdyb3c6ITAsZmxleFNocmluazohMCxmb250V2VpZ2h0OiEwLGxpbmVIZWlnaHQ6ITAsb3BhY2l0eTohMCxvcmRlcjohMCxvcnBoYW5zOiEwLHdpZG93czohMCx6SW5kZXg6ITAsem9vbTohMH0sY3NzUHJvcHM6e2Zsb2F0Omh0LmNzc0Zsb2F0PyJjc3NGbG9hdCI6InN0eWxlRmxvYXQifSxzdHlsZTpmdW5jdGlvbih0LGUsbixpKXtpZih0JiYzIT09dC5ub2RlVHlwZSYmOCE9PXQubm9kZVR5cGUmJnQuc3R5bGUpe3ZhciByLG8scyxhPWZ0LmNhbWVsQ2FzZShlKSxsPXQuc3R5bGU7aWYoZT1mdC5jc3NQcm9wc1thXXx8KGZ0LmNzc1Byb3BzW2FdPU8oYSl8fGEpLHM9ZnQuY3NzSG9va3NbZV18fGZ0LmNzc0hvb2tzW2FdLHZvaWQgMD09PW4pcmV0dXJuIHMmJiJnZXQiaW4gcyYmdm9pZCAwIT09KHI9cy5nZXQodCwhMSxpKSk/cjpsW2VdO2lmKG89dHlwZW9mIG4sInN0cmluZyI9PT1vJiYocj1ZdC5leGVjKG4pKSYmclsxXSYmKG49ZCh0LGUsciksbz0ibnVtYmVyIiksbnVsbCE9biYmbj09PW4mJigibnVtYmVyIj09PW8mJihuKz1yJiZyWzNdfHwoZnQuY3NzTnVtYmVyW2FdPyIiOiJweCIpKSxodC5jbGVhckNsb25lU3R5bGV8fCIiIT09bnx8MCE9PWUuaW5kZXhPZigiYmFja2dyb3VuZCIpfHwobFtlXT0iaW5oZXJpdCIpLCEocyYmInNldCJpbiBzJiZ2b2lkIDA9PT0obj1zLnNldCh0LG4saSkpKSkpdHJ5e2xbZV09bn1jYXRjaCh0KXt9fX0sY3NzOmZ1bmN0aW9uKHQsZSxuLGkpe3ZhciByLG8scyxhPWZ0LmNhbWVsQ2FzZShlKTtyZXR1cm4gZT1mdC5jc3NQcm9wc1thXXx8KGZ0LmNzc1Byb3BzW2FdPU8oYSl8fGEpLHM9ZnQuY3NzSG9va3NbZV18fGZ0LmNzc0hvb2tzW2FdLHMmJiJnZXQiaW4gcyYmKG89cy5nZXQodCwhMCxuKSksdm9pZCAwPT09byYmKG89bWUodCxlLGkpKSwibm9ybWFsIj09PW8mJmUgaW4gX2UmJihvPV9lW2VdKSwiIj09PW58fG4/KHI9cGFyc2VGbG9hdChvKSxuPT09ITB8fGlzRmluaXRlKHIpP3J8fDA6byk6b319KSxmdC5lYWNoKFsiaGVpZ2h0Iiwid2lkdGgiXSxmdW5jdGlvbih0LGUpe2Z0LmNzc0hvb2tzW2VdPXtnZXQ6ZnVuY3Rpb24odCxuLGkpe2lmKG4pcmV0dXJuIHdlLnRlc3QoZnQuY3NzKHQsImRpc3BsYXkiKSkmJjA9PT10Lm9mZnNldFdpZHRoP2RlKHQseGUsZnVuY3Rpb24oKXtyZXR1cm4gWSh0LGUsaSl9KTpZKHQsZSxpKX0sc2V0OmZ1bmN0aW9uKHQsbixpKXt2YXIgcj1pJiZwZSh0KTtyZXR1cm4gUCh0LG4saT9MKHQsZSxpLGh0LmJveFNpemluZyYmImJvcmRlci1ib3giPT09ZnQuY3NzKHQsImJveFNpemluZyIsITEscikscik6MCl9fX0pLGh0Lm9wYWNpdHl8fChmdC5jc3NIb29rcy5vcGFjaXR5PXtnZXQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdmUudGVzdCgoZSYmdC5jdXJyZW50U3R5bGU/dC5jdXJyZW50U3R5bGUuZmlsdGVyOnQuc3R5bGUuZmlsdGVyKXx8IiIpPy4wMSpwYXJzZUZsb2F0KFJlZ0V4cC4kMSkrIiI6ZT8iMSI6IiJ9LHNldDpmdW5jdGlvbih0LGUpe3ZhciBuPXQuc3R5bGUsaT10LmN1cnJlbnRTdHlsZSxyPWZ0LmlzTnVtZXJpYyhlKT8iYWxwaGEob3BhY2l0eT0iKzEwMCplKyIpIjoiIixvPWkmJmkuZmlsdGVyfHxuLmZpbHRlcnx8IiI7bi56b29tPTEsKGU+PTF8fCIiPT09ZSkmJiIiPT09ZnQudHJpbShvLnJlcGxhY2UoeWUsIiIpKSYmbi5yZW1vdmVBdHRyaWJ1dGUmJihuLnJlbW92ZUF0dHJpYnV0ZSgiZmlsdGVyIiksIiI9PT1lfHxpJiYhaS5maWx0ZXIpfHwobi5maWx0ZXI9eWUudGVzdChvKT9vLnJlcGxhY2UoeWUscik6bysiICIrcil9fSksZnQuY3NzSG9va3MubWFyZ2luUmlnaHQ9RShodC5yZWxpYWJsZU1hcmdpblJpZ2h0LGZ1bmN0aW9uKHQsZSl7aWYoZSlyZXR1cm4gZGUodCx7ZGlzcGxheToiaW5saW5lLWJsb2NrIn0sbWUsW3QsIm1hcmdpblJpZ2h0Il0pfSksZnQuY3NzSG9va3MubWFyZ2luTGVmdD1FKGh0LnJlbGlhYmxlTWFyZ2luTGVmdCxmdW5jdGlvbih0LGUpe2lmKGUpcmV0dXJuKHBhcnNlRmxvYXQobWUodCwibWFyZ2luTGVmdCIpKXx8KGZ0LmNvbnRhaW5zKHQub3duZXJEb2N1bWVudCx0KT90LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQtZGUodCx7bWFyZ2luTGVmdDowfSxmdW5jdGlvbigpe3JldHVybiB0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnR9KTowKSkrInB4In0pLGZ0LmVhY2goe21hcmdpbjoiIixwYWRkaW5nOiIiLGJvcmRlcjoiV2lkdGgifSxmdW5jdGlvbih0LGUpe2Z0LmNzc0hvb2tzW3QrZV09e2V4cGFuZDpmdW5jdGlvbihuKXtmb3IodmFyIGk9MCxyPXt9LG89InN0cmluZyI9PXR5cGVvZiBuP24uc3BsaXQoIiAiKTpbbl07aTw0O2krKylyW3QrRnRbaV0rZV09b1tpXXx8b1tpLTJdfHxvWzBdO3JldHVybiByfX0sY2UudGVzdCh0KXx8KGZ0LmNzc0hvb2tzW3QrZV0uc2V0PVApfSksZnQuZm4uZXh0ZW5kKHtjc3M6ZnVuY3Rpb24odCxlKXtyZXR1cm4gSHQodGhpcyxmdW5jdGlvbih0LGUsbil7dmFyIGkscixvPXt9LHM9MDtpZihmdC5pc0FycmF5KGUpKXtmb3IoaT1wZSh0KSxyPWUubGVuZ3RoO3M8cjtzKyspb1tlW3NdXT1mdC5jc3ModCxlW3NdLCExLGkpO3JldHVybiBvfXJldHVybiB2b2lkIDAhPT1uP2Z0LnN0eWxlKHQsZSxuKTpmdC5jc3ModCxlKX0sdCxlLGFyZ3VtZW50cy5sZW5ndGg+MSl9LHNob3c6ZnVuY3Rpb24oKXtyZXR1cm4gQSh0aGlzLCEwKX0saGlkZTpmdW5jdGlvbigpe3JldHVybiBBKHRoaXMpfSx0b2dnbGU6ZnVuY3Rpb24odCl7cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgdD90P3RoaXMuc2hvdygpOnRoaXMuaGlkZSgpOnRoaXMuZWFjaChmdW5jdGlvbigpe1J0KHRoaXMpP2Z0KHRoaXMpLnNob3coKTpmdCh0aGlzKS5oaWRlKCl9KX19KSxmdC5Ud2Vlbj1GLEYucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpGLGluaXQ6ZnVuY3Rpb24odCxlLG4saSxyLG8pe3RoaXMuZWxlbT10LHRoaXMucHJvcD1uLHRoaXMuZWFzaW5nPXJ8fGZ0LmVhc2luZy5fZGVmYXVsdCx0aGlzLm9wdGlvbnM9ZSx0aGlzLnN0YXJ0PXRoaXMubm93PXRoaXMuY3VyKCksdGhpcy5lbmQ9aSx0aGlzLnVuaXQ9b3x8KGZ0LmNzc051bWJlcltuXT8iIjoicHgiKX0sY3VyOmZ1bmN0aW9uKCl7dmFyIHQ9Ri5wcm9wSG9va3NbdGhpcy5wcm9wXTtyZXR1cm4gdCYmdC5nZXQ/dC5nZXQodGhpcyk6Ri5wcm9wSG9va3MuX2RlZmF1bHQuZ2V0KHRoaXMpfSxydW46ZnVuY3Rpb24odCl7dmFyIGUsbj1GLnByb3BIb29rc1t0aGlzLnByb3BdO3JldHVybiB0aGlzLm9wdGlvbnMuZHVyYXRpb24/dGhpcy5wb3M9ZT1mdC5lYXNpbmdbdGhpcy5lYXNpbmddKHQsdGhpcy5vcHRpb25zLmR1cmF0aW9uKnQsMCwxLHRoaXMub3B0aW9ucy5kdXJhdGlvbik6dGhpcy5wb3M9ZT10LHRoaXMubm93PSh0aGlzLmVuZC10aGlzLnN0YXJ0KSplK3RoaXMuc3RhcnQsdGhpcy5vcHRpb25zLnN0ZXAmJnRoaXMub3B0aW9ucy5zdGVwLmNhbGwodGhpcy5lbGVtLHRoaXMubm93LHRoaXMpLG4mJm4uc2V0P24uc2V0KHRoaXMpOkYucHJvcEhvb2tzLl9kZWZhdWx0LnNldCh0aGlzKSx0aGlzfX0sRi5wcm90b3R5cGUuaW5pdC5wcm90b3R5cGU9Ri5wcm90b3R5cGUsRi5wcm9wSG9va3M9e19kZWZhdWx0OntnZXQ6ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIDEhPT10LmVsZW0ubm9kZVR5cGV8fG51bGwhPXQuZWxlbVt0LnByb3BdJiZudWxsPT10LmVsZW0uc3R5bGVbdC5wcm9wXT90LmVsZW1bdC5wcm9wXTooZT1mdC5jc3ModC5lbGVtLHQucHJvcCwiIiksZSYmImF1dG8iIT09ZT9lOjApfSxzZXQ6ZnVuY3Rpb24odCl7ZnQuZnguc3RlcFt0LnByb3BdP2Z0LmZ4LnN0ZXBbdC5wcm9wXSh0KToxIT09dC5lbGVtLm5vZGVUeXBlfHxudWxsPT10LmVsZW0uc3R5bGVbZnQuY3NzUHJvcHNbdC5wcm9wXV0mJiFmdC5jc3NIb29rc1t0LnByb3BdP3QuZWxlbVt0LnByb3BdPXQubm93OmZ0LnN0eWxlKHQuZWxlbSx0LnByb3AsdC5ub3crdC51bml0KX19fSxGLnByb3BIb29rcy5zY3JvbGxUb3A9Ri5wcm9wSG9va3Muc2Nyb2xsTGVmdD17c2V0OmZ1bmN0aW9uKHQpe3QuZWxlbS5ub2RlVHlwZSYmdC5lbGVtLnBhcmVudE5vZGUmJih0LmVsZW1bdC5wcm9wXT10Lm5vdyl9fSxmdC5lYXNpbmc9e2xpbmVhcjpmdW5jdGlvbih0KXtyZXR1cm4gdH0sc3dpbmc6ZnVuY3Rpb24odCl7cmV0dXJuLjUtTWF0aC5jb3ModCpNYXRoLlBJKS8yfSxfZGVmYXVsdDoic3dpbmcifSxmdC5meD1GLnByb3RvdHlwZS5pbml0LGZ0LmZ4LnN0ZXA9e307dmFyIFRlLENlLERlPS9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLyxNZT0vcXVldWVIb29rcyQvO2Z0LkFuaW1hdGlvbj1mdC5leHRlbmQoQix7dHdlZW5lcnM6eyIqIjpbZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLmNyZWF0ZVR3ZWVuKHQsZSk7cmV0dXJuIGQobi5lbGVtLHQsWXQuZXhlYyhlKSxuKSxufV19LHR3ZWVuZXI6ZnVuY3Rpb24odCxlKXtmdC5pc0Z1bmN0aW9uKHQpPyhlPXQsdD1bIioiXSk6dD10Lm1hdGNoKE50KTtmb3IodmFyIG4saT0wLHI9dC5sZW5ndGg7aTxyO2krKyluPXRbaV0sQi50d2VlbmVyc1tuXT1CLnR3ZWVuZXJzW25dfHxbXSxCLnR3ZWVuZXJzW25dLnVuc2hpZnQoZSl9LHByZWZpbHRlcnM6W3FdLHByZWZpbHRlcjpmdW5jdGlvbih0LGUpe2U/Qi5wcmVmaWx0ZXJzLnVuc2hpZnQodCk6Qi5wcmVmaWx0ZXJzLnB1c2godCl9fSksZnQuc3BlZWQ9ZnVuY3Rpb24odCxlLG4pe3ZhciBpPXQmJiJvYmplY3QiPT10eXBlb2YgdD9mdC5leHRlbmQoe30sdCk6e2NvbXBsZXRlOm58fCFuJiZlfHxmdC5pc0Z1bmN0aW9uKHQpJiZ0LGR1cmF0aW9uOnQsZWFzaW5nOm4mJmV8fGUmJiFmdC5pc0Z1bmN0aW9uKGUpJiZlfTtyZXR1cm4gaS5kdXJhdGlvbj1mdC5meC5vZmY/MDoibnVtYmVyIj09dHlwZW9mIGkuZHVyYXRpb24/aS5kdXJhdGlvbjppLmR1cmF0aW9uIGluIGZ0LmZ4LnNwZWVkcz9mdC5meC5zcGVlZHNbaS5kdXJhdGlvbl06ZnQuZnguc3BlZWRzLl9kZWZhdWx0LG51bGwhPWkucXVldWUmJmkucXVldWUhPT0hMHx8KGkucXVldWU9ImZ4IiksaS5vbGQ9aS5jb21wbGV0ZSxpLmNvbXBsZXRlPWZ1bmN0aW9uKCl7ZnQuaXNGdW5jdGlvbihpLm9sZCkmJmkub2xkLmNhbGwodGhpcyksaS5xdWV1ZSYmZnQuZGVxdWV1ZSh0aGlzLGkucXVldWUpfSxpfSxmdC5mbi5leHRlbmQoe2ZhZGVUbzpmdW5jdGlvbih0LGUsbixpKXtyZXR1cm4gdGhpcy5maWx0ZXIoUnQpLmNzcygib3BhY2l0eSIsMCkuc2hvdygpLmVuZCgpLmFuaW1hdGUoe29wYWNpdHk6ZX0sdCxuLGkpfSxhbmltYXRlOmZ1bmN0aW9uKHQsZSxuLGkpe3ZhciByPWZ0LmlzRW1wdHlPYmplY3QodCksbz1mdC5zcGVlZChlLG4saSkscz1mdW5jdGlvbigpe3ZhciBlPUIodGhpcyxmdC5leHRlbmQoe30sdCksbyk7KHJ8fGZ0Ll9kYXRhKHRoaXMsImZpbmlzaCIpKSYmZS5zdG9wKCEwKX07cmV0dXJuIHMuZmluaXNoPXMscnx8by5xdWV1ZT09PSExP3RoaXMuZWFjaChzKTp0aGlzLnF1ZXVlKG8ucXVldWUscyl9LHN0b3A6ZnVuY3Rpb24odCxlLG4pe3ZhciBpPWZ1bmN0aW9uKHQpe3ZhciBlPXQuc3RvcDtkZWxldGUgdC5zdG9wLGUobil9O3JldHVybiJzdHJpbmciIT10eXBlb2YgdCYmKG49ZSxlPXQsdD12b2lkIDApLGUmJnQhPT0hMSYmdGhpcy5xdWV1ZSh0fHwiZngiLFtdKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZT0hMCxyPW51bGwhPXQmJnQrInF1ZXVlSG9va3MiLG89ZnQudGltZXJzLHM9ZnQuX2RhdGEodGhpcyk7aWYocilzW3JdJiZzW3JdLnN0b3AmJmkoc1tyXSk7ZWxzZSBmb3IociBpbiBzKXNbcl0mJnNbcl0uc3RvcCYmTWUudGVzdChyKSYmaShzW3JdKTtmb3Iocj1vLmxlbmd0aDtyLS07KW9bcl0uZWxlbSE9PXRoaXN8fG51bGwhPXQmJm9bcl0ucXVldWUhPT10fHwob1tyXS5hbmltLnN0b3AobiksZT0hMSxvLnNwbGljZShyLDEpKTshZSYmbnx8ZnQuZGVxdWV1ZSh0aGlzLHQpfSl9LGZpbmlzaDpmdW5jdGlvbih0KXtyZXR1cm4gdCE9PSExJiYodD10fHwiZngiKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZSxuPWZ0Ll9kYXRhKHRoaXMpLGk9blt0KyJxdWV1ZSJdLHI9blt0KyJxdWV1ZUhvb2tzIl0sbz1mdC50aW1lcnMscz1pP2kubGVuZ3RoOjA7Zm9yKG4uZmluaXNoPSEwLGZ0LnF1ZXVlKHRoaXMsdCxbXSksciYmci5zdG9wJiZyLnN0b3AuY2FsbCh0aGlzLCEwKSxlPW8ubGVuZ3RoO2UtLTspb1tlXS5lbGVtPT09dGhpcyYmb1tlXS5xdWV1ZT09PXQmJihvW2VdLmFuaW0uc3RvcCghMCksby5zcGxpY2UoZSwxKSk7Zm9yKGU9MDtlPHM7ZSsrKWlbZV0mJmlbZV0uZmluaXNoJiZpW2VdLmZpbmlzaC5jYWxsKHRoaXMpO2RlbGV0ZSBuLmZpbmlzaH0pfX0pLGZ0LmVhY2goWyJ0b2dnbGUiLCJzaG93IiwiaGlkZSJdLGZ1bmN0aW9uKHQsZSl7dmFyIG49ZnQuZm5bZV07ZnQuZm5bZV09ZnVuY3Rpb24odCxpLHIpe3JldHVybiBudWxsPT10fHwiYm9vbGVhbiI9PXR5cGVvZiB0P24uYXBwbHkodGhpcyxhcmd1bWVudHMpOnRoaXMuYW5pbWF0ZShIKGUsITApLHQsaSxyKX19KSxmdC5lYWNoKHtzbGlkZURvd246SCgic2hvdyIpLHNsaWRlVXA6SCgiaGlkZSIpLHNsaWRlVG9nZ2xlOkgoInRvZ2dsZSIpLGZhZGVJbjp7b3BhY2l0eToic2hvdyJ9LGZhZGVPdXQ6e29wYWNpdHk6ImhpZGUifSxmYWRlVG9nZ2xlOntvcGFjaXR5OiJ0b2dnbGUifX0sZnVuY3Rpb24odCxlKXtmdC5mblt0XT1mdW5jdGlvbih0LG4saSl7cmV0dXJuIHRoaXMuYW5pbWF0ZShlLHQsbixpKX19KSxmdC50aW1lcnM9W10sZnQuZngudGljaz1mdW5jdGlvbigpe3ZhciB0LGU9ZnQudGltZXJzLG49MDtmb3IoVGU9ZnQubm93KCk7bjxlLmxlbmd0aDtuKyspdD1lW25dLHQoKXx8ZVtuXSE9PXR8fGUuc3BsaWNlKG4tLSwxKTtlLmxlbmd0aHx8ZnQuZnguc3RvcCgpLFRlPXZvaWQgMH0sZnQuZngudGltZXI9ZnVuY3Rpb24odCl7ZnQudGltZXJzLnB1c2godCksdCgpP2Z0LmZ4LnN0YXJ0KCk6ZnQudGltZXJzLnBvcCgpfSxmdC5meC5pbnRlcnZhbD0xMyxmdC5meC5zdGFydD1mdW5jdGlvbigpe0NlfHwoQ2U9dC5zZXRJbnRlcnZhbChmdC5meC50aWNrLGZ0LmZ4LmludGVydmFsKSl9LGZ0LmZ4LnN0b3A9ZnVuY3Rpb24oKXt0LmNsZWFySW50ZXJ2YWwoQ2UpLENlPW51bGx9LGZ0LmZ4LnNwZWVkcz17c2xvdzo2MDAsZmFzdDoyMDAsX2RlZmF1bHQ6NDAwfSxmdC5mbi5kZWxheT1mdW5jdGlvbihlLG4pe3JldHVybiBlPWZ0LmZ4P2Z0LmZ4LnNwZWVkc1tlXXx8ZTplLG49bnx8ImZ4Iix0aGlzLnF1ZXVlKG4sZnVuY3Rpb24obixpKXt2YXIgcj10LnNldFRpbWVvdXQobixlKTtpLnN0b3A9ZnVuY3Rpb24oKXt0LmNsZWFyVGltZW91dChyKX19KX0sZnVuY3Rpb24oKXt2YXIgdCxlPWl0LmNyZWF0ZUVsZW1lbnQoImlucHV0Iiksbj1pdC5jcmVhdGVFbGVtZW50KCJkaXYiKSxpPWl0LmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpLHI9aS5hcHBlbmRDaGlsZChpdC5jcmVhdGVFbGVtZW50KCJvcHRpb24iKSk7bj1pdC5jcmVhdGVFbGVtZW50KCJkaXYiKSxuLnNldEF0dHJpYnV0ZSgiY2xhc3NOYW1lIiwidCIpLG4uaW5uZXJIVE1MPSIgIDxsaW5rLz48dGFibGU+PC90YWJsZT48YSBocmVmPScvYSc+YTwvYT48aW5wdXQgdHlwZT0nY2hlY2tib3gnLz4iLHQ9bi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYSIpWzBdLGUuc2V0QXR0cmlidXRlKCJ0eXBlIiwiY2hlY2tib3giKSxuLmFwcGVuZENoaWxkKGUpLHQ9bi5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYSIpWzBdLHQuc3R5bGUuY3NzVGV4dD0idG9wOjFweCIsaHQuZ2V0U2V0QXR0cmlidXRlPSJ0IiE9PW4uY2xhc3NOYW1lLGh0LnN0eWxlPS90b3AvLnRlc3QodC5nZXRBdHRyaWJ1dGUoInN0eWxlIikpLGh0LmhyZWZOb3JtYWxpemVkPSIvYSI9PT10LmdldEF0dHJpYnV0ZSgiaHJlZiIpLGh0LmNoZWNrT249ISFlLnZhbHVlLGh0Lm9wdFNlbGVjdGVkPXIuc2VsZWN0ZWQsaHQuZW5jdHlwZT0hIWl0LmNyZWF0ZUVsZW1lbnQoImZvcm0iKS5lbmN0eXBlLGkuZGlzYWJsZWQ9ITAsaHQub3B0RGlzYWJsZWQ9IXIuZGlzYWJsZWQsZT1pdC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpLGUuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsIiIpLGh0LmlucHV0PSIiPT09ZS5nZXRBdHRyaWJ1dGUoInZhbHVlIiksZS52YWx1ZT0idCIsZS5zZXRBdHRyaWJ1dGUoInR5cGUiLCJyYWRpbyIpLGh0LnJhZGlvVmFsdWU9InQiPT09ZS52YWx1ZX0oKTt2YXIgTmU9L1xyL2csamU9L1tceDIwXHRcclxuXGZdKy9nO2Z0LmZuLmV4dGVuZCh7dmFsOmZ1bmN0aW9uKHQpe3ZhciBlLG4saSxyPXRoaXNbMF07e2lmKGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGk9ZnQuaXNGdW5jdGlvbih0KSx0aGlzLmVhY2goZnVuY3Rpb24obil7dmFyIHI7MT09PXRoaXMubm9kZVR5cGUmJihyPWk/dC5jYWxsKHRoaXMsbixmdCh0aGlzKS52YWwoKSk6dCxudWxsPT1yP3I9IiI6Im51bWJlciI9PXR5cGVvZiByP3IrPSIiOmZ0LmlzQXJyYXkocikmJihyPWZ0Lm1hcChyLGZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10PyIiOnQrIiJ9KSksZT1mdC52YWxIb29rc1t0aGlzLnR5cGVdfHxmdC52YWxIb29rc1t0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLGUmJiJzZXQiaW4gZSYmdm9pZCAwIT09ZS5zZXQodGhpcyxyLCJ2YWx1ZSIpfHwodGhpcy52YWx1ZT1yKSl9KTtpZihyKXJldHVybiBlPWZ0LnZhbEhvb2tzW3IudHlwZV18fGZ0LnZhbEhvb2tzW3Iubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0sZSYmImdldCJpbiBlJiZ2b2lkIDAhPT0obj1lLmdldChyLCJ2YWx1ZSIpKT9uOihuPXIudmFsdWUsInN0cmluZyI9PXR5cGVvZiBuP24ucmVwbGFjZShOZSwiIik6bnVsbD09bj8iIjpuKX19fSksZnQuZXh0ZW5kKHt2YWxIb29rczp7b3B0aW9uOntnZXQ6ZnVuY3Rpb24odCl7dmFyIGU9ZnQuZmluZC5hdHRyKHQsInZhbHVlIik7cmV0dXJuIG51bGwhPWU/ZTpmdC50cmltKGZ0LnRleHQodCkpLnJlcGxhY2UoamUsIiAiKX19LHNlbGVjdDp7Z2V0OmZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxuLGk9dC5vcHRpb25zLHI9dC5zZWxlY3RlZEluZGV4LG89InNlbGVjdC1vbmUiPT09dC50eXBlfHxyPDAscz1vP251bGw6W10sYT1vP3IrMTppLmxlbmd0aCxsPXI8MD9hOm8/cjowO2w8YTtsKyspaWYobj1pW2xdLChuLnNlbGVjdGVkfHxsPT09cikmJihodC5vcHREaXNhYmxlZD8hbi5kaXNhYmxlZDpudWxsPT09bi5nZXRBdHRyaWJ1dGUoImRpc2FibGVkIikpJiYoIW4ucGFyZW50Tm9kZS5kaXNhYmxlZHx8IWZ0Lm5vZGVOYW1lKG4ucGFyZW50Tm9kZSwib3B0Z3JvdXAiKSkpe2lmKGU9ZnQobikudmFsKCksbylyZXR1cm4gZTtzLnB1c2goZSl9cmV0dXJuIHN9LHNldDpmdW5jdGlvbih0LGUpe2Zvcih2YXIgbixpLHI9dC5vcHRpb25zLG89ZnQubWFrZUFycmF5KGUpLHM9ci5sZW5ndGg7cy0tOylpZihpPXJbc10sZnQuaW5BcnJheShmdC52YWxIb29rcy5vcHRpb24uZ2V0KGkpLG8pPi0xKXRyeXtpLnNlbGVjdGVkPW49ITB9Y2F0Y2godCl7aS5zY3JvbGxIZWlnaHR9ZWxzZSBpLnNlbGVjdGVkPSExO3JldHVybiBufHwodC5zZWxlY3RlZEluZGV4PS0xKSxyfX19fSksZnQuZWFjaChbInJhZGlvIiwiY2hlY2tib3giXSxmdW5jdGlvbigpe2Z0LnZhbEhvb2tzW3RoaXNdPXtzZXQ6ZnVuY3Rpb24odCxlKXtpZihmdC5pc0FycmF5KGUpKXJldHVybiB0LmNoZWNrZWQ9ZnQuaW5BcnJheShmdCh0KS52YWwoKSxlKT4tMX19LGh0LmNoZWNrT258fChmdC52YWxIb29rc1t0aGlzXS5nZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PT10LmdldEF0dHJpYnV0ZSgidmFsdWUiKT8ib24iOnQudmFsdWV9KX0pO3ZhciBFZSxPZSxBZT1mdC5leHByLmF0dHJIYW5kbGUsUGU9L14oPzpjaGVja2VkfHNlbGVjdGVkKSQvaSxMZT1odC5nZXRTZXRBdHRyaWJ1dGUsWWU9aHQuaW5wdXQ7ZnQuZm4uZXh0ZW5kKHthdHRyOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIEh0KHRoaXMsZnQuYXR0cix0LGUsYXJndW1lbnRzLmxlbmd0aD4xKX0scmVtb3ZlQXR0cjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7ZnQucmVtb3ZlQXR0cih0aGlzLHQpfSl9fSksZnQuZXh0ZW5kKHthdHRyOmZ1bmN0aW9uKHQsZSxuKXt2YXIgaSxyLG89dC5ub2RlVHlwZTtpZigzIT09byYmOCE9PW8mJjIhPT1vKXJldHVybiJ1bmRlZmluZWQiPT10eXBlb2YgdC5nZXRBdHRyaWJ1dGU/ZnQucHJvcCh0LGUsbik6KDE9PT1vJiZmdC5pc1hNTERvYyh0KXx8KGU9ZS50b0xvd2VyQ2FzZSgpLHI9ZnQuYXR0ckhvb2tzW2VdfHwoZnQuZXhwci5tYXRjaC5ib29sLnRlc3QoZSk/T2U6RWUpKSx2b2lkIDAhPT1uP251bGw9PT1uP3ZvaWQgZnQucmVtb3ZlQXR0cih0LGUpOnImJiJzZXQiaW4gciYmdm9pZCAwIT09KGk9ci5zZXQodCxuLGUpKT9pOih0LnNldEF0dHJpYnV0ZShlLG4rIiIpLG4pOnImJiJnZXQiaW4gciYmbnVsbCE9PShpPXIuZ2V0KHQsZSkpP2k6KGk9ZnQuZmluZC5hdHRyKHQsZSksbnVsbD09aT92b2lkIDA6aSkpfSxhdHRySG9va3M6e3R5cGU6e3NldDpmdW5jdGlvbih0LGUpe2lmKCFodC5yYWRpb1ZhbHVlJiYicmFkaW8iPT09ZSYmZnQubm9kZU5hbWUodCwiaW5wdXQiKSl7dmFyIG49dC52YWx1ZTtyZXR1cm4gdC5zZXRBdHRyaWJ1dGUoInR5cGUiLGUpLG4mJih0LnZhbHVlPW4pLGV9fX19LHJlbW92ZUF0dHI6ZnVuY3Rpb24odCxlKXt2YXIgbixpLHI9MCxvPWUmJmUubWF0Y2goTnQpO2lmKG8mJjE9PT10Lm5vZGVUeXBlKWZvcig7bj1vW3IrK107KWk9ZnQucHJvcEZpeFtuXXx8bixmdC5leHByLm1hdGNoLmJvb2wudGVzdChuKT9ZZSYmTGV8fCFQZS50ZXN0KG4pP3RbaV09ITE6dFtmdC5jYW1lbENhc2UoImRlZmF1bHQtIituKV09dFtpXT0hMTpmdC5hdHRyKHQsbiwiIiksdC5yZW1vdmVBdHRyaWJ1dGUoTGU/bjppKX19KSxPZT17c2V0OmZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gZT09PSExP2Z0LnJlbW92ZUF0dHIodCxuKTpZZSYmTGV8fCFQZS50ZXN0KG4pP3Quc2V0QXR0cmlidXRlKCFMZSYmZnQucHJvcEZpeFtuXXx8bixuKTp0W2Z0LmNhbWVsQ2FzZSgiZGVmYXVsdC0iK24pXT10W25dPSEwLG59fSxmdC5lYWNoKGZ0LmV4cHIubWF0Y2guYm9vbC5zb3VyY2UubWF0Y2goL1x3Ky9nKSxmdW5jdGlvbih0LGUpe3ZhciBuPUFlW2VdfHxmdC5maW5kLmF0dHI7WWUmJkxlfHwhUGUudGVzdChlKT9BZVtlXT1mdW5jdGlvbih0LGUsaSl7dmFyIHIsbztyZXR1cm4gaXx8KG89QWVbZV0sQWVbZV09cixyPW51bGwhPW4odCxlLGkpP2UudG9Mb3dlckNhc2UoKTpudWxsLEFlW2VdPW8pLHJ9OkFlW2VdPWZ1bmN0aW9uKHQsZSxuKXtpZighbilyZXR1cm4gdFtmdC5jYW1lbENhc2UoImRlZmF1bHQtIitlKV0/ZS50b0xvd2VyQ2FzZSgpOm51bGx9fSksWWUmJkxlfHwoZnQuYXR0ckhvb2tzLnZhbHVlPXtzZXQ6ZnVuY3Rpb24odCxlLG4pe3JldHVybiBmdC5ub2RlTmFtZSh0LCJpbnB1dCIpP3ZvaWQodC5kZWZhdWx0VmFsdWU9ZSk6RWUmJkVlLnNldCh0LGUsbil9fSksTGV8fChFZT17c2V0OmZ1bmN0aW9uKHQsZSxuKXt2YXIgaT10LmdldEF0dHJpYnV0ZU5vZGUobik7aWYoaXx8dC5zZXRBdHRyaWJ1dGVOb2RlKGk9dC5vd25lckRvY3VtZW50LmNyZWF0ZUF0dHJpYnV0ZShuKSksaS52YWx1ZT1lKz0iIiwidmFsdWUiPT09bnx8ZT09PXQuZ2V0QXR0cmlidXRlKG4pKXJldHVybiBlfX0sQWUuaWQ9QWUubmFtZT1BZS5jb29yZHM9ZnVuY3Rpb24odCxlLG4pe3ZhciBpO2lmKCFuKXJldHVybihpPXQuZ2V0QXR0cmlidXRlTm9kZShlKSkmJiIiIT09aS52YWx1ZT9pLnZhbHVlOm51bGx9LGZ0LnZhbEhvb2tzLmJ1dHRvbj17Z2V0OmZ1bmN0aW9uKHQsZSl7dmFyIG49dC5nZXRBdHRyaWJ1dGVOb2RlKGUpO2lmKG4mJm4uc3BlY2lmaWVkKXJldHVybiBuLnZhbHVlfSxzZXQ6RWUuc2V0fSxmdC5hdHRySG9va3MuY29udGVudGVkaXRhYmxlPXtzZXQ6ZnVuY3Rpb24odCxlLG4pe0VlLnNldCh0LCIiIT09ZSYmZSxuKX19LGZ0LmVhY2goWyJ3aWR0aCIsImhlaWdodCJdLGZ1bmN0aW9uKHQsZSl7ZnQuYXR0ckhvb2tzW2VdPXtzZXQ6ZnVuY3Rpb24odCxuKXtpZigiIj09PW4pcmV0dXJuIHQuc2V0QXR0cmlidXRlKGUsImF1dG8iKSxufX19KSksaHQuc3R5bGV8fChmdC5hdHRySG9va3Muc3R5bGU9e2dldDpmdW5jdGlvbih0KXtyZXR1cm4gdC5zdHlsZS5jc3NUZXh0fHx2b2lkIDB9LHNldDpmdW5jdGlvbih0LGUpe3JldHVybiB0LnN0eWxlLmNzc1RleHQ9ZSsiIn19KTt2YXIgRmU9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9ufG9iamVjdCkkL2ksUmU9L14oPzphfGFyZWEpJC9pO2Z0LmZuLmV4dGVuZCh7cHJvcDpmdW5jdGlvbih0LGUpe3JldHVybiBIdCh0aGlzLGZ0LnByb3AsdCxlLGFyZ3VtZW50cy5sZW5ndGg+MSl9LHJlbW92ZVByb3A6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9ZnQucHJvcEZpeFt0XXx8dCx0aGlzLmVhY2goZnVuY3Rpb24oKXt0cnl7dGhpc1t0XT12b2lkIDAsZGVsZXRlIHRoaXNbdF19Y2F0Y2godCl7fX0pfX0pLGZ0LmV4dGVuZCh7cHJvcDpmdW5jdGlvbih0LGUsbil7dmFyIGkscixvPXQubm9kZVR5cGU7aWYoMyE9PW8mJjghPT1vJiYyIT09bylyZXR1cm4gMT09PW8mJmZ0LmlzWE1MRG9jKHQpfHwoZT1mdC5wcm9wRml4W2VdfHxlLHI9ZnQucHJvcEhvb2tzW2VdKSx2b2lkIDAhPT1uP3ImJiJzZXQiaW4gciYmdm9pZCAwIT09KGk9ci5zZXQodCxuLGUpKT9pOnRbZV09bjpyJiYiZ2V0ImluIHImJm51bGwhPT0oaT1yLmdldCh0LGUpKT9pOnRbZV19LHByb3BIb29rczp7dGFiSW5kZXg6e2dldDpmdW5jdGlvbih0KXt2YXIgZT1mdC5maW5kLmF0dHIodCwidGFiaW5kZXgiKTtyZXR1cm4gZT9wYXJzZUludChlLDEwKTpGZS50ZXN0KHQubm9kZU5hbWUpfHxSZS50ZXN0KHQubm9kZU5hbWUpJiZ0LmhyZWY/MDotMX19fSxwcm9wRml4Ontmb3I6Imh0bWxGb3IiLGNsYXNzOiJjbGFzc05hbWUifX0pLGh0LmhyZWZOb3JtYWxpemVkfHxmdC5lYWNoKFsiaHJlZiIsInNyYyJdLGZ1bmN0aW9uKHQsZSl7ZnQucHJvcEhvb2tzW2VdPXtnZXQ6ZnVuY3Rpb24odCl7cmV0dXJuIHQuZ2V0QXR0cmlidXRlKGUsNCl9fX0pLGh0Lm9wdFNlbGVjdGVkfHwoZnQucHJvcEhvb2tzLnNlbGVjdGVkPXtnZXQ6ZnVuY3Rpb24odCl7dmFyIGU9dC5wYXJlbnROb2RlO3JldHVybiBlJiYoZS5zZWxlY3RlZEluZGV4LGUucGFyZW50Tm9kZSYmZS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgpLG51bGx9LHNldDpmdW5jdGlvbih0KXt2YXIgZT10LnBhcmVudE5vZGU7ZSYmKGUuc2VsZWN0ZWRJbmRleCxlLnBhcmVudE5vZGUmJmUucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4KX19KSxmdC5lYWNoKFsidGFiSW5kZXgiLCJyZWFkT25seSIsIm1heExlbmd0aCIsImNlbGxTcGFjaW5nIiwiY2VsbFBhZGRpbmciLCJyb3dTcGFuIiwiY29sU3BhbiIsInVzZU1hcCIsImZyYW1lQm9yZGVyIiwiY29udGVudEVkaXRhYmxlIl0sZnVuY3Rpb24oKXtmdC5wcm9wRml4W3RoaXMudG9Mb3dlckNhc2UoKV09dGhpc30pLGh0LmVuY3R5cGV8fChmdC5wcm9wRml4LmVuY3R5cGU9ImVuY29kaW5nIik7dmFyIEhlPS9bXHRcclxuXGZdL2c7ZnQuZm4uZXh0ZW5kKHthZGRDbGFzczpmdW5jdGlvbih0KXt2YXIgZSxuLGkscixvLHMsYSxsPTA7aWYoZnQuaXNGdW5jdGlvbih0KSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGUpe2Z0KHRoaXMpLmFkZENsYXNzKHQuY2FsbCh0aGlzLGUsVSh0aGlzKSkpfSk7aWYoInN0cmluZyI9PXR5cGVvZiB0JiZ0KWZvcihlPXQubWF0Y2goTnQpfHxbXTtuPXRoaXNbbCsrXTspaWYocj1VKG4pLGk9MT09PW4ubm9kZVR5cGUmJigiICIrcisiICIpLnJlcGxhY2UoSGUsIiAiKSl7Zm9yKHM9MDtvPWVbcysrXTspaS5pbmRleE9mKCIgIitvKyIgIik8MCYmKGkrPW8rIiAiKTthPWZ0LnRyaW0oaSksciE9PWEmJmZ0LmF0dHIobiwiY2xhc3MiLGEpfXJldHVybiB0aGlzfSxyZW1vdmVDbGFzczpmdW5jdGlvbih0KXt2YXIgZSxuLGkscixvLHMsYSxsPTA7aWYoZnQuaXNGdW5jdGlvbih0KSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGUpe2Z0KHRoaXMpLnJlbW92ZUNsYXNzKHQuY2FsbCh0aGlzLGUsVSh0aGlzKSkpfSk7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHRoaXMuYXR0cigiY2xhc3MiLCIiKTtpZigic3RyaW5nIj09dHlwZW9mIHQmJnQpZm9yKGU9dC5tYXRjaChOdCl8fFtdO249dGhpc1tsKytdOylpZihyPVUobiksaT0xPT09bi5ub2RlVHlwZSYmKCIgIityKyIgIikucmVwbGFjZShIZSwiICIpKXtmb3Iocz0wO289ZVtzKytdOylmb3IoO2kuaW5kZXhPZigiICIrbysiICIpPi0xOylpPWkucmVwbGFjZSgiICIrbysiICIsIiAiKTthPWZ0LnRyaW0oaSksciE9PWEmJmZ0LmF0dHIobiwiY2xhc3MiLGEpfXJldHVybiB0aGlzfSx0b2dnbGVDbGFzczpmdW5jdGlvbih0LGUpe3ZhciBuPXR5cGVvZiB0O3JldHVybiJib29sZWFuIj09dHlwZW9mIGUmJiJzdHJpbmciPT09bj9lP3RoaXMuYWRkQ2xhc3ModCk6dGhpcy5yZW1vdmVDbGFzcyh0KTpmdC5pc0Z1bmN0aW9uKHQpP3RoaXMuZWFjaChmdW5jdGlvbihuKXtmdCh0aGlzKS50b2dnbGVDbGFzcyh0LmNhbGwodGhpcyxuLFUodGhpcyksZSksZSl9KTp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZSxpLHIsbztpZigic3RyaW5nIj09PW4pZm9yKGk9MCxyPWZ0KHRoaXMpLG89dC5tYXRjaChOdCl8fFtdO2U9b1tpKytdOylyLmhhc0NsYXNzKGUpP3IucmVtb3ZlQ2xhc3MoZSk6ci5hZGRDbGFzcyhlKTtlbHNlIHZvaWQgMCE9PXQmJiJib29sZWFuIiE9PW58fChlPVUodGhpcyksZSYmZnQuX2RhdGEodGhpcywiX19jbGFzc05hbWVfXyIsZSksZnQuYXR0cih0aGlzLCJjbGFzcyIsZXx8dD09PSExPyIiOmZ0Ll9kYXRhKHRoaXMsIl9fY2xhc3NOYW1lX18iKXx8IiIpKX0pfSxoYXNDbGFzczpmdW5jdGlvbih0KXt2YXIgZSxuLGk9MDtmb3IoZT0iICIrdCsiICI7bj10aGlzW2krK107KWlmKDE9PT1uLm5vZGVUeXBlJiYoIiAiK1UobikrIiAiKS5yZXBsYWNlKEhlLCIgIikuaW5kZXhPZihlKT4tMSlyZXR1cm4hMDtyZXR1cm4hMX19KSxmdC5lYWNoKCJibHVyIGZvY3VzIGZvY3VzaW4gZm9jdXNvdXQgbG9hZCByZXNpemUgc2Nyb2xsIHVubG9hZCBjbGljayBkYmxjbGljayBtb3VzZWRvd24gbW91c2V1cCBtb3VzZW1vdmUgbW91c2VvdmVyIG1vdXNlb3V0IG1vdXNlZW50ZXIgbW91c2VsZWF2ZSBjaGFuZ2Ugc2VsZWN0IHN1Ym1pdCBrZXlkb3duIGtleXByZXNzIGtleXVwIGVycm9yIGNvbnRleHRtZW51Ii5zcGxpdCgiICIpLGZ1bmN0aW9uKHQsZSl7CmZ0LmZuW2VdPWZ1bmN0aW9uKHQsbil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MD90aGlzLm9uKGUsbnVsbCx0LG4pOnRoaXMudHJpZ2dlcihlKX19KSxmdC5mbi5leHRlbmQoe2hvdmVyOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMubW91c2VlbnRlcih0KS5tb3VzZWxlYXZlKGV8fHQpfX0pO3ZhciBXZT10LmxvY2F0aW9uLHFlPWZ0Lm5vdygpLEllPS9cPy8sQmU9LygsKXwoXFt8eyl8KH18XSl8Iig/OlteIlxcXHJcbl18XFxbIlxcXC9iZm5ydF18XFx1W1xkYS1mQS1GXXs0fSkqIlxzKjo/fHRydWV8ZmFsc2V8bnVsbHwtPyg/ITBcZClcZCsoPzpcLlxkK3wpKD86W2VFXVsrLV0/XGQrfCkvZztmdC5wYXJzZUpTT049ZnVuY3Rpb24oZSl7aWYodC5KU09OJiZ0LkpTT04ucGFyc2UpcmV0dXJuIHQuSlNPTi5wYXJzZShlKyIiKTt2YXIgbixpPW51bGwscj1mdC50cmltKGUrIiIpO3JldHVybiByJiYhZnQudHJpbShyLnJlcGxhY2UoQmUsZnVuY3Rpb24odCxlLHIsbyl7cmV0dXJuIG4mJmUmJihpPTApLDA9PT1pP3Q6KG49cnx8ZSxpKz0hby0hciwiIil9KSk/RnVuY3Rpb24oInJldHVybiAiK3IpKCk6ZnQuZXJyb3IoIkludmFsaWQgSlNPTjogIitlKX0sZnQucGFyc2VYTUw9ZnVuY3Rpb24oZSl7dmFyIG4saTtpZighZXx8InN0cmluZyIhPXR5cGVvZiBlKXJldHVybiBudWxsO3RyeXt0LkRPTVBhcnNlcj8oaT1uZXcgdC5ET01QYXJzZXIsbj1pLnBhcnNlRnJvbVN0cmluZyhlLCJ0ZXh0L3htbCIpKToobj1uZXcgdC5BY3RpdmVYT2JqZWN0KCJNaWNyb3NvZnQuWE1MRE9NIiksbi5hc3luYz0iZmFsc2UiLG4ubG9hZFhNTChlKSl9Y2F0Y2godCl7bj12b2lkIDB9cmV0dXJuIG4mJm4uZG9jdW1lbnRFbGVtZW50JiYhbi5nZXRFbGVtZW50c0J5VGFnTmFtZSgicGFyc2VyZXJyb3IiKS5sZW5ndGh8fGZ0LmVycm9yKCJJbnZhbGlkIFhNTDogIitlKSxufTt2YXIgVWU9LyMuKiQvLHplPS8oWz8mXSlfPVteJl0qLywkZT0vXiguKj8pOlsgXHRdKihbXlxyXG5dKilccj8kL2dtLEdlPS9eKD86YWJvdXR8YXBwfGFwcC1zdG9yYWdlfC4rLWV4dGVuc2lvbnxmaWxlfHJlc3x3aWRnZXQpOiQvLFZlPS9eKD86R0VUfEhFQUQpJC8sWGU9L15cL1wvLyxRZT0vXihbXHcuKy1dKzopKD86XC9cLyg/OlteXC8/I10qQHwpKFteXC8/IzpdKikoPzo6KFxkKyl8KXwpLyxaZT17fSxKZT17fSxLZT0iKi8iLmNvbmNhdCgiKiIpLHRuPVdlLmhyZWYsZW49UWUuZXhlYyh0bi50b0xvd2VyQ2FzZSgpKXx8W107ZnQuZXh0ZW5kKHthY3RpdmU6MCxsYXN0TW9kaWZpZWQ6e30sZXRhZzp7fSxhamF4U2V0dGluZ3M6e3VybDp0bix0eXBlOiJHRVQiLGlzTG9jYWw6R2UudGVzdChlblsxXSksZ2xvYmFsOiEwLHByb2Nlc3NEYXRhOiEwLGFzeW5jOiEwLGNvbnRlbnRUeXBlOiJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9VVRGLTgiLGFjY2VwdHM6eyIqIjpLZSx0ZXh0OiJ0ZXh0L3BsYWluIixodG1sOiJ0ZXh0L2h0bWwiLHhtbDoiYXBwbGljYXRpb24veG1sLCB0ZXh0L3htbCIsanNvbjoiYXBwbGljYXRpb24vanNvbiwgdGV4dC9qYXZhc2NyaXB0In0sY29udGVudHM6e3htbDovXGJ4bWxcYi8saHRtbDovXGJodG1sLyxqc29uOi9cYmpzb25cYi99LHJlc3BvbnNlRmllbGRzOnt4bWw6InJlc3BvbnNlWE1MIix0ZXh0OiJyZXNwb25zZVRleHQiLGpzb246InJlc3BvbnNlSlNPTiJ9LGNvbnZlcnRlcnM6eyIqIHRleHQiOlN0cmluZywidGV4dCBodG1sIjohMCwidGV4dCBqc29uIjpmdC5wYXJzZUpTT04sInRleHQgeG1sIjpmdC5wYXJzZVhNTH0sZmxhdE9wdGlvbnM6e3VybDohMCxjb250ZXh0OiEwfX0sYWpheFNldHVwOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGU/RyhHKHQsZnQuYWpheFNldHRpbmdzKSxlKTpHKGZ0LmFqYXhTZXR0aW5ncyx0KX0sYWpheFByZWZpbHRlcjp6KFplKSxhamF4VHJhbnNwb3J0OnooSmUpLGFqYXg6ZnVuY3Rpb24oZSxuKXtmdW5jdGlvbiBpKGUsbixpLHIpe3ZhciBvLGgsdix3LHgsaz1uOzIhPT1iJiYoYj0yLGwmJnQuY2xlYXJUaW1lb3V0KGwpLGM9dm9pZCAwLGE9cnx8IiIsXy5yZWFkeVN0YXRlPWU+MD80OjAsbz1lPj0yMDAmJmU8MzAwfHwzMDQ9PT1lLGkmJih3PVYoZCxfLGkpKSx3PVgoZCx3LF8sbyksbz8oZC5pZk1vZGlmaWVkJiYoeD1fLmdldFJlc3BvbnNlSGVhZGVyKCJMYXN0LU1vZGlmaWVkIikseCYmKGZ0Lmxhc3RNb2RpZmllZFtzXT14KSx4PV8uZ2V0UmVzcG9uc2VIZWFkZXIoImV0YWciKSx4JiYoZnQuZXRhZ1tzXT14KSksMjA0PT09ZXx8IkhFQUQiPT09ZC50eXBlP2s9Im5vY29udGVudCI6MzA0PT09ZT9rPSJub3Rtb2RpZmllZCI6KGs9dy5zdGF0ZSxoPXcuZGF0YSx2PXcuZXJyb3Isbz0hdikpOih2PWssIWUmJmt8fChrPSJlcnJvciIsZTwwJiYoZT0wKSkpLF8uc3RhdHVzPWUsXy5zdGF0dXNUZXh0PShufHxrKSsiIixvP20ucmVzb2x2ZVdpdGgoZixbaCxrLF9dKTptLnJlamVjdFdpdGgoZixbXyxrLHZdKSxfLnN0YXR1c0NvZGUoeSkseT12b2lkIDAsdSYmcC50cmlnZ2VyKG8/ImFqYXhTdWNjZXNzIjoiYWpheEVycm9yIixbXyxkLG8/aDp2XSksZy5maXJlV2l0aChmLFtfLGtdKSx1JiYocC50cmlnZ2VyKCJhamF4Q29tcGxldGUiLFtfLGRdKSwtLWZ0LmFjdGl2ZXx8ZnQuZXZlbnQudHJpZ2dlcigiYWpheFN0b3AiKSkpfSJvYmplY3QiPT10eXBlb2YgZSYmKG49ZSxlPXZvaWQgMCksbj1ufHx7fTt2YXIgcixvLHMsYSxsLHUsYyxoLGQ9ZnQuYWpheFNldHVwKHt9LG4pLGY9ZC5jb250ZXh0fHxkLHA9ZC5jb250ZXh0JiYoZi5ub2RlVHlwZXx8Zi5qcXVlcnkpP2Z0KGYpOmZ0LmV2ZW50LG09ZnQuRGVmZXJyZWQoKSxnPWZ0LkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSx5PWQuc3RhdHVzQ29kZXx8e30sdj17fSx3PXt9LGI9MCx4PSJjYW5jZWxlZCIsXz17cmVhZHlTdGF0ZTowLGdldFJlc3BvbnNlSGVhZGVyOmZ1bmN0aW9uKHQpe3ZhciBlO2lmKDI9PT1iKXtpZighaClmb3IoaD17fTtlPSRlLmV4ZWMoYSk7KWhbZVsxXS50b0xvd2VyQ2FzZSgpXT1lWzJdO2U9aFt0LnRvTG93ZXJDYXNlKCldfXJldHVybiBudWxsPT1lP251bGw6ZX0sZ2V0QWxsUmVzcG9uc2VIZWFkZXJzOmZ1bmN0aW9uKCl7cmV0dXJuIDI9PT1iP2E6bnVsbH0sc2V0UmVxdWVzdEhlYWRlcjpmdW5jdGlvbih0LGUpe3ZhciBuPXQudG9Mb3dlckNhc2UoKTtyZXR1cm4gYnx8KHQ9d1tuXT13W25dfHx0LHZbdF09ZSksdGhpc30sb3ZlcnJpZGVNaW1lVHlwZTpmdW5jdGlvbih0KXtyZXR1cm4gYnx8KGQubWltZVR5cGU9dCksdGhpc30sc3RhdHVzQ29kZTpmdW5jdGlvbih0KXt2YXIgZTtpZih0KWlmKGI8Milmb3IoZSBpbiB0KXlbZV09W3lbZV0sdFtlXV07ZWxzZSBfLmFsd2F5cyh0W18uc3RhdHVzXSk7cmV0dXJuIHRoaXN9LGFib3J0OmZ1bmN0aW9uKHQpe3ZhciBlPXR8fHg7cmV0dXJuIGMmJmMuYWJvcnQoZSksaSgwLGUpLHRoaXN9fTtpZihtLnByb21pc2UoXykuY29tcGxldGU9Zy5hZGQsXy5zdWNjZXNzPV8uZG9uZSxfLmVycm9yPV8uZmFpbCxkLnVybD0oKGV8fGQudXJsfHx0bikrIiIpLnJlcGxhY2UoVWUsIiIpLnJlcGxhY2UoWGUsZW5bMV0rIi8vIiksZC50eXBlPW4ubWV0aG9kfHxuLnR5cGV8fGQubWV0aG9kfHxkLnR5cGUsZC5kYXRhVHlwZXM9ZnQudHJpbShkLmRhdGFUeXBlfHwiKiIpLnRvTG93ZXJDYXNlKCkubWF0Y2goTnQpfHxbIiJdLG51bGw9PWQuY3Jvc3NEb21haW4mJihyPVFlLmV4ZWMoZC51cmwudG9Mb3dlckNhc2UoKSksZC5jcm9zc0RvbWFpbj0hKCFyfHxyWzFdPT09ZW5bMV0mJnJbMl09PT1lblsyXSYmKHJbM118fCgiaHR0cDoiPT09clsxXT8iODAiOiI0NDMiKSk9PT0oZW5bM118fCgiaHR0cDoiPT09ZW5bMV0/IjgwIjoiNDQzIikpKSksZC5kYXRhJiZkLnByb2Nlc3NEYXRhJiYic3RyaW5nIiE9dHlwZW9mIGQuZGF0YSYmKGQuZGF0YT1mdC5wYXJhbShkLmRhdGEsZC50cmFkaXRpb25hbCkpLCQoWmUsZCxuLF8pLDI9PT1iKXJldHVybiBfO3U9ZnQuZXZlbnQmJmQuZ2xvYmFsLHUmJjA9PT1mdC5hY3RpdmUrKyYmZnQuZXZlbnQudHJpZ2dlcigiYWpheFN0YXJ0IiksZC50eXBlPWQudHlwZS50b1VwcGVyQ2FzZSgpLGQuaGFzQ29udGVudD0hVmUudGVzdChkLnR5cGUpLHM9ZC51cmwsZC5oYXNDb250ZW50fHwoZC5kYXRhJiYocz1kLnVybCs9KEllLnRlc3Qocyk/IiYiOiI/IikrZC5kYXRhLGRlbGV0ZSBkLmRhdGEpLGQuY2FjaGU9PT0hMSYmKGQudXJsPXplLnRlc3Qocyk/cy5yZXBsYWNlKHplLCIkMV89IitxZSsrKTpzKyhJZS50ZXN0KHMpPyImIjoiPyIpKyJfPSIrcWUrKykpLGQuaWZNb2RpZmllZCYmKGZ0Lmxhc3RNb2RpZmllZFtzXSYmXy5zZXRSZXF1ZXN0SGVhZGVyKCJJZi1Nb2RpZmllZC1TaW5jZSIsZnQubGFzdE1vZGlmaWVkW3NdKSxmdC5ldGFnW3NdJiZfLnNldFJlcXVlc3RIZWFkZXIoIklmLU5vbmUtTWF0Y2giLGZ0LmV0YWdbc10pKSwoZC5kYXRhJiZkLmhhc0NvbnRlbnQmJmQuY29udGVudFR5cGUhPT0hMXx8bi5jb250ZW50VHlwZSkmJl8uc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIixkLmNvbnRlbnRUeXBlKSxfLnNldFJlcXVlc3RIZWFkZXIoIkFjY2VwdCIsZC5kYXRhVHlwZXNbMF0mJmQuYWNjZXB0c1tkLmRhdGFUeXBlc1swXV0/ZC5hY2NlcHRzW2QuZGF0YVR5cGVzWzBdXSsoIioiIT09ZC5kYXRhVHlwZXNbMF0/IiwgIitLZSsiOyBxPTAuMDEiOiIiKTpkLmFjY2VwdHNbIioiXSk7Zm9yKG8gaW4gZC5oZWFkZXJzKV8uc2V0UmVxdWVzdEhlYWRlcihvLGQuaGVhZGVyc1tvXSk7aWYoZC5iZWZvcmVTZW5kJiYoZC5iZWZvcmVTZW5kLmNhbGwoZixfLGQpPT09ITF8fDI9PT1iKSlyZXR1cm4gXy5hYm9ydCgpO3g9ImFib3J0Ijtmb3IobyBpbntzdWNjZXNzOjEsZXJyb3I6MSxjb21wbGV0ZToxfSlfW29dKGRbb10pO2lmKGM9JChKZSxkLG4sXykpe2lmKF8ucmVhZHlTdGF0ZT0xLHUmJnAudHJpZ2dlcigiYWpheFNlbmQiLFtfLGRdKSwyPT09YilyZXR1cm4gXztkLmFzeW5jJiZkLnRpbWVvdXQ+MCYmKGw9dC5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Xy5hYm9ydCgidGltZW91dCIpfSxkLnRpbWVvdXQpKTt0cnl7Yj0xLGMuc2VuZCh2LGkpfWNhdGNoKHQpe2lmKCEoYjwyKSl0aHJvdyB0O2koLTEsdCl9fWVsc2UgaSgtMSwiTm8gVHJhbnNwb3J0Iik7cmV0dXJuIF99LGdldEpTT046ZnVuY3Rpb24odCxlLG4pe3JldHVybiBmdC5nZXQodCxlLG4sImpzb24iKX0sZ2V0U2NyaXB0OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGZ0LmdldCh0LHZvaWQgMCxlLCJzY3JpcHQiKX19KSxmdC5lYWNoKFsiZ2V0IiwicG9zdCJdLGZ1bmN0aW9uKHQsZSl7ZnRbZV09ZnVuY3Rpb24odCxuLGkscil7cmV0dXJuIGZ0LmlzRnVuY3Rpb24obikmJihyPXJ8fGksaT1uLG49dm9pZCAwKSxmdC5hamF4KGZ0LmV4dGVuZCh7dXJsOnQsdHlwZTplLGRhdGFUeXBlOnIsZGF0YTpuLHN1Y2Nlc3M6aX0sZnQuaXNQbGFpbk9iamVjdCh0KSYmdCkpfX0pLGZ0Ll9ldmFsVXJsPWZ1bmN0aW9uKHQpe3JldHVybiBmdC5hamF4KHt1cmw6dCx0eXBlOiJHRVQiLGRhdGFUeXBlOiJzY3JpcHQiLGNhY2hlOiEwLGFzeW5jOiExLGdsb2JhbDohMSx0aHJvd3M6ITB9KX0sZnQuZm4uZXh0ZW5kKHt3cmFwQWxsOmZ1bmN0aW9uKHQpe2lmKGZ0LmlzRnVuY3Rpb24odCkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihlKXtmdCh0aGlzKS53cmFwQWxsKHQuY2FsbCh0aGlzLGUpKX0pO2lmKHRoaXNbMF0pe3ZhciBlPWZ0KHQsdGhpc1swXS5vd25lckRvY3VtZW50KS5lcSgwKS5jbG9uZSghMCk7dGhpc1swXS5wYXJlbnROb2RlJiZlLmluc2VydEJlZm9yZSh0aGlzWzBdKSxlLm1hcChmdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzO3QuZmlyc3RDaGlsZCYmMT09PXQuZmlyc3RDaGlsZC5ub2RlVHlwZTspdD10LmZpcnN0Q2hpbGQ7cmV0dXJuIHR9KS5hcHBlbmQodGhpcyl9cmV0dXJuIHRoaXN9LHdyYXBJbm5lcjpmdW5jdGlvbih0KXtyZXR1cm4gZnQuaXNGdW5jdGlvbih0KT90aGlzLmVhY2goZnVuY3Rpb24oZSl7ZnQodGhpcykud3JhcElubmVyKHQuY2FsbCh0aGlzLGUpKX0pOnRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBlPWZ0KHRoaXMpLG49ZS5jb250ZW50cygpO24ubGVuZ3RoP24ud3JhcEFsbCh0KTplLmFwcGVuZCh0KX0pfSx3cmFwOmZ1bmN0aW9uKHQpe3ZhciBlPWZ0LmlzRnVuY3Rpb24odCk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihuKXtmdCh0aGlzKS53cmFwQWxsKGU/dC5jYWxsKHRoaXMsbik6dCl9KX0sdW53cmFwOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50KCkuZWFjaChmdW5jdGlvbigpe2Z0Lm5vZGVOYW1lKHRoaXMsImJvZHkiKXx8ZnQodGhpcykucmVwbGFjZVdpdGgodGhpcy5jaGlsZE5vZGVzKX0pLmVuZCgpfX0pLGZ0LmV4cHIuZmlsdGVycy5oaWRkZW49ZnVuY3Rpb24odCl7cmV0dXJuIGh0LnJlbGlhYmxlSGlkZGVuT2Zmc2V0cygpP3Qub2Zmc2V0V2lkdGg8PTAmJnQub2Zmc2V0SGVpZ2h0PD0wJiYhdC5nZXRDbGllbnRSZWN0cygpLmxlbmd0aDpaKHQpfSxmdC5leHByLmZpbHRlcnMudmlzaWJsZT1mdW5jdGlvbih0KXtyZXR1cm4hZnQuZXhwci5maWx0ZXJzLmhpZGRlbih0KX07dmFyIG5uPS8lMjAvZyxybj0vXFtcXSQvLG9uPS9ccj9cbi9nLHNuPS9eKD86c3VibWl0fGJ1dHRvbnxpbWFnZXxyZXNldHxmaWxlKSQvaSxhbj0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxrZXlnZW4pL2k7ZnQucGFyYW09ZnVuY3Rpb24odCxlKXt2YXIgbixpPVtdLHI9ZnVuY3Rpb24odCxlKXtlPWZ0LmlzRnVuY3Rpb24oZSk/ZSgpOm51bGw9PWU/IiI6ZSxpW2kubGVuZ3RoXT1lbmNvZGVVUklDb21wb25lbnQodCkrIj0iK2VuY29kZVVSSUNvbXBvbmVudChlKX07aWYodm9pZCAwPT09ZSYmKGU9ZnQuYWpheFNldHRpbmdzJiZmdC5hamF4U2V0dGluZ3MudHJhZGl0aW9uYWwpLGZ0LmlzQXJyYXkodCl8fHQuanF1ZXJ5JiYhZnQuaXNQbGFpbk9iamVjdCh0KSlmdC5lYWNoKHQsZnVuY3Rpb24oKXtyKHRoaXMubmFtZSx0aGlzLnZhbHVlKX0pO2Vsc2UgZm9yKG4gaW4gdClKKG4sdFtuXSxlLHIpO3JldHVybiBpLmpvaW4oIiYiKS5yZXBsYWNlKG5uLCIrIil9LGZ0LmZuLmV4dGVuZCh7c2VyaWFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIGZ0LnBhcmFtKHRoaXMuc2VyaWFsaXplQXJyYXkoKSl9LHNlcmlhbGl6ZUFycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7dmFyIHQ9ZnQucHJvcCh0aGlzLCJlbGVtZW50cyIpO3JldHVybiB0P2Z0Lm1ha2VBcnJheSh0KTp0aGlzfSkuZmlsdGVyKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy50eXBlO3JldHVybiB0aGlzLm5hbWUmJiFmdCh0aGlzKS5pcygiOmRpc2FibGVkIikmJmFuLnRlc3QodGhpcy5ub2RlTmFtZSkmJiFzbi50ZXN0KHQpJiYodGhpcy5jaGVja2VkfHwhV3QudGVzdCh0KSl9KS5tYXAoZnVuY3Rpb24odCxlKXt2YXIgbj1mdCh0aGlzKS52YWwoKTtyZXR1cm4gbnVsbD09bj9udWxsOmZ0LmlzQXJyYXkobik/ZnQubWFwKG4sZnVuY3Rpb24odCl7cmV0dXJue25hbWU6ZS5uYW1lLHZhbHVlOnQucmVwbGFjZShvbiwiXHJcbiIpfX0pOntuYW1lOmUubmFtZSx2YWx1ZTpuLnJlcGxhY2Uob24sIlxyXG4iKX19KS5nZXQoKX19KSxmdC5hamF4U2V0dGluZ3MueGhyPXZvaWQgMCE9PXQuQWN0aXZlWE9iamVjdD9mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzTG9jYWw/dHQoKTppdC5kb2N1bWVudE1vZGU+OD9LKCk6L14oZ2V0fHBvc3R8aGVhZHxwdXR8ZGVsZXRlfG9wdGlvbnMpJC9pLnRlc3QodGhpcy50eXBlKSYmSygpfHx0dCgpfTpLO3ZhciBsbj0wLHVuPXt9LGNuPWZ0LmFqYXhTZXR0aW5ncy54aHIoKTt0LmF0dGFjaEV2ZW50JiZ0LmF0dGFjaEV2ZW50KCJvbnVubG9hZCIsZnVuY3Rpb24oKXtmb3IodmFyIHQgaW4gdW4pdW5bdF0odm9pZCAwLCEwKX0pLGh0LmNvcnM9ISFjbiYmIndpdGhDcmVkZW50aWFscyJpbiBjbixjbj1odC5hamF4PSEhY24sY24mJmZ0LmFqYXhUcmFuc3BvcnQoZnVuY3Rpb24oZSl7aWYoIWUuY3Jvc3NEb21haW58fGh0LmNvcnMpe3ZhciBuO3JldHVybntzZW5kOmZ1bmN0aW9uKGkscil7dmFyIG8scz1lLnhocigpLGE9KytsbjtpZihzLm9wZW4oZS50eXBlLGUudXJsLGUuYXN5bmMsZS51c2VybmFtZSxlLnBhc3N3b3JkKSxlLnhockZpZWxkcylmb3IobyBpbiBlLnhockZpZWxkcylzW29dPWUueGhyRmllbGRzW29dO2UubWltZVR5cGUmJnMub3ZlcnJpZGVNaW1lVHlwZSYmcy5vdmVycmlkZU1pbWVUeXBlKGUubWltZVR5cGUpLGUuY3Jvc3NEb21haW58fGlbIlgtUmVxdWVzdGVkLVdpdGgiXXx8KGlbIlgtUmVxdWVzdGVkLVdpdGgiXT0iWE1MSHR0cFJlcXVlc3QiKTtmb3IobyBpbiBpKXZvaWQgMCE9PWlbb10mJnMuc2V0UmVxdWVzdEhlYWRlcihvLGlbb10rIiIpO3Muc2VuZChlLmhhc0NvbnRlbnQmJmUuZGF0YXx8bnVsbCksbj1mdW5jdGlvbih0LGkpe3ZhciBvLGwsdTtpZihuJiYoaXx8ND09PXMucmVhZHlTdGF0ZSkpaWYoZGVsZXRlIHVuW2FdLG49dm9pZCAwLHMub25yZWFkeXN0YXRlY2hhbmdlPWZ0Lm5vb3AsaSk0IT09cy5yZWFkeVN0YXRlJiZzLmFib3J0KCk7ZWxzZXt1PXt9LG89cy5zdGF0dXMsInN0cmluZyI9PXR5cGVvZiBzLnJlc3BvbnNlVGV4dCYmKHUudGV4dD1zLnJlc3BvbnNlVGV4dCk7dHJ5e2w9cy5zdGF0dXNUZXh0fWNhdGNoKHQpe2w9IiJ9b3x8IWUuaXNMb2NhbHx8ZS5jcm9zc0RvbWFpbj8xMjIzPT09byYmKG89MjA0KTpvPXUudGV4dD8yMDA6NDA0fXUmJnIobyxsLHUscy5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSl9LGUuYXN5bmM/ND09PXMucmVhZHlTdGF0ZT90LnNldFRpbWVvdXQobik6cy5vbnJlYWR5c3RhdGVjaGFuZ2U9dW5bYV09bjpuKCl9LGFib3J0OmZ1bmN0aW9uKCl7biYmbih2b2lkIDAsITApfX19fSksZnQuYWpheFNldHVwKHthY2NlcHRzOntzY3JpcHQ6InRleHQvamF2YXNjcmlwdCwgYXBwbGljYXRpb24vamF2YXNjcmlwdCwgYXBwbGljYXRpb24vZWNtYXNjcmlwdCwgYXBwbGljYXRpb24veC1lY21hc2NyaXB0In0sY29udGVudHM6e3NjcmlwdDovXGIoPzpqYXZhfGVjbWEpc2NyaXB0XGIvfSxjb252ZXJ0ZXJzOnsidGV4dCBzY3JpcHQiOmZ1bmN0aW9uKHQpe3JldHVybiBmdC5nbG9iYWxFdmFsKHQpLHR9fX0pLGZ0LmFqYXhQcmVmaWx0ZXIoInNjcmlwdCIsZnVuY3Rpb24odCl7dm9pZCAwPT09dC5jYWNoZSYmKHQuY2FjaGU9ITEpLHQuY3Jvc3NEb21haW4mJih0LnR5cGU9IkdFVCIsdC5nbG9iYWw9ITEpfSksZnQuYWpheFRyYW5zcG9ydCgic2NyaXB0IixmdW5jdGlvbih0KXtpZih0LmNyb3NzRG9tYWluKXt2YXIgZSxuPWl0LmhlYWR8fGZ0KCJoZWFkIilbMF18fGl0LmRvY3VtZW50RWxlbWVudDtyZXR1cm57c2VuZDpmdW5jdGlvbihpLHIpe2U9aXQuY3JlYXRlRWxlbWVudCgic2NyaXB0IiksZS5hc3luYz0hMCx0LnNjcmlwdENoYXJzZXQmJihlLmNoYXJzZXQ9dC5zY3JpcHRDaGFyc2V0KSxlLnNyYz10LnVybCxlLm9ubG9hZD1lLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbih0LG4peyhufHwhZS5yZWFkeVN0YXRlfHwvbG9hZGVkfGNvbXBsZXRlLy50ZXN0KGUucmVhZHlTdGF0ZSkpJiYoZS5vbmxvYWQ9ZS5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbCxlLnBhcmVudE5vZGUmJmUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlKSxlPW51bGwsbnx8cigyMDAsInN1Y2Nlc3MiKSl9LG4uaW5zZXJ0QmVmb3JlKGUsbi5maXJzdENoaWxkKX0sYWJvcnQ6ZnVuY3Rpb24oKXtlJiZlLm9ubG9hZCh2b2lkIDAsITApfX19fSk7dmFyIGhuPVtdLGRuPS8oPSlcPyg/PSZ8JCl8XD9cPy87ZnQuYWpheFNldHVwKHtqc29ucDoiY2FsbGJhY2siLGpzb25wQ2FsbGJhY2s6ZnVuY3Rpb24oKXt2YXIgdD1obi5wb3AoKXx8ZnQuZXhwYW5kbysiXyIrcWUrKztyZXR1cm4gdGhpc1t0XT0hMCx0fX0pLGZ0LmFqYXhQcmVmaWx0ZXIoImpzb24ganNvbnAiLGZ1bmN0aW9uKGUsbixpKXt2YXIgcixvLHMsYT1lLmpzb25wIT09ITEmJihkbi50ZXN0KGUudXJsKT8idXJsIjoic3RyaW5nIj09dHlwZW9mIGUuZGF0YSYmMD09PShlLmNvbnRlbnRUeXBlfHwiIikuaW5kZXhPZigiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIikmJmRuLnRlc3QoZS5kYXRhKSYmImRhdGEiKTtpZihhfHwianNvbnAiPT09ZS5kYXRhVHlwZXNbMF0pcmV0dXJuIHI9ZS5qc29ucENhbGxiYWNrPWZ0LmlzRnVuY3Rpb24oZS5qc29ucENhbGxiYWNrKT9lLmpzb25wQ2FsbGJhY2soKTplLmpzb25wQ2FsbGJhY2ssYT9lW2FdPWVbYV0ucmVwbGFjZShkbiwiJDEiK3IpOmUuanNvbnAhPT0hMSYmKGUudXJsKz0oSWUudGVzdChlLnVybCk/IiYiOiI/IikrZS5qc29ucCsiPSIrciksZS5jb252ZXJ0ZXJzWyJzY3JpcHQganNvbiJdPWZ1bmN0aW9uKCl7cmV0dXJuIHN8fGZ0LmVycm9yKHIrIiB3YXMgbm90IGNhbGxlZCIpLHNbMF19LGUuZGF0YVR5cGVzWzBdPSJqc29uIixvPXRbcl0sdFtyXT1mdW5jdGlvbigpe3M9YXJndW1lbnRzfSxpLmFsd2F5cyhmdW5jdGlvbigpe3ZvaWQgMD09PW8/ZnQodCkucmVtb3ZlUHJvcChyKTp0W3JdPW8sZVtyXSYmKGUuanNvbnBDYWxsYmFjaz1uLmpzb25wQ2FsbGJhY2ssaG4ucHVzaChyKSkscyYmZnQuaXNGdW5jdGlvbihvKSYmbyhzWzBdKSxzPW89dm9pZCAwfSksInNjcmlwdCJ9KSxmdC5wYXJzZUhUTUw9ZnVuY3Rpb24odCxlLG4pe2lmKCF0fHwic3RyaW5nIiE9dHlwZW9mIHQpcmV0dXJuIG51bGw7ImJvb2xlYW4iPT10eXBlb2YgZSYmKG49ZSxlPSExKSxlPWV8fGl0O3ZhciBpPV90LmV4ZWModCkscj0hbiYmW107cmV0dXJuIGk/W2UuY3JlYXRlRWxlbWVudChpWzFdKV06KGk9eShbdF0sZSxyKSxyJiZyLmxlbmd0aCYmZnQocikucmVtb3ZlKCksZnQubWVyZ2UoW10saS5jaGlsZE5vZGVzKSl9O3ZhciBmbj1mdC5mbi5sb2FkO2Z0LmZuLmxvYWQ9ZnVuY3Rpb24odCxlLG4pe2lmKCJzdHJpbmciIT10eXBlb2YgdCYmZm4pcmV0dXJuIGZuLmFwcGx5KHRoaXMsYXJndW1lbnRzKTt2YXIgaSxyLG8scz10aGlzLGE9dC5pbmRleE9mKCIgIik7cmV0dXJuIGE+LTEmJihpPWZ0LnRyaW0odC5zbGljZShhLHQubGVuZ3RoKSksdD10LnNsaWNlKDAsYSkpLGZ0LmlzRnVuY3Rpb24oZSk/KG49ZSxlPXZvaWQgMCk6ZSYmIm9iamVjdCI9PXR5cGVvZiBlJiYocj0iUE9TVCIpLHMubGVuZ3RoPjAmJmZ0LmFqYXgoe3VybDp0LHR5cGU6cnx8IkdFVCIsZGF0YVR5cGU6Imh0bWwiLGRhdGE6ZX0pLmRvbmUoZnVuY3Rpb24odCl7bz1hcmd1bWVudHMscy5odG1sKGk/ZnQoIjxkaXY+IikuYXBwZW5kKGZ0LnBhcnNlSFRNTCh0KSkuZmluZChpKTp0KX0pLmFsd2F5cyhuJiZmdW5jdGlvbih0LGUpe3MuZWFjaChmdW5jdGlvbigpe24uYXBwbHkodGhpcyxvfHxbdC5yZXNwb25zZVRleHQsZSx0XSl9KX0pLHRoaXN9LGZ0LmVhY2goWyJhamF4U3RhcnQiLCJhamF4U3RvcCIsImFqYXhDb21wbGV0ZSIsImFqYXhFcnJvciIsImFqYXhTdWNjZXNzIiwiYWpheFNlbmQiXSxmdW5jdGlvbih0LGUpe2Z0LmZuW2VdPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9uKGUsdCl9fSksZnQuZXhwci5maWx0ZXJzLmFuaW1hdGVkPWZ1bmN0aW9uKHQpe3JldHVybiBmdC5ncmVwKGZ0LnRpbWVycyxmdW5jdGlvbihlKXtyZXR1cm4gdD09PWUuZWxlbX0pLmxlbmd0aH0sZnQub2Zmc2V0PXtzZXRPZmZzZXQ6ZnVuY3Rpb24odCxlLG4pe3ZhciBpLHIsbyxzLGEsbCx1LGM9ZnQuY3NzKHQsInBvc2l0aW9uIiksaD1mdCh0KSxkPXt9OyJzdGF0aWMiPT09YyYmKHQuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIiksYT1oLm9mZnNldCgpLG89ZnQuY3NzKHQsInRvcCIpLGw9ZnQuY3NzKHQsImxlZnQiKSx1PSgiYWJzb2x1dGUiPT09Y3x8ImZpeGVkIj09PWMpJiZmdC5pbkFycmF5KCJhdXRvIixbbyxsXSk+LTEsdT8oaT1oLnBvc2l0aW9uKCkscz1pLnRvcCxyPWkubGVmdCk6KHM9cGFyc2VGbG9hdChvKXx8MCxyPXBhcnNlRmxvYXQobCl8fDApLGZ0LmlzRnVuY3Rpb24oZSkmJihlPWUuY2FsbCh0LG4sZnQuZXh0ZW5kKHt9LGEpKSksbnVsbCE9ZS50b3AmJihkLnRvcD1lLnRvcC1hLnRvcCtzKSxudWxsIT1lLmxlZnQmJihkLmxlZnQ9ZS5sZWZ0LWEubGVmdCtyKSwidXNpbmciaW4gZT9lLnVzaW5nLmNhbGwodCxkKTpoLmNzcyhkKX19LGZ0LmZuLmV4dGVuZCh7b2Zmc2V0OmZ1bmN0aW9uKHQpe2lmKGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHZvaWQgMD09PXQ/dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oZSl7ZnQub2Zmc2V0LnNldE9mZnNldCh0aGlzLHQsZSl9KTt2YXIgZSxuLGk9e3RvcDowLGxlZnQ6MH0scj10aGlzWzBdLG89ciYmci5vd25lckRvY3VtZW50O2lmKG8pcmV0dXJuIGU9by5kb2N1bWVudEVsZW1lbnQsZnQuY29udGFpbnMoZSxyKT8oInVuZGVmaW5lZCIhPXR5cGVvZiByLmdldEJvdW5kaW5nQ2xpZW50UmVjdCYmKGk9ci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSksbj1ldChvKSx7dG9wOmkudG9wKyhuLnBhZ2VZT2Zmc2V0fHxlLnNjcm9sbFRvcCktKGUuY2xpZW50VG9wfHwwKSxsZWZ0OmkubGVmdCsobi5wYWdlWE9mZnNldHx8ZS5zY3JvbGxMZWZ0KS0oZS5jbGllbnRMZWZ0fHwwKX0pOml9LHBvc2l0aW9uOmZ1bmN0aW9uKCl7aWYodGhpc1swXSl7dmFyIHQsZSxuPXt0b3A6MCxsZWZ0OjB9LGk9dGhpc1swXTtyZXR1cm4iZml4ZWQiPT09ZnQuY3NzKGksInBvc2l0aW9uIik/ZT1pLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOih0PXRoaXMub2Zmc2V0UGFyZW50KCksZT10aGlzLm9mZnNldCgpLGZ0Lm5vZGVOYW1lKHRbMF0sImh0bWwiKXx8KG49dC5vZmZzZXQoKSksbi50b3ArPWZ0LmNzcyh0WzBdLCJib3JkZXJUb3BXaWR0aCIsITApLG4ubGVmdCs9ZnQuY3NzKHRbMF0sImJvcmRlckxlZnRXaWR0aCIsITApKSx7dG9wOmUudG9wLW4udG9wLWZ0LmNzcyhpLCJtYXJnaW5Ub3AiLCEwKSxsZWZ0OmUubGVmdC1uLmxlZnQtZnQuY3NzKGksIm1hcmdpbkxlZnQiLCEwKX19fSxvZmZzZXRQYXJlbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcy5vZmZzZXRQYXJlbnQ7dCYmIWZ0Lm5vZGVOYW1lKHQsImh0bWwiKSYmInN0YXRpYyI9PT1mdC5jc3ModCwicG9zaXRpb24iKTspdD10Lm9mZnNldFBhcmVudDtyZXR1cm4gdHx8ZmV9KX19KSxmdC5lYWNoKHtzY3JvbGxMZWZ0OiJwYWdlWE9mZnNldCIsc2Nyb2xsVG9wOiJwYWdlWU9mZnNldCJ9LGZ1bmN0aW9uKHQsZSl7dmFyIG49L1kvLnRlc3QoZSk7ZnQuZm5bdF09ZnVuY3Rpb24oaSl7cmV0dXJuIEh0KHRoaXMsZnVuY3Rpb24odCxpLHIpe3ZhciBvPWV0KHQpO3JldHVybiB2b2lkIDA9PT1yP28/ZSBpbiBvP29bZV06by5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnRbaV06dFtpXTp2b2lkKG8/by5zY3JvbGxUbyhuP2Z0KG8pLnNjcm9sbExlZnQoKTpyLG4/cjpmdChvKS5zY3JvbGxUb3AoKSk6dFtpXT1yKX0sdCxpLGFyZ3VtZW50cy5sZW5ndGgsbnVsbCl9fSksZnQuZWFjaChbInRvcCIsImxlZnQiXSxmdW5jdGlvbih0LGUpe2Z0LmNzc0hvb2tzW2VdPUUoaHQucGl4ZWxQb3NpdGlvbixmdW5jdGlvbih0LG4pe2lmKG4pcmV0dXJuIG49bWUodCxlKSxoZS50ZXN0KG4pP2Z0KHQpLnBvc2l0aW9uKClbZV0rInB4IjpufSl9KSxmdC5lYWNoKHtIZWlnaHQ6ImhlaWdodCIsV2lkdGg6IndpZHRoIn0sZnVuY3Rpb24odCxlKXtmdC5lYWNoKHtwYWRkaW5nOiJpbm5lciIrdCxjb250ZW50OmUsIiI6Im91dGVyIit0fSxmdW5jdGlvbihuLGkpe2Z0LmZuW2ldPWZ1bmN0aW9uKGkscil7dmFyIG89YXJndW1lbnRzLmxlbmd0aCYmKG58fCJib29sZWFuIiE9dHlwZW9mIGkpLHM9bnx8KGk9PT0hMHx8cj09PSEwPyJtYXJnaW4iOiJib3JkZXIiKTtyZXR1cm4gSHQodGhpcyxmdW5jdGlvbihlLG4saSl7dmFyIHI7cmV0dXJuIGZ0LmlzV2luZG93KGUpP2UuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50WyJjbGllbnQiK3RdOjk9PT1lLm5vZGVUeXBlPyhyPWUuZG9jdW1lbnRFbGVtZW50LE1hdGgubWF4KGUuYm9keVsic2Nyb2xsIit0XSxyWyJzY3JvbGwiK3RdLGUuYm9keVsib2Zmc2V0Iit0XSxyWyJvZmZzZXQiK3RdLHJbImNsaWVudCIrdF0pKTp2b2lkIDA9PT1pP2Z0LmNzcyhlLG4scyk6ZnQuc3R5bGUoZSxuLGkscyl9LGUsbz9pOnZvaWQgMCxvLG51bGwpfX0pfSksZnQuZm4uZXh0ZW5kKHtiaW5kOmZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdGhpcy5vbih0LG51bGwsZSxuKX0sdW5iaW5kOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMub2ZmKHQsbnVsbCxlKX0sZGVsZWdhdGU6ZnVuY3Rpb24odCxlLG4saSl7cmV0dXJuIHRoaXMub24oZSx0LG4saSl9LHVuZGVsZWdhdGU6ZnVuY3Rpb24odCxlLG4pe3JldHVybiAxPT09YXJndW1lbnRzLmxlbmd0aD90aGlzLm9mZih0LCIqKiIpOnRoaXMub2ZmKGUsdHx8IioqIixuKX19KSxmdC5mbi5zaXplPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGVuZ3RofSxmdC5mbi5hbmRTZWxmPWZ0LmZuLmFkZEJhY2ssImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZCYmZGVmaW5lKCJqcXVlcnkiLFtdLGZ1bmN0aW9uKCl7cmV0dXJuIGZ0fSk7dmFyIHBuPXQualF1ZXJ5LG1uPXQuJDtyZXR1cm4gZnQubm9Db25mbGljdD1mdW5jdGlvbihlKXtyZXR1cm4gdC4kPT09ZnQmJih0LiQ9bW4pLGUmJnQualF1ZXJ5PT09ZnQmJih0LmpRdWVyeT1wbiksZnR9LGV8fCh0LmpRdWVyeT10LiQ9ZnQpLGZ0fSl9LHt9XSw4OltmdW5jdGlvbih0LGUsbil7IWZ1bmN0aW9uKHQsaSl7Im9iamVjdCI9PXR5cGVvZiBuJiYidW5kZWZpbmVkIiE9dHlwZW9mIGU/ZS5leHBvcnRzPWkoKToiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShpKTp0Lm1vbWVudD1pKCl9KHRoaXMsZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbigpe3JldHVybiBtaS5hcHBseShudWxsLGFyZ3VtZW50cyl9ZnVuY3Rpb24gaSh0KXttaT10fWZ1bmN0aW9uIHIodCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBBcnJheXx8IltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX1mdW5jdGlvbiBvKHQpe3JldHVybiBudWxsIT10JiYiW29iamVjdCBPYmplY3RdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX1mdW5jdGlvbiBzKHQpe3ZhciBlO2ZvcihlIGluIHQpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gYSh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIERhdGV8fCJbb2JqZWN0IERhdGVdIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX1mdW5jdGlvbiBsKHQsZSl7dmFyIG4saT1bXTtmb3Iobj0wO248dC5sZW5ndGg7KytuKWkucHVzaChlKHRbbl0sbikpO3JldHVybiBpfWZ1bmN0aW9uIHUodCxlKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsZSl9ZnVuY3Rpb24gYyh0LGUpe2Zvcih2YXIgbiBpbiBlKXUoZSxuKSYmKHRbbl09ZVtuXSk7cmV0dXJuIHUoZSwidG9TdHJpbmciKSYmKHQudG9TdHJpbmc9ZS50b1N0cmluZyksdShlLCJ2YWx1ZU9mIikmJih0LnZhbHVlT2Y9ZS52YWx1ZU9mKSx0fWZ1bmN0aW9uIGgodCxlLG4saSl7cmV0dXJuIHZlKHQsZSxuLGksITApLnV0YygpfWZ1bmN0aW9uIGQoKXtyZXR1cm57ZW1wdHk6ITEsdW51c2VkVG9rZW5zOltdLHVudXNlZElucHV0OltdLG92ZXJmbG93Oi0yLGNoYXJzTGVmdE92ZXI6MCxudWxsSW5wdXQ6ITEsaW52YWxpZE1vbnRoOm51bGwsaW52YWxpZEZvcm1hdDohMSx1c2VySW52YWxpZGF0ZWQ6ITEsaXNvOiExLHBhcnNlZERhdGVQYXJ0czpbXSxtZXJpZGllbTpudWxsfX1mdW5jdGlvbiBmKHQpe3JldHVybiBudWxsPT10Ll9wZiYmKHQuX3BmPWQoKSksdC5fcGZ9ZnVuY3Rpb24gcCh0KXtpZihudWxsPT10Ll9pc1ZhbGlkKXt2YXIgZT1mKHQpLG49Z2kuY2FsbChlLnBhcnNlZERhdGVQYXJ0cyxmdW5jdGlvbih0KXtyZXR1cm4gbnVsbCE9dH0pLGk9IWlzTmFOKHQuX2QuZ2V0VGltZSgpKSYmZS5vdmVyZmxvdzwwJiYhZS5lbXB0eSYmIWUuaW52YWxpZE1vbnRoJiYhZS5pbnZhbGlkV2Vla2RheSYmIWUubnVsbElucHV0JiYhZS5pbnZhbGlkRm9ybWF0JiYhZS51c2VySW52YWxpZGF0ZWQmJighZS5tZXJpZGllbXx8ZS5tZXJpZGllbSYmbik7aWYodC5fc3RyaWN0JiYoaT1pJiYwPT09ZS5jaGFyc0xlZnRPdmVyJiYwPT09ZS51bnVzZWRUb2tlbnMubGVuZ3RoJiZ2b2lkIDA9PT1lLmJpZ0hvdXIpLG51bGwhPU9iamVjdC5pc0Zyb3plbiYmT2JqZWN0LmlzRnJvemVuKHQpKXJldHVybiBpO3QuX2lzVmFsaWQ9aX1yZXR1cm4gdC5faXNWYWxpZH1mdW5jdGlvbiBtKHQpe3ZhciBlPWgoTmFOKTtyZXR1cm4gbnVsbCE9dD9jKGYoZSksdCk6ZihlKS51c2VySW52YWxpZGF0ZWQ9ITAsZX1mdW5jdGlvbiBnKHQpe3JldHVybiB2b2lkIDA9PT10fWZ1bmN0aW9uIHkodCxlKXt2YXIgbixpLHI7aWYoZyhlLl9pc0FNb21lbnRPYmplY3QpfHwodC5faXNBTW9tZW50T2JqZWN0PWUuX2lzQU1vbWVudE9iamVjdCksZyhlLl9pKXx8KHQuX2k9ZS5faSksZyhlLl9mKXx8KHQuX2Y9ZS5fZiksZyhlLl9sKXx8KHQuX2w9ZS5fbCksZyhlLl9zdHJpY3QpfHwodC5fc3RyaWN0PWUuX3N0cmljdCksZyhlLl90em0pfHwodC5fdHptPWUuX3R6bSksZyhlLl9pc1VUQyl8fCh0Ll9pc1VUQz1lLl9pc1VUQyksZyhlLl9vZmZzZXQpfHwodC5fb2Zmc2V0PWUuX29mZnNldCksZyhlLl9wZil8fCh0Ll9wZj1mKGUpKSxnKGUuX2xvY2FsZSl8fCh0Ll9sb2NhbGU9ZS5fbG9jYWxlKSx5aS5sZW5ndGg+MClmb3IobiBpbiB5aSlpPXlpW25dLHI9ZVtpXSxnKHIpfHwodFtpXT1yKTtyZXR1cm4gdH1mdW5jdGlvbiB2KHQpe3kodGhpcyx0KSx0aGlzLl9kPW5ldyBEYXRlKG51bGwhPXQuX2Q/dC5fZC5nZXRUaW1lKCk6TmFOKSx2aT09PSExJiYodmk9ITAsbi51cGRhdGVPZmZzZXQodGhpcyksdmk9ITEpfWZ1bmN0aW9uIHcodCl7cmV0dXJuIHQgaW5zdGFuY2VvZiB2fHxudWxsIT10JiZudWxsIT10Ll9pc0FNb21lbnRPYmplY3R9ZnVuY3Rpb24gYih0KXtyZXR1cm4gdDwwP01hdGguY2VpbCh0KXx8MDpNYXRoLmZsb29yKHQpfWZ1bmN0aW9uIHgodCl7dmFyIGU9K3Qsbj0wO3JldHVybiAwIT09ZSYmaXNGaW5pdGUoZSkmJihuPWIoZSkpLG59ZnVuY3Rpb24gXyh0LGUsbil7dmFyIGkscj1NYXRoLm1pbih0Lmxlbmd0aCxlLmxlbmd0aCksbz1NYXRoLmFicyh0Lmxlbmd0aC1lLmxlbmd0aCkscz0wO2ZvcihpPTA7aTxyO2krKykobiYmdFtpXSE9PWVbaV18fCFuJiZ4KHRbaV0pIT09eChlW2ldKSkmJnMrKztyZXR1cm4gcytvfWZ1bmN0aW9uIGsodCl7bi5zdXBwcmVzc0RlcHJlY2F0aW9uV2FybmluZ3M9PT0hMSYmInVuZGVmaW5lZCIhPXR5cGVvZiBjb25zb2xlJiZjb25zb2xlLndhcm4mJmNvbnNvbGUud2FybigiRGVwcmVjYXRpb24gd2FybmluZzogIit0KX1mdW5jdGlvbiBTKHQsZSl7dmFyIGk9ITA7cmV0dXJuIGMoZnVuY3Rpb24oKXtpZihudWxsIT1uLmRlcHJlY2F0aW9uSGFuZGxlciYmbi5kZXByZWNhdGlvbkhhbmRsZXIobnVsbCx0KSxpKXtmb3IodmFyIHIsbz1bXSxzPTA7czxhcmd1bWVudHMubGVuZ3RoO3MrKyl7aWYocj0iIiwib2JqZWN0Ij09dHlwZW9mIGFyZ3VtZW50c1tzXSl7cis9IlxuWyIrcysiXSAiO2Zvcih2YXIgYSBpbiBhcmd1bWVudHNbMF0pcis9YSsiOiAiK2FyZ3VtZW50c1swXVthXSsiLCAiO3I9ci5zbGljZSgwLC0yKX1lbHNlIHI9YXJndW1lbnRzW3NdO28ucHVzaChyKX1rKHQrIlxuQXJndW1lbnRzOiAiK0FycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG8pLmpvaW4oIiIpKyJcbiIrKG5ldyBFcnJvcikuc3RhY2spLGk9ITF9cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxlKX1mdW5jdGlvbiBUKHQsZSl7bnVsbCE9bi5kZXByZWNhdGlvbkhhbmRsZXImJm4uZGVwcmVjYXRpb25IYW5kbGVyKHQsZSksd2lbdF18fChrKGUpLHdpW3RdPSEwKX1mdW5jdGlvbiBDKHQpe3JldHVybiB0IGluc3RhbmNlb2YgRnVuY3Rpb258fCJbb2JqZWN0IEZ1bmN0aW9uXSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCl9ZnVuY3Rpb24gRCh0KXt2YXIgZSxuO2ZvcihuIGluIHQpZT10W25dLEMoZSk/dGhpc1tuXT1lOnRoaXNbIl8iK25dPWU7dGhpcy5fY29uZmlnPXQsdGhpcy5fb3JkaW5hbFBhcnNlTGVuaWVudD1uZXcgUmVnRXhwKHRoaXMuX29yZGluYWxQYXJzZS5zb3VyY2UrInwiKy9cZHsxLDJ9Ly5zb3VyY2UpfWZ1bmN0aW9uIE0odCxlKXt2YXIgbixpPWMoe30sdCk7Zm9yKG4gaW4gZSl1KGUsbikmJihvKHRbbl0pJiZvKGVbbl0pPyhpW25dPXt9LGMoaVtuXSx0W25dKSxjKGlbbl0sZVtuXSkpOm51bGwhPWVbbl0/aVtuXT1lW25dOmRlbGV0ZSBpW25dKTtmb3IobiBpbiB0KXUodCxuKSYmIXUoZSxuKSYmbyh0W25dKSYmKGlbbl09Yyh7fSxpW25dKSk7cmV0dXJuIGl9ZnVuY3Rpb24gTih0KXtudWxsIT10JiZ0aGlzLnNldCh0KX1mdW5jdGlvbiBqKHQsZSxuKXt2YXIgaT10aGlzLl9jYWxlbmRhclt0XXx8dGhpcy5fY2FsZW5kYXIuc2FtZUVsc2U7cmV0dXJuIEMoaSk/aS5jYWxsKGUsbik6aX1mdW5jdGlvbiBFKHQpe3ZhciBlPXRoaXMuX2xvbmdEYXRlRm9ybWF0W3RdLG49dGhpcy5fbG9uZ0RhdGVGb3JtYXRbdC50b1VwcGVyQ2FzZSgpXTtyZXR1cm4gZXx8IW4/ZToodGhpcy5fbG9uZ0RhdGVGb3JtYXRbdF09bi5yZXBsYWNlKC9NTU1NfE1NfEREfGRkZGQvZyxmdW5jdGlvbih0KXtyZXR1cm4gdC5zbGljZSgxKX0pLHRoaXMuX2xvbmdEYXRlRm9ybWF0W3RdKX1mdW5jdGlvbiBPKCl7cmV0dXJuIHRoaXMuX2ludmFsaWREYXRlfWZ1bmN0aW9uIEEodCl7cmV0dXJuIHRoaXMuX29yZGluYWwucmVwbGFjZSgiJWQiLHQpfWZ1bmN0aW9uIFAodCxlLG4saSl7dmFyIHI9dGhpcy5fcmVsYXRpdmVUaW1lW25dO3JldHVybiBDKHIpP3IodCxlLG4saSk6ci5yZXBsYWNlKC8lZC9pLHQpfWZ1bmN0aW9uIEwodCxlKXt2YXIgbj10aGlzLl9yZWxhdGl2ZVRpbWVbdD4wPyJmdXR1cmUiOiJwYXN0Il07cmV0dXJuIEMobik/bihlKTpuLnJlcGxhY2UoLyVzL2ksZSl9ZnVuY3Rpb24gWSh0LGUpe3ZhciBuPXQudG9Mb3dlckNhc2UoKTtNaVtuXT1NaVtuKyJzIl09TWlbZV09dH1mdW5jdGlvbiBGKHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdD9NaVt0XXx8TWlbdC50b0xvd2VyQ2FzZSgpXTp2b2lkIDB9ZnVuY3Rpb24gUih0KXt2YXIgZSxuLGk9e307Zm9yKG4gaW4gdCl1KHQsbikmJihlPUYobiksZSYmKGlbZV09dFtuXSkpO3JldHVybiBpfWZ1bmN0aW9uIEgodCxlKXtOaVt0XT1lfWZ1bmN0aW9uIFcodCl7dmFyIGU9W107Zm9yKHZhciBuIGluIHQpZS5wdXNoKHt1bml0Om4scHJpb3JpdHk6Tmlbbl19KTtyZXR1cm4gZS5zb3J0KGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQucHJpb3JpdHktZS5wcmlvcml0eX0pLGV9ZnVuY3Rpb24gcSh0LGUpe3JldHVybiBmdW5jdGlvbihpKXtyZXR1cm4gbnVsbCE9aT8oQih0aGlzLHQsaSksbi51cGRhdGVPZmZzZXQodGhpcyxlKSx0aGlzKTpJKHRoaXMsdCl9fWZ1bmN0aW9uIEkodCxlKXtyZXR1cm4gdC5pc1ZhbGlkKCk/dC5fZFsiZ2V0IisodC5faXNVVEM/IlVUQyI6IiIpK2VdKCk6TmFOfWZ1bmN0aW9uIEIodCxlLG4pe3QuaXNWYWxpZCgpJiZ0Ll9kWyJzZXQiKyh0Ll9pc1VUQz8iVVRDIjoiIikrZV0obil9ZnVuY3Rpb24gVSh0KXtyZXR1cm4gdD1GKHQpLEModGhpc1t0XSk/dGhpc1t0XSgpOnRoaXN9ZnVuY3Rpb24geih0LGUpe2lmKCJvYmplY3QiPT10eXBlb2YgdCl7dD1SKHQpO2Zvcih2YXIgbj1XKHQpLGk9MDtpPG4ubGVuZ3RoO2krKyl0aGlzW25baV0udW5pdF0odFtuW2ldLnVuaXRdKX1lbHNlIGlmKHQ9Rih0KSxDKHRoaXNbdF0pKXJldHVybiB0aGlzW3RdKGUpO3JldHVybiB0aGlzfWZ1bmN0aW9uICQodCxlLG4pe3ZhciBpPSIiK01hdGguYWJzKHQpLHI9ZS1pLmxlbmd0aCxvPXQ+PTA7cmV0dXJuKG8/bj8iKyI6IiI6Ii0iKStNYXRoLnBvdygxMCxNYXRoLm1heCgwLHIpKS50b1N0cmluZygpLnN1YnN0cigxKStpfWZ1bmN0aW9uIEcodCxlLG4saSl7dmFyIHI9aTsic3RyaW5nIj09dHlwZW9mIGkmJihyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXNbaV0oKX0pLHQmJihBaVt0XT1yKSxlJiYoQWlbZVswXV09ZnVuY3Rpb24oKXtyZXR1cm4gJChyLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxlWzFdLGVbMl0pfSksbiYmKEFpW25dPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubG9jYWxlRGF0YSgpLm9yZGluYWwoci5hcHBseSh0aGlzLGFyZ3VtZW50cyksdCl9KX1mdW5jdGlvbiBWKHQpe3JldHVybiB0Lm1hdGNoKC9cW1tcc1xTXS8pP3QucmVwbGFjZSgvXlxbfFxdJC9nLCIiKTp0LnJlcGxhY2UoL1xcL2csIiIpfWZ1bmN0aW9uIFgodCl7dmFyIGUsbixpPXQubWF0Y2goamkpO2ZvcihlPTAsbj1pLmxlbmd0aDtlPG47ZSsrKUFpW2lbZV1dP2lbZV09QWlbaVtlXV06aVtlXT1WKGlbZV0pO3JldHVybiBmdW5jdGlvbihlKXt2YXIgcixvPSIiO2ZvcihyPTA7cjxuO3IrKylvKz1pW3JdaW5zdGFuY2VvZiBGdW5jdGlvbj9pW3JdLmNhbGwoZSx0KTppW3JdO3JldHVybiBvfX1mdW5jdGlvbiBRKHQsZSl7cmV0dXJuIHQuaXNWYWxpZCgpPyhlPVooZSx0LmxvY2FsZURhdGEoKSksT2lbZV09T2lbZV18fFgoZSksT2lbZV0odCkpOnQubG9jYWxlRGF0YSgpLmludmFsaWREYXRlKCl9ZnVuY3Rpb24gWih0LGUpe2Z1bmN0aW9uIG4odCl7cmV0dXJuIGUubG9uZ0RhdGVGb3JtYXQodCl8fHR9dmFyIGk9NTtmb3IoRWkubGFzdEluZGV4PTA7aT49MCYmRWkudGVzdCh0KTspdD10LnJlcGxhY2UoRWksbiksRWkubGFzdEluZGV4PTAsaS09MTtyZXR1cm4gdH1mdW5jdGlvbiBKKHQsZSxuKXtaaVt0XT1DKGUpP2U6ZnVuY3Rpb24odCxpKXtyZXR1cm4gdCYmbj9uOmV9fWZ1bmN0aW9uIEsodCxlKXtyZXR1cm4gdShaaSx0KT9aaVt0XShlLl9zdHJpY3QsZS5fbG9jYWxlKTpuZXcgUmVnRXhwKHR0KHQpKX1mdW5jdGlvbiB0dCh0KXtyZXR1cm4gZXQodC5yZXBsYWNlKCJcXCIsIiIpLnJlcGxhY2UoL1xcKFxbKXxcXChcXSl8XFsoW15cXVxbXSopXF18XFwoLikvZyxmdW5jdGlvbih0LGUsbixpLHIpe3JldHVybiBlfHxufHxpfHxyfSkpfWZ1bmN0aW9uIGV0KHQpe3JldHVybiB0LnJlcGxhY2UoL1stXC9cXF4kKis/LigpfFtcXXt9XS9nLCJcXCQmIil9ZnVuY3Rpb24gbnQodCxlKXt2YXIgbixpPWU7Zm9yKCJzdHJpbmciPT10eXBlb2YgdCYmKHQ9W3RdKSwibnVtYmVyIj09dHlwZW9mIGUmJihpPWZ1bmN0aW9uKHQsbil7bltlXT14KHQpfSksbj0wO248dC5sZW5ndGg7bisrKUppW3Rbbl1dPWl9ZnVuY3Rpb24gaXQodCxlKXtudCh0LGZ1bmN0aW9uKHQsbixpLHIpe2kuX3c9aS5fd3x8e30sZSh0LGkuX3csaSxyKX0pfWZ1bmN0aW9uIHJ0KHQsZSxuKXtudWxsIT1lJiZ1KEppLHQpJiZKaVt0XShlLG4uX2Esbix0KX1mdW5jdGlvbiBvdCh0LGUpe3JldHVybiBuZXcgRGF0ZShEYXRlLlVUQyh0LGUrMSwwKSkuZ2V0VVRDRGF0ZSgpfWZ1bmN0aW9uIHN0KHQsZSl7cmV0dXJuIHQ/cih0aGlzLl9tb250aHMpP3RoaXMuX21vbnRoc1t0Lm1vbnRoKCldOnRoaXMuX21vbnRoc1sodGhpcy5fbW9udGhzLmlzRm9ybWF0fHxscikudGVzdChlKT8iZm9ybWF0Ijoic3RhbmRhbG9uZSJdW3QubW9udGgoKV06dGhpcy5fbW9udGhzfWZ1bmN0aW9uIGF0KHQsZSl7cmV0dXJuIHQ/cih0aGlzLl9tb250aHNTaG9ydCk/dGhpcy5fbW9udGhzU2hvcnRbdC5tb250aCgpXTp0aGlzLl9tb250aHNTaG9ydFtsci50ZXN0KGUpPyJmb3JtYXQiOiJzdGFuZGFsb25lIl1bdC5tb250aCgpXTp0aGlzLl9tb250aHNTaG9ydH1mdW5jdGlvbiBsdCh0LGUsbil7dmFyIGkscixvLHM9dC50b0xvY2FsZUxvd2VyQ2FzZSgpO2lmKCF0aGlzLl9tb250aHNQYXJzZSlmb3IodGhpcy5fbW9udGhzUGFyc2U9W10sdGhpcy5fbG9uZ01vbnRoc1BhcnNlPVtdLHRoaXMuX3Nob3J0TW9udGhzUGFyc2U9W10saT0wO2k8MTI7KytpKW89aChbMmUzLGldKSx0aGlzLl9zaG9ydE1vbnRoc1BhcnNlW2ldPXRoaXMubW9udGhzU2hvcnQobywiIikudG9Mb2NhbGVMb3dlckNhc2UoKSx0aGlzLl9sb25nTW9udGhzUGFyc2VbaV09dGhpcy5tb250aHMobywiIikudG9Mb2NhbGVMb3dlckNhc2UoKTtyZXR1cm4gbj8iTU1NIj09PWU/KHI9eGkuY2FsbCh0aGlzLl9zaG9ydE1vbnRoc1BhcnNlLHMpLHIhPT0tMT9yOm51bGwpOihyPXhpLmNhbGwodGhpcy5fbG9uZ01vbnRoc1BhcnNlLHMpLHIhPT0tMT9yOm51bGwpOiJNTU0iPT09ZT8ocj14aS5jYWxsKHRoaXMuX3Nob3J0TW9udGhzUGFyc2UscyksciE9PS0xP3I6KHI9eGkuY2FsbCh0aGlzLl9sb25nTW9udGhzUGFyc2UscyksciE9PS0xP3I6bnVsbCkpOihyPXhpLmNhbGwodGhpcy5fbG9uZ01vbnRoc1BhcnNlLHMpLHIhPT0tMT9yOihyPXhpLmNhbGwodGhpcy5fc2hvcnRNb250aHNQYXJzZSxzKSxyIT09LTE/cjpudWxsKSl9ZnVuY3Rpb24gdXQodCxlLG4pe3ZhciBpLHIsbztpZih0aGlzLl9tb250aHNQYXJzZUV4YWN0KXJldHVybiBsdC5jYWxsKHRoaXMsdCxlLG4pO2Zvcih0aGlzLl9tb250aHNQYXJzZXx8KHRoaXMuX21vbnRoc1BhcnNlPVtdLHRoaXMuX2xvbmdNb250aHNQYXJzZT1bXSx0aGlzLl9zaG9ydE1vbnRoc1BhcnNlPVtdKSxpPTA7aTwxMjtpKyspe2lmKHI9aChbMmUzLGldKSxuJiYhdGhpcy5fbG9uZ01vbnRoc1BhcnNlW2ldJiYodGhpcy5fbG9uZ01vbnRoc1BhcnNlW2ldPW5ldyBSZWdFeHAoIl4iK3RoaXMubW9udGhzKHIsIiIpLnJlcGxhY2UoIi4iLCIiKSsiJCIsImkiKSx0aGlzLl9zaG9ydE1vbnRoc1BhcnNlW2ldPW5ldyBSZWdFeHAoIl4iK3RoaXMubW9udGhzU2hvcnQociwiIikucmVwbGFjZSgiLiIsIiIpKyIkIiwiaSIpKSxufHx0aGlzLl9tb250aHNQYXJzZVtpXXx8KG89Il4iK3RoaXMubW9udGhzKHIsIiIpKyJ8XiIrdGhpcy5tb250aHNTaG9ydChyLCIiKSx0aGlzLl9tb250aHNQYXJzZVtpXT1uZXcgUmVnRXhwKG8ucmVwbGFjZSgiLiIsIiIpLCJpIikpLG4mJiJNTU1NIj09PWUmJnRoaXMuX2xvbmdNb250aHNQYXJzZVtpXS50ZXN0KHQpKXJldHVybiBpO2lmKG4mJiJNTU0iPT09ZSYmdGhpcy5fc2hvcnRNb250aHNQYXJzZVtpXS50ZXN0KHQpKXJldHVybiBpO2lmKCFuJiZ0aGlzLl9tb250aHNQYXJzZVtpXS50ZXN0KHQpKXJldHVybiBpfX1mdW5jdGlvbiBjdCh0LGUpe3ZhciBuO2lmKCF0LmlzVmFsaWQoKSlyZXR1cm4gdDtpZigic3RyaW5nIj09dHlwZW9mIGUpaWYoL15cZCskLy50ZXN0KGUpKWU9eChlKTtlbHNlIGlmKGU9dC5sb2NhbGVEYXRhKCkubW9udGhzUGFyc2UoZSksIm51bWJlciIhPXR5cGVvZiBlKXJldHVybiB0O3JldHVybiBuPU1hdGgubWluKHQuZGF0ZSgpLG90KHQueWVhcigpLGUpKSx0Ll9kWyJzZXQiKyh0Ll9pc1VUQz8iVVRDIjoiIikrIk1vbnRoIl0oZSxuKSx0fWZ1bmN0aW9uIGh0KHQpe3JldHVybiBudWxsIT10PyhjdCh0aGlzLHQpLG4udXBkYXRlT2Zmc2V0KHRoaXMsITApLHRoaXMpOkkodGhpcywiTW9udGgiKX1mdW5jdGlvbiBkdCgpe3JldHVybiBvdCh0aGlzLnllYXIoKSx0aGlzLm1vbnRoKCkpfWZ1bmN0aW9uIGZ0KHQpe3JldHVybiB0aGlzLl9tb250aHNQYXJzZUV4YWN0Pyh1KHRoaXMsIl9tb250aHNSZWdleCIpfHxtdC5jYWxsKHRoaXMpLHQ/dGhpcy5fbW9udGhzU2hvcnRTdHJpY3RSZWdleDp0aGlzLl9tb250aHNTaG9ydFJlZ2V4KToodSh0aGlzLCJfbW9udGhzU2hvcnRSZWdleCIpfHwodGhpcy5fbW9udGhzU2hvcnRSZWdleD1ociksdGhpcy5fbW9udGhzU2hvcnRTdHJpY3RSZWdleCYmdD90aGlzLl9tb250aHNTaG9ydFN0cmljdFJlZ2V4OnRoaXMuX21vbnRoc1Nob3J0UmVnZXgpfWZ1bmN0aW9uIHB0KHQpe3JldHVybiB0aGlzLl9tb250aHNQYXJzZUV4YWN0Pyh1KHRoaXMsIl9tb250aHNSZWdleCIpfHxtdC5jYWxsKHRoaXMpLHQ/dGhpcy5fbW9udGhzU3RyaWN0UmVnZXg6dGhpcy5fbW9udGhzUmVnZXgpOih1KHRoaXMsIl9tb250aHNSZWdleCIpfHwodGhpcy5fbW9udGhzUmVnZXg9ZHIpLHRoaXMuX21vbnRoc1N0cmljdFJlZ2V4JiZ0P3RoaXMuX21vbnRoc1N0cmljdFJlZ2V4OnRoaXMuX21vbnRoc1JlZ2V4KX1mdW5jdGlvbiBtdCgpe2Z1bmN0aW9uIHQodCxlKXtyZXR1cm4gZS5sZW5ndGgtdC5sZW5ndGh9dmFyIGUsbixpPVtdLHI9W10sbz1bXTtmb3IoZT0wO2U8MTI7ZSsrKW49aChbMmUzLGVdKSxpLnB1c2godGhpcy5tb250aHNTaG9ydChuLCIiKSksci5wdXNoKHRoaXMubW9udGhzKG4sIiIpKSxvLnB1c2godGhpcy5tb250aHMobiwiIikpLG8ucHVzaCh0aGlzLm1vbnRoc1Nob3J0KG4sIiIpKTtmb3IoaS5zb3J0KHQpLHIuc29ydCh0KSxvLnNvcnQodCksZT0wO2U8MTI7ZSsrKWlbZV09ZXQoaVtlXSkscltlXT1ldChyW2VdKTtmb3IoZT0wO2U8MjQ7ZSsrKW9bZV09ZXQob1tlXSk7dGhpcy5fbW9udGhzUmVnZXg9bmV3IFJlZ0V4cCgiXigiK28uam9pbigifCIpKyIpIiwiaSIpLHRoaXMuX21vbnRoc1Nob3J0UmVnZXg9dGhpcy5fbW9udGhzUmVnZXgsdGhpcy5fbW9udGhzU3RyaWN0UmVnZXg9bmV3IFJlZ0V4cCgiXigiK3Iuam9pbigifCIpKyIpIiwiaSIpLHRoaXMuX21vbnRoc1Nob3J0U3RyaWN0UmVnZXg9bmV3IFJlZ0V4cCgiXigiK2kuam9pbigifCIpKyIpIiwiaSIpfWZ1bmN0aW9uIGd0KHQpe3JldHVybiB5dCh0KT8zNjY6MzY1fWZ1bmN0aW9uIHl0KHQpe3JldHVybiB0JTQ9PT0wJiZ0JTEwMCE9PTB8fHQlNDAwPT09MH1mdW5jdGlvbiB2dCgpe3JldHVybiB5dCh0aGlzLnllYXIoKSl9ZnVuY3Rpb24gd3QodCxlLG4saSxyLG8scyl7dmFyIGE9bmV3IERhdGUodCxlLG4saSxyLG8scyk7cmV0dXJuIHQ8MTAwJiZ0Pj0wJiZpc0Zpbml0ZShhLmdldEZ1bGxZZWFyKCkpJiZhLnNldEZ1bGxZZWFyKHQpLGF9ZnVuY3Rpb24gYnQodCl7dmFyIGU9bmV3IERhdGUoRGF0ZS5VVEMuYXBwbHkobnVsbCxhcmd1bWVudHMpKTtyZXR1cm4gdDwxMDAmJnQ+PTAmJmlzRmluaXRlKGUuZ2V0VVRDRnVsbFllYXIoKSkmJmUuc2V0VVRDRnVsbFllYXIodCksZX1mdW5jdGlvbiB4dCh0LGUsbil7dmFyIGk9NytlLW4scj0oNytidCh0LDAsaSkuZ2V0VVRDRGF5KCktZSklNztyZXR1cm4tcitpLTF9ZnVuY3Rpb24gX3QodCxlLG4saSxyKXt2YXIgbyxzLGE9KDcrbi1pKSU3LGw9eHQodCxpLHIpLHU9MSs3KihlLTEpK2ErbDtyZXR1cm4gdTw9MD8obz10LTEscz1ndChvKSt1KTp1Pmd0KHQpPyhvPXQrMSxzPXUtZ3QodCkpOihvPXQscz11KSx7eWVhcjpvLGRheU9mWWVhcjpzfX1mdW5jdGlvbiBrdCh0LGUsbil7dmFyIGkscixvPXh0KHQueWVhcigpLGUsbikscz1NYXRoLmZsb29yKCh0LmRheU9mWWVhcigpLW8tMSkvNykrMTtyZXR1cm4gczwxPyhyPXQueWVhcigpLTEsaT1zK1N0KHIsZSxuKSk6cz5TdCh0LnllYXIoKSxlLG4pPyhpPXMtU3QodC55ZWFyKCksZSxuKSxyPXQueWVhcigpKzEpOihyPXQueWVhcigpLGk9cykse3dlZWs6aSx5ZWFyOnJ9fWZ1bmN0aW9uIFN0KHQsZSxuKXt2YXIgaT14dCh0LGUsbikscj14dCh0KzEsZSxuKTtyZXR1cm4oZ3QodCktaStyKS83fWZ1bmN0aW9uIFR0KHQpe3JldHVybiBrdCh0LHRoaXMuX3dlZWsuZG93LHRoaXMuX3dlZWsuZG95KS53ZWVrfWZ1bmN0aW9uIEN0KCl7cmV0dXJuIHRoaXMuX3dlZWsuZG93fWZ1bmN0aW9uIER0KCl7cmV0dXJuIHRoaXMuX3dlZWsuZG95fWZ1bmN0aW9uIE10KHQpe3ZhciBlPXRoaXMubG9jYWxlRGF0YSgpLndlZWsodGhpcyk7cmV0dXJuIG51bGw9PXQ/ZTp0aGlzLmFkZCg3Kih0LWUpLCJkIil9ZnVuY3Rpb24gTnQodCl7dmFyIGU9a3QodGhpcywxLDQpLndlZWs7cmV0dXJuIG51bGw9PXQ/ZTp0aGlzLmFkZCg3Kih0LWUpLCJkIil9ZnVuY3Rpb24ganQodCxlKXtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIHQ/dDppc05hTih0KT8odD1lLndlZWtkYXlzUGFyc2UodCksIm51bWJlciI9PXR5cGVvZiB0P3Q6bnVsbCk6cGFyc2VJbnQodCwxMCl9ZnVuY3Rpb24gRXQodCxlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQ/ZS53ZWVrZGF5c1BhcnNlKHQpJTd8fDc6aXNOYU4odCk/bnVsbDp0fWZ1bmN0aW9uIE90KHQsZSl7cmV0dXJuIHQ/cih0aGlzLl93ZWVrZGF5cyk/dGhpcy5fd2Vla2RheXNbdC5kYXkoKV06dGhpcy5fd2Vla2RheXNbdGhpcy5fd2Vla2RheXMuaXNGb3JtYXQudGVzdChlKT8iZm9ybWF0Ijoic3RhbmRhbG9uZSJdW3QuZGF5KCldOnRoaXMuX3dlZWtkYXlzfWZ1bmN0aW9uIEF0KHQpe3JldHVybiB0P3RoaXMuX3dlZWtkYXlzU2hvcnRbdC5kYXkoKV06dGhpcy5fd2Vla2RheXNTaG9ydH1mdW5jdGlvbiBQdCh0KXtyZXR1cm4gdD90aGlzLl93ZWVrZGF5c01pblt0LmRheSgpXTp0aGlzLl93ZWVrZGF5c01pbn1mdW5jdGlvbiBMdCh0LGUsbil7dmFyIGkscixvLHM9dC50b0xvY2FsZUxvd2VyQ2FzZSgpO2lmKCF0aGlzLl93ZWVrZGF5c1BhcnNlKWZvcih0aGlzLl93ZWVrZGF5c1BhcnNlPVtdLHRoaXMuX3Nob3J0V2Vla2RheXNQYXJzZT1bXSx0aGlzLl9taW5XZWVrZGF5c1BhcnNlPVtdLGk9MDtpPDc7KytpKW89aChbMmUzLDFdKS5kYXkoaSksdGhpcy5fbWluV2Vla2RheXNQYXJzZVtpXT10aGlzLndlZWtkYXlzTWluKG8sIiIpLnRvTG9jYWxlTG93ZXJDYXNlKCksdGhpcy5fc2hvcnRXZWVrZGF5c1BhcnNlW2ldPXRoaXMud2Vla2RheXNTaG9ydChvLCIiKS50b0xvY2FsZUxvd2VyQ2FzZSgpLHRoaXMuX3dlZWtkYXlzUGFyc2VbaV09dGhpcy53ZWVrZGF5cyhvLCIiKS50b0xvY2FsZUxvd2VyQ2FzZSgpO3JldHVybiBuPyJkZGRkIj09PWU/KHI9eGkuY2FsbCh0aGlzLl93ZWVrZGF5c1BhcnNlLHMpLHIhPT0tMT9yOm51bGwpOiJkZGQiPT09ZT8ocj14aS5jYWxsKHRoaXMuX3Nob3J0V2Vla2RheXNQYXJzZSxzKSxyIT09LTE/cjpudWxsKToocj14aS5jYWxsKHRoaXMuX21pbldlZWtkYXlzUGFyc2UscyksciE9PS0xP3I6bnVsbCk6ImRkZGQiPT09ZT8ocj14aS5jYWxsKHRoaXMuX3dlZWtkYXlzUGFyc2UscyksciE9PS0xP3I6KHI9eGkuY2FsbCh0aGlzLl9zaG9ydFdlZWtkYXlzUGFyc2UscyksciE9PS0xP3I6KHI9eGkuY2FsbCh0aGlzLl9taW5XZWVrZGF5c1BhcnNlLHMpLHIhPT0tMT9yOm51bGwpKSk6ImRkZCI9PT1lPyhyPXhpLmNhbGwodGhpcy5fc2hvcnRXZWVrZGF5c1BhcnNlLHMpLHIhPT0tMT9yOihyPXhpLmNhbGwodGhpcy5fd2Vla2RheXNQYXJzZSxzKSxyIT09LTE/cjoocj14aS5jYWxsKHRoaXMuX21pbldlZWtkYXlzUGFyc2UscyksciE9PS0xP3I6bnVsbCkpKToocj14aS5jYWxsKHRoaXMuX21pbldlZWtkYXlzUGFyc2UscyksciE9PS0xP3I6KHI9eGkuY2FsbCh0aGlzLl93ZWVrZGF5c1BhcnNlLHMpLHIhPT0tMT9yOihyPXhpLmNhbGwodGhpcy5fc2hvcnRXZWVrZGF5c1BhcnNlLHMpLHIhPT0tMT9yOm51bGwpKSl9ZnVuY3Rpb24gWXQodCxlLG4pe3ZhciBpLHIsbztpZih0aGlzLl93ZWVrZGF5c1BhcnNlRXhhY3QpcmV0dXJuIEx0LmNhbGwodGhpcyx0LGUsbik7Zm9yKHRoaXMuX3dlZWtkYXlzUGFyc2V8fCh0aGlzLl93ZWVrZGF5c1BhcnNlPVtdLHRoaXMuX21pbldlZWtkYXlzUGFyc2U9W10sdGhpcy5fc2hvcnRXZWVrZGF5c1BhcnNlPVtdLHRoaXMuX2Z1bGxXZWVrZGF5c1BhcnNlPVtdKSxpPTA7aTw3O2krKyl7aWYocj1oKFsyZTMsMV0pLmRheShpKSxuJiYhdGhpcy5fZnVsbFdlZWtkYXlzUGFyc2VbaV0mJih0aGlzLl9mdWxsV2Vla2RheXNQYXJzZVtpXT1uZXcgUmVnRXhwKCJeIit0aGlzLndlZWtkYXlzKHIsIiIpLnJlcGxhY2UoIi4iLCIuPyIpKyIkIiwiaSIpLHRoaXMuX3Nob3J0V2Vla2RheXNQYXJzZVtpXT1uZXcgUmVnRXhwKCJeIit0aGlzLndlZWtkYXlzU2hvcnQociwiIikucmVwbGFjZSgiLiIsIi4/IikrIiQiLCJpIiksdGhpcy5fbWluV2Vla2RheXNQYXJzZVtpXT1uZXcgUmVnRXhwKCJeIit0aGlzLndlZWtkYXlzTWluKHIsIiIpLnJlcGxhY2UoIi4iLCIuPyIpKyIkIiwiaSIpKSx0aGlzLl93ZWVrZGF5c1BhcnNlW2ldfHwobz0iXiIrdGhpcy53ZWVrZGF5cyhyLCIiKSsifF4iK3RoaXMud2Vla2RheXNTaG9ydChyLCIiKSsifF4iK3RoaXMud2Vla2RheXNNaW4ociwiIiksdGhpcy5fd2Vla2RheXNQYXJzZVtpXT1uZXcgUmVnRXhwKG8ucmVwbGFjZSgiLiIsIiIpLCJpIikpLG4mJiJkZGRkIj09PWUmJnRoaXMuX2Z1bGxXZWVrZGF5c1BhcnNlW2ldLnRlc3QodCkpcmV0dXJuIGk7aWYobiYmImRkZCI9PT1lJiZ0aGlzLl9zaG9ydFdlZWtkYXlzUGFyc2VbaV0udGVzdCh0KSlyZXR1cm4gaTtpZihuJiYiZGQiPT09ZSYmdGhpcy5fbWluV2Vla2RheXNQYXJzZVtpXS50ZXN0KHQpKXJldHVybiBpO2lmKCFuJiZ0aGlzLl93ZWVrZGF5c1BhcnNlW2ldLnRlc3QodCkpcmV0dXJuIGl9fWZ1bmN0aW9uIEZ0KHQpe2lmKCF0aGlzLmlzVmFsaWQoKSlyZXR1cm4gbnVsbCE9dD90aGlzOk5hTjt2YXIgZT10aGlzLl9pc1VUQz90aGlzLl9kLmdldFVUQ0RheSgpOnRoaXMuX2QuZ2V0RGF5KCk7cmV0dXJuIG51bGwhPXQ/KHQ9anQodCx0aGlzLmxvY2FsZURhdGEoKSksdGhpcy5hZGQodC1lLCJkIikpOmV9ZnVuY3Rpb24gUnQodCl7aWYoIXRoaXMuaXNWYWxpZCgpKXJldHVybiBudWxsIT10P3RoaXM6TmFOO3ZhciBlPSh0aGlzLmRheSgpKzctdGhpcy5sb2NhbGVEYXRhKCkuX3dlZWsuZG93KSU3O3JldHVybiBudWxsPT10P2U6dGhpcy5hZGQodC1lLCJkIil9ZnVuY3Rpb24gSHQodCl7aWYoIXRoaXMuaXNWYWxpZCgpKXJldHVybiBudWxsIT10P3RoaXM6TmFOO2lmKG51bGwhPXQpe3ZhciBlPUV0KHQsdGhpcy5sb2NhbGVEYXRhKCkpO3JldHVybiB0aGlzLmRheSh0aGlzLmRheSgpJTc/ZTplLTcpfXJldHVybiB0aGlzLmRheSgpfHw3fWZ1bmN0aW9uIFd0KHQpe3JldHVybiB0aGlzLl93ZWVrZGF5c1BhcnNlRXhhY3Q/KHUodGhpcywiX3dlZWtkYXlzUmVnZXgiKXx8QnQuY2FsbCh0aGlzKSx0P3RoaXMuX3dlZWtkYXlzU3RyaWN0UmVnZXg6dGhpcy5fd2Vla2RheXNSZWdleCk6KHUodGhpcywiX3dlZWtkYXlzUmVnZXgiKXx8KHRoaXMuX3dlZWtkYXlzUmVnZXg9dnIpLHRoaXMuX3dlZWtkYXlzU3RyaWN0UmVnZXgmJnQ/dGhpcy5fd2Vla2RheXNTdHJpY3RSZWdleDp0aGlzLl93ZWVrZGF5c1JlZ2V4KX1mdW5jdGlvbiBxdCh0KXtyZXR1cm4gdGhpcy5fd2Vla2RheXNQYXJzZUV4YWN0Pyh1KHRoaXMsIl93ZWVrZGF5c1JlZ2V4Iil8fEJ0LmNhbGwodGhpcyksdD90aGlzLl93ZWVrZGF5c1Nob3J0U3RyaWN0UmVnZXg6dGhpcy5fd2Vla2RheXNTaG9ydFJlZ2V4KToodSh0aGlzLCJfd2Vla2RheXNTaG9ydFJlZ2V4Iil8fCh0aGlzLl93ZWVrZGF5c1Nob3J0UmVnZXg9d3IpLHRoaXMuX3dlZWtkYXlzU2hvcnRTdHJpY3RSZWdleCYmdD90aGlzLl93ZWVrZGF5c1Nob3J0U3RyaWN0UmVnZXg6dGhpcy5fd2Vla2RheXNTaG9ydFJlZ2V4KX1mdW5jdGlvbiBJdCh0KXtyZXR1cm4gdGhpcy5fd2Vla2RheXNQYXJzZUV4YWN0Pyh1KHRoaXMsIl93ZWVrZGF5c1JlZ2V4Iil8fEJ0LmNhbGwodGhpcyksdD90aGlzLl93ZWVrZGF5c01pblN0cmljdFJlZ2V4OnRoaXMuX3dlZWtkYXlzTWluUmVnZXgpOih1KHRoaXMsIl93ZWVrZGF5c01pblJlZ2V4Iil8fCh0aGlzLl93ZWVrZGF5c01pblJlZ2V4PWJyKSx0aGlzLl93ZWVrZGF5c01pblN0cmljdFJlZ2V4JiZ0P3RoaXMuX3dlZWtkYXlzTWluU3RyaWN0UmVnZXg6dGhpcy5fd2Vla2RheXNNaW5SZWdleCl9ZnVuY3Rpb24gQnQoKXtmdW5jdGlvbiB0KHQsZSl7cmV0dXJuIGUubGVuZ3RoLXQubGVuZ3RofXZhciBlLG4saSxyLG8scz1bXSxhPVtdLGw9W10sdT1bXTtmb3IoZT0wO2U8NztlKyspbj1oKFsyZTMsMV0pLmRheShlKSxpPXRoaXMud2Vla2RheXNNaW4obiwiIikscj10aGlzLndlZWtkYXlzU2hvcnQobiwiIiksbz10aGlzLndlZWtkYXlzKG4sIiIpLHMucHVzaChpKSxhLnB1c2gociksbC5wdXNoKG8pLHUucHVzaChpKSx1LnB1c2gociksdS5wdXNoKG8pO2ZvcihzLnNvcnQodCksYS5zb3J0KHQpLGwuc29ydCh0KSx1LnNvcnQodCksZT0wO2U8NztlKyspYVtlXT1ldChhW2VdKSxsW2VdPWV0KGxbZV0pLHVbZV09ZXQodVtlXSk7dGhpcy5fd2Vla2RheXNSZWdleD1uZXcgUmVnRXhwKCJeKCIrdS5qb2luKCJ8IikrIikiLCJpIiksdGhpcy5fd2Vla2RheXNTaG9ydFJlZ2V4PXRoaXMuX3dlZWtkYXlzUmVnZXgsdGhpcy5fd2Vla2RheXNNaW5SZWdleD10aGlzLl93ZWVrZGF5c1JlZ2V4LHRoaXMuX3dlZWtkYXlzU3RyaWN0UmVnZXg9bmV3IFJlZ0V4cCgiXigiK2wuam9pbigifCIpKyIpIiwiaSIpLHRoaXMuX3dlZWtkYXlzU2hvcnRTdHJpY3RSZWdleD1uZXcgUmVnRXhwKCJeKCIrYS5qb2luKCJ8IikrIikiLCJpIiksdGhpcy5fd2Vla2RheXNNaW5TdHJpY3RSZWdleD1uZXcgUmVnRXhwKCJeKCIrcy5qb2luKCJ8IikrIikiLCJpIil9ZnVuY3Rpb24gVXQoKXtyZXR1cm4gdGhpcy5ob3VycygpJTEyfHwxMn1mdW5jdGlvbiB6dCgpe3JldHVybiB0aGlzLmhvdXJzKCl8fDI0fWZ1bmN0aW9uICR0KHQsZSl7Ryh0LDAsMCxmdW5jdGlvbigpe3JldHVybiB0aGlzLmxvY2FsZURhdGEoKS5tZXJpZGllbSh0aGlzLmhvdXJzKCksdGhpcy5taW51dGVzKCksZSl9KX1mdW5jdGlvbiBHdCh0LGUpe3JldHVybiBlLl9tZXJpZGllbVBhcnNlfWZ1bmN0aW9uIFZ0KHQpe3JldHVybiJwIj09PSh0KyIiKS50b0xvd2VyQ2FzZSgpLmNoYXJBdCgwKX1mdW5jdGlvbiBYdCh0LGUsbil7cmV0dXJuIHQ+MTE/bj8icG0iOiJQTSI6bj8iYW0iOiJBTSJ9ZnVuY3Rpb24gUXQodCl7cmV0dXJuIHQ/dC50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoIl8iLCItIik6dH1mdW5jdGlvbiBadCh0KXtmb3IodmFyIGUsbixpLHIsbz0wO288dC5sZW5ndGg7KXtmb3Iocj1RdCh0W29dKS5zcGxpdCgiLSIpLGU9ci5sZW5ndGgsbj1RdCh0W28rMV0pLG49bj9uLnNwbGl0KCItIik6bnVsbDtlPjA7KXtpZihpPUp0KHIuc2xpY2UoMCxlKS5qb2luKCItIikpKXJldHVybiBpO2lmKG4mJm4ubGVuZ3RoPj1lJiZfKHIsbiwhMCk+PWUtMSlicmVhaztlLS19bysrfXJldHVybiBudWxsfWZ1bmN0aW9uIEp0KG4pe3ZhciBpPW51bGw7aWYoIVRyW25dJiYidW5kZWZpbmVkIiE9dHlwZW9mIGUmJmUmJmUuZXhwb3J0cyl0cnl7aT14ci5fYWJicix0KCIuL2xvY2FsZS8iK24pLEt0KGkpfWNhdGNoKHQpe31yZXR1cm4gVHJbbl19ZnVuY3Rpb24gS3QodCxlKXt2YXIgbjtyZXR1cm4gdCYmKG49ZyhlKT9uZSh0KTp0ZSh0LGUpLG4mJih4cj1uKSkseHIuX2FiYnJ9ZnVuY3Rpb24gdGUodCxlKXtpZihudWxsIT09ZSl7dmFyIG49U3I7cmV0dXJuIGUuYWJicj10LG51bGwhPVRyW3RdPyhUKCJkZWZpbmVMb2NhbGVPdmVycmlkZSIsInVzZSBtb21lbnQudXBkYXRlTG9jYWxlKGxvY2FsZU5hbWUsIGNvbmZpZykgdG8gY2hhbmdlIGFuIGV4aXN0aW5nIGxvY2FsZS4gbW9tZW50LmRlZmluZUxvY2FsZShsb2NhbGVOYW1lLCBjb25maWcpIHNob3VsZCBvbmx5IGJlIHVzZWQgZm9yIGNyZWF0aW5nIGEgbmV3IGxvY2FsZSBTZWUgaHR0cDovL21vbWVudGpzLmNvbS9ndWlkZXMvIy93YXJuaW5ncy9kZWZpbmUtbG9jYWxlLyBmb3IgbW9yZSBpbmZvLiIpLG49VHJbdF0uX2NvbmZpZyk6bnVsbCE9ZS5wYXJlbnRMb2NhbGUmJihudWxsIT1UcltlLnBhcmVudExvY2FsZV0/bj1UcltlLnBhcmVudExvY2FsZV0uX2NvbmZpZzpUKCJwYXJlbnRMb2NhbGVVbmRlZmluZWQiLCJzcGVjaWZpZWQgcGFyZW50TG9jYWxlIGlzIG5vdCBkZWZpbmVkIHlldC4gU2VlIGh0dHA6Ly9tb21lbnRqcy5jb20vZ3VpZGVzLyMvd2FybmluZ3MvcGFyZW50LWxvY2FsZS8iKSksVHJbdF09bmV3IE4oTShuLGUpKSxLdCh0KSxUclt0XX1yZXR1cm4gZGVsZXRlIFRyW3RdLG51bGx9ZnVuY3Rpb24gZWUodCxlKXtpZihudWxsIT1lKXt2YXIgbixpPVNyO251bGwhPVRyW3RdJiYoaT1Uclt0XS5fY29uZmlnKSxlPU0oaSxlKSxuPW5ldyBOKGUpLG4ucGFyZW50TG9jYWxlPVRyW3RdLFRyW3RdPW4sS3QodCl9ZWxzZSBudWxsIT1Uclt0XSYmKG51bGwhPVRyW3RdLnBhcmVudExvY2FsZT9Uclt0XT1Uclt0XS5wYXJlbnRMb2NhbGU6bnVsbCE9VHJbdF0mJmRlbGV0ZSBUclt0XSk7cmV0dXJuIFRyW3RdfWZ1bmN0aW9uIG5lKHQpe3ZhciBlO2lmKHQmJnQuX2xvY2FsZSYmdC5fbG9jYWxlLl9hYmJyJiYodD10Ll9sb2NhbGUuX2FiYnIpLCF0KXJldHVybiB4cjtpZighcih0KSl7aWYoZT1KdCh0KSlyZXR1cm4gZTsKdD1bdF19cmV0dXJuIFp0KHQpfWZ1bmN0aW9uIGllKCl7cmV0dXJuIGJpKFRyKX1mdW5jdGlvbiByZSh0KXt2YXIgZSxuPXQuX2E7cmV0dXJuIG4mJmYodCkub3ZlcmZsb3c9PT0tMiYmKGU9blt0cl08MHx8blt0cl0+MTE/dHI6bltlcl08MXx8bltlcl0+b3QobltLaV0sblt0cl0pP2VyOm5bbnJdPDB8fG5bbnJdPjI0fHwyND09PW5bbnJdJiYoMCE9PW5baXJdfHwwIT09bltycl18fDAhPT1uW29yXSk/bnI6bltpcl08MHx8bltpcl0+NTk/aXI6bltycl08MHx8bltycl0+NTk/cnI6bltvcl08MHx8bltvcl0+OTk5P29yOi0xLGYodCkuX292ZXJmbG93RGF5T2ZZZWFyJiYoZTxLaXx8ZT5lcikmJihlPWVyKSxmKHQpLl9vdmVyZmxvd1dlZWtzJiZlPT09LTEmJihlPXNyKSxmKHQpLl9vdmVyZmxvd1dlZWtkYXkmJmU9PT0tMSYmKGU9YXIpLGYodCkub3ZlcmZsb3c9ZSksdH1mdW5jdGlvbiBvZSh0KXt2YXIgZSxuLGkscixvLHMsYT10Ll9pLGw9Q3IuZXhlYyhhKXx8RHIuZXhlYyhhKTtpZihsKXtmb3IoZih0KS5pc289ITAsZT0wLG49TnIubGVuZ3RoO2U8bjtlKyspaWYoTnJbZV1bMV0uZXhlYyhsWzFdKSl7cj1OcltlXVswXSxpPU5yW2VdWzJdIT09ITE7YnJlYWt9aWYobnVsbD09cilyZXR1cm4gdm9pZCh0Ll9pc1ZhbGlkPSExKTtpZihsWzNdKXtmb3IoZT0wLG49anIubGVuZ3RoO2U8bjtlKyspaWYoanJbZV1bMV0uZXhlYyhsWzNdKSl7bz0obFsyXXx8IiAiKStqcltlXVswXTticmVha31pZihudWxsPT1vKXJldHVybiB2b2lkKHQuX2lzVmFsaWQ9ITEpfWlmKCFpJiZudWxsIT1vKXJldHVybiB2b2lkKHQuX2lzVmFsaWQ9ITEpO2lmKGxbNF0pe2lmKCFNci5leGVjKGxbNF0pKXJldHVybiB2b2lkKHQuX2lzVmFsaWQ9ITEpO3M9IloifXQuX2Y9cisob3x8IiIpKyhzfHwiIiksaGUodCl9ZWxzZSB0Ll9pc1ZhbGlkPSExfWZ1bmN0aW9uIHNlKHQpe3ZhciBlPUVyLmV4ZWModC5faSk7cmV0dXJuIG51bGwhPT1lP3ZvaWQodC5fZD1uZXcgRGF0ZSgrZVsxXSkpOihvZSh0KSx2b2lkKHQuX2lzVmFsaWQ9PT0hMSYmKGRlbGV0ZSB0Ll9pc1ZhbGlkLG4uY3JlYXRlRnJvbUlucHV0RmFsbGJhY2sodCkpKSl9ZnVuY3Rpb24gYWUodCxlLG4pe3JldHVybiBudWxsIT10P3Q6bnVsbCE9ZT9lOm59ZnVuY3Rpb24gbGUodCl7dmFyIGU9bmV3IERhdGUobi5ub3coKSk7cmV0dXJuIHQuX3VzZVVUQz9bZS5nZXRVVENGdWxsWWVhcigpLGUuZ2V0VVRDTW9udGgoKSxlLmdldFVUQ0RhdGUoKV06W2UuZ2V0RnVsbFllYXIoKSxlLmdldE1vbnRoKCksZS5nZXREYXRlKCldfWZ1bmN0aW9uIHVlKHQpe3ZhciBlLG4saSxyLG89W107aWYoIXQuX2Qpe2ZvcihpPWxlKHQpLHQuX3cmJm51bGw9PXQuX2FbZXJdJiZudWxsPT10Ll9hW3RyXSYmY2UodCksdC5fZGF5T2ZZZWFyJiYocj1hZSh0Ll9hW0tpXSxpW0tpXSksdC5fZGF5T2ZZZWFyPmd0KHIpJiYoZih0KS5fb3ZlcmZsb3dEYXlPZlllYXI9ITApLG49YnQociwwLHQuX2RheU9mWWVhciksdC5fYVt0cl09bi5nZXRVVENNb250aCgpLHQuX2FbZXJdPW4uZ2V0VVRDRGF0ZSgpKSxlPTA7ZTwzJiZudWxsPT10Ll9hW2VdOysrZSl0Ll9hW2VdPW9bZV09aVtlXTtmb3IoO2U8NztlKyspdC5fYVtlXT1vW2VdPW51bGw9PXQuX2FbZV0/Mj09PWU/MTowOnQuX2FbZV07MjQ9PT10Ll9hW25yXSYmMD09PXQuX2FbaXJdJiYwPT09dC5fYVtycl0mJjA9PT10Ll9hW29yXSYmKHQuX25leHREYXk9ITAsdC5fYVtucl09MCksdC5fZD0odC5fdXNlVVRDP2J0Ond0KS5hcHBseShudWxsLG8pLG51bGwhPXQuX3R6bSYmdC5fZC5zZXRVVENNaW51dGVzKHQuX2QuZ2V0VVRDTWludXRlcygpLXQuX3R6bSksdC5fbmV4dERheSYmKHQuX2FbbnJdPTI0KX19ZnVuY3Rpb24gY2UodCl7dmFyIGUsbixpLHIsbyxzLGEsbDtlPXQuX3csbnVsbCE9ZS5HR3x8bnVsbCE9ZS5XfHxudWxsIT1lLkU/KG89MSxzPTQsbj1hZShlLkdHLHQuX2FbS2ldLGt0KHdlKCksMSw0KS55ZWFyKSxpPWFlKGUuVywxKSxyPWFlKGUuRSwxKSwocjwxfHxyPjcpJiYobD0hMCkpOihvPXQuX2xvY2FsZS5fd2Vlay5kb3cscz10Ll9sb2NhbGUuX3dlZWsuZG95LG49YWUoZS5nZyx0Ll9hW0tpXSxrdCh3ZSgpLG8scykueWVhciksaT1hZShlLncsMSksbnVsbCE9ZS5kPyhyPWUuZCwocjwwfHxyPjYpJiYobD0hMCkpOm51bGwhPWUuZT8ocj1lLmUrbywoZS5lPDB8fGUuZT42KSYmKGw9ITApKTpyPW8pLGk8MXx8aT5TdChuLG8scyk/Zih0KS5fb3ZlcmZsb3dXZWVrcz0hMDpudWxsIT1sP2YodCkuX292ZXJmbG93V2Vla2RheT0hMDooYT1fdChuLGkscixvLHMpLHQuX2FbS2ldPWEueWVhcix0Ll9kYXlPZlllYXI9YS5kYXlPZlllYXIpfWZ1bmN0aW9uIGhlKHQpe2lmKHQuX2Y9PT1uLklTT184NjAxKXJldHVybiB2b2lkIG9lKHQpO3QuX2E9W10sZih0KS5lbXB0eT0hMDt2YXIgZSxpLHIsbyxzLGE9IiIrdC5faSxsPWEubGVuZ3RoLHU9MDtmb3Iocj1aKHQuX2YsdC5fbG9jYWxlKS5tYXRjaChqaSl8fFtdLGU9MDtlPHIubGVuZ3RoO2UrKylvPXJbZV0saT0oYS5tYXRjaChLKG8sdCkpfHxbXSlbMF0saSYmKHM9YS5zdWJzdHIoMCxhLmluZGV4T2YoaSkpLHMubGVuZ3RoPjAmJmYodCkudW51c2VkSW5wdXQucHVzaChzKSxhPWEuc2xpY2UoYS5pbmRleE9mKGkpK2kubGVuZ3RoKSx1Kz1pLmxlbmd0aCksQWlbb10/KGk/Zih0KS5lbXB0eT0hMTpmKHQpLnVudXNlZFRva2Vucy5wdXNoKG8pLHJ0KG8saSx0KSk6dC5fc3RyaWN0JiYhaSYmZih0KS51bnVzZWRUb2tlbnMucHVzaChvKTtmKHQpLmNoYXJzTGVmdE92ZXI9bC11LGEubGVuZ3RoPjAmJmYodCkudW51c2VkSW5wdXQucHVzaChhKSx0Ll9hW25yXTw9MTImJmYodCkuYmlnSG91cj09PSEwJiZ0Ll9hW25yXT4wJiYoZih0KS5iaWdIb3VyPXZvaWQgMCksZih0KS5wYXJzZWREYXRlUGFydHM9dC5fYS5zbGljZSgwKSxmKHQpLm1lcmlkaWVtPXQuX21lcmlkaWVtLHQuX2FbbnJdPWRlKHQuX2xvY2FsZSx0Ll9hW25yXSx0Ll9tZXJpZGllbSksdWUodCkscmUodCl9ZnVuY3Rpb24gZGUodCxlLG4pe3ZhciBpO3JldHVybiBudWxsPT1uP2U6bnVsbCE9dC5tZXJpZGllbUhvdXI/dC5tZXJpZGllbUhvdXIoZSxuKTpudWxsIT10LmlzUE0/KGk9dC5pc1BNKG4pLGkmJmU8MTImJihlKz0xMiksaXx8MTIhPT1lfHwoZT0wKSxlKTplfWZ1bmN0aW9uIGZlKHQpe3ZhciBlLG4saSxyLG87aWYoMD09PXQuX2YubGVuZ3RoKXJldHVybiBmKHQpLmludmFsaWRGb3JtYXQ9ITAsdm9pZCh0Ll9kPW5ldyBEYXRlKE5hTikpO2ZvcihyPTA7cjx0Ll9mLmxlbmd0aDtyKyspbz0wLGU9eSh7fSx0KSxudWxsIT10Ll91c2VVVEMmJihlLl91c2VVVEM9dC5fdXNlVVRDKSxlLl9mPXQuX2Zbcl0saGUoZSkscChlKSYmKG8rPWYoZSkuY2hhcnNMZWZ0T3ZlcixvKz0xMCpmKGUpLnVudXNlZFRva2Vucy5sZW5ndGgsZihlKS5zY29yZT1vLChudWxsPT1pfHxvPGkpJiYoaT1vLG49ZSkpO2ModCxufHxlKX1mdW5jdGlvbiBwZSh0KXtpZighdC5fZCl7dmFyIGU9Uih0Ll9pKTt0Ll9hPWwoW2UueWVhcixlLm1vbnRoLGUuZGF5fHxlLmRhdGUsZS5ob3VyLGUubWludXRlLGUuc2Vjb25kLGUubWlsbGlzZWNvbmRdLGZ1bmN0aW9uKHQpe3JldHVybiB0JiZwYXJzZUludCh0LDEwKX0pLHVlKHQpfX1mdW5jdGlvbiBtZSh0KXt2YXIgZT1uZXcgdihyZShnZSh0KSkpO3JldHVybiBlLl9uZXh0RGF5JiYoZS5hZGQoMSwiZCIpLGUuX25leHREYXk9dm9pZCAwKSxlfWZ1bmN0aW9uIGdlKHQpe3ZhciBlPXQuX2ksbj10Ll9mO3JldHVybiB0Ll9sb2NhbGU9dC5fbG9jYWxlfHxuZSh0Ll9sKSxudWxsPT09ZXx8dm9pZCAwPT09biYmIiI9PT1lP20oe251bGxJbnB1dDohMH0pOigic3RyaW5nIj09dHlwZW9mIGUmJih0Ll9pPWU9dC5fbG9jYWxlLnByZXBhcnNlKGUpKSx3KGUpP25ldyB2KHJlKGUpKToocihuKT9mZSh0KTphKGUpP3QuX2Q9ZTpuP2hlKHQpOnllKHQpLHAodCl8fCh0Ll9kPW51bGwpLHQpKX1mdW5jdGlvbiB5ZSh0KXt2YXIgZT10Ll9pO3ZvaWQgMD09PWU/dC5fZD1uZXcgRGF0ZShuLm5vdygpKTphKGUpP3QuX2Q9bmV3IERhdGUoZS52YWx1ZU9mKCkpOiJzdHJpbmciPT10eXBlb2YgZT9zZSh0KTpyKGUpPyh0Ll9hPWwoZS5zbGljZSgwKSxmdW5jdGlvbih0KXtyZXR1cm4gcGFyc2VJbnQodCwxMCl9KSx1ZSh0KSk6Im9iamVjdCI9PXR5cGVvZiBlP3BlKHQpOiJudW1iZXIiPT10eXBlb2YgZT90Ll9kPW5ldyBEYXRlKGUpOm4uY3JlYXRlRnJvbUlucHV0RmFsbGJhY2sodCl9ZnVuY3Rpb24gdmUodCxlLG4saSxhKXt2YXIgbD17fTtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiBuJiYoaT1uLG49dm9pZCAwKSwobyh0KSYmcyh0KXx8cih0KSYmMD09PXQubGVuZ3RoKSYmKHQ9dm9pZCAwKSxsLl9pc0FNb21lbnRPYmplY3Q9ITAsbC5fdXNlVVRDPWwuX2lzVVRDPWEsbC5fbD1uLGwuX2k9dCxsLl9mPWUsbC5fc3RyaWN0PWksbWUobCl9ZnVuY3Rpb24gd2UodCxlLG4saSl7cmV0dXJuIHZlKHQsZSxuLGksITEpfWZ1bmN0aW9uIGJlKHQsZSl7dmFyIG4saTtpZigxPT09ZS5sZW5ndGgmJnIoZVswXSkmJihlPWVbMF0pLCFlLmxlbmd0aClyZXR1cm4gd2UoKTtmb3Iobj1lWzBdLGk9MTtpPGUubGVuZ3RoOysraSllW2ldLmlzVmFsaWQoKSYmIWVbaV1bdF0obil8fChuPWVbaV0pO3JldHVybiBufWZ1bmN0aW9uIHhlKCl7dmFyIHQ9W10uc2xpY2UuY2FsbChhcmd1bWVudHMsMCk7cmV0dXJuIGJlKCJpc0JlZm9yZSIsdCl9ZnVuY3Rpb24gX2UoKXt2YXIgdD1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cywwKTtyZXR1cm4gYmUoImlzQWZ0ZXIiLHQpfWZ1bmN0aW9uIGtlKHQpe3ZhciBlPVIodCksbj1lLnllYXJ8fDAsaT1lLnF1YXJ0ZXJ8fDAscj1lLm1vbnRofHwwLG89ZS53ZWVrfHwwLHM9ZS5kYXl8fDAsYT1lLmhvdXJ8fDAsbD1lLm1pbnV0ZXx8MCx1PWUuc2Vjb25kfHwwLGM9ZS5taWxsaXNlY29uZHx8MDt0aGlzLl9taWxsaXNlY29uZHM9K2MrMWUzKnUrNmU0KmwrMWUzKmEqNjAqNjAsdGhpcy5fZGF5cz0rcys3Km8sdGhpcy5fbW9udGhzPStyKzMqaSsxMipuLHRoaXMuX2RhdGE9e30sdGhpcy5fbG9jYWxlPW5lKCksdGhpcy5fYnViYmxlKCl9ZnVuY3Rpb24gU2UodCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBrZX1mdW5jdGlvbiBUZSh0KXtyZXR1cm4gdDwwP01hdGgucm91bmQoLTEqdCkqLTE6TWF0aC5yb3VuZCh0KX1mdW5jdGlvbiBDZSh0LGUpe0codCwwLDAsZnVuY3Rpb24oKXt2YXIgdD10aGlzLnV0Y09mZnNldCgpLG49IisiO3JldHVybiB0PDAmJih0PS10LG49Ii0iKSxuKyQofn4odC82MCksMikrZSskKH5+dCU2MCwyKX0pfWZ1bmN0aW9uIERlKHQsZSl7dmFyIG49KGV8fCIiKS5tYXRjaCh0KXx8W10saT1uW24ubGVuZ3RoLTFdfHxbXSxyPShpKyIiKS5tYXRjaChMcil8fFsiLSIsMCwwXSxvPSsoNjAqclsxXSkreChyWzJdKTtyZXR1cm4iKyI9PT1yWzBdP286LW99ZnVuY3Rpb24gTWUodCxlKXt2YXIgaSxyO3JldHVybiBlLl9pc1VUQz8oaT1lLmNsb25lKCkscj0odyh0KXx8YSh0KT90LnZhbHVlT2YoKTp3ZSh0KS52YWx1ZU9mKCkpLWkudmFsdWVPZigpLGkuX2Quc2V0VGltZShpLl9kLnZhbHVlT2YoKStyKSxuLnVwZGF0ZU9mZnNldChpLCExKSxpKTp3ZSh0KS5sb2NhbCgpfWZ1bmN0aW9uIE5lKHQpe3JldHVybiAxNSotTWF0aC5yb3VuZCh0Ll9kLmdldFRpbWV6b25lT2Zmc2V0KCkvMTUpfWZ1bmN0aW9uIGplKHQsZSl7dmFyIGkscj10aGlzLl9vZmZzZXR8fDA7cmV0dXJuIHRoaXMuaXNWYWxpZCgpP251bGwhPXQ/KCJzdHJpbmciPT10eXBlb2YgdD90PURlKFZpLHQpOk1hdGguYWJzKHQpPDE2JiYodCo9NjApLCF0aGlzLl9pc1VUQyYmZSYmKGk9TmUodGhpcykpLHRoaXMuX29mZnNldD10LHRoaXMuX2lzVVRDPSEwLG51bGwhPWkmJnRoaXMuYWRkKGksIm0iKSxyIT09dCYmKCFlfHx0aGlzLl9jaGFuZ2VJblByb2dyZXNzPyRlKHRoaXMscWUodC1yLCJtIiksMSwhMSk6dGhpcy5fY2hhbmdlSW5Qcm9ncmVzc3x8KHRoaXMuX2NoYW5nZUluUHJvZ3Jlc3M9ITAsbi51cGRhdGVPZmZzZXQodGhpcywhMCksdGhpcy5fY2hhbmdlSW5Qcm9ncmVzcz1udWxsKSksdGhpcyk6dGhpcy5faXNVVEM/cjpOZSh0aGlzKTpudWxsIT10P3RoaXM6TmFOfWZ1bmN0aW9uIEVlKHQsZSl7cmV0dXJuIG51bGwhPXQ/KCJzdHJpbmciIT10eXBlb2YgdCYmKHQ9LXQpLHRoaXMudXRjT2Zmc2V0KHQsZSksdGhpcyk6LXRoaXMudXRjT2Zmc2V0KCl9ZnVuY3Rpb24gT2UodCl7cmV0dXJuIHRoaXMudXRjT2Zmc2V0KDAsdCl9ZnVuY3Rpb24gQWUodCl7cmV0dXJuIHRoaXMuX2lzVVRDJiYodGhpcy51dGNPZmZzZXQoMCx0KSx0aGlzLl9pc1VUQz0hMSx0JiZ0aGlzLnN1YnRyYWN0KE5lKHRoaXMpLCJtIikpLHRoaXN9ZnVuY3Rpb24gUGUoKXtpZih0aGlzLl90em0pdGhpcy51dGNPZmZzZXQodGhpcy5fdHptKTtlbHNlIGlmKCJzdHJpbmciPT10eXBlb2YgdGhpcy5faSl7dmFyIHQ9RGUoR2ksdGhpcy5faSk7MD09PXQ/dGhpcy51dGNPZmZzZXQoMCwhMCk6dGhpcy51dGNPZmZzZXQoRGUoR2ksdGhpcy5faSkpfXJldHVybiB0aGlzfWZ1bmN0aW9uIExlKHQpe3JldHVybiEhdGhpcy5pc1ZhbGlkKCkmJih0PXQ/d2UodCkudXRjT2Zmc2V0KCk6MCwodGhpcy51dGNPZmZzZXQoKS10KSU2MD09PTApfWZ1bmN0aW9uIFllKCl7cmV0dXJuIHRoaXMudXRjT2Zmc2V0KCk+dGhpcy5jbG9uZSgpLm1vbnRoKDApLnV0Y09mZnNldCgpfHx0aGlzLnV0Y09mZnNldCgpPnRoaXMuY2xvbmUoKS5tb250aCg1KS51dGNPZmZzZXQoKX1mdW5jdGlvbiBGZSgpe2lmKCFnKHRoaXMuX2lzRFNUU2hpZnRlZCkpcmV0dXJuIHRoaXMuX2lzRFNUU2hpZnRlZDt2YXIgdD17fTtpZih5KHQsdGhpcyksdD1nZSh0KSx0Ll9hKXt2YXIgZT10Ll9pc1VUQz9oKHQuX2EpOndlKHQuX2EpO3RoaXMuX2lzRFNUU2hpZnRlZD10aGlzLmlzVmFsaWQoKSYmXyh0Ll9hLGUudG9BcnJheSgpKT4wfWVsc2UgdGhpcy5faXNEU1RTaGlmdGVkPSExO3JldHVybiB0aGlzLl9pc0RTVFNoaWZ0ZWR9ZnVuY3Rpb24gUmUoKXtyZXR1cm4hIXRoaXMuaXNWYWxpZCgpJiYhdGhpcy5faXNVVEN9ZnVuY3Rpb24gSGUoKXtyZXR1cm4hIXRoaXMuaXNWYWxpZCgpJiZ0aGlzLl9pc1VUQ31mdW5jdGlvbiBXZSgpe3JldHVybiEhdGhpcy5pc1ZhbGlkKCkmJih0aGlzLl9pc1VUQyYmMD09PXRoaXMuX29mZnNldCl9ZnVuY3Rpb24gcWUodCxlKXt2YXIgbixpLHIsbz10LHM9bnVsbDtyZXR1cm4gU2UodCk/bz17bXM6dC5fbWlsbGlzZWNvbmRzLGQ6dC5fZGF5cyxNOnQuX21vbnRoc306Im51bWJlciI9PXR5cGVvZiB0PyhvPXt9LGU/b1tlXT10Om8ubWlsbGlzZWNvbmRzPXQpOihzPVlyLmV4ZWModCkpPyhuPSItIj09PXNbMV0/LTE6MSxvPXt5OjAsZDp4KHNbZXJdKSpuLGg6eChzW25yXSkqbixtOngoc1tpcl0pKm4sczp4KHNbcnJdKSpuLG1zOngoVGUoMWUzKnNbb3JdKSkqbn0pOihzPUZyLmV4ZWModCkpPyhuPSItIj09PXNbMV0/LTE6MSxvPXt5OkllKHNbMl0sbiksTTpJZShzWzNdLG4pLHc6SWUoc1s0XSxuKSxkOkllKHNbNV0sbiksaDpJZShzWzZdLG4pLG06SWUoc1s3XSxuKSxzOkllKHNbOF0sbil9KTpudWxsPT1vP289e306Im9iamVjdCI9PXR5cGVvZiBvJiYoImZyb20iaW4gb3x8InRvImluIG8pJiYocj1VZSh3ZShvLmZyb20pLHdlKG8udG8pKSxvPXt9LG8ubXM9ci5taWxsaXNlY29uZHMsby5NPXIubW9udGhzKSxpPW5ldyBrZShvKSxTZSh0KSYmdSh0LCJfbG9jYWxlIikmJihpLl9sb2NhbGU9dC5fbG9jYWxlKSxpfWZ1bmN0aW9uIEllKHQsZSl7dmFyIG49dCYmcGFyc2VGbG9hdCh0LnJlcGxhY2UoIiwiLCIuIikpO3JldHVybihpc05hTihuKT8wOm4pKmV9ZnVuY3Rpb24gQmUodCxlKXt2YXIgbj17bWlsbGlzZWNvbmRzOjAsbW9udGhzOjB9O3JldHVybiBuLm1vbnRocz1lLm1vbnRoKCktdC5tb250aCgpKzEyKihlLnllYXIoKS10LnllYXIoKSksdC5jbG9uZSgpLmFkZChuLm1vbnRocywiTSIpLmlzQWZ0ZXIoZSkmJi0tbi5tb250aHMsbi5taWxsaXNlY29uZHM9K2UtK3QuY2xvbmUoKS5hZGQobi5tb250aHMsIk0iKSxufWZ1bmN0aW9uIFVlKHQsZSl7dmFyIG47cmV0dXJuIHQuaXNWYWxpZCgpJiZlLmlzVmFsaWQoKT8oZT1NZShlLHQpLHQuaXNCZWZvcmUoZSk/bj1CZSh0LGUpOihuPUJlKGUsdCksbi5taWxsaXNlY29uZHM9LW4ubWlsbGlzZWNvbmRzLG4ubW9udGhzPS1uLm1vbnRocyksbik6e21pbGxpc2Vjb25kczowLG1vbnRoczowfX1mdW5jdGlvbiB6ZSh0LGUpe3JldHVybiBmdW5jdGlvbihuLGkpe3ZhciByLG87cmV0dXJuIG51bGw9PT1pfHxpc05hTigraSl8fChUKGUsIm1vbWVudCgpLiIrZSsiKHBlcmlvZCwgbnVtYmVyKSBpcyBkZXByZWNhdGVkLiBQbGVhc2UgdXNlIG1vbWVudCgpLiIrZSsiKG51bWJlciwgcGVyaW9kKS4gU2VlIGh0dHA6Ly9tb21lbnRqcy5jb20vZ3VpZGVzLyMvd2FybmluZ3MvYWRkLWludmVydGVkLXBhcmFtLyBmb3IgbW9yZSBpbmZvLiIpLG89bixuPWksaT1vKSxuPSJzdHJpbmciPT10eXBlb2Ygbj8rbjpuLHI9cWUobixpKSwkZSh0aGlzLHIsdCksdGhpc319ZnVuY3Rpb24gJGUodCxlLGkscil7dmFyIG89ZS5fbWlsbGlzZWNvbmRzLHM9VGUoZS5fZGF5cyksYT1UZShlLl9tb250aHMpO3QuaXNWYWxpZCgpJiYocj1udWxsPT1yfHxyLG8mJnQuX2Quc2V0VGltZSh0Ll9kLnZhbHVlT2YoKStvKmkpLHMmJkIodCwiRGF0ZSIsSSh0LCJEYXRlIikrcyppKSxhJiZjdCh0LEkodCwiTW9udGgiKSthKmkpLHImJm4udXBkYXRlT2Zmc2V0KHQsc3x8YSkpfWZ1bmN0aW9uIEdlKHQsZSl7dmFyIG49dC5kaWZmKGUsImRheXMiLCEwKTtyZXR1cm4gbjwtNj8ic2FtZUVsc2UiOm48LTE/Imxhc3RXZWVrIjpuPDA/Imxhc3REYXkiOm48MT8ic2FtZURheSI6bjwyPyJuZXh0RGF5IjpuPDc/Im5leHRXZWVrIjoic2FtZUVsc2UifWZ1bmN0aW9uIFZlKHQsZSl7dmFyIGk9dHx8d2UoKSxyPU1lKGksdGhpcykuc3RhcnRPZigiZGF5Iiksbz1uLmNhbGVuZGFyRm9ybWF0KHRoaXMscil8fCJzYW1lRWxzZSIscz1lJiYoQyhlW29dKT9lW29dLmNhbGwodGhpcyxpKTplW29dKTtyZXR1cm4gdGhpcy5mb3JtYXQoc3x8dGhpcy5sb2NhbGVEYXRhKCkuY2FsZW5kYXIobyx0aGlzLHdlKGkpKSl9ZnVuY3Rpb24gWGUoKXtyZXR1cm4gbmV3IHYodGhpcyl9ZnVuY3Rpb24gUWUodCxlKXt2YXIgbj13KHQpP3Q6d2UodCk7cmV0dXJuISghdGhpcy5pc1ZhbGlkKCl8fCFuLmlzVmFsaWQoKSkmJihlPUYoZyhlKT8ibWlsbGlzZWNvbmQiOmUpLCJtaWxsaXNlY29uZCI9PT1lP3RoaXMudmFsdWVPZigpPm4udmFsdWVPZigpOm4udmFsdWVPZigpPHRoaXMuY2xvbmUoKS5zdGFydE9mKGUpLnZhbHVlT2YoKSl9ZnVuY3Rpb24gWmUodCxlKXt2YXIgbj13KHQpP3Q6d2UodCk7cmV0dXJuISghdGhpcy5pc1ZhbGlkKCl8fCFuLmlzVmFsaWQoKSkmJihlPUYoZyhlKT8ibWlsbGlzZWNvbmQiOmUpLCJtaWxsaXNlY29uZCI9PT1lP3RoaXMudmFsdWVPZigpPG4udmFsdWVPZigpOnRoaXMuY2xvbmUoKS5lbmRPZihlKS52YWx1ZU9mKCk8bi52YWx1ZU9mKCkpfWZ1bmN0aW9uIEplKHQsZSxuLGkpe3JldHVybiBpPWl8fCIoKSIsKCIoIj09PWlbMF0/dGhpcy5pc0FmdGVyKHQsbik6IXRoaXMuaXNCZWZvcmUodCxuKSkmJigiKSI9PT1pWzFdP3RoaXMuaXNCZWZvcmUoZSxuKTohdGhpcy5pc0FmdGVyKGUsbikpfWZ1bmN0aW9uIEtlKHQsZSl7dmFyIG4saT13KHQpP3Q6d2UodCk7cmV0dXJuISghdGhpcy5pc1ZhbGlkKCl8fCFpLmlzVmFsaWQoKSkmJihlPUYoZXx8Im1pbGxpc2Vjb25kIiksIm1pbGxpc2Vjb25kIj09PWU/dGhpcy52YWx1ZU9mKCk9PT1pLnZhbHVlT2YoKToobj1pLnZhbHVlT2YoKSx0aGlzLmNsb25lKCkuc3RhcnRPZihlKS52YWx1ZU9mKCk8PW4mJm48PXRoaXMuY2xvbmUoKS5lbmRPZihlKS52YWx1ZU9mKCkpKX1mdW5jdGlvbiB0bih0LGUpe3JldHVybiB0aGlzLmlzU2FtZSh0LGUpfHx0aGlzLmlzQWZ0ZXIodCxlKX1mdW5jdGlvbiBlbih0LGUpe3JldHVybiB0aGlzLmlzU2FtZSh0LGUpfHx0aGlzLmlzQmVmb3JlKHQsZSl9ZnVuY3Rpb24gbm4odCxlLG4pe3ZhciBpLHIsbyxzO3JldHVybiB0aGlzLmlzVmFsaWQoKT8oaT1NZSh0LHRoaXMpLGkuaXNWYWxpZCgpPyhyPTZlNCooaS51dGNPZmZzZXQoKS10aGlzLnV0Y09mZnNldCgpKSxlPUYoZSksInllYXIiPT09ZXx8Im1vbnRoIj09PWV8fCJxdWFydGVyIj09PWU/KHM9cm4odGhpcyxpKSwicXVhcnRlciI9PT1lP3MvPTM6InllYXIiPT09ZSYmKHMvPTEyKSk6KG89dGhpcy1pLHM9InNlY29uZCI9PT1lP28vMWUzOiJtaW51dGUiPT09ZT9vLzZlNDoiaG91ciI9PT1lP28vMzZlNToiZGF5Ij09PWU/KG8tcikvODY0ZTU6IndlZWsiPT09ZT8oby1yKS82MDQ4ZTU6byksbj9zOmIocykpOk5hTik6TmFOfWZ1bmN0aW9uIHJuKHQsZSl7dmFyIG4saSxyPTEyKihlLnllYXIoKS10LnllYXIoKSkrKGUubW9udGgoKS10Lm1vbnRoKCkpLG89dC5jbG9uZSgpLmFkZChyLCJtb250aHMiKTtyZXR1cm4gZS1vPDA/KG49dC5jbG9uZSgpLmFkZChyLTEsIm1vbnRocyIpLGk9KGUtbykvKG8tbikpOihuPXQuY2xvbmUoKS5hZGQocisxLCJtb250aHMiKSxpPShlLW8pLyhuLW8pKSwtKHIraSl8fDB9ZnVuY3Rpb24gb24oKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmxvY2FsZSgiZW4iKS5mb3JtYXQoImRkZCBNTU0gREQgWVlZWSBISDptbTpzcyBbR01UXVpaIil9ZnVuY3Rpb24gc24oKXt2YXIgdD10aGlzLmNsb25lKCkudXRjKCk7cmV0dXJuIDA8dC55ZWFyKCkmJnQueWVhcigpPD05OTk5P0MoRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcpP3RoaXMudG9EYXRlKCkudG9JU09TdHJpbmcoKTpRKHQsIllZWVktTU0tRERbVF1ISDptbTpzcy5TU1NbWl0iKTpRKHQsIllZWVlZWS1NTS1ERFtUXUhIOm1tOnNzLlNTU1taXSIpfWZ1bmN0aW9uIGFuKHQpe3R8fCh0PXRoaXMuaXNVdGMoKT9uLmRlZmF1bHRGb3JtYXRVdGM6bi5kZWZhdWx0Rm9ybWF0KTt2YXIgZT1RKHRoaXMsdCk7cmV0dXJuIHRoaXMubG9jYWxlRGF0YSgpLnBvc3Rmb3JtYXQoZSl9ZnVuY3Rpb24gbG4odCxlKXtyZXR1cm4gdGhpcy5pc1ZhbGlkKCkmJih3KHQpJiZ0LmlzVmFsaWQoKXx8d2UodCkuaXNWYWxpZCgpKT9xZSh7dG86dGhpcyxmcm9tOnR9KS5sb2NhbGUodGhpcy5sb2NhbGUoKSkuaHVtYW5pemUoIWUpOnRoaXMubG9jYWxlRGF0YSgpLmludmFsaWREYXRlKCl9ZnVuY3Rpb24gdW4odCl7cmV0dXJuIHRoaXMuZnJvbSh3ZSgpLHQpfWZ1bmN0aW9uIGNuKHQsZSl7cmV0dXJuIHRoaXMuaXNWYWxpZCgpJiYodyh0KSYmdC5pc1ZhbGlkKCl8fHdlKHQpLmlzVmFsaWQoKSk/cWUoe2Zyb206dGhpcyx0bzp0fSkubG9jYWxlKHRoaXMubG9jYWxlKCkpLmh1bWFuaXplKCFlKTp0aGlzLmxvY2FsZURhdGEoKS5pbnZhbGlkRGF0ZSgpfWZ1bmN0aW9uIGhuKHQpe3JldHVybiB0aGlzLnRvKHdlKCksdCl9ZnVuY3Rpb24gZG4odCl7dmFyIGU7cmV0dXJuIHZvaWQgMD09PXQ/dGhpcy5fbG9jYWxlLl9hYmJyOihlPW5lKHQpLG51bGwhPWUmJih0aGlzLl9sb2NhbGU9ZSksdGhpcyl9ZnVuY3Rpb24gZm4oKXtyZXR1cm4gdGhpcy5fbG9jYWxlfWZ1bmN0aW9uIHBuKHQpe3N3aXRjaCh0PUYodCkpe2Nhc2UieWVhciI6dGhpcy5tb250aCgwKTtjYXNlInF1YXJ0ZXIiOmNhc2UibW9udGgiOnRoaXMuZGF0ZSgxKTtjYXNlIndlZWsiOmNhc2UiaXNvV2VlayI6Y2FzZSJkYXkiOmNhc2UiZGF0ZSI6dGhpcy5ob3VycygwKTtjYXNlImhvdXIiOnRoaXMubWludXRlcygwKTtjYXNlIm1pbnV0ZSI6dGhpcy5zZWNvbmRzKDApO2Nhc2Uic2Vjb25kIjp0aGlzLm1pbGxpc2Vjb25kcygwKX1yZXR1cm4id2VlayI9PT10JiZ0aGlzLndlZWtkYXkoMCksImlzb1dlZWsiPT09dCYmdGhpcy5pc29XZWVrZGF5KDEpLCJxdWFydGVyIj09PXQmJnRoaXMubW9udGgoMypNYXRoLmZsb29yKHRoaXMubW9udGgoKS8zKSksdGhpc31mdW5jdGlvbiBtbih0KXtyZXR1cm4gdD1GKHQpLHZvaWQgMD09PXR8fCJtaWxsaXNlY29uZCI9PT10P3RoaXM6KCJkYXRlIj09PXQmJih0PSJkYXkiKSx0aGlzLnN0YXJ0T2YodCkuYWRkKDEsImlzb1dlZWsiPT09dD8id2VlayI6dCkuc3VidHJhY3QoMSwibXMiKSl9ZnVuY3Rpb24gZ24oKXtyZXR1cm4gdGhpcy5fZC52YWx1ZU9mKCktNmU0Kih0aGlzLl9vZmZzZXR8fDApfWZ1bmN0aW9uIHluKCl7cmV0dXJuIE1hdGguZmxvb3IodGhpcy52YWx1ZU9mKCkvMWUzKX1mdW5jdGlvbiB2bigpe3JldHVybiBuZXcgRGF0ZSh0aGlzLnZhbHVlT2YoKSl9ZnVuY3Rpb24gd24oKXt2YXIgdD10aGlzO3JldHVyblt0LnllYXIoKSx0Lm1vbnRoKCksdC5kYXRlKCksdC5ob3VyKCksdC5taW51dGUoKSx0LnNlY29uZCgpLHQubWlsbGlzZWNvbmQoKV19ZnVuY3Rpb24gYm4oKXt2YXIgdD10aGlzO3JldHVybnt5ZWFyczp0LnllYXIoKSxtb250aHM6dC5tb250aCgpLGRhdGU6dC5kYXRlKCksaG91cnM6dC5ob3VycygpLG1pbnV0ZXM6dC5taW51dGVzKCksc2Vjb25kczp0LnNlY29uZHMoKSxtaWxsaXNlY29uZHM6dC5taWxsaXNlY29uZHMoKX19ZnVuY3Rpb24geG4oKXtyZXR1cm4gdGhpcy5pc1ZhbGlkKCk/dGhpcy50b0lTT1N0cmluZygpOm51bGx9ZnVuY3Rpb24gX24oKXtyZXR1cm4gcCh0aGlzKX1mdW5jdGlvbiBrbigpe3JldHVybiBjKHt9LGYodGhpcykpfWZ1bmN0aW9uIFNuKCl7cmV0dXJuIGYodGhpcykub3ZlcmZsb3d9ZnVuY3Rpb24gVG4oKXtyZXR1cm57aW5wdXQ6dGhpcy5faSxmb3JtYXQ6dGhpcy5fZixsb2NhbGU6dGhpcy5fbG9jYWxlLGlzVVRDOnRoaXMuX2lzVVRDLHN0cmljdDp0aGlzLl9zdHJpY3R9fWZ1bmN0aW9uIENuKHQsZSl7RygwLFt0LHQubGVuZ3RoXSwwLGUpfWZ1bmN0aW9uIERuKHQpe3JldHVybiBFbi5jYWxsKHRoaXMsdCx0aGlzLndlZWsoKSx0aGlzLndlZWtkYXkoKSx0aGlzLmxvY2FsZURhdGEoKS5fd2Vlay5kb3csdGhpcy5sb2NhbGVEYXRhKCkuX3dlZWsuZG95KX1mdW5jdGlvbiBNbih0KXtyZXR1cm4gRW4uY2FsbCh0aGlzLHQsdGhpcy5pc29XZWVrKCksdGhpcy5pc29XZWVrZGF5KCksMSw0KX1mdW5jdGlvbiBObigpe3JldHVybiBTdCh0aGlzLnllYXIoKSwxLDQpfWZ1bmN0aW9uIGpuKCl7dmFyIHQ9dGhpcy5sb2NhbGVEYXRhKCkuX3dlZWs7cmV0dXJuIFN0KHRoaXMueWVhcigpLHQuZG93LHQuZG95KX1mdW5jdGlvbiBFbih0LGUsbixpLHIpe3ZhciBvO3JldHVybiBudWxsPT10P2t0KHRoaXMsaSxyKS55ZWFyOihvPVN0KHQsaSxyKSxlPm8mJihlPW8pLE9uLmNhbGwodGhpcyx0LGUsbixpLHIpKX1mdW5jdGlvbiBPbih0LGUsbixpLHIpe3ZhciBvPV90KHQsZSxuLGkscikscz1idChvLnllYXIsMCxvLmRheU9mWWVhcik7cmV0dXJuIHRoaXMueWVhcihzLmdldFVUQ0Z1bGxZZWFyKCkpLHRoaXMubW9udGgocy5nZXRVVENNb250aCgpKSx0aGlzLmRhdGUocy5nZXRVVENEYXRlKCkpLHRoaXN9ZnVuY3Rpb24gQW4odCl7cmV0dXJuIG51bGw9PXQ/TWF0aC5jZWlsKCh0aGlzLm1vbnRoKCkrMSkvMyk6dGhpcy5tb250aCgzKih0LTEpK3RoaXMubW9udGgoKSUzKX1mdW5jdGlvbiBQbih0KXt2YXIgZT1NYXRoLnJvdW5kKCh0aGlzLmNsb25lKCkuc3RhcnRPZigiZGF5IiktdGhpcy5jbG9uZSgpLnN0YXJ0T2YoInllYXIiKSkvODY0ZTUpKzE7cmV0dXJuIG51bGw9PXQ/ZTp0aGlzLmFkZCh0LWUsImQiKX1mdW5jdGlvbiBMbih0LGUpe2Vbb3JdPXgoMWUzKigiMC4iK3QpKX1mdW5jdGlvbiBZbigpe3JldHVybiB0aGlzLl9pc1VUQz8iVVRDIjoiIn1mdW5jdGlvbiBGbigpe3JldHVybiB0aGlzLl9pc1VUQz8iQ29vcmRpbmF0ZWQgVW5pdmVyc2FsIFRpbWUiOiIifWZ1bmN0aW9uIFJuKHQpe3JldHVybiB3ZSgxZTMqdCl9ZnVuY3Rpb24gSG4oKXtyZXR1cm4gd2UuYXBwbHkobnVsbCxhcmd1bWVudHMpLnBhcnNlWm9uZSgpfWZ1bmN0aW9uIFduKHQpe3JldHVybiB0fWZ1bmN0aW9uIHFuKHQsZSxuLGkpe3ZhciByPW5lKCksbz1oKCkuc2V0KGksZSk7cmV0dXJuIHJbbl0obyx0KX1mdW5jdGlvbiBJbih0LGUsbil7aWYoIm51bWJlciI9PXR5cGVvZiB0JiYoZT10LHQ9dm9pZCAwKSx0PXR8fCIiLG51bGwhPWUpcmV0dXJuIHFuKHQsZSxuLCJtb250aCIpO3ZhciBpLHI9W107Zm9yKGk9MDtpPDEyO2krKylyW2ldPXFuKHQsaSxuLCJtb250aCIpO3JldHVybiByfWZ1bmN0aW9uIEJuKHQsZSxuLGkpeyJib29sZWFuIj09dHlwZW9mIHQ/KCJudW1iZXIiPT10eXBlb2YgZSYmKG49ZSxlPXZvaWQgMCksZT1lfHwiIik6KGU9dCxuPWUsdD0hMSwibnVtYmVyIj09dHlwZW9mIGUmJihuPWUsZT12b2lkIDApLGU9ZXx8IiIpO3ZhciByPW5lKCksbz10P3IuX3dlZWsuZG93OjA7aWYobnVsbCE9bilyZXR1cm4gcW4oZSwobitvKSU3LGksImRheSIpO3ZhciBzLGE9W107Zm9yKHM9MDtzPDc7cysrKWFbc109cW4oZSwocytvKSU3LGksImRheSIpO3JldHVybiBhfWZ1bmN0aW9uIFVuKHQsZSl7cmV0dXJuIEluKHQsZSwibW9udGhzIil9ZnVuY3Rpb24gem4odCxlKXtyZXR1cm4gSW4odCxlLCJtb250aHNTaG9ydCIpfWZ1bmN0aW9uICRuKHQsZSxuKXtyZXR1cm4gQm4odCxlLG4sIndlZWtkYXlzIil9ZnVuY3Rpb24gR24odCxlLG4pe3JldHVybiBCbih0LGUsbiwid2Vla2RheXNTaG9ydCIpfWZ1bmN0aW9uIFZuKHQsZSxuKXtyZXR1cm4gQm4odCxlLG4sIndlZWtkYXlzTWluIil9ZnVuY3Rpb24gWG4oKXt2YXIgdD10aGlzLl9kYXRhO3JldHVybiB0aGlzLl9taWxsaXNlY29uZHM9WHIodGhpcy5fbWlsbGlzZWNvbmRzKSx0aGlzLl9kYXlzPVhyKHRoaXMuX2RheXMpLHRoaXMuX21vbnRocz1Ycih0aGlzLl9tb250aHMpLHQubWlsbGlzZWNvbmRzPVhyKHQubWlsbGlzZWNvbmRzKSx0LnNlY29uZHM9WHIodC5zZWNvbmRzKSx0Lm1pbnV0ZXM9WHIodC5taW51dGVzKSx0LmhvdXJzPVhyKHQuaG91cnMpLHQubW9udGhzPVhyKHQubW9udGhzKSx0LnllYXJzPVhyKHQueWVhcnMpLHRoaXN9ZnVuY3Rpb24gUW4odCxlLG4saSl7dmFyIHI9cWUoZSxuKTtyZXR1cm4gdC5fbWlsbGlzZWNvbmRzKz1pKnIuX21pbGxpc2Vjb25kcyx0Ll9kYXlzKz1pKnIuX2RheXMsdC5fbW9udGhzKz1pKnIuX21vbnRocyx0Ll9idWJibGUoKX1mdW5jdGlvbiBabih0LGUpe3JldHVybiBRbih0aGlzLHQsZSwxKX1mdW5jdGlvbiBKbih0LGUpe3JldHVybiBRbih0aGlzLHQsZSwtMSl9ZnVuY3Rpb24gS24odCl7cmV0dXJuIHQ8MD9NYXRoLmZsb29yKHQpOk1hdGguY2VpbCh0KX1mdW5jdGlvbiB0aSgpe3ZhciB0LGUsbixpLHIsbz10aGlzLl9taWxsaXNlY29uZHMscz10aGlzLl9kYXlzLGE9dGhpcy5fbW9udGhzLGw9dGhpcy5fZGF0YTtyZXR1cm4gbz49MCYmcz49MCYmYT49MHx8bzw9MCYmczw9MCYmYTw9MHx8KG8rPTg2NGU1KktuKG5pKGEpK3MpLHM9MCxhPTApLGwubWlsbGlzZWNvbmRzPW8lMWUzLHQ9YihvLzFlMyksbC5zZWNvbmRzPXQlNjAsZT1iKHQvNjApLGwubWludXRlcz1lJTYwLG49YihlLzYwKSxsLmhvdXJzPW4lMjQscys9YihuLzI0KSxyPWIoZWkocykpLGErPXIscy09S24obmkocikpLGk9YihhLzEyKSxhJT0xMixsLmRheXM9cyxsLm1vbnRocz1hLGwueWVhcnM9aSx0aGlzfWZ1bmN0aW9uIGVpKHQpe3JldHVybiA0ODAwKnQvMTQ2MDk3fWZ1bmN0aW9uIG5pKHQpe3JldHVybiAxNDYwOTcqdC80ODAwfWZ1bmN0aW9uIGlpKHQpe3ZhciBlLG4saT10aGlzLl9taWxsaXNlY29uZHM7aWYodD1GKHQpLCJtb250aCI9PT10fHwieWVhciI9PT10KXJldHVybiBlPXRoaXMuX2RheXMraS84NjRlNSxuPXRoaXMuX21vbnRocytlaShlKSwibW9udGgiPT09dD9uOm4vMTI7c3dpdGNoKGU9dGhpcy5fZGF5cytNYXRoLnJvdW5kKG5pKHRoaXMuX21vbnRocykpLHQpe2Nhc2Uid2VlayI6cmV0dXJuIGUvNytpLzYwNDhlNTtjYXNlImRheSI6cmV0dXJuIGUraS84NjRlNTtjYXNlImhvdXIiOnJldHVybiAyNCplK2kvMzZlNTtjYXNlIm1pbnV0ZSI6cmV0dXJuIDE0NDAqZStpLzZlNDtjYXNlInNlY29uZCI6cmV0dXJuIDg2NDAwKmUraS8xZTM7Y2FzZSJtaWxsaXNlY29uZCI6cmV0dXJuIE1hdGguZmxvb3IoODY0ZTUqZSkraTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiVW5rbm93biB1bml0ICIrdCl9fWZ1bmN0aW9uIHJpKCl7cmV0dXJuIHRoaXMuX21pbGxpc2Vjb25kcys4NjRlNSp0aGlzLl9kYXlzK3RoaXMuX21vbnRocyUxMioyNTkyZTYrMzE1MzZlNip4KHRoaXMuX21vbnRocy8xMil9ZnVuY3Rpb24gb2kodCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXModCl9fWZ1bmN0aW9uIHNpKHQpe3JldHVybiB0PUYodCksdGhpc1t0KyJzIl0oKX1mdW5jdGlvbiBhaSh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZGF0YVt0XX19ZnVuY3Rpb24gbGkoKXtyZXR1cm4gYih0aGlzLmRheXMoKS83KX1mdW5jdGlvbiB1aSh0LGUsbixpLHIpe3JldHVybiByLnJlbGF0aXZlVGltZShlfHwxLCEhbix0LGkpfWZ1bmN0aW9uIGNpKHQsZSxuKXt2YXIgaT1xZSh0KS5hYnMoKSxyPWhvKGkuYXMoInMiKSksbz1obyhpLmFzKCJtIikpLHM9aG8oaS5hcygiaCIpKSxhPWhvKGkuYXMoImQiKSksbD1obyhpLmFzKCJNIikpLHU9aG8oaS5hcygieSIpKSxjPXI8Zm8ucyYmWyJzIixyXXx8bzw9MSYmWyJtIl18fG88Zm8ubSYmWyJtbSIsb118fHM8PTEmJlsiaCJdfHxzPGZvLmgmJlsiaGgiLHNdfHxhPD0xJiZbImQiXXx8YTxmby5kJiZbImRkIixhXXx8bDw9MSYmWyJNIl18fGw8Zm8uTSYmWyJNTSIsbF18fHU8PTEmJlsieSJdfHxbInl5Iix1XTtyZXR1cm4gY1syXT1lLGNbM109K3Q+MCxjWzRdPW4sdWkuYXBwbHkobnVsbCxjKX1mdW5jdGlvbiBoaSh0KXtyZXR1cm4gdm9pZCAwPT09dD9obzoiZnVuY3Rpb24iPT10eXBlb2YgdCYmKGhvPXQsITApfWZ1bmN0aW9uIGRpKHQsZSl7cmV0dXJuIHZvaWQgMCE9PWZvW3RdJiYodm9pZCAwPT09ZT9mb1t0XTooZm9bdF09ZSwhMCkpfWZ1bmN0aW9uIGZpKHQpe3ZhciBlPXRoaXMubG9jYWxlRGF0YSgpLG49Y2kodGhpcywhdCxlKTtyZXR1cm4gdCYmKG49ZS5wYXN0RnV0dXJlKCt0aGlzLG4pKSxlLnBvc3Rmb3JtYXQobil9ZnVuY3Rpb24gcGkoKXt2YXIgdCxlLG4saT1wbyh0aGlzLl9taWxsaXNlY29uZHMpLzFlMyxyPXBvKHRoaXMuX2RheXMpLG89cG8odGhpcy5fbW9udGhzKTt0PWIoaS82MCksZT1iKHQvNjApLGklPTYwLHQlPTYwLG49YihvLzEyKSxvJT0xMjt2YXIgcz1uLGE9byxsPXIsdT1lLGM9dCxoPWksZD10aGlzLmFzU2Vjb25kcygpO3JldHVybiBkPyhkPDA/Ii0iOiIiKSsiUCIrKHM/cysiWSI6IiIpKyhhP2ErIk0iOiIiKSsobD9sKyJEIjoiIikrKHV8fGN8fGg/IlQiOiIiKSsodT91KyJIIjoiIikrKGM/YysiTSI6IiIpKyhoP2grIlMiOiIiKToiUDBEIn12YXIgbWksZ2k7Z2k9QXJyYXkucHJvdG90eXBlLnNvbWU/QXJyYXkucHJvdG90eXBlLnNvbWU6ZnVuY3Rpb24odCl7Zm9yKHZhciBlPU9iamVjdCh0aGlzKSxuPWUubGVuZ3RoPj4+MCxpPTA7aTxuO2krKylpZihpIGluIGUmJnQuY2FsbCh0aGlzLGVbaV0saSxlKSlyZXR1cm4hMDtyZXR1cm4hMX07dmFyIHlpPW4ubW9tZW50UHJvcGVydGllcz1bXSx2aT0hMSx3aT17fTtuLnN1cHByZXNzRGVwcmVjYXRpb25XYXJuaW5ncz0hMSxuLmRlcHJlY2F0aW9uSGFuZGxlcj1udWxsO3ZhciBiaTtiaT1PYmplY3Qua2V5cz9PYmplY3Qua2V5czpmdW5jdGlvbih0KXt2YXIgZSxuPVtdO2ZvcihlIGluIHQpdSh0LGUpJiZuLnB1c2goZSk7cmV0dXJuIG59O3ZhciB4aSxfaT17c2FtZURheToiW1RvZGF5IGF0XSBMVCIsbmV4dERheToiW1RvbW9ycm93IGF0XSBMVCIsbmV4dFdlZWs6ImRkZGQgW2F0XSBMVCIsbGFzdERheToiW1llc3RlcmRheSBhdF0gTFQiLGxhc3RXZWVrOiJbTGFzdF0gZGRkZCBbYXRdIExUIixzYW1lRWxzZToiTCJ9LGtpPXtMVFM6Img6bW06c3MgQSIsTFQ6Img6bW0gQSIsTDoiTU0vREQvWVlZWSIsTEw6Ik1NTU0gRCwgWVlZWSIsTExMOiJNTU1NIEQsIFlZWVkgaDptbSBBIixMTExMOiJkZGRkLCBNTU1NIEQsIFlZWVkgaDptbSBBIn0sU2k9IkludmFsaWQgZGF0ZSIsVGk9IiVkIixDaT0vXGR7MSwyfS8sRGk9e2Z1dHVyZToiaW4gJXMiLHBhc3Q6IiVzIGFnbyIsczoiYSBmZXcgc2Vjb25kcyIsbToiYSBtaW51dGUiLG1tOiIlZCBtaW51dGVzIixoOiJhbiBob3VyIixoaDoiJWQgaG91cnMiLGQ6ImEgZGF5IixkZDoiJWQgZGF5cyIsTToiYSBtb250aCIsTU06IiVkIG1vbnRocyIseToiYSB5ZWFyIix5eToiJWQgeWVhcnMifSxNaT17fSxOaT17fSxqaT0vKFxbW15cW10qXF0pfChcXCk/KFtIaF1tbShzcyk/fE1vfE1NP00/TT98RG98REREb3xERD9EP0Q/fGRkZD9kP3xkbz98d1tvfHddP3xXW298V10/fFFvP3xZWVlZWVl8WVlZWVl8WVlZWXxZWXxnZyhnZ2c/KT98R0coR0dHPyk/fGV8RXxhfEF8aGg/fEhIP3xraz98bW0/fHNzP3xTezEsOX18eHxYfHp6P3xaWj98LikvZyxFaT0vKFxbW15cW10qXF0pfChcXCk/KExUU3xMVHxMTD9MP0w/fGx7MSw0fSkvZyxPaT17fSxBaT17fSxQaT0vXGQvLExpPS9cZFxkLyxZaT0vXGR7M30vLEZpPS9cZHs0fS8sUmk9L1srLV0/XGR7Nn0vLEhpPS9cZFxkPy8sV2k9L1xkXGRcZFxkPy8scWk9L1xkXGRcZFxkXGRcZD8vLElpPS9cZHsxLDN9LyxCaT0vXGR7MSw0fS8sVWk9L1srLV0/XGR7MSw2fS8semk9L1xkKy8sJGk9L1srLV0/XGQrLyxHaT0vWnxbKy1dXGRcZDo/XGRcZC9naSxWaT0vWnxbKy1dXGRcZCg/Ojo/XGRcZCk/L2dpLFhpPS9bKy1dP1xkKyhcLlxkezEsM30pPy8sUWk9L1swLTldKlsnYS16XHUwMEEwLVx1MDVGRlx1MDcwMC1cdUQ3RkZcdUY5MDAtXHVGRENGXHVGREYwLVx1RkZFRl0rfFtcdTA2MDAtXHUwNkZGXC9dKyhccyo/W1x1MDYwMC1cdTA2RkZdKyl7MSwyfS9pLFppPXt9LEppPXt9LEtpPTAsdHI9MSxlcj0yLG5yPTMsaXI9NCxycj01LG9yPTYsc3I9Nyxhcj04O3hpPUFycmF5LnByb3RvdHlwZS5pbmRleE9mP0FycmF5LnByb3RvdHlwZS5pbmRleE9mOmZ1bmN0aW9uKHQpe3ZhciBlO2ZvcihlPTA7ZTx0aGlzLmxlbmd0aDsrK2UpaWYodGhpc1tlXT09PXQpcmV0dXJuIGU7cmV0dXJuLTF9LEcoIk0iLFsiTU0iLDJdLCJNbyIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tb250aCgpKzF9KSxHKCJNTU0iLDAsMCxmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCkubW9udGhzU2hvcnQodGhpcyx0KX0pLEcoIk1NTU0iLDAsMCxmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCkubW9udGhzKHRoaXMsdCl9KSxZKCJtb250aCIsIk0iKSxIKCJtb250aCIsOCksSigiTSIsSGkpLEooIk1NIixIaSxMaSksSigiTU1NIixmdW5jdGlvbih0LGUpe3JldHVybiBlLm1vbnRoc1Nob3J0UmVnZXgodCl9KSxKKCJNTU1NIixmdW5jdGlvbih0LGUpe3JldHVybiBlLm1vbnRoc1JlZ2V4KHQpfSksbnQoWyJNIiwiTU0iXSxmdW5jdGlvbih0LGUpe2VbdHJdPXgodCktMX0pLG50KFsiTU1NIiwiTU1NTSJdLGZ1bmN0aW9uKHQsZSxuLGkpe3ZhciByPW4uX2xvY2FsZS5tb250aHNQYXJzZSh0LGksbi5fc3RyaWN0KTtudWxsIT1yP2VbdHJdPXI6ZihuKS5pbnZhbGlkTW9udGg9dH0pO3ZhciBscj0vRFtvRF0/KFxbW15cW1xdXSpcXXxccykrTU1NTT8vLHVyPSJKYW51YXJ5X0ZlYnJ1YXJ5X01hcmNoX0FwcmlsX01heV9KdW5lX0p1bHlfQXVndXN0X1NlcHRlbWJlcl9PY3RvYmVyX05vdmVtYmVyX0RlY2VtYmVyIi5zcGxpdCgiXyIpLGNyPSJKYW5fRmViX01hcl9BcHJfTWF5X0p1bl9KdWxfQXVnX1NlcF9PY3RfTm92X0RlYyIuc3BsaXQoIl8iKSxocj1RaSxkcj1RaTtHKCJZIiwwLDAsZnVuY3Rpb24oKXt2YXIgdD10aGlzLnllYXIoKTtyZXR1cm4gdDw9OTk5OT8iIit0OiIrIit0fSksRygwLFsiWVkiLDJdLDAsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy55ZWFyKCklMTAwfSksRygwLFsiWVlZWSIsNF0sMCwieWVhciIpLEcoMCxbIllZWVlZIiw1XSwwLCJ5ZWFyIiksRygwLFsiWVlZWVlZIiw2LCEwXSwwLCJ5ZWFyIiksWSgieWVhciIsInkiKSxIKCJ5ZWFyIiwxKSxKKCJZIiwkaSksSigiWVkiLEhpLExpKSxKKCJZWVlZIixCaSxGaSksSigiWVlZWVkiLFVpLFJpKSxKKCJZWVlZWVkiLFVpLFJpKSxudChbIllZWVlZIiwiWVlZWVlZIl0sS2kpLG50KCJZWVlZIixmdW5jdGlvbih0LGUpe2VbS2ldPTI9PT10Lmxlbmd0aD9uLnBhcnNlVHdvRGlnaXRZZWFyKHQpOngodCl9KSxudCgiWVkiLGZ1bmN0aW9uKHQsZSl7ZVtLaV09bi5wYXJzZVR3b0RpZ2l0WWVhcih0KX0pLG50KCJZIixmdW5jdGlvbih0LGUpe2VbS2ldPXBhcnNlSW50KHQsMTApfSksbi5wYXJzZVR3b0RpZ2l0WWVhcj1mdW5jdGlvbih0KXtyZXR1cm4geCh0KSsoeCh0KT42OD8xOTAwOjJlMyl9O3ZhciBmcj1xKCJGdWxsWWVhciIsITApO0coInciLFsid3ciLDJdLCJ3byIsIndlZWsiKSxHKCJXIixbIldXIiwyXSwiV28iLCJpc29XZWVrIiksWSgid2VlayIsInciKSxZKCJpc29XZWVrIiwiVyIpLEgoIndlZWsiLDUpLEgoImlzb1dlZWsiLDUpLEooInciLEhpKSxKKCJ3dyIsSGksTGkpLEooIlciLEhpKSxKKCJXVyIsSGksTGkpLGl0KFsidyIsInd3IiwiVyIsIldXIl0sZnVuY3Rpb24odCxlLG4saSl7ZVtpLnN1YnN0cigwLDEpXT14KHQpfSk7dmFyIHByPXtkb3c6MCxkb3k6Nn07RygiZCIsMCwiZG8iLCJkYXkiKSxHKCJkZCIsMCwwLGZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmxvY2FsZURhdGEoKS53ZWVrZGF5c01pbih0aGlzLHQpfSksRygiZGRkIiwwLDAsZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubG9jYWxlRGF0YSgpLndlZWtkYXlzU2hvcnQodGhpcyx0KX0pLEcoImRkZGQiLDAsMCxmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCkud2Vla2RheXModGhpcyx0KX0pLEcoImUiLDAsMCwid2Vla2RheSIpLEcoIkUiLDAsMCwiaXNvV2Vla2RheSIpLFkoImRheSIsImQiKSxZKCJ3ZWVrZGF5IiwiZSIpLFkoImlzb1dlZWtkYXkiLCJFIiksSCgiZGF5IiwxMSksSCgid2Vla2RheSIsMTEpLEgoImlzb1dlZWtkYXkiLDExKSxKKCJkIixIaSksSigiZSIsSGkpLEooIkUiLEhpKSxKKCJkZCIsZnVuY3Rpb24odCxlKXtyZXR1cm4gZS53ZWVrZGF5c01pblJlZ2V4KHQpfSksSigiZGRkIixmdW5jdGlvbih0LGUpe3JldHVybiBlLndlZWtkYXlzU2hvcnRSZWdleCh0KX0pLEooImRkZGQiLGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUud2Vla2RheXNSZWdleCh0KX0pLGl0KFsiZGQiLCJkZGQiLCJkZGRkIl0sZnVuY3Rpb24odCxlLG4saSl7dmFyIHI9bi5fbG9jYWxlLndlZWtkYXlzUGFyc2UodCxpLG4uX3N0cmljdCk7bnVsbCE9cj9lLmQ9cjpmKG4pLmludmFsaWRXZWVrZGF5PXR9KSxpdChbImQiLCJlIiwiRSJdLGZ1bmN0aW9uKHQsZSxuLGkpe2VbaV09eCh0KX0pO3ZhciBtcj0iU3VuZGF5X01vbmRheV9UdWVzZGF5X1dlZG5lc2RheV9UaHVyc2RheV9GcmlkYXlfU2F0dXJkYXkiLnNwbGl0KCJfIiksZ3I9IlN1bl9Nb25fVHVlX1dlZF9UaHVfRnJpX1NhdCIuc3BsaXQoIl8iKSx5cj0iU3VfTW9fVHVfV2VfVGhfRnJfU2EiLnNwbGl0KCJfIiksdnI9UWksd3I9UWksYnI9UWk7RygiSCIsWyJISCIsMl0sMCwiaG91ciIpLEcoImgiLFsiaGgiLDJdLDAsVXQpLEcoImsiLFsia2siLDJdLDAsenQpLEcoImhtbSIsMCwwLGZ1bmN0aW9uKCl7cmV0dXJuIiIrVXQuYXBwbHkodGhpcykrJCh0aGlzLm1pbnV0ZXMoKSwyKX0pLEcoImhtbXNzIiwwLDAsZnVuY3Rpb24oKXtyZXR1cm4iIitVdC5hcHBseSh0aGlzKSskKHRoaXMubWludXRlcygpLDIpKyQodGhpcy5zZWNvbmRzKCksMil9KSxHKCJIbW0iLDAsMCxmdW5jdGlvbigpe3JldHVybiIiK3RoaXMuaG91cnMoKSskKHRoaXMubWludXRlcygpLDIpfSksRygiSG1tc3MiLDAsMCxmdW5jdGlvbigpe3JldHVybiIiK3RoaXMuaG91cnMoKSskKHRoaXMubWludXRlcygpLDIpKyQodGhpcy5zZWNvbmRzKCksMil9KSwkdCgiYSIsITApLCR0KCJBIiwhMSksWSgiaG91ciIsImgiKSxIKCJob3VyIiwxMyksSigiYSIsR3QpLEooIkEiLEd0KSxKKCJIIixIaSksSigiaCIsSGkpLEooIkhIIixIaSxMaSksSigiaGgiLEhpLExpKSxKKCJobW0iLFdpKSxKKCJobW1zcyIscWkpLEooIkhtbSIsV2kpLEooIkhtbXNzIixxaSksbnQoWyJIIiwiSEgiXSxuciksbnQoWyJhIiwiQSJdLGZ1bmN0aW9uKHQsZSxuKXtuLl9pc1BtPW4uX2xvY2FsZS5pc1BNKHQpLG4uX21lcmlkaWVtPXR9KSxudChbImgiLCJoaCJdLGZ1bmN0aW9uKHQsZSxuKXtlW25yXT14KHQpLGYobikuYmlnSG91cj0hMH0pLG50KCJobW0iLGZ1bmN0aW9uKHQsZSxuKXt2YXIgaT10Lmxlbmd0aC0yO2VbbnJdPXgodC5zdWJzdHIoMCxpKSksZVtpcl09eCh0LnN1YnN0cihpKSksZihuKS5iaWdIb3VyPSEwfSksbnQoImhtbXNzIixmdW5jdGlvbih0LGUsbil7dmFyIGk9dC5sZW5ndGgtNCxyPXQubGVuZ3RoLTI7ZVtucl09eCh0LnN1YnN0cigwLGkpKSxlW2lyXT14KHQuc3Vic3RyKGksMikpLGVbcnJdPXgodC5zdWJzdHIocikpLGYobikuYmlnSG91cj0hMH0pLG50KCJIbW0iLGZ1bmN0aW9uKHQsZSxuKXt2YXIgaT10Lmxlbmd0aC0yO2VbbnJdPXgodC5zdWJzdHIoMCxpKSksZVtpcl09eCh0LnN1YnN0cihpKSl9KSxudCgiSG1tc3MiLGZ1bmN0aW9uKHQsZSxuKXt2YXIgaT10Lmxlbmd0aC00LHI9dC5sZW5ndGgtMjtlW25yXT14KHQuc3Vic3RyKDAsaSkpLGVbaXJdPXgodC5zdWJzdHIoaSwyKSksZVtycl09eCh0LnN1YnN0cihyKSl9KTt2YXIgeHIsX3I9L1thcF1cLj9tP1wuPy9pLGtyPXEoIkhvdXJzIiwhMCksU3I9e2NhbGVuZGFyOl9pLGxvbmdEYXRlRm9ybWF0OmtpLGludmFsaWREYXRlOlNpLG9yZGluYWw6VGksb3JkaW5hbFBhcnNlOkNpLHJlbGF0aXZlVGltZTpEaSxtb250aHM6dXIsbW9udGhzU2hvcnQ6Y3Isd2Vlazpwcix3ZWVrZGF5czptcix3ZWVrZGF5c01pbjp5cix3ZWVrZGF5c1Nob3J0OmdyLG1lcmlkaWVtUGFyc2U6X3J9LFRyPXt9LENyPS9eXHMqKCg/OlsrLV1cZHs2fXxcZHs0fSktKD86XGRcZC1cZFxkfFdcZFxkLVxkfFdcZFxkfFxkXGRcZHxcZFxkKSkoPzooVHwgKShcZFxkKD86OlxkXGQoPzo6XGRcZCg/OlsuLF1cZCspPyk/KT8pKFtcK1wtXVxkXGQoPzo6P1xkXGQpP3xccypaKT8pPy8sRHI9L15ccyooKD86WystXVxkezZ9fFxkezR9KSg/OlxkXGRcZFxkfFdcZFxkXGR8V1xkXGR8XGRcZFxkfFxkXGQpKSg/OihUfCApKFxkXGQoPzpcZFxkKD86XGRcZCg/OlsuLF1cZCspPyk/KT8pKFtcK1wtXVxkXGQoPzo6P1xkXGQpP3xccypaKT8pPy8sTXI9L1p8WystXVxkXGQoPzo6P1xkXGQpPy8sTnI9W1siWVlZWVlZLU1NLUREIiwvWystXVxkezZ9LVxkXGQtXGRcZC9dLFsiWVlZWS1NTS1ERCIsL1xkezR9LVxkXGQtXGRcZC9dLFsiR0dHRy1bV11XVy1FIiwvXGR7NH0tV1xkXGQtXGQvXSxbIkdHR0ctW1ddV1ciLC9cZHs0fS1XXGRcZC8sITFdLFsiWVlZWS1EREQiLC9cZHs0fS1cZHszfS9dLFsiWVlZWS1NTSIsL1xkezR9LVxkXGQvLCExXSxbIllZWVlZWU1NREQiLC9bKy1dXGR7MTB9L10sWyJZWVlZTU1ERCIsL1xkezh9L10sWyJHR0dHW1ddV1dFIiwvXGR7NH1XXGR7M30vXSxbIkdHR0dbV11XVyIsL1xkezR9V1xkezJ9LywhMV0sWyJZWVlZREREIiwvXGR7N30vXV0sanI9W1siSEg6bW06c3MuU1NTUyIsL1xkXGQ6XGRcZDpcZFxkXC5cZCsvXSxbIkhIOm1tOnNzLFNTU1MiLC9cZFxkOlxkXGQ6XGRcZCxcZCsvXSxbIkhIOm1tOnNzIiwvXGRcZDpcZFxkOlxkXGQvXSxbIkhIOm1tIiwvXGRcZDpcZFxkL10sWyJISG1tc3MuU1NTUyIsL1xkXGRcZFxkXGRcZFwuXGQrL10sWyJISG1tc3MsU1NTUyIsL1xkXGRcZFxkXGRcZCxcZCsvXSxbIkhIbW1zcyIsL1xkXGRcZFxkXGRcZC9dLFsiSEhtbSIsL1xkXGRcZFxkL10sWyJISCIsL1xkXGQvXV0sRXI9L15cLz9EYXRlXCgoXC0/XGQrKS9pO24uY3JlYXRlRnJvbUlucHV0RmFsbGJhY2s9UygidmFsdWUgcHJvdmlkZWQgaXMgbm90IGluIGEgcmVjb2duaXplZCBJU08gZm9ybWF0LiBtb21lbnQgY29uc3RydWN0aW9uIGZhbGxzIGJhY2sgdG8ganMgRGF0ZSgpLCB3aGljaCBpcyBub3QgcmVsaWFibGUgYWNyb3NzIGFsbCBicm93c2VycyBhbmQgdmVyc2lvbnMuIE5vbiBJU08gZGF0ZSBmb3JtYXRzIGFyZSBkaXNjb3VyYWdlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIGFuIHVwY29taW5nIG1ham9yIHJlbGVhc2UuIFBsZWFzZSByZWZlciB0byBodHRwOi8vbW9tZW50anMuY29tL2d1aWRlcy8jL3dhcm5pbmdzL2pzLWRhdGUvIGZvciBtb3JlIGluZm8uIixmdW5jdGlvbih0KXt0Ll9kPW5ldyBEYXRlKHQuX2krKHQuX3VzZVVUQz8iIFVUQyI6IiIpKX0pLG4uSVNPXzg2MDE9ZnVuY3Rpb24oKXt9O3ZhciBPcj1TKCJtb21lbnQoKS5taW4gaXMgZGVwcmVjYXRlZCwgdXNlIG1vbWVudC5tYXggaW5zdGVhZC4gaHR0cDovL21vbWVudGpzLmNvbS9ndWlkZXMvIy93YXJuaW5ncy9taW4tbWF4LyIsZnVuY3Rpb24oKXt2YXIgdD13ZS5hcHBseShudWxsLGFyZ3VtZW50cyk7cmV0dXJuIHRoaXMuaXNWYWxpZCgpJiZ0LmlzVmFsaWQoKT90PHRoaXM/dGhpczp0Om0oKX0pLEFyPVMoIm1vbWVudCgpLm1heCBpcyBkZXByZWNhdGVkLCB1c2UgbW9tZW50Lm1pbiBpbnN0ZWFkLiBodHRwOi8vbW9tZW50anMuY29tL2d1aWRlcy8jL3dhcm5pbmdzL21pbi1tYXgvIixmdW5jdGlvbigpe3ZhciB0PXdlLmFwcGx5KG51bGwsYXJndW1lbnRzKTtyZXR1cm4gdGhpcy5pc1ZhbGlkKCkmJnQuaXNWYWxpZCgpP3Q+dGhpcz90aGlzOnQ6bSgpfSksUHI9ZnVuY3Rpb24oKXtyZXR1cm4gRGF0ZS5ub3c/RGF0ZS5ub3coKTorbmV3IERhdGV9O0NlKCJaIiwiOiIpLENlKCJaWiIsIiIpLEooIloiLFZpKSxKKCJaWiIsVmkpLG50KFsiWiIsIlpaIl0sZnVuY3Rpb24odCxlLG4pe24uX3VzZVVUQz0hMCxuLl90em09RGUoVmksdCl9KTt2YXIgTHI9LyhbXCtcLV18XGRcZCkvZ2k7bi51cGRhdGVPZmZzZXQ9ZnVuY3Rpb24oKXt9O3ZhciBZcj0vXihcLSk/KD86KFxkKilbLiBdKT8oXGQrKVw6KFxkKykoPzpcOihcZCspKFwuXGQqKT8pPyQvLEZyPS9eKC0pP1AoPzooLT9bMC05LC5dKilZKT8oPzooLT9bMC05LC5dKilNKT8oPzooLT9bMC05LC5dKilXKT8oPzooLT9bMC05LC5dKilEKT8oPzpUKD86KC0/WzAtOSwuXSopSCk/KD86KC0/WzAtOSwuXSopTSk/KD86KC0/WzAtOSwuXSopUyk/KT8kLztxZS5mbj1rZS5wcm90b3R5cGU7dmFyIFJyPXplKDEsImFkZCIpLEhyPXplKC0xLCJzdWJ0cmFjdCIpO24uZGVmYXVsdEZvcm1hdD0iWVlZWS1NTS1ERFRISDptbTpzc1oiLG4uZGVmYXVsdEZvcm1hdFV0Yz0iWVlZWS1NTS1ERFRISDptbTpzc1taXSI7dmFyIFdyPVMoIm1vbWVudCgpLmxhbmcoKSBpcyBkZXByZWNhdGVkLiBJbnN0ZWFkLCB1c2UgbW9tZW50KCkubG9jYWxlRGF0YSgpIHRvIGdldCB0aGUgbGFuZ3VhZ2UgY29uZmlndXJhdGlvbi4gVXNlIG1vbWVudCgpLmxvY2FsZSgpIHRvIGNoYW5nZSBsYW5ndWFnZXMuIixmdW5jdGlvbih0KXtyZXR1cm4gdm9pZCAwPT09dD90aGlzLmxvY2FsZURhdGEoKTp0aGlzLmxvY2FsZSh0KX0pO0coMCxbImdnIiwyXSwwLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMud2Vla1llYXIoKSUxMDB9KSxHKDAsWyJHRyIsMl0sMCxmdW5jdGlvbigpe3JldHVybiB0aGlzLmlzb1dlZWtZZWFyKCklMTAwfSksQ24oImdnZ2ciLCJ3ZWVrWWVhciIpLENuKCJnZ2dnZyIsIndlZWtZZWFyIiksQ24oIkdHR0ciLCJpc29XZWVrWWVhciIpLENuKCJHR0dHRyIsImlzb1dlZWtZZWFyIiksWSgid2Vla1llYXIiLCJnZyIpLFkoImlzb1dlZWtZZWFyIiwiR0ciKSxIKCJ3ZWVrWWVhciIsMSksSCgiaXNvV2Vla1llYXIiLDEpLEooIkciLCRpKSxKKCJnIiwkaSksSigiR0ciLEhpLExpKSxKKCJnZyIsSGksTGkpLEooIkdHR0ciLEJpLEZpKSxKKCJnZ2dnIixCaSxGaSksSigiR0dHR0ciLFVpLFJpKSxKKCJnZ2dnZyIsVWksUmkpLGl0KFsiZ2dnZyIsImdnZ2dnIiwiR0dHRyIsIkdHR0dHIl0sZnVuY3Rpb24odCxlLG4saSl7ZVtpLnN1YnN0cigwLDIpXT14KHQpfSksaXQoWyJnZyIsIkdHIl0sZnVuY3Rpb24odCxlLGkscil7ZVtyXT1uLnBhcnNlVHdvRGlnaXRZZWFyKHQpfSksRygiUSIsMCwiUW8iLCJxdWFydGVyIiksWSgicXVhcnRlciIsIlEiKSxIKCJxdWFydGVyIiw3KSxKKCJRIixQaSksbnQoIlEiLGZ1bmN0aW9uKHQsZSl7ZVt0cl09MyooeCh0KS0xKX0pLEcoIkQiLFsiREQiLDJdLCJEbyIsImRhdGUiKSxZKCJkYXRlIiwiRCIpLEgoImRhdGUiLDkpLEooIkQiLEhpKSxKKCJERCIsSGksTGkpLEooIkRvIixmdW5jdGlvbih0LGUpe3JldHVybiB0P2UuX29yZGluYWxQYXJzZTplLl9vcmRpbmFsUGFyc2VMZW5pZW50fSksbnQoWyJEIiwiREQiXSxlciksbnQoIkRvIixmdW5jdGlvbih0LGUpe2VbZXJdPXgodC5tYXRjaChIaSlbMF0sMTApfSk7dmFyIHFyPXEoIkRhdGUiLCEwKTtHKCJEREQiLFsiRERERCIsM10sIkRERG8iLCJkYXlPZlllYXIiKSxZKCJkYXlPZlllYXIiLCJEREQiKSxIKCJkYXlPZlllYXIiLDQpLEooIkRERCIsSWkpLEooIkREREQiLFlpKSxudChbIkRERCIsIkREREQiXSxmdW5jdGlvbih0LGUsbil7bi5fZGF5T2ZZZWFyPXgodCl9KSxHKCJtIixbIm1tIiwyXSwwLCJtaW51dGUiKSxZKCJtaW51dGUiLCJtIiksSCgibWludXRlIiwxNCksSigibSIsSGkpLEooIm1tIixIaSxMaSksbnQoWyJtIiwibW0iXSxpcik7dmFyIElyPXEoIk1pbnV0ZXMiLCExKTtHKCJzIixbInNzIiwyXSwwLCJzZWNvbmQiKSxZKCJzZWNvbmQiLCJzIiksSCgic2Vjb25kIiwxNSksSigicyIsSGkpLEooInNzIixIaSxMaSksbnQoWyJzIiwic3MiXSxycik7dmFyIEJyPXEoIlNlY29uZHMiLCExKTtHKCJTIiwwLDAsZnVuY3Rpb24oKXtyZXR1cm5+fih0aGlzLm1pbGxpc2Vjb25kKCkvMTAwKX0pLEcoMCxbIlNTIiwyXSwwLGZ1bmN0aW9uKCl7cmV0dXJufn4odGhpcy5taWxsaXNlY29uZCgpLzEwKX0pLEcoMCxbIlNTUyIsM10sMCwibWlsbGlzZWNvbmQiKSxHKDAsWyJTU1NTIiw0XSwwLGZ1bmN0aW9uKCl7cmV0dXJuIDEwKnRoaXMubWlsbGlzZWNvbmQoKX0pLEcoMCxbIlNTU1NTIiw1XSwwLGZ1bmN0aW9uKCl7cmV0dXJuIDEwMCp0aGlzLm1pbGxpc2Vjb25kKCl9KSxHKDAsWyJTU1NTU1MiLDZdLDAsZnVuY3Rpb24oKXtyZXR1cm4gMWUzKnRoaXMubWlsbGlzZWNvbmQoKX0pLEcoMCxbIlNTU1NTU1MiLDddLDAsZnVuY3Rpb24oKXtyZXR1cm4gMWU0KnRoaXMubWlsbGlzZWNvbmQoKX0pLEcoMCxbIlNTU1NTU1NTIiw4XSwwLGZ1bmN0aW9uKCl7cmV0dXJuIDFlNSp0aGlzLm1pbGxpc2Vjb25kKCl9KSxHKDAsWyJTU1NTU1NTU1MiLDldLDAsZnVuY3Rpb24oKXtyZXR1cm4gMWU2KnRoaXMubWlsbGlzZWNvbmQoKX0pLFkoIm1pbGxpc2Vjb25kIiwibXMiKSxIKCJtaWxsaXNlY29uZCIsMTYpLEooIlMiLElpLFBpKSxKKCJTUyIsSWksTGkpLEooIlNTUyIsSWksWWkpO3ZhciBVcjtmb3IoVXI9IlNTU1MiO1VyLmxlbmd0aDw9OTtVcis9IlMiKUooVXIsemkpO2ZvcihVcj0iUyI7VXIubGVuZ3RoPD05O1VyKz0iUyIpbnQoVXIsTG4pO3ZhciB6cj1xKCJNaWxsaXNlY29uZHMiLCExKTtHKCJ6IiwwLDAsInpvbmVBYmJyIiksRygienoiLDAsMCwiem9uZU5hbWUiKTt2YXIgJHI9di5wcm90b3R5cGU7JHIuYWRkPVJyLCRyLmNhbGVuZGFyPVZlLCRyLmNsb25lPVhlLCRyLmRpZmY9bm4sJHIuZW5kT2Y9bW4sJHIuZm9ybWF0PWFuLCRyLmZyb209bG4sJHIuZnJvbU5vdz11biwkci50bz1jbiwkci50b05vdz1obiwkci5nZXQ9VSwkci5pbnZhbGlkQXQ9U24sJHIuaXNBZnRlcj1RZSwkci5pc0JlZm9yZT1aZSwkci5pc0JldHdlZW49SmUsJHIuaXNTYW1lPUtlLCRyLmlzU2FtZU9yQWZ0ZXI9dG4sJHIuaXNTYW1lT3JCZWZvcmU9ZW4sJHIuaXNWYWxpZD1fbiwkci5sYW5nPVdyLCRyLmxvY2FsZT1kbiwkci5sb2NhbGVEYXRhPWZuLCRyLm1heD1Bciwkci5taW49T3IsJHIucGFyc2luZ0ZsYWdzPWtuLCRyLnNldD16LCRyLnN0YXJ0T2Y9cG4sJHIuc3VidHJhY3Q9SHIsJHIudG9BcnJheT13biwkci50b09iamVjdD1ibiwkci50b0RhdGU9dm4sJHIudG9JU09TdHJpbmc9c24sJHIudG9KU09OPXhuLCRyLnRvU3RyaW5nPW9uLCRyLnVuaXg9eW4sJHIudmFsdWVPZj1nbiwkci5jcmVhdGlvbkRhdGE9VG4sJHIueWVhcj1mciwkci5pc0xlYXBZZWFyPXZ0LCRyLndlZWtZZWFyPURuLCRyLmlzb1dlZWtZZWFyPU1uLCRyLnF1YXJ0ZXI9JHIucXVhcnRlcnM9QW4sJHIubW9udGg9aHQsJHIuZGF5c0luTW9udGg9ZHQsJHIud2Vlaz0kci53ZWVrcz1NdCwkci5pc29XZWVrPSRyLmlzb1dlZWtzPU50LCRyLndlZWtzSW5ZZWFyPWpuLCRyLmlzb1dlZWtzSW5ZZWFyPU5uLCRyLmRhdGU9cXIsJHIuZGF5PSRyLmRheXM9RnQsJHIud2Vla2RheT1SdCwkci5pc29XZWVrZGF5PUh0LCRyLmRheU9mWWVhcj1Qbiwkci5ob3VyPSRyLmhvdXJzPWtyLCRyLm1pbnV0ZT0kci5taW51dGVzPUlyLCRyLnNlY29uZD0kci5zZWNvbmRzPUJyLCRyLm1pbGxpc2Vjb25kPSRyLm1pbGxpc2Vjb25kcz16ciwkci51dGNPZmZzZXQ9amUsJHIudXRjPU9lLCRyLmxvY2FsPUFlLCRyLnBhcnNlWm9uZT1QZSwkci5oYXNBbGlnbmVkSG91ck9mZnNldD1MZSwkci5pc0RTVD1ZZSwkci5pc0xvY2FsPVJlLCRyLmlzVXRjT2Zmc2V0PUhlLCRyLmlzVXRjPVdlLCRyLmlzVVRDPVdlLCRyLnpvbmVBYmJyPVluLCRyLnpvbmVOYW1lPUZuLCRyLmRhdGVzPVMoImRhdGVzIGFjY2Vzc29yIGlzIGRlcHJlY2F0ZWQuIFVzZSBkYXRlIGluc3RlYWQuIixxciksJHIubW9udGhzPVMoIm1vbnRocyBhY2Nlc3NvciBpcyBkZXByZWNhdGVkLiBVc2UgbW9udGggaW5zdGVhZCIsaHQpLCRyLnllYXJzPVMoInllYXJzIGFjY2Vzc29yIGlzIGRlcHJlY2F0ZWQuIFVzZSB5ZWFyIGluc3RlYWQiLGZyKSwkci56b25lPVMoIm1vbWVudCgpLnpvbmUgaXMgZGVwcmVjYXRlZCwgdXNlIG1vbWVudCgpLnV0Y09mZnNldCBpbnN0ZWFkLiBodHRwOi8vbW9tZW50anMuY29tL2d1aWRlcy8jL3dhcm5pbmdzL3pvbmUvIixFZSksJHIuaXNEU1RTaGlmdGVkPVMoImlzRFNUU2hpZnRlZCBpcyBkZXByZWNhdGVkLiBTZWUgaHR0cDovL21vbWVudGpzLmNvbS9ndWlkZXMvIy93YXJuaW5ncy9kc3Qtc2hpZnRlZC8gZm9yIG1vcmUgaW5mb3JtYXRpb24iLEZlKTt2YXIgR3I9JHIsVnI9Ti5wcm90b3R5cGU7VnIuY2FsZW5kYXI9aixWci5sb25nRGF0ZUZvcm1hdD1FLFZyLmludmFsaWREYXRlPU8sVnIub3JkaW5hbD1BLFZyLnByZXBhcnNlPVduLFZyLnBvc3Rmb3JtYXQ9V24sVnIucmVsYXRpdmVUaW1lPVAsVnIucGFzdEZ1dHVyZT1MLFZyLnNldD1ELFZyLm1vbnRocz1zdCxWci5tb250aHNTaG9ydD1hdCxWci5tb250aHNQYXJzZT11dCxWci5tb250aHNSZWdleD1wdCxWci5tb250aHNTaG9ydFJlZ2V4PWZ0LFZyLndlZWs9VHQsVnIuZmlyc3REYXlPZlllYXI9RHQsVnIuZmlyc3REYXlPZldlZWs9Q3QsVnIud2Vla2RheXM9T3QsVnIud2Vla2RheXNNaW49UHQsVnIud2Vla2RheXNTaG9ydD1BdCxWci53ZWVrZGF5c1BhcnNlPVl0LFZyLndlZWtkYXlzUmVnZXg9V3QsVnIud2Vla2RheXNTaG9ydFJlZ2V4PXF0LFZyLndlZWtkYXlzTWluUmVnZXg9SXQsVnIuaXNQTT1WdCxWci5tZXJpZGllbT1YdCxLdCgiZW4iLHtvcmRpbmFsUGFyc2U6L1xkezEsMn0odGh8c3R8bmR8cmQpLyxvcmRpbmFsOmZ1bmN0aW9uKHQpe3ZhciBlPXQlMTAsbj0xPT09eCh0JTEwMC8xMCk/InRoIjoxPT09ZT8ic3QiOjI9PT1lPyJuZCI6Mz09PWU/InJkIjoidGgiO3JldHVybiB0K259fSksbi5sYW5nPVMoIm1vbWVudC5sYW5nIGlzIGRlcHJlY2F0ZWQuIFVzZSBtb21lbnQubG9jYWxlIGluc3RlYWQuIixLdCksbi5sYW5nRGF0YT1TKCJtb21lbnQubGFuZ0RhdGEgaXMgZGVwcmVjYXRlZC4gVXNlIG1vbWVudC5sb2NhbGVEYXRhIGluc3RlYWQuIixuZSk7dmFyIFhyPU1hdGguYWJzLFFyPW9pKCJtcyIpLFpyPW9pKCJzIiksSnI9b2koIm0iKSxLcj1vaSgiaCIpLHRvPW9pKCJkIiksZW89b2koInciKSxubz1vaSgiTSIpLGlvPW9pKCJ5Iikscm89YWkoIm1pbGxpc2Vjb25kcyIpLG9vPWFpKCJzZWNvbmRzIiksc289YWkoIm1pbnV0ZXMiKSxhbz1haSgiaG91cnMiKSxsbz1haSgiZGF5cyIpLHVvPWFpKCJtb250aHMiKSxjbz1haSgieWVhcnMiKSxobz1NYXRoLnJvdW5kLGZvPXtzOjQ1LG06NDUsaDoyMixkOjI2LE06MTF9LHBvPU1hdGguYWJzLG1vPWtlLnByb3RvdHlwZTttby5hYnM9WG4sbW8uYWRkPVpuLG1vLnN1YnRyYWN0PUpuLG1vLmFzPWlpLG1vLmFzTWlsbGlzZWNvbmRzPVFyLG1vLmFzU2Vjb25kcz1acixtby5hc01pbnV0ZXM9SnIsbW8uYXNIb3Vycz1Lcixtby5hc0RheXM9dG8sbW8uYXNXZWVrcz1lbyxtby5hc01vbnRocz1ubyxtby5hc1llYXJzPWlvLG1vLnZhbHVlT2Y9cmksbW8uX2J1YmJsZT10aSxtby5nZXQ9c2ksbW8ubWlsbGlzZWNvbmRzPXJvLG1vLnNlY29uZHM9b28sbW8ubWludXRlcz1zbyxtby5ob3Vycz1hbyxtby5kYXlzPWxvLG1vLndlZWtzPWxpLG1vLm1vbnRocz11byxtby55ZWFycz1jbyxtby5odW1hbml6ZT1maSxtby50b0lTT1N0cmluZz1waSxtby50b1N0cmluZz1waSxtby50b0pTT049cGksbW8ubG9jYWxlPWRuLG1vLmxvY2FsZURhdGE9Zm4sbW8udG9Jc29TdHJpbmc9UygidG9Jc29TdHJpbmcoKSBpcyBkZXByZWNhdGVkLiBQbGVhc2UgdXNlIHRvSVNPU3RyaW5nKCkgaW5zdGVhZCAobm90aWNlIHRoZSBjYXBpdGFscykiLHBpKSxtby5sYW5nPVdyLEcoIlgiLDAsMCwidW5peCIpLEcoIngiLDAsMCwidmFsdWVPZiIpLEooIngiLCRpKSxKKCJYIixYaSksbnQoIlgiLGZ1bmN0aW9uKHQsZSxuKXtuLl9kPW5ldyBEYXRlKDFlMypwYXJzZUZsb2F0KHQsMTApKX0pLG50KCJ4IixmdW5jdGlvbih0LGUsbil7bi5fZD1uZXcgRGF0ZSh4KHQpKX0pLG4udmVyc2lvbj0iMi4xNS4yIixpKHdlKSxuLmZuPUdyLG4ubWluPXhlLG4ubWF4PV9lLG4ubm93PVByLG4udXRjPWgsbi51bml4PVJuLG4ubW9udGhzPVVuLG4uaXNEYXRlPWEsbi5sb2NhbGU9S3Qsbi5pbnZhbGlkPW0sbi5kdXJhdGlvbj1xZSxuLmlzTW9tZW50PXcsbi53ZWVrZGF5cz0kbixuLnBhcnNlWm9uZT1IbixuLmxvY2FsZURhdGE9bmUsbi5pc0R1cmF0aW9uPVNlLG4ubW9udGhzU2hvcnQ9em4sbi53ZWVrZGF5c01pbj1WbixuLmRlZmluZUxvY2FsZT10ZSxuLnVwZGF0ZUxvY2FsZT1lZSxuLmxvY2FsZXM9aWUsbi53ZWVrZGF5c1Nob3J0PUduLG4ubm9ybWFsaXplVW5pdHM9RixuLnJlbGF0aXZlVGltZVJvdW5kaW5nPWhpLG4ucmVsYXRpdmVUaW1lVGhyZXNob2xkPWRpLG4uY2FsZW5kYXJGb3JtYXQ9R2Usbi5wcm90b3R5cGU9R3I7dmFyIGdvPW47cmV0dXJuIGdvfSl9LHt9XSw5OltmdW5jdGlvbih0LGUsbil7KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0KXtmdW5jdGlvbiBlKGUsbixpLHIsbyxzKXtmb3IoO28+PTAmJm88cztvKz10KXt2YXIgYT1yP3Jbb106bztpPW4oaSxlW2FdLGEsZSl9cmV0dXJuIGl9cmV0dXJuIGZ1bmN0aW9uKG4saSxyLG8pe2k9eChpLG8sNCk7dmFyIHM9IU0obikmJmIua2V5cyhuKSxhPShzfHxuKS5sZW5ndGgsbD10PjA/MDphLTE7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg8MyYmKHI9bltzP3NbbF06bF0sbCs9dCksZShuLGkscixzLGwsYSl9fWZ1bmN0aW9uIGkodCl7cmV0dXJuIGZ1bmN0aW9uKGUsbixpKXtuPV8obixpKTtmb3IodmFyIHI9RChlKSxvPXQ+MD8wOnItMTtvPj0wJiZvPHI7bys9dClpZihuKGVbb10sbyxlKSlyZXR1cm4gbztyZXR1cm4tMX19ZnVuY3Rpb24gcih0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKGkscixvKXt2YXIgcz0wLGE9RChpKTtpZigibnVtYmVyIj09dHlwZW9mIG8pdD4wP3M9bz49MD9vOk1hdGgubWF4KG8rYSxzKTphPW8+PTA/TWF0aC5taW4obysxLGEpOm8rYSsxO2Vsc2UgaWYobiYmbyYmYSlyZXR1cm4gbz1uKGksciksaVtvXT09PXI/bzotMTtpZihyIT09cilyZXR1cm4gbz1lKGQuY2FsbChpLHMsYSksYi5pc05hTiksbz49MD9vK3M6LTE7Zm9yKG89dD4wP3M6YS0xO28+PTAmJm88YTtvKz10KWlmKGlbb109PT1yKXJldHVybiBvO3JldHVybi0xfX1mdW5jdGlvbiBvKHQsZSl7dmFyIG49QS5sZW5ndGgsaT10LmNvbnN0cnVjdG9yLHI9Yi5pc0Z1bmN0aW9uKGkpJiZpLnByb3RvdHlwZXx8dSxvPSJjb25zdHJ1Y3RvciI7Zm9yKGIuaGFzKHQsbykmJiFiLmNvbnRhaW5zKGUsbykmJmUucHVzaChvKTtuLS07KW89QVtuXSwKbyBpbiB0JiZ0W29dIT09cltvXSYmIWIuY29udGFpbnMoZSxvKSYmZS5wdXNoKG8pfXZhciBzPXRoaXMsYT1zLl8sbD1BcnJheS5wcm90b3R5cGUsdT1PYmplY3QucHJvdG90eXBlLGM9RnVuY3Rpb24ucHJvdG90eXBlLGg9bC5wdXNoLGQ9bC5zbGljZSxmPXUudG9TdHJpbmcscD11Lmhhc093blByb3BlcnR5LG09QXJyYXkuaXNBcnJheSxnPU9iamVjdC5rZXlzLHk9Yy5iaW5kLHY9T2JqZWN0LmNyZWF0ZSx3PWZ1bmN0aW9uKCl7fSxiPWZ1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2YgYj90OnRoaXMgaW5zdGFuY2VvZiBiP3ZvaWQodGhpcy5fd3JhcHBlZD10KTpuZXcgYih0KX07InVuZGVmaW5lZCIhPXR5cGVvZiBuPygidW5kZWZpbmVkIiE9dHlwZW9mIGUmJmUuZXhwb3J0cyYmKG49ZS5leHBvcnRzPWIpLG4uXz1iKTpzLl89YixiLlZFUlNJT049IjEuOC4zIjt2YXIgeD1mdW5jdGlvbih0LGUsbil7aWYodm9pZCAwPT09ZSlyZXR1cm4gdDtzd2l0Y2gobnVsbD09bj8zOm4pe2Nhc2UgMTpyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIHQuY2FsbChlLG4pfTtjYXNlIDI6cmV0dXJuIGZ1bmN0aW9uKG4saSl7cmV0dXJuIHQuY2FsbChlLG4saSl9O2Nhc2UgMzpyZXR1cm4gZnVuY3Rpb24obixpLHIpe3JldHVybiB0LmNhbGwoZSxuLGkscil9O2Nhc2UgNDpyZXR1cm4gZnVuY3Rpb24obixpLHIsbyl7cmV0dXJuIHQuY2FsbChlLG4saSxyLG8pfX1yZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseShlLGFyZ3VtZW50cyl9fSxfPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gbnVsbD09dD9iLmlkZW50aXR5OmIuaXNGdW5jdGlvbih0KT94KHQsZSxuKTpiLmlzT2JqZWN0KHQpP2IubWF0Y2hlcih0KTpiLnByb3BlcnR5KHQpfTtiLml0ZXJhdGVlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIF8odCxlLDEvMCl9O3ZhciBrPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKG4pe3ZhciBpPWFyZ3VtZW50cy5sZW5ndGg7aWYoaTwyfHxudWxsPT1uKXJldHVybiBuO2Zvcih2YXIgcj0xO3I8aTtyKyspZm9yKHZhciBvPWFyZ3VtZW50c1tyXSxzPXQobyksYT1zLmxlbmd0aCxsPTA7bDxhO2wrKyl7dmFyIHU9c1tsXTtlJiZ2b2lkIDAhPT1uW3VdfHwoblt1XT1vW3VdKX1yZXR1cm4gbn19LFM9ZnVuY3Rpb24odCl7aWYoIWIuaXNPYmplY3QodCkpcmV0dXJue307aWYodilyZXR1cm4gdih0KTt3LnByb3RvdHlwZT10O3ZhciBlPW5ldyB3O3JldHVybiB3LnByb3RvdHlwZT1udWxsLGV9LFQ9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lP3ZvaWQgMDplW3RdfX0sQz1NYXRoLnBvdygyLDUzKS0xLEQ9VCgibGVuZ3RoIiksTT1mdW5jdGlvbih0KXt2YXIgZT1EKHQpO3JldHVybiJudW1iZXIiPT10eXBlb2YgZSYmZT49MCYmZTw9Q307Yi5lYWNoPWIuZm9yRWFjaD1mdW5jdGlvbih0LGUsbil7ZT14KGUsbik7dmFyIGkscjtpZihNKHQpKWZvcihpPTAscj10Lmxlbmd0aDtpPHI7aSsrKWUodFtpXSxpLHQpO2Vsc2V7dmFyIG89Yi5rZXlzKHQpO2ZvcihpPTAscj1vLmxlbmd0aDtpPHI7aSsrKWUodFtvW2ldXSxvW2ldLHQpfXJldHVybiB0fSxiLm1hcD1iLmNvbGxlY3Q9ZnVuY3Rpb24odCxlLG4pe2U9XyhlLG4pO2Zvcih2YXIgaT0hTSh0KSYmYi5rZXlzKHQpLHI9KGl8fHQpLmxlbmd0aCxvPUFycmF5KHIpLHM9MDtzPHI7cysrKXt2YXIgYT1pP2lbc106cztvW3NdPWUodFthXSxhLHQpfXJldHVybiBvfSxiLnJlZHVjZT1iLmZvbGRsPWIuaW5qZWN0PXQoMSksYi5yZWR1Y2VSaWdodD1iLmZvbGRyPXQoLTEpLGIuZmluZD1iLmRldGVjdD1mdW5jdGlvbih0LGUsbil7dmFyIGk7aWYoaT1NKHQpP2IuZmluZEluZGV4KHQsZSxuKTpiLmZpbmRLZXkodCxlLG4pLHZvaWQgMCE9PWkmJmkhPT0tMSlyZXR1cm4gdFtpXX0sYi5maWx0ZXI9Yi5zZWxlY3Q9ZnVuY3Rpb24odCxlLG4pe3ZhciBpPVtdO3JldHVybiBlPV8oZSxuKSxiLmVhY2godCxmdW5jdGlvbih0LG4scil7ZSh0LG4scikmJmkucHVzaCh0KX0pLGl9LGIucmVqZWN0PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gYi5maWx0ZXIodCxiLm5lZ2F0ZShfKGUpKSxuKX0sYi5ldmVyeT1iLmFsbD1mdW5jdGlvbih0LGUsbil7ZT1fKGUsbik7Zm9yKHZhciBpPSFNKHQpJiZiLmtleXModCkscj0oaXx8dCkubGVuZ3RoLG89MDtvPHI7bysrKXt2YXIgcz1pP2lbb106bztpZighZSh0W3NdLHMsdCkpcmV0dXJuITF9cmV0dXJuITB9LGIuc29tZT1iLmFueT1mdW5jdGlvbih0LGUsbil7ZT1fKGUsbik7Zm9yKHZhciBpPSFNKHQpJiZiLmtleXModCkscj0oaXx8dCkubGVuZ3RoLG89MDtvPHI7bysrKXt2YXIgcz1pP2lbb106bztpZihlKHRbc10scyx0KSlyZXR1cm4hMH1yZXR1cm4hMX0sYi5jb250YWlucz1iLmluY2x1ZGVzPWIuaW5jbHVkZT1mdW5jdGlvbih0LGUsbixpKXtyZXR1cm4gTSh0KXx8KHQ9Yi52YWx1ZXModCkpLCgibnVtYmVyIiE9dHlwZW9mIG58fGkpJiYobj0wKSxiLmluZGV4T2YodCxlLG4pPj0wfSxiLmludm9rZT1mdW5jdGlvbih0LGUpe3ZhciBuPWQuY2FsbChhcmd1bWVudHMsMiksaT1iLmlzRnVuY3Rpb24oZSk7cmV0dXJuIGIubWFwKHQsZnVuY3Rpb24odCl7dmFyIHI9aT9lOnRbZV07cmV0dXJuIG51bGw9PXI/cjpyLmFwcGx5KHQsbil9KX0sYi5wbHVjaz1mdW5jdGlvbih0LGUpe3JldHVybiBiLm1hcCh0LGIucHJvcGVydHkoZSkpfSxiLndoZXJlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGIuZmlsdGVyKHQsYi5tYXRjaGVyKGUpKX0sYi5maW5kV2hlcmU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gYi5maW5kKHQsYi5tYXRjaGVyKGUpKX0sYi5tYXg9ZnVuY3Rpb24odCxlLG4pe3ZhciBpLHIsbz0tKDEvMCkscz0tKDEvMCk7aWYobnVsbD09ZSYmbnVsbCE9dCl7dD1NKHQpP3Q6Yi52YWx1ZXModCk7Zm9yKHZhciBhPTAsbD10Lmxlbmd0aDthPGw7YSsrKWk9dFthXSxpPm8mJihvPWkpfWVsc2UgZT1fKGUsbiksYi5lYWNoKHQsZnVuY3Rpb24odCxuLGkpe3I9ZSh0LG4saSksKHI+c3x8cj09PS0oMS8wKSYmbz09PS0oMS8wKSkmJihvPXQscz1yKX0pO3JldHVybiBvfSxiLm1pbj1mdW5jdGlvbih0LGUsbil7dmFyIGkscixvPTEvMCxzPTEvMDtpZihudWxsPT1lJiZudWxsIT10KXt0PU0odCk/dDpiLnZhbHVlcyh0KTtmb3IodmFyIGE9MCxsPXQubGVuZ3RoO2E8bDthKyspaT10W2FdLGk8byYmKG89aSl9ZWxzZSBlPV8oZSxuKSxiLmVhY2godCxmdW5jdGlvbih0LG4saSl7cj1lKHQsbixpKSwocjxzfHxyPT09MS8wJiZvPT09MS8wKSYmKG89dCxzPXIpfSk7cmV0dXJuIG99LGIuc2h1ZmZsZT1mdW5jdGlvbih0KXtmb3IodmFyIGUsbj1NKHQpP3Q6Yi52YWx1ZXModCksaT1uLmxlbmd0aCxyPUFycmF5KGkpLG89MDtvPGk7bysrKWU9Yi5yYW5kb20oMCxvKSxlIT09byYmKHJbb109cltlXSkscltlXT1uW29dO3JldHVybiByfSxiLnNhbXBsZT1mdW5jdGlvbih0LGUsbil7cmV0dXJuIG51bGw9PWV8fG4/KE0odCl8fCh0PWIudmFsdWVzKHQpKSx0W2IucmFuZG9tKHQubGVuZ3RoLTEpXSk6Yi5zaHVmZmxlKHQpLnNsaWNlKDAsTWF0aC5tYXgoMCxlKSl9LGIuc29ydEJ5PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gZT1fKGUsbiksYi5wbHVjayhiLm1hcCh0LGZ1bmN0aW9uKHQsbixpKXtyZXR1cm57dmFsdWU6dCxpbmRleDpuLGNyaXRlcmlhOmUodCxuLGkpfX0pLnNvcnQoZnVuY3Rpb24odCxlKXt2YXIgbj10LmNyaXRlcmlhLGk9ZS5jcml0ZXJpYTtpZihuIT09aSl7aWYobj5pfHx2b2lkIDA9PT1uKXJldHVybiAxO2lmKG48aXx8dm9pZCAwPT09aSlyZXR1cm4tMX1yZXR1cm4gdC5pbmRleC1lLmluZGV4fSksInZhbHVlIil9O3ZhciBOPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlLG4saSl7dmFyIHI9e307cmV0dXJuIG49XyhuLGkpLGIuZWFjaChlLGZ1bmN0aW9uKGksbyl7dmFyIHM9bihpLG8sZSk7dChyLGkscyl9KSxyfX07Yi5ncm91cEJ5PU4oZnVuY3Rpb24odCxlLG4pe2IuaGFzKHQsbik/dFtuXS5wdXNoKGUpOnRbbl09W2VdfSksYi5pbmRleEJ5PU4oZnVuY3Rpb24odCxlLG4pe3Rbbl09ZX0pLGIuY291bnRCeT1OKGZ1bmN0aW9uKHQsZSxuKXtiLmhhcyh0LG4pP3Rbbl0rKzp0W25dPTF9KSxiLnRvQXJyYXk9ZnVuY3Rpb24odCl7cmV0dXJuIHQ/Yi5pc0FycmF5KHQpP2QuY2FsbCh0KTpNKHQpP2IubWFwKHQsYi5pZGVudGl0eSk6Yi52YWx1ZXModCk6W119LGIuc2l6ZT1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD8wOk0odCk/dC5sZW5ndGg6Yi5rZXlzKHQpLmxlbmd0aH0sYi5wYXJ0aXRpb249ZnVuY3Rpb24odCxlLG4pe2U9XyhlLG4pO3ZhciBpPVtdLHI9W107cmV0dXJuIGIuZWFjaCh0LGZ1bmN0aW9uKHQsbixvKXsoZSh0LG4sbyk/aTpyKS5wdXNoKHQpfSksW2kscl19LGIuZmlyc3Q9Yi5oZWFkPWIudGFrZT1mdW5jdGlvbih0LGUsbil7aWYobnVsbCE9dClyZXR1cm4gbnVsbD09ZXx8bj90WzBdOmIuaW5pdGlhbCh0LHQubGVuZ3RoLWUpfSxiLmluaXRpYWw9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBkLmNhbGwodCwwLE1hdGgubWF4KDAsdC5sZW5ndGgtKG51bGw9PWV8fG4/MTplKSkpfSxiLmxhc3Q9ZnVuY3Rpb24odCxlLG4pe2lmKG51bGwhPXQpcmV0dXJuIG51bGw9PWV8fG4/dFt0Lmxlbmd0aC0xXTpiLnJlc3QodCxNYXRoLm1heCgwLHQubGVuZ3RoLWUpKX0sYi5yZXN0PWIudGFpbD1iLmRyb3A9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBkLmNhbGwodCxudWxsPT1lfHxuPzE6ZSl9LGIuY29tcGFjdD1mdW5jdGlvbih0KXtyZXR1cm4gYi5maWx0ZXIodCxiLmlkZW50aXR5KX07dmFyIGo9ZnVuY3Rpb24odCxlLG4saSl7Zm9yKHZhciByPVtdLG89MCxzPWl8fDAsYT1EKHQpO3M8YTtzKyspe3ZhciBsPXRbc107aWYoTShsKSYmKGIuaXNBcnJheShsKXx8Yi5pc0FyZ3VtZW50cyhsKSkpe2V8fChsPWoobCxlLG4pKTt2YXIgdT0wLGM9bC5sZW5ndGg7Zm9yKHIubGVuZ3RoKz1jO3U8YzspcltvKytdPWxbdSsrXX1lbHNlIG58fChyW28rK109bCl9cmV0dXJuIHJ9O2IuZmxhdHRlbj1mdW5jdGlvbih0LGUpe3JldHVybiBqKHQsZSwhMSl9LGIud2l0aG91dD1mdW5jdGlvbih0KXtyZXR1cm4gYi5kaWZmZXJlbmNlKHQsZC5jYWxsKGFyZ3VtZW50cywxKSl9LGIudW5pcT1iLnVuaXF1ZT1mdW5jdGlvbih0LGUsbixpKXtiLmlzQm9vbGVhbihlKXx8KGk9bixuPWUsZT0hMSksbnVsbCE9biYmKG49XyhuLGkpKTtmb3IodmFyIHI9W10sbz1bXSxzPTAsYT1EKHQpO3M8YTtzKyspe3ZhciBsPXRbc10sdT1uP24obCxzLHQpOmw7ZT8ocyYmbz09PXV8fHIucHVzaChsKSxvPXUpOm4/Yi5jb250YWlucyhvLHUpfHwoby5wdXNoKHUpLHIucHVzaChsKSk6Yi5jb250YWlucyhyLGwpfHxyLnB1c2gobCl9cmV0dXJuIHJ9LGIudW5pb249ZnVuY3Rpb24oKXtyZXR1cm4gYi51bmlxKGooYXJndW1lbnRzLCEwLCEwKSl9LGIuaW50ZXJzZWN0aW9uPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxuPWFyZ3VtZW50cy5sZW5ndGgsaT0wLHI9RCh0KTtpPHI7aSsrKXt2YXIgbz10W2ldO2lmKCFiLmNvbnRhaW5zKGUsbykpe2Zvcih2YXIgcz0xO3M8biYmYi5jb250YWlucyhhcmd1bWVudHNbc10sbyk7cysrKTtzPT09biYmZS5wdXNoKG8pfX1yZXR1cm4gZX0sYi5kaWZmZXJlbmNlPWZ1bmN0aW9uKHQpe3ZhciBlPWooYXJndW1lbnRzLCEwLCEwLDEpO3JldHVybiBiLmZpbHRlcih0LGZ1bmN0aW9uKHQpe3JldHVybiFiLmNvbnRhaW5zKGUsdCl9KX0sYi56aXA9ZnVuY3Rpb24oKXtyZXR1cm4gYi51bnppcChhcmd1bWVudHMpfSxiLnVuemlwPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10JiZiLm1heCh0LEQpLmxlbmd0aHx8MCxuPUFycmF5KGUpLGk9MDtpPGU7aSsrKW5baV09Yi5wbHVjayh0LGkpO3JldHVybiBufSxiLm9iamVjdD1mdW5jdGlvbih0LGUpe2Zvcih2YXIgbj17fSxpPTAscj1EKHQpO2k8cjtpKyspZT9uW3RbaV1dPWVbaV06blt0W2ldWzBdXT10W2ldWzFdO3JldHVybiBufSxiLmZpbmRJbmRleD1pKDEpLGIuZmluZExhc3RJbmRleD1pKC0xKSxiLnNvcnRlZEluZGV4PWZ1bmN0aW9uKHQsZSxuLGkpe249XyhuLGksMSk7Zm9yKHZhciByPW4oZSksbz0wLHM9RCh0KTtvPHM7KXt2YXIgYT1NYXRoLmZsb29yKChvK3MpLzIpO24odFthXSk8cj9vPWErMTpzPWF9cmV0dXJuIG99LGIuaW5kZXhPZj1yKDEsYi5maW5kSW5kZXgsYi5zb3J0ZWRJbmRleCksYi5sYXN0SW5kZXhPZj1yKC0xLGIuZmluZExhc3RJbmRleCksYi5yYW5nZT1mdW5jdGlvbih0LGUsbil7bnVsbD09ZSYmKGU9dHx8MCx0PTApLG49bnx8MTtmb3IodmFyIGk9TWF0aC5tYXgoTWF0aC5jZWlsKChlLXQpL24pLDApLHI9QXJyYXkoaSksbz0wO288aTtvKyssdCs9bilyW29dPXQ7cmV0dXJuIHJ9O3ZhciBFPWZ1bmN0aW9uKHQsZSxuLGkscil7aWYoIShpIGluc3RhbmNlb2YgZSkpcmV0dXJuIHQuYXBwbHkobixyKTt2YXIgbz1TKHQucHJvdG90eXBlKSxzPXQuYXBwbHkobyxyKTtyZXR1cm4gYi5pc09iamVjdChzKT9zOm99O2IuYmluZD1mdW5jdGlvbih0LGUpe2lmKHkmJnQuYmluZD09PXkpcmV0dXJuIHkuYXBwbHkodCxkLmNhbGwoYXJndW1lbnRzLDEpKTtpZighYi5pc0Z1bmN0aW9uKHQpKXRocm93IG5ldyBUeXBlRXJyb3IoIkJpbmQgbXVzdCBiZSBjYWxsZWQgb24gYSBmdW5jdGlvbiIpO3ZhciBuPWQuY2FsbChhcmd1bWVudHMsMiksaT1mdW5jdGlvbigpe3JldHVybiBFKHQsaSxlLHRoaXMsbi5jb25jYXQoZC5jYWxsKGFyZ3VtZW50cykpKX07cmV0dXJuIGl9LGIucGFydGlhbD1mdW5jdGlvbih0KXt2YXIgZT1kLmNhbGwoYXJndW1lbnRzLDEpLG49ZnVuY3Rpb24oKXtmb3IodmFyIGk9MCxyPWUubGVuZ3RoLG89QXJyYXkocikscz0wO3M8cjtzKyspb1tzXT1lW3NdPT09Yj9hcmd1bWVudHNbaSsrXTplW3NdO2Zvcig7aTxhcmd1bWVudHMubGVuZ3RoOylvLnB1c2goYXJndW1lbnRzW2krK10pO3JldHVybiBFKHQsbix0aGlzLHRoaXMsbyl9O3JldHVybiBufSxiLmJpbmRBbGw9ZnVuY3Rpb24odCl7dmFyIGUsbixpPWFyZ3VtZW50cy5sZW5ndGg7aWYoaTw9MSl0aHJvdyBuZXcgRXJyb3IoImJpbmRBbGwgbXVzdCBiZSBwYXNzZWQgZnVuY3Rpb24gbmFtZXMiKTtmb3IoZT0xO2U8aTtlKyspbj1hcmd1bWVudHNbZV0sdFtuXT1iLmJpbmQodFtuXSx0KTtyZXR1cm4gdH0sYi5tZW1vaXplPWZ1bmN0aW9uKHQsZSl7dmFyIG49ZnVuY3Rpb24oaSl7dmFyIHI9bi5jYWNoZSxvPSIiKyhlP2UuYXBwbHkodGhpcyxhcmd1bWVudHMpOmkpO3JldHVybiBiLmhhcyhyLG8pfHwocltvXT10LmFwcGx5KHRoaXMsYXJndW1lbnRzKSkscltvXX07cmV0dXJuIG4uY2FjaGU9e30sbn0sYi5kZWxheT1mdW5jdGlvbih0LGUpe3ZhciBuPWQuY2FsbChhcmd1bWVudHMsMik7cmV0dXJuIHNldFRpbWVvdXQoZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseShudWxsLG4pfSxlKX0sYi5kZWZlcj1iLnBhcnRpYWwoYi5kZWxheSxiLDEpLGIudGhyb3R0bGU9ZnVuY3Rpb24odCxlLG4pe3ZhciBpLHIsbyxzPW51bGwsYT0wO258fChuPXt9KTt2YXIgbD1mdW5jdGlvbigpe2E9bi5sZWFkaW5nPT09ITE/MDpiLm5vdygpLHM9bnVsbCxvPXQuYXBwbHkoaSxyKSxzfHwoaT1yPW51bGwpfTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgdT1iLm5vdygpO2F8fG4ubGVhZGluZyE9PSExfHwoYT11KTt2YXIgYz1lLSh1LWEpO3JldHVybiBpPXRoaXMscj1hcmd1bWVudHMsYzw9MHx8Yz5lPyhzJiYoY2xlYXJUaW1lb3V0KHMpLHM9bnVsbCksYT11LG89dC5hcHBseShpLHIpLHN8fChpPXI9bnVsbCkpOnN8fG4udHJhaWxpbmc9PT0hMXx8KHM9c2V0VGltZW91dChsLGMpKSxvfX0sYi5kZWJvdW5jZT1mdW5jdGlvbih0LGUsbil7dmFyIGkscixvLHMsYSxsPWZ1bmN0aW9uKCl7dmFyIHU9Yi5ub3coKS1zO3U8ZSYmdT49MD9pPXNldFRpbWVvdXQobCxlLXUpOihpPW51bGwsbnx8KGE9dC5hcHBseShvLHIpLGl8fChvPXI9bnVsbCkpKX07cmV0dXJuIGZ1bmN0aW9uKCl7bz10aGlzLHI9YXJndW1lbnRzLHM9Yi5ub3coKTt2YXIgdT1uJiYhaTtyZXR1cm4gaXx8KGk9c2V0VGltZW91dChsLGUpKSx1JiYoYT10LmFwcGx5KG8sciksbz1yPW51bGwpLGF9fSxiLndyYXA9ZnVuY3Rpb24odCxlKXtyZXR1cm4gYi5wYXJ0aWFsKGUsdCl9LGIubmVnYXRlPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiF0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19LGIuY29tcG9zZT1mdW5jdGlvbigpe3ZhciB0PWFyZ3VtZW50cyxlPXQubGVuZ3RoLTE7cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBuPWUsaT10W2VdLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtuLS07KWk9dFtuXS5jYWxsKHRoaXMsaSk7cmV0dXJuIGl9fSxiLmFmdGVyPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoLS10PDEpcmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0sYi5iZWZvcmU9ZnVuY3Rpb24odCxlKXt2YXIgbjtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4tLXQ+MCYmKG49ZS5hcHBseSh0aGlzLGFyZ3VtZW50cykpLHQ8PTEmJihlPW51bGwpLG59fSxiLm9uY2U9Yi5wYXJ0aWFsKGIuYmVmb3JlLDIpO3ZhciBPPSF7dG9TdHJpbmc6bnVsbH0ucHJvcGVydHlJc0VudW1lcmFibGUoInRvU3RyaW5nIiksQT1bInZhbHVlT2YiLCJpc1Byb3RvdHlwZU9mIiwidG9TdHJpbmciLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImhhc093blByb3BlcnR5IiwidG9Mb2NhbGVTdHJpbmciXTtiLmtleXM9ZnVuY3Rpb24odCl7aWYoIWIuaXNPYmplY3QodCkpcmV0dXJuW107aWYoZylyZXR1cm4gZyh0KTt2YXIgZT1bXTtmb3IodmFyIG4gaW4gdCliLmhhcyh0LG4pJiZlLnB1c2gobik7cmV0dXJuIE8mJm8odCxlKSxlfSxiLmFsbEtleXM9ZnVuY3Rpb24odCl7aWYoIWIuaXNPYmplY3QodCkpcmV0dXJuW107dmFyIGU9W107Zm9yKHZhciBuIGluIHQpZS5wdXNoKG4pO3JldHVybiBPJiZvKHQsZSksZX0sYi52YWx1ZXM9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPWIua2V5cyh0KSxuPWUubGVuZ3RoLGk9QXJyYXkobikscj0wO3I8bjtyKyspaVtyXT10W2Vbcl1dO3JldHVybiBpfSxiLm1hcE9iamVjdD1mdW5jdGlvbih0LGUsbil7ZT1fKGUsbik7Zm9yKHZhciBpLHI9Yi5rZXlzKHQpLG89ci5sZW5ndGgscz17fSxhPTA7YTxvO2ErKylpPXJbYV0sc1tpXT1lKHRbaV0saSx0KTtyZXR1cm4gc30sYi5wYWlycz1mdW5jdGlvbih0KXtmb3IodmFyIGU9Yi5rZXlzKHQpLG49ZS5sZW5ndGgsaT1BcnJheShuKSxyPTA7cjxuO3IrKylpW3JdPVtlW3JdLHRbZVtyXV1dO3JldHVybiBpfSxiLmludmVydD1mdW5jdGlvbih0KXtmb3IodmFyIGU9e30sbj1iLmtleXModCksaT0wLHI9bi5sZW5ndGg7aTxyO2krKyllW3RbbltpXV1dPW5baV07cmV0dXJuIGV9LGIuZnVuY3Rpb25zPWIubWV0aG9kcz1mdW5jdGlvbih0KXt2YXIgZT1bXTtmb3IodmFyIG4gaW4gdCliLmlzRnVuY3Rpb24odFtuXSkmJmUucHVzaChuKTtyZXR1cm4gZS5zb3J0KCl9LGIuZXh0ZW5kPWsoYi5hbGxLZXlzKSxiLmV4dGVuZE93bj1iLmFzc2lnbj1rKGIua2V5cyksYi5maW5kS2V5PWZ1bmN0aW9uKHQsZSxuKXtlPV8oZSxuKTtmb3IodmFyIGkscj1iLmtleXModCksbz0wLHM9ci5sZW5ndGg7bzxzO28rKylpZihpPXJbb10sZSh0W2ldLGksdCkpcmV0dXJuIGl9LGIucGljaz1mdW5jdGlvbih0LGUsbil7dmFyIGkscixvPXt9LHM9dDtpZihudWxsPT1zKXJldHVybiBvO2IuaXNGdW5jdGlvbihlKT8ocj1iLmFsbEtleXMocyksaT14KGUsbikpOihyPWooYXJndW1lbnRzLCExLCExLDEpLGk9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBlIGluIG59LHM9T2JqZWN0KHMpKTtmb3IodmFyIGE9MCxsPXIubGVuZ3RoO2E8bDthKyspe3ZhciB1PXJbYV0sYz1zW3VdO2koYyx1LHMpJiYob1t1XT1jKX1yZXR1cm4gb30sYi5vbWl0PWZ1bmN0aW9uKHQsZSxuKXtpZihiLmlzRnVuY3Rpb24oZSkpZT1iLm5lZ2F0ZShlKTtlbHNle3ZhciBpPWIubWFwKGooYXJndW1lbnRzLCExLCExLDEpLFN0cmluZyk7ZT1mdW5jdGlvbih0LGUpe3JldHVybiFiLmNvbnRhaW5zKGksZSl9fXJldHVybiBiLnBpY2sodCxlLG4pfSxiLmRlZmF1bHRzPWsoYi5hbGxLZXlzLCEwKSxiLmNyZWF0ZT1mdW5jdGlvbih0LGUpe3ZhciBuPVModCk7cmV0dXJuIGUmJmIuZXh0ZW5kT3duKG4sZSksbn0sYi5jbG9uZT1mdW5jdGlvbih0KXtyZXR1cm4gYi5pc09iamVjdCh0KT9iLmlzQXJyYXkodCk/dC5zbGljZSgpOmIuZXh0ZW5kKHt9LHQpOnR9LGIudGFwPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUodCksdH0sYi5pc01hdGNoPWZ1bmN0aW9uKHQsZSl7dmFyIG49Yi5rZXlzKGUpLGk9bi5sZW5ndGg7aWYobnVsbD09dClyZXR1cm4haTtmb3IodmFyIHI9T2JqZWN0KHQpLG89MDtvPGk7bysrKXt2YXIgcz1uW29dO2lmKGVbc10hPT1yW3NdfHwhKHMgaW4gcikpcmV0dXJuITF9cmV0dXJuITB9O3ZhciBQPWZ1bmN0aW9uKHQsZSxuLGkpe2lmKHQ9PT1lKXJldHVybiAwIT09dHx8MS90PT09MS9lO2lmKG51bGw9PXR8fG51bGw9PWUpcmV0dXJuIHQ9PT1lO3QgaW5zdGFuY2VvZiBiJiYodD10Ll93cmFwcGVkKSxlIGluc3RhbmNlb2YgYiYmKGU9ZS5fd3JhcHBlZCk7dmFyIHI9Zi5jYWxsKHQpO2lmKHIhPT1mLmNhbGwoZSkpcmV0dXJuITE7c3dpdGNoKHIpe2Nhc2UiW29iamVjdCBSZWdFeHBdIjpjYXNlIltvYmplY3QgU3RyaW5nXSI6cmV0dXJuIiIrdD09IiIrZTtjYXNlIltvYmplY3QgTnVtYmVyXSI6cmV0dXJuK3QhPT0rdD8rZSE9PStlOjA9PT0rdD8xLyt0PT09MS9lOit0PT09K2U7Y2FzZSJbb2JqZWN0IERhdGVdIjpjYXNlIltvYmplY3QgQm9vbGVhbl0iOnJldHVybit0PT09K2V9dmFyIG89IltvYmplY3QgQXJyYXldIj09PXI7aWYoIW8pe2lmKCJvYmplY3QiIT10eXBlb2YgdHx8Im9iamVjdCIhPXR5cGVvZiBlKXJldHVybiExO3ZhciBzPXQuY29uc3RydWN0b3IsYT1lLmNvbnN0cnVjdG9yO2lmKHMhPT1hJiYhKGIuaXNGdW5jdGlvbihzKSYmcyBpbnN0YW5jZW9mIHMmJmIuaXNGdW5jdGlvbihhKSYmYSBpbnN0YW5jZW9mIGEpJiYiY29uc3RydWN0b3IiaW4gdCYmImNvbnN0cnVjdG9yImluIGUpcmV0dXJuITF9bj1ufHxbXSxpPWl8fFtdO2Zvcih2YXIgbD1uLmxlbmd0aDtsLS07KWlmKG5bbF09PT10KXJldHVybiBpW2xdPT09ZTtpZihuLnB1c2godCksaS5wdXNoKGUpLG8pe2lmKGw9dC5sZW5ndGgsbCE9PWUubGVuZ3RoKXJldHVybiExO2Zvcig7bC0tOylpZighUCh0W2xdLGVbbF0sbixpKSlyZXR1cm4hMX1lbHNle3ZhciB1LGM9Yi5rZXlzKHQpO2lmKGw9Yy5sZW5ndGgsYi5rZXlzKGUpLmxlbmd0aCE9PWwpcmV0dXJuITE7Zm9yKDtsLS07KWlmKHU9Y1tsXSwhYi5oYXMoZSx1KXx8IVAodFt1XSxlW3VdLG4saSkpcmV0dXJuITF9cmV0dXJuIG4ucG9wKCksaS5wb3AoKSwhMH07Yi5pc0VxdWFsPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFAodCxlKX0sYi5pc0VtcHR5PWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10fHwoTSh0KSYmKGIuaXNBcnJheSh0KXx8Yi5pc1N0cmluZyh0KXx8Yi5pc0FyZ3VtZW50cyh0KSk/MD09PXQubGVuZ3RoOjA9PT1iLmtleXModCkubGVuZ3RoKX0sYi5pc0VsZW1lbnQ9ZnVuY3Rpb24odCl7cmV0dXJuISghdHx8MSE9PXQubm9kZVR5cGUpfSxiLmlzQXJyYXk9bXx8ZnVuY3Rpb24odCl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09PWYuY2FsbCh0KX0sYi5pc09iamVjdD1mdW5jdGlvbih0KXt2YXIgZT10eXBlb2YgdDtyZXR1cm4iZnVuY3Rpb24iPT09ZXx8Im9iamVjdCI9PT1lJiYhIXR9LGIuZWFjaChbIkFyZ3VtZW50cyIsIkZ1bmN0aW9uIiwiU3RyaW5nIiwiTnVtYmVyIiwiRGF0ZSIsIlJlZ0V4cCIsIkVycm9yIl0sZnVuY3Rpb24odCl7YlsiaXMiK3RdPWZ1bmN0aW9uKGUpe3JldHVybiBmLmNhbGwoZSk9PT0iW29iamVjdCAiK3QrIl0ifX0pLGIuaXNBcmd1bWVudHMoYXJndW1lbnRzKXx8KGIuaXNBcmd1bWVudHM9ZnVuY3Rpb24odCl7cmV0dXJuIGIuaGFzKHQsImNhbGxlZSIpfSksImZ1bmN0aW9uIiE9dHlwZW9mLy4vJiYib2JqZWN0IiE9dHlwZW9mIEludDhBcnJheSYmKGIuaXNGdW5jdGlvbj1mdW5jdGlvbih0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdHx8ITF9KSxiLmlzRmluaXRlPWZ1bmN0aW9uKHQpe3JldHVybiBpc0Zpbml0ZSh0KSYmIWlzTmFOKHBhcnNlRmxvYXQodCkpfSxiLmlzTmFOPWZ1bmN0aW9uKHQpe3JldHVybiBiLmlzTnVtYmVyKHQpJiZ0IT09K3R9LGIuaXNCb29sZWFuPWZ1bmN0aW9uKHQpe3JldHVybiB0PT09ITB8fHQ9PT0hMXx8IltvYmplY3QgQm9vbGVhbl0iPT09Zi5jYWxsKHQpfSxiLmlzTnVsbD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09PXR9LGIuaXNVbmRlZmluZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIHZvaWQgMD09PXR9LGIuaGFzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG51bGwhPXQmJnAuY2FsbCh0LGUpfSxiLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gcy5fPWEsdGhpc30sYi5pZGVudGl0eT1mdW5jdGlvbih0KXtyZXR1cm4gdH0sYi5jb25zdGFudD1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19LGIubm9vcD1mdW5jdGlvbigpe30sYi5wcm9wZXJ0eT1ULGIucHJvcGVydHlPZj1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD9mdW5jdGlvbigpe306ZnVuY3Rpb24oZSl7cmV0dXJuIHRbZV19fSxiLm1hdGNoZXI9Yi5tYXRjaGVzPWZ1bmN0aW9uKHQpe3JldHVybiB0PWIuZXh0ZW5kT3duKHt9LHQpLGZ1bmN0aW9uKGUpe3JldHVybiBiLmlzTWF0Y2goZSx0KX19LGIudGltZXM9ZnVuY3Rpb24odCxlLG4pe3ZhciBpPUFycmF5KE1hdGgubWF4KDAsdCkpO2U9eChlLG4sMSk7Zm9yKHZhciByPTA7cjx0O3IrKylpW3JdPWUocik7cmV0dXJuIGl9LGIucmFuZG9tPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG51bGw9PWUmJihlPXQsdD0wKSx0K01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSooZS10KzEpKX0sYi5ub3c9RGF0ZS5ub3d8fGZ1bmN0aW9uKCl7cmV0dXJuKG5ldyBEYXRlKS5nZXRUaW1lKCl9O3ZhciBMPXsiJiI6IiZhbXA7IiwiPCI6IiZsdDsiLCI+IjoiJmd0OyIsJyInOiImcXVvdDsiLCInIjoiJiN4Mjc7IiwiYCI6IiYjeDYwOyJ9LFk9Yi5pbnZlcnQoTCksRj1mdW5jdGlvbih0KXt2YXIgZT1mdW5jdGlvbihlKXtyZXR1cm4gdFtlXX0sbj0iKD86IitiLmtleXModCkuam9pbigifCIpKyIpIixpPVJlZ0V4cChuKSxyPVJlZ0V4cChuLCJnIik7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/IiI6IiIrdCxpLnRlc3QodCk/dC5yZXBsYWNlKHIsZSk6dH19O2IuZXNjYXBlPUYoTCksYi51bmVzY2FwZT1GKFkpLGIucmVzdWx0PWZ1bmN0aW9uKHQsZSxuKXt2YXIgaT1udWxsPT10P3ZvaWQgMDp0W2VdO3JldHVybiB2b2lkIDA9PT1pJiYoaT1uKSxiLmlzRnVuY3Rpb24oaSk/aS5jYWxsKHQpOml9O3ZhciBSPTA7Yi51bmlxdWVJZD1mdW5jdGlvbih0KXt2YXIgZT0rK1IrIiI7cmV0dXJuIHQ/dCtlOmV9LGIudGVtcGxhdGVTZXR0aW5ncz17ZXZhbHVhdGU6LzwlKFtcc1xTXSs/KSU+L2csaW50ZXJwb2xhdGU6LzwlPShbXHNcU10rPyklPi9nLGVzY2FwZTovPCUtKFtcc1xTXSs/KSU+L2d9O3ZhciBIPS8oLileLyxXPXsiJyI6IiciLCJcXCI6IlxcIiwiXHIiOiJyIiwiXG4iOiJuIiwiXHUyMDI4IjoidTIwMjgiLCJcdTIwMjkiOiJ1MjAyOSJ9LHE9L1xcfCd8XHJ8XG58XHUyMDI4fFx1MjAyOS9nLEk9ZnVuY3Rpb24odCl7cmV0dXJuIlxcIitXW3RdfTtiLnRlbXBsYXRlPWZ1bmN0aW9uKHQsZSxuKXshZSYmbiYmKGU9biksZT1iLmRlZmF1bHRzKHt9LGUsYi50ZW1wbGF0ZVNldHRpbmdzKTt2YXIgaT1SZWdFeHAoWyhlLmVzY2FwZXx8SCkuc291cmNlLChlLmludGVycG9sYXRlfHxIKS5zb3VyY2UsKGUuZXZhbHVhdGV8fEgpLnNvdXJjZV0uam9pbigifCIpKyJ8JCIsImciKSxyPTAsbz0iX19wKz0nIjt0LnJlcGxhY2UoaSxmdW5jdGlvbihlLG4saSxzLGEpe3JldHVybiBvKz10LnNsaWNlKHIsYSkucmVwbGFjZShxLEkpLHI9YStlLmxlbmd0aCxuP28rPSInK1xuKChfX3Q9KCIrbisiKSk9PW51bGw/Jyc6Xy5lc2NhcGUoX190KSkrXG4nIjppP28rPSInK1xuKChfX3Q9KCIraSsiKSk9PW51bGw/Jyc6X190KStcbiciOnMmJihvKz0iJztcbiIrcysiXG5fX3ArPSciKSxlfSksbys9Iic7XG4iLGUudmFyaWFibGV8fChvPSJ3aXRoKG9ianx8e30pe1xuIitvKyJ9XG4iKSxvPSJ2YXIgX190LF9fcD0nJyxfX2o9QXJyYXkucHJvdG90eXBlLmpvaW4scHJpbnQ9ZnVuY3Rpb24oKXtfX3ArPV9fai5jYWxsKGFyZ3VtZW50cywnJyk7fTtcbiIrbysicmV0dXJuIF9fcDtcbiI7dHJ5e3ZhciBzPW5ldyBGdW5jdGlvbihlLnZhcmlhYmxlfHwib2JqIiwiXyIsbyl9Y2F0Y2godCl7dGhyb3cgdC5zb3VyY2U9byx0fXZhciBhPWZ1bmN0aW9uKHQpe3JldHVybiBzLmNhbGwodGhpcyx0LGIpfSxsPWUudmFyaWFibGV8fCJvYmoiO3JldHVybiBhLnNvdXJjZT0iZnVuY3Rpb24oIitsKyIpe1xuIitvKyJ9IixhfSxiLmNoYWluPWZ1bmN0aW9uKHQpe3ZhciBlPWIodCk7cmV0dXJuIGUuX2NoYWluPSEwLGV9O3ZhciBCPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuX2NoYWluP2IoZSkuY2hhaW4oKTplfTtiLm1peGluPWZ1bmN0aW9uKHQpe2IuZWFjaChiLmZ1bmN0aW9ucyh0KSxmdW5jdGlvbihlKXt2YXIgbj1iW2VdPXRbZV07Yi5wcm90b3R5cGVbZV09ZnVuY3Rpb24oKXt2YXIgdD1bdGhpcy5fd3JhcHBlZF07cmV0dXJuIGguYXBwbHkodCxhcmd1bWVudHMpLEIodGhpcyxuLmFwcGx5KGIsdCkpfX0pfSxiLm1peGluKGIpLGIuZWFjaChbInBvcCIsInB1c2giLCJyZXZlcnNlIiwic2hpZnQiLCJzb3J0Iiwic3BsaWNlIiwidW5zaGlmdCJdLGZ1bmN0aW9uKHQpe3ZhciBlPWxbdF07Yi5wcm90b3R5cGVbdF09ZnVuY3Rpb24oKXt2YXIgbj10aGlzLl93cmFwcGVkO3JldHVybiBlLmFwcGx5KG4sYXJndW1lbnRzKSwic2hpZnQiIT09dCYmInNwbGljZSIhPT10fHwwIT09bi5sZW5ndGh8fGRlbGV0ZSBuWzBdLEIodGhpcyxuKX19KSxiLmVhY2goWyJjb25jYXQiLCJqb2luIiwic2xpY2UiXSxmdW5jdGlvbih0KXt2YXIgZT1sW3RdO2IucHJvdG90eXBlW3RdPWZ1bmN0aW9uKCl7cmV0dXJuIEIodGhpcyxlLmFwcGx5KHRoaXMuX3dyYXBwZWQsYXJndW1lbnRzKSl9fSksYi5wcm90b3R5cGUudmFsdWU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JhcHBlZH0sYi5wcm90b3R5cGUudmFsdWVPZj1iLnByb3RvdHlwZS50b0pTT049Yi5wcm90b3R5cGUudmFsdWUsYi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4iIit0aGlzLl93cmFwcGVkfSwiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kJiZkZWZpbmUoInVuZGVyc2NvcmUiLFtdLGZ1bmN0aW9uKCl7cmV0dXJuIGJ9KX0pLmNhbGwodGhpcyl9LHt9XSwxMDpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIGkodCxlLG4pe3ZhciBpPXIucGFyc2UodCwhMCk7cmV0dXJuIGkucXVlcnkudXRtX3NvdXJjZT13aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsaS5xdWVyeS51dG1fbWVkaXVtPWUsaS5xdWVyeS51dG1fY2FtcGFpZ249bixkZWxldGUgaS5zZWFyY2gsci5mb3JtYXQoaSl9dmFyIHI9dCgidXJsIik7ZS5leHBvcnRzPXtzZXRNZWRpdW1DYW1wYWlnbjppfX0se3VybDo2fV0sMTE6W2Z1bmN0aW9uKHQsZSxuKXtlLmV4cG9ydHM9e2lkOjI4LHN0YW1wOjE1MDg3Nzg3MDAyNjR9fSx7fV0sMTI6W2Z1bmN0aW9uKHQsZSxuKXsoZnVuY3Rpb24obil7ZnVuY3Rpb24gaSh0KXtwLmxvZygiQ3JlYXRlIENoYXJ0V2lkZ2V0IiksaC5jYWxsKHRoaXMsdCksdGhpcy5zdHlsZXM9ITEsdGhpcy5ibG9ja2NoYWluPXtzdXBwbHk6TmFOLGJsb2NrczpOYU59LHRoaXMuY2hhcnQ9e2NhbnZhczp7YzpudWxsLGk6bnVsbH0sdzpOYU4saDpOYU4sbWF4OjAsbWluOjEvMCx0cGFkOjEwLGZwYWQ6MCxzY2FsZToxLGR4OjF9LHRoaXMuYW5pbT1udWxsLHRoaXMuZGF0YT1bXSx0aGlzLmxhc3Q9e3ByaWNlOk5hTix0aW1lOk5hTn0sdGhpcy5zbF9oYW5kbGU9d2luZG93LnNldFRpbWVvdXQodS5iaW5kKHRoaXMuc3R5bGVzTG9hZGVkLHRoaXMpLDI1MDApO3ZhciBlPWcrKHRoaXMuY2FzaD8iY2FzaC8iOiIiKSsiaGlzdG9yeT91bml4PTEmcHJldHR5PTAiLG49dGhpcy5jYXNoPyJjYXNoOnVzZCI6InByaWNlOnVzZCIsaT1tKyh0aGlzLmNhc2g/ImNhc2gtYmxvY2tjaGFpbi5qc29uIjoiYmxvY2tjaGFpbi5qc29uIik7ZChlLDM2ZTUsdS5iaW5kKHRoaXMucHJvY2Vzc0NoYXJ0LHRoaXMpKSxmLnJlZ2lzdGVyKG4sdGhpcy5wcm9jZXNzU3BvdC5iaW5kKHRoaXMpKSxmLnN1YnNjcmliZShuKSxmLnN1YnNjcmliZSgic291cmNlOndpZGdldC1jaGFydCIpLGQoaSwzNmU1LHRoaXMucHJvY2Vzc0Jsb2NrY2hhaW4uYmluZCh0aGlzKSl9ZnVuY3Rpb24gcih0LGUsbil7dC5tb3ZlVG8oKDB8ZSkrLjUsKDB8bikrLjUpfWZ1bmN0aW9uIG8odCxlLG4pe3QubGluZVRvKCgwfGUpKy41LCgwfG4pKy41KX1mdW5jdGlvbiBzKHQsZSxuLGkpe3QuYXJjKCgwfGUpKy41LCgwfG4pKy41LGksMCwyKk1hdGguUEkpfWZ1bmN0aW9uIGEodCl7dmFyIGU9e3g6MCx5OjB9O2lmKHQub2Zmc2V0WCllLng9dC5vZmZzZXRYLGUueT10Lm9mZnNldFk7ZWxzZSBpZih0LnBhZ2VYJiZ0LnRhcmdldCl7dmFyIG49bCh0LnRhcmdldCkub2Zmc2V0KCk7ZS54PXQucGFnZVgtbi5sZWZ0LGUueT10LnBhZ2VZLW4udG9wfXJldHVybiBlfXZhciBsPXQoImpRdWVyeSIpLHU9dCgidW5kZXJzY29yZSIpLGM9dCgibW9tZW50IiksaD10KCIuL3dpZGdldCIpLGQ9dCgiLi9mZWVkLXBvbGxlciIpLGY9dCgiLi9zdHJlYW0iKSxwPXQoIi4vbG9nIiksbT1uLmVudi5CQVNFLGc9bi5lbnYuQkNYLHk9dCgiLi9hbmFseXRpY3MiKSx2PXQoIi4vdXRpbCIpO2kucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoaC5wcm90b3R5cGUpLGkucHJvdG90eXBlLmNvbnN0cnVjdG9yPWksaS5wcm90b3R5cGUuc3R5bGVzTG9hZGVkPWZ1bmN0aW9uKCl7dGhpcy5zdHlsZXM9ITAsd2luZG93LmNsZWFyVGltZW91dCh0aGlzLnNsX2hhbmRsZSksdGhpcy5idWlsZCgpLHRoaXMuZWwuYWRkQ2xhc3ModGhpcy5wb3N0QnVpbGRDbGFzc2VzLmpvaW4oIiAiKSksdGhpcy5kb1Jlc2l6ZSgpLHRoaXMudXBkYXRlU3RhdHMoKX0saS5wcm90b3R5cGUuYnVpbGQ9ZnVuY3Rpb24oKXt0aGlzLmVsLmh0bWwoJyAgICA8ZGl2IGNsYXNzPSJidGN3ZGd0LWhlYWRlciI+ICAgICAgPGgyIHRpdGxlPSJCaXRjb2luICcrKHRoaXMuY2FzaD8iQ2FzaCAiOiIiKSsncHJpY2UiPiAgICAgICAgPHNwYW4+JDwvc3Bhbj48c3Bhbj4mbWRhc2g7LiZuZGFzaDs8L3NwYW4+ICAgICAgPC9oMj4gICAgICA8aDQ+JysodGhpcy5jYXNoPyJCQ0MiOiJCVEMiKSsnL1VTRDwvaDQ+ICAgICAgPGRpdiBjbGFzcz0ic3RhdHMiPiAgICAgICAgPGRpdj5Na3RDYXA8c3BhbiBjbGFzcz0ibWt0LWNhcCI+Jm1kYXNoOy4mbmRhc2g7PC9zcGFuPjwvZGl2PiAgICAgICAgPGRpdj5IaWdoPHNwYW4gY2xhc3M9ImhpZ2giPiZtZGFzaDsuJm5kYXNoOzwvc3Bhbj48L2Rpdj4gICAgICAgIDxkaXY+TG93PHNwYW4gY2xhc3M9ImxvdyI+Jm1kYXNoOy4mbmRhc2g7PC9zcGFuPjwvZGl2PiAgICAgICAgPGRpdj5TdXBwbHk8c3BhbiBjbGFzcz0ic3VwcGx5Ij4mbWRhc2g7LiZuZGFzaDs8L3NwYW4+PC9kaXY+ICAgICAgICA8ZGl2PkJsb2NrczxzcGFuIGNsYXNzPSJibG9ja3MiPiZtZGFzaDs8L3NwYW4+PC9kaXY+ICAgICAgPC9kaXY+ICAgICAgPHAgY2xhc3M9ImNoYW5nZXMiPiAgICAgICAgPHN0cm9uZyBjbGFzcz0iYXJyb3ciPjwvc3Ryb25nPjxzcGFuIGNsYXNzPSJwY3QiPiZtZGFzaDsuJm5kYXNoOyU8L3NwYW4+PHNwYW4gY2xhc3M9ImFtdCI+JCZtZGFzaDsuJm5kYXNoOzwvc3Bhbj4gICAgICA8L3A+ICAgICAgPHAgY2xhc3M9ImRhdGUtd3JhcCI+PHNwYW4gY2xhc3M9ImRhdGUiPiZtZGFzaDs8L3NwYW4+PC9wPiAgICA8L2Rpdj4gICAgPGRpdiBjbGFzcz0iYnRjd2RndC1ib2R5Ij4gICAgICA8Y2FudmFzIGNsYXNzPSJjIj48L2NhbnZhcz4gICAgICA8Y2FudmFzIGNsYXNzPSJpIj48L2NhbnZhcz4gICAgPC9kaXY+ICAgIDxkaXYgY2xhc3M9ImJ0Y3dkZ3QtZm9vdGVyIj4gICAgICA8YSBocmVmPSJodHRwczovL3d3dy5iaXRjb2luLmNvbS93aWRnZXRzLyIgY2xhc3M9ImVtYmVkIiB0aXRsZT0iRW1iZWQgdGhpcyB3aWRnZXQiPiZsdDsvJmd0OzwvYT4gICAgICA8YSBocmVmPSJodHRwczovL3d3dy5iaXRjb2luLmNvbS8iIGNsYXNzPSJsb2dvIiB0aXRsZT0iUG93ZXJlZCBieSBiaXRjb2luLmNvbSI+PHNwYW4+Yml0Y29pbi5jb208L3NwYW4+PC9hPiAgICA8L2Rpdj4nKSx0aGlzLmVsLmFkZENsYXNzKCJidGN3ZGd0IGJ0Y3dkZ3QtaGVhZGxpbmVzIGJ0Y3dkZ3QtY2hhcnQiKSx0aGlzLmNhbXBhaWduJiZsKCJhIix0aGlzLmVsKS5lYWNoKGZ1bmN0aW9uKHQsZSl7dmFyIG49bChlKS5hdHRyKCJocmVmIik7bChlKS5hdHRyKCJocmVmIix5LnNldE1lZGl1bUNhbXBhaWduKG4sIndpZGdldCIsIkNoYXJ0IFdpZGdldCIpKX0pLHRoaXMuY2hhcnQuY2FudmFzLmM9bCgiY2FudmFzLmMiLHRoaXMuZWwpWzBdLHRoaXMuY2hhcnQuY2FudmFzLmk9bCgiY2FudmFzLmkiLHRoaXMuZWwpWzBdLGwoImNhbnZhcy5pIix0aGlzLmVsKS5vbigibW91c2Vtb3ZlIix1LmJpbmQodGhpcy5vbk1vdXNlTW92ZSx0aGlzKSksdGhpcy5lbC5vbigibW91c2VvdXQiLHUuYmluZCh0aGlzLmNsZWFySW50ZXJhY3QsdGhpcykpLGwoIi5idGN3ZGd0LWhlYWRlciBwIix0aGlzLmVsKS5vbigibW91c2VvdmVyIix1LmJpbmQodGhpcy5jbGVhckludGVyYWN0LHRoaXMpKSxsKHdpbmRvdykub24oInJlc2l6ZSIsdS5iaW5kKHRoaXMub25SZXNpemUsdGhpcykpfSxpLnByb3RvdHlwZS5vblJlc2l6ZT1mdW5jdGlvbigpe3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUodS5iaW5kKHRoaXMuZG9SZXNpemUsdGhpcykpfSxpLnByb3RvdHlwZS5kb1Jlc2l6ZT1mdW5jdGlvbigpe2lmKHRoaXMuc3R5bGVzKXt2YXIgdD1sKHRoaXMuZWwpLmlubmVyV2lkdGgoKSxlPTE2Lzksbj10L2UsaT0id2lkdGg6ICIrdCsicHggIWltcG9ydGFudDsgICAgICAgaGVpZ2h0OiIrbisicHggIWltcG9ydGFudCI7bCgiLmJ0Y3dkZ3QtYm9keSIsdGhpcy5lbCkuYXR0cigic3R5bGUiLGkpLGwoImNhbnZhcyIsdGhpcy5lbCkuYXR0cigic3R5bGUiLGkpLmNzcygid2lkdGgiLHQpLmNzcygiaGVpZ2h0IixuKSx0aGlzLmNoYXJ0LmNhbnZhcy5jLndpZHRoPXQqdyx0aGlzLmNoYXJ0LmNhbnZhcy5jLmhlaWdodD1uKncsdGhpcy5jaGFydC5jYW52YXMuaS53aWR0aD10KncsdGhpcy5jaGFydC5jYW52YXMuaS5oZWlnaHQ9bip3LHRoaXMuY2hhcnQuY2FudmFzLmMuZ2V0Q29udGV4dCgiMmQiKS5zY2FsZSh3LHcpLHRoaXMuY2hhcnQuY2FudmFzLmkuZ2V0Q29udGV4dCgiMmQiKS5zY2FsZSh3LHcpLHRoaXMuY2hhcnQudz10LHRoaXMuY2hhcnQuaD1uLHRoaXMuY2FsY3VsYXRlKCksdGhpcy5yZWRyYXcoKTt2YXIgcj1OYU47aXNOYU4odGhpcy5sYXN0LnVuaXgpP3RoaXMuZGF0YS5sZW5ndGg+MCYmKHI9dGhpcy5kYXRhWzBdWzBdKTpyPXRoaXMubGFzdC51bml4LGlzTmFOKHIpfHwobCgiLmRhdGUiLHRoaXMuZWwpLmh0bWwoYy51bml4KHIpLmZvcm1hdCgibGxsIikpLGwoIi5kYXRlIix0aGlzLmVsKS53aWR0aCgpPmwoIi5kYXRlLXdyYXAiLHRoaXMuZWwpLndpZHRoKCkmJmwoIi5kYXRlIix0aGlzLmVsKS5odG1sKGMudW5peChyKS5mb3JtYXQoImwiKSkpfX0saS5wcm90b3R5cGUuY2FsY3VsYXRlPWZ1bmN0aW9uKCl7dGhpcy5jaGFydC5mcGFkPWwoIi5idGN3ZGd0LWZvb3RlciIsdGhpcy5lbCkuaGVpZ2h0KCk7dmFyIHQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRbMV19O3RoaXMuZGF0YS5sZW5ndGg+MCYmKHRoaXMuY2hhcnQubWluPXUubWluKHRoaXMuZGF0YSx0KVsxXSx0aGlzLmNoYXJ0Lm1heD11Lm1heCh0aGlzLmRhdGEsdClbMV0pLGlzTmFOKHRoaXMubGFzdC5wcmljZSl8fCh0aGlzLmNoYXJ0Lm1pbj1NYXRoLm1pbih0aGlzLmNoYXJ0Lm1pbix0aGlzLmxhc3QucHJpY2UpLHRoaXMuY2hhcnQubWF4PU1hdGgubWF4KHRoaXMuY2hhcnQubWF4LHRoaXMubGFzdC5wcmljZSkpLHRoaXMuY2hhcnQuc2NhbGU9KHRoaXMuY2hhcnQuaC10aGlzLmNoYXJ0LmZwYWQtdGhpcy5jaGFydC50cGFkKS8odGhpcy5jaGFydC5tYXgtdGhpcy5jaGFydC5taW4pLGlzTmFOKHRoaXMubGFzdC5wcmljZSk/dGhpcy5jaGFydC5keD10aGlzLmNoYXJ0LncvKHRoaXMuZGF0YS5sZW5ndGgtMSk6dGhpcy5jaGFydC5keD10aGlzLmNoYXJ0LncvdGhpcy5kYXRhLmxlbmd0aH0saS5wcm90b3R5cGUucmVkcmF3PWZ1bmN0aW9uKCl7dGhpcy5kcmF3KHRoaXMuY2hhcnQuY2FudmFzLmMuZ2V0Q29udGV4dCgiMmQiKSl9LGkucHJvdG90eXBlLmRyYXc9ZnVuY3Rpb24odCl7aWYodC5jbGVhclJlY3QoMCwwLHRoaXMuY2hhcnQudyx0aGlzLmNoYXJ0LmgpLCEodGhpcy5kYXRhLmxlbmd0aDw9MCkpe2Zvcih2YXIgZT0xMixuPTIsaT1lK24rMSxzPTIsYT1zKmksbD0odGhpcy5jaGFydC5oLXRoaXMuY2hhcnQuZnBhZC10aGlzLmNoYXJ0LnRwYWQpL2EsdT0odGhpcy5jaGFydC5tYXgtdGhpcy5jaGFydC5taW4pL2wsaD1NYXRoLnBvdygxMCxNYXRoLmZsb29yKE1hdGgubG9nMTAodSkpKSxkPU1hdGguZmxvb3IoMTAqdS9oKS8xMCxmPVsxLDEuMjUsMS41LDIsMi41LDUsNy41LDEwXSxwPWgsbT0wO208Zi5sZW5ndGg7bSsrKWlmKGZbbV0+PWQpe3A9ZlttXSpoO2JyZWFrfWZvcih2YXIgZyx5LHY9W10sdz1bXSxiPU1hdGguZmxvb3IodGhpcy5jaGFydC5taW4vcCkqcCx4PWI7eDx0aGlzLmNoYXJ0Lm1heDt4Kz1wKXk9dGhpcy5wcmljZVRvUHhZKHgpLHk8dGhpcy5jaGFydC5oLXRoaXMuY2hhcnQuZnBhZCYmeT4wJiZ2LnB1c2goeSkseStlK248dGhpcy5jaGFydC5oLXRoaXMuY2hhcnQuZnBhZC1lJiZ5K24+MCYmdy5wdXNoKFt5K24seF0pO3Quc3Ryb2tlU3R5bGU9dGhpcy5jb2xvcnMuZ3JpZCx0LmJlZ2luUGF0aCgpO2Zvcih2YXIgbT0wO208di5sZW5ndGg7bSsrKXIodCwwLHZbbV0pLG8odCx0aGlzLmNoYXJ0LncsdlttXSk7dC5zdHJva2UoKSx0LmZvbnQ9IjMwMCAiK2UrJ3B4ICJtdXNlby1zYW5zLXJvdW5kZWQiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmJyx0LnRleHRBbGlnbj0icmlnaHQiLHQudGV4dEJhc2VsaW5lPSJib3R0b20iLHQuc3Ryb2tlU3R5bGU9dGhpcy5jb2xvcnMubGFiZWxTdHJva2UsdC5maWxsU3R5bGU9dGhpcy5jb2xvcnMubGFiZWwsdj1bXTtmb3IodmFyIF89dGhpcy5jaGFydC5oLXRoaXMuY2hhcnQuZnBhZCxtPTA7bTx0aGlzLmRhdGEubGVuZ3RoO20rKyl7dmFyIGs9Yy51bml4KHRoaXMuZGF0YVttXVswXSkudXRjKCk7aWYoMT09ay5nZXQoImRhdGUiKSl7dmFyIFM9IiI7Uz0wPT1rLmdldCgibW9udGgiKT9rLmdldCgieWVhciIpOmsuZm9ybWF0KCJNTU0iKTt2YXIgVD1pc05hTih0aGlzLmxhc3QucHJpY2UpP206bSsxO2c9dGhpcy5iYXJUb1B4WChUKSx2LnB1c2goZyksdC5zdHJva2VUZXh0KFMsZy00LF8pLHQuZmlsbFRleHQoUyxnLTQsXyl9fXQuc3Ryb2tlU3R5bGU9dGhpcy5jb2xvcnMuZ3JpZCx0LmJlZ2luUGF0aCgpO2Zvcih2YXIgbT0wO208di5sZW5ndGg7bSsrKXIodCx2W21dLDApLG8odCx2W21dLHRoaXMuY2hhcnQuaC10aGlzLmNoYXJ0LmZwYWQpO3Quc3Ryb2tlKCksdC50ZXh0QWxpZ249InJpZ2h0Iix0LnRleHRCYXNlbGluZT0idG9wIjt2YXIgQz10Lm1lYXN1cmVUZXh0KHRoaXMuY2hhcnQubWF4LnRvRml4ZWQoMikpLndpZHRoKzM7aWYodC5iZWdpblBhdGgoKSxpc05hTih0aGlzLmxhc3QucHJpY2UpKXt0Lm1vdmVUbyh0aGlzLmJhclRvUHhYKDApLHRoaXMucHJpY2VUb1B4WSh0aGlzLmRhdGFbMF1bMV0pKTtmb3IodmFyIG09MTttPHRoaXMuZGF0YS5sZW5ndGg7bSsrKXQubGluZVRvKHRoaXMuYmFyVG9QeFgobSksdGhpcy5wcmljZVRvUHhZKHRoaXMuZGF0YVttXVsxXSkpfWVsc2V7dC5tb3ZlVG8odGhpcy5iYXJUb1B4WCgwKSx0aGlzLnByaWNlVG9QeFkodGhpcy5sYXN0LnByaWNlKSk7Zm9yKHZhciBtPTA7bTx0aGlzLmRhdGEubGVuZ3RoO20rKyl0LmxpbmVUbyh0aGlzLmJhclRvUHhYKG0rMSksdGhpcy5wcmljZVRvUHhZKHRoaXMuZGF0YVttXVsxXSkpfWlmKHQubGluZVRvKDAsdGhpcy5jaGFydC5oKSx0LmxpbmVUbyh0aGlzLmNoYXJ0LncsdGhpcy5jaGFydC5oKSxpc05hTih0aGlzLmxhc3QucHJpY2UpP3QubGluZVRvKHRoaXMuYmFyVG9QeFgoMCksdGhpcy5wcmljZVRvUHhZKHRoaXMuZGF0YVswXVsxXSkpOnQubGluZVRvKHRoaXMuYmFyVG9QeFgoMCksdGhpcy5wcmljZVRvUHhZKHRoaXMubGFzdC5wcmljZSkpLHQuZmlsbFN0eWxlPXRoaXMuY29sb3JzLmJnLHQuZmlsbCgpLHQuYmVnaW5QYXRoKCksaXNOYU4odGhpcy5sYXN0LnByaWNlKSl7dC5tb3ZlVG8odGhpcy5iYXJUb1B4WCgwKSx0aGlzLnByaWNlVG9QeFkodGhpcy5kYXRhWzBdWzFdKSk7Zm9yKHZhciBtPTE7bTx0aGlzLmRhdGEubGVuZ3RoO20rKyl0LmxpbmVUbyh0aGlzLmJhclRvUHhYKG0pLHRoaXMucHJpY2VUb1B4WSh0aGlzLmRhdGFbbV1bMV0pKX1lbHNle3QubW92ZVRvKHRoaXMuYmFyVG9QeFgoMCksdGhpcy5wcmljZVRvUHhZKHRoaXMubGFzdC5wcmljZSkpO2Zvcih2YXIgbT0wO208dGhpcy5kYXRhLmxlbmd0aDttKyspdC5saW5lVG8odGhpcy5iYXJUb1B4WChtKzEpLHRoaXMucHJpY2VUb1B4WSh0aGlzLmRhdGFbbV1bMV0pKX10LnN0cm9rZVN0eWxlPXRoaXMuY29sb3JzLmZnLHQuc3Ryb2tlKCksdC5zdHJva2VTdHlsZT10aGlzLmNvbG9ycy5sYWJlbFN0cm9rZSx0LmZpbGxTdHlsZT10aGlzLmNvbG9ycy5sYWJlbDtmb3IodmFyIG09MDttPHcubGVuZ3RoO20rKyl7dmFyIFM9d1ttXVsxXS50b0ZpeGVkKDIpO3Quc3Ryb2tlVGV4dChTLEMrZSx3W21dWzBdKSx0LmZpbGxUZXh0KFMsQytlLHdbbV1bMF0pfXZhciB4PXRoaXMubGFzdC5wcmljZTtpc05hTih4KSYmKHg9dGhpcy5kYXRhWzBdWzFdKSx5PXRoaXMucHJpY2VUb1B4WSh4KSx0LmJlZ2luUGF0aCgpO3ZhciBEPWUrNCxNPUMrZSsyO3QubW92ZVRvKChlLzJ8MCkrLjUsKHktRC8yfDApKy41KSx0LmxpbmVUbyhNLCh5LUQvMnwwKSsuNSksdC5saW5lVG8oKE0rRC8yfDApKy41LHkpLHQubGluZVRvKE0sKHkrRC8yfDApKy41KSx0LmxpbmVUbygoZS8yfDApKy41LCh5K0QvMnwwKSsuNSksdC5saW5lVG8oKGUvMnwwKSsuNSwoeS1ELzJ8MCkrLjUpLHQuZmlsbFN0eWxlPXRoaXMuY29sb3JzLmNoYXJ0YmcsdC5maWxsKCksdC5zdHJva2VTdHlsZT10aGlzLmNvbG9ycy5mZyx0LnN0cm9rZSgpLHQuZmlsbFN0eWxlPXRoaXMuY29sb3JzLmxhYmVsLHQudGV4dEFsaWduPSJyaWdodCIsdC50ZXh0QmFzZWxpbmU9Im1pZGRsZSIsdC5maWxsVGV4dCh4LnRvRml4ZWQoMiksQytlLHkpfX0saS5wcm90b3R5cGUub25Nb3VzZU1vdmU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpczt0aGlzLmFuaW09d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtlLmludGVyYWN0KHQpfX0odCkpfSxpLnByb3RvdHlwZS5jbGVhckludGVyYWN0PWZ1bmN0aW9uKHQpe3RyeXt3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5hbmltKX1jYXRjaCh0KXt9dmFyIGU9dGhpcy5jaGFydC5jYW52YXMuaS5nZXRDb250ZXh0KCIyZCIpO2UuY2xlYXJSZWN0KDAsMCx0aGlzLmNoYXJ0LncsdGhpcy5jaGFydC5oKTt2YXIgbj1OYU4saT1OYU47dGhpcy5kYXRhLmxlbmd0aD4wJiYoaT10aGlzLmRhdGFbMF1bMF0sbj10aGlzLmRhdGFbMF1bMV0pLGlzTmFOKHRoaXMubGFzdC5wcmljZSl8fChpPXRoaXMubGFzdC50aW1lLG49dGhpcy5sYXN0LnByaWNlKSxpc05hTihuKXx8KGwoImgyIHNwYW46bGFzdC1jaGlsZCIsdGhpcy5lbCkuaHRtbChuLnRvRml4ZWQoMikpLGwoIi5kYXRlIix0aGlzLmVsKS5odG1sKGMudW5peChpKS5mb3JtYXQoImxsbCIpKSxsKCIuZGF0ZSIsdGhpcy5lbCkud2lkdGgoKT5sKCIuZGF0ZS13cmFwIix0aGlzLmVsKS53aWR0aCgpJiZsKCIuZGF0ZSIsdGhpcy5lbCkuaHRtbChjLnVuaXgoaSkuZm9ybWF0KCJsIikpKX0saS5wcm90b3R5cGUuaW50ZXJhY3Q9ZnVuY3Rpb24odCl7dmFyIGU9YSh0KSxuPXRoaXMuY2hhcnQuY2FudmFzLmkuZ2V0Q29udGV4dCgiMmQiKSxpPU1hdGgucm91bmQoKHRoaXMuY2hhcnQudy1lLngpL3RoaXMuY2hhcnQuZHgpO2lmKG4uY2xlYXJSZWN0KDAsMCx0aGlzLmNoYXJ0LncsdGhpcy5jaGFydC5oKSwhKGk8MHx8aT49KGlzTmFOKHRoaXMubGFzdC5wcmljZSk/dGhpcy5kYXRhLmxlbmd0aDp0aGlzLmRhdGEubGVuZ3RoKzEpKSl7dmFyIHU9NSxoPTYsZD1OYU4sZj1OYU47aXNOYU4odGhpcy5sYXN0LnByaWNlKT8oZj10aGlzLmRhdGFbaV1bMF0sZD10aGlzLmRhdGFbaV1bMV0pOjA9PWk/KGY9dGhpcy5sYXN0LnRpbWUsZD10aGlzLmxhc3QucHJpY2UpOihmPXRoaXMuZGF0YVtpLTFdWzBdLGQ9dGhpcy5kYXRhW2ktMV1bMV0pLG4uZmlsbFN0eWxlPXRoaXMuY29sb3JzLmZnO3ZhciBwPXRoaXMuYmFyVG9QeFgoaSksbT10aGlzLnByaWNlVG9QeFkoZCk7bi5iZWdpblBhdGgoKSxwPnUraCsxJiYocihuLDAsbS11KSxvKG4sdSxtKSxvKG4sMCxtK3UpLG8obiwwLG0tdSkpLHA8dGhpcy5jaGFydC53LSh1K2grMSkmJihyKG4sdGhpcy5jaGFydC53LG0tdSksbyhuLHRoaXMuY2hhcnQudy11LG0pLG8obix0aGlzLmNoYXJ0LncsbSt1KSxvKG4sdGhpcy5jaGFydC53LG0tdSkpLG4uZmlsbCgpLG4uc3Ryb2tlU3R5bGU9dGhpcy5jb2xvcnMuY3Jvc3NoYWlyLG4ubGluZVdpZHRoPTEsbi5iZWdpblBhdGgoKSxyKG4scCwwKSxvKG4scCxtLWgtMykscihuLHAsbStoKzMpLG8obixwLHRoaXMuY2hhcnQuaCksbi5zdHJva2UoKSxuLnN0cm9rZVN0eWxlPXRoaXMuY29sb3JzLmxhYmVsLG4ubGluZVdpZHRoPTIsbi5iZWdpblBhdGgoKSxyKG4scCtoLG0pLHMobixwLG0saCksbi5zdHJva2UoKSxsKCJoMiBzcGFuOmxhc3QtY2hpbGQiLHRoaXMuZWwpLmh0bWwoZC50b0ZpeGVkKDIpKTt2YXIgZz1sKCIuZGF0ZSIsdGhpcy5lbCk7Zy5odG1sKGMudW5peChmKS5mb3JtYXQoImxsbCIpKSxnLndpZHRoKCk+bCgiLmRhdGUtd3JhcCIsdGhpcy5lbCkud2lkdGgoKSYmZy5odG1sKGMudW5peChmKS5mb3JtYXQoImwiKSl9fSxpLnByb3RvdHlwZS5wcmljZVRvUHhZPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNoYXJ0LnRwYWQrKHRoaXMuY2hhcnQubWF4LXQpKnRoaXMuY2hhcnQuc2NhbGV9LGkucHJvdG90eXBlLmJhclRvUHhYPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNoYXJ0LnctdGhpcy5jaGFydC5keCp0fSxpLnByb3RvdHlwZS51cGRhdGVTdGF0cz1mdW5jdGlvbigpe2lmKHRoaXMuc3R5bGVzKXt2YXIgdD1OYU4sZT1OYU47aWYodGhpcy5kYXRhLmxlbmd0aD4wJiYoZT10aGlzLmRhdGFbMF1bMF0sdD10aGlzLmRhdGFbMF1bMV0pLGlzTmFOKHRoaXMubGFzdC5wcmljZSl8fChlPXRoaXMubGFzdC50aW1lLHQ9dGhpcy5sYXN0LnByaWNlKSwhaXNOYU4odCkmJiFpc05hTihlKSl7aWYobCgiaDIgc3BhbjpsYXN0LWNoaWxkIix0aGlzLmVsKS5odG1sKHQudG9GaXhlZCgyKSksbCgiLmRhdGUiLHRoaXMuZWwpLmh0bWwoYy51bml4KGUpLmZvcm1hdCgibGxsIikpLGwoIi5kYXRlIix0aGlzLmVsKS53aWR0aCgpPmwoIi5kYXRlLXdyYXAiLHRoaXMuZWwpLndpZHRoKCkmJmwoIi5kYXRlIix0aGlzLmVsKS5odG1sKGMudW5peChlKS5mb3JtYXQoImwiKSksIWlzTmFOKHRoaXMuYmxvY2tjaGFpbi5zdXBwbHkpKXt2YXIgbj10aGlzLmJsb2NrY2hhaW4uc3VwcGx5KnQ7bCgiLm1rdC1jYXAiLHRoaXMuZWwpLmh0bWwoIiQiK3YuY29tcGFjdERpc3AobikpfXZhciBpPTEwMCoodC90aGlzLmRhdGFbMF1bMV0tMSkscj10LXRoaXMuZGF0YVswXVsxXTtsKCIuY2hhbmdlcyAucGN0Iix0aGlzLmVsKS5odG1sKE1hdGguYWJzKGkpLnRvRml4ZWQoMSkrIiUiKSxsKCIuY2hhbmdlcyAuYW10Iix0aGlzLmVsKS5odG1sKCIkIitNYXRoLmFicyhyKS50b0ZpeGVkKDIpKSxsKCIuYXJyb3ciLHRoaXMuZWwpLnJlbW92ZUNsYXNzKCJ1cCBkb3duIiksbCgiLmNoYW5nZXMiLHRoaXMuZWwpLnJlbW92ZUNsYXNzKCJ1cCBkb3duIikscj4wPyhsKCIuYXJyb3ciLHRoaXMuZWwpLmFkZENsYXNzKCJ1cCIpLGwoIi5jaGFuZ2VzIix0aGlzLmVsKS5hZGRDbGFzcygidXAiKSk6cjwwJiYobCgiLmFycm93Iix0aGlzLmVsKS5hZGRDbGFzcygiZG93biIpLGwoIi5jaGFuZ2VzIix0aGlzLmVsKS5hZGRDbGFzcygiZG93biIpKTtmb3IodmFyIG89dCxzPXQsYT0wO2E8dGhpcy5kYXRhLmxlbmd0aDthKyspe3ZhciB1PXRoaXMuZGF0YVthXVsxXTt1Pm8mJihvPXUpLHU8cyYmKHM9dSl9bCgiLmhpZ2giLHRoaXMuZWwpLmh0bWwoIiQiK28udG9GaXhlZCgyKSksbCgiLmxvdyIsdGhpcy5lbCkuaHRtbCgiJCIrcy50b0ZpeGVkKDIpKX1pc05hTih0aGlzLmJsb2NrY2hhaW4uc3VwcGx5KXx8bCgiLnN1cHBseSIsdGhpcy5lbCkuaHRtbCh2LmNvbXBhY3REaXNwKHRoaXMuYmxvY2tjaGFpbi5zdXBwbHkpKSxpc05hTih0aGlzLmJsb2NrY2hhaW4uYmxvY2tzKXx8bCgiLmJsb2NrcyIsdGhpcy5lbCkudGV4dCh0aGlzLmJsb2NrY2hhaW4uYmxvY2tzKX19LGkucHJvdG90eXBlLnByb2Nlc3NCbG9ja2NoYWluPWZ1bmN0aW9uKHQpe3RoaXMuYmxvY2tjaGFpbi5zdXBwbHk9dC5zdXBwbHksdGhpcy5ibG9ja2NoYWluLmJsb2Nrcz10LmJsb2Nrcyx0aGlzLnVwZGF0ZVN0YXRzKCl9LGkucHJvdG90eXBlLnByb2Nlc3NDaGFydD1mdW5jdGlvbih0KXt0aGlzLmRhdGE9W107Zm9yKHZhciBlPTA7ZTx0Lmxlbmd0aDtlKyspdGhpcy5kYXRhLnB1c2goW3RbZV1bMF0sdFtlXVsxXS8xMDBdKTt0aGlzLmRvUmVzaXplKCksdGhpcy51cGRhdGVTdGF0cygpfSxpLnByb3RvdHlwZS5wcm9jZXNzU3BvdD1mdW5jdGlvbih0KXtpZih0LnByaWNlKXt2YXIgZT17cHJpY2U6dC5wcmljZS8xMDAsc3RhbXA6dC5zdGFtcH07dGhpcy5sYXN0LnByaWNlPWUucHJpY2UsdGhpcy5sYXN0LnRpbWU9ZS5zdGFtcCx0aGlzLmRvUmVzaXplKCksdGhpcy51cGRhdGVTdGF0cygpfX07dmFyIHc9MTshZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKS5nZXRDb250ZXh0KCIyZCIpLGU9d2luZG93LmRldmljZVBpeGVsUmF0aW98fDEsbj10LndlYmtpdEJhY2tpbmdTdG9yZVBpeGVsUmF0aW98fHQubW96QmFja2luZ1N0b3JlUGl4ZWxSYXRpb3x8dC5tc0JhY2tpbmdTdG9yZVBpeGVsUmF0aW98fHQub0JhY2tpbmdTdG9yZVBpeGVsUmF0aW98fHQuYmFja2luZ1N0b3JlUGl4ZWxSYXRpb3x8MTt3PWUvbn0oKSxmdW5jdGlvbigpe3ZhciB0PXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fHdpbmRvdy5tb3pSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fHdpbmRvdy53ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fHdpbmRvdy5tc1JlcXVlc3RBbmltYXRpb25GcmFtZTt3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lPSJ1bmRlZmluZWQiIT10eXBlb2YgdD90OmZ1bmN0aW9uKHQpe3QoKX19KCksZS5leHBvcnRzPWl9KS5jYWxsKHRoaXMsdCgiX3Byb2Nlc3MiKSl9LHsiLi9hbmFseXRpY3MiOjEwLCIuL2ZlZWQtcG9sbGVyIjoxNSwiLi9sb2ciOjE3LCIuL3N0cmVhbSI6MjUsIi4vdXRpbCI6MjYsIi4vd2lkZ2V0IjoyNyxfcHJvY2VzczoxLGpRdWVyeTo3LG1vbWVudDo4LHVuZGVyc2NvcmU6OX1dLDEzOltmdW5jdGlvbih0LGUsbil7ZS5leHBvcnRzPXtkZWZhdWx0OntmZzoiI2Y5YjAxNiIsYmc6InJnYmEoMCwgMCwgMCwgMC4xNSkiLGNoYXJ0Ymc6IiMzYzNjM2MiLGdyaWQ6InJnYmEoMjU1LDI1NSwyNTUsMC4wNSkiLGxhYmVsOiIjY2NjIixsYWJlbFN0cm9rZToiIzE5MTkxOSIsY3Jvc3NoYWlyOiJyZ2JhKDI0OSwgMTc2LCAyMiwgMC4yNSkifSxsaWdodDp7Zmc6IiNmOWIwMTYiLGJnOiJyZ2JhKDI0OSwgMTc2LCAyMiwgMC4xNSkiLGNoYXJ0Ymc6IiNmZmYiLGdyaWQ6InJnYmEoMCwgMCwgMCwgMC4wNSkiLGxhYmVsOiIjM2MzYzNjIixsYWJlbFN0cm9rZToiI2ZmZiIsY3Jvc3NoYWlyOiJyZ2JhKDAsMCwwLDAuMjUpIn19fSx7fV0sMTQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiBpKHQpe3JldHVybiByLmluZGV4T2YodC50b0xvd2VyQ2FzZSgpKT49MH12YXIgcj0iYnRjLHVzZCxldXIsZ2JwLGpweSxjYWQsYXVkLGNueSxjaGYsc2VrLG56ZCxrcncsYWVkLGFmbixhbGwsYW1kLGFuZyxhb2EsYXJzLGF3Zyxhem4sYmFtLGJiZCxiZHQsYmduLGJoZCxiaWYsYm1kLGJuZCxib2IsYnJsLGJzZCxidG4sYndwLGJ5cixiemQsY2RmLGNsZixjbHAsY29wLGNyYyxjdXAsY3ZlLGN6ayxkamYsZGtrLGRvcCxkemQsZWVrLGVncCxldGIsZmpkLGZrcCxnZWwsZ2hzLGdpcCxnbWQsZ25mLGd0cSxneWQsaGtkLGhubCxocmssaHRnLGh1ZixpZHIsaWxzLGlucixpcWQsaXJyLGlzayxqZXAsam1kLGpvZCxrZXMsa2dzLGtocixrbWYsa3B3LGt3ZCxreWQsa3p0LGxhayxsYnAsbGtyLGxyZCxsc2wsbHRsLGx2bCxseWQsbWFkLG1kbCxtZ2EsbWtkLG1tayxtbnQsbW9wLG1ybyxtdXIsbXZyLG13ayxteG4sbXlyLG16bixuYWQsbmduLG5pbyxub2ssbnByLG9tcixwYWIscGVuLHBnayxwaHAscGtyLHBsbixweWcscWFyLHJvbixyc2QscnViLHJ3ZixzYXIsc2JkLHNjcixzZGcsc2dkLHNocCxzbGwsc29zLHNyZCxzdGQsc3ZjLHN5cCxzemwsdGhiLHRqcyx0bXQsdG5kLHRvcCx0cnksdHRkLHR3ZCx0enMsdWFoLHVneCx1eXUsdXpzLHZlZix2bmQsdnV2LHdzdCx4YWYseGFnLHhhdSx4Y2QseG9mLHhwZix5ZXIsemFyLHptdyx6d2wiO2UuZXhwb3J0cz17Q1VSUzpyLGF2YWlsYWJsZTppfX0se31dLDE1OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gaSh0LGUsbil7dGhpcy51cmw9dCx0aGlzLnBlcmlvZD1lLHRoaXMuY2I9W10sdGhpcy5hZGRDYWxsYmFjayhuKSxhLmxvZygnU2V0dXAgRmVlZFBvbGxlci4gR3JhYiAiJyt0aGlzLnVybCsnIiBldmVyeSAnKyh0aGlzLnBlcmlvZC8xZTMpLnRvRml4ZWQoMSkrInMiKSx0aGlzLnN0YXJ0UG9sbGluZygpfWZ1bmN0aW9uIHIodCxlLG4pe2xbdF0/bFt0XS5hZGRDYWxsYmFjayhuKTpsW3RdPW5ldyBpKHQsZSxuKX12YXIgbz10KCJqUXVlcnkiKSxzPXQoInVuZGVyc2NvcmUiKSxhPXQoIi4vbG9nIiksbD17fTtpLnByb3RvdHlwZS5hZGRDYWxsYmFjaz1mdW5jdGlvbih0KXsiZnVuY3Rpb24iPT10eXBlb2YgdCYmdGhpcy5jYi5wdXNoKHQpfSxpLnByb3RvdHlwZS5zdGFydFBvbGxpbmc9ZnVuY3Rpb24oKXt0aGlzLnBvbGwoKSxzZXRJbnRlcnZhbChzLmJpbmQodGhpcy5wb2xsLHRoaXMpLHRoaXMucGVyaW9kKX0saS5wcm90b3R5cGUucG9sbD1mdW5jdGlvbigpe2EubG9nKCdMb2FkIHJlc291cmNlICInK3RoaXMudXJsKyciJyk7dmFyIHQ9RGF0ZS5ub3coKTtvLmFqYXgoe3VybDp0aGlzLnVybCxkYXRhVHlwZToianNvbiIsY29udGV4dDp0aGlzfSkuZG9uZShmdW5jdGlvbihlLG4saSl7YS5sb2coIkRvbmUuICIrKERhdGUubm93KCktdCkrIm1zIikscy5lYWNoKHRoaXMuY2IsZnVuY3Rpb24odCl7dHJ5e3QoZSl9Y2F0Y2godCl7fX0pfSl9LGUuZXhwb3J0cz1yfSx7Ii4vbG9nIjoxNyxqUXVlcnk6Nyx1bmRlcnNjb3JlOjl9XSwxNjpbZnVuY3Rpb24odCxlLG4peyhmdW5jdGlvbihuKXtmdW5jdGlvbiBpKHQpe3MuY2FsbCh0aGlzLHQpLGwubG9nKCJDcmVhdGUgRm9ydW1XaWRnZXQiKSx0aGlzLmJ1aWxkKCksdGhpcy5lbC5hZGRDbGFzcyh0aGlzLnBvc3RCdWlsZENsYXNzZXMuam9pbigiICIpKSxhKHUrImZvcnVtLmpzb24iLDZlNSxvLmJpbmQodGhpcy5wcm9jZXNzRmVlZCx0aGlzKSl9dmFyIHI9dCgialF1ZXJ5Iiksbz10KCJ1bmRlcnNjb3JlIikscz10KCIuL3dpZGdldCIpLGE9dCgiLi9mZWVkLXBvbGxlciIpLGw9dCgiLi9sb2ciKSx1PW4uZW52LkJBU0UsYz10KCIuL2FuYWx5dGljcyIpO2kucHJvdG90eXBlPU9iamVjdC5jcmVhdGUocy5wcm90b3R5cGUpLGkucHJvdG90eXBlLmNvbnN0cnVjdG9yPWksaS5wcm90b3R5cGUuYnVpbGQ9ZnVuY3Rpb24oKXt0aGlzLmVsLmh0bWwoJyAgICA8ZGl2IGNsYXNzPSJidGN3ZGd0LWhlYWRlciI+ICAgICAgPGg0PjxhIGhyZWY9Imh0dHBzOi8vZm9ydW0uYml0Y29pbi5jb20vIj5BY3RpdmUgQml0Y29pbiBGb3J1bSBUb3BpY3M8L2E+PC9oND4gICAgPC9kaXY+ICAgIDxkaXYgY2xhc3M9ImJ0Y3dkZ3QtYm9keSI+ICAgICAgPHVsPjwvdWw+ICAgIDwvZGl2PiAgICA8ZGl2IGNsYXNzPSJidGN3ZGd0LWZvb3RlciI+ICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuYml0Y29pbi5jb20vd2lkZ2V0cy8iIGNsYXNzPSJlbWJlZCIgdGl0bGU9IkVtYmVkIHRoaXMgd2lkZ2V0Ij4mbHQ7LyZndDs8L2E+ICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuYml0Y29pbi5jb20vIiBjbGFzcz0ibG9nbyIgdGl0bGU9IlBvd2VyZWQgYnkgYml0Y29pbi5jb20iPjxzcGFuPmJpdGNvaW4uY29tPC9zcGFuPjwvYT4gICAgPC9kaXY+JyksdGhpcy5lbC5hZGRDbGFzcygiYnRjd2RndCBidGN3ZGd0LWhlYWRsaW5lcyIpLHRoaXMuY2FtcGFpZ24mJnIoImEiLHRoaXMuZWwpLmVhY2goZnVuY3Rpb24odCxlKXt2YXIgbj1yKGUpLmF0dHIoImhyZWYiKTtyKGUpLmF0dHIoImhyZWYiLGMuc2V0TWVkaXVtQ2FtcGFpZ24obiwid2lkZ2V0IiwiRm9ydW0gV2lkZ2V0IikpfSl9LGkucHJvdG90eXBlLnByb2Nlc3NGZWVkPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxuPTAsaT0wO2k8dC5sZW5ndGgmJmkhPXRoaXMucm93cztpKyspe3ZhciBvPXRbaV07ZVtuKytdPSI8bGk+IixlW24rK109JzxhIGhyZWY9IicsZVtuKytdPXRoaXMuY2FtcGFpZ24/Yy5zZXRNZWRpdW1DYW1wYWlnbihvLnVybCwid2lkZ2V0IiwiRm9ydW0gV2lkZ2V0Iik6by51cmwsZVtuKytdPSciIHRpdGxlPSInLGVbbisrXT1vLnRpdGxlLGVbbisrXT0nIj4nLGVbbisrXT1vLnRpdGxlLGVbbisrXT0iPC9hPiIsZVtuKytdPSI8L2xpPiJ9cigidWwiLHRoaXMuZWwpLmh0bWwoZS5qb2luKCIiKSl9LGUuZXhwb3J0cz1pfSkuY2FsbCh0aGlzLHQoIl9wcm9jZXNzIikpfSx7Ii4vYW5hbHl0aWNzIjoxMCwiLi9mZWVkLXBvbGxlciI6MTUsIi4vbG9nIjoxNywiLi93aWRnZXQiOjI3LF9wcm9jZXNzOjEsalF1ZXJ5OjcsdW5kZXJzY29yZTo5fV0sMTc6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiBpKHQsZSxuKXt0cnl7ZShuP0pTT04uc3RyaW5naWZ5KHQsbnVsbCwyKToiQml0Y29pbiBXaWRnZXRzOiAiK3QpfWNhdGNoKHQpe319ZS5leHBvcnRzPXtsb2c6ZnVuY3Rpb24odCxlKXtpKHQsY29uc29sZS5sb2csZSl9LGRhdGE6ZnVuY3Rpb24odCl7aSh0LGNvbnNvbGUubG9nLCEwKX0sd2FybjpmdW5jdGlvbih0LGUpe2kodCxjb25zb2xlLndhcm4sZSl9LGVycm9yOmZ1bmN0aW9uKHQsZSl7aSh0LGNvbnNvbGUuZXJyb3IsZSl9fX0se31dLDE4OltmdW5jdGlvbih0LGUsbil7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4oKXtmb3IodmFyIHQ9MDt0PGQubGVuZ3RoO3QrKyl0cnl7ZFt0XS5zdHlsZXNMb2FkZWQoKX1jYXRjaCh0KXt9fWZ1bmN0aW9uIGkodCl7ci5sb2coJ0xvYWQgc3R5bGU6ICInK3QrJyInKTt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7ZS5yZWw9InN0eWxlc2hlZXQiLGUudHlwZT0idGV4dC9jc3MiLGUuaHJlZj10LGUubWVkaWE9ImFsbCIsZS5vbmxvYWQ9bixkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLmFwcGVuZENoaWxkKGUpfXZhciByPXQoIi4vbG9nIiksbz10KCIuL2ZvcnVtLXBvc3RzIikscz10KCIuL25ld3Mtc3RvcmllcyIpLGE9dCgiLi9uZXdzLXRpY2tlciIpLGw9dCgiLi9wcmljZSIpLHU9dCgiLi9jaGFydCIpLGM9dCgiLi9wb29sIiksaD1lLmVudi5CQVNFLGQ9W10sZj17ImJ0Y3dkZ3QtZm9ydW0iOm8sImJ0Y3dkZ3QtbmV3cyI6cywiYnRjd2RndC1uZXdzLXRpY2tlciI6YSwiYnRjd2RndC1wcmljZSI6bCwiYnRjd2RndC1jaGFydCI6dSwiYnRjd2RndC1wb29sIjpjfTshZnVuY3Rpb24oKXtlLmVudi5CVUlMRC5pZCYmci5sb2coIj09PSBCdWlsZCAiK2UuZW52LkJVSUxELmlkKyIgPT09IiksCnIubG9nKCJJbml0aWFsaXplLiBMb29raW5nIGZvciB0YXJnZXQgZWxlbWVudHMiKTt2YXIgdD1bXTtmb3IodmFyIG4gaW4gZilpZihmLmhhc093blByb3BlcnR5KG4pKXt2YXIgbz1kb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKG4pO28ubGVuZ3RoPjAmJnIubG9nKCdGb3VuZCAiJytuKyciJyk7Zm9yKHZhciBzPTA7czxvLmxlbmd0aDtzKyspdC5wdXNoKHtlbDpvW3NdLGNuOmZbbl19KX1pZigwPT10Lmxlbmd0aClyZXR1cm4gdm9pZCByLndhcm4oIk5vIHRhcmdldCBlbGVtZW50cyBmb3VuZCEgQ2Fubm90IGNyZWF0ZSB3aWRnZXRzLiIpO3ZhciBhPWgrIndpZGdldC5jc3MiO2UuZW52LkJVSUxELmlkJiYoYSs9Ij8iK2UuZW52LkJVSUxELmlkKSxpKGEpO2Zvcih2YXIgcz0wO3M8dC5sZW5ndGg7cysrKXt2YXIgbD10W3NdO2QucHVzaChuZXcgbC5jbihsLmVsKSl9fSgpfSkuY2FsbCh0aGlzLHQoIl9wcm9jZXNzIikpfSx7Ii4vY2hhcnQiOjEyLCIuL2ZvcnVtLXBvc3RzIjoxNiwiLi9sb2ciOjE3LCIuL25ld3Mtc3RvcmllcyI6MTksIi4vbmV3cy10aWNrZXIiOjIwLCIuL3Bvb2wiOjIxLCIuL3ByaWNlIjoyMixfcHJvY2VzczoxfV0sMTk6W2Z1bmN0aW9uKHQsZSxuKXsoZnVuY3Rpb24obil7ZnVuY3Rpb24gaSh0KXtpZihsLmxvZygiQ3JlYXRlIE5ld3NXaWRnZXQiKSxzLmNhbGwodGhpcyx0KSx0aGlzLnJhdGU9TmFOLHRoaXMubGFzdD1OYU4sbnVsbCE9dGhpcy5jdXIpe3RoaXMua2V5PSJidGN3ZGd0LXByaWNlLSIrdGhpcy5jdXIudG9Mb3dlckNhc2UoKTt2YXIgZT1kLmdldE9iaih0aGlzLmtleSk7bnVsbCE9ZSYmKGUucmF0ZT90aGlzLmxhc3Q9ZS5yYXRlOiJudW1iZXIiPT10eXBlb2YgZSYmKHRoaXMubGFzdD1lKSk7dmFyIG49KHRoaXMuY2FzaD8iY2FzaCI6InByaWNlIikrIjoiK3RoaXMuY2w7dS5yZWdpc3RlcihuLHRoaXMucHJvY2Vzc1Nwb3QuYmluZCh0aGlzKSksdS5zdWJzY3JpYmUobiksdS5zdWJzY3JpYmUoInNvdXJjZTp3aWRnZXQtbmV3cyIpfXRoaXMuYnVpbGQoKSx0aGlzLmVsLmFkZENsYXNzKHRoaXMucG9zdEJ1aWxkQ2xhc3Nlcy5qb2luKCIgIikpLGEoYysibmV3cy5qc29uIiw2ZTUsby5iaW5kKHRoaXMucHJvY2Vzc0ZlZWQsdGhpcykpfXZhciByPXQoImpRdWVyeSIpLG89dCgidW5kZXJzY29yZSIpLHM9dCgiLi93aWRnZXQiKSxhPXQoIi4vZmVlZC1wb2xsZXIiKSxsPXQoIi4vbG9nIiksdT10KCIuL3N0cmVhbSIpLGM9bi5lbnYuQkFTRSxoPXQoIi4vYW5hbHl0aWNzIiksZD10KCIuL3N0b3JhZ2UiKTtpLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHMucHJvdG90eXBlKSxpLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1pLGkucHJvdG90eXBlLmJ1aWxkPWZ1bmN0aW9uKCl7dGhpcy5lbC5odG1sKCcgICAgPGRpdiBjbGFzcz0iYnRjd2RndC1oZWFkZXIiPiAgICAgIDxoND48YSBocmVmPSJodHRwczovL25ld3MuYml0Y29pbi5jb20vIj5MYXRlc3QgQml0Y29pbiBOZXdzIFN0b3JpZXM8L2E+PC9oND4gICAgPC9kaXY+ICAgIDxkaXYgY2xhc3M9ImJ0Y3dkZ3QtYm9keSI+ICAgICAgPHVsPjwvdWw+ICAgIDwvZGl2PiAgICA8ZGl2IGNsYXNzPSJidGN3ZGd0LWZvb3RlciI+ICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuYml0Y29pbi5jb20vd2lkZ2V0cy8iIGNsYXNzPSJlbWJlZCIgdGl0bGU9IkVtYmVkIHRoaXMgd2lkZ2V0Ij4mbHQ7LyZndDs8L2E+ICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuYml0Y29pbi5jb20vIiBjbGFzcz0ibG9nbyIgdGl0bGU9IlBvd2VyZWQgYnkgYml0Y29pbi5jb20iPjxzcGFuPmJpdGNvaW4uY29tPC9zcGFuPjwvYT4gICAgPC9kaXY+JyksdGhpcy5lbC5hZGRDbGFzcygiYnRjd2RndCBidGN3ZGd0LWhlYWRsaW5lcyIpLHRoaXMuY2FtcGFpZ24mJnIoImEiLHRoaXMuZWwpLmVhY2goZnVuY3Rpb24odCxlKXt2YXIgbj1yKGUpLmF0dHIoImhyZWYiKTtyKGUpLmF0dHIoImhyZWYiLGguc2V0TWVkaXVtQ2FtcGFpZ24obiwid2lkZ2V0IiwiTmV3cyBXaWRnZXQiKSl9KSxudWxsIT10aGlzLmN1ciYmcigiLmJ0Y3dkZ3QtYm9keSIsdGhpcy5lbCkucHJlcGVuZCgnICAgICAgPGRpdiBjbGFzcz0icHJpY2UiPiAgICAgICAgPHNwYW4+JysodGhpcy5jYXNoPyJCQ0MiOiJCVEMiKSsiLyIrdGhpcy5jdXIudG9VcHBlckNhc2UoKSsnPC9zcGFuPiAgICAgICAgPGRpdiBjbGFzcz0icC13cmFwIj4gICAgICAgICAgPHA+PC9wPiAgICAgICAgPC9kaXY+ICAgICAgICA8c3Ryb25nIGNsYXNzPSJhcnJvdyI+PC9zdHJvbmc+ICAgICAgPC9kaXY+Jyl9LGkucHJvdG90eXBlLnByb2Nlc3NGZWVkPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxuPTAsaT0wO2k8dC5sZW5ndGgmJmkhPXRoaXMucm93cztpKyspe3ZhciBvPXRbaV07ZVtuKytdPSI8bGk+IixlW24rK109JzxhIGhyZWY9IicsZVtuKytdPXRoaXMuY2FtcGFpZ24/aC5zZXRNZWRpdW1DYW1wYWlnbihvLnVybCwid2lkZ2V0IiwiTmV3cyBXaWRnZXQiKTpvLnVybCxlW24rK109JyIgdGl0bGU9IicsZVtuKytdPW8udGl0bGUsZVtuKytdPSciPicsZVtuKytdPW8udGl0bGUsZVtuKytdPSI8L2E+IixlW24rK109IjwvbGk+In1yKCJ1bCIsdGhpcy5lbCkuaHRtbChlLmpvaW4oIiIpKX0saS5wcm90b3R5cGUucHJvY2Vzc1Nwb3Q9ZnVuY3Rpb24odCl7dC5wcmljZSYmKHRoaXMucmF0ZT10LnByaWNlLzEwMCx0aGlzLnVwZGF0ZVJhdGVzKCkpfSxpLnByb3RvdHlwZS5wcm9jZXNzUmF0ZXM9ZnVuY3Rpb24odCl7dC5yYXRlcyYmdC5yYXRlcy51c2QmJnQucmF0ZXNbdGhpcy5jbF0mJih0aGlzLnJhdGVzPXQucmF0ZXMsdGhpcy51cGRhdGVSYXRlcygpKX0saS5wcm90b3R5cGUudXBkYXRlUmF0ZXM9ZnVuY3Rpb24oKXtpc05hTih0aGlzLmxhc3QpJiYodGhpcy5sYXN0PXRoaXMucmF0ZSksdGhpcy51cGRhdGVEaXNwbGF5KCksdGhpcy5sYXN0PXRoaXMucmF0ZSxkLnNldE9iaih0aGlzLmtleSx0aGlzLnJhdGUpfSxpLnByb3RvdHlwZS51cGRhdGVEaXNwbGF5PWZ1bmN0aW9uKCl7dmFyIHQ9cigiPHAvPiIpLnRleHQodGhpcy5yYXRlLnRvRml4ZWQoMikpLGU9cigiLnAtd3JhcCBwOmZpcnN0LWNoaWxkIix0aGlzLmVsKS5oZWlnaHQoKTtpZihyKCIuYXJyb3ciLHRoaXMuZWwpLnJlbW92ZUNsYXNzKCJ1cCBkb3duIiksdGhpcy5yYXRlPnRoaXMubGFzdCl7cigiLnAtd3JhcCIsdGhpcy5lbCkucHJlcGVuZCh0KSxyKCIucC13cmFwIix0aGlzLmVsKS5hdHRyKCJzdHlsZSIsInRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDsgdG9wOiAiKygtZSsicHgiKSsiICFpbXBvcnRhbnQiKSx3aW5kb3cuc2V0VGltZW91dChvLmJpbmQoZnVuY3Rpb24oKXtyKCIucC13cmFwIix0aGlzLmVsKS5hdHRyKCJzdHlsZSIsInRvcDogMCAhaW1wb3J0YW50Iil9LHRoaXMpLDUwKSx3aW5kb3cuc2V0VGltZW91dChvLmJpbmQoZnVuY3Rpb24oKXtyKCIucC13cmFwIHA6bGFzdC1jaGlsZCIsdGhpcy5lbCkucmVtb3ZlKCkscigiLnAtd3JhcCIsdGhpcy5lbCkuYXR0cigic3R5bGUiLG51bGwpfSx0aGlzKSw1NTApO3ZhciBuPXIoIi5wLXdyYXAgcDpmaXJzdC1jaGlsZCIsdGhpcy5lbCksaT1uLndpZHRoKCkrcigiLnByaWNlIHNwYW4iLHRoaXMuZWwpLndpZHRoKCkrMTg7cigiLmFycm93Iix0aGlzLmVsKS5hZGRDbGFzcygidXAiKS5hdHRyKCJzdHlsZSIsImxlZnQ6ICIraSsicHggIWltcG9ydGFudDsiKX1pZih0aGlzLnJhdGU8dGhpcy5sYXN0KXtyKCIucC13cmFwIix0aGlzLmVsKS5hcHBlbmQodCkscigiLnAtd3JhcCIsdGhpcy5lbCkuYXR0cigic3R5bGUiLCJ0b3A6ICIrKC1lKyJweCAhaW1wb3J0YW50IikpLHdpbmRvdy5zZXRUaW1lb3V0KG8uYmluZChmdW5jdGlvbigpe3IoIi5wLXdyYXAgcDpmaXJzdC1jaGlsZCIsdGhpcy5lbCkucmVtb3ZlKCkscigiLnAtd3JhcCIsdGhpcy5lbCkuYXR0cigic3R5bGUiLCJ0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7IHRvcDogMCAhaW1wb3J0YW50Iil9LHRoaXMpLDUwMCksd2luZG93LnNldFRpbWVvdXQoby5iaW5kKGZ1bmN0aW9uKCl7cigiLnAtd3JhcCIsdGhpcy5lbCkuYXR0cigic3R5bGUiLG51bGwpfSx0aGlzKSwxZTMpO3ZhciBuPXIoIi5wLXdyYXAgcDpsYXN0LWNoaWxkIix0aGlzLmVsKSxpPW4ud2lkdGgoKStyKCIucHJpY2Ugc3BhbiIsdGhpcy5lbCkud2lkdGgoKSsxODtyKCIuYXJyb3ciLHRoaXMuZWwpLmFkZENsYXNzKCJkb3duIikuYXR0cigic3R5bGUiLCJsZWZ0OiAiK2krInB4ICFpbXBvcnRhbnQ7Iil9KGlzTmFOKHRoaXMubGFzdCl8fHRoaXMucmF0ZT09dGhpcy5sYXN0KSYmcigiLnAtd3JhcCBwIix0aGlzLmVsKS5yZXBsYWNlV2l0aCh0KX0sZS5leHBvcnRzPWl9KS5jYWxsKHRoaXMsdCgiX3Byb2Nlc3MiKSl9LHsiLi9hbmFseXRpY3MiOjEwLCIuL2ZlZWQtcG9sbGVyIjoxNSwiLi9sb2ciOjE3LCIuL3N0b3JhZ2UiOjI0LCIuL3N0cmVhbSI6MjUsIi4vd2lkZ2V0IjoyNyxfcHJvY2VzczoxLGpRdWVyeTo3LHVuZGVyc2NvcmU6OX1dLDIwOltmdW5jdGlvbih0LGUsbil7KGZ1bmN0aW9uKG4pe2Z1bmN0aW9uIGkodCl7bC5sb2coIkNyZWF0ZSBOZXdzVGlja2VyIikscy5jYWxsKHRoaXMsdCksdGhpcy5zdG9yaWVzPVtdLHRoaXMuaW5kZXg9LTEsdGhpcy5idWlsZCgpLHRoaXMuZWwuYWRkQ2xhc3ModGhpcy5wb3N0QnVpbGRDbGFzc2VzLmpvaW4oIiAiKSksYSh1KyJuZXdzLmpzb24iLDE1ZTUsby5iaW5kKHRoaXMucHJvY2Vzc0ZlZWQsdGhpcykpLHdpbmRvdy5zZXRJbnRlcnZhbChvLmJpbmQodGhpcy5zaG93TmV4dCx0aGlzKSw3NTAwKX12YXIgcj10KCJqUXVlcnkiKSxvPXQoInVuZGVyc2NvcmUiKSxzPXQoIi4vd2lkZ2V0IiksYT10KCIuL2ZlZWQtcG9sbGVyIiksbD10KCIuL2xvZyIpLHU9bi5lbnYuQkFTRSxjPXQoIi4vYW5hbHl0aWNzIik7aS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShzLnByb3RvdHlwZSksaS5wcm90b3R5cGUuY29uc3RydWN0b3I9aSxpLnByb3RvdHlwZS5idWlsZD1mdW5jdGlvbigpe3RoaXMuZWwuaHRtbCgnICAgIDxkaXYgY2xhc3M9ImJ0Y3dkZ3QtYm9keSI+ICAgICAgPHVsPjxsaT48L2xpPjwvdWw+ICAgIDwvZGl2PiAgICA8ZGl2IGNsYXNzPSJidGN3ZGd0LWZvb3RlciI+ICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cuYml0Y29pbi5jb20vd2lkZ2V0cy8iIGNsYXNzPSJlbWJlZCIgdGl0bGU9IkVtYmVkIHRoaXMgd2lkZ2V0Ij4mbHQ7LyZndDs8L2E+ICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9uZXdzLmJpdGNvaW4uY29tLyIgY2xhc3M9ImxvZ28iIHRpdGxlPSJQb3dlcmVkIGJ5IGJpdGNvaW4uY29tIG5ld3MiPjxzcGFuPmJpdGNvaW4uY29tPC9zcGFuPjwvYT4gICAgPC9kaXY+ICAgIDxkaXYgY2xhc3M9ImJ0Y3dkZ3QtZWRnZSI+PC9kaXY+JyksdGhpcy5lbC5hZGRDbGFzcygiYnRjd2RndCBidGN3ZGd0LXRleHQtdGlja2VyIiksdGhpcy5jYW1wYWlnbiYmcigiYSIsdGhpcy5lbCkuZWFjaChmdW5jdGlvbih0LGUpe3ZhciBuPXIoZSkuYXR0cigiaHJlZiIpO3IoZSkuYXR0cigiaHJlZiIsYy5zZXRNZWRpdW1DYW1wYWlnbihuLCJ3aWRnZXQiLCJOZXdzIFRpY2tlciBXaWRnZXQiKSl9KX0saS5wcm90b3R5cGUuc2hvd05leHQ9ZnVuY3Rpb24oKXtpZigwIT10aGlzLnN0b3JpZXMubGVuZ3RoKXt0aGlzLmluZGV4KyssdGhpcy5pbmRleD49dGhpcy5zdG9yaWVzLmxlbmd0aCYmKHRoaXMuaW5kZXg9MCk7dmFyIHQ9W10sZT0wLG49dGhpcy5zdG9yaWVzW3RoaXMuaW5kZXhdO3RbZSsrXT0iPGxpPiIsdFtlKytdPSc8YSBocmVmPSInLHRbZSsrXT1uLnVybCx0W2UrK109JyIgdGl0bGU9IicsdFtlKytdPW4udGl0bGUsdFtlKytdPSciPicsdFtlKytdPW4udGl0bGUsdFtlKytdPSI8L2E+Iix0W2UrK109IjwvbGk+IixyKCJ1bCIsdGhpcy5lbCkuYXBwZW5kKHQuam9pbigiIikpO3ZhciBpPXIoInVsIGxpOmZpcnN0LWNoaWxkIix0aGlzLmVsKS5oZWlnaHQoKTtyKCJ1bCIsdGhpcy5lbCkuYXR0cigic3R5bGUiLCJ0b3A6ICIrKC1pKyJweCAhaW1wb3J0YW50IikpLHdpbmRvdy5zZXRUaW1lb3V0KG8uYmluZChmdW5jdGlvbigpe3IoInVsIGxpOmZpcnN0LWNoaWxkIix0aGlzLmVsKS5yZW1vdmUoKSxyKCJ1bCIsdGhpcy5lbCkuYXR0cigic3R5bGUiLCJ0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7IHRvcDogMCAhaW1wb3J0YW50Iil9LHRoaXMpLDUwMCksd2luZG93LnNldFRpbWVvdXQoby5iaW5kKGZ1bmN0aW9uKCl7cigidWwiLHRoaXMuZWwpLmF0dHIoInN0eWxlIixudWxsKX0sdGhpcyksMWUzKX19LGkucHJvdG90eXBlLnByb2Nlc3NGZWVkPWZ1bmN0aW9uKHQpe2lmKHRoaXMuc3Rvcmllcz10LHRoaXMuY2FtcGFpZ24pZm9yKHZhciBlPTA7ZTx0aGlzLnN0b3JpZXMubGVuZ3RoO2UrKyl0aGlzLnN0b3JpZXNbZV0udXJsPWMuc2V0TWVkaXVtQ2FtcGFpZ24odGhpcy5zdG9yaWVzW2VdLnVybCwid2lkZ2V0IiwiTmV3cyBUaWNrZXIgV2lkZ2V0Iik7dGhpcy5pbmRleD0tMSx0aGlzLnNob3dOZXh0KCl9LGUuZXhwb3J0cz1pfSkuY2FsbCh0aGlzLHQoIl9wcm9jZXNzIikpfSx7Ii4vYW5hbHl0aWNzIjoxMCwiLi9mZWVkLXBvbGxlciI6MTUsIi4vbG9nIjoxNywiLi93aWRnZXQiOjI3LF9wcm9jZXNzOjEsalF1ZXJ5OjcsdW5kZXJzY29yZTo5fV0sMjE6W2Z1bmN0aW9uKHQsZSxuKXsoZnVuY3Rpb24obil7ZnVuY3Rpb24gaSh0KXtsLmxvZygiQ3JlYXRlIFBvb2xXaWRnZXQiKSxzLmNhbGwodGhpcyx0KSx0aGlzLmxhc3Q9e3RlcmFoYXNoOk5hTixzdGFtcDowfSx0aGlzLmtleT0iYnRjd2RndC1wb29sIjt2YXIgZT1oLmdldE9iaih0aGlzLmtleSk7bnVsbCE9ZSYmZS50ZXJhaGFzaCYmKHRoaXMubGFzdC50ZXJhaGFzaD1lLnRlcmFoYXNoKSx0aGlzLmJ1aWxkKCksdGhpcy5lbC5hZGRDbGFzcyh0aGlzLnBvc3RCdWlsZENsYXNzZXMuam9pbigiICIpKSxhKHUrInBvb2wuanNvbiIsNmU1LG8uYmluZCh0aGlzLnByb2Nlc3NEYXRhLHRoaXMpKX12YXIgcj10KCJqUXVlcnkiKSxvPXQoInVuZGVyc2NvcmUiKSxzPXQoIi4vd2lkZ2V0IiksYT10KCIuL2ZlZWQtcG9sbGVyIiksbD10KCIuL2xvZyIpLHU9bi5lbnYuQkFTRSxjPXQoIi4vYW5hbHl0aWNzIiksaD10KCIuL3N0b3JhZ2UiKSxkPXQoIi4vdXRpbCIpO2kucHJvdG90eXBlPU9iamVjdC5jcmVhdGUocy5wcm90b3R5cGUpLGkucHJvdG90eXBlLmNvbnN0cnVjdG9yPWksaS5wcm90b3R5cGUuYnVpbGQ9ZnVuY3Rpb24oKXt0aGlzLmVsLmh0bWwoJyAgICA8ZGl2IGNsYXNzPSJidGN3ZGd0LWJvZHkiPiAgICAgIDx1bD48bGk+Jm1kYXNoOzwvbGk+PC91bD4gICAgICA8c3Ryb25nIGNsYXNzPSJhcnJvdyI+PC9zdHJvbmc+ICAgICAgPHNwYW4+PC9zcGFuPiAgICA8L2Rpdj4gICAgPGRpdiBjbGFzcz0iYnRjd2RndC1mb290ZXIiPiAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmJpdGNvaW4uY29tL3dpZGdldHMvIiBjbGFzcz0iZW1iZWQiIHRpdGxlPSJFbWJlZCB0aGlzIHdpZGdldCI+Jmx0Oy8mZ3Q7PC9hPiAgICAgIDxhIGhyZWY9Imh0dHBzOi8vcG9vbC5iaXRjb2luLmNvbS8iIGNsYXNzPSJsb2dvIiB0aXRsZT0iUG93ZXJlZCBieSB0aGUgYml0Y29pbi5jb20gbWluaW5nIHBvb2wiPjxzcGFuPmJpdGNvaW4uY29tPC9zcGFuPjwvYT4gICAgPC9kaXY+ICAgIDxkaXYgY2xhc3M9ImJ0Y3dkZ3QtZWRnZSI+PC9kaXY+JyksdGhpcy5lbC5hZGRDbGFzcygiYnRjd2RndCBidGN3ZGd0LXMtcG9vbCBidGN3ZGd0LXMtcHJpY2UgYnRjd2RndC10ZXh0LXRpY2tlciIpLHRoaXMuY2FtcGFpZ24mJnIoImEiLHRoaXMuZWwpLmVhY2goZnVuY3Rpb24odCxlKXt2YXIgbj1yKGUpLmF0dHIoImhyZWYiKTtyKGUpLmF0dHIoImhyZWYiLGMuc2V0TWVkaXVtQ2FtcGFpZ24obiwid2lkZ2V0IiwiUG9vbCBXaWRnZXQiKSl9KX0saS5wcm90b3R5cGUucHJvY2Vzc0RhdGE9ZnVuY3Rpb24odCl7aWYodC5zdGFtcCYmdC50ZXJhaGFzaCl7dmFyIGU9TWF0aC5wb3coMTAsMypNYXRoLmZsb29yKE1hdGgubG9nMTAodC50ZXJhaGFzaCkvMykpLG49dC50ZXJhaGFzaC9lLGk9cigiPGxpLz4iKS50ZXh0KG4udG9GaXhlZCgzLU1hdGguY2VpbChNYXRoLmxvZzEwKG4pKSkpLHM9cigidWwgbGk6Zmlyc3QtY2hpbGQiLHRoaXMuZWwpLmhlaWdodCgpO2lmKHIoIi5hcnJvdyIsdGhpcy5lbCkucmVtb3ZlQ2xhc3MoInVwIGRvd24iKSx0LnRlcmFoYXNoPnRoaXMubGFzdC50ZXJhaGFzaCl7cigidWwiLHRoaXMuZWwpLnByZXBlbmQoaSkscigidWwiLHRoaXMuZWwpLmF0dHIoInN0eWxlIiwidHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50OyB0b3A6ICIrKC1zKyJweCIpKyIgIWltcG9ydGFudCIpLHdpbmRvdy5zZXRUaW1lb3V0KG8uYmluZChmdW5jdGlvbigpe3IoInVsIix0aGlzLmVsKS5hdHRyKCJzdHlsZSIsInRvcDogMCAhaW1wb3J0YW50Iil9LHRoaXMpLDUwKSx3aW5kb3cuc2V0VGltZW91dChvLmJpbmQoZnVuY3Rpb24oKXtyKCJ1bCBsaTpsYXN0LWNoaWxkIix0aGlzLmVsKS5yZW1vdmUoKSxyKCJ1bCIsdGhpcy5lbCkuYXR0cigic3R5bGUiLG51bGwpfSx0aGlzKSw1NTApO3ZhciBhPXIoImxpOmZpcnN0LWNoaWxkIix0aGlzLmVsKSxsPWEud2lkdGgoKSsxNjtyKCIuYXJyb3ciLHRoaXMuZWwpLmFkZENsYXNzKCJ1cCIpLmF0dHIoInN0eWxlIiwibGVmdDogIitsKyJweCAhaW1wb3J0YW50OyIpfWlmKHQudGVyYWhhc2g8dGhpcy5sYXN0LnRlcmFoYXNoKXtyKCJ1bCIsdGhpcy5lbCkuYXBwZW5kKGkpLHIoInVsIix0aGlzLmVsKS5hdHRyKCJzdHlsZSIsInRvcDogIisoLXMrInB4ICFpbXBvcnRhbnQiKSksd2luZG93LnNldFRpbWVvdXQoby5iaW5kKGZ1bmN0aW9uKCl7cigidWwgbGk6Zmlyc3QtY2hpbGQiLHRoaXMuZWwpLnJlbW92ZSgpLHIoInVsIix0aGlzLmVsKS5hdHRyKCJzdHlsZSIsInRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDsgdG9wOiAwICFpbXBvcnRhbnQiKX0sdGhpcyksNTAwKSx3aW5kb3cuc2V0VGltZW91dChvLmJpbmQoZnVuY3Rpb24oKXtyKCJ1bCIsdGhpcy5lbCkuYXR0cigic3R5bGUiLG51bGwpfSx0aGlzKSwxZTMpO3ZhciBhPXIoImxpOmxhc3QtY2hpbGQiLHRoaXMuZWwpLGw9YS53aWR0aCgpKzE2O3IoIi5hcnJvdyIsdGhpcy5lbCkuYWRkQ2xhc3MoImRvd24iKS5hdHRyKCJzdHlsZSIsImxlZnQ6ICIrbCsicHggIWltcG9ydGFudDsiKX0oaXNOYU4odGhpcy5sYXN0LnRlcmFoYXNoKXx8dC50ZXJhaGFzaD09dGhpcy5sYXN0LnRlcmFoYXNoKSYmcigibGkiLHRoaXMuZWwpLnJlcGxhY2VXaXRoKGkpLHIoIi5idGN3ZGd0LWJvZHkgc3BhbiIsdGhpcy5lbCkuaHRtbChkLnNpUHJlZml4KHQudGVyYWhhc2gsMTIpKyJIYXNoL3MiKSx0aGlzLmxhc3Q9dCxoLnNldE9iaih0aGlzLmtleSx0aGlzLmxhc3QpfX0sZS5leHBvcnRzPWl9KS5jYWxsKHRoaXMsdCgiX3Byb2Nlc3MiKSl9LHsiLi9hbmFseXRpY3MiOjEwLCIuL2ZlZWQtcG9sbGVyIjoxNSwiLi9sb2ciOjE3LCIuL3N0b3JhZ2UiOjI0LCIuL3V0aWwiOjI2LCIuL3dpZGdldCI6MjcsX3Byb2Nlc3M6MSxqUXVlcnk6Nyx1bmRlcnNjb3JlOjl9XSwyMjpbZnVuY3Rpb24odCxlLG4peyhmdW5jdGlvbihuKXtmdW5jdGlvbiBpKHQpe2EubG9nKCJDcmVhdGUgUHJpY2VXaWRnZXQiKSxzLmNhbGwodGhpcyx0KSx0aGlzLnJhdGU9TmFOLHRoaXMubGFzdD1OYU4sbnVsbD09dGhpcy5jdXImJih0aGlzLmN1cj0iVVNEIix0aGlzLmNsPSJ1c2QiKSx0aGlzLmtleT0iYnRjd2RndC1wcmljZS0iK3RoaXMuY2w7dmFyIGU9Yy5nZXRPYmoodGhpcy5rZXkpO251bGwhPWUmJihlLnJhdGU/dGhpcy5sYXN0PWUucmF0ZToibnVtYmVyIj09dHlwZW9mIGUmJih0aGlzLmxhc3Q9ZSkpLHRoaXMuYnVpbGQoKSx0aGlzLmVsLmFkZENsYXNzKHRoaXMucG9zdEJ1aWxkQ2xhc3Nlcy5qb2luKCIgIikpO3ZhciBuPSh0aGlzLmNhc2g/ImNhc2giOiJwcmljZSIpKyI6Iit0aGlzLmNsO2wucmVnaXN0ZXIobix0aGlzLnByb2Nlc3NTcG90LmJpbmQodGhpcykpLGwuc3Vic2NyaWJlKG4pLGwuc3Vic2NyaWJlKCJzb3VyY2U6d2lkZ2V0LXByaWNlIil9dmFyIHI9dCgialF1ZXJ5Iiksbz10KCJ1bmRlcnNjb3JlIikscz10KCIuL3dpZGdldCIpLGE9dCgiLi9sb2ciKSxsPXQoIi4vc3RyZWFtIiksdT0obi5lbnYuQkFTRSx0KCIuL2FuYWx5dGljcyIpKSxjPXQoIi4vc3RvcmFnZSIpO2kucHJvdG90eXBlPU9iamVjdC5jcmVhdGUocy5wcm90b3R5cGUpLGkucHJvdG90eXBlLmNvbnN0cnVjdG9yPWksaS5wcm90b3R5cGUuYnVpbGQ9ZnVuY3Rpb24oKXt0aGlzLmVsLmh0bWwoJyAgICA8ZGl2IGNsYXNzPSJidGN3ZGd0LWJvZHkiPiAgICAgIDx1bD48bGk+Jm1kYXNoOzwvbGk+PC91bD4gICAgICA8c3Ryb25nIGNsYXNzPSJhcnJvdyI+PC9zdHJvbmc+ICAgICAgPHNwYW4+PC9zcGFuPiAgICA8L2Rpdj4gICAgPGRpdiBjbGFzcz0iYnRjd2RndC1mb290ZXIiPiAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmJpdGNvaW4uY29tL3dpZGdldHMvIiBjbGFzcz0iZW1iZWQiIHRpdGxlPSJFbWJlZCB0aGlzIHdpZGdldCI+Jmx0Oy8mZ3Q7PC9hPiAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmJpdGNvaW4uY29tLyIgY2xhc3M9ImxvZ28iIHRpdGxlPSJQb3dlcmVkIGJ5IGJpdGNvaW4uY29tIj48c3Bhbj5iaXRjb2luLmNvbTwvc3Bhbj48L2E+ICAgIDwvZGl2PiAgICA8ZGl2IGNsYXNzPSJidGN3ZGd0LWVkZ2UiPjwvZGl2PicpLHRoaXMuZWwuYWRkQ2xhc3MoImJ0Y3dkZ3QgYnRjd2RndC1zLXByaWNlIGJ0Y3dkZ3QtdGV4dC10aWNrZXIiKSx0aGlzLmNhbXBhaWduJiZyKCJhIix0aGlzLmVsKS5lYWNoKGZ1bmN0aW9uKHQsZSl7dmFyIG49cihlKS5hdHRyKCJocmVmIik7cihlKS5hdHRyKCJocmVmIix1LnNldE1lZGl1bUNhbXBhaWduKG4sIndpZGdldCIsIlByaWNlIFdpZGdldCIpKX0pLHIoIi5idGN3ZGd0LWJvZHkgc3BhbiIsdGhpcy5lbCkuaHRtbCgodGhpcy5jYXNoPyJCQ0MiOiJCVEMiKSsiLyIrdGhpcy5jdXIpfSxpLnByb3RvdHlwZS5wcm9jZXNzU3BvdD1mdW5jdGlvbih0KXt0LnByaWNlJiYodGhpcy5yYXRlPXQucHJpY2UvMTAwLHRoaXMudXBkYXRlUmF0ZXMoKSl9LGkucHJvdG90eXBlLnVwZGF0ZVJhdGVzPWZ1bmN0aW9uKCl7aXNOYU4odGhpcy5sYXN0KSYmKHRoaXMubGFzdD10aGlzLnJhdGUpLHRoaXMudXBkYXRlRGlzcGxheSgpLHRoaXMubGFzdD10aGlzLnJhdGUsYy5zZXRPYmoodGhpcy5rZXksdGhpcy5yYXRlKX0saS5wcm90b3R5cGUudXBkYXRlRGlzcGxheT1mdW5jdGlvbigpe3ZhciB0PXIoIjxsaS8+IikudGV4dCh0aGlzLnJhdGUudG9GaXhlZCgyKSksZT1yKCJ1bCBsaTpmaXJzdC1jaGlsZCIsdGhpcy5lbCkuaGVpZ2h0KCk7aWYocigiLmFycm93Iix0aGlzLmVsKS5yZW1vdmVDbGFzcygidXAgZG93biIpLHRoaXMucmF0ZT50aGlzLmxhc3Qpe3IoInVsIix0aGlzLmVsKS5wcmVwZW5kKHQpLHIoInVsIix0aGlzLmVsKS5hdHRyKCJzdHlsZSIsInRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDsgdG9wOiAiKygtZSsicHgiKSsiICFpbXBvcnRhbnQiKSx3aW5kb3cuc2V0VGltZW91dChvLmJpbmQoZnVuY3Rpb24oKXtyKCJ1bCIsdGhpcy5lbCkuYXR0cigic3R5bGUiLCJ0b3A6IDAgIWltcG9ydGFudCIpfSx0aGlzKSw1MCksd2luZG93LnNldFRpbWVvdXQoby5iaW5kKGZ1bmN0aW9uKCl7cigidWwgbGk6bGFzdC1jaGlsZCIsdGhpcy5lbCkucmVtb3ZlKCkscigidWwiLHRoaXMuZWwpLmF0dHIoInN0eWxlIixudWxsKX0sdGhpcyksNTUwKTt2YXIgbj1yKCJsaTpmaXJzdC1jaGlsZCIsdGhpcy5lbCksaT1uLndpZHRoKCkrMTY7cigiLmFycm93Iix0aGlzLmVsKS5hZGRDbGFzcygidXAiKS5hdHRyKCJzdHlsZSIsImxlZnQ6ICIraSsicHggIWltcG9ydGFudDsiKX1pZih0aGlzLnJhdGU8dGhpcy5sYXN0KXtyKCJ1bCIsdGhpcy5lbCkuYXBwZW5kKHQpLHIoInVsIix0aGlzLmVsKS5hdHRyKCJzdHlsZSIsInRvcDogIisoLWUrInB4ICFpbXBvcnRhbnQiKSksd2luZG93LnNldFRpbWVvdXQoby5iaW5kKGZ1bmN0aW9uKCl7cigidWwgbGk6Zmlyc3QtY2hpbGQiLHRoaXMuZWwpLnJlbW92ZSgpLHIoInVsIix0aGlzLmVsKS5hdHRyKCJzdHlsZSIsInRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDsgdG9wOiAwICFpbXBvcnRhbnQiKX0sdGhpcyksNTAwKSx3aW5kb3cuc2V0VGltZW91dChvLmJpbmQoZnVuY3Rpb24oKXtyKCJ1bCIsdGhpcy5lbCkuYXR0cigic3R5bGUiLG51bGwpfSx0aGlzKSwxZTMpO3ZhciBuPXIoImxpOmxhc3QtY2hpbGQiLHRoaXMuZWwpLGk9bi53aWR0aCgpKzE2O3IoIi5hcnJvdyIsdGhpcy5lbCkuYWRkQ2xhc3MoImRvd24iKS5hdHRyKCJzdHlsZSIsImxlZnQ6ICIraSsicHggIWltcG9ydGFudDsiKX0oaXNOYU4odGhpcy5sYXN0KXx8dGhpcy5yYXRlPT10aGlzLmxhc3QpJiZyKCJsaSIsdGhpcy5lbCkucmVwbGFjZVdpdGgodCl9LGUuZXhwb3J0cz1pfSkuY2FsbCh0aGlzLHQoIl9wcm9jZXNzIikpfSx7Ii4vYW5hbHl0aWNzIjoxMCwiLi9sb2ciOjE3LCIuL3N0b3JhZ2UiOjI0LCIuL3N0cmVhbSI6MjUsIi4vd2lkZ2V0IjoyNyxfcHJvY2VzczoxLGpRdWVyeTo3LHVuZGVyc2NvcmU6OX1dLDIzOltmdW5jdGlvbih0LGUsbil7KGZ1bmN0aW9uKGUpe2UuZW52LkJBU0U9Imh0dHBzOi8vd2lkZ2V0cy5iaXRjb2luLmNvbS8iLGUuZW52LkJDWD0iaHR0cHM6Ly9pbmRleC5iaXRjb2luLmNvbS9hcGkvdjAvIixlLmVudi5XUz0id3NzOi8vaW5kZXguYml0Y29pbi5jb20vd3MiLGUuZW52LkJVSUxEPXQoIi4vYnVpbGQiKSx0KCIuL21haW4iKX0pLmNhbGwodGhpcyx0KCJfcHJvY2VzcyIpKX0seyIuL2J1aWxkIjoxMSwiLi9tYWluIjoxOCxfcHJvY2VzczoxfV0sMjQ6W2Z1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiBpKCl7cmV0dXJuISEod2luZG93LmxvY2FsU3RvcmFnZSYmImxvY2FsU3RvcmFnZSJpbiB3aW5kb3cpfWZ1bmN0aW9uIHIodCxlKXt2YXIgbj1pKCk/d2luZG93LmxvY2FsU3RvcmFnZTpsO25bdF09ZX1mdW5jdGlvbiBvKHQpe3ZhciBlPWkoKT93aW5kb3cubG9jYWxTdG9yYWdlOmw7cmV0dXJuIGVbdF19ZnVuY3Rpb24gcyh0LGUpe3IodCxKU09OLnN0cmluZ2lmeShlKSl9ZnVuY3Rpb24gYSh0KXt2YXIgZT1vKHQpO3RyeXtyZXR1cm4gSlNPTi5wYXJzZShlKX1jYXRjaCh0KXtyZXR1cm4gbnVsbH19dmFyIGw9e307ZS5leHBvcnRzPXthdmFpbGFibGU6aSxnZXQ6byxzZXQ6cixnZXRPYmo6YSxzZXRPYmo6c319LHt9XSwyNTpbZnVuY3Rpb24odCxlLG4peyhmdW5jdGlvbih0KXtmdW5jdGlvbiBuKCl7dGhpcy5jYWxsYmFja3M9e30sdGhpcy5sYXN0PXt9LHRoaXMuc3Vic2NyaXB0aW9ucz17fSx0aGlzLnNvY2tldD1udWxsfWZ1bmN0aW9uIGkodCxlKXt3aW5kb3dbc10ucmVnaXN0ZXIodCxlKSx3aW5kb3dbc10uY29ubmVjdCgpfWZ1bmN0aW9uIHIodCl7d2luZG93W3NdLnN1YnNjcmliZSh0KX12YXIgbz10LmVudi5XUztuLnByb3RvdHlwZS5yZWdpc3Rlcj1mdW5jdGlvbih0LGUpe2lmKHRoaXMuY2FsbGJhY2tzLmhhc093blByb3BlcnR5KHQpfHwodGhpcy5jYWxsYmFja3NbdF09W10pLCJmdW5jdGlvbiI9PXR5cGVvZiBlJiYodGhpcy5jYWxsYmFja3NbdF0ucHVzaChlKSx0aGlzLmxhc3RbdF0pKXRyeXtlKHRoaXMubGFzdFt0XSl9Y2F0Y2godCl7fX0sbi5wcm90b3R5cGUuc3Vic2NyaWJlPWZ1bmN0aW9uKHQpe3RoaXMuc3Vic2NyaXB0aW9uc1t0XXx8KHRoaXMuZG9TdWJzY3JpYmUodCksdGhpcy5zdWJzY3JpcHRpb25zW3RdPShuZXcgRGF0ZSkuZ2V0VGltZSgpKX0sbi5wcm90b3R5cGUuZG9TdWJzY3JpYmU9ZnVuY3Rpb24odCl7dHJ5e3RoaXMuc29ja2V0LnNlbmQodGhpcy5zdWJzY3JpYmVNZXNzYWdlKHQpKX1jYXRjaCh0KXt9fSxuLnByb3RvdHlwZS5zdWJzY3JpYmVNZXNzYWdlPWZ1bmN0aW9uKHQpe3JldHVybiBKU09OLnN0cmluZ2lmeSh7b3A6InN1YnNjcmliZSIsY2hhbm5lbDp0fSl9LG4ucHJvdG90eXBlLmRpc3BhdGNoPWZ1bmN0aW9uKHQsZSl7aWYodGhpcy5sYXN0W3RdPWUsdGhpcy5jYWxsYmFja3MuaGFzT3duUHJvcGVydHkodCkpZm9yKHZhciBuPTA7bjx0aGlzLmNhbGxiYWNrc1t0XS5sZW5ndGg7bisrKXRyeXt0aGlzLmNhbGxiYWNrc1t0XVtuXShlKX1jYXRjaCh0KXt9fSxuLnByb3RvdHlwZS5jb25uZWN0PWZ1bmN0aW9uKCl7aWYobnVsbD09PXRoaXMuc29ja2V0KXRyeXt0aGlzLnNvY2tldD1uZXcgV2ViU29ja2V0KG8pLHRoaXMuc29ja2V0Lm9ub3Blbj10aGlzLm9uT3Blbi5iaW5kKHRoaXMpLHRoaXMuc29ja2V0Lm9uY2xvc2U9dGhpcy5vbkNsb3NlLmJpbmQodGhpcyksdGhpcy5zb2NrZXQub25tZXNzYWdlPXRoaXMub25NZXNzYWdlLmJpbmQodGhpcyl9Y2F0Y2godCl7fX0sbi5wcm90b3R5cGUucmVjb25uZWN0PWZ1bmN0aW9uKCl7dHJ5e3RoaXMuc29ja2V0LnJlYWR5U3RhdGUhPVdlYlNvY2tldC5DTE9TRUQmJnRoaXMuc29ja2V0LmNsb3NlKCl9Y2F0Y2godCl7fXRoaXMuc29ja2V0PW51bGwsd2luZG93LnNldFRpbWVvdXQodGhpcy5jb25uZWN0LmJpbmQodGhpcyksMWUzKigxNSsxNSpNYXRoLnJhbmRvbSgpKSl9LG4ucHJvdG90eXBlLm9uT3Blbj1mdW5jdGlvbigpe2Zvcih2YXIgdCBpbiB0aGlzLnN1YnNjcmlwdGlvbnMpdGhpcy5zdWJzY3JpcHRpb25zW3RdJiZ0aGlzLmRvU3Vic2NyaWJlKHQpfSxuLnByb3RvdHlwZS5vbkNsb3NlPWZ1bmN0aW9uKCl7dGhpcy5yZWNvbm5lY3QoKX0sbi5wcm90b3R5cGUub25NZXNzYWdlPWZ1bmN0aW9uKHQpe3RyeXt2YXIgZT1KU09OLnBhcnNlKHQuZGF0YSk7ZS5oYXNPd25Qcm9wZXJ0eSgib3AiKSYmZS5oYXNPd25Qcm9wZXJ0eSgiZGF0YSIpJiZ0aGlzLmRpc3BhdGNoKGUub3AsZS5kYXRhKX1jYXRjaCh0KXt9fTt2YXIgcz0iQml0Y29pbkNvbVN0cmVhbSI7cyBpbiB3aW5kb3cmJndpbmRvdy5oYXNPd25Qcm9wZXJ0eShzKXx8KHdpbmRvd1tzXT1uZXcgbiksZS5leHBvcnRzPXtyZWdpc3RlcjppLHN1YnNjcmliZTpyfX0pLmNhbGwodGhpcyx0KCJfcHJvY2VzcyIpKX0se19wcm9jZXNzOjF9XSwyNjpbZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIGkodCxlKXtlPWV8fDA7dmFyIG49MypNYXRoLmZsb29yKE1hdGgubG9nMTAodCkvMykrZTtzd2l0Y2gobil7Y2FzZSAyNDpyZXR1cm4iWSI7Y2FzZSAyMTpyZXR1cm4iWiI7Y2FzZSAxODpyZXR1cm4iRSI7Y2FzZSAxNTpyZXR1cm4iUCI7Y2FzZSAxMjpyZXR1cm4iVCI7Y2FzZSA5OnJldHVybiJHIjtjYXNlIDY6cmV0dXJuIk0iO2Nhc2UgMzpyZXR1cm4iayI7Y2FzZSAwOnJldHVybiIiO2RlZmF1bHQ6cmV0dXJuIjEwPHN1cD4iK24rIjwvc3VwPiZ0aGluc3A7In19ZnVuY3Rpb24gcih0KXt2YXIgZT1NYXRoLnBvdygxMCwzKk1hdGguZmxvb3IoTWF0aC5sb2cxMCh0KS8zKSksbj10L2UsaT0zLU1hdGguY2VpbChNYXRoLmxvZzEwKG4pKTtyZXR1cm4gbi50b0ZpeGVkKGkpK28odCl9ZnVuY3Rpb24gbyh0KXt2YXIgZT0zKk1hdGguZmxvb3IoTWF0aC5sb2cxMCh0KS8zKTtzd2l0Y2goZSl7Y2FzZSAxNTpyZXR1cm4iUSI7Y2FzZSAxMjpyZXR1cm4iVCI7Y2FzZSA5OnJldHVybiJCIjtjYXNlIDY6cmV0dXJuIk0iO2Nhc2UgMzpyZXR1cm4iayI7Y2FzZSAwOnJldHVybiIiO2RlZmF1bHQ6cmV0dXJuIiZ0aW1lczsxMDxzdXA+IitlKyI8L3N1cD4ifX1NYXRoLmxvZzEwPU1hdGgubG9nMTB8fGZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLmxvZyh0KS9NYXRoLmxvZygxMCl9LGUuZXhwb3J0cz17Y29tcGFjdERpc3A6cixzY2FsZUFiYnI6byxzaVByZWZpeDppfX0se31dLDI3OltmdW5jdGlvbih0LGUsbil7ZnVuY3Rpb24gaSh0KXt0aGlzLmVsPXIodCksdGhpcy5jYW1wYWlnbj0hKCJvZmYiPT10aGlzLmVsLmF0dHIoImJ3LWNhbXBhaWduIikpLHRoaXMuY3VyPW51bGwsdGhpcy5jbD1udWxsO3ZhciBlPXRoaXMuZWwuYXR0cigiYnctY3VyIik7InN0cmluZyI9PXR5cGVvZiBlJiZvLmF2YWlsYWJsZShlKSYmKGEubG9nKCJHb3QgY3VycmVuY3k6ICIrZS50b1VwcGVyQ2FzZSgpKSx0aGlzLmN1cj1lLnRvVXBwZXJDYXNlKCksdGhpcy5jbD1lLnRvTG93ZXJDYXNlKCkpLHRoaXMuY2FzaD0idHJ1ZSI9PXRoaXMuZWwuYXR0cigiYnctY2FzaCIpLHRoaXMuY2FzaCYmYS5sb2coIkJpdGNvaW4gQ2FzaCBiYXNlIGN1cnJlbmN5IiksdGhpcy5yb3dzPTU7dmFyIG49cGFyc2VJbnQodGhpcy5lbC5hdHRyKCJidy1lbnRyaWVzIiksMTApO3N3aXRjaChpc05hTihuKXx8KHRoaXMucm93cz1NYXRoLm1heCgxLE1hdGgubWluKDEwLG4pKSksdGhpcy5wb3N0QnVpbGRDbGFzc2VzPVtdLCJ0cnVlIj09dGhpcy5lbC5hdHRyKCJidy1ub3NoYWRvdyIpJiZ0aGlzLnBvc3RCdWlsZENsYXNzZXMucHVzaCgiYnRjd2RndC1ub3NoYWRvdyIpLHRoaXMuY29sb3JzPXMuZGVmYXVsdCx0aGlzLmVsLmF0dHIoImJ3LXRoZW1lIikpe2Nhc2UibGlnaHQiOnRoaXMucG9zdEJ1aWxkQ2xhc3Nlcy5wdXNoKCJidGN3ZGd0LWxpZ2h0IiksdGhpcy5jb2xvcnM9cy5saWdodH10aGlzLnBvc3RCdWlsZENsYXNzZXMucHVzaCgiYnRjd2RndC1jbGVhbiIpfXZhciByPXQoImpRdWVyeSIpLG89dCgiLi9jdXJyZW5jaWVzIikscz10KCIuL2NvbG9ycyIpLGE9dCgiLi9sb2ciKTtlLmV4cG9ydHM9aX0seyIuL2NvbG9ycyI6MTMsIi4vY3VycmVuY2llcyI6MTQsIi4vbG9nIjoxNyxqUXVlcnk6N31dfSx7fSxbMjNdKTsK"}},"time_used":82,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":75,"receive":7,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/logo.png","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.640Z","timestamp":1785123231640,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /logo.png HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: image/png\r\nlast-modified: Wed, 22 Apr 2026 21:10:30 GMT\r\naccept-ranges: bytes\r\ncontent-length: 90407\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":90407,"size_decoded":90673,"mime_type":"image/png","magic":"PNG image data, 2560 x 512, 8-bit/color RGBA, non-interlaced","md5":"92f5cd5c9d6824fa6d5d89ddde96a009","sha1":"3c844cf2d0a2bb2c9048aef5237fc1e33115f7a9","sha256":"f124be258d7d15df61b1fa51e90d7aa131b9f1801f88447c13c68e63453efe43","sha512":"3292eb3f3cfa699cf4741327eccea1602535be8d032de30f401de99369147640b12f0ad0e5b2cc23a981a94db13188f571039d7b6548925b99e8bed0c76767b0","ssdeep":"1536:0ZkRsDmPIqvmWGctdvFOmlYh6GhvrlndTcK7mwnQTCh3qSgJGXoDTVk:KoJtvZtWvr3iTCESgsAVk","tlshash":"8a930232e16b5f94cf59cc35a97a8ec3b21626ab9c0b07c4a374bd237d78b59240d784","first_seen":"2026-07-27T03:07:13.329141Z","last_seen":"2026-07-27T03:34:40.937629Z","times_seen":2,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAACgAAAAIACAYAAABOuzW/AAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAACAASURBVHic7N17kF73eR/25znnvLddAAuAAAmAIAiS4A0kRVHQ1bIs0pUvqZWkmYTqJGlqu27laT2eqSdN2pl2mnXSaeNc3IzbTuo0iTP9o3+AM3aci3xJbNJOLMcWJcVKKMmSoistkYR4AwHsvpdzfv1jQYm6A+Qu3t19Px8SwJx939l9dvec877nnO95nggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADY5XLeBcAuknf9xC8ebHp5X5TmhoiuF6WzjS2QrlRdZHshZvm5Z5eWPvn03/qBi/OuCQAAAAAAAACA3auZdwGwa6yu5vKnXri57vV+NNvu1iilnndJXFslSun6/QsXlpb+3YFu9veejtVPRax2864LAAAAAAAAAIDdSQAQNkXJ+5965Gj0J2+uJ7O31V17U5Si+9+CKZllPavxbLS0dzoc/PNY/eHPx+rq+rzrAgAAAAAAAABgdxIAhM3w8CNVV9e3lRJvz9JeH6UM510S11aJiLaqy7Tf741HwyPjpeGdo+mXPrH28Nmn4pH3tPOuDwAAAAAAAACA3aeadwGwG5w58HzVG0+OVqXcHSVH866H+Wj7vRyPhjnr9VbaqN86quoTceQBQWsAAAAAAAAAALaEACBsgrXnv5S99fFKbzo7VJXSm3c9XHslM6a9XoxHo+zqXM4s90dWx+K6J60PAAAAAAAAAABsCQFAeK0ePls3h+58SzTN26roViJKzrskrq0SEaWuY9rvx2TQj65qehHlWF11p1bqpcOx+qgugAAAAAAAAAAAbDoBQHiNTkfUdVfdU7LcG10x/ncRZcbs5fBfXWdUmRm5HFmd7vXLyYgL/XmXCAAAAAAAAADA7iMACK/R6ECMepPx8WrWHokM414XUImI8WAQk+EwusyIUrJE9EvEXVlVJ/evHBcABAAAAAAAAABg0wkAwmvx8MN1u9S7pZp2N9dtuzeKbWrRlIjoqiqmw0FMB/0odf3yQ3VGnIhS3VrWLxyM1WLdAAAAAAAAAABgUwmkwGtw6sKPNmV98lBUeU+WMsx5F8RcTPv9GPf70TbNVz6WGRlR9pVo76x7S7fH8q8bDw0AAAAAAAAAwKYSAITX4KX2iaa3Prsnuu5EZBr/u4BKlTFZGsZs0N8Y//uVByJLZBORJ7Ptbt+b1wkAAgAAAAAAAACwqZrv/BTgmzn1k+8b7Fs7f6IZrx2tSxlFMeJ1kZTL/3Z1E+tLyzHt9yOqb1gFmixxIku5q+omKxHl2YgsX/8kAAAAAAAAAAB4NQSW4NXJYTXdP6viB6LEyeg63f8WUKmqmA76Me71oq3rb3g8MzKy2lsyT9YxuC1+9neHcygTAAAAAAAAAIBdSgAQXpUS1Uvn9/fb7qEq81hkfGP6i12vq+tYGy1FO+hHeeX435eVyBKll1U5XpVy/552ee+1rxIAAAAAAAAAgN1KABBehZM/8o8GoxgcrifTk9l2e6PYlhbRtKljbc9SzJom4psFADfUUfJIVNV9VelWIsq3fCIAAAAAAAAAAFwNoSW4aiX3jvYdG9ftW+tudihKV0t0LZYSEaWuo+31YjoYRtc03/K5ufH//iztrf3x7Mb4qSeNAQYAAAAAAAAAYFMIAMLVeviRanZp/XjVxTtKiRXhv8U0a5pYH42ibb7j9Ocs0TVR8kj24+0rx547Eg+fNTIaAAAAAAAAAIDXTAAQrta5j+aomu3rTScn6wjd3BZRZsx6TYyXRtFWV7IbzSwZB0rGm5uYXh/vutW+FwAAAAAAAACA10wIBa5Kydffdf/xplT31G17qJSik9uCKRHRVlVM+4OYDAZRriAAmBGZEculdLdXbd688lx/T5SieSQAAAAAAAAAAK+JACBcjQd/uo5uek9kvi0j9kpwLaZZvx+T4SDaptmI9n1HJUuUfkZ1qGR3uqmmR+LHP9hseaEAAAAAAAAAAOxqAoBwFU6evLnpddMT0XW3RymjedfDtVcuj/+dDAfRXdH434iI3PgvYymqeH2ZzU7EmehtaaEAAAAAAAAAAOx6AoBwFfrXHdrTjNvDvdn0YJYw/nfBlIgoVRXj4TDGw2GU+upWgVJiEF3cU1fVjfGlFR0AAQAAAAAAAAB4TQQA4Uo9uNr0L629pavjDVFiOaKYALyAZv1+zPr96OqrzO+VkhmljszrSlVOXz987pZYPdvfmioBAAAAAAAAAFgEAoBwhU6NDtb98fT+0pa7ImI473q49krm5e5/g+iqq8x/ZkZkZJZ2FJl3tHXcGnHCegQAAAAAAAAAwKsmAAhXJoc33ry/N5mdaEp3KEoxvnXBlIjoqiomo2FM+/0o1avZfWaUqJroym1Z8rbl/THa7DoBAAAAAAAAAFgcAoBwBU7+yC8MMmf3VdHdXHXdMCOM/11A034/Jv1edM2rz39mRp1VHovI2/oX44Z478/3NrFEAAAAAAAAAAAWiAAgXIHhcrXcZPeDXcZdUcpg3vVwbZWI6Oo61peWYjoYRJevKf+ZETHMKm/Jurrr4LHv1QUQAAAAAAAAAIBXRQAQrsDei12vN1m7oy7lUIms510P115XVbG+PIpJrxfxqsb/flWJaKKUWzLzdeujp/dsUokAAAAAAAAAACwYAUD4Dl7/3z66f9bb80A1bY9l1w0yivG/C6TERvhvOhjEtD+I8hrG/75CXUpcnxm37i3D6+Lhs0KlAAAAAAAAAABcNQFA+LZKxgvPHs7ovjezHMkIQa0F1DV1rC+Nou01UTbh8+XGn1FEOdFGuSduvVUXQAAAAAAAAAAArpoAIHw7qz+dOZiuVO30TEYcKF3o/reAZk0T60tLMWuaiNyUVSBLlCZKHI3MN+7fW+3fjE8KAAAAAAAAAMBiEQCEb+OGC7eOepPJkd5keiy7MswUAFwkJSK6uo5Zvx/j4TC6ejMbQFYZGddldvc0w3Io3vvzvU385AAAAAAAAAAALAABQPhWVlerIxeW7ijZ/77sukNZiu1lAbVNE+PBILqm3qzuf5eVLBFLJfKm6Lo79t5xZiVi1ToGAAAAAAAAAMAVEzaBb+WxqMpk7aYo7QOZuTzvcpiDzJj2ezFeGkVbbe7uMiMyI+vMOBilvLkps2OxerrZ1C8CAAAAAAAAAMCuJgAI38Lbb31g1J+2h+tpe7SUrj/veri2SkS0VRXT/iAmg2GUTR3/+xVZSuyLjDO97B2NeJN9MgAAAAAAAAAAV0zYBL6Z1dXq/FI5mVV1d9XOVqpiW1lEs34/psN+tM2WhP9iY6BwDiLyltJ1p5ZGf3QwVo0BBgAAAAAAAADgygiawDdx5otH63oyuS+r6g1ZGf+7iMrL43+Hw+g2efzvK2REqSPKSsm8ZxjNibj5h3WbBAAAAAAAAADgiggAwjcx/eyo34wnt1Sz6a1RuuG86+HaKhFRqiomg2FM+v0oWxcAjIzIjOxHKXfVWd0cn5sJAAIAAAAAAAAAcEUEAOEblOxO7j3S67qj1Wy2L43/XUjTfj8mg360TS8ic6u/XC8j7+wibllamS7Hy9OBAQAAAAAAAADg2xBsgq9z5r1/r6lz/D1dlvszK93/FlCpMiajYUwH/eiqa5DFy8zI2BdRbh9MX7w1fuEzg63/ogAAAAAAAAAA7HQCgPB1np30695kel+W7pYoxTjWBVMioquqGI+GMe33I7Zw/O9Xv2jJ0pV+VeKOJpu74nNfWtr6LwoAAAAAAAAAwE4nAAivcOa9j/cOLh083szaE1VX9mWkbWSBlIgomTHr92PS70fbNNfui2fUJfNEKdUdK4M9+yNWrXsAAAAAAAAAAHxbAibwCk+3n97b5vR7opSTWcqgRLkG81/ZTrqqivXRKGaDQZS8pr/+KkoeLNHd1qsu3Rw/+/3GAAMAAAAAAAAA8G0JAMJXlNzTa/fVk/Z7M/NERGmk/xZP19SxtrwU06aJuIYBwIzIyOhXUU5kNvfu7cbL1+yLAwAAAAAAAACwIwkAwivsuzTpN9PxLdF1K3mN278xXyUiSlXFrD+IyWAY3TUOAF5WR1bHuiin61gRAAQAAAAAAAAA4NsSAIQNefd7f/FI12/e0UzbI1UpTRj/u3BmTRPro2HMes21Hv8bEREZUUUXKxnlVN3OTsXf/DUhQAAAAAAAAAAAviUBQIiIWF3NYU5u7CIfzCwHowj/LZzMjQDg0lK0TTO3GkqWQZQ4mlV1/6hbORCrq/bTAAAAAAAAAAB8U4IlEBHxxOkmZ7ND9XR2V+nKckYIAC6QEhFdVcVs0I/JcBClmtOusZSMEnVEXJel3L8nq0PxxXfX8ykGAAAAAAAAAIDtTgAQIvKBPbFST8pNzXR6uCoxp/ZvzNOs14vxYDi/7n8vy8iIXIkS95aMmw7eOxuFQCoAAAAAAAAAAN+EACA8fLaaDeN06VXvyIj9Ecb/LpqSGbNeLybDQbRVFZHzWwUyM6KKfolyJLvqdLPeHI7VR3UBBAAAAAAAAADgGwgAsvDOHHi+Glwa31y15d6IWJp3PVxbL4//nQwG8x3/+5WCSmaJKjOWS9feVyKPRZzUlRIAAAAAAAAAgG8gAMjC6wYH9tddd6yeTQ+n8b8Lqe31Yjrob4z/nWP3v6+R1TCavDdjdsve/jPLYQwwAAAAAAAAAABfRwCQxfbw2Tq6+u4ScboqZW8a/7twSmaML3f/6+bd/e+rspTSzy6Od1mfKnV3ffz848KpAAAAAAAAAAB8jW2TdoF5OB1RV5PpA5H5ulJiNO96uLa+Mv53NIxJvz//8b+vkBEZmaOM7s6l0j8R53v9edcEAAAAAAAAAMD2sn3SLjAHk/5kWE/HJ+quPVpF9OZdD9de2+vFtN+Ptrf9fv0loleiurPN7vY9gxeX5l0PAAAAAAAAAADbiwAgC+vMex/v9fcN7s+23Fp13VIY/7tQXu7+t740iumgH11mRG67VaDJEjdmxG2DdvlQrD5qDDAAAAAAAAAAAF8hAMjCmq49229m3XdH5u2lhPGqC6hUGeOlUUx7vYhtNP73ZZkZEWU5stzWzKo7YtQzphoAAAAAAAAAgK/YfokXuEaq+lJvOJveWZXuSGbRWW2BlIgomTHtD2LSH0TbbNNffylZNroAnpx17V179u0VAAQAAAAAAAAA4CsEAFlIxx8+OxqM4rZ6Nr2p6rrlKLaFRVPqOtZHw5j1e1G23+jfV6oj44aMcnvvwuT6OFvqeRcEAAAAAAAAAMD2IPTEAiq5d9/0+nE7eXcpcUt0pbet419siVldx3h5KWZNsy3H/74sN/7fGxG3Nl3cFR/9leV51wQAAAAAAAAAwPawfVMvsGV+OuvpbKXuytuylMMZaTtYICUiusyY9XqxPhpt3/G/X5UlopcZR0rV3XNo5XoBQAAAAAAAAAAAIkIAkAV0/KdOD5abuK43Xr8xS7cUUTQAXDBd08RkMNgI/23v8b8vqyLicEZ9b3tpfF08fNYYYAAAAAAAAAAABABZNCWvHw9uHGf91rprr8tSbAMLaNZrYry8FO02Hv37ShtjgGNP6bqTvV5958ob7toXRXAVAAAAAAAAAGDR7Yz0C2yWhx+pZmsXT/RKfFdE7suQoVokJSJKVcW0P4j14TBKvWMa6W2MAY441Eb1+q4aXx8//diOKR4AAAAAAAAAgK0hAMhCObM+Ggy6crSatrdlieG86+Haa/u9mAwH0fZ7O2X878uyRK5kyQcGs/ZY7Bv05l0QAAAAAAAAAADzJQDIAik5vXnthoj2lqab7Y/S6aC2gCa9/kYAcIeM/31ZRmRk7I2M+6KXty2vXdoXq6s765sAAAAAAAAAAGBTCY+wOB58rM717oHI6u1RYt+8y+Haenn872Q4iPFwGGWHBQBjo19hE1EORFZ3LPcP3BDPvlkXQAAAAAAAAACABbbjEjDwap0+fK6qZ5MTVdeeyjD+dxHNer2Y9vvRNs1OG//7FRnZK5Gv66ruZNw1EgAEAAAAAAAAAFhgAoAsiJL18aXjdelubrrZ/lKs+4toPBzGdDCIbud1//uKEqVXlXIq2rht6cKKMcAAAAAAAAAAAAtMcITFsPpYnZcuvSFLdXd0McooO7P9G69KiYiuqmIyGsZk0N+J43+/IiOriDiUmadG0R6Pg39eF0AAAAAAAAAAgAW1c1MwcBVOPbtW92bdfdF1t2fEYN71cO2Uy39m/V6MB/2Y9Xo7dvzvZRkRwyhxe5bu1IFLlXHWAAAAAAAAAAALSgCQRZAr4y8Me9P1Y020B0uJet4FcW2VqorxaBSzfj+6nR3+i4iIEqWJ0t0aWd9WD8ZL864HAAAAAAAAAID5EABk17vzL/+DPevV/ndlljuzK0PjfxdPlxnrS0sx7fUjdvD435dlZBWZh6J0d1TdhVviJz+pqyUAAAAAAAAAwALa+UkY+PayNz601Ou6h0rJkxnZm3dBXDslNrr/zfr9GA8H0faaeZe0SUpGxDAzT5SuvnPl2JougAAAAAAAAAAAC0gAkN3twUfrpUtrK/3J7La66w6UrljnF0xXVTEeDaPt96PsgvG/GzJKRF0ijpXo7s72pX0RsVu+OQAAAAAAAAAArpAwFLvaibsv7p11eWc1nR6NthtmCkktinL5T9s0MV5eilldR+yaAGBERNQR5XCUuL3f9G6M1UeNAQYAAAAAAAAAWDACgOxiq9W+6eRIVvF9WcqRjKznXRHXVsmMWa8X68NhdM1uGf/7VSVyFBHHS5a79/RX9s67HgAAAAAAAAAAri0BQHavh09nf3bxUD2dvKmqcn9E2VXt3/jOuqaJ8XAQs101/ndDRmRmqTPyUJf1fVUz2R+rq/bpAAAAAAAAAAALRFiEXeu+Q9N9VZQbm+ns+mhLf971cO3Ner2YjIbRVrt1V5dViXJdlvL6pRLHY9/3GwMMAAAAAAAAALBAdmsqhkW3ulr1q+EtJeq3RulWUve/hVIiolRVTAb9GA+HUerdOf05IyJKjCLieBd55yiWDsbDZ3fnNwsAAAAAAAAAwDcQAGRXevCxd1bVeHqyKbM3VpnL866Ha6/t9WLa3xj/u4tlZFQZZaXL6vX9aXc03vFAM++iAAAAAAAAAAC4NgQA2ZVeOPnCnphOjmcpN5Zi/O8imvZ7MRkONsb/5q5uAJklcykj7x907c1x6bPDeRcEAAAAAAAAAMC1IQDI7vPw2XoynN6RWZ2uZrOVLMV6vkBKRJTMmAyHMRkOolQL8OsvMYwot7TZ3bYy7R+MB1d1AQQAAAAAAAAAWAALkIxh0Zw58HzV77rXRSn3Z+Ro3vVw7U37/RgPBjHr9eZdypbLiMyMKiL2VHWe7g2Xbo4/+25dLwEAAAAAAAAAFoAAILvOi18YV73x7FhV2hsjjP9dRJPhIKaD/iKM//2KEtGLEndmqU7Gl2rrPQAAAAAAAADAAhAAZHdZXa2GNx67s+lmt1Wzdl8W6/giKRHRVVVMlkYx6Q8iFmH871c1EXFTlNmpw0txOB4u9bwLAgAAAAAAAABgay1UOobd79TvHew1VfuONuLuKnMw73q4dkpElMxoe70YDwbR9nf/+N+vk6XE/pJ5qm3bW2744x8ZzrsgAAAAAAAAAAC2VjPvAmDTlJL9n3ikV4/be6qIm6KUhUuALbpSVbE+GsW0348uc2HG/0ZEZESWzF5V4pbMuPPiC+2HI+LivOsCYMfIKCXjsajO7I188f2fqmb3ncqIiGYtSv/CR8tHD5/u4twjJR5+uIvMMu+CAQAAAAAAgIjFScew651578/3Llb9Gw9ejL+TbfeuLGV53jVx7ZSImPZ68fwN18dLK/ui7ffnXdIcZJcRz8669herXvzsl//ir3wqYrWbd1UAzM+Dj5bmY1/4yGC090Rv0qw1g1Fdzy6O6663XHVlXPdKXbeTaVP1l/rT6Xip1y/D6Ophk2XYRhmUqq7KtEyjl2tl2q5Hr78WpV0vXbVezy5Np9Frq+zaOvvtpG1nzb5ZO5qMppfa8eyLXzw6jffGTFgQAAAAAAAAto4AILtFnvrJs4dGs/pPLb90/iearr07SugAuCBeHv87GQ7jmeM3xtrSKKJa2Ann6yXj0Szl586tVL8dP/7GS/MuCIBroJT6hl//yLBXDg7qGA4m7bSfXYyqyCNVl7eXqjoR2R2N0h2sIveXiP0RuT8i92cVe662c3KJbDPKxVLi2Yh4LjKfi1KeKxnnqoinutJ+MavmyW4WT0+H5aXmwmzatvV49tKL61+eXViPH3/jdIt+EgAAAAAAALBQjABmlyixZ/L/7a9n7bsy43gpUUu3LpauaWJ9NIxZr7dQo3+/XomosyvHStT37Tm//qELEQKA7Eyrq9Wxd793WH25Hc67lM1WzfaWtUt/ND13+PR6PJSzedfDznTm5x/vfa65ebhy4MXRhaZZHv76M0fb9oZ7qhL3dt3szl5Wt0aUY5m5HHVExuWGsLkRkP/qK2XZSNJfpYxSR8S+zNgXEbdElI159Jcfr7KOKCWqOmbDSTwXg+YzVVc+1h/t/7fHY+UP4pefebKeXbqY1cpa84Uvr33qJ09NdAq8pjLOPtE7tefIcL26tKOOCZu1WRf7Y/2zD90yjle19m6R1dKcfue54fnxeEe1oW4Gs26y9+Tkiz8T43gk23nXw3ewWqrjp58cXOjNBntGzY6642nYLc0+9ftPrcfqPZNN+YSrpYozXxqeyOmga6rFPQBkLpq1Pd2kWZt8ce3oON6zBfvOs2frG1a+ZziYDvtd85L1m2/rUrc0e+76z6zFG6/4BpuMn3xf/+DtBwezWdfE+csf3fctnu1xj2/y4/1pN/3y2nQtVh/agvMhJWP1scGB4d5B25/U2/H7302P57gtOdxTctyWXJqV+rm1rlo+WJ6++PkSB+9q4199eBaPvMcxBl9ntYqf/bHB/vNfHnSxVm3X9fvVPt6cr2ave+dbLj3mnO8WW61i9d3D/St1vytr33hsvE3Xj7k9fj4iB3tKPb7U9pZH7dODpVncd6qNh6KNcD52V3r4bH34nntGk0HbK4MLX3tMud3WT4/P/fGmOTx77rknL23N+3OuNSeR2BVO/sgvDA/n8A3ZTv7Ppm3vrbrSRBTr94IoETEZjeKFQ9fF+f0r0TU76jr2pioRXUY8U7L7F6Xr/rdn1976h7GaxgCzs5SSR37lqUO9ku/KEm+7/MHLD768a9+5yyVykhmf7Or8jSd/8PpPBVyJUqpj/yyG3dpTy11vuq/XG52osnsgSnljFfH6EuVkRo7mXeYVmpYoT0fEE6XLD0Z2H2gjPj7r6ue7qC59+alD6/HjqUPgFjp+9gujaml4ukT3YEZ388ZH579/vLLlfD4i/lW1fP2//uxDuf7Nvr9r7mypT+594abSjd9VSnndxge3y8/r2y+XEhci4g+qXv3bn/vBw1/65t8g28WJf/a5A12O3lKV9m0ReWDe688VL5csXZQno6t+7ck/ecNHvvV3eOWOvO9Lh+suHqxLvCkyh1tav2XLX7dcIs6XyA9N2vidZ/7kDU/HJrv5V88dLZPuXVnF/SVKf7Prt7y7lkvk56Zd96tPfejIx67o/M/q40v7Rvm6XuQ7q2xvjIiXbxWKl6+eW7a8lcttlP/Q9vKfvvhTb/p0bLbVJ/bsX7p4po7qHVWU6zejXsvfYrmUUiJnJco4I8ellHFmrpcs44h6LUp5obTt09NJPNsbDS81s2q6Pq2m/UvPT/evnZ986v/4YxOhk8W0b/WJg/3Rpe/OjLd0EXsjtsH6vInLpSufn0T/Vy4cmH3C9Iuts2/1iYO9/tr3VHW8NbIsRWyP3/+2XS5ZSpRxKfFCRjybGc+WrvlydtMXoqovNL2cjttJW82atslqtpbNrFedn+1Zm04/+8S5qTD3zjNaffT48tLeH4xS7s6M3rZaHy1vu+XSdZ+dlOafnP8f3vAfNGnY+RY3JcNukv1u+bpSz+7rtd11wn+LpUREyYxpvxfj4SBKXc+7pHnLUsr+jOrWrsubD41+58kvR7w076Lgqjzy5LDXr9+QTf5YRvxHGx/8+t36zl3OjGnpuj+sumotYvXTEatdwDfKOPtE9dS8IgAAIABJREFU72Tv2NJ00O2p3velI1WpXl+W8p0ZgzdHzE5Gyf5Xn7yj3vr0MvJ4RBzPKn4goppmxlN1lg+XqvudG48+/Xjvl57/9POXzr/44utPXIx7chpfvcrJJrh4YLm/bzK5M7ryn2bmm7720e2zv/xmyyXLF6JUl16cPf+BiNgeAcDnP1hNRzcdbar8oYz4T772we318/v65cw4VyJ/sV1vPxoRAoDb3Kzr7W3q9i0Z+SMRcWLe688VL2d0VYl/21XtpyJiUwKA9Xp7oOpVD2VV/7koZWVT67Vs+TssZ8RTJXPPqJ59LCI2PQDYrreH6ia/P0r505kxutr6LC/Ycuk+0I/2D+Odj/1hfPVazre0LybDJup7qqz+XES8LuKrF35eZtnyVi7Xkb/TrccfxOrqZ2N1c8+H7IkXluoyuL+K8hci447NqNfyt1jOjbMQL5+LyMsTeTaWu4iMKE22g6Y6X8rkya6Jz/ea8rkYDT77fDn8iYN//QOfytn7XxhW9fofPffCejzeH8djus4sghw9f2tm/0ei5PdVGXte+di2Wb9fy3Lmp4cxK/Fs9cyFiHPBlsj6wko29XeXKD+aEQcjtsnvf7suZ9nYZ7/iLWTWs4g6I0q3PmnLl+uoz3W98uwsunO9sv50RO+L55f6nz94ZvkLszf9m3NNXa2P17tJb2kwfuFjT07i2J6JbmHb1569ew53s/JDVZQfjMjhtlofLW+75ayr363G7ePxnkc+ExECvzucACA738Nnq6V6fHPJ+nszygHhv8Uz6zUxHgxi2u9HWeDxvxERGZElsyklDmeW183Wph+Ph89ecocOO8nxiFHV1PeWiLt3ZeanlF5kHouI00fO/vnrnnrPqpNBfNWjpTm49tzS3tlL17WxdFeX4++pu/L2iPreqMqBjVe5Et94EXBH62WJmzLipujKn4gq1ko1/sT+/cPfWPnc0491v/rMxyLGzz35pdml+NGT49AlYFO03Tce7O8IXUS33Vb/M2civvTMxiX37VbbFbFJ7ShdteN2g+VyuXVs4s1ag0FEN4tSduhmx66wOfOsv4leXN5wdt17PrZExlWd4t8XUbfh5Z/5aiJi/FciYnVzP+/ynihlnKXssFvkdqmMrCPKgcw4EBH3fTUsGF2JPB9N88lx5ocP3XDwQ+1/HP+++6Hf+2J3sX5pZd/k4pM/9bZ1HWh2oZ/75KC//uItJcrpyFjepdvpsYz2rYN+/PMLUb684w7edpLSfW2ijVcnY1hdvlF74zxhufxzzY0j+CqiLtWlMqs+N2ryk2XWfuy6O45+rJTqE73//QNPt5fW1obTZjy98NL46T39sVDg9jCdTKOpevMug52iRMQCT1fcbfwm2fnOfTSrPbccbLq4O8pGq2cWS9vrx2w4jLbakZext0BWkXE4It9R7d3323Fg7x+FxD47xdlSN6MvXd923T1VlcfmXc6WKWWUmffXw733RcRvzrsc5mx1tbrhbX9q1Hvx4P5q/dwtpSsPddXwh6ro7s2I5Y2Legt1vnAUEfdHKfdnV36iattPl2weO364/y/jl8995OL4P5x7/vCtF+OhdELpNairjXOlO04VUW23zeGDH4w4dtNGonK71XZFFm4fs7NV3Y675y1zI8vUbuYhyXgc0as2rktYfbnGNla5Lvrf4Xmv2jSiNMIrXKkSV3XK53xEO9po+AJzM4uI+OnN/7wXL0SOBiW9OdjuqozYH1W+KSLeFCWiiRyXrv58jMq/WZv2f+Pgz3zg8cn/+qFnlp87d+npz/399XjkEee2d4EbxpeOTSPeXJc4GLv1rU7GMDJviVLujL/561+IvxQX513SrpU79iTMzpO5lFHujoi7s5Q/sfFjb6ftpJyLZvSHa3X373P54BP7S/l4/288/uTFS93FQXSXnou1SwKB89Hr96L4yXOlMuLyG3R2AQFAdriS957+5aP1+oU7q+nkYJay8PNfF0mJiFJlTAb9WB8Ojf+9LKNkiVzOyDuqtr15/929j78Q8WI4GmIHuGHl6WHbVvdnift29xqbgxLl7rqu7o1SfjtSkGkhPVqalYsv7t3bjm/KSftd1SjfXWbdW6qMQ/MubdvIHGTE3RlxV4nyw1GXj+0ZLf/K8ktP/cv6V899YjqdvvjFdx9dj8ydGGWbqzZ2bgfAyIgDEfH8vGt52ZkzEeeeuYKhe9vVrn7B3X12YqfJy136NrcDYER0oQMgc/Fy7nSrOwCWKLv22jibbBYRv3WFz90XEdMtrAWuhA6AfIMyyIzbI+L2LOXPlsynhk37u5ND+39j5cB//4H2zf/Tkxcu7jsfq6YC7Fwlx+0HbmrqfGNsvBrtWqXLYxH5luumex9/NgQAt4wOgPPWy40pR8cyq4eiRPQiZ6V0zw2X8g8i6sf2V8v/Ov/6v/psV+KlF8cHL8bqPVt2CMXXmk6m0dQ9p/y4MiVCbGz38JtkZ3v4kapp467SdW+qSuyZdzlce13Ti+lgELO+VsavkBGllxEHMuJ0fWH9I7F69lKsvseba7a9sr5nT1YX7o8op3fzAXxmVBG5v7Sz+25835dv/aOIT8y7Jq6hx0vvyDNP7a/OP3NHU5V3RxV/JrM6FSHE8G1kRixFxJmMeCAy/+tuOvv9Jqt/fOKXn/rX/fc9++Snfv8j7iq9CnXs0HNAl2/w3jbhv4iv7QC4I2mhtqPsxCYHlzsAdpvaATAieqEDIHNURX+rkt/TiNABkKvRRMQ7r/C552Oj3zbMkw6AfDsZTUYcj4iHm6p6uFTly71u+pu9wTP/uPtrz/7+i+2jT8cT59bikffoCriTrP7e3qZp7siuOxmRg3mXs5Uyy/VZyhti1Ls+Hj77lHV1i+gAuB01kXl9FfF9EfF92ebFqEYfr7vy2/tHlx4rf+13nthTNy/80eTSxYjfmsTq6o69lXa76/V70c1ca+AKZUTMXFbZLQQA2dHOHHi+yumeE1UXdxn/u5gmg0FM+oON8b+7OCx0tXLjr6Uu8vV1r//+aG/9XGxhgwLYFGdLv6m/eFt0eTqragH26WWYWd2bs+m9IQC4AEqeet+n+tO13sHy1DP3lMg/WdXlj5eIE+lY/OpkVBFxXRX5xyLKQ6WOj623k39y/Mxd74uzX/jUk7cefynemPqafAc7uQNgt922mDNnIr70zM7szBYRTpjvMF2145qelMvlbm4HwEFEN9MBkLnayg6AWUps7J+t4XwnGVd1in9fRN2Gl3/mSwdArkJGHIos72mq6odKv3z4UNn7S+2b9/3L7g0f+cKLn/ndC/H3ftzx/w5wcN/wpjKbvD0i9+/+7TPrknlT15U37P+u2z/zwiPxwrwr2pV0ANz2MmM5opyJKs40JX4i+v3PjyN/68Bw729O8wc+nH/r3edeuvDShVh9aBzenW6uyTSy0jiHK1QiohEb2y38JtnRXoq9Kwe69ljVTa/PYn1eJCUiSmaMR8OYDAcR1Y68hL1lysZfg4w8HaXccqRffeipiLXwJppt7MCB50fNWt4XVX16EVbVEtEvUW6rsr43/sHH/0X82F0vzbsmtkTGz32yf/yWZw+NZ0tvrIbNn8mufF9m3LDxIK9NDjPjgTri3hLxF3J58Ks3nnv2F8uj5//gi7H3hXjIeO1vZSd3AKy2W+Gv7AC43Wq7Ilqo7ShVF1F21qtHXu4A2G5qB8BxRK/SAZA56qK/VZ96GlF0AOSKlavbv56PaEcRtRWMedIBkFcjYzkjvrtk95a6i89kln9y4NYzv9yuvv+j50+/7cV4T+qytl2dLXX59O+frKrqDRGxd97lXBvlWNWVN7cXzv9mhADgltABcEfJjH5EnIoop+osP1Jn88XSxm8eXNr7z9u/9nuPV73zzz2/3lw03WWT9HuX32/BFcgIK8zuITHDzvXgajPI+s2ldA9sjP/dYVdBeM3auo5Jf2P8b3Gnz9fIiIyMumQciipu76o4Fj/5vi27PgGvWSk5nKzvz8x7M8ot8y7nWsiIzMhRZnff8euX7553PWy+02ef6N/8q+eOnLhl7/dXOfuZrOq/H6X8Z3E5/Mem6mXEraXrfryeTX+hvnjxrx576dxbD77v2X1x9uwmtpzaPXbslZEutmrg4qt35swOv7XOCfMdZdttAFcmY7M7AG78U6y+zNFWdgCMKFHsn7lC9SwifusKn7xvKyuBK9RERPyVzf+8y3uiZLfDeiVztTKyl5l3VNn9VJ3dP+wN67+48tkP3n/oZz6+N1ZXXfPchg595sM3VFX9QEQeytjMg4LtKyP2R+Tp/vKe47H6hOsyW6Hs0INjIiPrLHFTleWH61L+314/f6nK/X/pQH/f25b/zr+7IVYfHYb75l+T6WTqJ8iVKxE7/OQ2r+DNMDvWqdHBuu6m92eVd0Upw3nXwzWWGeujUUwG/Y3xv3yDjXBRGXTRncq6PRnXvXyZDLaf4488Oay75p4u4t5YpHeaGcPIPJ3R3BOrxc5st/j5x3s3/NpT178wOvBgN5v9Lxnl72fEn8+IQ/MubbfLjDozb6pK/FiT3f+9p8x+6vjy95w+9k/LkptFvtaOPeNebcOD2A9+cIffJGnT2FG23QZwZUpsdgfAjX/cB8b8VFvaATAv/wdXpImId17hc89vZSFwhbawA2DE5aZQ7HqZWWfm7VVWf7FXyv/TlQv/1aH9f+r2+Nn3j8JBzrZS6tmNGeVNGWVl3rVcS5lxYzedfdeeeGH/vGvZlezsd4eMYWbeX2X8j3XT/eJoPP65g6M97z74t3//eKw+7nzuq9Tr99wwyZXLiJjt6JPbvIJXR3aoks3h43uGk3Ksns0OReSOvYbJ1SsR0VVVrO9djsmg76rPt1EiepF5x6x0dy6tXL8873rgWylNLlXR3ltFLlQnvIxoSpSjUVenr//uZw7Pux5eo7Nn6xP/7HMHbjp+4m3DSfmfe1n9wyryv4jM6+dd2sLJ7GfGPVHKX65K/N26euY/P/JLT90c7/ukMPxl7U69UXq7dgCM2IaFXSlnBHeUbuedxnn5pPPmdgAcREQ6oc1cbXUHQPtnrkzGVd1Dty+i3nkvJew2W9UBMPZElqpoCrVgMgaZ8Ya6Kn81xuP/67pJ86cP/cyHjsbDpgFsCz/7/lGWvC1LnI6IpXmXc02VOFpFvHGwZ3BQiGkL2NnvOhlxKLO8p874h9UsfuHQUvvnVv7G+2+94b/7tWXb0NWZTqaS8Fy5EhHN4vRl2e0c7rMjnXzwHw1Gy3Fvdu3Jqi2jLLomLYoSESUzZr1ejPuDaL0gfSd1RB7JyNt7l+KodvNsS2dL3Vb1DZHV6cUcjZrD7Mr9w3G8bt6V8GqVPPloGR4bvP1U5vC/zLb9u5H530TEjfOubNFlxFLG/8/encfJdd1lwn+ec2/dqupN3epuLd2txbYs2+pu2VZrcZzFMSGJiZ0YMjhABmbIAIZ3GAhLVhigMrwhCVsyBt53PLwDw8AnfOjwhglJzITJO0qGEDYpTgLe4ixeJVm7pZbUXVX3PO8f1e3IxEt1q6rvPVW/rzGd2BXpp+6qc+8593eegxud9N5CpN/YnPa/ZvyjTwxjv7r+BiLYB795TQAEclhYs2xJMCguvIccS/u1WpsAuABAthfMZKLRlufbmgAoEDY+m+YIy4oiPhPwRhDTOdqVAIg5iJ4WCtW1ekm+isD7gfRnB2/YMrW18g07OSpjAwsYp3QDiEF0280NURKjy5VqarTyGQtnaDUb7DtZf2M8510FJH9QGxl68+AHv7gFjTG9u8aRFSokhaxLMCEhEPjxNuYidnU0QRrcOlhCvX6Tl64UZEkuXcY7h4VSCfViAjlnCYAvYPEY4BLBzUnBXwkktuhhcmcUx8pxgddBujbrWjIhFCFdDaWTOHDAZmahmVW07mNH19XPHX1d7NyvS/olOu6ALUbkCQGspXNvAHWXS+J/v+nskevXf+pILyqVrp0PtbANZ3UtPrAeyraKZ5uZCfzwekuYCkqITRtqDMStTQBc/KXt7WsysHST1+4EQNn4bJpVB/DZJl870M5CjGlSuxIAe/sAWChUt6PjOIkfLaTu/WdLx1/b/yt/N4yKBUhko+ISl2yCsEddegUiMebo9qQo2zHArWaDfRdgmcBLo8j9ZrxQ+93h3mPfXf4//34Cd9kJLy+mVq3Z0wnTPAGBL26bi9hNrwnPHXdEvnauL6lXr6W0gaKNSF3GRxHm+3pRjwvW/NcEATHATUoxubZ8oisn2ibfegbY76SdJK7KupYskHAk10hu58YjY9uyrsc0SeLo7H19m3sOX1cCftZJHyJ5GwHb0ZtTBGKCWx3wY4z4O4Wq/6GNe966CXd3Z+NtsGchLc5gT2VbxbMdPBj4Jkm7nw5KiKs4bKwltjYBcPGXtrevyYxrawIgQNDGZ9OsGMBNTb72TDsLMaZJ7UoAPDcHwEKhDACgV9Cr6fCBJOKdA8W/uRx33t2Vc/8sDfzmHYOCJgVOEO27dcozyY9K/vq0J15nx1K3mA323UPqo+O30/O3exP+1uDC6VvWfegf1+PO7lzTbUYhKdiGSdM8AqgHvbhtLmJXRxOcsaF/VYyKySZXrW6MpDIgWxHtEkvH/6aFGBfKJaQF6/1sUiT5McbuqojFEVT22zfO5Mc9Dxd9XdscuQNAOetyMiOVCE05cCrrUkwTZhWNfPTRDeXyyBsB/Ec4/QyJTVmXZZpWorDHkZWCFt67aWLzS8Y+rp5uu6cMOQEwd3u8Z2YaX3NXWLNsRTAoPrxlnKVF59YmABYB0Ba0TabamQDIxgpIu34H01GIZaU1DABReJcS02nalQCIPlCQhUIZACAYEbiKxNsKrvBzA5t3XW+pUasrql4YJ7AXxJqsa8kKwYjEpoLXnjW7rrZwhlaywb7rkFhD4PaCx+/62vx7B7f5Gwcqn19rzbXPoVqz7WSmeQIQW+tAp7DpvgmMOOIvrPf0txAYo2QX9S7jowgLpSLSJLG4hyax8X9leT8OX9uOUt3SqUxuDD4VlwFNe4/JrGvJlHMFkJdFwNTaeyypM7/EidnHy+vKT071lIo/BehXCPdSMtwwtW5GcIjQd1Ppb0Q8+oObPvb4RuxX18x0g33TuhxOYg8ebHzNXWHNsnvqoLjwHnIsTdtamwC4AEA2JTQZ8m1NABQIG59Nc4R0OVHEZ4A0vEuJ6TTtSgDEHETQQqHMxQiudeAdhZjvGjx3+iX4zc937wbk1VTZH0eOW0heC6Av63KyRGAjiD0oLQxlXUtHscG+exGjFH4oBv+w0BO/fWhmYsfY3Qd6YBOob0osHNEsA4HAj7cxF7GrowlL5T2MUVubKH0pwRG7w+s+9STBQk8vUmc/+mUhHMENKbV7CENdu+PO5ExFbs1YecjJTxHYmnU5mZIIoExxulzHjqzLMc/hjtlo7MOHh9lbeE3Jxe+Fx1tJjGddlrlULALcRegXGCW/uPHM4eswq644lsYSAFtoZmZZwTv5YwlTQcndB6A5RKsTABtfLAHQZKmdCYCAIBufTZOiOoDPNvli225m8qBdCYC9jR4jC4Uy34Lqc063FCK8e7TKV+J37uvqhrTVMDxQXA/5GUijDHgPYousAXF1oY7NqNzXFWtOq8IG+65HYJMTf9qx8J/On0q/u+e9BzbYCWgNtWrN2iFN8wQEvrhtLmIdNCYolx/a0R87bnLV6gTky+qyo9q62dLxv7UkwXyxCEXdPmdcLjoRIxGinamvbbSJpsmDsZnDJVXTKRFToN2TQCiJmIpcbScqsu9Hntx9oLDpLTdtdX3uh534qxRuJWnHxnQIAo7ABgLfV4jcv58oHv62ic8/3vGJAMHeSeU1ATDoTZI2pQpK7j4AzRFanQDY+GIJgCY7rq0JgFz8y5imxABuavK1Z9pZiDFNalcC4Lk5ABYZYJ5XmcAr5aJ3D1+Yf81gZf8gbDLUPvOcILAH6N7jf59F2ES5G9cVzloKYKvYYG8AgCg64sZCFP1GT6xfHi737cKvfarrT0ErJAXbMGmaRwD1oBe3zUXs6mjCUam4/kJ9op763ZE0BMnZ7Ky7pIUCqkmCejGB7EnPsrDRLNsjaiKJom19yYk1qFTsGmAyxVpfmeI0wGuyriUPSEQQRkHsGN97cizresyi/d8obdmyZZoeb48c3gVoe9YlmbYZIPAaF7lf0In4jsE/OzWIDt5sEuzRb3lNAARyWFizbEUwKD68W/ilRefWJgAWAdAWtE2m2p0AaOOzaQ6xrLSGASAK71JiOk27EgDRB8rJQqHM8xGQQLgR3r+jUOp9zdD7D1guajtUDvQwSrYJvEpEx2+wbI42wKe701hrO3mtaVXZYG8uJo2A+Fcg7xrR6BsGKp9fC3RvyEKtWrMOd9M8AYgtAbBTdO3AZwL0GTh/wW+O4PZC6rcLV/epJQXUSkU7/ndlCCAiOQRgd4+SjTh0W7DhP6YD7N8fs3h+TM5dQ2Ak63LyglSJHtOsLUxlXYsRR/cf7dtyrvQS1ervpvwPwnYtd4MywT0R3Tt6k/pbRj95bH2nJnIG++A3rwmAQA4La5bNrILiwnvIsbR3q7UJgAsAZAmAJhONtjzf1gRAgbDx2TRHWFYU8ZmAN4KYztGuBEDMQfS0UCjzQkhGDtglx38bO70Ub7OkqFYb7YnGJb+P8EO0GxoAAMkEjpeJ0U584K/tCOpWsMHe/DMECg7aB9V/NelJ/t3g+764eebuA4Ws68pCIenKP7ZZKQKBH29jLmJXRxOMmbMbWfZ+yC1UtxKwY/e6DYlqsYj5UsmO/105SlpD4gYVo3G8ZNi+kSYzo5gsOfA6ANdmXUueCEwEXMUomsSsHdWdGYkTs08M9Zyrv0bgz5P8LtiRv11EBQBXR0p/sgT/4+t3H92K2dmOu2a2sA1ndS0+sM7VmTkzM8sK3skfS5gKSohNG1rcjdTSBMDFX9reviYDS0+x250AKBufTbPqAD7b5Gst68rkQbsSAHsbPTUWCmWaUCCwV/I/PrJuaDfuusfWfFqlUnFetc102CvSrjoXkTTuxL1r42Qw61o6gg325nmQnCD0tjhKf/WRM9iFysd7sq5ptdWqNWu/Ns0TEPjitrmINQCaQFSc9q3ZJq/p2KeDUGcmsZjnJgD1QgG1YhH1ovXDrBRJACxL2AofbSufenoYd3ReQ4MJAnVmfoDETtpxqs9CwJHsp/z05oENV2ZdT1eqVNzWe46tZ0/yPRIrBF4FtLJjwYSAUERgixN/qKj0rZt6XnEN9qujZsHBvqkXZwGnsq3i2Q4eDHyTpK0IBiXEmTAbc7rWJgAu/tL29jWZcW1NAAQI2vhsmhUDuKnJ155pZyHGNKldCYDn5gBYKJRpWpnOvQzC/zF8YfRa3NmdKVGt1o+b1jq6KQBjXNzWYBpINwzpOta5EZX9HbXGlAkb7M0L6wf8G538h9b2bPiONe/78lA3Hb9dSAq2YdI0jwDqQS9um4vY1dEEYebOjZFquJbO7QHR2zVXaPOMaqmIajGBJ+0pz0pJJEWSvYK/pietT2Byj03Czeq7R0nJlbfDawdgqWrfSiUSU1qoTXfTpDQXZhWN7bpzwnv/FkLvIDmddUkmUwS0EXTfT+rt4xee2t1JyZwhJwDmbo/3zEzja+4Ka5atCAbFh7eMs7To3NoEwCIA2oK2yVQ7EwAJwcZn0xxiWWkNA0AU3qXEdJp2JQCiDxRkoVCmacIAiFcT+uG1l/vtqFjwxKWKSj3jgt8LYE3WteSPHJ0bB7h7YKBo6YiXygZ78yIIRgBviKRfj938j5U/8HfjnXjKy3Oq1mw7mWmeAMTWl94p7GbWBKF2oZwUvN+MNN1KtW+TtckfARCJarmMapJAzoatSyIQYALiGqb1ywZxupR1Sab7bF04XYbSaQGTWdeSR5ISL2wFMTX4Z4/YYtlquftAYax84sqY0b8D8FYCW7MuyeQDgbUUv9OlfOfm4shNmFVH3IsGu9rlcjiJPXiw8TV3hTXLlgSD4sJ7yLG0f6u1CYALAGR7w0yGfFsTAAXCxmfTHCFdThTxGSAN71JiOk27EgAxBxG0UCizHATXwvE1zuFfDJU+NwG7AK/c/v1xTLcFwLUE+rIuJ48EP+ac38t6MpR1LcGzwd40i9zqyLf3IqoMf+OK7bjz7s4PRkk6/49oWohA4MfbmIvY1dEEQFRf73pXq03EPh2Uwn1eaVYmjWMsFBPUk4543p45QQUIV9LF2xBrje1sNKuqIne+WB2G4xSAzVmXk0ckQbJEYnog6p3Kup6ucNfDxS3DG6dipG8FdSeJ9VmXZHJngNSrFeFnN5efei3ueTj49FJLAGyhmZllBe/kjyVMBSV3H4DmEK1OAGx8sQRAk6V2JgACgmx8Nk2K6gA+2+SLLW/I5EG7EgB7G/1GFgpllovCZoDfBRRfgcp+24y7QkOficdE7SE4DHv+/JwI9kPcHrN2Ge4Kf20pUzbYm+UZIvB9oP/lkW0z0/iJezr681er1qyd3TRPQOCL2+YidgNm8u/O/xwjTW8AMUWpTDsOsWsIgJzDfKmIWpLAO2fH/7YAAUdo0NNfnvRyAnjEOivNqhmbOVwqpph20hRtCvJCSiQnpXQas7LG9zaamH28PHFF/3Uoxj8N+H9NO6LEPA8CvYReDuCnJ+q9t2H28XLWNV2KYAeWvCYABr1J0i7HQcndB6A5QqsTABtfbHposuPamgDIxb+MaUoM4KYmX3umnYUY06R2JQCemwNgoVBmRQhhR+z4A4M9vdeicp+tl68A+3rHIeyBra29IAET8tFLes+eGMy6lqDZYG+Wi+iJyNsEvW90fGQf7vx4T9YltUshKdiGSdM8AqgHvbhtLmJXR5N7W6tJlKS16yVtI9jRHfnmW6WRw3x/P6pJYk93Woqx89immq4awOGOvck1+eMvnOul/E4CO7KuJc/Y6M0ZRhTlchwAAAAgAElEQVTt2Bidnsi6nk419vFDPeiL90bSO0D/PSSDbugy7UegB8QNZPRTm/pLt6//b0d6s65ppYI9+i2vCYBADgtrlq0IBsWHt4yztOjc2gTAIgDagrbJVLsTAG18Ns0hlpXWMABE4V1KTKexBECTQyQSAbtj4PvX9p3dhkrFRsvl+LUv9VLplQ68EoCtr72w9Y6cKRaTYVjgycrZYG9WQFLREa/yxPuGLh+/CZUDHfl8tFat2XYy0zwBiC0BsFPYDazJt1dW4oH+9SNxtTYRea2R7KjSbrG01O3jGPOlEtJCIeuSOoqgWMAWufQqFguDkE00zSq4+0CBPb2b4TgJwnY4viiVnPx0UqzbMcDt8PvfKFFuZ+Tdj8LjNoC2u9s0hUCZ1Azq9X8bD7nvwKyCfO8E++A3rwmAQA4La5bdBgbFhfeQY2kfV2sTABcAyPaImUw02vJ8WxMABcLGZ9McYVlRxGcC3ghiOoclAJqcIrAW4s3Ou9f19rxuXdb1hGTEn50gdYMoW/N9EQQSAJc5+evWVv6uP+t6gmWDvVkpIXKO+yLWf35dD17WiU2AhcSeqZtlIBD48TbmInZ1NLl2+fYdvb529kYHv8WladGOi+wuPoqwUCyhniQQaQmALdQ4BphrIW5NGE3gPY9YuqZpu5ENW0qxuBPCZNa1hEBAUcR2OT+Je2Sf0Va6T8nm0eJkRP6YoO+Es+Y/szwEygSvj5i+ZaL38Ldhv4LbItfCNpzVtfjAeijbKp5tZmZZwTv5YwlTQQmxaUONiXxrEwAXf2l7+5oMLK1MtDsBUDY+m2bVAXy2ydcOtLMQY5pkCYAmx0hsAfEdBeAq3H3AOiiaUnEe8WaIuyHalaYJBMbk/T6VYmuYXCkb7M2lECKSN3jpF9b2RS/ttCbAWrVmHRWmeQICX9w2F7EGQJNn7KmlA8XUfzvErSBt5OkyaaGA+f5e1OPImv9ajyISSpuE2jX9ydFgjzA0gZBY6uOAo5smsT3rckKw2PbcB4/pdenRq7Oup2McUGHiq0evhovuBPQvaMeSmBUi0QfxRiL6gfG5o3swO9vCzpb2C6rYiy3OYE9lW8WzHTwY+CZJu88OSoirOGysJbY2AXDxl7a3r8mMa2sCIEDQxmfTrBjATU2+9kw7CzGmSZYAaPIthnfXxMBt609e2JR1MSHYcNe/HHZwOwFtJK2DoBkChknupF8YR2W/fc9WwgZ7c+kiEje4tPbzI/3Yh7vu6ZgQhkJSsA2TpnkEUA96cdtcxK6OJr/umHVlr4G4Vt3hoLWSvV+7hQCIRH3x+F9v5863SyRgk3fuepdGg7Cnv6ad/usjRXe+frWkSSxmWpimlAhNlYEp2Gf00u3fH285cmKbi/TD8PoeEn1Zl2TCRmLQSa+O6b9/Q9/Lr0JFwdyvhpwAmLs93jMzja+5K6xZtiIYFB/MMPOMpUXn1iYAFgHQFrRNptqZAMjGyki7fgfTUYhlpTUMAFF4lxLTaSwB0OSe3yjwprpLdnZaKlQ7zM/PjdNhL4E1WdcSCgKkMMGouKc/6bHv20rYYG9aIyZ5I+r+HcPnRnbizg5Jfq3W7GGSaZ4AWC9Gx7Dpvsmt6Ss2DtQK2hbV/DC8LxCya1UX8XGMhWIRtSSxWIc2IeAoDFN+W1LkGCr7O2Z3i8mfzYkrg5gWtSPrWgJTELRZLp2c+B9P5+rEy+BIbvO5HZul2g/C6822KGlaaFTgG5PU/eut+45sRiDNuiEnAOZuEnvwYONr7gprVhBvWbPEhfeQY2k619oEwAUAsqmiyZBvawKgQNj4bJojpMuJIj4DpOFdSkynsQRAk3MkAWE7GN2+NqlvhV2Un9+ddxciX98iuSnB2SlDyzNG6IZSnKzNupAg2WBvWqdA8iZG+NmRK3R5SBu8n1fSGX2MZpUQCPx4G3OR8Acw05kqFcfTx8aJ6FWQH6FsWb/b1AoFVHvK8M6GqTaioIKDW0dpurdn3SCs0da0w+xs5AfKIxAmHd141uWEhyXATXPh3FTWlQRL4sinjq8HeAfJ76XjcNYlmU7DUUR4Y93jjrEPPxTE+8sSAFtoZmZZwTv5YwlTQcndB6A5RKsTABtfLAHQZKmdCYCAIBufTZOiOoDPNvnigXZWYkyT2pUAiD5QkIVCmVZwxBrI74ni6IY17/vyYNb15NXg9qkxRNxHaJjogKaZ1UT0gLxCPt2O3/x8OetygmODvWmtMoHXQv6twwNf2hj6s9JatWat66Z5AgJf3DYXsZsxk0/37WChemE0rlV3kxwAvF2musTS8b+1YoKFYgJFwebTBIJO0KiofUnt7DrM2nXBtN76+VeUHNJrSU5DYU+cMiGUIEw5x52YnbVBcQUmPnVmqJzqtVD6PQA2Z12P6TyEInptcXBvjgbXvGHs44dyf0RQsINJXhMAg94kaZfmoOTuA9AcodUJgI0vtlXQZMe1NQGQi38Z05QYwE1NvvZMOwsxpkntSgDEHETQQqFMqzi4LQJfFdGPZV1LXrHqJijtgWQnbayIH4fze0cu1K3JdLlssDctx0E6dzsXaj8y9usHg9jg/XwKScE2TJrmEUA96MVtcxG7OppcmhzAmqhe3xynfgO8CvZQqrukcYxasYh6sQgLf2wvEqTjGkGTURJvwjf+ugf2gTMtxhH1OGIa8nb87wqQcASGQLdjc89NW7KuJzSjs0f7UD2/j/JvJnl91vWYjlagdJXz+IEI0WuwX7neNhfs0W95TQAEclhYs2xFMCg+vGWcpUXn1iYAFgHQFrRNptqdAGjjs2kOsay0hgEgCu9SYjpNuxIAe/sAWCiUaSGqD9I1cPUdqNzXl3U5ufOBz/WzEG0ncAXIUtblBElcD2FXmpSHbeP8Mtlgb9pjDDHvmE/96/GBz/VnXcxK1ao1e9BrmicAca4fZZhlsOm+yZ87ZiM4fwUK8W76+hoGHrNrlq9WTFBLEqR2/O+qkJQAXA/5a9b44igq+4MNBTI5NHtfEqeFy7zcJMhgJ0zZU0nCtFC3Y4CXYds9Dxd7ypqmw1sA3px1PaYrlAFc55zumDh/YgaV/B5/E+yD37wmAAI5LKxZNt0KigvvIcfSnq7WJgAuAJAlAJpMNNryfFsTAAXCxmfTHGFZUcRnAt4IYjpHuxIAz80BsFAo02LEBImXrYkurM+6lLwZRnnCpXiJBEuvWyESsSO3uNTvGvrApweyricoNtibdpGuIfEjw0j2bq3sD7K5uZAUsi7BhIRA4MfbmIvY1dHkzg4gSuS3IfW7CfZmXY9ZZSSqpRLmSyU7/nd1kKAj2Su4aRfFG7Flq7X5m5ZZW01KkRZ2Et4a1y6BwATQlYyiHdivICedq25WUcrBrR56M8XvIPKdxmY6yqA8XknVbh3dc2xd1sU8nxa24ayuxQfWQ9lW8WwzM8sK3skfS5gKSohNG2qsJbY2AXDxl7a3r8nAUlteuxMAZeOzaVYdwGebfK21Fpg8sARAExACI/TahVK6BZX72tb/H5xKxYnaBHIGlF1dLoGHxl3k9qA0ZMcoL4cN9qZNCJDiDMm3Pl3qvxJ3zAb3sLpWrdl+MtM8AYEvbpuLWAOgyZ1k/FxPobqwMU7rY5BsQtVFhMbxv9ViEXXbnbDaeiBdX3D1y/HQE+WsizEdQiJGe9YoiqZFXpF1OSEjQEC9TLFzy9lDdpTyixK39h4bTdP6d0bQ7STsmBazqkiMUri17PTtmM3nA4LgVq6WLM5gT2VbxbMdPBj4JklbEQxKiKs4XJzrtTQBcPGXtrevyYxrawIgQNDGZ9OsGMBNTb72TDsLMaZJlgBowkIQWwrevXx4oDaadTF50Vu4ZZTQdaDWEwx2iSEPCK6V105UtQl3H7AHY82ywd60EYkEwsti4Ef6JseHs65nuQpJwTZMmuYRQD3oxW1zEbs6mnypVFy60HsFGF3Jer2f9jSq6yyUiqglCbxz9jRn9RBSQnLCe27rH+I63Hm3TTTNpfvIE6VijTvgMUnbPnLJ6FxRwJSieBKQDZAvYO09J/trPn0ZwNeL3JR1PaYrFeh4BVK8Yaw0tBeVSu7mXSEnAOZuj/fMTONr7gprlq0IBsXnbjh5UUuLzq1NACyiMY1p3S9pzHK1MwGQEGx8Ns0hljXdHgCi8C4lptNYAqAJzwYQe1PV1sGeWQEAyg4TTtpH0VLrWoDkeATs7T8L+342ywZ702YkhhTp1aWe4htQuS+sgIFqzS5WpnkCENsj3E5h032TKzOHNkax0mspP01GdsRhFxEAkVjo6UG1mEDOhqdVRkJFwl9VUGHr+pfdkMu0IhOWNT39pdhzGqQl1rWCVAAxDmCqb/bISNbl5NbsfUlRfntM90YA+7IuJ5dICfRq5C4sSDoP8AyA0yJOCjgh4DiAYxf9fQLASZCnAD2NRnbIWYFzEi4QqEHhtj+1hbAG0ksjutduuv7HN2Rdzj8X7PZ8l8NJ7MGDja+5K6xZtiQYFBfeULu0r6u1CYALAGR7xkyGfFsTAAXCxmfTHCFdThTxGSAN71JiOo0lAJrAECgAmIjqmBp6/wE77rZyX+KBrSInQfRmXU5HEMYo3VCspmuzLiUYNtibVUBxu6Q3ry3PT6GyP5wOKTtlzywHgcCPtzEXCWegMl3hRDXpXefq252wRfBFW+rsDkvNf/U4xkKxiHqhYOl/GRBQoLg9prvi3FNz9wI4l3VNJmCzinp1eD0it4PSxqzL6RhCicT0mp54ag7Yn3U5uSNx7GOH1heUfpeI11J2r7tIEASqLrAK+SrA0wCf8NLXIH5NdF9DWjuk2J2qLfAcqDn04txTj6yvjm4/VkwvRIN9qA74NO7zxIADBhq7vDVEYpOgq0W3jdBaAAUQBQgFBNxn1gqERkC+Ri79J8zqT/Em5iZ4L0Wg/Woe8Hm7TZyZAY4dtQRAszo8guwJIlqdAAjAN9IFA/x2mA7RzgRAaPH2zd7hpglRHcBnm3zxABaPmTYmQzGAhV8CUGntr9vbB2gB8gEuLUspyHktHQTPpX/c+Lr0x1m6c8/q3wNyaBz3GguI2Jjzh/bdXhlhHamdiqL/DeDprMvJ0vreufEU0T6KQ3ZKSYsQZQmXI3JXo3LgCVR2n8+6pNwLcrA34ZFzxG4p/TfrBke+cRR4KuuKmlGr1hBHBVvyM80RYG1jncN+kiY/KvvjniePbY0WLmxmmg5QYT6TNCsj57BQLqFWLDaO/zWrjmAEYsJ7betjeWSusv8kKjdby79ZkfVrnipFVXctpeluWQdcFUIJ8JOR0mlI/xvMTzNRHkx86syQi6JbBLyBQlfvmFVj2ubRyJA5T/KohH8E8NfVev1v6q70wPHbR88282sdazyAmDv5wi/j2N0HysnY1s1e1T1w0cso3QByk6CEjVaN7nkwsIRMAG1zwGvHe4899CTwxaxLWhIh0DUgB7i8FX7wIDC2KdCOSqDxsczbN9U8L4cgf1yNi1LrblvoEwFpCvk6yA5tZSEgRWBgowspeQmEZ5Dv1hcnokYwLapNf74awDjIWyZBkDr4Z59HBOsoRB6/9Eo11Ut1BkCZXkId7ORWQDmAjuHNPzwAr87+DNUhqV0JgCwXxRC/feRXIfyhHP7Oq37h2Q9il5ZnL/rvGfz7GImTOATUr5S4wxHXgNwsoJdSIioBGAX4uWsOMUxxslBL1wJ4NOtysuQVTwB+DyA7rraVyDEJe0cK+IfjgDUAvhgGOjkmvaTVWNNvRIoLJInFZt3OHJ/br590r0znL7xx5B2f+6Pjv/qyptbUs1RICvD1MH/gAjyINMSPd6gI1lNfs+94h7AGQJMbM4fmknqEl3mP7QWhmHU9ZnV557DQ24taIbZdO5mRA9AH6op6mm5DufA4gNzfyJqcOodexJgGeE2Qs4ycIuEAtwbQ1MQnjl3+BPBw1jXlxbZ7VFyoH5sEcRuBqazryYYa/0+ogThH8DEP/C8p/vNzF6J7T71pbTt3qOvQj+4+D+DBxb//cOzjh3oKaXwVqNf6CLc4cQegPgAJuikZUBwU8QqX1v9x7T0nvn7ydcNnsi4JaBz9FlZHyaK8JgAePhpsMluQC+bdzDuAYf3MlpJjWpkASM9zjPVPkvtLSJ157BjVD3I7gfGsS1kWqQboKQpfV6em4winQNxfq/q5tvz6iwmAjfE5nAuLGgHDRyF9TcCprOvpFiK+UqeO4iMfaer1Raypen/+cTl9juATbS4vExKLjhiHsBVEX9b1LIeAMwK+QuEY2MLO+RyReF8U8SlUKm3Iz+4DsBBkfqrIOe/00Mm5nr9FZbI915dWq8hh4P7Bwflz03HEmwG+ksBVEAZEJJ2WDkigIGgMdNesrfzt105WbsjF3H61Db3/wBp5vwMOlwH2HK+VCK2n4656wlFUKm0aJztIqAmA3p8CcD/I02jHgozkRJQolAGUQZU9XA+hMkEnyAGOhBzU2DABKAIYg501breWriT5PbV15b9HZf+X8h6eUkuliE7PLMgEhNJRgV9EG0P3zbMJfLDgeBKT9wvNTStNjlkDoMmNtPrVJOLILke/WVDB7jC6w9Lxv2mhgAvlMtJCIeuSupqAmOTlgJvqPZ/8/TlrADQrMaskLpy8wqE+Ceb/gawWkyoW1wsC6IdRCcAUUJ+CNQA2SDz/lyfXxV63krwpxIntJZLIFMICiadS4POI+NG6/OeOvG7jsayKOvT6sfMA7gVw79bf/8aH0uH+aUb+jZC/jeBlAoqEOn4+QsIJ2ABGr+5T/Z9OAp9GDjquItdYKw1O3hMA81ZbUywBMCjOB3fKFtnoZUpb2Mfw+O2jhwDcvfh3R9r0icem4OOfA/kmkuE0zhNzgPtfVV+/6/Abxr+QdTlBqgGKw2teIXABjn8Dx9949DvW/03W9ZjndqzRWPTpxb870sh7D2yU05vhcCfB7VnXsyzSV+Gi9x8/r0/Z8Y8rMQegiCATAAEgbfRRB6NCD+Dk6cYh5J9FZX9psFi8JnLR6xx4q8BrIAwwtDTjF8TGMcCl+HNoZKp2Hcb1cfpor4BQ0v/U2EEVQvoZI6Xawggzg7j9sdOonM66olwLNQHQ8b6Fmn/X2UfcAfzn3aubxlzZXxoq9a/zDiORMCxx2JHr5NMrnHPXQbgSZA+9CnKMKcSLPfU5/+ysFl2XeP+WvmTNe+aAzNbcm1GISNUDWzxaJOLv50vRD8/95K5cf4+NyauOf+BmwrDtJ+4pav70eDK/MMFUfQyiAcO0io8iLBSLqJWKjQ6cEHftdAxGADZ4+W3FEobP3TF7DB95U0fuODbtM4SvlyP17RT9VAiPrQjURT3VyNfgOPI/oS2CuNIhml7/qSN/+dRrN5zLuqCsTXzkiaGoVHiNHF4HBbMA2QoCWAcwB6+vkvx4VemfHj6/8St4U76Oh37kLZfNA/gH7N9/7/j5K3/fKXq9I78bXpMCe8jOTgQk0AtqJ7xuXP/RI1966o0bMn+qkyLQG+7FlL0h5ChaaGYGOLaYABikABfMu1mISZNqlNzKBMCuUMXiql1oP3AA8EiyLiFkiwmACjHDyvtGUqkxGTqP8+hxJQQ5fpJoHLea+XQhTL19kBYoBTd6NkQRgHVZV7FylZvnTy9uAhz89b/+I5cmb3HkmwVtYePqFuSP5VmoEQmTgh8C8FjW5aw+MU4PjAu6HkR//n+kgoBTIE/SYwxET9YVvSjHjc7X9/qi3w/AGgBfSKAJgPKNATETlZvnTzXGruccv4bef2ANmO6M5HZD2gvieoHrCBYlnyxuTAvvm94iJNdAeEXJpa+a++nPfwwfvPFC1jU9n1q1hjgqhLvkNxdGGLIxeWQrMiYPWLpwetAxfgU9xhy8RcB1mXocY6G3jDSKgrxh7yyipF5Cm0ldObJ7LP+TYpMvEgd71w6C6XUkt2VdzosiJXAOwn6An5QUxsKKUAL8pJv312RdSubuebjoe5Kr4XgruufoX0lIJZ2UsN9Db5OPvvPR29b/8uHbxh7IW/Pfs9x8c/3JWye+8vj5v/pQFf57Rf0ioC9BuLB4bFwnGwLcywqxm4Gy34EZbBvO4gw2N81/QCMBMNcHf7yYzN+OZjlCXMVhY825lQmAXSFptNApyBX7EN+oOVIDAIbX/Idwny+ZztLTs7SUFeA7UkKj+3tj1pWE6VzjYTFDvQx10K3S6be99NGTR2of8NKPS7hHjUamYLdMLSFYgDjqHDeisr+UdT2rbeSDBzek9HtErifyn1BNuCo9D8jrT0AcRgAXBgJDhJsCi5tRuc/21LyQQAd7goQjMZN1Jd/q1Lt2P33qHfv+6vi793zw+Dv3ft8xVffQ8w0S3g/ys5KOADgnoa4APk/tQGI7HN6wdoMbzvPxDIWkEPYhSX19WVdgTLDCvDqaDlNhArfW+fq3kRiTvS+7xtLxv/WkgPlSCYpyP2fseGw8ZSiAHKfjrvPo6c+6JhOWiY88Uar5+UnRXZ11Lc2QlwD/tOi+7FP+JcAHs66pKUQJwFTMeCrPE81VwPEL5dFYuk3Qt7EruljoAZwjcUDEL9SR/svHb9vwe4tHIYbjTW9KD9869uhjGzb+jnf8QTn8RwCPYPGRdyci0ANoh3PpDaP3HFufdT3BPlvyOXxqNLO4apu7wpoV8opgFwowWWtp0dkSAJerCgDBNYF98yGDPa9csQIWj68Mb3wO691qOtX580sn5wb4jnwmAfBw1pUEqg8UpFDvyzvtVumDN144+c49/7Pma2/30u8JOISAZ03PiNgv+M0DA8Wu2zhfq6bjhNvDQI7/9fBHFeHzgPuChMewdIOdd9R4zHRfX7IQxPc5M4EO9oKEKJDWrHe+7Oyxd+3+3PF37v7l4+d331Kje7n3/t2QPkfpJICFxgwwjD9OKwgogryWXt+OyifKWdfzvKq1EO+EjTEtEN7Ksek4M3dvjOLqwmChWttO7wcoe192Ex9HqBaLqBeLXXSLmG8EHYH1FKZKaXUQQa6YmswMoOyIaUo7si6lKcQ86R5IUf+iL0X3C3gQAcxYuRgJ4Fw6tfWT2TcSZWXkY8f6onJ0A6BXhrL4uFKLKyk1yT/ppT8k3Y89ftvG/3To9WPHs67tkuxm7YlbN/zj+Xr0KyJ+1ouf9tI5dMJDgeekIQAvT1K/O+vm3WCfLbkcTmIPHmx8zV1hzbJbvaC48IbHpZB3SwBcqdzfmj7L0s+7Gsjz1VyqAQIR5Pjs3OLR1cZkxxIAu9kcABfi6NmQpujE45/PvPvGr6rYexc8fw/iYwh9vi+/xrGwOVbcm3Upq+onHi5GjC6DNCnk/yhdNfqrDsPjXil9SMQ/AHo667qawzFJ+xila7OuJNdCTQAkWVsgcTDrSpapwvrT79j9tRPv2vdbx08efoN38fd66cOAe3TxZBcPMsCbrxXwfhucu7VUGhzJen33eSUBH7bYHe8iY9omzKuj6SDiwpfWb/BJssul6TClYJ9FmpWpJUVUyyWkztnxv7khSuiVsIUuunKwsn8NgnzyYFbdrKJ6Nd4IYgfJdVmX86JIgZwH8ECUJvfHtfgpOnxFwImsS2uKWJI47WvqlmNvn60iVy74dUrxSpDXZ11OO6mxkjAH4nN0fNcFH7/zkVvXfREdNB0+fvvo2cd71n/SMfpZEr/toScABn2o6nMhWYZ4lXPaO5px826wbTh5TQAMutmhY4aS7pC7D0BzCEsAXLZn+ufCmootjSiJJQCuXAFoHP4c4PjsfSO8zJgMWQJgF+vtg+jD7T6IIgD5X05biVM/NflYPXa/5+n/SMATi6cbhElcA/gtlOuqBsB1645OOOkGkoOBnMBRlcdjVcYPnHyq/nUS9wJ4GmFMgIuM3NbEuR34tS911ftsWUJNAJRUcIEkAD6fX7397Im37/r0iQt77kydu9XDfUjSVyFdAOAX48w7FsmE4M4+FF+LysFcpgDWqrUwRurnQgBzc1lXYUywrAHQZOuOj7hEta2Sv4nAQNblmNUjAHIO1WIRC8WiHf+bLwQRgRx2kfalSf8GVPbbD8i8qFEcKxfJa+m5M+tamiHJw+uUpIcev330UF3nF1RP7wf4QNa1NYUogtqhgqaxX0G3nqzE4LWPDLCe3ujoXkKglHU9bUFIQArpiIAP1z1/+tFbN3z4+O2jZ7MurS1uZv3R20YeSKvprzHFL0r4B0hVhLE42zxikOJLiml6PZTdLtFgL+x5TQAMutkh1BXBLpW7D0BzBEsAXLak0UAXWhPYN0cUSwBcsVpjUh7a8c9Ap920mVBZAmAXOzcHyuU0iqcJHZoAuOT023Y9SlX/SMKfA/54qA0iJPqcsEkpB1GpBHp3vnzVIicA7FUwJ3DwiIt4b6m2cAYfvPGCwG+A+DqA+awra4r34877fSM+DeT7nYGAEwDhSMxkXUkLVFg/+bZd95/4i0/8oiL/Xd7jtwV+TcJ8p58LTPIy0d8yNIhcpgAWkgKCbjPt68u6AmOCFebV0XSMCTyR4Pz8xriWbof3ueySN+3jowi1YoJ6knT2nWCQSACDXtyTRH4cA8WA86LNanFryj0CpgRdlXUtTVqgwwNK/YMAcOi2jfMqFu4H8EAIO5EJOIIDTpgcmz9+Rdb1rKpZRT1x/wbQvUJQEA2nKyAICxT/CeAHqufP/sKTr1//payLWg1PvnHixGMDG/6kLr7Di38q4Cw6aNGIQA/IqxlxZuwTh4ezqiPN/Sj3PPKaAAjksLBmdczHqzv48JZxlhadLQFwuRoNdKE1gX3zIYMlAK7YYgJgiONzWO9W06ksAbCLhZwAKLGTEwCXHL/w0oe90j+R8AUokEas5yCgH5GfAO7I/VG4rbDmfV8eipRMgtzEEG7yCIE4rNR/8WjZnwGAlO6I9+4LEM5kXV4zSI5CuL5er69DReFNAldDsAmAHojiIC9Vz+szlfrJt91w/4n5uZ9Pye8m8HuAnhKUIsRJTXBdeWYAACAASURBVHMKhJuO5vUd+LUv5+5aUKvWQrwTNsa0gN00mEwNjl4+EkNbo7Q+QtCeBnSZajFBLUmQusiO/80dEUIvge0O2ro+VT/QPTsazQrc83AxqZ29Cg5TJPPf0E0I0Dw8H4jiha80/hm9q184QeBhyR/LuMLmSCUJ065W66pjgCdw/5oY9ZeDupGBH7z5PATgrBf3g+7nHzv0xP915E1XhvGebJWbOX+of/Rv4fA+AH8g4IQUbnvVt5AG6fWSmNF1WZUQhXpVz2sCIJDDwppl9+FBceENhUtTPUsAXKmwnpcs/byrlgC4cjVAIIIcn53rzLtzE5Qe9CxuzAhr/ARgCYCX6lzjuLhAQ6HQFbdKFfpTp2v3pR5/JumxUBOiKPWx7jf2JSfyvwbaAo7VCVD7IA1mXUszCM5DeqTmogfxMzdeAIDTjx45IugLkEI5BjiCw6Y4wp41xc9ZCuBzCXSwJx1qaT3AG/0mVG6un3r7zJePef48hLfB8wCECwjjM7cSl8HxlsG6H81bCmAhsUwXY7pVmFdH0zGohatAXEupL28XR9M+S8f/LpTKWCgmAT+B7lwESCICNChGVy+k8Ub8xF67YzTPa/CpuAzPaQiTWdfSDHl4AschPfTIrZcdWfrn/rybr6f+ATk+mGV9TSMLgC4HOYXZ+7ojF32/YvSPTIC4ieCOrMtpAwE4BeCTPtJ/ePS20U/iR3fXsi4qEzez/viB9ff71N0F4f8hcRQdsmBEoo/klIDrRj6m/ixqCPbZ0mLv01C2VTzbzEzgzQ4d8bHqHuH1/wFqtDFZAuAyPdM/F+JSiQ8gGibHFhMAQzv+GQDgfSO8zJgMncf5xaceAY6flgB4aXobyyKBhkKha26V3v/yU4rw9wDvRSPxPzgiyiTWFktx59/yzCqKImx2wC4QmaxfLJc8npLcF1MWvvn++q3XLRC1x0D38GJDUu5JGHOR28NSnzUAPpdAB3tJKnRaAuA/967dTx9/5z1/nEbuTgF/LOiEwlzNeEEkY0g74ti/GpWDuWoIr1VrQd4KP2NuLusKjAmWdd2Y7EhM5utXUrgWQO7icU17LB1i46MI1VIR9WIxxCXtbkGCRXjsShhfgYmBzl/QMCtTkSsOl4cQuWkAl2VdTlOIecE9UKsvPHTxP37i/omFuFS+34n3h3AMMBqnwpUp7dxaGu6KFMCJhScGXKobCOzKupY2kKQTXvjvpPvVJ1+34W+zLihzFfon3jD6NZC/K+gPABxHx3Qrsd/J7+yJDm/P4ncP9tnS4gz2VLZVPNvBg4E3O4S8ItiFQlzFYWPgtgTAZUoa068gm8CCfKPmSA1o3OaHNz6H+G41naenZ2mZOcB3pCUAXhpLAAyG0tKjqfxnQB1pnNIRFsKViGhtfaFQzLqWdit/5W82QH4GwjDDuMkT4I9E4L1z5waeddxvUckRL38vGMoxwFjjva4p1PwmVGbt2cw/F+hgTwCo1YCDWVfSbhV/6u0zX5531Z/z3n8AwJNoXOmCG/NfCIktSNNXbEhcb9a1XKyQFBq3laHq646sC2PaIcyro+kIkz/zqaE4rW+O0vo6KuzMDLNMJBaKxcXjf50d/5tjAgpwutIjvawH6LekTvNcxmYOlyJiCt5PMoQugsbC4jyAB31p7bMaAFGh53mdotfDko485/8+b8SSc5wSMNXxn9HZ2cjXonUC9krIpGmqXQR4CU+B/CPBvf+RW9d9MeuacoPUY+c/+2h9Xv9V3v+xoNNZl9QifQKnKVwFrf5nN9hnSz6HW4ZnZhpfc1dYs0JeEexCPrxlnKVFZ0sAXK5GBGBoTWDffMhgzyhXrLA0ZQlvfA7r3Wo61fnz5xf/U4DvSEsAvDSWABiMp9+985SLoi9S/Dq8FrKuZ7kklUU/HBfY8Tc8PY4TEPYACCWFbl7AowtOX0XlsvmL/8Wh+a8fgfQFAadDOX6a4IT36Uv7eseDOH55VQU62AsiHImZrCtZHXNvf+nRkxj9XQ9UBDwsqdOaAIuIeNWCS3fjJ+7JT1N4tRbinbAxpgXCWzk2HSNOF66FsN1JpY5vWDDPIuew0NeLalKw5r/8I4A1dLi87JNx3PXVjl/UMMs3UPPlgsO1ji6IBDp5eEkn6PXwkdf1H/vn//6R2txCXe4BEA891/8+bxrHdbtRxZgc/viJsazraafLh769L2a8z4EzjT93xxDBo4Q+zALueuL16x7OuqDcedOb0kPDG7+aRvHvy+NjCuS4lhemAoj1oJsc/+jJ8dX+3YP9ALkcTmIPLm7bzl1hzbL78aC48B5yLE35LAFwpcJ6NrL0865+8wxjs1w1QCCCHJ+dg23xNVmzBMAuZgmAQUkXFo546IDoTmRdy3LRoSxhJPW+lHUtbfWbs2UW4svo3NVwzNXxls9PRwAeTOvuW1P+Km+q1h0eB/AVAue/9X+bP6LG6LivSK7NupbcCXSwJx1qdXRBAuBF3nXF0yfPz82mHu8Beb+X6qE04TaDXlvjiC8fHN6Yn3EyKWRdwcp1zDvDmGyEeXU0HcEtXLhexFUS8tMRb9pKAESiHseYLxWRFgK+AekSbDy/KUrcToftODmXnxtYkw/7FZ9lsgnCDkBDWZfTFGLegffVUbjvOf/9/RMLtZJ/iOCDCCTPSVAJKaZ7mAbRhLkiFbnqfH0dvH8JoMmsy2khQTgG4f8l9LuPvnbDN7IuKLduZl2+/hXKfZjQZ9AJj0eEfgDXxoXaqidaBvvNy2sCYNDNDrayFpTcfQCaQ1gC4LI90z8XVhPY0oiSWALgyhWAxi1igOOz943wMmMyZAmAXSzkBEBS3XardLrYd5xeDwB4GmRYFz0hckQPEfWjsj/o2eALGV24YpxeL4E0mMXJBSsgkIflonvnqk+ffa4XRNARCOEcAwwklLY6n0yPVu6zMzEvFuRgD0gehWKsbkkAfEbl5rlTyYaP1Z17D8B/glBDpyxIkaNe2u36NIaKctF7U6vWgrwVBtCoe24u6yqMCVYuBiHTXSTxqn/zX/qTWu0Kl6YbKFgXWBeRc6gWE9SSIrwd/xsEQTGFy+F55dq41o9wbxtNG4ziWClKNA0hjIasxoLiPOgfYBJ/5TlfU6GvuuSkqAe98OTqFrgyBEokr3HANA6oI6+ra/ee7Ivld7sIu4COuXeQgBMi/rsK8f/9yOvHHsy6oLw79Pqx875YOpiKH/XCPyH0hSKix4NXpsQVmNWqPu4J9tlSXhMAg252sFu7oOTuA9AcwRIAly1pNNCF1gT2zRHFEgBXrNY4+jm045+B0G/MTKewBMAudm4OlAuiS+k5pSmAo1lXsXrefu251CWPQv6Y5IObUQksRcQg0N+xux4UuwkQexTK8b/CBUnfqNfTr6Ny8/xzveTkhQtH4HRQ0qlgEsiIMQF70/JZOwb4YgEnACKtB3upuiQ/s+nC6Tn9D3l9ANRXJaWNe5/wOWEL6vWXAgdzkQxbSAphf2v7rN/ZmJUK8+pogjb5no8Uir2Dk66ebomgsh3/213SOMZCbw/qhbhxNIwJAJ2oEcXaykJ9I37ino5d1DArcB59qNenQV2VdSnNkJQCOurJh5+4Zc3J53vdqfjpBXn/IAM5BhiNZ619AiY3HDqy6kliq6EnVb8cd3mvTkk5FICnSfyll/7LY7cMP3cipfkWT9yy5iQY/4UjPiEguKOCLsbG3dBARG7fUnpq82r+3mmYG6XzmwAI5LCwZoW8ItiFfHhzqKVFZ0sAXK5GA11oTWDffMhg08YVW0wADHF8DuvdajqVJQB2sd4+iD6wKLmLRBGAdVlXsbpqC2dBPA6FcRzrswixR1pGeb4jb3L7f+XvhuVrOwVMMJSNuMRhgAd9gc+f7le5uV6r+0P0eIjiuVWsbsUEjgi6znmsxx2zHfl+W5GAEwC7WmX3+ZO9/i+89JsAHhPYKd+Q8Yja15+kuThFrVathXgnbIxpgfBWjk3w+k/0lVDztwjcDu9tRbhLLC1d1+MYF8plpHGMsLcfdI/GMcCuSI/LHAtTGB7szbomkxP3PFws+vRqRoVJgKEc5z5P4T75+v0v+KpXbl2oOzwk6SEE09KhEuCnC2SnNMg9Y+LzKjvHHRJ2kszFJPqSkBJwQcBBUH/0xOs3/n3WJYXmiejUcaX8Cwp/JYUdKSWpT9RVdaetq/n7RqHOBPOaAAjksLBm2ZJgUFwgtyUXWQp9twTAlQpr3rz0865aAuDK1QCBCHJ8dq4RXmZMhnrQsziLD2v8BGAJgJfqXOO4uEBDobovARCA9zwr8UmA4TUAEhE9i0MqhfqOe0GxNB7R7SUYRPqfAEk4XFf6xbOPHn3O43+XFPqSw965LyicY4AdpU1w8Z6ByYkgfh6rItDBnnSoZV1E1n7yhjPVcuHPvdPvgDocTBrnCyF6BW4vFLA9D0fDF5Iw+raNMa0X5tXRBK1+/HRSXKjucl4bAWe7VbqIjyLUkgS1Ygmy43+DIviYdJu91861/bE1ABoAwOBCXHbktODDOP63MZGcV4T7z5WqL5zsR2o+KZ12wIOCHl+d8i5ZAnErxR0jH1N/1sW0Uv30kT6qei2crsm6llZoJFHi6x7440fnTv5/WdcTpNdduVB36UMgP03o4cDXiXogbHPCVlS0avOzYNtwFnufhrKt4tlmZgJvdgj689N9wuv/A9RoY7IEwGV6pn8uxHmzt/y/S7GYABja8c8AAO8b4WXGZOg8zi8+9Qhw/LQEwEvT2zguLshwJYndmACYFHkBdCfBEHcOMBZZTOernXeTO6soitwWL10nMIhzGEmeo/B1OT6C33rdwgu99viJp4+S/BLgTwfTeESMCdrL3l5rAFwS5GDfSAC01ixg7id3HYui+M9F/hmAUwjls/gCSE44uH2jQObHANeqtSBvhZ8xN5d1BcYEyxoAzapa/wP/rdevLV0Z16obnHyRdvxvV6knBVR7ykiDjZzpZnSCH44cLuNCOobKffY8p9tV5PqLPcMQpkmu6rGVl6BO4Emm+sqpV1/x9Iu9+NQTTy/UwQcAPLgKtbUGUSKxM9Gh6axLaZlZRZqvrZfcTgqbsi7nUi0uLB4T+GfVlJ/AmyYDXOTOh0O3bTy5UJ//jKDPAXzBxd08I+EADIK8YtONxzes1u8b7BOKxdvIU9lW8WwHDwbe7GBTsqCEOJVi4+JnCYDLlDSmXEE2gQX5Rs2RGtA4/Dm88TnEd6vpPD09PYv/KcB3pCUAXprgEwCzLmD1VdPSAr1/GlB4ayNSRKUl9SWhvuOe19pvfHkj4HaTGCZWb6PipZD3hz110NeaSPWr3Fyvyz1OuPsIBNFlQrDfEdsLqG6xZzOLAh3sSQCRHY8GAMd+ZuarSvXHgP4RCLER/FuMQdw939efeQNgISmEfQhfXxC958bkUphXRxOssYHeEdTrr6awQd4H+9zRLI8AiEQtSTBfKkKR/ehD0whrZNELY4zddF9ywnaadbmxmcMlpJgGOQmF0cwtYUHCg1WPF07/W/KWrQuoFh6C+GBAR4yWBE3HjtPokI6OtX0newuFZCfoOyH9TwRPQ/qfnvzo0dvXP5V1QUEj/bz8Ie/xGQFfAkN8wrdEJXpt5rnaqj3pC2VQ+xY+hwFoMzONr7krrFkBf3S6kQ9vGWdp0dkSAJer8fwjtCawbz5ksOeSK1bA4m1NeONzWO9W06nOn186STTAd6QlAF6akBMAgYB3aa3c07GqoJsDGNyWKhIxERX9Qr0Df3IXJkjtBRDKMwDBuSelwoGzj0RNHetbQHLE098r4AWPC84TCZuU8mW9hbO5OhQhM4EO9hKA1I5HW3Ly5OF/9HX8gZcOK+CVtUVFyG8tVdNrcOeBbIMeq7UQ74SNMS0Q3sqxCVdFLj1/fjhO6zcKWks7/7WrKF46/rcI2Y8+PFo8tYtcL0S7Sj1r1uKOOzpwccM06/9n795j5LryO7F/v+feW6/uJrv5JpukSD1GDz4kDfWYGe94h4CRDcb2rh1ERBYINnH+sIMEO8EYXk8WDuB2gN3YHscGvMgfY3jhRYBkEyqI4x3P+LWwxjNjj0dSi5rRiGyKkiiJr+ZDbDbZj6q6dc83f1Q3KWlEsaq7q+79dZ0PRiABil2/UVWde+85v/M9TIerkcPjhA7mXUuHRGIR5MnWhp0dJvpRC9mNW6JOA3i3p9WtEbanizfDuQO7/sNF82l5ADCUzg876TDER/KuZfXUBHTKQ//fhZ/e9mre1awHN35+/6yLou854e/ltXDvv1FQYgWOuxnH2/v1kmYv4q6AD7GTk+1fC1dYp8K9uSnO3nz48uNfSABcKVtNYMvvd3NdBDjkJF1+BDc4PjvXDi8LghyFBMABFhIA7SnXWgIWafD/vZciUeVqLbb6ift4v3uu6pA8AOIhANW8y+kMb8L7N73qF/EHT6Wd/I2rL71+1bnkB5BmrDQdkdxJp2fKZWxGOF3N7GBPOqQtAJN5V1IQv/1PbmXNxt+Q0R8DuAGTN3B30LkdPsYTeCjJd0dcyfBB06Y/AUGQP5tXx8CkXfjTSoncHtcb+5xUDTeog6VZKqNZraAVRQi9n2Y5CJsg/zgWF3biwG8bvoMMVuVrSnypsc9LjwHYkHc5HWpJOi/ojatH2fHRDjPD99el+BRp5xhgEhXCHXRxfCDvWlbtm2fKGeP7QTxKwnruuwBel/hXHvhO3sWsI5q7cfOa5L/tnHvFbAogWYa4y9PvQJ9W+82triwragKg6WYHm1+bgVW4L0Bn2ruJzLYe5+N2/5yt5+flEaUUEgBXLgHahz8bHJ+9b4eXBUGOQgLgYKMgk6FQpAbyVmnHiZaLuAjJ3CMqyYgZSr65vhIAt+jiHtF/FsBo3rV0TtMCTviyOkr/AwA8fyxL0+YFgq9ZOQYYUEJyr1N0eMtv/a31edLVMznYA5JHEgM4knclxTE78fm3W9LXIbwt608TXjud55MjaT3XY4DTZmryVhhAu+45I8NyEBRQaAAM+mbHrN8F5z7tpFFK4bM3SEg0K2U0ymUgHP9rFtunT1UI7ESSPDhUuzqKifBdHkRbdlyrxGodJmAl/Q8A6gRPeba6a+T7Ipv0i294aYpkRztI8yagLPlHnc8O4/jrplde9zW2VCPnPgVyf961rJaAeQmTDu5bF39217W861lPrv+XD92Ui0546IQAkymAhBygEUL3bf3Glb6kAJq9IytqAqDp6UmrM4IDqnBfgM4IIQGwa6X2bZy1JrA7I0pIAFyxtP3wbe34ZyC0lAfFEBIAB5sImgyFkjiQt0onn2NL3smZfNMABzGpGBxs7k5N7KbwtGTj+F+1R86LyLLJmzcbnTcAAihlmvbCCUF2jgH22gWPZ31aMtSg2SMmB3sYvUj1Xgx32qP1DYI3QNodV4mad9zvqtF9mHght+3CSSlp31ZaNRx6nINgpcJVJugbf2t+P73/CUAjedcS9I8AtKIIzVIZrVLJ4tRb8GEkMILMP1sR9+L9PwspgANoqIxhR3cAwEN519IhgVz0xMkLYzrd7d+dT4bmGMVTXnqnF8WtNQIkMQThwPahzQ/nXc9qZK5Vo/QwgAfyrmU1JHgAV0D3l+9EW76Xdz3r0a1y8r73/vsQXs+7llUo03O87LStHy+W2dwoXdwEQKCAhXUq3KGb4u1N4yxPOocEwG61G+isNYHdWWQwvQ8lX0sJgBbHZ1uf1mC9CgmAA2yovVhsNBTK8C6tVdj0Z5EDS5TFtUp6Ai2mc/Yu2Hcx/K+/vVVR/DiInaSZnPtZwL+ReT+NiaNdbc278mt/flXwPwBxzc4xwNgC4HFWsAPHNYijxh1GB3ubMbW9d+0rn77oo+ivIf+WJBNBDHdDaFvcyA5iQzm39dO0mVq8Ew6CYA0YvKkOLNr95ePVsvyeqJk+SKGcdz1Bf6WVCtJyCVk4/nc9oIhhkJ+WtG9sfFuuMdZB/+174WxFLX9Ayg5haWmq+JRK/j3CvYHP7Vns9m9fx/WG0vQ0hW6bB/NUoXMHS7ZSGj/sa0paEXbCRfcRqN37LxST2qvgNwF9J0ub38EX2ci7pvVo5qfGbnqUXgF4UlZn0ogKHHaqpa39eLnI6pNgURMAgQIW1qlwf26KszfELT8ChgTAlbK1prz8fjdDAuDKpYBAmByfnYOZdoFg3aqhttTGYWv8BBASAFdrfg6Uk8HRs30EcJYBuJJ3Jf3VGI/ps5oke1cPIfNESpbs3aDfRRyPjDtlz0IylC6naXh3QtFIV+l/bRNeiC4CfA2AlRRA0mEcGZ8defNFQ+9TDxhN0iMdTHe39VCzUT+DyH0D4A2ZvJFbImxxjD+1KXa5rZ8lJSNLd0EQrDmbV8fAnM3NeA8yPBR5jUIDvitl0DiHRrWCZrkEm1H+wQeRBOBKgHZH1H6fZpvyjLEO+m9m3lXls0NoJwAawQaEU/WssbIGvi8+1KjH8RueOg0jxwADSCTthXBg9I/PmpwM2rTnejVS+jCUmU7/A5mBmPbgdy78YPyHeZezbpECmtcIvETgjbzLWaGygF2JQ38SAPvxIr2wtLQylm8VH3bkiPFmB7tzqgPJ4vKi2m1MIQGwS7f75yy2MfiQ/7caSwmA1o5/BgB43w4vC4IcLWBhadXD4PgZEgBXZ2gYord5bqBERBHQn8fBwhhJ6xWBY6S9WwcCXkC6yLLFO/Qf97WXk0jNfSAfJ2nl7EUBvCTfenW28f6KGvjSmpv24AkYOgYYwjiJZ10cmZzzXTNG9/9KHkkUm7xU9drCr/3kpbTlvw3oLAw/VZDcBGQPpc04t2tb2kxN3grfNjeXdwVBYFboxgn6o9U8KIcnBD+UdylBfywfVuOjCI1KBa2SuWf44ONIJOQIDgF8tFpO9gJz4c0dFMePR0kz2grnDhAYz7ucDgnCAqSTV5LdK07wy2ZmFwSeUubfXsviekqoUjg8lgwdyruUlYjT2aojHwS4L+dSVoXAHMSXIudewQRtzkwZcfH+nTcRxSfk3OsAUmv/sH3rNCyvzfteONvzhF2zbThLT7Az+VbxYZOThqclAdszggPI4izO0gAXEgC7tPQMbbIJzOQHtUBSoH34s73x2eKnNVh/arXlAHmDn8iQALg6IQHQnFKlXAGwUWZOGblDkI/AFtLM4GDz48ZmsBN0T1MYg5GHRBEzFE95l1zq9vjfZXNf+vRVtvRDCFcFWXlgGYL0qZLXp/C7f1fNu5jcGE4ARNYy8R3LhZL3AH0HdlI5P04scAcz3Z9XgEpSStq3lVYNW+lDD4LiMZ1TENiRpP4B18oedmDZ5ORLsCJyDo1SCWmphMy5cPzvOiKgBPBABjywsXzfD2eBhbxrCnpve/0nK/GYDkM6ZOb7LKUg3/GM3ljN0avXSw/WK+7ilJM7DeDhNaywd8gypIMtnx2C9N12QpoRx49HUVTZBLj9hLbkXc5KSfAg3if8i+/O7Xg973rWvQNs3jz+1snhavUPAL4o0t4CAnELHq81rg71/Dktg9H2DA/4ol2CjhwBLl1pJ7MVrbaO2Lk8BAC8Awxd0gHcnnQOCYDdagKIzTWB3VlkCPvEViwBqOVtlbbef1vVBuvVwsICanEFJj+RtxMAB6sJbM0MDUNqULJ29VwygAmA8K0RErsJ1O79LxcMmcmrSaTrYrMn0dxNHz8DYqOZ8VOcFrMTKpVWcPzvHT7GdJzxNQH3t///G0DsEvDM1lZ84iqwmHc5uZA3ueYoSYhMt2b11I3GE+c3V1/6HonnADsNyT+GfkvS0sPYUH4NeWwbbqZgficQB0GQo9AAGPTck7/6J7vi6Zm9kdeopMjmlTpYicw5LI4MIy0lQDj+d51hBGiPh9+P1uIoJjQbkq3WP25RzXkcptxjZpoF6OqCn2p5rTj9DwBwjM3SN6685aHTkJowcDQJoQjEJjl3YPvzl/ddBs7mXVOndlX/QTlCtBfUuJWP2schOSdgspW2JnGMzXv/jWC1Zo49MDsD/CXa/wSfIIKZkfzDHOCKVvjkJLBrT7ujsmi1dYQwWvhgch4wlmtDtpvCQgLgStlqAlt+v5sItz4rlgKKjTavOGd0h0GwntRqNaDpYW38BNAeQBkSAFdsfg6oJe1QKGu3txIxiDOrwkbA70X7tJm8q+lOe35wLnY3TefBA8DWiReGvUsepHA/iJ6fSLAW1G6jutTy8YnZl86sKimsSk6nzr8C8ChgpAEQ3A7iSOaxGdBlc7vE1oLJwR4gybRBYjLvSgpqgq3sN7//VgS+RGILAJMnCxJuFE77N91Ecj2PJt1SYve0Entf6yAolDAlE/RcNtf4HIhHkfmKsUe4YDVIZHGMxVoVrSTsMlhvCJHEMJE9EFfcAxj6y8GNmh8Ux18vxS7Z7xg9RspK/rYgLcJzavqdHW+u9ofNtTjvHE+CWvXP6qMyPQ5F1exg3oV0o9Sqlhy0G8KuvGtZBYmaJfCiEveDvIsJgo8y24bjUbx1sSNHjG+tCzNrphTuC9AZIiQAdu12/5ytmZTlEaVU/P0yxZUA7cOfDY7P3ttdaArWjYWF5UMqbI2fAD6QAHgp70psGmpPV8no/dLA3Sr94suJz/w2MBoHnYmmsw8hm3DRzZn6WJp3KavlSyO7CXxOxGjetXSK4nXIn4yy7AqeP7aqKY6Lv/LUNS/8CNI1K8cAE0go7CPw5KaJ74/kXU8ujA72kkcSAziSdyXF5evZOUnfFXDL1KlGHySMktzbgs9lxjBtpiZvhQG0656by7uKIDDL9DJFYEM5zZ6C14MkShbnLoPuCYB3Dmm5hLRchkL633rEpWOAH4LXY8PZ1h/MAfN5FxX0zqbhUiXKWofhddBQtH5T0Nuim8KXVn7877JrjSuNMjdPxc5NQf4xI/8dyoQ+FbvowL4X9FfvHGU974I6seCa5Yq4B/Q7rT6pCliEx2m67EcXf2ZXOCY9KJyQALiGPpgAjbZSowAAIABJREFUaFJIADTFZshB+xnRbutxPkolwHsIMnUM8J0RJSQArlgKMLbznn+QJ8gMDhP6mKvibyz9+ut3+dvhzz/xz38dMrsA2mchAXCAWU4ABAzv0lqZLbvqW8XSQXiNmbrZWSY0AN7ERZlvAIwjN5751lNw3JB3LZ0SNI0kfkXQqo7/vf3zMn/JueiEiP2AkUZIYhfIZ1SJvw1gTf47mGJ0sCcoeK+QAHh3Nyc+d33Lb738Q8hPS9hCGuxnIWoSdrrhygigmX6ndCalBL5l7k54iVirjbm5iQmzM62FNjEhWBw8g47ZGzADM5577nh0cjc2Ru8v7nNemyQ4mxeaYCWyOEajVkMWRTDSJBN0L6K4m8BD1bg5Ojcx8T4mJmxuuwruQaxl50dAPAbygbyr6UKDwKkWoqk1+WnHDjRbfzH9dtTSaZJ1yMSRGARRo8ehdOHqIwBezbuge5JY+cZ7Q0B5J8FNeZezYsIiiFMLzehM3qUEwcfJvNF+NQ/4ot1aHjkCXLrSTmYrWm0dCXM+pnhn7nQnLZUbEgC71QQQm1sP1+2PZ0gAXLEES01A5gboiMBWOD2158iljzmq6xeXfr1bsln480/6c/+n0a3Gn7z37rXGnss4xgFrE+rOwsICanEFJm/MbicAXsm7EqOGQTUkGZyOJlW8nU69xdrQNsgfBr2NZquPoprMspv4g6dNNwAO/au/395SeoSOO2hkzViAF3khq2ev3kifXtXxv8tazZFpVhdOUPgp2ElC3EzoMJntwsQLFzFxdLBymOUNDvaAIMKRIQHwk2VqXotcdIrigwCsnEj1IYJG0Wrdh69NXsQvoa/XijSTIjp94AHdDMJtaTUbP7mp9jOzedey7tDdin77i2ev/urTg3l0/IAwcTMX2PTejuEh31z8hxT20atMyN6dWNC15bbxVpKgXqnAR2GRZ71i+38bRN3nEO8HjlwAEFKu1qPj5yvMooOKcNjQbiuh/Xmcurhz81tr9UOzerQI56dEnSFwaK1+bm+xAuhgJB2EgQbAfd96p9xSZW9EjOddy0oJ8CBuCpy68nPb3sm7niD4OJEzelpK0RMAi1ZbR0ICoCnOw9qjNdnuZcoGLdZmzdhKsFp+v5shAXDlUkAxQcla/2eN4OdBfJ42txkUGqEfDbvK727AzP/7NhAWwz5BDbX2cdTO1vgJICQArtocxITO4u2tRFh8Pluh7V/9wVCm5qMgDxMwkzq3jEBT4K0WU/MNV3GicYfoGQgbrQyZFN+H9LqL/TX8Gtfkm3Nz4sD1zV+dPAllVwWMEzSxsEVx3CH6zAhG3rwFXMu7nr4ynACYhgTAe4pdfBU+Owm6n4LRBkACG2NiD+abLwH9bQBMIlItY5NHd3w2gj6bdxHrEZW9nmb6V/jFyf8Hf9Dfz2TQP2E2JuiZejo3UslaPwP4faCsNIwEa8BHEZqlEtJKGTK4AyfoGEUlJHd7+MPDQ3tN3oQH97a35isu5iEAB/KupXNqCjwjcApPcc1uZK+Nb6k3FZ2CeHqtfmbvKRG1G8oO7P7z2cIn6s1e9WXQ7ZZoecWjDvANEmfAkM4RFJPZD+bS1P5YvlV82JEjxrfW2ZswH2gWF4bVbr8ICYBdut0/Z/GZ2of8v9VIAEBQGJ+Dj8iQYSbvIgxYwMLSqofB8fN2AuDdkiKDe6EgkxudSA3SrVLLt/YC+AKh7XnXshIeXJDH+5GPGnnXsioTr5cilPdLOCTiY9J7C4qaFnEC1TU+9rbevAThFYh2jtNtb6B+lhtoJbVw7Zgc7NsJgElIALynqwvz1zxx0hMLsjpxRY7AcdfW8sa+X+HTZmryVjjoLS8gikJ72HoX3uGgN547HpWy1mhSbxygMBa6wAZLq5QgrVXRCsf/rn9CJO93QTxM3xyDzO4oCe7muKIUQzs83AESO/Iup2N0dUBTWdpa20a9p5g6Ns/KaQrQ4pr+7J5ihXSHsXjzcN6V3Eu1Wk0I7ACxLe9aVmEB4KnGvN7Mu5AguBuza0tLT7CFWvyenGyv05oVbt9MsTiLw/ZsfUgA7FKp3UJnswnM4ge1QFIAoLnjn4Pei1CwTRAFVavVln5ncPyU0N5ZYnk/XL5EkBYvQxIH5lbpV/5iiPKPS/oJAYXfqPqxiHk4TGeuWc+7lNXYsbG5i8qeJjVKIw+GAjIBF7z46vV//uyaHP+7rBW3piWcANe4sbC3qiQeKNXxCCZert37X19HTA72MHqRysHE0ZZSTVN6hzAbLz/sgB3p1St93zaclBKLp/8GPeYIZJnN5umgc+EqE/TEI9vi0Zb4aJK2tjLzSTj+dzAIgEikpTLq5RIUjv9d90iQ5Cig+xNgL37nLwfrIXMAbN94uRK71mFSB/OupVMCJK95MTp1YWz87bX++eliXHeeU4ChFEChAuhAFLuDRW/UTZIkieS3AjI5Cax2NtNNwJ+6fGzH2bzrCYK7Mbu25AsYgHZkadt24QrrVJgRNMXbm8ZZnnQOCYDdaq9xWGsCu7PIEDIAVywB2J5hybuSoGAyFGwTREEtLCws/c7W+AkgJACu2nBIADRgy+aNj8DxPyO510rT2Y/xft6B06kfMrQ5+Mc10uYeAp+VTKXHXYPwmms1r4Nc05ul2X/5+Rk6nAQwLcnMNj+Bu5DomS0JNuZdS1+ZHOzRvkhFcbjR74CrRtdAd0qC0WZrDnuPnVmp1v8rfDM1eoENeikkAA6G8A4HPVFu1ndE5E9Kfiw0/w0WRRHScglppRKCHwcDBUR03Er5J0cbW7dgQuHaso4wU815dwiZDB3/i4aAN+R1Gke55pM1V2feazSZTYk4bWUbFQkHcFSMDu7569n7867nribkMmjIg5sImGwobu9I1AUB03nXEgSfxOzakivgQ+zkZPvXwhXWqXDPboqzt8ix/FgYEgBXysb95rLl97tpNqShAFJAIML4HHxUhCgkAHYgJAAOsrmQAFhwo7/zyn2K3M8B/nMERvKuZ+U4nyGbnmuW7TYAfuWvNkaMHyG5lzS0c0OcRhSdYLKpNyl9ak4D3lQKIOF3wGdHspI2F33j95oyOdi3EwDTRouYzLuS4lvMeJPwF6wmABIqwbnRNMMG9LtXopT09eUCGxwZEgAHgM2rY1Bozz13PCp5v8O1Wk8RbijveoJ+otIkaaaVcjOLIoXjfweGg9dm56LPuHK6C+//WbizXC+Oq+S8e0jeH6RjNe9yOkWgQWjKUVM9eYFfeip1Tf8OvKYEN9eT1+iNCoFDqNeLm+b4zJuJb2kbyc15l7JybNDrPDJ/Me9KguCTmF1bKmoCYN8P81hLBhfHB1nhvgCdIUICYNduL3HYeq5eHlFKhtaRCycB2oc/h/E5+LAMWUgA7EBIABxgQ8MAzIZCGd6l1ZntX/3bba7V+jmK/wXBXXnXsyrUnFrxNHDFaCoVsGnjyDiUPSPITGqcoAzQeb/Q+uG1rzzckznZTJVp+PgVyplpAAQYkW6v8zwy9luTG/Kupm+MDvaSlDgjqQI5m+fMLZ/hvEiTDYAAAJ8N1yLswMS3+nqVT5upyVvhoLe8FBIAB0B4h4M1d373ho1oaW+cpuOQQiPQACHhW0lyoVEqXZRzdm/Igq4QoOhGJD1WyrgHm6vVvu9mCXpi0/D1SuyzQyDMpP8J8CJuAjz13k9ve6dXr9NslRpy/jTo3+jVa6w1ASVJD8L7Qzh+rpANndujkTiCtsh7ww2AvinyHJCEBsCg0MyuLRU1AdDM4UAfJ9y2mVK4L0BnhJAA2LVSu4HOWhPYnRElTAmsWNo++tna8c9B70VASADsQEgAHGDz7X4gk6FQpJBlAK7kXUlPbP/q327zWfRPI+JLJB6E4YcQSQ0C15D4GUwcNfokKILYDeApAGYaxgheFfWaK8cz7YOJ1t7M//jULJGdBvxFAWkvXqMXJIyT/llggI4BNjnYAyQJR+JI3pUY8C/+0bwiTEOqy+SNHQCiJodNeH+xr1OxSSmxcnhV0EeOCAmAA8Dm1TEotFtp435E0VP02Ug4/ndwCJQcWk7+uz5OvgdgFjR6QxZ0i4ASEpu9wyNbSmPb8IuTpnNwAgAQK836Rjh3AMT+vKvpQgMeb4g8DbJnd7JXt26t+6ZOkexNymAPsP2/GuEO7kv4cN71fJzqQjlxyLbCcVPetayEAHlx0YvnzzW2XM67niD4JGaf9YuaAAgUsLBOhVt2U7y9aZzlSeeQANitdgOdtSawO4sMIQFwxZYSAMP4HHxUBoQEwA6EBMABZjkBUCKiCMC2vCtZc1t+7+WdmS/9V3DR/wDS0hzjXfC6pDfViG7lXclKbZ14aTsj92nAbaWh/YGSpuVxgsPl3qbzueQSwFcoQ8cAE2MADsJpD7728mAEs5gc7AEZrTsvamW3AH/R6jHAECoOHMP+0b5O5qTN1OKdcNBjXggJgAMgvMPBmqumjQfosyMIx/8OEIqAz1x82WXZi6mLvi/nzsnb2SEVrJ6Eioc+7VnfhyMYjIfMdWz38fMVFyWHBByyNBFEsEHHqTT1p3v6QkfZgnBOXmcg2jkGmKwQeqIVx4/lXcrHqZfrieQ2w2iwBYGmAy6A/jyOMcQcBYVm9lm/qAmAQAEL61SYEjTF2Vss4NJHLCQArpStJrDl97tpdH2mEFJAIML4HHxUhMjmg1Kf1VBb2phha/wEEBIAV8tyAiCAdXerNPFCPPq/vPSkb/r/mdBXAOzHeri4ETfg4rcyl9qZD/wIDUfjFJ+lNJp3LZ2SlAE4T+9+ePW/P9DT//ZSdRoeJ0A7DYAAQHCc5LMjtwYkBdDoYE+6sHDahVIluQm485LN/2wkK5BGkQ319QOblMISbfDjQgLgYLB5dQwK6+Ff/ZMRV1/YE2etXeH438EhCQKaWRT9MCuV3qLTm/J+itBi3rUF/dGeuVEF4iMuTu4bfn9hCOthQmewVSP6JxxwOO9COiXBQ7qZtVpT0z+/491ev15rKK5DOCl5QymAikVsI/Dojm9e2pp3PR+VKYoEjgAYzruWFWrC8WJUikL6X1B4ZteWluYoCrX4feRIe53WLIOL44PM4jyd2g8GIQGwS7f75yw+VvmQ/7caSwmA1o5/DnovQxYSADuwgIWlVQ+D42dIAFw1ymi4Eqn1c6skDn/1b7dtqW34b2KHP3TgPwO5Oe+q1gqJGYFv3WoO20wA/P0zZXrdD+iAiNq9/0JR8LKIVynM9vqVrn3lkVsg34BwTjK0q0UYj7Lss5XFVqGmTHrG5GAPSFLiJUzmXYkN9ZuL8yCmQZsNgAIrcG7jFn+r7wmAFm+Fg94KCYCDIbzDwZoq3fKfIqKHmflw/O+AuH0oDbnowe9npdLbacq35OLXRM6CDDPWg0AigQiOW+n9A0lS3Y6J46EJ2KoXXohRSsYhPAbAzlGsREPEaYf4NND7sedy6VSj4XkK4NQHzjorPqFCh0OJokfzLuWjyt5FjtgIaSTvWlaGLYEzjYbv+WRkEKyW2bWlpSfYQi1+T06212nNCo9tplicxWH7mTEkAHap1G6hs9kEZvGDWiAp0D78OYzPwYdFKNgmiIKq1Zb7WQyOnyEBcA04u6NnlgG4kncVKyRiQm7X77y8ZdNv/v1zFcV/CPjfJvFpcl3tC2j4TJd9M5vGxAE7jWEfsHH+xjjlnyU4SksPg8S0wFeZ3upL42VDzWlPnaClFECiLIf9vhI9tv2rf7H+T2gzmwBIwpE4knclNiTVoTrkZ2l0L7ODqoTGMlX6ngBoackq6I+QADgYbF4dg8JyWXrEQ48TqOZdS9A3gmOrlcQ3Iur1hWu3LrG66QLoT0O6YjWWOegS2X5y8aqJeszRPwjsreRdVrAyW68eqCDBIQEH8q6lGxQaEE61ONfb43+XHT3aSirpBTq9AdLQZBDLEA5S/hFIxbkXnJADkhqAGml0BgdqEdlMzORG3pUEwb2YnDUDAF/AALQjS7O2hSusU2FG0BRv7xK5POkcEgC71V5TttYEdmeRYT2t9fdZAvDOdssguC1DwTZBFNTCwsLS72yNnwBCAuCqDQPwdkfPKAKwLe8qOiMRExMOE3Lbv/qDbZt++8X/fHP1pf+9mfkTzsX/B+F+llh/x5BKuArgdUpmN34m0h6BnxVh6fjfFoTzTqUfXZ042pejl282GtNA/ApgqAEQAOR2wevZzA+tu+/fjzGbAGiz7rw0F+t1kjdgdOutF0oAR7xK/Z3MaaYW74SDHgsJgIPB9EFFQfGUmov3R157JZTChWVACEDk5rNS8mbq/YU3L+xawEMP+83Vly+CeIPQQwgz/wNDZEzhYSh6aLjEv+3L03iw5obLGso8DtHhESuzpgI8iZs+y85c/Mf3n+vX66ZXkgZG/UmSJx3xmX697moQcAJGBR3a+h/O338VeDPvmgAAOyejTPeNOGCYdm8iWkI0c34xJAAGxRfBaFuBaw9ihTI5Ceza095eV7TaOkIYLXwwOQ9rYftkuyksJACulGCpiWX5/W4aOi2tcFJAsbXWz6AfIkQYQ2gCvJdarQY0PayNnwDaAyhDAuDKzUFM6Cze3koE5MYqi9HMc8eLuWtix3C8aff4VjB9zP2vk4dQ/enHiZef8MIDEVzN2tetewLAq3L64fXWsMmhePT3TowqzR4DNE7Azuk9dJfh/at0jf7Nt00cnXO/8/LbyHRB4G4zSZbUNoJPZt5tBnSpH6fk5IY2J2FIhzT1CEcAd2Z4Z6neuIEbJDIafL8dkXivmspRf6+SpcRoy2TQS45EmmUwfDZQ0IHQABisieeeOx5Nba8+FM2+f5/LsqFw/O8AIUTpegvuW+lQNI1v/Y3Ht74g/5ucjqkXBfyD9bjbL/h4JCI4t51x9OhQNbl/7vfP3MSXHmrkXVfQhW+eKbfS7GGCByHaSXGUGiBORkl0sp9Hj1+ubK/vaE5PlSo8DchEAyAAEBqicKgaJ4+gIA2A+0qboxZaIwStHlEhEA351gyO7Qr9z0HhZTAaB+8BX7QnjSNHgKtXQgJg0B8e5noZgHbJIQGwS00szdrZesOXR5SSkTXSQkoASBBkLgEy6K0MGWbDdP49LSwsoBZXYG38BPCBBECrx8DmbGgYUAPyS/8pDSHw6Uj8v+GErU/vz7ucT7DU4G/0nnQ11G7RvyDGpzFxwOS8DxcWdruk/IzMrdf4S4r4yjVc78vxv8uaqS4mDi8SeATA1n6+9koRjATuZRQ9M/p7r5678WWs31NKLA72aCcAJjEQjgDuzMX/+HZj85H9NwBkFq87Akp0bkh+sa/TsGkzRRwlYcov+BAvhQTAARDe4WBNvDQ0n8RK/xMRjxAMs7wDQoBApt7hciz/vZuXcBWY8ABVipL30xZedeC0hGY/G3KCnJBwpRKi4Uol3lg7gKHkMzt2DG/Iu6ygO2Nzmysuig7C2vG/dHXQnZqbS/tz/O+yY8xi37ok6A2Adnb/0pVF96AyPYLj56p5lwMAi1E1ihyGQVhtAGzJawbOhfS/wASzbTiugA+xk5PGd9UanEEdZIX7AnRGCAmAXSu1p1ZkbMb+zogSEgBXLG0f/Rya/4KPigCM5V2EAbVabel3tsZPAEvnqIcEwBWbb/dk0ej9UlB07oqcew2ZjDZUTbg4qeyGdASAmTl7AU3CnWPqT+Ff/KP5fr72bHnHJUivgLaOAaY07jI+i0zGGj27ZHSwp9G6c/P8saxFLIBckM2ttxQUt+pxuZ8vmpSS9m1lEHyAI5BlFr9GQTfClsFg9SSO/HffqMb1m5+OPHYLPg5TlANCQBZxrhWX3mtF/sL55/9pffmPLr94ur7h6b0XBU4R3AdpMwyvNQd3R0cgisByjKhaIqvlxEXuPsEfaDQXRgFcg8lZ1wEksfLNS6NePODIfXmX0ymBGYUbPvNn3j+250K/X99Xo3okf1J0pwh8rt+vvyISCQzT8fH7NrhH3wVeybskv8cxm1fZQSWb9xHKQNyiz0zuAv8ExMRysvNv3OVf+XWEP1/jP//1X1evN09k3mgfUVETAC9dMZyCEW7TTPHO3ClOy5POIQGwW+0IQGtNYHcWGcLe0BVbSgA0eXxp0FMZgLDb6N5CAuAgGwbVkGQyFCooPF2Wz16ZqS9ez7uSldjyW/94h4d/iuRmQpamA6Yz+RMNqf+XwF/es+j/9ffPOqezFMZBI6flEBsJPpq0Wvdh4vglTBxbnztzzCYASvBSOAK4c4zUkMcsjR5oIrGURFl1cWLCYWKiL91XaTNF7Oyc9B70hxdCAuAACA2Awap94Te+Vb6u5njcbN5Hnw1T9i6+wcqQ8HRuupW41/xIZRYfXD18/pj3D377BjfXvu8z/7iDGxUUVnzWEwIuioByjKhaBqsJonIJiB1JjijTeFnZLvzR2XP4hf31e//AIG+7/vRSNYY7DPIQTB3lroaok1ESn8zj1S8ufrextfqF16v0JyEjDYAABAxBejLK4gMoQAOgbpIuQkQHB2+rsQEAJApAi1FiOgfsg/b8yXu7XFT+sjT9z0mWgf/2Lv/m5aVfw5+v0Z838M3Lk9nXL/7O+Z/d9cd3+UurFrn2XKk5DnBFGyImJ4Fde9pTkEWrrSOE0cIHk/O2btPQXpORQgLgytlqAlt+v5shAXDlUkCxtdbPoB8iRBgDYCd6Ph811ADvl24ajX2TJIAhAXDl5iAmdOH2Nlh785A/Teh1TBw1ufGz6VvjpYjPELSVCidMO+rExjS+1df4vyVZhmkXR6+AOgzIRgMgABDj3uuzwxifmluvXeW0OQlDAGneRRjj6mgxUYOkxZlMgD6J4qiGVx7r241pUkqgdbNKEawVRyDNPEJe0/oWGrWCVbs+PbMhQuvzlN9JKbSTDwiB8mQG4WwifPeH12Y/GoOuuXJ2q+n938HxvKBwT7teEO3jfssJ3IYqkrFhRBtqiIaqYCkGnSPoEpK7fZY9vRUYzbvkoDMuGaow4hMEDuddS3fUkMOpec319/jfZceOZVUuXoPXGZBmJlQIxAS3Zl6P7vvG2R151+OTGxR8JG+0WZwQyMw3WzYnIu7Km0seWg8kotcP4mbbcJa+YYU6/u7IEeNb6+xNmA80i1cZtR8hQgJgl273z1m8DvuQ/7caCdA+/DmMz8GHZchC818HFrCwtOphcPy8nQB4Ke9KbBoaBmB0o1NQaCLfBfmtNNlw+d7/dgF9+Xi1FPMBCI8Kqt37LxRGg8B7zOKpixNPLeRRwOzGTRfps0lIpo4BFjDuHJ+plOL1uzZjdLAXxMSROJJ3JXYwYUtkHbJ5qC2FhGlrCAe29u3mNG2mJm+Fg94KCYCDIbzDwaol3m+K0uynAOxQSP8bHBLk3Lzi6FxjYf4t/Ltf+PGEt4mjDVcZexvCGwCvCzK71hy00TkwiRBvrCIaHUYyOgw3VIGrJO2jgJdIigQ/7pLoM1HS2pRjyUGnXlAcZ4293utRQGZ2ggrICFxnpjeu/vT+6bzqaClpIIpPee/zaUJcIZE1AodavvJI3rUAm+AER7tpsZL3GeNonV3rbO6mta59gklvP0pWv2jLTxuFWvyenGyv05oVZgRNsfjEzfaVJCQAdqnUbqGz2QRm8YNaICkAMGzCCH5MhIJtgiioWm25t8Xg+CmhvbMkJACuyHw7mI3hMhSsIUEpvM62Mr5085cPFOpRtFNbt+0eV5Z9hsQoDT0ACpz20CuLcZxf892XHmr4yL0r4k0Ai7nV0SUCJdDt87E7hIkXhvOupyeMDvY0Wnee6LOMQB2wmQAoImE5qQHb+vbmJ6UENtslg15yBLLM5Nco6EK4ygSrsu+//qOKS5vbk7T5MKVhhtnJgUHCe+fea8TJm/WhHXc73lXXy7OLHjwJ6RzBcAaQVSSYRHBDJcSjw+1/NtbAcgx+3G4BgqAbYRLvLZeSHXjBUDz+gNpy83TV++wwgYN519KlusDXEcen8izi4uTOesP71+lcLscQr5xqAg6Q7jEcz7fxTnM32JKPJGf1XkKM0PLyptuAPsrDw9Dc8LrRjw2tZttwfAED0I4sbdsuXGGdCjOCpnh70zjLQ1pIAOxW+/HZ2jTLnUtYyABcsaQdLh3G5+CjMhRsE0RBLSwsh0TZGj8BhATAVRsGBRkNhQoKiuB7AF9IfXYRRi/OQrKbLvqMJGNpcNm0I07MRfO38qzCZ7hE6QQEWymA0rgTnt0cl81s9u+K0cE+XKS658gWJLMNgBRLWSsbwqZS/25Om6nFO+Ggx0IC4GAI73CwKrXS0DbE7gm2WmOU2cSeoGsU6FoATjJyr85dunj3+PX/+LaH+COSZwU1QJp8SB5YJBg7REMlRBtriEfbx/2yWmpvFeBdbiElioic4+aUfGrv9fd2YeIF04fjrXdslIdIHKJQgCS4rjQgTl2/leWbvDdB30hL1yV/BkBuSYTdIuBAbXTwB8eHrj2QazFjY4gcHWm0O0AAwRa5vhIAHZzR5CHb7nZ5XUs2v2gAXAEfYicn278WrrBOhSlBU5y9+e7lMS0kAK6Urevw8vvdRNj/t2IpIBBhfA4+KkIUEgA7EBIAB9kcxBCuFKwdAk1BJ1ux/nr+1569knc9K7Fh4u82if4QgJ0kzczPC1iE4rOEO4Nf/lyuyXsz9ep05v2kHGYtrW+R3Ergiaha2YIJrb+R0ehgTzqkLQCTeVdiR6vJFsk66M18/z5IQBIrquHs1f59aEtJ314qsMORIQFwANi8OgaFUXLa4+U/R2CDxTmVYGUEIXNcEPW20vSti1+/dLcEQOD5Y1ka6U3P7AyBGciHK4sFJBg5sBIjGqkiGh1CvHEIrlaGK8UgCX5Cd0L7zx0hbI6cO5q1dB+e+YLZXoN175sql2qVRyF3AISZJwMJGcmrok7PHdt5Ne96htO5hgOmQJg6BphgDcIhl3Pz58a5WYoRIZlc6SQheGUZ0nXT3eDKVUleSxE0Qd8I8n7OcbQaAAAgAElEQVT5xMyeMftBLWoCoJlllI8TvuKmFO4L0BkiJAB27Xb/nK1bo+URpRQSAFcuAdozL2F8Dj4sQxYSADsQEgAH2FD7lMsQrhSsFS+cFfgXmXgOsNP49UFRpTRO554BYCoFjsC05E8stFz+qXsTB5p0/hw8zsDLzDHAgByIPT7NPrOx/Jqp978jRgd7SUpcOJy1G67cbEmqy2oCoEPi1axhY/8SANNmavJWOOgtL4UEwAEQ3uFgxb4w8UIcN+o7k7T1GIRq3vUE/UPA+zh6L42Ssy7adgOY+MSbrltvYFbgW5LeI9joV53BCpCAI1wpghuuIBkbQbRxCNFQtd3418WNASHKYYiOj7IUjY/NzYRjgAtqLJmpROIhEAfyrqUrRN377JRDNpV3KQBw/uTuRh3VUxJNNQAKKItuv+Qfwdcv1u79N3pjdnijyMzD2XyQBwBPutgn6+b+2jcWSTpSYbqgvwg61w6V7CGzbThFTQA0ffh3+IqbUrgvQGeEkADYtVK7gc5aE9idESUkAK5Y2j762drxz0HvRUBIAOxASAAcYPNzAMyGQgXFs0jiRz7F39z6laeu5V3Mijx3PILXHkhPEhzJu5xueGAaUfTKXHM21+N/lymNLwF8BbR3DDCJZ9FaNHb8cweMDvYkCUfiSN6VWFIG4Gy+4QAg0EVxX+tPSglCm2nwUY4ICYADwO5gGeTu1o3GVifsj1rpFiIc/ztIBGRe0YnMld64PDNz71n9mbe9fPNNODflobunBQa5ax/3W0Y0OoRkbLid/lcrtxv/uj+PkAQiRtEoPR8bcbd24/jrIQaiaCbkktRt8cRBQXvyLqdLddC9Pps2T+ZdCIClY4B1XV5TEi7mXU6n2A7tHI6IJ/aIuTWBMpV86jLJm+wOEOAIlTJlZlI0O+HhEZqD+q8fEzRmn/WLmgAIFLCwToUZQVO8vWmc5TEtJAB2q/2oba0J7M41LDz6rdhSAmAYn4OPyoCQANiBkAA4wEICYLCGJExl1PGZuPFu3rWs1Kan9u6MiGcIbgJMHQG7SLl3W/JnMXG0EOtJ139i/hJivSzghgzdpJEcAfVIpcb78ftnynnXs6aMDvYyWneefBZFAhLI1Dh2ByGftfr6xqfN1OKdcNBjXggJgAMgvMPBijFdOCjwaQBDedcS9AslwvsoqgP60cLijbPnD5y8d6Lf88d83Np41ntMEbwh2V0eXa8YObBWQryxdvu4X1ZLXSX+3e1Hg6jQ4WnfbD2yqVkKKYAFs+vIpUopWzjspIM0NDsuoEVgmpnO3Pj5/TfyrmfZcDrXUOROQSpEKmGnJA1J/jCJR/OqwaVejkwJGs3REgXEUexMHwT6Qa5clZOTGPYL5sH3eELZ7LN+URMAgQIW1ikzl/8AAJy9R6nlfUQhAXClbF2Gl9/vZkgAXLkUaAcwh/E5+LAIUUgA7EANtaWNGbbGTwAhAXC1QgJgsEYEXAbwgm9lL+Ir/6AQCXQrQReP0+EZUNbS3y556SXvMJt3IbcdPdqC3AUApwks3PPfLxDB7Wq18MxwY2F9HQNsdLAnHdK8izBGyaKD88lKUkoKQfKRY4YNzb7dnCaldZVREKyRkAA4GGxeHYNCYL3+kJMOwSsc/zsgJEFiK0viC0rwbmnjxhuY+OTjf5f/6pXUzTDz7wh6j0Q4BrggGDm4agluQxXJpmFEG4cQD1XbDYFrdC8tMAb4AOLS7lJpeH3tMlsHmPqqAx8neTDvWrrDOsgpx2Idt3v+5L9ttJrZlIjTpnaDAjHJbXDuwO7j58ZzqWGD5J1aVhMACdLRJfR+3Txd+8YiQU/K6OSKXYLkI7mejiEmv2jA7ZS9Qi1+HznSXqc1y8zlKgBsJk0unWkeEgC7dLt/zuJl2If8v9VYSgC0dvxz0HsZspAA2IEFLCytehgcP0MC4OqEBMBgDQhM5fkDD/f8jVfOncu7nhX7/TNlQvvh+BBAU2t4Ai5R2au33r1SqOZLuWgacicgW8cAA9pF8tlyOr8p70rWlNHBXvJYN5PHfZJkcUTPhM7gvR2wNNPb39CDtJmavBUOeiskAA6G8A4HK/KpX/w/t8RZa0+U+U0kwyz+AKHDQkb3UhqX3jt5tZst/Y+1SJ2jc6/By9QOqfWIkQMrCaKRCqKNQ0jGRuBqFbjS0iaatez1IBwijjHmfXGptQMTx8NaUFF87eUkKrl9zvFRACN5l9MV+YbkX39H0et5l/IhExO+MVyeIThF0NQkoYCaMn/YjSSP5FLA1augb2VwkdEEQFA+K3nSdBvQj3MIzUH9JkDwme/tdjyzN/BLT7CFWvyenGyv05oVZgRNsTiLw/aVJCQAdqnUfmyy2QRm8YNaICnQDtMP43PwYREKtgmioGq12tLvDI6fIQFwdUICYLAGJH/a0f9fmV84jeePmb2B3Th/Y5wePwEvU5cOSQuQ3onh3sG/+WKhgiTef3Lmslz6qohZGLrIsH106n2K48e3/NZ3ba0BfBKjgz2N1p0nyTmACbzNI4AFepAZ+rhalJQShDN9go8KCYCDweRAGeSvWiod8dCjzvshSGFGcgAIFEgvYBby30nd0Hs4cLLzpc4JitHihUz+BCLNwGZ2hW0E4AjGEVx16bjfjUOIR6pw5RgujtCTU4YkgqyAOuAbOjh639O1e/+loB+27LivIvGwl2yl/5EpiIseOoN/srVQO0EBYGM824DjKRGFSie8FwI15/gIW3oUL6jvTWyuvlnelVowmgAIgKRLtI4SAAHAwyM0B/WXRCFyLRclPf0uWP2iwRfwJvLIkfavhSusU2FG0BRvbxpnedI5JAB2q73fzloT2J1FhrDva8USgBDC+Bx8VIaCbYIoqIWF5X3HtsZPACEBcLVCAmCwSgIvOLivp2n617P/8vOmh1yXcJeIZ0WYOvaV4EUP//JCY654KXtHj7Zais9JOClhPu9yukFw3InPeMSmPg+fyOhgL0mIQmtWN+R85JEloM1+BEdk3iHFxkb/3vdmavFOOOixkAA4GMI7HHRvYsK5RvY0hUcFhRndQSHBE81WUprOgJPYNn+9w+N/b/+Eq+dem4mItyR3jmAdYTa7f0jAObhqgmi0hmRsGNFIFVGtDCbR2ib+/dhLEwAT0D0Uxe7R4aHmUM9eLOjKUBnDDjroyIfyrqUb8moAPEUmU3nX8nHeObqvMZe2piBNSabaQQhig+gO7Zy/1PfPRLTo5eRToL9x+GvICShHxLo56tyVq3JyEsOkVF8RgpTBN0IC4MdxBXyInZxs/1q4wjoVpgRNcZZuLdqWHzVCAuBK2boML7/fzW4ODAg+LAXUk915gXURopAA2IGQADjAQgJgsAoS5gB9uyX8+xv/0+fey7ue1dj9u69vci1/CMAOtgcVM0RdiqL45Vs7R2bzruXjpHLTjjxBsngNip9AxBYBj2ce2/HccbNTQh9idLAngDQFMJl3JXZ4pDHpylAPFzJ7SFIrcljA+4v9uzktrauMgmCNODIkAA4Am1fHID8TE+7hhSeHys36/S7LtkHr7Zi74K4IwbnZNE5OqzZ07eTEsbTrn7H5eqqsfJmOP5Q0C9DgTJxBjmA5Rryhhnh0GPHoMNzQB4777QfC0UWbEEfjrFXHcFzr4yHTsj86W1G9eUDOHZRg7GlADXhNLbaKmrBHqVm/Sek0HGxNGApDkj8cKer7McC1PfMZlS0AMHlMvNoTqhslY8dpfwLfWCToSaOTK4ZJkqeLevo0brYNp6gJgKafisItuSmF+wJ0hggJgF273T9n6zK8PKKUQgLgyiVA+/DnMD4HH5YhCwmAHQgJgIONgoyGQgU5EpCCfDHN/B/O1Kunra9bLDTndzriacJW+p+AmwTPpGl0Hr/0VPfrT32wsP/Jy6L/gaRZGXqYZjunYXfs3LMbPrvb1OfirowO9oKYOBJH8q7EDu/LFUJjQv9PLVoLBFpqZHUc3Na3D23aTE3eCge95aWQADgAwjscdGX37GPlcho9wVa2x3lVCJtxu0H3SErSZcB9+xpuvY+VPNxMTKg0Wnk/S9PvgbgmeDMPSCYRcOUE0XAVydgw4tEhRCO1duKf6+9XlxJJXyG1WzfThzc13wwpgDnbNzpacY6HkBk7/hdISZ5rwU9dK+Dxv8tm5l2jBU7Bq6BNindVJnmfQ/bIlj+52tdGtjerD2ZZ5udImjpCYxnbSzUVuHgUX7+4jo46dzA0n7k+CIoQNb1nTye7zbbhFDUB0Gp2KYAwI2hM4b4AnRFCAmDXSu0GOmtNYHdGlJAAuGJpO5rb2vHPQe9FQEgA7EBIABxsImg0FCrIiQQv6NWW/P8221h4ERMHbN/ETEzEEPaI7rBga5MqhWmf4USmZmHnfHGMGZWcA/AjAHN5l9MNkuMAP8NGMpp3LWvC6GAfLlLdc5EqFMdImpzOFNj0MRZx6Vbfbk6TUoJwpk/wUY4ICYADIFxlgq4MNxdr8eL8fwrn9kM2O+2D7gmQB5uM3HnUGy9fuFK9sdIfdXGsdROs/kjCe0tNHuEWZK05gkmMaLjSPu530zCi4SpcJQEdl47k7S8B8B6Rr6fjrcXWQXfh1nDfiwjuOK6o6VrbM7qDjJypWWUJDQCnhKKm/y35hX2NOuIpkKdkLGiLwBDonqjE2WN9feG/+Q3PamkOXiYTAAEARARo7L4kWR87aQF4eITmoP4ikXlkdUW+0cvXMfusX9QEQKCAhXUq3I6b4u1N4yxPOocEwG61156tNYHdWWQICYArtpQAGMbn4KMyICQAdiAkAA6wofZ0o9FQqCAfAvQaxH+DUvLXmDhqqqHr42yOf247HY8A2kpjA6GoS5KfvNVcKOTxv8sWkE6LegWwdQwwpGFHPRRFfBATL1TyLmfVjA72Iaa2S197OQHciIgExsa026iWFxfx+tW+PeClzdTof6ygl7wQEgAHQHiHg449d/x4lCzGG+NGeoTebwdsdtoHKyIfRe83ouhsVuH7eP7YyptZnnssbdy8do3ka/C6CtJ0XkqhEGASwVVLiEdriMaGEW+ogZWknfqX1wmOS+sWvt50/lZ9Uza3uJcVDsHqzfo6sL1+uRK71iFHHoDsJLlKgqB65jV16ca1YjcAgvKLs3OSPw3wnbyr6YaEIUiHmOnRvr7wxIRH6hYJLEi2miZvE2JAo2marpsGQAdnLnnIOoEeQF0pe9oAaPZZv6gJgEABC+uUmVuBAACcvcWC5ceQkAC4Urauw8vvdzMkAK5cCghEGJ+Dj4oQhQTADtRQW9qYYWv8BBASAFdrfg6UszPRFeRO0hlR/zapRn9+48tPrjT0oFCYNHaSeobSlrxr6YaEWQhv+FJyERNHC71mNP/SO1e95w8IPwNjWwEFjDvi2W2jW+zPXRpN0iMd0ihks3Vqy43hCrwfheHDTCSkJRfN4cDJviYABsFHhQTAwWDz6hjk4sR3hoeSKH4obqa7nVRFOP53YLD9EPNOFiWv3GwNrW4XHKlaKZrPPE8AuACpp8fbDQQSjBxcJUE0UkUyOoxopIa4VgGTGHT5DvWC4Jsp/EKT2dziBjRbu9VId+GPzpZzLWyARWO+KuKwYOv4X5JNR77rgCn8s8cLf0zszLCvC5wifMGbFT+MRERyi3PuwK6/eH9PP187dj4TccvqMcAAYgijLuGGvAtZO95c8pB9ykC3GCeutwmAvfzhvbQ0R1Goxe8jR9rrtGaFeWdTLM7Tqd3GFBIAu3S7f87iddiH/L/VWEoADJswgo/KkIUEwA4sYGFp1cPg+BkSAFdnaBiiZxg9g04IOAW432u66N9Pf+nTV/OuZ018+e+qZLSf4P1wrOZdTjdITAPuFT9XL+7xv8ueP5YJ/qLA12TtGGBwJ+WfabXSzebXeI0m6UkeSZZXWoc99WyhQnCMsHsqIekWFx1mMTHRtw9t2kxN3goHvRUSAAdDeIeDjm3I5rYJ/h8S2iKv8NkZEALl6VISZ9FsvPrOvtFVP9Bc/Rbqca00CeAsibrCquOK0TkwjhBtqCIeHUYyOgw3XIGrJO1W/pxJgrIMfqGBbG6RPm2VJT9OuCdqV2Y2WUqfWzeOv15yKN1PuccIDOVdTpcaAk5lJWejoe6LDzXqzcZpAKcAmGp2FjAk4nBcbz3Sz9etM8vkMSfIZAOggBjkZjS0Ke9a1oIrVwU5iWFXaj+R8CAXVU97mwDYyx/eS0tPIYVa/J6cbK/TmhVux0yx+CTO9gNfSADsUqndQmezCcziB7VAUqB9+HMYn4MPi1CwTRAFVavVln5ncPwMCYCrM9+etjYaChX0idpT1q978HcbWfb8rV956lreNa2VDdswnkGflbB1KU7YDAkXFUWTNx/7bKGP/12WZpoGcQKArWOAgRhwe10rfWLTxPdH8i5mVYwO9gQFL2Ey70psSGrlKoDNMrr1lkAD/z97dx4kx3XfCf77fZlZd19AgwAaBwkQIHFTYoMEJVkSKR+yZdmWPEt4d8eetWdjpJn12Lv2+Bh7Y8Lt2A3ZknxEeB07Ie3srNcRG7EL2mPrHo9kgbIlUhIBUiTFEyQI4r7YQKO7q+vIfN/9o6oBkuLRV1Xmq3qfCAUBQlD+1JX18uXLX36ftTM0xa52rEa5CH5F33s9nwDYH9y8Onqp4FyyOkyS90Aapl+F7COSDYPJOAxPJCsVv/7gffHFY6dOg3zeSpfo+CPTVJCt7X7LOYQjZYTD5Rvb/Wale18CEsHONpBcq0H1JmRlCI5KOpAT1uDgAxkptn+sauQKger7CDiV/idAVqjJ4pkz525yowEQgC0OzEp8TsCJtGtZpCJld8BoFw6pawEu4UycyGgKlGuLZ/Pykt0cBGYs7UJWgq3P0dKS8m+ldlNrC2xbFUtznTyOs204NoMBaOPjrX9mrrCF8iuCTrHuTZ/nF519AuBitSIAXVt+ufGQwWcALlkEEIIfn73XS5CxlyAyqlqttn/l1vgJwCcALle5AsDZUCivSyh8X+Cnk2Tur6d/98AradezkkwUjhnobhCr065lMQRcAfWsjZMLOEgnlitm/+cDF23MxyG9Irm2GqAxkgcQGre3AXZ0sBdEGBLjaVfiiGZ1EEYbITp5g2mhOg2nWJ/s7s1do+niTNjrMJ8A2B/8J+wtyL7f+LtyLsRY0GiMwa/i9htrweeTXO656lRYW7H/1dXFxErPkjwOoaMJNz0nDBCU8wiGSohGKgiHyzCFXCYS/+ZJgrUWttZAfK0K22i0ZhYABQ2S2E40N2L/WOnt/re8lSQWVxUHFUR7RN2adjWLQahJ4iUF9jn8ElduLOqwSUzWRfsshGfTrmUx2HpSMkDavbeGF27r1nFr+UKTwGXITHbrmCuJQEBywFq7bvRzl9x+i7bNwDiaPOQwIgYwHeRnOpqE6WwbjsngTezR9mvbmStsobIzh/QWwLj3kGO+jdwnAC6VW9fh+c+7cWMPY2+xmmiH9vjx2XutAIFPAFwAnwDYx3wCoPcWJNUt9LU4jn87NK/81dTvvLeneqoH/ujwaGB1B8F1dCwpi8B52OQxq7nsb/97HSXiHIQnQThUNwBytcC9LETrcEjOLg+5OtiTBs0Y8AmACyQMCdpEIkq7lKWgWLcWU4a17i7m5Jz8cXkdZkifANgH3Lw6el0XTE/d3Ezs/sBiiH7Lzr4hUDKmQeLpZqxnjwMrmETzDaskfNaKzwOYhZOrcl1EgoGBKUYIB4sIhssIh8pgMQ+GQespS1YCmiRAgupNxNNV2FoDiFsTCraeYeQErDUwu4dsfg0m5NSChMs2HjpdMDbaDWv3uLYQBLEO2WebcmT733kf2l6fC6MXSD0Px7YBBlAWzN5apK5tA1wZHG0mwGVCTjYAtuUMuKFgauvSLmRlWOeSh5wnJTbW9Mnq5o42ADrbhpPVBEC3rqqv46fhTsncF2BhCJ8AuGjX++fcug7Pjyg5/+7o0kVAa/NnPz57r5Ug8QmAC+ATAPuYTwD03oSAKRB/Tel3roxGX7vwmx/s6P12GsI4vx4w+wW30v/QepJwBgZHpx4959SOIE1rzgPmMUhuNQBKJLQRjdq7Bl747nDa5SyZo4O9JEXGb866YBaDAbgJdPMGU1QNxk4F7O4WwM1G08mpsNdZVvIJgH3Af8LegrDR2GqgAwAqadfidZNgw+BaTB4v5HAGDxxcueaViQk7WWmcNjAvArgEvw3wGyMBQ5hcCFMpIBoZQDBYQlAugLkwO9v9zpMgCWrESGZqsNUG0HxVi4FAiobkAA3ekYuCjcAJpx+Zu8SUbMHA7iWxO+1aFqPVUooqGD594fijx9KuZ9HqmAH4NIAX0y5lMQRGADYZBrePfHWyK1tCnMCDMcnLcnlnKyEvww00+R6JbDDwzUHdI8BCqDMMZnCQHY1OcrYNJ6sJgE7PZP2KoFMy9wVYGMEnAC5arvV8w7UmsBsjik8AXLJma+tn/xKG93oB4BMAF8AnAPYxnwDo/QAlAp4B+L/Oyv725d+++yg+vt+1F3Tf3oRCINhMYS8Bp7Z1tcIkYZ6xQXAJDxx06oZh5nfvvGSpJwHj3DbAAjbQBAeKSexuA6Cjgz1JvwXwQv3WNwcCE24QTK4dke4gViXzyuW5QlfHtygXwbeZeq9nCJ8A2Ad804X3tnbdfygX2eoYLbYCyqddj9c1AhHbwLxgg+Dlk5cwg5VeOZucq6oUvQTqJQI3o9Vs4s0jwdDAFHIwpRyCYh7Mh6AJMvucVgAUWyTVOuxsA2r84HpK+yQqUthj43gzcPUJAM5s6eqsQwoa8fn1ucjsprQ27XIWjajAxv9s89Y7fxhfPJ92NYujxEhaBfKmjH513xABQqgAekep1tx1BXi44we9774YX7g8CcSTAhLSvR4lEjkRG9Bs9sQTGwsLk9WLTg8ikEiYZpx0PI0gsY72EVnAZu2UHB8Hzl1sJbNlrbYF8SuCTrEGoFuf2fyis08AXKwGgNC5JrAbDxmcDGjIhgitHySdG6Crgo5C+utWs4W3kiyC6aptvHwZ62bSriXrqtUqSmEBTk7MricAXky7EjeVK4DqkM3ORileegRNCvg8hH//SnHocfzq9nraNXXKquJ31hkT7Ie0xrWz3xAlyf64Sbhv9acece8NEmGI0AY5Nm8jWRK0TUFwO/7kobP49Xev4O5fXeLoYC9JsJLfAvjtja4uDUDxRjqa/teiGUNdwKpXutoA2EykgEZudgHq4QT6U0BTaVfSc5ibDgO9hM+OO/0qu/fWfAOg97aCtcWtmK3dFiTJICQnnxN6i9eaEyiW8O2mcGwN0Li04kf5hpU++CIUPE7ybhADK34IR9EYsBAhKOVhSjmYQh4ICGb9hkZCUq210v9qjTd8nkyAknIAxmjM9oHc3LrpzxyZ7cm3LzNk7dCFQtTgXsjuce7OWCLIEozZAaFr29GuLLbe7nPshktEidAeI+1ANxoAATRzcbPQ1GXATAJa041jriQBEcT1DMzNOKQiDtK9BbQ2ky8KTSvRyrXmA1cJasLwisCOb3sTGEd3SzGAydpQevQoMLbJ4cBMwtHC+5OxgNwak8nW/aVPAFwqwaUmlvnPu+ETAJeu2YTCCJRz/Z8JgUuyOnLqsf/jYeD32v/699v/9L9f1u9/7/cEOtYBnpISSoC17UmjW1+iVvOvTwBcstkZoBS1QqH8t6WPaU7kdyB+thHb/zL9u3dPosfPCCbhBkAHSLq2/S8AFWm4TRa3EjdWreeXULP/ewIQ6dwFBwDNBhlzYE1sH70EuLd+6ehgT5JN69jzmZQkcWM0CIPbIRQc/Ia1kLMNJJcwWexuAmBAKnZs8ahN0OV6Tv8we/U/r3xbggdMTAguDp7egvkGQO9tmWZ9v8S7YFVy8krhLZpay8w2CcMpWHyPdZ16eiW3/503MWH5yR85jSB6RlaXCY0C7O9YCGNg8iFMIYIp5xEU8mAUZv/2UYCsYKt12Oka7Fwdb9XoxNaORiVSuwphtHU6nj4NwDcAdtIsyoxwB4XdmT+fXqfd+ErAuQdgr+VY8x8AEAgEjBqavev+5twt5z+6/kSnj5lvFppW1UuEnSTpXAMgAQq2BMPtmwvnt54Enkq7puWQgXONJi4j2ATwiqWudvpYCdxNAARb299lZq/w8XHgUjsB0EnuXZ/6motJk2qV7BMAF6kVAAj3PnAAsC5HNKQvilr32HCvAxCCaEKLiQkLTLzuD/3vl/X7idf/ufdmqqiiZHwCYF/yCYB9TonEFwT833Hd/r9TSfUUJu7r+YSb0U8+OyBN3w7iFhAF927vCAjk6yY9r/8OZ/f3zv3Ab5BdB3J/3OQooAvuRc27OdhLFlEI+C2A354JzRoCu0UVnbsvmmcxS1O6iN+7J/mB6X4HNRtNhEHk6BBFsVpv31N6nrdYTj7z8bpn18ShXL5Zv9XE8S2E/Pptv5AAw7lGmDueFMvnnrzyShUdmibsmWvOxU17xhg+D6DaiWO4gIZgPkQ4WEAwXEa4agBBuQjmXGj+EyQLW28gma4imasDydufLgJCCNusTbZUpoaKXai0fx1SrpDjNkPsAuB/1t7iSGVJ+wq5oCvpi/Wo1iB0hgzOdeN4nUCwSKsdMuGtadeyHLY+RwqEfAdg96hhpcs2TjreAOhsG077DjYzzX9AKwHQ6cdK/ivuFBdXcdi6mfQJgIuUay3ByMkVexdP1AxpAq13n9wbn108W73eUyqV2r9y8IyU0Or+9gmASzLb2iGb/jLUVwQlVjphrf44VvBzr8yt+dOpf3fgpX5o/gOARuPqOmOwn8Io5ODkwUsNyYDAJhPYO0f+8Ohg2vUsmqODPUG/BfBCfPLZAVltEbGajgbHCGqCvGqbtWvdTvKOcpGLeRQ3VCppV+B5znLz6uh1x8SEMbPRpiCONwfSICQnL7DeEhASdA0hH4rzwRlU1nXsZvlBfMOG0DkJj0Kc6RP5u1oAACAASURBVNRxMontxr9cCFPKIxwuIxyqIKy0Gv8YODBES5AEW28imZlDUm0A8YJfygghbCSCW/PF+igmDvtU2g5ZVZksiNhrhd0uvhXnpYtkAdDtiY134fBLhU4f70JubT2JdcpSZzt9rE4RkBd4M2xyK758LJ92PcthYZ18+OwqgQ3SXEqSuY73tznbhmMzGLQ33n5tO3OFLZTLK4J9yDpwj/A684vOPgFwsVpb6Lp2Hb7xkMG/Q7pkEUC4uSuPW2er16uq1fn3ix08I68nADr7PlzKKmDrPWWvLyiBcBwI/tgQH30ll0xc/bd3PoGJLbW0K+ueCWPCYIOEdwoaSbsazz2iNsCYuwEMpV3Lojk62AsiDOkTAN/akL20xhjuhtOBFpyGdC5oVLu/DNtoujgT9jxvBbi3cux1zf27fo+caR4AtR2yHX/g72WDAIlILM0lJcnX69M4iwcOdm5yMjFhE3PtggJ+D8RlQImLi9yLRWPAwMCUcgiHSohGBhBUijClHBgF81ueZp4AqJnAVhtIpueg5sJ7RdvbAJdhdGtow+0oRg5P5DNMYiHisKQ9JLekXY7nJJKs0AR7N9ZKt3X8aPcxZnP2krHJOUFOLtrOj2802HGzHdmadj3LYWAcTR5ylNCQjS9fGLl1stOHcrYNx2TwJvZo+7XtzBW2UG7MO702495DjvlbG58AuFRuXYfnP+9Gu4HRW4Im2gE+Do7PxrS3rva89PgEwH42AxF0NBTKWxgr6YKEB2LoF2ai6H2Xq4V/d+k373ocv/7uOTj5xV+6tZ/+0dHQ4B0Exkj6K7C3aARHSO6mTTY4F9Dg6GBPGjRjwCcAvrUwDNeI3EXJ2eeGlK7B2DNRGvuG5KKuH3LF9NWV3PNWnptXR68rZv7xK2G+Gd8DYStBh68U3qIIgAnmbBSekeULz/3Hn5nu9CGv1MLZxNoTFnhe4jUnn2otAgMD5kMEQyUEI2WEQ2WYch4mH8GldDZJUGxh5xpIpmtQI170xExASHBLnHBXmSPlzlTa3zY+cLpgavU9APYAPsnVW7IyrL0jtNrdjYMpLNcEnATobAoggRKknTaJt6ddy1KZfFEi1O0tCvpYE9AkTXQJ97HjC0POtuFkNQHQrWXy1/Ffcadk7guwMIRPAFy06/1z7twjAjdGlJxPAFy6CGht/uzg+GxtGo+3PO81fAJgHyu3totzNBTKW5gmyO82YT91pVp9YO7X33EGE7sb/bpu0WgU1gHcL2J12rV4ziKlTQjNPQOVgeG0i1kURwd7ySIKAZ8A+BY+diSKY26EeJtId3fXoblmE56+lMIdUrPRdHIqDKBV90x/bRjoeSvJNwB6b+zew+GppHFTUG/eahKtkt/+t39QstDFZi73eD1nu3OFnbg3CWwwKfFhGp6XrJsz9wUw+RxMpYBwpIxgqIywUgJzIWAcm4lJgBVUayKenoOt1Zf67DiANGZkb6OujWBC/rq0wkxpoBCaYB+BPWnX4jmMDEmzPrHaue3L59Z0+nCNOFdXEJyE3N4GGOQ2GOwb/psrbi2gtdn6HCmQkmMXKTdJqMMEZxMkl7txPGcn91lNAHS62cF/xZ2SuS/Awgg+AXDRcq0GOteawG6MKD4BcMmarThp17Z/BnxLuZcNPgGwj822lrIdDYXyFiYPYFcEc1+5VB5Nu5hUTRzKBTncDNk9AAbTLsdzGceMdMBYx7YBdnSw9zG1b294S7AhCsJ3kRqkw4tWUnIttDyDswNdXwyJclFrWumqSiXtCjzPWf4q472hvTtnBwz0Q4HsGJWEzl5dvUURKJCJIU4Z2W9NYXiqO0emAhNMifq2wDMkm905bpeQYBQgqBQRDJcQraogGCgiyOecSvx7NQGwjSaSmSrsXB2wS5tJsvVMoyxiUwHhduDB0tv/LW/BDiu0SX2Tld1N/yaotxytBrCyodnTiHV7pw936crJemzMSRie6fSxOqW9ODFA4MBwGL8j7XqWwuSLkqxPAOwWogbprGk0L3XjcImrr1tkNQEQyGBhC+W/4k6x7i3jzC86+wTAxWo10LnWBHbjIYNPAFyydgKgi+OzW2er16t8AmAf8wmAfYHAzYA+mANvdW7L0hU0Uti6DlZ3wWDU5QYZLwtUBHFrJO3GxBF3ns84OthLEqzktwB+c2R9I6B7ADjeBWauNWzjND47nkoCoL8weF5/cm/l2OuKsDE1GMWNDwrYAIcDQrzFEqwJqrEJTwURj5397E/NdevI/+o39s0147nnKZ2AcA3sgXgIotX4V8ohHC4jXF1GOFQC8xEYBG7elkuQtVAjRnytiqRaB+Jl3Gi1uk5D0mwANT5aHPJvK66gNZcuFQKjPQT2QE6ecV6GCChJ2gOanZiY6Owc8uP7m2Ed5yGeEDjb0WN1EIEyoDsSNO/EoVPFtOtZLFufI2konwDYLXXQnmugcbEbBwtcvRPMagIgkMHCFsp/xZ1i3HvIMf/Ok08AXCq3msDmP++GTwBcuibat28Ojs/GtMLLPC9FJZTaL2a4NX4C8AmAy+UTAPtFCHAXZX9mOBzakHYxaSHjMVEHCPqXvr3lE8cE3D065FAKoKODPUk2raPJIF2w6s+ODULcA2AL2Xo1ylHTIE4psNeA7r9cH+Vc/tF5nrccbl4dvY4a/9hnory1q8N6fTelYcmfJ/2CgJUxZ5thdKyW5K6iiytlE6SdKYQzQPx9kGcghzdSI8HQwBRzCAaKCEcqCAZKCIp5MAxA4+hXSoIkKE6QzMzBVutQY0U+JgNpDcVdSdwYxf2HfNPxCmFeZUJ3ANqZdi2e+wgFgFZB2nvTHf98S6ePF9iwSugYZE90+lgdRJJDBuaujRH2pl3MYpl8UaIV6OKTMwcJdVidvfCz27rSAOhsG06792kk3Spea3zc8WYH/xV3inv9f4BabUw+AXCRrvfPufhsyPr8v+VoJwC6tv0zAMBaOLya4/WIKqrtpx4Ojp8+AXB5fAJg3yCxztC8j2F9Hya+4E5i2QoZ+cOvDgWMdhDYjNa2yJ63LITWGuhOE8drOv7i90pxdLCXLKIQwHjalWTUzPRGY9hK/3M41ELCFYAv5OqrUtnxrtloOjkVvm5mJu0KPM9ZblzEva7KD64ZaQTcFSTJTbQ2cvn64C2cQFkwAflCYvBEbOLq2/+tFfb/PBkj5qNWyXEAtVftHeQMBgbMBa0tfofLiIYrMKU8TCFqvQnvqvndh6yQVBtIpmtQLV6R58XtLQoqkm6OirwV794+AJ82tXxfPpbPh8ntFtgF0C8EeSuCZImGe4tRtKPTxzpx9WrNJvaYMcHxTh+rkwSULTHOXO5OTDzl3LNwwsDt1QI3CKqJ9jRgznfrmM624bSnU1fSreK1jh51vNnBf8ed4uItBVu3DT4BcJFyrWmDk01gTp6oGdIEWps/uzc+u3i2er2nVJrvBXLwjPQJgMvjEwD7CSHsCE3ws6PFkU1pF9NtAYfXWSV3ERiFv6HzVgIZiNwcWzM+jPe7sUuTo4M9Ha27Kz52JCJ1O8F3QW5v/0vgFSXJi5dwMZUVwygXufiI/YaK0x+/56XKX2W8H1C/po2GwX2wdsjfOfQTAYYNWfsSwWef/t8f6Nr2v9cd/XhzDvVnSRwXOAPSqVd4GAUw5Xwr8W+ojHCgBBYiMHT2EfurtNL/7FwDdnoOttbACs4eKSCiMWuSxIwPNOK1+P0He+GHlqqRGVMw4h6Qu9OuxesdAgoCtwFm59gXznb2Detf2lKzUf64lX0RkrN7yLG10+paWt278Z6170i7nsWw9TlaWdLhty0dMkfLlxHbs906oLNtODaDAWjj7de2M1fYQrm8ItiHrHvLOPO3DT4BcLFa0x/XmsBu3CY6995DdkRoBzC7Nz67dbZ6vapanX+n2cEz0icALo9PAOwrNBiUeBdUfN/gnzy1Ku16umZCphlrI4A7BWUqHN9z3gZDHUAl58Y2wI4O9nK07m5YdYvZDpP8DIh1pNs9LKImbT54AU9dSiUBEI2mizNhz/NWgNMbFXmdYZL6TUyScUNW3G4P9xZJzdBctEHu5Xq9/grwQCrPhWca56cK4S0vGuiMpNUgC2nUsSiBQVCIwEIOQaUAU4jAoLcebgmArTeQzNaQVOuAXemxgZTsiCHvCpLmV7Fq4wk4nqWTqokJk49KIxZmN2Vvbi0ge97y3UjstPsiG94O4LGOHs+EVSbJi4I9SWBbJ4/VYQMwfI+Jm4+tOaynL91HJzLs81H9lYTF/xDH9quyNrMXNhFrApqfAvQTBMpp17Mk4hypE8wNnunWIQO42FYAwAAma4UfPQqMbWq9Xpe12haEcLTw/mQs4FhYNtlqCvMJgEsluNTEMv95N+Ds+xvpawIKXWv9bDPGv27upa5UKgENC9fGTwCtAZQ+AXDJZmfAYl50cW4rvGBlD4E8agLOAW++MDr/UG85fy5xJ6x+HsQetjefd45AArcK9idz9dqjmNBVTLgVKLAU5eg7a4IwfAdg10EIXBvmvOwiOSSYnRHym/CZI2fx8f3pNC4tFN1chCENmkkiHE27koyZOFKiae4ng/sIDaRdzjLVAXM+voZzeOBgOgshucjdJ6zufa09L1N8A6D3Grt/7dAqM1nfHNp4Faz8kl0/IRMyeCKJcs+a6bCeWh1PIeFdekbCMyBuA5DNBkACNK3tfk0hj6CchynkgMCAQW99dSRBjWar+W+mBiQrv45CiALKkLZHudwtA42pp6ahRisc0FussfGPFUKEewG7lz5T3lthgioE70iMdqHDDYC2OVtjEhxjiJfgdgMgIY0Q5t7i7MWjAL6WdkEL8cKHttchPY8H8ELatbypygvhpmZ+L0z0IRpTcvHlFQECMQsEL594pHyxW8dN4OjzeQvYrD3gGB8HLl30CYBed1g418sAtEr2CYCL1EB71c6tD3x+RMn5BMCliwBIEORcAiSsdTKp1Ost1WoVpbAA18ZPAK9KAOzabUFvKVcg1Sk5N3pCxDUpfHxS+ntsPj4D3N/+kwfa/1zZ3w89d/uzYa6xiuBNgDas1P+PrqMKBO6wjH+8VPzWuSrQtVT9tJQis16yd4Fc5dp57mWcREKbJN5TecU8NwNcSruktyQLF4MPJIvIkBhPu5JsWVMKbrPgTxN2NZycxN0g8rKsnskX6/XplGpoNpoIg8jNJT8CmHEiP8HzMsk3AHqvNRfstIG5R41kkI5fYL2FESgRQhDMWeB7Joief/rSY7XUCnrgfjtzx8PHK7noeZFTBAahDDWjsvXNMLkQzEcIywUwH4G5EDR08objrUiCmjHsTA3JTB1qduhlFYkEAsEMI9G+gsUT07/ylWn8b0ivGdVhZi4pqGT2GXBP2rV4vYet4LC1AbVrzaGX1l06uOV8p4519sPr5zZ/6eQxqfA8De6F5OZb6S0lAXfI4H1r/9P5Jy787Do3nuiQQoZ3ix3+mysDDGu7QG6DHIvEaiMwB+BkYpOz3Uwr8AmAK+jVCYBO8gmATnEz5KCVKJ7dy0k25XKAtc41gd0YUXwC4JI1AYbufOav5mDemteDfAJgH5udAUqRq6FQAK3FXCnBwc6nBU0d0snVLz72oMLkPghr6eyzQkLQJtL8SJTwYUw8dRkTu3t3EvJnx/J2dnKLCcxOAK4nZHlZJI4RyYFiEn8u8w2Ajg72BAVrfQLgq/3BEyNA472U3iWi5Njs7QdZXYSxT1+ebaaWohnlItjYuZnwDZVK2hV4nrOcfUThrbyJCZlS0thOa/eRpph2PV63CASSZmAuJaF5abJqL+PBiRSDganVJUzK2hOUPQspMzfsNAYMAwTlAoKhEqKRCsz1LX9Nbzb/JYKtNhDP1KB6Ex1LViIBY0CoKGi3DZPNWL0q35mD9bjPHIlsPn+zAfYAGk67HK8nUURZxN58pXB7Z49EAUNXSD0hq+ym0C1Aq0Vcq4zVj+Wj+H1p19MrSsHcIGn2Atyedi1LJaAq8lgc5l7u5nE7EOjbHTaDQXvj7de2M1fYQrm3YN7XHEzWmr+F8AmAi9W6FXap+Q949S2jTwBcsghojc3ujc9una1er6pWq+1fOXhGXk8APJd2JW4qtx4Wy9V5eTenSgeZxHHzRST6ByjjTT5vg2QAaFcYRD89VJ5xN81wAYZnL6+H4V0CRuHkIOdlHpGX4RZbiPas/fTj5bTLeUuODvaCCJ8AeMP9ClaxebeAXwSxpifCiYgLcS1+AvhGas+3m41mD/wgPc9bCvdWjr2O+ULh6EDQaG4M43gMsi4n7HiLIcACDYW5p+uBORPPNlNPXDv98OmGCfBSIjxJqPr2f6OD2PoPAwMWI4TDJQQjZYSDZbCYA8Og5xr/gHbzn7VQrYF4eg623gRshx8+SBQQEdxuFN5SLpkS4GaaU5pG191cCKNkr6Dd6IWbJS+bhBKEXUZmB6SOLlGfrA7NJhZPkHqmk8fpCiIHYocY/pONXzp/IO1yXDf2hbOlgNgBYA8pZ998JzAL6bnzl093tQEwcPVO0GTwJvZo+7XtzBW2UH664BTj3kOO+dulxCcALpFbTWDzn3fDJwAuXbP9qqaL47MxzmZIeb2jhFL7xQy3xk8A7S5qnwC4ZLOt7eLo6ry8y1OlqaR6SsI3IJ0S5PREjTSjFN4TWI1j4qmejQ0yyq8neRfB1WnX4vUuihtg4wOJTYbSruUtOTrYkwapxcJl0Nq7j+w0xv48iG0k3b+TEGcgnVSZVzAxkdoCTpTzbR6e16/cvDp6HdE8d3qHgO1MbLknOuy9tzX/PjlpZqySwwpzL5zOwj49D9xvrW2+TJrvWXAm1VoMERRzCIZKCEcqCIbKrW1/owDswcY/ANdPDDUSxNeqsHMNIO7OPJVAQOAmC7s9RH4Mv/IVHxuxSOX8bIUWeyl0NpnN62skDIBhCvs2fvXS1o4e7CAbjcCcsMJTIiY7eqxOEwhh0ED3msR+ZOOhUz39ZnqnNU04SIbvtNCu9lNy9xA1QackewL/7I7Zbh7a2ac77SnJSLpVvNb4uOPNDg4+HO9n7vX/AWotMPgEwEW6fmfu4iXO+vy/5WgnAMrF8dnaVniZ56Woimr7qYeD46dPAFwenwC4OBP3xQn4PMhvULzY5aOvLMkQZoeh+ejqYm1T2uV0wvDEY8PGxHsgbQblp1pexwhaA5p3xjZZi/sPZfcmztHBXpIiK78FMIDKJx5dkyT6cUo/TGkA6oFAEOqCqO9fS8qphu00G00np8LXzaTbGuB5LvMNgN51Qa12t6C9IApp1+J1C4UgaMYhXwls8ugz3758Fg8czMDzYKoy15yUTY4DOCd1vymRxsAUQoQDJQTDZUSrKggqBZhc2JOJf9dJkCzUjJFMz8HO1oC4y6cEERljbotsbcfw1vV+O/LF+LLycT2/AzS74ffc8jqMQFmwe9mwOzt+sBJmRPM9WPtsx4/VeRTMKMmPmELuwzgmv935UnzmSFRAvBFI7qSwMe1ylkpSFda+EJjwRLePnd0V3LfRvoO9km4Vr3X0qOPNDj08t+1FLq7isNVm6hMAFynXms472QTm5ImaIU2gtfmze+Ozi2er13tKpVL7Vw6ekT4BcHl8AuCiTdX3n0yEwyJOp1PBCqLKBO+E7AcGJo6Mpl3OSouLtfUg9pNc7exLkJ4TCAYUNoXU/qE71w+mXc+bcnSw91/etomXCkHYeB8N/juRa9AjPxqBZ2WTozj27VTDdqJc1JpWuqrSs2G+ntdxbl4dvZUlcdf/cKgS1Zq3BYndCMjp/ApvESSImrZh7pkkCa9g69cy88rMiacuNRWE5yA8RnAK3Vq1MwRzIUwlj3C4gnC4jKBSBKMQNL0/ZAqAYotktoZkpgY1u7/uIyiExVbQ3IbZ6pDfBnjhRqIrhcBwr7Xa3dONql5W5AGzldDONYcvdvSO7NI31lTF4vdJ0wsNgCAVgNxMo/tvfub8B9Kux0Vr12wcCWR+COCd7URKJxGcsUH49DUGx7t9bGef7NgMBqCNj7f+mbnCFsrlFcE+ZN0b8uYXnX0C4GK1nhe41gR24yGDfx9pySKA1/dscItbZ6vXq6rVavtXDp6RPgFweXwC4OJNME7UPGZhvynpcgoVrCRK2EriQ6zYLZiQexPnNzMhEyAYE7BP0HDa5Xi9j8RGwbwbcS6755ujg70gwpAYT7uSFE3IDOfP3xPJ/I8Qt9Hh95Rfpw7Yl5th7nl89uPp7vTcaLo4E/Y8bwX0zgTYW7Jdv/9ARAQ7AyQ3G2tLlD8v+oFAgUgIczGG+Ueuyl/CAw9kZ8b8wP223pi9ROIRwU6CsJ18XYHGgGGAoJRHMFRCNDIAUynAFHJgEPR26t88CUgskmoNdqYG1dN5QYWgATEK4tZcubQREw/6dKyFmJAZoFkNYpchnU3D8pxCEhWS+4qz7OyW0xO0nJ26bBk8AvK5jh6rGwQKKAq4C4H52MbPn3t/2iU55YiiqBTeYsF3E9ySdjnLUBP0spWem/zQ6mvdPrizK2smgzexR9v7tmSusIXqg3luLzHZuWVbqPlbKZ8AuFRuNYHNf96N7gf5944m2sE+Do7PxrTCyzwvRT4BsI/5BMAlufZS7mWD8OsAz8jh15oAgEQO1N5cwp9cVfzOWNr1rJTR6OjaENpPcj1BZ2/nPXcIqBiD7WEh3II/O5bN5zOODvakQTMG+nkL4NH8d94ZBtH/RPCdIPJw8sbnB0k6C/JoYWa6lnYtyEVpV7B0Dk7hPS9L3Lw6eisqOTmdj6R7YbEVkH9Fu28IMEHTkucjq0eOPndmEpm6rFLVseSKrelJEucgNWC48vWRYBiAhRDBUGu733CwBBZzMLkIMOyRqefbkCArJHN12Jk6krlGmmcDZVWkcIvieMfgYL709n/FGxs/V+BM9Q4K+4AeesPVyzRJZVndAcW7O32s01cuTCexvmOlR5Wp69XSsPV8fADC+wPqYxu/cOrutGtyxYaLk2sZxz8N6D5Azi58C5gBzVPWRC+kcXxn23CymgDodLOD80Nqf8ncF2BhCJ8AuGjX++fcuiGdH1FyPgFw6SKgtfmzg+Ozta3wMs9LkU8A7GM+AXBpPru/WY/j5yV8i6DrKYAgOQbqAwB24s++nM3GpUVrrjcyd1FYnXYlXn9gK5B6A5Lk7kr94lDa9bwhRwd7SYqM05uzLsvoJ795OwL+C0DvBVGGkxO2N2F4JkmSI5fODtTTLqXZaLr7kyWAmZm0q/A8Z/kGAY+VsJgP5+oHCGyAw2Eg3qIpIa4lUXRiNmqcxld+NfUJyQ/4pXvrqOTOyuo50ExKKzijb79Mb/IhgkoB0XAF4WCptd1vLgSNqzOjpREA22jCztRhqzUgSfnmiQpAbZC4s9HIdXRr0V5honJBYbBXxK60a/H6B8mANKMAd2763KXOvln98f1NW09OgzwC6GRHj9U9FDQs8MeMyf3zdZ8/1/FGStcN/82V4SCu30fog4CcXvgmMAOrZ85fuNb17X8Bhyf9WU0AdLrZob/mvc7L3BdgYQSfALhouVYDnWtNYDdGFJ8AuGTN1tbPrm3/DPiWci8bfAJgH/MJgEs2va1yIiG+JukMnH3lpE0ICO4izEeGaje5v0vKxOGCKeS3WOI2tZplPK8rRI2BuIumnM1tgB0d7En27RbAg//Lt7fL5P81YP4JgBH01oLUnGL7YjEMn8Vn96e7/S+AKBd1clO9zqv4x8Ket1RuXh29FXPLxP+VTxRujJLGJiZxxW//2z8ICOSZZhA+bqOB2bTreWOUbcQzovmWpNMGXJlHq+3Uv6BSQDBUQjhShhkowhRzoCHYD9v9zhMgK6gZI5mpIanWoDgLazw0IlcD2l6Kgo2ZjZnPiiOKmDS2QnYPgcG0y/H6iERBFVL7LJMdnT7c+crMtYT4Dmke6/SxuoUAQa6m1UfzgflXY1842/Gfo7MOnSpWwvgdMMF/BZh3EO5esAXMAnoWhs/gl7aksi1E2r3+S5bVBEAgg4UtlMsrgn3IunfLPr/o7BMAF6vVQOdaE9iNhww+AXDJ2gmALo7Pbp2tXq/yCYB9zCcALt3B3Y0wj+dEPATglRQrWSEcoTHvigzvGfnDI9lML1ugoaC0PkmSuwmM9sleRV5GEMgZcEshie9YM/FU9rpxHB3sVzLnxCUjn35kT5QL/h0t/imA1b02ngk8IcNvnJ1B9e3/253XbDR76wfsed6Cubdy7K2o3Pnyaob4AKxuoj8f+oZAWRM0JLwUJDj67PHTmc3S3ToyXm0A3yXxkgXmwOVtA8wwgCnmEA2VEa6qIBwqg/kcGPTn6S8IaiatbX+vzUGN7MTXyKIAYiOT5I61EZ1eqOm00TOXC7DxXpK70WM3Tp4DhKLAHcZoBw4f7uwmmB/aXs+JL0J4FMCljh6riwhQxBpIByNj/s2GL5y+I+2aMueQgs2F0lZD+98A+mFCTm+4CuAawEeTWvOZtApwduqT1QRAIIOFLZSfOjjFuPewYL5d2ycALpVbTWDzn3fDJwAuXRPQ/LYFrjGmFV7meSkqodR+McOt8ROATwBcLp8AuCyXr868HEhfl+w5OfkFejUZWN0Ga38KSbQp7WqWwwR2jMBdoN/+1+s+URsI3G0Hm9l7PuPoYE8apB4P100SV//Bd+8KLX6fxM+AGO695j8I0omE5h+AL6byovfrRbko7RI8z0uJm1dHb8VU4ni1qTc+YIBRyN0UFW+xJBtwKslHL8/a2dP4yq9mdmX+6McZ5zFw1gIvUpiUtYtfCmkn/pliDsFAEdFIBWaohKCYB4Og77b7nSe1m//maoivVVvNfxlZ2iFAEgHEUUr74tmrq3D/IR8Z8obEgqkNGnIvhO1pV+P1HxIGwDDBfbfM3L6t08eLZ+tTzQTfltAzKYBAuwkQGJX0syHD397w+fP3pF1TdojroqubwOY/pexHSZTe/u9kWhPQEOQNRwAAIABJREFUGSs8cebJ/3A2rSKcbcNp9z6NpFvFa42PO97skJEJoLcw7vX/AWqt7vsEwEW6fpfu4v2q9fl/y9FOAHRt+2cAgLWt8DLPS1EV1fZTDwfHT58AuDw+AXB5Ju6rxYl9FsTD7IEUQBqUAN0ZmNqPVj79+E1p17MUgxMPrQpo9lLayPYMwfO6ieRqyd7BeG5t5p7PODrYS1JkJRxNu5IumHipsOrTj3yQAT4B6IMEBnqt+Q8AKF2ATY4Yi8uYmMjEidlsNN3+Sc9kNrfI8zLPNwD2sW2/8uV8YJs35eJkq2RLgFy+FHgLpPl/0JxsMHghKq6ZQraf+unyizM1gk+LOmGMqS/4b7KV+Mdce7vf4TLC4TJYzsPko9ab6X161kuCEgvVG4in52DrjVfv1ZQJBAyhERE7kJgNa+8eKqRdUxbdcvhE3jC3U8Ju0C8EeekgVCawN06SnZ0+1umDm+ZyIZ8E+S0IFzt9vG5qLYBwRMJPhIb/ZuzzF38o7Zqy4KbPXbwpzNXuB/Ffg2Z1OxLHWQKmCPNITPtEmotC2Vq1XYT2HeyVdKt4raNHHW92cPor1X9cXMVh64bTJwAuUq7VQudkE5iTJ2qGNIHW5s/ujc8unq1e7ymV5t8XcvCM9AmAy+MTAJdtsjF33Cb6KqRzcPJL9CoCCd4iE3ywlNS3YaLDu1Z0QFgprIMx+9VK/3NvYuC5TwhAbobM3UN37hhMu5zXcHSwJ0gYEuNpV9JZq/74u5tWFS78VgDz5xDeL7KEHh3HLHQCJjx8pXZ8Lu1a5kW5KGuPfBenkr1dxz3PFW5eHb0VUVI8JgZ3GpuMGPlzoX9QMqZppWciY56cnruUmQnJmxr7YpIkeBLiC7JaWHyyIUwUtrb7Ha4gGCojHCjCFCKY0NlH3itDrf+o3kQyU4OtNYAkmzNBCUUKG4HmzqYZ8SmAb+Dq1eGClOwDsSftWrx+xhzImxnmd44cmuz4lhAnZtdMJsJXQXyr08fqtnYC6hCgnwipT9z8pUv/7dq/O19Ou660rPvyuTVFY+8PhF8iuBmQ03NWgQmEy6AePbdu/Qtp1pKBZ0tLYzMYgDbeXrXNXGELlc15oPcmrHvD4Pyis08AXKxWBKBrTWA3HjL4DMAliwDO37g7xq2z1etV1Wq1/SsHz0ifALg8PgFw+Sbuq4HmWRHfEZSp966WKCKxJyE+PFIIx9IuZlEOHQpg7UaQewFmb/tVr59sBPkeoJ6pzRhcHezl7uLRwnzmSDT8qe++3yT8c2OCXxO0hUTUi8l/AABxhuD36wGexMTB7Oy212j26A/c87y3497Ksbdi8kq2SngfpGy9teF1mJAYM4sgODYTJ8dP/MUvLjxRLy0TExYYOSnpJRJTgN7ymTUDg6CYh2lv9xsMlRCU82AYtBfS+p2AZox4poak2gCamb3hIFrvQg3RBPviuXg93vtO597U7KhDh4IobK4hzE4I69Iux+trhDRA2X3lQXt7x492kA1NJ8cAfQ3kcx0/XvdRQAnQAclORA39xtjfntmUdlFdxg1fPr0xp+C/F/FrAG8DlIXHIct1DeQRi+B72M9mmoU4+8M0GbyJPdretyVzhS2Unx87xWR27v6m5m/BfALgUrnVBDb/eTeQnWcfzmmiHXjs4PhsTCu8zPNS5BMA+5hPAFwRk7ULLxH4mizOyckv0utI6w15b4DcXvzJQ8W0y1mo0ZfG1hLaD2gdHb6F93oAWRJwaxAk2zBxODu7NDk62JMGzRjouS2ADysc+fS39900pU9Glv+R4AcJDBHo7a3YDF604N9Nz0xna8/anMObhbk/8/C8VLl5dfSWbfwzRyIzWx2L4uQ2SdmZsHkdR8DaMDrVMNHpZhjMtnoMsu9K7eSsjHlRwAsAfzAFkACMAfMRwsESwpEyopEKzHzjn9eaNFlBSYJ4Zg52tgbVU+09WAgKKEvaF0bRZlSn/Hj1KmuH3lcoIrkD0D7SX9O9dEkoE9rHRnNXN453Nlx/hSp/XVb/CPTeE+ZWEqBykL01IH85CII/3PzlyffgUE80wb21wwrXf/HyjkDRr0L614S5GT2w2C3AQnrFyn7n1GztqbTrycizpcXLagKg080OTtwOePMy9wVYGMInAC7a9dmNWw9L5keUnE8AXLoIaG3+7OD4bG0rvMzzUuQTAPuYTwBcGRM/VY2teRrAIxCupl3OcpEwAnaC5qOjtcCdlyttcT2FuwisTrsUr89JJLiBCu4qR8XspFE6OthLFlEI9MwWwBOHw5FPf2vPqu8e+UQg81cW+pcyvAVEDk5OxhaOYANWz9cQPISJ+zIVttNsNN396RPATLb6KT3PJb5ZoE9Vn3h5zFBbTBwP+u1/+4dAiYwlHEXeHDvemM3UhOSt3WsV4llST8Ciev1fk4AxMPkIQaWAaNUAgpEygkoRjHzi33USIEFWSGbrsDM1qO7IqrxQMMDWQPa2mwxGMXHY6UfsKylo2CKAPSR3pl2L57WaULmagdnVlbS6g0yuTV04C+q/SD33zmQbQdIAGDWGH4Ft/PubS+d/d+3nz29Ju7JOWft358sbq+d+JEL8B7D6lwTW90jyH0hOG/IxS/MoDm6aS7seZ3+oWU0AdGRa9cb8fNkpmfsCLIzgEwAXLddqoHOtCezGiNJz72d0T7MVh+/a9s+Abyn3ssEnAPYxnwC4Yq4E0XELfRXSOTj5ZXotEkOC7mYQvmfoD57I1jamb2Dtpx8vI7C3AdgOoPR2/33P64J1JO4qhFqFrCwiODrYExRsD6xmT7xUGPzEwwdWlwb+KLDRfwqAX6Z4K8ECIQMpG+dJB1nZlwD8XXXOXkXGrpVRLmpNK11VqaRdgec5y82ro7ds+Vi7E9k7DVBOuxavWygYyYZmFoF9ZNoGL8CF7X/nTdDGteSsJY6BugIioSEYBQjKeQSDZYSrKggqBZh8BBj65r/XkbVIqjUkU3NIak24MPtrJWDBACjB4HZLbcL6AR8lAQCHnsoZY24VsReAnw17WUBRFcjuCxnu6MYBJ39++7RV9BBpvi7wSjeOmRJCKgLYBfDXCwb/56bPn/vFjYdOrUq7sBUjmfVfOntz1NAvG5k/JvATNKwA6p37FWkqAb7bSMyTaZcCAImbL0pnNwEQyGBhC5X9OaH3Kta9YXH+tsMnAC5Wq4HOtSawG7eZ/rZtydoJgC6Oz26drV6v8gmAfcwnAK6c37xjVsBToo4KmEq7nGUTaMhtFvbDzMWbgWw3ptTUXAdhP6FRODmYeb2GQI7AzTThHaOf/GY2nkU4OtgLIgzpagJg5dOP37T6E4/8wuri5f8vF4Z/S9mPg+ZWGBbRepbXF2OWhIagJ6dV+yomxlN/0fv1mo1mf3wQnuf9AJ+i1IfGP/aZCPW5HYHFDkkFfwHoD5IgsZEE0alE4cmkNnXNle1/502vDq5FUzxpjD0eBOEG5IJyUCnAFKJW019gQOPeA7GOU+teKKk1YGdrsHN15576C4gAcztNsHXgleaT03hVCmSfWlXJFQJhL2R2g9letPL6B2EKgG4X4x04pG/gIDsd/aLTwZXLY83SVyIT7AbxkQ4fL00kEAgYgvBeY7hHpegjm7584S9mJ699ffLnt19Lu8ClWnPoqUr+8+d+iEHwLwxxn6RBEIELjeqLcE3SI5T59uWfWTOddjEAEBhH10oNYLJ2ahw9Coxtar1el7XaFoRwtPD+ZGzWn1f+ALLVFOYTAJdKcOkZyvzn3fAJgEvXBBS61vrZZrIY1ev1mxJKre2ojVvjJ4DWAEqfALhkszNAKWqFQrk4vc3YVOnqZPP46tX5r0rYD2KIzn2hXktAgdA7gmbywfKnHrkw+1s4n3ZNb8aAY4DGRa5y+ofu9RhugLUHLMJvAkh/bcvRwZ6gmtY6lQA48DvfWZ0fNu8R7I/SNt6HEJsBlAhEINl6CJl2lV1m+AJifqm2qng5i8/ao1wEOb1bied5S+UbAPvQTG7dmpHa1VsYJ2voz4G+QnA6NubbMubciccbGVtSWIBz44kdeOxcrlh8mvlwPCjmyixEMFHo0/7egiCo0YCt1hHP1Jxr/msLCdwMG2/L5/Orp+89PIUH7+vf6avEwgPnhlXQPhjc6s9+LztkAA2Rwb7NlcltJ4GnO37ID22vm0NTz6Aw9yWRtxLa2/FjpoitIKAQwCihn0CCA+XBykOFL535yxqrhyc/5Egj4ITM2nfNjOaasx8A8XMUDhB2NcCIjj7vfjMSLMnzhA43z8WPpl3PvASOPp+3AAiMAMhM7Of4OHDpok8A9Lqj/R1wilol+wTARWqgvWLj2gcOANbn/y1HBECCIOcSIGGtk0mlXm+pooqSKcDJ8fN6AuDFtCtxU7kCqA5ZR5eKszZV+tQPTSd/8ND3wyB8DOAYgKG0S1oOAhS4mQY/loMenv3YkVfw2f3NtOt6vYE//85qM2P3gdhAIvS3a15WSFotco9Rbh0O6RwOMt1njI4O9kI78DvLPvnNgVUIdxuF7wbsvaD2ARg2JshBygH9k/T3JuqwekIJ/h4fz176H9BKAAyDyN0lv5mZtCvwPGf55q8+lKfGrbQ9gApp1+J1h0DBwMrwShSGXztnSi/j6P0x8PG0S1ucCSj/l4PnAuLxoFT8KCKu8Yl/b00SbCOBrTaQzNSA2L2+TwAgYAANQdxmm/UtuB9n8SD6dga48YHTBZZyOyHt9o3cXvawBGIvFe9ENxoAAZx+evDq5v21r9Nql6gtJLOxFUVnEWAOxFoDfNgoeE9oB75b+uKFQ3Xya5d+8qZsvsl+SLmx/NndYXj+p9HkhwneBtkCwMjJVbsFIHFVsg83ZR8+9/ENmUmwDeDoGlD7Be/MNP8BrQTA9RsFwsXlz0ECHzSBbtv8xbOtBuL5Rsb5abb//ZJ+L0IUTynQX536ybF/wEpxMeSgnQhnsxZrk3W5HGCtm01gMHC4Kzp9TQCOJgA6mLfm9aBSqQQ0LJw8I30C4PL4BMAVR+aOE/HfC8E4HG8ABAASoaTdAYOfHt7SPHUVOJF2Ta8Xzpn1JtBdEkch1wYxr5eRMBA2i8mBwdNPH78GTKZbkJuDfWa+1BMywIODI1Fxs8itUcCdltxB4HYAmwCUCEWiiSgbtVY50i46G6zwPBV8bvKVWibT/4BWAqCNM3S+LValHx7veF5n+KaBPhTW6/cY8vZ2l77XDyRYY2pxFJ6z9cZzJ//i/qtZnZS8NerCL+iVm//mzDFLXSHMZmTv3cjskIDEQnM1JDM1qBG7eD90ncCQ0pYgCG6vTAWPzqB/GwBNyRYg3EFgT9q1eN4byAHcBGHXxkOnDp8+uKnzi0ETtOawzjZnz38hBG8D8JMdP2ZGtBIBmQNwE4kfN9J7i7KnN33x3INU8rczU3OPpL498CHlNlfOb1OC+8ALPwwE47AYJZAHFTi8FPG2BMQUTgP4+rlHn38i7XpezeUEQJu1U2Z8HDh3kY5OtHIAN5HccL3+158Y/vdL+j0hC/IZiQ9hJVnj3K3c/I7uPgFwsVoRgK61gen66emXnJYsAijBwealgOQqQXvHPnfGyWmGi2LY6Wa9/PKVg6um0q4lK6rVKkqhTwDsSz4BcMVd+bf7r41+6sj3AH1PwHoCg2nXtFwkbxL03oDhNzFx5CIm9mfmRT1MHA6RYJMM9qAHftZe76HhGGxygPXqV5B2A6Cjg72oQROGe4e3JTl+6pEV3+UqhDWJTMEARUsVIZQIFClTErCaSDbDcBN0ZD1YGQAQAQoBBgYIIYUgWwl/BAg5+XPuFElTBuYf5yz+Hn/67kym/wFAM5ECGr3qBt0lI1EtuWvkU4/4+5tusbzGUvzy5K/e48buUt5b8g2AfeT+Q4eCRx6KBnJXp29hkqwmGTg68HuLRYg0r8RB9ES9ZKace2L0ar8P1bbVZ3LF3Isy2kKYodaWk96rSYKsheYaiKdrsPUGYN392NsC0IxZaVuhNLRqBvdPAg9k8N3YDjt8ONRsfgNgd5Nm1NFmA6+3EUCFwF6FvB3Aw9046In7WBs7fPZJzOA/W2K7aTUC9hMCiEAMARwwwDYw/LnK8MBL5S+eOyIEjyK23w+H8s+duG/kakcrmTgcbti7fZ2JwnFj8H6r8+9iwq0ASgRyEkLSzd6zxSIxKeFBi+BhTGRr63qXEwBN1go/ehQY2wQYwsH7KwIKkMnHjW6TaAGEZqV7bY0F5NbiO9tfjSSLsTZOcKsJbP7zbqCRdinuajahMHKv+RMoEngPgf2RCZJX/XsAb34W+z9f3p+HDI7mi81PXTmkv099K76M8AmAfcwnAHaCEosXQ+KrAt4J9kRTmiG4Q7AfGSji2WngubQLmreqWFwHo/0Qb6Kj7+x5PU4qg+Y2o2QH/uShc/j1FBugHB3sSbNbSv4oRGfmbYKBIQCBAUhQbM+HSMiAQSDZAIQhwVbS6KvmS77Z701JAsjv1dn8y5m5WqY2J3m9KCBt7Nji0TzxQIj/n707j5LjuO8E//1FZlZ1V19o3GgcBECCBy6KaoASJdkkbHkk09QxO2a/fW9nvev1jLg+31pj2ZbnzXN5dyRZY+3Y8jWiLK982wI1kjWSKUu2RFKkKVLEwRM3QBBHdwN9oa+qysqM+O4fVQ0QvICurq7MqIrPezJgkd31U1d1ZEbEL7+Bv3GZk40jwmdKBZXH/XufxkMD6bwjda6bawBsIUd/0NPWGc3uFm3We2QWtHTgd+aFEEKgDc2QiH66VFJ2d8znwfjP43FPZ77ne9hOsMtNhl+DBAzBMIKeLoKlMhA3xfFLQkG3GNmMUngz/ujnzuPnH2q5FMAVIyvbkNPbRdQ21/zqpBXBDgI7/Iy/FXk+jbw0ZBAaHHliYl37Pd9SNFsI9rXIUcBXqa7YzDXzZCHSK8QOBfO/0kfE2XB6/deHzojIERicgq9ORHF0qqDilyfvu+HaCxek4KFzbZ1+0NXbJl0a0u0bLoM2a6lkvQA3CLjFiGxSIj0gMyISAPBetdrUKoqkHCH0I+fuW3Uy6WJeyyUA1lF/PzBy0Z126VxFqpmQmnX+YBhY18sAzF2cXJ/pvFQCAGHbGz63Qp9xCYC1CwKAsO745+q9XgZA5qo9xGt/nfvnC/jnILslijM49Kg9H5ZF5hIAW5hLAFwUE7++a2r5p59+TpT3PMg1ALqSrmnh2C1KdmcN7sEnnx6d/o13jCVdEQCIUWtE1J0CLku6Fsd5EwJwred5u1fE6sAIkFwDoK2DPRkIJFj015HX/OVyLgwhcz831141PyJnSfmm37b8MD62JVUPer9WVI7ge4GV77FIZU5p4W+3vQSdHn3XN9Yk3BvZQkxU6vTj+McEsgGke+9bBQmjvCJ9/yy19+KGDStmTyVd04IIx8b2jm/cdM8ThtEHhdxIwBcbb/QXQSX5j2AUQ08XoYshGDVHs74AQjILcB2FWztmO56ZbcFjgDN+T9aDf5uhudXGtWwCBRE+Ywz2wT3B85aEEoC8UQS7IbIq6XrmQ0QUyGWgbF2z+9L6IeCVhrzwwIA+98jLZ/umsw/5St0A4EMNed30Eqnc811uHyDQKyJrRbCbQi1knFFKZ5iNe74+HIqwSGIWIgUYU4BIZICsEvSA0in/MNyJ9iADJUJtVCAigAg85QH0BPBI8RXgzT1sYuFQVReEjFH4T5p4AtKYJtj5cAmAdXQ5ATDpQpw0mfuYeqrOHww7Qw5AACalsTaplckAxtjYBFb9iLoEwJpFgPj2vOdOCvgA7k66iPRwCYAtzCUALhZGpv1kwPCfoXi7QJqgARAi5I0UuVd52I88Jxr18Oqb+tUnuiDeLTR6M5S0WzZ6AUQRog4RZh8g00mXk35cC+CHUDlaO6Xtv29MRNYAeKdE3leRz19EPp/M7461g71jIxEJAf20gvfli+N/nfp9ySATwMTW3Qk7SREAcap7Wp15cE1gLSQ3PpmDJ++A0asqd0buxqglCEhPjUcZ/zSyHHk0ZcfP1eSjA8Xozw+fVbn2s1CZafFUBpZNkhZVrGFmStAzIRja/3ZfhfAArIKS29p8r3c2yQlmEvYyw8zFW4zh7eJJzrphXCQCedLE8helcGxv0uWkXYjuTFd7cIcH/F8C3Jd0PfNCCoEOCHf6LN+KRjUAAsCeTaXCV19+sVOyexXUGhHc2bDXtkA1mcUHq83z5OX/VgCCwmpzLkVV2qw8EZCsHAsBEQgEfNXTotXBaO7/cz35AEQmYcxT2vDRwQ+sSUWSwGtpY2m/WloTAIcuWpvM5iyOuSYobeqdAKhe9eS+HeZOxnYJgPNViQC0qfkPePVJ6C4BsGYBqj9IC5uXnARUbu+dK1wCYAtzCYCLZvLjOy8t+/STBxUyL0KwBqT9Jy4olRWDnRnK+5e3HxwcBQaTLKe7y18NxV0KWA4bBzDBII3+O41wr1+Kx5MuJ+1MtuM2UTAQuQ9AT9L1zEtlj2at9vTOpdH7T48jP5VMHbYO9o6NDM0LAvXFi4emz+PP0r8nGZUj+GrxgyadJkEALgCwabh3skXc8n98rUv88hY1O92nyDbX/NdSDIGXtQqeO1M2s0kXUy/l9ltDLzxxIBMEOwF0I9VLJA1CAtpAF0Po2RAsR0lXVH8CAbFEiboxDs1GrH/vOSDfMk8ULu0cb/Nj7IDCdtC+hSAahhA5goz3wsiHtqX+Kak0yPzjyKGO2BwBzb+CiG27qO0CbAF4G774yGP46T2lRr3wpQ9vnOz6p9FHWdabBFgHoK9Rr205gbzB0hktHHASRCAGeYYi3xz0Vj8DSWenjqcqa6XWSXsCYNpqcxJzpemt3gmABqBdo/Jcv7lOcaxNutnVBDb3fpddAmDtIoC+ba2fTnKINMeGJSGHHGBM9abRst8klwC4MC4BcDGx7IWnMsZ7RFHtBGB/AyApEKyjyI+S+D5+/+Ex/NK9YVK1qN99pk80+klZatnIBQAgOSi+emqiq30ID+xqwo2J+ur85PdOt0n7fgA/DNsaAAEYok8pdafuwmMAkmkAtHawd2xDclgE/xgWoqfwZ43b41iIIBOATZYP4ywiASoPITnNwMrQB2f+gja9LoR5vwC9r3oc22lyBEhPleDJcROa5yaOrWiaBsCRic+HRnmPE3IMQDIT8zSpHv2riyHMTAmmFDbl3EcAgYgPbVb6wrctuegtw/17W6P5M59XmbC8lIrbAdyQdDnzRRIkQxhzuFhediTpeqwRYgZKDkNg3ent1Uy5bgF2rOu9bUtjX1x49tLyCwr+Vwh8nWSxoa/vtLoR0HzDhMG3ca+k9h4l3XtLb6HatNibbBVX6+93j9Y5ryMCQACNeicA1vfbNQQra4kuAXCeLvfP2bgFbFz+30IEAECwGSf1zuKIATyWdBHpUUChuuth4fh5OQFwKOlK7NRR6Umz8kEnIPWPt0//yj1jNLKfxDEAzbLO4gPYDkQf7pnsWZdUEZ2fOrjc0+p2Ia07DhYACExR5Hg5Kg665r/rM1P+oTEDeQnkGC1colGCXlJvF6P6kH8kmRURawd7xyYEI0J+UAz130zhrktJ13O9onJk5a2wkxACbnG7ebgGwBZw/969XlCcWenH+m1CdiRdj9NQNH5mtAzvbJwJR/FoExz/O+eBB6LIH39FjD5rYj0NCydJdcPKA8KmVIaZCaELZUA39UaBgkgvod6WzWRWo2O2JXKs1239mWy2zdsKYLtYeCcmIpHy1FkjcnT0Q9IyqY0LNRouD4noaHVx1ULsAHC7QG9t+EsPiNaFY6eN8v4WSv654a/vtKpJCB4H8fD5F/4g0eODrsW6HYU51RnsRLJVXG3/fveQpPM6c3fjnqp3AmB9v11DyFw+VetO2WqSqbTQ2dkEZuMHNUUioBrMnHQlji18AHcnXUR65HK56t8sHD9JVN5QlwBYk9nKYRNi62Uo9bdKwsDLnoDgnwAOJ11N3RBLRby7VFtmN/JPdSdRQo7lNdBmN0krj/8V8ALI5wwzk0nXYo28GAoHCTwHwMa1ciXw1lObd3ZlcskkGFo72DtWEXnWaP3gjC69jLxY03UaZAKXB+VcPwEQu8XtZuGuji3g+JNBlw+1PiiX1wPuIewWYzRxEhk5GU4UCkkXU28TE/2FuMyjMDhNw9Y8X4iVZDVTjmBmS9CFEhCnfrVooYRgtwi36nK8qevmrR3WnYNWm3aJze0C7ki6kFqQCGl4VIyxtJEtIQNSLjI4KVBHQSvPUQsg6BNfbV398PEVjX7xcwPvKhagDhojXyT4eKNf32k5ZQLHDfC1M11rnkI+n+pFIWvvFkwKA9D6+yt/pq4wJ0lzN6fa1DsB0L5lnCvHIVvbepyQyq2fbU1gVzYZ3PJTzQJAQFjZvOQkQGDhM4KLqnB5CdSu8ROASwBcKJcAuOgufOyro8bwaVKOoElSAEWgQN7qGXxwaWem8SmAD+4LokA2iMhWiHQ1/PXrgMCwojowvcxL5ihYS8WzM8MUHISdDYAA2KcU7lQ6XpLMy9s62DsWeRkwf8f27JPI23H072XlyMY7YScpBOC7OWWzsG/l2Jk3Rb0BSm5XNL1Cuve8RRCgUVIWwYGSxC+c6u1vugZADEEzMs8BfFFECmzBxxkIgpGGmQ0Rz5TAsrXb+deteqxoBsQqeN6t9MxKPLi/ue9MHqFPX9ZTsE0gqTr18HqQBMGSoRw626YOJ12PbRjLrIE5DOHJpGupgYDoJLA9E3fckkQB4/cumzbQjwPyVwReSKIGp/mRMCTOA+rLDONvYY+k/pE5C/aW3phK4SR2//7Kn6krzEkSq707Xr0/GMq+TQ6prjq7BMBa2TXPnXu/y1Y+u5ISEUBUzxF3nGsitIsivopLAGxhLgGwAfImVDgFke8CciHpaupFlOQguMPT+kc6P3mgoQ+w9g4W13hGdgNcCQv370hMCtTRcqTPu+N/52f6N+8ZE63P0qSZAAAgAElEQVRfAniRNp4roKSdlJtUru025Pflrv0FdWbtYO/YgZOk+RZD/aVLv/w2+9JNMy1xcJpTLwLYeBly3pi7OraCUnwTyDurx/A5LUEIARn4l2KY4+FY8Sw+34STr7yYUkGfNGJO0JhpgT3xy/VAEowNTDGEni6A5Ritkulc3QZpB7kz5/nrADT13eyKkZE2Pwi2g9gGC6/dIlIWwRkjPIr3rZ5Nuh7bjIbLQwN1BOTRpGupBSE5geyAUluxl0n0HHHwvjVjs/T/gcCXCJxPoAanyYnICIivmVL4lfP/09rxpOu5HlbsLb2RtCYANvejCE4NpNq7o+v9iU3dL8D1EbgEwHm73D9nVxPY3Iw04xIAaxcA1cf9kq7EsYQXA3gs6SrSwyUAtjCXANgQs4XdF7XBUyCPg7ArEenNkAJiM4Efz8Jsxv17G/ZuqGz7GhHZLSLLROwbt0Rk2BAH2aHta5BJmggZZAeF8jyAmaTLmTdSRGStF+s7lwdo/DHA1g72TtoRiDTlidjH58ZuvmsYEOsmZlE5svJW2EkIAbe43TysayJw5qfvI1/PBVG8wYvijXDnr7SMyiKxRJHyjiKbHZ6dnGratu0JTBQ4Gw2Z2AwRrXMMMEnQGLBURjxdhAkjwFh3D1ozAqAgKwpbDbG5cyrsRBPfznZ0oJPgdggSSVCrg1CojgRGueN/azEg5bKSlwk5RrFvYVVoPBC9ILatyp25IZkihGPF7w6T0V4Kv0TiUiJ1OM1JZBLA41TqK+f+zbqTtiwKWbK39HppTQBs2rttp1ZzA4Gn6p0AWN9v1yiESwCct0xlCce2JrArk7KWmZ7XX1Q5+tm245+dBPkA7k66iPRwCYAtzCUANkZejKdx0pDfpaB5UgDBDAQ7ROKfWLprQ0N+CXt/e18PxNxGkY0A2hrxmvVGmmEqdXBq6i53/G8N4pnsMCgHAdj58yNXQaRfI16BfL6xo6+1g72TagKSZp8o/N6l6cJRDIgtV+erBJmgVfJinHoQALFb3G4W7urY5Ja3yWZoc5OnTacY++LDnRoRgKAI4vEo8I5f2NjdvCvvQ/2aXnAM4D7Y+JRULUiABEsR9EwRplgGdGvdyVWOAYZPygpQtvhEH37/4eZscn74eFYjvlkUtsPChSBWnsUrQXCk1GZcA2CNGMssxDsEyomka5k3EUDQAcGONmZuTayOgQF9bnDdaQPvLyn4CoHCtb/Ica6pSJrnNPTfnl195imIPWnE2ppKXyOtCYBACgtzkjTXtqNNvRMA7ZvWzy06uwTA+apM421rAruyydCc07OGqCYAWtm85CRA4NIaruYSAFuYSwBsmNHoGxeU7z8JyElAwqTrqQsRCNgnnn8PxN+K/COLvg4bR6XVysMuAZfDwkGLwCWIHDFxOIS8uM6BGkzlt04YRocBM2LjMcAi8AXYoLL+Hb1t93U19MWtHeydNCPksIL8yZgJn0Z+j3VhDHOicmTfRcVJDgH4bk7ZLOxbOXbmRZUKOyHYBrI96VqcxiBBisSx50+I4fOzZTOEzz9g3cThuuXFFAxPCuQAtbmEJl8hJ1n5TzmGni1BF8pAbOUDKAsmgAhNO4BbMtK2CeNLs0nXtBh6Z5a1gd52Gm6DhQtBAkQKeCU25ugFd/xvzUbDi6ERc4SwtomyjeRNxuC2dXsTvCd5QKJ2mTzMiA8C+AphX6KikyoRyOOG/Kuw4H8bu3ZFSRc0H56tM8G0JgACKSzMSRKrvTtevT8Yyr5NjrmTzFwCYK3smuLOvd9llwBYuwggqueIO841ERb2CyyqHHLVBzPsGj8BuATAhXIJgI2TzxtTKp2k8LsEmyYFEBDP0GxVMB9emetau7ivlVcZP1gLyh0Eehf3tRaHABdAedaEtDO9LhWEDGQQVM8CMp10NbWgoA+xeQfQ4GOArR3snbQicE4JvlQqzn4dv/YeK38f5wSZIOkSHJsI4OaUzcNdHZvY1vzeTDaOblXabBZxj163FE/Nxr5/DO3q7Kljh2Zh5YrX9ZsMNkwZo8/CmCGw+Y8BZqShZ0owsyFYtqrXoO4o4itgsyFvzPX4HUnXU3d5qkwuWqaA7SJqfdLl1CiEwRGIOpp0IVYb2FYux3JaoI4TtO7JagFEieryPLXDD84nepT1iXu3hOei+IVY6c8B/Drc+XRODUgYAmcp+BsDfHVkYKV1KcQ27S1dpdr7lKrdkf5+F7zjvI5Ue3d0vaMh7ev/A1hZS3QJgPN0+Q7FxiYw4xahFqKaAGjb8c9OgmIAjyVdRHoUUKjuelg4froEwIVxCYANNRbfNaSNfhLAy2yitRUl0gvIXdrody/JP7JksV5n5Sfev0IEb4PIahGx7N0HUMmiOE/wwBRC1wC4APGMGabgIEgrG46EWCKe3AYVrceD+xrXdWTtYO+k1KgQXzZZ9YXp/D1jSRezUFE5svJW2EkIAbe43TxcA2DTyqu2yewGiaLNHk0vSRsnEE4tBCTNhPH9f5mO9QjusXKLaH4OgUJ10cTmACBTrzpzqHnMnf5jCF0oVRoAS1GTt3ZeF8/QrAZ4U1CK+/D7DzdVCmBf/1BbltxGYDtA6+6+WAmtLBqFw+eLZVuT61LDYKIAmkMCOZ50LbVhhyF2IuPflnQlGFhfhJaDhvhjEA/beMSGkywBRgT8KlX05cEP9Fm5KGTt5KA6g51Itoqr7d/vRhHndeZu0z1V7wTA+n67hpDKz8MlAM5TptJCZ2cTmI0f1BSJgMrhz27HxrlOPoC7ky4iPXK5XPVvFo6fLgFwYVwCYGPlxSi0HwfxCMiLSZdTR0qALSLyE9LRvgHgolyQy9BrIGo3wOXg4rzGYiI4IcQRHZUvIL/HzYgXYOo375qAVocBDJO08WephFjvSfCOrukGpgBaO9g7aUNykiJfjUz82dGx/zEMiIU3kVcLMkFTbpU7i0QAxDZefpw34q6OTeqmX7wzMGX9bojcCG0y1s0enJoQQoqKqdQItHnyUoiLyOebvwEwL0ZF5pxSwaMwZhxi/83Z6xE0BqYQwkyXYEpluLu36jHAIh0CbG7z5RaMr2mq485VoNsEuB0025OupRZCRgBO05ijGFhfTLoe242GOjTAEZK2pin6IlxDYOumr11YlXQxgx/oK4Sd3j4j5nME/5lsgYZ5px4I4AIFe8sI/vTsj69/GVbuLNq3t3SZSWEAWn9/5c/UFeYkaW4Ork29EwDtW8aZm7a4BMD5qgTp2NYEdmWa6jIAaxYAcvkpQMe5FoFLa7haoVCo/s2u8ROASwBcKJcA2HDjm44OUanHQTlFNk8KIIAcBHeIlvd2fOLplXX/7ntfyvht7RtEyS2AdNb9+zeAghom8Sw949L/FkqEUBgC+JytxwAD6IMxd4qSRUvNfB1rB3snZaYh+DpKpf/3UvjOM02zp16ObLwTdpJCAL6bUzYL+1aOneuSuzTq+1H4LpAbIeJ+Y1sFCXoyEweZs5LNvXLhL39qNumSGuUdwdNTiOMT1PoCaMKmagIkQRK6VEY8VYApuua/VyPgichabdTNS/2prqTrqZsH9wW63LbRKNkqohr35Fw9iSoBclhUm60Na+kysK0cZTpPi8hRGtrYUCkkOknZUYJO9BjgOSN7Vs50dfj/AqrfBfBNlwToXAuJMUL+3niZLwwVvnsMItYuClm4t1ShUjiJ3b+/8mfqCnOSxGrvjlfvD4ayb9iR6qqzSwCslV1zv7n3u9xUPQANFgFE9Rxxx7kmQrtpzFVcAmALcwmAjTcwoI3mCQgfg3Ak6XLqSEBs9JR6X8bDFnzkwboea7rkTLiGsb6ThqsA2veJFdDADEF4cPLGIdcAWAdjpjBMUQchsPLnSaANIjcGUbwdv/Otjoa8qLWDvZMWFEwR/FqJ+pOjOjqJvL3rvK+Tadxp3E4TEMBtjTUPd3VsQv0feTBgZ8eqoBRu9LTpccf/tg4RGIIXGHjPl8uztj4pVJOHBu43Ooym4rJ+jgYjNE3y+E+1+Y9hBDNTgi6EoDZWrmEuHlHGmNUQbok9fzXye5siamL56s62QOLtQm63cSGocvwvCxBz+OzI5Imk62kWJlMsEHJYxNZjgJEDuc1X2IqU3J8c2rNyRmPlExTzaQG+TLCUdE1OOhEch8g3aMyfnnv6uUMYGLBxe+Yya4tPawKge+TKeQ2p9u7oen9iU/cLcH0ELgFw3i73z9nVBDY3Vc24BMDaBUDl8Gc38XeujxcDeCzpKtLDJQC2MJcAmIiJ0vSggTwOymlWD7JvBiISkNjuK/UTvZv769qVq3R5DYjdAiyt5/dtGGKcUIc0yxdtXxtJjY+/5xK0HAVxwcZjgKXSNLtWwbtzuVnRmDADawd7Jw0IXILBQ4gz/8/Mpncea7ajzKNyZOWtsJMQAm5xu3lY11DgXJvJrl+iyHuEWA+6439bBSu3u1qU/wqNPD2uulqqARAQFkuYhOF3CbwigqgZUvIIwJQ1zGwIPVsCYjeffi0BRURyQtnQ7ue2AFty1/6qtKMAy7ooagfALUlXUwsBygKcjshj+OlNrqGqTka6VoQUdYSw8xhgESgAvYBsX/etkU1J1zNn8ANS8DrCZ8rwPiMif01yJumanHQhOUbIVwH1h2cPrD7YDItClu4tpTcB0PpPhFNvczMRT9U7AbC+365RCJcAOG+ZSgOdbU1gV9agXAJgzaLK0c+2Hf/sJMgHcHfSRaSHSwBsYS4BMBn5PbEx/nEKHgPRTCmAEMEqAHd7nrkd+X31WXPOH1wCeNvEwwYKsnX5ng1GyAWCz7LUaWVaXToJRfnnITgIESt/riJcaWDeHmfilcg3INDA2sHeSRwxJsBfR6b0ydGbjp3EgNh6BX5TQSZohi1yp1EEQOwWt5uFuzo2HzGlqV5P6x+hMavEvcctxQT+TCzqrEjmxODnP2Dj8ZALcvvQmVnldz0D4gw1rT8GmCQYGZhiiHimBIaRlWuXDSAEfIisio3e3tuW6U66oAV7GJmsh1sUsU1EWbkQBCAEcJhe1spGtdTaJVE51GeEctzSY4Ahwg6lZLvS5taka3m103s2lYYKF1/QwGeh5P8jOJ50TU4qEMRFAnup5ffP7Fv+HPLSFLNhbeuD0mlNAARSWJiTpLm2HW3qnQBo3xR/btHZJQDOV6WBzrYmsCubDC4BsGbVBEC3AOBcH4FLa7iaSwBsYS4BMDGXwredI9TjAjnD5no8yiPkNhj50PKMXlePb7isU68WwS4hloudA5UBOKiUeu7S1uMtFkKxuDSjYSh1QGBnAyAgnohar8rsX4JnF3+PxtrB3kkUOUzBn2qPn54M33O6WVNMo3Jk4wXGSQoB+G5O2SzsWzl23tpHHvTbiKVBObxNAV0E3fjeIgQwGrgYZYLTk1E0hRZcKX40vyc+17ls1JTjlwUcI2ntjRtJ0BAmDKFd89/1UKRZIeBOHU+uRv4lq3ebeoOJNo96BwTbQPvGcQIkZJaeHBm+MHUq6XqajYlVAWIOiRIrmysJydJgs4Hchr0vdSZdz1UGtpVvyq06XDTRH5LyxyTPJV2SkzBihMIvRR7+8NzBQ4eapfkPADxbZ4JpTQAEUliYkyRWe3e8en8wlH2bHFK9m3UJgLWyayI4936XXQJg7SKAqJ4j7jjXRDRXr83C5ZCrPphh1/gJwCUALpRLAExOXmJdKByj8HvSbCmAQLeI3Gk89UPd+ScXdmTv3r0eyHWAvI1gb51KbCiSYwK+ZEraHf9bZxO/3j+FMDoOctDa47TJtR68u5DFkkV/LWsHeyc5fBlQvycF/u74f9h9Dnmxb4HlOgWZIOkSHJsI4OaUzcNdHZvM9vbVSw3MbUEUrRRjAtueFHdqQwiNKC3iHdbiPTu9rKdw7a9qUu3QjPU+QxwTiNXHjjKMoKeLYDEErY3paQwBFARdENncFvhbujqL3cjn7bzGkapDxysg2EZybdLl1KJ6/O+pOI6PuuN/629k4kxYZnCYAisbAAUQEXR75M4bupfcnHQ9r/XoHolHiutOGS94EJDPEDiUdE1O45EwBF4xgi9Qqc8Ozzx+tBmO/X01a1fpq7dEqdop6e93wTvO60i1d0fXOxrSxmkBK2uJLgFwni73z9m4rmNc/t9CVBMAbTv+2UlQDOCxpItIjwIK1V0PC8dPlwC4MC4BMFGTg+1ndawfI3CWsPfB/DegAN4k5E+obHDDQtacO05vXCEGdyhgtUCsfMdFcMFQHaSvLE2pSzMh/HiQwucAWpmuKCJdBG/xlWzCg/sWtwPJ2sHeSYIx5hBEPlHq0F8Yye++UDlYrHlF5cjKW2EnIQTc4nbzsLM5wnlTXhjeQFH3GMD+IzCdeSDoqQLBl9q86IULn3lf6zYA7oEuFIoHRdRRgEWIXSvmleQ/A4Yx4qkiTDECYzeRuT4iAvYYsj8XYw0G77NyEaXvG0NtiOIdIHeIWLv0FxqjjyDIHEm6kKb0wK7IxJPnxPAYyZmky6mJSA6CnTryb0u6lDc0IPr8D/5gsFzk34jgEzT4F1gZH+HUgpBYRE4Yg8+R/h+f/cHKl5vxqXZbLzBzM9iJZKu42v797iFJ53XmLhqeqncCYH2/XUNI5efhEgDnKVNpobOzCczGD2qKREDl8Ge3Y+NcJx/A3UkXkR65XK76NwvHT5cAuDAuATBZn98VBb5/FJDHAWmqFECItInI7Z7wfcuD+1bV+m1yWtYA2E1wWR2raxyBBnleiXluotRvZYNa2o2OF4eN4KAAljZYUolgLSXavWRoumNRX8rawd5pLIbG8J+Vr35lZFY/NP0L7xhv9uY/oJIAyKb/X+nUjQCI3eJ2s3BXxybS/5EHg6zWa7042i6C9qTrcRpHIEYrNRh7wfmRQts0rFzhqhdhbtWSER2Xz0KbMdCi7djqMWGMNPRMEaZQAst2Jr0nREh0Q6m3G8X16JvOJl1QLaS9s12Jt0NEtiZdSy1Y6WOdUZAjg9MXX066nmZl4u6CUXIYwPGka6kJ6YNYpRS3rf/amb6ky3lD+bwZvn/16FQm8w/GU/+Zhv8AETcoNzuyLOCLBviskdwXzu3/w6FmPQ7C2r0lk8IAtP7+yp+pK8xJ0lzbjjb1TgC0bxlnbtHZJQDOVyUC0LYmsCubDC4DsGYBqs8ytvDSjjMPApfWcLVCYe65aLvGTwAuAXChXAJg4i4WTp3VCo+g2VIASYFgPRTeGwfm5pqSzfKPtBnFTQLeLJDFbYxaLIbjhLyky8WxZl0rSdyn3zulYjkOisXHAGONAnYpv6NrcV/HfQSdayAvGGM+B9G/NPLKku8i/84ptMokqxzZeCfsJIUAfDenbBb2rRw7by53w3JE8SYv1qtg3MpPqyCEBtAi8nwMc6Kc8cvX/qrmNti5pqyIk9qYEyDtOH6UBGlAbaALIfRMCQyjVrkVrQup/J82QDYD3o3t7e1LcP9eu5bOHmSgCrObFbCdoJVJriIIlZITMeQIBra1/Hi0WEYmzoQ6VkcIO48BRuUxu04QO5XXfkvSxbwpEU782NJJY1Z8D776bQJ/C8A94dykCMxS1OOx4aeyyv+rwQ90jyGfb9rVRLsukK+iUjiJ3b+/8mfqCnOSxGrvjlfvD4ayb1iS6qqzSwCslV2Twrn3uww3FahZBBDVc8Qd55oIbdGzr43gEgBbmEsATF5+oKwZHwPxLwIZTbqcehIyEGK7T/ngkvFo7Xy/vsfLrQHkTkJWArT0UyrDJA8izk4mXUnzEiJjBq1OAVSSJbjZy5gd+OUnFy+sxtrB3llsBCICzxjyV32v/ZNjxW8dxR9sCZOuq6Eyi3sCt9NkBHDH2zQPd3VsInG5cKNA7RCtOwV0q4QtgBBSSHqqpMmDvuD44Of/orVuYt7IPdBhjBdIOUjAnuMxDWGKIcxMCaZUtnKdMmEigC9ELxFtawfWYdtuq+5yl68ebfM8bCfMNrm8dWYZIjTkkcox3M6ieWBXpPXUeSXqOGnROPdqRDuAW2Hi25B/KdURMYMfkMKZmdFnjJH/TI1PAXIs6Zqc+mFlm20Uwv8Oo/Pnu0r/48S9y5r+iVBr95bSmgDoHr9yXkOqvTu63p/Y1P0CXB+BSwCct8v9c3ZNC+YunhmXAFi7AKgc/tzUtyJOHXkxgMeSriI9XAJgC3MJgKkw1bbsDBUeJXGeFk89X0cEIlgOwXtU4O/Cp5+YV7qZ1xasFmG/CJYuVomLixrgec/znh/HP9q5FmmJ0enOQUDtA2hnAyApgKylVu/s6sksXtqltYO9s6iIMQJ/GevogWzJ+/KFj91+sZkf8H4zUTmy8lbYSQgBt7jdPFwDYBMJyuEtpL4dIu7435ZBCFQce/4wMv7JCxdnRoCHmmdSXSsRXpy8eEbAI9Acp0n/cQMkoMMyzGwJuhACxi3014pgRuBt9SS4YenS2J5dJ1KygeohZQcgNyZdTi0IGANOU3DkXOcKd/zvIjNxWDA6PiRiZwqggApkLwU7+u5YuSnpeq5pYFv53F88eiruzv2Jhv64Ib9F0kXbWI6QGMAp0nyuEBY+caZv8Gns2WRHevACWbu3lNYEQPeQpPMac3fznqp3AmB9v12jEC4BcN4ylamMbU1gV/YY3G1SzaLK0c+2Hf/sJMgHcHfSRaSHSwBsYS4BMB1+aUsoBkcIPCnEeNLl1Jd4AG/1yPuWwVt3vV/V86nne5XWO0HZANj5lAQpo4S8oMOwqU9LSIX81llt9CkSZwGxNPCDK6Dk7UEmXon8IiVeWjvYO4skInmAwt9gYeY3Lx246/nB/K7Ctb+sOQWZoHJb6TjXQwDEbnG7WbirY5PY/JG9PV4YbvS1XgtDqxKvnAUgQLJoAn9/qPzBXBw2yzLBwvX2GxOri4ziEwKk+iaPJEw5gpkNoWdDQLv58wL5JG8A9WYWJpcs2gSz3h49naWJb6XINgDZpMuphQBlBTlBw6PYI+5ucZGNrNhaMso/bGisbACsPDktOYjs8Hx9a9LlXJeHBvTgnq4xQ/yj9ryPi8gfgRhOuiynNgSKAH9A8hOmvfP3Rv/15hPYtStKuq5GsfZ2I60JgEAKC3OSNNe2o029EwDtuLV9tblFZ5cAOF+VBjrbmsCubDJYubedDtUEQCubl5wECFxaw9VcAmALcwmAqTFanHkF4CMUnGeTzZQEqpPEbkFwd1f+keXX8zW+ilZDuAvC5bBycAJEyTAEByVYamcqnVWEQcYbJNSzAKeTrqYWAvEouEE8r38FDuWu/RU1sHawd+qPF0n5U0J+dpTlvx3P33MeD0lL75dH5cjOi42TDALw3ZyyWdi3cuy8oTZPdoovN4sx7e7439bASvyfESVTMPp7Ktd+5sQ3x1tm0/qa7oeJpi+dpvApCiaTLufNkATjuJL8N1MCo5a+J62LSk8Reg1wi0duBr7RlnRN12PDrGoPjHkbDHcmXcsChCSPiOeO/22IPRJrzwwK5BiR3nHuGrKA3CAaty19eKw76WKuj3DwA32FwZkVzxvtfUYUP07yCQDuGmwRQiYI/L0h/+PZZav/7vx7u8cg0lIrh56tM8G0JgACKSzMSRKrvTtevT8Yyr6hSqorFC4BsFZ2NYHNvd9llwBYu6iy4GNpf4DTcISLIr5aDrlqu5Fd4ycAlwC4UC4BMD3ye0qAPgzw+4JmSwGkEspm0tybyXZswv1737p1M/+IT9E3kLgdQE9jaqw3ahp9Xht5cbT4d7NJV9MKRgZHhwDuA2Ftw6UibxDi3cjNdi7KC1g72Dt1QwkJ/EtM76OFGP/3WHHmAH7tPdOAWHgTWF9BxmVFOfMggJtTNg93dWwSbTreRY1bYGlqlFMDAhRVjvxgWFEdnpwYHQNc9PplIlTrtw4phReFZgwpvHJVmv9MJflvugSWY7hM5roQElkFuRGe3NTV2bk4T5jV0156EYLVRsltIrIi6XJqQcAQMk3y2Nn2la8kXU+roCcFUB+G4fGka6mRCNgtwts74vItSRczLwOiz35w+dDsrPdlHetfJOWTJE4kXZZzLRKRctQIPqs9/VvniuNP4l1STLqqJFi7t1S92+1Ntoqr9fe74B3ndaTau6PrHXhi44yPlbVElwA4T5f752xsAjMu/28hqgmAth3/7CQoBvBY0kWkRwGF6q6HheOnSwBcGJcAmCpjxdLLRst3QAzCyo7ct6CQVUrtoML7229ft/qt/tXl7T0rheoOEVklECvfZRIjQu95T5Q7/rdRPvO+WUP9MgWvALDzGGBRHaJwa2zMTcjvrf/0wNrB3qkHAmeNwn/VRn62vcivFv7jrmHk96RuHzgpUTmy8lbYSQgBt7jdPFwDoPUo9+QfafPD6GaPXAvQ/Xa2CgGNwqTJBIenfTV0+s/+dzsnAYvowvdRFI/ndSk+AWNmkKKFBpKgNmCpjHiyCBNGgElNefYTeAQ3KuBWKaretB8DvKp0oS2gbBNgO0ArF4IELIvwGInD7vjfxrnwr1aVkGl/iYJDSddSKwI5imwXH7clXcu8iXBkYOXM+WjtC7q9/Q9ikZ81kD8nTZM93W4/EgbAMIm/1eDPZzLB7w2+v+84Bra1bDyRlRcb4PIMdiLZKq62f38KHzVxkjZ3Z++peicA1vfbNYRUfh4uAXCeMpU9MjubwGz8oKZIBFQOf3Y7Ns518gHcnXQR6ZHLzT0HauH46RIAF8YlAKZLfk8JgXeY5NNgk6UAEkJynRL50UwQbEX+kTc/gSaK+kT4DhEsa2CFdSXAsIY5ODpWsPI4Wlv5NMM0+nkAlv7cqUisF/h39mTXdNT921s72Du1IhmDOGE0P0XiJ6PZ8mcm9p86NJjfVYCVN36LJ8gELm/GuX4CIHaL283CXR0t9+O/+M3MyMT0Ds/oTaLjTqF7T1uFAFSQQa30dwp+54iLNH4DvwlGl/QYye+TMoa05GWwkpXGMEI8XYAplQGdjtKahQCeiCwjzOQPEc4AACAASURBVOZMJrsO3d9PdTqqtDEHUTsEFjZAXaZKII944o7/bSgRHY+HFxTkOC09UkUAT4iV0Ni29r+fW5d0PTUZEH3+vd1jg4XR7+k4/k+A98s0/C7JlkyWSxsSMxD5jqb8Ck348fPFscdP/djSyVY78ve1rN1bMmm5oXuV/v7Kn6krzEnSXNuONvVOALRvyj+36OwSAOer0qNuWxPYlU0GlwFYswAQVM8Rd5xrEri0hqsVCoXq3+waPwG4BMCFcgmAqTM+Y06LwncMMMgmu7CJwAewzVf4YE8us/YN/6Xf+VYHsuomAW8EkP5Tat4AiZgiZ6nlED797pmk62klI/70EMTbb/MxwCJYq8TcKVp11/2bWzvYO/PH2JBHAfkETDAQI/ydseI/HJjKv2scDw1Yu8S5qMqRjXfCTlIIwHdzymZh38qxc5WXxiZyKo7vM5AbhW61p1UQQuOpKPa8836EJ878t/tSFYKSGiLU0jFGhe9DOExjkr8RJCvpf1GMeKYIMxu65r9FQsATqD6BbOssxZ1J1/Om9r6U8TuCzYTZDiC9db4FEsbQTBFy5JUDh88mXU+r0bEqEjwiEGuPAaagQwQ7vYxv1zHArzWwrTz4ob5zZ6C/HNP8HAW/QvD7JFs2ZS5ZDEkeJPlbuhz9Aorlr5z94PqhVk79ezVr95ZUCiex+/dX/kxdYU6SWO3d8er9wVD2zR2kuursEgBrZdde+dz7XYa73NYsAojqOeKOc02EdlHEV3EJgC3MJQCmT35XITbxISV4BikLcq8HEfSKwbsCk31H72/v63ntP+/hstWG0k/Icth7Yb8oVM97ORmDuBCKhvrY+2aNjk9R8DKAUtLl1CgD5W1GkLkd//XJ9rp+Z2sHe+e6ESWK7I+1/Eao5Cc15XfvOXDs+cmP/9AE8nl3A/xWMkHSFTg2EcAdb9M83NXRZvm86l6iOjNheLsiV1Dc+9nsCMAoBZ3LIlzSPV1etmRsdkWXG5HfwoWfWlVEHJzVoTkLg5nqEYCJIQDGGnq2BDMbglEzruykhmfItRS1vd3vWgIwlYssS8uZNk/HOxTVNti6ECQIBXIMWo4gv8eNSQ12oW1VqUwcphh70xeJdkJuhmArHj6e6sTOaxIhPtBXGDz4J8eLevIvYTL/Xgx+g+QBullUo0QkThioPyCDB4ojkw+ef37tiXMD64tusfoKa+9A0poA6B7Fcl5Dqr07ut6f2NT9AlwfgUsAnLfL/XN2TRHmLrQZlwBYuwCoHP7sbluc6+PFAB5Luor0cAmALcwlAKbShNdximK+A3IIVnbmvgXCE8jNEN4n8F93qoUy8RpF9oNYmkR59SAiw/DMszI5bekxtHbLiD8E4jnQ1mOAITBmgwd5Z91DGqwd7J1rITltiO8Q8stlT/5nvzv332Zmdx2a+PVdkw+5xL/rEpUjK2+FnYQQcIvbzcM1jFls68W7cxKaTdlyuEGMybnjf5sbPQXdlkW0vBeFjX2muHn9SHHt8lPhxmW2PvnTIGJmTTwjunyA4HkFJtd8QQLaQM+WoGdCMHR9IItJACXAUoI3GkYb+vL76/uEWZ209XRkRMlNEG5OupaaESGAQ75oexvQbDYg2os7hmHkiCFHky6nFlJ5iGEJgO0b0Hlj0vXURT5vRj906/SZ0neOTAeZP9HK+xka85sEXiDt7b1KMwIxRE4D/IIh/93U5IVPnu1adnD0Z26dRr61j/t9I9buLaU1AdDd1jmvMbez6al6JwDW99s1CuESAOctU2mgs60J7Moeg0sArFlUOfrZtuOfnQT5AO5Ouoj0cAmALcwlAKbTx24vKPgvUmEfgUtJl1NvFHZA8HaR+Ec7P3lgxdx/3/XJp5cpUTsBsx4CK6OYBCiT+owu60Mj+Xtmk66nFV24GA1pyn6I1ccALxPw9o6gZxXu31u/5ShrB3vnTUQ05gQgnzWQf0O/8NOjI8FfTn307SdHfn7bjFvbnZ8gE1RuKx3negiA2C1uNwt3dbRYVsaXZXz/3TBmpSJdW24Tupz4l80g6u5EcUMfZrbcwMLGtTpcvfREeemSp04WN9j65E/DrBjbUKBRTwjlFCFhIkWQoCF0MYSeKcOUynB3X4tOCGYUsFpRbS335HrSmAJoPBHSBICdC0EENIQTInL0VGnN+aTraVUMZopGzFHxrD0GGEJ2grxDa2xNupa6GhjQ4/cumzo/u+KFmfa2PzKe/FtCfpXkD0Amc01qPhGB4wD+0FB+Ki53/KdzQ+efnPxfdk5gj7iZ65vQti6bpTUBEEhhYU6S5m46tal3AqB9yzhz0x6XADhflQY625rArkxzXQJgzaoJgFY2LzkJELi0hqu5BMAW5hIA04oXTcfL0PJdEsNssgucACKQjSJ8X8Yr34j8Iz4A+IFaA2AXoJaJlQMSYMARiDyvWJ4A3IkKifjddxUF5jSAUyBtDQPxoWSjQbx7+a6duWv/69fJ2sHeeRVN8hwN/8YY8+/KKnNvWWd+a7z48mPj/+Hus/jM7bNu7KlNVI7svPA4ySAA380pm4V7J61F8fmllYz1ewSyBJZOIJw3R6VglEB35VBe0o1oeS/CpT2Ie7oAo0PRciaM1FF8dH0x6VrT7sQvody91zvaZeKXPePPQKRDVAMfDyJBErpUhp4ugcWSxbvuthFFYDk83hmHpe8h/+gI8i6jp66IMkQdixkdxYA067PKqTdYXBP29YwdknJ8RAR3JV1PLSgSgFjri9zWvffs0qmB9eNJ11RXA6IngMn37t370iPZPS93ePqbNN4Pi8IADe8UQX2PwWhy1Q2DAoEXYczXEci3J6fHT07dv3UK4pr+roenLF0rVYBK29Lf/v1A3/rK43Vpq81JzJWmt3onAJo0PtPylkSqYehNG2uz2Aiblnzm3u+ySwCsXQTQt63100lOJWPVuSKHHGBM9abRst8kEhCXAFiz2RkgF1RCoWy8L2/mX+Vfu2VGf+KZ530fB0Dpg6An6ZLqi1kAOxT8e5f6HefHH9w3jEluEMgOCLqTrq5WAgwbqoNjmR5r0+eaQeBlhzSj5wR4G4C2pOupieF6gu9GPPOPQJ2OM7Z2sG95sSEHAXlMwG8Bsq9kiuPd5cnZsfx9RdfwVx9BJkjyPDzHNgK4422ah2sAtFR//hvtPBOt8WNzE41pt2wpw7kGiiBuzyLq7UF5RS/CFb2IerrAIAAFxivG51UxPINgqnDt7+YAwim8NNMRtZ0WpYY931sKINuQl2Zl7Y7lCGa6CD1TAmIbd9stVdkz6RUjO3wVrQdwEsBMwlU1F5ESIIfhtbvjf5M0IFq+cm5EfP8YBCMAVlzza1JGKr+xnQS3d7UFN08BTyVd02J4aGBAA5gezeePrrrr/zzTFuLb8LiblA+KyD0g1yZdY5qR0BBcpMHjAP4evvxgVmVHxp9+voD8HjdLnQcNS+PgDQABegFMJF3LnP5+YOSiSwB0riJSbcmod6dt9XfAKqyU7BIA56mM6qqdbW84ABiX/7cQASoPEoLWJUA6CYkBPJZ0EelRQAE51QYrx8/LCYAXk67ETh2dAEPQVH+UtmnqWyXhJf/IyWUy/W2BvB2CbtCyp1quQYA1FHMPMniye1ayCubtEKwSiJXvLIEyyLNAdBQf63f7UAm64M0OL4+DAwQ+DGC5jYmSIugksQWBuRn5l8aQ37bwp4WsHexbUtEQJwA8RvEejeC9SK3Hl7SVZs599K4SIHSbdvUVlSP4XuB6ZJ3rQ8C1jTUP905aanJwds0SqO0qLi9RpJV7d87VCIBKwEwGca4d5VXLUOxbgai3GybwAaUAAorUBrJfidk/OFyeTbpue2zVUfHEc35WjtBgs3iNaQAkCFOOYWbK1ea/Zn6UM4UqC0kBFZbBeLf0dORemrznkRIedU0i9UBAA+aSQB0//8XvuPNpEsZAFemZI0LvOEjrGgABgJCcANuVJ7eCfBrSxE/85fPmAvKzAE/jixjatPTiYyVPrwtEvRvEfQLZBbA36TJTQYQkiwAOU+RhbeTbWfI4u1dOnr4HYVN/ThaRB0vXgKoPeKem+Q+4OgHQcarmfr88Ve8EQNj3y1tNhDNNHWuzCDIZwBhLm8AUXFf0AkQAXAKgMx8+gLuTLiI9crkcUDawLUEVgEsAXCiXAJhuv3brjPyXfS+CfJZAn6DZUgDhA9imyA9lYvM9AO8QyLKki6oZeRFKPaso7vjfpH30XUXzO0+f9sQ7WX1wuD3pkmogAtlA4s6erH5+EnWIC7d2sG9+JGag5DiNPgRRzxP62cBEJwoMJ5eVvdnT+T0hANf0t4iCTAATW3cn7CRFAMRu27xZuAZAS3WK2iyI36FEOi6fLeRYiyIwQYC4K4fysiUIVy1FeUkPTHsW9L0rT7EIKJEJSTlcjnAEH72rlGzlFhkQHf31K89l4b3giXkPiG7I4j4eRBKMNVgMEU8XwKjZV3HSR0QqgSNEJ8BdAWUf/reNQ3jUZRnXSSiijoDmMB4acB/whA0W14R97WNHgPioErwr6XpqIaAHcIUitvd9fWj9IHAm6ZoWnxA/jdLLQAl7946uwD1Hg7b470WbLV7g/TCJHxHIdhEsSbrShhOJCDNM4gkS30BWPTMr/sUJv3cWe9wxvwtlcwKgSdvqVX8/MHTRzmQ2Z9EIqgmApt4JgMq6/bcrxyFbGX6SoEoEoG1tYFeWqFwGYM0CQEhY2bzkJEDglvivVigUkPNdAmBLcgmAaUdtcNJX+GcSb6eg28Yks7cikB6K3EOyT0R2ws5GrQqRIUAdGCnQHf+bAhoYFvI5Bd4BiJWfK4J9AHYLZh9CPZ7rtHawby4kpwEcpVIvweCwEb6gPDlFHcxktApjL1fauOSW0v4HJALqdf6zc03lCKKCpKtwbEEAvptTNgv3Tlropl98OOtPj6/3jb6FxrS52xs7sXpjysBH3N6GeOkSFFf0IlrWgzjXBmYzV9+8kpUTYKJ4GOV4KOgKZq3b+UnY5MzITGfb6nMGGPQCfwWAtsV6rUrznwGLZcTTRaAcwzXrJqOy+So5gDtEqY3drwy9MAW45tm6YAjwsNG+O/43DQZEy1cOj0hmyVEaXBQlK5MuqQZCSAeM2ZkV71a0RAPgqwwM6JHKMeUz/Q9y6OTK0/tzucwXvFCtBuRtoPlhUXIniI0QadZd9QjAEIGnDPltRnp/TH8wiKPpcx9YV3L3PvVjcwKgSlvhr04ATFttTmKuNL3VOwHQAJadlibVBEDd9LE2i8WuJrC597tch1CPlhUBdAmAznWjG19fwyUAtjCXAJh6E7/WP7X8v/zgeVHecwDXgOhOuqY68wBsEpE+VJr/LBuEKgQIDfEKFI8j319Muh4HmHypMLR0W8d+Ev8awAobm2dFkCG42UPmDuT3XUR+18KOlrZ2sLcQEVI4QuKMJ+oVbcwrInwlUsGJgN5ZUyzOZjKlsFzOhGvQVTr0miOeR5Oqu5VlArgYFOe6CeA+MM3DNQBaqN0vrvVgtqg4Xiat8FxYE6II6HnQbRlES7pRXtGL8tIexN2d0G2ZynG/ryVCAcswfEqV9IlTURA2vnLL9Z4y5bD35bZs5kWQWyCyOA2AJGAIE0bQ0yWwFIHaHX+UGFIEDCiyBgY3Be3ZVfjIvml8fleUdGk2I6BBGaORY2fDRy4kXY9TwaCnSMhhUXIMoI0NgADQBiVbNPWtePj4Y7h3S0te76pPRV66BFzC3r2DfZvf81LuYtffl1SxR+L4RkB2gdglwp1CrLO1IZCVzLQZGByDp54UY57WJnoxaguGvfKqmcEPowQRdxFdBC4BsI76+4GRi+60S+cqItUEQNY7ARAWbvVUSnYJgPNUCQCEbW/43BZcxiUA1i5A5SFQK49/dpLgxQAeS7qK9HAJgC3MJQCmnwijTz1+MpDsdwDcIZBmawCEAFlI9UbI0t4kQ1xQ5HMSanf8b1r82Z6S/M6+V0TkBGjWwdJ0SQHWGxXf1ZkJnpgBFtYAaO1g33gEIhCzEJkFWQRQIFgQSFEq70MRIpX/jjJpyHEqb1QRo0ZFI4pqPNY69LKMZIqR7smVs+cvRqNblpXxwNuv2mcbT+Z/ovMaUTmC7wXWXoecBiPg2saah7syWqj/F778YW+q8O8zcXw3aDqSrseZHyoFnfERL+lGuGwJyit7Ue7phmnPvnHj36u+VGI9rWL969PTw18deWX3ReTdhvj8UFbsPb0qq/yf9DLer1CpDfV+UopkZaE+jBFdmoWZDcGy6zNLiQKUfEMb88Xxjo4n8PPbZpIuCACwl15f+3SvRFNLky5lPsSQvudHU7OZ8fF/u8wdBZEWpPTtR7u8cn4pBLmky6lVTB1nsz0TZ+5bcglumvpagvxLweatbe3TUO3ZbEcnlF6nlLeTRr9didxOYLMgnU/RV5qHOQbBURLPK8qz2uAFZoLzovwCpqaK5w6tC909ziLLU+GO0Y6+NrVEZotWLRrHvh9le9sunflOz2SaPicbv8g2vXR0qdFhZ9K1OOmhJSrHKzrHRt+zoj6n3DxCf1041R2Viz1+HFtzlosEGRrGYVSaGB8ZSMk9uA32MrOiY2Rp1oRdjOzZ2VIS6FJUmB3pjCda9UGOBdvLzMaOkaVxjE7qspX9+k7j0FclnR0Zu/C+22eTriU19tLrOflEt6Czx2fZqm5krbyS39U+PvJzW2chrunm/2/vTn/suu88v3++v3PuVvtGVpG1F4uLqK1tye52b5EHnRl0p4M8op4ESDABxsZgkkYQoDFBgMDlv2ACzyMbASZAMEEiI+gHM43GYKYjz7h7phfZbi+SZYmURImiuEgka7nbWX7fPCDdbalbNiVW1blV9/2CCsTlke796JzLcwvkh9/vJ3bphWTqV8+Oq9ebSj0cqWtfD0nvem/3jraeG4KtP1thZuvzY7ExPXPUrtOwSK2edbf3trevvLejbz4/BLMpj4ivvd4Y6e7OpjUfqfeKI/k9Yl4WZbPU7s2X3/3gkd5bWy+m42Onp0J3d7KWlMNQn34klrqb0tjvl9FatWhF221kIoZuGVWPHjpFDOOzsX3nmofGbJn0r5XNUyeL6z+6Veo3frvQ88Z94Kj52uuNkTs3Z9OJ1pG9X+Dw1Bsj3evXdt/XP/tVpv4eA0fmNxDxNz733/1f/3Moi3+U5vmqufONzRHhkryeqhgbVTYzpd78rLKT0ypbzYf5WyquMpah17th7v/4je7b/07/8IusMP00tl5MFy+u/4NQS//XkCaf2deJSf7T1b+Fip2Oyu2uvE/5b1C4lJvbK5L/792QvbD3+7/GX6cGcCw88/WXalfT1WZ6qmiGmrdC1pxMvFyRFRfdddFkj7n8rMkOrWjsrmhmu674rtzekOnN6LpsZj8pVL6deLnjLesV5Qe9m9tP9fiNJAAAAAAAAAAAAODTYZbjUeJuZ/7xH5yod/eWVBTTJsp/R4GbKSaJ4khT2dS4+ovz6s1OKo6OyEN4qBHVLsmkXcvyv/SoW8rG+UPyT+252O/95GYzjH7fEz9n+1UAfDD5T6WrbPcVd/uU/waMSalMq4p2biwZPbG39eIdbX2xqDoXADyq73z52VxSLun+hKmtrXDx0ld+cuN7l789MzPW6GRlMyS1Zun5eF3JVBniVKIwFeXTQWGyNJ8IMY7KQtPkTY/WVFBT8oaZ1byMyc98v+KSF7LQlXvHZO1S2jWzbXO/Y6ZbuetWCLoVi3DP07JX7/ezwtKsn+xl7y+e7+lZK8RkRwAAAAAAAAAAAGBfUAA8Sr4qG0n1nxXSxZrU5I9NB5ub5EmistlQMTWh3sKs+rNTKsZG5PXaL1r3+zNP5JLLTboVa/UXipBe1n9zrtCXDzb/sbUlH/0/47uxLP9cSv9zyaceqoX5EDy6ym5f5W5PsZ/tx1Nif5nkDQta9bK3KbXekcTqWgDHz9ZWfGVrK5OU3fnZn3c3fUvJZldJp3wvGY+1pB/TxL2dZEUSRidlZdELqo9ZudMLPjZinvUefEa61GpK3Z6sdLey9CRpxm66G9MwV4bOdtzTaFnvZcXNud1Ce98r9DxrYgAAAAAAAAAAAICDRgHw6LDf/uCPau/1s2eDfN1jrLG/eTC5mTyYYqOufHJM+YkZdWenVE6Oq2zWpeSTDW50M1dZ5srjnTzkr757ae2ezKh/fmrmV6+8eHf1l869GvPyptWTUzI19Cgr0d3vl/96mWK7p9jtSZFLNIhcSuVxrVR4bKSV/mWHAiCAYXL/+4fissT0UwAAAAAAAAAAAOCYeMgRZKjc1ovJW0l3ptHPNq0oZ03G+t8B45JiCIppqnxqUp2V02qfWdbeyillC3MqR1ufuPz34Indom9br/tGfSe9K7O47+GHzVee63eyeEt5/pqXcUf+CPM0H2z+jf1cca+nYq8nlZT/BlgiC6fldm4s+Jyee5EiPAAAAAAAAAAAAAAAOLIoAB4Rm6+/O1Irk2dDWSwHj837C2YxKFySp6mKsRH1lubV3lhS++yquosLKifHH37d78c8vZu/Ldm37u5ub+9T5OFmplqR3Cty/7ab3pP8U68odLliXih2+iraPSln2+Egs/ufe+NmWokxW9MlNavOBAAAAAAAAAAAAAAA8GlRADwipifHJpO8/18o2LK7mP43IH469a8cbal/ckadjSXtPLau9pklFROjUvrIl8otloUpudpvpX9y73/8JQqA+8PPvXbqXs2S/+ilv+PumfTJpwC6u7yM8k5f5W5XytioeBS4eyJpIar29Eg2Pl51HgAAAAAAAAAAAAAAgE+LAuAR8NzWi2mxsztTy/OnzeO0yZj+NwA8CSqbDeVz09o7s6zdx8+ovbGk4tEn/v3Mi8hDUd5L9nZvtnb22jJjt+w++dZXVHbzvTuWx6texHuSPtHoPneXxyjv5ip2u4pZ8SkqhKiCWQjBdMrknx0r7IQuXaJUDQAAAAAAAAAAAAAAjiQKgEfAjdt3J62VnE/6+XwoVWf9b3VcUnxQ/MumJ9VdX9TOY+vqrC2qPz2p2GreL//tU0fTTVFRr4cyfPcDG9vdlyfFfWY+M3OyHb34gYLekfvDj+9zl2KU93IV223FXi6V8QDDYj+53KJr1ExLpYozevx/GZfEfRUAAAAAAAAAAAAAABw5FACPgHGlC5L9SnCfpPxXHQ9BsZaqmBxTZ2le7XOr2ltbVH9hTuXYiFRL9/0lrSwKBf2kY/ruvWytvd8vMOx+8r0fdS2t/ZlFvSZX1x9ihp+73//KC5V7HcVuXyo+0fBAVMwkkzw19zmZfXa81Z7X1otMAQQAAAAAAAAAAAAAAEcOBcBB527q7p6qFfFz7j5WdZxh45LcTDFJVIw01T91Uu31ZXXOLKuztKBiZlKepvs28e/DL+4KWbnnvfyd2NI1fdny/X+RIbf1xaLT670l9zc9xm095Bpgz0qVe32V7UyeU/47ikzBZDYdYvjlhpqnNfMcBUAAAAAAAAAAAAAAAHDkUAAccJu/9y/Hax6Xk6y/GuT1qvMME5fkwVS2GuqfmFZ39bR2z6+qc2ZZ2eyUfP8n/n349c1KL8rXk7x4s393OzvQFxtizfZoUWb9tzz6Vbn//PPsLhVRZaencq8n79PJPLrcJBuV/LGocmNh79sT0hafiQAAAAAAAAAAAAAA4Eih7DDgRmJrM7fwS+Zx7BcvJ8V+cTPFRl35zJS6y6e0+/gZ7VxYVzY3o1g7oIl/HwrgsliWVkv/NAvld+9KnYN9weF1/dypzJV+391+aFJb/jG/0Nzl0VV2+yr3eoq9/kMsDMYAM8kTmY2FkFzsWWtJX/uva1WHAgAAAAAAAAAAAAAA+CQoAA66Xu+ceXxWrpGqoxx3LimaVDbqyibG1Fs5pd0L69o7v3Z/4l+zIYUDLv79NIorhrzsxCK+GcfsPX35WUbNHZQvWrHXTq6GYFfKotyW7O/c6esulb3s/uS/XibFww6KfXe/yNsw94uNVCu683qj6kgAAAAAAAAAAAAAAACfBAXAAfbMl/7VSLMsltOiWJYZk6kOkJvJa6nKsVF1T59Q+8Ka9jaW1J+fVTE2Iq8d9un33Hr5lbTbv/7u7Xb3kF986OwkRScvyretjG+5vPehgy55dMUsV9ztquz05SWj/44Fd7l7TbILZfTNVmuGNcAAAAAAAAAAAAAAAOBIoegwwPKaX7CoCxZ9wty5VvvMH3zFJFEx0lD/5KzaG0vqbKyoszivbHZKsVE/+HW/f0cuSW1Jf5zn3dclMf3voGUflLV2/2o0fd/cP7QG2OWKeaG411PZ7kl5qY9dE4yjxkxK5ZqTbHMkj6f1ta9QtgYAAAAAAAAAAAAAAEdGWnUAfDwrss8rJE9YXjSrznIsmSnWUuVT48pmp9Q/MaNsbkqx2Tj00t/PcJUxWlHuls3Gt/tzo2/pHyxQADxoX36mKL7+2tVkXD+KMd6zJJkzKbi7PC/lnb6K3a48o/x3LJnXzHVG9doZ3fmr1yT1q44EAAAAAAAAAAAAAADwMCgADiJ32/ydf16vFdlZlcWym2pG52jfeAiKSVAcbak/Na7+4rz6c9MqR1tVFv/+mkXvW7t9K839ztV//v9QRDoU5tenX95ZzPJ3klr6riwse1DLiyjvZSp2e/J+TvnvmHJ5amZnVMbz0829P70rbeuvh3ECAAAAAAAAAAAAAAAMLtbKDqKvfitpnl/aqPWzlVpZjLP+d3+4mcpaqnyspf6pk9o9t67dJ86pu3hyYMp/7nK53wml/mPP420995VYdaah8cqtaD3dKkv/rplty929/6D8182kSB/s+LLg8hOWhvUQ01P62uv1qhMBAAAAAAAAAAAAAAA8DIplA+ipvaxh/fzvKWjT3SiiPCI3U5kkKkdb6s/PqrO5qt1zq+otzasYG5HXagNR/pPkijGa4nv9YP+m39cNbRkFwMPylefKNAlnDgAAIABJREFU7dC4bkr+U1mUN71fFMVuT7Hbl5dl1elwgEwyk9XdbTlJ0/O63h2pOhMAAAAAAAAAAAAAAMDDoAA4aNwt+eDdkXrhn5f7osxZ0/wpuZliElQ26srnptVeX1L7zIo6S/PK5qZVthpSMli/BKyMPesVN+qN9Mrtf/J4u+o8Q8XMl1vbu1mi1z3LrxT39vZipx89K6pOhkPg8tTcVwv5U1OT5WTVeQAAAAAAAAAAAAAAAB7GYLWfIP3D/6OhsanTab9/JrhPyLlGn5SbKZopNmrKp8bVW17Q3pllddYW1ZufVTk+OnDFP+nB+t9Y3gpl8Wq53d+VxM7ZQ/bKpYt5q1veLne7fxbb/XdjP6f9NzQsuMeTISRnQ5qd0tdeb1SdCAAAAAAAAAAAAAAA4BcZvBbUkHticmbS8/j5pCznVcbaQCymPUJcD1b+jo+ov3BC7TMr2j27qt7KKRUTo1JtQAcqukseYzBdyS35D72dfKfqSEPJzK/evn5P7/e/VWbFGyb1ZRQxh4FJphAaivFUIrswvndnrOpMAAAAAAAAAAAAAAAAvwgFwAFT2+nPJl7+lqQ5k9H/ewj+4CsmQWWroezEjNprS9o9v67O2qKKqQl5GPC3upmHosyUlW+lpX5w8/efZv1vVf6nX+12t/cuS+GKy7clxaoj4dCEYDYfY3i2OVqfkcQ9GAAAAAAAAAAAAAAADLQBb0UNl4uXXqg3VZyo9bqPmfuY5JRPfgGX5ElQ2Woqm51S+8yydh4/o87GkrKpcXktvV/hGfAz6S5XUd6wLH+3bXu9qvMMu+1mq2/SD+R6U9H6VefBoQnRfTbIn/J297S2XmQNMAAAAAAAAAAAAAAAGGgUAAfI+PrYyTyUTyZlOSf3Ad1VOzg8CYr1morpSXVWT2nvsQ21VxeVzU2rHGlKaVJ1xIfjLotemiXfjXnx57oppv9V7bryJI2vmOmKBe9JrAEeBnZ/6GpD0kJI6xdbE9OzuuRH5EYCAAAAAAAAAAAAAACGEQXAAdLf2V01hS/INTbgA+sq45LcTLGWKh8fVXdpQXsbS+qsLaq3MKfyr6f+HaEzaOYWi0yxfE1JePXm7/9Bt+pIQ+8bzxRl4W+72VvRdU9SWXUkHAJ30/3Pxckof3qkn53WwmXK2AAAAAAAAAAAAAAAYGBRABwYW6GeF6etKJ4yV6vqNIPIzRSToHK0pd78rDrrS9rbXFZ39bTymUl5ejR7Ou5y62Z3Q17cuKfmPWkrVp0J5rfTYlvRL8vsLUXPqk6EQ2MuH5P0Wfe4Oj2y3aw6EAAAAAAAAAAAAAAAwMehADggPvM/fH5WebZWK8oTrP/929xMZb2mfHZKneVT2ruwrr3NFeUnZhTrtaM18e8jzFSa63vq9C833t/Jq86DB16tF0qSV036kUJgLfOQMMnMrCXpbJKmm97Kp1kDDAAAAAAAAAAAAAAABhUFwAHRL9rPWq3+K+5xtOosg8IlRUllo65saly9lVPaOb+u3Ysbyuam5fVa1REfjbvk7irLLDZqf2RLMy/d/P2nO1XHwgPfeKbo7pXvyvSG5DuSMZlxiJhUk+L52lhjRY//60bVeQAAAAAAAAAAAAAAAP4uTJobBJdeSJplecaL8pzJGverb8PNgykmieJIS/25KfVOzSmfnFDZatwv/h3hiX9/zcxVlNHanW0ry/cvv9nviIs/QMwnT72007/rb4WgN+R+SqaRqlPhcLhUk+wxi9nmeP3ky7sS5VwAAAAAAAAAAAAAADBwmAA4AH51dXI26fVW07I8Oczrf12SmxRrqYrRlvqnTmj33Kramyvqzc+pmByTN+rHo/ynB00/VyfJyh9qJ7upxkhRdSZ82PX3nsks2Dvu+qEk1gAPl9RcK1JyRtKstl4c2nszAAAAAAAAAAAAAAAYXBQAB8Be1nkylZ0NMY6adDzabZ+Qm8lDUGw21D8xo/b6kvbOLKu7ckrZ7JS82Tg2xT9J99f/RnczvxvN/lXW6LyhO5t51bHwUV+NnbzznplelrTNGuDhYVKQaVLmm600WdPoDGuAAQAAAAAAAAAAAADAwKEAOACSPPtClC7IVK86SxU8mGKaqJidUGdpQe2zK2qfWVb/1AnF41b8+ykzD+6l+tldjY18+91/9CvXtEW5bOBsbcWT+fLdXH7Fk3DV3bsy1jQPC5dq8nAmul2cl0arzgMAAAAAAAAAAAAAAPBRrDSs0tZWuHjr4kja7Z8PHhc8Kj2GVbefK6aJylZT+dSEuosn1Tt1QrF1TEt/H1WWe0k3uxo7H/SrjoKP99bLf5nP/crqe1aUf+EWNt3jksmSqnPhUCTyuCrZ+ehxUvLbklEABQAAAAAAAAAAAAAAA4MJgBX6wsTfb0jpL9XKuBjKsmHyIWi9SbL7E//K0ZZ6C3Pau7Ch7Sc31V1eUGzWj3/5z13uHmV2tZT/YV4fuV11JPwc37wU3+/378qS77vH28FCIacDNgzMZDIbkeKSpbaurX/dqjoTAAAAAAAAAAAAAADAz6IAWKHeD6+N1VX+lruvmA/BNEaTPE1UNhvKT8xo7+yq9s6vq7t4UsXkuLxek8IQvCXNPBRlqSK+583WS9eu3dqpOhJ+HvOL2ex2Gcsfmdmb0cu2jHXNQ8FlLtXMwkqZZZ8dHdmYqDoSAAAAAAAAAAAAAADAzxqCttWA2toKrVqcSDu9LwTXvEvHeqWoh6DYbCibnlBnfVG7myvqrp5Wf25a5WhrOIp/D7i7vCh3Qq9/Pf9g97a2vlhUnQk/3ytbj+e1JL+tMr5iFm65xDUbHolkC0kITzR9Z1rDMqkVAAAAAAAAAAAAAAAcCcPTuhowv9b5zGhe+lq9LNcUyxGTjmep5MG632JyXN3Fk+qcWdHexpJ6S/PKx0ak9Fj3Hj+GxeB607rZ90MjtKtOg4ficWSqE5R+313XTJZXHQiH4/692SfcfDVJ6iva+tZo1ZkAAAAAAAAAAAAAAAB+igJgRbbvdU+WSfgNlXHK3I/ndQhB+WhL2fyc9tZOa+/cutpri/fX/Q7RxL+P8OCxKIO9UjTqf3LtL/5kt+pAeDiP377Yi168LLc3XWpLrAEeEuZSKrd5j3pmfnTkhC5dGsbmMgAAAAAAAAAAAAAAGEBD28KqWrO0hVAUv2mmiaqz7DcPQWWzof70hDoby9p+8pw6myvKJsflCW859YtOmuc32r38hr7xZSbJHRHf2rIijvkNyV836YbkXLvhEeQ+44q/nKu2oMe3KAACAAAAAAAAAAAAAICBQBurAs9tvdgMee9kPc+XPcZG1Xn2TZKobNRVzEyqs3Zau0+fV3tjUfnUuGItlcLx3HL8Sbh7tFi+7u3+5bF6q1t1Hnwyd+50M1n4cVS8IlO/6jw4HCaZm00o+oXEfWVqMhuROzc0AAAAAAAAAAAAAABQOQqAFbh1+4MzntY+rxing3TkSyQeTLFeUzY5pu7qKe2cXVFnY1m9uWmVIyP3p/7Zkf/f3A9uUu4h/Fms+XfeutrpVB0In9DF27m7riQKbyh6R5JXHQmHwiRPZTbtMb+YdMsFPf/NWtWhAAAAAAAAAAAAAAAAKAAePmtEO+MenzXXSNVhHkkwxVqqcnxUvVMn1N5c0d76knpLC8qmxuW19BjUG/eX9bJuIl2+25q4qq3Hs6rz4BN6/vnYqjVvljG/4kHvSuIaDpeWkuQzbnFN/+V5CoAAAAAAAAAAAAAAAKByFAAP2XNbLzaSTnc5Lct1k9erzvNpeQgqWk1lJ2bUXj2t9tlVdVZPK5+bVqzXmPj3t7nci9DP3ta99q3G7R2KY0eTX3vzatstvaxor8nEGuchYWaSWVOuJ9KgjbGbe6Oi4gwAAAAAAAAAAAAAACpGAfCQ3X7n9lJdcT3J82m5J1Xn+aRcUmzUlU+Nq7d8SrvnVtU+v67eyZn7xT98LJN60fxbZv7a7dsvUwA8qn7jtwvLimsh6DV3b8uMNcDDwN1Mnko+F03ro6qf1KUXuOkBAAAAAAAAAAAAAIBKUQA8ZPVG+FwR9FlZaFWd5RMJplirqZwYU3dxXrtPnNXu+TX15+dU1lIm/v187tHd87LjSfIftvt6XVvPUwA8qp5XLNLRG1H2mtxuuXtRdSQcHnPVzO0xj35u5vGVZtV5AAAAAAAAAAAAAADAcKMAeIie+fpLtSTrn0+i1uVHY/2vm8lrNeVjI+otntTOhTXtXbg/8a8cbcmTQPnvF3BJKsp+2Otct532B7fTi/2qM+FRmG9fv9axxN6RxR+b1Kk6EQ6Pm6Uu3yxDONubTEerzgMAAAAAAAAAAAAAAIYbBcDDsrUVdv7qxnJaxDUrimkb9HNvJk8SlSNNdRdm1d5c0d7msnpLC8qmxhUbdbkZ5b+H4XILdifk5betqN/Qv/tmrDoSHtGNvaJfhBtmyY/cbEcm1gAPCZMSMztprrXRni9o64UjUeYGAAAAAAAAAAAAAADH02CX0I6Riy9fTMdr8Vkvio3g3pB8IJtzLklJorJRVzY7pfbqaXXOrKizclrZyVmVrSalv0/GTR5DjO+HRv3fbt964z198/my6lB4RN+8FKfGkvfzPH9ZHm/JlcmMEuBwMEktM98orDw/3XzmaK1zBwAAAAAAAAAAAAAAxwoFwEMyuaTEup1fDxbW5V6rOs/H8VpN2cSYekvz2ttcVvvCurqnT9xf90vx79Mpyr71sltd91fvbP3OTtVxsB/M337x1Z2gxmXJXpO0KzmTHYeES6miNkISnur1bo9XnQcAAAAAAAAAAAAAAAwvCoCH4NILntxr352qZ/3zFos5mZKqM32ImTwJKkda6p+YUefcqrafPKvu2iIT/x6RuzxEf9/bnR/r9l636jzYR4+/4hZ728HtO+5+09yY7DgkTEoUdNJcGxMTI9PSFp+lAAAAAAAAAAAAAACgEpQWDsGrL/7hRKN+4tdVxoUQPdWgLAo1yZNEZauh/skZ7V5Y1+6Tm2ovLahsNpn496jcJXmMZpdVq/3xtdLuVR0J+2hry0PR3/ay/AuXrrmUswZ4iLgaZmFRZfbk1NZ/NVF1HAAAAAAAAAAAAAAAMJwoAB6CpvrT1sv+vplO+SCc8wcT/2Krqf7MpNpnVrR7YUPdlVPqT40rNutSoPz3yMzcsixLsuxG37PX1H6KCYDHi9/eut31pHYlmC5L8Z67MwVwOJhLiXs8VUqfUaM3VXUgAAAAAAAAAAAAAAAwnKovox13l15Iys7udK3In1b0Sav4nHsIirVU+fSk2sun1D63pvbaafXn51SMtqQ0rTLeseIuD3l527r9q3Ul97RlsepM2G/Pl0lItk3hZZddM/ei6kQ4NImkEx7jk4lrXl96qVZ1IAAAAAAAAAAAAAAAMHwoAB6wc9Ot6aReu5Dm+ULwWK8khNn9rcNpqnx8RL3FBe2tL6m9uaLO8oKKiTF5wlthX7kryEu38HKI+u7erbvtqiPhYNxs/yTPsv7LMr/qpqzqPDgcdv+fEQth2SxsjK+NTkhb3EgBAAAAAAAAAAAAAMChoqxwwGqpr5dKfkvS5P0W3uHzYIojTfXmptTdWNbO4xvqnFlWPjUuUfw7GGauLC+C2Q86jfTP3/+nv75XdSQckK9cypOR0Ssq/S2TbUtiDfDwCKY4qSR8Lm22T+vrv5tUHQgAAAAAAAAAAAAAAAwX2l8HaMs9JP29haQoH5d769ADhKCyUb+/7nd9UTufeUy7m8v3J/4FLv2BcnnI8nu2s3tXZdGVqqp/4sCZ+QfX7Z67/Ti6vyFXv+pIOBwmmaJNS/ZrSWlr2vmgmimvAAAAAAAAAAAAAABgaNECO0D/93//B9OtolipZf2F4EoP63U9mGKjrnxiVJ31Je08fkbtzRVlE2Pyel1u95dX4oC4S/JS0f/K3H6S7d2gEHbcjaV5ML0hsysydauOg0PVNPmKua/NNU9M6tILTAEEAAAAAAAAAAAAAACHhgLgAWrVdM5NnzH3CckPvnIXgspaqmJiXJ3lBe0+dkbtjUX15+dUjI7IU3oph8HM3LIit6D/lOW1H94+8RyFsGPvYpEX6VW5X5a07XLWAA8HkynIbczlF323v6zf+Vyt6lAAAAAAAAAAAAAAAGB4UAA8KFtbwbq9CzJ7WtLBrv81kydB+VhL/dMn1d5YUufMirrLC8qnJxVrqWSM/Dsk7mWMIcu3vYiX+2Pdm3reKIMdd1sW7xWND0JIrrjpbZNlVUfC4XF5Xa4nrJ5u6GZsVJ0HAAAAAAAAAAAAAAAMDwqAB2Tzg82xeu6roSiWJB3YRCiXFJsNZbPT6q4uau/sijqbK+rPPij+oQLWs17246Tdf//mG3co/w2LU91+mRfvyOxVuTpVx8EhMqWSzngZN2aKDyakLT5bAQAAAAAAAAAAAADAoaCkcECaPn7OimIjKctR8wNY/2umWEtVTo6pe/qEdp88q90L6+qfnFXJxL9quMtdbq4dT5M/zLt7r+vl23nVsXBI3numjPXadYt6VaYdyWLVkXA4TApmmjBL1tTwJf2L/7ZedSYAAAAAAAAAAAAAADAcKAAeEMt6vxxDuOiufV8H6bVU+diIessLuvfkOe08cU692Sl5vUbxr0pmbmUZQ6+7E3u976bJ3Hv65vNMABwWWxbvvRZvm/Tj6P62FPu6P6QTQ8BdNfPy8VThqfGrb41VnQcAAAAAAAAAAAAAAAwHdsTuN3fb/L0/qrf2PrgQimLZTOm+VIDMFJMgb9SVzU6pNz+nbHZSxdiIIsW/gWEed9Xrv54U8f3Lv/cvmf43bE7vZrKJG1LyI/d43swa0gFMAMXgMaUyW4nSmaQxNSbpA1EABQAAAAAAAAAAAAAAB4wJgPvs4vNfrY3XygtJWawH93H5o51jN8nTVEWrqWxhTntnltXeXFV36aTymUnFRp3y3+CI7v5eKP2Pd/vd29IWK2CHzr+PMdr7wYvvSfrAPfIeGB7m0SYlW02TfFX/4s19n/4KAAAAAAAAAAAAAADwURQA91lr+mIrdvp/T7JVeUw/dTXP7P7Uv2ZD/ZlJdddOa29jWe0zK+rOz6gcackp/g0St6IoLStv9kP801uvpHeqDoQKbG3F97vv3gvKX3bZNTPrSkYJcAiYZDLVVZarJnti7L13xqvOBAAAAAAAAAAAAAAAjj8KgPusv1s0a2Xxmx7jssmST/UkZopJomJiTL2FOXXOrmr33Jp6S/MqR5pS4LINIsuLbtLu3E7LkVv6xrOs/x1WW7/b3cnLd838FTe9L1NZdSQcmsRCslTG+GRojk5WHQYAAAAAAAAAAAAAABx/NMn20TNfeqnWGtNcrdtdTqKPyv2TnV8zeZKobDWVzc9o9/yadh8/q87yvMpRJv4NMndFud5REX/Q7dzrVJ0HVTI1Rid2FeNLinpXMVIAHBImBbnPhZCcTQqd0tdeZw0wAAAAAAAAAAAAAAA4UBQA91Pz+qksJL9r8nm5P/z0PzN5ElS2murPTWvv/Jq2nzir7vIp5aMtefLpBgni0HiIZaE0/atevfjDG3e271YdCJXye4v1TrM58iNJ1xSsJ8mrDoVDYW4KJp9LFZ8a7d2dlpzmNgAAAAAAAAAAAAAAODAUAPeLu+W9zlxaxi/INWl6uM6Hh6CyUVM2O632+qL2Lqyrs7ygfGZSZbMupZT/jgLrZz1rt2+nWeOmtr5YVJ0HFbt0MY9F/7qkVz3qPZNYCT0sXIlcJ931y7WYzuu5b3ETBwAAAAAAAAAAAAAAB4YC4D5Zev6fNUdc80mWbQbXyM+d+mQmN5PXa8onx9RbPqW9M0vqrC2qtzCrcnxUHrg0R4YrqvA3k17xVtn2ftVxMADM/HrI2jH4jy3Y2+7Kqo6EQ2IyN02a2UWL+fKJSyebVUcCAAAAAAAAAAAAAADHFy2zfTK3uD5flsXFWlHMyePHT3wyk6dB5fiougtz6pxZ1u7ZVXVXTimfHJOnKbtCjxJ3WVmUloTv9gv/zrWdW52qI2FA7PTz4OVld39LUlesAR4KJpmkhivO12rJuXxnZ05bL6ZV5wIAAAAAAAAAAAAAAMcTBcD90u2elYXflDT2sf9OCCob9fvrftcWtfPkOe1uriifnpCnqWQPtzYYA8JdktzyvK+yfDksLL6srS/2qo6FAbH1xaJ/t301yC676wOZsRp6SJhkZslojP5szRor0hoFQAAAAAAAAAAAAAAAcCAoJeyDZ7709VqIvmhFeUHS31r36MHktZqKkZZ6p0+od2pOxdSEyloqser36DKTonvoZtdDp3/33vsxVh0Jg2X3xEin1bcrSux1eVyUVKs6Ew6HexyV+dNR5eqU7v3gnkQ5GAAAAAAAAAAAAAAA7DvaZ/sg1pZOq19s1MpySu5/s/43BJW1morJcbWXF7Tz1Dm1N5aVz06rrNco/x19LnkelPz7vJe9ckfqVx0IA+bVehFr+duK8bJcHbEGeDiYSbLUFE5aYusx6Z/Ql16i/AkAAAAAAAAAAAAAAPYdDbR9UHr/sRCSxxXjiEmSmTxNlI+NqL80r93za+psrqg3P6tiYlQxTVj3e/S5onvo571o+k7SqL2p39vMqg6FAfONZ4qet95REn4ss1usAR4S7mbyIMVRi+UTjUY4o9O7japjAQAAAAAAAAAAAACA44cC4CPbCvUif0yxfExmjZgElSNN9Rbm1N1Y1t7Gkrorp5XNTMprbFw+Tsxjrk7vPcvzq1fykW3JmO6GjzDfa6f3Ypa/5bI3PTpTIoeISzXJHovRz46N1keqzgMAAAAAAAAAAAAAAI4fCoCP6MI/eWo69HrrQT4f6/U0n51SZ3lBe49taPfsivrzc4q1lIl/x4zLpVI7Sb/40+L9Ozd151pZdSYMqlvRlbxnij8y017VaXCYLHH3RUvCRiOGWW29SAscAAAAAAAAAAAAAADsKwqAj2BrayskiT5njfpmbDWb/dMnbPuJs9p5+rx6J2YU6zWJ3t/x4y5Fi0rsVp7o/2347BVtfZHVrvi7bT1X3s1v3JD8By7dlSzKGRY5DEwyk7UUdS4ofVxaYgogAAAAAAAAAAAAAADYV0wjegRbL1+0pzbqv9GdmThfTE/Ws7lpL1sNeQgySR5dZvpQ1+enjz/647AeP5JcHrIsTzqde/LinZ/804tMdcPPYS69vBOzzptWt5/IfU5mY6KAPRRcVkh+0hVWR6d6rba0U3UmAAAAAAAAAAAAAABwfFAAfASXXrik7/9vL41bo5bHRv22h2Dq5wpZLncpMVN0V3hQdgsfeczx+49/yiT9bCfwoB9/1EMfN0XLsvdDt/+X3U777v2CF/DzXCxi+p0bIer/s0RR0eckJa4PDwnl8fF7LFOU7K6CRWVdZsICAAAAAAAAAAAAAIB9RQHwEXzzq1/1s2vP/5sy2muWhpr1cyWSoqQkSDHqQ4/1kccc/5uyzE9HocWPnOODPq5PcTy6u3m5Xfa6r+fXd+99zH8C/I0ti62vv/R+f1f/VoUuqxbGFM2sfHA8uf+DlQ9+IkkePOb4/h6v4LFLFmJZ9PRue7rNtFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAi+/bTAAAATUlEQVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAj4f8H5nLUGL5PpIcAAAAASUVORK5CYII="}},"time_used":70,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":28,"receive":42,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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.150.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/HPoJhVNSHdk","date":"2026-07-27T03:33:52.069Z","timestamp":1785123232069,"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/HPoJhVNSHdk\r\nCookie: __Secure-YNID=20.YT=eV2loe5TarhFqlUVIFSBpQRjn_v_TMVcG01J09SodanGw26pe2dVmqat59lQtaocVbsKCUdYA2q0kVVJHaHa9N9qE5YhzDAFJQp29wsoORZgohQgznu7SrhEUnX94RyA0yb-3RoDyd_XlJ57nkHAh3eV9Qsd7xxb3SBcbYT3hiAHoZZc6KPloe5Gpy8oMzE5FJaQ-X8NI0e8ilwJcaR3NFRYY9cFTL4lxxjADOjeAFUZYGMs-ZoMsmCtrxugvROVb3ZHDiEPVIhYns5Stpgl_oPJ38X-by_Q0pbdW0QAWDT96gMZTv3o3XBDur4bAWfiiupWuFb_BeE3XCrAaMOmHg; YSC=6ky3ezEIvRY; VISITOR_INFO1_LIVE=15CNSB7h6-4; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgYQ%3D%3D; __Secure-ROLLOUT_TOKEN=COiu8dvIl-ubQBDLxvug9vGVAxjLxvug9vGVAw%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:04:24 GMT\r\nexpires: Sat, 24 Jul 2027 13:04:24 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: 224968\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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"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.150.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/HPoJhVNSHdk","date":"2026-07-27T03:33:52.070Z","timestamp":1785123232070,"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/HPoJhVNSHdk\r\nCookie: __Secure-YNID=20.YT=eV2loe5TarhFqlUVIFSBpQRjn_v_TMVcG01J09SodanGw26pe2dVmqat59lQtaocVbsKCUdYA2q0kVVJHaHa9N9qE5YhzDAFJQp29wsoORZgohQgznu7SrhEUnX94RyA0yb-3RoDyd_XlJ57nkHAh3eV9Qsd7xxb3SBcbYT3hiAHoZZc6KPloe5Gpy8oMzE5FJaQ-X8NI0e8ilwJcaR3NFRYY9cFTL4lxxjADOjeAFUZYGMs-ZoMsmCtrxugvROVb3ZHDiEPVIhYns5Stpgl_oPJ38X-by_Q0pbdW0QAWDT96gMZTv3o3XBDur4bAWfiiupWuFb_BeE3XCrAaMOmHg; YSC=6ky3ezEIvRY; VISITOR_INFO1_LIVE=15CNSB7h6-4; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgYQ%3D%3D; __Secure-ROLLOUT_TOKEN=COiu8dvIl-ubQBDLxvug9vGVAxjLxvug9vGVAw%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: 225465\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-27T05:15:36.961391Z","times_seen":888,"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":43,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":17,"receive":26,"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/HPoJhVNSHdk","date":"2026-07-27T03:33:52.077Z","timestamp":1785123232077,"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: 350205\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-07-27T05:13:54.226554Z","times_seen":946887,"resource_available":false,"data":"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"}},"time_used":21,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":18,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/images/resource/services-2.jpg","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.648Z","timestamp":1785123231648,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /images/resource/services-2.jpg HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Wed, 22 Apr 2026 21:44:12 GMT\r\naccept-ranges: bytes\r\ncontent-length: 26637\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":26637,"size_decoded":26904,"mime_type":"image/jpeg","magic":"JPEG image data, Exif standard: [TIFF image data, little-endian, direntries=0], baseline, precision 8, 270x370, components 3","md5":"b87588f0f3084634b141817e3f7cf256","sha1":"f329b23c3c5146d0054b0c3e74a9c622fcdd2930","sha256":"80e100643e8947884d6013aa6c14cd88e3ea286305862c03c4d281352eb5f18d","sha512":"c2d7028710e521b865772db491298c93cb1c66771cd6187d9167ac40ddc4df6a2a1d81bd4389fa7511d1f137c3cc0dfd36bc167f7314e70ae0285d1d0bd41f52","ssdeep":"768:65po9Aba5G7WSVaQp2joo/lPjv6qeyewi6Og2eEG:65po84GTPUUo/wg2HG","tlshash":"b5c2e139e8450b08c7d8e9508db8e498ed85cf5269de21b99a305483b6857f30af78d5","first_seen":"2025-10-05T03:57:22.068556Z","last_seen":"2026-07-27T05:05:33.67674Z","times_seen":10,"resource_available":false,"data":"/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMvaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzA2NyA3OS4xNTc3NDcsIDIwMTUvMDMvMzAtMjM6NDA6NDIgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozOTFEQUU0NTA0QzIxMUU4QkRGQ0ZFMjU2RkFCNUJEQyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozOTFEQUU0NjA0QzIxMUU4QkRGQ0ZFMjU2RkFCNUJEQyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjM5MURBRTQzMDRDMjExRThCREZDRkUyNTZGQUI1QkRDIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjM5MURBRTQ0MDRDMjExRThCREZDRkUyNTZGQUI1QkRDIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJ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"}},"time_used":52,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":30,"receive":22,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/images/resource/services-4.jpg","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.650Z","timestamp":1785123231650,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /images/resource/services-4.jpg HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Wed, 22 Apr 2026 21:44:12 GMT\r\naccept-ranges: bytes\r\ncontent-length: 24007\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":24007,"size_decoded":24274,"mime_type":"image/jpeg","magic":"JPEG image data, Exif standard: [TIFF image data, little-endian, direntries=0], baseline, precision 8, 270x370, components 3","md5":"0f14c5a9f8e45a44425041493cecac8f","sha1":"06d77e183972e15a21dcb5e80b338ac055e24c9c","sha256":"1c93a630e8de922630cf1232304ade0fb3a4ab5c53104e1b08a1076b0f86f9b5","sha512":"59120ffd6b54e7c8bc56c061485cadbf31eaee322e38cd76f1ce950f27ad520ff9cc858e810118d86696fc0864dc8a6424a24cbe9bdf396a1d800b240b36640b","ssdeep":"384:sLDxsOkgdryqrGWDl5we33FK9TixqQBUWfvRQjwHY7/B3Au87688rc0x:AKgdfrJt3FK9TlQnv4wHY7lAX8Dx","tlshash":"31b2e0df80d25b1ae11af221b5f7d09b2669fc015cf38d6990fa79129ee0c5211081f2","first_seen":"2024-12-04T10:10:15.887878Z","last_seen":"2026-07-27T05:05:33.646654Z","times_seen":11,"resource_available":false,"data":"/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMvaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzA2NyA3OS4xNTc3NDcsIDIwMTUvMDMvMzAtMjM6NDA6NDIgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo5NTFGQzlDNjA0QzIxMUU4QUYyQ0RFMzRDMUQxODBCQSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo5NTFGQzlDNzA0QzIxMUU4QUYyQ0RFMzRDMUQxODBCQSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjk1MUZDOUM0MDRDMjExRThBRjJDREUzNEMxRDE4MEJBIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjk1MUZDOUM1MDRDMjExRThBRjJDREUzNEMxRDE4MEJBIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJ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"}},"time_used":60,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":44,"receive":16,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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.117.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/HPoJhVNSHdk","date":"2026-07-27T03:33:53.291Z","timestamp":1785123233291,"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: 1790\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":1790,"data":"[\"O43z0dpjhgX20SCx4KAo\",\"$pTo5Ol5RAAYuiqQtDorecXLw-ouR5r6nAEABEArZ1BILUt2pP-h-b61dnBtgjerApbsdjTYXuDg5JCQtAT9k8aKlmZmZH3EiJAktVHotHCOMr_zqaQWxlF18ngAAARPOAAAAFvQBB-IAUow5KsmNoPg-yco861MYKaLc5qCAHXwNqUg4pOrPSR7WqH3S2UNp2vzfRuIUXJxYH_wdMoGw0QLHOO-hRry0RqPSAmp5KOTP_07kqDujtdDiDBkFBGr1R4Z57OLeg9kI5hXGthnpB9Q3fuC1EDq_6onukpmvDWFzewNRm7oKCAhbpVAoHQ265U9IMTXWh1i04uZbZ5jmd8mobndUGEW_lMbIOd3BIRjFZNDzrSpE4s9X9YF9iyjkb7Oy_zXQfFhqxMxqx9BEzA4Vgi3uuzuxTUPmyiIl5uAXbTRTnPjqZx04b3w79mIECexhPoOXRXn-HzFXL2kEpo7Qf0Ad125mE_ChvEj5sN4apS0iDoGjA-YYv1bBggWL6YZ6GACAWXUlfTKIDR3fNNR5kMLPUR9upkif5n_gOM50A75fpv6Coa5SArfZ9uWG49Nx8Dlh1wVjbkrpuWvqGiGRTx-RzIBBVyxtgOImuGe0PPo8puqolL9JSBA9EXY5lwEUsr3OxLhSt7sLkuPbWznfm4Gb9rlAyvIwQa1x_K9I0arijmXv_nNqKT8KOGsy3tGq6YTVagx3k7IPKeKLMzrb7eKSt_RE1h0W2zt0riZJUKwvmDg6pv1xZNonXMUEIl5Px_mxh_HfY_5gZriUwoxuAJZY0KO1rcVs1vPouCtGeJhGbKec0USQbelJsrqriKdkdpRf5WHIfFwtPMjtjOWJc4MvRaJYPAhdOc5z5zvgww-S0yC2hfplUOqAeXQnz8RwH4eEHD_xUfZedLmO0lBNvOtPwugk1wySjpkv_ASMfL6qpjsUVXPTxxWCMK8mV6Jk_KjPStQfhcwwshS686YdwrIoDbhdBStV4mZi6ThvqpyYN36rGfFNkYaK38xLtmgdSge6HzpGr9BpDtY2k4x3jkwdY1mthQyYtbtEX-n3hkjr6Ql526P-rQ1aR5A2hYwOIoXIYQm89FIvrpM-ZfQT2FnSDOrjx8fR3IuFGTTCSc1GqTFmC2jnORW4ynRhdJ-XeW3LVo6Wgy10pMDAVUayWpISYaMqOIfVy44qShX5bie24VxUO9ACY8keZHSfthzZo8kVBswUVW5U3GLTnJ2cVsa3Dd7pxwpRBYSJbeBhjj-ChcsAZPq68BXfGAvY_EJeKI5cfQc2FzGf6gy3lNXIApBB75tGUQoYPIav-HD_2K_LoA_zOpe8wWrgp1LH-ibheUkHIHikEhrLM9IJND-ijL1etp8MdKns01rDlwvLEmFaWjozNd-wX-QPchhf5Taa9R0UIwAGtp4iQeoo_C2Ffet_lllSdmYmMJyDw4kGknQ436GP9Wy2HmPy503VJuOkOviYDTQb5EHaQKeQpNu44NQiXfQnKf1N2O5SsWxvyvZMi0IaUvF8T1UjJfO-3SfUBlk68_ghCIfMifFLerKl90a6WDtBRvoR1LK5IlG8QmudBdpTv22e1rJSO8V7kfW5chi26OUMf_qDu-bRzR9nNUziYyWrBaPvlLqa_WJkPwtx056ym8ueV0qKbFZzSEnW14o0U8fZr0vraWwSMwa7tLJL9p_ibDjWNaS3xPahqepIcGLybQNus735KnX8-DtufB9jgHD1tGVyCmZUPQ5OR3PunhYnVA\"]"}},"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 03:33:53 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":"6d527fc20978a496f2ca1370a3e7f0c3","sha1":"c6119ccdf1625b00049bb11f1db811288f045598","sha256":"d61a7b294df405c5c1e6b6c4169d27ade3b87ed026f8ff05d885caaec96d8f87","sha512":"f058423ea5a721d3f102eed4893acad1d4e1478512a14273b45afbd09ec568e2d2a23067c891bc64133de52b669a1a7bdace6e7831b0c62922feef790c924ddf","ssdeep":"","tlshash":"5fb012239f149bb27604230221522790230f4724f89a2704bef2da4453cde457bc6064","first_seen":"2026-07-27T03:34:40.950796Z","last_seen":"2026-07-27T03:34:40.950796Z","times_seen":1,"resource_available":false,"data":"WyJ3MGtiODREWTQyMERRSW03K2dxMXdzMHhIWWFPbVgzT2hyc05MUUorNE9kd1ZQQ1ptVzQxblZ5MmNLaHl3ZzRoSG9yMmwxSnN3SmdiNVcwUzJ1ST0iLDQzMjAwLDEwMF0="}},"time_used":21,"timings":{"blocked":0,"dns":0,"connect":0,"send":1,"wait":20,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/roboto/v27/KFOlCnqEu92Fr1MmYUtfBBc9.ttf","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://agilitetrade.com/","date":"2026-07-27T03:33:59.813Z","timestamp":1785123239813,"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/v27/KFOlCnqEu92Fr1MmYUtfBBc9.ttf 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: gzip, deflate, br, zstd\r\nOrigin: https://agilitetrade.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.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\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\ntiming-allow-origin: *\r\ncontent-length: 20810\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Mon, 27 Jul 2026 03:05:55 GMT\r\nexpires: Tue, 27 Jul 2027 03:05:55 GMT\r\ncache-control: public, max-age=31536000\r\nage: 1684\r\nlast-modified: Mon, 05 Apr 2021 21:10:50 GMT\r\ncontent-type: font/ttf\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":35964,"size_decoded":21666,"mime_type":"font/ttf","magic":"TrueType Font data, 18 tables, 1st \"GDEF\", 8 names, Microsoft, language 0x409, Copyright 2011 Google Inc. All Rights Reserved.Roboto BlackRegularVersion 2.137; 2017Roboto-Blac","md5":"6af1d6a33737a5e7d7b837aa022acebe","sha1":"87e12ef2cf843dd1aa204c2b068aedbc782cb6dc","sha256":"5abde466e653eda612285a42d7f23c6490961fe942d2ec3b86d731db531b57bd","sha512":"02e058696f8f8be00fc0241ae10b5425df33c43f8c146b8d54108a1286edb330de1d18355fd4f1a0fbe752a4ae8c486d0362c3dfaa43f013fe29f03c1d3edc98","ssdeep":"768:u+Dmu13ucOmpIN22bN8o6Ze0Xl2/+uM49MqeC2j788iviDxofBXx/WL09U:hD13DjSNz0Xl2GuL9NeCG7884iVoZXxi","tlshash":"f5f2b501e246a229c9c7f7797c3d93be4d70e41abc5972273194cb365ac8940ec69bbc","first_seen":"2025-02-15T20:58:46.236097Z","last_seen":"2026-07-27T05:05:33.674318Z","times_seen":13,"resource_available":false,"data":"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"}},"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":"agilitetrade.com/assets/images/sliders/slide-bg/4.jpg","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.644Z","timestamp":1785123231644,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /assets/images/sliders/slide-bg/4.jpg HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Wed, 22 Apr 2026 17:27:15 GMT\r\naccept-ranges: bytes\r\ncontent-length: 341521\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":341521,"size_decoded":341789,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, resolution (DPI), density 300x300, segment length 16, progressive, precision 8, 730x400, components 3","md5":"48970f40cd354a5abb6ddfc43caf05db","sha1":"565f7a9a62c1be8b0f5e0f836faa601eac45211c","sha256":"b918d237db07a3bac747abca393ce31293a1ba23d0c90d05d5613d794f4d0fed","sha512":"84cec098f6fdbadd487d84b7e0ab5604ec0cdbbba879add2e4cf4b0bd2860ba38531c670cb5ea74b143deba6eeb20dbfeb580ae8f6ab7a534b4f08f5c9d94662","ssdeep":"6144:Dm/2upek1faXA3bKFd83yt9tFFDIgd8x3I4DUWXUprFLXbdDYPZ+:DE2IaXkKFBFb8x3I4DirFLXb1qI","tlshash":"3874220761c8ca759bf35202ccbcf59293b06b2f26dd15070a9bfb5df19903089a7a2d","first_seen":"2026-06-26T06:01:48.56174Z","last_seen":"2026-07-27T05:05:33.680447Z","times_seen":7,"resource_available":false,"data":"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"}},"time_used":84,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":44,"receive":40,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/logo1.html","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.641Z","timestamp":1785123231641,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /logo1.html HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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/3 404 \r\ncache-control: private, no-cache, no-store, must-revalidate, max-age=0\r\npragma: no-cache\r\ncontent-type: text/html\r\ncontent-length: 1238\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":1238,"size_decoded":1446,"mime_type":"text/html","magic":"HTML document, ASCII text, with CRLF, LF line terminators","md5":"0bde7d4b3da67537eaf9188e6f8049cf","sha1":"64300fc482d01d38b40ab20e15960b6509665e5a","sha256":"5dc1ae0b875dc0d78dbc5532226f5f31b762b4d1229984f605d27bf895ab6807","sha512":"2d4d27ab5b3dd2a701a944e9b5372b40ee4f8b3267f133be7ad0d4b42528302aaa002b6132722e2ad1fe629fc3e8baf1011c8dad326062e9c0946d6f1b6eafb4","ssdeep":"","tlshash":"8d21423ec1c1150a80271154fb81e2942619825192470fa1379e7167f6cc0f756937c8","first_seen":"2023-03-07T01:03:24Z","last_seen":"2026-07-27T05:16:58.324996Z","times_seen":41313,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIHN0eWxlPSJoZWlnaHQ6MTAwJSI+CjxoZWFkPgo8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHNocmluay10by1maXQ9bm8iIC8+Cjx0aXRsZT4gNDA0IE5vdCBGb3VuZA0KPC90aXRsZT48L2hlYWQ+Cjxib2R5IHN0eWxlPSJjb2xvcjogIzQ0NDsgbWFyZ2luOjA7Zm9udDogbm9ybWFsIDE0cHgvMjBweCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyBoZWlnaHQ6MTAwJTsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsiPgo8ZGl2IHN0eWxlPSJoZWlnaHQ6YXV0bzsgbWluLWhlaWdodDoxMDAlOyAiPiAgICAgPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyB3aWR0aDo4MDBweDsgbWFyZ2luLWxlZnQ6IC00MDBweDsgcG9zaXRpb246YWJzb2x1dGU7IHRvcDogMzAlOyBsZWZ0OjUwJTsiPgogICAgICAgIDxoMSBzdHlsZT0ibWFyZ2luOjA7IGZvbnQtc2l6ZToxNTBweDsgbGluZS1oZWlnaHQ6MTUwcHg7IGZvbnQtd2VpZ2h0OmJvbGQ7Ij40MDQ8L2gxPgo8aDIgc3R5bGU9Im1hcmdpbi10b3A6MjBweDtmb250LXNpemU6IDMwcHg7Ij5Ob3QgRm91bmQNCjwvaDI+CjxwPlRoZSByZXNvdXJjZSByZXF1ZXN0ZWQgY291bGQgbm90IGJlIGZvdW5kIG9uIHRoaXMgc2VydmVyITwvcD4KPC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0iY29sb3I6I2YwZjBmMDsgZm9udC1zaXplOjEycHg7bWFyZ2luOmF1dG87cGFkZGluZzowcHggMzBweCAwcHggMzBweDtwb3NpdGlvbjpyZWxhdGl2ZTtjbGVhcjpib3RoO2hlaWdodDoxMDBweDttYXJnaW4tdG9wOi0xMDFweDtiYWNrZ3JvdW5kLWNvbG9yOiM0NzQ3NDc7Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xNSk7Ym94LXNoYWRvdzogMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMykgaW5zZXQ7Ij4KPGJyPlByb3VkbHkgcG93ZXJlZCBieSAgPGEgc3R5bGU9ImNvbG9yOiNmZmY7IiBocmVmPSJodHRwOi8vd3d3LmxpdGVzcGVlZHRlY2guY29tL2Vycm9yLXBhZ2UiPkxpdGVTcGVlZCBXZWIgU2VydmVyPC9hPjxwPlBsZWFzZSBiZSBhZHZpc2VkIHRoYXQgTGl0ZVNwZWVkIFRlY2hub2xvZ2llcyBJbmMuIGlzIG5vdCBhIHdlYiBob3N0aW5nIGNvbXBhbnkgYW5kLCBhcyBzdWNoLCBoYXMgbm8gY29udHJvbCBvdmVyIGNvbnRlbnQgZm91bmQgb24gdGhpcyBzaXRlLjwvcD48L2Rpdj48L2JvZHk+PC9odG1sPgo="}},"time_used":23,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":23,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/assets/images/sliders/slide-bg/1.jpg","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.643Z","timestamp":1785123231643,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /assets/images/sliders/slide-bg/1.jpg HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Wed, 22 Apr 2026 17:27:15 GMT\r\naccept-ranges: bytes\r\ncontent-length: 118959\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":118959,"size_decoded":119227,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.02, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 1440x810, components 3","md5":"aa5fe12ed503e3c93144332d38f99bf2","sha1":"a7669580628ee993beb18ac21126d42d058efa6f","sha256":"0ba593bb3d05005af9e9e9b837e0690969baa736339971125f170ed9b4b429f2","sha512":"d799308dd68ffd2fee1d9b23e0e759ebf7b78f6d2ee8afd1528702433f6608c7849c64165363e52b4c8c5e633f40cfadf608e24997e2b3d00ce80525b568abbd","ssdeep":"3072:e+iPBTqCIFfR9t8qZ8g/wyowviK5npgKWkgS6oCjo8Irg/TpWV:eXlBaR9tNZmy9vzVW7kH6o1FR","tlshash":"fac3122f2e6475fcd27a83dd3f424923ee8f8da1358c846bcef78b110644e6094896b5","first_seen":"2025-12-07T04:10:39.777048Z","last_seen":"2026-07-27T05:05:33.739768Z","times_seen":12,"resource_available":false,"data":"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"}},"time_used":77,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":30,"receive":47,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/images/background/pattern-1.png","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.915Z","timestamp":1785123231915,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /images/background/pattern-1.png HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: image/png\r\nlast-modified: Wed, 22 Apr 2026 21:44:12 GMT\r\naccept-ranges: bytes\r\ncontent-length: 145608\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":145608,"size_decoded":145875,"mime_type":"image/png","magic":"PNG image data, 1920 x 555, 8-bit/color RGBA, non-interlaced","md5":"e8b2feb8eccfda675d71590555b2bfea","sha1":"b7140e08e7a6ce41eb94bc120663b058c9e42074","sha256":"293ca66fcc907977f58ddca59ec5eb35f3864adac826acda4cac5934557845e0","sha512":"43da1b3b2877bdd2eff413b01aed8a5cb990afcb3d0d2efc6d0b1c251b47df9ecedaa4b1d35bdd4c4b06c8b17d9bbb0662d86ffaf2ec7d9dad5e9a9aad1adc36","ssdeep":"3072:yx2e2SausdOV34iugrFU4FflT+QIa7GXBJQF7be9dMXnrDEwA:Sou6FR4VliEqBIu67rA","tlshash":"e4e323a8e29319a8d94ca27a4c70ce81f98756b6dfc015bac731cf2547dd968b23409f","first_seen":"2024-12-04T10:10:15.852379Z","last_seen":"2026-07-27T05:05:33.668111Z","times_seen":11,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAB4AAAAIrCAYAAAAOQYRMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3FpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDphOGE1ODRiYy1hOGIyLWUzNDQtYTM2Ny05OGNhMGFiM2NkZDgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODM0MDU2MDcwNEQzMTFFOEIzQkRFODVDNTAyNzBCMkMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODM0MDU2MDYwNEQzMTFFOEIzQkRFODVDNTAyNzBCMkMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOmIwNDc4NzM3LTA4NjktYWQ0Yy1iYTdiLWQ5MDU0OTQ1YTJkNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDphOGE1ODRiYy1hOGIyLWUzNDQtYTM2Ny05OGNhMGFiM2NkZDgiLz4gPC9y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"}},"time_used":31,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":28,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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.150.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/HPoJhVNSHdk","date":"2026-07-27T03:33:52.408Z","timestamp":1785123232408,"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/HPoJhVNSHdk\r\nCookie: __Secure-YNID=20.YT=eV2loe5TarhFqlUVIFSBpQRjn_v_TMVcG01J09SodanGw26pe2dVmqat59lQtaocVbsKCUdYA2q0kVVJHaHa9N9qE5YhzDAFJQp29wsoORZgohQgznu7SrhEUnX94RyA0yb-3RoDyd_XlJ57nkHAh3eV9Qsd7xxb3SBcbYT3hiAHoZZc6KPloe5Gpy8oMzE5FJaQ-X8NI0e8ilwJcaR3NFRYY9cFTL4lxxjADOjeAFUZYGMs-ZoMsmCtrxugvROVb3ZHDiEPVIhYns5Stpgl_oPJ38X-by_Q0pbdW0QAWDT96gMZTv3o3XBDur4bAWfiiupWuFb_BeE3XCrAaMOmHg; YSC=6ky3ezEIvRY; VISITOR_INFO1_LIVE=15CNSB7h6-4; VISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgYQ%3D%3D; __Secure-ROLLOUT_TOKEN=COiu8dvIl-ubQBDLxvug9vGVAxjLxvug9vGVAw%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:04:24 GMT\r\nexpires: Sat, 24 Jul 2027 13:04:24 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: 224968\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-27T05:16:58.366925Z","times_seen":351,"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":14,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":11,"receive":3,"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.117.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/HPoJhVNSHdk","date":"2026-07-27T03:33:53.293Z","timestamp":1785123233293,"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 03:33:53 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-07-27T05:14:11.3544Z","times_seen":17556491,"resource_available":true,"data":""}},"time_used":48,"timings":{"blocked":0,"dns":1,"connect":8,"send":0,"wait":18,"receive":0,"ssl":21},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.cryptohopper.com/widgets/js/script","fqdn":"www.cryptohopper.com","domain":"cryptohopper.com","tld":"com"},"ip":{"addr":"172.66.153.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.585Z","timestamp":1785123231585,"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":"cryptohopper.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 30 May 2026 04:15:50 GMT","end":"Fri, 28 Aug 2026 05:15:20 GMT"},"fingerprint":{"sha1":"76:C3:06:CF:AB:6D:33:4E:AE:DF:C4:54:C2:1D:03:D4:CF:1B:9C:A3","sha256":"10:12:9C:D7:A2:4D:11:94:F2:85:64:80:13:42:3F:4D:AF:06:BA:15:05:A8:C2:4D:43:D3:AB:5A:DE:02:6E:BA"}}},"request":{"raw":"GET /widgets/js/script HTTP/1.1\r\nHost: www.cryptohopper.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://agilitetrade.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\ncontent-type: application/javascript; charset=UTF-8\r\ndate: Mon, 27 Jul 2026 03:33:52 GMT\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nserver: cloudflare\r\nx-frame-options: SAMEORIGIN\r\nx-xss-protection: 1; mode=block\r\naccess-control-allow-origin: *\r\nset-cookie: widgets_csrf_cookie_name=c05588fb9c82dab23afba686b9a973b9; expires=Mon, 27-Jul-2026 05:33:51 GMT; Max-Age=7200; path=/; domain=.cryptohopper.com; secure\nci_session=cto3o5dhrgcl50up7to7u584adbmu7e7; expires=Mon, 27-Jul-2026 05:33:51 GMT; Max-Age=7200; path=/; domain=.cryptohopper.com; secure; HttpOnly\r\nexpires: Thu, 19 Nov 1981 08:52:00 GMT\r\ncache-control: no-store, no-cache, must-revalidate\r\npragma: no-cache\r\ncontent-security-policy: default-src 'self' *.cryptohopper.com *.cryptohopper.tech *.candletrader.app *.hotjar.io *.hotjar.com; object-src 'self' *.cryptohopper.com *.cryptohopper.tech partners.liquid.com *.candletrader.app widget.changelly.com *.intercom.io *.intercomcdn.com *.posthog.com cdn.paddle.com; script-src 'self' 'unsafe-inline' 'unsafe-eval' static.tradingview.com *.candletrader.app *.cryptohopper.com *.cryptohopper.tech *.posthog.com eu-assets.i.posthog.com *.intercom.io *.intercomcdn.com ajax.googleapis.com cdnjs.cloudflare.com static.cloudflareinsights.com *.shopifycdn.com *.myshopify.com sortablejs.github.io cdn.paddle.com www.googletagmanager.com *.hotjar.com *.hotjar.io cdn.jsdelivr.net optimize.google.com partners.liquid.com widget.changelly.com s0.2mdn.net unpkg.com wchat.freshchat.com cryptohopper.webchat.freshchat.com cdn.plyr.io cointelegraph.com s3.tradingview.com connect.facebook.net d.adroll.mgr.consensu.org d.adroll.com s.adroll.com cdn4.mxpnl.com ssl.google-analytics.com bat.bing.com s3.amazonaws.com platform.twitter.com cdn.syndication.twimg.com cryptohopper.us17.list-manage.com ajax.cloudflare.com www.gstatic.com js.stripe.com www.google-analytics.com www.googleadservices.com www.youtube.com www.google.com googleads.g.doubleclick.net static.doubleclick.net cdn.segment.com fast.appcues.com www.googleanalytics.com www.googleoptimize.com assets.customer.io code.gist.build; connect-src 'self' www.tradingview.com *.candletrader.app *.posthog.com *.shopifycdn.com *.intercom.io *.cryptohopper.com *.cryptohopper.tech *.intercomcdn.com *.myshopify.com *.shopify.com *.cryptohopper.tech *.hotjar.com track-eu.customer.io *.api.gist.build *.cloud.gist.build ws: *.cryptohopper.com *.cryptohopper.tech stats.g.doubleclick.net cdn.paddle.com api.appcues.net fast.appcues.com api.segment.io *.google-analytics.com *.analytics.google.com widget.changelly.com api.cointelegraph.com wchat.freshchat.com *.hotjar.com *.hotjar.io saveload.tradingview.com cdn.plyr.io cdn4.mxpnl.com; img-src 'self' blob: data: *.cryptohopper.com *.cryptohopper.tech www.google.ie *.candletrader.app *.posthog.com *.coingecko.com *.intercomassets.com *.intercom.io *.intercomcdn.com *.shopifycdn.com cdn.shopify.com *.hotjar.com cdn.paddle.com cdn.jsdelivr.net img.youtube.com *.giphy.com res.cloudinary.com appleid.apple.com sync.taboola.com widget.changelly.com assets.coingecko.com stats.g.doubleclick.net www.google.nl dsum-sec.casalemedia.com ups.analytics.yahoo.com pixel.advertising.com pixel.rubiconproject.com sync.outbrain.com image2.pubmatic.com ads.yahoo.com trc.taboola.com eb2.3lift.com x.bidswitch.net idsync.rlcdn.com pixel.tapad.com cm.g.doubleclick.net us-u.openx.net assetscdn-wchat.freshchat.com s.adroll.com d.adroll.com ib.adnxs.com cdn-images.mailchimp.com cdn4.mxpnl.com s3.tradingview.com bat.bing.com chart.googleapis.com pbs.twimg.com abs.twimg.com syndication.twitter.com q.stripe.com www.google.com googleads.g.doubleclick.net i.ytimg.com cdn.plyr.io *.google-analytics.com *.analytics.google.com www.facebook.com maxcdn.bootstrapcdn.com www.googletagmanager.com optimize.google.com track-eu.customer.io data:; style-src 'self' 'unsafe-inline' *.cryptohopper.com *.cryptohopper.tech *.candletrader.app *.intercom.io *.intercomcdn.com *.shopifycdn.com cdn.shopify.com *.hotjar.com fast.appcues.com cdn.paddle.com unpkg.com cdnjs.cloudflare.com widget.changelly.com assetscdn-wchat.freshchat.com wchat.freshchat.com stats.g.doubleclick.net cdn-images.mailchimp.com s3.tradingview.com cdn.plyr.io fonts.googleapis.com maxcdn.bootstrapcdn.com platform.twitter.com www.youtube.com optimize.google.com fonts.googleapis.com code.gist.build; font-src 'self' *.cryptohopper.com *.cryptohopper.tech *.candletrader.app *.hotjar.com *.shopifycdn.com *.intercom.io *.intercomcdn.com *.myshopify.com *.shopify.com cdn.paddle.com cdn-images.mailchimp.com widget.changelly.com s3.tradingview.com fonts.googleapis.com maxcdn.bootstrapcdn.com fonts.gstatic.com; frame-src 'self' static.cryptohopper.com *.candletrader.app *.intercom.io *.posthog.com *.intercom-sheets.com intercom-sheets.com *.intercomcdn.com *.tradingview-widget.com buy.paddle.com *.shopifycdn.com *.myshopify.com *.shopify.com cdn.paddle.com create-checkout.paddle.com widget.changelly.com plugin.partners.liquid.com *.hotjar.com cryptohopper.webpush.freshchat.com wchat.freshchat.com js.stripe.com *.sumsub.com renderer.gist.build code.gist.build data: *.cryptohopper.com *.cryptohopper.tech coin360.com coins.gourl.io platform.twitter.com www.emjcd.com cj.dotomi.com www.facebook.com cdn4.mxpnl.com www.youtube.com www.tradingview.com discordapp.com s3.tradingview.com s.tradingview.com googleads.g.doubleclick.net www.google.com www.google.nl optimize.google.com; media-src 'self' blob: *.cryptohopper.com *.cryptohopper.tech *.candletrader.app res.cloudinary.com *.intercom.io *.intercomcdn.com *.shopifycdn.com *.myshopify.com *.shopify.com cdn.paddle.com widget.changelly.com s3.tradingview.com cdn.plyr.io; child-src 'self' *.cryptohopper.com *.candletrader.app *.cryptohopper.tech *.intercom.io *.intercomcdn.com cdn.paddle.com *.shopifycdn.com *.myshopify.com *.shopify.com widget.changelly.com plugin.partners.liquid.com www.youtube.com; form-action *;\r\nx-cache: Miss from cloudfront\r\nvia: 1.1 2f1d504785a7b18c010970da2bd4ab8c.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: OSL50-P3\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-amz-cf-id: cZSsPpy8eEIURhSSNVFO1Q8QoH53cqdd5vsv-3TKQWe40Lk4iILtCg==\r\ncf-cache-status: DYNAMIC\r\ncontent-encoding: br\r\npriority: u=3,i=?0\r\ncf-ray: a21895c58c815684-OSL\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]}],"data":{"size":26729,"size_decoded":15852,"mime_type":"application/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (574)","md5":"8499c3b86de4df25542c2f9f78d8a79c","sha1":"3942a2674cb09241e3598eb3d6403e3d2c2b09ff","sha256":"d67aaeb25ce9e34bdc18b2d3ba099086b1c3e5f3cda04edebcb14f826e5a78e4","sha512":"2a7103879757369f94970215e8e1d51255a567118cdefa1147396499dfe093175ddd63b579e790d1df3d4c2dd4ff4043ebeccd917124c6635654adf928d6daba","ssdeep":"768:DPFqnpKxIFoN7jGS9yp8TaA/ME0pwKfID8gXATtIpEmR7/7Scrni6NFDjdmyXRs0:RqnpKxIFoN7jGoaAUEyTOPncyXRsYxuK","tlshash":"54c20919f640b4bb027762aab43f5316326779e676020450a06dd9f17efcd882337f6a","first_seen":"2023-03-08T06:37:48Z","last_seen":"2026-07-27T05:16:33.138468Z","times_seen":585,"resource_available":true,"data":"dmFyIG1jcCA9IHsidXJsIjoiaHR0cHM6Ly93d3cuY3J5cHRvaG9wcGVyLmNvbS93aWRnZXRzIiwiYWpheF91cmwiOiJodHRwczovL3d3dy5jcnlwdG9ob3BwZXIuY29tL3dpZGdldHMvd2lkZ2V0cy9hamF4IiwibnVtZm9ybWF0IjoiVVMifTsKdGhpcy5kZXBwfHxmdW5jdGlvbihmLHUpe2RlcHA9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGwsZCl7dmFyIHE9ZnVuY3Rpb24gdChuLHYpe3Y9dnx8W107dmFyIHg9W10sej1bXTtyZXR1cm4gbi5mb3JFYWNoKGZ1bmN0aW9uKEEpe2lmKDA8PXYuaW5kZXhPZihBKSl0aHJvdyBFcnJvcigiRGVwcCBFcnJvcjogQ2lyY3VsYXIgcmVmZXJlbmNlIik7aWYoIShBIGluIGIpKXJldHVybiB4LnB1c2goIiMiK0EpO2JbQV0uZm9yRWFjaChmdW5jdGlvbihCKXtpZigiIyI9PUJbMF0pe3ZhciB5PXYuc2xpY2UoKTt5LnB1c2goQSk7eT10KFtCLnNsaWNlKDEpXSx5KTt4PXguY29uY2F0KHlbMF0pO3o9ei5jb25jYXQoeVsxXSl9ZWxzZSB6LnB1c2goQil9KX0pLFt4LHpdfShsKTtxWzBdLmxlbmd0aD9jKHFbMF0sZnVuY3Rpb24oKXthKGwsZCl9KTpkKHFbMV0pfWZ1bmN0aW9uIGMobCxkKXt2YXIgcSx3LG49bC5sZW5ndGgsdj1uO2lmKDA9PW4pcmV0dXJuIGQoKTtmb3IocT1mdW5jdGlvbih0LHgpe2lmKHgpcmV0dXJuIGQodCk7Ci0tdnx8ZCgpfTtuLS07KSh3PWxbbl0paW4gaD9xKHcsaFt3XSk6KG1bd109bVt3XXx8W10pLnB1c2gocSl9ZnVuY3Rpb24gZyhsLGQpe3ZhciBxPW1bbF07aWYoaFtsXT1kLHEpZm9yKDtxLmxlbmd0aDspcVswXShsLGQpLHEuc3BsaWNlKDAsMSl9dmFyIGU9e30saz1mdW5jdGlvbigpe30sYj17fSxtPXt9LGg9e30scj17fSxwPXt9O3JldHVybiBlLmRlZmluZT1mdW5jdGlvbihsKXt2YXIgZDtmb3IoZCBpbiBsKXtpZihkIGluIGIpdGhyb3cgRXJyb3IoIkRlcHAgRXJyb3I6IEJ1bmRsZSBhbHJlYWR5IGRlZmluZWQiKTt2YXIgcT1sW2RdO2JbZF09cS5wdXNoP3E6W3FdO2coIiMiK2QpfX0sZS5jb25maWc9ZnVuY3Rpb24obCl7Zm9yKHZhciBkIGluIGwpcFtkXT1sW2RdfSxlLnJlcXVpcmU9ZnVuY3Rpb24obCxkLHEpe2EobD1sLnB1c2g/bDpbbF0sZnVuY3Rpb24odyl7Yyh3LGZ1bmN0aW9uKG4pe24/KHF8fGspKG4pOihkfHxrKSgpfSk7dy5mb3JFYWNoKGZ1bmN0aW9uKG4pe3ZhciB2LAp0LHgseixBO24gaW4gcnx8KHJbbl09ITAseD1kb2N1bWVudCx6PXAuYmVmb3JlfHxrLEE9bi5yZXBsYWNlKC9eKGNzc3xpbWcpIS8sIiIpLC8oXmNzcyF8XC5jc3MkKS8udGVzdChuKT8odj0hMCwodD14LmNyZWF0ZUVsZW1lbnQoImxpbmsiKSkucmVsPSJzdHlsZXNoZWV0Iix0LmhyZWY9QSk6LyheaW1nIXxcLihwbmd8Z2lmfGpwZ3xzdmcpJCkvLnRlc3Qobik/KHQ9eC5jcmVhdGVFbGVtZW50KCJpbWciKSkuc3JjPUE6KCh0PXguY3JlYXRlRWxlbWVudCgic2NyaXB0IikpLnNyYz1uLHQuYXN5bmM9ITEpLHQub25sb2FkPXQub25lcnJvcj10Lm9uYmVmb3JlbG9hZD1mdW5jdGlvbihCKXt2YXIgeT1CLnR5cGVbMF07aWYodiYmImhpZGVGb2N1cyJpbiB0KXRyeXt0LnNoZWV0LmNzc1RleHQubGVuZ3RofHwoeT0iZSIpfWNhdGNoKEMpezE4IT1DLmNvZGUmJih5PSJlIil9aWYoImIiPT15KXtpZighQi5kZWZhdWx0UHJldmVudGVkKXJldHVybjt5PSJlIn1nKG4sImUiPT15KX0seihuLHQpLAp4LmhlYWQuYXBwZW5kQ2hpbGQodCkpfSl9KX0sZS5kb25lPWZ1bmN0aW9uKGwpe2JbbF09W107ZygiIyIrbCl9LGUuaXNEZWZpbmVkPWZ1bmN0aW9uKGwpe3JldHVybiBsIGluIGJ9LGUucmVzZXQ9ZnVuY3Rpb24oKXtiPXt9O209e307aD17fTtyPXt9O3A9e319LGV9KCk7KHU9Zi5jcmVhdGVFdmVudCgiSFRNTEV2ZW50cyIpKS5pbml0RXZlbnQ/dS5pbml0RXZlbnQoImRlcHAtbG9hZCIsITEsITEpOnU9bmV3IEV2ZW50KCJkZXBwLWxvYWQiKTtmLmRpc3BhdGNoRXZlbnQodSl9KGRvY3VtZW50KTtmdW5jdGlvbiBhZGRDb21tYXMoZil7dmFyIHU9IlVTIj09PW1jcC5udW1mb3JtYXQ/Ii4iOiIsIixhPSJVUyI9PT1tY3AubnVtZm9ybWF0PyIsIjoiLiIsYz0oZisiIikuc3BsaXQoIi4iKTtmPWNbMF07dT0xPGMubGVuZ3RoP3UrY1sxXToiIjtmb3IoYz0vKFxkKykoXGR7M30pLztjLnRlc3QoZik7KWY9Zi5yZXBsYWNlKGMsIiQxIithKyIkMiIpO3JldHVybiBmK3V9CmZ1bmN0aW9uIGhleDJyZ2IoZil7Zj1mLnJlcGxhY2UoIiMiLCIiKTszPT09Zi5sZW5ndGgmJihmPWZbMF0rZlswXStmWzFdK2ZbMV0rZlsyXStmWzJdKTt2YXIgdT1wYXJzZUludChmLnN1YnN0cmluZygwLDIpLDE2KSxhPXBhcnNlSW50KGYuc3Vic3RyaW5nKDIsNCksMTYpO2Y9cGFyc2VJbnQoZi5zdWJzdHJpbmcoNCw2KSwxNik7cmV0dXJuIGlzTmFOKHUpfHxpc05hTihhKXx8aXNOYU4oZik/RXJyb3IoIkludmFsaWQgSGV4Iik6dSsiLCIrYSsiLCIrZn0KZnVuY3Rpb24gY29tbWFyaXplKGYsdSl7IjEiPT11P2Zvcm1hdHM9WyIgVCIsIiBCIiwiIE0iLCIgSyJdOiIyIj09dSYmKGZvcm1hdHM9WyIgVHJpbGxpb24iLCIgQmlsbGlvbiIsIiBNaWxsaW9uIiwiVGhvdXNhbmQiXSk7cmV0dXJuIjMiIT11PzFFMTU8PU1hdGguYWJzKE51bWJlcihmKS50b0ZpeGVkKDIpKT8oTWF0aC5hYnMoTnVtYmVyKGYpKS8xRTEyKS50b0ZpeGVkKDIpK2Zvcm1hdHNbMF06MUU5PD1NYXRoLmFicyhOdW1iZXIoZikpPyhNYXRoLmFicyhOdW1iZXIoZikpLzFFOSkudG9GaXhlZCgyKStmb3JtYXRzWzFdOjFFNjw9TWF0aC5hYnMoTnVtYmVyKGYpKT8oTWF0aC5hYnMoTnVtYmVyKGYpKS8xRTYpLnRvRml4ZWQoMikrZm9ybWF0c1syXToxRTM8PU1hdGguYWJzKE51bWJlcihmKSk/KE1hdGguYWJzKE51bWJlcihmKSkvMUUzKS50b0ZpeGVkKDIpK2Zvcm1hdHNbM106YWRkQ29tbWFzKE1hdGguYWJzKE51bWJlcihmKSkpOmFkZENvbW1hcyhNYXRoLmFicyhOdW1iZXIoZikpLnRvRml4ZWQoMCkpfQpmdW5jdGlvbiByZ2IyaGV4KGYpe3JldHVybihmPWYubWF0Y2goL15yZ2JhP1tccytdP1woW1xzK10/KFxkKylbXHMrXT8sW1xzK10/KFxkKylbXHMrXT8sW1xzK10/KFxkKylbXHMrXT8vaSkpJiY0PT09Zi5sZW5ndGg/IiMiKygiMCIrcGFyc2VJbnQoZlsxXSwxMCkudG9TdHJpbmcoMTYpKS5zbGljZSgtMikrKCIwIitwYXJzZUludChmWzJdLDEwKS50b1N0cmluZygxNikpLnNsaWNlKC0yKSsoIjAiK3BhcnNlSW50KGZbM10sMTApLnRvU3RyaW5nKDE2KSkuc2xpY2UoLTIpOiIifWZ1bmN0aW9uIGlzQnJpZ2h0bmVzcyhmKXt2YXIgdT1yZ2IyaGV4KGYuY3NzKCJiYWNrZ3JvdW5kLWNvbG9yIikpO3U9cGFyc2VJbnQodS5zdWJzdHJpbmcoMSksMTYpOzUwPi4yMTI2Kih1Pj4xNiYyNTUpKy43MTUyKih1Pj44JjI1NSkrLjA3MjIqKHU+PjAmMjU1KSYmZi5hZGRDbGFzcygiaW52ZXJ0LWFjdCIpfQpmdW5jdGlvbiByZWFsdGltZVVwZGF0ZSgpe3ZhciBmPWpRdWVyeSgnW2RhdGEtcmVhbHRpbWU9Im9uIl0nKTtpZigidW5kZWZpbmVkIj09PXR5cGVvZiB3aW5kb3cuc29ja2V0JiYwPGYubGVuZ3RoKXt2YXIgdT1bXTtmLmZpbmQoIltkYXRhLWxpdmUtcHJpY2VdIikuZWFjaChmdW5jdGlvbigpe3UucHVzaChqUXVlcnkodGhpcykuZGF0YSgibGl2ZS1wcmljZSIpKX0pO3U9dS5maWx0ZXIoZnVuY3Rpb24oYSxjKXtyZXR1cm4gdS5pbmRleE9mKGEpPT1jfSk7dS5sZW5ndGgmJih3aW5kb3cuc29ja2V0PW5ldyBXZWJTb2NrZXQoIndzczovL3dzLmNvaW5jYXAuaW8vcHJpY2VzP2Fzc2V0cz0iK3Uuam9pbigiLCIpKSx3aW5kb3cuc29ja2V0LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGZ1bmN0aW9uKGEpe3RyYWRlTXNnPUpTT04ucGFyc2UoYS5kYXRhKTtmb3IodmFyIGMgaW4gdHJhZGVNc2cpZi5maW5kKCdbZGF0YS1saXZlLXByaWNlPSInK2MrJyJdJykuZWFjaChmdW5jdGlvbigpe2pRdWVyeSh0aGlzKS5yZWFsVGltZSh0cmFkZU1zZ1tjXSl9KX0pKX19CnZhciBkb21haW49InN0YXRpYy5jcnlwdG9ob3BwZXIuY29tIjsKZGVwcC5kZWZpbmUoe2pxdWVyeTpbImh0dHBzOi8vIitkb21haW4rIi93aWRnZXRzL2Fzc2V0cy9wdWJsaWMvanMvanF1ZXJ5LTMuMy4xLm1pbi5qcyJdLGNzczpbImh0dHBzOi8vIitkb21haW4rIi93aWRnZXRzL2Fzc2V0cy9wdWJsaWMvY3NzL3N0eWxlLmNzcyJdLGNoYXJ0anM6WyJodHRwczovLyIrZG9tYWluKyIvd2lkZ2V0cy9hc3NldHMvcHVibGljL2pzL0NoYXJ0Lm1pbi5qcyJdLGRhdGF0YWJsZTpbImh0dHBzOi8vIitkb21haW4rIi93aWRnZXRzL2Fzc2V0cy9wdWJsaWMvY3NzL2pxdWVyeS5kYXRhVGFibGVzLm1pbi5jc3MiLCJodHRwczovL3N0YXRpYy5jcnlwdG9ob3BwZXIuY29tL3dpZGdldHMvYXNzZXRzL3B1YmxpYy9qcy9qcXVlcnkuZGF0YVRhYmxlcy5taW4uanMiLCJodHRwczovL3N0YXRpYy5jcnlwdG9ob3BwZXIuY29tL3dpZGdldHMvYXNzZXRzL3B1YmxpYy9qcy9kYXRhVGFibGVzLnJlc3BvbnNpdmUubWluLmpzIl0sZWNoYXJ0czpbImh0dHBzOi8vIitkb21haW4rCiIvd2lkZ2V0cy9hc3NldHMvcHVibGljL2pzL0NoYXJ0cy5taW4uanMiXSxib3VudHk6WyJodHRwczovLyIrZG9tYWluKyIvd2lkZ2V0cy9hc3NldHMvcHVibGljL2pzL2JvdW50eS5taW4uanMiXSx2aXNpYmlsaXR5Y2hhbmdlZDpbImh0dHBzOi8vIitkb21haW4rIi93aWRnZXRzL2Fzc2V0cy9wdWJsaWMvanMvanF1ZXJ5LnZpc2liaWxpdHljaGFuZ2VkLm1pbi5qcyJdLHNlbGVjdGl6ZTpbImh0dHBzOi8vIitkb21haW4rIi93aWRnZXRzL2Fzc2V0cy9wdWJsaWMvanMvc2VsZWN0aXplLm1pbi5qcyJdfSk7d2luZG93LmpRdWVyeSYmZGVwcC5kb25lKCJqcXVlcnkiKTsKZGVwcC5yZXF1aXJlKFsianF1ZXJ5IiwiY3NzIl0sZnVuY3Rpb24oKXtyZWFsdGltZVVwZGF0ZSgpO2pRdWVyeS5mbi5pbWFnZXNMb2FkZWQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmZpbmQoJ2ltZ1tzcmMhPSIiXScpO2lmKCFhLmxlbmd0aClyZXR1cm4galF1ZXJ5LkRlZmVycmVkKCkucmVzb2x2ZSgpLnByb21pc2UoKTt2YXIgYz1bXTthLmVhY2goZnVuY3Rpb24oKXt2YXIgZz1qUXVlcnkuRGVmZXJyZWQoKTtjLnB1c2goZyk7dmFyIGU9bmV3IEltYWdlO2Uub25sb2FkPWZ1bmN0aW9uKCl7Zy5yZXNvbHZlKCl9O2Uub25lcnJvcj1mdW5jdGlvbigpe2cucmVzb2x2ZSgpfTtlLnNyYz10aGlzLnNyY30pO3JldHVybiBqUXVlcnkud2hlbi5hcHBseShqUXVlcnksYyl9O2pRdWVyeS5mbi5leHRlbmQoe2FuaW1hdGVDc3M6ZnVuY3Rpb24oYSxjKXt2YXIgZz1mdW5jdGlvbihlKXt2YXIgaz17YW5pbWF0aW9uOiJhbmltYXRpb25lbmQiLE9BbmltYXRpb246Im9BbmltYXRpb25FbmQiLE1vekFuaW1hdGlvbjoibW96QW5pbWF0aW9uRW5kIiwKV2Via2l0QW5pbWF0aW9uOiJ3ZWJraXRBbmltYXRpb25FbmQifSxiO2ZvcihiIGluIGspaWYodm9pZCAwIT09ZS5zdHlsZVtiXSlyZXR1cm4ga1tiXX0oZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpO3RoaXMuYWRkQ2xhc3MoIm1jdy1hbmltYXRlZCAiK2EpLm9uZShnLGZ1bmN0aW9uKCl7alF1ZXJ5KHRoaXMpLnJlbW92ZUNsYXNzKCJtY3ctYW5pbWF0ZWQgIithKTsiZnVuY3Rpb24iPT09dHlwZW9mIGMmJmMoKX0pO3JldHVybiB0aGlzfX0pO2pRdWVyeS5mbi5yZWFsVGltZT1mdW5jdGlvbihhKXt2YXIgYz1wYXJzZUZsb2F0KGpRdWVyeSh0aGlzKS5kYXRhKCJyYXRlIikqYSksZz0xPD1jPzI6MUUtNj5jPzg6NjtqUXVlcnkodGhpcykuZmluZCgic3BhbiIpLmh0bWwoYWRkQ29tbWFzKGMudG9GaXhlZChnKSkpO2E+cGFyc2VGbG9hdChqUXVlcnkodGhpcykuYXR0cigiZGF0YS1wcmljZSIpKSYmalF1ZXJ5KHRoaXMpLmFuaW1hdGVDc3MoImxpdmV1cCIpO2E8cGFyc2VGbG9hdChqUXVlcnkodGhpcykuYXR0cigiZGF0YS1wcmljZSIpKSYmCmpRdWVyeSh0aGlzKS5hbmltYXRlQ3NzKCJsaXZlZG93biIpO2pRdWVyeSh0aGlzKS5hdHRyKCJkYXRhLXByaWNlIixhKX07alF1ZXJ5LmZuLmludmVydGFibGU9ZnVuY3Rpb24oKXtpc0JyaWdodG5lc3MoalF1ZXJ5KHRoaXMpKTt2YXIgYT0iZXRoZXJldW0gcmlwcGxlIGlvdGEgZW9zIDB4IGJhbmNvciBkZW50YWNvaW4gYmlib3gtdG9rZW4gbWVkaXNoYXJlcyBzYW50aW1lbnQgcXVhbnRzdGFtcCByYWlkZW4tbmV0d29yay10b2tlbiBwaWxsYXIgcmVwdWJsaWMtcHJvdG9jb2wgbWV0YWwgZWlkb28gY3JlZG8gYmxhY2ttb29uIGNvdmVzdGluZyBzaGl2b20gc3VuY29udHJhY3QgbnVtZXJhaXJlIGRhb3N0YWNrIGJpdGRlZ3JlZSBtYXRyeXggZmFjZXRlciBpbnRlcm54dCBjcnlwdG9waW5nIGludmFjaW8gY2hhaW5pdW0gY3JlYXRpdmVjb2luIHRyZXphcmNvaW4gZWxjb2luLWVsIGplc3VzLWNvaW4gbW9qb2NvaW4gZ2FwY29pbiBwcmltZS14aSBzcGVlZGNhc2ggdmVsdG9yIGxvb3ByaW5nLW5lbyBmcmFuY3MiLnNwbGl0KCIgIik7CmpRdWVyeSh0aGlzKS5maW5kKCJpbWciKS5lYWNoKGZ1bmN0aW9uKCl7LTE8YS5qb2luKCItIikudG9Mb3dlckNhc2UoKS5pbmRleE9mKGpRdWVyeSh0aGlzKS5hdHRyKCJhbHQiKS50b0xvd2VyQ2FzZSgpKSYmalF1ZXJ5KHRoaXMpLmFkZENsYXNzKCJpbnZlcnRhYmxlIil9KX07alF1ZXJ5KCIubWN3LWRhcmstdGhlbWUsLm1jdy1taWRuaWdodC10aGVtZSwubWN3LWN1c3RvbS10aGVtZSwubWN3LXRhYmxlLmRhcmsiKS5lYWNoKGZ1bmN0aW9uKCl7alF1ZXJ5KHRoaXMpLmludmVydGFibGUoKX0pO2pRdWVyeS5mbi5pblZpZXc9ZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkod2luZG93KTtvYmo9alF1ZXJ5KHRoaXMpO3ZhciBjPWEuc2Nyb2xsVG9wKCk7YT1hLnNjcm9sbFRvcCgpK2EuaGVpZ2h0KCk7dmFyIGc9b2JqLm9mZnNldCgpLnRvcCtvYmoub3V0ZXJIZWlnaHQoKTtyZXR1cm4gYT49ZyYmYzw9Zz8hMDohMX07alF1ZXJ5LmZuLmRyYXdDaGFydD1mdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTsKZGVwcC5yZXF1aXJlKCJjaGFydGpzIixmdW5jdGlvbigpe3ZhciBjPWEuZGF0YSgicmF0ZSIpP2EuZGF0YSgicmF0ZSIpOjEsZz1hLmRhdGEoImZpYXQiKT9hLmRhdGEoImZpYXQiKToiJCIsZT1hLmRhdGEoImNvbG9yIiksaz1wYXJzZUludChhLmRhdGEoImdyYWRpZW50IikpLGI9cGFyc2VJbnQoYS5kYXRhKCJib3JkZXIiKSksbT1wYXJzZUZsb2F0KGEuZGF0YSgib3BhY2l0eSIpKSxoPWEuZGF0YSgicG9pbnRzIikuc3BsaXQoIiwiKS5zbGljZSgwLDI0KTtoPWgubWFwKGZ1bmN0aW9uKHApe3A9cGFyc2VGbG9hdChwKSpjO3JldHVybiBwLnRvRml4ZWQoMTw9cD8yOjFFLTY+cD84OjYpfSk7cj1yP3I6ZTtpZigwPT09ayl2YXIgcj0icmdiYSgiK2UrIiwiK20rIikiO2Vsc2Ugcj1hWzBdLmdldENvbnRleHQoIjJkIikuY3JlYXRlTGluZWFyR3JhZGllbnQoMCwwLDAsayksci5hZGRDb2xvclN0b3AoMCwicmdiYSgiK2UrIiwwLjMpIiksci5hZGRDb2xvclN0b3AoMSwicmdiYSgiK2UrCiIsMCkiKTtlPXtsYWJlbHM6aCxkYXRhc2V0czpbe2RhdGE6aCxmaWxsOiEwLGJhY2tncm91bmRDb2xvcjpyLGJvcmRlckNvbG9yOiJyZ2IoIitlKyIpIixwb2ludEJvcmRlckNvbG9yOiJyZ2IoIitlKyIpIixsaW5lVGVuc2lvbjouMjUscG9pbnRSYWRpdXM6MCxib3JkZXJXaWR0aDpifV19O25ldyBDaGFydChhWzBdLmdldENvbnRleHQoIjJkIikse3R5cGU6ImxpbmUiLGRhdGE6ZSxvcHRpb25zOnthbmltYXRpb246e2R1cmF0aW9uOjUwMH0sbGVnZW5kOntkaXNwbGF5OiExfSxzY2FsZXM6e3hBeGVzOlt7ZGlzcGxheTohMX1dLHlBeGVzOlt7ZGlzcGxheTohMX1dfSx0b29sdGlwczp7bW9kZToiaW5kZXgiLGludGVyc2VjdDohMSxkaXNwbGF5Q29sb3JzOiExLGNhbGxiYWNrczp7bGFiZWw6ZnVuY3Rpb24ocCxsKXtyZXR1cm4gZysiICIrYWRkQ29tbWFzKHBhcnNlRmxvYXQocC54TGFiZWwpKX0sdGl0bGU6ZnVuY3Rpb24ocCxsKXtyZXR1cm4hMX19fSxob3Zlcjp7bW9kZToibmVhcmVzdCIsCmludGVyc2VjdDohMH0sbWFpbnRhaW5Bc3BlY3RSYXRpbzohMX19KX0pfTtqUXVlcnkuZm4ubWN3QWNjb3JkaW9uPWZ1bmN0aW9uKCl7dGhpcy5maW5kKCIubWN3LWxpc3QtaXRlbTplcSgwKSIpLmFkZENsYXNzKCJhY3RpdmUiKS5maW5kKCIubWN3LWxpc3QtYm9keSIpLnNsaWRlRG93bigpO3RoaXMuZmluZCgiLm1jdy1saXN0LWhlYWRlciIpLmNsaWNrKGZ1bmN0aW9uKCl7alF1ZXJ5KHRoaXMpLnBhcmVudHMoIi5tY3ctbGlzdCIpLmZpbmQoIi5tY3ctbGlzdC1pdGVtIikubm90KGpRdWVyeSh0aGlzKS5wYXJlbnQoKSkucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpLmZpbmQoIi5tY3ctbGlzdC1ib2R5Iikuc2xpZGVVcCgpO2pRdWVyeSh0aGlzKS5wYXJlbnQoKS50b2dnbGVDbGFzcygiYWN0aXZlIik7alF1ZXJ5KHRoaXMpLm5leHQoIi5tY3ctbGlzdC1ib2R5Iikuc2xpZGVUb2dnbGUoKX0pfTtqUXVlcnkoZG9jdW1lbnQpLm9uKCJtY3ciLCIubWN3LXRhYmxlIixmdW5jdGlvbigpe3ZhciBhPQpqUXVlcnkodGhpcyksYz1hLmZpbmQoIi5tY3ctZGF0YXRhYmxlIik7ZGVwcC5yZXF1aXJlKCJkYXRhdGFibGUiLGZ1bmN0aW9uKCl7alF1ZXJ5LmZuLmRhdGFUYWJsZUV4dC5vUGFnaW5hdGlvbi5pbmZvX2J1dHRvbnM9e2ZuSW5pdDpmdW5jdGlvbihiLG0saCl7dmFyIHI9Yi5faURpc3BsYXlTdGFydCsxKyIgLSAiK2IuZm5EaXNwbGF5RW5kKCkrIiBvZiAiK2IuZm5SZWNvcmRzRGlzcGxheSgpLHA9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO3AuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoYi5vTGFuZ3VhZ2Uub1BhZ2luYXRlLnNQcmV2aW91cykpO2QuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoYi5vTGFuZ3VhZ2Uub1BhZ2luYXRlLnNOZXh0KSk7bC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShyKSk7CnAuY2xhc3NOYW1lPSJwYWdpbmF0ZV9idXR0b24gcHJldmlvdXMiO2QuY2xhc3NOYW1lPSJwYWdpbmF0ZV9idXR0b24gbmV4dCI7bC5jbGFzc05hbWU9InBhZ2luYXRlX2J1dHRvbiBpbmZvIjttLmFwcGVuZENoaWxkKHApO20uYXBwZW5kQ2hpbGQobCk7bS5hcHBlbmRDaGlsZChkKTtqUXVlcnkocCkuY2xpY2soZnVuY3Rpb24oKXtiLm9BcGkuX2ZuUGFnZUNoYW5nZShiLCJwcmV2aW91cyIpO2goYil9KTtqUXVlcnkoZCkuY2xpY2soZnVuY3Rpb24oKXtiLm9BcGkuX2ZuUGFnZUNoYW5nZShiLCJuZXh0Iik7aChiKX0pO2pRdWVyeShwKS5iaW5kKCJzZWxlY3RzdGFydCIsZnVuY3Rpb24oKXtyZXR1cm4hMX0pO2pRdWVyeShkKS5iaW5kKCJzZWxlY3RzdGFydCIsZnVuY3Rpb24oKXtyZXR1cm4hMX0pfSxmblVwZGF0ZTpmdW5jdGlvbihiLG0pe2lmKGIuYWFuRmVhdHVyZXMucClmb3IodmFyIGg9Yi5hYW5GZWF0dXJlcy5wLHI9MCxwPWgubGVuZ3RoO3I8cDtyKyspe3ZhciBsPWhbcl0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNwYW4iKTsKbFsxXS5pbm5lclRleHQ9Yi5faURpc3BsYXlTdGFydCsxKyIgLSAiK2IuZm5EaXNwbGF5RW5kKCkrIiBvZiAiK2IuZm5SZWNvcmRzRGlzcGxheSgpOzA9PT1iLl9pRGlzcGxheVN0YXJ0P2xbMF0uY2xhc3NOYW1lPSJwYWdpbmF0ZV9idXR0b24gcHJldmlvdXMgZGlzYWJsZWQiOmxbMF0uY2xhc3NOYW1lPSJwYWdpbmF0ZV9idXR0b24gcHJldmlvdXMgZW5hYmxlZCI7Yi5mbkRpc3BsYXlFbmQoKT09Yi5mblJlY29yZHNEaXNwbGF5KCk/bFsyXS5jbGFzc05hbWU9InBhZ2luYXRlX2J1dHRvbiBuZXh0IGRpc2FibGVkIjpsWzJdLmNsYXNzTmFtZT0icGFnaW5hdGVfYnV0dG9uIG5leHQgZW5hYmxlZCJ9fX07dmFyIGc9W10sZT1bXTtjLmZpbmQoInRoZWFkIHRoIikuZWFjaChmdW5jdGlvbihiKXt2YXIgbT1qUXVlcnkodGhpcykuZGF0YSgiY29sIik7ZS5wdXNoKG0pO2cucHVzaCh7ZGF0YTptLG5hbWU6bSxyZW5kZXI6ZnVuY3Rpb24oaCxyLHAsbCl7aWYodm9pZCAwPT09bC5zZXR0aW5ncy5qc29uKXJldHVybiBoOwpzd2l0Y2gobSl7Y2FzZSAicmFuayI6cmV0dXJuIGg7Y2FzZSAibmFtZSI6cmV0dXJuIHI9JzxkaXYgY2xhc3M9ImNvaW4iPjxkaXYgY2xhc3M9ImNvaW4taW1hZ2UiPjxpbWcgc3JjPSInK3AuaW1nKyciIHN0eWxlPSJtYXgtaGVpZ2h0OiAzNXB4OyIgYWx0PSInK3Auc2x1ZysnIj48L2Rpdj4nLHI9cC5saW5rP3IrKCc8YSBocmVmPSInK3AubGluaysnIiBjbGFzcz0iY29pbi10aXRsZSI+PGRpdiBjbGFzcz0iY29pbi1uYW1lIj4nK2grJzwvZGl2PjxkaXYgY2xhc3M9ImNvaW4tc3ltYm9sIj4nK3Auc3ltYm9sKyI8L2Rpdj48L2E+Iik6cisoJzxkaXYgY2xhc3M9ImNvaW4tdGl0bGUiPjxkaXYgY2xhc3M9ImNvaW4tbmFtZSI+JytoKyc8L2Rpdj48ZGl2IGNsYXNzPSJjb2luLXN5bWJvbCI+JytwLnN5bWJvbCsiPC9kaXY+PC9kaXY+IikscisiPC9kaXY+IjtjYXNlICJwcmljZV91c2QiOnI9cGFyc2VGbG9hdChwLmN1cnJhdGUqaCk7bD0xPD1yPzI6MUUtNj5yPzg6Njt2YXIgZD1wLm5hbWUuc3BsaXQoIiAiKS5qb2luKCItIik7CmQ9ZC50b0xvd2VyQ2FzZSgpO3JldHVybic8c3BhbiBkYXRhLWxpdmUtcHJpY2U9IicrZCsnIiBkYXRhLXJhdGU9IicrcC5jdXJyYXRlKyciIGRhdGEtcHJpY2U9IicraCsnIj4nK3AuY3J5cHRvZmlhdCsiICIrYWRkQ29tbWFzKHIudG9GaXhlZChsKSkrIjwvc3Bhbj4iO2Nhc2UgInByaWNlX2J0YyI6cmV0dXJuIlx1MDI0MyAiK2g7Y2FzZSAibWFya2V0X2NhcF91c2QiOnJldHVybiBoKj1wLmN1cnJhdGUscC5jcnlwdG9maWF0KyIgIitjb21tYXJpemUoaCxwLnByaWNlZm9ybWF0KTtjYXNlICJ2b2x1bWVfdXNkXzI0aCI6cmV0dXJuIGgqPXAuY3VycmF0ZSxoPWNvbW1hcml6ZShoLHAucHJpY2Vmb3JtYXQpLHAuY3J5cHRvZmlhdCsiICIraDtjYXNlICJhdmFpbGFibGVfc3VwcGx5IjpyZXR1cm4gY29tbWFyaXplKGgscC5wcmljZWZvcm1hdCk7Y2FzZSAicGVyY2VudF9jaGFuZ2VfMjRoIjpyZXR1cm4nPHNwYW4gY2xhc3M9IicrKDA8PWg/InVwIjoiZG93biIpKyciPicraCsiJTwvc3Bhbj4iOwpjYXNlICJ3ZWVrbHkiOnJldHVybic8dGQ+PGNhbnZhcyB3aWR0aD0iMTM1IiBoZWlnaHQ9IjQwIiBkYXRhLXJhdGU9IicrcC5jdXJyYXRlKyciIGRhdGEtZmlhdD0iJytwLmNyeXB0b2ZpYXQrJyIgZGF0YS1jb2xvcj0iJytjLmRhdGEoImNoYXJ0Y29sb3IiKSsnIiBkYXRhLWdyYWRpZW50PSI1MCIgZGF0YS1ib3JkZXI9IjIiIGRhdGEtcG9pbnRzPSInK2guam9pbigiLCIpKyciPjwvY2FudmFzPjwvdGQ+JztkZWZhdWx0OnJldHVybiBofX19KX0pO3ZhciBrPWMuRGF0YVRhYmxlKHtkZXN0cm95OiEwLGJEZXN0cm95OiEwLGRvbToncjwibG9hZGVyIj48ImRhdGF0YWJsZS1zY3JvbGwidD48ImxvYWRlciI+PCJkYXRhVGFibGVzLWZvb3RlciJscD48ImNsZWFyIj4nLG9yZGVyOltdLHNjcm9sbENvbGxhcHNlOiEwLHBhZ2luZ1R5cGU6ImluZm9fYnV0dG9ucyIscmVzcG9uc2l2ZTp7ZGV0YWlsczp7dHlwZTo0ODA+YS53aWR0aCgpPyJjb2x1bW4iOiJpbmxpbmUiLHRhcmdldDoidHIifX0sCnBhZ2VMZW5ndGg6cGFyc2VJbnQoYy5kYXRhKCJsZW5ndGgiKSksbGVuZ3RoTWVudTpbcGFyc2VJbnQoYy5kYXRhKCJsZW5ndGgiKSksMTAsMjUsNTAsMTAwXS5zb3J0KGZ1bmN0aW9uKGIsbSl7cmV0dXJuIGItbX0pLmZpbHRlcihmdW5jdGlvbihiLG0saCl7cmV0dXJuIGguaW5kZXhPZihiKT09PW19KSxjb2x1bW5zOmcscHJvY2Vzc2luZzohMCxzZXJ2ZXJTaWRlOiEwLGRlZmVyTG9hZGluZzpwYXJzZUludChjLmRhdGEoInRvdGFsIikpLGNvbHVtbkRlZnM6W3t0YXJnZXRzOiJjb2wtbmFtZSIsY2xhc3NOYW1lOiJjdHJsIHRleHQtbGVmdCBhbGwifSx7dGFyZ2V0czoiY29sLXJhbmsiLGNsYXNzTmFtZToidGV4dC1sZWZ0IG1pbi10YWJsZXQtcCIsd2lkdGg6IjIwcHgifSx7dGFyZ2V0czoiY29sLXByaWNlX3VzZCIsY2xhc3NOYW1lOiJhbGwifSx7dGFyZ2V0czoiY29sLXdlZWtseSIsd2lkdGg6IjE5MHB4IiwibWF4LXdpZHRoIjoiMTkwcHgiLGNsYXNzTmFtZToiY2hhcnQtd3JhcHBlciJ9XSwKZHJhd0NhbGxiYWNrOmZ1bmN0aW9uKGIpe2MuZmluZCgiY2FudmFzIikuZWFjaChmdW5jdGlvbigpe2pRdWVyeSh0aGlzKS5kcmF3Q2hhcnQoKX0pO2I9Yy5wYXJlbnRzKCIuY3J5cHRvYm94ZXMiKS5kYXRhKCJyZWFsdGltZSIpOyJ1bmRlZmluZWQiIT09dHlwZW9mIHdpbmRvdy5zb2NrZXQmJiJvbiI9PT1iJiZ3aW5kb3cuc29ja2V0LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGZ1bmN0aW9uKG0pe3ZhciBoPUpTT04ucGFyc2UobS5kYXRhKTtjLmZpbmQoJ1tkYXRhLWxpdmUtcHJpY2U9IicraC5iYXNlKyciXScpLmVhY2goZnVuY3Rpb24oKXtqUXVlcnkodGhpcykucmVhbFRpbWUoaCl9KX0pO2pRdWVyeSgiLm1jdy10YWJsZS5kYXJrIikuZWFjaChmdW5jdGlvbigpe2pRdWVyeSh0aGlzKS5pbnZlcnRhYmxlKCl9KX0sYWpheDp7dXJsOm1jcC5hamF4X3VybCxkYXRhOnthY3Rpb246Im1jd190YWJsZSIsZHluYW1pYzphLmF0dHIoImRhdGEtZHluYW1pYyIpLG1jd19pZDphLmF0dHIoImlkIikuc3BsaXQoIi0iKVsxXX19LApsYW5ndWFnZTp7cHJvY2Vzc2luZzoiIixsZW5ndGhNZW51OiJDb2lucyBwZXIgcGFnZTogX01FTlVfIn19KTtrLm9uKCJyZXNwb25zaXZlLXJlc2l6ZSIsZnVuY3Rpb24oYixtLGgpe3ZhciByPWhbMF0/MDoxO2MuZmluZCgidHIgdGQiKS5yZW1vdmVDbGFzcygiY3RybCIpO2MuZmluZCgidGJvZHkgdHIiKS5lYWNoKGZ1bmN0aW9uKCl7alF1ZXJ5KHRoaXMpLmZpbmQoInRkIikuZXEocikuYWRkQ2xhc3MoImN0cmwiKX0pO2MucmVtb3ZlQ2xhc3MoImR0ci1jb2x1bW4gZHRyLWlubGluZSIpO2MuYWRkQ2xhc3MoWyJkdHItaW5saW5lIiwiZHRyLWNvbHVtbiJdW3JdKX0pO2sub24oInByb2Nlc3NpbmcuZHQiLGZ1bmN0aW9uKGIsbSxoKXtoPyhiPWEuZmluZCgidGhlYWQiKS5pblZpZXcoKT8wOjEsYS5maW5kKCIubG9hZGVyIikuZXEoYikuc2hvdygpKTphLmZpbmQoIi5sb2FkZXIiKS5oaWRlKCl9KTtrLm9uKCJyZXNwb25zaXZlLWRpc3BsYXkiLGZ1bmN0aW9uKGIpe2pRdWVyeShiLmN1cnJlbnRUYXJnZXQpLmZpbmQoInRkLmNoaWxkIGNhbnZhcyIpLnBhcmVudCgpLmFkZENsYXNzKCJjaGFydC13cmFwcGVyIik7CmpRdWVyeShiLmN1cnJlbnRUYXJnZXQpLmZpbmQoInRkLmNoaWxkIGNhbnZhcyIpLmVhY2goZnVuY3Rpb24oKXtqUXVlcnkodGhpcykuZHJhd0NoYXJ0KCl9KX0pfSl9KTtqUXVlcnkoZG9jdW1lbnQpLm9uKCJtY3ciLCIubWN3LWNoYXJ0IixmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTtkZXBwLnJlcXVpcmUoWyJlY2hhcnRzIiwidmlzaWJpbGl0eWNoYW5nZWQiXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGMoZCl7Yi5wZXJpb2Q9ZDtrLnRpdGxlLnN1YnRleHQ9cltiLnBlcmlvZF07ZSgpfWZ1bmN0aW9uIGcoZCl7Yi5jb2luPSJNSU9UQSI9PWIuY29pbj8iSU9UIjpiLmNvaW47dmFyIHE9Imh0dHBzOi8vbWluLWFwaS5jcnlwdG9jb21wYXJlLmNvbS9kYXRhLyIrKCJkYXkiPT09Yi5wZXJpb2R8fCJ3ZWVrIj09PWIucGVyaW9kPyJoaXN0b2hvdXIiOiJoaXN0b2RheSIpO3ErPSI/ZnN5bT0iK2IuY29pbisiJnRzeW09IitiLmN1cnJlbmN5O3ErPSImbGltaXQ9IitoW2IucGVyaW9kXSsKIiZhZ2dyZWdhdGU9MSZleHRyYVBhcmFtcz1tYXNzaXZlY3J5cHRvIjt2YXIgdz0ibWN3LSIrYi5jb2luLnRvTG93ZXJDYXNlKCkrIi0iK2IuY3VycmVuY3kudG9Mb3dlckNhc2UoKSsiLSIrYi5wZXJpb2Q7aWYobnVsbD09PXNlc3Npb25TdG9yYWdlLmdldEl0ZW0odyl8fCIiPT1zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHcpKWpRdWVyeS5nZXQocSxmdW5jdGlvbihuKXtzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKHcsSlNPTi5zdHJpbmdpZnkobikpO3JldHVybiBkKG4pfSwianNvbiIpO2Vsc2UgcmV0dXJuIHE9SlNPTi5wYXJzZShzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHcpKSxkKHEpfWZ1bmN0aW9uIGUoKXtsLnNob3dMb2FkaW5nKCJkZWZhdWx0Iix7dGV4dDoiIixjb2xvcjptLnRpdGxlQ29sb3IsbWFza0NvbG9yOm0uYmFja2dyb3VuZENvbG9yfSk7ZyhmdW5jdGlvbihkKXt2YXIgcT1bXSx3PVtdLG49W107Zm9yKGk9MDtpPGQuRGF0YS5sZW5ndGg7aSsrKXt2YXIgdj1uZXcgRGF0ZSgxRTMqCmQuRGF0YVtpXS50aW1lKTtpZigiZGF5Ij09Yi5wZXJpb2Qpe3ZhciB0PXBbdi5nZXRNb250aCgpXSsiICI7dmFyIHg9djt2PXguZ2V0SG91cnMoKTt4PXguZ2V0TWludXRlcygpO3ZhciB6PTEyPD12PyJQTSI6IkFNIjt2JT0xMjt0Kz0odj92OjEyKSsiOiIrKDEwPng/IjAiK3g6eCkrIiAiK3p9ZWxzZSB0PXBbdi5nZXRNb250aCgpXSsiICIrdi5nZXREYXRlKCk7dj10O3Q9ImNoYXJ0Ij09Yi50eXBlP2QuRGF0YVtpXS5jbG9zZTpbZC5EYXRhW2ldLmNsb3NlLGQuRGF0YVtpXS5vcGVuLGQuRGF0YVtpXS5sb3csZC5EYXRhW2ldLmhpZ2hdO3EucHVzaCh2KTt3LnB1c2godCk7bi5wdXNoKGQuRGF0YVtpXS52b2x1bWVmcm9tKX1rLnhBeGlzWzBdLmRhdGE9cTtrLnNlcmllc1swXS5kYXRhPXc7ImNhbmRsZXN0aWNrIj09Yi50eXBlJiYoZD1NYXRoLnJvdW5kKGhbYi5wZXJpb2RdLzYwKjEwKSxxPSJjYW5kbGVzdGljayI9PWIudHlwZSYmMTA8ZD8hMDohMSxrLmRhdGFab29tLnNob3c9cSwKay5kYXRhWm9vbS5zdGFydD1kLGsuZ3JpZC55Mj1xPzgwOjQwLGsuc2VyaWVzWzFdLmRhdGE9bik7bC5zZXRPcHRpb24oayk7bC5oaWRlTG9hZGluZygpfSl9dmFyIGs9e3R5cGU6YS5hdHRyKCJkYXRhLWNoYXJ0dHlwZSIpLGNvaW46YS5hdHRyKCJkYXRhLWNoYXJ0Y29pbiIpLGN1cnJlbmN5OmEuYXR0cigiZGF0YS1jaGFydGN1cnJlbmN5Iiksc3ltYm9sOmEuYXR0cigiZGF0YS1jaGFydHN5bWJvbCIpLHBlcmlvZDphLmF0dHIoImRhdGEtY2hhcnR2aWV3IiksdGhlbWU6YS5hdHRyKCJkYXRhLWNoYXJ0dGhlbWUiKSxzbW9vdGg6InRydWUiPT1hLmF0dHIoImRhdGEtY2hhcnRzbW9vdGgiKSx0ZXh0Q29sb3I6YS5hdHRyKCJkYXRhLWNoYXJ0YXJlYWNvbG9yIiksYXJlYUNvbG9yOmEuYXR0cigiZGF0YS1jaGFydGJnY29sb3IiKSxmb250OmEuYXR0cigiZGF0YS1mb250IiksY29uZmlnOkpTT04ucGFyc2UoYS5hdHRyKCJkYXRhLWNvbmZpZyIpKX07c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXtpZigwPApzZXNzaW9uU3RvcmFnZS5sZW5ndGgpZm9yKHZhciBkPTA7ZDxzZXNzaW9uU3RvcmFnZS5sZW5ndGg7ZCsrKS0xPHNlc3Npb25TdG9yYWdlLmtleShkKS5pbmRleE9mKCJtY3ctIikmJnNlc3Npb25TdG9yYWdlLnNldEl0ZW0oc2Vzc2lvblN0b3JhZ2Uua2V5KGQpLCIiKX0sMThFNSk7dmFyIGI9alF1ZXJ5LmV4dGVuZCh7dHlwZToiY2hhcnQiLGNvaW46IkJUQyIsY3VycmVuY3k6IlVTRCIsc3ltYm9sOiIkIixwZXJpb2Q6ImRheSIsdGhlbWU6ImRhcmsiLHNtb290aDohMCxhcmVhQ29sb3I6InJnYmEoMTEyLDE0NywyNTQsMC44KSIsdGV4dENvbG9yOiIjMjAyMzI4Iixmb250OmEuY3NzKCJmb250LWZhbWlseSIpfSxrKSxtPXtsaWdodDp7YmFja2dyb3VuZENvbG9yOiIjZmZmIixjb2xvcjoiY2hhcnQiPT1iLnR5cGU/IiIhPWIudGV4dENvbG9yP1tiLnRleHRDb2xvcl06IiMyMDIzMjgiOiIjMjAyMzI4Iixmb250RmFtaWx5OmIuZm9udCxjaGFydENvbG9yczoiY2hhcnQiPT1iLnR5cGU/CiIiIT1iLmFyZWFDb2xvcj9bYi5hcmVhQ29sb3JdOiJyZ2JhKDExMiwxNDcsMjU0LDAuOCkiOlsicmdiYSgxMDgsMTMwLDE0NSwwLjIpIl0sdGl0bGVDb2xvcjoiY2hhcnQiPT1iLnR5cGU/IiIhPWIuYXJlYUNvbG9yP1tiLmFyZWFDb2xvcl06InJnYmEoMTEyLDE0NywyNTQsMC44KSI6IiM2NTY1NjUiLHhBeGlzOiJyZ2JhKDU0LDYwLDc4LDAuMSkiLHlBeGlzOiJyZ2JhKDU0LDYwLDc4LDAuMSkiLGJvcmRlcjoiI2VlZSJ9LGRhcms6e2JhY2tncm91bmRDb2xvcjoiIzIwMjMyOCIsY29sb3I6ImNoYXJ0Ij09Yi50eXBlPyIiIT1iLnRleHRDb2xvcj9bYi50ZXh0Q29sb3JdOiIjZmZmIjoiI2ZmZiIsZm9udEZhbWlseTpiLmZvbnQsY2hhcnRDb2xvcnM6ImNoYXJ0Ij09Yi50eXBlPyIiIT1iLmFyZWFDb2xvcj9bYi5hcmVhQ29sb3JdOiJyZ2JhKDExMiwxNDcsMjU0LDAuOCkiOlsicmdiYSgxMDgsMTMwLDE0NSwwLjIpIl0sdGl0bGVDb2xvcjoiY2hhcnQiPT1iLnR5cGU/IiIhPWIuYXJlYUNvbG9yPwpbYi5hcmVhQ29sb3JdOiJyZ2JhKDExMiwxNDcsMjU0LDAuOCkiOiIjZmZmIix4QXhpczoiIzM2M2M0ZSIseUF4aXM6IiMzNjNjNGUiLGJvcmRlcjoiIzIwMjMyOCJ9fVtiLnRoZW1lXSxoPXtkYXk6MjQsd2VlazoxNjgsbW9udGg6MzAsdGhyZWVtb250aHM6OTAsc2l4bW9udGhzOjE4MCx5ZWFyOjM2NX0scj17ZGF5OiJEYXkiLHdlZWs6IldlZWsiLG1vbnRoOiJNb250aCIsdGhyZWVtb250aHM6IjMgTW9udGhzIixzaXhtb250aHM6IjYgTW9udGhzIix5ZWFyOiJZZWFyIn0scD0iSmFuIEZlYiBNYXIgQXByIE1heSBKdW4gSnVsIEF1ZyBTZXAgT2N0IE5vdiBEZWMiLnNwbGl0KCIgIiksbD1lY2hhcnRzLmluaXQoYS5nZXQoMCkpO2s9e2FuaW1hdGlvbjohMSxiYWNrZ3JvdW5kQ29sb3I6bS5iYWNrZ3JvdW5kQ29sb3IsY29sb3I6bS5jaGFydENvbG9ycyx0ZXh0U3R5bGU6e2NvbG9yOm0uY29sb3IsZm9udEZhbWlseTptLmZvbnRGYW1pbHl9LHRpdGxlOnt0ZXh0OmIuY29pbisiLyIrYi5jdXJyZW5jeSwKc3VidGV4dDpyW2IucGVyaW9kXSx0ZXh0U3R5bGU6e2NvbG9yOm0udGl0bGVDb2xvcn19LGdyaWQ6e3g6ImNoYXJ0Ij09Yi50eXBlP2IuY29uZmlnLmxpbmUubDpiLmNvbmZpZy5jYW5kbGVzdGljay5sLHgyOiJjaGFydCI9PWIudHlwZT9iLmNvbmZpZy5saW5lLnI6Yi5jb25maWcuY2FuZGxlc3RpY2sucix5OjMyMDxhLndpZHRoKCk/ODA6MTEwLHkyOjQwfSx0b29sdGlwOnt0cmlnZ2VyOiJheGlzIixmb3JtYXR0ZXI6ZnVuY3Rpb24oZCl7dmFyIHE9ZFswXS5uYW1lOyJjaGFydCI9PWIudHlwZT8ocT1xKyI8YnIvPiIrKGRbMF0ubWFya2VyKycgUHJpY2U6IDxiIHN0eWxlPSJjb2xvcjogI2ZmZjsiPicrYi5zeW1ib2wrYWRkQ29tbWFzKGRbMF0udmFsdWUpKSxxKz0iPC9iPiIpOihxPXErIjxici8+IisoZFswXS5tYXJrZXIrJyBIOiA8YiBzdHlsZT0iY29sb3I6ICNmZmY7Ij4nK2Iuc3ltYm9sK2FkZENvbW1hcyhkWzBdLnZhbHVlWzRdKSsiPC9iPiIpLHErPScgIEw6IDxiIHN0eWxlPSJjb2xvcjogI2ZmZjsiPicrCmIuc3ltYm9sK2FkZENvbW1hcyhkWzBdLnZhbHVlWzNdKSsiPC9iPiIscT1xKyI8YnIvPiIrKGRbMF0ubWFya2VyKycgTzogPGIgc3R5bGU9ImNvbG9yOiAjZmZmOyI+JytiLnN5bWJvbCthZGRDb21tYXMoZFswXS52YWx1ZVsyXSkrIjwvYj4iKSxxKz0nICBDOiA8YiBzdHlsZT0iY29sb3I6ICNmZmY7Ij4nK2Iuc3ltYm9sK2FkZENvbW1hcyhkWzBdLnZhbHVlWzFdKSsiPC9iPiIscT1xKyI8YnIvPiIrKGRbMV0ubWFya2VyKycgVjogPGIgc3R5bGU9ImNvbG9yOiAjZmZmOyI+JythZGRDb21tYXMoZFsxXS52YWx1ZSkrIjwvYj4gIitiLmNvaW4pKTtyZXR1cm4gcX19LGRhdGFab29tOntzaG93OiExLHJlYWx0aW1lOiEwLHN0YXJ0OjAsZW5kOjEwMH0sdG9vbGJveDp7c2hvdzohMCxpdGVtU2l6ZToyMixsZWZ0OjMyMDxhLndpZHRoKCk/InJpZ2h0IjoibGVmdCIsdG9wOjMyMDxhLndpZHRoKCk/InRvcCI6NTAsZmVhdHVyZTp7bXlUb29sMTp7c2hvdzohMCx0aXRsZTpyLmRheSxpY29uOiJpbWFnZTovLyIrCm1jcC51cmwrIi9hc3NldHMvcHVibGljL2NoYXJ0cy9pbWFnZXMvMWQtZGFyay0wMS5zdmciLG9uY2xpY2s6ZnVuY3Rpb24oKXtjKCJkYXkiKX19LG15VG9vbDI6e3Nob3c6ITAsdGl0bGU6ci53ZWVrLGljb246ImltYWdlOi8vIittY3AudXJsKyIvYXNzZXRzL3B1YmxpYy9jaGFydHMvaW1hZ2VzLzF3LWRhcmstMDEuc3ZnIixvbmNsaWNrOmZ1bmN0aW9uKCl7Yygid2VlayIpfX0sbXlUb29sMzp7c2hvdzohMCx0aXRsZTpyLm1vbnRoLGljb246ImltYWdlOi8vIittY3AudXJsKyIvYXNzZXRzL3B1YmxpYy9jaGFydHMvaW1hZ2VzLzFtLWRhcmstMDEuc3ZnIixvbmNsaWNrOmZ1bmN0aW9uKCl7YygibW9udGgiKX19LG15VG9vbDQ6e3Nob3c6ITAsdGl0bGU6ci50aHJlZW1vbnRocyxpY29uOiJpbWFnZTovLyIrbWNwLnVybCsiL2Fzc2V0cy9wdWJsaWMvY2hhcnRzL2ltYWdlcy8zbS1kYXJrLTAxLnN2ZyIsb25jbGljazpmdW5jdGlvbigpe2MoInRocmVlbW9udGhzIil9fSxteVRvb2w1OntzaG93OiEwLAp0aXRsZTpyLnNpeG1vbnRocyxpY29uOiJpbWFnZTovLyIrbWNwLnVybCsiL2Fzc2V0cy9wdWJsaWMvY2hhcnRzL2ltYWdlcy82bS1kYXJrLTAxLnN2ZyIsb25jbGljazpmdW5jdGlvbigpe2MoInNpeG1vbnRocyIpfX0sbXlUb29sNjp7c2hvdzohMCx0aXRsZTpyLnllYXIsaWNvbjoiaW1hZ2U6Ly8iK21jcC51cmwrIi9hc3NldHMvcHVibGljL2NoYXJ0cy9pbWFnZXMvMXktZGFyay0wMS5zdmciLG9uY2xpY2s6ZnVuY3Rpb24oKXtjKCJ5ZWFyIil9fSxtYXJrOntzaG93OiExfSxkYXRhVmlldzp7c2hvdzohMX0sbWFnaWNUeXBlOntzaG93OiExfSxyZXN0b3JlOntzaG93OiExfSxzYXZlQXNJbWFnZTp7c2hvdzohMX19fSx4QXhpczpbXSx5QXhpczpbXSxzZXJpZXM6W119OyJjaGFydCI9PWIudHlwZT8oay54QXhpcy5wdXNoKHt0eXBlOiJjYXRlZ29yeSIsYm91bmRhcnlHYXA6ITF9KSxrLnlBeGlzLnB1c2goe3R5cGU6InZhbHVlIixzY2FsZTohMCxheGlzTGFiZWw6e2Zvcm1hdHRlcjpmdW5jdGlvbihkKXtyZXR1cm4gYWRkQ29tbWFzKGQpfX0sCnNwbGl0TGluZTp7c2hvdzohMCxsaW5lU3R5bGU6e2NvbG9yOm0ueUF4aXMsd2lkdGg6MSx0eXBlOiJzb2xpZCJ9fSxib3VuZGFyeUdhcDpbIjUlIiwiMCUiXX0pLGsuc2VyaWVzLnB1c2goe25hbWU6IlByaWNlIix0eXBlOiJsaW5lIixzbW9vdGg6Yi5zbW9vdGgsaXRlbVN0eWxlOntub3JtYWw6e2FyZWFTdHlsZTp7dHlwZToiZGVmYXVsdCJ9fX19KSk6KGsueEF4aXMucHVzaCh7dHlwZToiY2F0ZWdvcnkiLGJvdW5kYXJ5R2FwOiEwLGF4aXNUaWNrOntvbkdhcDohMX0sc3BsaXRMaW5lOntzaG93OiExfX0pLGsueUF4aXMucHVzaCh7dHlwZToidmFsdWUiLHNjYWxlOiExLGF4aXNMYWJlbDp7Zm9ybWF0dGVyOmZ1bmN0aW9uKGQpe3JldHVybiBhZGRDb21tYXMoZCl9fSxzcGxpdExpbmU6e3Nob3c6ITF9LGJvdW5kYXJ5R2FwOlsiMCUiLCIwJSJdfSx7dHlwZToidmFsdWUiLHNjYWxlOiEwLGF4aXNMYWJlbDp7Zm9ybWF0dGVyOmZ1bmN0aW9uKGQpe3JldHVybiBhZGRDb21tYXMoZCl9fSwKc3BsaXRMaW5lOntzaG93OiEwLGxpbmVTdHlsZTp7Y29sb3I6bS55QXhpcyx3aWR0aDoxLHR5cGU6InNvbGlkIn19LGJvdW5kYXJ5R2FwOlsiMCUiLCIwJSJdfSksay5zZXJpZXMucHVzaCh7bmFtZToiT0hMQyIsdHlwZToiayIsaXRlbVN0eWxlOntub3JtYWw6e2NvbG9yOiIjZGMzNTQ1Iixjb2xvcjA6IiMyM0JGMDgifX0seUF4aXNJbmRleDoxfSksay5zZXJpZXMucHVzaCh7bmFtZToiVm9sdW1lIix0eXBlOiJiYXIifSkpO2EuY3NzKCJiYWNrZ3JvdW5kIixtLmJhY2tncm91bmRDb2xvcik7YS5jc3MoImJvcmRlci1jb2xvciIsbS5ib3JkZXIpO2UoKTtqUXVlcnkod2luZG93KS5vbigicmVzaXplIixmdW5jdGlvbigpe2suZ3JpZC55PTMyMDxhLndpZHRoKCk/ODA6MTEwO2sudG9vbGJveC5sZWZ0PTMyMDxhLndpZHRoKCk/InJpZ2h0IjoibGVmdCI7ay50b29sYm94LnRvcD0zMjA8YS53aWR0aCgpPyJ0b3AiOjUwO2wuc2V0T3B0aW9uKGspO2wucmVzaXplKCl9KTthLnZpc2liaWxpdHlDaGFuZ2VkKHtjYWxsYmFjazpmdW5jdGlvbihkLApxLHcpe3EmJmpRdWVyeSh3aW5kb3cpLnRyaWdnZXIoInJlc2l6ZSIpfSxydW5PbkxvYWQ6ITAsZnJlcXVlbmN5OjEwMH0pfSl9KTtqUXVlcnkoZG9jdW1lbnQpLm9uKCJtY3ciLCIubWN3LWNvbnZlcnRlciIsZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyk7ZGVwcC5yZXF1aXJlKCJzZWxlY3RpemUiLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYygpe3ZhciBuPW1bMF0uc2VsZWN0aXplLm9wdGlvbnNbbS52YWwoKV0udmFsLHY9aFswXS5zZWxlY3RpemUub3B0aW9uc1toLnZhbCgpXS52YWwsdD0iVVMiPT09bWNwLm51bWZvcm1hdD9wYXJzZUZsb2F0KHIudmFsKCkucmVwbGFjZSgvLC9nLCIiKSk6cGFyc2VGbG9hdChyLnZhbCgpLnJlcGxhY2UoL1wuL2csIiIpKTtuPSJjcnlwdG8iPT09ZSYmImNyeXB0byI9PT1rP3Q/bi92KnQ6IiI6ImZpYXQiPT09ZSYmImZpYXQiPT09az90P3Yvbip0OiIiOiJmaWF0Ij09PWUmJiJjcnlwdG8iPT09az90P3QvKG4qdik6IiI6dD90Km4qdjoiIjtuPXBhcnNlRmxvYXQobik7CnAudmFsKGFkZENvbW1hcyhuLnRvRml4ZWQoMTw9bj8yOjFFLTY+bj84OjYpKSl9ZnVuY3Rpb24gZygpe3ZhciBuPW1bMF0uc2VsZWN0aXplLm9wdGlvbnNbbS52YWwoKV0udmFsLHY9aFswXS5zZWxlY3RpemUub3B0aW9uc1toLnZhbCgpXS52YWwsdD0iVVMiPT09bWNwLm51bWZvcm1hdD9wYXJzZUZsb2F0KHAudmFsKCkucmVwbGFjZSgvLC9nLCIiKSk6cGFyc2VGbG9hdChwLnZhbCgpLnJlcGxhY2UoL1wuL2csIiIpKTtuPSJjcnlwdG8iPT09ZSYmImNyeXB0byI9PT1rP3Q/di9uKnQ6IiI6ImZpYXQiPT09ZSYmImZpYXQiPT09az90P24vdip0OiIiOiJmaWF0Ij09PWUmJiJjcnlwdG8iPT09az90P3Qqbip2OiIiOnQ/MS92KnQvbjoiIjtuPXBhcnNlRmxvYXQobik7ci52YWwoYWRkQ29tbWFzKG4udG9GaXhlZCgxPD1uPzI6MUUtNj5uPzg6NikpKX1hLmZpbmQoInNlbGVjdCIpLnNlbGVjdGl6ZSh7b25Jbml0aWFsaXplOmZ1bmN0aW9uKCl7dmFyIG49dGhpczt0aGlzLnJldmVydFNldHRpbmdzLiRjaGlsZHJlbi5lYWNoKGZ1bmN0aW9uKCl7alF1ZXJ5LmV4dGVuZChuLm9wdGlvbnNbdGhpcy52YWx1ZV0sCmpRdWVyeSh0aGlzKS5kYXRhKCkpfSk7bi4kZHJvcGRvd24uYWRkQ2xhc3MoIm1jdy1jb252LXN0eWxlIil9LGRyb3Bkb3duUGFyZW50OiJib2R5In0pO2EuZmluZCgiLm1jdy1jb252ZXJ0LXN3YXAiKS5jbGljayhmdW5jdGlvbigpe2EuZmluZCgiLm1jdy1mb3JtLWdyb3VwIikuZXEoMCkudG9nZ2xlQ2xhc3MoIm1jdy1mb3JtLWdyb3VwLXN3YXAiKX0pO3ZhciBlPWEuYXR0cigiZGF0YS1mcm9tIiksaz1hLmF0dHIoImRhdGEtdG8iKSxiPSJ0cnVlIj09YS5hdHRyKCJkYXRhLWF1dG8iKSxtPWEuZmluZCgic2VsZWN0IikuZmlyc3QoKSxoPWEuZmluZCgic2VsZWN0IikubGFzdCgpLHI9YS5maW5kKCJpbnB1dC5tY3ctZmllbGQiKS5maXJzdCgpLHA9YS5maW5kKCJpbnB1dC5tY3ctZmllbGQiKS5sYXN0KCksbD0iZG93biIsZD1hLmNsb3Nlc3QoIi5jcnlwdG9ib3hlcyIpLmRhdGEoImZpYXQiKSxxPWEuY2xvc2VzdCgiLmNyeXB0b2JveGVzIikuZGF0YSgiY3J5cHRvIiksdz0iZmlhdCI9PQplP2Q6IiI7ZD0iY3J5cHRvIj09ZT8iZmlhdCI9PWs/ZDoiYml0Y29pbiI9PW1bMF0udmFsdWU/ImV0aGVyZXVtIjoiIjoiZmlhdCI9PWs/IlVTRCI9PWQ/IkVVUiI6IlVTRCI6IiIhPXE/cToiIjsiIiE9dyYmbVswXS5zZWxlY3RpemUuc2V0VmFsdWUodyk7IiIhPWQmJmhbMF0uc2VsZWN0aXplLnNldFZhbHVlKGQpO3IudmFsKDEpO2MoKTtiPyhyLm9uKCJpbnB1dCIsZnVuY3Rpb24oKXtjKCl9KSxwLm9uKCJpbnB1dCIsZnVuY3Rpb24oKXtnKCl9KSxtLmNoYW5nZShmdW5jdGlvbigpe2coKTtsPSJ1cCJ9KSxoLmNoYW5nZShmdW5jdGlvbigpe2MoKTtsPSJkb3duIn0pKTooci5vbigiaW5wdXQiLGZ1bmN0aW9uKCl7bD0iZG93biJ9KSxwLm9uKCJpbnB1dCIsZnVuY3Rpb24oKXtsPSJ1cCJ9KSxhLmZpbmQoIi5tY3ctYnV0dG9uIikuY2xpY2soZnVuY3Rpb24obil7bi5wcmV2ZW50RGVmYXVsdCgpOyJkb3duIj09bD9jKCk6ZygpfSkpfSl9KTtqUXVlcnkoZG9jdW1lbnQpLm9uKCJtY3ciLAoiLm1jdy1jYXJkLTciLGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpO2RlcHAucmVxdWlyZSgiYm91bnR5IixmdW5jdGlvbigpe3ZhciBjPWEuZmluZCgiLm1jdy1wcmljZSIpLGc9MSxlPWMudGV4dCgpLGs9MTw9cGFyc2VGbG9hdChjLmF0dHIoImRhdGEtcHJpY2UiKSk/MjoxRS02PnBhcnNlRmxvYXQoYy5hdHRyKCJkYXRhLXByaWNlIikpPzg6Njtib3VudHlbImRlZmF1bHQiXSh7ZWw6Y1swXSxpbml0aWFsVmFsdWU6ZSx2YWx1ZTplfSk7d2luZG93LnNvY2tldC5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixmdW5jdGlvbihiKXtiPUpTT04ucGFyc2UoYi5kYXRhKTtpZihjLmRhdGEoImxpdmUiKT09Yi5iYXNlJiZiLnByaWNlVXNkIT09cGFyc2VGbG9hdChjLmF0dHIoImRhdGEtcHJpY2UiKSkpe3ZhciBtPWMuYXR0cigiZGF0YS1zeW1ib2wiKSthZGRDb21tYXMocGFyc2VGbG9hdChiLnByaWNlVXNkKmcpLnRvRml4ZWQoaykpO2JvdW50eVsiZGVmYXVsdCJdKHtlbDpjWzBdLAppbml0aWFsVmFsdWU6ZSx2YWx1ZTptfSk7ZT1tO2MuYXR0cigiZGF0YS1wcmljZSIsYi5wcmljZVVzZCl9fSk7YS5maW5kKCIubWN3LXRvZ2dsZS1zd2l0Y2giKS5jbGljayhmdW5jdGlvbigpe2c9alF1ZXJ5KHRoaXMpLmRhdGEoInJhdGUiKTthLmZpbmQoIi5tY3ctdG9nZ2xlLXN3aXRjaCIpLnJlbW92ZUNsYXNzKCJhY3RpdmUiKTtqUXVlcnkodGhpcykuYWRkQ2xhc3MoImFjdGl2ZSIpO3ZhciBiPWpRdWVyeSh0aGlzKS5kYXRhKCJzeW1ib2wiKSthZGRDb21tYXMocGFyc2VGbG9hdChjLmF0dHIoImRhdGEtcHJpY2UiKSpnKS50b0ZpeGVkKGspKTtib3VudHlbImRlZmF1bHQiXSh7ZWw6Y1swXSxpbml0aWFsVmFsdWU6ZSx2YWx1ZTpifSk7ZT1iO2MuYXR0cigiZGF0YS1zeW1ib2wiLGpRdWVyeSh0aGlzKS5kYXRhKCJzeW1ib2wiKSl9KX0pfSk7alF1ZXJ5KGRvY3VtZW50KS5vbigibWN3IiwiLm1jdy1ib3giLGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpO2EuZmluZCgiY2FudmFzIikuZWFjaChmdW5jdGlvbigpe2pRdWVyeSh0aGlzKS5kcmF3Q2hhcnQoKX0pOwphLmZpbmQoIi5jaGFydC1vZmZzZXQiKS5zaG93KCk7aWYoYS5oYXNDbGFzcygibWN3LWJveC0yIikpe3ZhciBjPWEuZmluZCgiLm1jdy1jcnlwdG8tY29udmVydCIpLGc9YS5maW5kKCIubWN3LWZpYXQtY29udmVydCIpO2EuZmluZCgic2VsZWN0IikuY2hhbmdlKGZ1bmN0aW9uKCl7dmFyIGU9cGFyc2VGbG9hdChjLnZhbCgpKSpwYXJzZUZsb2F0KGcudmFsKCkpO2U9ZS50b0ZpeGVkKDE8PWU/MjoxRS02PmU/ODo2KTthLmZpbmQoIi5tY3ctcHJpY2UiKS5odG1sKGUpO2U9Zy5maW5kKCI6c2VsZWN0ZWQiKS5kYXRhKCJwcmVmaXgiKTthLmZpbmQoIi5tY3ctcHJpY2Utc3ltYm9sIikuaHRtbChlKTtlPWMuZmluZCgiOnNlbGVjdGVkIikuZGF0YSgiY2hhbmdlIik7YS5maW5kKCIubWN3LWxpc3QtY2hhbmdlIikuaHRtbChNYXRoLmFicyhlKSsiJSIpOzA8PWU/YS5maW5kKCIubWN3LWxpc3QtY2hhbmdlIikudG9nZ2xlQ2xhc3MoImRvd24gdXAiKTphLmZpbmQoIi5tY3ctbGlzdC1jaGFuZ2UiKS50b2dnbGVDbGFzcygidXAgZG93biIpfSl9fSk7CmpRdWVyeShkb2N1bWVudCkub24oIm1jdyIsIi5tY3ctbGlzdCIsZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyk7YS5maW5kKCJjYW52YXMiKS5lYWNoKGZ1bmN0aW9uKCl7alF1ZXJ5KHRoaXMpLmRyYXdDaGFydCgpfSk7YS5oYXNDbGFzcygibWN3LWxpc3QtMiIpJiZhLm1jd0FjY29yZGlvbigpfSk7alF1ZXJ5KGRvY3VtZW50KS5vbigibWN3IiwiLm1jdy1tdWx0aS10YWJzIixmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKSxjPWEuZmluZCgiLm1jdy10YWIiKSxnPWEuZmluZCgiLm1jdy10YWItY29udGVudCIpO2MuY2xpY2soZnVuY3Rpb24oKXt2YXIgZT1qUXVlcnkodGhpcykuaW5kZXgoKTtjLnJlbW92ZUNsYXNzKCJhY3RpdmUiKTtqUXVlcnkodGhpcykuYWRkQ2xhc3MoImFjdGl2ZSIpO2cubm90KCI6ZXEoIitlKyIpIikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpO2cuZXEoZSkuYWRkQ2xhc3MoImFjdGl2ZSIpfSl9KTtqUXVlcnkuZm4ubXVsdGlwbHk9ZnVuY3Rpb24oYSl7Zm9yKHZhciBjPQp0aGlzLmNsb25lKCksZz0xO2c8YTtnKyspYz1jLmFkZCh0aGlzLmNsb25lKCkpO3JldHVybiBjfTtqUXVlcnkuZm4uY29pbm1jUmVzaXplPWZ1bmN0aW9uKCl7dmFyIGE9InhzIixjPTA8dGhpcy5maW5kKCIuY21jLXJvdyIpLmxlbmd0aD90aGlzLmZpbmQoIi5jbWMtcm93IikuZXEoMCkud2lkdGgoKTp0aGlzLndpZHRoKCk7OTkyPD1jP2E9ImxnIjo3Njg8PWM/YT0ibWQiOjU3Njw9YyYmKGE9InNtIik7dGhpcy5yZW1vdmVDbGFzcygiY21jbC14cyBjbWNsLXNtIGNtY2wtbWQgY21jbC1sZyIpLmFkZENsYXNzKCJjbWNsLSIrYSk7dGhpcy50cmlnZ2VyKCJ2aWV3Iil9O2pRdWVyeShkb2N1bWVudCkub24oIm1jdyIsIi5tY3ctdGlja2VyIixmdW5jdGlvbigpe3ZhciBhPTAsYz1qUXVlcnkodGhpcyksZz1jLmZpbmQoIi5jYy1zdGF0cyIpO2MuaW1hZ2VzTG9hZGVkKCkudGhlbihmdW5jdGlvbigpe2cuZmluZCgiLmNjLWNvaW4iKS5lYWNoKGZ1bmN0aW9uKCl7YSs9alF1ZXJ5KHRoaXMpLmlubmVyV2lkdGgoKX0pOwp2YXIgZT1nLmZpbmQoIi5jYy1jb2luIiksaz1nLmlubmVyV2lkdGgoKS9hO2cuYXBwZW5kKCc8ZGl2IGNsYXNzPSJjYy1kdXAiPjwvZGl2PicpOy41PGs/Zy5maW5kKCIuY2MtZHVwIikuYXBwZW5kKGUubXVsdGlwbHkoTWF0aC5jZWlsKGspKSk6Zy5maW5kKCIuY2MtZHVwIikuYXBwZW5kKGUubXVsdGlwbHkoMSkpO2cuY3NzKCJ3aWR0aCIsYSk7Zy5maW5kKCJjYW52YXMiKS5lYWNoKGZ1bmN0aW9uKCl7alF1ZXJ5KHRoaXMpLmRyYXdDaGFydCgpfSk7ZT1nLmZpbmQoIi5jYy1jb2luIikubGVuZ3RoO2s9YS9lO3ZhciBiPWMuZGF0YSgic3BlZWQiKSxtPTEwKms7MjAwPT09Yj9tPTEwOjA9PWI/bT0wOjEwMDxiP20tPShiLTEwMCkvMTAqazoxMDA+YiYmKG0rPSgxMDAtYikvMTAqOCprKTtnLmNzcygiYW5pbWF0aW9uLWR1cmF0aW9uIixlKm0vMUUzKyJzIik7Yy5jc3MoInZpc2liaWxpdHkiLCJ2aXNpYmxlIik7Yy5oYXNDbGFzcygibWN3LWhlYWRlciIpJiZqUXVlcnkoImJvZHksIC5uYXZiYXItdmVydGljYWwiKS5jc3MoInBhZGRpbmctdG9wIiwKYy5oZWlnaHQoKSsicHgiKX0pfSk7alF1ZXJ5KCIubWN3LXRyIikuZWFjaChmdW5jdGlvbigpe2pRdWVyeSh0aGlzKS50cmlnZ2VyKCJtY3ciKX0pO0FycmF5LnByb3RvdHlwZS51bmlxdWU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5maWx0ZXIoZnVuY3Rpb24oYSxjLGcpe3JldHVybiBnLmluZGV4T2YoYSk9PT1jfSl9O3ZhciBmPVtdLHU9W107alF1ZXJ5KCIuY3J5cHRvaG9wcGVyLXdlYi13aWRnZXQiKS5lYWNoKGZ1bmN0aW9uKCl7Zi5wdXNoKGpRdWVyeSh0aGlzKS5kYXRhKCJpZCIpKTt2YXIgYT1jcmVhdGVQb3N0RGF0YSh0aGlzKTt1LnB1c2goYSl9KTswPGYubGVuZ3RoJiZqUXVlcnkuYWpheCh7dHlwZToiR0VUIixkYXRhVHlwZToianNvbiIsdXJsOm1jcC51cmwrIi93aWRnZXRzLz9pZD0iK3Jhd3VybGVuY29kZShKU09OLnN0cmluZ2lmeSh1KSksdGltZW91dDoyNTAwLHN1Y2Nlc3M6ZnVuY3Rpb24oYSl7alF1ZXJ5KCIuY3J5cHRvaG9wcGVyLXdlYi13aWRnZXQiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGM9CmpRdWVyeSh0aGlzKS5kYXRhKCJpZCIpO2pRdWVyeSh0aGlzKS5odG1sKGFbY10pO2pRdWVyeSh0aGlzKS5maW5kKCIubWN3LXRyIikudHJpZ2dlcigibWN3Iil9KTtqUXVlcnkoIi5tY3ctZGFyay10aGVtZSwubWN3LW1pZG5pZ2h0LXRoZW1lLC5tY3ctY3VzdG9tLXRoZW1lLC5tY3ctdGFibGUuZGFyayIpLmVhY2goZnVuY3Rpb24oKXtqUXVlcnkodGhpcykuaW52ZXJ0YWJsZSgpfSk7cmVhbHRpbWVVcGRhdGUoKX0sZXJyb3I6ZnVuY3Rpb24oYSxjLGcpe319KX0pOwpmdW5jdGlvbiBjcmVhdGVQb3N0RGF0YShmKXt2YXIgdT17aWQ6alF1ZXJ5KGYpLmRhdGEoImlkIil9LGE9e307Im9uIj09alF1ZXJ5KGYpLmRhdGEoInJlYWx0aW1lIik/YS5yZWFsdGltZT0xOmEucmVhbHRpbWU9MDtmb3IodmFyIGM9InJlYWx0aW1lIHByaWNlX2Zvcm1hdCBjaGFydF9jb2xvciBsYWJlbF9kZXNpZ24gdGh1bWJuYWlscyBmdWxsd2lkdGggY2FyZF9kZXNpZ24gY2hhcnRfdGhlbWUgY2hhcnRfdmlldyBjaGFydF90eXBlIHRhYmxlX2NvbHVtbnMgY29udmVydGVyX3R5cGUgYm94X2Rlc2lnbiBsaXN0X2Rlc2lnbiBtdWx0aV9jdXJyZW5jaWVzIG5ld3NfY291bnQgbmV3c19sZW5ndGggY3VycmVuY3kyIHRleHRfY29sb3IgYmFja2dyb3VuZF9jb2xvciB0aGVtZSBudW1jb2lucyB0YWJsZV9sZW5ndGggdGl0bGUgY3VycmVuY3kgdGFibGVfdGl0bGUgY2hhcnRfdGhlbWUgdGFibGVfc3R5bGUgYXRpZCByb3VuZCBjaGFuZ2VzIHRpY2tlcl9kZXNpZ24gbG9nb3MgY2hhbmdlcyBjb2lucyB0aWNrZXJfc3BlZWQgdGlja2VyX3Bvc2l0aW9uIi5zcGxpdCgiICIpLGc9CjA7ZzxjLmxlbmd0aDtnKyspe3ZhciBlPWNbZ107InVuZGVmaW5lZCIhPT10eXBlb2YgalF1ZXJ5KGYpLmRhdGEoZSkmJigicmVhbHRpbWUiPT1lPyJvbiI9PWpRdWVyeShmKS5kYXRhKCJyZWFsdGltZSIpP2EucmVhbHRpbWU9MTphLnJlYWx0aW1lPTA6YVtlXT1qUXVlcnkoZikuZGF0YShlKSl9dS5vcHRpb25zPWE7cmV0dXJuIHV9ZnVuY3Rpb24gcmF3dXJsZW5jb2RlKGYpe3JldHVybiBlbmNvZGVVUklDb21wb25lbnQoZikucmVwbGFjZSgvIS9nLCIlMjEiKS5yZXBsYWNlKC8nL2csIiUyNyIpLnJlcGxhY2UoL1woL2csIiUyOCIpLnJlcGxhY2UoL1wpL2csIiUyOSIpLnJlcGxhY2UoL1wqL2csIiUyQSIpfTs="}},"time_used":495,"timings":{"blocked":-1,"dns":3,"connect":15,"send":0,"wait":474,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.youtube.com/embed/HPoJhVNSHdk","fqdn":"www.youtube.com","domain":"youtube.com","tld":"com"},"ip":{"addr":"142.251.150.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"subdocument","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.905Z","timestamp":1785123231905,"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/HPoJhVNSHdk 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\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\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-jMnmShUXXdOENSWT9wx_5Q' '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 03:33:51 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\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\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-embedder-policy-report-only: require-corp; report-to=\"youtube_main\"\r\ncross-origin-opener-policy-report-only: same-origin; report-to=\"youtube_main\"\r\norigin-trial: AmhMBR6zCLzDDxpW+HfpP67BqwIknWnyMOXOQGfzYswFmJe+fgaI6XZgAzcxOrzNtP7hEDsOo1jdjFnVr2IdxQ4AAAB4eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJXZWJWaWV3WFJlcXVlc3RlZFdpdGhEZXByZWNhdGlvbiIsImV4cGlyeSI6MTc1ODA2NzE5OSwiaXNTdWJkb21haW4iOnRydWV9, AiDEBptUfVeO93q48VdVMe/ubupazdAl8AaHP+NBzdnW8quUcHdzJUyGSfrmtpKJu7EOvwRp9ug2rEo3XU+WMAMAAAB2eyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJEZXZpY2VCb3VuZFNlc3Npb25DcmVkZW50aWFsczIiLCJleHBpcnkiOjE3NzQzMTA0MDAsImlzU3ViZG9tYWluIjp0cnVlfQ==\r\ncross-origin-resource-policy: cross-origin\r\ncontent-encoding: br\r\nserver: ESF\r\nx-xss-protection: 0\r\nset-cookie: __Secure-YNID=20.YT=eV2loe5TarhFqlUVIFSBpQRjn_v_TMVcG01J09SodanGw26pe2dVmqat59lQtaocVbsKCUdYA2q0kVVJHaHa9N9qE5YhzDAFJQp29wsoORZgohQgznu7SrhEUnX94RyA0yb-3RoDyd_XlJ57nkHAh3eV9Qsd7xxb3SBcbYT3hiAHoZZc6KPloe5Gpy8oMzE5FJaQ-X8NI0e8ilwJcaR3NFRYY9cFTL4lxxjADOjeAFUZYGMs-ZoMsmCtrxugvROVb3ZHDiEPVIhYns5Stpgl_oPJ38X-by_Q0pbdW0QAWDT96gMZTv3o3XBDur4bAWfiiupWuFb_BeE3XCrAaMOmHg; expires=Sat, 23-Jan-2027 03:33:51 GMT; path=/; domain=.youtube.com; Secure; HttpOnly; SameSite=none\nYSC=6ky3ezEIvRY; Domain=.youtube.com; Path=/; Secure; HttpOnly; SameSite=none\n__Secure-YEC=; Domain=.youtube.com; Expires=Tue, 31-Oct-2023 03:33:51 GMT; Path=/; Secure; HttpOnly; SameSite=lax\nVISITOR_INFO1_LIVE=15CNSB7h6-4; Domain=.youtube.com; Expires=Sat, 23-Jan-2027 03:33:51 GMT; Path=/; Secure; HttpOnly; SameSite=none\nVISITOR_PRIVACY_METADATA=CgJOTxIiEh4SHAsMDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicgYQ%3D%3D; Domain=.youtube.com; Expires=Sat, 23-Jan-2027 03:33:51 GMT; Path=/; Secure; HttpOnly; SameSite=none\n__Secure-ROLLOUT_TOKEN=COiu8dvIl-ubQBDLxvug9vGVAxjLxvug9vGVAw%3D%3D; Domain=youtube.com; Expires=Sat, 23-Jan-2027 03:33:51 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":142670,"size_decoded":59880,"mime_type":"text/html; charset=utf-8","magic":"HTML document, ASCII text, with very long lines (52128)","md5":"83cbac93854ac785be6d497ffe647d8d","sha1":"2286ce5d33713d3bce72a4285979054de4149cf9","sha256":"bb641e3f9e14a6ed7693ba932edf4888c7da5c75abf154faefe0238206514341","sha512":"c8fc9f8e17840db8b94202e98ee6a3e1ca996354f5678df80ecf1c3249880850a6871d02ad150c1b947ebc46a88169a94d3a8937a14a3ee8f00ae9ebb13acbc9","ssdeep":"1536:4vQSo/MFzYVM6bB9lhnquo43UEwgS2tAOQLAKFYgbpBWAEZf+ADhw9SAuX0O02:fd/2YZqu0EwgS2tAGK1OVDISTq2","tlshash":"f5d31b240868a876d4939447eeb9ff3e9cb8023907c995adbdbbd35c01dc6520eaf417","first_seen":"2026-07-27T03:34:40.955272Z","last_seen":"2026-07-27T03:34:40.955272Z","times_seen":1,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz0iZW4iIGRpcj0ibHRyIiBkYXRhLWNhc3QtYXBpLWVuYWJsZWQ9InRydWUiPjxoZWFkPjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+PHNjcmlwdCBub25jZT0iak1ubVNoVVhYZE9FTlNXVDl3eF81USI+aWYgKCd1bmRlZmluZWQnID09IHR5cGVvZiBTeW1ib2wgfHwgJ3VuZGVmaW5lZCcgPT0gdHlwZW9mIFN5bWJvbC5pdGVyYXRvcikge2RlbGV0ZSBBcnJheS5wcm90b3R5cGUuZW50cmllczt9PC9zY3JpcHQ+PHN0eWxlIG5hbWU9Ind3dy1yb2JvdG8iIG5vbmNlPSI2VHdPa1Q0RG1NQ3RnOG9JbEdHTjZRIj5AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNHVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswNDYwLTA1MkYsVSsxQzgwLTFDOEEsVSsyMEI0LFUrMkRFMC0yREZGLFUrQTY0MC1BNjlGLFUrRkUyRS1GRTJGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNpVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMzAxLFUrMDQwMC0wNDVGLFUrMDQ5MC0wNDkxLFUrMDRCMC0wNEIxLFUrMjExNjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzQ1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMUYwMC0xRkZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTMtVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMzcwLTAzNzcsVSswMzdBLTAzN0YsVSswMzg0LTAzOEEsVSswMzhDLFUrMDM4RS0wM0ExLFUrMDNBMy0wM0ZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYXdDVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMzAyLTAzMDMsVSswMzA1LFUrMDMwNy0wMzA4LFUrMDMxMCxVKzAzMTIsVSswMzE1LFUrMDMxQSxVKzAzMjYtMDMyNyxVKzAzMkMsVSswMzJGLTAzMzAsVSswMzMyLTAzMzMsVSswMzM4LFUrMDMzQSxVKzAzNDYsVSswMzRELFUrMDM5MS0wM0ExLFUrMDNBMy0wM0E5LFUrMDNCMS0wM0M5LFUrMDNEMSxVKzAzRDUtMDNENixVKzAzRjAtMDNGMSxVKzAzRjQtMDNGNSxVKzIwMTYtMjAxNyxVKzIwMzQtMjAzOCxVKzIwM0MsVSsyMDQwLFUrMjA0MyxVKzIwNDcsVSsyMDUwLFUrMjA1NyxVKzIwNUYsVSsyMDcwLTIwNzEsVSsyMDc0LTIwOEUsVSsyMDkwLTIwOUMsVSsyMEQwLTIwREMsVSsyMEUxLFUrMjBFNS0yMEVGLFUrMjEwMC0yMTEyLFUrMjExNC0yMTE1LFUrMjExNy0yMTIxLFUrMjEyMy0yMTRGLFUrMjE5MCxVKzIxOTIsVSsyMTk0LTIxQUUsVSsyMUIwLTIxRTUsVSsyMUYxLTIxRjIsVSsyMUY0LTIyMTEsVSsyMjEzLTIyMTQsVSsyMjE2LTIyRkYsVSsyMzA4LTIzMEIsVSsyMzEwLFUrMjMxOSxVKzIzMUMtMjMyMSxVKzIzMzYtMjM3QSxVKzIzN0MsVSsyMzk1LFUrMjM5Qi0yM0I3LFUrMjNEMCxVKzIzREMtMjNFMSxVKzI0NzQtMjQ3NSxVKzI1QUYsVSsyNUIzLFUrMjVCNyxVKzI1QkQsVSsyNUMxLFUrMjVDQSxVKzI1Q0MsVSsyNUZCLFUrMjY2RC0yNjZGLFUrMjdDMC0yN0ZGLFUrMjkwMC0yQUZGLFUrMkIwRS0yQjExLFUrMkIzMC0yQjRDLFUrMkJGRSxVKzMwMzAsVStGRjVCLFUrRkY1RCxVKzFENDAwLTFEN0ZGLFUrMUVFMDAtMUVFRkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1heEtVQkdFZS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAwMDEtMDAwQyxVKzAwMEUtMDAxRixVKzAwN0YtMDA5RixVKzIwREQtMjBFMCxVKzIwRTItMjBFNCxVKzIxNTAtMjE4RixVKzIxOTAsVSsyMTkyLFUrMjE5NC0yMTk5LFUrMjFBRixVKzIxRTYtMjFGMCxVKzIxRjMsVSsyMjE4LTIyMTksVSsyMjk5LFUrMjJDNC0yMkM2LFUrMjMwMC0yNDNGLFUrMjQ0MC0yNDRBLFUrMjQ2MC0yNEZGLFUrMjVBMC0yN0JGLFUrMjgwMC0yOEZGLFUrMjkyMS0yOTIyLFUrMjk4MSxVKzI5QkYsVSsyOUVCLFUrMkIwMC0yQkZGLFUrNERDMC00REZGLFUrRkZGOS1GRkZCLFUrMTAxNDAtMTAxOEUsVSsxMDE5MC0xMDE5QyxVKzEwMUEwLFUrMTAxRDAtMTAxRkQsVSsxMDJFMC0xMDJGQixVKzEwRTYwLTEwRTdFLFUrMUQyQzAtMUQyRDMsVSsxRDJFMC0xRDM3RixVKzFGMDAwLTFGMEZGLFUrMUYxMDAtMUYxQUQsVSsxRjFFNi0xRjFGRixVKzFGMzBELTFGMzBGLFUrMUYzMTUsVSsxRjMxQyxVKzFGMzFFLFUrMUYzMjAtMUYzMkMsVSsxRjMzNixVKzFGMzc4LFUrMUYzN0QsVSsxRjM4MixVKzFGMzkzLTFGMzlGLFUrMUYzQTctMUYzQTgsVSsxRjNBQy0xRjNBRixVKzFGM0MyLFUrMUYzQzQtMUYzQzYsVSsxRjNDQS0xRjNDRSxVKzFGM0Q0LTFGM0UwLFUrMUYzRUQsVSsxRjNGMS0xRjNGMyxVKzFGM0Y1LTFGM0Y3LFUrMUY0MDgsVSsxRjQxNSxVKzFGNDFGLFUrMUY0MjYsVSsxRjQzRixVKzFGNDQxLTFGNDQyLFUrMUY0NDQsVSsxRjQ0Ni0xRjQ0OSxVKzFGNDRDLTFGNDRFLFUrMUY0NTMsVSsxRjQ2QSxVKzFGNDdELFUrMUY0QTMsVSsxRjRCMCxVKzFGNEIzLFUrMUY0QjksVSsxRjRCQixVKzFGNEJGLFUrMUY0QzgtMUY0Q0IsVSsxRjRENixVKzFGNERBLFUrMUY0REYsVSsxRjRFMy0xRjRFNixVKzFGNEVBLTFGNEVELFUrMUY0RjcsVSsxRjRGOS0xRjRGQixVKzFGNEZELTFGNEZFLFUrMUY1MDMsVSsxRjUwNy0xRjUwQixVKzFGNTBELFUrMUY1MTItMUY1MTMsVSsxRjUzRS0xRjU0QSxVKzFGNTRGLTFGNUZBLFUrMUY2MTAsVSsxRjY1MC0xRjY3RixVKzFGNjg3LFUrMUY2OEQsVSsxRjY5MSxVKzFGNjk0LFUrMUY2OTgsVSsxRjZBRCxVKzFGNkIyLFUrMUY2QjktMUY2QkEsVSsxRjZCQyxVKzFGNkM2LTFGNkNGLFUrMUY2RDMtMUY2RDcsVSsxRjZFMC0xRjZFQSxVKzFGNkYwLTFGNkYzLFUrMUY2RjctMUY2RkMsVSsxRjcwMC0xRjdGRixVKzFGODAwLTFGODBCLFUrMUY4MTAtMUY4NDcsVSsxRjg1MC0xRjg1OSxVKzFGODYwLTFGODg3LFUrMUY4OTAtMUY4QUQsVSsxRjhCMC0xRjhCQixVKzFGOEMwLTFGOEMxLFUrMUY5MDAtMUY5MEIsVSsxRjkzQixVKzFGOTQ2LFUrMUY5ODQsVSsxRjk5NixVKzFGOUU5LFUrMUZBMDAtMUZBNkYsVSsxRkE3MC0xRkE3QyxVKzFGQTgwLTFGQTg5LFUrMUZBOEYtMUZBQzYsVSsxRkFDRS0xRkFEQyxVKzFGQURGLTFGQUU5LFUrMUZBRjAtMUZBRjgsVSsxRkIwMC0xRkJGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzT1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDEwMi0wMTAzLFUrMDExMC0wMTExLFUrMDEyOC0wMTI5LFUrMDE2OC0wMTY5LFUrMDFBMC0wMUExLFUrMDFBRi0wMUIwLFUrMDMwMC0wMzAxLFUrMDMwMy0wMzA0LFUrMDMwOC0wMzA5LFUrMDMyMyxVKzAzMjksVSsxRUEwLTFFRjksVSsyMEFCO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYTNLVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMTAwLTAyQkEsVSswMkJELTAyQzUsVSswMkM3LTAyQ0MsVSswMkNFLTAyRDcsVSswMkRELTAyRkYsVSswMzA0LFUrMDMwOCxVKzAzMjksVSsxRDAwLTFEQkYsVSsxRTAwLTFFOUYsVSsxRUYyLTFFRkYsVSsyMDIwLFUrMjBBMC0yMEFCLFUrMjBBRC0yMEMwLFUrMjExMyxVKzJDNjAtMkM3RixVK0E3MjAtQTdGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzeVVCQS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAwMDAtMDBGRixVKzAxMzEsVSswMTUyLTAxNTMsVSswMkJCLTAyQkMsVSswMkM2LFUrMDJEQSxVKzAyREMsVSswMzA0LFUrMDMwOCxVKzAzMjksVSsyMDAwLTIwNkYsVSsyMEFDLFUrMjEyMixVKzIxOTEsVSsyMTkzLFUrMjIxMixVKzIyMTUsVStGRUZGLFUrRkZGRDt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzR1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDQ2MC0wNTJGLFUrMUM4MC0xQzhBLFUrMjBCNCxVKzJERTAtMkRGRixVK0E2NDAtQTY5RixVK0ZFMkUtRkUyRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzaVVCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDMwMSxVKzA0MDAtMDQ1RixVKzA0OTAtMDQ5MSxVKzA0QjAtMDRCMSxVKzIxMTY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM0NVQkdFZS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzFGMDAtMUZGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzLVVCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDM3MC0wMzc3LFUrMDM3QS0wMzdGLFUrMDM4NC0wMzhBLFUrMDM4QyxVKzAzOEUtMDNBMSxVKzAzQTMtMDNGRjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWF3Q1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDMwMi0wMzAzLFUrMDMwNSxVKzAzMDctMDMwOCxVKzAzMTAsVSswMzEyLFUrMDMxNSxVKzAzMUEsVSswMzI2LTAzMjcsVSswMzJDLFUrMDMyRi0wMzMwLFUrMDMzMi0wMzMzLFUrMDMzOCxVKzAzM0EsVSswMzQ2LFUrMDM0RCxVKzAzOTEtMDNBMSxVKzAzQTMtMDNBOSxVKzAzQjEtMDNDOSxVKzAzRDEsVSswM0Q1LTAzRDYsVSswM0YwLTAzRjEsVSswM0Y0LTAzRjUsVSsyMDE2LTIwMTcsVSsyMDM0LTIwMzgsVSsyMDNDLFUrMjA0MCxVKzIwNDMsVSsyMDQ3LFUrMjA1MCxVKzIwNTcsVSsyMDVGLFUrMjA3MC0yMDcxLFUrMjA3NC0yMDhFLFUrMjA5MC0yMDlDLFUrMjBEMC0yMERDLFUrMjBFMSxVKzIwRTUtMjBFRixVKzIxMDAtMjExMixVKzIxMTQtMjExNSxVKzIxMTctMjEyMSxVKzIxMjMtMjE0RixVKzIxOTAsVSsyMTkyLFUrMjE5NC0yMUFFLFUrMjFCMC0yMUU1LFUrMjFGMS0yMUYyLFUrMjFGNC0yMjExLFUrMjIxMy0yMjE0LFUrMjIxNi0yMkZGLFUrMjMwOC0yMzBCLFUrMjMxMCxVKzIzMTksVSsyMzFDLTIzMjEsVSsyMzM2LTIzN0EsVSsyMzdDLFUrMjM5NSxVKzIzOUItMjNCNyxVKzIzRDAsVSsyM0RDLTIzRTEsVSsyNDc0LTI0NzUsVSsyNUFGLFUrMjVCMyxVKzI1QjcsVSsyNUJELFUrMjVDMSxVKzI1Q0EsVSsyNUNDLFUrMjVGQixVKzI2NkQtMjY2RixVKzI3QzAtMjdGRixVKzI5MDAtMkFGRixVKzJCMEUtMkIxMSxVKzJCMzAtMkI0QyxVKzJCRkUsVSszMDMwLFUrRkY1QixVK0ZGNUQsVSsxRDQwMC0xRDdGRixVKzFFRTAwLTFFRUZGO31AZm9udC1mYWNle2ZvbnQtZmFtaWx5OidSb2JvdG8nO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjUwMDtmb250LXN0cmV0Y2g6MTAwJTtzcmM6dXJsKC8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjQ4L0tGTzdDbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNYXhLVUJHRWUud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMDAxLTAwMEMsVSswMDBFLTAwMUYsVSswMDdGLTAwOUYsVSsyMERELTIwRTAsVSsyMEUyLTIwRTQsVSsyMTUwLTIxOEYsVSsyMTkwLFUrMjE5MixVKzIxOTQtMjE5OSxVKzIxQUYsVSsyMUU2LTIxRjAsVSsyMUYzLFUrMjIxOC0yMjE5LFUrMjI5OSxVKzIyQzQtMjJDNixVKzIzMDAtMjQzRixVKzI0NDAtMjQ0QSxVKzI0NjAtMjRGRixVKzI1QTAtMjdCRixVKzI4MDAtMjhGRixVKzI5MjEtMjkyMixVKzI5ODEsVSsyOUJGLFUrMjlFQixVKzJCMDAtMkJGRixVKzREQzAtNERGRixVK0ZGRjktRkZGQixVKzEwMTQwLTEwMThFLFUrMTAxOTAtMTAxOUMsVSsxMDFBMCxVKzEwMUQwLTEwMUZELFUrMTAyRTAtMTAyRkIsVSsxMEU2MC0xMEU3RSxVKzFEMkMwLTFEMkQzLFUrMUQyRTAtMUQzN0YsVSsxRjAwMC0xRjBGRixVKzFGMTAwLTFGMUFELFUrMUYxRTYtMUYxRkYsVSsxRjMwRC0xRjMwRixVKzFGMzE1LFUrMUYzMUMsVSsxRjMxRSxVKzFGMzIwLTFGMzJDLFUrMUYzMzYsVSsxRjM3OCxVKzFGMzdELFUrMUYzODIsVSsxRjM5My0xRjM5RixVKzFGM0E3LTFGM0E4LFUrMUYzQUMtMUYzQUYsVSsxRjNDMixVKzFGM0M0LTFGM0M2LFUrMUYzQ0EtMUYzQ0UsVSsxRjNENC0xRjNFMCxVKzFGM0VELFUrMUYzRjEtMUYzRjMsVSsxRjNGNS0xRjNGNyxVKzFGNDA4LFUrMUY0MTUsVSsxRjQxRixVKzFGNDI2LFUrMUY0M0YsVSsxRjQ0MS0xRjQ0MixVKzFGNDQ0LFUrMUY0NDYtMUY0NDksVSsxRjQ0Qy0xRjQ0RSxVKzFGNDUzLFUrMUY0NkEsVSsxRjQ3RCxVKzFGNEEzLFUrMUY0QjAsVSsxRjRCMyxVKzFGNEI5LFUrMUY0QkIsVSsxRjRCRixVKzFGNEM4LTFGNENCLFUrMUY0RDYsVSsxRjREQSxVKzFGNERGLFUrMUY0RTMtMUY0RTYsVSsxRjRFQS0xRjRFRCxVKzFGNEY3LFUrMUY0RjktMUY0RkIsVSsxRjRGRC0xRjRGRSxVKzFGNTAzLFUrMUY1MDctMUY1MEIsVSsxRjUwRCxVKzFGNTEyLTFGNTEzLFUrMUY1M0UtMUY1NEEsVSsxRjU0Ri0xRjVGQSxVKzFGNjEwLFUrMUY2NTAtMUY2N0YsVSsxRjY4NyxVKzFGNjhELFUrMUY2OTEsVSsxRjY5NCxVKzFGNjk4LFUrMUY2QUQsVSsxRjZCMixVKzFGNkI5LTFGNkJBLFUrMUY2QkMsVSsxRjZDNi0xRjZDRixVKzFGNkQzLTFGNkQ3LFUrMUY2RTAtMUY2RUEsVSsxRjZGMC0xRjZGMyxVKzFGNkY3LTFGNkZDLFUrMUY3MDAtMUY3RkYsVSsxRjgwMC0xRjgwQixVKzFGODEwLTFGODQ3LFUrMUY4NTAtMUY4NTksVSsxRjg2MC0xRjg4NyxVKzFGODkwLTFGOEFELFUrMUY4QjAtMUY4QkIsVSsxRjhDMC0xRjhDMSxVKzFGOTAwLTFGOTBCLFUrMUY5M0IsVSsxRjk0NixVKzFGOTg0LFUrMUY5OTYsVSsxRjlFOSxVKzFGQTAwLTFGQTZGLFUrMUZBNzAtMUZBN0MsVSsxRkE4MC0xRkE4OSxVKzFGQThGLTFGQUM2LFUrMUZBQ0UtMUZBREMsVSsxRkFERi0xRkFFOSxVKzFGQUYwLTFGQUY4LFUrMUZCMDAtMUZCRkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM09VQkdFZS53b2ZmMilmb3JtYXQoJ3dvZmYyJyk7dW5pY29kZS1yYW5nZTpVKzAxMDItMDEwMyxVKzAxMTAtMDExMSxVKzAxMjgtMDEyOSxVKzAxNjgtMDE2OSxVKzAxQTAtMDFBMSxVKzAxQUYtMDFCMCxVKzAzMDAtMDMwMSxVKzAzMDMtMDMwNCxVKzAzMDgtMDMwOSxVKzAzMjMsVSswMzI5LFUrMUVBMC0xRUY5LFUrMjBBQjt9QGZvbnQtZmFjZXtmb250LWZhbWlseTonUm9ib3RvJztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7Zm9udC1zdHJldGNoOjEwMCU7c3JjOnVybCgvL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y0OC9LRk83Q25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTWEzS1VCR0VlLndvZmYyKWZvcm1hdCgnd29mZjInKTt1bmljb2RlLXJhbmdlOlUrMDEwMC0wMkJBLFUrMDJCRC0wMkM1LFUrMDJDNy0wMkNDLFUrMDJDRS0wMkQ3LFUrMDJERC0wMkZGLFUrMDMwNCxVKzAzMDgsVSswMzI5LFUrMUQwMC0xREJGLFUrMUUwMC0xRTlGLFUrMUVGMi0xRUZGLFUrMjAyMCxVKzIwQTAtMjBBQixVKzIwQUQtMjBDMCxVKzIxMTMsVSsyQzYwLTJDN0YsVStBNzIwLUE3RkY7fUBmb250LWZhY2V7Zm9udC1mYW1pbHk6J1JvYm90byc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NTAwO2ZvbnQtc3RyZXRjaDoxMDAlO3NyYzp1cmwoLy9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NDgvS0ZPN0NucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1hM3lVQkEud29mZjIpZm9ybWF0KCd3b2ZmMicpO3VuaWNvZGUtcmFuZ2U6VSswMDAwLTAwRkYsVSswMTMxLFUrMDE1Mi0wMTUzLFUrMDJCQi0wMkJDLFUrMDJDNixVKzAyREEsVSswMkRDLFUrMDMwNCxVKzAzMDgsVSswMzI5LFUrMjAwMC0yMDZGLFUrMjBBQyxVKzIxMjIsVSsyMTkxLFUrMjE5MyxVKzIyMTIsVSsyMjE1LFUrRkVGRixVK0ZGRkQ7fTwvc3R5bGU+PHNjcmlwdCBuYW1lPSJ3d3ctcm9ib3RvIiBub25jZT0iak1ubVNoVVhYZE9FTlNXVDl3eF81USI+aWYgKGRvY3VtZW50LmZvbnRzICYmIGRvY3VtZW50LmZvbnRzLmxvYWQpIHtkb2N1bWVudC5mb250cy5sb2FkKCI0MDAgMTBwdCBSb2JvdG8iLCAiRSIpOyBkb2N1bWVudC5mb250cy5sb2FkKCI1MDAgMTBwdCBSb2JvdG8iLCAiRSIpO308L3NjcmlwdD48bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii9zL3BsYXllci83YTc5NjljMi93d3ctcGxheWVyLmNzcyIgbmFtZT0id3d3LXBsYXllciIgbm9uY2U9IjZUd09rVDREbU1DdGc4b0lsR0dONlEiPjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iL3MvXy95dGVtYmVkcy9fL3NzL2s9eXRlbWJlZHMuYmFzZS5OeG5pdXVaRVRady5MLkY0Lk8vYW09QUFBQWdBL2Q9MS9icj0xL3JzPUFHS015d0d4NHR4aEZKaGNydXRLWXNmUG1TNG1GYzZvSlEvbT1yb290LGJhc2UiIG5hbWU9ImVtYmVkLXVpIiBub25jZT0iNlR3T2tUNERtTUN0ZzhvSWxHR042USI+PHN0eWxlIG5vbmNlPSI2VHdPa1Q0RG1NQ3RnOG9JbEdHTjZRIj5odG1sIHtvdmVyZmxvdzogaGlkZGVuO31ib2R5IHtmb250OiAxMnB4IFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7IGJhY2tncm91bmQtY29sb3I6ICMwMDA7IGNvbG9yOiAjZmZmOyBoZWlnaHQ6IDEwMCU7IHdpZHRoOiAxMDAlOyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogYWJzb2x1dGU7IG1hcmdpbjogMDsgcGFkZGluZzogMDt9I3BsYXllciB7d2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTt9aDEge3RleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6ICNmZmY7fWgzIHttYXJnaW4tdG9wOiA2cHg7IG1hcmdpbi1ib3R0b206IDNweDt9LnBsYXllci11bmF2YWlsYWJsZSB7cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOyBib3R0b206IDA7IHBhZGRpbmc6IDI1cHg7IGZvbnQtc2l6ZTogMTNweDsgYmFja2dyb3VuZDogdXJsKC9pbWcvbWVoNy5wbmcpIDUwJSA2NSUgbm8tcmVwZWF0O30ucGxheWVyLXVuYXZhaWxhYmxlIC5tZXNzYWdlIHt0ZXh0LWFsaWduOiBsZWZ0OyBtYXJnaW46IDAgLTVweCAxNXB4OyBwYWRkaW5nOiAwIDVweCAxNHB4OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzg4ODsgZm9udC1zaXplOiAxOXB4OyBmb250LXdlaWdodDogbm9ybWFsO30ucGxheWVyLXVuYXZhaWxhYmxlIGEge2NvbG9yOiAjMTY3YWM2OyB0ZXh0LWRlY29yYXRpb246IG5vbmU7fTwvc3R5bGU+PHNjcmlwdCBub25jZT0iak1ubVNoVVhYZE9FTlNXVDl3eF81USI+dmFyIHl0Y3NpPXtndDpmdW5jdGlvbihuKXtuPShufHwiIikrImRhdGFfIjtyZXR1cm4geXRjc2lbbl18fCh5dGNzaVtuXT17dGljazp7fSxpbmZvOnt9LGdlbDp7cHJlTG9nZ2VkR2VsSW5mb3M6W119fSl9LG5vdzp3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcmJndpbmRvdy5wZXJmb3JtYW5jZS5ub3cmJndpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0P2Z1bmN0aW9uKCl7cmV0dXJuIHdpbmRvdy5wZXJmb3JtYW5jZS50aW1pbmcubmF2aWdhdGlvblN0YXJ0K3dpbmRvdy5wZXJmb3JtYW5jZS5ub3coKX06ZnVuY3Rpb24oKXtyZXR1cm4obmV3IERhdGUpLmdldFRpbWUoKX0sdGljazpmdW5jdGlvbihsLHQsbil7dmFyIHRpY2tzPXl0Y3NpLmd0KG4pLnRpY2s7dmFyIHY9dHx8eXRjc2kubm93KCk7aWYodGlja3NbbF0pe3RpY2tzWyJfIitsXT10aWNrc1siXyIrbF18fFt0aWNrc1tsXV07dGlja3NbIl8iK2xdLnB1c2godil9dGlja3NbbF09CnZ9LGluZm86ZnVuY3Rpb24oayx2LG4pe3l0Y3NpLmd0KG4pLmluZm9ba109dn0saW5mb0dlbDpmdW5jdGlvbihwLG4pe3l0Y3NpLmd0KG4pLmdlbC5wcmVMb2dnZWRHZWxJbmZvcy5wdXNoKHApfSxzZXRTdGFydDpmdW5jdGlvbih0LG4pe3l0Y3NpLnRpY2soIl9zdGFydCIsdCxuKX19OwooZnVuY3Rpb24odyxkKXtmdW5jdGlvbiBpc0dlY2tvKCl7aWYoIXcubmF2aWdhdG9yKXJldHVybiBmYWxzZTt0cnl7aWYody5uYXZpZ2F0b3IudXNlckFnZW50RGF0YSYmdy5uYXZpZ2F0b3IudXNlckFnZW50RGF0YS5icmFuZHMmJncubmF2aWdhdG9yLnVzZXJBZ2VudERhdGEuYnJhbmRzLmxlbmd0aCl7dmFyIGJyYW5kcz13Lm5hdmlnYXRvci51c2VyQWdlbnREYXRhLmJyYW5kczt2YXIgaT0wO2Zvcig7aTxicmFuZHMubGVuZ3RoO2krKylpZihicmFuZHNbaV0mJmJyYW5kc1tpXS5icmFuZD09PSJGaXJlZm94IilyZXR1cm4gdHJ1ZTtyZXR1cm4gZmFsc2V9fWNhdGNoKGUpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyBlO30pfWlmKCF3Lm5hdmlnYXRvci51c2VyQWdlbnQpcmV0dXJuIGZhbHNlO3ZhciB1YT13Lm5hdmlnYXRvci51c2VyQWdlbnQ7cmV0dXJuIHVhLmluZGV4T2YoIkdlY2tvIik+MCYmdWEudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ3ZWJraXQiKTwwJiZ1YS5pbmRleE9mKCJFZGdlIik8CjAmJnVhLmluZGV4T2YoIlRyaWRlbnQiKTwwJiZ1YS5pbmRleE9mKCJNU0lFIik8MH15dGNzaS5zZXRTdGFydCh3LnBlcmZvcm1hbmNlP3cucGVyZm9ybWFuY2UudGltaW5nLnJlc3BvbnNlU3RhcnQ6bnVsbCk7dmFyIGlzUHJlcmVuZGVyPShkLnZpc2liaWxpdHlTdGF0ZXx8ZC53ZWJraXRWaXNpYmlsaXR5U3RhdGUpPT0icHJlcmVuZGVyIjt2YXIgdk5hbWU9IWQudmlzaWJpbGl0eVN0YXRlJiZkLndlYmtpdFZpc2liaWxpdHlTdGF0ZT8id2Via2l0dmlzaWJpbGl0eWNoYW5nZSI6InZpc2liaWxpdHljaGFuZ2UiO2lmKGlzUHJlcmVuZGVyKXt2YXIgc3RhcnRUaWNrPWZ1bmN0aW9uKCl7eXRjc2kuc2V0U3RhcnQoKTtkLnJlbW92ZUV2ZW50TGlzdGVuZXIodk5hbWUsc3RhcnRUaWNrKX07ZC5hZGRFdmVudExpc3RlbmVyKHZOYW1lLHN0YXJ0VGljayxmYWxzZSl9aWYoZC5hZGRFdmVudExpc3RlbmVyKWQuYWRkRXZlbnRMaXN0ZW5lcih2TmFtZSxmdW5jdGlvbigpe3l0Y3NpLnRpY2soInZjIil9LApmYWxzZSk7aWYoaXNHZWNrbygpKXt2YXIgaXNIaWRkZW49KGQudmlzaWJpbGl0eVN0YXRlfHxkLndlYmtpdFZpc2liaWxpdHlTdGF0ZSk9PSJoaWRkZW4iO2lmKGlzSGlkZGVuKXl0Y3NpLnRpY2soInZjIil9dmFyIHNsdD1mdW5jdGlvbihlbCx0KXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIG49eXRjc2kubm93KCk7ZWwubG9hZFRpbWU9bjtpZihlbC5zbHQpZWwuc2x0KCl9LHQpfTt3Ll9feXRSSUw9ZnVuY3Rpb24oZWwpe2lmKCFlbC5nZXRBdHRyaWJ1dGUoImRhdGEtdGh1bWIiKSlpZih3LnJlcXVlc3RBbmltYXRpb25GcmFtZSl3LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpe3NsdChlbCwwKX0pO2Vsc2Ugc2x0KGVsLDE2KX19KSh3aW5kb3csZG9jdW1lbnQpOwo8L3NjcmlwdD48c2NyaXB0IG5vbmNlPSJqTW5tU2hVWFhkT0VOU1dUOXd4XzVRIj52YXIgeXRjZmc9e2Q6ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93Lnl0JiZ5dC5jb25maWdffHx5dGNmZy5kYXRhX3x8KHl0Y2ZnLmRhdGFfPXt9KX0sZ2V0OmZ1bmN0aW9uKGssbyl7cmV0dXJuIGsgaW4geXRjZmcuZCgpP3l0Y2ZnLmQoKVtrXTpvfSxzZXQ6ZnVuY3Rpb24oKXt2YXIgYT1hcmd1bWVudHM7aWYoYS5sZW5ndGg+MSl5dGNmZy5kKClbYVswXV09YVsxXTtlbHNle3ZhciBrO2ZvcihrIGluIGFbMF0peXRjZmcuZCgpW2tdPWFbMF1ba119fX07Cnl0Y2ZnLnNldCh7IkNMSUVOVF9DQU5BUllfU1RBVEUiOiJub25lIiwiREVWSUNFIjoiY2JyXHUwMDNkRmlyZWZveFx1MDAyNmNicnZlclx1MDAzZDEzNC4wXHUwMDI2Y2VuZ1x1MDAzZEdlY2tvXHUwMDI2Y2VuZ3Zlclx1MDAzZDEzNC4wXHUwMDI2Y29zXHUwMDNkV2luZG93c1x1MDAyNmNvc3Zlclx1MDAzZDEwLjBcdTAwMjZjcGxhdGZvcm1cdTAwM2RERVNLVE9QIiwiRVZFTlRfSUQiOiJuOUZtYXN2c09iaUo4UE1QMXFXeDJRNCIsIkVYUEVSSU1FTlRfRkxBR1MiOnsiYWJfZGV0X2FwbSI6dHJ1ZSwiYWJfZGV0X2VsX2giOnRydWUsImFiX2ZrX3NrX2NsIjp0cnVlLCJhY3Rpb25fY29tcGFuaW9uX2NlbnRlcl9hbGlnbl9kZXNjcmlwdGlvbiI6dHJ1ZSwiYWxsb3dfc2tpcF9uZXR3b3JrbGVzcyI6dHJ1ZSwiYWx3YXlzX3NlbmRfYW5kX3dyaXRlIjp0cnVlLCJhdHRfd2ViX3JlY29yZF9tZXRyaWNzIjp0cnVlLCJhdHRtdXNpIjp0cnVlLCJjM19lbmFibGVfYnV0dG9uX2ltcHJlc3Npb25fbG9nZ2luZyI6dHJ1ZSwiYzNfd2F0Y2hfcGFnZV9jb21wb25lbnQiOnRydWUsImNhbmNlbF9wZW5kaW5nX25hdnMiOnRydWUsImNsaWVudF91aV9lbmFibGVfbXVsdGlfdHJhY2tfYXVkaW9fb25fd2ViX2VtYmVkZGVkX3BsYXllciI6dHJ1ZSwiY29uZmlnX2FnZV9yZXBvcnRfa2lsbHN3aXRjaCI6dHJ1ZSwiY293X29wdGltaXplX2lkb21fY29tcGF0Ijp0cnVlLCJjc2lfb25fZ2VsIjp0cnVlLCJkZWR1cHBpbmdfc2VydmVyX3ZlIjp0cnVlLCJkZWxoaV9td2ViX2NvbG9yZnVsX3NkIjp0cnVlLCJkZWxoaV9td2ViX2NvbG9yZnVsX3NkX3YyIjp0cnVlLCJkZXByZWNhdGVfcGFpcl9zZXJ2bGV0X2VuYWJsZWQiOnRydWUsImRlc2t0b3Bfc3BhcmtsZXNfbGlnaHRfY3RhX2J1dHRvbiI6dHJ1ZSwiZGlzYWJsZV9jaGlsZF9ub2RlX2F1dG9fZm9ybWF0dGVkX3N0cmluZ3MiOnRydWUsImRpc2FibGVfbG9nX3RvX3Zpc2l0b3JfbGF5ZXIiOnRydWUsImRpc2FibGVfbWluaV9hcHBfY29udGFpbmVyX3dlYl92aWV3X2luc2V0cyI6dHJ1ZSwiZGlzYWJsZV9wYWNmX2xvZ2dpbmdfZm9yX21lbW9yeV9saW1pdGVkX3R2Ijp0cnVlLCJlbWJlZHNfZGVza3RvZmZfbm9ubW9iaWxlX2VsaWdpYmxlIjp0cnVlLCJlbWJlZHNfZGVza3RvZmZfbm9ubW9iaWxlX2VuYWJsZWQiOnRydWUsImVtYmVkc19kZXNrdG9mZl9zYXZlX3VzZXJfdm9sdW1lIjp0cnVlLCJlbWJlZHNfZGVza3RvcF9lbmFibGVfdm9sdW1lX3NsaWRlciI6dHJ1ZSwiZW1iZWRzX2VuYWJsZV9jaGFubmVsX3N1YnNjcmliZV9kZXByZWNhdGlvbiI6dHJ1ZSwiZW1iZWRzX2VuYWJsZV9kZWxheV9jb250cm9sc19oaWRlIjp0cnVlLCJlbWJlZHNfZW5hYmxlX2VpZF9lbmZvcmNlbWVudF9mb3JfeW91dHViZSI6dHJ1ZSwiZW1iZWRzX2VuYWJsZV9lbWMzZHNfcGZwIjp0cnVlLCJlbWJlZHNfbXV0ZWRfYXV0b3BsYXlfc291bmRfZml4Ijp0cnVlLCJlbWJlZHNfc2VydmVfZXM2X2NsaWVudCI6dHJ1ZSwiZW1iZWRzX3dlYl91cGRhdGVkX3Nob3J0c19kZWZpbml0aW9uX2ZpeCI6dHJ1ZSwiZW5hYmxlX2ExMXlfZm9jdXNfZml4X2Zvcl9tYWNfcGFuZWxfb25fZGVza3RvcCI6dHJ1ZSwiZW5hYmxlX2FjY2Vzc19jb2RlX3NlcnZpY2VfcnBjIjp0cnVlLCJlbmFibGVfYWN0aXZlX3ZpZXdfZGlzcGxheV9hZF9yZW5kZXJlcl93ZWJfaG9tZSI6dHJ1ZSwiZW5hYmxlX2FpX3NlYXJjaF9pbm5lcnR1YmVfbTBfZml4ZXMiOnRydWUsImVuYWJsZV9hbmRyb2lkX3dlYl92aWV3X3RvcF9pbnNldHNfYnVnZml4Ijp0cnVlLCJlbmFibGVfYXR0ZW50aW9uX2xvZ2dpbmdfbWVhc3VyZV9vbl9zaG93biI6dHJ1ZSwiZW5hYmxlX2F1X3UxNl92ZXJpZnlfYWdlX3BhZ2UiOnRydWUsImVuYWJsZV9hdXRvbW90aXZlX2Zvcm1fZmFjdG9yX2NoZWNrIjp0cnVlLCJlbmFibGVfY2xpZW50X3NsaV9sb2dnaW5nIjp0cnVlLCJlbmFibGVfY2xpZW50X3N0cmVhbXpfd2ViIjp0cnVlLCJlbmFibGVfY2xpZW50X3ZlX3NwZWMiOnRydWUsImVuYWJsZV9jbG91ZF9zYXZlX2Vycm9yX3BvcHVwX2FmdGVyX3JldHJ5Ijp0cnVlLCJlbmFibGVfY3VzdG9tX3NjcnViYmVyX3YyIjp0cnVlLCJlbmFibGVfZGFpX3NkZl9oNV9wcmVyb2xsIjp0cnVlLCJlbmFibGVfZGF0YXN5bmNfaWRfaGVhZGVyX2luX3dlYl92c3NfcGluZ3MiOnRydWUsImVuYWJsZV9kZWZhdWx0X21vbm9fY3RhX21pZ3JhdGlvbl93ZWJfY2xpZW50Ijp0cnVlLCJlbmFibGVfZG9ja2VkX2NoYXRfbWVzc2FnZXMiOnRydWUsImVuYWJsZV9kcm9wX3NoYWRvd19leHBlcmltZW50Ijp0cnVlLCJlbmFibGVfZW1iZWRzX25ld19jYXB0aW9uX2xhbmd1YWdlX3BpY2tlciI6dHJ1ZSwiZW5hYmxlX2VuZGVtaWNfaGlnaF9jY3Zfc21lYXJpbmdfaDUiOnRydWUsImVuYWJsZV9lbnRpdHlfc3RvcmVfZnJvbV9kZXBlbmRlbmN5X2luamVjdGlvbiI6dHJ1ZSwiZW5hYmxlX2lubGluZV9tdXRlZF9wbGF5YmFja19vbl93ZWJfc2VhcmNoIjp0cnVlLCJlbmFibGVfaW5saW5lX211dGVkX3BsYXliYWNrX29uX3dlYl9zZWFyY2hfZm9yX3ZkYyI6dHJ1ZSwiZW5hYmxlX2lubGluZV9tdXRlZF9wbGF5YmFja19vbl93ZWJfc2VhcmNoX2Zvcl92ZGNiIjp0cnVlLCJlbmFibGVfaXNfZXh0ZW5kZWRfbW9uaXRvcmluZyI6dHJ1ZSwiZW5hYmxlX2xvZ2dpbmdfZmlyc3RfdXNlcl9hY3Rpb25fYWZ0ZXJfZ2FtZV9yZWFkeSI6dHJ1ZSwiZW5hYmxlX2x0Y19wYXJhbV9mZXRjaF9mcm9tX2lubmVydHViZSI6dHJ1ZSwiZW5hYmxlX20wX2xvZ2dpbmdfZml4ZXMiOnRydWUsImVuYWJsZV9tZW51X3JlbmRlcmVyX2J1dHRvbl9pbl9td2ViX2hjbHIiOnRydWUsImVuYWJsZV9taW5pX2FwcF9jb21tYW5kX2hhbmRsZXJfbXdlYl9maXgiOnRydWUsImVuYWJsZV9taW5pX2d1aWRlX2Rvd25sb2Fkc19pdGVtIjp0cnVlLCJlbmFibGVfbWl4ZWRfZGlyZWN0aW9uX2Zvcm1hdHRlZF9zdHJpbmdzIjp0cnVlLCJlbmFibGVfbXdlYl9hdWRpb190cmFja19waWNrZXIiOnRydWUsImVuYWJsZV9td2ViX2tleWJvYXJkX3Nob3J0Y3V0cyI6dHJ1ZSwiZW5hYmxlX25hbWVzX2hhbmRsZXNfYWNjb3VudF9zd2l0Y2hlciI6dHJ1ZSwiZW5hYmxlX25hdGl2ZV9icmlkZ2Vfdmlld19zYXZlZF9wbGF5YWJsZXMiOnRydWUsImVuYWJsZV9uZXR3b3JrX3JlcXVlc3RfbG9nZ2luZ19vbl9nYW1lX2V2ZW50cyI6dHJ1ZSwiZW5hYmxlX25ld19wYWlkX3Byb2R1Y3RfcGxhY2VtZW50Ijp0cnVlLCJlbmFibGVfb3Blbl9pbl9uZXdfdGFiX2ljb25fZm9yX3Nob3J0X2RyX2Zvcl9kZXNrdG9wX3NlYXJjaCI6dHJ1ZSwiZW5hYmxlX29wZW5feXRfY29udGVudCI6dHJ1ZSwiZW5hYmxlX29yaWdpbl9xdWVyeV9wYXJhbWV0ZXJfYnVnZml4Ijp0cnVlLCJlbmFibGVfcGF1c2VfYWRzX29uX3l0dl9odG1sNSI6dHJ1ZSwiZW5hYmxlX3BheW1lbnRzX3B1cmNoYXNlX21hbmFnZXIiOnRydWUsImVuYWJsZV9wZHBfaWNvbl9wcmVmZXRjaCI6dHJ1ZSwiZW5hYmxlX3BsYWNlX3Bpdm90X3VybCI6dHJ1ZSwiZW5hYmxlX3BsYXlhYmxlX2NvbnRhaW5lcl9zYXZlX2J1dHRvbiI6dHJ1ZSwiZW5hYmxlX3BsYXlhYmxlX2VudGl0eV9zYXZlX21lbnVfaXRlbSI6dHJ1ZSwiZW5hYmxlX3B0Y19ob21lX2xvY2F0aW9uX29uX3dlYiI6dHJ1ZSwiZW5hYmxlX3B2X3NjcmVlbl9tb2Rlcm5fdGV4dCI6dHJ1ZSwiZW5hYmxlX3J0YV9tYW5hZ2VyIjp0cnVlLCJlbmFibGVfc2NyZWVuX21hbmFnZXJfbGF5ZXJfc2VwYXJhdGlvbiI6dHJ1ZSwiZW5hYmxlX3NkZl9jb21wYW5pb25faDUiOnRydWUsImVuYWJsZV9zZGZfZGFpX2g1X21pZHJvbGwiOnRydWUsImVuYWJsZV9zZGZfaDVfZW5kZW1pY19taWRfcG9zdF9yb2xsIjp0cnVlLCJlbmFibGVfc2RmX29uX2g1X3VucGx1Z2dlZF92b2RfbWlkcm9sbCI6dHJ1ZSwiZW5hYmxlX3NkZl9zaG9ydHNfcGxheWVyX2J5dGVzX2g1Ijp0cnVlLCJlbmFibGVfc2VuZGluZ191bndyYXBwZWRfZ2FtZV9hdWRpb19hc19zZXJpYWxpemVkX21ldGFkYXRhIjp0cnVlLCJlbmFibGVfc2V0X3ZpZGVvX2lkX2luX3Nob3J0c19sb2NrdXBfdmlld19tb2RlbCI6dHJ1ZSwiZW5hYmxlX3Nmdl9lZmZlY3RfcGl2b3RfdXJsIjp0cnVlLCJlbmFibGVfc2hvcnRzX25ld19jYXJvdXNlbCI6dHJ1ZSwiZW5hYmxlX3NraXBfYWRfZ3VpZGFuY2VfcHJvbXB0Ijp0cnVlLCJlbmFibGVfc2tpcHBhYmxlX2Fkc19mb3JfdW5wbHVnZ2VkX2FkX3BvZCI6dHJ1ZSwiZW5hYmxlX3NtZWFyaW5nX2V4cGFuc2lvbl9kYWkiOnRydWUsImVuYWJsZV9zdXBleF9td2ViX2RlbW9fd2ViZmUiOnRydWUsImVuYWJsZV90aW1lX291dF9tZXNzYWdlcyI6dHJ1ZSwiZW5hYmxlX3RpbWVsaW5lX3ZpZXdfbW9kZXJuX3RyYW5zY3JpcHRfZmUiOnRydWUsImVuYWJsZV92aWRlb19kaXNwbGF5X2NvbXBhY3RfYnV0dG9uX2dyb3VwX2Zvcl9kZXNrdG9wX3NlYXJjaCI6dHJ1ZSwiZW5hYmxlX3dlYl9kZWxoaV9pY29ucyI6dHJ1ZSwiZW5hYmxlX3dlYl9ob21lX3RvcF9sYW5kc2NhcGVfaW1hZ2VfbGF5b3V0X2xldmVsX2NsaWNrIjp0cnVlLCJlbmFibGVfd2ViX3Nob3J0c19hdWRpb190cmFjayI6dHJ1ZSwiZW5hYmxlX3dlYl90aWVyZWRfZ2VsIjp0cnVlLCJlbmFibGVfd2luZG93X2NvbnN0cmFpbmVkX2J1eV9mbG93X2RpYWxvZyI6dHJ1ZSwiZW5hYmxlX3dpel9xdWV1ZV9lZmZlY3RfYW5kX29uX2luaXRfaW5pdGlhbF9ydW5zIjp0cnVlLCJlbmFibGVfeXBjX3NwaW5uZXJzIjp0cnVlLCJlbmFibGVfeXRfYXRhX2lmcmFtZV9hdXRodXNlciI6dHJ1ZSwiZXhwb3J0X25ldHdvcmtsZXNzX29wdGlvbnMiOnRydWUsImV4cG9ydF9wbGF5ZXJfdmVyc2lvbl90b195dGNvbmZpZyI6dHJ1ZSwiZmlsbF9zaW5nbGVfdmlkZW9fd2l0aF9ub3RpZnlfdG9fbGFzciI6dHJ1ZSwiZml4X2Fkc190cmFja2luZ19mb3Jfc3dmX2NvbmZpZ19kZXByZWNhdGlvbl9td2ViIjp0cnVlLCJoNV9jb21wYW5pb25fZW5hYmxlX2FkY3BuX21hY3JvX3N1YnN0aXR1dGlvbl9mb3JfY2xpY2tfcGluZ3MiOnRydWUsImg1X2lucGxheWVyX2VuYWJsZV9hZGNwbl9tYWNyb19zdWJzdGl0dXRpb25fZm9yX2NsaWNrX3BpbmdzIjp0cnVlLCJoNV9yZXNldF9jYWNoZV9hbmRfZmlsdGVyX2JlZm9yZV91cGRhdGVfbWFzdGhlYWQiOnRydWUsImhpZGVfY2hhbm5lbF9jcmVhdGlvbl90aXRsZV9mb3JfbXdlYiI6dHJ1ZSwiaGlnaF9jY3ZfY2xpZW50X3NpZGVfY2FjaGluZ19oNSI6dHJ1ZSwiaHRtbDVfbG9nX3RyaWdnZXJfZXZlbnRzX3dpdGhfZGVidWdfZGF0YSI6dHJ1ZSwiaHRtbDVfc3NkYWlfZW5hYmxlX21lZGlhX2VuZF9jdWVfcmFuZ2UiOnRydWUsImlkYl9pbW1lZGlhdGVfY29tbWl0Ijp0cnVlLCJpbF9hdHRhY2hfY2FjaGVfbGltaXQiOnRydWUsImlsX3VzZV92aWV3X21vZGVsX2xvZ2dpbmdfY29udGV4dCI6dHJ1ZSwiaXNfYnJvd3Nlcl9zdXBwb3J0X2Zvcl93ZWJjYW1fc3RyZWFtaW5nIjp0cnVlLCJqc29uX2NvbmRlbnNlZF9yZXNwb25zZSI6dHJ1ZSwia2V2bGFyX2ZpbHRlcl91bmtub3duX3NvdXJjZSI6dHJ1ZSwia2V2bGFyX2dlbF9lcnJvcl9yb3V0aW5nIjp0cnVlLCJrZXZsYXJfdHJpbV9wbGF5ZXJfYmVoYXZpb3IiOnRydWUsImtldmxhcl93YXRjaF9jaW5lbWF0aWNzIjp0cnVlLCJsaW1pdF95dGNzaV9kZWJ1Z19hcnJheV9zaXplIjp0cnVlLCJsaXZlX2NoYXRfZW5hYmxlX3J0YV9tYW5hZ2VyIjp0cnVlLCJsb2dfY2xpY2tfd2l0aF9sYXllcl9mcm9tX2VsZW1lbnRfaW5fY29tbWFuZF9oYW5kbGVyIjp0cnVlLCJtYXdfZW5hYmxlX25ldHdvcmtfbWFjaGluZSI6dHJ1ZSwibWR4X2VuYWJsZV9wcml2YWN5X2Rpc2Nsb3N1cmVfdWkiOnRydWUsIm1keF9sb2FkX2Nhc3RfYXBpX2Jvb3RzdHJhcF9zY3JpcHQiOnRydWUsIm1lZGl1bV9wcm9ncmVzc19iYXJfbW9kaWZpY2F0aW9uIjp0cnVlLCJtb2JpbGVfYWNjb3VudF9tZW51X3JlZnJlc2giOnRydWUsIm13ZWJfYWNjb3VudF9saW5raW5nX25vYXBwIjp0cnVlLCJtd2ViX2FsbG93X21vZGVybl9zZWFyY2hfc3VnZ2VzdF9iZWhhdmlvciI6dHJ1ZSwibXdlYl9hbmltYXRlZF9hY3Rpb25zIjp0cnVlLCJtd2ViX2FwcF91cHNlbGxfYnV0dG9uX2RpcmVjdF90b19hcHAiOnRydWUsIm13ZWJfYmFkZ2Vfc2hhcGVfZGVmcmFnIjp0cnVlLCJtd2ViX2MzX2FwcF9wcm9tb19lbmFibGVfcmVmZXJyaW5nX2FwcCI6dHJ1ZSwibXdlYl9jM19lbmFibGVfYWRhcHRpdmVfc2lnbmFscyI6dHJ1ZSwibXdlYl9jM19saWJyYXJ5X3BhZ2VfZW5hYmxlX3JlY2VudF9zaGVsZiI6dHJ1ZSwibXdlYl9jM19tZW51X3NpZ25hbHNfcmVuZGVyIjp0cnVlLCJtd2ViX2MzX3JlbW92ZV93ZWJfbmF2aWdhdGlvbl9lbmRwb2ludF9kYXRhIjp0cnVlLCJtd2ViX2MzX3RvYXN0X3VzZV93aXpfcmVhY3RpdmVfcmVuZGVyIjp0cnVlLCJtd2ViX2MzX3VzZV9jYW5vbmljYWxfZnJvbV9wbGF5ZXJfcmVzcG9uc2UiOnRydWUsIm13ZWJfY2FydmVfb3V0X2lvc19hcHBfc3RvcmVfcmVkaXJlY3QiOnRydWUsIm13ZWJfY2FydmVfb3V0X3Rlcm1zX3BhZ2VzIjp0cnVlLCJtd2ViX2NpbmVtYXRpY193YXRjaCI6dHJ1ZSwibXdlYl9jb21tYW5kX2hhbmRsZXIiOnRydWUsIm13ZWJfZGVidWdfc3RpY2t5X3NldHRpbmdzIjp0cnVlLCJtd2ViX2RlbGF5X3dhdGNoX2luaXRpYWxfZGF0YSI6dHJ1ZSwibXdlYl9kaXNhYmxlX3NlYXJjaGJhcl9zY3JvbGwiOnRydWUsIm13ZWJfZW5hYmxlX2NsaWNrX3RvX3BsYXlfcGF1c2UiOnRydWUsIm13ZWJfZW5hYmxlX2NvbG9yZnVsX2FpX3N1bW1hcnkiOnRydWUsIm13ZWJfZW5hYmxlX2R5bmFtaWNfZG91YmxlX3RhcF90b19saWtlIjp0cnVlLCJtd2ViX2VuYWJsZV9maW5lX3NjcnViYmluZ19mb3JfcmVjcyI6dHJ1ZSwibXdlYl9lbmFibGVfa2V0b19iYXRjaF9wbGF5ZXJfZnVsbHNjcmVlbiI6dHJ1ZSwibXdlYl9lbmFibGVfa2V0b19iYXRjaF9wbGF5ZXJfcHJvZ3Jlc3NfYmFyIjp0cnVlLCJtd2ViX2VuYWJsZV9rZXRvX2JhdGNoX3BsYXllcl90b29sdGlwcyI6dHJ1ZSwibXdlYl9lbmFibGVfa2V0b19jb250ZW50Ijp0cnVlLCJtd2ViX2VuYWJsZV9sb2NrdXBfdmlld19tb2RlbF9mb3JfdWNwIjp0cnVlLCJtd2ViX2VuYWJsZV9taXhfcGFuZWxfdGl0bGVfbWV0YWRhdGEiOnRydWUsIm13ZWJfZW5hYmxlX21vcmVfY2h1bmtzIjp0cnVlLCJtd2ViX2VuYWJsZV9tb3JlX2RyYXdlciI6dHJ1ZSwibXdlYl9lbmFibGVfb3B0aW9uYWxfZnVsbHNjcmVlbl9sYW5kc2NhcGVfbG9ja2luZyI6dHJ1ZSwibXdlYl9lbmFibGVfb3ZlcmxheV90b3VjaF9tYW5hZ2VyIjp0cnVlLCJtd2ViX2VuYWJsZV9wb3J0cmFpdF9mdWxsc2NyZWVuX2FjdGlvbnMiOnRydWUsIm13ZWJfZW5hYmxlX3ByZW1pdW1fY2FydmVfb3V0X2ZpeCI6dHJ1ZSwibXdlYl9lbmFibGVfcmVmcmVzaF9kZXRlY3Rpb24iOnRydWUsIm13ZWJfZW5hYmxlX3NlYXJjaF9pbXAiOnRydWUsIm13ZWJfZW5hYmxlX3Nob3J0c192aWRlb19wcmVsb2FkIjp0cnVlLCJtd2ViX2VuYWJsZV90d29fbGluZV90aXRsZV9vbl9zaG9ydHMiOnRydWUsIm13ZWJfZW5hYmxlX3ZhcmlzcGVlZF9jb250cm9sbGVyIjp0cnVlLCJtd2ViX2VuYWJsZV92aWRlb19sb29wX3RvZ2dsZSI6dHJ1ZSwibXdlYl9lbmFibGVfd2F0Y2hfZmVlZF9pbmZpbml0ZV9zY3JvbGwiOnRydWUsIm13ZWJfZml4X2NvbGRfbG9hZF9yZXNwb25zZV9hY3Rpb25zIjp0cnVlLCJtd2ViX2ZpeF9tb25pdG9yX3Zpc2liaWxpdHlfYWZ0ZXJfcmVuZGVyIjp0cnVlLCJtd2ViX2ZvcmNlX2lvc19mYWxsYmFja190b19uYXRpdmVfY29udHJvbCI6dHJ1ZSwibXdlYl9mcF9hdXRvX2Z1bGxzY3JlZW4iOnRydWUsIm13ZWJfZnBfZW5hYmxlX3Nob3J0c19zd2lwZV9sb2dnaW5nIjp0cnVlLCJtd2ViX2Z1bGxzY3JlZW5fY29udHJvbHMiOnRydWUsIm13ZWJfZnVsbHNjcmVlbl9jb250cm9sc19hY3Rpb25fYnV0dG9ucyI6dHJ1ZSwibXdlYl9mdWxsc2NyZWVuX3dhdGNoX3N5c3RlbSI6dHJ1ZSwibXdlYl9mdWxseV9yZWFjdGl2ZV9jYiI6dHJ1ZSwibXdlYl9ob21lX3JlYWN0aXZlX3Nob3J0cyI6dHJ1ZSwibXdlYl9pbm5lcnR1YmVfc2VhcmNoX2NvbW1hbmQiOnRydWUsIm13ZWJfa2Fpb3NfZW5hYmxlX2F1dG9wbGF5X3N3aXRjaF92aWV3X21vZGVsIjp0cnVlLCJtd2ViX2xhbmdfaW5faHRtbCI6dHJ1ZSwibXdlYl9saWtlX2J1dHRvbl9zeW5jZWRfd2l0aF9lbnRpdGllcyI6dHJ1ZSwibXdlYl9sb2dvX3VzZV9ob21lX3BhZ2VfdmUiOnRydWUsIm13ZWJfbG9uZ19wcmVzc19zcGVlZHVwX3ZpYnJhdGlvbiI6dHJ1ZSwibXdlYl9uYXRpdmVfY29udHJvbF9pbl9mYXV4X2Z1bGxzY3JlZW5fc2hhcmVkIjp0cnVlLCJtd2ViX3BsYXllcl9jb250cm9sX29uX2hvdmVyIjp0cnVlLCJtd2ViX3BsYXllcl9kZWxoaV9kdHRzIjp0cnVlLCJtd2ViX3BsYXllcl9zaG93X3ByZXZpb3VzX25leHRfYnV0dG9uc19pbl9wbGF5bGlzdCI6dHJ1ZSwibXdlYl9wbGF5ZXJfc2tpcF9ub19vcF9zdGF0ZV9jaGFuZ2VzIjp0cnVlLCJtd2ViX3BsYXllcl91c2VyX3NlbGVjdF9ub25lIjp0cnVlLCJtd2ViX3BsYXlsaXN0X2VuZ2FnZW1lbnRfcGFuZWwiOnRydWUsIm13ZWJfcHJvZ3Jlc3NfYmFyX3NlZWtfb25fbW91c2VfY2xpY2siOnRydWUsIm13ZWJfcHJvcGFnYXRlX3BsYXllcl9saW5rX2NsaWNrcyI6dHJ1ZSwibXdlYl9wdWxsXzJfZnVsbCI6dHJ1ZSwibXdlYl9wdWxsXzJfZnVsbF9lbmFibGVfdG91Y2hfaGFuZGxlcnMiOnRydWUsIm13ZWJfc2NoZWR1bGVfd2FybV93YXRjaF9yZXNwb25zZSI6dHJ1ZSwibXdlYl9zZWFyY2hib3hfbGVnYWN5X25hdmlnYXRpb24iOnRydWUsIm13ZWJfc2VlX2Zld2VyX3Nob3J0cyI6dHJ1ZSwibXdlYl9zaG9ydHNfY29tbWVudHNfcGFuZWxfaWRfY2hhbmdlIjp0cnVlLCJtd2ViX3Nob3J0c19lYXJseV9jb250aW51YXRpb24iOnRydWUsIm13ZWJfc2hvcnRzX2VuYWJsZV9sb25nX3ByZXNzX3NwZWVkdXAiOnRydWUsIm13ZWJfc2hvcnRzX292ZXJsYXlfZGVwcmVjYXRlX2thaW9zX2xheW91dCI6dHJ1ZSwibXdlYl9zaG93X3NpZ25faW5fYnV0dG9uX2Zyb21faGVhZGVyIjp0cnVlLCJtd2ViX3VzZV9taWNyb2Zvcm1hdF90aXRsZV9mb3JfcG9zdHMiOnRydWUsIm13ZWJfdXNlX3NlcnZlcl91cmxfb25fc3RhcnR1cCI6dHJ1ZSwibXdlYl93YXRjaF9jYXB0aW9uc19lbmFibGVfYXV0b190cmFuc2xhdGUiOnRydWUsIm13ZWJfd2F0Y2hfY2FwdGlvbnNfc2V0X2RlZmF1bHRfc2l6ZSI6dHJ1ZSwibXdlYl93YXRjaF9kZWxoaV9wbGF5ZXIiOnRydWUsIm13ZWJfd2F0Y2hfc3RvcF9zY2hlZHVsZXJfb25fcGxheWVyX3Jlc3BvbnNlIjp0cnVlLCJtd2ViX3dhdGNoZmVlZF9iaWdfdGh1bWJuYWlscyI6dHJ1ZSwibXdlYl95dF9zZWFyY2hib3giOnRydWUsIm5ldHdvcmtsZXNzX2xvZ2dpbmciOnRydWUsIm5vX2NsaWVudF92ZV9hdHRhY2hfdW5sZXNzX3Nob3duIjp0cnVlLCJwYWdlaWRfYXNfaGVhZGVyX3dlYiI6dHJ1ZSwicGxheWVyX2NvbnRyb2xzX2F1dG9uYXZfZml4Ijp0cnVlLCJwbGF5ZXJfY29udHJvbHNfc2tpcF9kb3VibGVfc2lnbmFsX3VwZGF0ZSI6dHJ1ZSwicGxheWVyX2NvbnRyb2xzX3VzZV9wbGF5ZXJfYXBpX2NvbnRleHQiOnRydWUsInBsYXllcl9jb250cm9sc192b2x1bWVfY29udHJvbHNfdXNlX3BsYXllcl9wcm9wcyI6dHJ1ZSwicG9seW1lcl9iYWRfYnVpbGRfbGFiZWxzIjp0cnVlLCJwb2x5bWVyX3ZlcmlmaXlfYXBwX3N0YXRlIjp0cnVlLCJxb2Vfc2VuZF9hbmRfd3JpdGUiOnRydWUsInJlbW92ZV9jaGV2cm9uX2Zyb21fYWRfZGlzY2xvc3VyZV9iYW5uZXJfaDUiOnRydWUsInJlbW92ZV9tYXN0aGVhZF9jaGFubmVsX2Jhbm5lcl9vbl9yZWZyZXNoIjp0cnVlLCJyZW1vdmVfc2xvdF9pZF9leGl0ZWRfdHJpZ2dlcl9mb3JfZGFpX2luX3BsYXllcl9zbG90X2V4cGlyZSI6dHJ1ZSwicm9zY2FzIjp0cnVlLCJzZXJ2aWNlX3dvcmtlcl9lbmFibGVkIjp0cnVlLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX2VuYWJsZWQiOnRydWUsInNlcnZpY2Vfd29ya2VyX3B1c2hfaG9tZV9wYWdlX3Byb21wdCI6dHJ1ZSwic2VydmljZV93b3JrZXJfcHVzaF93YXRjaF9wYWdlX3Byb21wdCI6dHJ1ZSwic2hlbGxfbG9hZF9nY2YiOnRydWUsInNob3J0ZW5faW5pdGlhbF9nZWxfYmF0Y2hfdGltZW91dCI6dHJ1ZSwic2hvcnRzX2VuYWJsZV9yZWVsX2Nhcm91c2VsIjp0cnVlLCJzaG91bGRfdXNlX3l0X3ZvaWNlX2VuZHBvaW50X2luX2thaW9zIjp0cnVlLCJzbWFydGVyX3ZlX2RlZHVwcGluZyI6dHJ1ZSwic3RvcF9oYW5kbGluZ19jbGlja19mb3Jfbm9uX3JlbmRlcmluZ19vdmVybGF5X2xheW91dCI6dHJ1ZSwic3VwcHJlc3NfZXJyb3JfMjA0X2xvZ2dpbmciOnRydWUsInN5bmNlZF9wYW5lbF9zY3JvbGxpbmdfY29udHJvbGxlciI6dHJ1ZSwidG9vbHRpcF9yZWZhY3Rvcl9mb3JfaG90a2V5Ijp0cnVlLCJ1c2VfZXZlbnRfdGltZV9tc19oZWFkZXIiOnRydWUsInVzZV9maWZvX2Zvcl9uZXR3b3JrbGVzcyI6dHJ1ZSwidXNlX3JlcXVlc3RfdGltZV9tc19oZWFkZXIiOnRydWUsInVzZV9zZXNzaW9uX2Jhc2VkX3NhbXBsaW5nIjp0cnVlLCJ1c2VfdGh1bWJuYWlsX292ZXJsYXlfdGltZV9zdGF0dXNfcmVuZGVyZXJfZm9yX2xpdmVfYmFkZ2UiOnRydWUsInZzc19maW5hbF9waW5nX3NlbmRfYW5kX3dyaXRlIjp0cnVlLCJ2c3NfcGxheWJhY2tfdXNlX3NlbmRfYW5kX3dyaXRlIjp0cnVlLCJ3YXRjaF9wdWJzdWJfcmVmYWN0b3IiOnRydWUsIndlYl9hZGFwdGl2ZV9yZXBlYXRfYXNlIjp0cnVlLCJ3ZWJfYWx3YXlzX2xvYWRfY2hhdF9zdXBwb3J0Ijp0cnVlLCJ3ZWJfYXBpX3VybCI6dHJ1ZSwid2ViX2F0dGVudGlvbl9sb2dnaW5nX2VuYWJsZWQiOnRydWUsIndlYl9hdHRlbnRpb25fbG9nZ2luZ19leHBvcnRfdG9fZ2VsIjp0cnVlLCJ3ZWJfYXR0cmlidXRlZF9zdHJpbmdfZGVlcF9lcXVhbF9idWdmaXgiOnRydWUsIndlYl9hdXRvbmF2X2FsbG93X29mZl9ieV9kZWZhdWx0Ijp0cnVlLCJ3ZWJfYnV0dG9uX29yX2FuY2hvcl9saXN0X2l0ZW0iOnRydWUsIndlYl9idXR0b25fdmlld19tb2RlbF9ub25fbnVsbGlzaF9kYXRhIjp0cnVlLCJ3ZWJfYnV0dG9uX3ZtX3JlZmFjdG9yX2Rpc2FibGVkIjp0cnVlLCJ3ZWJfYzNfbG9nX2FwcF9pbml0X2ZpbmlzaCI6dHJ1ZSwid2ViX2NvbW1lbnRfcGFuZWxfZWFzeV9leHBhbmQiOnRydWUsIndlYl9jc2lfYWN0aW9uX3NhbXBsaW5nX2VuYWJsZWQiOnRydWUsIndlYl9kZWR1cGVfdmVfZ3JhZnRpbmciOnRydWUsIndlYl9kaXNhYmxlX2JhY2tkcm9wX2ZpbHRlciI6dHJ1ZSwid2ViX2Rpc2FibGVfY2hpcF92aWV3X21vZGVsX211dGF0aW9uIjp0cnVlLCJ3ZWJfZW5hYmxlX2FiX3JzcF9jbCI6dHJ1ZSwid2ViX2VuYWJsZV9hZF9idXR0b25fc3R5bGVfb3ZlcnJpZGUiOnRydWUsIndlYl9lbmFibGVfYXNrX2Rpc2NsYWltZXJfdXBkYXRlIjp0cnVlLCJ3ZWJfZW5hYmxlX2Nhbm9uaWNhbF91cmxfbWFuYWdlciI6dHJ1ZSwid2ViX2VuYWJsZV9jb3Vyc2VfaWNvbl91cGRhdGUiOnRydWUsIndlYl9lbmFibGVfZW50aXR5X3Vwc2VydF9vbl91cGRhdGUiOnRydWUsIndlYl9lbmFibGVfZXJyb3JfMjA0Ijp0cnVlLCJ3ZWJfZW5hYmxlX2xhenlfY3NzIjp0cnVlLCJ3ZWJfZW5hYmxlX3RodW1ibmFpbF9vdmVybGF5X2FsaWdubWVudCI6dHJ1ZSwid2ViX2djZl9oYXNoZXNfaW5uZXJ0dWJlIjp0cnVlLCJ3ZWJfZ2VsX3RpbWVvdXRfY2FwIjp0cnVlLCJ3ZWJfaGlkZV95b3VyX2RhdGFfb25fYXV0b21vdGl2ZSI6dHJ1ZSwid2ViX2ltcF9lbmFibGVfY3NpX3N0YXJ0X3RpY2siOnRydWUsIndlYl9tb25vbWVyX3dlYl9jb21wb25lbnRfd3JhcHBlcl9oYW5kbGVfZXJyb3JzIjp0cnVlLCJ3ZWJfbm9uX25hdmlnYXRpbmdfYXRhZyI6dHJ1ZSwid2ViX3BhcmVudF90YXJnZXRfZm9yX3NoZWV0cyI6dHJ1ZSwid2ViX3BlcnNpc3Rfc2VydmVyX2F1dG9uYXZfc3RhdGVfb25fY2xpZW50Ijp0cnVlLCJ3ZWJfcGxheWJhY2tfYXNzb2NpYXRlZF92ZSI6dHJ1ZSwid2ViX3BsYXllcl91cGRhdGVkX2VudHJ5cG9pbnQiOnRydWUsIndlYl9wcmVmZXRjaF9wcmVsb2FkX3ZpZGVvIjp0cnVlLCJ3ZWJfcHJvZ3Jlc3NfYmFyX2RyYWdnYWJsZSI6dHJ1ZSwid2ViX3Byb3BhZ2F0ZV92aXNpYmlsaXR5X3RvX2FwcGxpY2F0aW9uX3N0YXRlIjp0cnVlLCJ3ZWJfcmVsYXhfYXJtX2NhcCI6dHJ1ZSwid2ViX3JlbW92ZV9zbmFja2Jhcl9hY3Rpb25zIjp0cnVlLCJ3ZWJfc2VjdGlvbl9saXN0X3JlbmRlcmVyX3dyYXBwZWRfY29udGVudHMiOnRydWUsIndlYl9zaG9ydHNfYXVkaW9fdHJhY2tfcGlja2VyIjp0cnVlLCJ3ZWJfc2hvcnRzX2VuYWJsZV9yZW1vdmVfc2VhcmNoX3Bpdm90X2JhY2tfYnV0dG9uIjp0cnVlLCJ3ZWJfc2hvcnRzX3duX3NoZWxmX2hlYWRlcl90dW5pbmciOnRydWUsIndlYl91bmlmaWVkX2ZldGNoIjp0cnVlLCJ3ZWJfdXBkYXRlX3BhbmVsX3Zpc2liaWxpdHlfbG9nZ2luZ19maXgiOnRydWUsIndlYl93YXRjaF9jb250cm9sc19zdGF0ZV9zaWduYWxzIjp0cnVlLCJ3ZWJmZV9td2ViX3dhdGNoX21pY3JvZGF0YSI6dHJ1ZSwid2ViZmVfd2F0Y2hfc2hvcnRzX2Nhbm9uaWNhbF91cmxfZml4Ijp0cnVlLCJ3ZWJwb19leGl0X29uX25ldF9lcnIiOnRydWUsIndpel9kaWZmX292ZXJ3cml0YWJsZSI6dHJ1ZSwid2l6X3dyYXBwZXJfY2FsbGJhY2tfcHJvcHNfZml4Ijp0cnVlLCJ3dWdfbmV0d29ya2luZ19nemlwX3JlcXVlc3QiOnRydWUsIkg1X2FzeW5jX2xvZ2dpbmdfZGVsYXlfbXMiOjMwMDAwLjAsImF1dG9wbGF5X3BhdXNlX2J5X2xhY3Rfc2FtcGxpbmdfZnJhY3Rpb24iOjAuMCwiY2luZW1hdGljX3dhdGNoX2VmZmVjdF9vcGFjaXR5IjowLjQsImxvZ193aW5kb3dfb25lcnJvcl9mcmFjdGlvbiI6MC4xLCJzcGVlZG1hc3Rlcl9wbGF5YmFja19yYXRlIjoyLjAsIndlYl9hdHRlbnRpb25fbG9nZ2luZ19zY3JvbGxfdGhyb3R0bGUiOjUwMC4wLCJ3ZWJfZGVhZF9jb2RlX2RldGVjdG9yX3NhbXBsaW5nX3JhdGUiOjAuMCwid2ViX2xvYWRfcHJlZGljdGlvbl90aHJlc2hvbGQiOjAuMywid2ViX25hdmlnYXRpb25fcHJlZGljdGlvbl90aHJlc2hvbGQiOjAuMSwid2ViX3Bial9sb2dfd2FybmluZ19yYXRlIjowLjAsIndlYl9zeXN0ZW1faGVhbHRoX2ZyYWN0aW9uIjowLjAxLCJ5dGlkYl90cmFuc2FjdGlvbl9lbmRlZF9ldmVudF9yYXRlX2xpbWl0IjowLjAyLCJhdHRfaW5pdF9kZWxheSI6NTAwLCJhdXRvcGxheV9wYXVzZV9ieV9sYWN0X3NlYyI6MCwiYm90Z3VhcmRfYXN5bmNfc25hcHNob3RfdGltZW91dF9tcyI6MzAwMCwiY2hlY2tfbmF2aWdhdG9yX2FjY3VyYWN5X3RpbWVvdXRfbXMiOjAsImNpbmVtYXRpY193YXRjaF9jc3NfZmlsdGVyX2JsdXJfc3RyZW5ndGgiOjQwLCJjaW5lbWF0aWNfd2F0Y2hfZmFkZV9vdXRfZHVyYXRpb24iOjUwMCwiY2xvc2Vfd2Vidmlld19kZWxheV9tcyI6MTAwLCJjbG91ZF9zYXZlX2dhbWVfZGF0YV9yYXRlX2xpbWl0X21zIjozMDAwLCJjb21wcmVzc2lvbl9kaXNhYmxlX3BvaW50IjoxMCwiY3VzdG9tX2FjdGl2ZV92aWV3X3Rvc190aW1lb3V0X21zIjozNjAwMDAwLCJlbWJlZHNfd2lkZ2V0X3BvbGxfaW50ZXJ2YWxfbXMiOjAsImVuZGVtaWNfaGlnaF9jY3Zfc21lYXJpbmdfbWF4X3dpbmRvd19zZWNvbmRzIjo2MCwiZ2VsX21pbl9iYXRjaF9zaXplIjozLCJnZWxfcXVldWVfdGltZW91dF9tYXhfbXMiOjYwMDAwLCJnZXRfYXN5bmNfdGltZW91dF9tcyI6NjAwMDAsImh0bWw1X2J5dGVyYXRlX3NvZnRfY2FwIjowLCJpbml0aWFsX2dlbF9iYXRjaF90aW1lb3V0IjoyMDAwLCJtYXhfYm9keV9zaXplX3RvX2NvbXByZXNzIjo1MDAwMDAsIm1heF9wcmVmZXRjaF93aW5kb3dfc2VjX2Zvcl9saXZlc3RyZWFtX29wdGltaXphdGlvbiI6MTAsIm1pbl9wcmVmZXRjaF9vZmZzZXRfc2VjX2Zvcl9saXZlc3RyZWFtX29wdGltaXphdGlvbiI6MjAsIm1pbmlfYXBwX2NvbnRhaW5lcl9pZnJhbWVfc3JjX3VwZGF0ZV9kZWxheV9tcyI6MCwibXVsdGlwbGVfcHJldmlld19uZXdzX2R1cmF0aW9uX3RpbWUiOjExMDAwLCJtd2ViX2MzX3RvYXN0X2R1cmF0aW9uX21zIjo1MDAwLCJtd2ViX2RlZXBfbGlua19mYWxsYmFja190aW1lb3V0X21zIjoxMDAwMCwibXdlYl9kZWxheV9yZXNwb25zZV9yZWNlaXZlZF9hY3Rpb25zIjoxMDAsIm13ZWJfZHdlbGxfZGVsYXlfbXMiOjUwMCwibXdlYl9mcF9kcGFkX3JhdGVfbGltaXRfbXMiOjAsIm13ZWJfZnBfZHBhZF93YXRjaF90aXRsZV9jbGFtcF9saW5lcyI6MCwibXdlYl9oaXN0b3J5X21hbmFnZXJfY2FjaGVfc2l6ZSI6MTAwLCJtd2ViX2lvc19mdWxsc2NyZWVuX3BsYXliYWNrX3RyYW5zaXRpb25fZGVsYXlfbXMiOjUwMCwibXdlYl9pb3NfZnVsbHNjcmVlbl9zeXN0ZW1fcGF1c2VfZXBpbHNvbl9tcyI6MCwibXdlYl9vdmVycmlkZV9yZXNwb25zZV9zdG9yZV9leHBpcmF0aW9uX21zIjowLCJtd2ViX3Nob3J0c19lYXJseV9jb250aW51YXRpb25fdHJpZ2dlcl90aHJlc2hvbGQiOjQsIm13ZWJfc2hvcnRzX251bWJlcl9vZl90aHVtYm5haWxzX3Nob3duIjoyLCJtd2ViX3cyd19tYXhfYWdlX3NlY29uZHMiOjAsIm13ZWJfd2F0Y2hfY2FwdGlvbnNfZGVmYXVsdF9zaXplIjoyLCJuZW9uX2RhcmtfbGF1bmNoX2dyYWRpZW50X2NvdW50IjowLCJuZXR3b3JrX3BvbGxpbmdfaW50ZXJ2YWwiOjMwMDAwLCJwbGF5X3BpbmdfaW50ZXJ2YWxfbXMiOjEwMDAwLCJzZW5kX2NvbmZpZ19oYXNoX3RpbWVyIjowLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX2xvZ2dlZF9vdXRfcHJvbXB0X3dhdGNoZXMiOi0xLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX3Byb21wdF9jYXAiOi0xLCJzZXJ2aWNlX3dvcmtlcl9wdXNoX3Byb21wdF9kZWxheV9taWNyb3NlY29uZHMiOjM4ODgwMDAwMDAwMDAsInNob3dfbWluaV9hcHBfYWRfd2ViX3JlZ3VsYXJfZnJlcXVlbmN5X2NhcF9tcyI6MjQwMDAwLCJzaG93X21pbmlfYXBwX2FkX3dlYl9yZXdhcmRlZF9mcmVxdWVuY3lfY2FwX21zIjowLCJzbG93X2NvbXByZXNzaW9uc19iZWZvcmVfYWJhbmRvbl9jb3VudCI6NCwic3BlZWRtYXN0ZXJfY2FuY2VsbGF0aW9uX21vdmVtZW50X2RwIjoxMCwic3BlZWRtYXN0ZXJfdG91Y2hfYWN0aXZhdGlvbl9tcyI6NTAwLCJ3ZWJfYWlfc2VhcmNoX3JvbGxvdXRfdmVyc2lvbiI6MSwid2ViX2ZvcmVncm91bmRfaGVhcnRiZWF0X2ludGVydmFsX21zIjoyODAwMCwid2ViX2dlbF9kZWJvdW5jZV9tcyI6MTAwMDAsIndlYl9sb2dnaW5nX21heF9iYXRjaCI6MTAwLCJ3ZWJfbWF4X3RyYWNpbmdfZXZlbnRzIjo1MCwid2ViX3Nlc3Npb25fcmVwbGF5X21vdXNlbW92ZV9pbnRlcnZhbCI6MCwid2ViX3Nlc3Npb25fcmVwbGF5X3Njcm9sbF9pbnRlcnZhbCI6MCwid2ViX3Nlc3Npb25fcmVwbGF5X3NlbmRfYWZ0ZXJfdGltZW91dCI6MCwid2ViX3RyYWNpbmdfc2Vzc2lvbl9yZXBsYXkiOjAsIndpbF9pY29uX21heF9jb25jdXJyZW50X2ZldGNoZXMiOjk5OTksInl0Y3NpX2RlYnVnX21heF9zaXplIjoxMDAsInl0aWRiX3JlbWFrZV9kYl9yZXRyaWVzIjoxLCJ5dGlkYl9yZW9wZW5fZGJfcmV0cmllcyI6MCwiV2ViQ2xpZW50UmVsZWFzZVByb2Nlc3NDcml0aWNhbF9feW91dHViZV9lbWJlZHNfY2xpZW50X3ZlcnNpb25fb3ZlcnJpZGUiOiIiLCJXZWJDbGllbnRSZWxlYXNlUHJvY2Vzc0NyaXRpY2FsX195b3V0dWJlX2VtYmVkc193ZWJfY2xpZW50X3ZlcnNpb25fb3ZlcnJpZGUiOiIiLCJkZWJ1Z19mb3JjZWRfaW50ZXJuYWxjb3VudHJ5Y29kZSI6IiIsImVuYWJsZV93ZWJfbWVkaWFfc2VydmljZSI6IkRJU0FCTEVEIiwiaWxfcGF5bG9hZF9zY3JhcGluZyI6IiIsImxpdmVfY2hhdF91bmljb2RlX2Vtb2ppX2pzb25fdXJsIjoiaHR0cHM6Ly93d3cuZ3N0YXRpYy5jb20veW91dHViZS9pbWcvZW1vamlzL2Vtb2ppcy1zdmctOS5qc29uIiwibXdlYl9kZWVwX2xpbmtfZmVhdHVyZV90YWdfc3VmZml4IjoiNTE4MzE2MTUiLCJtd2ViX2VuYWJsZV9zaG9ydHNfaW5uZXJ0dWJlX3BsYXllcl9wcmVmZXRjaF90cmlnZ2VyIjoiTk9ORSIsIm13ZWJfZnBfZHBhZCI6ImhvbWUsc2VhcmNoLGJyb3dzZSxjaGFubmVsLGNyZWF0ZV9jaGFubmVsLGV4cGVyaW1lbnRzLHNldHRpbmdzLHRyZW5kaW5nLG9vcHMsNDA0LHBhaWRfbWVtYmVyc2hpcHMsc3BvbnNvcnNoaXAscHJlbWl1bSxzaG9ydHMiLCJtd2ViX2ZwX2RwYWRfbGluZWFyX25hdmlnYXRpb24iOiIiLCJtd2ViX2ZwX2RwYWRfbGluZWFyX25hdmlnYXRpb25fdmlzaXRvciI6IiIsIm13ZWJfZnBfZHBhZF92aXNpdG9yIjoiIiwibXdlYl9wcmVsb2FkX3ZpZGVvX2J5X3BsYXllcl92YXJzIjoiIiwicGxhY2VfcGl2b3RfdHJpZ2dlcmluZ19jb250YWluZXJfYWx0ZXJuYXRlIjoiIiwicGxhY2VfcGl2b3RfdHJpZ2dlcmluZ19jb3VudGVyZmFjdHVhbF9jb250YWluZXJfYWx0ZXJuYXRlIjoiIiwic2VydmljZV93b3JrZXJfcHVzaF9mb3JjZV9ub3RpZmljYXRpb25fcHJvbXB0X3RhZyI6IjEiLCJzZXJ2aWNlX3dvcmtlcl9zY29wZSI6Ii8iLCJzdWdnZXN0X2V4cF9zdHIiOiIiLCJ3ZWJfY2xpZW50X3ZlcnNpb25fb3ZlcnJpZGUiOiIiLCJlbmRlbWljX2hpZ2hfY2N2X3NtZWFyaW5nX2FsbG93ZWRfdmlkZW9faWRzIjpbIk9KbHdJZG9GejlBIiwiQXJLYkF4MUstMlUiLCJtX2RoTVN2VUNJYyIsIkMxRGhwSjA3WnVFIiwiTnEyd1lsV0Z1Y2ciLCJKQzdmM0VVRGFxdyIsInZyM1h5VkNSNFQwIiwiZ0NOZURXQ0kwdm8iLCJrQlR1ZG00Z2VNcyIsIkZ4c2ZWWDZCMU1rIiwieWxZSlNCVWdhTUEiLCJWV2hRNnhzcG5TYyIsIlJIVWF1TWNZbFgwIiwiY2IxMkttTU1ESkEiLCJXSnhFal9ocnBTZyIsImV1aFktdG1nOXg4IiwiVGxJVkkyRVc3UjAiLCJNSU5mdk9YNEJ6SSIsInlIbVBXemtoY1o4IiwicDN3MXZPOVh2MjQiLCJWbGFDbnAxZnhJOCIsIi1PZkEwNEJENEdBIiwiMW9kWTNJWXNObm8iLCJ3aVRUclZxUlZEdyIsIkRmbTJyQi1uUTlZIiwiUW0xRnR6OGxWbkkiLCI5aXRBeHFfU0dETSIsInlGSTN3cFh5NHpBIiwiUHk1SllaWEp2em8iLCJiNHRFNWFLaHRsZyIsIjVKRHhqc0FWYUdrIiwiZVVtZkdQYXp1RU0iLCJXOG5UaHE2MlZiNCIsIlZManZTM3VmbFhjIiwiQmZkTEt2SkJNX2MiLCJ3ZUxYZHdWalN4cyIsIjJKYS11UE9rejdJIiwiQTlRQlZGRVl4T1EiLCJrLVpGUWtrSFVmYyIsInd1dTBEMjBBWnFJIiwiX0h2aVN5Qzd6U1UiLCJfX3hPel9RM3FSNCIsIncyc0I4N2pMRTFJIiwiOHJUVEVNZE1oOFEiLCItazZtcGdteGVyVSIsIjk3Y2tuckp5TFdnIiwiMkZJdFZ5eExOTmMiLCJvdG54ZmNzR0UtWSIsInM5eEwxRHBCc2ZRIiwid2ZBR0JWZ1Vycm8iLCJuWEg2VHhRLXNpOCIsIldpSTFYZ19uRXU4IiwiM2ZsYXNHVlVyQ0EiLCJlRFlfSGU5MmxjVSIsImE0N2NrWEtaanhJIiwiSTZXUlhlS1pLNjQiLCJUOUo1RHFQMkRLdyIsIkt0a19JMHBVcEc4IiwiZVEyY3pHcU9DUGciLCJoTG1VNDlobVo0YyIsIjdmN01nYU1FN1NjIiwiUUI1Qk5kQkZ1akUiLCJBR2h0TVVfZmk3MCIsInAyUmFRVVJSQXdBIiwibXpfX0VNWXBXUHciLCI2amhMdVNRVkl4VSIsInJDODN2X3V1SXFvIiwiNkRhR2RKUl9lTGciLCJjbTQzdVhqZnZaWSIsIlkxSnNQcG0yYm1RIiwiejA5N2pQeUtlZW8iLCJUWVZaV1VUamt4MCIsIlZIYUF2ZW5mVERrIiwidHY5T1VfNVEwcFEiLCI2b0tDdnptNkhtZyIsIkJFRlVFUmhUMG4wIiwidVROLWV1MC1PWEUiLCJoYmFwcmhSN3pUbyIsIjJDVjBWLW9NTkZNIiwidThkU09Lb05KcDAiLCJIOE1xcXdtRnN4WSIsIklza2ttTlBKZFVrIiwiWDlIX0V6cERHWFEiXSwia2V2bGFyX2NvbW1hbmRfaGFuZGxlcl9jb21tYW5kX2Jhbmxpc3QiOltdLCJtaW5pX2FwcF9pZHNfd2l0aG91dF9nYW1lX3JlYWR5IjpbIlVna3hISHRzYWsxU0M4bVJHSE1aZXdjNEh6ZUFZM3loUFBtSiIsIlVna3g3T2d6RnFFNnpfNU10ZjRZc290R2ZRTklJMURGX1JCbSJdLCJ3ZWJfb3Bfc2lnbmFsX3R5cGVfYmFubGlzdCI6W10sIndlYl90cmFjaW5nX2VuYWJsZWRfc3BhbnMiOlsiZXZlbnQiLCJjb21tYW5kIl19LCJHQVBJX0hJTlRfUEFSQU1TIjoibTsvXy9zY3MvYWJjLXN0YXRpYy9fL2pzL2tcdTAwM2RnYXBpLmdhcGkuZW4uNTRfSER2ZU90a1EuTy9kXHUwMDNkMS9yc1x1MDAzZEFIcE9vbzlRdWZPZFBZVFJrYlRKYWRUVzZzbXN4bFdMTXcvbVx1MDAzZF9fZmVhdHVyZXNfXyIsIkdBUElfSE9TVCI6Imh0dHBzOi8vYXBpcy5nb29nbGUuY29tIiwiR0FQSV9MT0NBTEUiOiJlbl9VUyIsIkdMIjoiTk8iLCJITCI6ImVuIiwiSFRNTF9ESVIiOiJsdHIiLCJIVE1MX0xBTkciOiJlbiIsIklOTkVSVFVCRV9BUElfS0VZIjoiQUl6YVN5QU9fRkoyU2xxVThRNFNURUhMR0NpbHdfWTlfMTFxY1c4IiwiSU5ORVJUVUJFX0FQSV9WRVJTSU9OIjoidjEiLCJJTk5FUlRVQkVfQ0xJRU5UX05BTUUiOiJXRUJfRU1CRURERURfUExBWUVSIiwiSU5ORVJUVUJFX0NMSUVOVF9WRVJTSU9OIjoiMi4yMDI2MDcyNC4wMS4wMCIsIklOTkVSVFVCRV9DT05URVhUIjp7ImNsaWVudCI6eyJobCI6ImVuIiwiZ2wiOiJOTyIsInJlbW90ZUhvc3QiOiIxOTUuNjQuMTE4LjE1MiIsImRldmljZU1ha2UiOiIiLCJkZXZpY2VNb2RlbCI6IiIsInZpc2l0b3JEYXRhIjoiQ2dzeE5VTk9VMEkzYURZdE5DaWZvNXZUQmpJb0NnSk9UeElpRWg0U0hBc01EZzhRRVJJVEZCVVdGeGdaR2hzY0hSNGZJQ0VpSXlRbEppY2dZV0xmQWdyY0FqSXdMbGxVUFdWV01teHZaVFZVWVhKb1JuRnNWVlpKUmxOQ2NGRlNhbTVmZGw5VVRWWmpSekF4U2pBNVUyOWtZVzVIZHpJMmNHVXlaRlp0Y1dGME5UbHNVWFJoYjJOV1luTkxRMVZrV1VFeWNUQnJWbFpLU0dGSVlUbE9PWEZGTlZsb2VrUkJSa3BSY0RJNWQzTnZUMUphWjI5b1VXZDZiblUzVTNKb1JWVnVXRGswVW5sQk1IbGlMVE5TYjBSNVpGOVliRW8xTjI1clNFRm9NMlZXT1ZGelpEZDRlR0l6VTBKallsbFVNMmhwUVVodldscGpOa3RRYkc5bE5VZHdlVGh2VFhwRk5VWktZVkV0V0RoT1NUQmxPR2xzZDBwallWSXpUa1pTV1ZrNVkwWlVURFJzZUhocVFVUlBhbVZCUmxWYVdVZE5jeTFhYjAxemJVTjBjbmgxWjNaU1QxWmlNMXBJUkdsRlVGWkphRmx1Y3pWVGRIQm5iRjl2VUVvek9GZ3RZbmxmVVRCd1ltUlhNRkZCVjBSVU9UWm5UVnBVZGpOdk0xaENSSFZ5TkdKQlYyWnBhWFZ3VjNWR1lsOUNaVVV6V0VOeVFXRk5UMjFJWnclM0QlM0QiLCJ1c2VyQWdlbnQiOiJNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0OyBydjoxMzQuMCkgR2Vja28vMjAxMDAxMDEgRmlyZWZveC8xMzQuMCxnemlwKGdmZSkiLCJjbGllbnROYW1lIjoiV0VCX0VNQkVEREVEX1BMQVlFUiIsImNsaWVudFZlcnNpb24iOiIyLjIwMjYwNzI0LjAxLjAwIiwib3NOYW1lIjoiV2luZG93cyIsIm9zVmVyc2lvbiI6IjEwLjAiLCJvcmlnaW5hbFVybCI6Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL0hQb0poVk5TSGRrIiwicGxhdGZvcm0iOiJERVNLVE9QIiwiY2xpZW50Rm9ybUZhY3RvciI6IlVOS05PV05fRk9STV9GQUNUT1IiLCJjb25maWdJbmZvIjp7ImFwcEluc3RhbGxEYXRhIjoiQ0otam05TUdFTWVOMGh3UTRMZlJIQkR3M3RFY0VOcjN6aHdRQUJDSnNNNGNFTGp3MFJ3UTlxdXdCUkNPa05FY0VNM3cwUndRaW9lNEloQzhwTkFjRVBueTBSd1E4Wnl3QlJDTDk4OGNFUGIzMFJ3UWxlX1JIQkM5bWJBRkVKN1FzQVVRbjgtQUV4Q2txZEVjRUptTnNRVVF0X2lBRXhEeHROQWNFTW4yZ0JNUXI0YlBIQkRldk00Y0VLN1d6eHdRaHVHQUV4Q0hyTTRjRUlPSHVDSVFpZVRSSEJEenpORWNFTDIycmdVUXpOLXVCUkRLLTRBVEVMWGIwUndRNE9yUkhCQ2RocmdpRU1HUDBCd1E2ZmpSSEJDQnpjNGNFTDJLc0FVUXVPVE9IQkQ4c3M0Y0VJaVEwUndRdm9UUkhDcGtRMEZOVTFKU1ZrY3RXbkV0UkUxbFZVVndWVU51UVRjMVJsaExUVVpMYWxaRU9HZEVSRTB3UWpkblRHdENkRU0xTmxGemVXOUxkMFZCTlVOMVFWOXpiWFIxVVVjMVNWVllNRTEzUjNoS1NVWjVlak5HU2psdVZrSmtkM00xTUZsa1FuYzlQVEFBIn0sImJyb3dzZXJOYW1lIjoiRmlyZWZveCIsImJyb3dzZXJWZXJzaW9uIjoiMTM0LjAiLCJhY2NlcHRIZWFkZXIiOiJ0ZXh0L2h0bWwsYXBwbGljYXRpb24veGh0bWwreG1sLGFwcGxpY2F0aW9uL3htbDtxXHUwMDNkMC45LCovKjtxXHUwMDNkMC44IiwiZGV2aWNlRXhwZXJpbWVudElkIjoiQ2h4T2Vsa3lUbnBCTUU1VVp6Vk9la0Y0VG5wWmVFMUVXVFJOVVQwOUVKLWptOU1HR0otam05TUciLCJyb2xsb3V0VG9rZW4iOiJDT2l1OGR2SWwtdWJRQkRMeHZ1Zzl2R1ZBeGpMeHZ1Zzl2R1ZBdyUzRCUzRCJ9LCJ1c2VyIjp7ImxvY2tlZFNhZmV0eU1vZGUiOmZhbHNlfSwicmVxdWVzdCI6eyJ1c2VTc2wiOnRydWV9LCJjbGlja1RyYWNraW5nIjp7ImNsaWNrVHJhY2tpbmdQYXJhbXMiOiJJaE1JaTdqN29QYnhsUU1WdUFSOENCM1dVaXpyIn0sInRoaXJkUGFydHkiOnsiZW1iZWRkZWRQbGF5ZXJDb250ZXh0Ijp7ImVtYmVkZGVkUGxheWVyRW5jcnlwdGVkQ29udGV4dCI6IkFDbWJsQlc1OC0xMlhJTU9ZV093VjNha2NqbVNLZE9sV1FuZEFBTUtVX191aEVkYVNMZm81d0h1Mm1CTV9TNngzQ0pEaUgtaEh1MlpEMm5UczhMTmxwRHBqTmhYYk5hb21JcWZDU2JfZmh6NzhNOUxmOWlnUEJjSVZTcWFOOF9rTHdJXyIsImFuY2VzdG9yT3JpZ2luc1N1cHBvcnRlZCI6ZmFsc2V9fX0sIklOTkVSVFVCRV9DT05URVhUX0NMSUVOVF9OQU1FIjo1NiwiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX1ZFUlNJT04iOiIyLjIwMjYwNzI0LjAxLjAwIiwiSU5ORVJUVUJFX0NPTlRFWFRfR0wiOiJOTyIsIklOTkVSVFVCRV9DT05URVhUX0hMIjoiZW4iLCJMQVRFU1RfRUNBVENIRVJfU0VSVklDRV9UUkFDS0lOR19QQVJBTVMiOnsiY2xpZW50Lm5hbWUiOiJXRUJfRU1CRURERURfUExBWUVSIiwiY2xpZW50LmpzZmVhdCI6IjIwMjEifSwiTE9HR0VEX0lOIjpmYWxzZSwiUEFHRV9CVUlMRF9MQUJFTCI6InlvdXR1YmUuZW1iZWRzLndlYl8yMDI2MDcyNF8wMV9SQzAwIiwiUEFHRV9DTCI6OTUzMjA2MDEwLCJTRVJWRVJfTkFNRSI6IldlYkZFIiwiVklTSVRPUl9EQVRBIjoiQ2dzeE5VTk9VMEkzYURZdE5DaWZvNXZUQmpJb0NnSk9UeElpRWg0U0hBc01EZzhRRVJJVEZCVVdGeGdaR2hzY0hSNGZJQ0VpSXlRbEppY2dZV0xmQWdyY0FqSXdMbGxVUFdWV01teHZaVFZVWVhKb1JuRnNWVlpKUmxOQ2NGRlNhbTVmZGw5VVRWWmpSekF4U2pBNVUyOWtZVzVIZHpJMmNHVXlaRlp0Y1dGME5UbHNVWFJoYjJOV1luTkxRMVZrV1VFeWNUQnJWbFpLU0dGSVlUbE9PWEZGTlZsb2VrUkJSa3BSY0RJNWQzTnZUMUphWjI5b1VXZDZiblUzVTNKb1JWVnVXRGswVW5sQk1IbGlMVE5TYjBSNVpGOVliRW8xTjI1clNFRm9NMlZXT1ZGelpEZDRlR0l6VTBKallsbFVNMmhwUVVodldscGpOa3RRYkc5bE5VZHdlVGh2VFhwRk5VWktZVkV0V0RoT1NUQmxPR2xzZDBwallWSXpUa1pTV1ZrNVkwWlVURFJzZUhocVFVUlBhbVZCUmxWYVdVZE5jeTFhYjAxemJVTjBjbmgxWjNaU1QxWmlNMXBJUkdsRlVGWkphRmx1Y3pWVGRIQm5iRjl2VUVvek9GZ3RZbmxmVVRCd1ltUlhNRkZCVjBSVU9UWm5UVnBVZGpOdk0xaENSSFZ5TkdKQlYyWnBhWFZ3VjNWR1lsOUNaVVV6V0VOeVFXRk5UMjFJWnclM0QlM0QiLCJXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHUyI6eyJXRUJfUExBWUVSX0NPTlRFWFRfQ09ORklHX0lEX0VNQkVEREVEX1BMQVlFUiI6eyJyb290RWxlbWVudElkIjoibW92aWVfcGxheWVyIiwianNVcmwiOiIvcy9wbGF5ZXIvN2E3OTY5YzIvcGxheWVyX2VtYmVkX2VzNi52ZmxzZXQvZW5fVVMvYmFzZS5qcyIsImNzc1VybCI6Ii9zL3BsYXllci83YTc5NjljMi93d3ctcGxheWVyLmNzcyIsImNvbnRleHRJZCI6IldFQl9QTEFZRVJfQ09OVEVYVF9DT05GSUdfSURfRU1CRURERURfUExBWUVSIiwiZXZlbnRMYWJlbCI6ImVtYmVkZGVkIiwiY29udGVudFJlZ2lvbiI6Ik5PIiwiaGwiOiJlbl9VUyIsImhvc3RMYW5ndWFnZSI6ImVuIiwiaW5uZXJ0dWJlQXBpS2V5IjoiQUl6YVN5QU9fRkoyU2xxVThRNFNURUhMR0NpbHdfWTlfMTFxY1c4IiwiaW5uZXJ0dWJlQXBpVmVyc2lvbiI6InYxIiwiaW5uZXJ0dWJlQ29udGV4dENsaWVudFZlcnNpb24iOiIyLjIwMjYwNzI0LjAxLjAwIiwiZGV2aWNlIjp7ImJyYW5kIjoiIiwibW9kZWwiOiIiLCJicm93c2VyIjoiRmlyZWZveCIsImJyb3dzZXJWZXJzaW9uIjoiMTM0LjAiLCJvcyI6IldpbmRvd3MiLCJvc1ZlcnNpb24iOiIxMC4wIiwicGxhdGZvcm0iOiJERVNLVE9QIiwiaW50ZXJmYWNlTmFtZSI6IldFQl9FTUJFRERFRF9QTEFZRVIiLCJpbnRlcmZhY2VWZXJzaW9uIjoiMi4yMDI2MDcyNC4wMS4wMCJ9LCJzZXJpYWxpemVkRXhwZXJpbWVudElkcyI6IjI0MDA0NjQ0LDUxMDYzNjQzLDUxMDk4Mjk5LDUxMjIyOTczLDUxMzQwNjYyLDUxMzQ5OTE0LDUxMzUzMzkzLDUxMzY2NDIzLDUxMzcyNjgxLDUxMzg5NjI5LDUxNDU5NDI0LDUxNDkwMzMxLDUxNTA1NDM2LDUxNTMwNDk1LDUxNTM0NjY5LDUxNTY1MTE2LDUxNTgzODIxLDUxNjA1MjU4LDUxNjA5ODI5LDUxNjM4OTMyLDUxNjQ4MzM2LDUxNjcyMTYyLDUxNjgxNjYyLDUxNjgzNTAyLDUxNzI5MjE3LDUxNzQyMzc3LDUxNzk4OTI4LDUxODAzMTI4LDUxODMzMjQxLDUxODQyNDIyLDUxODU3ODM4LDUxODU3OTIwLDUxODg3ODgwLDUxODk1NDA0LDUxODk1NzcxLDUxOTAxNDM3LDUxOTAyNjA1LDUxOTAyOTc3LDUxOTEwNzM2LDUxOTI3MTg4LDUxOTI3MzYwLDUxOTM2MjI4LDUxOTM5NzAzLDUxOTM5NzI5LDUxOTQ1MDU2LDUxOTU2NTE4LDUxOTU3NDQ1LDUxOTU5Njk0LDUxOTU5ODA5LDUxOTU5ODgwLDUxOTU5OTY3LDUxOTY4MjAyLDUxOTcxNzc2LDUxOTg0ODI3LDUxOTg1NTgzLDUxOTk1MDU5LDUyMDAyODA2LDUyMDE2MTM2LDUyMDIwMDMyLDUyMDI0MjE3LDUyMDI2MTk0LDUyMDI2ODE0LDUyMDI3MDk5LDUyMDI3NzUxLDUyMDI3NzUzLDUyMDI4MDI0LDUyMDM1NjQ0LDUyMDM2OTM5LDUyMDQzMjI3LDUyMDQ3Njg0LDUyMDQ3Njg3LDUyMDQ3NjkwLDUyMDY0MTM1LDUyMDY1NTkwLDUyMDczOTYzLDUyMDc1OTIyLDUyMDc2NzA1Iiwic2VyaWFsaXplZEV4cGVyaW1lbnRGbGFncyI6Ikg1X2FzeW5jX2xvZ2dpbmdfZGVsYXlfbXNcdTAwM2QzMDAwMC4wXHUwMDI2YTExeV9oNV9hc3NvY2lhdGVfc3VydmV5X3F1ZXN0aW9uXHUwMDNkdHJ1ZVx1MDAyNmFiX2RldF9hcG1cdTAwM2R0cnVlXHUwMDI2YWJfZGV0X2VsX2hcdTAwM2R0cnVlXHUwMDI2YWJfZmtfc2tfY2xcdTAwM2R0cnVlXHUwMDI2YWN0aW9uX2NvbXBhbmlvbl9jZW50ZXJfYWxpZ25fZGVzY3JpcHRpb25cdTAwM2R0cnVlXHUwMDI2YWRfcG9kX2Rpc2FibGVfY29tcGFuaW9uX3BlcnNpc3RfYWRzX3F1YWxpdHlcdTAwM2R0cnVlXHUwMDI2YWxsb3dfYXV0b2hpZGVfb25fcGF1c2VkX3ZpZGVvc1x1MDAzZHRydWVcdTAwMjZhbGxvd19kcm1fb3ZlcnJpZGVcdTAwM2R0cnVlXHUwMDI2YWxsb3dfbGl2ZV9hdXRvcGxheVx1MDAzZHRydWVcdTAwMjZhbGxvd19wb2x0ZXJndXN0X2F1dG9wbGF5XHUwMDNkdHJ1ZVx1MDAyNmFsbG93X3NraXBfbmV0d29ya2xlc3NcdTAwM2R0cnVlXHUwMDI2YWxsb3dfdnA5XzEwODBwX21xX2VuY1x1MDAzZHRydWVcdTAwMjZhbHdheXNfY2FjaGVfcmVkaXJlY3RfZW5kcG9pbnRcdTAwM2R0cnVlXHUwMDI2YWx3YXlzX3NlbmRfYW5kX3dyaXRlXHUwMDNkdHJ1ZVx1MDAyNmFubm90YXRpb25fbW9kdWxlX3Zhc3RfY2FyZHNfbG9hZF9sb2dnaW5nX2ZyYWN0aW9uXHUwMDNkMC4wXHUwMDI2YXNzaWduX2RybV9mYW1pbHlfYnlfZm9ybWF0XHUwMDNkdHJ1ZVx1MDAyNmF0dF93ZWJfcmVjb3JkX21ldHJpY3NcdTAwM2R0cnVlXHUwMDI2YXR0YWNoX2V4cGVyaW1lbnRfcHJvcGFnYXRpb25fY29udGV4dF90b19jb25maWdcdTAwM2R0cnVlXHUwMDI2YXR0bXVzaVx1MDAzZHRydWVcdTAwMjZhdXRvcGxheV90aW1lXHUwMDNkMTAwMDBcdTAwMjZhdXRvcGxheV90aW1lX2Zvcl9mdWxsc2NyZWVuXHUwMDNkLTFcdTAwMjZhdXRvcGxheV90aW1lX2Zvcl9tdXNpY19jb250ZW50XHUwMDNkLTFcdTAwMjZiZ192bV9yZWluaXRfdGhyZXNob2xkXHUwMDNkNzIwMDAwMFx1MDAyNmJsb2NrX3R2aHRtbDVfc2ltcGx5X2VtYmVkZGVkXHUwMDNkdHJ1ZVx1MDAyNmJsb2NrZWRfcGFja2FnZXNfZm9yX3Nwc1x1MDAzZFtdXHUwMDI2Ym90Z3VhcmRfYXN5bmNfc25hcHNob3RfdGltZW91dF9tc1x1MDAzZDMwMDBcdTAwMjZieXBhc3NfbGljZW5zZV9jaGVja19mb3JfaW5saW5lX211dGVkXHUwMDNkdHJ1ZVx1MDAyNmNhcHRpb25zX3VybF9hZGRfZWlcdTAwM2R0cnVlXHUwMDI2Y2hlY2tfbmF2aWdhdG9yX2FjY3VyYWN5X3RpbWVvdXRfbXNcdTAwM2QwXHUwMDI2Y2hlY2tfcGxheWFiaWxpdHlfc3RhdHVzX2luX2ZpbGxlcnNcdTAwM2R0cnVlXHUwMDI2Y2xpZW50X3VpX2VuYWJsZV9tdWx0aV90cmFja19hdWRpb19vbl93ZWJfZW1iZWRkZWRfcGxheWVyXHUwMDNkdHJ1ZVx1MDAyNmNvbXByZXNzaW9uX2Rpc2FibGVfcG9pbnRcdTAwM2QxMFx1MDAyNmNvd19vcHRpbWl6ZV9pZG9tX2NvbXBhdFx1MDAzZHRydWVcdTAwMjZjc2lfb25fZ2VsXHUwMDNkdHJ1ZVx1MDAyNmN1c3RvbV9hY3RpdmVfdmlld190b3NfdGltZW91dF9tc1x1MDAzZDM2MDAwMDBcdTAwMjZkYXNoX21hbmlmZXN0X3ZlcnNpb25cdTAwM2Q1XHUwMDI2ZGVidWdfYmFuZGFpZF9ob3N0bmFtZVx1MDAzZFx1MDAyNmRlYnVnX2JhbmRhaWRfcG9ydFx1MDAzZDBcdTAwMjZkZWJ1Z19zaGVybG9nX3VzZXJuYW1lXHUwMDNkXHUwMDI2ZGVkdXBwaW5nX3NlcnZlcl92ZVx1MDAzZHRydWVcdTAwMjZkZWxoaV9mYXN0X2ZvbGxvd19hdXRvbmF2X3RvZ2dsZVx1MDAzZHRydWVcdTAwMjZkZWxoaV9tb2Rlcm5fcGxheWVyX2RlZmF1bHRfdGh1bWJuYWlsX3BlcmNlbnRhZ2VcdTAwM2QwLjBcdTAwMjZkZWxoaV9tb2Rlcm5fcGxheWVyX2Zhc3Rlcl9hdXRvaGlkZV9kZWxheV9tc1x1MDAzZDIwMDBcdTAwMjZkZWxoaV9tb2Rlcm5fcGxheWVyX3BhdXNlX3RodW1ibmFpbF9wZXJjZW50YWdlXHUwMDNkMC42XHUwMDI2ZGVsaGlfbW9kZXJuX3dlYl9wbGF5ZXJfYmxlbmRpbmdfbW9kZVx1MDAzZFx1MDAyNmRlbGhpX21vZGVybl93ZWJfcGxheWVyX2Rpc2FibGVfZnJvc3RlZF9nbGFzc1x1MDAzZHRydWVcdTAwMjZkZWxoaV9tb2Rlcm5fd2ViX3BsYXllcl9ob3Jpem9udGFsX3ZvbHVtZV9jb250cm9sc1x1MDAzZHRydWVcdTAwMjZkZWxoaV9tb2Rlcm5fd2ViX3BsYXllcl9saHNfdm9sdW1lX2NvbnRyb2xzXHUwMDNkdHJ1ZVx1MDAyNmRlbGhpX21vZGVybl93ZWJfcGxheWVyX3Jlc3BvbnNpdmVfY29tcGFjdF9jb250cm9sc190aHJlc2hvbGRcdTAwM2QwXHUwMDI2ZGVwcmVjYXRlX2NhcHRpb25zX3RyYWNrX2NvdW50X2Rpc3BsYXlcdTAwM2R0cnVlXHUwMDI2ZGVwcmVjYXRlX2RlbGF5X3BpbmdcdTAwM2R0cnVlXHUwMDI2ZGVwcmVjYXRlX3BhaXJfc2VydmxldF9lbmFibGVkXHUwMDNkdHJ1ZVx1MDAyNmRlc2t0b3Bfc3BhcmtsZXNfbGlnaHRfY3RhX2J1dHRvblx1MDAzZHRydWVcdTAwMjZkaXNhYmxlX2F2MV9zZXR0aW5nXHUwMDNkdHJ1ZVx1MDAyNmRpc2FibGVfY2hpbGRfbm9kZV9hdXRvX2Zvcm1hdHRlZF9zdHJpbmdzXHUwMDNkdHJ1ZVx1MDAyNmRpc2FibGVfbGlmYV9pbl8ya180a1x1MDAzZHRydWVcdTAwMjZkaXNhYmxlX2xvZ190b192aXNpdG9yX2xheWVyXHUwMDNkdHJ1ZVx1MDAyNmRpc2FibGVfcGFjZl9sb2dnaW5nX2Zvcl9tZW1vcnlfbGltaXRlZF90dlx1MDAzZHRydWVcdTAwMjZkaXNhYmxlX3JlZHVjZWRfZnVsbHNjcmVlbl9hdXRvcGxheV9jb3VudGRvd25fZm9yX21pbm9yc1x1MDAzZHRydWVcdTAwMjZkaXNhYmxlX3JlZWxfaXRlbV93YXRjaF9mb3JtYXRfZmlsdGVyaW5nXHUwMDNkdHJ1ZVx1MDAyNmRpc2FibGVfdG91Y2hfZXZlbnRzX29uX3NraXBfYnV0dG9uXHUwMDNkdHJ1ZVx1MDAyNmR1cmF0aW9uX2JlZm9yZV9wYXVzZV9hZF9icmVha19tc19mb3Jfc3lzdGVtX3BhdXNlXHUwMDNkNTAwMFx1MDAyNmVkZ2VfZW5jcnlwdGlvbl9maWxsX3ByaW1hcnlfa2V5X3ZlcnNpb25cdTAwM2R0cnVlXHUwMDI2ZW1iZWRzX2Rlc2t0b2ZmX2VuYWJsZV9hZHNfdG9wX2Jhclx1MDAzZHRydWVcdTAwMjZlbWJlZHNfZGVza3RvcF9lbmFibGVfdm9sdW1lX3NsaWRlclx1MDAzZHRydWVcdTAwMjZlbWJlZHNfZW5hYmxlX2NoYW5uZWxfc3Vic2NyaWJlX2RlcHJlY2F0aW9uXHUwMDNkdHJ1ZVx1MDAyNmVtYmVkc19lbmFibGVfZW1iZWRfY29uZmlnX2Zvcl9tdXRlZF9hdXRvcGxheVx1MDAzZHRydWVcdTAwMjZlbWJlZHNfZW5hYmxlX2lubmVydHViZV9zdG9yZVx1MDAzZHRydWVcdTAwMjZlbWJlZHNfZW5hYmxlX21vdmVfc2V0X2NlbnRlcl9jcm9wX3RvX3B1YmxpY1x1MDAzZHRydWVcdTAwMjZlbWJlZHNfZW5hYmxlX3Blcl92aWRlb19lbWJlZF9jb25maWdcdTAwM2R0cnVlXHUwMDI2ZW1iZWRzX3dlYl9saXRlX21vZGVcdTAwM2QxXHUwMDI2ZW5hYmxlX2ExMXlfZm9jdXNfZml4X2Zvcl9tYWNfcGFuZWxfb25fZGVza3RvcFx1MDAzZHRydWVcdTAwMjZlbmFibGVfYWJhbmRvbl9waW5nX2Zvcl9zc2RhaVx1MDAzZHRydWVcdTAwMjZlbmFibGVfYWNjZXNzX2NvZGVfc2VydmljZV9ycGNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FjaV9vbl9scl9mZWVkc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfYWN0aXZlX3ZpZXdfZGlzcGxheV9hZF9yZW5kZXJlcl93ZWJfaG9tZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfYWN0aXZlX3ZpZXdfbHJfc2hvcnRzX3ZpZGVvXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hY3RpdmVfdmlld193ZWJfc2hvcnRzX3ZpZGVvXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9hZF9jcG5fbWFjcm9fc3Vic3RpdHV0aW9uX2Zvcl9jbGlja19waW5nc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfYWRfZGlzY2xvc3VyZV9iYW5uZXJfYTExeV9maXhcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FudGlzY3JhcGluZ193ZWJfcGxheWVyX2V4cGlyZWRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2FwcF9wcm9tb19lbmRjYXBfZW1sX29uX3RhYmxldFx1MDAzZHRydWVcdTAwMjZlbmFibGVfYXR0ZW50aW9uX2xvZ2dpbmdfbWVhc3VyZV9vbl9zaG93blx1MDAzZHRydWVcdTAwMjZlbmFibGVfYXVfdTE2X3ZlcmlmeV9hZ2VfcGFnZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfYXV0b21vdGl2ZV9mb3JtX2ZhY3Rvcl9jaGVja1x1MDAzZHRydWVcdTAwMjZlbmFibGVfYmF0Y2hlZF9jcm9zc19kZXZpY2VfcGluZ3NfaW5fZ2VsX2Zhbm91dFx1MDAzZHRydWVcdTAwMjZlbmFibGVfY2FwYWJpbGl0eV9mb3JtYXRfZmlsdGVyX2luX3dhdGNoX3NlcnZlclx1MDAzZHRydWVcdTAwMjZlbmFibGVfY2FzdF9mb3Jfd2ViX3VucGx1Z2dlZFx1MDAzZHRydWVcdTAwMjZlbmFibGVfY2VudGVyZWRfY2FwdGlvbl9mb3JfdHZmaWxtX3ZpZGVvXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jaXBoZXJfZm9yX21hbmlmZXN0X3VybHNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2NsZWFudXBfbWFzdGhlYWRfYXV0b3BsYXlfaGFja19maXhcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2NsaWVudF9wYWdlX2lkX2hlYWRlcl9mb3JfZmlyc3RfcGFydHlfcGluZ3NcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2NsaWVudF9zbGlfbG9nZ2luZ1x1MDAzZHRydWVcdTAwMjZlbmFibGVfY2xpZW50X3ZlX3NwZWNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2N0YV9iYW5uZXJfb25fdW5wbHVnZ2VkX2xyXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9jdXN0b21fcGxheWhlYWRfcGFyc2luZ1x1MDAzZHRydWVcdTAwMjZlbmFibGVfY3VzdG9tX3NjcnViYmVyX3YyXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9kYWlfc2RmX2g1X3ByZXJvbGxcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2RhdGFzeW5jX2lkX2hlYWRlcl9pbl93ZWJfdnNzX3BpbmdzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9kZWZhdWx0X21vbm9fY3RhX21pZ3JhdGlvbl93ZWJfY2xpZW50XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9kc2FfYWRfYmFkZ2VfZm9yX2FjdGlvbl9lbmRjYXBfb25fYW5kcm9pZFx1MDAzZHRydWVcdTAwMjZlbmFibGVfZHNhX2FkX2JhZGdlX2Zvcl9hY3Rpb25fZW5kY2FwX29uX2lvc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfZW5kZW1pY19oaWdoX2Njdl9zbWVhcmluZ19oNVx1MDAzZHRydWVcdTAwMjZlbmFibGVfZW50aXR5X3N0b3JlX2Zyb21fZGVwZW5kZW5jeV9pbmplY3Rpb25cdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2Vycm9yX2NvcnJlY3Rpb25zX2luZm9jYXJkX3dlYl9jbGllbnRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2Vycm9yX2NvcnJlY3Rpb25zX2luZm9jYXJkc19pY29uX3dlYlx1MDAzZHRydWVcdTAwMjZlbmFibGVfZ2V0X3JlbWluZGVyX2J1dHRvbl9vbl93ZWJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX2lubGluZV9tdXRlZF9wbGF5YmFja19vbl93ZWJfc2VhcmNoXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9pbmxpbmVfbXV0ZWRfcGxheWJhY2tfb25fd2ViX3NlYXJjaF9mb3JfdmRjXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9pbmxpbmVfbXV0ZWRfcGxheWJhY2tfb25fd2ViX3NlYXJjaF9mb3JfdmRjYlx1MDAzZHRydWVcdTAwMjZlbmFibGVfaXNfZXh0ZW5kZWRfbW9uaXRvcmluZ1x1MDAzZHRydWVcdTAwMjZlbmFibGVfbHRjX3BhcmFtX2ZldGNoX2Zyb21faW5uZXJ0dWJlXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9taXhlZF9kaXJlY3Rpb25fZm9ybWF0dGVkX3N0cmluZ3NcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX21vZGVybl9za2lwX2J1dHRvbl9vbl93ZWJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX213ZWJfYXVkaW9fdHJhY2tfcGlja2VyXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9td2ViX2tleWJvYXJkX3Nob3J0Y3V0c1x1MDAzZHRydWVcdTAwMjZlbmFibGVfbmV3X3BhaWRfcHJvZHVjdF9wbGFjZW1lbnRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX29wZW5faW5fbmV3X3RhYl9pY29uX2Zvcl9zaG9ydF9kcl9mb3JfZGVza3RvcF9zZWFyY2hcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX291dF9vZl9zdG9ja190ZXh0X2FsbF9zdXJmYWNlc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfcGFpZF9jb250ZW50X292ZXJsYXlfYnVnZml4XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9wYXVzZV9hZHNfb25feXR2X2h0bWw1XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9wbGF5ZXJfY2FwdGlvbnNfcGVyc2lzdGVuY2Vfc3RhdGVfbWFjaGluZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfcG9fZGVjb3JhdGlvbl9vZl9mb3JjZWRfdHJhY2tzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9wb2xpY3lfYmFzZWRfaHFhX2ZpbHRlcl9pbl93YXRjaF9zZXJ2ZXJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3Byb2dyZXNfY29tbWFuZHNfbHJfZmVlZHNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3Byb2dyZXNzX2NvbW1hbmRzX2VsX2RhaVx1MDAzZHRydWVcdTAwMjZlbmFibGVfcHJvZ3Jlc3NfY29tbWFuZHNfbHJfc2hvcnRzXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9wdWJsaXNoaW5nX3JlZ2lvbl9wYXJhbV9pbl9zdXNcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3B2X3NjcmVlbl9tb2Rlcm5fdGV4dFx1MDAzZHRydWVcdTAwMjZlbmFibGVfcnByX3Rva2VuX29uX2x0bF9sb29rdXBcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NjcmVlbl9tYW5hZ2VyX2xheWVyX3NlcGFyYXRpb25cdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NkZl9jb21wYW5pb25faDVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NkZl9kYWlfaDVfbWlkcm9sbFx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2RmX2g1X2VuZGVtaWNfbWlkX3Bvc3Rfcm9sbFx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2RmX29uX2g1X3VucGx1Z2dlZF92b2RfbWlkcm9sbFx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2RmX3Nob3J0c19wbGF5ZXJfYnl0ZXNfaDVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NlcnZlcl9kcml2ZW5fYWJyXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zZXJ2ZXJfZHJpdmVuX2Ficl9mb3JfYmFja2dyb3VuZGFibGVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NlcnZlcl9kcml2ZW5fYWJyX3VybF9nZW5lcmF0aW9uXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zZXJ2ZXJfZHJpdmVuX3JlYWRhaGVhZFx1MDAzZHRydWVcdTAwMjZlbmFibGVfc2tpcF9hZF9ndWlkYW5jZV9wcm9tcHRcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NraXBfdG9fbmV4dF9tZXNzYWdpbmdcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NraXBwYWJsZV9hZHNfZm9yX3VucGx1Z2dlZF9hZF9wb2RcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3NtYXJ0X3NraXBfcGxheWVyX2NvbnRyb2xzX3Nob3duX29uX3dlYlx1MDAzZHRydWVcdTAwMjZlbmFibGVfc21hcnRfc2tpcF9wbGF5ZXJfY29udHJvbHNfc2hvd25fb25fd2ViX2luY3JlYXNlZF90cmlnZ2VyaW5nX3NlbnNpdGl2aXR5XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zbWFydF9za2lwX3NwZWVkbWFzdGVyX29uX3dlYlx1MDAzZHRydWVcdTAwMjZlbmFibGVfc21lYXJpbmdfZXhwYW5zaW9uX2RhaVx1MDAzZHRydWVcdTAwMjZlbmFibGVfc3BsaXRfc2NyZWVuX2FkX2Jhc2VsaW5lX2V4cGVyaWVuY2VfZW5kZW1pY19saXZlX2g1XHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zdWJmcmFnbWVudGVkX2NhcHRpb25fZmlsdGVyaW5nXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV9zdXBleF9td2ViX2RlbW9fd2ViZmVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3RvX2NhbGxfcGxheXJlYWR5X2JhY2tlbmRfZGlyZWN0bHlcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3VuaWZpZWRfYWN0aW9uX2VuZGNhcF9vbl93ZWJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3Zlbm9tX25vdGlmaWNhdGlvbl9jYWNoZVx1MDAzZHRydWVcdTAwMjZlbmFibGVfdmlkZW9fZGlzcGxheV9jb21wYWN0X2J1dHRvbl9ncm91cF9mb3JfZGVza3RvcF9zZWFyY2hcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3ZvaWNlX2Jvb3N0X2ZlYXR1cmVcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3ZwOV9hcHBsZXR2NV9vbl9zZXJ2ZXJcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3dlYl9kZWxoaV9pY29uc1x1MDAzZHRydWVcdTAwMjZlbmFibGVfd2ViX2hvbWVfdG9wX2xhbmRzY2FwZV9pbWFnZV9sYXlvdXRfbGV2ZWxfY2xpY2tcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3dlYl9tZWRpYV9zZXNzaW9uX21ldGFkYXRhX2ZpeFx1MDAzZHRydWVcdTAwMjZlbmFibGVfd2ViX3ByZW1pdW1fdmFyaXNwZWVkX3Vwc2VsbFx1MDAzZHRydWVcdTAwMjZlbmFibGVfd2ViX3Nob3J0c19hdWRpb190cmFja1x1MDAzZHRydWVcdTAwMjZlbmFibGVfd2ViX3RpZXJlZF9nZWxcdTAwM2R0cnVlXHUwMDI2ZW5hYmxlX3dpel9xdWV1ZV9lZmZlY3RfYW5kX29uX2luaXRfaW5pdGlhbF9ydW5zXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV95dF9hdGFfaWZyYW1lX2F1dGh1c2VyXHUwMDNkdHJ1ZVx1MDAyNmVuYWJsZV95dHZfY3NkYWlfdnA5XHUwMDNkdHJ1ZVx1MDAyNmVuZGVtaWNfaGlnaF9jY3Zfc21lYXJpbmdfYWxsb3dlZF92aWRlb19pZHNcdTAwM2RbT0psd0lkb0Z6OUEsIEFyS2JBeDFLLTJVLCBtX2RoTVN2VUNJYywgQzFEaHBKMDdadUUsIE5xMndZbFdGdWNnLCBKQzdmM0VVRGFxdywgdnIzWHlWQ1I0VDAsIGdDTmVEV0NJMHZvLCBrQlR1ZG00Z2VNcywgRnhzZlZYNkIxTWssIHlsWUpTQlVnYU1BLCBWV2hRNnhzcG5TYywgUkhVYXVNY1lsWDAsIGNiMTJLbU1NREpBLCBXSnhFal9ocnBTZywgZXVoWS10bWc5eDgsIFRsSVZJMkVXN1IwLCBNSU5mdk9YNEJ6SSwgeUhtUFd6a2hjWjgsIHAzdzF2TzlYdjI0LCBWbGFDbnAxZnhJOCwgLU9mQTA0QkQ0R0EsIDFvZFkzSVlzTm5vLCB3aVRUclZxUlZEdywgRGZtMnJCLW5ROVksIFFtMUZ0ejhsVm5JLCA5aXRBeHFfU0dETSwgeUZJM3dwWHk0ekEsIFB5NUpZWlhKdnpvLCBiNHRFNWFLaHRsZywgNUpEeGpzQVZhR2ssIGVVbWZHUGF6dUVNLCBXOG5UaHE2MlZiNCwgVkxqdlMzdWZsWGMsIEJmZExLdkpCTV9jLCB3ZUxYZHdWalN4cywgMkphLXVQT2t6N0ksIEE5UUJWRkVZeE9RLCBrLVpGUWtrSFVmYywgd3V1MEQyMEFacUksIF9IdmlTeUM3elNVLCBfX3hPel9RM3FSNCwgdzJzQjg3akxFMUksIDhyVFRFTWRNaDhRLCAtazZtcGdteGVyVSwgOTdja25ySnlMV2csIDJGSXRWeXhMTk5jLCBvdG54ZmNzR0UtWSwgczl4TDFEcEJzZlEsIHdmQUdCVmdVcnJvLCBuWEg2VHhRLXNpOCwgV2lJMVhnX25FdTgsIDNmbGFzR1ZVckNBLCBlRFlfSGU5MmxjVSwgYTQ3Y2tYS1pqeEksIEk2V1JYZUtaSzY0LCBUOUo1RHFQMkRLdywgS3RrX0kwcFVwRzgsIGVRMmN6R3FPQ1BnLCBoTG1VNDlobVo0YywgN2Y3TWdhTUU3U2MsIFFCNUJOZEJGdWpFLCBBR2h0TVVfZmk3MCwgcDJSYVFVUlJBd0EsIG16X19FTVlwV1B3LCA2amhMdVNRVkl4VSwgckM4M3ZfdXVJcW8sIDZEYUdkSlJfZUxnLCBjbTQzdVhqZnZaWSwgWTFKc1BwbTJibVEsIHowOTdqUHlLZWVvLCBUWVZaV1VUamt4MCwgVkhhQXZlbmZURGssIHR2OU9VXzVRMHBRLCA2b0tDdnptNkhtZywgQkVGVUVSaFQwbjAsIHVUTi1ldTAtT1hFLCBoYmFwcmhSN3pUbywgMkNWMFYtb01ORk0sIHU4ZFNPS29OSnAwLCBIOE1xcXdtRnN4WSwgSXNra21OUEpkVWssIFg5SF9FenBER1hRXVx1MDAyNmVuZGVtaWNfaGlnaF9jY3Zfc21lYXJpbmdfbWF4X3dpbmRvd19zZWNvbmRzXHUwMDNkNjBcdTAwMjZleHBhbmRfbWVkaWF0ZWtfZGVueWxpc3RfdG9fYWxsX2xpdmVfdnA5X2luX2JhY2tlbmRfZXhwZXJpbWVudFx1MDAzZFtdXHUwMDI2ZXhwb3J0X25ldHdvcmtsZXNzX29wdGlvbnNcdTAwM2R0cnVlXHUwMDI2ZXhwb3J0X3BsYXllcl92ZXJzaW9uX3RvX3l0Y29uZmlnXHUwMDNkdHJ1ZVx1MDAyNmZpbGxfYWRzX3VzdHJlYW1lcl9jb25maWdcdTAwM2R0cnVlXHUwMDI2ZmlsbF9saXZlX3JlcXVlc3RfY29uZmlnX2luX3VzdHJlYW1lcl9jb25maWdcdTAwM2R0cnVlXHUwMDI2ZmlsbF9zaW5nbGVfdmlkZW9fd2l0aF9ub3RpZnlfdG9fbGFzclx1MDAzZHRydWVcdTAwMjZmaWx0ZXJfdmJfd2l0aG91dF9ub25fdmJfZXF1aXZhbGVudHNcdTAwM2R0cnVlXHUwMDI2ZmlsdGVyX3ZwOV9mb3JfbGl2ZV9kYWlcdTAwM2R0cnVlXHUwMDI2Zml4X2FkX21pbmlwbGF5ZXJfY29udHJvbHNfcmVuZGVyaW5nXHUwMDNkdHJ1ZVx1MDAyNmZpeF9hZHNfdHJhY2tpbmdfZm9yX3N3Zl9jb25maWdfZGVwcmVjYXRpb25fbXdlYlx1MDAzZHRydWVcdTAwMjZmaXhfaDVfdG9nZ2xlX2J1dHRvbl9hMTF5XHUwMDNkdHJ1ZVx1MDAyNmZpeF9zdXJ2ZXlfY29sb3JfY29udHJhc3Rfb25fZGVzdG9wXHUwMDNkdHJ1ZVx1MDAyNmZyZXNjYV9wb2xsaW5nX2RlbGF5X292ZXJyaWRlXHUwMDNkMFx1MDAyNmdhYl9yZXR1cm5fc2Ficl9zc2RhaV9jb25maWdcdTAwM2R0cnVlXHUwMDI2Z2VsX21pbl9iYXRjaF9zaXplXHUwMDNkM1x1MDAyNmdlbF9xdWV1ZV90aW1lb3V0X21heF9tc1x1MDAzZDYwMDAwXHUwMDI2Z3ZpX2NoYW5uZWxfY2xpZW50X3NjcmVlblx1MDAzZHRydWVcdTAwMjZoNV9jb21wYW5pb25fZW5hYmxlX2FkY3BuX21hY3JvX3N1YnN0aXR1dGlvbl9mb3JfY2xpY2tfcGluZ3NcdTAwM2R0cnVlXHUwMDI2aDVfZW5hYmxlX2FkX21ic1x1MDAzZHRydWVcdTAwMjZoNV9pbnBsYXllcl9lbmFibGVfYWRjcG5fbWFjcm9fc3Vic3RpdHV0aW9uX2Zvcl9jbGlja19waW5nc1x1MDAzZHRydWVcdTAwMjZoNV9yZXNldF9jYWNoZV9hbmRfZmlsdGVyX2JlZm9yZV91cGRhdGVfbWFzdGhlYWRcdTAwM2R0cnVlXHUwMDI2aDVfemVyb19kdXJhdGlvbl9jdWVfcmFuZ2VfZm9yX2RpYnNcdTAwM2R0cnVlXHUwMDI2aGZyX2Ryb3BwZWRfZnJhbWVyYXRlX2ZhbGxiYWNrX3RocmVzaG9sZFx1MDAzZDBcdTAwMjZoaWdoX2Njdl9jbGllbnRfc2lkZV9jYWNoaW5nX2g1XHUwMDNkdHJ1ZVx1MDAyNmhsc191c2VfbmV3X2NvZGVjc19zdHJpbmdfYXBpXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2FkX3RpbWVvdXRfbXNcdTAwM2QwXHUwMDI2aHRtbDVfYWRhcHRhdGlvbl9zdGVwX2NvdW50XHUwMDNkMFx1MDAyNmh0bWw1X2Fkc19wcmVyb2xsX2xvY2tfdGltZW91dF9kZWxheV9tc1x1MDAzZDE1MDAwXHUwMDI2aHRtbDVfYWxsb3dfbXVsdGl2aWV3X3RpbGVfcHJlbG9hZFx1MDAzZHRydWVcdTAwMjZodG1sNV9hbGxvd19wcmVsb2FkaW5nX3dpdGhfaWRsZV9vbmx5X25ldHdvcmtfZm9yX3NhYnJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfYWxsb3dfdmlkZW9fa2V5ZnJhbWVfd2l0aG91dF9hdWRpb1x1MDAzZHRydWVcdTAwMjZodG1sNV9hcHBseV9jb25zdHJhaW50c19pbl9jbGllbnRfZm9yX3NhYnJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfYXBwbHlfbWluX2ZhaWx1cmVzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2FwcGx5X3N0YXJ0X3RpbWVfd2l0aGluX2Fkc19mb3Jfc3NkYWlfdHJhbnNpdGlvbnNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfYXRyX2Rpc2FibGVfZm9yY2VfZmFsbGJhY2tcdTAwM2R0cnVlXHUwMDI2aHRtbDVfYXR0X3BsYXliYWNrX3RpbWVvdXRfbXNcdTAwM2QzMDAwMFx1MDAyNmh0bWw1X2F0dGFjaF9udW1fcmFuZG9tX2J5dGVzX3RvX2JhbmRhaWRcdTAwM2QwXHUwMDI2aHRtbDVfYXR0YWNoX3BvX3Rva2VuX3RvX2JhbmRhaWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfYXV0b25hdl9jYXBfaWRsZV9zZWNzXHUwMDNkMFx1MDAyNmh0bWw1X2F1dG9uYXZfcXVhbGl0eV9jYXBcdTAwM2Q3MjBcdTAwMjZodG1sNV9hdXRvcGxheV9kZWZhdWx0X3F1YWxpdHlfY2FwXHUwMDNkMFx1MDAyNmh0bWw1X2F1eGlsaWFyeV9lc3RpbWF0ZV93ZWlnaHRcdTAwM2QwLjBcdTAwMjZodG1sNV9hdjFfb3JkaW5hbF9jYXBcdTAwM2QwXHUwMDI2aHRtbDVfYmFuZGFpZF9hdHRhY2hfY29udGVudF9wb190b2tlblx1MDAzZHRydWVcdTAwMjZodG1sNV9ibG9ja19waXBfc2FmYXJpX2RlbGF5XHUwMDNkMFx1MDAyNmh0bWw1X2J5cGFzc19jb250ZW50aW9uX3NlY3NcdTAwM2QwLjBcdTAwMjZodG1sNV9ieXRlcmF0ZV9zb2Z0X2NhcFx1MDAzZDBcdTAwMjZodG1sNV9jaGVja19mb3JfaWRsZV9uZXR3b3JrX2ludGVydmFsX21zXHUwMDNkMTAwMFx1MDAyNmh0bWw1X2NoaXBzZXRfc29mdF9jYXBcdTAwM2Q4MTkyXHUwMDI2aHRtbDVfY2xhbXBfaW52YWxpZF9zZWVrX3RvX21pbl9zZWVrYWJsZV90aW1lXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2NvbnN1bWVfYWxsX2J1ZmZlcmVkX2J5dGVzX29uZV9wb2xsXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2NvbnRpbnVvdXNfZ29vZHB1dF9wcm9iZV9pbnRlcnZhbF9tc1x1MDAzZDBcdTAwMjZodG1sNV9kNmRlNF9jbG91ZF9wcm9qZWN0X251bWJlclx1MDAzZDg2ODYxODY3Njk1Mlx1MDAyNmh0bWw1X2RlYnVnX2RhdGFfbG9nX3Byb2JhYmlsaXR5XHUwMDNkMC4wXHUwMDI2aHRtbDVfZGVjb2RlX3RvX3RleHR1cmVfY2FwXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2RlZmF1bHRfYWRfZ2Fpblx1MDAzZDAuNVx1MDAyNmh0bWw1X2RlZmF1bHRfYXYxX3RocmVzaG9sZFx1MDAzZDBcdTAwMjZodG1sNV9kZWZhdWx0X3F1YWxpdHlfY2FwXHUwMDNkMFx1MDAyNmh0bWw1X2RlZmVyX2ZldGNoX2F0dF9tc1x1MDAzZDBcdTAwMjZodG1sNV9kZWxheWVkX3JldHJ5X2NvdW50XHUwMDNkMVx1MDAyNmh0bWw1X2RlbGF5ZWRfcmV0cnlfZGVsYXlfbXNcdTAwM2Q1MDAwXHUwMDI2aHRtbDVfZGVwcmVjYXRlX2Fkc2VydmljZVx1MDAzZHRydWVcdTAwMjZodG1sNV9kZXByZWNhdGVfbWFuaWZlc3RmdWxfZmFsbGJhY2tcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGVwcmVjYXRlX3ZpZGVvX3RhZ19wb29sXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2Rlc2t0b3BfdnIxODBfYWxsb3dfcGFubmluZ1x1MDAzZHRydWVcdTAwMjZodG1sNV9kZl9kb3duZ3JhZGVfdGhyZXNoXHUwMDNkMC42XHUwMDI2aHRtbDVfZGlzYWJsZV9iYW5kd2lkdGhfY29mYWN0b3JzX2Zvcl9zYWJyX2xpdmVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGlzYWJsZV9jbGllbnRfYXV0b25hdl9jYXBfZm9yX29uZXNpZVx1MDAzZHRydWVcdTAwMjZodG1sNV9kaXNhYmxlX2xvb3BfcmFuZ2VfZm9yX3Nob3J0c19hZHNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGlzYWJsZV9ub25fY29udGlndW91c1x1MDAzZHRydWVcdTAwMjZodG1sNV9kaXNhYmxlX3BlYWtfc2hhdmVfZm9yX29uZXNpZVx1MDAzZHRydWVcdTAwMjZodG1sNV9kaXNhYmxlX3VzdHJlYW1lcl9jb25zdHJhaW50X2Zvcl9zYWJyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2Rpc2FibGVfd2ViX3NhZmFyaV9kYWlcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZGlzcGxheWVkX2ZyYW1lX3JhdGVfZG93bmdyYWRlX3RocmVzaG9sZFx1MDAzZDQ1XHUwMDI2aHRtbDVfZHJtX2J5dGVyYXRlX3NvZnRfY2FwXHUwMDNkMFx1MDAyNmh0bWw1X2RybV9jaGVja19hbGxfa2V5X2Vycm9yX3N0YXRlc1x1MDAzZHRydWVcdTAwMjZodG1sNV9kcm1fY3BpX2xpY2Vuc2Vfa2V5XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2RybV9saXZlX2J5dGVyYXRlX3NvZnRfY2FwXHUwMDNkMFx1MDAyNmh0bWw1X2Vhcmx5X21lZGlhX2Zvcl9zaGFycGVyX3Nob3J0c1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfYWMzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9hdWRpb190cmFja19zdGlja2luZXNzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9hdWRpb190cmFja19zdGlja2luZXNzX3BoYXNlX3R3b1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfY2FwdGlvbl9jaGFuZ2VzX2Zvcl9tb3NhaWNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2NvbXBvc2l0ZV9lbWJhcmdvXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9kNmRlNFx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfZDZkZTRfY29sZF9zdGFydF9hbmRfZXJyb3JcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2Q2ZGU0X2lkbGVfcHJpb3JpdHlfam9iXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9kcmNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX2RyY190b2dnbGVfYXBpXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9lYWMzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9lbWJlZGRlZF9wbGF5ZXJfdmlzaWJpbGl0eV9zaWduYWxzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9vZHVjXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9zYWJyX2Zvcm1hdF9zZWxlY3Rpb25cdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3NhYnJfZnJvbV93YXRjaF9zZXJ2ZXJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3NhYnJfaG9zdF9mYWxsYmFja1x1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfc2Ficl9vbl95dF9lbWJlZHNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3NhYnJfdm9kX3N0cmVhbWluZ194aHJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3NlcnZlcl9kcml2ZW5fcmVxdWVzdF9jYW5jZWxsYXRpb25cdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5hYmxlX3Nwc19yZXRyeV9iYWNrb2ZmX21ldGFkYXRhX3JlcXVlc3RzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV9zc2RhaV90cmFuc2l0aW9uX3dpdGhfb25seV9lbnRlcl9jdWVyYW5nZVx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfdHJpZ2dlcmluZ19jdWVwb2ludF9mb3Jfc2xvdFx1MDAzZHRydWVcdTAwMjZodG1sNV9lbmFibGVfdHZvc19kYXNoXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2VuYWJsZV90dm9zX2VuY3J5cHRlZF92cDlcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZW5jb3VyYWdlX2FycmF5X2NvYWxlc2NpbmdcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZmlsbF9kZWZhdWx0X21vc2FpY19hdWRpb190cmFja19pZFx1MDAzZHRydWVcdTAwMjZodG1sNV9maXhlZF9tZWRpYV9kdXJhdGlvbl9mb3JfcmVxdWVzdFx1MDAzZDBcdTAwMjZodG1sNV9mbHVzaF9pbmRleF9vbl91cGRhdGVkX3RpbWVzdGFtcF9vZmZzZXRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZm9yY2Vfc2Ficl9mcm9tX3dhdGNoX3NlcnZlcl9mb3JfZGZzc1x1MDAzZHRydWVcdTAwMjZodG1sNV9mb3J3YXJkX2NsaWNrX3RyYWNraW5nX3BhcmFtc19vbl9yZWxvYWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfZ2FwbGVzc19hZF9hdXRvcGxheV9vbl92aWRlb190b19hZF9vbmx5XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2dhcGxlc3NfZW5kZWRfdHJhbnNpdGlvbl9idWZmZXJfbXNcdTAwM2QyMDBcdTAwMjZodG1sNV9nYXBsZXNzX2hhbmRvZmZfY2xvc2VfZW5kX2xvbmdfcmVidWZmZXJfY2ZsXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2dhcGxlc3NfaGFuZG9mZl9jbG9zZV9lbmRfbG9uZ19yZWJ1ZmZlcl9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9nYXBsZXNzX2xvb3Bfc2Vla19vZmZzZXRfaW5fbWlsbGlcdTAwM2QwXHUwMDI2aHRtbDVfZ2FwbGVzc19zbG93X3NlZWtfY2ZsXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2dhcGxlc3Nfc2xvd19zZWVrX2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X2dhcGxlc3Nfc2xvd19zdGFydF9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9nZW5lcmF0ZV9jb250ZW50X3BvX3Rva2VuXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2dlbmVyYXRlX3Nlc3Npb25fcG9fdG9rZW5cdTAwM2R0cnVlXHUwMDI2aHRtbDVfZ2xfZnBzX3RocmVzaG9sZFx1MDAzZDBcdTAwMjZodG1sNV9oYXJkX2NhcF9tYXhfdmVydGljYWxfcmVzb2x1dGlvbl9mb3Jfc2hvcnRzXHUwMDNkMFx1MDAyNmh0bWw1X2hkY3BfcHJvYmluZ19zdHJlYW1fdXJsXHUwMDNkXHUwMDI2aHRtbDVfaGVhZF9taXNzX3NlY3NcdTAwM2QwLjBcdTAwMjZodG1sNV9oZnJfcXVhbGl0eV9jYXBcdTAwM2QwXHUwMDI2aHRtbDVfaGlnaF9yZXNfbG9nZ2luZ19wZXJjZW50XHUwMDNkMC4wMVx1MDAyNmh0bWw1X2hpZ2hfcmVzX3NlZWtfbG9nZ2luZ1x1MDAzZHRydWVcdTAwMjZodG1sNV9ob3BlbGVzc19zZWNzXHUwMDNkMFx1MDAyNmh0bWw1X2h1bGlfc3NkYWlfdXNlX3BsYXliYWNrX3N0YXRlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2lkbGVfcmF0ZV9saW1pdF9tc1x1MDAzZDBcdTAwMjZodG1sNV9pZ25vcmVfcGFydGlhbF9zZWdtZW50X2Zyb21fbGl2ZV9yZWFkYWhlYWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfaWdub3JlX3NhYnJzZWVrX2R1cmluZ19hZHNraXBcdTAwM2R0cnVlXHUwMDI2aHRtbDVfaW5uZXJ0dWJlX2hlYXJ0YmVhdHNfZm9yX2ZhaXJwbGF5XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2lubmVydHViZV9oZWFydGJlYXRzX2Zvcl93aWRldmluZVx1MDAzZHRydWVcdTAwMjZodG1sNV9qdW1ib19tb2JpbGVfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGFyZ2V0XHUwMDNkMy4wXHUwMDI2aHRtbDVfanVtYm9fdWxsX25vbnN0cmVhbWluZ19tZmZhX21zXHUwMDNkNDAwMFx1MDAyNmh0bWw1X2p1bWJvX3VsbF9zdWJzZWdtZW50X3JlYWRhaGVhZF90YXJnZXRcdTAwM2QxLjNcdTAwMjZodG1sNV9rYWJ1a2lfZHJtX2xpdmVfNTFfZGVmYXVsdF9vZmZcdTAwM2R0cnVlXHUwMDI2aHRtbDVfbGljZW5zZV9jb25zdHJhaW50X2RlbGF5XHUwMDNkNTAwMFx1MDAyNmh0bWw1X2xpdmVfYWJyX2hlYWRfbWlzc19mcmFjdGlvblx1MDAzZDAuMFx1MDAyNmh0bWw1X2xpdmVfYWJyX3JlcHJlZGljdF9mcmFjdGlvblx1MDAzZDAuMFx1MDAyNmh0bWw1X2xpdmVfY2h1bmtfcmVhZGFoZWFkX3Byb3hpbWFfb3ZlcnJpZGVcdTAwM2QwXHUwMDI2aHRtbDVfbGl2ZV9sb3dfbGF0ZW5jeV9iYW5kd2lkdGhfd2luZG93XHUwMDNkMC4wXHUwMDI2aHRtbDVfbGl2ZV9ub3JtYWxfbGF0ZW5jeV9iYW5kd2lkdGhfd2luZG93XHUwMDNkMC4wXHUwMDI2aHRtbDVfbGl2ZV9xdWFsaXR5X2NhcFx1MDAzZDBcdTAwMjZodG1sNV9saXZlX3VsdHJhX2xvd19sYXRlbmN5X2JhbmR3aWR0aF93aW5kb3dcdTAwM2QwLjBcdTAwMjZodG1sNV9saXZlbmVzc19kcmlmdF9jaHVua19vdmVycmlkZVx1MDAzZDBcdTAwMjZodG1sNV9saXZlbmVzc19kcmlmdF9wcm94aW1hX292ZXJyaWRlXHUwMDNkMFx1MDAyNmh0bWw1X2xvZ19hdWRpb19hYnJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfbG9nX2V4cGVyaW1lbnRfaWRfZnJvbV9wbGF5ZXJfcmVzcG9uc2VfdG9fY3RtcFx1MDAzZFx1MDAyNmh0bWw1X2xvZ19maXJzdF9zc2RhaV9yZXF1ZXN0c19raWxsc3dpdGNoXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X2xvZ19yZWJ1ZmZlcl9ldmVudHNcdTAwM2Q1XHUwMDI2aHRtbDVfbG9nX3NhYnJfbWFsZm9ybWVkX2NvbmZpZ19wcm90b19zaGFyZWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfbG9nX3RyaWdnZXJfZXZlbnRzX3dpdGhfZGVidWdfZGF0YVx1MDAzZHRydWVcdTAwMjZodG1sNV9sb2dfdnNzX2V4dHJhX2xyX2NwYXJhbXNfZnJlcVx1MDAzZFx1MDAyNmh0bWw1X2xvbmdfcmVidWZmZXJfamlnZ2xlX2NtdF9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9sb25nX3JlYnVmZmVyX3RocmVzaG9sZF9tc1x1MDAzZDMwMDAwXHUwMDI2aHRtbDVfbWFuaWZlc3RsZXNzX3ZwOV9vdGZcdTAwM2R0cnVlXHUwMDI2aHRtbDVfbWF4X2J1ZmZlcl9oZWFsdGhfZm9yX2Rvd25ncmFkZV9wcm9wXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWF4X2J1ZmZlcl9oZWFsdGhfZm9yX2Rvd25ncmFkZV9zZWNzXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWF4X2J5dGVyYXRlXHUwMDNkMFx1MDAyNmh0bWw1X21heF9kaXNjb250aW51aXR5X3Jld3JpdGVfY291bnRcdTAwM2QwXHUwMDI2aHRtbDVfbWF4X2RyaWZ0X3Blcl90cmFja19zZWNzXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWF4X2hlYWRtX2Zvcl9zdHJlYW1pbmdfeGhyXHUwMDNkMFx1MDAyNmh0bWw1X21heF9saXZlX2R2cl93aW5kb3dfcGx1c19tYXJnaW5fc2Vjc1x1MDAzZDQ2ODAwLjBcdTAwMjZodG1sNV9tYXhfcXVhbGl0eV9zZWxfdXBncmFkZVx1MDAzZDBcdTAwMjZodG1sNV9tYXhfcmVkaXJlY3RfcmVzcG9uc2VfbGVuZ3RoXHUwMDNkODE5Mlx1MDAyNmh0bWw1X21heF9zZWxlY3RhYmxlX3F1YWxpdHlfb3JkaW5hbFx1MDAzZDBcdTAwMjZodG1sNV9tYXhfdmVydGljYWxfcmVzb2x1dGlvblx1MDAzZDBcdTAwMjZodG1sNV9tYXhpbXVtX3JlYWRhaGVhZF9zZWNvbmRzXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWVkaWFfZnVsbHNjcmVlblx1MDAzZHRydWVcdTAwMjZodG1sNV9tZWRpYV90aW1lX3dlaWdodF9wcm9wXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWZjX21heF9xdWV1ZV9sZW5ndGhcdTAwM2QxXHUwMDI2aHRtbDVfbWZjX21pbl9idWZmZXJfaGVhbHRoXHUwMDNkMFx1MDAyNmh0bWw1X21mY19zZWNzX2xlZnRfdG9fc3RhcnRfcHJlbG9hZFx1MDAzZDBcdTAwMjZodG1sNV9taW5fZmFpbHVyZXNfdG9fZGVsYXlfcmV0cnlcdTAwM2QzXHUwMDI2aHRtbDVfbWluX21lZGlhX2R1cmF0aW9uX2Zvcl9hcHBlbmRfcHJvcFx1MDAzZDAuMFx1MDAyNmh0bWw1X21pbl9tZWRpYV9kdXJhdGlvbl9mb3JfY2Ficl9zbGljZVx1MDAzZDAuMDFcdTAwMjZodG1sNV9taW5fcGxheWJhY2tfYWR2YW5jZV9mb3Jfc3RlYWR5X3N0YXRlX3NlY3NcdTAwM2QwXHUwMDI2aHRtbDVfbWluX3F1YWxpdHlfb3JkaW5hbFx1MDAzZDBcdTAwMjZodG1sNV9taW5fcmVhZGJlaGluZF9jYXBfc2Vjc1x1MDAzZDYwXHUwMDI2aHRtbDVfbWluX3JlYWRiZWhpbmRfc2Vjc1x1MDAzZDBcdTAwMjZodG1sNV9taW5fc2Vjb25kc19iZXR3ZWVuX2Zvcm1hdF9zZWxlY3Rpb25zXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWluX3NlbGVjdGFibGVfcXVhbGl0eV9vcmRpbmFsXHUwMDNkMFx1MDAyNmh0bWw1X21pbl9zdGFydHVwX2J1ZmZlcmVkX21lZGlhX2R1cmF0aW9uX2Zvcl9saXZlX3NlY3NcdTAwM2QwLjBcdTAwMjZodG1sNV9taW5fc3RhcnR1cF9idWZmZXJlZF9tZWRpYV9kdXJhdGlvbl9zZWNzXHUwMDNkMS4yXHUwMDI2aHRtbDVfbWluX3N0YXJ0dXBfZHVyYXRpb25fbGl2ZV9zZWNzXHUwMDNkMC4yNVx1MDAyNmh0bWw1X21pbl91bmRlcnJ1bl9idWZmZXJlZF9wcmVfc3RlYWR5X3N0YXRlX21zXHUwMDNkMFx1MDAyNmh0bWw1X21pbl91cGdyYWRlX2hlYWx0aF9zZWNzXHUwMDNkMC4wXHUwMDI2aHRtbDVfbWluaW11bV9yZWFkYWhlYWRfc2Vjb25kc1x1MDAzZDAuMFx1MDAyNmh0bWw1X21vY2tfY29udGVudF9iaW5kaW5nX2Zvcl9zZXNzaW9uX3Rva2VuXHUwMDNkXHUwMDI2aHRtbDVfbW92ZV9kaXNhYmxlX2FpcnBsYXlcdTAwM2R0cnVlXHUwMDI2aHRtbDVfbm9fcGxhY2Vob2xkZXJfcm9sbGJhY2tzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X25vbl9vbmVzaWVfYXR0YWNoX3BvX3Rva2VuXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X29mZmxpbmVfZG93bmxvYWRfdGltZW91dF9yZXRyeV9saW1pdFx1MDAzZDRcdTAwMjZodG1sNV9vZmZsaW5lX2ZhaWx1cmVfcmV0cnlfbGltaXRcdTAwM2QyXHUwMDI2aHRtbDVfb2ZmbGluZV9wbGF5YmFja19wb3NpdGlvbl9zeW5jXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X29mZmxpbmVfcHJldmVudF9yZWRvd25sb2FkX2Rvd25sb2FkZWRfdmlkZW9cdTAwM2R0cnVlXHUwMDI2aHRtbDVfb25lc2llX2F1ZGlvX29ubHlfcGxheWJhY2tcdTAwM2R0cnVlXHUwMDI2aHRtbDVfb25lc2llX2NoZWNrX3RpbWVvdXRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfb25lc2llX2RlZmVyX2NvbnRlbnRfbG9hZGVyX21zXHUwMDNkMFx1MDAyNmh0bWw1X29uZXNpZV9saXZlX3R0bF9zZWNzXHUwMDNkOFx1MDAyNmh0bWw1X29uZXNpZV9wcmV3YXJtX2ludGVydmFsX21zXHUwMDNkMFx1MDAyNmh0bWw1X29uZXNpZV9wcmV3YXJtX21heF9sYWN0X21zXHUwMDNkMFx1MDAyNmh0bWw1X29uZXNpZV9yZWRpcmVjdG9yX3RpbWVvdXRfbXNcdTAwM2QwXHUwMDI2aHRtbDVfb25lc2llX3NlbmRfc3RyZWFtZXJfY29udGV4dFx1MDAzZHRydWVcdTAwMjZodG1sNV9vdmVycmlkZV9taWNyb19kaXNjb250aW51aXRpZXNfdGhyZXNob2xkX21zXHUwMDNkLTFcdTAwMjZodG1sNV9wYWNlZF9wb2xsX21pbl9oZWFsdGhfbXNcdTAwM2QwXHUwMDI2aHRtbDVfcGFjZWRfcG9sbF9tc1x1MDAzZDBcdTAwMjZodG1sNV9wYXVzZV9vbl9ub25mb3JlZ3JvdW5kX3BsYXRmb3JtX2Vycm9yc1x1MDAzZHRydWVcdTAwMjZodG1sNV9wZWFrX3NoYXZlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3BlcmZfY2FwX292ZXJyaWRlX3N0aWNreVx1MDAzZHRydWVcdTAwMjZodG1sNV9wZXJmb3JtYW5jZV9jYXBfZmxvb3JcdTAwM2QzNjBcdTAwMjZodG1sNV9wZXJzZXJ2ZV9hdjFfcGVyZl9jYXBcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcGljdHVyZV9pbl9waWN0dXJlX2xvZ2dpbmdfb25yZXNpemVfcmF0aW9cdTAwM2QwLjBcdTAwMjZodG1sNV9wbGF0Zm9ybV9tYXhfYnVmZmVyX2hlYWx0aF9vdmVyc2VuZF9kdXJhdGlvbl9zZWNzXHUwMDNkMC4wXHUwMDI2aHRtbDVfcGxhdGZvcm1fbWluaW11bV9yZWFkYWhlYWRfc2Vjb25kc1x1MDAzZDAuMFx1MDAyNmh0bWw1X3BsYXRmb3JtX3doaXRlbGlzdGVkX2Zvcl9mcmFtZV9hY2N1cmF0ZV9zZWVrc1x1MDAzZHRydWVcdTAwMjZodG1sNV9wbGF5ZXJfYXR0X2luaXRpYWxfZGVsYXlfbXNcdTAwM2QzMDAwXHUwMDI2aHRtbDVfcGxheWVyX2F0dF9yZXRyeV9kZWxheV9tc1x1MDAzZDE1MDBcdTAwMjZodG1sNV9wbGF5ZXJfYXV0b25hdl9sb2dnaW5nXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3BsYXllcl9lczZcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcGxheWVyX21pbl9idWlsZF9jbFx1MDAzZC0xXHUwMDI2aHRtbDVfcGxheWVyX3ByZWxvYWRfYWRfZml4XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3Bvc3RfaW50ZXJydXB0X3JlYWRhaGVhZFx1MDAzZDIwXHUwMDI2aHRtbDVfcHJlZmVyX2xhbmd1YWdlX292ZXJfY29kZWNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcHJlZmVyX3NlcnZlcl9id2UzXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3ByZWxvYWRfYmVmb3JlX2luaXRpYWxfc2Vla193aXRoX3NhYnJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcHJlbG9hZF93YWl0X3RpbWVfc2Vjc1x1MDAzZDAuMFx1MDAyNmh0bWw1X3ByZXZlbnRfbW9iaWxlX2JhY2tncm91bmRfcGxheV9vbl9ldmVudF9zaGFyZWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcHJvYmVfcHJpbWFyeV9kZWxheV9iYXNlX21zXHUwMDNkMFx1MDAyNmh0bWw1X3Byb2Nlc3NfYWxsX2VuY3J5cHRlZF9ldmVudHNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcW9lX3Byb3RvX21vY2tfbGVuZ3RoXHUwMDNkMFx1MDAyNmh0bWw1X3F1ZXJ5X3N3X3NlY3VyZV9jcnlwdG9fZm9yX2FuZHJvaWRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmFuZG9tX3BsYXliYWNrX2NhcFx1MDAzZDBcdTAwMjZodG1sNV9yZWNvcmRfaXNfb2ZmbGluZV9vbl9wbGF5YmFja19hdHRlbXB0X3N0YXJ0XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JlY29yZF91bXBfdGltaW5nXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JlbG9hZF9ieV9rYWJ1a2lfYXBwXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JlbW92ZV9jb21tYW5kX3RyaWdnZXJlZF9jb21wYW5pb25zXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JlbW92ZV9ub3Rfc2VydmFibGVfY2hlY2tfa2lsbHN3aXRjaFx1MDAzZHRydWVcdTAwMjZodG1sNV9yZXBvcnRfZmF0YWxfZHJtX3Jlc3RyaWN0ZWRfZXJyb3Jfa2lsbHN3aXRjaFx1MDAzZHRydWVcdTAwMjZodG1sNV9yZXBvcnRfc2xvd19hZHNfYXNfZXJyb3JcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmVwcmVkaWN0X2ludGVydmFsX21zXHUwMDNkMFx1MDAyNmh0bWw1X3JlcXVlc3Rfb25seV9oZHJfb3Jfc2RyX2tleXNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmVxdWVzdF9zaXplX21heF9rYlx1MDAzZDBcdTAwMjZodG1sNV9yZXF1ZXN0X3NpemVfbWluX2tiXHUwMDNkMFx1MDAyNmh0bWw1X3Jlc2Vla19hZnRlcl90aW1lX2p1bXBfY2ZsXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3Jlc2Vla19hZnRlcl90aW1lX2p1bXBfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfcmVzZXRfYmFja29mZl9vbl91c2VyX3NlZWtcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmVzb3VyY2VfYmFkX3N0YXR1c19kZWxheV9zY2FsaW5nXHUwMDNkMS41XHUwMDI2aHRtbDVfcmVzdHJpY3Rfc3RyZWFtaW5nX3hocl9vbl9zcWxlc3NfcmVxdWVzdHNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmV0cnlfZG93bmxvYWRzX2Zvcl9leHBpcmF0aW9uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JldHJ5X29uX2RybV9rZXlfZXJyb3JcdTAwM2R0cnVlXHUwMDI2aHRtbDVfcmV0cnlfb25fZHJtX3VuYXZhaWxhYmxlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JldHJ5X3F1b3RhX2V4Y2VlZGVkX3ZpYV9zZWVrXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3JldHVybl9wbGF5YmFja19pZl9hbHJlYWR5X3ByZWxvYWRlZFx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX2VuYWJsZV9zZXJ2ZXJfeHRhZ19zZWxlY3Rpb25cdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9mZXRjaF9vbl9pZGxlX25ldHdvcmtfcHJlbG9hZGVkX3BsYXllcnNcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9mb3JjZV9tYXhfbmV0d29ya19pbnRlcnJ1cHRpb25fZHVyYXRpb25fbXNcdTAwM2QwXHUwMDI2aHRtbDVfc2Ficl9saXZlX2xvd19sYXRlbmN5X3N0cmVhbWluZ194aHJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9saXZlX25vcm1hbF9sYXRlbmN5X3N0cmVhbWluZ194aHJcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9saXZlX3RpbWluZ1x1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX2xpdmVfdWx0cmFfbG93X2xhdGVuY3lfc3RyZWFtaW5nX3hoclx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX2xvZ19zZXJ2ZXJfeHRhZ19zZWxlY3Rpb25fb25lc2llX21pc21hdGNoXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfbWluX21lZGlhX2J5dGVzX2ZhY3Rvcl90b19hcHBlbmRfZm9yX3N0cmVhbVx1MDAzZDAuMFx1MDAyNmh0bWw1X3NhYnJfbm9uX3N0cmVhbWluZ194aHJfcmVxdWVzdF9jYW5jZWxsYXRpb25fdGltZW91dF9tc1x1MDAzZDBcdTAwMjZodG1sNV9zYWJyX25vbl9zdHJlYW1pbmdfeGhyX3RpbWVvdXRfcmV0cnlfbGltaXRcdTAwM2QwXHUwMDI2aHRtbDVfc2Ficl9yZXBvcnRfcGFydGlhbF9zZWdtZW50X2VzdGltYXRlZF9kdXJhdGlvblx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX3JlcG9ydF9yZXF1ZXN0X2NhbmNlbGxhdGlvbl9pbmZvXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfcmVxdWVzdF9saW1pdF9wZXJfcGVyaW9kXHUwMDNkMjBcdTAwMjZodG1sNV9zYWJyX3JlcXVlc3Rfb25fY29uc3RyYWludFx1MDAzZHRydWVcdTAwMjZodG1sNV9zYWJyX3NlZWtfbm9fc2hpZnRfdG9sZXJhbmNlXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfc2tpcF9jbGllbnRfYXVkaW9faW5pdF9zZWxlY3Rpb25cdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Ficl9zdWNjZXNzZnVsX3Byb2JlX3RpbWVvdXRfbXNcdTAwM2QwXHUwMDI2aHRtbDVfc2Ficl91Z2Nfdm9kX3dlYl9lbWJlZGRlZF9jbGllbnRfZGVmYXVsdF9iYW5kd2lkdGhfb25faXBob25lXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3NhYnJfdW51c2VkX2Jsb2F0X3NpemVfYnl0ZXNcdTAwM2QwXHUwMDI2aHRtbDVfc2Ftc3VuZ19rYW50X2xpbWl0X21heF9iaXRyYXRlXHUwMDNkMFx1MDAyNmh0bWw1X3NlZWtfamlnZ2xlX2NtdF9kZWxheV9tc1x1MDAzZDgwMDBcdTAwMjZodG1sNV9zZWVrX25ld19lbGVtX2RlbGF5X21zXHUwMDNkMTIwMDBcdTAwMjZodG1sNV9zZWVrX25ld19lbGVtX3Nob3J0c19kZWxheV9tc1x1MDAzZDIwMDBcdTAwMjZodG1sNV9zZWVrX25ld19tZWRpYV9lbGVtZW50X3Nob3J0c19yZXVzZV9jZmxcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Vla19uZXdfbWVkaWFfZWxlbWVudF9zaG9ydHNfcmV1c2VfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfc2Vla19uZXdfbWVkaWFfc291cmNlX3Nob3J0c19yZXVzZV9jZmxcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2Vla19uZXdfbWVkaWFfc291cmNlX3Nob3J0c19yZXVzZV9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9zZWVrX3NldF9jbXRfZGVsYXlfbXNcdTAwM2QyMDAwXHUwMDI2aHRtbDVfc2Vla190aW1lb3V0X2RlbGF5X21zXHUwMDNkMjAwMDBcdTAwMjZodG1sNV9zZW5kX2N1ZXBvaW50X2lkX2luX2FkX2JyZWFrX3JlcXVlc3RcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2VuZF9zZXJpYWxpemVkX29uZV90aW1lX3FvZV9jb250ZXh0X2RhdGFcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2VydmVfc3RhcnRfc2Vjb25kc19zZWVrX2Zvcl9wb3N0X2xpdmVfc2Ficlx1MDAzZHRydWVcdTAwMjZodG1sNV9zZXJ2ZXJfc3RpdGNoZWRfZGFpX2RlY29yYXRlZF91cmxfcmV0cnlfbGltaXRcdTAwM2Q1XHUwMDI2aHRtbDVfc2Vzc2lvbl9wb190b2tlbl9pbnRlcnZhbF90aW1lX21zXHUwMDNkOTAwMDAwXHUwMDI2aHRtbDVfc2V0X3ZpZGVvX2lkX2FzX2V4cGVjdGVkX2NvbnRlbnRfYmluZGluZ1x1MDAzZHRydWVcdTAwMjZodG1sNV9zaG9ydHNfZ2FwbGVzc19hZF9zbG93X3N0YXJ0X2NmbFx1MDAzZHRydWVcdTAwMjZodG1sNV9zaG9ydHNfZ2FwbGVzc19hZF9zbG93X3N0YXJ0X2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X3Nob3J0c19nYXBsZXNzX25leHRfYnVmZmVyX2luX3NlY29uZHNcdTAwM2QwXHUwMDI2aHRtbDVfc2hvcnRzX2dhcGxlc3Nfbm9fZ2xsYXRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2hvcnRzX2dhcGxlc3Nfc2xvd19zdGFydF9kZWxheV9tc1x1MDAzZDBcdTAwMjZodG1sNV9zaG93X2RyY190b2dnbGVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2ltcGxpZmllZF9iYWNrdXBfdGltZW91dF9zYWJyX2xpdmVcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc2tpcF9lbXB0eV9wb190b2tlblx1MDAzZHRydWVcdTAwMjZodG1sNV9za2lwX3Nsb3dfYWRfZGVsYXlfbXNcdTAwM2QxNTAwMFx1MDAyNmh0bWw1X3Nsb3dfc3RhcnRfbm9fbWVkaWFfc291cmNlX2RlbGF5X21zXHUwMDNkMFx1MDAyNmh0bWw1X3Nsb3dfc3RhcnRfdGltZW91dF9kZWxheV9tc1x1MDAzZDIwMDAwXHUwMDI2aHRtbDVfc3NkYWlfZW5hYmxlX21lZGlhX2VuZF9jdWVfcmFuZ2VcdTAwM2R0cnVlXHUwMDI2aHRtbDVfc3NkYWlfZmFpbHVyZV9yZXRyeV9saW1pdFx1MDAzZDBcdTAwMjZodG1sNV9zc2RhaV9sb2dfbWlzc2luZ19hZF9jb25maWdfcmVhc29uXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3N0YWxsX2ZhY3Rvclx1MDAzZDAuMFx1MDAyNmh0bWw1X3N0YXRlZnVsX2F1ZGlvX25vcm1hbGl6YXRpb25cdTAwM2R0cnVlXHUwMDI2aHRtbDVfc3RpY2t5X2R1cmF0aW9uX21vc1x1MDAzZDBcdTAwMjZodG1sNV9zdG9yZV94aHJfaGVhZGVyc19yZWFkYWJsZVx1MDAzZHRydWVcdTAwMjZodG1sNV9zdHJlYW1pbmdfcmVzaWxpZW5jZVx1MDAzZHRydWVcdTAwMjZodG1sNV9zdHJlYW1pbmdfeGhyX3RpbWVfYmFzZWRfY29uc29saWRhdGlvbl9tc1x1MDAzZC0xXHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfbG9hZF9zcGVlZF9jaGVja19pbnRlcnZhbFx1MDAzZDAuNVx1MDAyNmh0bWw1X3N1YnNlZ21lbnRfcmVhZGFoZWFkX21pbl9idWZmZXJfaGVhbHRoX3NlY3NcdTAwM2QwLjI1XHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfbWluX2J1ZmZlcl9oZWFsdGhfc2Vjc19vbl90aW1lb3V0XHUwMDNkMC4xXHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfbWluX2xvYWRfc3BlZWRcdTAwM2QxLjVcdTAwMjZodG1sNV9zdWJzZWdtZW50X3JlYWRhaGVhZF9zZWVrX2xhdGVuY3lfZnVkZ2VcdTAwM2QwLjVcdTAwMjZodG1sNV9zdWJzZWdtZW50X3JlYWRhaGVhZF90YXJnZXRfYnVmZmVyX2hlYWx0aF9zZWNzXHUwMDNkMC41XHUwMDI2aHRtbDVfc3Vic2VnbWVudF9yZWFkYWhlYWRfdGltZW91dF9zZWNzXHUwMDNkMi4wXHUwMDI2aHRtbDVfdHJhY2tfb3ZlcnNob290XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3RyYW5zZmVyX3Byb2Nlc3NpbmdfbG9nc19pbnRlcnZhbFx1MDAzZDEwMDBcdTAwMjZodG1sNV90cmlnZ2VyX2xvYWRlcl93aGVuX2lkbGVfbmV0d29ya1x1MDAzZHRydWVcdTAwMjZodG1sNV91Z2NfbGl2ZV9hdWRpb181MVx1MDAzZHRydWVcdTAwMjZodG1sNV91Z2Nfdm9kX2F1ZGlvXzUxXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VucmVwb3J0ZWRfc2Vla19yZXNlZWtfZGVsYXlfbXNcdTAwM2QwXHUwMDI2aHRtbDVfdXBkYXRlX3RpbWVfb25fc2Vla2VkXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VzZV9kYXRlX25vd19mb3JfbG9jYWxfc3RvcmFnZVx1MDAzZHRydWVcdTAwMjZodG1sNV91c2VfaW5pdF9zZWxlY3RlZF9hdWRpb1x1MDAzZHRydWVcdTAwMjZodG1sNV91c2Vfbm9uX2FjdGl2ZV9icm9hZGNhc3RfZm9yX3Bvc3RfbGl2ZVx1MDAzZHRydWVcdTAwMjZodG1sNV91c2VfcG9zdF9mb3JfbWVkaWFcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX3NoYXJlZF9vd2xfaW5zdGFuY2VcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX3VtcFx1MDAzZHRydWVcdTAwMjZodG1sNV91c2VfdW1wX3JlcXVlc3Rfc2xpY2VyXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VzZV91bXBfdGltaW5nXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3VzZV92aWRlb19xdWFsaXR5X2NhcF9mb3JfdXN0cmVhbWVyX2NvbnN0cmFpbnRcdTAwM2R0cnVlXHUwMDI2aHRtbDVfdXNlX3ZpZGVvX3RyYW5zaXRpb25fZW5kcG9pbnRfaGVhcnRiZWF0XHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3ZpZGVvX3RiZF9taW5fa2JcdTAwM2QwXHUwMDI2aHRtbDVfdmlld3BvcnRfdW5kZXJzZW5kX21heGltdW1cdTAwM2QwLjBcdTAwMjZodG1sNV92b2x1bWVfc2xpZGVyX3Rvb2x0aXBcdTAwM2R0cnVlXHUwMDI2aHRtbDVfd2ViX3BvX2V4cGVyaW1lbnRfaWRzXHUwMDNkW11cdTAwMjZodG1sNV93ZWJfcG9fcmVxdWVzdF9rZXlcdTAwM2RcdTAwMjZodG1sNV93ZWJfcG9fdG9rZW5fZGlzYWJsZV9jYWNoaW5nXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3dlYnBvX2lkbGVfcHJpb3JpdHlfam9iXHUwMDNkdHJ1ZVx1MDAyNmh0bWw1X3dlYnBvX2thaW9zX2RlZmVyX3RpbWVvdXRfbXNcdTAwM2QwXHUwMDI2aHRtbDVfd29mZmxlX3Jlc3VtZVx1MDAzZHRydWVcdTAwMjZodG1sNV93b3JrYXJvdW5kX2RlbGF5X3RyaWdnZXJcdTAwM2R0cnVlXHUwMDI2aWRiX2ltbWVkaWF0ZV9jb21taXRcdTAwM2R0cnVlXHUwMDI2aWdub3JlX292ZXJsYXBwaW5nX2N1ZV9wb2ludHNfb25fZW5kZW1pY19saXZlX2h0bWw1XHUwMDNkdHJ1ZVx1MDAyNmlsX2F0dGFjaF9jYWNoZV9saW1pdFx1MDAzZHRydWVcdTAwMjZpbF9wYXlsb2FkX3NjcmFwaW5nXHUwMDNkXHUwMDI2aWxfdXNlX3ZpZXdfbW9kZWxfbG9nZ2luZ19jb250ZXh0XHUwMDNkdHJ1ZVx1MDAyNmluaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXRcdTAwM2QyMDAwXHUwMDI2aW5qZWN0ZWRfbGljZW5zZV9oYW5kbGVyX2Vycm9yX2NvZGVcdTAwM2QwXHUwMDI2aW5qZWN0ZWRfbGljZW5zZV9oYW5kbGVyX2xpY2Vuc2Vfc3RhdHVzXHUwMDNkMFx1MDAyNmlvc19hbmRfYW5kcm9pZF9mcmVzY2FfcG9sbGluZ19kZWxheV9vdmVycmlkZVx1MDAzZDBcdTAwMjZpdGRybV9hbHdheXNfdXNlX3dpZGV2aW5lX3Nka1x1MDAzZHRydWVcdTAwMjZpdGRybV9kaXNhYmxlX2V4dGVybmFsX2tleV9yb3RhdGlvbl9zeXN0ZW1faWRzXHUwMDNkW11cdTAwMjZpdGRybV9lbmFibGVfcmV2b2NhdGlvbl9yZXBvcnRpbmdcdTAwM2R0cnVlXHUwMDI2aXRkcm1faW5qZWN0ZWRfbGljZW5zZV9zZXJ2aWNlX2Vycm9yX2NvZGVcdTAwM2QwXHUwMDI2aXRkcm1fc2V0X3NhYnJfbGljZW5zZV9jb25zdHJhaW50XHUwMDNkdHJ1ZVx1MDAyNml0ZHJtX3VzZV9mYWlycGxheV9zZGtcdTAwM2R0cnVlXHUwMDI2aXRkcm1fdXNlX3dpZGV2aW5lX3Nka19mb3JfcHJlbWl1bV9jb250ZW50XHUwMDNkdHJ1ZVx1MDAyNml0ZHJtX3dpZGV2aW5lX2hhcmRlbmVkX3ZtcF9tb2RlXHUwMDNkbG9nXHUwMDI2anNvbl9jb25kZW5zZWRfcmVzcG9uc2VcdTAwM2R0cnVlXHUwMDI2a2V2bGFyX2NvbW1hbmRfaGFuZGxlcl9jb21tYW5kX2Jhbmxpc3RcdTAwM2RbXVx1MDAyNmtldmxhcl9kZWxoaV9tb2Rlcm5fd2ViX2VuZHNjcmVlbl9pZGVhbF90aWxlX3dpZHRoX3BlcmNlbnRhZ2VcdTAwM2QwLjI3XHUwMDI2a2V2bGFyX2RlbGhpX21vZGVybl93ZWJfZW5kc2NyZWVuX21heF9yb3dzXHUwMDNkMlx1MDAyNmtldmxhcl9kZWxoaV9tb2Rlcm5fd2ViX2VuZHNjcmVlbl9tYXhfd2lkdGhcdTAwM2Q1MDBcdTAwMjZrZXZsYXJfZGVsaGlfbW9kZXJuX3dlYl9lbmRzY3JlZW5fbWluX3dpZHRoXHUwMDNkMjAwXHUwMDI2a2V2bGFyX2dlbF9lcnJvcl9yb3V0aW5nXHUwMDNkdHJ1ZVx1MDAyNmtldmxhcl9taW5pcGxheWVyX2V4cGFuZF90b3BcdTAwM2R0cnVlXHUwMDI2a2V2bGFyX21pbmlwbGF5ZXJfcGxheV9wYXVzZV9vbl9zY3JpbVx1MDAzZHRydWVcdTAwMjZrZXZsYXJfcGxheWJhY2tfYXNzb2NpYXRlZF9xdWV1ZVx1MDAzZHRydWVcdTAwMjZsYXVuY2hfbGljZW5zZV9zZXJ2aWNlX2FsbF9vdHRfdmlkZW9zX2F1dG9tYXRpY19mYWlsX29wZW5cdTAwM2R0cnVlXHUwMDI2bGltaXRfeXRjc2lfZGVidWdfYXJyYXlfc2l6ZVx1MDAzZHRydWVcdTAwMjZsaXZlX2NoYXRfZW5hYmxlX3J0YV9tYW5hZ2VyXHUwMDNkdHJ1ZVx1MDAyNmxpdmVfY2h1bmtfcmVhZGFoZWFkXHUwMDNkM1x1MDAyNmxvZ19jbGlja193aXRoX2xheWVyX2Zyb21fZWxlbWVudF9pbl9jb21tYW5kX2hhbmRsZXJcdTAwM2R0cnVlXHUwMDI2bG9nX3dpbmRvd19vbmVycm9yX2ZyYWN0aW9uXHUwMDNkMC4xXHUwMDI2bWFuaWZlc3RsZXNzX3Bvc3RfbGl2ZVx1MDAzZHRydWVcdTAwMjZtYW5pZmVzdGxlc3NfcG9zdF9saXZlX3VmcGhcdTAwM2R0cnVlXHUwMDI2bWF4X2JvZHlfc2l6ZV90b19jb21wcmVzc1x1MDAzZDUwMDAwMFx1MDAyNm1heF9jZGZlX3F1YWxpdHlfb3JkaW5hbFx1MDAzZDBcdTAwMjZtYXhfcHJlZmV0Y2hfd2luZG93X3NlY19mb3JfbGl2ZXN0cmVhbV9vcHRpbWl6YXRpb25cdTAwM2QxMFx1MDAyNm1heF9yZXNvbHV0aW9uX2Zvcl93aGl0ZV9ub2lzZVx1MDAzZDM2MFx1MDAyNm1keF9lbmFibGVfcHJpdmFjeV9kaXNjbG9zdXJlX3VpXHUwMDNkdHJ1ZVx1MDAyNm1keF9sb2FkX2Nhc3RfYXBpX2Jvb3RzdHJhcF9zY3JpcHRcdTAwM2R0cnVlXHUwMDI2bWluX3ByZWZldGNoX29mZnNldF9zZWNfZm9yX2xpdmVzdHJlYW1fb3B0aW1pemF0aW9uXHUwMDNkMjBcdTAwMjZtdGFfZHJjX211dHVhbF9leGNsdXNpb25fcmVtb3ZhbFx1MDAzZHRydWVcdTAwMjZtdXNpY19lbmFibGVfc2hhcmVkX2F1ZGlvX3RpZXJfbG9naWNcdTAwM2R0cnVlXHUwMDI2bXdlYl9hY2NvdW50X2xpbmtpbmdfbm9hcHBcdTAwM2R0cnVlXHUwMDI2bXdlYl9kZWJ1Z19zdGlja3lfc2V0dGluZ3NcdTAwM2R0cnVlXHUwMDI2bXdlYl9lbmFibGVfY2xpY2tfdG9fcGxheV9wYXVzZVx1MDAzZHRydWVcdTAwMjZtd2ViX2VuYWJsZV9maW5lX3NjcnViYmluZ19mb3JfcmVjc1x1MDAzZHRydWVcdTAwMjZtd2ViX2VuYWJsZV9tb3JlX2NodW5rc1x1MDAzZHRydWVcdTAwMjZtd2ViX25hdGl2ZV9jb250cm9sX2luX2ZhdXhfZnVsbHNjcmVlbl9zaGFyZWRcdTAwM2R0cnVlXHUwMDI2bXdlYl9wbGF5ZXJfY29udHJvbF9vbl9ob3Zlclx1MDAzZHRydWVcdTAwMjZtd2ViX3Byb2dyZXNzX2Jhcl9zZWVrX29uX21vdXNlX2NsaWNrXHUwMDNkdHJ1ZVx1MDAyNm13ZWJfc2hvcnRzX2NvbW1lbnRzX3BhbmVsX2lkX2NoYW5nZVx1MDAzZHRydWVcdTAwMjZtd2ViX3VzZV9taWNyb2Zvcm1hdF90aXRsZV9mb3JfcG9zdHNcdTAwM2R0cnVlXHUwMDI2bmV0d29ya19wb2xsaW5nX2ludGVydmFsXHUwMDNkMzAwMDBcdTAwMjZuZXR3b3JrbGVzc19sb2dnaW5nXHUwMDNkdHJ1ZVx1MDAyNm5ld19jb2RlY3Nfc3RyaW5nX2FwaV91c2VzX2xlZ2FjeV9zdHlsZVx1MDAzZHRydWVcdTAwMjZub19jbGllbnRfdmVfYXR0YWNoX3VubGVzc19zaG93blx1MDAzZHRydWVcdTAwMjZub19maWxsZXJfdmlkZW9fZm9yX3NzYV9wbGF5YmFja3NcdTAwM2R0cnVlXHUwMDI2b3ZlcnJpZGVfZHJtX3JlcXVpcmVkX3BsYXliYWNrX3BvbGljeV9jaGFubmVsc1x1MDAzZFtdXHUwMDI2cGFnZWlkX2FzX2hlYWRlcl93ZWJcdTAwM2R0cnVlXHUwMDI2cGxheWVyX2Fkc19zZXRfYWRmb3JtYXRfb25fY2xpZW50XHUwMDNkdHJ1ZVx1MDAyNnBsYXllcl9ib290c3RyYXBfbWV0aG9kXHUwMDNkdHJ1ZVx1MDAyNnBsYXllcl9jb250cm9sc191c2VfcGxheWVyX2FwaV9jb250ZXh0XHUwMDNkdHJ1ZVx1MDAyNnBsYXllcl9jb250cm9sc192b2x1bWVfY29udHJvbHNfdXNlX3BsYXllcl9wcm9wc1x1MDAzZHRydWVcdTAwMjZwbGF5ZXJfZGVzdHJveV9vbGRfdmVyc2lvblx1MDAzZHRydWVcdTAwMjZwbGF5ZXJfZW5hYmxlX3BsYXliYWNrX3BsYXlsaXN0X2NoYW5nZVx1MDAzZHRydWVcdTAwMjZwbGF5ZXJfbmV3X2luZm9fY2FyZF9mb3JtYXRcdTAwM2R0cnVlXHUwMDI2cGxheWVyX3VuZGVybGF5X21pbl9wbGF5ZXJfd2lkdGhcdTAwM2Q3NjguMFx1MDAyNnBsYXllcl91bmRlcmxheV92aWRlb193aWR0aF9mcmFjdGlvblx1MDAzZDAuNlx1MDAyNnBsYXllcl93ZWJfY2FuYXJ5X3N0YWdlXHUwMDNkMFx1MDAyNnBsYXlyZWFkeV9maXJzdF9wbGF5X2V4cGlyYXRpb25cdTAwM2QtMVx1MDAyNnBvZGNhc3RzX3ZpZGVvc3RhdHNfZGVmYXVsdF9mbHVzaF9pbnRlcnZhbF9zZWNvbmRzXHUwMDNkMFx1MDAyNnBvbHltZXJfYmFkX2J1aWxkX2xhYmVsc1x1MDAzZHRydWVcdTAwMjZwb2x5bWVyX3ZlcmlmaXlfYXBwX3N0YXRlXHUwMDNkdHJ1ZVx1MDAyNnBvcHVsYXRlX2Zvcm1hdF9zZXRfaW5mb19pbl9jZGZlX2Zvcm1hdHNcdTAwM2R0cnVlXHUwMDI2cHJlc2tpcF9idXR0b25fc3R5bGVfYWRzX2JhY2tlbmRcdTAwM2RcdTAwMjZwcm94aW1hX2F1dG9fdGhyZXNob2xkX21heF9uZXR3b3JrX2ludGVycnVwdGlvbl9kdXJhdGlvbl9tc1x1MDAzZDBcdTAwMjZwcm94aW1hX2F1dG9fdGhyZXNob2xkX21pbl9iYW5kd2lkdGhfZXN0aW1hdGVfYnl0ZXNfcGVyX3NlY1x1MDAzZDBcdTAwMjZxb2Vfc2VuZF9hbmRfd3JpdGVcdTAwM2R0cnVlXHUwMDI2cXVhbGl0eV9jYXBfZm9yX2lubGluZV9ub25fYXBwX2Fkc1x1MDAzZDBcdTAwMjZxdWFsaXR5X2NhcF9mb3JfaW5saW5lX3BsYXliYWNrXHUwMDNkMFx1MDAyNnF1YWxpdHlfY2FwX2Zvcl9pbmxpbmVfcGxheWJhY2tfYWRzXHUwMDNkMFx1MDAyNnJlYWRfYWhlYWRfbW9kZWxfbmFtZVx1MDAzZFx1MDAyNnJlamVjdF9oaWRkZW5fbGl2ZV9mb3JtYXRzXHUwMDNkdHJ1ZVx1MDAyNnJlamVjdF9saXZlX3ZwOV9tcV9jbGVhcl93aXRoX25vX2Ficl9sYWRkZXJcdTAwM2R0cnVlXHUwMDI2cmVsYXhfYmdfbm90aWZpY2F0aW9uX3Rocm90dGxpbmdcdTAwM2R0cnVlXHUwMDI2cmVtb3ZlX2NoZXZyb25fZnJvbV9hZF9kaXNjbG9zdXJlX2Jhbm5lcl9oNVx1MDAzZHRydWVcdTAwMjZyZW1vdmVfbWFzdGhlYWRfY2hhbm5lbF9iYW5uZXJfb25fcmVmcmVzaFx1MDAzZHRydWVcdTAwMjZyZW1vdmVfc2xvdF9pZF9leGl0ZWRfdHJpZ2dlcl9mb3JfZGFpX2luX3BsYXllcl9zbG90X2V4cGlyZVx1MDAzZHRydWVcdTAwMjZyZXBsYWNlX3BsYXlhYmlsaXR5X3JldHJpZXZlcl9pbl93YXRjaFx1MDAzZHRydWVcdTAwMjZyb3NjYXNcdTAwM2R0cnVlXHUwMDI2c2Ficl9lbmFibGVfaG9zdF9mYWxsYmFja1x1MDAzZHRydWVcdTAwMjZzZWxmX3BvZGRpbmdfaGVhZGVyX3N0cmluZ190ZW1wbGF0ZVx1MDAzZHNlbGZfcG9kZGluZ19pbnRlcnN0aXRpYWxfbWVzc2FnZVx1MDAyNnNlbGZfcG9kZGluZ19taWRyb2xsX2Nob2ljZV9zdHJpbmdfdGVtcGxhdGVcdTAwM2RzZWxmX3BvZGRpbmdfbWlkcm9sbF9jaG9pY2VcdTAwMjZzZW5kX2NvbmZpZ19oYXNoX3RpbWVyXHUwMDNkMFx1MDAyNnNlcnZlX2FkYXB0aXZlX2ZtdHNfZm9yX2xpdmVfc3RyZWFtc1x1MDAzZHRydWVcdTAwMjZzZXRfbW9ja19pZF9hc19leHBlY3RlZF9jb250ZW50X2JpbmRpbmdcdTAwM2RcdTAwMjZzaGVsbF9sb2FkX2djZlx1MDAzZHRydWVcdTAwMjZzaG9ydGVuX2luaXRpYWxfZ2VsX2JhdGNoX3RpbWVvdXRcdTAwM2R0cnVlXHUwMDI2c2hvcnRzX21vZGVfdG9fcGxheWVyX2FwaVx1MDAzZHRydWVcdTAwMjZzaG91bGRfYXR0cmlidXRlX3RvX3dhdGNoX3dpdGhfc291cmNlXHUwMDNkW11cdTAwMjZzaG91bGRfYXR0cmlidXRlX3ZpZXdzX3RvX3dhdGNoX3dpdGhfc291cmNlXHUwMDNkdHJ1ZVx1MDAyNnNpbXBseV9lbWJlZGRlZF9lbmFibGVfYm90Z3VhcmRcdTAwM2R0cnVlXHUwMDI2c2xvd19jb21wcmVzc2lvbnNfYmVmb3JlX2FiYW5kb25fY291bnRcdTAwM2Q0XHUwMDI2c21hbGxfYXZhdGFyc19mb3JfY29tbWVudHNcdTAwM2R0cnVlXHUwMDI2c21hcnRfc2tpcF93ZWJfcGxheWVyX2Jhcl9taW5faG92ZXJfbGVuZ3RoX21pbGxpc2Vjb25kc1x1MDAzZDEwMDBcdTAwMjZzbWFydGVyX3ZlX2RlZHVwcGluZ1x1MDAzZHRydWVcdTAwMjZzcGVlZG1hc3Rlcl9jYW5jZWxsYXRpb25fbW92ZW1lbnRfZHBcdTAwM2QxMFx1MDAyNnNwZWVkbWFzdGVyX3BsYXliYWNrX3JhdGVcdTAwM2QyLjBcdTAwMjZzcGVlZG1hc3Rlcl90b3VjaF9hY3RpdmF0aW9uX21zXHUwMDNkNTAwXHUwMDI2c3RvcF9oYW5kbGluZ19jbGlja19mb3Jfbm9uX3JlbmRlcmluZ19vdmVybGF5X2xheW91dFx1MDAzZHRydWVcdTAwMjZzdHJlYW1pbmdfZGF0YV9lbWVyZ2VuY3lfaXRhZ19ibGFja2xpc3RcdTAwM2RbXVx1MDAyNnN1YnN0aXR1dGVfYWRfY3BuX21hY3JvX2luX3NzZGFpXHUwMDNkdHJ1ZVx1MDAyNnN1cHByZXNzX2Vycm9yXzIwNF9sb2dnaW5nXHUwMDNkdHJ1ZVx1MDAyNnRyaW1fYWRhcHRpdmVfZm9ybWF0c19zaWduYXR1cmVfY2lwaGVyX2Zvcl9zYWJyX2NvbnRlbnRcdTAwM2R0cnVlXHUwMDI2dHZodG1sNV91bnBsdWdnZWRfcHJlbG9hZF9jYWNoZV9zaXplXHUwMDNkNVx1MDAyNnVzZV9jdWVfcmFuZ2VfbWFya2VyX3Bvc2l0aW9uXHUwMDNkdHJ1ZVx1MDAyNnVzZV9ldmVudF90aW1lX21zX2hlYWRlclx1MDAzZHRydWVcdTAwMjZ1c2VfZXh0cmFfcmVhZGFoZWFkX25vcm1hbF9sYXRlbmN5X2ZyYW1lX2xldmVsX3N0cmVhbWluZ19pbl9iYWNrZW5kX2V4cGVyaW1lbnRcdTAwM2RbXVx1MDAyNnVzZV9maWZvX2Zvcl9uZXR3b3JrbGVzc1x1MDAzZHRydWVcdTAwMjZ1c2VfZ2VuZXJhdGVkX21lZGlhX2tleXNfaW5fZmFpcnBsYXlfcmVxdWVzdHNcdTAwM2R0cnVlXHUwMDI2dXNlX2lubGluZWRfcGxheWVyX3JwY1x1MDAzZHRydWVcdTAwMjZ1c2VfbmV3X2NvZGVjc19zdHJpbmdfYXBpXHUwMDNkdHJ1ZVx1MDAyNnVzZV9wbGF5YWJpbGl0eV9yZXN1bHRfZm9yX2Nhbl9wbGF5X3N0YXR1c1x1MDAzZHRydWVcdTAwMjZ1c2VfcmVxdWVzdF90aW1lX21zX2hlYWRlclx1MDAzZHRydWVcdTAwMjZ1c2VfcnRhX2Zvcl9wbGF5ZXJcdTAwM2R0cnVlXHUwMDI2dXNlX3Nlc3Npb25fYmFzZWRfc2FtcGxpbmdcdTAwM2R0cnVlXHUwMDI2dXNlX3RodW1ibmFpbF9vdmVybGF5X3RpbWVfc3RhdHVzX3JlbmRlcmVyX2Zvcl9saXZlX2JhZGdlXHUwMDNkdHJ1ZVx1MDAyNnZhcmlhYmxlX2J1ZmZlcl90aW1lb3V0X21zXHUwMDNkMFx1MDAyNnZwOV9kcm1fbGl2ZVx1MDAzZHRydWVcdTAwMjZ2c3NfZmluYWxfcGluZ19zZW5kX2FuZF93cml0ZVx1MDAzZHRydWVcdTAwMjZ2c3NfcGxheWJhY2tfdXNlX3NlbmRfYW5kX3dyaXRlXHUwMDNkdHJ1ZVx1MDAyNnZzc191c2VfcG9zdF9yZXF1ZXN0XHUwMDNkdHJ1ZVx1MDAyNndlYl9hcGlfdXJsXHUwMDNkdHJ1ZVx1MDAyNndlYl9hdHRlbnRpb25fbG9nZ2luZ19lbmFibGVkXHUwMDNkdHJ1ZVx1MDAyNndlYl9hdHRlbnRpb25fbG9nZ2luZ19leHBvcnRfdG9fZ2VsXHUwMDNkdHJ1ZVx1MDAyNndlYl9hdHRlbnRpb25fbG9nZ2luZ19zY3JvbGxfdGhyb3R0bGVcdTAwM2Q1MDAuMFx1MDAyNndlYl9idXR0b25fdmlld19tb2RlbF9ub25fbnVsbGlzaF9kYXRhXHUwMDNkdHJ1ZVx1MDAyNndlYl9idXR0b25fdm1fcmVmYWN0b3JfZGlzYWJsZWRcdTAwM2R0cnVlXHUwMDI2d2ViX2NsaWVudF92ZXJzaW9uX292ZXJyaWRlXHUwMDNkXHUwMDI2d2ViX2NvbGxlY3Rfb2ZmbGluZV9zdGF0ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfY3NpX2FjdGlvbl9zYW1wbGluZ19lbmFibGVkXHUwMDNkdHJ1ZVx1MDAyNndlYl9kZWR1cGVfdmVfZ3JhZnRpbmdcdTAwM2R0cnVlXHUwMDI2d2ViX2Rpc2FibGVfY2FwdGlvbl9vcGFjaXR5X2tleWJvYXJkX3Nob3J0Y3V0c1x1MDAzZHRydWVcdTAwMjZ3ZWJfZGlzYWJsZV9jaGlwX3ZpZXdfbW9kZWxfbXV0YXRpb25cdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9hYl9yc3BfY2xcdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9jYXB0aW9uX2xhbmd1YWdlX3ByZWZlcmVuY2Vfc3RpY2tpbmVzc1x1MDAzZHRydWVcdTAwMjZ3ZWJfZW5hYmxlX2NvdXJzZV9pY29uX3VwZGF0ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfZW5hYmxlX2VudGl0eV91cHNlcnRfb25fdXBkYXRlXHUwMDNkdHJ1ZVx1MDAyNndlYl9lbmFibGVfZXJyb3JfMjA0XHUwMDNkdHJ1ZVx1MDAyNndlYl9lbmFibGVfa2V5Ym9hcmRfc2hvcnRjdXRfZm9yX3RpbWVseV9hY3Rpb25zXHUwMDNkdHJ1ZVx1MDAyNndlYl9lbmFibGVfbGF6eV9jc3NcdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV9zaG9wcGluZ190aW1lbHlfc2hlbGZfY2xpZW50XHUwMDNkdHJ1ZVx1MDAyNndlYl9lbmFibGVfc21hbGxfc3BlZWRtYXN0ZXJcdTAwM2R0cnVlXHUwMDI2d2ViX2VuYWJsZV90aW1lbHlfYWN0aW9uc1x1MDAzZHRydWVcdTAwMjZ3ZWJfZml4X2ZpbmVfc2NydWJiaW5nX2ZhbHNlX3BsYXlcdTAwM2R0cnVlXHUwMDI2d2ViX2ZvcmVncm91bmRfaGVhcnRiZWF0X2ludGVydmFsX21zXHUwMDNkMjgwMDBcdTAwMjZ3ZWJfZnVsbHNjcmVlbl9zaG9ydHNcdTAwM2R0cnVlXHUwMDI2d2ViX2Z1bGxzY3JlZW5fc2hvcnRzX21lbnVfaXRlbVx1MDAzZHRydWVcdTAwMjZ3ZWJfZ2NmX2hhc2hlc19pbm5lcnR1YmVcdTAwM2R0cnVlXHUwMDI2d2ViX2dlbF9kZWJvdW5jZV9tc1x1MDAzZDEwMDAwXHUwMDI2d2ViX2dlbF90aW1lb3V0X2NhcFx1MDAzZHRydWVcdTAwMjZ3ZWJfaGlkZV9uZXh0X2J1dHRvblx1MDAzZHRydWVcdTAwMjZ3ZWJfaGlkZV93YXRjaF9pbmZvX2VtcHR5XHUwMDNkdHJ1ZVx1MDAyNndlYl9oaWRlX3lvdXJfZGF0YV9vbl9hdXRvbW90aXZlXHUwMDNkdHJ1ZVx1MDAyNndlYl9sb2FkX3ByZWRpY3Rpb25fdGhyZXNob2xkXHUwMDNkMC4zXHUwMDI2d2ViX2xvZ2dpbmdfbWF4X2JhdGNoXHUwMDNkMTAwXHUwMDI2d2ViX21heF90cmFjaW5nX2V2ZW50c1x1MDAzZDUwXHUwMDI2d2ViX21vbm9tZXJfd2ViX2NvbXBvbmVudF93cmFwcGVyX2hhbmRsZV9lcnJvcnNcdTAwM2R0cnVlXHUwMDI2d2ViX25hdmlnYXRpb25fcHJlZGljdGlvbl90aHJlc2hvbGRcdTAwM2QwLjFcdTAwMjZ3ZWJfbm9uX25hdmlnYXRpbmdfYXRhZ1x1MDAzZHRydWVcdTAwMjZ3ZWJfb3Bfc2lnbmFsX3R5cGVfYmFubGlzdFx1MDAzZFtdXHUwMDI2d2ViX3BsYXliYWNrX2Fzc29jaWF0ZWRfdmVcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9hcGlfbG9nZ2luZ19mcmFjdGlvblx1MDAzZDAuMDFcdTAwMjZ3ZWJfcGxheWVyX2JpZ19tb2RlX3NjcmVlbl93aWR0aF9jdXRvZmZcdTAwM2Q0MDAxXHUwMDI2d2ViX3BsYXllcl9kZWZhdWx0X3BlZWtpbmdfcHhcdTAwM2QzNlx1MDAyNndlYl9wbGF5ZXJfZGlzYWJsZV9ncmlkX29uX29mZmxpbmVfc2xhdGVcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9lbmFibGVfZmVhdHVyZWRfcHJvZHVjdF9iYW5uZXJfZXhjbHVzaXZlc19vbl9kZXNrdG9wXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfZW5hYmxlX2ZlYXR1cmVkX3Byb2R1Y3RfYmFubmVyX3Byb21vdGlvbl90ZXh0X29uX2Rlc2t0b3BcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9mcm9zdGVkX2dsYXNzX2JsdXJfcmFkaXVzXHUwMDNkMTZcdTAwMjZ3ZWJfcGxheWVyX2Zyb3N0ZWRfZ2xhc3NfYmx1cl9yYWRpdXNfZmxvYXRcdTAwM2QxNi4wXHUwMDI2d2ViX3BsYXllcl9pbm5lcnR1YmVfcGxheWxpc3RfdXBkYXRlXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfaW52aXNpYmxlX2Z1bGxzY3JlZW5fYnV0dG9uXHUwMDNkdHJ1ZVx1MDAyNndlYl9wbGF5ZXJfaXBwX2NhbmFyeV90eXBlX2Zvcl9sb2dnaW5nXHUwMDNkXHUwMDI2d2ViX3BsYXllcl9sb2dfY2xpY2tfYmVmb3JlX2dlbmVyYXRpbmdfdmVfY29udmVyc2lvbl9wYXJhbXNcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9taW5pcGxheWVyX2luX2NvbnRleHRfbWVudVx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX21vdXNlX2lkbGVfd2FpdF90aW1lX21zXHUwMDNkMzAwMFx1MDAyNndlYl9wbGF5ZXJfbXVzaWNfdmlzdWFsaXplcl90cmVhdG1lbnRcdTAwM2RmYWtlXHUwMDI2d2ViX3BsYXllcl9vZmZsaW5lX3BsYXlsaXN0X2F1dG9fcmVmcmVzaFx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX3BsYXlhYmxlX3NlcXVlbmNlc19yZWZhY3Rvclx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX3F1aWNrX2hpZGVfdGltZW91dF9tc1x1MDAzZDI1MFx1MDAyNndlYl9wbGF5ZXJfc2Vla19jaGFwdGVyc19ieV9zaG9ydGN1dFx1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX3NlZWtfb3ZlcmxheV9hZGRpdGlvbmFsX2Fycm93X3RocmVzaG9sZFx1MDAzZDIwMFx1MDAyNndlYl9wbGF5ZXJfc2Vla19vdmVybGF5X2R1cmF0aW9uX2J1bXBfc2NhbGVcdTAwM2QwLjlcdTAwMjZ3ZWJfcGxheWVyX3NlZWtfb3ZlcmxheV9saW5nZXJfZHVyYXRpb25cdTAwM2QxMDAwXHUwMDI2d2ViX3BsYXllcl9zZW50aW5lbF9pc191bmlwbGF5ZXJcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl9zaG93X211c2ljX2luX3RoaXNfdmlkZW9fZ3JhcGhpY1x1MDAzZHZpZGVvX3RodW1ibmFpbFx1MDAyNndlYl9wbGF5ZXJfc3NfZGFpX2FkX2ZldGNoaW5nX3RpbWVvdXRfbXNcdTAwM2QxNTAwMFx1MDAyNndlYl9wbGF5ZXJfdG91Y2hfaWRsZV93YWl0X3RpbWVfbXNcdTAwM2Q0MDAwXHUwMDI2d2ViX3BsYXllcl90cmFuc2Zlcl90aW1lb3V0X3RocmVzaG9sZF9tc1x1MDAzZDEwODAwMDAwXHUwMDI2d2ViX3BsYXllcl91cGRhdGVkX2VudHJ5cG9pbnRcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl91c2VfY2luZW1hdGljX2xhYmVsXzJcdTAwM2R0cnVlXHUwMDI2d2ViX3BsYXllcl91c2VfbmV3X2FwaV9mb3JfcXVhbGl0eV9wdWxsYmFja1x1MDAzZHRydWVcdTAwMjZ3ZWJfcGxheWVyX3VzZV9zY3JlZW5fd2lkdGhfZm9yX2JpZ19tb2RlXHUwMDNkdHJ1ZVx1MDAyNndlYl9wcmVmZXRjaF9wcmVsb2FkX3ZpZGVvXHUwMDNkdHJ1ZVx1MDAyNndlYl9wcm9ncmVzc19iYXJfZHJhZ2dhYmxlXHUwMDNkdHJ1ZVx1MDAyNndlYl9wcm9wYWdhdGVfdmlzaWJpbGl0eV90b19hcHBsaWNhdGlvbl9zdGF0ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfcmVsYXhfYXJtX2NhcFx1MDAzZHRydWVcdTAwMjZ3ZWJfcmVtaXhfYWxsb3dfdXBfdG9fM3hfcGxheWJhY2tfcmF0ZVx1MDAzZHRydWVcdTAwMjZ3ZWJfcmVtb3ZlX2Jyb2tlbl9zdWJzY3JpYmVfZW5kc2NyZWVuXHUwMDNkdHJ1ZVx1MDAyNndlYl9zZXNzaW9uX3JlcGxheV9tb3VzZW1vdmVfaW50ZXJ2YWxcdTAwM2QwXHUwMDI2d2ViX3Nlc3Npb25fcmVwbGF5X3Njcm9sbF9pbnRlcnZhbFx1MDAzZDBcdTAwMjZ3ZWJfc2Vzc2lvbl9yZXBsYXlfc2VuZF9hZnRlcl90aW1lb3V0XHUwMDNkMFx1MDAyNndlYl9zZXR0aW5nc19tZW51X3N1cmZhY2VfY3VzdG9tX3BsYXliYWNrXHUwMDNkdHJ1ZVx1MDAyNndlYl9zZXR0aW5nc191c2VfaW5wdXRfc2xpZGVyXHUwMDNkdHJ1ZVx1MDAyNndlYl9zaG9ydHNfYXVkaW9fdHJhY2tfcGlja2VyXHUwMDNkdHJ1ZVx1MDAyNndlYl90cmFjaW5nX2VuYWJsZWRfc3BhbnNcdTAwM2RbZXZlbnQsIGNvbW1hbmRdXHUwMDI2d2ViX3RyYWNpbmdfc2Vzc2lvbl9yZXBsYXlcdTAwM2QwXHUwMDI2d2ViX3VuaWZpZWRfZmV0Y2hcdTAwM2R0cnVlXHUwMDI2d2ViX3dhdGNoX2Rpc2FibGVfYWNjb3VudF9sZXZlbF9jYXB0aW9uc19zZXR0aW5nc1x1MDAzZHRydWVcdTAwMjZ3ZWJwb19leGl0X29uX25ldF9lcnJcdTAwM2R0cnVlXHUwMDI2d2lsX2ljb25fbWF4X2NvbmN1cnJlbnRfZmV0Y2hlc1x1MDAzZDk5OTlcdTAwMjZ3aXpfZGlmZl9vdmVyd3JpdGFibGVcdTAwM2R0cnVlXHUwMDI2d2l6X3dyYXBwZXJfY2FsbGJhY2tfcHJvcHNfZml4XHUwMDNkdHJ1ZVx1MDAyNndvZmZsZV9lbmFibGVfZG93bmxvYWRfc3RhdHVzXHUwMDNkdHJ1ZVx1MDAyNndyaXRlX3JlbG9hZF9wbGF5ZXJfcmVzcG9uc2VfdG9rZW5fdG9fdXN0cmVhbWVyX2NvbmZpZ19mb3Jfdm9kXHUwMDNkdHJ1ZVx1MDAyNndzX2F2MV9tYXhfaGVpZ2h0X2Zsb29yXHUwMDNkMFx1MDAyNndzX2F2MV9tYXhfd2lkdGhfZmxvb3JcdTAwM2QwXHUwMDI2d3NfdXNlX2NlbnRyYWxpemVkX2hxYV9maWx0ZXJcdTAwM2R0cnVlXHUwMDI2d3VnX25ldHdvcmtpbmdfZ3ppcF9yZXF1ZXN0XHUwMDNkdHJ1ZVx1MDAyNnl0Y3NpX2RlYnVnX21heF9zaXplXHUwMDNkMTAwXHUwMDI2eXRpZGJfcmVtYWtlX2RiX3JldHJpZXNcdTAwM2QxXHUwMDI2eXRpZGJfcmVvcGVuX2RiX3JldHJpZXNcdTAwM2QwXHUwMDI2eXRpZGJfdHJhbnNhY3Rpb25fZW5kZWRfZXZlbnRfcmF0ZV9saW1pdFx1MDAzZDAuMDIiLCJzdGFydE11dGVkIjpmYWxzZSwibW9iaWxlSXBob25lU3VwcG9ydHNJbmxpbmVQbGF5YmFjayI6dHJ1ZSwiaXNNb2JpbGVEZXZpY2UiOmZhbHNlLCJjc3BOb25jZSI6ImpNbm1TaFVYWGRPRU5TV1Q5d3hfNVEiLCJjYW5hcnlTdGF0ZSI6Im5vbmUiLCJlbmFibGVDc2lMb2dnaW5nIjp0cnVlLCJsb2FkZXJVcmwiOiJodHRwczovL2FnaWxpdGV0cmFkZS5jb20vIiwiZGlzYWJsZUF1dG9uYXYiOmZhbHNlLCJpc0VtYmVkIjp0cnVlLCJkaXNhYmxlQ2FzdEFwaSI6ZmFsc2UsInNlcmlhbGl6ZWRFbWJlZENvbmZpZyI6Int9IiwiZGlzYWJsZU1keENhc3QiOmZhbHNlLCJkYXRhc3luY0lkIjoiVmZhZjRiZWVlfHwiLCJzdG9yZVVzZXJWb2x1bWUiOnRydWUsImRpc2FibGVQYWlkQ29udGVudE92ZXJsYXkiOnRydWUsImVuY3J5cHRlZEhvc3RGbGFncyI6IkFDbWJsQlgtYTU3TEYweTFXc3FwTUhBdENoWllPX0RSZkViODh1TnJtNkpNQnBTU0hWQXNqS3M2TzU0bjZCektxUzByNzdsM1FmaXNMN19lYWo4OWxrNm0wMGZOa0ZLckkyQUpHazlINThTYzE4cDFvUy1KekVsVHR6a2NtM2siLCJjYW5hcnlTdGFnZSI6IiIsInRydXN0ZWRKc1VybCI6eyJwcml2YXRlRG9Ob3RBY2Nlc3NPckVsc2VUcnVzdGVkUmVzb3VyY2VVcmxXcmFwcGVkVmFsdWUiOiIvcy9wbGF5ZXIvN2E3OTY5YzIvcGxheWVyX2VtYmVkX2VzNi52ZmxzZXQvZW5fVVMvYmFzZS5qcyJ9LCJ0cnVzdGVkQ3NzVXJsIjp7InByaXZhdGVEb05vdEFjY2Vzc09yRWxzZVRydXN0ZWRSZXNvdXJjZVVybFdyYXBwZWRWYWx1ZSI6Ii9zL3BsYXllci83YTc5NjljMi93d3ctcGxheWVyLmNzcyJ9LCJob3VzZUJyYW5kVXNlclN0YXR1cyI6Im5vdF9wcmVzZW50IiwiZW1iZWRzRW5hYmxlRW1jM2RzIjp0cnVlLCJkaXNhYmxlT3JnYW5pY1VpIjp0cnVlLCJlbmFibGVTYWJyT25FbWJlZCI6ZmFsc2UsInNlcmlhbGl6ZWRDbGllbnRFeHBlcmltZW50RmxhZ3MiOiI0NTcxODE3NVx1MDAzZDAuMFx1MDAyNjQ1NzE4MTc2XHUwMDNkMC4wMVx1MDAyNjQ1NzI1NTM4XHUwMDNkMC4wXHUwMDI2NDU3MjU1MzlcdTAwM2QwLjBcdTAwMjY0NTcyNTU0MFx1MDAzZDAuMFx1MDAyNjQ1NzI1NTQxXHUwMDNkMC4wXHUwMDI2NDU3MjU1NDJcdTAwM2QwLjBcdTAwMjY0NTcyNTU0M1x1MDAzZDAuMFx1MDAyNjQ1NzI4NTUzXHUwMDNkdHJ1ZVx1MDAyNjQ1NzI4NTcyXHUwMDNkdHJ1ZVx1MDAyNjQ1NzI5MjE1XHUwMDNkdHJ1ZVx1MDAyNjQ1NzMyNzA0XHUwMDNkdHJ1ZVx1MDAyNjQ1NzMyNzkxXHUwMDNkdHJ1ZVx1MDAyNjQ1NzM1NDI4XHUwMDNkNDAwMC4wXHUwMDI2NDU3Mzc0ODhcdTAwM2QwLjBcdTAwMjY0NTczNzQ4OVx1MDAzZDAuMFx1MDAyNjQ1NzM5MDIzXHUwMDNkMC4wXHUwMDI2NDU3MzkxOThcdTAwM2R0cnVlXHUwMDI2NDU3NDEzMzlcdTAwM2QwLjBcdTAwMjY0NTc0MTc3M1x1MDAzZDAuMFx1MDAyNjQ1NzQzMjI4XHUwMDNkMC4wXHUwMDI2NDU3NDU2MTBcdTAwM2R0cnVlXHUwMDI2NDU3NDY5NjZcdTAwM2QwLjBcdTAwMjY0NTc0Njk2N1x1MDAzZDAuMFx1MDAyNjQ1NzQ3MDUzXHUwMDNkMC4wXHUwMDI2NDU3NTA5NDdcdTAwM2QxMDI0MFx1MDAyNjQ1NzU2MjAxXHUwMDNkdHJ1ZVx1MDAyNjQ1NzU2ODcyXHUwMDNkMC4wXHUwMDI2NDU3NTc0MjZcdTAwM2QwLjBcdTAwMjY0NTc1NzQyN1x1MDAzZDAuMFx1MDAyNjQ1NzU3NzUwXHUwMDNkMC4wXHUwMDI2NDU3NTc5NTdcdTAwM2QwLjBcdTAwMjY0NTc1ODQ2N1x1MDAzZDAuMFx1MDAyNjQ1NzYwMDE4XHUwMDNkdHJ1ZVx1MDAyNjQ1NzYxNzYwXHUwMDNkMjAwXHUwMDI2NDU3NjI4MzhcdTAwM2QwXHUwMDI2NDU3NjQyMTdcdTAwM2QwLjBcdTAwMjY0NTc2NDI1Mlx1MDAzZDAuMFx1MDAyNjQ1NzY0NTIzXHUwMDNkMC4wXHUwMDI2NDU3NjQ1MjRcdTAwM2QwLjBcdTAwMjY0NTc2NDU5M1x1MDAzZDAuMFx1MDAyNjQ1NzY1MDc3XHUwMDNkdHJ1ZVx1MDAyNjQ1NzY1NTY4XHUwMDNkMC4wXHUwMDI2NDU3NjU2MDJcdTAwM2QwLjBcdTAwMjY0NTc2NTY4MFx1MDAzZHRydWVcdTAwMjY0NTc2NjUxMVx1MDAzZHRydWVcdTAwMjY0NTc2Nzc2M1x1MDAzZDAuMFx1MDAyNjQ1NzY3OTQzXHUwMDNkMC4wXHUwMDI2NDU3NjgzNDBcdTAwM2QwLjBcdTAwMjY0NTc2ODQzMFx1MDAzZDAuMFx1MDAyNjQ1NzY5MTE5XHUwMDNkdHJ1ZVx1MDAyNjQ1NzY5MjE0XHUwMDNkMC4wXHUwMDI2NDU3NzAwMDFcdTAwM2QwLjBcdTAwMjY0NTc3MDAwMlx1MDAzZDAuMFx1MDAyNjQ1NzcwMTM1XHUwMDNkdHJ1ZVx1MDAyNjQ1NzcxMjg4XHUwMDNkdHJ1ZVx1MDAyNjQ1NzcxODkwXHUwMDNkMC4wXHUwMDI2NDU3NzM2MDNcdTAwM2QwLjBcdTAwMjY0NTc3MzYwNFx1MDAzZDAuMFx1MDAyNjQ1Nzc1NzU3XHUwMDNkdHJ1ZVx1MDAyNjQ1Nzc1NzkxXHUwMDNkMC4wXHUwMDI2NDU3NzU3OTJcdTAwM2QwLjBcdTAwMjY0NTc3NjE5MFx1MDAzZDAuMFx1MDAyNjQ1Nzc4NjYzXHUwMDNkMC4wXHUwMDI2NDU3Nzg2NzFcdTAwM2QwLjBcdTAwMjY0NTc4Mzg3NVx1MDAzZHRydWVcdTAwMjY0NTc4NDQzOVx1MDAzZDBcdTAwMjY0NTc4NjQ0M1x1MDAzZDAuMFx1MDAyNjQ1Nzg3OTQ4XHUwMDNkdHJ1ZVx1MDAyNjQ1Nzg5NDc0XHUwMDNkdHJ1ZVx1MDAyNjQ1NzkxMTE3XHUwMDNkMC4wXHUwMDI2NDU3OTExMThcdTAwM2QwLjBcdTAwMjY0NTc5MTExOVx1MDAzZDAuMFx1MDAyNjQ1NzkzNzEwXHUwMDNkMC4wXHUwMDI2NDU3OTQ0NDFcdTAwM2QwLjBcdTAwMjY0NTc5NDg2N1x1MDAzZHRydWVcdTAwMjY0NTc5NDg2OFx1MDAzZHRydWVcdTAwMjY0NTc5NzcyMVx1MDAzZHRydWVcdTAwMjY0NTc5Nzk2M1x1MDAzZDAuMFx1MDAyNjQ1ODAyMTIzXHUwMDNkMC4wXHUwMDI2NDU4MDM3NTRcdTAwM2QwLjBcdTAwMjY0NTgwNDc3MVx1MDAzZDAuMFx1MDAyNjQ1ODA1Njk1XHUwMDNkMC4wXHUwMDI2NDU4MDY1NTVcdTAwM2QyXHUwMDI2NDU4MDc0MzJcdTAwM2QwLjBcdTAwMjY0NTgwNzQ4NFx1MDAzZFx1MDAyNjQ1ODA3NzcxXHUwMDNkMC4wXHUwMDI2NDU4MDc3NzJcdTAwM2QwLjBcdTAwMjY0NTgwNzc3M1x1MDAzZDAuMFx1MDAyNjQ1ODA4NzYyXHUwMDNkMFx1MDAyNjQ1ODE0NDgwXHUwMDNkdHJ1ZVx1MDAyNjQ1ODE1MDExXHUwMDNkMC4wXHUwMDI2NDU4MTU2MzBcdTAwM2QwXHUwMDI2NDU4MTY4ODhcdTAwM2QwLjBcdTAwMjY0NTgxODEyOFx1MDAzZDAuMCJ9fSwiWFNSRl9GSUVMRF9OQU1FIjoic2Vzc2lvbl90b2tlbiIsIlhTUkZfVE9LRU4iOiJRVU00Wm05clVsTkJiRlpRY2tSNGNWZG9iSEF0VW5CVVNGbzBXWHhCUjNKaVMyRnNTMWxGZFZRME1HaFZYMHBuUkV4aWFHSlROVzF5TURVd2JWVXpVelZITW01RFFXbFhkSEZ4ZG1aclZFRnZWR1YxVUUxNWVqbGFUemhmVVdGVFRtVjBlRmxtY2preVEwWkpWRVJTZWxRMmRUQlRUVlJRTUdKbWNrVlJXVmtcdTAwM2QiLCJTRVJWRVJfVkVSU0lPTiI6InByb2QiLCJEQVRBU1lOQ19JRCI6IlZmYWY0YmVlZXx8IiwiU0VSSUFMSVpFRF9DTElFTlRfQ09ORklHX0RBVEEiOiJDSi1qbTlNR0VNZU4waHdRNExmUkhCRHczdEVjRU5yM3pod1FBQkNKc000Y0VMancwUndROXF1d0JSQ09rTkVjRU0zdzBSd1Fpb2U0SWhDOHBOQWNFUG55MFJ3UThaeXdCUkNMOTg4Y0VQYjMwUndRbGVfUkhCQzltYkFGRUo3UXNBVVFuOC1BRXhDa3FkRWNFSm1Oc1FVUXRfaUFFeER4dE5BY0VNbjJnQk1RcjRiUEhCRGV2TTRjRUs3V3p4d1FodUdBRXhDSHJNNGNFSU9IdUNJUWllVFJIQkR6ek5FY0VMMjJyZ1VRek4tdUJSREstNEFURUxYYjBSd1E0T3JSSEJDZGhyZ2lFTUdQMEJ3UTZmalJIQkNCemM0Y0VMMktzQVVRdU9UT0hCRDhzczRjRUlpUTBSd1F2b1RSSENwa1EwRk5VMUpTVmtjdFduRXRSRTFsVlVWd1ZVTnVRVGMxUmxoTFRVWkxhbFpFT0dkRVJFMHdRamRuVEd0Q2RFTTFObEZ6ZVc5TGQwVkJOVU4xUVY5emJYUjFVVWMxU1ZWWU1FMTNSM2hLU1VaNWVqTkdTamx1VmtKa2QzTTFNRmxrUW5jOVBUQUEiLCJST09UX1ZFX1RZUEUiOjE2NjIzLCJDTElFTlRfUFJPVE9DT0wiOiJoMiIsIkNMSUVOVF9UUkFOU1BPUlQiOiJ0Y3AiLCJQTEFZRVJfQ0xJRU5UX1ZFUlNJT04iOiIxLjIwMjYwNzIxLjA4LjAwIiwiVElNRV9DUkVBVEVEX01TIjoxNzg1MTIzMjMxOTYzLCJWQUxJRF9TRVNTSU9OX1RFTVBEQVRBX0RPTUFJTlMiOlsieW91dHUuYmUiLCJ5b3V0dWJlLmNvbSIsInd3dy55b3V0dWJlLmNvbSIsIndlYi1ncmVlbi1xYS55b3V0dWJlLmNvbSIsIndlYi1yZWxlYXNlLXFhLnlvdXR1YmUuY29tIiwid2ViLWludGVncmF0aW9uLXFhLnlvdXR1YmUuY29tIiwibS55b3V0dWJlLmNvbSIsIm13ZWItZ3JlZW4tcWEueW91dHViZS5jb20iLCJtd2ViLXJlbGVhc2UtcWEueW91dHViZS5jb20iLCJtd2ViLWludGVncmF0aW9uLXFhLnlvdXR1YmUuY29tIiwic3R1ZGlvLnlvdXR1YmUuY29tIiwic3R1ZGlvLWdyZWVuLXFhLnlvdXR1YmUuY29tIiwic3R1ZGlvLWludGVncmF0aW9uLXFhLnlvdXR1YmUuY29tIl0sIkxPVFRJRV9VUkwiOnsicHJpdmF0ZURvTm90QWNjZXNzT3JFbHNlVHJ1c3RlZFJlc291cmNlVXJsV3JhcHBlZFZhbHVlIjoiL3MvZW1iZWRzLzMyZDJhYzgzL2xvdHRpZS1saWdodC52ZmxzZXQvbG90dGllLWxpZ2h0LmpzIn0sIklERU5USVRZX01FTUVOVE8iOnsidmlzaXRvcl9kYXRhIjoiQ2dzeE5VTk9VMEkzYURZdE5DaWZvNXZUQmpJb0NnSk9UeElpRWg0U0hBc01EZzhRRVJJVEZCVVdGeGdaR2hzY0hSNGZJQ0VpSXlRbEppY2dZV0xmQWdyY0FqSXdMbGxVUFdWV01teHZaVFZVWVhKb1JuRnNWVlpKUmxOQ2NGRlNhbTVmZGw5VVRWWmpSekF4U2pBNVUyOWtZVzVIZHpJMmNHVXlaRlp0Y1dGME5UbHNVWFJoYjJOV1luTkxRMVZrV1VFeWNUQnJWbFpLU0dGSVlUbE9PWEZGTlZsb2VrUkJSa3BSY0RJNWQzTnZUMUphWjI5b1VXZDZiblUzVTNKb1JWVnVXRGswVW5sQk1IbGlMVE5TYjBSNVpGOVliRW8xTjI1clNFRm9NMlZXT1ZGelpEZDRlR0l6VTBKallsbFVNMmhwUVVodldscGpOa3RRYkc5bE5VZHdlVGh2VFhwRk5VWktZVkV0V0RoT1NUQmxPR2xzZDBwallWSXpUa1pTV1ZrNVkwWlVURFJzZUhocVFVUlBhbVZCUmxWYVdVZE5jeTFhYjAxemJVTjBjbmgxWjNaU1QxWmlNMXBJUkdsRlVGWkphRmx1Y3pWVGRIQm5iRjl2VUVvek9GZ3RZbmxmVVRCd1ltUlhNRkZCVjBSVU9UWm5UVnBVZGpOdk0xaENSSFZ5TkdKQlYyWnBhWFZ3VjNWR1lsOUNaVVV6V0VOeVFXRk5UMjFJWnclM0QlM0QifSwiTVdFQl9TVVBQT1JUU19ET1VCTEVfVEFQX1RPX1NFRUsiOnRydWUsIlBMQVlFUl9WQVJTIjp7ImVtYmVkZGVkX3BsYXllcl9yZXNwb25zZSI6IntcInJlc3BvbnNlQ29udGV4dFwiOntcInNlcnZpY2VUcmFja2luZ1BhcmFtc1wiOlt7XCJzZXJ2aWNlXCI6XCJDU0lcIixcInBhcmFtc1wiOlt7XCJrZXlcIjpcImNcIixcInZhbHVlXCI6XCJXRUJfRU1CRURERURfUExBWUVSXCJ9LHtcImtleVwiOlwiY3ZlclwiLFwidmFsdWVcIjpcIjIuMjAyNjA3MjQuMDEuMDBcIn0se1wia2V5XCI6XCJ5dF9saVwiLFwidmFsdWVcIjpcIjBcIn0se1wia2V5XCI6XCJHZXRFbWJlZGRlZFBsYXllcl9yaWRcIixcInZhbHVlXCI6XCIweDVkODE0MjU3MWUyNDQ1ZGRcIn1dfSx7XCJzZXJ2aWNlXCI6XCJHRkVFREJBQ0tcIixcInBhcmFtc1wiOlt7XCJrZXlcIjpcImxvZ2dlZF9pblwiLFwidmFsdWVcIjpcIjBcIn1dfSx7XCJzZXJ2aWNlXCI6XCJHVUlERURfSEVMUFwiLFwicGFyYW1zXCI6W3tcImtleVwiOlwibG9nZ2VkX2luXCIsXCJ2YWx1ZVwiOlwiMFwifV19LHtcInNlcnZpY2VcIjpcIkVDQVRDSEVSXCIsXCJwYXJhbXNcIjpbe1wia2V5XCI6XCJjbGllbnQudmVyc2lvblwiLFwidmFsdWVcIjpcIjIuMjAyNjA3MjRcIn0se1wia2V5XCI6XCJjbGllbnQubmFtZVwiLFwidmFsdWVcIjpcIldFQl9FTUJFRERFRF9QTEFZRVJcIn1dfV0sXCJyZXNwb25zZUlkXCI6XCJJaE1Jd3JMOG9QYnhsUU1WbzlWUENCMGxmeExXXCIsXCJ3ZWJSZXNwb25zZUNvbnRleHRFeHRlbnNpb25EYXRhXCI6e1wiaGFzRGVjb3JhdGVkXCI6dHJ1ZX19LFwiZW1iZWRQcmV2aWV3XCI6e1widGh1bWJuYWlsUHJldmlld1JlbmRlcmVyXCI6e1widGl0bGVcIjp7XCJydW5zXCI6W3tcInRleHRcIjpcIkhvdyB0byBCdXkgQml0Y29pbiBvbiBDb2luYmFzZSAoQ29pbmJhc2UgVHV0b3JpYWwpXCJ9XX0sXCJkZWZhdWx0VGh1bWJuYWlsXCI6e1widGh1bWJuYWlsc1wiOlt7XCJ1cmxcIjpcImh0dHBzOi8vaS55dGltZy5jb20vdmkvSFBvSmhWTlNIZGsvZGVmYXVsdC5qcGdcIixcIndpZHRoXCI6MTIwLFwiaGVpZ2h0XCI6OTB9LHtcInVybFwiOlwiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9IUG9KaFZOU0hkay9ocWRlZmF1bHQuanBnP3NxcFx1MDAzZC1vYXltd0ViQ0tnQkVGNUlWZktyaXFrRERnZ0JGUUFBaUVJWUFYQUJ3QUVHXFx1MDAyNnJzXHUwMDNkQU9uNENMQ1BHazctbmNId3ZQRFdpZDZtSHh6NGR1eDVlUVwiLFwid2lkdGhcIjoxNjgsXCJoZWlnaHRcIjo5NH0se1widXJsXCI6XCJodHRwczovL2kueXRpbWcuY29tL3ZpL0hQb0poVk5TSGRrL2hxZGVmYXVsdC5qcGc/c3FwXHUwMDNkLW9heW13RWJDTVFCRUc1SVZmS3JpcWtERGdnQkZRQUFpRUlZQVhBQndBRUdcXHUwMDI2cnNcdTAwM2RBT240Q0xEQVAzSURjNFB2MnZFX0xUdGtHTkgwMDlKa0ZRXCIsXCJ3aWR0aFwiOjE5NixcImhlaWdodFwiOjExMH0se1widXJsXCI6XCJodHRwczovL2kueXRpbWcuY29tL3ZpL0hQb0poVk5TSGRrL2hxZGVmYXVsdC5qcGc/c3FwXHUwMDNkLW9heW13RWNDUFlCRUlvQlNGWHlxNHFwQXc0SUFSVUFBSWhDR0FGd0FjQUJCZ1x1MDAzZFx1MDAzZFxcdTAwMjZyc1x1MDAzZEFPbjRDTENuSnlZaHlLZ05nUEpOam5jVnFoWlplcHc4alFcIixcIndpZHRoXCI6MjQ2LFwiaGVpZ2h0XCI6MTM4fSx7XCJ1cmxcIjpcImh0dHBzOi8vaS55dGltZy5jb20vdmkvSFBvSmhWTlNIZGsvbXFkZWZhdWx0LmpwZ1wiLFwid2lkdGhcIjozMjAsXCJoZWlnaHRcIjoxODB9LHtcInVybFwiOlwiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9IUG9KaFZOU0hkay9ocWRlZmF1bHQuanBnP3NxcFx1MDAzZC1vYXltd0VjQ05BQ0VMd0JTRlh5cTRxcEF3NElBUlVBQUloQ0dBRndBY0FCQmdcdTAwM2RcdTAwM2RcXHUwMDI2cnNcdTAwM2RBT240Q0xEV2h2a2hIaE5FQWwtQURtR01xYmM2MTRfcTF3XCIsXCJ3aWR0aFwiOjMzNixcImhlaWdodFwiOjE4OH0se1widXJsXCI6XCJodHRwczovL2kueXRpbWcuY29tL3ZpL0hQb0poVk5TSGRrL2hxZGVmYXVsdC5qcGdcIixcIndpZHRoXCI6NDgwLFwiaGVpZ2h0XCI6MzYwfSx7XCJ1cmxcIjpcImh0dHBzOi8vaS55dGltZy5jb20vdmkvSFBvSmhWTlNIZGsvc2RkZWZhdWx0LmpwZ1wiLFwid2lkdGhcIjo2NDAsXCJoZWlnaHRcIjo0ODB9LHtcInVybFwiOlwiaHR0cHM6Ly9pLnl0aW1nLmNvbS92aS9IUG9KaFZOU0hkay9tYXhyZXNkZWZhdWx0LmpwZ1wiLFwid2lkdGhcIjoxOTIwLFwiaGVpZ2h0XCI6MTA4MH1dfSxcInBsYXlCdXR0b25cIjp7XCJidXR0b25SZW5kZXJlclwiOntcInN0eWxlXCI6XCJTVFlMRV9ERUZBVUxUXCIsXCJzaXplXCI6XCJTSVpFX0RFRkFVTFRcIixcImlzRGlzYWJsZWRcIjpmYWxzZSxcIm5hdmlnYXRpb25FbmRwb2ludFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBY1E4RnNpRXdqQ3N2eWc5dkdWQXhXajFVOElIU1ZfRXRiS0FRU0d2RmY0XCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJ1cmxcIjpcIi93YXRjaD92XHUwMDNkSFBvSmhWTlNIZGtcIixcIndlYlBhZ2VUeXBlXCI6XCJXRUJfUEFHRV9UWVBFX1dBVENIXCIsXCJyb290VmVcIjozODMyfX0sXCJ3YXRjaEVuZHBvaW50XCI6e1widmlkZW9JZFwiOlwiSFBvSmhWTlNIZGtcIn19LFwiYWNjZXNzaWJpbGl0eVwiOntcImxhYmVsXCI6XCJQbGF5IEhvdyB0byBCdXkgQml0Y29pbiBvbiBDb2luYmFzZSAoQ29pbmJhc2UgVHV0b3JpYWwpXCJ9LFwidHJhY2tpbmdQYXJhbXNcIjpcIkNBY1E4RnNpRXdqQ3N2eWc5dkdWQXhXajFVOElIU1ZfRXRZXHUwMDNkXCJ9fSxcInZpZGVvRGV0YWlsc1wiOntcImVtYmVkZGVkUGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc1JlbmRlcmVyXCI6e1wiY2hhbm5lbFRodW1ibmFpbFwiOntcInRodW1ibmFpbHNcIjpbe1widXJsXCI6XCJodHRwczovL3l0My5nZ3BodC5jb20vQ1ZXNEVHc2ZVZGhSNVhJM2w5Nm16ZGFKcWk2UElObWZxZm53ZzhELUpOSjlob2VkZjhGdnVCME9wYTdkZFBncTAtR0VOZ2tRTkFcdTAwM2RzNjgtYy1rLWMweDAwZmZmZmZmLW5vLXJqXCIsXCJ3aWR0aFwiOjY4LFwiaGVpZ2h0XCI6Njh9XX0sXCJjb2xsYXBzZWRSZW5kZXJlclwiOntcImVtYmVkZGVkUGxheWVyT3ZlcmxheVZpZGVvRGV0YWlsc0NvbGxhcHNlZFJlbmRlcmVyXCI6e1widGl0bGVcIjp7XCJydW5zXCI6W3tcInRleHRcIjpcIkhvdyB0byBCdXkgQml0Y29pbiBvbiBDb2luYmFzZSAoQ29pbmJhc2UgVHV0b3JpYWwpXCIsXCJuYXZpZ2F0aW9uRW5kcG9pbnRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQVlRNDZJQ0loTUl3ckw4b1BieGxRTVZvOVZQQ0IwbGZ4TFd5Z0VFaHJ4WC1BXHUwMDNkXHUwMDNkXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJ1cmxcIjpcImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3ZcdTAwM2RIUG9KaFZOU0hka1wiLFwid2ViUGFnZVR5cGVcIjpcIldFQl9QQUdFX1RZUEVfVU5LTk9XTlwiLFwicm9vdFZlXCI6ODM3Njl9fSxcInVybEVuZHBvaW50XCI6e1widXJsXCI6XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92XHUwMDNkSFBvSmhWTlNIZGtcIixcInRhcmdldFwiOlwiVEFSR0VUX05FV19XSU5ET1dcIn19fV19LFwic3VidGl0bGVcIjp7XCJydW5zXCI6W3tcInRleHRcIjpcIjEyN0sgdmlld3Mg4oCiIDQzOSBjb21tZW50c1wifV19LFwidHJhY2tpbmdQYXJhbXNcIjpcIkNBWVE0NklDSWhNSXdyTDhvUGJ4bFFNVm85VlBDQjBsZnhMV1wifX0sXCJleHBhbmRlZFJlbmRlcmVyXCI6e1wiZW1iZWRkZWRQbGF5ZXJPdmVybGF5VmlkZW9EZXRhaWxzRXhwYW5kZWRSZW5kZXJlclwiOntcInRpdGxlXCI6e1wicnVuc1wiOlt7XCJ0ZXh0XCI6XCJUdSBOZ29cIn1dfSxcInN1YnRpdGxlXCI6e1wicnVuc1wiOlt7XCJ0ZXh0XCI6XCI0MS44SyBzdWJzY3JpYmVyc1wifV19LFwidHJhY2tpbmdQYXJhbXNcIjpcIkNBVVE1S0lDSWhNSXdyTDhvUGJ4bFFNVm85VlBDQjBsZnhMV1wifX0sXCJjaGFubmVsVGh1bWJuYWlsRW5kcG9pbnRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQUFRcnU0QkloTUl3ckw4b1BieGxRTVZvOVZQQ0IwbGZ4TFd5Z0VFaHJ4WC1BXHUwMDNkXHUwMDNkXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJ1cmxcIjpcIi9jaGFubmVsL1VDVDR3YU12QkppNnJzSFV4T05SektfZ1wiLFwid2ViUGFnZVR5cGVcIjpcIldFQl9QQUdFX1RZUEVfVU5LTk9XTlwiLFwicm9vdFZlXCI6ODM3Njl9fSxcInVybEVuZHBvaW50XCI6e1widXJsXCI6XCIvY2hhbm5lbC9VQ1Q0d2FNdkJKaTZyc0hVeE9OUnpLX2dcIixcInRhcmdldFwiOlwiVEFSR0VUX05FV19XSU5ET1dcIn19fX0sXCJ2aWRlb0R1cmF0aW9uU2Vjb25kc1wiOlwiMTQyXCIsXCJ3ZWJQbGF5ZXJBY3Rpb25zUG9ydGluZ1wiOntcImdldFNoYXJlUGFuZWxDb21tYW5kXCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FBUXJ1NEJJaE1Jd3JMOG9QYnhsUU1WbzlWUENCMGxmeExXeWdFRWhyeFgtQVx1MDAzZFx1MDAzZFwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1wiYXBpVXJsXCI6XCIveW91dHViZWkvdjEvc2hhcmUvZ2V0X3dlYl9wbGF5ZXJfc2hhcmVfcGFuZWxcIn19LFwid2ViUGxheWVyU2hhcmVFbnRpdHlTZXJ2aWNlRW5kcG9pbnRcIjp7XCJzZXJpYWxpemVkU2hhcmVFbnRpdHlcIjpcIkNndElVRzlLYUZaT1UwaGthdyUzRCUzRFwifX0sXCJzdWJzY3JpYmVDb21tYW5kXCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FBUXJ1NEJJaE1Jd3JMOG9QYnhsUU1WbzlWUENCMGxmeExXeWdFRWhyeFgtQVx1MDAzZFx1MDAzZFwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1wic2VuZFBvc3RcIjp0cnVlLFwiYXBpVXJsXCI6XCIveW91dHViZWkvdjEvc3Vic2NyaXB0aW9uL3N1YnNjcmliZVwifX0sXCJzdWJzY3JpYmVFbmRwb2ludFwiOntcImNoYW5uZWxJZHNcIjpbXCJVQ1Q0d2FNdkJKaTZyc0hVeE9OUnpLX2dcIl0sXCJwYXJhbXNcIjpcIkVnSUlCeGdBXCJ9fSxcInVuc3Vic2NyaWJlQ29tbWFuZFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBQVFydTRCSWhNSXdyTDhvUGJ4bFFNVm85VlBDQjBsZnhMV3lnRUVocnhYLUFcdTAwM2RcdTAwM2RcIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcInNlbmRQb3N0XCI6dHJ1ZSxcImFwaVVybFwiOlwiL3lvdXR1YmVpL3YxL3N1YnNjcmlwdGlvbi91bnN1YnNjcmliZVwifX0sXCJ1bnN1YnNjcmliZUVuZHBvaW50XCI6e1wiY2hhbm5lbElkc1wiOltcIlVDVDR3YU12QkppNnJzSFV4T05SektfZ1wiXSxcInBhcmFtc1wiOlwiQ2dJSUJ4Z0FcIn19LFwiYWRkVG9XYXRjaExhdGVyQ29tbWFuZFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBQVFydTRCSWhNSXdyTDhvUGJ4bFFNVm85VlBDQjBsZnhMV3lnRUVocnhYLUFcdTAwM2RcdTAwM2RcIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcImFwaVVybFwiOlwiL3lvdXR1YmVpL3YxL2Jyb3dzZS9lZGl0X3BsYXlsaXN0XCJ9fSxcInBsYXlsaXN0RWRpdEVuZHBvaW50XCI6e1wicGxheWxpc3RJZFwiOlwiV0xcIixcImFjdGlvbnNcIjpbe1wiYWRkZWRWaWRlb0lkXCI6XCJIUG9KaFZOU0hka1wiLFwiYWN0aW9uXCI6XCJBQ1RJT05fQUREX1ZJREVPXCJ9XX19LFwicmVtb3ZlRnJvbVdhdGNoTGF0ZXJDb21tYW5kXCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FBUXJ1NEJJaE1Jd3JMOG9QYnhsUU1WbzlWUENCMGxmeExXeWdFRWhyeFgtQVx1MDAzZFx1MDAzZFwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1wiYXBpVXJsXCI6XCIveW91dHViZWkvdjEvYnJvd3NlL2VkaXRfcGxheWxpc3RcIn19LFwicGxheWxpc3RFZGl0RW5kcG9pbnRcIjp7XCJwbGF5bGlzdElkXCI6XCJXTFwiLFwiYWN0aW9uc1wiOlt7XCJhY3Rpb25cIjpcIkFDVElPTl9SRU1PVkVfVklERU9fQllfVklERU9fSURcIixcInJlbW92ZWRWaWRlb0lkXCI6XCJIUG9KaFZOU0hka1wifV19fX0sXCJhY3Rpb25CYXJCdXR0b25zXCI6W3tcImJ1dHRvblJlbmRlcmVyXCI6e1wic3R5bGVcIjpcIlNUWUxFX09QQUNJVFlcIixcInNpemVcIjpcIlNJWkVfREVGQVVMVFwiLFwiaXNEaXNhYmxlZFwiOmZhbHNlLFwiaWNvblwiOntcImljb25UeXBlXCI6XCJTSEFSRV9BUlJPV1wifSxcIm5hdmlnYXRpb25FbmRwb2ludFwiOntcImNsaWNrVHJhY2tpbmdQYXJhbXNcIjpcIkNBUVEtTjhCR0FBaUV3akNzdnlnOXZHVkF4V2oxVThJSFNWX0V0YktBUVNHdkZmNFwiLFwiY29tbWFuZE1ldGFkYXRhXCI6e1wid2ViQ29tbWFuZE1ldGFkYXRhXCI6e1wiaWdub3JlTmF2aWdhdGlvblwiOnRydWV9fSxcInNoYXJlRW50aXR5RW5kcG9pbnRcIjp7XCJzZXJpYWxpemVkU2hhcmVFbnRpdHlcIjpcIkNndElVRzlLYUZaT1UwaGthdyUzRCUzRFwiLFwic2hhcmVQYW5lbFR5cGVcIjpcIlNIQVJFX1BBTkVMX1RZUEVfVU5JRklFRF9TSEFSRV9QQU5FTFwifX0sXCJ0cmFja2luZ1BhcmFtc1wiOlwiQ0FRUS1OOEJHQUFpRXdqQ3N2eWc5dkdWQXhXajFVOElIU1ZfRXRZXHUwMDNkXCIsXCJhY2Nlc3NpYmlsaXR5RGF0YVwiOntcImFjY2Vzc2liaWxpdHlEYXRhXCI6e1wibGFiZWxcIjpcIlNoYXJlXCJ9fX19LHtcImJ1dHRvblJlbmRlcmVyXCI6e1wic3R5bGVcIjpcIlNUWUxFX09QQUNJVFlcIixcInNpemVcIjpcIlNJWkVfREVGQVVMVFwiLFwiaXNEaXNhYmxlZFwiOmZhbHNlLFwic2VydmljZUVuZHBvaW50XCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FNUS1kOEJHQUVpRXdqQ3N2eWc5dkdWQXhXajFVOElIU1ZfRXRiS0FRU0d2RmY0XCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJhcGlVcmxcIjpcIi95b3V0dWJlaS92MS9icm93c2UvZWRpdF9wbGF5bGlzdFwifX0sXCJwbGF5bGlzdEVkaXRFbmRwb2ludFwiOntcInBsYXlsaXN0SWRcIjpcIldMXCIsXCJhY3Rpb25zXCI6W3tcImFkZGVkVmlkZW9JZFwiOlwiSFBvSmhWTlNIZGtcIixcImFjdGlvblwiOlwiQUNUSU9OX0FERF9WSURFT1wifV19fSxcImljb25cIjp7XCJpY29uVHlwZVwiOlwiQUREX1RPX1dBVENIX0xBVEVSXCJ9LFwidHJhY2tpbmdQYXJhbXNcIjpcIkNBTVEtZDhCR0FFaUV3akNzdnlnOXZHVkF4V2oxVThJSFNWX0V0WVx1MDAzZFwiLFwiYWNjZXNzaWJpbGl0eURhdGFcIjp7XCJhY2Nlc3NpYmlsaXR5RGF0YVwiOntcImxhYmVsXCI6XCJXYXRjaCBsYXRlclwifX0sXCJjb21tYW5kXCI6e1wiY2xpY2tUcmFja2luZ1BhcmFtc1wiOlwiQ0FNUS1kOEJHQUVpRXdqQ3N2eWc5dkdWQXhXajFVOElIU1ZfRXRiS0FRU0d2RmY0XCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJ1cmxcIjpcImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9TZXJ2aWNlTG9naW4/c2VydmljZVx1MDAzZHlvdXR1YmVcXHUwMDI2dWlsZWxcdTAwM2QzXFx1MDAyNnBhc3NpdmVcdTAwM2R0cnVlXFx1MDAyNmNvbnRpbnVlXHUwMDNkaHR0cHMlM0ElMkYlMkZ3d3cueW91dHViZS5jb20lMkZzaWduaW4lM0ZhY3Rpb25faGFuZGxlX3NpZ25pbiUzRHRydWUlMjZobCUzRGVuJTI2bmV4dCUzRCUyNTJGcG9zdF9sb2dpblxcdTAwMjZobFx1MDAzZGVuXCIsXCJ3ZWJQYWdlVHlwZVwiOlwiV0VCX1BBR0VfVFlQRV9VTktOT1dOXCIsXCJyb290VmVcIjo4Mzc2OX19LFwic2lnbkluRW5kcG9pbnRcIjp7XCJuZXh0RW5kcG9pbnRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQU1RLWQ4QkdBRWlFd2pDc3Z5Zzl2R1ZBeFdqMVU4SUhTVl9FdGJLQVFTR3ZGZjRcIixcImNvbW1hbmRNZXRhZGF0YVwiOntcIndlYkNvbW1hbmRNZXRhZGF0YVwiOntcInVybFwiOlwiL3Bvc3RfbG9naW5cIixcIndlYlBhZ2VUeXBlXCI6XCJXRUJfUEFHRV9UWVBFX1VOS05PV05cIixcInJvb3RWZVwiOjgzNzY5fX0sXCJ1cmxFbmRwb2ludFwiOntcInVybFwiOlwiL3Bvc3RfbG9naW5cIn19fX19fV0sXCJxdWlja0FjdGlvbnNCYXJcIjp7XCJxdWlja0FjdGlvbnNWaWV3TW9kZWxcIjp7XCJ3YXRjaE9uWW91dHViZUJ1dHRvblwiOntcIndhdGNoT25Zb3V0dWJlQnV0dG9uVmlld01vZGVsXCI6e1wid2F0Y2hPbll0TGFiZWxCdXR0b25cIjp7XCJidXR0b25WaWV3TW9kZWxcIjp7XCJvblRhcFwiOntcImlubmVydHViZUNvbW1hbmRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQUlReXZNRkloTUl3ckw4b1BieGxRTVZvOVZQQ0IwbGZ4TFd5Z0VFaHJ4WC1BXHUwMDNkXHUwMDNkXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJ1cmxcIjpcImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3ZcdTAwM2RIUG9KaFZOU0hka1wiLFwid2ViUGFnZVR5cGVcIjpcIldFQl9QQUdFX1RZUEVfVU5LTk9XTlwiLFwicm9vdFZlXCI6ODM3Njl9fSxcInVybEVuZHBvaW50XCI6e1widXJsXCI6XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92XHUwMDNkSFBvSmhWTlNIZGtcIixcInRhcmdldFwiOlwiVEFSR0VUX05FV19XSU5ET1dcIn19fSxcImFjY2Vzc2liaWxpdHlUZXh0XCI6XCJXYXRjaCBvbiBZb3VUdWJlXCIsXCJzdHlsZVwiOlwiQlVUVE9OX1ZJRVdfTU9ERUxfU1RZTEVfT1ZFUkxBWV9EQVJLXCIsXCJ0cmFja2luZ1BhcmFtc1wiOlwiQ0FJUXl2TUZJaE1Jd3JMOG9QYnhsUU1WbzlWUENCMGxmeExXXCIsXCJ0eXBlXCI6XCJCVVRUT05fVklFV19NT0RFTF9UWVBFX1RFWFRcIixcImJ1dHRvblNpemVcIjpcIkJVVFRPTl9WSUVXX01PREVMX1NJWkVfTEFSR0VcIixcInRpdGxlRm9ybWF0dGVkXCI6e1wiY29udGVudFwiOlwiV2F0Y2ggb25cIixcInN0eWxlUnVuc1wiOlt7XCJ3ZWlnaHRMYWJlbFwiOlwiRk9OVF9XRUlHSFRfVEhJTlwifV0sXCJhdHRhY2htZW50UnVuc1wiOlt7XCJzdGFydEluZGV4XCI6OCxcImxlbmd0aFwiOjAsXCJlbGVtZW50XCI6e1widHlwZVwiOntcImltYWdlVHlwZVwiOntcImltYWdlXCI6e1wic291cmNlc1wiOlt7XCJjbGllbnRSZXNvdXJjZVwiOntcImltYWdlTmFtZVwiOlwid2F0ZXJtYXJrXCJ9fV19fX0sXCJwcm9wZXJ0aWVzXCI6e1wibGF5b3V0UHJvcGVydGllc1wiOntcImhlaWdodFwiOntcInZhbHVlXCI6MjAsXCJ1bml0XCI6XCJESU1FTlNJT05fVU5JVF9QT0lOVFwifSxcIndpZHRoXCI6e1widmFsdWVcIjo5MCxcInVuaXRcIjpcIkRJTUVOU0lPTl9VTklUX1BPSU5UXCJ9LFwibWFyZ2luXCI6e1wibGVmdFwiOntcInZhbHVlXCI6NX19fX19LFwiYWxpZ25tZW50XCI6XCJBTElHTk1FTlRfVkVSVElDQUxfQ0VOVEVSXCJ9XX19fSxcInl0TG9nb09ubHlCdXR0b25cIjp7XCJidXR0b25WaWV3TW9kZWxcIjp7XCJvblRhcFwiOntcImlubmVydHViZUNvbW1hbmRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJDQUVRMXRjRUloTUl3ckw4b1BieGxRTVZvOVZQQ0IwbGZ4TFd5Z0VFaHJ4WC1BXHUwMDNkXHUwMDNkXCIsXCJjb21tYW5kTWV0YWRhdGFcIjp7XCJ3ZWJDb21tYW5kTWV0YWRhdGFcIjp7XCJ1cmxcIjpcImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3ZcdTAwM2RIUG9KaFZOU0hka1wiLFwid2ViUGFnZVR5cGVcIjpcIldFQl9QQUdFX1RZUEVfVU5LTk9XTlwiLFwicm9vdFZlXCI6ODM3Njl9fSxcInVybEVuZHBvaW50XCI6e1widXJsXCI6XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92XHUwMDNkSFBvSmhWTlNIZGtcIixcInRhcmdldFwiOlwiVEFSR0VUX05FV19XSU5ET1dcIn19fSxcImFjY2Vzc2liaWxpdHlUZXh0XCI6XCJXYXRjaCBvbiBZb3VUdWJlXCIsXCJzdHlsZVwiOlwiQlVUVE9OX1ZJRVdfTU9ERUxfU1RZTEVfTU9OT1wiLFwidHJhY2tpbmdQYXJhbXNcIjpcIkNBRVExdGNFSWhNSXdyTDhvUGJ4bFFNVm85VlBDQjBsZnhMV1wiLFwidHlwZVwiOlwiQlVUVE9OX1ZJRVdfTU9ERUxfVFlQRV9URVhUXCIsXCJidXR0b25TaXplXCI6XCJCVVRUT05fVklFV19NT0RFTF9TSVpFX0NPTVBBQ1RcIixcInRpdGxlRm9ybWF0dGVkXCI6e1wiY29udGVudFwiOlwiIFwiLFwiYXR0YWNobWVudFJ1bnNcIjpbe1wic3RhcnRJbmRleFwiOjAsXCJsZW5ndGhcIjowLFwiZWxlbWVudFwiOntcInR5cGVcIjp7XCJpbWFnZVR5cGVcIjp7XCJpbWFnZVwiOntcInNvdXJjZXNcIjpbe1wiY2xpZW50UmVzb3VyY2VcIjp7XCJpbWFnZU5hbWVcIjpcIndhdGVybWFya1wifX1dfX19LFwicHJvcGVydGllc1wiOntcImxheW91dFByb3BlcnRpZXNcIjp7XCJoZWlnaHRcIjp7XCJ2YWx1ZVwiOjIwLFwidW5pdFwiOlwiRElNRU5TSU9OX1VOSVRfUE9JTlRcIn0sXCJ3aWR0aFwiOntcInZhbHVlXCI6OTAsXCJ1bml0XCI6XCJESU1FTlNJT05fVU5JVF9QT0lOVFwifSxcIm1hcmdpblwiOntcImxlZnRcIjp7XCJ2YWx1ZVwiOjV9fX19fSxcImFsaWdubWVudFwiOlwiQUxJR05NRU5UX1ZFUlRJQ0FMX0NFTlRFUlwifV19fX19fX19fX0sXCJ0cmFja2luZ1BhcmFtc1wiOlwiQ0FBUXJ1NEJJaE1Jd3JMOG9QYnhsUU1WbzlWUENCMGxmeExXeWdFRWhyeFgtQVx1MDAzZFx1MDAzZFwiLFwicGVybWlzc2lvbnNcIjp7XCJhbGxvd0ltYU1vbmV0aXphdGlvblwiOmZhbHNlLFwiYWxsb3dQZnBVbmJyYW5kZWRcIjpmYWxzZX0sXCJ2aWRlb0ZsYWdzXCI6e1wicGxheWFibGVJbkVtYmVkXCI6dHJ1ZSxcImlzQ3Jhd2xhYmxlXCI6dHJ1ZX0sXCJwcmV2aWV3UGxheWFiaWxpdHlTdGF0dXNcIjp7XCJzdGF0dXNcIjpcIk9LXCIsXCJwbGF5YWJsZUluRW1iZWRcIjp0cnVlLFwiY29udGV4dFBhcmFtc1wiOlwiUTBGRlUwRm5aMEVcdTAwM2RcIn0sXCJlbWJlZGRlZFBsYXllck1vZGVcIjpcIkVNQkVEREVEX1BMQVlFUl9NT0RFX0RFRkFVTFRcIixcImVtYmVkZGVkUGxheWVyQ29uZmlnXCI6e1wiZW1iZWRkZWRQbGF5ZXJNb2RlXCI6XCJFTUJFRERFRF9QTEFZRVJfTU9ERV9ERUZBVUxUXCIsXCJlbWJlZGRlZFBsYXllckZsYWdzXCI6e319LFwiZW1iZWRkZWRQbGF5ZXJDb250ZXh0XCI6e1wiZW1iZWRkZWRQbGF5ZXJFbmNyeXB0ZWRDb250ZXh0XCI6XCJBQ21ibEJXNTgtMTJYSU1PWVdPd1YzYWtjam1TS2RPbFdRbmRBQU1LVV9fdWhFZGFTTGZvNXdIdTJtQk1fUzZ4M0NKRGlILWhIdTJaRDJuVHM4TE5scERwak5oWGJOYW9tSXFmQ1NiX2Zoejc4TTlMZjlpZ1BCY0lWU3FhTjhfa0x3SV9cIixcImFuY2VzdG9yT3JpZ2luc1N1cHBvcnRlZFwiOmZhbHNlfX0iLCJ2aWRlb19pZCI6IkhQb0poVk5TSGRrIiwicmVzb2x2ZV91cmxfcmVzcG9uc2UiOiJ7XCJyZXNwb25zZUNvbnRleHRcIjp7XCJzZXJ2aWNlVHJhY2tpbmdQYXJhbXNcIjpbe1wic2VydmljZVwiOlwiQ1NJXCIsXCJwYXJhbXNcIjpbe1wia2V5XCI6XCJjXCIsXCJ2YWx1ZVwiOlwiV0VCX0VNQkVEREVEX1BMQVlFUlwifSx7XCJrZXlcIjpcImN2ZXJcIixcInZhbHVlXCI6XCIyLjIwMjYwNzI0LjAxLjAwXCJ9LHtcImtleVwiOlwieXRfbGlcIixcInZhbHVlXCI6XCIwXCJ9LHtcImtleVwiOlwiUmVzb2x2ZVVybF9yaWRcIixcInZhbHVlXCI6XCIweDVkODE0MjU3MWUyNDQ1ZGRcIn1dfSx7XCJzZXJ2aWNlXCI6XCJHRkVFREJBQ0tcIixcInBhcmFtc1wiOlt7XCJrZXlcIjpcImxvZ2dlZF9pblwiLFwidmFsdWVcIjpcIjBcIn1dfSx7XCJzZXJ2aWNlXCI6XCJHVUlERURfSEVMUFwiLFwicGFyYW1zXCI6W3tcImtleVwiOlwibG9nZ2VkX2luXCIsXCJ2YWx1ZVwiOlwiMFwifV19LHtcInNlcnZpY2VcIjpcIkVDQVRDSEVSXCIsXCJwYXJhbXNcIjpbe1wia2V5XCI6XCJjbGllbnQudmVyc2lvblwiLFwidmFsdWVcIjpcIjIuMjAyNjA3MjRcIn0se1wia2V5XCI6XCJjbGllbnQubmFtZVwiLFwidmFsdWVcIjpcIldFQl9FTUJFRERFRF9QTEFZRVJcIn1dfV0sXCJyZXNwb25zZUlkXCI6XCJJaE1Jcm9uOG9QYnhsUU1WUVlMMEJ4MlBMaF9IXCIsXCJ3ZWJSZXNwb25zZUNvbnRleHRFeHRlbnNpb25EYXRhXCI6e1wiaGFzRGVjb3JhdGVkXCI6dHJ1ZX19LFwiZW5kcG9pbnRcIjp7XCJjbGlja1RyYWNraW5nUGFyYW1zXCI6XCJJaE1Jcm9uOG9QYnhsUU1WUVlMMEJ4MlBMaF9ITWdobGVIUmxjbTVoYk1vQkJJYThWX2dcdTAwM2RcIixcImNvbW1hbmRNZXRhZGF0YVwiOnt9fX0ifSwiUE9TVF9NRVNTQUdFX09SSUdJTiI6IioiLCJWSURFT19JRCI6IkhQb0poVk5TSGRrIiwiRE9NQUlOX0FETUlOX1NUQVRFIjoiIn0pO3dpbmRvdy55dGNmZy5vYmZ1c2NhdGVkRGF0YV8gPSBbXTs8L3NjcmlwdD48c2NyaXB0IG5vbmNlPSJqTW5tU2hVWFhkT0VOU1dUOXd4XzVRIj53aW5kb3cueXRBdFAgPSBuZXcgUHJvbWlzZShyZXMgPT4gd2luZG93Lnl0QXROID0gcmVzKTsgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCAoKSA9PiB7d2luZG93Lnl0QXROKCk7IGRlbGV0ZSB3aW5kb3cueXRBdE47fSk7PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iak1ubVNoVVhYZE9FTlNXVDl3eF81USI+d2luZG93Lnl0ZXJyPXdpbmRvdy55dGVycnx8dHJ1ZTt3aW5kb3cudW5oYW5kbGVkRXJyb3JNZXNzYWdlcz17fTsKd2luZG93Lm9uZXJyb3I9ZnVuY3Rpb24obXNnLHVybCxsaW5lLG9wdF9jb2x1bW5OdW1iZXIsb3B0X2Vycm9yKXt2YXIgZXJyO2lmKG9wdF9lcnJvcillcnI9b3B0X2Vycm9yO2Vsc2V7ZXJyPW5ldyBFcnJvcjtlcnIubWVzc2FnZT1tc2c7ZXJyLmZpbGVOYW1lPXVybDtlcnIubGluZU51bWJlcj1saW5lO2lmKCFpc05hTihvcHRfY29sdW1uTnVtYmVyKSllcnJbImNvbHVtbk51bWJlciJdPW9wdF9jb2x1bW5OdW1iZXJ9dmFyIG1lc3NhZ2U9U3RyaW5nKGVyci5tZXNzYWdlKTtpZighZXJyLm1lc3NhZ2V8fG1lc3NhZ2UgaW4gd2luZG93LnVuaGFuZGxlZEVycm9yTWVzc2FnZXMpcmV0dXJuO3dpbmRvdy51bmhhbmRsZWRFcnJvck1lc3NhZ2VzW21lc3NhZ2VdPXRydWU7dmFyIGltZz1uZXcgSW1hZ2U7d2luZG93LmVtZXJnZW5jeVRpbWVvdXRJbWc9aW1nO2ltZy5vbmxvYWQ9aW1nLm9uZXJyb3I9ZnVuY3Rpb24oKXtkZWxldGUgd2luZG93LmVtZXJnZW5jeVRpbWVvdXRJbWd9O3ZhciB2YWx1ZXM9CnsiY2xpZW50Lm5hbWUiOnl0Y2ZnLmdldCgiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX05BTUUiKSwiY2xpZW50LnZlcnNpb24iOnl0Y2ZnLmdldCgiSU5ORVJUVUJFX0NPTlRFWFRfQ0xJRU5UX1ZFUlNJT04iKSwibXNnIjptZXNzYWdlLCJ0eXBlIjoiVW5oYW5kbGVkV2luZG93IitlcnIubmFtZSwiZmlsZSI6ZXJyLmZpbGVOYW1lLCJsaW5lIjplcnIubGluZU51bWJlciwic3RhY2siOihlcnIuc3RhY2t8fCIiKS5zdWJzdHIoMCw1MDApfTt2YXIgcGFydHM9W3l0Y2ZnLmdldCgiRU1FUkdFTkNZX0JBU0VfVVJMIiwiL2Vycm9yXzIwND90PWpzZXJyb3ImbGV2ZWw9RVJST1IiKV07dmFyIGtleTtmb3Ioa2V5IGluIHZhbHVlcyl7dmFyIHZhbHVlPXZhbHVlc1trZXldO2lmKHZhbHVlKXBhcnRzLnB1c2goa2V5KyI9IitlbmNvZGVVUklDb21wb25lbnQodmFsdWUpKX1pbWcuc3JjPXBhcnRzLmpvaW4oIiYiKX07Cjwvc2NyaXB0PjxzY3JpcHQgbm9uY2U9ImpNbm1TaFVYWGRPRU5TV1Q5d3hfNVEiPnZhciB5dGVyciA9IHl0ZXJyIHx8IHRydWU7PC9zY3JpcHQ+PHNjcmlwdCBkYXRhLWlkPSJfZ2QiIG5vbmNlPSJqTW5tU2hVWFhkT0VOU1dUOXd4XzVRIj53aW5kb3cuV0laX2dsb2JhbF9kYXRhID0geyJBZlk4SGYiOmZhbHNlLCJGTDFhbiI6ZmFsc2UsIkhpUHNiYiI6MCwiTVVFNk5lIjoieW91dHViZV93ZWIiLCJNdUpXamQiOmZhbHNlLCJVVUZhV2MiOiIlLkAubnVsbCwxMDAwLDJdIiwiY2ZiMmgiOiJ5b3V0dWJlLndlYi1mcm9udC1lbmQtY3JpdGljYWxfMjAyNjA3MjIuMDFfcDAiLCJmUER4d2QiOltdLCJoc0ZMVCI6IiUuQC5udWxsLDEwLDNdIiwiaUN6aEZjIjpmYWxzZSwiblF5QUUiOnt9LCJveE4zbmIiOnsiMSI6ZmFsc2UsIjAiOmZhbHNlLCI2MTA0MDEzMDEiOmZhbHNlLCI4OTk1ODg0MzciOmZhbHNlLCI3NzI2NTc3NjgiOnRydWUsIjUxMzY1OTUyMyI6ZmFsc2UsIjU2ODMzMzk0NSI6dHJ1ZSwiMTMzMTc2MTQwMyI6dHJ1ZSwiNjUxMTc1ODI4IjpmYWxzZSwiNzIyNzY0NTQyIjpmYWxzZSwiNzQ4NDAyMTQ1IjpmYWxzZSwiNzQ4NDAyMTQ2IjpmYWxzZSwiNzQ4NDAyMTQ3Ijp0cnVlLCIxNjAyNjEzMTg1IjpmYWxzZSwiODYxMzc3NzIzIjpmYWxzZSwiODYxMzc3NzI0IjpmYWxzZSwiODY5MzM2OTAzIjpmYWxzZSwiODgyNjc0NTA3IjpmYWxzZSwiODY5MzM2OTA0IjpmYWxzZSwiODY5MzM2OTA1IjpmYWxzZSwiMjgzOTUzMTU1IjpmYWxzZSwiOTE5NDQ0ODI0IjpmYWxzZSwiOTMxNDY4MDQ3IjpmYWxzZSwiOTI4ODc1Mzk4IjpmYWxzZSwiNjgzNzQ5MjAxIjpmYWxzZX0sInU0ZzdyIjoiJS5ALm51bGwsMSwzXSIsInhuSTlQIjpmYWxzZSwieHdBZkUiOnRydWUsInlGbnhyZiI6MjQ4Nn07PC9zY3JpcHQ+PHRpdGxlPllvdVR1YmU8L3RpdGxlPjxsaW5rIHJlbD0iY2Fub25pY2FsIiBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUhQb0poVk5TSGRrIj48L2hlYWQ+PGJvZHkgY2xhc3M9ImRhdGUtMjAyNjA3MjYgZW5fVVMgbHRyICBzaXRlLWNlbnRlci1hbGlnbmVkIHNpdGUtYXMtZ2lhbnQtY2FyZCBnZWNrbyBnZWNrby0xMzQiIGRpcj0ibHRyIj48ZGl2IGlkPSJwbGF5ZXIiPjwvZGl2PjxzY3JpcHQgbm9uY2U9ImpNbm1TaFVYWGRPRU5TV1Q5d3hfNVEiPnZhciBzZXRNZXNzYWdlPWZ1bmN0aW9uKG1zZyl7aWYod2luZG93Lnl0JiZ5dC5zZXRNc2cpeXQuc2V0TXNnKG1zZyk7ZWxzZXt3aW5kb3cueXRjZmc9d2luZG93Lnl0Y2ZnfHx7fTt5dGNmZy5tc2dzPW1zZ319OwpzZXRNZXNzYWdlKHsiQUNDT1VOVF9MQUJFTCI6IkFjY291bnQiLCJBQ1RfT05fVEhJU19DT01NRU5UIjoiQWN0IG9uIHRoaXMgY29tbWVudCIsIkFERF9UT19EUk9QRE9XTl9MQUJFTCI6IkFkZCB0byBwbGF5bGlzdCIsIkFEX0JBREdFX0hJTlQiOiJBZHZlcnRpc2VtZW50IiwiQURfQkFER0VfVEVYVCI6IkFEIiwiQUxMX0NIQU5ORUxTX0xBQkVMIjoiQWxsIGNoYW5uZWxzIiwiQU1CSUVOVF9NT0RFIjoiQW1iaWVudCBtb2RlIiwiQU1CSUVOVF9NT0RFX09GRiI6IkFtYmllbnQgbW9kZSBvZmYiLCJBTUJJRU5UX01PREVfT04iOiJBbWJpZW50IG1vZGUgb24iLCJBTkRST0lEX0RFUFJFQ0FUSU9OX01FU1NBR0VfQk9EWSI6IlBsZWFzZSB1cGRhdGUgeW91ciBkZXZpY2UgdG8gQW5kcm9pZCA0LjAgYmVmb3JlIE9jdCAyMiwgMjAyMCB0byBrZWVwIHVzaW5nIFlvdVR1YmUgd2l0aG91dCBpbnRlcnJ1cHRpb25zLiIsIkFORFJPSURfREVQUkVDQVRJT05fTUVTU0FHRV9IRUFERVIiOiJZb3VUdWJlIHdpbGwgbm8gbG9uZ2VyIGJlIHN1cHBvcnRlZCBvbiB5b3VyIGRldmljZSBhZnRlciAyMDIwLTEwLTIyIiwiQVBQX1VQU0VMTF9TVUJUSVRMRSI6IlVwbG9hZCwgc2F2ZSwgYW5kIGNvbW1lbnQgb24gdmlkZW9zIHdpdGggdGhlIFlvdVR1YmUgYXBwIiwiQVBQX1VQU0VMTF9USVRMRSI6IlN3aXRjaCB0byB0aGUgYXBwIGZvciBhIGJldHRlciB2aWV3aW5nIGV4cGVyaWVuY2UiLCJBVURJT19UUkFDSyI6IkF1ZGlvIFRyYWNrIiwiQVVUT05BVl9UT0dHTEUiOiJBdXRvcGxheSIsIkFVVE9QTEFZX0lOX1RFTl9TRUNPTkRTIjoiTmV4dCB2aWRlbyB3aWxsIGJlIHBsYXllZCBpbiB0ZW4gc2Vjb25kcyIsIkFVVE9QTEFZX1BBVVNFRCI6IkF1dG9wbGF5IGlzIHBhdXNlZCIsIkFVVE9QTEFZX1BMQVlfTk9XIjoiUGxheSBub3ciLCJBVVRPUExBWV9VUF9ORVhUX0lOIjoiVXAgbmV4dCBpbiBzZWNvbmRzX3BsYWNlaG9sZGVyIiwiQVVUT19UUkFOU0xBVEUiOiJBdXRvLXRyYW5zbGF0ZSIsIkFVVE9fWk9PTSI6IkF1dG8gem9vbSIsIkJBQ0siOiJCYWNrIiwiQlJBTkRFRF9TSUdOX0lOX0RJQUxPR19ERVNDUklQVElPTiI6IkFjY2VzcyBhbGwgZmVhdHVyZXMgYW5kIGdldCBhIHNlYW1sZXNzIGV4cGVyaWVuY2UiLCJDQU5DRUwiOiJDYW5jZWwiLCJDSEFOTkVMX1NXSVRDSEVSX0xBQkVMIjoiU3dpdGNoIGFjY291bnQiLCJDSEFSQUNURVJfTElNSVQiOiJVc2UgZmV3ZXIgdGhhbiAkbnVtYmVyIGNoYXJhY3RlcnMiLCJDTE9TRSI6IkNsb3NlIiwiQ0xPU0VEX0NBUFRJT05TX0RJU0FCTEVEIjoiTm8gY2FwdGlvbnMgYXJlIGF2YWlsYWJsZSBmb3IgdGhpcyB2aWRlbyIsIkNMT1NFRF9DQVBUSU9OU19PRkYiOiJTdWJ0aXRsZXMvQ0MgdHVybmVkIG9mZiIsIkNMT1NFRF9DQVBUSU9OU19PTiI6IlN1YnRpdGxlcy9DQyB0dXJuZWQgb24iLCJDTE9TRURfQ0FQVElPTlNfT05fTEFOR1VBR0UiOiJTdWJ0aXRsZXMvQ0MgdHVybmVkIG9uIChsYW5ndWFnZV9wbGFjZWhvbGRlcikiLCJDTE9TRV9TRUFSQ0hfTEFCRUwiOiJDbG9zZSBzZWFyY2giLCJDTE9TRV9TRVRUSU5HU19MQUJFTCI6IkNsb3NlIFNldHRpbmdzIiwiQ09NTUVOVEJPWF9QT1NUIjoiUG9zdCIsIkNPTU1FTlRfTU9EQUxfQ09OVEVOVCI6IlBsZWFzZSBzaWduIGluIHRvIGFjdCBvbiB0aGlzIGNvbW1lbnQuIiwiQ09ORklSTV9PSyI6Ik9LIiwiQ09OTkVDVF9UT19USEVfSU5URVJORVQiOiJDb25uZWN0IHRvIHRoZSBpbnRlcm5ldCIsIkNPUElFRF9UT19DTElQQk9BUkQiOiJDb3BpZWQgdG8gY2xpcGJvYXJkIiwiQ09QWSI6IkNvcHkiLCJDT1BZX0RFQlVHX0lORk8iOiJDb3B5IERlYnVnIEluZm8iLCJDT1BZX0VNQkVEX0NPREUiOiJDb3B5IGVtYmVkIGNvZGUiLCJDT1BZX0xJTktfTEFCRUwiOiJDb3B5IGxpbmsiLCJDT1BZX1ZJREVPX1VSTCI6IkNvcHkgdmlkZW8gVVJMIiwiQ09QWV9WSURFT19VUkxfQVRfQ1VSUkVOVF9USU1FIjoiQ29weSB2aWRlbyBVUkwgYXQgY3VycmVudCB0aW1lIiwiQ1JFQVRFX0NIQU5ORUxfVElUTEUiOiJDcmVhdGUgY2hhbm5lbCIsIkRFTEVURV9GUk9NX0RPV05MT0FEUyI6IkRlbGV0ZSBmcm9tIGRvd25sb2FkcyIsIkRJQUxPRyI6IkRpYWxvZyIsIkRNQV9DT05TRU5UX0NPTkZJUk1BVElPTiI6IllvdXIgY2hvaWNlIHdpbGwgdGFrZSBlZmZlY3Qgb24gTWFyY2ggNiwgMjAyNC4gWW91IGNhbiBjaGFuZ2UgeW91ciBjaG9pY2VzIGFueXRpbWUgaW4geW91ciBHb29nbGUgQWNjb3VudC4iLCJETUFfQ09OU0VOVF9DT05GSVJNQVRJT04yIjoiWW91ciBjaG9pY2VzIGhhdmUgYmVlbiBzYXZlZC4gWW91IGNhbiBjaGFuZ2UgeW91ciBjaG9pY2VzIGFueXRpbWUgaW4geW91ciBHb29nbGUgQWNjb3VudC4iLCJETUFfQ09OU0VOVF9HRU5FUkFMX0VSUk9SIjoiU29tZXRoaW5nIHdlbnQgd3Jvbmcgd2hpbGUgbG9hZGluZyIsIkRNQV9DT05TRU5UX1JFQ09SRF9FUlJPUiI6IlNvbWV0aGluZyB3ZW50IHdyb25nIGFuZCB5b3VyIGNob2ljZXMgd2VyZSBub3Qgc2F2ZWQiLCJET05FIjoiRG9uZSIsIkRPV05MT0FEIjoiRG93bmxvYWQiLCJGQUlMRURfQ09QWV9FUlJPUl9NRVNTQUdFIjoiQ29weSBpcyBub3Qgc3VwcG9ydGVkIG9uIHRoZSBkZXZpY2UsIGZhaWxlZCB0byBjb3B5LiIsIkZMQUdfQ09ORklSTSI6IkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBmbGFnIHRoaXMgdmlkZW8/IiwiRkxBR19DT05URU5UIjoiU2lnbiBpbiB0byBmbGFnIGl0LiIsIkZMQUdfTEFCRUwiOiJGbGFnIGFzIGluYXBwcm9wcmlhdGUiLCJGTEFHX1RJVExFIjoiSW5hcHByb3ByaWF0ZSB2aWRlbz8iLCJGVUxMU0NSRUVOX0dFTkVSSUNfRVJST1IiOiJGdWxsIHNjcmVlbiBpcyB1bmF2YWlsYWJsZS4iLCJHT09HTEVfQ09NUEFOWSI6IllvdVR1YmUsIGEgR29vZ2xlIGNvbXBhbnkiLCJISURFX0FMRVJUIjoiSGlkZSB0aGlzIGFsZXJ0IiwiSElERV9QTEFZRVJfQ09OVFJPTFMiOiJIaWRlIHBsYXllciBjb250cm9scyIsIkhJREVfUExBWUxJU1RfVklERU9TIjoiSGlkZSBwbGF5bGlzdCB2aWRlb3MiLCJISURFX1NFQVJDSF9GSUxURVJTX0xBQkVMIjoiSGlkZSBzZWFyY2ggZmlsdGVycyIsIkhPTUUiOiJIb21lIiwiSU5WQUxJRF9SRVNQT05TRV9SRUNFSVZFRCI6IkludmFsaWQgcmVzcG9uc2UgcmVjZWl2ZWQuIiwiTEVBVkVfQV9DT01NRU5UX1RJVExFIjoiTGVhdmUgYSBjb21tZW50PyIsIkxJQlJBUlkiOiJMaWJyYXJ5IiwiTElLRV9DT1VOVF9URVhUIjp7ImNhc2UwIjoiTm8gbGlrZXMiLCJjYXNlMSI6IjEgbGlrZSIsIm90aGVyIjoiIyBsaWtlcyJ9LCJMSUtFX0NPVU5UX1RFWFRfTEFCRUwiOiJ7XCJjYXNlMFwiOiBcIk5vIHBlb3BsZSBoYXZlIGxpa2VkIHRoaXMgdmlkZW8uXCIsIFwiY2FzZTFcIjogXCIxIHBlcnNvbiBoYXMgbGlrZWQgdGhpcyB2aWRlby5cIiwgXCJvdGhlclwiOiBcIiMgcGVvcGxlIGhhdmUgbGlrZWQgdGhpcyB2aWRlby5cIn0iLCJMSVNURU5JTkciOiJMaXN0ZW5pbmcuLi4iLCJMT0FESU5HIjoiTG9hZGluZy4uLiIsIkxPTkdfUFJFU1NfTUlDX1RPX1NQRUFLIjoiTG9uZyBwcmVzcyBtaWNfaWNvbl9wbGFjZWhvbGRlciB0byBzcGVhayIsIkxPT1AiOiJMb29wIiwiTUVOVV9ERVNLVE9QIjoiRGVza3RvcCIsIk1FTlVfRVhJVCI6IkV4aXQiLCJNRU5VX0ZFRURCQUNLIjoiRmVlZGJhY2siLCJNRU5VX0hFTFAiOiJIZWxwIiwiTUVOVV9JTVBSRVNTVU0iOiJJbXByaW50IiwiTUVOVV9QTEFZRVJfU0VUVElOR1MiOiJQbGF5YmFjayBTZXR0aW5ncyIsIk1FTlVfUkVQT1JUX0FfUFJPQkxFTSI6IlJlcG9ydCBhIHByb2JsZW0gd2l0aCBZb3VUdWJlIiwiTUVOVV9TRU5EX0ZFRURCQUNLIjoiU2VuZCBmZWVkYmFjayIsIk1FTlVfU0VUVElOR1MiOiJTZXR0aW5ncyIsIk1FTlVfU0lHTl9JTiI6IlNpZ24gSW4iLCJNRU5VX1RFUk1TIjoiUHJpdmFjeSBcdTAwMjYgVGVybXMiLCJNRU5VX1RJVExFIjoiTWVudSIsIk1FTlVfWU9VUl9EQVRBIjoiWW91ciBkYXRhIGluIFlvdVR1YmUiLCJNRVRBREFUQV9TVUJUSVRMRV9DSEFOTkVMX05BTUVfTEFCRUwiOiJVcGxvYWRlZCBieSAke2NoYW5uZWxfbmFtZV9wbGFjZWhvbGRlcn0uIiwiTU1HX0NPTkZJUk1BVElPTiI6IllvdXIgY2hvaWNlIGhhcyBiZWVuIHNhdmVkLiBZb3UgY2FuIGNoYW5nZSB0aGlzIHNldHRpbmcgYW55dGltZSBpbiBNeSBBZCBDZW50ZXIuIiwiTU1HX0NPTlNFTlRfUkVDT1JEX0VSUk9SIjoiU29tZXRoaW5nIHdlbnQgd3JvbmcgYW5kIHlvdXIgY2hvaWNlIHdhcyBub3Qgc2F2ZWQiLCJNT1JFIjoiTW9yZSIsIk1PUkVfSU5GTyI6Ik1vcmUgaW5mbyIsIk1PUkVfTE9XRVJDQVNFIjoibW9yZSIsIk1PUkVfT1BUSU9OUyI6Ik1vcmUgb3B0aW9ucyIsIk1PUkVfVklERU9TIjoiTW9yZSB2aWRlb3MiLCJNT1JFX1ZJREVPU19DTE9TRV9CVVRUT05fQVJJQV9MQUJFTCI6IkhpZGUgbW9yZSB2aWRlb3MiLCJNT1JFX1ZJREVPU19GUk9NX0NIQU5ORUwiOiJNb3JlIHZpZGVvcyBmcm9tICRjaGFubmVsX25hbWVfcGxhY2Vob2xkZXIiLCJNT1JFX1ZJREVPU19ORVhUX0JVVFRPTl9BUklBX0xBQkVMIjoiTmV4dCB2aWRlb3MiLCJNT1JFX1ZJREVPU19QUkVWSU9VU19CVVRUT05fQVJJQV9MQUJFTCI6IlByZXZpb3VzIHZpZGVvcyIsIk1VVEVfVk9MVU1FIjoiTXV0ZSIsIk5FV19QTEFZTElTVCI6Ik5ldyBwbGF5bGlzdCIsIk5FWFRfVklERU8iOiJOZXh0IHZpZGVvIiwiTk9USUZJQ0FUSU9OX0VSUk9SX01FU1NBR0UiOiJTb21ldGhpbmcgd2VudCB3cm9uZywgcGxlYXNlIHRyeSBhZ2Fpbi4iLCJOT1RfRk9VTkRfQ1RBIjoiQnJvd3NlIFZpZGVvcyIsIk5PVF9GT1VORF9NRVNTQUdFIjoiUGxlYXNlIHNlYXJjaCBmb3Igc29tZXRoaW5nIGVsc2UsIG9yIGJyb3dzZSB5b3VyIEhvbWUgZmVlZC4iLCJOT1RfRk9VTkRfVElUTEUiOiJUaGlzIHBhZ2UgaXNuXHUwMDI3dCBhdmFpbGFibGUiLCJOT19ET1dOTE9BRFMiOiJObyBkb3dubG9hZHMiLCJOT19NSUNfSU5QVVQiOiJEaWRuXHUwMDI3dCBoZWFyIHRoYXQuIFRyeSBzcGVha2luZyBhZ2Fpbi4iLCJPRkZMSU5FX0NIRUNLX0NPTk5FQ1RJT04iOiJZb3VcdTAwMjdyZSBvZmZsaW5lLiBDaGVjayB5b3VyIGNvbm5lY3Rpb24uIiwiT09QU19NRVNTQUdFIjoiT29wcyEgU29tZXRoaW5nIHdlbnQgd3JvbmcuIiwiT1BFTl9BUFAiOiJPcGVuIEFwcCIsIk9QRU5fWU9VVFVCRSI6Ik9wZW4gdGhlIGFwcCIsIk9QRU5fWU9VVFVCRV9BUFAiOiJPcGVuIFlvdVR1YmUgYXBwIiwiUEFVU0UiOiJQYXVzZSIsIlBMQVkiOiJQbGF5IiwiUExBWUJBQ0tfU1BFRURfWCI6IiR7c3BlZWRfcmF0ZV9wbGFjZWhvbGRlcn14IiwiUExBWUVSX0NBUFRJT04iOiJDYXB0aW9ucyIsIlBMQVlFUl9DQVBUSU9OX09GRiI6Ik9mZiIsIlBMQVlFUl9DQVBUSU9OX09OIjoiT24iLCJQTEFZRVJfRE9VQkxFX1NQRUVEX1VTRVJfRURVIjoiMngiLCJQTEFZRVJfRE9VQkxFX1RBUF9UT19TRUVLIjoiRG91YmxlIHRhcCBsZWZ0IG9yIHJpZ2h0IHRvIHNraXAgMTAgc2Vjb25kcyIsIlBMQVlFUl9ET1VCTEVfVEFQX1RPX1NIT1dfT1JfSElERV9QTEFZRVJfQ09OVFJPTFMiOiJEb3VibGUgdGFwIHRvIHNob3cgb3IgaGlkZSBwbGF5ZXIgY29udHJvbHMiLCJQTEFZRVJfRVhJVF9GVUxMU0NSRUVOIjoiRXhpdCBmdWxsIHNjcmVlbiIsIlBMQVlFUl9GQVNURk9SV0FSRF9TRUNPTkRTIjoiRmFzdCBmb3J3YXJkICRzZWNvbmRzX3BsYWNlaG9sZGVyIHNlY29uZHMiLCJQTEFZRVJfRlVMTFNDUkVFTiI6IkVudGVyIGZ1bGwgc2NyZWVuIiwiUExBWUVSX0xJVkVfTEFCRUwiOiJMaXZlIiwiUExBWUVSX0xJVkVfTk9XIjoiTGl2ZSBub3ciLCJQTEFZRVJfTUlOSU1JWkUiOiJNaW5pbWl6ZSIsIlBMQVlFUl9ORVhUIjoiTmV4dCB2aWRlbyIsIlBMQVlFUl9QQVVTRSI6IlBhdXNlIHZpZGVvIiwiUExBWUVSX1BMQVkiOiJQbGF5IHZpZGVvIiwiUExBWUVSX1BSRU1JRVJFX0xBQkVMIjoiUHJlbWllcmUiLCJQTEFZRVJfUFJFVklPVVMiOiJQcmV2aW91cyB2aWRlbyIsIlBMQVlFUl9QUk9HUkVTU19CQVIiOiJTZWVrIHNsaWRlciIsIlBMQVlFUl9RVUFMSVRZIjoiUXVhbGl0eSIsIlBMQVlFUl9RVUFMSVRZX0FVVE8iOiJBdXRvIiwiUExBWUVSX1JFUExBWSI6IlJlcGxheSBWaWRlbyIsIlBMQVlFUl9SRVdJTkRfU0VDT05EUyI6IlJld2luZCAkc2Vjb25kc19wbGFjZWhvbGRlciBzZWNvbmRzIiwiUExBWUVSX1NFQ09ORFMiOiIkc2Vjb25kc19wbGFjZWhvbGRlciBzZWNvbmRzIiwiUExBWUVSX1NQRUVEIjoiU3BlZWQiLCJQTEFZRVJfU1BFRURVUF9VU0VSX0VEVSI6IlBsYXlpbmcgYXQgc3BlZWRfcmF0ZV9wbGFjZWhvbGRlcnggc3BlZWQiLCJQTEFZRVJfU1BFRURfREVDUkVBU0UiOiJEZWNyZWFzZSBwbGF5YmFjayBzcGVlZCIsIlBMQVlFUl9TUEVFRF9JTkNSRUFTRSI6IkluY3JlYXNlIHBsYXliYWNrIHNwZWVkIiwiUExBWUVSX1NQRUVEX05PUk1BTCI6Ik5vcm1hbCIsIlBMQVlFUl9TUEVFRF9SRUNFTlQiOiJSZWNlbnQiLCJQTEFZRVJfVElNRV9EVVJBVElPTiI6IlRpbWUgZHVyYXRpb24iLCJQTEFZRVJfVElNRV9FTEFQU0VEIjoiVGltZSBlbGFwc2VkIiwiUExBWUVSX1RJTUVfRk9STUFUVEVEIjp7ImNhc2UwIjoiJHttaW51dGVzfSBtaW51dGVzIGFuZCAke3NlY29uZHN9IHNlY29uZHMiLCJjYXNlMSI6IjEgaG91ciwgJHttaW51dGVzfSBtaW51dGVzIGFuZCAke3NlY29uZHN9IHNlY29uZHMiLCJvdGhlciI6IiMgaG91cnMsICR7bWludXRlc30gbWludXRlcyBhbmQgJHtzZWNvbmRzfSBzZWNvbmRzIn0sIlBMQVlMSVNUX0NVUlJFTlRfVklERU9fSU5ERVgiOiIke2N1cnJlbnRfdmlkZW9faW5kZXh9IG9mICR7bGFzdF9pbmRleH0uIiwiUExBWUxJU1RfREVTQ1JJUFRJT05fSU5WQUxJRF9DSEFSQUNURVJTIjoiUGxheWxpc3QgZGVzY3JpcHRpb24gY2FuXHUwMDI3dCB1c2UgXHUwMDNjIG9yIFx1MDAzZSIsIlBMQVlMSVNUX01JWF9ERVRBSUxFRF9MT05HX0JZTElORSI6Ik1peGVzIGFyZSBwbGF5bGlzdHMgWW91VHViZSBtYWtlcyBmb3IgeW91IiwiUExBWUxJU1RfTkFNRV9JTlZBTElEX0NIQVJBQ1RFUlMiOiJQbGF5bGlzdCB0aXRsZSBjYW5cdTAwMjd0IHVzZSBcdTAwM2Mgb3IgXHUwMDNlIiwiUExBWUxJU1RfTkFNRV9NSVNTSU5HIjoiUGxheWxpc3QgdGl0bGUgcmVxdWlyZWQuIiwiUExBWUxJU1RfTkFNRV9UT09fTE9ORyI6IlBsYXlsaXN0IHRpdGxlIGlzIHRvbyBsb25nLiIsIlBMQVlMSVNUX1BBTkVMX0VORF9PRl9QTEFZTElTVCI6IkVuZCBvZiBQbGF5bGlzdCIsIlBMQVlMSVNUX1BBTkVMX05FWFQiOiJOZXh0OiIsIlBMQVlMSVNUX1BBTkVMX1VOTElTVEVEX1BMQVlMSVNUIjoiVW5saXN0ZWQgUGxheWxpc3QiLCJQTEFZTElTVF9URVhUX0lOUFVUX0NIQVJfQ09VTlQiOiJjdXJyZW50X2NvdW50X3BsYWNlaG9sZGVyIG9mIG1heF9jb3VudF9wbGFjZWhvbGRlciBjaGFyYWN0ZXJzIHVzZWQiLCJQTEFZX0FMTCI6IlBsYXkgYWxsIiwiUExFQVNFX0ZJWF9FUlJPUlMiOiJQbGVhc2UgZml4IGVycm9ycyBhbmQgdHJ5IGFnYWluLiIsIlBSRU1JVU1fQkFER0VfTEFCRUwiOiJQcmVtaXVtIiwiUFJFVklPVVNfVklERU8iOiJQcmV2aW91cyB2aWRlbyIsIlBSSVZBQ1lfUE9MSUNZIjoiUHJpdmFjeSBQb2xpY3kiLCJSRUxPQUQiOiJSZWxvYWQiLCJSRVBMSUVTX1NIT1dfTU9SRSI6IlNob3cgbW9yZSByZXBsaWVzIiwiUkVRVUlSRURfTEFCRUwiOiJSZXF1aXJlZCIsIlNBVkVfUExBWUxJU1QiOiJTYXZlIiwiU0NSVUJfU0xJREVfVVNFUl9FRFUiOiJTbGlkZSBsZWZ0IG9yIHJpZ2h0IHRvIHNlZWsiLCJTRUFSQ0giOiJTZWFyY2giLCJTRUFSQ0hfQVBQRU5EX0xBQkVMIjoiQXBwZW5kIHN1Z2dlc3Rpb24gdG8gc2VhcmNoIGZpZWxkIiwiU0VBUkNIX0NIQU5ORUwiOiJTZWFyY2ggY2hhbm5lbCIsIlNFQVJDSF9DTEVBUl9MQUJFTCI6IkNsZWFyIGN1cnJlbnQgc2VhcmNoIHRleHQiLCJTRUFSQ0hfRU5USVRZX1NVR0dFU1RJT05fQUxCVU0iOiJBbGJ1bSBieSAke2FydGlzdH0iLCJTRUFSQ0hfRU5USVRZX1NVR0dFU1RJT05fQUxCVU1fTk9fQVJUSVNUIjoiQWxidW0iLCJTRUFSQ0hfRU5USVRZX1NVR0dFU1RJT05fTU9WSUUiOiJNb3ZpZSIsIlNFQVJDSF9FTlRJVFlfU1VHR0VTVElPTl9TT05HIjoiU29uZyBieSAke2FydGlzdH0iLCJTRUFSQ0hfRU5USVRZX1NVR0dFU1RJT05fU09OR19OT19BUlRJU1QiOiJTb25nIiwiU0VBUkNIX0VOVElUWV9TVUdHRVNUSU9OX1RWX1NIT1ciOiJUViBzaG93IiwiU0VBUkNIX0ZJTFRFUlNfTEFCRUwiOiJTZWFyY2ggZmlsdGVycyIsIlNFQVJDSF9MQUJFTCI6IlNlYXJjaCBZb3VUdWJlIiwiU0VBUkNIX1BQUF9QTEFDRUhPTERFUl9URVhUIjoiU2VhcmNoIHBhaWQgcHJvZHVjdCBwbGFjZW1lbnQgdmlkZW9zIiwiU0VFS19TTElERVIiOiJTZWVrIHNsaWRlciIsIlNFVFRJTkdTX0xBQkVMIjoiU2V0dGluZ3MiLCJTRVRUSU5HU19NSUNfUEVSTUlTU0lPTiI6IlBsZWFzZSBhbGxvdyBtaWNyb3Bob25lIHBlcm1pc3Npb24gaW4gZGV2aWNlIHNldHRpbmdzLiIsIlNFVF9QTEFZQkFDS19TUEVFRF9YIjoiJHtzcGVlZF9yYXRlX3BsYWNlaG9sZGVyfXggc3BlZWQiLCJTSE9SVFNfVEFCX0xBQkVMIjoiU2hvcnRzIiwiU0hPV19MRVNTIjoiU2hvdyBsZXNzIiwiU0hPV19NT1JFIjoiU2hvdyBtb3JlIiwiU0hPV19QTEFZRVJfQ09OVFJPTFMiOiJTaG93IHBsYXllciBjb250cm9scyIsIlNIT1dfUExBWUxJU1RfVklERU9TIjoiU2hvdyBwbGF5bGlzdCB2aWRlb3MiLCJTSE9XX1NFQVJDSF9GSUxURVJTX0xBQkVMIjoiU2hvdyBzZWFyY2ggZmlsdGVycyIsIlNJR05fSU5fTEFCRUwiOiJTaWduIGluIiwiU0lHTl9JTl9PTl9XRUIiOiJTaWduIGluIG9uIHdlYiIsIlNUQUJMRV9WT0xVTUUiOiJTdGFibGUgdm9sdW1lIiwiU1RBQkxFX1ZPTFVNRV9PRkYiOiJTdGFibGUgdm9sdW1lIG9mZiIsIlNUQUJMRV9WT0xVTUVfT04iOiJTdGFibGUgdm9sdW1lIG9uIiwiU1RBVFNfRk9SX05FUkRTIjoiU3RhdHMgRm9yIE5lcmRzIiwiU1VHR0VTVElPTl9ESVNNSVNTRURfTEFCRUwiOiJTdWdnZXN0aW9uIFJlbW92ZWQiLCJTVUdHRVNUSU9OX0RJU01JU1NfSU5fU0VUVElOR1NfTEFCRUwiOiJSZW1vdmUgaW4gc2V0dGluZ3MiLCJTVUdHRVNUSU9OX0RJU01JU1NfTEFCRUwiOiJSZW1vdmUiLCJTVUdHRVNUSU9OX05FV19WSURFT1NfVEVYVCI6Ik5ldyB2aWRlb3MiLCJTVUdHRVNUSU9OX1RIVU1CTkFJTF9BVFRSSUJVVElPTl9ESUFMT0dfQlVUVE9OX0xBQkVMIjoiVmlzaXQgc291cmNlIiwiU1VHR0VTVElPTl9USFVNQk5BSUxfQVRUUklCVVRJT05fRElBTE9HX0RFU0NSSVBUSU9OIjoiVmlzaXQgaW1hZ2Ugc291cmNlIHdlYnNpdGU/IiwiU1VHR0VTVElPTl9USFVNQk5BSUxfQVRUUklCVVRJT05fRElBTE9HX1RJVExFIjoiSW1hZ2Ugc291cmNlIiwiU1VHR0VTVElPTl9USFVNQk5BSUxfQVRUUklCVVRJT05fTEFCRUwiOiJWaWV3IGltYWdlIHNvdXJjZSIsIlNVR0dFU1RJT05fVEhVTUJOQUlMX0xBQkVMIjoiSW1hZ2UgZm9yIHN1Z2dlc3Rpb24iLCJURVJNU19PRl9TRVJWSUNFIjoiVGVybXMgb2YgU2VydmljZSIsIlRJTUVTVEFNUF9NSU5VVEVTIjoidGltZXN0YW1wIG1pbnV0ZXMgcmVxdWlyZWQiLCJUSU1FU1RBTVBfU0VDT05EUyI6InRpbWVzdGFtcCBzZWNvbmRzIHJlcXVpcmVkIiwiVE9HR0xFX09GRiI6Ik9mZiIsIlRPR0dMRV9PTiI6Ik9uIiwiVFJFTkRJTkciOiJUcmVuZGluZyIsIlRST1VCTEVTSE9PVF9QTEFZQkFDS19JU1NVRSI6IlRyb3VibGVzaG9vdCBwbGF5YmFjayBpc3N1ZSIsIlRSWV9BR0FJTl9MQVRFUiI6IlNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLiIsIlRSWV9BR0FJTl9NSUNfUEVSTUlTU0lPTiI6IlBsZWFzZSB0cnkgYWdhaW4gYW5kIGFsbG93IG1pY3JvcGhvbmUgcGVybWlzc2lvbi4iLCJUVVJOX09GRl9BVVRPUExBWV9DT05GSVJNX0JVVFRPTl9USVRMRSI6IlR1cm4gb2ZmIiwiVFVSTl9PRkZfQVVUT1BMQVlfRElBTE9HX0RFU0NSSVBUSU9OIjoiV2hlbiBhdXRvcGxheSBpcyBvZmYsIGEgc3VnZ2VzdGVkIHZpZGVvIHdpbGwgbm90IGF1dG9tYXRpY2FsbHkgcGxheSBuZXh0IiwiVFVSTl9PRkZfQVVUT1BMQVlfRElBTE9HX1RJVExFIjoiVHVybiBvZmYgYXV0b3BsYXk/IiwiVU5NVVRFX1ZPTFVNRSI6IlVubXV0ZSIsIlZJREVPUyI6Int2aWRlb3MscGx1cmFsLCBcdTAwM2QwezAgdmlkZW9zfVx1MDAzZDF7MSB2aWRlb31vdGhlcnsjIHZpZGVvc319IiwiVklERU9fTElOS19MQUJFTCI6IlZpZGVvIGxpbmsiLCJXQVRDSEVEIjoiV2F0Y2hlZCIsIl9fbGFuZ19fIjoiZW4ifSk7PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iak1ubVNoVVhYZE9FTlNXVDl3eF81USI+dmFyIF9GX2Nzc1Jvd0tleSA9ICd5dGVtYmVkcy5iYXNlLk54bml1dVpFVFp3LkwuRjQuTyc7IHZhciBfRl9jb21iaW5lZFNpZ25hdHVyZSA9ICdBR0tNeXdIVTZxSE5pdG5zNVhxWUVLLTJ5eVVFYUdPVmtRJzs8L3NjcmlwdD48c2NyaXB0IHNyYz0iL3MvXy95dGVtYmVkcy9fL2pzL2s9eXRlbWJlZHMuYmFzZS5lbl9VUy5fODhUd3l5SEtIcy4yMDIxLk8vYW09QUFBQWdBL2Q9MS9leGNtPWJhc2Uscm9vdC9icj0xL3JzPUFHS015d0V1MlRRVXpkU0YwQWNzRkJNVXJGcXl1cktsdXcvbT1yb290LGJhc2UiIG5hbWU9ImVtYmVkX2NsaWVudCIgaWQ9ImJhc2UtanMiIG5vbmNlPSJqTW5tU2hVWFhkT0VOU1dUOXd4XzVRIj48L3NjcmlwdD48c2NyaXB0IHNyYz0iL3MvcGxheWVyLzdhNzk2OWMyL3BsYXllcl9lbWJlZF9lczYudmZsc2V0L2VuX1VTL2Jhc2UuanMiIG5hbWU9InBsYXllci9iYXNlIiBub25jZT0iak1ubVNoVVhYZE9FTlNXVDl3eF81USI+PC9zY3JpcHQ+PHNjcmlwdCBub25jZT0iak1ubVNoVVhYZE9FTlNXVDl3eF81USI+d3JpdGVFbWJlZCgpOzwvc2NyaXB0PjxzY3JpcHQgbm9uY2U9ImpNbm1TaFVYWGRPRU5TV1Q5d3hfNVEiPihmdW5jdGlvbigpIHtpZiAod2luZG93Lnl0QXROKSB7d2luZG93Lnl0QXROKHsnUic6ICdceDdiXHgyMnJlc3BvbnNlQ29udGV4dFx4MjI6XHg3Ylx4MjJzZXJ2aWNlVHJhY2tpbmdQYXJhbXNceDIyOlx4NWJceDdiXHgyMnNlcnZpY2VceDIyOlx4MjJDU0lceDIyLFx4MjJwYXJhbXNceDIyOlx4NWJceDdiXHgyMmtleVx4MjI6XHgyMmNceDIyLFx4MjJ2YWx1ZVx4MjI6XHgyMldFQl9FTUJFRERFRF9QTEFZRVJceDIyXHg3ZCxceDdiXHgyMmtleVx4MjI6XHgyMmN2ZXJceDIyLFx4MjJ2YWx1ZVx4MjI6XHgyMjIuMjAyNjA3MjQuMDEuMDBceDIyXHg3ZCxceDdiXHgyMmtleVx4MjI6XHgyMnl0X2xpXHgyMixceDIydmFsdWVceDIyOlx4MjIwXHgyMlx4N2QsXHg3Ylx4MjJrZXlceDIyOlx4MjJHZXRBdHRlc3RhdGlvbkNoYWxsZW5nZV9yaWRceDIyLFx4MjJ2YWx1ZVx4MjI6XHgyMjB4NWQ4MTQyNTcxZTI0NDVkZFx4MjJceDdkXHg1ZFx4N2QsXHg3Ylx4MjJzZXJ2aWNlXHgyMjpceDIyR0ZFRURCQUNLXHgyMixceDIycGFyYW1zXHgyMjpceDViXHg3Ylx4MjJrZXlceDIyOlx4MjJsb2dnZWRfaW5ceDIyLFx4MjJ2YWx1ZVx4MjI6XHgyMjBceDIyXHg3ZFx4NWRceDdkLFx4N2JceDIyc2VydmljZVx4MjI6XHgyMkdVSURFRF9IRUxQXHgyMixceDIycGFyYW1zXHgyMjpceDViXHg3Ylx4MjJrZXlceDIyOlx4MjJsb2dnZWRfaW5ceDIyLFx4MjJ2YWx1ZVx4MjI6XHgyMjBceDIyXHg3ZFx4NWRceDdkLFx4N2JceDIyc2VydmljZVx4MjI6XHgyMkVDQVRDSEVSXHgyMixceDIycGFyYW1zXHgyMjpceDViXHg3Ylx4MjJrZXlceDIyOlx4MjJjbGllbnQudmVyc2lvblx4MjIsXHgyMnZhbHVlXHgyMjpceDIyMi4yMDI2MDcyNFx4MjJceDdkLFx4N2JceDIya2V5XHgyMjpceDIyY2xpZW50Lm5hbWVceDIyLFx4MjJ2YWx1ZVx4MjI6XHgyMldFQl9FTUJFRERFRF9QTEFZRVJceDIyXHg3ZFx4NWRceDdkXHg1ZCxceDIycmVzcG9uc2VJZFx4MjI6XHgyMkloTUl3Tlg4b1BieGxRTVZQczVQQ0IzWWVBaHVceDIyLFx4MjJ3ZWJSZXNwb25zZUNvbnRleHRFeHRlbnNpb25EYXRhXHgyMjpceDdiXHgyMmhhc0RlY29yYXRlZFx4MjI6dHJ1ZVx4N2RceDdkLFx4MjJjaGFsbGVuZ2VceDIyOlx4MjJhXHgzZDZcXHUwMDI2YTJceDNkMTBcXHUwMDI2Y1x4M2QxNzg1MTIzMjMxXFx1MDAyNmRceDNkNTZcXHUwMDI2dFx4M2QyMTYwMFxcdTAwMjZjMWFceDNkMVxcdTAwMjZjNmFceDNkMVxcdTAwMjZjNmJceDNkMVxcdTAwMjZoaFx4M2RvMG04Mm5hTjhFV21hRzFIemhEVGljMFdTNlZPM3dGTENJZnRkcWgzVGZRXHgyMixceDIyYmdDaGFsbGVuZ2VceDIyOlx4N2JceDIyaW50ZXJwcmV0ZXJVcmxceDIyOlx4N2JceDIycHJpdmF0ZURvTm90QWNjZXNzT3JFbHNlVHJ1c3RlZFJlc291cmNlVXJsV3JhcHBlZFZhbHVlXHgyMjpceDIyXC9cL3d3dy5nb29nbGUuY29tXC9qc1wvdGhcL2I4cVhyRkF1OVBIVnJHcU1aaTJucUttOVRVTlBycnpFaDQwUEFsLTZvVm8uanNceDIyXHg3ZCxceDIyaW50ZXJwcmV0ZXJIYXNoXHgyMjpceDIyYjhxWHJGQXU5UEhWckdxTVppMm5xS205VFVOUHJyekVoNDBQQWwtNm9Wb1x4MjIsXHgyMnByb2dyYW1ceDIyOlx4MjJScnZmOGFFUythVGpod2pLSHMybHM3QjdqSXNaV01vZUVibWpcL1hEMkpodVhkcklvMzRFaVBBdmc4OGMyeFhxNENsMjNmNVdMcndTUHlueFVObEFhbk1neGpHRFB6NkcxVEl6MnVpTnZWVjBaam1EMVZPZVM4RGx1ZWp4QXo2UVVDaWExNkpRcnBuZ3B3QTk5NzZVRW16R3FWZ2dcL2xoWUNZMU5UYzhENTVlSGFwaHRSSGUxS1JmU1ZONXBsWjlSWE00bmJrcWpwdnNFQzRibEg2NVVWdE9ZaDVXRUdUNzVCZUtBdXVrc1dVZTJJVWdnN2dBVUF3Zm51dWxlSzJ6Uis2NWxUWEorQko1UlZXMHlCbTdENXliQTRPV09pd2JEajgzYjl6a2l4MnBGcjAwUFJVb2hhU2hoOFhERW55MkVlYWVtMFVaTFdoV0MzZnpGNEFvaThRNDNBMlNtcHFrV0JiWEhMdk9NSEd1SW52SitZRmQyckVDZkxkOHgxeCt6Ulg1WmlocEpLZ0NrQVdmY3dFZnhGU0o1ZVBkaHJybEttUStiU20wY2FOamtZSDNCOXdjeHhycEtIdXBsVG9vZVBCNEFZV0x1ellXTGROSU1TS000VTU0VTFuekFLT1I1eWJhb0NJK081RVc5RFFiSHJRa2NDdTh4b3gzSVFxa0ZGTFJ6Z0lVTG9zd1BnVXY2U3BRb285Skl4N0lYenA0Tmh6MVZuUkpMVE9GaFM1K3UzcVJFZW91aDVIdmlEVHBGRUFtemdzU3JIdVZSYlhadXFXK1B5eFwveU1nQlg4YThcLzBUN3l4MjVNWllOTVBPV3FMcTdQVnRsd3k5cWZtSUphbUpYQnBDZ0ZcL1JPc1h2UEE3elJrOURRdDZ2dmZ5dWdQNno5TlhuVGdjcGZtbStuVVJCbVF3T0RWRm8raEQwcHgzTW9PelwvRVNkdWlXUGVOK2RrNFgxV01QNmhWRm5lNG1cL1drVFgxZGR0WU9jZU9wdjhzQm1yQVFkSzdjSWdORW44aDRSUkZra0hybTRYXC9xcHVUR1FaelFyV1p4TU1IaXY3dlN6VU9sZkE0dHZPdGVTaFNtMWp3YnZYUUVDTXN0bzh2VGo3MHZ6NVJzTHllQTI5TnJVTldJZWtIcDc2UHlhV1o2RHA3aUpFNGh5WDlydFRRSGRHbnl2VVgydnpxalQrcXBBRE1ITU5TUkI0OVNYQjUwTFhYS1Zyd2xqa2h3NlhFek1GcnBBcW10Y0w1WjBHbkh5dkgwdUVSN3FKNHM1bm1sU3NqTnNRMlBrTmt6Qjl1SGlVRTIyd056TjRoTlwva2tnZXppK0RVd1wvMktwK1pOVkR0blZ6RW0yWjkyQ2JsWlJJU1NTTHJyRnFaUGN3RE1qSHZPYnFYbUdoQnozbU00TzZBOXNtNmZmVWNMYkVCcWRpOXRnVjRnWmNMRVN4aFIxSUZuYzZzanRPQWVmdGt4aHZ5MnVIQWdiTUhEUGZzNmlPWktaMUJXMFhSYTFsZjFpVXNLUEtUTnhXWndxczFTc3QzUFwvQ3QwSVhOS0VxRm82dEZ6dFdvTk91dG5cL0wwT0NTTWNQSkc1bEI3NEFidVlvbjFCS3l5blF3emx0YThDNGRCeW53YkhCWk9RQTkzbWNOVk1ZaTBrSmFEc01OTVl0R1wvWGVIS09wSUdLdWNvQVdZVkg2WlNIV0txcGZXcEliN29HbERrbitJdzN2OEZWWlBZMVhYVTl6TXJVTmVYSkxMaVdBSGdCVEpkRkx0SlppT0V4ZUtuOFFwZEE5SU9KWXFCM0FxNWdXcDY5VTZSeUdoWXB5SXRJdjZJK2pvUWZpNEhyTFd5ZDFnVyt1ZW4wNjVnQ3h6Q25vWUNheDI3UklVYzJ0b0hRQnl0aDFLckNFZzBaR2dyV2hcL0xLTnBQb3VTQ1pHMm1mT3llVGNnNCtBYWVwYXBLaXBXb3pGY3IyejBBbFFFVmZtR05EZEhBazhpbXBIWmRXVlFpcUVLOTBzaDIrM1JqU21cL2daVXlIUzNWdkorMVhwNFg1TkxURVwvUFBRdHhzNnZPRzRFYVpcL3lBMTJqczFCa2t4enV5REx2RHBDK0tybXlXeDFEU0ZRcFhMV3pRZHFTMllwN0swVzJxZWcxNmRcL2Q1dktsSzNPTzMzSjhRUE1LWU1vRFU1VFhKQmlBeDRPc3J5a2w5VW9JMGxsbEYwWFwveEptSkxSYkM2MlZ4d000Z3NvOFBPWnJYQURDZXRtcHVzVUVZRys0Um9RdHhHeUxBUGFSZ1RMcEh4cCt4djdrdlM1amR4R09EMCtTMHhqTDB6SmpScURuWlBsSXZBUlhqYUR0REhndTlHT1dLb2VZS0dMTUJmd0tTR3h4RXg5eXpnRjREemxFaDVKMmdhM0Rtd21mdlpvTTRCXC9PTkVKZm96a3grV05PaVwvdWxVYnd6bG12S05YaTN1ZVU4TEZmNVN3RkVTRHcyalJGZ2RPV3hVNGlyb2xQM001aDlzQmVPa2g2c0lhMmJZT2VFWEJzUnNGaXc1R2FvcFhpcjJ2SUZoM1JXXC9oUEZrTW5UWEhlcHRpUGNOdEk1V2NSRmN2OHhnSFZLcmYyc1MrdHh3Wk9IRG9ZSDVMRU12ZHJcL0FGVGd6bFBzOTdXNWwydjhMRExFOFdkUm5tNmpqY3RUUjZxcFh0T2FFOUhLV1UxdlRCZFdqeHl2WTVoeE1LY09PanNUczdQSUhQNjR2bTU5clFZZ1l1UGRrV3BhelwvWnBZblJTd0JnNk5sXC9iRDQxc1pGQnUzZjZHZ3lJM3pnMVJyTEVRU3laS2NVRUZDVDhFbXlzKzNRUUlwT0xteDR2dFFNNUdhSVVxcGF1Y0N3OExwV3VodTZ0aWhKMXJsam1oXC93RGx2aVkzWTlVXC9GTkxZdHN5dkU4cWIzNlhsWmwwSGI3ZmxENmJmOUdBelV5eU4rbkNpNW8yS21tUHI2aWVlZE9kajdtSTR0NmNGaTJOSGVkUktKblQ0aHoyb1M0S25yRm1hblwvTlpYcUZIZ3M4VkJKb2JmXC84NndOalllSWJ1SGhBNzc2Q2hHMjlXditSblBha2tiVkgwbnpHaUIwcDRzRVJuRnpNMHgwcSs2M2IwaGg5WnZwc0RkRyt3aWJTeTdTQUJWTU1WdkRjckhNNVlGTXFUNDB6RklwUlFJeXgwVXlkeVlaQnpLdVQ5cHZOVGF4MXBBa1NnN09QRTZGRDNFZU9QYU4zOHVKRGlRZStvSTBvaFNMb1pUTzVOWFp4cm9pc2lGWVlCcEg3REkyZjJ0bU9RMVM4bDNCcXV0dXZOMkFhZG9cL1B2aG9kRkVQNGlTalwveGNrZkJDVjc5eG5uR1lPUFwvWFZMOGN2SGdVTEExNUFGbHQ1TElcLzAyVXRuXC9EdFphTnArTkV3U2JnQTViMTN0eFllQVJaaXkrT0FVOVM1QUM4cklKUUVwQ0tPU2o4U2lXQ0oweTNWaVFDT3FFdlZyc2ZOa0VrenV2Y212c0tqYkxMRmYzcEt5RmI4NGdKK0Ztc0dNQlMwMGd5NkVKam9TR0tWSUpcL3pCUVBLY2phMUlxWnhWVnFSVHZ6aGZpdFwvZ21sQytIS1Y4R2VMUldDWEg1d2FMU1hGSjJLSHpEQUtHZGxsbEhBUWY0NDdxOW9Ma2dJalFNZHBTWFJWUWUrVDlWcHM5Z3FFS3pzOXgyK1RFZUNzTUlNQjEwY09SdW5nT2xkQkR5ZjdIdVZ2TnVwVUlMQld0MmE1NmI3Z29yM2hTWG5FTUhwK2tqb0VnYUpibStxbTNSdHJsRWdxSWR6Wjd5bHlrKzh2NHVnK1liYlJwRWdYdGJFc2Y2aXpSZ2xPOW5DRVFpZTQ0eXhnb1IzeCtlYlBTc002Mmc2VENhXC9HME5FXC9HU0poQmh1QlVnQnlGRHI4K3JmTm5DMzl2UlA1U1hiK1wvbW5Fc2lYWktadXduSUJ0cUZtaFJcLys2R09ySGFhaXNXZzlKWWtneVZmZDlHR2NLR05rRk9lQTFmcFExbUFxaW5UZVdKZ3VOZ0pKR0VqUWd2Y1VCTlpKS2EzcVB6NU5OUU50ZW93cXRxOFlHcmc4RTlwQnhJdWMycytoS280MTR1Ukx4dEFPOTNlQ25Ja0R3c3FkSVcybW8wRk9rXC9qNjhyT2pnZnJ6eDFKNjd5emxabFE1NUtuQjY3ckwyc0FNWHRsSWlTNUtjMXBRenQ4M253QmJyU3V5eXhzcU0wQ0VMUWxUODhqNWVvaXo5U2xlU1Z5OGhoaExtTkl1NStReXMrZEZ1RUFBR0JzOHRBMStLS3dzelNpU3JpaUJYeVlzV0k4eTFWU3JITVpBMWNhU2ROOFpxMlBEbVRPNXRNb1Q4cWp1QmRUaG9pTVwvNDZ2ZDBcLzQzWGN1Y1p4enVhblcrM2FxVHBiWHZNZjF2VHpJOVVuTXc5SHBkM2xJc3RsNW5hRHRsMjA0T2NrYnQ4RjBjM2pJMHdxY3pJMm5YbmFsR0RjdmRSWVRlMjUzXC9SRzFJRTl5cmJHS2NnNzJIcnRPQUxtNjBUR1Z4SlBZVGdXWXhYNHFObjZveExhOGxtNjQ5dGx4MVwvd3V3TlJUQkM3QU1oY1N4SDNXYWh4RkdsYlJrTngrUG1Vd3ZETGdlT3ZVeHdiZTd4RnZmeFp4QlBsaVRrNnlhREJIWm50dHQ2YzdNTmZyXC9za0hGWEUzTVIzTExcL1B3OEZ3WXV6aXpPdGI4YTZ6SGJ2c2x1XC9aaVowQ2JpTHdSaUpIbDMrMkpTNFBVMHdkVitqQXFkM2NmeFE5VUVSdytWMVpXaTNVb2xzMVFZVFJhYWlHRGVHVUt6enF2Nk1oaHVDSXNJMFBjNkhZdFhVbU9SXC9objZzbThENFwvcnJlME9ia0NPXC9DR2tyb3RqMTBEbTVWaHlxbmxzd2c3VkFyMXk3SzNiUUxoTHhmbjlyaEs1dEpSdzVBZ1Y5eUFVVTBQdHpSZE1QYjNsQkw0NHhzS2hDUFRrWE9LTHJBY0txK24wVnpEOVdLamdBRFR5cXRNWDB2Z1NDTXVxOElOZ0VzZWt5bkl5VDFEU0VJcU9WUWpmZnpTZnhCc2EzWHZwUXVzVDRrYWlEOXRwdFpLOGg4ajhXOCtoRkJmMFFBaEtHdUljdkhiNmgyRHp0djFrNmIyR21RNnVVYURvbERoaE52aWVTQVpDdjZPNGp0TFQ5QkYxNGhUWHRLcjBLcXd4ZWUrRFFSWmNNTFJ1aHpmNUs1UXdIaTZLTjlkSVJmaFhrWU9lanhvc0tlTWEwVFMrbEFqRDBEb005VDRVVE9oYzZqTWpRa2RJcVdaWDlVaFAzNzR2V3JqUWp5UWVtVHJpUmZyNzFLZkNJV3JyODlQR25PXC9mbUdLSTZLVXJnbGx3T1lkOWVrazNaRXpcL0M3bDJSeFQzc1wvZlNsQVJZVHlicGd3dm1VTmxoSm94QUcxR05JOE1MU3IzbExidzAwT0MzMGVDZ25tWXMrZHBvbjJPMUU1ZkZUQmtCNUo3WFpTTGVNOGplNDh3eE1sXC93N1ZUXC9LdHgwNGFCUDlGS25vWFFvd2ZFVTJUZEliTEpNKzJicGlJWVJDNGhEdncyQjQ1Vm9nVmx0TDJBbklOeU1Qa1dGNWZ0MkhYeDliYVc3ZHdaUkJMeFdxRjluekhoM2g0d3NkOE1XSEJ2blpzclV5NURHUXFyZDM4MGZ5S2loMFB5VmI0SDdqRVhzV0YxcXhiZXJIcmNDRkhUS1dJdUxxc09iZm51YTIwTkhXcUdtSUoxOUxmYVRcL1RlcjFqdG1rblUyelpvbG1CUDJRaGo2S3NDcVwvTjViZHFlMjU3UTFtU3RQNkcwN2gzbWNyKzg4eTBCbTNtXC8rTDJzQkNTY2tQRFIrSkd5WGNIQ1F2Mkhma0dEU1pyRzdFMG5jejcySnh0UlIxYXN5bVdqWTFRQ1g1Y1ZDOVBaKzFrTEpoTXdyWjMyNDR3RkhXRnFacGc0dE5ydTZ3aGN0MHRCVkN4eGUwR0lGblRYeVFOeEhPMkpHVTYxUFJrUk1MeE11ZkpIOUVzSHRmUVA4N3lrbEROazQ4M1Jmb3BqZ2hocFJ1YzhEVDE3ck4wb1pSTEM3dmxjZXVJQ1hVSTRNNjZzelNQd2k3MHFCZnJKSEJWa2NQVWswN2tcL25keUxpTHpTMnVEb25uRUFXeWpra0J2Y0kzUmtqN3VLN281bCtRcWRFVExPaEE4Nnp2WkQzTjdCWnZFeUN3NDdZZFQ2SGRIXC9CMTFVdnlvQWQ0RXRRcW5rTDc0bm1DRXNDRHE0NmVEdUdHY09qRHhyN2lrUndzNHZIZUxhNzR5UVZBbmVaTnZxN1ZhT3VGcStGSHFKdElIQkhPUEtBMSs5NHFIYkxDMHl6U0FFZmpvSElETVphaHBSSnk0eWVMOVwveFRmWGc4VUZvbEhRclRkQUNoNEhadWNXUVJsS1h1eUplVHlidzI1Uk9lUHh5KzRlSjlDXC9ROVM5VWt6N0tScXJ0UG5PamczS0NmWTBoNCtKOVhvK2xjeHVWVUxiYnFNQ1wvaWhuME1JSmZlTG1UWk5vOFpBYzltbWRrUkZ3ZFlTSHJUZ1Ura2pzR0c0UCszUzJqMWo5UGp6MlcrcEF5N21yZ0xEaHRIbkdqNEtzOGxVaUc5MEYzNzJVSzhBXC9UaUc0UE1qZHlMZnFXQlh3OHpqVnlIc09ZN0dQWHljbDJpd0ZzbEgwakRZbndVamxWNWdYSFRwdzdza3FuRVwvd21sRmZxYmJwQnVhb2dqbGpYYXR2aWk2R09sQ25uMFVKVXVSKzQxbndRaXdHSEIzRnZIUWJXSUtTaUdmRDlTZTFvVFRpbUltSkROZUY0emo0S1wvWlhZb1RjWUIzbjBTZFRvXC9XTTJyU1BJMmdVcDkxXC82ZGdlcWRnT2FCa3VUK2VyTWF0ZUFUK2Nab1kzWnZwbW5aMmpzZTBhdDhJOXNuT2Z6cXlXZHl3ZVRPTjh2VU1NXC9EUEVFNjdVZFZoRHVpajhNQVZjekF0T2o1VDVhUjYweW45ZkorengxSzlNZFZJeFFpaE9IS3RYN0d3ZG9ERHRLenRxZ3BVRURlZGR0VjBzN1NNNkk0N0JiNUl2RFl4TVB6V3dUZTduWmtyMHY4WnBsMGVYbzVPanVSNWs5d2FObGVWMnc4czFYXC82ejYxS2xmT2VJclo0cHl5TjRtUitaYnVLamhKSHo2bDJpNFA3VFJaVzR6RDJDQ3UyRnRBQjhUcVIxZnJic2VIWWlyOHdEVURyY1ltTTZoOURqSUh5WlBVXC82MXJFRkZyQnBBXC95NTVmZ2wzcFJTQWVveUVYbmduRE9jendMMGpsTzlqQXI3N0t5YkY4cmVGSGtsU2w3dENDM3FtNXhxcVwveUE4anFJQlVTVTdVbFg3Nk1uVlV2S2xCYnZDbHM4bG5kRFwvdVF5bzRha1J0VGlJOEpiQ1NXd3dCWE9OQkVXNUcrMkVjeUF2cFZPTkRrVGFwckl2anJWMW1ETkxYbGxcL3FZQWFEd3hsWnAzRjVSTkt1M0VtS3B4Mzd0T2lLNW1jYkZXMnNLdDkzSlBEWk1sRUJrVERGUEptR3pkNnZWQnd3NzBFdjlnb09KaEVVemxTNVowcCtwOXlLSnBhTUJSUjZCU1VrU0VkNGZ3OUtidTRvaU9ZTkdIT1wvdjJEWHRHUldqeGhGTHhjU1pLbitJXC9BWThhWnpNd0dFVVJ3YjdyZm80aklZQzRDa05aQVpcLzROdE1WUHNya25jSitqc29zUEdUY0UxdlJYaW5KelExMm5vOEFOMCtYdkNXemlobjFzNUJFTVQ5OFRFcjBOMzBKZXIwcGtzQ050a0ZoZ2dkbUJEN1VoSVpcL0Z1WjB4Sk5vZlRDU1R1bUZ6OFNIdEJHZ0NnNW1wWEVwMUVTTnRoU3RUVmF3MFRjMzJCVHFQaWJWVzRYeVJ3T3Y2eEZaTmdDTjYxb2JQNjVueWlWN0dHenRDQkw3K0liNCtGMThBaDQ5ZFdqSUhHS3pkVlI4VVZ2eW5LTXNYNTVrNjdxRHJZMnRUb0pNQ0FHWDhaVWxFRE9YdE5pR2JySjdHY1Rhc09rdUZ4OFFOZVBhTWgwK2t0Zm9LTjJaYmtTUkFPcEp0c0JpWGxMYXFpUllrWTNkaDVxMUY2Mk1RMVIrNkhLYk1haDZSOTNOZ1I1RTlYOGZlYnBLK1RZcWgwcG1kQ0lPcnNubktsenlyQkdaQ2kwUm5zMnZYeDlXblwvdjVncmJaOVFkSlBRWlYwWlNBUGpzK3JPUWhzWTNjeXk5XC9MSFlSaFlHUW81aFlGNVJjdE1ZbW1ncHVYRWJNTlBYZ012b2doRUpCbWpYY09MSFVoRjlNVlRHalRUMGN4eFNoZTd6XC9tckxWblJzbWRaWE5NVlZLSmI0T2NicXBub1RhWmV1YUduVkwrRDNcL0trcHVrMGFZZWpzRTZUTk42RERDOU04RmF4Q0xGWmtcL2JSdkFsaXJCbkJCcElPYkJxMXhmT0U5bVFHUzJMTndlN0FnRVBtbFUyXC9sTEpXWUNvMk84aGJjVlwvSEV4Tmo3RGR3d3NyVVV1S000QWpoOHYxOFFYcmNUeFlpQThFSVZ4QnZOYWhEMXB5aVU2UjVlbGtubmRQZmgyRFloUzZVZXVkVzRcL3FDK0VTZ1dsSlBTcWRuWHpoRCsxdlBRVjcydytpM0lGVUE4TVNFdDVcL09uaU91aCt1aEg5MmZkUXZ0V2RCZDMwc1dQQm96WStIczBUaU5lZytNclR2dnpyWkplQjRyeGVLSmhkRWdvSHhRNTFBd1VjNkpJaEpFNE5URnFlSHFxRmhJWCs4Zkw0djQyMElFdnVBSDh1Q0Zzd0dETVVQTGw2eEF3VGdcLzdhc2U4THR2SVJrbGZmMUxPam5XdlliV3pwWnRMYStlU3BiNXJwUnMxOVVRQm5mcDA0MjVnSG91WnZVanI3WjErV2MyZXBjWEdMMWwyd0dcL0xVWFwvM3lHRlRyUnJla1M1S0RjN0wxemlSTmRhWk5tQ0ZvNXlxWU9zbXJDMTRrUkM0NFl6VGNLSlZFMjVISmltd1NSTnJvNjUyRmlRYitKYVpOMXVDemhaSWZGUWNoYUlNNkI1S2VuZWVGTmpxeTFOMUlPK1U2UzJIT3pyRDhUb0lPYW5Vd0F1a0NLSlhFVkF5bTlzRGw0WUZaQ20ySnpxRWNhVmJFb3hHckpDSFhjUUNydTFYSDZIYmRTSEZYaWsrMXF3RzN4dWlQdU03QUJQR0w3Q2RnUVNlUkwxNHE1U1hEdGxKVENiditSdVVNdzBYXC93c0VVcUZ1UktLWW96XC9ZZXRlaDhzQTlOVisrS1ZxeGRVeUpRWndMU1JHZ29DUFFWOUdCVjZUTTVZb1wvZFc4b3JaaFlKZWxJYTRBUk1kczc5aDZaWlhVUEhWXC9BemcrK21PRmtjUVhXaDNvZkxzVmdtbE9BNmgwbWdnV1pCY3AyXC9KOGRWa1BRYzFqODZQWGk3WFdCRHJlK1JrZVMzd0E3eVZsRnJqTGt1Q05JVE1mY0hrRFErR0Y1N2xRcmlzUzduOUM0SGdcL3kzMmhSTm40ZXBMM0M2Tlp4dVJvSENPMVdLUlhNU3lEMWJhY3FhOWg4dzIyckNFUXBjTlBxais3TEF1WkNLcXk1dDJBVE51SnE4ZG82bUR1Q2oyRCtBaUdTVkNPQ1V4VHRsTEtyeVhWNHN2K2RcL3F5OElaOE9RWGRPNkNXeWlhQjJqQWVnQ0dTc2VWckZ3TXlhQk1CZWlDSEF2TFp4YVJ2VmpydWQwdHBXNkdxZ0dyZ3VsWFdYeEpJS1czVlBiNWw0bHpRT3dhNnQ4d0JHZkl2UVA0d0pkM0xZRkhFelBOY2orMk5cLzZ1YnZpdVNSUnczRWhuK2tMaktMYzA1QTN4QStIRDVlM09NOVwvOEEzSng2UCtTSlVUWTc0VGhvUEh0Tmx0UE1BbFdBSmo0M2VuaUp4V2xkU0c2dXZpUmZTdWQ5TERwT203K3g5Z3dFVFRtN1wva1J1bThFQWhYcFpLcU5ZN0tZTUMyZlhaOUxjR1Jud2NYdk5QT1lIa2k0TzdueVU0VG1QWWh1WEtZTUo2eGNMQW96WWpVUnAyWjh5QVZqelluaGJqUXh1OGZ1TjBjQVZiRGNZeW44TGtiVXhoM1wvdU45MFhycjRncTVBcGk4bFF0elFoakhnZEFEU080XC8zY2xVenQ1U05RbHRvd1hXRkwxekF4aE5uNGdUZ3R3RjRLOFlOTTRTb2NoQWdwU3gzTUFcL0YzWmtTNkJNS3hhQ1pSRE51d3ZKQlorbngzTENsY1lPcTkzT3AyUUpCUFVFbXZSeTBEUWUyUVh4TTByQXZvVFwvR2d2Ym5kSHRlMGlHVjFmVXJEYXVUWmtWTUZNNWxUVXlaQ2lpeUhKNXFQMHlURHRVZ2VPVFVpdCs2cHdYQVZaZ2lLR2xUeTZub1ZIempkYnlLVWRUOEJKSEpHcXRXeFdkNTVcL040VEs2bVdORlREY3laZG5lOUVWQXJ6TWdiaFFIczlmWTVHdE1BK3hcLys5MEkzbXlmTTZkSEhhTHVJU0Rxckw2M0tXYkdaYWJtdmozeXluV29mbWE0MmJsYVRjSVF0RU9iXC9JWGtKajljejJpQjhORkw0K1JiOFFjNTYxSHFHQTc5WWJqWGZQNGNkbUI1UDJmU2l0d29LZk5tTU9kQmt2WCtzK1BvSzh2azdCVXdGRjRVXC9TOUk5anFrQXF3RzFSeHpBZndkOFBaOU05VGZEMnBaV1ZRZ1VBbU5XRFwvOWo2WnBsYnVBRGRJYThWK0dkWEFTbDBOaFRpZGxjNEtZT1dJXC9DeW1IVlJuY2RrNWNZNXgwT3pHWVA1U0s2OEkrMVBzbm91NjZxa3B0dHdhWG9UVitBOHh3SDdwc3lVTkdWYXNCTmdha1l5cFBJeEhvbndXOFp1ZGkwbDIrdlFZS1ZzWXVJVWJwMnNmU1RZZVFkdHBGdWxUTDh2bXBxejZqSGU4U0w3dUVWcEJIUmZhcis1R1dpaEJWMDhiMFwvdE1QemtyK0JXUlQ1dDIzdG1GTGkyeXI2WUhSUmpXak5pZTROOHFmNm5RTDE5dysyWVBhSWxGb3JmcXI5K3puT2g1VEhnbXNKNG5iMnljVXlxQjFsMklORCtjeVpYUDJqbkRTZUx1VlJzQlFqekZwamJzQkg4RVdEUzFrV1VQbkZqUG82V213RVN5b1JaUHpBRmVkMmFaRGxxbUFqamRYZWIwajRiMmdtZUE3ZTk4SE9mQUdhT1BOdGZSaDZJSHJPOVwvV3JCSm5mbWRuRHc3MmlXNFZ5aHVyRmQ3Y0JBSDNNZk9LOWZiRW5pZlR2c1dDa0pIRDVLZXFxYjFxWHlQZk02TnNRVzNJVFI0WE1wNlJ6QUVxdVptN2JrRjR0TE1NVmhiSUtTTmlKcUpVeVFIdkJ4eERBUmdKczY0RDErVE5CUXI5OElRWkZZUm9yQkdOT1wvUmJiUXBMeFFXS1RoU0k2TlM0K3R2bWlzc0hjRUxKMDVWNTlhT3hmN0xZazZLWHBVXC9LN1hndUZaWHRvd3J1N1JSNTNQaThSQWVZNFhcL1h0M1FJM0grK0NZK3hrYm9yZFFrK0VsR3I5alZWYTJxTGVHYUM4MmVLVFAzeEoyZlE1MkYrTk5TOE1rU0VNWkZpK20zVk8yV1BqUkx6YkRwQjBmN212eDZoY2psMlFSSVwvdTVQRU14TFY0a011Qnl2WjBUVGpRV2lyVTFYV1pkbUxzMjNUcUpOWDcxUXRsckFLY1JnN1ZpZkhNNXpLRFIxYWc1b1BydEgzRkZvXC9YQWRWTFZcLzZ4QXZMSFwvdm5HeGZvekFFT0JcL1ZUNjZPNnY4djRCbnU0U2FpZUdDakRkMnV2aENyZktqVjVMNFVSZjhveVNMd2NIRmtRWGk2N1RmdFU1VkdjZHJlTWxTQjRsUlorRmhQUUJLc0xSSU1LRVFJOWtyenNhOFBzMUx1dVJxempBU3pvM1cyTDdNdWxSZ3RjeWRFT1Z3cDk5QUFqbHNYUVJaV3o4U05nXC8rM2pwNHBydWJYdFFsN3RRd0pMRDBQdUw4eEpoNjI5M25rVVRYNXhIS21CSFFLdUYrQjZETGNxaFFzTnVsamZXRHNIOG5PTW5lVXpUV1dyVlwvQXErdkM4dVpWTGh2VncyRkN0d3c2Q2ZOeHRiSisyQVF1UHNpeURXczE3N2JUXC9vaktaXC9LQkR0aHdHS2MrcUNRVU0yQXpGR29oUjNOdkFzdUhuSCtIdzg4aGlkVElpb1wvaEtXN1llb0g4Snlwa3lGXC9vQXVVSnllZ09DbjBxTmxDYnR3U01wOXJWZldPQ0Z3eHhGXC9tak5xN1BIdkNsWURPZG9oMEhGZ0JjN0Y5VXIwWlYrZDFROEZ3YTBqUW1FMGV4Q25uUnl6bUVQVklnWTBDRzk4U2Jic09jaFozVlBJM2xRWkhBYWdcL1JcL3VXaHMyTTRLRk5pU3lMbGt0Rm92K3VrUmRPTDAyUzB3WkRKUE05SUZvZGRVRlJZZ1RuXC9iMFNcL3V5S044YmhFaTkybDdIOTdHRXBHWkR1U0E1c0FWb1VwZ1pURVNvUWJiWUo0Q0NqRDNxV1hVdXFjenNVbElPdFo3MTZtOUJyZldFSnoxZEl2MnBLZDhEMWp1MnNPdWxHR011eUpGdzhXemdLSjh4ckZKVWRFXC9nUkhwVTlDTzlEb2NUalhRVnMxWlpmeUhvdGR5c1BHSm5ua1BHT0pCSHpselBRUVNhWFphTVZnMUxqdFNlMUUyb0Z0NUdlNWpuY25kSnhpczJmS1lwOVZsQ0srZytlRCtNTmU5VnV1b0liaDNoZnRVc0k5T3ViTWs3cVBcL3gwRFU2S0hUUng4bVdtK1owVTkwVFExSHpsY2s5ZWhTd0hLelRlRWJhS2RuZnhodFA5RnVmVFF6Rm53V3NlUzJqeW5zT1dWTmZLMjhSUTYzWm9CS3RKWkV0VXdLWWx2U3lcL2xZQk54WmJGZWt5dE1rT241WG1YVGt5Tm11M2J1MjljWUIzZ3VhOUxHMm9cL0Uxb2UyWmRtRzRkeldtSENZMEJjZ01HS0JHc2UrU3hNRERpRjNSc0liZ1NBRTcrcjlaUmhKVXRBeEZQY1JtOFwvZXZkOUNRZ3dxSTF1dWRoUHo0dW9VNzFSYnAzRVp6ZnQ4M0JwaGphXC9NNXVqclJhREZpVVgwOVlDaElDbjVEZkZpWVhVdGNnRjFyd2ZDVHA3bXJqa0ZlWEhHOFwvRjVFeXdodXgwaHRRUjBBcTJyK3FsR1VqV1JpRnNQblRoMUd1WFZ2M2o2Mk0xXC9zTTNsOTRWUTRxUXdTMFwvbGt0ZzhJXC9ucDJnXC8wcUg1ekNqaEVhRWt6cWZHOU1jSXFUbUJHMnVWZml4aVpVb1FObitqSGtNbE5odERtUFBFeWtKQXFiblNiXC9PaG1TY3IrZmVhV2R6d2dhWEhKXC9JSTdlbnRJZm1aOVpHdWpNT1JBOFZvMkNudXZQQ2krWm01XC82UFc1QkRMRTZCYTdxUURHYXJvSkdFcnFNZ2dzQ1lVRno3Vk8yUFk4cG92RkRlMkpldDBHSXlCU3BnRmxoaEYxYk5sbWJPcG9kZGNIMHJ1RThrVExZZjcyeWxxSXRFY0tHRWdWa2Rlc2lZdVErTUZKXC9XeW1mZWJHd3JkeFFENnR6N3FaYzNtMlp3eHYrV3lSRU5tVmdzXC9MdUdPVWFWXC81b2JnSXlpV0lFdTF3VEdldzdiUlhsTTA5dzJ6cnczQXREdlkydkFnMTRYQ09HaUQ5XC84dGQ0bHgxMWJiQVhaZkZkYzllY08wODZ3eEpnbjhcL1ZqdlNhQ2VXTDROMWs3RWRpREg2WVwvTWFxREFTTW9McXpjK0dJRlRwcDhFOWxrdnpJTmxUR052bEFtUTluXC9Yc25WUEQwM2VoTG1sWkcwSWR0TjBFRHhjRzZrWm5HbUFTNXBqaERTNWJuNm1sTlVUa3lmQ2x2d3l5OGQrbHA3cEp0OGIzZUtRSXdiMGhraXpxbkJ6ZTJkNkwrNlRoNWhpSVNYNXY3Qk0rVDYzVU9NOHdKYkNsNmUwS1dQdHBWNW9yREV6SDZSQWc4S29BRTVXYjdhM2huR2xFUTdUZ1FXUHJlNnpWMFNhdnVWQU5LeWpxbW1TRGRHR2VLS3ZnYW8yUndFcStHbzlFMGdBVXFud1I3eU1zVU1oSnBNSlwvMDRFTXRkMU14elVKT2M1b2Z5ampHTVpjZzRJeG8rdlJRQk95SDVUYnIxdHQ4ZkF3XC9XM0YzMzBEbWNZYU9sNDdyKzhjOUhRTFBBTFpabXpTVnoxVDVkZXFCbUJ0RHB2c0pwVE0rZHEzaVZ2Y1FLSjk1dFFpdVQ5S05qWWRld21STXE5R2pKc0M1K0l5VXdBZXF1bW1HQXBWU0lvSnlqUjdYdHhsXC92OENjRzkxREhMT0ZGdjRkNTRLS3RrU2Fsak1sbElsdHc5XC92WFNHOUV3Ynd5cnpwXC9LcUZ1akZmZWZmdkNWWEVLb3NHT0wxUzhLY2tlTjRINVIyNlBIcGJraVwvSkgyRWQxVU9kbWZyRlduQlprVkVKMDV2ZTZQNXRDdUZoSHp0QXVNd3JJWFRzUmNSb0ttcUNGcWFIWUhzV2dIKzd2U1Q0SEVBOEt5SWp0dkFlUWV2MHo5QmJJelpsQUo1bWFySm96ZFNWYXRnXC9LeDNzTERcL1Y0R1lSeWlRQTM3c1l6OW15NGM1ajBNNkdNK1RVZ292TW9QVnA2c3RVcFBLUkZFYWRiQ1hGcHc0T0xtNitFNFJtaUV1YlRqeUorTEF3ajBcLzZcLzVOZGZLUXI1MXRjRUZrMk1BNG1lVldXMmFVemsyRDRoRVp5WUI4MUdLWVZvMzlIVkUrUnFnRWxXb2RcLzBVQ3NaYXVQelVwazR2SGpRNlgrZjVCWGhoeFwvRjRGMG1yNUE1RjRzazRkUmFBNlpmeHpNOTdma3FMb2tkY0RwWVp2S0Foc00xcXBCOWVMcEFaMVdnR1JpSFdsaDUxY2hqem1OanhRRkZMR2tVOGZvQUl4VjcrXC9HdVc1UHp0N3lqaWh5WkpQU2prVm5iTE45c3FpZTU3WUVBTWZNM3h6ZVwvSWh3V0R4TmRud090MDRTdERGOTFkZnBOSEwzc0toQnU4UERZaHF1SkpCZXg2citKZWpMK1F0VkdcL2tNWDV5QmhXUHBcL0VlcjlpXC8xNGFxelpOV29LOFlCXC9WUDhjK3NTTGh5cktUU2V6WDByOUROVmtZQ0lMbE1GVldNRldsb3hWbERVbExud0hEczNLNGtkbEVMMjloVloyMUV6K0pkNU1jbG1pUUlXZERCcmRIM29KcXFjRFdGek41NFVmNzJxMHNub0twenBiRGJva2c4OHZlT3JPSTJ3SFBoYW9kOW5rSjNlcE9oclZpaVR3WG9KRUNVR0xpT01lemNJNm05QzNTRThyVm9OSkthM2FuSTRqdWFnVDFUN3FZQjBYR3hJUk9uSGRLRGl6cnNQYlZ0NDJQNGZWb0N3aFBOcU1GdStnRWVCU1Z2czNvOVlqdmhHTjlFQytZR3VTT1dGdDVTUzMzT3ZNakZSRjVUSWtnaVBkenBBUFd1XC9UcHU1UVRMcnV1Z2xXMXoxQWFUSitDVGsxN1RpOFVkTVhPMGpYdk53QXhyMitvSXJsckFyUUd5blwvMU95THRyYys2eDVEUTM1YWxVZ2lRaDBiODFJQnc1b0xDa2NOb2lFZWFnSGxLaDBibUxhUVVNbk9zdm9pQ3BxQjFva1pQaUNLVWFKN3BLUjRNMDJJelZVZ0YwS3NiOEtYYThVRGpmVkFDKzhWZFQ4RXRuclA5VFRrXC9TXC90d21FZldvQlRyWEs4Z1wvdjZENGdGemFtT3Z4Q2RNbjNZalJ1bzZmXC9YTXYrekk1K0lld2s1Tmg4U1FFVTF3dFkwVkdpVFNsQ0o4TkpEanFHTGhpVGFWelY4YlM3cXFpQXRpS1wvbkV2QWZJQkJlZm1EYnR0eityYkFxWG8xTldkT3BKWWRESWVGZ2JKdk5OcTZOTFJSVHB4K090dnVcL0IyeHhmYkxnVGVSTGE1RGVrWnRIeDczM2JaYmo1NWxYQ1N1b1NLa0RNdURwdVpiQ215aHhVbTVyYjgwUUY0SGhkN3NScGl1ZlRoS2xYd0hPMTNOSWw4OFVYRWJZQ3d2WmN4dEIzbFpoK1d2ZXB6XC9jSWJBRmNNTHlzaTZyT2tvNE9hQnJxUitJcVRSaUZDVml4SjVPYkRzbzAwSUE4MmM2UW9HSmVUSFRBZnk2SGFnTXdWR0pcL2E5ZUl2Myt6MFBtNHByRWtFUkI2WkNJYkJicjliMGxvV3NrakUzK29VSWk3b2NXYjd0T1JoSWlEc3E5b01wbXhNWWlzUk9GZmRoRGh1K3ZPQ2UzREhEYTZyNVFlQlQyS2VqcG1VU0lcL3pnRUZvOGMyR0xNbXl3MWZEdFdiK1ZwSGw4NzJFNGZHTEJKUkRLQWVQeExXS1JWVUtzVmdKeGY3eURtbHFPVWxNMG55VW5qQ0ZBTUtoNURHS0V2NnAydVBNZUR0OHJvZzR6VHJoNmNLcVVhVkNZMkgwWEk2QytXZHlcL1owQStPYldJWjdzVkxnZ1A1YUxpQ3owVEtyUFJiZElDOGpCOEppYmVobVQ1dDlINHV5a1I0TGhJd0tXQnUwR3pTOFk0dzNBbm9ub1gzdlwvZkUyVlk0aUZcL3NIazQ5YWhGcDhrWkloOHFjNHR5UHZDalQxazVNTXhxTlF1dDVWWUFlUXlwbWc5RFVzdlcxYkpyKzB2YnR3OEVWWDlGV1A0cDFleE5kKzRtSDJLQk1SXC9zUjVDZmFQNVBNSFNhS0g0a1UzcGJaQ2VGbDNyeFN2ZWFSWFRBTkd0cCtDcXorRFRKa2d0dEE1bzRRbHIyalBEalJcL2JjNk1YNUljeTVqRzc1OHd4ZTJsT1orMU9wbFRpQXIyXC9PUFRZenNhT2I2aFJDY09MdVBoU0xlR3pKVk1SdHE5NmdUeWE1Y0xBSlBvQ09HNWZ0K3htcndjVlpzc3NFZG1nbXR2NjZ0Qm82RG5nNWY2ZkJiNFMwQUFuU1B5ZHJhR0pvNUtlWXJ2ZWZsNlBSXC8wTGlISDV5UjZKTFluemtGcDZ6SU5aS2hQVVRcL3ZjSUVvVGdyXC9UMmowXC9ZMVVhZEd1bUFcL1RcLzJFWWZlN05zWk92a2Z6YitRenlYXC9IQkgrWXVaNEQ5OHdlVHVBbXprQlpyWFBjMnZDZ2lTdHAwTWdEalQ3cHRmaWdJbUZ4OUNpYmI2NW15czJXcCt5YTRYb3RuVWFRMFlSYzNqRHZDYXhcL1JDYlFzZm9OK0l0VXhCKzkxcjR3Z0xBaTZUS3BEckZ2M1R3UmtmN1c5TkU0V1hcL0dBR0taNXJUQjJvWE9JdVFSSnk3TzAweDFZS2Q2WUdQbVdQWWkxZzI4YlJFTzdXMWJNTXdGMU9rRGtlbzhqanF3QlwvMnRiS0lJSUhobUZZREttWHU3Y1JBNkprSEVqMVhQbDB5eStyK2NQck84SDJ5V1hsa3JNYUpBczZER2EzQTNjVjZ2OXZQS3A0YlwvK2Fucms5cXlWYTZGamlORG1HQlVzSEVjbE44K0VOMitSVzB0cXNmb2R3SmJrZnFhYnFcL0QwcGtoNWRUbDJiYnh6ZXdHaVNpUmhjSlVDWU5JeFwvN00raGxNTENnS0QraDZuVzhcL3orTnRhT09rMTJLd1pIOTBTM3FkeGN1Y0NKVTFFXC9GM1hDSG9cL3Y1N2NRb0N1S0NkSEJ4dFFVd2pJbmtpZWVWcVdcL0pubFBnODVLVFJsMkZ0RnhXcms3Q0FCRExvK3JPY3VJMTRXUEZDVGorKzYzKzlLM2doblllb3RIV29HNDB3OXNXQlNKWDgwSGtmSDRmSnF0UHd2TG9rWWozdEpLVnNBRE1qSWJ0WVdjMmVHY1JGaEpXVzVUaGxpaGhzcUlIVXJrY1pTdFFQMzhKMXhVTU05WjJhYjZOaUw5VnlUZys1Q1VYSVB3TFh1YnJKTjREbnlNU09uT0trXC9QcUlGalNoc1U2OXA4bHBrY01cL1RLNHJ4TzRRVFdWWTF3TnBtdktCXC83WGZWTEs3TU1pNTI0ZmtZaVpaVTBQVFBkdzd3enhwS0hmQngwSVdTUVZxclRybzJJdzZIMGhRMEZ3Q2VsWjhzV1BoU1c2ODlvOVZWQW9idTVQWndtZnBtQmxFUzdNU3VhT2lWTHNGdVNKVFgwMGpFVWNLOElPVGFJeVY0UFA1ZUZEMFNoQU4xRkNVV2NoQVZybFd6N0lXTG1EZUFpWDFVbmMrekdwMFFMV0Q1a2JlRUNTTUtZZGxqSEpBbEVFaXVHU2VqdVFMTDhuc1hFajZMQTR1TGs0bXRWYTB0K0lEbFo3WjlkY1o5OHRmZURDSUpcL1wvZEdJMWd6dTFodmRFMkVQM3BpQ2htVzE4ODBnckRGbW03YUxmY0Z0ejlKQ0M1VUdpUFNHamZlSUN6RmdDZk1reGVDZ0xDb05XQWFMR0NiZTJodFd1Mnk4Z2x6bUJDWWhLQ1dKcmpBOHo4eEU2WnFHQVR4dXNPRHFaeXdITGd5d21vSmdSWVlKc2lvbCtlcFJtbVlaNk9RZ0JkVll3K2pDQk1aRmxPWEhpb2l1TVBDUU9nR0haMlBxVHoyZXpEK3p2NG4zdWlLTlFtaUJnek1rRW9SVk5QaGpZSnJEMFozc2pFVjNiMVJKb3JJYzdrMW1aMmRGUDN2amY1UGl5YmcxRWwyS3ZQVXkxWmhuR3F0WUVXRG1VT21yaXdZRVRhMmZRaE9SZG1PcXhMZEJIVVhmQVwvR21tbGludmoxRWlTeEF3dW0wK253TVwvZGs4aE0zMGQzcGlxRmtZTWRPbEVUXC9Da1p4bmo3OXloZXlhNzRBNEljSGVSenJZVEVWVUR3QlYrZ1IrWk5kVmxDNXZmNTVLczZ2NG4wbnY5elFNOVBadGNDRXNrd3djaFRHUGl1b1ZucVdIc1o1Y2RUZGZLT1RFRUJPWTNRcW5GZVpldnNrVTdKNWl2Y0I5TGZkcEZDdzBpMUczT293SUNPaWx6Z2FFZmNTSCtacThOQnRDT1FKengyQldlb05CNHZ4dmQ5ZFVMaHNadzBvM091MndSbVR4djU1cVA0dkhjNEY4UEFJQnc1ZFlPcEhJTURTcUR4S1dwMEJKdmlpZk1aUmo2OWdvK3hadXljVXRiZjV4NjNZcVAxdEkrcHVzdVNBUWdlNE1LdUVNYVlVQzQ1aVk2T0VPdjgrXC9WK1wvbEZZbFwvRFZHYytRbjhCRVhSN0QxVVoyQTA1WlFDMWJ2a0VwUTl4ZFZPMjVlazFQS1dTRFwvK1M4ZXlBQ1pWSjVYNE1iaWZLZjdaUEg2NzlYRnZxSXFlZHhLZlBTcm9zZUdZbFY2QnhvNXpYT2ppT3BjYUNjN1NhNnhMb2M2Rm5sMStPMDNoekMyd2hrejB3WW53UmhhNEhKZytBUDh2eVVZVDg1XC9aVlpGZFU2bzVISWlnVytGYURreEFsalpcL3pGcWFIRWx2aEd0emlEM0lXY3BzRVFwUkJ1VGdYMnlDMzVPRlVsMDYzVWNJYUF4Z1JuR0ZIQVpVTnVPMktRWHhJeHc1UFpKZGgxV0tWcTV5aXBsZmxpR1Z6SFwvQm5uSFVWNGV3TTR0N0dTSnFIMjBOWVBRbVlFRUI1ckg5R2VEbE4wWkpHZ3M4a242Z1R3TUgzM3dVVmRcL0o4TmxFdmdZYkRGWVVYdzhsQml5YVhTaWdvT0grb29jSXpEVkZqK0Z0ZHVlbG83ZkdiY1VnUXpXcDFKcFBqdUJDUjFMSHpMNXl5NHk0TWFQV1wvbG1XeVpGUFFNMmlwTUtXdGttN0dUeGhQYUhoR0twNEw2ZG95Y1wvcVwvcTVDdW5FTUNoTDhDT1BXcldsOFduVWEyMlhjc0plUXRjeFVjTnpzY2VMWmNQTzdLNjdZUWFIeUpMaUVQZ0Zta1lSTTYzSENXV05JREVzSWNMWGNBV1JmRER0aWJBVzVGWW9WcnBwVExCZElMWlpNVUlNV2VsNGlQNVpQWFpMUG8xOUNOQUd3XC9XeUllRDF6YkhyRWxxZGdnWUhKRlZJYzEzWElcLzNoeHFtQkhydGV5RnpiY2NSUXNtemF3elBnVTdyVGcxT3BYcjRZa1NEY3A5aXJ0dUlWSm41XC82MWdybmFnN3dFVlBjWUk5Mlc5QzVOSG13RVRUcDBIRFBYVTF1cCtTeVdYSityUklmK3EzT0xwSElzNHNsbXR0dElWWWdnQk9Sa3p6blFUTFZuTzhQQ1MrOUIyb1hHbXZiZkVIYTI5RmFVaWVVdmJJSUNhdlN2QnUzcUI5UHY4bERGMU1zdjFqakw0NjRsR2FMZzVCVmg3YVZGNmZheWduQ0JFZW1vVXRKbUFqbVdUQ0g2OGZGUFpTdlA2Qk1BaEdDc21CTXZ5azdNRnJFckEzcEprdkhXK2ZmaittOGNXU0s3WituZTA4SWl1dzdjakFvOGhDQVRJeDVyTHFIVmNySkpMSDdGcEtxc3N5dmFLdXFhMlhrWmtBNzZcL2c2UStIaXd4MUErUThHbERVM2RoVE1lUlF2TmlPMEVqZ3RYXC9nekRZSE9seHJla0JlRVFIZWJLRExOVXhWWUs2aFJQdm1PcFY0am14eHZMNUpnVzJUKzBtcW5NbjVWQUZYSjVVdnZBRjNRWXNFWUV5MkpUM0FVVDZ0SUE4cFU5YWtHRG56NmJoTlcyN0U5VVljeTJtTHJlZjNLMnR6OUdWUFNUcTVMTFNycUdjd0xGeFdKc3grNm1TdnNkRUVKVlZ1cGhMQnRPaGJxYWdCejVZejVMQlpNaitURjROWDBVMUV4aWZuMllZTVR6RWtnQWhJM3pkKzNtNmpDTmNNRFpncVYydXNLMzVGWTR5T3A0XC9JK0lGZU1YZEYxYkhGYm1tUXVmSkNQbVlPZGcrWVVLOEh5VzRuNW15VGkzTitUQmVKUEQ5aFhiZGM5eVJHNWw3SnQxbFJcL1RPUWhqSDNMRGdpeGZZRmp2R0lmQzRudHkrUDA3UHYxcGFyaE5hZ2I1WXpsRWZqU3ZMNUNyck5GeXdJa0hrQVBMWXl2TDB2c2pqaUV4TEdhaDNqRnNqOEFuRHltWTBUa0pPQjB6SDNFOWFSc052UUU0RWpEeERIbGxNZkxHV1NIeWVGRHBaVGVDUlU2MUNKdHNRY1NiNk1hYzE0WGVlMm1OZWVlM3U2M25LQ3BaNk9MKzBtM1dlZUdaMEJsUDJBNWJoMEhUc0YzcTlLclVpcnlZbHZYaW5PZ2w1S3hiMlZjTGdrM09OWHRUNHFoem41cDcreHMzNlJ4UkZGMmhuRHlTTllnMTNmMnMrWHZpWVRNRGN3Qk1yc0pIV1lRQmNJK1krbXdpa3ZOc2JLVHM2aVwvTEZhcXoraVYxUW45U2xiaU1jVFpvYStJb3lWYkhteGNVYTBuRXJobVZNcDZ3Y0dneGxrM3RYN0N1Sk1DYzIwcGtQNER6WmN6T3JSYW02QWJmMkNaUTNGYVg5NFhIdFJLdW9HdGE4M0xZT1NvQXFLdHI2cTUzZmNMTElUd0xRcWZEMkNPWWM3MGxnYWVTT0N0ZVN5NGlsK0xCSnFtdDVyVGV2eW81MzFzclo0T0JEMm5vcXNQUFRPS2I2cUJpWHJiMEZDU2czMHBXMWFXcDRcL21mTUIzNDh3T0I2cFpkUDFPNmhvREpROTBXZlRxR1JvbVl6eU16dUk3ZkdMRUJucHBJUWNoSVhZNmZGYU05ZW04a2FmTWNoY29QYVMwMzFWd0ljZXdrdjNSa3lmYlNOOGdQQmpxaDNXV2Z1dDlXcm5hWmRURzNOQ0hjeURUdjlJY2U5dDk1OHAyV2ZKbUJPSWdNT2trRXpYbjM5RFlDS3lRM0hFdTFhbkZndWp6dm5xR0VWOFwvY0loOGpcL3lYRUdueTNjUFwvV2lHSWdCbU9pMytDb2l5UEdnZnI5b1UxMlozSXZWTHFDT242TWtWVVVZVXhEZU9qcDlqdGhpN2JSZEhPWEthXC9MYWRjeVRXV1NMM05XV0hcL2hHRm5iamJRVExzUDkyYmZXaEV0eEsxektwWVpydlFoQjZ2OENtOWhSNHUza0prOUV6XC8xMEh1N3pHXC9pd2tCcjJrek5xbWIwRUJJKzcyTFlOU1FXTyt3U3Z2V0FDRVA1UFdxZnFxNWZQQjF2TWk5SjhGdFkyd2k4QVFnUDlUQmhNdXRcLzJlM2NnNTFXckduREJIQnlpVlFmSVRYbjVwMU5MOWZCTXBsXC9FN1VvY0xLNHJqZFNqMGlUMWk0NVpSdGpwblNaekFObkU4c0JldXNUeGZoZmJYbzgrY3JMUWFhUVI0Q2xKV3VOYnhtTUh4Uk1sK1JjUFwvM3VnZWRKU1VXRDlWNWNrZ1E5bVBMU1U2YzR3M1NwSWxrXC9CWGRGQVwveXZWa2xLOGlKcXZqR1ZRMkpmUmxVblhmNm9ZTzkrWmF0bEZQM09QbFVWU29UU1hWbFZmMHg1ZXZablB6MHFVbmVhXC85eGluSkdxSWd2TXBGUjdQTFFmc3VuZm5LWHBrMzUzQlF3ZDRDellvQW5kSW91ZHZ6ck1vMCtVVHlROHpXUTVabXo5T2lmdlRuU1wvb1wvYzdTRGdIeDdQbG53RDRWQW1lcDBNd1JwNGRJRDJVSnpqVVpJejRZY2V0OHlTelZaZ1hnbkZkQzJqNDIwNTIrb1FHMmlFZnVtS2hHakE2Q01LMktZZVJUbFE1MGFjVUxNaUZyU3VJdVFWcTZPc3JhT0VPaDhFaFY4UzJQeVU4SGhHVllSS1QxY2t5Sjd6K2JDQ0xsbXoyUE00MzFFdG85SWJEbmpWcVRaN1FXTTZKMmZpUlUrb2ticXhHVnIxdUp0SkhkOTgyZW5IWXYrWldBcUt3S2ZaMEdQOVdjb3pveXNrTVBwb21PXC90a1VzaE5FOTJlVld6K3hhaHVPSmZ6TVVvYmYzTHJNTUtIdll5YzEwaFwvQkhDYWtRYVJzR2ZqVnMwQ2FNQU92UmVzTXpUYzI4ZGhPK0ZqTHpBdDFNWTdmMFZzNXBlXC91bmZJTW5KWVhabGYzS2FGSWJYVlpKXC8rd2ZUMjkwenl6b0hhNFlwSTJaUWZHd2lDVUV1UWdmRms4SzI4NWkrRzZyVjM4ZU9EcndMSkpsRW53NDV0U3pYdEo4eHNac2hrMmFtM3g4WVgwZnBMc1JQXC9qUFk2NDM1b0VMMzlXNFFpTDZRNzh5NFhYb0hqUVZHTzFJU1VyRGZEQmtTUlM0QWcrQkpldkdhdW5MTjBVZHI3WXVkTk1iZGxTQjBjQ3FiRDdDaUE3S2pDWFlmRmdRaXBXNHlsekJvUzNSbnJva05QcGpcL0w0c3lwcmx3RlFcL0sxMUk5TlorUW81dk5TMnVPMzF2eUlYKzJsSjc5bEw4M0UzWDl2dTJDaFhXdjJGRDFCa3BwZVdVK08rWVwvXC8ybWxnY1Bra2JJRExxOU80SFlUUGMrZDdLQndNZEFDeXhhMU9ROEtEcDRwRlRGaWhiWTZQT0FVUGY4UDl0cXlMeXRPcVdmNFNpNzE5QUh6MnNsQURDOGh0Mys4czZDOE5VK2ZSTGQ3aG9mZEJ6NWFZbjN2aTNTaUQrUEJzMTNBbDc3bWtURzdVbU1Xb2dwNzl0Uk5iSGRLMjVCK1NcL1lyb2NmV05KbWNid3B4bUpvMFpXVVhhOTduMW84V1BSc3BtWXZ3ODI2WkRJcDhUZDBmN3dyWkVVM3RUaVczVFhQNVdkakFSeUoxcWY4SHZoZDk3K2FtZ3VvRWU4dDlZNFlGd1FwMWM4MEpmQXNMQitnQzQ1cm8wWmQ2VlN5RFIwUDk2K2NKU2tldXEzT1kzUG9SNUVyR0ZHUDQyeDBSUkZiZkhybWV4bnpnSDQ5SWVFdTZYWWd3aUs4QW82U1NtcE1ta1dhb0xKK3NxbWlNcjZtV0xnRlY5U0pwNFkzaWhOT0R2Z0VVcWE3d2s3Nk5mS3NJamh2RXJkV0hIK1kySm14ZkhxXC9nU0gwR0JJY1ljMkFIR29VSisrYzlxdWtKQkdKTUJFXC9BV0o4Vjcyb09RUzA1dXhKNDhBZG9XRCtneW9MTDBcL0NsVmpEcTZMY2duU3R6cFwvVGw1dEdTU3RQdVNVMkpNXC9reEcwWDZCc1pJeEhFNW5YbXBNS0xPS0dIMm16MVlkYnNRVlBlb0pWRm5MTDBqWjYyNUVnUTdjcUJUcFhrb3ZqYno4U2hpNzRcL1BtRzE4emVNc0hmUlZBMjBEbzBKbVE2ZVYwR2llYllmOW96ajRnUmNaR1BUS3VaMHlKbmV2b1pvRUQ5RTkydmVDXC9TS3paU0YzNXJ5ZmtjNXgwNGhWSzBPTEU1RXBQYU91cURtck5rZ0dmNzhmVGhIeG9taVAxUUhkXC9kTTFINHZHSUQ0QUpKWGRMMHlYbjA0QmJqdmtDVExwaEV5OGlIRUQrV1FONlFZdE03bUFLT1lZc1J3V29uTHEzU2pGOFlsczd4cllhQk5FSytQRTdxOXgxSjBDdENNMVQrMmdhc3FDZXByUUthb2RDek5pa2I0NWd5ZHZZTldveUNQZm51U0lKemhGYnpnaFl1WHJlVTI3QzVhWlE1YU8xcmlGSExlZ3lscnNqQ1BTMGxTaXRSNDJmRFBcL0VUaWZYeGNLMlwvTUwySGRhXC9FOTRZTXA5WUhGNzFPQ0FtTml0THdxUlJDM0E4NmM4Nk8yclwvNUp3RGdMVWVqV1d3dnNJcGFRWFQ2clUxam5FcFF4V0xFS2xwV2tnMDJPXC9MWkNyMjJXRUxwcDRvRWs4UUdNZGFTSWlMS1MxeGJTQWdyWUY0VVVLUys5TE9qS0lERnE3VkVnOHh4UmRTKzd4SlZHWG9rMjl4TnZ1WWFLYjhDTUdNVkJEbEJIS0JUTzl3cXFPODJVWUUxTEVNdGh4bG5iaXFrUTZmdlFxTDlHOU1oNkZXTmE3RVVXWUNsbzZSZWNxeElMd05RdGlUZmhwNEdTSXMzNWR6NmdxdXJJTG9peTJrNTYyekZUR1JPWE95aGhmUjVKWlwvdmx3NzdubWg4VDNcL0JxN2tVTU81aEo3am9OMlhSNXBPeWVWelhEOEpueG1ZTTd4RDdPWWVqWWFKMmVVUDNmU2s0S1VhdWFWcDdodXJ5K0YxU3NSbEdcLzl3NExhbzhnTEZBTUVXSGZzRURGbndibWhhRWJaWFNQNkpscWxlcXZYVTdUeHdONFl2Mk44bTc3bmE4NEFPaGhxNFpWalVLeHJ2UHFRUzZTenZOd3lFTTQ1RHkrUm5FK2pBTUtFV2ZjR3pcLzJlMEFNc3hGYmNPSHRwM2NleXkxeThxVzB1dUpXUW1iVlJQXC93Wk8zVHpcL21FeEgyOWJTZkt4N0l3VVNBMXdyWTNNV0RtMHpVdnBIUVFlZUdpNGNwS0daTWk4dU8wYTBpejEwZlBxeCtzQlZ6YmxHV0ZWc0l2dDNYc0RUTVZFMDdEeEFWMFRGZHp1V3ZrZ3JpWkhXOUZDK3Q0ZGJjY0xqM2M4OEkrTHRhTlwvRXgzRFhtM1F0R0hmTndKY1BMVlFEdlRWd1dIcTU4ejRTYk1qdDY3V2oyUEtTc1FmWVJ0QkE0ME9TanZpbCswRTlIenMxUk5ZZmpPT3IxVU9cL3ZJdms1c29CaGcxZ090RW9kWDNVT0I2c2lHXC9TNlwvZW1vT3ROQ0RJakNnQjNRV2FscTdPeFpUT2VBMFZlM0h3M2Z2em5KS21ZcjZRZlhINmNVZFltXC9RcEhSMCtVbTVWNmZTRWdsRmk4ZSt1a29PazY1cVN1a0dacTRQMVFuWlc0Uk5mMmVHaGtnWTFPUVI0TkFTVWdlVkxEdEdOWFp1TUMzME5SMm1UNDB2RFBEMk9sK2xldENEWjdxK29rKzFBTjJMMlQ1UWx6dFVqMGRUZlM3VzdaeVpXeUpPSTloa1NCdTY3SkxKZWttb0dXdElRcVwvV29jamtmcGdMT05GZmZBNzh0NUw4T2hEQXliNGdEWkYyZkIrQkRaN0hmUkt2ZmkxQzdCQ1BGbjJvaWh2SEhUTHVKaFJ2eTJFWHQ0K0NGd1ViR1pYYjJHWUtUaWthc044ZG00SmU2SkRUaTE5cWtxM0ZVMnBLancxOWlObVE3ZUlcL3VVYXYrVFZjcktNVkVNc3RHUlB4M2ZXaWVhUnIyOVJxa3RlMmwxT084SkYyNVZOVFJnZmQ5MmZLWStPZlc2eFdVUDVtYVNmaG9ycnJDWllid3J1ZzRrR2puanRQVnJCQ0lXN2pFZ3ZNd3lLTmhCa2dsVCtMRkdpQjlHaWt5Q09cL1pIMjIydDZ1cG5yRnNja0dCVFJNbHk2KzR0aHBacFRIaXMxK1crUDlMRTdOQXhwa3p2WkJsd01kc3RlcWhQRDErUG45Y1BrVWJ5b09uTWRJMFYyQ1FWRmp0clpHQTlCOWpkZGw2ZVIyTW1Pc2g4eFIrNHZYUmU5aEtsNDZ0TWpoWFVJeW90d1hISTVRZGROeFdYTm5XZ2FGWnRUN2gxVk01cUczbHp4emRzc1N0dU5Yb0xMNFBQTWJ4OW5LVzJGbGUxWENEUXpOVHZMb2E2QVpvNk9EeWhsZ0xYYThhUmk3OE1ESkREYWU4VUlPMTgzeHRMZ2U5VWtXSXliR1dKWHFhSFhsSTlsYnorSHlkTisxaTlIbk1NSEJkc3luUFhaRVVMVk5RZG1qbjFKK2tcL1plUDZ2WUJuTHZXaVpSQnBmNllvT3g0YWg3NFFicXQya2VKdTlGRWNMQ0xSZnVPYVRzSlkybjZQbjUxT1hpTlRFMjhyZVdqRDNTTkx5b0ZaczIzeEVUSXJcLzRhQ0xqMDlpandsdEtBamZBSW1DTVpGRXU3aGFYVW5pQjNSUG8yMm5sdytvK3JCM0ZjNld0b1BSZ1F4bml4Z243XC81U0ZXOVpnM2d5ZUJvRmNcL3RyZktkWFRkWE9rRlRKR0FcLzg3aHNUZ0dTODhYU0Z4Q3BJNmtrSWxWaGxrK2FRS1RJd3NYeUVuWUM3d3NBUENVbUxXMUIrVVgyT3VHTklXcEpTMnl6V3I4em0rR2VqZVhoc1wvXC9wNlY3NldkYk41K2xsRW5naEx6NDBqZU5ZU0JtdkFPbjZiQTlBR3l2UllxaWRsbWg5eVBQV2E2SDZIZmZIekc2XC9tNWZDd1dSZmFKRHZaWXFQMjZxdkhhaWg4cmd0ZzRXUDJIek5uVjJ6WVRRRXFhQlE2NU5aaXB6UDdiTDdraGM0anFTZkNRakdmS1BZbjVQXC9ha0lHNXVhTWhYZ201bGNyc1J3V0RBMUdHMExZZjhcLzdhVWdEM3dRbFczdHVGTHh0Q2pualA1ZXlWellXV0MwNDljTHBXU2pnMWhQSTNuWDZSVVpQcmUzVENqc3RBTERFMGJ0ZFQwWlFib0xMTFNjdFNRMWFxNlIwQkU5emFjcFdSa1dFeEc5Z2tuWXk2UEpNbEJhNEtzWlFFQkh3OXJHcUJMN3FTMmZQVG1XXC9RaXlURnBmc21qQ2xnekM4bWYxK1VuSTJ4Ukh1S0hoeGp1OE1SXC9DNDZUNGVYOUN3dVg5TElUeGo4YVRxc3luYkd1RWpjbnR5cFB1MURSM1wvRGV0cmhlTThWdG1sXC9oMktjVitZUGcxbFp1OWRFbUxOcXV0TDhQVkZQYVIrTGVIaHIzeFVSSmNaUFd1VHluUzg3Sm8wenlLK3RcLytcLzlqa3pxMk1FMUtZTVRlU0RlTzV4aFF0OE1vR1hKZVZtcjIrWlp3T2xRZ096bXc4Z3ozXC9lR3pBQ1Y0KzliTUFKakhUbnVDd1BadkZTQUE4ek1YYUE2cUFKRURlRGZrcUZyeStXZE1EZTJEazZCbENLdXVMZ2o2TXJHRHd1UlRVUWVkVStPVDVsXC9DcVh3TXJuSGNTNUZ5M3dOVjNVcW5BbXRKQ1I3R2psQjZjQjJnUkZsRk9iSnlYeEJncFwvOVRUSndSOWw5dkloY0UrZ3ZFWnF1a1E4aUpvRllsQjU5VG5UNGpYekdzdjAyeHZyaDFUNGtBeFpWVDA5eWFWNHJUWHpCWjZHZTltbXRoMWJ0WDdtNlwveVRcL3J3UWhLVXpIa0Jlajh3RThadDJSeHZ6WjFYNkxXMURmdXo0SlNwVGowaUxKR1JvN1RZWXZWWlFlK3BLVFE4Y0E0Y3FFM2dBMUxKS0hqKzVPS3EyY0w2RXVMMU9XZFE5bGM4SnBUYzNQcXMzXC81RVRneUQ1eWRlQ2EwYVl4XC9VUCt3cStrd1VaVE80S0lCTVA4eU9WczdvUzJPbDhPcHZlZUVGVHZkRlNnRlh3TEsyOG5oSjBHM1JYRzZpRkpsUXpzSFVkekZGbGVSMUVLc0t5cWZOcXBhMkZqNlVTaVkyWFdSdHhaaHF2UzNMTHkrQ005Vnd2cnhycjJPYXhtME1yV2p3b1RORE9zZ1BHdkdpTk5ReHhwbldLdllVUjYwNVlsTGkyZTN1OWZ5cGswVURJbmhhK09nUlRJdTJSTExNRFpRZ1VhM3FhR1JkME5SazVzMWd5QmhNUlBhSTgreDg3cW05eElxMmVadzFTQ2VGd2pNWlRJaGplNXhVVXZRTlY3QUlnSHVHUG0xeVJ3UXFLYWhjd3MzVUdkMEJwcnMzN2hjaW9yUjN0dHVza2RndTlRV3RTcjFkaUViVWZjejlrdWpwSXhpQkRET2p0NUV2U2hHZzlnXC9GbTVXU0l6cHExeFFmQ0tyMkNWeGk1UGIycnVjSHdHWVAxZlRuMnF5cFRhcFdNK0hiZys4MDN5Wm1WZERuTHBIUFNXRHgrZTdQaHVUWDJkQ0lkaDhsQkIrVE1wOUlYckVJSVVqbXNBbzIyZWhnSTYzSFpsSG1ZaUR5TWRIV00ydXJ2eDhqeFR2am5WQlU4V2NxQWxORktRbmtPbHMydWxqV2szU1B6cU9HcE9TWEsxQXRQWFY0UnpOOThKRDEyUmVLbWFYUUFlXC9LTXlkMDYrZG0zUWtFck5aNDM0eDliVXZsYVFQeVNjY1RqNU0zcXBLdnc1bHdGV1ZSYTNDdzZ2ZFZlSG5wQlBWWkNqN1BpSEdTQkhuOGo2eXcxbVA5MFNEVEpVc3RESXFPZjZyRGFXVEpwSXZneTd2dGo3ZWd6bWZZZGw4XC9cL3dJaHUxYmZ2ODFjeE5tQVlPcHVEWmo5OGhkSHFCbXFhTjlmTFwvcFpnNDVzbjhna25SN0RFZHpubVBnK0lycWxlTjJoUExjZXpQVjVPN0l0WExOT0lqQmxoOWFlczJlSzhXbXR6TFJLbjFUeENJM3Zjd2NucVkzNlwvdmJrZlwvK282MkpxamVhK1J3ZHV3akVXcEJkYzg0ZXVnY3JIdjFTc2dzYWFxR1hWMmNvXC9SOTBzMXBUZGkwQk1UYXVYV05cLzhvUTBUajBKbEEzYjRsZEdYQmwyMGN3c25wV0RDbjVBa0hjMUh1YkE1MFRCSzNROWNYUmZ2TEF4NFpSOFZwTndraEtyR3phcTM0K2dpK2VLNEwzNXVIS05RMnRlWmp3RXlJSFlGRFFwWnlLQUhRMUZRNE9uRjlYSmVGdkpsWG8zZmhrVVZ5Y0hrSnVKeGJBdDd2QUhkRHRyTWJuTjF6VVNodlAwdk10OWJDd2F1b1prZEs5Rk9WeFY5Tk9PNWFQXC9iMUQrTng0RTk2S2NMdVNiN3VoU285anRkajZIcTZiK2pPQ0JqZ0RQQjZVK2gxV21EZnNybGRlT21NU2NiZ09EMDVkaXVqTGpZVHk3ZmU1aWREWFducG12elwvelBzanYwSEJ5MDlDblgzeEhUNVAzSWR6Z3FHeGlOZGprVVJRc1ZBNFJqaFcrV28zT2lMSmpOc3NPWG9XQTRselBXcTB3NG1rOUl4TFBjcStQd0t4dFRlR2c3bFdUcnZUWG00YUVWZGEwTnF0b2xUTWJ6QlFKQWRzTjk1N3dzR2ZWSGp4aUNNd2dOTHNPTHdWcFN3KzkxYkJSOWgzXC82XC9WMDM0TE4wMHFhSDk2OHBVMWZyVzFGS3BIMWhVUkJwN1wvKzhuQjBaWEhxSTUyaGI1b3ZPQU91OTd0bkZscXprUWhZa3pLMDljampCZG5CXC83ZURVb1J6Q3REUUFIelJPWU9id2FPaDlxdnNYa1wvSUNqcjh5NUpPXC9EVXdMXC9WQk5ORkRmZ0hGTGtFY1U5RmliRExNOHJGNVdndnQyU1lFRGlsVllQc1VNekdwZTEwREdZR1QxN1lMY2Q3TjdGbVZHZUYwakxFb0xsSVZGeEh2T2lxTjBjU2lKVlkyTFNES3ZteTZIaGxNT1FDZmYrSlZraFBZclFET0taYk5IYWJ0UHFaeGhDOE9SaFZsRlhwYnFBc2tMM2RXSDc1Um5cL0s4VlcrK3JGeTJPbFF6RFRCaGtcL1dFU3pYVzF6Mk5xVTBsWGJBTWlRN1FXeTEwUWxOQ1pFcjI2WTZVa291eWtpMzVobGNKWjV0M1ZkTlFPK1dkdzZXSERmNW1MaGphTWFmQzFxR1JWNkc3ZklXRzFZaHJHVGVsXC90RWlJWFdvRExQODdzTmN2WE5pVExNeUM2ZlhcL3ZSajJnN2lMY1lva0xoVWFnRWhKbUVEakJqaDlaeXFwbFBOeFBNdk54bVBjYkZNY3NHVzNKZjB0XC82cVk4VWdwUVpnNGp5WXl3S1wvakdPc2MrZ2lSNStTek5aQ2pMa1BoKzVpSVV0UWxsY1VPREpndnc0Y1BIeExEbUIxQ0tWUWhcL29YYjhtbDRBXC9OVDJmT1VIbXBYYUF2d0lIRGhrZjJRQmQyM2ZHUVFMQ3VoNU15UUUzVzN0KzY0ZjBBV1BpZER3YzhlaHYzWHFpMm9SMjJ1Z0FuNitNNWgrbVBqbVZEeW15T214RWpmeW9SYzE3NnY2ZEE0eVVkU0JMZFVrb1VMNmM5Z1hcLzJGVFNhZjZFZ3IwRTE0dEU4OEFUTmRiTVhBVUlIOGU0Q2FEeWtMUmxVcHdTdEJiNFYyTUt3Zlp0ZVZRcHRwOGJGbExJYW1iNGdWeVRZMEhaQ1pRYTlrQVFIWW45VXQ0Sk14azQwZFRENm5SXC9hSlIzOTRFRVNhUVViaUZlQVNMSGw0OG1lOUxCOEFBYTVvUjNRVzAyRHhTN0lcL3d5OXJ2aHg4b0lsUHpmVFluZ3c5MjR5QWxGQkUxcmtHSkRuZlJoU1QzYjZ5RFVVVlAyNzRhWHhJbStmZTlpeGJ4QkxHd3VlbWJFSHpldElDaXBVRVpZa0ZuMUNFeGxFbFd3cWtGbjdcLzlsaVZCQmFZTjNpQVo2WTYrbmEwbENOZTJvcEtwZGc1WjZ0MHR5alJVcExvdUIrQUJmTitXY0xwaGlrOHdLdlRsR25zWGRvSmkxTWMxdmlHZTBwQUVKcGJDWWVNRmNFSzRSaWJoN1kxXC9XQ1wvSG1lTHdqMUQ3MDcyR2NmS1Z2QkhVT24xRVBIT2hGbFwvZmdDNXU5NGx6TmI5OGdLRXFWOVZyMGRsc0FKMWRheUlWXC9rSEZXdFRGWjNFdEZJSGZSOVZHUGU1TDBXdlhhd1VVTm1QemZsdTdFcmRHTUo0VmVEZ1luTlVPamZoaWZIUHhkMndGZDNGYnk0ZXAxMEdPWVFYUFNCTWp2SFh2Z1VEaFBjaVI3bW4xMFg5T1wvUkVMaWRuc251dEFKdUIrano1b0ZaQUcxMmR0ZlZwUWRsRXBuUVJ0RTRHcW43VENRYmZCcWdKOXF5XC9RaFBkZ2ZvdDZsU0Z0RkNjYkVSMXNmU3U1VnY5K1d1SDRtZ0ttN0tpN1UxMTU2cGFKZUNwMTJlY1VUNjVuQjNzVlQ1SnRjdlZlUys3NWdBOVJsazVsbkhyNUN2ajJSR3EzSU4ra3NnUWtcLzhOaHkxWHFGdEorWjczZjE2R1wvR1pseDhqTEQzSkNvZ2Vnbjc3UWxOb1labGo4UEdUenlBVDRVY1V6WkdHQVorYmYrWGw0SXhpM29XcVM2MHBCeXFSODBhamoreVY0YVIwcExoYk5JTGQ5Nkg1UGJQdm9IVFhGU2N4cEY4c0dhZElPb3RKQ3dzOVdkVkUwbmFSVzhoZ0VFTGpcL0xxY242TnZhY1ZMbUJydHp6d2JSWm0rakVzNnJjOHM1VHg1Qm1WeGF0Nk1ZT2dOSFZQdXo4cFRMRWdUWFgwblYyVGZBQzZcL1RZN3kxb1g4ZHNmQjMwcnBuclRlZTZueitZRzBzNytzb1FTcVM2anJDZzhhdmFQNEdxWHpnT3Rka21jckUwWk9HbW9XNVE3blpSZFl0Y1VZSGZ2SFFoTkx0MElWb0RURWFPMnh1Q0ZxSnAxTEpiUE1tdDRmNVg2a1ZmTDFHXC9CYURQV0FiNldxaHlhdlVsTE5FQ001MGVDR1JOeFRCN1RvTzZ3a2lSenJjcGhIU3dPV28yTmo5QStuOHI4UVBualdcL2FtWExWaEo4TGZHS3NReTRHSWxTQUlFanlUalFuNjZOY05kZ0pyNkZQOHdFOHc2TUFPdmt5UTc3REhEN2ZpUXkrZ2h0NXJBRDJrRmxZNGNsSEtIYWNWTHU4bFNWOE9VdUdCSDI1bDRLWU1zR0dadzdiVHhUUWJLWCtRVFJIR2NXVVcyTHJLWU1LNiszdFRleGdhTEhKVEpIaFRWUFQ3a0JJd29IZlVGRURKQkx0XC9STk5kbTBXaDJ1RWlUblwvdHFnMmErb29kT1Y3eW9ranZValFpMWg1TGMwZlg3clBGallhNU85OFlYMTdvdTAwXC9WV2hXZmx0SGlxaW10T2ZUekt3amJKY0l5STlpQWRQSHZPcm94d0F5N2RpUk52V2hMcUE0Z0VVQlwvK20wd05yVlFscERRSG05YkNlSDk4RFhpejQxSjQ2Qm9OSkNKekcwKzhJQUhoVGZ1OVZYbTdWb3J0bTRUMjNkTkpsNUFZV3hLMnh2QlV6eHUwSHdyMWlJamJtWmtJUjhsOW1jYzh4aStkTlA1K1VhNjR0ajNHU2tJUDI3dEI1YkZKUUV2UTJPQmdEWHhQTTVYVmdQaGdQdEJFXC9XQlpEOFNZYUIrdTZKaThkOU8wS3gySW5CZXljZktrS0lNc0ZBYWp6ZHhZSzZJQVAxS1lNakNYS2VaRXJRM2FDNG5ob1wvemZ6UFlJOVpNRFNxY3dUaEVERnQ5VFJvckZGOFhWbXBTUmVcLzhlQ0RnY0xVdXo2Z1dlcGJiUW9IWjVGbjkxenBOXC9hUXBXS080Y3lGdFJLSUFTazF5ajBHSzBBc3ZoR2taWEk0V3pBXC8rVFIxbmZ5TzJRR091YW5oS25NbkxFTTVrcjhqd290VW1wcW9uNHd4SitFSStCNEdwYW10TnIxN0dEZUVnRDR0TDJHbXhiSCtETWtDWmgzYUNrQmgzUzZ3Yjk5cUNUMXZSeFl6RUdWa2tqYml5a1R1S3ZcL0xPTVk3d3BObmh3a1dkbW5hOVFkdGpQZmh1Z09jQVZUTDh2Z3BpK3Jyc0tLM0RZODhcLzdtNW5CdHpzY1gyaFRqTjdTdmtJTHdPM29KbUV3V2V3RVhXSnEwakFpTXFDQUs5RXVKcll2VERCMEFDVWN0dHNZUHJqVG1qSmd3SjRWclRzMk0xWkh6TDBBQ1Z0MDRpRXVrNWdGZm90ZTBSMjZVWmY0RnNzNlFqN2w5ZURKTzJXQWhRRjVyQnd2ejNuOXdTTmhSK1lscWxnSTBLUWVJM3VOU0Vkb24xS3Qrdk4wU2dIRFZXXC9PWWgzRUEyZVE1UTl0ZVdmN0VrOWFjV3JTMjN4RlB2M1JUbzBUbHNXMzZOV24yeHl0OURcL1k0U21FVThhT1V0cyt5d251eGZwMmtoV2YrWE5EbmREblE3NjUrM3E2bUxTRGdrdFJzSmxMR0tkblE4SXRSU2IyNERMQzJnSTd4NW5aTUJqQ0hVeEpobjhEWWRnWDZicTN4bVVLRlBhaVl1OUFtajJpb0JcL1p6U0hWU3ZndGw5c0JvZEFvTHNnYWdSa081ZDRUYnhFRmRLamhaT2VHekhlbWlvM1AySGluWTg0Z0RGRmdScTl3a2Y1QkNQZXhLamVrSUJUTEZRR3hEcmhKR0NLSnlldU1aamlkZ1U3S015bHNcL0xzTzJJWUlEOUkySFNWK0JQcW15Z25zSk0wVmdhK2wyUlo5YVRldG9tS1RsNUhpYm5ZeTZLRFlRRUhBeXpOQlpHMXV4c1dSeVwveThpd3VYVnNLZm5sN2Flak83b21YQTluSHh0aWNjUFFub2U3eElJaUFyTnhkZlRDTnBcL0drSlREQVhERSsrVDNTTlg0MDFNMVVPR2hlSDMyQzRDcTV1ejhTdlEyYWFjN2R1UCtxM1Vvb0wyVFEwT25mMEJYTkR6c2hMZXUyOEt4dFVDRUJ1ZW1lRXZSVE14aEpEbEMrQnF5VE8zdEVIUDhWK1pkR3BRcVdmMVYwYzE0QUhkblNyNXZRd09BUkhrbTNTeFVSVjdaSnk2SnR5TG9tdldlenFDb25Vck9ob0JDNzJoR3hZYW8wSGJJT3FVS0ZBUnd3dm5zYk04bnpFVVdXTGdZdmpvU1hiRG5ZdEVmMGVJaUlvWHNPbTF0clBlZ29cLzNrQVE1Sk5NM3RjdFV2S2puYWRKQ2d0ZEx2RmJyXC9SdVwvUEU1M2VGWlp5OU55XC9JXC9uNUc2M3poTzJVXC93UTIwMVpqTlA5NUZyY2tNZ1dYOVNnZjlpamNBUm04NE1QSEdtb2kzZE55UFpPRmtMUDI4SGtqdmRWaTdNZEg1QW9RVWdXSm1JempHZVM1TmVWYXpkNm5TdG9zV2RrWStkOHZVdlY5U0tETFhMMkp2XC94SHpxSHVZaWVuNEltb3lYK1Qwd09wSDNhaUhPckRPWVVGYXhKY1FUUGtuRkNVTzZwKzFVVzBaZnRHYXpaOVpDTXpaU2RqMzM0TDIzWU9xckxEY1EyMzlJaFFhODlmTjBoSjhWQ05DM1IrMkpkVkNGMnd3SFdHVWJSR0UySFwvOGhlc3VFdzJQZk95OWJBNFpvU0ppcGxRRFJPREZsUkIyQXVORmQ2R1BVSGMyNjlGOVBHRVBWMHdLbU5wZDc0WnQ4OGJ2QzFxeDJIc2c1UzlFTHFsS3NCZXJVMWoyMWN6QWdaZkxxYnZoMmV5VXRNVGdKRUxMY2hcLys0a2Exd2pobXg3TTBaY3VnU0FwUVhSMld2XC9sRzN2TWR5bU5VUFV5dU9hdUx4dGZ5d1RueituWlpXXC95YUltdnNDRmt6TjdBQ01cL0pvVjV2NnhnVDNoenF0K1pVSWhIcmN4Q2pWN1h2OVJKS0t2ZzBobVNEcnJRM1RJXC9EbnljTG1uTGVsczdENDVoUHdOd0c1elN0OXYzV3UrTzlkYkFkNzZFRGNra3UzdVwvazZXWTNuMmVkd3VVVXZMSURXOFlYSG50aTlXK1JWc3F4bUpcL0JxNGM1YVI4YjhraFo4M1BSZmc5OFErVmw0K0hGZnBLU3FTNlloZFU2MU1CcDQyQ1czdFdFRkJGR2lyRVJDSkYwWTV6OGdBVm80XC81dTFIR214N0F3TUJ2Z3B6Y2c4QVIrd1wvdXBpaVVnMnlzTGpscWVJRml1QldxcXpjd3FQNThycEhTV2ZOWUJZSEVjRWZGWnJjcU1wdW9GTlA2V25rU0FqS2ZhOU5HRmxlT1JcL0wxU0htQlVvZTZzMXI0ZGJNSUgzSGZmTE9sQVRBQXlNMzRyVWl3VGJUMFNWMzl0K3NvU2xVZ2Q3QWxZQWg1cmJPZXFQQk5RVGNVc1QyaDFBMXJhaHlBelM3eEtVbWJ4aGdyTUhYNThIUjZ0Tmc3QTRBSVIyTGN5NFNXRHM2MFBwVGZyc3dwQXA5T2hTaTh4TFdhRUxuY3ZxTXp4eEVjalZDRGtuODJSY1VqQVhmb1JENzBzOU1CWkx2NVQ1TmVWT0FPTXJscEM5WXhKcGV3T3lOWmFRU1N2b0tCdXZuRTA5ZCtKcW5TQWJxWFBHdUFZUDlQR0hOQmFyR25xYlFQc3VqZVpXWGFcL3RkYTc2bEJHRXBGd1wvU3U0Q1lQN3YxTjJva3Z3YjVkc29Gb3doR2RjbkdaNmpkTURJb0xrcHZ6dGEzQW0rTDBQSG9rMlRHNEdiNENWVGVoVUZPXC9LOTRSRTJHczRNYUxlOXZWY2YxSXl4c3NmRXY0clVmaURyMFp1NEVDWlc3OXhlQm5URFJGNG1iMjJmWFhEKzN2dHVxUE9qYmdPQ0llbWFXSGtkdmxMSGM4MlBtdHdWOWhDR21vVFZicExYWmVpY09LZm91XC9Wd1NjZE05M3VTQml4a01XZTQ5RTZtMHF1V1I5WTVTK2lkS0UwNFVobDUrK05EM01sQ056a2lrVFF2VDR5RzVLNythd1JkOFBiYVduS0hqeFYwMWJYdjNUOXNzT0psckNmMVVkbnJvemdlcXFTNktFWVNpMEVEbHFpWFwvakYrZjR5ejRlS2RSdUx4Q1pUeVFOeXRpbEdVVzFITEViRUxMT2xEUXNBYlA5XC8xRm85UStXZGI1TmRtR1wvMXVZWGloTk5LaU5JdmxFaEMyZGVcLzZrbVpFa0d3aEI4dlJ0UW41VDZXVnFMXC9xb3JZMkk3Yjc5aTZLRkdTaEVib2NPYjd3b2pTVCt4WUxyNFZrSFViUVRES0xwUzBoWG5RaVlFNk5nNk8wODYrSHRiWFdVTkdicFpScHhDREcwM1ZwN3ltNUdYS2V0dElSczVNeUhhQTYyb2t3S1VDU2hkTXFVTVwvc3NuNFVCK1cwMDJVR0RCXC9qWmZYZHpIM2pENkRVWDBQbGFLY09xcDZZYSsyY2t2eW1QRlRscUpOQW4zZ3VmS3lOZkZEbVcxUTJcLzRjUURBelNpelg4dFpseld1SDJEV1I0R2Y2cnh5UGhyY2FwUHBlQW9Fd2tWVm9iSVl1Y0xheTBFekFFc0w1V29RdVhXaWJcL0hwNnZKek1XTVBIRWwydnViT2g3cURWaVNcL1FuY0xWOVBEbktRa2VjNkJ1VjAwRWVGK3AycnhqMW9tWlRMZW5qVDJHSlcrM0RJNElzU1RnOE8yT0t6Q2Z6Qzl3Nzg5YWlqaG5GSUhtYTZ3akFldkZ1MkxYMmwrRURONytkTUtLR1Rock1oSUhZY0phOEV6dmhiMHBRbGI4Tm1yT2I2WVVcL2hcL1IxYk5WWklyem9EVlBWK1hCY2lqd1RIRDhHczhSaGhMOTRpTVJhaXp1RWthZllTclh6UW5nYzhnbkd3bEN0OFg2YTVCaVBhUUtOZEdoY3FjUENLam5QVHVJQVh1d21JTzNGbE55ZGxxcmR1b1RYQm1yNFQ4b203VmVuWWJFa25nNzZ0d1pCSEg2cUZUOUZ3MGhvZVMrUWpwV3VMRHBrcVQ2YkpoOGk4SVlqRWcwaXg2b3g3QjJLMzlpMHpKRlVSV0lGY0gxNkFFcHQ1eFwvbVRlV1wvdUgyZWFNMFd3SHZZaUhwSWI5QjMwaUNSeFNZbVlGVW44YVM4cEU4SzdXV3dHd0FuTU41Z1hqOVllWkJtVW42STFhUFczNXBEYnB6TzA3RXplVnlyVzNcLzZtV0w5blc0QkF3YXpiaWN6Mmo0U29BN1FyZVJ1NUxHSEVoQ2pqdHR5Y3VcL09ZY0IwdnlWWTAwT2RKSUg1eUlyT2s3bXBzZ2s0d1NJV05SWGNwTUNQWjE4MDdkc3paZFhjblROZ3p3anhVa1wvclhRa2J0OEYwb2lxTjdHcW50cjNoSnZaQWZJYVBuclBTelgxeW8xXC9LS2tHcWY2eEF6RUFjUXp6UkRQSHhsT2hzeXNab3hnK0NqTUlPMENjYWhsSk4xZkp6dTl2WDFZZGFEMkZwSEs0WWxZRDRRNHBETTl5a0lxcEhDSW13NUtJRkFZM0hzN3B6cWNjM2FNRDI4SW9DbE9haUEyUVlOdXJSenN5TmloN0JRVGsyczFGQkViNHJQQytESkQwUG1JdlNRaWtLY0xqZkRrZzR4WXFYeUJPM2xZSTlCaElucnF3b0lCbnE3aVd5V2o5SHZHK3JVTFhGTk9rRnkzbTR3dnhwcUdEZVMrVDJHNHBSSlVWTW5ETTRLQ1BCazdtWlZqZTJlWjJTXC96KzlHOCtUVmhtM2FBNlJEXC9CMjBlZ202Sm9rakhDVDNRTnFLZ0lkbFhmNzNJbU1LcGVuaG4rT3cyRFl1Z1dVNjRvTVROeHFFMXh2eHdnbUhQdTBlZmZYNFdvb0RHZmJ4QUVcL3FOcjBxSmlvdHRvQkxWcUV5OCtiOERIVTZHeFVhTjd0eFBCYW9DT3c0RGVDdDRvRkw1UFRHXC9McmVTSVVkU3NGeEd3RWZaSmxBRHh5Wkc2THU0c0ZwZUtyTE9pTGJJcFVwd3dwMHdFOVhhWjlkZXdcL2dRYVBZUGtONkFVNU9ENEtZQ1crcGE5ck5MZVwvZ1ZNbDNnbStHQ0NyM1EyU05BZW5CWmlKc3czaGt0RmJaZEZuQVVUK3lXZXNHMGgxa09kMmFZZ0VBbXM4RGM5dVhMV0N1NHlBcWV1aG9Xb2Y3Y1VpOWVsZExLZFJFZGlZc0lHb0crRUNGZ1JzRFlNN3RsWjVEaFwvWlpRcHNFOThSUFVhUXh6c3NoUVd3bkcrTTdPc0dmWjRZSE4zMXllY3UxRm9VK1NJVndZd1NoaVVkMXk2YjlQOWU4aWtyZjZhV1pLNDFUN0xHVW5HRGpxYks3MThzYkVTYXhnOU8yQ09lSGRwdkZ1U0trKzNZVm9kc3N5bUtrSUw5anRrQnpvbnZRZHRKb0RzZ255U2Y3ZEx1aVNrR3BGXC9neHY1aG9BSWs4N3B6Tzg5QzkzbGR6UTdMSTlJbFQzQTFIRFJjeldaYk1JSFZQODdRV080N1NVK2tKSm15djFyVzBPSzFEVDZJRW9UVzRCU3NQbWp5NWREUWZxdUVLbkFhZFd1eU1WK00xM0VJb0lYejhtaCtJajhDelNFaFlXWE1XUUwzMUl1dXk5QW5UaEYzcWpzV1RxR0EzelVaT2dPeVp5UGxiWmJPY2l2QVhwQllhMkxRZWlFOXk1bGgzNXg4M3pZSHI1KzRLWTY5dlcrQnBDS1pCWmN2bHhiWWcxVm5KaklKVmF0OFJFY1ZcL1Q5YUdOc01YTHlCRmxmazlVb0lWNEtwbkpmYmtaTngwNVZISWc4XC9MSTMyQ25VNERDXC9XNWt5S1lxNktKV3NxcUhzVGpQclg0d2c1RFZyN2JSaWt6MlluY0ZQYVp0S0k3TWp0cVUxbUVEdzFSRUtOd1ZMdUt1TDJVQ0F0TzhwVTE4eVRGRnl0ZU9nbHE4bFBCVjNOV3E5SU95MGhOS3d6ODBFRXFYRmo0ajRSZStLTVFPVW1IU0lBR01scEN1S3VWMFRxUGg4U1pKSXFJbG56V0c0YWo4MnhcL0dtcFJGRExqNHI2N0tCTFZCYkg1MW9zc1E3c29wQjU3Vmp4b3U1c2hFRVM5M00weFpcL216SzIydkJqcHRcL1dTTEhlbWVXR3ZOWnF0eE1seTg3NG1xb1BtcG1EZDBEcFZnUFJUa1BMMkNhNHNBMU9EWnIxeDh3UUFtU3lmNkNkZnpMaTg4bTV3Rm56Q0pzdW02dGc2dDlLYlREVzdjelQ4Q1JsYXJKZGU5UEd3VmdWWCtyVkhZTnB2a0FYTzE3Y1VzaFVHYzhPaDhLSFFvMSswc2lWN3E0bzE0Rms0dmlBb3RpRlU2NnhYME1WWUs1YzJPbDRpb3lyem1qR0RqUzV2SjFhR3FKTDJ2eTk3d1FERlJ3TWdoUnpYSGxvR1pJZHh2cXZtNDVwZHZ6NE1PbUhrTXg1SWp0RVwveVVlOUhEOXlhcmhXS0F3dHpNTVY3VXNXSkFPUVwvXC9md0dVTEx3c0tjUWJxa2hTT3B4TktKbEJ0WXJQbU80XC9ZTkRoK1wvXC95ZFpac09nUVZzbE9JcnBWejhoZlhUM0h3YVRKaUhzald0NHNVYkNZbnl2NlVMbWpMQm1hd0JQU01pWk84cTNUVHIrVFlFZHh5TU9ZMkttdzZJekdzNTdGM2xJT0ZNb0RVWGhleDJWY28zaTlUamRkYjFFSFBxVzdYRzF3R3hJRzU1VFRNczFcL3VFbnVTZUZ3cG51OFJPa2o3Z3NZSHdYNk43cFFzWjRmSytCSzRCeG4yUk1HT3RJd2dQU2xORlJSeTZpSXlBV2t2T3JyM09jWWNJTmZvVURHajNOUDJlRG5Hd3pkRnd4S2lzQlVPUmdidGVIQ1VcLzNYdk1BcUxoeXVHMlpOeHQzVEpiajBLRUpnU2xEdlJCT0czaXJMak9xSXAybHU4OTdhcWJxK0kyZ0p3Vys3bkNKREVMVjN4Y3hsd2tlNjNNcE1UUEhiMHhqVGRDYlFjT2hHRXhQMlNxRzRNUGFsZkkyKzdxUVdINUt1NGpEOXVBVnZnUWZ2KzBQaU0yK3BzRnVabmJWNHUxdVVzQjhkZFNoWFE2cmNaeDc4WHVjU09uSW9TNFk1REs4WkRudmorS29PUEJTS1IyTTFLWnJEQkZEVDJTMVpOektQXC9YVU1TaEZtWWU5MDNSWCtHTElxUXpKZG8zMGJ2NGp2d2ZzUGlOR1p5R0RzeDNGTDVXSHdDXC9memRFOVwvNkZRMWFnOVRMMDRrY2lOVnYzWExzS3dMMUZKRmJtUTVkamIybzVMazRqUWo0bVVvWXN3TDZwOTBWMlJVejlKeUdNSDJrR3RTVllNQzF6ZThLNzJRTytFYTlGTXZaQW92QTEzdjRpVWM2ZHppWGtHOUtVK3RZaHc5ckpCSitcL2pkNEc2azJ1UFl1b3RaUmg4MUVkQlNDdXU3djhKeExrVHZaaFJCYzZqMW56ZHlaNXNYOTU5NXhndm5aYXJ1S1UxTTFuV1ZNaGF5ZzZMR29hcnJTWE1QSFdDS1loODdJY3pydzFEVVwvUVhRUmdvbHk4MnhxR0pYSkNpQmk1K2pCVFR5YUhqY09GQ1RmZUNyMGJYbm9tdHQzelphSlNxc2JrTHVTR0lldFEybFN2MmJvRnhvdWJrNEZUNjFNbWkwQzB4cGtxZitGSXZ4ak9uaTA4eFhtUkVzWmhtRThMTHQxUGRjUytOUk1FcjNDMjhEcHV4UGZ0amhZS29ubnFMdXBsSW5UaFlWdE54aHNcL1hwdEpRdzg4REhoUzBlWVhUZzNEckVrRjNmZ2dib0NjakVNUklHOVJxRVNwRWUyQ1pqZnpZR05qanhcL2F5SGdVYjdcLzhuRTRJNU1iVHYxbkNsVG9yWk50a05Kb2pSZXdsbXp6amFUUDJSZ00ya2hyR2ZUSHFoeG5yUWYwWjM0NjByR0t2ZVZrWm9jeVg0NmlOUU1VUnRqUW9VYnJXV0ZZOE10cnlTd3dlVWRrMGZHVzAwUUxUeU1Yd1BDQ3YzakpOd1lzYWJjUDNGOWpROEpzZEpNOVpcL1wvQm5OakZabUp1aG9RMmswelwvVyttME44UlZCcUNXRnY4dlRPT2hNY0xYZEF3ODZ4VWtWbElVcXNrejh1ODZheHNTYnFLc29icFdxKzlYV2pidUtqRHVqWFVrNXh2MHBSNUVsR1FoNDBFUkhVQkRiMWhuWEtSWnNJYmlKaHpRa1pKMGNTTjBET1U1WHlNZ1hNUVNvWUJaQ0pabWkyM0dCaXRrYWEyNkZVOHhWNjRQc2F6NHVpQUFuQWRWRE50UndsOG5LWElNbjZGZzJlNm9sOFFNdzdjOUNlV2ZUdzhJVXlkV0Z0aGIrR25xd1lRcDlxZ3JnUVZzbDlGMmpUWXl0VnZDUTZPUnRPYUc3OFwvWHhRSVJDODBobmJLclNIQmVzTCszaUdITEt6eG1QNDMwMmw5U29hSU1RV2dXZHRlcU9FbGo0a2tyak83WDZ0QWxFZTRFb1hQYjAxc3JmWVRaQXJZSTc5MGp1Q25tbHVQeERPOFQ0d1wvTU5XY1pNR2pHZDR4QjNjSU9uTDFmNDNGdTlybHJpM290SnRFeFFwM084Q1laM0NEbEMralp5VThQd1pUeGtRU3VsWVVZbzhKNTVBVExlWXE0UDRQMVhZUnlQQTVjbk1WRGRxeURLUnVmK3A4eGtjKzFMazBtS2dUczFhbWltQzJQbEhLZHpLTzRNZjhxVm92SGllWTJ2NlAxaHpvVFI0SmdRYnpFY3h1MUh6eWdlQ3hxYW9kaE5SaCtHWFNyRXd2OGY4RHY5ZFcrRjJYb080b1lQTUZRRTQyMm9LaG9PVWYrRzhVS090dEt1a0ZPZm9JeWdCcFdPOHFuSm5aZWdlalhRMEJxMW1aSmMzaWxUUVRWQis4TjduTG5BR1JCbUVxcTlEd2hodGg5bkJha1BFQ21qQk90Sk5EVTM4Y3FFc1NoQVU1YW96WkpUYlh1ZzdZK0hreVBlM2xwY1BvUDQzSTdHYWpzbTl3RktNbm83eVNScU11a1JiN2lYV1JBMjdoVUtWODhtU25TVlgyTGlxbnVrWjNoVnNSdGtDeVwva0FDaDZMRDVOTHNnTGIrblRxaGk1UTl0azQ2MWJ6Ung3Q004UCsySVNIQ1NLK3dEQ2pGZ0xvMVVoOGU0djRMbkN1Zm1pMU9vcXZqM3BFZ1VVak1EaFwvWTdxT2xRa2g0VEhZcWJqcnZLdEEyMWtuQ2hxbTZqOGh3cThIY0xaYmZMeEhNa01BMTg0UGR4bWc3MENsUU9FRFBkcWNMVVdUMGlpQ3dDRTkzenZxRGF4WUxWUnNvaXVGOUQ5aHdTYjFTQ1pxT2JrOVFyWjBXaFFOdkdvd3p4a3JBY3NKUnhiZjFiMkhUT2YwdzlSWmlzRzNYWVRwNzJ4em41Wk92Q0JiWWRIM25Jc0U3Qkx5TTJHSlFkNERjY0hwdDBacGlcL2d5VFdXMld3alE2dHdVTTdFUE5rbVZjZCt1RW1RY0lyZzlnTk84UXFFY0REMmJuTURqSmoxUVJrdkRjdjNCQjZhdWRUSEp6aWtGNXg2U0MzSUVnUldHSCt4RmtWUW92V0dITVJvRVFMUmlyXC9KMldFMFVibHRaTFpPRllzbnNhTk43ZE5nXC9kREpEMWZoK3kzcHJ4OFBFY3ZcL2JQS1pxNjRMWjdTd05zV3ZpS3c1SGVoTThkY2FtQVMzaWhrTVc5NWxXWXhrZlpKU3BRRW8rUVRkWGpRTitpRFJSN3hVakdYb2x1Z3JUT09Hd2hcL1wvZGNmT1Z1a0RVR0hicEZSQTgzc3BmbExiUStrcDhsQ2FmUWpqS0FDUXd4WktPemp2M3dKWk9vUHhERXg5Z2lXbTQwaHNpUkVmdlJJVTNJZFF1bVlqekI0czVLK3pQZm9OTnhOdTFYZkxrdHZReXpjTDBJbVU3enNnQjRlMk1OOXhraVZzRHRQc1BhY1lYUzhFVHlnTmFWOHZEcldySWJwU2tjeFJYZk93MFY5cHQ2dGlNckJVSkpuMHZ2d2dBc2FNdEx0Mm5YY3QycXFWTkJuSU9scjJGcWphem1ENVFiY3BZT2dER1dWXC9zZ1k1UjlyQzRFZUwxaXhZZGlxYUlcL2ZrWkc4V2djUWxcL084VGIzZ0dEK2VPa2MrRWwwTWNUWlp3WnVQUzB2bXNxUTJpajkxU1BWVWZ6U0wzaVFCOURnbHlWMHdZaE05RDFiMzFhM1RiK01MUEFHMVNCdXJWekR6aVwvUFE5RmFoZlo5NmNlZVpqaHVpMndYVjEzT1ZHT2ZDelZBQ0RHdFR6aFlRRzlFNTIxOFFVd2ExOGJIM1d2UThJQjcxaUpJK0xtb0NFcFZldkRYMDBCNWRNODNJb3F1ZDFXYkkwTWo4TExSOVZ3bnBBcEExMWNVT1VBbm5lTmZjaFFDQUlobVwvMXpxeURpM3lEOXRSRTFvaW45SjAzbTFiSTErY0ppNmdEdldOODZUbFwvUUZuM3hQXC80cUtiUnE3QktGWHJuXC9cL291YU0xRjhmK3NhUVcxRmJYQXB1UXAzWHduaVFaV2UzVG5qM1V1enFrb3llMFlNQktiWjQzUTV4RHNndXpSd2NEMGFsczdlSzRoRDRteURUTFE5RFJid29sNnNxcm9NZGRkcVwvaUpPSXcyZnJQUDhWZ2lKdlpKMTVLaEpaK050UENyZG5mTjRkeXlOb1pRenJCMzBONnpMTG93ejgwbU9ISkF1d2VPMFJHXC9SOEVGZllQMTJ0a1wveVp5NWRpd3RxTFlBbER5SHdRWTNMM3k4OUJlRmJxUjFzdlF0elhicFllTk9iYWdyTXdtMHpEUlVzRk5na29HVEpoVDFxXC9jbHlIbnZObXhMck9LaUVpM0x0S2hWOTRmSFB0Tnl6SFljVXo1OHg1VlRsZElITUlOd3lGaEVPU3pWd1Y4OThkOUNPblEreFl3SWprYkc3MXVVQm1LQmpQSWFqNldiTHpsbFJmamhLMVJPTmM0UmRqa0xtREZmUE1Oa2lUdFBmckVoOGp3MDREeHpWZW01XC95K3FlRFdsR3NSZ2czcW1vSEhZOUU4S0FpWFhSZSs1SXk3XC9QXC81N3FVMk40SU9iNXF5YmY4dFJEUXdDZVViWW1nNExKYzA2RTF0WFZWMTlDY2JJMkVGbVlQbDRXdmdKN0taR3dVVUpwbG0xNWJnbzRFOHpTZjh6d3dINzlKS2QxNVM4aVwveklWSU1GMGFmOUhCXC9raENwT0MzcWZBRCtZcExWSjdZRHg4dFRWUkxWWVVUeXFJVGlZVVpSd1gzVTFwNjF3UWh0VGRKRUdwWWl6NkJcL1ZXNGFNY0h4M0s4QktvVGdnc0RGTUhMUHg3UHBQVnVTYmhWTkx2dlMwY09xOEh1d0pnSDRcL2pUSG42cTNHV0h3UXk5SVdVN01SQktZN2Z5YTcrXC9wTllwclNFc2lZeHlWbVN0Rlp0cDFlQUhJYmxRaFZ5V1p3MjBkVUt6Tzlxa0daOW0yRWljZW9qdmFmNVJlbTBxNTcyR1VrMFVycFQ0MkpuczEzYm1Ga1FVRHE1dlVheEpDNHByMVlBUUlibDVTVzhQOTJtTHVMVE01XC9SSkZaUGxjenhNSmNqdVQyMFNkakVqXC9udW9mREpySjFzRGlUOXlkNmN0N01uZHJIOHk4UkROTGRUMDM5OEcyUlZDN3VBSEd1cVpBQnRzQVQ4MGRPemN3aXNZMHZUT1Bqa3NXbVhRekdpUFAwYkdieGc0eVJ6Qkg4XC9qaGFNRk1oeTFLRlJKcEJERmxrZVJUTkVaZG1WU3d6Zm9hRnR3cTRXdGdFOGY5SllvS29iXC9yWHBwM1lUWFwvQVVaZE8wcWZKUmFsaDN5SlwvOFNsamVUQlVaT2xJMmtxb0JIV3RMa3hXMzdrYldRbmRBa0FGOWJUM2tpakN2aDc2NStNVTRQRFBwa1hpOTFvWUM1SUNjYnU4U3RLWkhLUHVaa0NvVGduS295K2orVkVlVngzc2gwNXZNUEMxM0dKYTZKSjlqNUh3UXo1M2tSRFZmS0d6STM5SFUwYzdFV2dnZk14ODRzVU1Tc0x4K1JTbytjZ3FkN3YxNmVmS25GcVozTHp5Q2hjQlNhWTdmQVpwUm1GRyswRndpQVhMZVZROGNzTGdcL1wvTkJoc2V4eExBRks5YTFGeStSRlVsWjhoYTR2bTBqVk5Ga012RTVaYUZzK0tQdzM4Q2hQd1UxRWliZVAyeDl5cXowd3lmblE4MWZjSlBZRDRQYzJmd3krXC9Eak1uamlkaEpQNXdqZTNpTmJQSHBzU0ZSMEIxdE9KWlIxZXZSVFgxSVJKZzlURWJxOFc4aWlBc1RcL284dnpvWTdMRDFLSVp2UUpEYUdZaUdkTzFwVWV4NUdVVWhBXHgyMixceDIyZ2xvYmFsTmFtZVx4MjI6XHgyMnRyYXlyaWRlXHgyMixceDIyY2xpZW50RXhwZXJpbWVudHNTdGF0ZUJsb2JceDIyOlx4MjJceDVibnVsbCxudWxsLG51bGwsbnVsbCxudWxsLG51bGwsbnVsbCxceDViXHg1ZCxceDViXHg1ZFx4NWRceDIyXHg3ZFx4N2QnLCdUJzogJ0FTQUZBVUowV1c1OEd1UXZ0bTZrSS1CaHdEYjNKTFdHVjZQVm9IbWc4S1dDOGxaaUdCWF9TRWVpNHhpV3p6ZEFneGEzY214SkhUNndFNXlKRmZqWVNkYTRUZmNceDNkJyx9KTt9fSkoKTs8L3NjcmlwdD48c2NyaXB0IG5vbmNlPSJqTW5tU2hVWFhkT0VOU1dUOXd4XzVRIj5pZiAod2luZG93Lnl0Y3NpKSB7eXRjc2kuaW5mb0dlbCh7c2VydmVyVGltZU1zOiAgNDguMCB9LCAnJyk7fTwvc2NyaXB0Pjxub3NjcmlwdD48ZGl2IGNsYXNzPSJwbGF5ZXItdW5hdmFpbGFibGUiPjxoMSBjbGFzcz0ibWVzc2FnZSI+QW4gZXJyb3Igb2NjdXJyZWQuPC9oMT48ZGl2IGNsYXNzPSJzdWJtZXNzYWdlIj48YSBocmVmPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PUhQb0poVk5TSGRrIiB0YXJnZXQ9Il9ibGFuayI+VHJ5IHdhdGNoaW5nIHRoaXMgdmlkZW8gb24gd3d3LnlvdXR1YmUuY29tPC9hPiwgb3IgZW5hYmxlIEphdmFTY3JpcHQgaWYgaXQgaXMgZGlzYWJsZWQgaW4geW91ciBicm93c2VyLjwvZGl2PjwvZGl2Pjwvbm9zY3JpcHQ+PC9ib2R5PjwvaHRtbD4="}},"time_used":101,"timings":{"blocked":-1,"dns":2,"connect":8,"send":0,"wait":68,"receive":0,"ssl":22},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.googleapis.com/css?family=Roboto","fqdn":"fonts.googleapis.com","domain":"fonts.googleapis.com","tld":"googleapis.com"},"ip":{"addr":"142.250.178.106","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:52.222Z","timestamp":1785123232222,"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 /css?family=Roboto HTTP/1.1\r\nHost: fonts.googleapis.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://static.cryptohopper.com/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ncontent-type: text/css; charset=utf-8\r\nvary: Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site\r\naccess-control-allow-origin: *\r\ntiming-allow-origin: *\r\nlink: \u003chttps://fonts.gstatic.com\u003e; rel=preconnect; crossorigin\r\nstrict-transport-security: max-age=31536000\r\nexpires: Mon, 27 Jul 2026 03:33:52 GMT\r\ndate: Mon, 27 Jul 2026 03:33:52 GMT\r\ncache-control: private, max-age=86400\r\ncross-origin-opener-policy: same-origin-allow-popups\r\ncross-origin-resource-policy: cross-origin\r\ncontent-encoding: gzip\r\nserver: ESF\r\nx-xss-protection: 0\r\nx-frame-options: SAMEORIGIN\r\nx-content-type-options: nosniff\r\nalt-svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":5548,"size_decoded":2189,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1572)","md5":"2f4913b2d4249ba3d87180173c5f9121","sha1":"9bf4027becc81e05db16739d9ea242b37105cd4f","sha256":"ae14e6cdbd03f18a4fa37ba5b905bd7e39ae0162d519ca372985aa209e8c42b2","sha512":"0d96229362f39ed14d6e1f353b1f85a53442f419241cecb63d338d97176202941e8166d253b8a306dd1a6f64ee07f3c5ef40bf48574336c00f2da780a2fd62ac","ssdeep":"96:1OEMNslOEMN3FZKOEMNTOEMNoTOEMNEy+aZjzBrgOEMNfubqGIFuV4yOEMN3ROEi:cNssNzNWNoWNEq5N2bqGIwV4DNINCyNX","tlshash":"dfb11d910417044097835ce227ce7e35fe1f92006185d0b5ebfc9b6bedebda652a836e","first_seen":"2026-02-19T23:02:43.131523Z","last_seen":"2026-07-27T05:16:33.086633Z","times_seen":12118,"resource_available":false,"data":"LyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPTUNucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1RWEM4OVltQzJEUE5XdWJFYlZtWmlBcm1sdy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPTUNucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1RWEM4OVltQzJEUE5XdWJFYlZtUWlBcm1sdy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIGdyZWVrLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGT01DbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNUVhDODlZbUMyRFBOV3ViRWJWbVlpQXJtbHcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1JvYm90byc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9yb2JvdG8vdjUxL0tGT01DbnFFdTkyRnIxTUU3a1NuNjZhR0xkVHlsVUFNUVhDODlZbUMyRFBOV3ViRWJWbVhpQXJtbHcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjsKfQovKiBtYXRoICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPTUNucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1RWEM4OVltQzJEUE5XdWJFYlZub2lBcm1sdy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMi0wMzAzLCBVKzAzMDUsIFUrMDMwNy0wMzA4LCBVKzAzMTAsIFUrMDMxMiwgVSswMzE1LCBVKzAzMUEsIFUrMDMyNi0wMzI3LCBVKzAzMkMsIFUrMDMyRi0wMzMwLCBVKzAzMzItMDMzMywgVSswMzM4LCBVKzAzM0EsIFUrMDM0NiwgVSswMzRELCBVKzAzOTEtMDNBMSwgVSswM0EzLTAzQTksIFUrMDNCMS0wM0M5LCBVKzAzRDEsIFUrMDNENS0wM0Q2LCBVKzAzRjAtMDNGMSwgVSswM0Y0LTAzRjUsIFUrMjAxNi0yMDE3LCBVKzIwMzQtMjAzOCwgVSsyMDNDLCBVKzIwNDAsIFUrMjA0MywgVSsyMDQ3LCBVKzIwNTAsIFUrMjA1NywgVSsyMDVGLCBVKzIwNzAtMjA3MSwgVSsyMDc0LTIwOEUsIFUrMjA5MC0yMDlDLCBVKzIwRDAtMjBEQywgVSsyMEUxLCBVKzIwRTUtMjBFRiwgVSsyMTAwLTIxMTIsIFUrMjExNC0yMTE1LCBVKzIxMTctMjEyMSwgVSsyMTIzLTIxNEYsIFUrMjE5MCwgVSsyMTkyLCBVKzIxOTQtMjFBRSwgVSsyMUIwLTIxRTUsIFUrMjFGMS0yMUYyLCBVKzIxRjQtMjIxMSwgVSsyMjEzLTIyMTQsIFUrMjIxNi0yMkZGLCBVKzIzMDgtMjMwQiwgVSsyMzEwLCBVKzIzMTksIFUrMjMxQy0yMzIxLCBVKzIzMzYtMjM3QSwgVSsyMzdDLCBVKzIzOTUsIFUrMjM5Qi0yM0I3LCBVKzIzRDAsIFUrMjNEQy0yM0UxLCBVKzI0NzQtMjQ3NSwgVSsyNUFGLCBVKzI1QjMsIFUrMjVCNywgVSsyNUJELCBVKzI1QzEsIFUrMjVDQSwgVSsyNUNDLCBVKzI1RkIsIFUrMjY2RC0yNjZGLCBVKzI3QzAtMjdGRiwgVSsyOTAwLTJBRkYsIFUrMkIwRS0yQjExLCBVKzJCMzAtMkI0QywgVSsyQkZFLCBVKzMwMzAsIFUrRkY1QiwgVStGRjVELCBVKzFENDAwLTFEN0ZGLCBVKzFFRTAwLTFFRUZGOwp9Ci8qIHN5bWJvbHMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk9NQ25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTVFYQzg5WW1DMkRQTld1YkViVm42aUFybWx3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAxLTAwMEMsIFUrMDAwRS0wMDFGLCBVKzAwN0YtMDA5RiwgVSsyMERELTIwRTAsIFUrMjBFMi0yMEU0LCBVKzIxNTAtMjE4RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMTk5LCBVKzIxQUYsIFUrMjFFNi0yMUYwLCBVKzIxRjMsIFUrMjIxOC0yMjE5LCBVKzIyOTksIFUrMjJDNC0yMkM2LCBVKzIzMDAtMjQzRiwgVSsyNDQwLTI0NEEsIFUrMjQ2MC0yNEZGLCBVKzI1QTAtMjdCRiwgVSsyODAwLTI4RkYsIFUrMjkyMS0yOTIyLCBVKzI5ODEsIFUrMjlCRiwgVSsyOUVCLCBVKzJCMDAtMkJGRiwgVSs0REMwLTRERkYsIFUrRkZGOS1GRkZCLCBVKzEwMTQwLTEwMThFLCBVKzEwMTkwLTEwMTlDLCBVKzEwMUEwLCBVKzEwMUQwLTEwMUZELCBVKzEwMkUwLTEwMkZCLCBVKzEwRTYwLTEwRTdFLCBVKzFEMkMwLTFEMkQzLCBVKzFEMkUwLTFEMzdGLCBVKzFGMDAwLTFGMEZGLCBVKzFGMTAwLTFGMUFELCBVKzFGMUU2LTFGMUZGLCBVKzFGMzBELTFGMzBGLCBVKzFGMzE1LCBVKzFGMzFDLCBVKzFGMzFFLCBVKzFGMzIwLTFGMzJDLCBVKzFGMzM2LCBVKzFGMzc4LCBVKzFGMzdELCBVKzFGMzgyLCBVKzFGMzkzLTFGMzlGLCBVKzFGM0E3LTFGM0E4LCBVKzFGM0FDLTFGM0FGLCBVKzFGM0MyLCBVKzFGM0M0LTFGM0M2LCBVKzFGM0NBLTFGM0NFLCBVKzFGM0Q0LTFGM0UwLCBVKzFGM0VELCBVKzFGM0YxLTFGM0YzLCBVKzFGM0Y1LTFGM0Y3LCBVKzFGNDA4LCBVKzFGNDE1LCBVKzFGNDFGLCBVKzFGNDI2LCBVKzFGNDNGLCBVKzFGNDQxLTFGNDQyLCBVKzFGNDQ0LCBVKzFGNDQ2LTFGNDQ5LCBVKzFGNDRDLTFGNDRFLCBVKzFGNDUzLCBVKzFGNDZBLCBVKzFGNDdELCBVKzFGNEEzLCBVKzFGNEIwLCBVKzFGNEIzLCBVKzFGNEI5LCBVKzFGNEJCLCBVKzFGNEJGLCBVKzFGNEM4LTFGNENCLCBVKzFGNEQ2LCBVKzFGNERBLCBVKzFGNERGLCBVKzFGNEUzLTFGNEU2LCBVKzFGNEVBLTFGNEVELCBVKzFGNEY3LCBVKzFGNEY5LTFGNEZCLCBVKzFGNEZELTFGNEZFLCBVKzFGNTAzLCBVKzFGNTA3LTFGNTBCLCBVKzFGNTBELCBVKzFGNTEyLTFGNTEzLCBVKzFGNTNFLTFGNTRBLCBVKzFGNTRGLTFGNUZBLCBVKzFGNjEwLCBVKzFGNjUwLTFGNjdGLCBVKzFGNjg3LCBVKzFGNjhELCBVKzFGNjkxLCBVKzFGNjk0LCBVKzFGNjk4LCBVKzFGNkFELCBVKzFGNkIyLCBVKzFGNkI5LTFGNkJBLCBVKzFGNkJDLCBVKzFGNkM2LTFGNkNGLCBVKzFGNkQzLTFGNkQ3LCBVKzFGNkUwLTFGNkVBLCBVKzFGNkYwLTFGNkYzLCBVKzFGNkY3LTFGNkZDLCBVKzFGNzAwLTFGN0ZGLCBVKzFGODAwLTFGODBCLCBVKzFGODEwLTFGODQ3LCBVKzFGODUwLTFGODU5LCBVKzFGODYwLTFGODg3LCBVKzFGODkwLTFGOEFELCBVKzFGOEIwLTFGOEJCLCBVKzFGOEMwLTFGOEMxLCBVKzFGOTAwLTFGOTBCLCBVKzFGOTNCLCBVKzFGOTQ2LCBVKzFGOTg0LCBVKzFGOTk2LCBVKzFGOUU5LCBVKzFGQTAwLTFGQTZGLCBVKzFGQTcwLTFGQTdDLCBVKzFGQTgwLTFGQTg5LCBVKzFGQThGLTFGQUM2LCBVKzFGQUNFLTFGQURDLCBVKzFGQURGLTFGQUU5LCBVKzFGQUYwLTFGQUY4LCBVKzFGQjAwLTFGQkZGOwp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvcm9ib3RvL3Y1MS9LRk9NQ25xRXU5MkZyMU1FN2tTbjY2YUdMZFR5bFVBTVFYQzg5WW1DMkRQTld1YkViVm1iaUFybWx3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPTUNucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1RWEM4OVltQzJEUE5XdWJFYlZtYWlBcm1sdy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUm9ib3RvJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3JvYm90by92NTEvS0ZPTUNucUV1OTJGcjFNRTdrU242NmFHTGRUeWxVQU1RWEM4OVltQzJEUE5XdWJFYlZtVWlBby53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Cg=="}},"time_used":83,"timings":{"blocked":0,"dns":3,"connect":16,"send":0,"wait":33,"receive":0,"ssl":30},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/plugins/revolution/js/extensions/revolution.extension.actions.min.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.590Z","timestamp":1785123231590,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /plugins/revolution/js/extensions/revolution.extension.actions.min.js HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Wed, 22 Apr 2026 17:27:52 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 2400\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":8287,"size_decoded":2723,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (8049), with CRLF line terminators","md5":"90131555d6a196c1562a38bf8899bbe8","sha1":"f50367c2d0c711c703aff1d5550fa947c2ce1f14","sha256":"9bb2c6711f94d39796fe68fb53fa36d22b02b6b7de3759ea55176149f6023c03","sha512":"71ef0d9e205fd6cae62f58e06270eda43f7d0ded1546b1832f7f65395f4d574b4dc21deeeadf2836edee1205dc0dcabef2a39c906bdb7c4dfc255e65251abe61","ssdeep":"192:PhPa5+8MkuLnm8ZbYl+zWJc2VJS/gcBVl1h:4Behi2fz5","tlshash":"6002a346f201acff4467a5aae82b12d27170759ca206ade4f067f5a86c3cb5205c77ec","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-07-27T05:37:05.179069Z","times_seen":1127,"resource_available":true,"data":"LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogKiBSRVZPTFVUSU9OIDUuNC4yIEVYVEVOU0lPTiAtIEFDVElPTlMNCiAqIEB2ZXJzaW9uOiAyLjEuMCAoMTUuMDUuMjAxNykNCiAqIEByZXF1aXJlcyBqcXVlcnkudGhlbWVwdW5jaC5yZXZvbHV0aW9uLmpzDQogKiBAYXV0aG9yIFRoZW1lUHVuY2gNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiFmdW5jdGlvbigkKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZ2V0U2Nyb2xsUm9vdCgpe3ZhciBkLGE9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGI9ZG9jdW1lbnQuYm9keSxjPSh2b2lkIDAhPT13aW5kb3cucGFnZVlPZmZzZXQ/d2luZG93LnBhZ2VZT2Zmc2V0Om51bGwpfHxiLnNjcm9sbFRvcHx8YS5zY3JvbGxUb3A7cmV0dXJuIGEuc2Nyb2xsVG9wPWIuc2Nyb2xsVG9wPWMrKGM+MCk/LTE6MSxkPWEuc2Nyb2xsVG9wIT09Yz9hOmIsZC5zY3JvbGxUb3A9YyxkfXZhciBfUj1qUXVlcnkuZm4ucmV2b2x1dGlvbixfSVNNPV9SLmlzX21vYmlsZSgpLGV4dGVuc2lvbj17YWxpYXM6IkFjdGlvbnMgTWluIEpTIixuYW1lOiJyZXZvbHV0aW9uLmV4dGVuc2lvbnMuYWN0aW9ucy5taW4uanMiLG1pbl9jb3JlOiI1LjQuNSIsdmVyc2lvbjoiMi4xLjAifTtqUXVlcnkuZXh0ZW5kKCEwLF9SLHtjaGVja0FjdGlvbnM6ZnVuY3Rpb24oYSxiLGMpe2lmKCJzdG9wIj09PV9SLmNvbXBhcmVfdmVyc2lvbihleHRlbnNpb24pLmNoZWNrKXJldHVybiExO2NoZWNrQWN0aW9uc19pbnRlcm4oYSxiLGMpfX0pO3ZhciBjaGVja0FjdGlvbnNfaW50ZXJuPWZ1bmN0aW9uKGEsYixjKXtjJiZqUXVlcnkuZWFjaChjLGZ1bmN0aW9uKGMsZCl7ZC5kZWxheT1wYXJzZUludChkLmRlbGF5LDApLzFlMyxhLmFkZENsYXNzKCJ0cC13aXRoYWN0aW9uIiksYi5mdWxsc2NyZWVuX2VzY2xpc3RlbmVyfHwiZXhpdGZ1bGxzY3JlZW4iIT1kLmFjdGlvbiYmInRvZ2dsZWZ1bGxzY3JlZW4iIT1kLmFjdGlvbnx8KGpRdWVyeShkb2N1bWVudCkua2V5dXAoZnVuY3Rpb24oYil7Mjc9PWIua2V5Q29kZSYmalF1ZXJ5KCIjcnMtZ28tZnVsbHNjcmVlbiIpLmxlbmd0aD4wJiZhLnRyaWdnZXIoZC5ldmVudCl9KSxiLmZ1bGxzY3JlZW5fZXNjbGlzdGVuZXI9ITApO3ZhciBlPSJiYWNrZ3JvdW5kdmlkZW8iPT1kLmxheWVyP2pRdWVyeSgiLnJzLWJhY2tncm91bmQtdmlkZW8tbGF5ZXIiKToiZmlyc3R2aWRlbyI9PWQubGF5ZXI/alF1ZXJ5KCIudHAtcmV2c2xpZGVyLXNsaWRlc2xpIikuZmluZCgiLnRwLXZpZGVvbGF5ZXIiKTpqUXVlcnkoIiMiK2QubGF5ZXIpO3N3aXRjaCgtMSE9alF1ZXJ5LmluQXJyYXkoZC5hY3Rpb24sWyJ0b2dnbGVzbGlkZXIiLCJ0b2dnbGVfbXV0ZV92aWRlbyIsInRvZ2dsZV9nbG9iYWxfbXV0ZV92aWRlbyIsInRvZ2dsZWZ1bGxzY3JlZW4iXSkmJmEuZGF0YSgidG9nZ2xlbGlzdGVuZXJzIiwhMCksZC5hY3Rpb24pe2Nhc2UidG9nZ2xldmlkZW8iOmpRdWVyeS5lYWNoKGUsZnVuY3Rpb24oYixjKXtjPWpRdWVyeShjKTt2YXIgZD1jLmRhdGEoInZpZGVvdG9nZ2xlZGJ5Iik7dm9pZCAwPT1kJiYoZD1uZXcgQXJyYXkpLGQucHVzaChhKSxjLmRhdGEoInZpZGVvdG9nZ2xlZGJ5IixkKX0pO2JyZWFrO2Nhc2UidG9nZ2xlbGF5ZXIiOmpRdWVyeS5lYWNoKGUsZnVuY3Rpb24oYixjKXtjPWpRdWVyeShjKTt2YXIgZT1jLmRhdGEoImxheWVydG9nZ2xlZGJ5Iik7dm9pZCAwPT1lJiYoZT1uZXcgQXJyYXkpLGUucHVzaChhKSxjLmRhdGEoImxheWVydG9nZ2xlZGJ5IixlKSxjLmRhdGEoInRyaWdnZXJlZF9zdGFydHN0YXR1cyIsZC5sYXllcnN0YXR1cyl9KTticmVhaztjYXNlInRvZ2dsZV9tdXRlX3ZpZGVvIjpjYXNlInRvZ2dsZV9nbG9iYWxfbXV0ZV92aWRlbyI6alF1ZXJ5LmVhY2goZSxmdW5jdGlvbihiLGMpe2M9alF1ZXJ5KGMpO3ZhciBkPWMuZGF0YSgidmlkZW9tdXRldG9nZ2xlZGJ5Iik7dm9pZCAwPT1kJiYoZD1uZXcgQXJyYXkpLGQucHVzaChhKSxjLmRhdGEoInZpZGVvbXV0ZXRvZ2dsZWRieSIsZCl9KTticmVhaztjYXNlInRvZ2dsZXNsaWRlciI6dm9pZCAwPT1iLnNsaWRlcnRvZ2dsZWRieSYmKGIuc2xpZGVydG9nZ2xlZGJ5PW5ldyBBcnJheSksYi5zbGlkZXJ0b2dnbGVkYnkucHVzaChhKTticmVhaztjYXNlInRvZ2dsZWZ1bGxzY3JlZW4iOnZvaWQgMD09Yi5mdWxsc2NyZWVudG9nZ2xlZGJ5JiYoYi5mdWxsc2NyZWVudG9nZ2xlZGJ5PW5ldyBBcnJheSksYi5mdWxsc2NyZWVudG9nZ2xlZGJ5LnB1c2goYSl9c3dpdGNoKGEub24oZC5ldmVudCxmdW5jdGlvbigpe2lmKCJjbGljayI9PT1kLmV2ZW50JiZhLmhhc0NsYXNzKCJ0cC10ZW1wb3JhcnlkaXNhYmxlZCIpKXJldHVybiExO3ZhciBjPSJiYWNrZ3JvdW5kdmlkZW8iPT1kLmxheWVyP2pRdWVyeSgiLmFjdGl2ZS1yZXZzbGlkZSAuc2xvdGhvbGRlciAucnMtYmFja2dyb3VuZC12aWRlby1sYXllciIpOiJmaXJzdHZpZGVvIj09ZC5sYXllcj9qUXVlcnkoIi5hY3RpdmUtcmV2c2xpZGUgLnRwLXZpZGVvbGF5ZXIiKS5maXJzdCgpOmpRdWVyeSgiIyIrZC5sYXllcik7aWYoInN0b3BsYXllciI9PWQuYWN0aW9ufHwidG9nZ2xlbGF5ZXIiPT1kLmFjdGlvbnx8InN0YXJ0bGF5ZXIiPT1kLmFjdGlvbil7aWYoYy5sZW5ndGg+MCl7dmFyIGU9Yy5kYXRhKCk7dm9pZCAwIT09ZS5jbGlja2VkX3RpbWVfc3RhbXAmJihuZXcgRGF0ZSkuZ2V0VGltZSgpLWUuY2xpY2tlZF90aW1lX3N0YW1wPjE1MCYmKGNsZWFyVGltZW91dChlLnRyaWdnZXJkZWxheUluKSxjbGVhclRpbWVvdXQoZS50cmlnZ2VyZGVsYXlPdXQpKSxlLmNsaWNrZWRfdGltZV9zdGFtcD0obmV3IERhdGUpLmdldFRpbWUoKSwic3RhcnRsYXllciI9PWQuYWN0aW9ufHwidG9nZ2xlbGF5ZXIiPT1kLmFjdGlvbiYmImluIiE9Yy5kYXRhKCJhbmltZGlyZWN0aW9uIik/KGUuYW5pbWRpcmVjdGlvbj0iaW4iLGUudHJpZ2dlcnN0YXRlPSJvbiIsX1IudG9nZ2xlU3RhdGUoZS5sYXllcnRvZ2dsZWRieSksX1IucGxheUFuaW1hdGlvbkZyYW1lJiYoY2xlYXJUaW1lb3V0KGUudHJpZ2dlcmRlbGF5SW4pLGUudHJpZ2dlcmRlbGF5SW49c2V0VGltZW91dChmdW5jdGlvbigpe19SLnBsYXlBbmltYXRpb25GcmFtZSh7Y2FwdGlvbjpjLG9wdDpiLGZyYW1lOiJmcmFtZV8wIix0cmlnZ2VyZGlyZWN0aW9uOiJpbiIsdHJpZ2dlcmZyYW1laW46ImZyYW1lXzAiLHRyaWdnZXJmcmFtZW91dDoiZnJhbWVfOTk5In0pfSwxZTMqZC5kZWxheSkpKTooInN0b3BsYXllciI9PWQuYWN0aW9ufHwidG9nZ2xlbGF5ZXIiPT1kLmFjdGlvbiYmIm91dCIhPWMuZGF0YSgiYW5pbWRpcmVjdGlvbiIpKSYmKGUuYW5pbWRpcmVjdGlvbj0ib3V0IixlLnRyaWdnZXJlZD0hMCxlLnRyaWdnZXJzdGF0ZT0ib2ZmIixfUi5zdG9wVmlkZW8mJl9SLnN0b3BWaWRlbyhjLGIpLF9SLnVuVG9nZ2xlU3RhdGUoZS5sYXllcnRvZ2dsZWRieSksX1IuZW5kTW92ZUNhcHRpb24mJihjbGVhclRpbWVvdXQoZS50cmlnZ2VyZGVsYXlPdXQpLGUudHJpZ2dlcmRlbGF5T3V0PXNldFRpbWVvdXQoZnVuY3Rpb24oKXtfUi5wbGF5QW5pbWF0aW9uRnJhbWUoe2NhcHRpb246YyxvcHQ6YixmcmFtZToiZnJhbWVfOTk5Iix0cmlnZ2VyZGlyZWN0aW9uOiJvdXQiLHRyaWdnZXJmcmFtZWluOiJmcmFtZV8wIix0cmlnZ2VyZnJhbWVvdXQ6ImZyYW1lXzk5OSJ9KX0sMWUzKmQuZGVsYXkpKSl9fWVsc2UhX0lTTXx8InBsYXl2aWRlbyIhPWQuYWN0aW9uJiYic3RvcHZpZGVvIiE9ZC5hY3Rpb24mJiJ0b2dnbGV2aWRlbyIhPWQuYWN0aW9uJiYibXV0ZXZpZGVvIiE9ZC5hY3Rpb24mJiJ1bm11dGV2aWRlbyIhPWQuYWN0aW9uJiYidG9nZ2xlX211dGVfdmlkZW8iIT1kLmFjdGlvbiYmInRvZ2dsZV9nbG9iYWxfbXV0ZV92aWRlbyIhPWQuYWN0aW9uPyhkLmRlbGF5PSJOYU4iPT09ZC5kZWxheXx8TmFOPT09ZC5kZWxheT8wOmQuZGVsYXkscHVuY2hncy5Ud2VlbkxpdGUuZGVsYXllZENhbGwoZC5kZWxheSxmdW5jdGlvbigpe2FjdGlvblN3aXRjaGVzKGMsYixkLGEpfSxbYyxiLGQsYV0pKTphY3Rpb25Td2l0Y2hlcyhjLGIsZCxhKX0pLGQuYWN0aW9uKXtjYXNlInRvZ2dsZWxheWVyIjpjYXNlInN0YXJ0bGF5ZXIiOmNhc2UicGxheWxheWVyIjpjYXNlInN0b3BsYXllciI6dmFyIGU9alF1ZXJ5KCIjIitkLmxheWVyKSxmPWUuZGF0YSgpO2UubGVuZ3RoPjAmJnZvaWQgMCE9PWYmJih2b2lkIDAhPT1mLmZyYW1lcyYmImJ5dHJpZ2dlciIhPWYuZnJhbWVzWzBdLmRlbGF5fHx2b2lkIDA9PT1mLmZyYW1lcyYmImJ5dHJpZ2dlciIhPT1mLnN0YXJ0KSYmKGYudHJpZ2dlcnN0YXRlPSJvbiIpfX0pfSxhY3Rpb25Td2l0Y2hlcz1mdW5jdGlvbih0bmMsb3B0LGEsX25jKXtzd2l0Y2goYS5hY3Rpb24pe2Nhc2Uic2Nyb2xsYmVsb3ciOmEuc3BlZWQ9dm9pZCAwIT09YS5zcGVlZD9hLnNwZWVkOjQwMCxhLmVhc2U9dm9pZCAwIT09YS5lYXNlP2EuZWFzZTpwdW5jaGdzLlBvd2VyMi5lYXNlT3V0LF9uYy5hZGRDbGFzcygidHAtc2Nyb2xsYmVsb3dzbGlkZXIiKSxfbmMuZGF0YSgic2Nyb2xsb2Zmc2V0IixhLm9mZnNldCksX25jLmRhdGEoInNjcm9sbGRlbGF5IixhLmRlbGF5KSxfbmMuZGF0YSgic2Nyb2xsc3BlZWQiLGEuc3BlZWQpLF9uYy5kYXRhKCJzY3JvbGxlYXNlIixhLmVhc2UpO3ZhciBvZmY9Z2V0T2ZmQ29udEgob3B0LmZ1bGxTY3JlZW5PZmZzZXRDb250YWluZXIpfHwwLGFvZj1wYXJzZUludChhLm9mZnNldCwwKXx8MDtvZmY9b2ZmLWFvZnx8MCxvcHQuc2Nyb2xsUm9vdD1qUXVlcnkoZG9jdW1lbnQpO3ZhciBzb2JqPXtfeTpvcHQuc2Nyb2xsUm9vdC5zY3JvbGxUb3AoKX07cHVuY2hncy5Ud2VlbkxpdGUudG8oc29iaixhLnNwZWVkLzFlMyx7X3k6b3B0LmMub2Zmc2V0KCkudG9wK2pRdWVyeShvcHQubGlbMF0pLmhlaWdodCgpLW9mZixlYXNlOmEuZWFzZSxvblVwZGF0ZTpmdW5jdGlvbigpe29wdC5zY3JvbGxSb290LnNjcm9sbFRvcChzb2JqLl95KX19KTticmVhaztjYXNlImNhbGxiYWNrIjpldmFsKGEuY2FsbGJhY2spO2JyZWFrO2Nhc2UianVtcHRvc2xpZGUiOnN3aXRjaChhLnNsaWRlLnRvTG93ZXJDYXNlKCkpe2Nhc2UiKzEiOmNhc2UibmV4dCI6b3B0LnNjX2luZGljYXRvcj0iYXJyb3ciLF9SLmNhbGxpbmdOZXdTbGlkZShvcHQuYywxKTticmVhaztjYXNlInByZXZpb3VzIjpjYXNlInByZXYiOmNhc2UiLTEiOm9wdC5zY19pbmRpY2F0b3I9ImFycm93IixfUi5jYWxsaW5nTmV3U2xpZGUob3B0LmMsLTEpO2JyZWFrO2RlZmF1bHQ6dmFyIHRzPWpRdWVyeS5pc051bWVyaWMoYS5zbGlkZSk/cGFyc2VJbnQoYS5zbGlkZSwwKTphLnNsaWRlO19SLmNhbGxpbmdOZXdTbGlkZShvcHQuYyx0cyl9YnJlYWs7Y2FzZSJzaW1wbGVsaW5rIjp3aW5kb3cub3BlbihhLnVybCxhLnRhcmdldCk7YnJlYWs7Y2FzZSJ0b2dnbGVzbGlkZXIiOm9wdC5ub2xvb3Bhbnltb3JlPTAsInBsYXlpbmciPT1vcHQuc2xpZGVyc3RhdHVzPyhvcHQuYy5yZXZwYXVzZSgpLG9wdC5mb3JjZXBhdXNlX3ZpYXRvZ2dsZT0hMCxfUi51blRvZ2dsZVN0YXRlKG9wdC5zbGlkZXJ0b2dnbGVkYnkpKToob3B0LmZvcmNlcGF1c2VfdmlhdG9nZ2xlPSExLG9wdC5jLnJldnJlc3VtZSgpLF9SLnRvZ2dsZVN0YXRlKG9wdC5zbGlkZXJ0b2dnbGVkYnkpKTticmVhaztjYXNlInBhdXNlc2xpZGVyIjpvcHQuYy5yZXZwYXVzZSgpLF9SLnVuVG9nZ2xlU3RhdGUob3B0LnNsaWRlcnRvZ2dsZWRieSk7YnJlYWs7Y2FzZSJwbGF5c2xpZGVyIjpvcHQubm9sb29wYW55bW9yZT0wLG9wdC5jLnJldnJlc3VtZSgpLF9SLnRvZ2dsZVN0YXRlKG9wdC5zbGlkZXJ0b2dnbGVkYnkpO2JyZWFrO2Nhc2UicGxheXZpZGVvIjp0bmMubGVuZ3RoPjAmJl9SLnBsYXlWaWRlbyh0bmMsb3B0KTticmVhaztjYXNlInN0b3B2aWRlbyI6dG5jLmxlbmd0aD4wJiZfUi5zdG9wVmlkZW8mJl9SLnN0b3BWaWRlbyh0bmMsb3B0KTticmVhaztjYXNlInRvZ2dsZXZpZGVvIjp0bmMubGVuZ3RoPjAmJihfUi5pc1ZpZGVvUGxheWluZyh0bmMsb3B0KT9fUi5zdG9wVmlkZW8mJl9SLnN0b3BWaWRlbyh0bmMsb3B0KTpfUi5wbGF5VmlkZW8odG5jLG9wdCkpO2JyZWFrO2Nhc2UibXV0ZXZpZGVvIjp0bmMubGVuZ3RoPjAmJl9SLm11dGVWaWRlbyh0bmMsb3B0KTticmVhaztjYXNlInVubXV0ZXZpZGVvIjp0bmMubGVuZ3RoPjAmJl9SLnVuTXV0ZVZpZGVvJiZfUi51bk11dGVWaWRlbyh0bmMsb3B0KTticmVhaztjYXNlInRvZ2dsZV9tdXRlX3ZpZGVvIjp0bmMubGVuZ3RoPjAmJihfUi5pc1ZpZGVvTXV0ZWQodG5jLG9wdCk/X1IudW5NdXRlVmlkZW8odG5jLG9wdCk6X1IubXV0ZVZpZGVvJiZfUi5tdXRlVmlkZW8odG5jLG9wdCkpLF9uYy50b2dnbGVDbGFzcygicnMtdG9nZ2xlLWNvbnRlbnQtYWN0aXZlIik7YnJlYWs7Y2FzZSJ0b2dnbGVfZ2xvYmFsX211dGVfdmlkZW8iOiEwPT09b3B0Lmdsb2JhbG11dGU/KG9wdC5nbG9iYWxtdXRlPSExLHZvaWQgMCE9b3B0LnBsYXlpbmd2aWRlb3MmJm9wdC5wbGF5aW5ndmlkZW9zLmxlbmd0aD4wJiZqUXVlcnkuZWFjaChvcHQucGxheWluZ3ZpZGVvcyxmdW5jdGlvbihhLGIpe19SLnVuTXV0ZVZpZGVvJiZfUi51bk11dGVWaWRlbyhiLG9wdCl9KSk6KG9wdC5nbG9iYWxtdXRlPSEwLHZvaWQgMCE9b3B0LnBsYXlpbmd2aWRlb3MmJm9wdC5wbGF5aW5ndmlkZW9zLmxlbmd0aD4wJiZqUXVlcnkuZWFjaChvcHQucGxheWluZ3ZpZGVvcyxmdW5jdGlvbihhLGIpe19SLm11dGVWaWRlbyYmX1IubXV0ZVZpZGVvKGIsb3B0KX0pKSxfbmMudG9nZ2xlQ2xhc3MoInJzLXRvZ2dsZS1jb250ZW50LWFjdGl2ZSIpO2JyZWFrO2Nhc2Uic2ltdWxhdGVjbGljayI6dG5jLmxlbmd0aD4wJiZ0bmMuY2xpY2soKTticmVhaztjYXNlInRvZ2dsZWNsYXNzIjp0bmMubGVuZ3RoPjAmJih0bmMuaGFzQ2xhc3MoYS5jbGFzc25hbWUpP3RuYy5yZW1vdmVDbGFzcyhhLmNsYXNzbmFtZSk6dG5jLmFkZENsYXNzKGEuY2xhc3NuYW1lKSk7YnJlYWs7Y2FzZSJnb2Z1bGxzY3JlZW4iOmNhc2UiZXhpdGZ1bGxzY3JlZW4iOmNhc2UidG9nZ2xlZnVsbHNjcmVlbiI6aWYoalF1ZXJ5KCIucnMtZ28tZnVsbHNjcmVlbiIpLmxlbmd0aD4wJiYoInRvZ2dsZWZ1bGxzY3JlZW4iPT1hLmFjdGlvbnx8ImV4aXRmdWxsc2NyZWVuIj09YS5hY3Rpb24pKXtqUXVlcnkoIi5ycy1nby1mdWxsc2NyZWVuIikucmVtb3ZlQ2xhc3MoInJzLWdvLWZ1bGxzY3JlZW4iKTt2YXIgZ2Y9b3B0LmMuY2xvc2VzdCgiLmZvcmNlZnVsbHdpZHRoX3dyYXBwZXJfdHBfYmFubmVyIikubGVuZ3RoPjA/b3B0LmMuY2xvc2VzdCgiLmZvcmNlZnVsbHdpZHRoX3dyYXBwZXJfdHBfYmFubmVyIik6b3B0LmMuY2xvc2VzdCgiLnJldl9zbGlkZXJfd3JhcHBlciIpO29wdC5taW5IZWlnaHQ9b3B0Lm9sZG1pbmhlaWdodCxvcHQuaW5mdWxsc2NyZWVubW9kZT0hMSxvcHQuYy5yZXZyZWRyYXcoKSxqUXVlcnkod2luZG93KS50cmlnZ2VyKCJyZXNpemUiKSxfUi51blRvZ2dsZVN0YXRlKG9wdC5mdWxsc2NyZWVudG9nZ2xlZGJ5KX1lbHNlIGlmKDA9PWpRdWVyeSgiLnJzLWdvLWZ1bGxzY3JlZW4iKS5sZW5ndGgmJigidG9nZ2xlZnVsbHNjcmVlbiI9PWEuYWN0aW9ufHwiZ29mdWxsc2NyZWVuIj09YS5hY3Rpb24pKXt2YXIgZ2Y9b3B0LmMuY2xvc2VzdCgiLmZvcmNlZnVsbHdpZHRoX3dyYXBwZXJfdHBfYmFubmVyIikubGVuZ3RoPjA/b3B0LmMuY2xvc2VzdCgiLmZvcmNlZnVsbHdpZHRoX3dyYXBwZXJfdHBfYmFubmVyIik6b3B0LmMuY2xvc2VzdCgiLnJldl9zbGlkZXJfd3JhcHBlciIpO2dmLmFkZENsYXNzKCJycy1nby1mdWxsc2NyZWVuIiksb3B0Lm9sZG1pbmhlaWdodD1vcHQubWluSGVpZ2h0LG9wdC5taW5IZWlnaHQ9alF1ZXJ5KHdpbmRvdykuaGVpZ2h0KCksb3B0LmluZnVsbHNjcmVlbm1vZGU9ITAsb3B0LmMucmV2cmVkcmF3KCksalF1ZXJ5KHdpbmRvdykudHJpZ2dlcigicmVzaXplIiksX1IudG9nZ2xlU3RhdGUob3B0LmZ1bGxzY3JlZW50b2dnbGVkYnkpfWJyZWFrO2RlZmF1bHQ6dmFyIG9iaj17fTtvYmouZXZlbnQ9YSxvYmoubGF5ZXI9X25jLG9wdC5jLnRyaWdnZXIoImxheWVyYWN0aW9uIixbb2JqXSl9fSxnZXRPZmZDb250SD1mdW5jdGlvbihhKXtpZih2b2lkIDA9PWEpcmV0dXJuIDA7aWYoYS5zcGxpdCgiLCIpLmxlbmd0aD4xKXt2YXIgYj1hLnNwbGl0KCIsIiksYz0wO3JldHVybiBiJiZqUXVlcnkuZWFjaChiLGZ1bmN0aW9uKGEsYil7alF1ZXJ5KGIpLmxlbmd0aD4wJiYoYys9alF1ZXJ5KGIpLm91dGVySGVpZ2h0KCEwKSl9KSxjfXJldHVybiBqUXVlcnkoYSkuaGVpZ2h0KCl9fShqUXVlcnkpOw=="}},"time_used":55,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":44,"receive":11,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/images/main-slider/image-2.jpg","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.645Z","timestamp":1785123231645,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /images/main-slider/image-2.jpg HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Wed, 22 Apr 2026 21:44:12 GMT\r\naccept-ranges: bytes\r\ncontent-length: 241527\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":241527,"size_decoded":241795,"mime_type":"image/jpeg","magic":"JPEG image data, Exif standard: [TIFF image data, little-endian, direntries=1, copyright=©Theerapong - stock.adobe.com], baseline, precision 8, 1200x628, components 3","md5":"e1133374a0ad048fe2d2c73e9036428b","sha1":"478fb32d6b9feea65657a6982ffede91e76641e8","sha256":"02165d1c1a03977289a3f5d353c856f1cdd2c466f4ed1ae4e9c4fdf0b0a295f2","sha512":"ea9a4e3b410d36a5ddd49df0f4f89ae4fc250ecb52525f6a1d8ae83aa0b9bafea4c62da16936af4067982212156481804e8174132e523517a1c3bbae393bae3d","ssdeep":"6144:xxZe74uTPxkOjNBALfBNOqG0G7svb4T+EpYpZmCJawksOv0:/Zk5kO5EPQPwvb46ZmckK","tlshash":"cb3423a1f101974221eea670273b8cacc72bb008af67543d2eb6d12374242fc35fe695","first_seen":"2026-06-26T06:01:48.551468Z","last_seen":"2026-07-27T05:05:33.725771Z","times_seen":7,"resource_available":false,"data":"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"}},"time_used":74,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":31,"receive":43,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/images/resource/services-1.jpg","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.646Z","timestamp":1785123231646,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /images/resource/services-1.jpg HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: image/jpeg\r\nlast-modified: Wed, 22 Apr 2026 21:44:12 GMT\r\naccept-ranges: bytes\r\ncontent-length: 36072\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":36072,"size_decoded":36339,"mime_type":"image/jpeg","magic":"JPEG image data, Exif standard: [TIFF image data, little-endian, direntries=0], baseline, precision 8, 270x370, components 3","md5":"c9d6861a715438f4067a1640a9c4c38f","sha1":"5fe62d945aea0bd465e15f1437cd61f47a2b8165","sha256":"83c62f4ed1beb94415a00219fb563a8875b465fca015c902dd80d49acf3151a7","sha512":"400f0964d6bcad2c7fd185023ccd4b14d8c824a043b2ead0e83b767232b42c8cec3d394e2366af6e3b1c2782e2c6fe95fda263c50cec1bd23e700b0bbe540982","ssdeep":"768:VKy1qdObbk+gwcv/mINcAgIR1lIgK4QhDOPLdRhf603Xe22jb:VKyU0kR7/lmAgIRXIgK4QtOL3hfhXMjb","tlshash":"22f2f131ca04e300d419c4aee5316629432b8a52d4a3b6fede7da0924939b4ddbd1ede","first_seen":"2024-12-04T10:10:15.833328Z","last_seen":"2026-07-27T05:05:33.717031Z","times_seen":11,"resource_available":false,"data":"/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMvaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzA2NyA3OS4xNTc3NDcsIDIwMTUvMDMvMzAtMjM6NDA6NDIgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyOUVBMUQzODA0QzIxMUU4OTkzOEY2Qjk2Q0IxMjExOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyOUVBMUQzOTA0QzIxMUU4OTkzOEY2Qjk2Q0IxMjExOCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjI5RUExRDM2MDRDMjExRTg5OTM4RjZCOTZDQjEyMTE4IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjI5RUExRDM3MDRDMjExRTg5OTM4RjZCOTZDQjEyMTE4Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJ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"}},"time_used":62,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":44,"receive":18,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/css/font-awesome.css","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.715Z","timestamp":1785123231715,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /css/font-awesome.css HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/css/style.css\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: text/css\r\nlast-modified: Wed, 22 Apr 2026 17:27:27 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 6585\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":36993,"size_decoded":6894,"mime_type":"text/css","magic":"troff or preprocessor input, ASCII text, with very long lines (347), with CRLF line terminators","md5":"8b0592256147b19e3bd49ef51b502873","sha1":"6a61f5f06d5029d7c04e0c11db43de368aee9ee2","sha256":"f3e51a0ff76951edbe06397d33a3d40ad368eae4c851380d473c7c2c240105cc","sha512":"91c318d6634be0323f5abc986b6c03ea6336ba6711af3bf4374847ba5007e0d3a6e64b667673aeabf55283a53d03449b57b2fc5aed1b31ba4f98e9f29d05a3d6","ssdeep":"768:2bsmzFd8cWmbiC/9TUMNDtnx6ujNJZDd8:2bsm5dQmR/9ASJx6ujT8","tlshash":"def238fcd16e00904b22daa1a3426a627b3db6bcfe420d55f2263d8c91c3655a1c6fdd","first_seen":"2026-06-26T06:01:48.603721Z","last_seen":"2026-07-27T05:05:33.637093Z","times_seen":7,"resource_available":false,"data":"LyohDQogKiAgRm9udCBBd2Vzb21lIDQuNi4xIGJ5IEBkYXZlZ2FuZHkgLSBodHRwOi8vZm9udGF3ZXNvbWUuaW8gLSBAZm9udGF3ZXNvbWUNCiAqICBMaWNlbnNlIC0gaHR0cDovL2ZvbnRhd2Vzb21lLmlvL2xpY2Vuc2UgKEZvbnQ6IFNJTCBPRkwgMS4xLCBDU1M6IE1JVCBMaWNlbnNlKQ0KICovDQovKiBGT05UIFBBVEgNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQpAZm9udC1mYWNlIHsNCiAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7DQogIHNyYzogdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LXYlM2Q0LjYuMS5lb3QnKTsNCiAgc3JjOiB1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQtLmVvdCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LXYlM2Q0LjYuMS53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LXYlM2Q0LjYuMS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC12JTNkNC42LjEudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCB1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQtdiUzZDQuNi4xLnN2ZycpIGZvcm1hdCgnc3ZnJyk7DQogIGZvbnQtd2VpZ2h0OiBub3JtYWw7DQogIGZvbnQtc3R5bGU6IG5vcm1hbDsNCn0NCi5mYSB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7DQogIGZvbnQtd2VpZ2h0OiBub3JtYWw7DQogIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgZm9udC1zaXplOiBpbmhlcml0Ow0KICB0ZXh0LXJlbmRlcmluZzogYXV0bzsNCiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOw0KfQ0KLyogbWFrZXMgdGhlIGZvbnQgMzMlIGxhcmdlciByZWxhdGl2ZSB0byB0aGUgaWNvbiBjb250YWluZXIgKi8NCi5mYS1sZyB7DQogIGZvbnQtc2l6ZTogMS4zMzMzMzMzM2VtOw0KICBsaW5lLWhlaWdodDogMC43NWVtOw0KICB2ZXJ0aWNhbC1hbGlnbjogLTE1JTsNCn0NCi5mYS0yeCB7DQogIGZvbnQtc2l6ZTogMmVtOw0KfQ0KLmZhLTN4IHsNCiAgZm9udC1zaXplOiAzZW07DQp9DQouZmEtNHggew0KICBmb250LXNpemU6IDRlbTsNCn0NCi5mYS01eCB7DQogIGZvbnQtc2l6ZTogNWVtOw0KfQ0KLmZhLWZ3IHsNCiAgd2lkdGg6IDEuMjg1NzE0MjllbTsNCiAgdGV4dC1hbGlnbjogY2VudGVyOw0KfQ0KLmZhLXVsIHsNCiAgcGFkZGluZy1sZWZ0OiAwOw0KICBtYXJnaW4tbGVmdDogMi4xNDI4NTcxNGVtOw0KICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7DQp9DQouZmEtdWwgPiBsaSB7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCn0NCi5mYS1saSB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgbGVmdDogLTIuMTQyODU3MTRlbTsNCiAgd2lkdGg6IDIuMTQyODU3MTRlbTsNCiAgdG9wOiAwLjE0Mjg1NzE0ZW07DQogIHRleHQtYWxpZ246IGNlbnRlcjsNCn0NCi5mYS1saS5mYS1sZyB7DQogIGxlZnQ6IC0xLjg1NzE0Mjg2ZW07DQp9DQouZmEtYm9yZGVyIHsNCiAgcGFkZGluZzogLjJlbSAuMjVlbSAuMTVlbTsNCiAgYm9yZGVyOiBzb2xpZCAwLjA4ZW0gI2VlZWVlZTsNCiAgYm9yZGVyLXJhZGl1czogLjFlbTsNCn0NCi5mYS1wdWxsLWxlZnQgew0KICBmbG9hdDogbGVmdDsNCn0NCi5mYS1wdWxsLXJpZ2h0IHsNCiAgZmxvYXQ6IHJpZ2h0Ow0KfQ0KLmZhLmZhLXB1bGwtbGVmdCB7DQogIG1hcmdpbi1yaWdodDogLjNlbTsNCn0NCi5mYS5mYS1wdWxsLXJpZ2h0IHsNCiAgbWFyZ2luLWxlZnQ6IC4zZW07DQp9DQovKiBEZXByZWNhdGVkIGFzIG9mIDQuNC4wICovDQoucHVsbC1yaWdodCB7DQogIGZsb2F0OiByaWdodDsNCn0NCi5wdWxsLWxlZnQgew0KICBmbG9hdDogbGVmdDsNCn0NCi5mYS5wdWxsLWxlZnQgew0KICBtYXJnaW4tcmlnaHQ6IC4zZW07DQp9DQouZmEucHVsbC1yaWdodCB7DQogIG1hcmdpbi1sZWZ0OiAuM2VtOw0KfQ0KLmZhLXNwaW4gew0KICAtd2Via2l0LWFuaW1hdGlvbjogZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7DQogIGFuaW1hdGlvbjogZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7DQp9DQouZmEtcHVsc2Ugew0KICAtd2Via2l0LWFuaW1hdGlvbjogZmEtc3BpbiAxcyBpbmZpbml0ZSBzdGVwcyg4KTsNCiAgYW5pbWF0aW9uOiBmYS1zcGluIDFzIGluZmluaXRlIHN0ZXBzKDgpOw0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIGZhLXNwaW4gew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsNCiAgfQ0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTsNCiAgfQ0KfQ0KQGtleWZyYW1lcyBmYS1zcGluIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7DQogIH0NCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7DQogIH0NCn0NCi5mYS1yb3RhdGUtOTAgew0KICAtbXMtZmlsdGVyOiAicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MSkiOw0KICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsNCiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsNCiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOw0KfQ0KLmZhLXJvdGF0ZS0xODAgew0KICAtbXMtZmlsdGVyOiAicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MikiOw0KICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7DQogIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOw0KICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOw0KfQ0KLmZhLXJvdGF0ZS0yNzAgew0KICAtbXMtZmlsdGVyOiAicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MykiOw0KICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7DQogIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOw0KICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOw0KfQ0KLmZhLWZsaXAtaG9yaXpvbnRhbCB7DQogIC1tcy1maWx0ZXI6ICJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0wLCBtaXJyb3I9MSkiOw0KICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLTEsIDEpOw0KICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7DQogIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpOw0KfQ0KLmZhLWZsaXAtdmVydGljYWwgew0KICAtbXMtZmlsdGVyOiAicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MiwgbWlycm9yPTEpIjsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTsNCiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSwgLTEpOw0KICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTsNCn0NCjpyb290IC5mYS1yb3RhdGUtOTAsDQo6cm9vdCAuZmEtcm90YXRlLTE4MCwNCjpyb290IC5mYS1yb3RhdGUtMjcwLA0KOnJvb3QgLmZhLWZsaXAtaG9yaXpvbnRhbCwNCjpyb290IC5mYS1mbGlwLXZlcnRpY2FsIHsNCiAgZmlsdGVyOiBub25lOw0KfQ0KLmZhLXN0YWNrIHsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQogIHdpZHRoOiAyZW07DQogIGhlaWdodDogMmVtOw0KICBsaW5lLWhlaWdodDogMmVtOw0KICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KfQ0KLmZhLXN0YWNrLTF4LA0KLmZhLXN0YWNrLTJ4IHsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICBsZWZ0OiAwOw0KICB3aWR0aDogMTAwJTsNCiAgdGV4dC1hbGlnbjogY2VudGVyOw0KfQ0KLmZhLXN0YWNrLTF4IHsNCiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7DQp9DQouZmEtc3RhY2stMnggew0KICBmb250LXNpemU6IDJlbTsNCn0NCi5mYS1pbnZlcnNlIHsNCiAgY29sb3I6ICNmZmZmZmY7DQp9DQovKiBGb250IEF3ZXNvbWUgdXNlcyB0aGUgVW5pY29kZSBQcml2YXRlIFVzZSBBcmVhIChQVUEpIHRvIGVuc3VyZSBzY3JlZW4NCiAgIHJlYWRlcnMgZG8gbm90IHJlYWQgb2ZmIHJhbmRvbSBjaGFyYWN0ZXJzIHRoYXQgcmVwcmVzZW50IGljb25zICovDQouZmEtZ2xhc3M6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDAwIjsNCn0NCi5mYS1tdXNpYzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMDEiOw0KfQ0KLmZhLXNlYXJjaDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMDIiOw0KfQ0KLmZhLWVudmVsb3BlLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDAzIjsNCn0NCi5mYS1oZWFydDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMDQiOw0KfQ0KLmZhLXN0YXI6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDA1IjsNCn0NCi5mYS1zdGFyLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDA2IjsNCn0NCi5mYS11c2VyOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAwNyI7DQp9DQouZmEtZmlsbTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMDgiOw0KfQ0KLmZhLXRoLWxhcmdlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAwOSI7DQp9DQouZmEtdGg6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDBhIjsNCn0NCi5mYS10aC1saXN0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAwYiI7DQp9DQouZmEtY2hlY2s6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDBjIjsNCn0NCi5mYS1yZW1vdmU6YmVmb3JlLA0KLmZhLWNsb3NlOmJlZm9yZSwNCi5mYS10aW1lczpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMGQiOw0KfQ0KLmZhLXNlYXJjaC1wbHVzOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAwZSI7DQp9DQouZmEtc2VhcmNoLW1pbnVzOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAxMCI7DQp9DQouZmEtcG93ZXItb2ZmOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAxMSI7DQp9DQouZmEtc2lnbmFsOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAxMiI7DQp9DQouZmEtZ2VhcjpiZWZvcmUsDQouZmEtY29nOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAxMyI7DQp9DQouZmEtdHJhc2gtbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMTQiOw0KfQ0KLmZhLWhvbWU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDE1IjsNCn0NCi5mYS1maWxlLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDE2IjsNCn0NCi5mYS1jbG9jay1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAxNyI7DQp9DQouZmEtcm9hZDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMTgiOw0KfQ0KLmZhLWRvd25sb2FkOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAxOSI7DQp9DQouZmEtYXJyb3ctY2lyY2xlLW8tZG93bjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMWEiOw0KfQ0KLmZhLWFycm93LWNpcmNsZS1vLXVwOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAxYiI7DQp9DQouZmEtaW5ib3g6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDFjIjsNCn0NCi5mYS1wbGF5LWNpcmNsZS1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAxZCI7DQp9DQouZmEtcm90YXRlLXJpZ2h0OmJlZm9yZSwNCi5mYS1yZXBlYXQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDFlIjsNCn0NCi5mYS1yZWZyZXNoOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAyMSI7DQp9DQouZmEtbGlzdC1hbHQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDIyIjsNCn0NCi5mYS1sb2NrOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAyMyI7DQp9DQouZmEtZmxhZzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMjQiOw0KfQ0KLmZhLWhlYWRwaG9uZXM6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDI1IjsNCn0NCi5mYS12b2x1bWUtb2ZmOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAyNiI7DQp9DQouZmEtdm9sdW1lLWRvd246YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDI3IjsNCn0NCi5mYS12b2x1bWUtdXA6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDI4IjsNCn0NCi5mYS1xcmNvZGU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDI5IjsNCn0NCi5mYS1iYXJjb2RlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAyYSI7DQp9DQouZmEtdGFnOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAyYiI7DQp9DQouZmEtdGFnczpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMmMiOw0KfQ0KLmZhLWJvb2s6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDJkIjsNCn0NCi5mYS1ib29rbWFyazpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMmUiOw0KfQ0KLmZhLXByaW50OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAyZiI7DQp9DQouZmEtY2FtZXJhOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAzMCI7DQp9DQouZmEtZm9udDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMzEiOw0KfQ0KLmZhLWJvbGQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDMyIjsNCn0NCi5mYS1pdGFsaWM6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDMzIjsNCn0NCi5mYS10ZXh0LWhlaWdodDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMzQiOw0KfQ0KLmZhLXRleHQtd2lkdGg6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDM1IjsNCn0NCi5mYS1hbGlnbi1sZWZ0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAzNiI7DQp9DQouZmEtYWxpZ24tY2VudGVyOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAzNyI7DQp9DQouZmEtYWxpZ24tcmlnaHQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDM4IjsNCn0NCi5mYS1hbGlnbi1qdXN0aWZ5OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAzOSI7DQp9DQouZmEtbGlzdDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwM2EiOw0KfQ0KLmZhLWRlZGVudDpiZWZvcmUsDQouZmEtb3V0ZGVudDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwM2IiOw0KfQ0KLmZhLWluZGVudDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwM2MiOw0KfQ0KLmZhLXZpZGVvLWNhbWVyYTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwM2QiOw0KfQ0KLmZhLXBob3RvOmJlZm9yZSwNCi5mYS1pbWFnZTpiZWZvcmUsDQouZmEtcGljdHVyZS1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAzZSI7DQp9DQouZmEtcGVuY2lsOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA0MCI7DQp9DQouZmEtbWFwLW1hcmtlcjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNDEiOw0KfQ0KLmZhLWFkanVzdDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNDIiOw0KfQ0KLmZhLXRpbnQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDQzIjsNCn0NCi5mYS1lZGl0OmJlZm9yZSwNCi5mYS1wZW5jaWwtc3F1YXJlLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDQ0IjsNCn0NCi5mYS1zaGFyZS1zcXVhcmUtbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNDUiOw0KfQ0KLmZhLWNoZWNrLXNxdWFyZS1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA0NiI7DQp9DQouZmEtYXJyb3dzOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA0NyI7DQp9DQouZmEtc3RlcC1iYWNrd2FyZDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNDgiOw0KfQ0KLmZhLWZhc3QtYmFja3dhcmQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDQ5IjsNCn0NCi5mYS1iYWNrd2FyZDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNGEiOw0KfQ0KLmZhLXBsYXk6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDRiIjsNCn0NCi5mYS1wYXVzZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNGMiOw0KfQ0KLmZhLXN0b3A6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDRkIjsNCn0NCi5mYS1mb3J3YXJkOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA0ZSI7DQp9DQouZmEtZmFzdC1mb3J3YXJkOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA1MCI7DQp9DQouZmEtc3RlcC1mb3J3YXJkOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA1MSI7DQp9DQouZmEtZWplY3Q6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDUyIjsNCn0NCi5mYS1jaGV2cm9uLWxlZnQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDUzIjsNCn0NCi5mYS1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA1NCI7DQp9DQouZmEtcGx1cy1jaXJjbGU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDU1IjsNCn0NCi5mYS1taW51cy1jaXJjbGU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDU2IjsNCn0NCi5mYS10aW1lcy1jaXJjbGU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDU3IjsNCn0NCi5mYS1jaGVjay1jaXJjbGU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDU4IjsNCn0NCi5mYS1xdWVzdGlvbi1jaXJjbGU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDU5IjsNCn0NCi5mYS1pbmZvLWNpcmNsZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNWEiOw0KfQ0KLmZhLWNyb3NzaGFpcnM6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDViIjsNCn0NCi5mYS10aW1lcy1jaXJjbGUtbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNWMiOw0KfQ0KLmZhLWNoZWNrLWNpcmNsZS1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA1ZCI7DQp9DQouZmEtYmFuOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA1ZSI7DQp9DQouZmEtYXJyb3ctbGVmdDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNjAiOw0KfQ0KLmZhLWFycm93LXJpZ2h0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA2MSI7DQp9DQouZmEtYXJyb3ctdXA6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDYyIjsNCn0NCi5mYS1hcnJvdy1kb3duOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA2MyI7DQp9DQouZmEtbWFpbC1mb3J3YXJkOmJlZm9yZSwNCi5mYS1zaGFyZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNjQiOw0KfQ0KLmZhLWV4cGFuZDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNjUiOw0KfQ0KLmZhLWNvbXByZXNzOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA2NiI7DQp9DQouZmEtcGx1czpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNjciOw0KfQ0KLmZhLW1pbnVzOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA2OCI7DQp9DQouZmEtYXN0ZXJpc2s6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDY5IjsNCn0NCi5mYS1leGNsYW1hdGlvbi1jaXJjbGU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDZhIjsNCn0NCi5mYS1naWZ0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA2YiI7DQp9DQouZmEtbGVhZjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNmMiOw0KfQ0KLmZhLWZpcmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDZkIjsNCn0NCi5mYS1leWU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDZlIjsNCn0NCi5mYS1leWUtc2xhc2g6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDcwIjsNCn0NCi5mYS13YXJuaW5nOmJlZm9yZSwNCi5mYS1leGNsYW1hdGlvbi10cmlhbmdsZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNzEiOw0KfQ0KLmZhLXBsYW5lOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA3MiI7DQp9DQouZmEtY2FsZW5kYXI6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDczIjsNCn0NCi5mYS1yYW5kb206YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDc0IjsNCn0NCi5mYS1jb21tZW50OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA3NSI7DQp9DQouZmEtbWFnbmV0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA3NiI7DQp9DQouZmEtY2hldnJvbi11cDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNzciOw0KfQ0KLmZhLWNoZXZyb24tZG93bjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNzgiOw0KfQ0KLmZhLXJldHdlZXQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDc5IjsNCn0NCi5mYS1zaG9wcGluZy1jYXJ0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA3YSI7DQp9DQouZmEtZm9sZGVyOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA3YiI7DQp9DQouZmEtZm9sZGVyLW9wZW46YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDdjIjsNCn0NCi5mYS1hcnJvd3MtdjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwN2QiOw0KfQ0KLmZhLWFycm93cy1oOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA3ZSI7DQp9DQouZmEtYmFyLWNoYXJ0LW86YmVmb3JlLA0KLmZhLWJhci1jaGFydDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwODAiOw0KfQ0KLmZhLXR3aXR0ZXItc3F1YXJlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA4MSI7DQp9DQouZmEtZmFjZWJvb2stc3F1YXJlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA4MiI7DQp9DQouZmEtY2FtZXJhLXJldHJvOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA4MyI7DQp9DQouZmEta2V5OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA4NCI7DQp9DQouZmEtZ2VhcnM6YmVmb3JlLA0KLmZhLWNvZ3M6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDg1IjsNCn0NCi5mYS1jb21tZW50czpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwODYiOw0KfQ0KLmZhLXRodW1icy1vLXVwOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA4NyI7DQp9DQouZmEtdGh1bWJzLW8tZG93bjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwODgiOw0KfQ0KLmZhLXN0YXItaGFsZjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwODkiOw0KfQ0KLmZhLWhlYXJ0LW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDhhIjsNCn0NCi5mYS1zaWduLW91dDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwOGIiOw0KfQ0KLmZhLWxpbmtlZGluLXNxdWFyZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwOGMiOw0KfQ0KLmZhLXRodW1iLXRhY2s6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDhkIjsNCn0NCi5mYS1leHRlcm5hbC1saW5rOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA4ZSI7DQp9DQouZmEtc2lnbi1pbjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwOTAiOw0KfQ0KLmZhLXRyb3BoeTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwOTEiOw0KfQ0KLmZhLWdpdGh1Yi1zcXVhcmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDkyIjsNCn0NCi5mYS11cGxvYWQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDkzIjsNCn0NCi5mYS1sZW1vbi1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA5NCI7DQp9DQouZmEtcGhvbmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDk1IjsNCn0NCi5mYS1zcXVhcmUtbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwOTYiOw0KfQ0KLmZhLWJvb2ttYXJrLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDk3IjsNCn0NCi5mYS1waG9uZS1zcXVhcmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDk4IjsNCn0NCi5mYS10d2l0dGVyOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA5OSI7DQp9DQouZmEtZmFjZWJvb2stZjpiZWZvcmUsDQouZmEtZmFjZWJvb2s6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDlhIjsNCn0NCi5mYS1naXRodWI6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDliIjsNCn0NCi5mYS11bmxvY2s6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDljIjsNCn0NCi5mYS1jcmVkaXQtY2FyZDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwOWQiOw0KfQ0KLmZhLWZlZWQ6YmVmb3JlLA0KLmZhLXJzczpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwOWUiOw0KfQ0KLmZhLWhkZC1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBhMCI7DQp9DQouZmEtYnVsbGhvcm46YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGExIjsNCn0NCi5mYS1iZWxsOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBmMyI7DQp9DQouZmEtY2VydGlmaWNhdGU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGEzIjsNCn0NCi5mYS1oYW5kLW8tcmlnaHQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGE0IjsNCn0NCi5mYS1oYW5kLW8tbGVmdDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwYTUiOw0KfQ0KLmZhLWhhbmQtby11cDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwYTYiOw0KfQ0KLmZhLWhhbmQtby1kb3duOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBhNyI7DQp9DQouZmEtYXJyb3ctY2lyY2xlLWxlZnQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGE4IjsNCn0NCi5mYS1hcnJvdy1jaXJjbGUtcmlnaHQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGE5IjsNCn0NCi5mYS1hcnJvdy1jaXJjbGUtdXA6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGFhIjsNCn0NCi5mYS1hcnJvdy1jaXJjbGUtZG93bjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwYWIiOw0KfQ0KLmZhLWdsb2JlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBhYyI7DQp9DQouZmEtd3JlbmNoOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBhZCI7DQp9DQouZmEtdGFza3M6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGFlIjsNCn0NCi5mYS1maWx0ZXI6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGIwIjsNCn0NCi5mYS1icmllZmNhc2U6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGIxIjsNCn0NCi5mYS1hcnJvd3MtYWx0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBiMiI7DQp9DQouZmEtZ3JvdXA6YmVmb3JlLA0KLmZhLXVzZXJzOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBjMCI7DQp9DQouZmEtY2hhaW46YmVmb3JlLA0KLmZhLWxpbms6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGMxIjsNCn0NCi5mYS1jbG91ZDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwYzIiOw0KfQ0KLmZhLWZsYXNrOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBjMyI7DQp9DQouZmEtY3V0OmJlZm9yZSwNCi5mYS1zY2lzc29yczpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwYzQiOw0KfQ0KLmZhLWNvcHk6YmVmb3JlLA0KLmZhLWZpbGVzLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGM1IjsNCn0NCi5mYS1wYXBlcmNsaXA6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGM2IjsNCn0NCi5mYS1zYXZlOmJlZm9yZSwNCi5mYS1mbG9wcHktbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwYzciOw0KfQ0KLmZhLXNxdWFyZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwYzgiOw0KfQ0KLmZhLW5hdmljb246YmVmb3JlLA0KLmZhLXJlb3JkZXI6YmVmb3JlLA0KLmZhLWJhcnM6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGM5IjsNCn0NCi5mYS1saXN0LXVsOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBjYSI7DQp9DQouZmEtbGlzdC1vbDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwY2IiOw0KfQ0KLmZhLXN0cmlrZXRocm91Z2g6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGNjIjsNCn0NCi5mYS11bmRlcmxpbmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGNkIjsNCn0NCi5mYS10YWJsZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwY2UiOw0KfQ0KLmZhLW1hZ2ljOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBkMCI7DQp9DQouZmEtdHJ1Y2s6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGQxIjsNCn0NCi5mYS1waW50ZXJlc3Q6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGQyIjsNCn0NCi5mYS1waW50ZXJlc3Qtc3F1YXJlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBkMyI7DQp9DQouZmEtZ29vZ2xlLXBsdXMtc3F1YXJlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBkNCI7DQp9DQouZmEtZ29vZ2xlLXBsdXM6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGQ1IjsNCn0NCi5mYS1tb25leTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwZDYiOw0KfQ0KLmZhLWNhcmV0LWRvd246YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGQ3IjsNCn0NCi5mYS1jYXJldC11cDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwZDgiOw0KfQ0KLmZhLWNhcmV0LWxlZnQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGQ5IjsNCn0NCi5mYS1jYXJldC1yaWdodDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwZGEiOw0KfQ0KLmZhLWNvbHVtbnM6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGRiIjsNCn0NCi5mYS11bnNvcnRlZDpiZWZvcmUsDQouZmEtc29ydDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwZGMiOw0KfQ0KLmZhLXNvcnQtZG93bjpiZWZvcmUsDQouZmEtc29ydC1kZXNjOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBkZCI7DQp9DQouZmEtc29ydC11cDpiZWZvcmUsDQouZmEtc29ydC1hc2M6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGRlIjsNCn0NCi5mYS1lbnZlbG9wZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwZTAiOw0KfQ0KLmZhLWxpbmtlZGluOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBlMSI7DQp9DQouZmEtcm90YXRlLWxlZnQ6YmVmb3JlLA0KLmZhLXVuZG86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGUyIjsNCn0NCi5mYS1sZWdhbDpiZWZvcmUsDQouZmEtZ2F2ZWw6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGUzIjsNCn0NCi5mYS1kYXNoYm9hcmQ6YmVmb3JlLA0KLmZhLXRhY2hvbWV0ZXI6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGU0IjsNCn0NCi5mYS1jb21tZW50LW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGU1IjsNCn0NCi5mYS1jb21tZW50cy1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBlNiI7DQp9DQouZmEtZmxhc2g6YmVmb3JlLA0KLmZhLWJvbHQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGU3IjsNCn0NCi5mYS1zaXRlbWFwOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBlOCI7DQp9DQouZmEtdW1icmVsbGE6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGU5IjsNCn0NCi5mYS1wYXN0ZTpiZWZvcmUsDQouZmEtY2xpcGJvYXJkOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBlYSI7DQp9DQouZmEtbGlnaHRidWxiLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGViIjsNCn0NCi5mYS1leGNoYW5nZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwZWMiOw0KfQ0KLmZhLWNsb3VkLWRvd25sb2FkOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBlZCI7DQp9DQouZmEtY2xvdWQtdXBsb2FkOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBlZSI7DQp9DQouZmEtdXNlci1tZDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwZjAiOw0KfQ0KLmZhLXN0ZXRob3Njb3BlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBmMSI7DQp9DQouZmEtc3VpdGNhc2U6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGYyIjsNCn0NCi5mYS1iZWxsLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGEyIjsNCn0NCi5mYS1jb2ZmZWU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGY0IjsNCn0NCi5mYS1jdXRsZXJ5OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBmNSI7DQp9DQouZmEtZmlsZS10ZXh0LW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGY2IjsNCn0NCi5mYS1idWlsZGluZy1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBmNyI7DQp9DQouZmEtaG9zcGl0YWwtbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwZjgiOw0KfQ0KLmZhLWFtYnVsYW5jZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwZjkiOw0KfQ0KLmZhLW1lZGtpdDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwZmEiOw0KfQ0KLmZhLWZpZ2h0ZXItamV0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBmYiI7DQp9DQouZmEtYmVlcjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwZmMiOw0KfQ0KLmZhLWgtc3F1YXJlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBmZCI7DQp9DQouZmEtcGx1cy1zcXVhcmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGZlIjsNCn0NCi5mYS1hbmdsZS1kb3VibGUtbGVmdDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMDAiOw0KfQ0KLmZhLWFuZ2xlLWRvdWJsZS1yaWdodDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMDEiOw0KfQ0KLmZhLWFuZ2xlLWRvdWJsZS11cDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMDIiOw0KfQ0KLmZhLWFuZ2xlLWRvdWJsZS1kb3duOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjEwMyI7DQp9DQouZmEtYW5nbGUtbGVmdDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMDQiOw0KfQ0KLmZhLWFuZ2xlLXJpZ2h0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjEwNSI7DQp9DQouZmEtYW5nbGUtdXA6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTA2IjsNCn0NCi5mYS1hbmdsZS1kb3duOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjEwNyI7DQp9DQouZmEtZGVza3RvcDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMDgiOw0KfQ0KLmZhLWxhcHRvcDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMDkiOw0KfQ0KLmZhLXRhYmxldDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMGEiOw0KfQ0KLmZhLW1vYmlsZS1waG9uZTpiZWZvcmUsDQouZmEtbW9iaWxlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjEwYiI7DQp9DQouZmEtY2lyY2xlLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTBjIjsNCn0NCi5mYS1xdW90ZS1sZWZ0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjEwZCI7DQp9DQouZmEtcXVvdGUtcmlnaHQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTBlIjsNCn0NCi5mYS1zcGlubmVyOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjExMCI7DQp9DQouZmEtY2lyY2xlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjExMSI7DQp9DQouZmEtbWFpbC1yZXBseTpiZWZvcmUsDQouZmEtcmVwbHk6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTEyIjsNCn0NCi5mYS1naXRodWItYWx0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjExMyI7DQp9DQouZmEtZm9sZGVyLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTE0IjsNCn0NCi5mYS1mb2xkZXItb3Blbi1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjExNSI7DQp9DQouZmEtc21pbGUtbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMTgiOw0KfQ0KLmZhLWZyb3duLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTE5IjsNCn0NCi5mYS1tZWgtbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMWEiOw0KfQ0KLmZhLWdhbWVwYWQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTFiIjsNCn0NCi5mYS1rZXlib2FyZC1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjExYyI7DQp9DQouZmEtZmxhZy1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjExZCI7DQp9DQouZmEtZmxhZy1jaGVja2VyZWQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTFlIjsNCn0NCi5mYS10ZXJtaW5hbDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMjAiOw0KfQ0KLmZhLWNvZGU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTIxIjsNCn0NCi5mYS1tYWlsLXJlcGx5LWFsbDpiZWZvcmUsDQouZmEtcmVwbHktYWxsOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjEyMiI7DQp9DQouZmEtc3Rhci1oYWxmLWVtcHR5OmJlZm9yZSwNCi5mYS1zdGFyLWhhbGYtZnVsbDpiZWZvcmUsDQouZmEtc3Rhci1oYWxmLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTIzIjsNCn0NCi5mYS1sb2NhdGlvbi1hcnJvdzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMjQiOw0KfQ0KLmZhLWNyb3A6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTI1IjsNCn0NCi5mYS1jb2RlLWZvcms6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTI2IjsNCn0NCi5mYS11bmxpbms6YmVmb3JlLA0KLmZhLWNoYWluLWJyb2tlbjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMjciOw0KfQ0KLmZhLXF1ZXN0aW9uOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjEyOCI7DQp9DQouZmEtaW5mbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMjkiOw0KfQ0KLmZhLWV4Y2xhbWF0aW9uOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjEyYSI7DQp9DQouZmEtc3VwZXJzY3JpcHQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTJiIjsNCn0NCi5mYS1zdWJzY3JpcHQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTJjIjsNCn0NCi5mYS1lcmFzZXI6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTJkIjsNCn0NCi5mYS1wdXp6bGUtcGllY2U6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTJlIjsNCn0NCi5mYS1taWNyb3Bob25lOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjEzMCI7DQp9DQouZmEtbWljcm9waG9uZS1zbGFzaDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMzEiOw0KfQ0KLmZhLXNoaWVsZDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMzIiOw0KfQ0KLmZhLWNhbGVuZGFyLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTMzIjsNCn0NCi5mYS1maXJlLWV4dGluZ3Vpc2hlcjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMzQiOw0KfQ0KLmZhLXJvY2tldDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMzUiOw0KfQ0KLmZhLW1heGNkbjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMzYiOw0KfQ0KLmZhLWNoZXZyb24tY2lyY2xlLWxlZnQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTM3IjsNCn0NCi5mYS1jaGV2cm9uLWNpcmNsZS1yaWdodDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMzgiOw0KfQ0KLmZhLWNoZXZyb24tY2lyY2xlLXVwOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjEzOSI7DQp9DQouZmEtY2hldnJvbi1jaXJjbGUtZG93bjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxM2EiOw0KfQ0KLmZhLWh0bWw1OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjEzYiI7DQp9DQouZmEtY3NzMzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxM2MiOw0KfQ0KLmZhLWFuY2hvcjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxM2QiOw0KfQ0KLmZhLXVubG9jay1hbHQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTNlIjsNCn0NCi5mYS1idWxsc2V5ZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxNDAiOw0KfQ0KLmZhLWVsbGlwc2lzLWg6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTQxIjsNCn0NCi5mYS1lbGxpcHNpcy12OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE0MiI7DQp9DQouZmEtcnNzLXNxdWFyZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxNDMiOw0KfQ0KLmZhLXBsYXktY2lyY2xlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE0NCI7DQp9DQouZmEtdGlja2V0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE0NSI7DQp9DQouZmEtbWludXMtc3F1YXJlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE0NiI7DQp9DQouZmEtbWludXMtc3F1YXJlLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTQ3IjsNCn0NCi5mYS1sZXZlbC11cDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxNDgiOw0KfQ0KLmZhLWxldmVsLWRvd246YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTQ5IjsNCn0NCi5mYS1jaGVjay1zcXVhcmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTRhIjsNCn0NCi5mYS1wZW5jaWwtc3F1YXJlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE0YiI7DQp9DQouZmEtZXh0ZXJuYWwtbGluay1zcXVhcmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTRjIjsNCn0NCi5mYS1zaGFyZS1zcXVhcmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTRkIjsNCn0NCi5mYS1jb21wYXNzOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE0ZSI7DQp9DQouZmEtdG9nZ2xlLWRvd246YmVmb3JlLA0KLmZhLWNhcmV0LXNxdWFyZS1vLWRvd246YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTUwIjsNCn0NCi5mYS10b2dnbGUtdXA6YmVmb3JlLA0KLmZhLWNhcmV0LXNxdWFyZS1vLXVwOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE1MSI7DQp9DQouZmEtdG9nZ2xlLXJpZ2h0OmJlZm9yZSwNCi5mYS1jYXJldC1zcXVhcmUtby1yaWdodDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxNTIiOw0KfQ0KLmZhLWV1cm86YmVmb3JlLA0KLmZhLWV1cjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxNTMiOw0KfQ0KLmZhLWdicDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxNTQiOw0KfQ0KLmZhLWRvbGxhcjpiZWZvcmUsDQouZmEtdXNkOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE1NSI7DQp9DQouZmEtcnVwZWU6YmVmb3JlLA0KLmZhLWlucjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxNTYiOw0KfQ0KLmZhLWNueTpiZWZvcmUsDQouZmEtcm1iOmJlZm9yZSwNCi5mYS15ZW46YmVmb3JlLA0KLmZhLWpweTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxNTciOw0KfQ0KLmZhLXJ1YmxlOmJlZm9yZSwNCi5mYS1yb3VibGU6YmVmb3JlLA0KLmZhLXJ1YjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxNTgiOw0KfQ0KLmZhLXdvbjpiZWZvcmUsDQouZmEta3J3OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE1OSI7DQp9DQouZmEtYml0Y29pbjpiZWZvcmUsDQouZmEtYnRjOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE1YSI7DQp9DQouZmEtZmlsZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxNWIiOw0KfQ0KLmZhLWZpbGUtdGV4dDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxNWMiOw0KfQ0KLmZhLXNvcnQtYWxwaGEtYXNjOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE1ZCI7DQp9DQouZmEtc29ydC1hbHBoYS1kZXNjOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE1ZSI7DQp9DQouZmEtc29ydC1hbW91bnQtYXNjOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE2MCI7DQp9DQouZmEtc29ydC1hbW91bnQtZGVzYzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxNjEiOw0KfQ0KLmZhLXNvcnQtbnVtZXJpYy1hc2M6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTYyIjsNCn0NCi5mYS1zb3J0LW51bWVyaWMtZGVzYzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxNjMiOw0KfQ0KLmZhLXRodW1icy11cDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxNjQiOw0KfQ0KLmZhLXRodW1icy1kb3duOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE2NSI7DQp9DQouZmEteW91dHViZS1zcXVhcmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTY2IjsNCn0NCi5mYS15b3V0dWJlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE2NyI7DQp9DQouZmEteGluZzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxNjgiOw0KfQ0KLmZhLXhpbmctc3F1YXJlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE2OSI7DQp9DQouZmEteW91dHViZS1wbGF5OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE2YSI7DQp9DQouZmEtZHJvcGJveDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxNmIiOw0KfQ0KLmZhLXN0YWNrLW92ZXJmbG93OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE2YyI7DQp9DQouZmEtaW5zdGFncmFtOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE2ZCI7DQp9DQouZmEtZmxpY2tyOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE2ZSI7DQp9DQouZmEtYWRuOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE3MCI7DQp9DQouZmEtYml0YnVja2V0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE3MSI7DQp9DQouZmEtYml0YnVja2V0LXNxdWFyZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxNzIiOw0KfQ0KLmZhLXR1bWJscjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxNzMiOw0KfQ0KLmZhLXR1bWJsci1zcXVhcmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTc0IjsNCn0NCi5mYS1sb25nLWFycm93LWRvd246YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTc1IjsNCn0NCi5mYS1sb25nLWFycm93LXVwOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE3NiI7DQp9DQouZmEtbG9uZy1hcnJvdy1sZWZ0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE3NyI7DQp9DQouZmEtbG9uZy1hcnJvdy1yaWdodDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxNzgiOw0KfQ0KLmZhLWFwcGxlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE3OSI7DQp9DQouZmEtd2luZG93czpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxN2EiOw0KfQ0KLmZhLWFuZHJvaWQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTdiIjsNCn0NCi5mYS1saW51eDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxN2MiOw0KfQ0KLmZhLWRyaWJiYmxlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE3ZCI7DQp9DQouZmEtc2t5cGU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTdlIjsNCn0NCi5mYS1mb3Vyc3F1YXJlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE4MCI7DQp9DQouZmEtdHJlbGxvOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE4MSI7DQp9DQouZmEtZmVtYWxlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE4MiI7DQp9DQouZmEtbWFsZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxODMiOw0KfQ0KLmZhLWdpdHRpcDpiZWZvcmUsDQouZmEtZ3JhdGlwYXk6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTg0IjsNCn0NCi5mYS1zdW4tbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxODUiOw0KfQ0KLmZhLW1vb24tbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxODYiOw0KfQ0KLmZhLWFyY2hpdmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTg3IjsNCn0NCi5mYS1idWc6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTg4IjsNCn0NCi5mYS12azpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxODkiOw0KfQ0KLmZhLXdlaWJvOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE4YSI7DQp9DQouZmEtcmVucmVuOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE4YiI7DQp9DQouZmEtcGFnZWxpbmVzOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE4YyI7DQp9DQouZmEtc3RhY2stZXhjaGFuZ2U6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMThkIjsNCn0NCi5mYS1hcnJvdy1jaXJjbGUtby1yaWdodDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxOGUiOw0KfQ0KLmZhLWFycm93LWNpcmNsZS1vLWxlZnQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTkwIjsNCn0NCi5mYS10b2dnbGUtbGVmdDpiZWZvcmUsDQouZmEtY2FyZXQtc3F1YXJlLW8tbGVmdDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxOTEiOw0KfQ0KLmZhLWRvdC1jaXJjbGUtbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxOTIiOw0KfQ0KLmZhLXdoZWVsY2hhaXI6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTkzIjsNCn0NCi5mYS12aW1lby1zcXVhcmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTk0IjsNCn0NCi5mYS10dXJraXNoLWxpcmE6YmVmb3JlLA0KLmZhLXRyeTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxOTUiOw0KfQ0KLmZhLXBsdXMtc3F1YXJlLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTk2IjsNCn0NCi5mYS1zcGFjZS1zaHV0dGxlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE5NyI7DQp9DQouZmEtc2xhY2s6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTk4IjsNCn0NCi5mYS1lbnZlbG9wZS1zcXVhcmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTk5IjsNCn0NCi5mYS13b3JkcHJlc3M6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTlhIjsNCn0NCi5mYS1vcGVuaWQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTliIjsNCn0NCi5mYS1pbnN0aXR1dGlvbjpiZWZvcmUsDQouZmEtYmFuazpiZWZvcmUsDQouZmEtdW5pdmVyc2l0eTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxOWMiOw0KfQ0KLmZhLW1vcnRhci1ib2FyZDpiZWZvcmUsDQouZmEtZ3JhZHVhdGlvbi1jYXA6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTlkIjsNCn0NCi5mYS15YWhvbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxOWUiOw0KfQ0KLmZhLWdvb2dsZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxYTAiOw0KfQ0KLmZhLXJlZGRpdDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxYTEiOw0KfQ0KLmZhLXJlZGRpdC1zcXVhcmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWEyIjsNCn0NCi5mYS1zdHVtYmxldXBvbi1jaXJjbGU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWEzIjsNCn0NCi5mYS1zdHVtYmxldXBvbjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxYTQiOw0KfQ0KLmZhLWRlbGljaW91czpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxYTUiOw0KfQ0KLmZhLWRpZ2c6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWE2IjsNCn0NCi5mYS1waWVkLXBpcGVyOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFhNyI7DQp9DQouZmEtcGllZC1waXBlci1hbHQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWE4IjsNCn0NCi5mYS1kcnVwYWw6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWE5IjsNCn0NCi5mYS1qb29tbGE6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWFhIjsNCn0NCi5mYS1sYW5ndWFnZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxYWIiOw0KfQ0KLmZhLWZheDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxYWMiOw0KfQ0KLmZhLWJ1aWxkaW5nOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFhZCI7DQp9DQouZmEtY2hpbGQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWFlIjsNCn0NCi5mYS1wYXc6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWIwIjsNCn0NCi5mYS1zcG9vbjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxYjEiOw0KfQ0KLmZhLWN1YmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWIyIjsNCn0NCi5mYS1jdWJlczpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxYjMiOw0KfQ0KLmZhLWJlaGFuY2U6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWI0IjsNCn0NCi5mYS1iZWhhbmNlLXNxdWFyZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxYjUiOw0KfQ0KLmZhLXN0ZWFtOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFiNiI7DQp9DQouZmEtc3RlYW0tc3F1YXJlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFiNyI7DQp9DQouZmEtcmVjeWNsZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxYjgiOw0KfQ0KLmZhLWF1dG9tb2JpbGU6YmVmb3JlLA0KLmZhLWNhcjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxYjkiOw0KfQ0KLmZhLWNhYjpiZWZvcmUsDQouZmEtdGF4aTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxYmEiOw0KfQ0KLmZhLXRyZWU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWJiIjsNCn0NCi5mYS1zcG90aWZ5OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFiYyI7DQp9DQouZmEtZGV2aWFudGFydDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxYmQiOw0KfQ0KLmZhLXNvdW5kY2xvdWQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWJlIjsNCn0NCi5mYS1kYXRhYmFzZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxYzAiOw0KfQ0KLmZhLWZpbGUtcGRmLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWMxIjsNCn0NCi5mYS1maWxlLXdvcmQtbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxYzIiOw0KfQ0KLmZhLWZpbGUtZXhjZWwtbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxYzMiOw0KfQ0KLmZhLWZpbGUtcG93ZXJwb2ludC1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFjNCI7DQp9DQouZmEtZmlsZS1waG90by1vOmJlZm9yZSwNCi5mYS1maWxlLXBpY3R1cmUtbzpiZWZvcmUsDQouZmEtZmlsZS1pbWFnZS1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFjNSI7DQp9DQouZmEtZmlsZS16aXAtbzpiZWZvcmUsDQouZmEtZmlsZS1hcmNoaXZlLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWM2IjsNCn0NCi5mYS1maWxlLXNvdW5kLW86YmVmb3JlLA0KLmZhLWZpbGUtYXVkaW8tbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxYzciOw0KfQ0KLmZhLWZpbGUtbW92aWUtbzpiZWZvcmUsDQouZmEtZmlsZS12aWRlby1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFjOCI7DQp9DQouZmEtZmlsZS1jb2RlLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWM5IjsNCn0NCi5mYS12aW5lOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFjYSI7DQp9DQouZmEtY29kZXBlbjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxY2IiOw0KfQ0KLmZhLWpzZmlkZGxlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFjYyI7DQp9DQouZmEtbGlmZS1ib3V5OmJlZm9yZSwNCi5mYS1saWZlLWJ1b3k6YmVmb3JlLA0KLmZhLWxpZmUtc2F2ZXI6YmVmb3JlLA0KLmZhLXN1cHBvcnQ6YmVmb3JlLA0KLmZhLWxpZmUtcmluZzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxY2QiOw0KfQ0KLmZhLWNpcmNsZS1vLW5vdGNoOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFjZSI7DQp9DQouZmEtcmE6YmVmb3JlLA0KLmZhLXJlYmVsOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFkMCI7DQp9DQouZmEtZ2U6YmVmb3JlLA0KLmZhLWVtcGlyZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxZDEiOw0KfQ0KLmZhLWdpdC1zcXVhcmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWQyIjsNCn0NCi5mYS1naXQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWQzIjsNCn0NCi5mYS15LWNvbWJpbmF0b3Itc3F1YXJlOmJlZm9yZSwNCi5mYS15Yy1zcXVhcmU6YmVmb3JlLA0KLmZhLWhhY2tlci1uZXdzOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFkNCI7DQp9DQouZmEtdGVuY2VudC13ZWlibzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxZDUiOw0KfQ0KLmZhLXFxOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFkNiI7DQp9DQouZmEtd2VjaGF0OmJlZm9yZSwNCi5mYS13ZWl4aW46YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWQ3IjsNCn0NCi5mYS1zZW5kOmJlZm9yZSwNCi5mYS1wYXBlci1wbGFuZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxZDgiOw0KfQ0KLmZhLXNlbmQtbzpiZWZvcmUsDQouZmEtcGFwZXItcGxhbmUtbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxZDkiOw0KfQ0KLmZhLWhpc3Rvcnk6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWRhIjsNCn0NCi5mYS1jaXJjbGUtdGhpbjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxZGIiOw0KfQ0KLmZhLWhlYWRlcjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxZGMiOw0KfQ0KLmZhLXBhcmFncmFwaDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxZGQiOw0KfQ0KLmZhLXNsaWRlcnM6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWRlIjsNCn0NCi5mYS1zaGFyZS1hbHQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWUwIjsNCn0NCi5mYS1zaGFyZS1hbHQtc3F1YXJlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFlMSI7DQp9DQouZmEtYm9tYjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxZTIiOw0KfQ0KLmZhLXNvY2Nlci1iYWxsLW86YmVmb3JlLA0KLmZhLWZ1dGJvbC1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFlMyI7DQp9DQouZmEtdHR5OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFlNCI7DQp9DQouZmEtYmlub2N1bGFyczpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxZTUiOw0KfQ0KLmZhLXBsdWc6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWU2IjsNCn0NCi5mYS1zbGlkZXNoYXJlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFlNyI7DQp9DQouZmEtdHdpdGNoOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFlOCI7DQp9DQouZmEteWVscDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxZTkiOw0KfQ0KLmZhLW5ld3NwYXBlci1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFlYSI7DQp9DQouZmEtd2lmaTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxZWIiOw0KfQ0KLmZhLWNhbGN1bGF0b3I6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWVjIjsNCn0NCi5mYS1wYXlwYWw6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWVkIjsNCn0NCi5mYS1nb29nbGUtd2FsbGV0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFlZSI7DQp9DQouZmEtY2MtdmlzYTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxZjAiOw0KfQ0KLmZhLWNjLW1hc3RlcmNhcmQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWYxIjsNCn0NCi5mYS1jYy1kaXNjb3ZlcjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxZjIiOw0KfQ0KLmZhLWNjLWFtZXg6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWYzIjsNCn0NCi5mYS1jYy1wYXlwYWw6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWY0IjsNCn0NCi5mYS1jYy1zdHJpcGU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWY1IjsNCn0NCi5mYS1iZWxsLXNsYXNoOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFmNiI7DQp9DQouZmEtYmVsbC1zbGFzaC1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFmNyI7DQp9DQouZmEtdHJhc2g6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWY4IjsNCn0NCi5mYS1jb3B5cmlnaHQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWY5IjsNCn0NCi5mYS1hdDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxZmEiOw0KfQ0KLmZhLWV5ZWRyb3BwZXI6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWZiIjsNCn0NCi5mYS1wYWludC1icnVzaDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxZmMiOw0KfQ0KLmZhLWJpcnRoZGF5LWNha2U6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWZkIjsNCn0NCi5mYS1hcmVhLWNoYXJ0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFmZSI7DQp9DQouZmEtcGllLWNoYXJ0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIwMCI7DQp9DQouZmEtbGluZS1jaGFydDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyMDEiOw0KfQ0KLmZhLWxhc3RmbTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyMDIiOw0KfQ0KLmZhLWxhc3RmbS1zcXVhcmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjAzIjsNCn0NCi5mYS10b2dnbGUtb2ZmOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIwNCI7DQp9DQouZmEtdG9nZ2xlLW9uOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIwNSI7DQp9DQouZmEtYmljeWNsZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyMDYiOw0KfQ0KLmZhLWJ1czpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyMDciOw0KfQ0KLmZhLWlveGhvc3Q6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjA4IjsNCn0NCi5mYS1hbmdlbGxpc3Q6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjA5IjsNCn0NCi5mYS1jYzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyMGEiOw0KfQ0KLmZhLXNoZWtlbDpiZWZvcmUsDQouZmEtc2hlcWVsOmJlZm9yZSwNCi5mYS1pbHM6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjBiIjsNCn0NCi5mYS1tZWFucGF0aDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyMGMiOw0KfQ0KLmZhLWJ1eXNlbGxhZHM6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjBkIjsNCn0NCi5mYS1jb25uZWN0ZGV2ZWxvcDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyMGUiOw0KfQ0KLmZhLWRhc2hjdWJlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIxMCI7DQp9DQouZmEtZm9ydW1iZWU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjExIjsNCn0NCi5mYS1sZWFucHViOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIxMiI7DQp9DQouZmEtc2VsbHN5OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIxMyI7DQp9DQouZmEtc2hpcnRzaW5idWxrOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIxNCI7DQp9DQouZmEtc2ltcGx5YnVpbHQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjE1IjsNCn0NCi5mYS1za3lhdGxhczpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyMTYiOw0KfQ0KLmZhLWNhcnQtcGx1czpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyMTciOw0KfQ0KLmZhLWNhcnQtYXJyb3ctZG93bjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyMTgiOw0KfQ0KLmZhLWRpYW1vbmQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjE5IjsNCn0NCi5mYS1zaGlwOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIxYSI7DQp9DQouZmEtdXNlci1zZWNyZXQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjFiIjsNCn0NCi5mYS1tb3RvcmN5Y2xlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIxYyI7DQp9DQouZmEtc3RyZWV0LXZpZXc6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjFkIjsNCn0NCi5mYS1oZWFydGJlYXQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjFlIjsNCn0NCi5mYS12ZW51czpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyMjEiOw0KfQ0KLmZhLW1hcnM6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjIyIjsNCn0NCi5mYS1tZXJjdXJ5OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIyMyI7DQp9DQouZmEtaW50ZXJzZXg6YmVmb3JlLA0KLmZhLXRyYW5zZ2VuZGVyOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIyNCI7DQp9DQouZmEtdHJhbnNnZW5kZXItYWx0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIyNSI7DQp9DQouZmEtdmVudXMtZG91YmxlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIyNiI7DQp9DQouZmEtbWFycy1kb3VibGU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjI3IjsNCn0NCi5mYS12ZW51cy1tYXJzOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIyOCI7DQp9DQouZmEtbWFycy1zdHJva2U6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjI5IjsNCn0NCi5mYS1tYXJzLXN0cm9rZS12OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIyYSI7DQp9DQouZmEtbWFycy1zdHJva2UtaDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyMmIiOw0KfQ0KLmZhLW5ldXRlcjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyMmMiOw0KfQ0KLmZhLWdlbmRlcmxlc3M6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjJkIjsNCn0NCi5mYS1mYWNlYm9vay1vZmZpY2lhbDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyMzAiOw0KfQ0KLmZhLXBpbnRlcmVzdC1wOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIzMSI7DQp9DQouZmEtd2hhdHNhcHA6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjMyIjsNCn0NCi5mYS1zZXJ2ZXI6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjMzIjsNCn0NCi5mYS11c2VyLXBsdXM6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjM0IjsNCn0NCi5mYS11c2VyLXRpbWVzOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIzNSI7DQp9DQouZmEtaG90ZWw6YmVmb3JlLA0KLmZhLWJlZDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyMzYiOw0KfQ0KLmZhLXZpYWNvaW46YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjM3IjsNCn0NCi5mYS10cmFpbjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyMzgiOw0KfQ0KLmZhLXN1YndheTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyMzkiOw0KfQ0KLmZhLW1lZGl1bTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyM2EiOw0KfQ0KLmZhLXljOmJlZm9yZSwNCi5mYS15LWNvbWJpbmF0b3I6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjNiIjsNCn0NCi5mYS1vcHRpbi1tb25zdGVyOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIzYyI7DQp9DQouZmEtb3BlbmNhcnQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjNkIjsNCn0NCi5mYS1leHBlZGl0ZWRzc2w6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjNlIjsNCn0NCi5mYS1iYXR0ZXJ5LTQ6YmVmb3JlLA0KLmZhLWJhdHRlcnktZnVsbDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyNDAiOw0KfQ0KLmZhLWJhdHRlcnktMzpiZWZvcmUsDQouZmEtYmF0dGVyeS10aHJlZS1xdWFydGVyczpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyNDEiOw0KfQ0KLmZhLWJhdHRlcnktMjpiZWZvcmUsDQouZmEtYmF0dGVyeS1oYWxmOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI0MiI7DQp9DQouZmEtYmF0dGVyeS0xOmJlZm9yZSwNCi5mYS1iYXR0ZXJ5LXF1YXJ0ZXI6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjQzIjsNCn0NCi5mYS1iYXR0ZXJ5LTA6YmVmb3JlLA0KLmZhLWJhdHRlcnktZW1wdHk6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjQ0IjsNCn0NCi5mYS1tb3VzZS1wb2ludGVyOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI0NSI7DQp9DQouZmEtaS1jdXJzb3I6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjQ2IjsNCn0NCi5mYS1vYmplY3QtZ3JvdXA6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjQ3IjsNCn0NCi5mYS1vYmplY3QtdW5ncm91cDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyNDgiOw0KfQ0KLmZhLXN0aWNreS1ub3RlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI0OSI7DQp9DQouZmEtc3RpY2t5LW5vdGUtbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyNGEiOw0KfQ0KLmZhLWNjLWpjYjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyNGIiOw0KfQ0KLmZhLWNjLWRpbmVycy1jbHViOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI0YyI7DQp9DQouZmEtY2xvbmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjRkIjsNCn0NCi5mYS1iYWxhbmNlLXNjYWxlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI0ZSI7DQp9DQouZmEtaG91cmdsYXNzLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjUwIjsNCn0NCi5mYS1ob3VyZ2xhc3MtMTpiZWZvcmUsDQouZmEtaG91cmdsYXNzLXN0YXJ0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI1MSI7DQp9DQouZmEtaG91cmdsYXNzLTI6YmVmb3JlLA0KLmZhLWhvdXJnbGFzcy1oYWxmOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI1MiI7DQp9DQouZmEtaG91cmdsYXNzLTM6YmVmb3JlLA0KLmZhLWhvdXJnbGFzcy1lbmQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjUzIjsNCn0NCi5mYS1ob3VyZ2xhc3M6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjU0IjsNCn0NCi5mYS1oYW5kLWdyYWItbzpiZWZvcmUsDQouZmEtaGFuZC1yb2NrLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjU1IjsNCn0NCi5mYS1oYW5kLXN0b3AtbzpiZWZvcmUsDQouZmEtaGFuZC1wYXBlci1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI1NiI7DQp9DQouZmEtaGFuZC1zY2lzc29ycy1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI1NyI7DQp9DQouZmEtaGFuZC1saXphcmQtbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyNTgiOw0KfQ0KLmZhLWhhbmQtc3BvY2stbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyNTkiOw0KfQ0KLmZhLWhhbmQtcG9pbnRlci1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI1YSI7DQp9DQouZmEtaGFuZC1wZWFjZS1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI1YiI7DQp9DQouZmEtdHJhZGVtYXJrOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI1YyI7DQp9DQouZmEtcmVnaXN0ZXJlZDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyNWQiOw0KfQ0KLmZhLWNyZWF0aXZlLWNvbW1vbnM6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjVlIjsNCn0NCi5mYS1nZzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyNjAiOw0KfQ0KLmZhLWdnLWNpcmNsZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyNjEiOw0KfQ0KLmZhLXRyaXBhZHZpc29yOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI2MiI7DQp9DQouZmEtb2Rub2tsYXNzbmlraTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyNjMiOw0KfQ0KLmZhLW9kbm9rbGFzc25pa2ktc3F1YXJlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI2NCI7DQp9DQouZmEtZ2V0LXBvY2tldDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyNjUiOw0KfQ0KLmZhLXdpa2lwZWRpYS13OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI2NiI7DQp9DQouZmEtc2FmYXJpOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI2NyI7DQp9DQouZmEtY2hyb21lOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI2OCI7DQp9DQouZmEtZmlyZWZveDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyNjkiOw0KfQ0KLmZhLW9wZXJhOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI2YSI7DQp9DQouZmEtaW50ZXJuZXQtZXhwbG9yZXI6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjZiIjsNCn0NCi5mYS10djpiZWZvcmUsDQouZmEtdGVsZXZpc2lvbjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyNmMiOw0KfQ0KLmZhLWNvbnRhbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyNmQiOw0KfQ0KLmZhLTUwMHB4OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI2ZSI7DQp9DQouZmEtYW1hem9uOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI3MCI7DQp9DQouZmEtY2FsZW5kYXItcGx1cy1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI3MSI7DQp9DQouZmEtY2FsZW5kYXItbWludXMtbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyNzIiOw0KfQ0KLmZhLWNhbGVuZGFyLXRpbWVzLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjczIjsNCn0NCi5mYS1jYWxlbmRhci1jaGVjay1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI3NCI7DQp9DQouZmEtaW5kdXN0cnk6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjc1IjsNCn0NCi5mYS1tYXAtcGluOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI3NiI7DQp9DQouZmEtbWFwLXNpZ25zOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI3NyI7DQp9DQouZmEtbWFwLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjc4IjsNCn0NCi5mYS1tYXA6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjc5IjsNCn0NCi5mYS1jb21tZW50aW5nOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI3YSI7DQp9DQouZmEtY29tbWVudGluZy1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI3YiI7DQp9DQouZmEtaG91eno6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjdjIjsNCn0NCi5mYS12aW1lbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyN2QiOw0KfQ0KLmZhLWJsYWNrLXRpZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyN2UiOw0KfQ0KLmZhLWZvbnRpY29uczpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyODAiOw0KfQ0KLmZhLXJlZGRpdC1hbGllbjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyODEiOw0KfQ0KLmZhLWVkZ2U6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjgyIjsNCn0NCi5mYS1jcmVkaXQtY2FyZC1hbHQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjgzIjsNCn0NCi5mYS1jb2RpZXBpZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyODQiOw0KfQ0KLmZhLW1vZHg6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjg1IjsNCn0NCi5mYS1mb3J0LWF3ZXNvbWU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjg2IjsNCn0NCi5mYS11c2I6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjg3IjsNCn0NCi5mYS1wcm9kdWN0LWh1bnQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjg4IjsNCn0NCi5mYS1taXhjbG91ZDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyODkiOw0KfQ0KLmZhLXNjcmliZDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyOGEiOw0KfQ0KLmZhLXBhdXNlLWNpcmNsZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyOGIiOw0KfQ0KLmZhLXBhdXNlLWNpcmNsZS1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI4YyI7DQp9DQouZmEtc3RvcC1jaXJjbGU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjhkIjsNCn0NCi5mYS1zdG9wLWNpcmNsZS1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI4ZSI7DQp9DQouZmEtc2hvcHBpbmctYmFnOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI5MCI7DQp9DQouZmEtc2hvcHBpbmctYmFza2V0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI5MSI7DQp9DQouZmEtaGFzaHRhZzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyOTIiOw0KfQ0KLmZhLWJsdWV0b290aDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyOTMiOw0KfQ0KLmZhLWJsdWV0b290aC1iOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI5NCI7DQp9DQouZmEtcGVyY2VudDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyOTUiOw0KfQ0KLmZhLWdpdGxhYjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyOTYiOw0KfQ0KLmZhLXdwYmVnaW5uZXI6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjk3IjsNCn0NCi5mYS13cGZvcm1zOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI5OCI7DQp9DQouZmEtZW52aXJhOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI5OSI7DQp9DQouZmEtdW5pdmVyc2FsLWFjY2VzczpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyOWEiOw0KfQ0KLmZhLXdoZWVsY2hhaXItYWx0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI5YiI7DQp9DQouZmEtcXVlc3Rpb24tY2lyY2xlLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjljIjsNCn0NCi5mYS1ibGluZDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyOWQiOw0KfQ0KLmZhLWF1ZGlvLWRlc2NyaXB0aW9uOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjI5ZSI7DQp9DQouZmEtdm9sdW1lLWNvbnRyb2wtcGhvbmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMmEwIjsNCn0NCi5mYS1icmFpbGxlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjJhMSI7DQp9DQouZmEtYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjJhMiI7DQp9DQouZmEtYXNsLWludGVycHJldGluZzpiZWZvcmUsDQouZmEtYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmc6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMmEzIjsNCn0NCi5mYS1kZWFmbmVzczpiZWZvcmUsDQouZmEtaGFyZC1vZi1oZWFyaW5nOmJlZm9yZSwNCi5mYS1kZWFmOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjJhNCI7DQp9DQouZmEtZ2xpZGU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMmE1IjsNCn0NCi5mYS1nbGlkZS1nOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjJhNiI7DQp9DQouZmEtc2lnbmluZzpiZWZvcmUsDQouZmEtc2lnbi1sYW5ndWFnZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyYTciOw0KfQ0KLmZhLWxvdy12aXNpb246YmVmb3JlIHsNCiAgY29udGVudDogIlxmMmE4IjsNCn0NCi5mYS12aWFkZW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMmE5IjsNCn0NCi5mYS12aWFkZW8tc3F1YXJlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjJhYSI7DQp9DQouZmEtc25hcGNoYXQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMmFiIjsNCn0NCi5mYS1zbmFwY2hhdC1naG9zdDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyYWMiOw0KfQ0KLmZhLXNuYXBjaGF0LXNxdWFyZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyYWQiOw0KfQ0KLnNyLW9ubHkgew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIHdpZHRoOiAxcHg7DQogIGhlaWdodDogMXB4Ow0KICBwYWRkaW5nOiAwOw0KICBtYXJnaW46IC0xcHg7DQogIG92ZXJmbG93OiBoaWRkZW47DQogIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7DQogIGJvcmRlcjogMDsNCn0NCi5zci1vbmx5LWZvY3VzYWJsZTphY3RpdmUsDQouc3Itb25seS1mb2N1c2FibGU6Zm9jdXMgew0KICBwb3NpdGlvbjogc3RhdGljOw0KICB3aWR0aDogYXV0bzsNCiAgaGVpZ2h0OiBhdXRvOw0KICBtYXJnaW46IDA7DQogIG92ZXJmbG93OiB2aXNpYmxlOw0KICBjbGlwOiBhdXRvOw0KfQ0K"}},"time_used":43,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":40,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"widgets.cryptocompare.com/serve/v3/coin/header?fsyms=BTC,ETH,XMR,LTC,DASH\u0026tsyms=BTC,USD,CNY,EUR\u0026app=agilitetrade.com","fqdn":"widgets.cryptocompare.com","domain":"cryptocompare.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.902Z","timestamp":1785123231902,"http_version":"","security_state":"","security_info":null,"request":{"raw":"GET /serve/v3/coin/header?fsyms=BTC,ETH,XMR,LTC,DASH\u0026tsyms=BTC,USD,CNY,EUR\u0026app=agilitetrade.com HTTP/1.1\r\nHost: widgets.cryptocompare.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://agilitetrade.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":"","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-07-27T05:14:11.3544Z","times_seen":17556491,"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":"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://agilitetrade.com/","date":"2026-07-27T03:33:53.063Z","timestamp":1785123233063,"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://agilitetrade.com/\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: 321823\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-07-27T05:12:11.068111Z","times_seen":75842,"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":"agilitetrade.com/","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":true,"resource_type":"document","requested_by":"","date":"2026-07-27T03:33:50.140Z","timestamp":1785123230140,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: agilitetrade.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\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\nset-cookie: CameFrom=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; secure\nPHPSESSID=avghgti3drl63gmamnprtl3md2; path=/; domain=agilitetrade.com; HttpOnly; secure\r\nexpires: Thu, 19 Nov 1981 08:52:00 GMT\r\ncache-control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0\r\npragma: no-cache\r\ncontent-type: text/html; charset=UTF-8\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\nalt-svc: h3=\":443\"; ma=2592000, h3-29=\":443\"; ma=2592000, h3-Q050=\":443\"; ma=2592000, h3-Q046=\":443\"; ma=2592000, h3-Q043=\":443\"; ma=2592000, quic=\":443\"; ma=2592000; v=\"43,46\"\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"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":"JivoChat","description":"JivoChat is a live chat solution for websites offering customizable web and mobile chat widgets.","website":"https://www.jivosite.com","common_platform_enumeration":"","icon":"JivoChat.png","categories":["Live chat"]},{"name":"Bootstrap","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":"FancyBox","description":"FancyBox is a tool for displaying images, html content and multi-media in a Mac-style 'lightbox' that floats overtop of web page.","website":"https://fancyapps.com/fancybox","common_platform_enumeration":"","icon":"FancyBox.svg","categories":["JavaScript libraries"]},{"name":"WOW","description":"Reveal CSS animation as you scroll down a page.","website":"https://www.delac.io/WOW","common_platform_enumeration":"","icon":"","categories":["JavaScript frameworks","Web frameworks","JavaScript graphics"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"jQuery UI","description":"jQuery UI is a collection of GUI widgets, animated visual effects, and themes implemented with jQuery, Cascading Style Sheets, and HTML.","website":"https://jqueryui.com","common_platform_enumeration":"cpe:2.3:a:jquery:jquery_ui:*:*:*:*:*:*:*:*","icon":"jQuery UI.svg","categories":["JavaScript libraries"]},{"name":"parallax.js","description":"Simple parallax scrolling effect.","website":"https://github.com/pixelcog/parallax.js","common_platform_enumeration":"","icon":"","categories":["JavaScript libraries"]},{"name":"jQuery","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"]}],"data":{"size":56907,"size_decoded":10924,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (812)","md5":"cd468a589c66cd66aa0bffc8a01ba13b","sha1":"7dd62ea0b74eedfe122da6a27a30af0ea9231cd3","sha256":"b62a9dd36789236f32c8df8f2b622167a3ac149c273652b860717791d513b48f","sha512":"3de85524fb0f0a0739b98962040cdf7ffb5b53d73cf5363ae15138a6b2ce099878309d1f1f04beccb9e3685501156fe37614628269989194dceb127e2799e99a","ssdeep":"1536:KQbEmkyaCQxDg7uD3Jd8FYh/5nelJqdVWGPpJaifuq3bVa8:vb/OCQxDg7uD3Jd8C7nelJqdVWGPpJac","tlshash":"a543862568f41123005352e6aa7a0f1a6fe2f70bc55e8a50b6fc0fa64fc3e95c81779d","first_seen":"2026-07-27T03:34:40.962072Z","last_seen":"2026-07-27T03:34:40.962072Z","times_seen":1,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sPgoKPGhlYWQ+CjxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KPHRpdGxlPkFnaWxpdGUgVHJhZGUgTGltaXRlZCB8IEhvbWVwYWdlPC90aXRsZT4KPCEtLSBTdHlsZXNoZWV0cyAtLT4KPGxpbmsgaHJlZj0iY3NzL2Jvb3RzdHJhcC5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CjxsaW5rIGhyZWY9InBsdWdpbnMvcmV2b2x1dGlvbi9jc3Mvc2V0dGluZ3MuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIj48IS0tIFJFVk9MVVRJT04gU0VUVElOR1MgU1RZTEVTIC0tPgo8bGluayBocmVmPSJwbHVnaW5zL3Jldm9sdXRpb24vY3NzL2xheWVycy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiPjwhLS0gUkVWT0xVVElPTiBMQVlFUlMgU1RZTEVTIC0tPgo8bGluayBocmVmPSJwbHVnaW5zL3Jldm9sdXRpb24vY3NzL25hdmlnYXRpb24uY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIj48IS0tIFJFVk9MVVRJT04gTkFWSUdBVElPTiBTVFlMRVMgLS0+CjxsaW5rIGhyZWY9ImNzcy9zdHlsZS5jc3MiIHJlbD0ic3R5bGVzaGVldCI+CjxsaW5rIGhyZWY9ImNzcy9yZXNwb25zaXZlLmNzcyIgcmVsPSJzdHlsZXNoZWV0Ij4KCjwhLS1Db2xvciBTd2l0Y2hlciBNb2NrdXAtLT4KPGxpbmsgaHJlZj0iY3NzL2NvbG9yLXN3aXRjaGVyLWRlc2lnbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+Cgo8IS0tQ29sb3IgVGhlbWVzLS0+CjxsaW5rIGlkPSJ0aGVtZS1jb2xvci1maWxlIiBocmVmPSJjc3MvY29sb3ItdGhlbWVzL2RlZmF1bHQtdGhlbWUuY3NzIiByZWw9InN0eWxlc2hlZXQiPgoKPCEtLUZhdmljb24tLT4KPGxpbmsgcmVsPSJzaG9ydGN1dCBpY29uIiBocmVmPSJpbWFnZXMvZmF2aWNvbi5wbmciIHR5cGU9ImltYWdlL3gtaWNvbiI+CjxsaW5rIHJlbD0iaWNvbiIgaHJlZj0iaW1hZ2VzL2Zhdmljb24ucG5nIiB0eXBlPSJpbWFnZS94LWljb24iPgo8IS0tIFJlc3BvbnNpdmUgLS0+CjxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSI+CjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wLCBtYXhpbXVtLXNjYWxlPTEuMCwgdXNlci1zY2FsYWJsZT0wIj4KPCEtLVtpZiBsdCBJRSA5XT48c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvaHRtbDVzaGl2LzMuNy4zL2h0bWw1c2hpdi5qcyI+PC9zY3JpcHQ+PCFbZW5kaWZdLS0+CjwhLS1baWYgbHQgSUUgOV0+PHNjcmlwdCBzcmM9ImpzL3Jlc3BvbmQuanMiPjwvc2NyaXB0PjwhW2VuZGlmXS0tPgogICAgPCEtLSBTdGFydCBvZiBBc3luYyBEcmlmdCBDb2RlIC0tPgogICAgPCEtLSA8c2NyaXB0PgogICAgICAgICJ1c2Ugc3RyaWN0IjsKCiAgICAgICAgIWZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgdCA9IHdpbmRvdy5kcmlmdHQgPSB3aW5kb3cuZHJpZnQgPSB3aW5kb3cuZHJpZnR0IHx8IFtdOwogICAgICAgICAgICBpZiAoIXQuaW5pdCkgewogICAgICAgICAgICAgICAgaWYgKHQuaW52b2tlZCkgcmV0dXJuIHZvaWQgKHdpbmRvdy5jb25zb2xlICYmIGNvbnNvbGUuZXJyb3IgJiYgY29uc29sZS5lcnJvcigiRHJpZnQgc25pcHBldCBpbmNsdWRlZCB0d2ljZS4iKSk7CiAgICAgICAgICAgICAgICB0Lmludm9rZWQgPSAhMCwgdC5tZXRob2RzID0gWyAiaWRlbnRpZnkiLCAiY29uZmlnIiwgInRyYWNrIiwgInJlc2V0IiwgImRlYnVnIiwgInNob3ciLCAicGluZyIsICJwYWdlIiwgImhpZGUiLCAib2ZmIiwgIm9uIiBdLAogICAgICAgICAgICAgICAgICAgIHQuZmFjdG9yeSA9IGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG4gPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG4udW5zaGlmdChlKSwgdC5wdXNoKG4pLCB0OwogICAgICAgICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgICAgIH0sIHQubWV0aG9kcy5mb3JFYWNoKGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICB0W2VdID0gdC5mYWN0b3J5KGUpOwogICAgICAgICAgICAgICAgfSksIHQubG9hZCA9IGZ1bmN0aW9uKHQpIHsKICAgICAgICAgICAgICAgICAgICB2YXIgZSA9IDNlNSwgbiA9IE1hdGguY2VpbChuZXcgRGF0ZSgpIC8gZSkgKiBlLCBvID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CiAgICAgICAgICAgICAgICAgICAgby50eXBlID0gInRleHQvamF2YXNjcmlwdCIsIG8uYXN5bmMgPSAhMCwgby5jcm9zc29yaWdpbiA9ICJhbm9ueW1vdXMiLCBvLnNyYyA9ICJodHRwczovL2pzLmRyaWZ0dC5jb20vaW5jbHVkZS8iICsgbiArICIvIiArIHQgKyAiLmpzIjsKICAgICAgICAgICAgICAgICAgICB2YXIgaSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXTsKICAgICAgICAgICAgICAgICAgICBpLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG8sIGkpOwogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgfQogICAgICAgIH0oKTsKICAgICAgICBkcmlmdC5TTklQUEVUX1ZFUlNJT04gPSAnMC4zLjEnOwogICAgICAgIGRyaWZ0LmxvYWQoJ24zcnJmOHV3NWM3cycpOwogICAgPC9zY3JpcHQ+IC0tPgogICAgPCEtLSBFbmQgb2YgQXN5bmMgRHJpZnQgQ29kZSAtLT4KICAgIAogICAgPGRpdiBjbGFzcz0ibWdtIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IGRpc3BsYXk6IG5vbmU7IG9wYWNpdHk6IDE7Ij48ZGl2IGNsYXNzPSJ0eHQiIHN0eWxlPSJjb2xvcjp3aGl0ZTsiPjwvZGl2PjwvZGl2Pgo8L2hlYWQ+Cgo8Ym9keT4KPGRpdiBjbGFzcz0icGFnZS13cmFwcGVyIj4KICAgIAogICAgPCEtLSBQcmVsb2FkZXIgLS0+CiAgIDwhLS0gPGRpdiBjbGFzcz0icHJlbG9hZGVyIj48L2Rpdj4gLS0+IAogICAgCiAgICA8IS0tIE1haW4gSGVhZGVyLS0+CiAgIAo8aGVhZGVyIGNsYXNzPSJtYWluLWhlYWRlciI+CgogICAgPCEtLUhlYWRlciBUb3AtLT4KICAgIDxkaXYgY2xhc3M9ImhlYWRlci10b3AiPgogICAgICAgIDxkaXYgY2xhc3M9ImF1dG8tY29udGFpbmVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9wLWlubmVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyZml4Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3AtbGVmdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iY2xlYXJmaXgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxzcGFuPk1pbmltdW0gQW1vdW50IFdpdGhkcmF3YWw6PC9zcGFuPiQxMDA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJlbWFpbCI+PGEgaHJlZj0ibWFpbHRvOnN1cHBvcnRAYWdpbGl0ZXRyYWRlLmNvbSI+PHNwYW4gY2xhc3M9Imljb24gZmEgZmEtZW52ZWxvcGUtbyI+PC9zcGFuPnN1cHBvcnRAYWdpbGl0ZXRyYWRlLmNvbTwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcC1yaWdodCBjbGVhcmZpeCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0iY2xlYXJmaXgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ij9hPWxvZ2luIj48c3BhbiBjbGFzcz0iaWNvbiBmbGF0aWNvbi13ZWItbG9nLWluIj48L3NwYW4+U2lnbiBJbjwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ij9hPXNpZ251cCI+PHNwYW4gY2xhc3M9Imljb24gZmxhdGljb24tZmlsZS0xIj48L3NwYW4+UmVnaXN0ZXI8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyOyI+CiAgICA8ZGl2IGlkPSJnb29nbGVfdHJhbnNsYXRlX2VsZW1lbnQiPjwvZGl2Pgo8L2Rpdj4KCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KZnVuY3Rpb24gZ29vZ2xlVHJhbnNsYXRlRWxlbWVudEluaXQoKSB7CiAgICBuZXcgZ29vZ2xlLnRyYW5zbGF0ZS5UcmFuc2xhdGVFbGVtZW50KHsKICAgICAgICBwYWdlTGFuZ3VhZ2U6ICdlbicsCiAgICAgICAgbGF5b3V0OiBnb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZUVsZW1lbnQuSW5saW5lTGF5b3V0LlZFUlRJQ0FMCiAgICB9LCAnZ29vZ2xlX3RyYW5zbGF0ZV9lbGVtZW50Jyk7Cn0KPC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSJodHRwczovL3RyYW5zbGF0ZS5nb29nbGUuY29tL3RyYW5zbGF0ZV9hL2VsZW1lbnQuanM/Y2I9Z29vZ2xlVHJhbnNsYXRlRWxlbWVudEluaXQiPjwvc2NyaXB0PgoKPHN0eWxlPgovKiBDb21wYWN0IHZlcnRpY2FsIHN0eWxlICovCi5nb29nLXRlLWdhZGdldCB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsKICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsKfQoKLmdvb2ctdGUtY29tYm8gewogICAgd2lkdGg6IGF1dG87CiAgICBwYWRkaW5nOiA1cHg7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7Cn0KCi8qIE1vYmlsZS1mcmllbmRseSBhZGp1c3RtZW50cyAqLwpAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHsKICAgIC5nb29nLXRlLWNvbWJvIHsKICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OwogICAgfQp9CgovKiBIaWRlIHRoZSAiUG93ZXJlZCBieSBHb29nbGUiIHRleHQvbGluayAqLwouZ29vZy1sb2dvLWxpbmssCi5nb29nLXRlLWdhZGdldCBzcGFuIHsKICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKfQoKLyogSGlkZSB0aGUgc21hbGwgR29vZ2xlIGxvZ28gaW1hZ2UgKi8KLmdvb2ctdGUtZ2FkZ2V0IGltZyB7CiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7Cn0KCi8qIE9wdGlvbmFsOiByZW1vdmUgZXh0cmEgc3BhY2luZyBjYXVzZWQgYnkgaGlkaW5nIGVsZW1lbnRzICovCi5nb29nLXRlLWdhZGdldCB7CiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsKICAgIGxpbmUtaGVpZ2h0OiBub3JtYWwgIWltcG9ydGFudDsKfQoKPC9zdHlsZT4KCgoKICAKICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDwhLS1IZWFkZXItVXBwZXItLT4KICAgIDxkaXYgY2xhc3M9ImhlYWRlci11cHBlciI+CiAgICAgICAgPGRpdiBjbGFzcz0iYXV0by1jb250YWluZXIgY2xlYXJmaXgiPgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0icHVsbC1sZWZ0IGxvZ28tb3V0ZXIiPgogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9nbyI+PGEgaHJlZj0iP2E9aG9tZSI+PGltZyBzcmM9ImxvZ28ucG5nIiBzdHlsZT0iIiBhbHQ9IiIgaGVpZ2h0PSI3MCIgIHRpdGxlPSIiPjwvYT48L2Rpdj4gCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0icHVsbC1yaWdodCB1cHBlci1yaWdodCBjbGVhcmZpeCI+CgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2LW91dGVyIGNsZWFyZml4Ij4KICAgICAgICAgICAgICAgICAgICA8IS0tIE1haW4gTWVudSAtLT4KICAgICAgICAgICAgICAgICAgICA8bmF2IGNsYXNzPSJtYWluLW1lbnUiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJuYXZiYXItaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gVG9nZ2xlIEJ1dHRvbiAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0ibmF2YmFyLXRvZ2dsZSIgZGF0YS10b2dnbGU9ImNvbGxhcHNlIiBkYXRhLXRhcmdldD0iLm5hdmJhci1jb2xsYXBzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJuYXZiYXItY29sbGFwc2UgY29sbGFwc2UgY2xlYXJmaXgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJuYXZpZ2F0aW9uIGNsZWFyZml4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImN1cnJlbnQiPjxhIGhyZWY9Ij9hPWhvbWUiPkhvbWU8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9IiI+PGEgaHJlZj0iP2E9YWJvdXQiPkFib3V0IHVzPC9hPgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iIj48YSBocmVmPSI/YT1zZXJ2aWNlcyI+U2VydmljZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iP2E9Z3VpZGUiPkhvdyBpdCBXb3JrczwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSI/YT1zdXBwb3J0Ij5Db250YWN0IFVzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L25hdj4KCiAgICAgICAgICAgICAgICAgICAgPCEtLSBNYWluIE1lbnUgRW5kLS0+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3V0ZXItYm94Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPCEtLVNlYXJjaCBCb3gtLT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VhcmNoLWJveC1vdXRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93biI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0ic2VhcmNoLWJveC1idG4gZHJvcGRvd24tdG9nZ2xlIiB0eXBlPSJidXR0b24iIGlkPSJkcm9wZG93bk1lbnUzIiBkYXRhLXRvZ2dsZT0iZHJvcGRvd24iIGFyaWEtaGFzcG9wdXA9InRydWUiIGFyaWEtZXhwYW5kZWQ9ImZhbHNlIj48c3BhbiBjbGFzcz0iZmEgZmEtc2VhcmNoIj48L3NwYW4+PC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJkcm9wZG93bi1tZW51IHB1bGwtcmlnaHQgc2VhcmNoLXBhbmVsIiBhcmlhLWxhYmVsbGVkYnk9ImRyb3Bkb3duTWVudTMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InBhbmVsLW91dGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Zm9ybSBtZXRob2Q9InBvc3QiIGFjdGlvbj0iI2Jsb2ciPjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9ImZvcm1faWQiIHZhbHVlPSIxNzg1MTIzMjMxNDQ2NSI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZm9ybV90b2tlbiIgdmFsdWU9ImJmOWVlYzFhYTYxOTVhMTJkYTI3ZWIyMDI4NTBjZTNiIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0ic2VhcmNoIiBuYW1lPSJmaWVsZC1uYW1lIiB2YWx1ZT0iIiBwbGFjZWhvbGRlcj0iU2VhcmNoIEhlcmUiIHJlcXVpcmVkPSIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJzdWJtaXQiIGNsYXNzPSJzZWFyY2gtYnRuIj48c3BhbiBjbGFzcz0iZmEgZmEtc2VhcmNoIj48L3NwYW4+PC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlc2VydmF0aW9uLWZvcm0tYnRuIGNvbnN1bHQtZm9ybS1idG4iPjxzcGFuIGNsYXNzPSJpY29uIGZsYXRpY29uLW1lbnUtb3B0aW9ucyI+PC9zcGFuPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDwhLS1FbmQgSGVhZGVyIFVwcGVyLS0+CgogICAgPCEtLVN0aWNreSBIZWFkZXItLT4KICAgIDxkaXYgY2xhc3M9InN0aWNreS1oZWFkZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImF1dG8tY29udGFpbmVyIGNsZWFyZml4Ij4KICAgICAgICAgICAgPCEtLUxvZ28tLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9nbyBwdWxsLWxlZnQiPgogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9nbyI+PGEgaHJlZj0iP2E9aG9tZSI+PGltZyBzcmM9ImxvZ28ucG5nIiBzdHlsZT0iIiBhbHQ9IiIgaGVpZ2h0PSI3MCIgIHRpdGxlPSIiPjwvYT48L2Rpdj4gCiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPCEtLVJpZ2h0IENvbC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyaWdodC1jb2wgcHVsbC1yaWdodCI+CiAgICAgICAgICAgICAgICA8IS0tIE1haW4gTWVudSAtLT4KICAgICAgICAgICAgICAgIDxuYXYgY2xhc3M9Im1haW4tbWVudSI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmF2YmFyLWhlYWRlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gVG9nZ2xlIEJ1dHRvbiAtLT4KICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJuYXZiYXItdG9nZ2xlIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIubmF2YmFyLWNvbGxhcHNlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1iYXIiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5hdmJhci1jb2xsYXBzZSBjb2xsYXBzZSBjbGVhcmZpeCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibmF2aWdhdGlvbiBjbGVhcmZpeCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImN1cnJlbnQiPjxhIGhyZWY9Ij9hPWhvbWUiPkhvbWU8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iIj48YSBocmVmPSI/YT1hYm91dCI+QWJvdXQgdXM8L2E+CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iIj48YSBocmVmPSI/YT1zZXJ2aWNlcyI+U2VydmljZXM8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ij9hPWd1aWRlIj5Ib3cgaXQgV29ya3M8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iZHJvcGRvd24iPjxhIGhyZWY9Ij9hPXRlYW0iPk91ciBUZWFtPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saT4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iP2E9c3VwcG9ydCI+Q29udGFjdCBVczwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9uYXY+PCEtLSBNYWluIE1lbnUgRW5kLS0+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPCEtLUVuZCBTdGlja3kgSGVhZGVyLS0+Cgo8L2hlYWRlcj4gICAgPCEtLUVuZCBNYWluIEhlYWRlciAtLT4KICAgIAogICAgPCEtLUZvcm0gQmFjayBEcm9wLS0+CiAgICA8ZGl2IGNsYXNzPSJmb3JtLWJhY2stZHJvcCI+PC9kaXY+CiAgICA8IS0tQ29uc3VsdGluZyBGb3JtLS0+CiAgICA8c2VjdGlvbiBjbGFzcz0iY29uc3VsdGluZy1mb3JtIj4KICAgICAgICA8ZGl2IGNsYXNzPSJpbm5lci1ib3giPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcm9zcy1pY29uIj48c3BhbiBjbGFzcz0iZmxhdGljb24tY2FuY2VsLTEiPjwvc3Bhbj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9nbyI+CiAgICAgICAgICAgICAgICA8YSBocmVmPSIjIj48aW1nIHNyYz0ibG9nbzEuaHRtbCIgaGVpZ2h0PSIxMDAiIGFsdD0iIj48L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZSI+CiAgICAgICAgICAgICAgICA8aDI+RnJlZSBDb25zdWx0YXRpb248L2gyPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VwYXJhdG9yIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIAogICAgICAgICAgICA8IS0tQ29uc3VsdCBGb3JtLS0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnN1bHQtZm9ybSI+CiAgICAgICAgICAgICAgICA8Zm9ybSBtZXRob2Q9InBvc3QiIGFjdGlvbj0iIyI+PGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iZm9ybV9pZCIgdmFsdWU9IjE3ODUxMjMyMzE0NDY1Ij48aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJmb3JtX3Rva2VuIiB2YWx1ZT0iYmY5ZWVjMWFhNjE5NWExMmRhMjdlYjIwMjg1MGNlM2IiPgoKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InRleHQiIHZhbHVlPSIiIHBsYWNlaG9sZGVyPSJZb3VyIE5hbWUiIHJlcXVpcmVkPSIiPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iZW1haWwiIG5hbWU9ImVtYWlsIiB2YWx1ZT0iIiBwbGFjZWhvbGRlcj0iRW1haWwgQWRkcmVzcyIgcmVxdWlyZWQ9IiI+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZXh0YXJlYSBwbGFjZWhvbGRlcj0iWW91ciBNZXNzYWdlIj48L3RleHRhcmVhPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9InN1Ym1pdCIgY2xhc3M9InRoZW1lLWJ0biBidG4tc3R5bGUtb25lIj5TdWJtaXQ8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIAogICAgICAgICAgICA8IS0tQnRucyBCb3gtLT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnRucy1ib3giPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iP2E9bG9naW4iIGNsYXNzPSJzaWduaW4tYnRuIHRoZW1lLWJ0biI+PHNwYW4gY2xhc3M9Imljb24gZmxhdGljb24td2ViLWxvZy1pbiI+PC9zcGFuPiBTaWduIEluPC9hPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im9yIj5vcjwvc3Bhbj4KICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPXNpZ251cCIgY2xhc3M9InNpZ251cC1idG4gdGhlbWUtYnRuIj48c3BhbiBjbGFzcz0iaWNvbiBmbGF0aWNvbi1lZGl0Ij48L3NwYW4+IFNpZ24gVXA8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAKICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIDwhLS1FbmQgQ29uc3VsdGluZyBGb3JtLS0+CiAgICAKICAgIDwhLS1NYWluIFNsaWRlci0tPgogICAgPHNlY3Rpb24gY2xhc3M9Im1haW4tc2xpZGVyIj4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJyZXZfc2xpZGVyX3dyYXBwZXIgZnVsbHdpZHRoYmFubmVyLWNvbnRhaW5lciIgaWQ9InJldl9zbGlkZXJfb25lX3dyYXBwZXIiIGRhdGEtc291cmNlPSJnYWxsZXJ5Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icmV2X3NsaWRlciBmdWxsd2lkdGhhYmFubmVyIiBpZD0icmV2X3NsaWRlcl9vbmUiIGRhdGEtdmVyc2lvbj0iNS40LjEiPgogICAgICAgICAgICAgICAgPHVsPgoKICAgICAgICAgICAgICAgICAgICA8bGkgZGF0YS1kZXNjcmlwdGlvbj0iU2xpZGUgRGVzY3JpcHRpb24iIGRhdGEtZWFzZWluPSJkZWZhdWx0IiBkYXRhLWVhc2VvdXQ9ImRlZmF1bHQiIGRhdGEtZnNtYXN0ZXJzcGVlZD0iMTUwMCIgZGF0YS1mc3Nsb3RhbW91bnQ9IjciIGRhdGEtZnN0cmFuc2l0aW9uPSJmYWRlIiBkYXRhLWhpZGVhZnRlcmxvb3A9IjAiIGRhdGEtaGlkZXNsaWRlb25tb2JpbGU9Im9mZiIgZGF0YS1pbmRleD0icnMtMTY4NyIgZGF0YS1tYXN0ZXJzcGVlZD0iZGVmYXVsdCIgZGF0YS1wYXJhbTE9IiIgZGF0YS1wYXJhbTEwPSIiIGRhdGEtcGFyYW0yPSIiIGRhdGEtcGFyYW0zPSIiIGRhdGEtcGFyYW00PSIiIGRhdGEtcGFyYW01PSIiIGRhdGEtcGFyYW02PSIiIGRhdGEtcGFyYW03PSIiIGRhdGEtcGFyYW04PSIiIGRhdGEtcGFyYW05PSIiIGRhdGEtcm90YXRlPSIwIiBkYXRhLXNhdmVwZXJmb3JtYW5jZT0ib2ZmIiBkYXRhLXNsb3RhbW91bnQ9ImRlZmF1bHQiIGRhdGEtdGh1bWI9ImFzc2V0cy9pbWFnZXMvc2xpZGVycy9zbGlkZS1iZy8xLmpwZyIgZGF0YS10aXRsZT0iU2xpZGUgVGl0bGUiIGRhdGEtdHJhbnNpdGlvbj0icGFyYWxsYXh2ZXJ0aWNhbCI+CiAgICAgICAgICAgICAgICAgICAgPGltZyBhbHQ9IiIgY2xhc3M9InJldi1zbGlkZWJnIiBkYXRhLWJnZml0PSJjb3ZlciIgZGF0YS1iZ3BhcmFsbGF4PSIxMCIgZGF0YS1iZ3Bvc2l0aW9uPSJjZW50ZXIgY2VudGVyIiBkYXRhLWJncmVwZWF0PSJuby1yZXBlYXQiIGRhdGEtbm8tcmV0aW5hPSIiIHNyYz0iYXNzZXRzL2ltYWdlcy9zbGlkZXJzL3NsaWRlLWJnLzEuanBnIj4KICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0cC1jYXB0aW9uIiBkYXRhLXBhZGRpbmdib3R0b209IlswLDAsMCwwXSIgZGF0YS1wYWRkaW5nbGVmdD0iWzAsMCwwLDBdIiBkYXRhLXBhZGRpbmdyaWdodD0iWzAsMCwwLDBdIiBkYXRhLXBhZGRpbmd0b3A9IlswLDAsMCwwXSIgZGF0YS1yZXNwb25zaXZlX29mZnNldD0ib24iIGRhdGEtdHlwZT0idGV4dCIgZGF0YS1oZWlnaHQ9Im5vbmUiIGRhdGEtd2lkdGg9IlsnNjUwJywnNjUwJywnNTUwJywnNDIwJ10iIGRhdGEtd2hpdGVzcGFjZT0ibm9ybWFsIiBkYXRhLWhvZmZzZXQ9IlsnMTUnLCcxNScsJzE1JywnMTUnXSIgZGF0YS12b2Zmc2V0PSJbJy05MCcsJy0xMDAnLCctMTAwJywnLTg1J10iIGRhdGEteD0iWydsZWZ0JywnbGVmdCcsJ2xlZnQnLCdsZWZ0J10iIGRhdGEteT0iWydtaWRkbGUnLCdtaWRkbGUnLCdtaWRkbGUnLCdtaWRkbGUnXSIgZGF0YS10ZXh0YWxpZ249IlsndG9wJywndG9wJywndG9wJywndG9wJ10iIGRhdGEtZnJhbWVzPSdbeyJmcm9tIjoieTpbMTAwJV07ejowO3JYOjBkZWc7clk6MDtyWjowO3NYOjE7c1k6MTtza1g6MDtza1k6MDsiLCJtYXNrIjoieDowcHg7eTowcHg7czppbmhlcml0O2U6aW5oZXJpdDsiLCJzcGVlZCI6MTUwMCwidG8iOiJvOjE7IiwiZGVsYXkiOjEwMDAsImVhc2UiOiJQb3dlcjMuZWFzZUluT3V0In0seyJkZWxheSI6IndhaXQiLCJzcGVlZCI6MTAwMCwidG8iOiJhdXRvOmF1dG87IiwibWFzayI6Ing6MDt5OjA7czppbmhlcml0O2U6aW5oZXJpdDsiLCJlYXNlIjoiUG93ZXIzLmVhc2VJbk91dCJ9XSc+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMj5NYWtlIHByb2ZpdHMgd2hlbiB0aGU8c3BhbiBjbGFzcz0idGhlbWVfY29sb3IiPiBleHBlcnRzIHRyYWRlPC9zcGFuPjwvaDI+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idHAtY2FwdGlvbiIgZGF0YS1wYWRkaW5nYm90dG9tPSJbMCwwLDAsMF0iIGRhdGEtcGFkZGluZ2xlZnQ9IlswLDAsMCwwXSIgZGF0YS1wYWRkaW5ncmlnaHQ9IlswLDAsMCwwXSIgZGF0YS1wYWRkaW5ndG9wPSJbMCwwLDAsMF0iIGRhdGEtcmVzcG9uc2l2ZV9vZmZzZXQ9Im9uIiBkYXRhLXR5cGU9InRleHQiIGRhdGEtaGVpZ2h0PSJub25lIiBkYXRhLXdpZHRoPSJbJzU1MCcsJzU4MCcsJzU4MCcsJzQyMCddIiBkYXRhLXdoaXRlc3BhY2U9Im5vcm1hbCIgZGF0YS1ob2Zmc2V0PSJbJzE1JywnMTUnLCcxNScsJzE1J10iIGRhdGEtdm9mZnNldD0iWyc4MCcsJzUwJywnMjUnLCcxMCddIiBkYXRhLXg9IlsnbGVmdCcsJ2xlZnQnLCdsZWZ0JywnbGVmdCddIiBkYXRhLXk9IlsnbWlkZGxlJywnbWlkZGxlJywnbWlkZGxlJywnbWlkZGxlJ10iIGRhdGEtdGV4dGFsaWduPSJbJ3RvcCcsJ3RvcCcsJ3RvcCcsJ3RvcCddIiBkYXRhLWZyYW1lcz0nW3siZnJvbSI6Ink6WzEwMCVdO3o6MDtyWDowZGVnO3JZOjA7clo6MDtzWDoxO3NZOjE7c2tYOjA7c2tZOjA7IiwibWFzayI6Ing6MHB4O3k6MHB4O3M6aW5oZXJpdDtlOmluaGVyaXQ7Iiwic3BlZWQiOjE1MDAsInRvIjoibzoxOyIsImRlbGF5IjoxMDAwLCJlYXNlIjoiUG93ZXIzLmVhc2VJbk91dCJ9LHsiZGVsYXkiOiJ3YWl0Iiwic3BlZWQiOjEwMDAsInRvIjoiYXV0bzphdXRvOyIsIm1hc2siOiJ4OjA7eTowO3M6aW5oZXJpdDtlOmluaGVyaXQ7IiwiZWFzZSI6IlBvd2VyMy5lYXNlSW5PdXQifV0nPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0Ij5zZWN1cmUsIHJlbGlhYmxlIGFuZCBhZHZhbmNlZCBkaWdpdGFsIGFzc2V0IHRyYWRpbmcgcGxhdGZvcm0uPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idHAtY2FwdGlvbiB0cC1yZXNpemVtZSIgZGF0YS1wYWRkaW5nYm90dG9tPSJbMCwwLDAsMF0iIGRhdGEtcGFkZGluZ2xlZnQ9IlswLDAsMCwwXSIgZGF0YS1wYWRkaW5ncmlnaHQ9IlswLDAsMCwwXSIgZGF0YS1wYWRkaW5ndG9wPSJbMCwwLDAsMF0iIGRhdGEtcmVzcG9uc2l2ZV9vZmZzZXQ9Im9uIiBkYXRhLXR5cGU9InRleHQiIGRhdGEtaGVpZ2h0PSJub25lIiBkYXRhLXdpZHRoPSJbJzU1MCcsJzU1MCcsJzU1MCcsJzQyMCddIiBkYXRhLXdoaXRlc3BhY2U9Im5vcm1hbCIgZGF0YS1ob2Zmc2V0PSJbJzE1JywnMTUnLCcxNScsJzE1J10iIGRhdGEtdm9mZnNldD0iWycxNzAnLCcxMzAnLCcxMzAnLCcxMTAnXSIgZGF0YS14PSJbJ2xlZnQnLCdsZWZ0JywnbGVmdCcsJ2xlZnQnXSIgZGF0YS15PSJbJ21pZGRsZScsJ21pZGRsZScsJ21pZGRsZScsJ21pZGRsZSddIiBkYXRhLXRleHRhbGlnbj0iWyd0b3AnLCd0b3AnLCd0b3AnLCd0b3AnXSIgZGF0YS1mcmFtZXM9J1t7ImZyb20iOiJ5OlsxMDAlXTt6OjA7clg6MGRlZztyWTowO3JaOjA7c1g6MTtzWToxO3NrWDowO3NrWTowOyIsIm1hc2siOiJ4OjBweDt5OjBweDtzOmluaGVyaXQ7ZTppbmhlcml0OyIsInNwZWVkIjoxNTAwLCJ0byI6Im86MTsiLCJkZWxheSI6MTAwMCwiZWFzZSI6IlBvd2VyMy5lYXNlSW5PdXQifSx7ImRlbGF5Ijoid2FpdCIsInNwZWVkIjoxMDAwLCJ0byI6ImF1dG86YXV0bzsiLCJtYXNrIjoieDowO3k6MDtzOmluaGVyaXQ7ZTppbmhlcml0OyIsImVhc2UiOiJQb3dlcjMuZWFzZUluT3V0In1dJz4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnRucy1ib3giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iP2E9Z3VpZGUiIGNsYXNzPSJ0aGVtZS1idG4gYnRuLXN0eWxlLW9uZSI+VmlldyBNb3JlPC9hPiA8YSBocmVmPSI/YT1wcm92ZSIgY2xhc3M9InRoZW1lLWJ0biBidG4tc3R5bGUtdHdvIj5SZWNlbnQgUGF5bWVudDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8bGkgZGF0YS1kZXNjcmlwdGlvbj0iU2xpZGUgRGVzY3JpcHRpb24iIGRhdGEtZWFzZWluPSJkZWZhdWx0IiBkYXRhLWVhc2VvdXQ9ImRlZmF1bHQiIGRhdGEtZnNtYXN0ZXJzcGVlZD0iMTUwMCIgZGF0YS1mc3Nsb3RhbW91bnQ9IjciIGRhdGEtZnN0cmFuc2l0aW9uPSJmYWRlIiBkYXRhLWhpZGVhZnRlcmxvb3A9IjAiIGRhdGEtaGlkZXNsaWRlb25tb2JpbGU9Im9mZiIgZGF0YS1pbmRleD0icnMtMTY4OSIgZGF0YS1tYXN0ZXJzcGVlZD0iZGVmYXVsdCIgZGF0YS1wYXJhbTE9IiIgZGF0YS1wYXJhbTEwPSIiIGRhdGEtcGFyYW0yPSIiIGRhdGEtcGFyYW0zPSIiIGRhdGEtcGFyYW00PSIiIGRhdGEtcGFyYW01PSIiIGRhdGEtcGFyYW02PSIiIGRhdGEtcGFyYW03PSIiIGRhdGEtcGFyYW04PSIiIGRhdGEtcGFyYW05PSIiIGRhdGEtcm90YXRlPSIwIiBkYXRhLXNhdmVwZXJmb3JtYW5jZT0ib2ZmIiBkYXRhLXNsb3RhbW91bnQ9ImRlZmF1bHQiIGRhdGEtdGh1bWI9Ii9hc3NldHMvaW1hZ2VzL3NsaWRlcnMvc2xpZGUtYmcvNC5qcGciIGRhdGEtdGl0bGU9IlNsaWRlIFRpdGxlIiBkYXRhLXRyYW5zaXRpb249InBhcmFsbGF4dmVydGljYWwiPgogICAgICAgICAgICAgICAgICAgIDxpbWcgYWx0PSIiIGNsYXNzPSJyZXYtc2xpZGViZyIgZGF0YS1iZ2ZpdD0iY292ZXIiIGRhdGEtYmdwYXJhbGxheD0iMTAiIGRhdGEtYmdwb3NpdGlvbj0iY2VudGVyIGNlbnRlciIgZGF0YS1iZ3JlcGVhdD0ibm8tcmVwZWF0IiBkYXRhLW5vLXJldGluYT0iIiBzcmM9ImFzc2V0cy9pbWFnZXMvc2xpZGVycy9zbGlkZS1iZy80LmpwZyI+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idHAtY2FwdGlvbiIgZGF0YS1wYWRkaW5nYm90dG9tPSJbMCwwLDAsMF0iIGRhdGEtcGFkZGluZ2xlZnQ9IlswLDAsMCwwXSIgZGF0YS1wYWRkaW5ncmlnaHQ9IlswLDAsMCwwXSIgZGF0YS1wYWRkaW5ndG9wPSJbMCwwLDAsMF0iIGRhdGEtcmVzcG9uc2l2ZV9vZmZzZXQ9Im9uIiBkYXRhLXR5cGU9InRleHQiIGRhdGEtaGVpZ2h0PSJub25lIiBkYXRhLXdpZHRoPSJbJzY1MCcsJzY1MCcsJzU1MCcsJzQyMCddIiBkYXRhLXdoaXRlc3BhY2U9Im5vcm1hbCIgZGF0YS1ob2Zmc2V0PSJbJzE1JywnMTUnLCcxNScsJzE1J10iIGRhdGEtdm9mZnNldD0iWyctOTAnLCctMTAwJywnLTEwMCcsJy04NSddIiBkYXRhLXg9IlsnbGVmdCcsJ2xlZnQnLCdsZWZ0JywnbGVmdCddIiBkYXRhLXk9IlsnbWlkZGxlJywnbWlkZGxlJywnbWlkZGxlJywnbWlkZGxlJ10iIGRhdGEtdGV4dGFsaWduPSJbJ3RvcCcsJ3RvcCcsJ3RvcCcsJ3RvcCddIiBkYXRhLWZyYW1lcz0nW3siZnJvbSI6Ink6WzEwMCVdO3o6MDtyWDowZGVnO3JZOjA7clo6MDtzWDoxO3NZOjE7c2tYOjA7c2tZOjA7IiwibWFzayI6Ing6MHB4O3k6MHB4O3M6aW5oZXJpdDtlOmluaGVyaXQ7Iiwic3BlZWQiOjE1MDAsInRvIjoibzoxOyIsImRlbGF5IjoxMDAwLCJlYXNlIjoiUG93ZXIzLmVhc2VJbk91dCJ9LHsiZGVsYXkiOiJ3YWl0Iiwic3BlZWQiOjEwMDAsInRvIjoiYXV0bzphdXRvOyIsIm1hc2siOiJ4OjA7eTowO3M6aW5oZXJpdDtlOmluaGVyaXQ7IiwiZWFzZSI6IlBvd2VyMy5lYXNlSW5PdXQifV0nPgogICAgICAgICAgICAgICAgICAgICAgICA8aDI+R2V0IGluc3RhbnQgJDEsMDAwIEJvbnVzIFdoZW4geW91IGludmVzdCBmcm9tICQxMCwgMDAwIGFib3ZlPHNwYW4gY2xhc3M9InRoZW1lX2NvbG9yIj4uPC9zcGFuPjwvaDI+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idHAtY2FwdGlvbiIgZGF0YS1wYWRkaW5nYm90dG9tPSJbMCwwLDAsMF0iIGRhdGEtcGFkZGluZ2xlZnQ9IlswLDAsMCwwXSIgZGF0YS1wYWRkaW5ncmlnaHQ9IlswLDAsMCwwXSIgZGF0YS1wYWRkaW5ndG9wPSJbMCwwLDAsMF0iIGRhdGEtcmVzcG9uc2l2ZV9vZmZzZXQ9Im9uIiBkYXRhLXR5cGU9InRleHQiIGRhdGEtaGVpZ2h0PSJub25lIiBkYXRhLXdpZHRoPSJbJzU1MCcsJzU1MCcsJzU1MCcsJzQyMCddIiBkYXRhLXdoaXRlc3BhY2U9Im5vcm1hbCIgZGF0YS1ob2Zmc2V0PSJbJzE1JywnMTUnLCcxNScsJzE1J10iIGRhdGEtdm9mZnNldD0iWyc4MCcsJzM1JywnMjUnLCcxMCddIiBkYXRhLXg9IlsnbGVmdCcsJ2xlZnQnLCdsZWZ0JywnbGVmdCddIiBkYXRhLXk9IlsnbWlkZGxlJywnbWlkZGxlJywnbWlkZGxlJywnbWlkZGxlJ10iIGRhdGEtdGV4dGFsaWduPSJbJ3RvcCcsJ3RvcCcsJ3RvcCcsJ3RvcCddIiBkYXRhLWZyYW1lcz0nW3siZnJvbSI6Ink6WzEwMCVdO3o6MDtyWDowZGVnO3JZOjA7clo6MDtzWDoxO3NZOjE7c2tYOjA7c2tZOjA7IiwibWFzayI6Ing6MHB4O3k6MHB4O3M6aW5oZXJpdDtlOmluaGVyaXQ7Iiwic3BlZWQiOjE1MDAsInRvIjoibzoxOyIsImRlbGF5IjoxMDAwLCJlYXNlIjoiUG93ZXIzLmVhc2VJbk91dCJ9LHsiZGVsYXkiOiJ3YWl0Iiwic3BlZWQiOjEwMDAsInRvIjoiYXV0bzphdXRvOyIsIm1hc2siOiJ4OjA7eTowO3M6aW5oZXJpdDtlOmluaGVyaXQ7IiwiZWFzZSI6IlBvd2VyMy5lYXNlSW5PdXQifV0nPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0Ij5zZWN1cmUsIHJlbGlhYmxlIGFuZCBhZHZhbmNlZCBkaWdpdGFsIGFzc2V0IHRyYWRpbmcgcGxhdGZvcm0uPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idHAtY2FwdGlvbiB0cC1yZXNpemVtZSIgZGF0YS1wYWRkaW5nYm90dG9tPSJbMCwwLDAsMF0iIGRhdGEtcGFkZGluZ2xlZnQ9IlswLDAsMCwwXSIgZGF0YS1wYWRkaW5ncmlnaHQ9IlswLDAsMCwwXSIgZGF0YS1wYWRkaW5ndG9wPSJbMCwwLDAsMF0iIGRhdGEtcmVzcG9uc2l2ZV9vZmZzZXQ9Im9uIiBkYXRhLXR5cGU9InRleHQiIGRhdGEtaGVpZ2h0PSJub25lIiBkYXRhLXdpZHRoPSJbJzU1MCcsJzU1MCcsJzU1MCcsJzQyMCddIiBkYXRhLXdoaXRlc3BhY2U9Im5vcm1hbCIgZGF0YS1ob2Zmc2V0PSJbJzE1JywnMTUnLCcxNScsJzE1J10iIGRhdGEtdm9mZnNldD0iWycxNzAnLCcxMzAnLCcxMzAnLCcxMTAnXSIgZGF0YS14PSJbJ2xlZnQnLCdsZWZ0JywnbGVmdCcsJ2xlZnQnXSIgZGF0YS15PSJbJ21pZGRsZScsJ21pZGRsZScsJ21pZGRsZScsJ21pZGRsZSddIiBkYXRhLXRleHRhbGlnbj0iWyd0b3AnLCd0b3AnLCd0b3AnLCd0b3AnXSIgZGF0YS1mcmFtZXM9J1t7ImZyb20iOiJ5OlsxMDAlXTt6OjA7clg6MGRlZztyWTowO3JaOjA7c1g6MTtzWToxO3NrWDowO3NrWTowOyIsIm1hc2siOiJ4OjBweDt5OjBweDtzOmluaGVyaXQ7ZTppbmhlcml0OyIsInNwZWVkIjoxNTAwLCJ0byI6Im86MTsiLCJkZWxheSI6MTAwMCwiZWFzZSI6IlBvd2VyMy5lYXNlSW5PdXQifSx7ImRlbGF5Ijoid2FpdCIsInNwZWVkIjoxMDAwLCJ0byI6ImF1dG86YXV0bzsiLCJtYXNrIjoieDowO3k6MDtzOmluaGVyaXQ7ZTppbmhlcml0OyIsImVhc2UiOiJQb3dlcjMuZWFzZUluT3V0In1dJz4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnRucy1ib3giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iP2E9Z3VpZGUiIGNsYXNzPSJ0aGVtZS1idG4gYnRuLXN0eWxlLW9uZSI+VmlldyBNb3JlPC9hPiA8YSBocmVmPSI/YT1wcm92ZSIgY2xhc3M9InRoZW1lLWJ0biBidG4tc3R5bGUtdHdvIj5SZWNlbnQgUGF5bWVudDwvYT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8bGkgZGF0YS1kZXNjcmlwdGlvbj0iU2xpZGUgRGVzY3JpcHRpb24iIGRhdGEtZWFzZWluPSJkZWZhdWx0IiBkYXRhLWVhc2VvdXQ9ImRlZmF1bHQiIGRhdGEtZnNtYXN0ZXJzcGVlZD0iMTUwMCIgZGF0YS1mc3Nsb3RhbW91bnQ9IjciIGRhdGEtZnN0cmFuc2l0aW9uPSJmYWRlIiBkYXRhLWhpZGVhZnRlcmxvb3A9IjAiIGRhdGEtaGlkZXNsaWRlb25tb2JpbGU9Im9mZiIgZGF0YS1pbmRleD0icnMtMTY4OCIgZGF0YS1tYXN0ZXJzcGVlZD0iZGVmYXVsdCIgZGF0YS1wYXJhbTE9IiIgZGF0YS1wYXJhbTEwPSIiIGRhdGEtcGFyYW0yPSIiIGRhdGEtcGFyYW0zPSIiIGRhdGEtcGFyYW00PSIiIGRhdGEtcGFyYW01PSIiIGRhdGEtcGFyYW02PSIiIGRhdGEtcGFyYW03PSIiIGRhdGEtcGFyYW04PSIiIGRhdGEtcGFyYW05PSIiIGRhdGEtcm90YXRlPSIwIiBkYXRhLXNhdmVwZXJmb3JtYW5jZT0ib2ZmIiBkYXRhLXNsb3RhbW91bnQ9ImRlZmF1bHQiIGRhdGEtdGh1bWI9ImltYWdlcy9tYWluLXNsaWRlci9pbWFnZS0yLmpwZyIgZGF0YS10aXRsZT0iU2xpZGUgVGl0bGUiIGRhdGEtdHJhbnNpdGlvbj0icGFyYWxsYXh2ZXJ0aWNhbCI+CiAgICAgICAgICAgICAgICAgICAgPGltZyBhbHQ9IiIgY2xhc3M9InJldi1zbGlkZWJnIiBkYXRhLWJnZml0PSJjb3ZlciIgZGF0YS1iZ3BhcmFsbGF4PSIxMCIgZGF0YS1iZ3Bvc2l0aW9uPSJjZW50ZXIgY2VudGVyIiBkYXRhLWJncmVwZWF0PSJuby1yZXBlYXQiIGRhdGEtbm8tcmV0aW5hPSIiIHNyYz0iaW1hZ2VzL21haW4tc2xpZGVyL2ltYWdlLTIuanBnIj4gCiAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0cC1jYXB0aW9uIiBkYXRhLXBhZGRpbmdib3R0b209IlswLDAsMCwwXSIgZGF0YS1wYWRkaW5nbGVmdD0iWzAsMCwwLDBdIiBkYXRhLXBhZGRpbmdyaWdodD0iWzAsMCwwLDBdIiBkYXRhLXBhZGRpbmd0b3A9IlswLDAsMCwwXSIgZGF0YS1yZXNwb25zaXZlX29mZnNldD0ib24iIGRhdGEtdHlwZT0idGV4dCIgZGF0YS1oZWlnaHQ9Im5vbmUiIGRhdGEtd2lkdGg9IlsnNTgwJywnNTUwJywnNjAwJywnNDIwJ10iIGRhdGEtd2hpdGVzcGFjZT0ibm9ybWFsIiBkYXRhLWhvZmZzZXQ9IlsnMTUnLCcxNScsJzE1JywnMTUnXSIgZGF0YS12b2Zmc2V0PSJbJy05MCcsJy0xMDAnLCctMTAwJywnLTg1J10iIGRhdGEteD0iWydyaWdodCcsJ3JpZ2h0JywncmlnaHQnLCdyaWdodCddIiBkYXRhLXk9IlsnbWlkZGxlJywnbWlkZGxlJywnbWlkZGxlJywnbWlkZGxlJ10iIGRhdGEtdGV4dGFsaWduPSJbJ3RvcCcsJ3RvcCcsJ3RvcCcsJ3RvcCddIiBkYXRhLWZyYW1lcz0nW3siZnJvbSI6Ink6WzEwMCVdO3o6MDtyWDowZGVnO3JZOjA7clo6MDtzWDoxO3NZOjE7c2tYOjA7c2tZOjA7IiwibWFzayI6Ing6MHB4O3k6MHB4O3M6aW5oZXJpdDtlOmluaGVyaXQ7Iiwic3BlZWQiOjE1MDAsInRvIjoibzoxOyIsImRlbGF5IjoxMDAwLCJlYXNlIjoiUG93ZXIzLmVhc2VJbk91dCJ9LHsiZGVsYXkiOiJ3YWl0Iiwic3BlZWQiOjEwMDAsInRvIjoiYXV0bzphdXRvOyIsIm1hc2siOiJ4OjA7eTowO3M6aW5oZXJpdDtlOmluaGVyaXQ7IiwiZWFzZSI6IlBvd2VyMy5lYXNlSW5PdXQifV0nPgogICAgICAgICAgICAgICAgICAgICAgICA8aDI+Q3J5cHRvY3VycmVuY3kgPGJyPiBpbnZlc3RtZW50cyBhbmQgPGJyPiBzb2x1dGlvbnMuPC9oMj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0cC1jYXB0aW9uIiBkYXRhLXBhZGRpbmdib3R0b209IlswLDAsMCwwXSIgZGF0YS1wYWRkaW5nbGVmdD0iWzAsMCwwLDBdIiBkYXRhLXBhZGRpbmdyaWdodD0iWzAsMCwwLDBdIiBkYXRhLXBhZGRpbmd0b3A9IlswLDAsMCwwXSIgZGF0YS1yZXNwb25zaXZlX29mZnNldD0ib24iIGRhdGEtdHlwZT0idGV4dCIgZGF0YS1oZWlnaHQ9Im5vbmUiIGRhdGEtd2lkdGg9IlsnNTgwJywnNTUwJywnNjAwJywnNDIwJ10iIGRhdGEtd2hpdGVzcGFjZT0ibm9ybWFsIiBkYXRhLWhvZmZzZXQ9IlsnMTUnLCcxNScsJzE1JywnMTUnXSIgZGF0YS12b2Zmc2V0PSJbJzgwJywnNTAnLCcyNScsJzEwJ10iIGRhdGEteD0iWydyaWdodCcsJ3JpZ2h0JywncmlnaHQnLCdyaWdodCddIiBkYXRhLXk9IlsnbWlkZGxlJywnbWlkZGxlJywnbWlkZGxlJywnbWlkZGxlJ10iIGRhdGEtdGV4dGFsaWduPSJbJ3RvcCcsJ3RvcCcsJ3RvcCcsJ3RvcCddIiBkYXRhLWZyYW1lcz0nW3siZnJvbSI6Ink6WzEwMCVdO3o6MDtyWDowZGVnO3JZOjA7clo6MDtzWDoxO3NZOjE7c2tYOjA7c2tZOjA7IiwibWFzayI6Ing6MHB4O3k6MHB4O3M6aW5oZXJpdDtlOmluaGVyaXQ7Iiwic3BlZWQiOjE1MDAsInRvIjoibzoxOyIsImRlbGF5IjoxMDAwLCJlYXNlIjoiUG93ZXIzLmVhc2VJbk91dCJ9LHsiZGVsYXkiOiJ3YWl0Iiwic3BlZWQiOjEwMDAsInRvIjoiYXV0bzphdXRvOyIsIm1hc2siOiJ4OjA7eTowO3M6aW5oZXJpdDtlOmluaGVyaXQ7IiwiZWFzZSI6IlBvd2VyMy5lYXNlSW5PdXQifV0nPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0Ij5zZWN1cmUsIHJlbGlhYmxlIGFuZCBhZHZhbmNlZCBkaWdpdGFsIGFzc2V0IHRyYWRpbmcgcGxhdGZvcm0uPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idHAtY2FwdGlvbiB0cC1yZXNpemVtZSIgZGF0YS1wYWRkaW5nYm90dG9tPSJbMCwwLDAsMF0iIGRhdGEtcGFkZGluZ2xlZnQ9IlswLDAsMCwwXSIgZGF0YS1wYWRkaW5ncmlnaHQ9IlswLDAsMCwwXSIgZGF0YS1wYWRkaW5ndG9wPSJbMCwwLDAsMF0iIGRhdGEtcmVzcG9uc2l2ZV9vZmZzZXQ9Im9uIiBkYXRhLXR5cGU9InRleHQiIGRhdGEtaGVpZ2h0PSJub25lIiBkYXRhLXdpZHRoPSJbJzU4MCcsJzU1MCcsJzYwMCcsJzQyMCddIiBkYXRhLXdoaXRlc3BhY2U9Im5vcm1hbCIgZGF0YS1ob2Zmc2V0PSJbJzE1JywnMTUnLCcxNScsJzE1J10iIGRhdGEtdm9mZnNldD0iWycxNzAnLCcxMzAnLCcxMzAnLCcxMTAnXSIgZGF0YS14PSJbJ3JpZ2h0JywncmlnaHQnLCdyaWdodCcsJ3JpZ2h0J10iIGRhdGEteT0iWydtaWRkbGUnLCdtaWRkbGUnLCdtaWRkbGUnLCdtaWRkbGUnXSIgZGF0YS10ZXh0YWxpZ249IlsndG9wJywndG9wJywndG9wJywndG9wJ10iIGRhdGEtZnJhbWVzPSdbeyJmcm9tIjoieTpbMTAwJV07ejowO3JYOjBkZWc7clk6MDtyWjowO3NYOjE7c1k6MTtza1g6MDtza1k6MDsiLCJtYXNrIjoieDowcHg7eTowcHg7czppbmhlcml0O2U6aW5oZXJpdDsiLCJzcGVlZCI6MTUwMCwidG8iOiJvOjE7IiwiZGVsYXkiOjEwMDAsImVhc2UiOiJQb3dlcjMuZWFzZUluT3V0In0seyJkZWxheSI6IndhaXQiLCJzcGVlZCI6MTAwMCwidG8iOiJhdXRvOmF1dG87IiwibWFzayI6Ing6MDt5OjA7czppbmhlcml0O2U6aW5oZXJpdDsiLCJlYXNlIjoiUG93ZXIzLmVhc2VJbk91dCJ9XSc+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ0bnMtYm94Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPWd1aWRlIiBjbGFzcz0idGhlbWUtYnRuIGJ0bi1zdHlsZS1vbmUiPlZpZXcgTW9yZTwvYT4gPGEgaHJlZj0iP2E9cHJvdmUiIGNsYXNzPSJ0aGVtZS1idG4gYnRuLXN0eWxlLXR3byI+UmVjZW50IFBheW1lbnQ8L2E+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIDwhLS1FbmQgTWFpbiBTbGlkZXItLT4KICAgIAogICAgPCEtLSBjdXJyZW5jeSBSYXRlIFRpY2tlciAtLT4KICAgIDxkaXYgY2xhc3M9ImN1cnJlbmN5LWNoYXJ0Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXItZmx1aWQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgICAgIGJhc2VVcmwgPSAiaHR0cHM6Ly93aWRnZXRzLmNyeXB0b2NvbXBhcmUuY29tLyI7CiAgICAgICAgICAgICAgICB2YXIgc2NyaXB0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKTsKICAgICAgICAgICAgICAgIHZhciBlbWJlZGRlciA9IHNjcmlwdHNbc2NyaXB0cy5sZW5ndGggLSAxXTsKICAgICAgICAgICAgICAgIHZhciBjY2NUaGVtZSA9IHsgIkdlbmVyYWwiOiB7ICJlbmFibGVNYXJxdWVlIjogdHJ1ZSB9IH07CiAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGFwcE5hbWUgPSBlbmNvZGVVUklDb21wb25lbnQod2luZG93LmxvY2F0aW9uLmhvc3RuYW1lKTsKICAgICAgICAgICAgICAgICAgICBpZiAoYXBwTmFtZSA9PSAiIikgeyBhcHBOYW1lID0gImxvY2FsIjsgfQogICAgICAgICAgICAgICAgICAgIHZhciBzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CiAgICAgICAgICAgICAgICAgICAgcy50eXBlID0gInRleHQvamF2YXNjcmlwdCI7CiAgICAgICAgICAgICAgICAgICAgcy5hc3luYyA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgdmFyIHRoZVVybCA9IGJhc2VVcmwgKyAnc2VydmUvdjMvY29pbi9oZWFkZXI/ZnN5bXM9QlRDLEVUSCxYTVIsTFRDLERBU0gmdHN5bXM9QlRDLFVTRCxDTlksRVVSJzsKICAgICAgICAgICAgICAgICAgICBzLnNyYyA9IHRoZVVybCArICh0aGVVcmwuaW5kZXhPZigiPyIpID49IDAgPyAiJiIgOiAiPyIpICsgImFwcD0iICsgYXBwTmFtZTsKICAgICAgICAgICAgICAgICAgICBlbWJlZGRlci5wYXJlbnROb2RlLmFwcGVuZENoaWxkKHMpOwogICAgICAgICAgICAgICAgfSkoKTsKICAgICAgICAgICAgICAgIDwvc2NyaXB0PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgCiAgICA8IS0tU2VydmljZXMgU2VjdGlvbi0tPgogICAgPHNlY3Rpb24gY2xhc3M9InNlcnZpY2VzLXNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9ImF1dG8tY29udGFpbmVyIj4KICAgICAgICAgICAgPCEtLVNlYyBUaXRsZS0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWMtdGl0bGUgY2VudGVyZWQiPgogICAgICAgICAgICAgICAgPGgyIHN0eWxlPSJ0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSI+V2h5IENob29zZSBBZ2lsaXRlIFRyYWRlPC9oMj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcGFyYXRvciI+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgY2xlYXJmaXgiPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJ2aWNlcy1ibG9jayBjb2wtbWQtNCBjb2wtc20tNiBjb2wteHMtMTIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyLWJveCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imljb24tYm94Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uIGZsYXRpY29uLXNoaWVsZCI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGgzPjxhIGhyZWY9IiMiPlByb3RlY3Rpb24gJiBTZWN1cml0eTwvYT48L2gzPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0Ij5TdG9wIGxvc3MgYW5kIHRha2UgcHJvZml0IG9yZGVycyB3aWxsIGhlbHAgc2VjdXJlIHlvdXIgaW52ZXN0bWVudC4gVGhlIHN5c3RlbSB3aWxsIGF1dG9tYXRpY2FsbHkgZXhlY3V0ZSB0cmFkZXMgdG8gcmVhbGlzZSBnYWlucy48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJ2aWNlcy1ibG9jayBjb2wtbWQtNCBjb2wtc20tNiBjb2wteHMtMTIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyLWJveCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imljb24tYm94Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uIGZsYXRpY29uLWV4Y2hhbmdlLTEiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMz48YSBocmVmPSIjIj5MaWNlbnNlZCBFeGNoYW5nZTwvYT48L2gzPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0Ij5PdXIgY3VzdG9tZXJzIHBlcmZvcm0gdHJhbnNhY3Rpb25zIG5vdCBvbmx5IGluIGNyeXB0b2N1cnJlbmN5LCBidXQgdGhlIG1ham9yIHdvcmxkIGN1cnJlbmNpZXMgc3VwcG9ydGVkIGJ5IHRoZSBzeXN0ZW0uIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2VzLWJsb2NrIGNvbC1tZC00IGNvbC1zbS02IGNvbC14cy0xMiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5uZXItYm94Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaWNvbi1ib3giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24gZmxhdGljb24tZW1wbG95ZWUiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxoMz48YSBocmVmPSIjIj5VbmxpbWl0ZWQgRnJlZSBUcmFuc2ZlcnM8L2E+PC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dCI+U2VuZCBhbnkgY3VycmVuY3kgdG8gZnJpZW5kcywgZmFtaWx5IG1lbWJlcnMgb3IgYnVzaW5lc3MgYXNzb2NpYXRlcyBhcyBtYW55IHRpbWVzIGFzIHlvdSB3YW50LCAyNCBob3VycyBhIGRheSBmb3IgZnJlZS48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgPCEtLUVuZCBTZXJ2aWNlcyBTZWN0aW9uLS0+CiAgICAKICAgIAogICAgIAogICAgCiAgICAKICAgIDwhLS1TZXJ2aWNlcyBTZWN0aW9uIFR3by0tPgogICAgPHNlY3Rpb24gY2xhc3M9InNlcnZpY2VzLXNlY3Rpb24tdHdvIj4KICAgICAgICA8ZGl2IGNsYXNzPSJhdXRvLWNvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlYy10aXRsZSBsaWdodCI+CiAgICAgICAgICAgICAgICA8Y2VudGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InZpZGVvIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJoMSI+PGRpdiBjbGFzcz0iYmxvY2tzIj5WaWRlbyBwcmVzZW50YXRpb248L2Rpdj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aWZyYW1lIHdpZHRoPSI1NjAiIGhlaWdodD0iMzE1IiBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL0hQb0poVk5TSGRrIiB0aXRsZT0iWW91VHViZSB2aWRlbyBwbGF5ZXIiIGZyYW1lYm9yZGVyPSIwIiBhbGxvdz0iYWNjZWxlcm9tZXRlcjsgYXV0b3BsYXk7IGNsaXBib2FyZC13cml0ZTsgZW5jcnlwdGVkLW1lZGlhOyBneXJvc2NvcGU7IHBpY3R1cmUtaW4tcGljdHVyZSIgYWxsb3dmdWxsc2NyZWVuPjwvaWZyYW1lPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NlbnRlcj4KICAgICAgICAgICAgICAgIDxoMj5PdXIgU2VydmljZXM8L2gyPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VwYXJhdG9yIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvdXItaXRlbS1jYXJvdXNlbCBvd2wtY2Fyb3VzZWwgb3dsLXRoZW1lIj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPCEtLVNlcnZpY2VzIEJsb2NrIFR3by0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VydmljZXMtYmxvY2stdHdvIGh2ci1vbmUiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyLWJveCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImltYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWFnZXMvcmVzb3VyY2Uvc2VydmljZXMtMS5qcGciIGFsdD0iIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im92ZXJsYXlib3giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imljb24tYm94Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24gZmxhdGljb24tYml0Y29pbiI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDM+PGEgaHJlZj0iIyI+QWR2aWNlIGFuZCBndWlkZXM8L2E+PC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dCI+VGFraW5nIHRoZSB0aW1lIHRvIG1hbmFnZSB5b3VyIG1vbmV5IGJldHRlciBjYW4gcmVhbGx5IHBheSBvZmYuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPCEtLVNlcnZpY2VzIEJsb2NrIFR3by0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VydmljZXMtYmxvY2stdHdvIGh2ci10d28iPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyLWJveCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImltYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWFnZXMvcmVzb3VyY2Uvc2VydmljZXMtMi5qcGciIGFsdD0iIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im92ZXJsYXlib3giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imljb24tYm94Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24gZmxhdGljb24tYml0Y29pbi0xIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMz48YSBocmVmPSIjIj5Ub29scyBhbmQgY2FsY3VsYXRvcnM8L2E+PC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dCI+VXNlIG91ciBCdWRnZXQgcGxhbm5lciB0byBrZWVwIG9uIHRvcCBvZiB5b3VyIHNwZW5kaW5nLjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDwhLS1TZXJ2aWNlcyBCbG9jayBUd28tLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2VzLWJsb2NrLXR3byBodnItdGhyZWUiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyLWJveCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImltYWdlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWFnZXMvcmVzb3VyY2Uvc2VydmljZXMtMy5qcGciIGFsdD0iIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im92ZXJsYXlib3giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imljb24tYm94Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24gZmxhdGljb24tbW9uZXktMiI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDM+PGEgaHJlZj0iIyI+U3VwcG9ydCBpbiBwZXJzb248L2E+PC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dCI+U3VwcG9ydCBpbiBwZXJzb24sIG92ZXIgdGhlIHBob25lIGFuZCBvbmxpbmUuPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPCEtLVNlcnZpY2VzIEJsb2NrIFR3by0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VydmljZXMtYmxvY2stdHdvIGh2ci1mb3VyIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbm5lci1ib3giPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbWFnZSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1hZ2VzL3Jlc291cmNlL3NlcnZpY2VzLTQuanBnIiBhbHQ9IiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdmVybGF5Ym94Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpY29uLWJveCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uIGZsYXRpY29uLW1vbmV5LTciPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzPjxhIGhyZWY9IiMiPlJlY3VycmluZyBCdXlzPC9hPjwvaDM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQiPkludmVzdCBpbiBkaWdpdGFsIGN1cnJlbmN5IHNsb3dseSBvdmVyIHRpbWUgYnkgc2NoZWR1bGluZyBidXlzIHdlZWtseSBvciBtb250aGx5LjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDwhLS1TZXJ2aWNlcyBCbG9jayBUd28tLT4KCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDwhLS1TZXJ2aWNlcyBCbG9jayBUd28tLT4KCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDwhLS1TZXJ2aWNlcyBCbG9jayBUd28tLT4KCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIDwhLS1TZXJ2aWNlcyBTZWN0aW9uIFR3by0tPgogICAgCiAgICAKICAgIDwhLS1DYWxjdWxhdGVyIFNlY3Rpb24tLT4KICAgIDxzZWN0aW9uIGNsYXNzPSJjYWxjdWxhdGVyLXNlY3Rpb24iIHN0eWxlPSJwYWRkaW5nOiAyMHB4IiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2ltYWdlcy9iYWNrZ3JvdW5kL3BhdHRlcm4tMi5odG1sJykiPgogICAgICAgIDxkaXYgY2xhc3M9ImF1dG8tY29udGFpbmVyIj4KICAgICAgICAgICAgPCEtLVNlYyBUaXRsZS0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWMtdGl0bGUgY2VudGVyZWQiPgogICAgICAgICAgICAgICAgPGgyPkludmVzdG1lbnQgUGxhbnM8L2gyPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VwYXJhdG9yIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyBjbGVhcmZpeCI+CiAgICAgICAgICAgIDwhLS1DYWxjdWxhdG9yIEJsb2NrLS0+CiAgICAgICAgICAgICAgICA8CiAgICAgICAgICAgICAgICA8IS0tQ2FsY3VsYXRvciBCbG9jay0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FsY3VsYXRvci1ibG9jayBjb2wtbGctNCBjb2wtbWQtNiBjb2wtc20tNiBjb2wteHMtMTIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyLWJveCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJ0YyI+U1RBUlRFUiBQTEFOPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByaWNlIj4kMTAwIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgc3R5bGU9ImNvbG9yOiBibGFjazsiPjxzdHJvbmc+TUlOSU1VTSA8YnI+PHNtYWxsIHN0eWxlPSJjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMTJweDsiPiA1JSBEYWlseSBpbiAyIGRheXM8L3NtYWxsPjwvc3Ryb25nPjwvc21hbGw+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByaWNlIj4kNCw5OTkgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPXNpZ251cCIgY2xhc3M9InRoZW1lLWJ0biBidXktYnRuIj5EZXBvc2l0IE5vdzwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgPCEtLUNhbGN1bGF0b3IgQmxvY2stLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhbGN1bGF0b3ItYmxvY2sgY29sLWxnLTQgY29sLW1kLTYgY29sLXNtLTYgY29sLXhzLTEyIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbm5lci1ib3giPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidGMiPklOVkVTVE9SIFBMQU48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJpY2UiPiQ1LDAwMCA8L2Rpdj48c21hbGwgc3R5bGU9ImNvbG9yOiBibGFjazsiPjxzdHJvbmc+TUlOSU1VTSA8YnI+PHNtYWxsIHN0eWxlPSJjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMTJweDsiPiA3LjUlIERhaWx5IGluIDQgZGF5czwvc21hbGw+PC9zdHJvbmc+PC9zbWFsbD4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJpY2UiPiQ0NTAsMDAwPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPXNpZ251cCIgY2xhc3M9InRoZW1lLWJ0biBidXktYnRuIj5EZXBvc2l0IE5vdzwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgIDwhLS1DYWxjdWxhdG9yIEJsb2NrLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYWxjdWxhdG9yLWJsb2NrIGNvbC1sZy00IGNvbC1tZC02IGNvbC1zbS02IGNvbC14cy0xMiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5uZXItYm94Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYnRjIj5QUk8gUExBTjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcmljZSI+JDI1LDAwMCA8L2Rpdj48c21hbGwgc3R5bGU9ImNvbG9yOiBibGFjazsiPjxzdHJvbmc+TUlOSU1VTSA8YnI+PHNtYWxsIHN0eWxlPSJjb2xvcjogYmxhY2s7IGZvbnQtc2l6ZTogMTJweDsiPiAxMCUgRGFpbHkgaW4gNiBkYXlzPC9zbWFsbD48L3N0cm9uZz48L3NtYWxsPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcmljZSI+VW5saW1pdGVkPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPXNpZ251cCIgY2xhc3M9InRoZW1lLWJ0biBidXktYnRuIj5EZXBvc2l0IE5vdzwvYT4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPCEtLUVuZCBCdGMgRm9ybS0tPgogICAgICAgICAgICAKICAgICAgICAgICAgCgogICAgICAgICAgICAKICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIDwhLS1FbmQgQ2FsY3VsYXRlciBTZWN0aW9uLS0+CiAgICAKICAgIAogICAgICAgICAgICAKICAgICAgICAgICAgPCEtLVByaWNlIFRhYmxlLS0+CiAgICAgICAgICAgIDwhLS08ZGl2IGNsYXNzPSJwcmljZS10YWJsZSI+LS0+CiAgICAgICAgICAgICAgICA8IS0tPGRpdiBjbGFzcz0idGFibGUtb3V0ZXIiPi0tPgogICAgICAgICAgICAgICAgICAgIDwhLS08dGFibGUgY2xhc3M9ImJ0Yy10YWJsZSI+LS0+CiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS08dGhlYWQgY2xhc3M9ImJ0Yy1oZWFkZXIiPi0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLTx0cj4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPHRoPlN5bWJvbDwvdGg+LS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLTx0aD5OYW1lPC90aD4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPHRoPiZuYnNwOzwvdGg+LS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLTx0aD4mbmJzcDs8L3RoPi0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS08dGg+VVNEPC90aD4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPHRoPkNoYW5nZTFoPC90aD4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPHRoPkNoYW5nZTI0aDwvdGg+LS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLTx0aD5DaGFuZ2U3ZDwvdGg+LS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPC90cj4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgPCEtLTwvdGhlYWQ+LS0+CiAgICAgICAgICAgICAgICAgICAgPCEtLS0tPgogICAgICAgICAgICAgICAgICAgICAgICA8IS0tPHRib2R5Pi0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLTx0cj4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPHRkIGNsYXNzPSJzeW1ib2wtbmFtZSI+YnRjPC90ZD4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPHRkIGNsYXNzPSJjdXJyZW5jeS1uYW1lIj5CaXRjb2luPC90ZD4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPHRkPiZuYnNwOzwvdGQ+LS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLTx0ZD4mbmJzcDs8L3RkPi0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS08dGQ+MTIsIDIxNjwvdGQ+LS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLTx0ZD4xLjIxJTwvdGQ+LS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLTx0ZD41LjMyJTwvdGQ+LS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLTx0ZD4xMi43NCU8L3RkPi0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLTwvdHI+LS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPHRyPi0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS08dGQgY2xhc3M9InN5bWJvbC1uYW1lIj5ldGg8L3RkPi0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS08dGQgY2xhc3M9ImN1cnJlbmN5LW5hbWUiPkV0aGVyZXVtPC90ZD4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPHRkPiZuYnNwOzwvdGQ+LS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLTx0ZD4mbmJzcDs8L3RkPi0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS08dGQ+MSw4MDU8L3RkPi0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS08dGQ+MC40MiU8L3RkPi0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS08dGQ+My42NSU8L3RkPi0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS08dGQ+NS4yMiU8L3RkPi0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLTwvdHI+LS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPHRyPi0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS08dGQgY2xhc3M9InN5bWJvbC1uYW1lIj54cnA8L3RkPi0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS08dGQgY2xhc3M9ImN1cnJlbmN5LW5hbWUiPlJpcHBsZTwvdGQ+LS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLTx0ZD4mbmJzcDs8L3RkPi0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS08dGQ+Jm5ic3A7PC90ZD4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPHRkPjIsNTE0PC90ZD4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPHRkPjEuMjUlPC90ZD4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPHRkPjEuNDclPC90ZD4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPHRkPjguNTglPC90ZD4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS08L3RyPi0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLTx0cj4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPHRkIGNsYXNzPSJzeW1ib2wtbmFtZSI+bHRjPC90ZD4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPHRkIGNsYXNzPSJjdXJyZW5jeS1uYW1lIj5MaXRlY29pbjwvdGQ+LS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLTx0ZD4mbmJzcDs8L3RkPi0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS08dGQ+Jm5ic3A7PC90ZD4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPHRkPjMxOC41PC90ZD4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPHRkPjIuNjUlPC90ZD4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPHRkPjQuODklPC90ZD4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPHRkPjYuNzIlPC90ZD4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS08L3RyPi0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLTx0cj4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPHRkIGNsYXNzPSJzeW1ib2wtbmFtZSI+ZGFzaDwvdGQ+LS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLTx0ZCBjbGFzcz0iY3VycmVuY3ktbmFtZSI+ZGFzaDwvdGQ+LS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLTx0ZD4mbmJzcDs8L3RkPi0tPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS08dGQ+Jm5ic3A7PC90ZD4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPHRkPjUyOS43PC90ZD4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPHRkPjAuMTElPC90ZD4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPHRkPjEuNTIlPC90ZD4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPHRkPjE1LjE4JTwvdGQ+LS0+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tPC90cj4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgPCEtLTwvdGJvZHk+LS0+CiAgICAgICAgICAgICAgICAgICAgPCEtLS0tPgogICAgICAgICAgICAgICAgICAgIDwhLS08L3RhYmxlPi0tPgogICAgICAgICAgICAgICAgPCEtLTwvZGl2Pi0tPgogICAgICAgICAgICA8IS0tPC9kaXY+LS0+CiAgICAgICAgICAgIAogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgPCEtLUVuZCBDdXJyZW5jeSBTZWN0aW9uLS0+CiAgICAKICAgIDwhLS1CdXkgU2VjdGlvbi0tPgogICAgPHNlY3Rpb24gY2xhc3M9ImJ1eS1zZWN0aW9uIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2ltYWdlcy9iYWNrZ3JvdW5kL3BhdHRlcm4tMS5wbmcnKSI+CiAgICAgICAgPGRpdiBjbGFzcz0iYXV0by1jb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgY2xlYXJmaXgiPgogICAgICAgICAgICAgICAgPCEtLUNvbnRlbnQgQ29sdW1uLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50LWNvbHVtbiBjb2wtbWQtNiBjb2wtc20tMTIgY29sLXhzLTEyIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbm5lci1jb2x1bW4iPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWMtdGl0bGUgbGlnaHQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyPkFib3V0IE91ciBTZXJ2aWNlczwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXBhcmF0b3IiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5BZ2lsaXRlIFRyYWRlIGlzIGEgc2VjdXJlLCByZWxpYWJsZSBhbmQgYWR2YW5jZWQgZGlnaXRhbCBhc3NldCB0cmFkaW5nIHBsYXRmb3JtIGRldmVsb3BlZCBmb3IgaW50ZXJuYXRpb25hbCBjdXN0b21lcnMgYW5kIGJ1aWx0IG9uIEJpdHRyZXjigJlzIGN1dHRpbmctZWRnZSB0ZWNobm9sb2d5LiA8L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5UaGlzIGludGVybmF0aW9uYWwgdHJhZGluZyBwbGF0Zm9ybSBwcm92aWRlcyBpbm5vdmF0aXZlIHRva2VucyBhIG1vcmUgc3RyZWFtbGluZWQgYXBwcm9hY2ggZm9yIGJlaW5nIGxpc3RlZCwgd2hpbGUgYWxzbyBwcm92aWRpbmcgaW5zdGFudCB0cmFkZSBleGVjdXRpb24sIGRlcGVuZGFibGUgZGlnaXRhbCB3YWxsZXRzLCBhbmQgaW5kdXN0cnktbGVhZGluZyBzZWN1cml0eSBwcmFjdGljZXMuLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgQWdpbGl0ZSBUcmFkZSB3b3JrIGluIHRoZSBmaWVsZCBvZiBmaW5hbmNpbmcgcHJvbWlzaW5nIGRldmVsb3BtZW50cyBpbiB0aGUgY3J5cHRvY3VycmVuY3kgbWFya2V0IGFuZCB3aXRoIGJsb2NrY2hhaW4gdGVjaG5vbG9neS4gQWNjb3JkaW5nIHRvIGV4cGVydHMsIGJsb2NrY2hhaW4gdGVjaG5vbG9naWVzIGN1cnJlbnRseSBoYXZlIGdyZWF0IG9wcG9ydHVuaXRpZXMuIExvdHMgb2YgYnVzaW5lc3MgaWRlYXMgcmVsYXRlZCB0byBibG9ja2NoYWluIHRlY2hub2xvZ2llcyBoYXZlIGJlY29tZSBtb3JlIHN1Y2Nlc3NmdWwgYW5kIGV2ZXJ5IGRheSBieSBkYXkgaXQgYnJpbmdzIGhpZ2ggcHJvZml0cyB0byB0aGVpciBjcmVhdG9ycy4KPC9wPjxwPgpXZSB0cmFjayBhbmQgYW5hbHl6ZSBtb3N0IGJ1c2luZXNzIGlkZWFzLiBJdCBhbGxvd3MgdXMgdG8gZ2V0IGhpZ2ggcHJvZml0cy4gRm9yIG91ciBpbnZlc3RvcnMgZG8gbm90IG5lZWQgdG8gcmVzZWFyY2ggaW5kZXBlbmRlbnRseSB3aGljaCBwcm9qZWN0IGlzIG1vcmUgcHJvZml0YWJsZS4gU28gb3VyIGludmVzdG9yIGNhbiBpbnZlc3QgdGhlaXIgY2FwaXRhbCBhbmQgdGhlbiByZWNlaXZlIGludGVyZXN0IG9uIHRoZSBwcm9maXQuCjwvcD48cD4KSW52ZXN0bWVudApXZSBpbnZlc3QgaW4gcHJvamVjdHMgYXQgYW4gZWFybHkgc3RhZ2UsIGluIHBhcnRpY3VsYXIsIGl0IGNhbiBiZSBidXNpbmVzcyBpZGVhcywgaW52ZXN0aW5nIGluIHN0YXJ0dXBzIGF0IHZhcmlvdXMgc3RhZ2VzIG9mIHRoZWlyIGRldmVsb3BtZW50LCBJQ08gKEluaXRpYWwgQ29pbiBPZmZlcmluZyksIElFTyAoSW5pdGlhbCBFeGNoYW5nZSBPZmZlcmluZykuCjwvcD48cD4KV2UgYmVsaWV2ZSB0aGF0IGluIGEgZGVjYWRlIHRoZSBmaW5hbmNpYWwgc3lzdGVtIG9mIHRoZSBpbnRlcm5ldCDigJQgdGhhdCBpcywgY29tbWVyY2UgdGhhdCBoYXBwZW5zIG9uIHRoZSBpbnRlcm5ldCDigJQgd2lsbCBiZSB0aGUgbGFyZ2VzdCBmaW5hbmNpYWwgc3lzdGVtIGluIHRoZSB3b3JsZC4gQW5kIGl0IHdpbGwgYmUgcG93ZXJlZCBieSBjcnlwdG8uCjwvcD48cD4KQWdpbGl0ZSBUcmFkZSBnb3QgaXRzIHN0YXJ0IGFzIGFuIGVhcmx5IHBpb25lZXIgb2Yga2V5IGluZnJhc3RydWN0dXJlIGZvciB0aGUgYml0Y29pbiBjb21tdW5pdHkuIEZpcnN0LCBhIEJsb2NrY2hhaW4gRXhwbG9yZXIgZW5hYmxlZCBhbnlvbmUgdG8gbm90IG9ubHkgZXhhbWluZSB0cmFuc2FjdGlvbnMgYW5kIHN0dWR5IHRoZSBibG9ja2NoYWluIGJ1dCBhbiBBUEkgdGhhdCBlbmFibGVkIGNvbXBhbmllcyB0byBidWlsZCBvbiBCaXRjb2luLiBXZSBhbHNvIGhhdmUgcHJvdmlkZWQgdGhlIG1vc3QgcG9wdWxhciBhbmQgd2lkZWx5IHVzZWQgY3J5cHRvIHdhbGxldCB0aGF0IGVuYWJsZXMgYW55b25lIGFueXdoZXJlIHRvIGNvbnRyb2wgdGhlaXIgb3duIG1vbmV5LjwvcD48cD4KCk91ciB0ZWFtIHNwYW5zIHRoZSBnbG9iZSBhbmQgaGFzIHdvcmtlZCB0aXJlbGVzc2x5IHRvIGFjY2VsZXJhdGUgdGhlIGFkb3B0aW9uIG9mIGNyeXB0byBhbmQgdXNoZXIgaW4gdGhlIGZ1dHVyZSBvZiBmaW5hbmNlLiBXZSBhcmUgcGFzc2lvbmF0ZSwgcmVsZW50bGVzcywgYW5kIHN0b2tlZCAtLSBhbmQgYmVsaWV2ZSB0aGF0IGEgbGVhbiB0ZWFtIG9mIHdvcmxkLWNsYXNzIHZpc2lvbmFyaWVzIGNhbiBzaGlwIHByb2R1Y3RzIHRoYXQgZW1wb3dlciBvdXIgY3VzdG9tZXJzIGFuZCBkcml2ZSB0aGUgYnVzaW5lc3MgdG8gbmV3IGhlaWdodHMuPC9wPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iP2E9bG9naW4iIGNsYXNzPSJ0aGVtZS1idG4gYnRuLXN0eWxlLW9uZSI+U3RhcnQgTm93PC9hPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8IS0tU2VydmljZXMgQ29sdW1uLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJ2aWNlcy1jb2x1bW4gY29sLW1kLTYgY29sLXNtLTEyIGNvbC14cy0xMiI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93IGNsZWFyZml4Ij4KICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VydmljZXMtYmxvY2stdGhyZWUgY29sLW1kLTQgY29sLXNtLTYgY29sLXhzLTEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyLWJveCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaWNvbi1ib3giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbiBmbGF0aWNvbi1iaXRjb2luLTIiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDM+Q3JlYXRlIEFjY291bnQ8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im51bWJlciI+MTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VydmljZXMtYmxvY2stdGhyZWUgY29sLW1kLTQgY29sLXNtLTYgY29sLXhzLTEyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyLWJveCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaWNvbi1ib3giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbiBmbGF0aWNvbi1jcmVkaXQtY2FyZCI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMz5EZXBvc2l0IGFuZCBJbnZlc3Q8L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im51bWJlciI+MjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VydmljZXMtYmxvY2stdGhyZWUgY29sLW1kLTQgY29sLXNtLTEyIGNvbC14cy0xMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbm5lci1ib3giPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imljb24tYm94Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24gZmxhdGljb24tYml0Y29pbiI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMz5XaXRoZHJhdyBQcm9maXRzPC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJudW1iZXIiPjM8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L3NlY3Rpb24+CiAgICA8IS0tRW5kIEJ1eSBTZWN0aW9uLS0+CiAgICAKICAgCiAgICAKICAgIDwhLS1CbG9nIFNlY3Rpb24tLT4KICAgIDxzZWN0aW9uIGNsYXNzPSJibG9nLXNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9ImF1dG8tY29udGFpbmVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjLXRpdGxlIj4KICAgICAgICAgICAgICAgIDxoMj5MYXRlc3QgRnJvbSBCbG9nPC9oMj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcGFyYXRvciI+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aHJlZS1pdGVtLWNhcm91c2VsIG93bC1jYXJvdXNlbCBvd2wtdGhlbWUiPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8IS0tTmV3cyBCbG9jay0tPgogICAgICAgICAgICAgICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vd3d3LmNyeXB0b2hvcHBlci5jb20vd2lkZ2V0cy9qcy9zY3JpcHQiPjwvc2NyaXB0PgoJCQkJPGRpdiBjbGFzcz0iY3J5cHRvaG9wcGVyLXdlYi13aWRnZXQiIGRhdGEtaWQ9IjUiIGRhdGEtbmV3c19jb3VudD0iNSI+PC9kaXY+CiAgICAgICAgICAgICAgICAKCiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIAogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KICAgIDwhLS1FbmQgQmxvZyBTZWN0aW9uLS0+CiAgICAKICAgIAogICAgCiAgICA8IS0tQ2xpZW50cyBTZWN0aW9uLS0+CiAgICA8c2VjdGlvbiBjbGFzcz0iY2xpZW50cy1zZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJhdXRvLWNvbnRhaW5lciI+CiAgICAgICAgICAgIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcG9uc29ycy1vdXRlciI+CiAgICAgICAgICAgICAgICA8IS0tU3BvbnNvcnMgQ2Fyb3VzZWwtLT4KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ic3BvbnNvcnMtY2Fyb3VzZWwgb3dsLWNhcm91c2VsIG93bC10aGVtZSI+CiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJzbGlkZS1pdGVtIj48ZmlndXJlIGNsYXNzPSJpbWFnZS1ib3giPjxhIGhyZWY9IiMiPjxpbWcgc3JjPSJpbWFnZXMvY2xpZW50cy8xLnBuZyIgYWx0PSIiPjwvYT48L2ZpZ3VyZT48L2xpPgogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ic2xpZGUtaXRlbSI+PGZpZ3VyZSBjbGFzcz0iaW1hZ2UtYm94Ij48YSBocmVmPSIjIj48aW1nIHNyYz0iaW1hZ2VzL2NsaWVudHMvMi5wbmciIGFsdD0iIj48L2E+PC9maWd1cmU+PC9saT4KICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InNsaWRlLWl0ZW0iPjxmaWd1cmUgY2xhc3M9ImltYWdlLWJveCI+PGEgaHJlZj0iIyI+PGltZyBzcmM9ImltYWdlcy9jbGllbnRzLzMucG5nIiBhbHQ9IiI+PC9hPjwvZmlndXJlPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJzbGlkZS1pdGVtIj48ZmlndXJlIGNsYXNzPSJpbWFnZS1ib3giPjxhIGhyZWY9IiMiPjxpbWcgc3JjPSJpbWFnZXMvY2xpZW50cy80LnBuZyIgYWx0PSIiPjwvYT48L2ZpZ3VyZT48L2xpPgogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ic2xpZGUtaXRlbSI+PGZpZ3VyZSBjbGFzcz0iaW1hZ2UtYm94Ij48YSBocmVmPSIjIj48aW1nIHNyYz0iaW1hZ2VzL2NsaWVudHMvNS5wbmciIGFsdD0iIj48L2E+PC9maWd1cmU+PC9saT4KICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InNsaWRlLWl0ZW0iPjxmaWd1cmUgY2xhc3M9ImltYWdlLWJveCI+PGEgaHJlZj0iIyI+PGltZyBzcmM9ImltYWdlcy9jbGllbnRzLzEucG5nIiBhbHQ9IiI+PC9hPjwvZmlndXJlPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJzbGlkZS1pdGVtIj48ZmlndXJlIGNsYXNzPSJpbWFnZS1ib3giPjxhIGhyZWY9IiMiPjxpbWcgc3JjPSJpbWFnZXMvY2xpZW50cy8yLnBuZyIgYWx0PSIiPjwvYT48L2ZpZ3VyZT48L2xpPgogICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ic2xpZGUtaXRlbSI+PGZpZ3VyZSBjbGFzcz0iaW1hZ2UtYm94Ij48YSBocmVmPSIjIj48aW1nIHNyYz0iaW1hZ2VzL2NsaWVudHMvMy5wbmciIGFsdD0iIj48L2E+PC9maWd1cmU+PC9saT4KICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InNsaWRlLWl0ZW0iPjxmaWd1cmUgY2xhc3M9ImltYWdlLWJveCI+PGEgaHJlZj0iIyI+PGltZyBzcmM9ImltYWdlcy9jbGllbnRzLzQucG5nIiBhbHQ9IiI+PC9hPjwvZmlndXJlPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJzbGlkZS1pdGVtIj48ZmlndXJlIGNsYXNzPSJpbWFnZS1ib3giPjxhIGhyZWY9IiMiPjxpbWcgc3JjPSJpbWFnZXMvY2xpZW50cy81LnBuZyIgYWx0PSIiPjwvYT48L2ZpZ3VyZT48L2xpPgogICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIAogICAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgogICAgPCEtLUVuZCBDbGllbnRzIFNlY3Rpb24tLT4KICAgIAogICAgPCEtLU1haW4gRm9vdGVyLS0+CiAgICA8Zm9vdGVyIGNsYXNzPSJtYWluLWZvb3RlciIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6dXJsKCdpbWFnZXMvYmFja2dyb3VuZC8yLmpwZycpIj4KICAgIDxkaXYgY2xhc3M9ImF1dG8tY29udGFpbmVyIj4KICAgICAgICA8IS0tV2lkZ2V0cyBTZWN0aW9uLS0+CiAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0cy1zZWN0aW9uIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93IGNsZWFyZml4Ij4KCiAgICAgICAgICAgICAgICA8IS0tYmlnIGNvbHVtbi0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmlnLWNvbHVtbiBjb2wtbWQtNiBjb2wtc20tMTIgY29sLXhzLTEyIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgY2xlYXJmaXgiPgoKICAgICAgICAgICAgICAgICAgICAgICAgPCEtLUZvb3RlciBDb2x1bW4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyLWNvbHVtbiBjb2wtbWQtNiBjb2wtc20tNiBjb2wteHMtMTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyLXdpZGdldCBsaW5rLXdpZGdldCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyLXRpdGxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyPlVzZWZ1bGwgTGlua3M8L2gyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXBhcmF0b3IiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibGlzdC1saW5rcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSI/YT1ndWlkZSI+SG93IGl0IHdvcmtzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSI/YT1zdXBwb3J0Ij5Db250YWN0IFVzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSI/YT1sb2dpbiI+TG9naW48L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICAgICAgPCEtLUZvb3RlciBDb2x1bW4tLT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyLWNvbHVtbiBjb2wtbWQtNiBjb2wtc20tNiBjb2wteHMtMTIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyLXdpZGdldCBsaW5rLXdpZGdldCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyLXRpdGxlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgyPk91ciBTZXJ2aWNlczwvaDI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcGFyYXRvciI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJsaXN0LWxpbmtzIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9Ij9hPWFib3V0Ij5BYm91dDwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iP2E9c2VydmljZXMiPlNlcnZpY2VzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSI/YT1zaWdudXAiPlNpZ24gVXA8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDwhLS1iaWcgY29sdW1uLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiaWctY29sdW1uIGNvbC1tZC02IGNvbC1zbS0xMiBjb2wteHMtMTIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyBjbGVhcmZpeCI+CgogICAgICAgICAgICAgICAgICAgICAgICA8IS0tRm9vdGVyIENvbHVtbi0tPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItY29sdW1uIGNvbC1tZC02IGNvbC1zbS02IGNvbC14cy0xMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItd2lkZ2V0IGluZm8td2lkZ2V0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItdGl0bGUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDI+R2V0IEluIFRvdWNoPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VwYXJhdG9yIj48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImluZm8tbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48c3Bhbj5FbWFpbDo8L3NwYW4+c3VwcG9ydEBhZ2lsaXRldHJhZGUuY29tPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxzcGFuPkFkZHJlc3M6IDU0MDkgTiBKaW0gTWlsbGVyIFJkLCBEYWxsYXMsIFRYIDc1MjI3LCBVU0E8L3NwYW4+IDwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1Gb290ZXIgQ29sdW1uLS0+CgoKICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgoKICAgIDwvZGl2PgogICAgPCEtLUZvb3RlciBCb3R0b20tLT4KICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1ib3R0b20iPgogICAgICAgIDxkaXYgY2xhc3M9ImF1dG8tY29udGFpbmVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icm93IGNsZWFyZml4Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC02IGNvbC1zbS0xMiBjb2wteHMtMTIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvcHlyaWdodCI+Q29weXJpZ2h0cyAmY29weTsgMjAyMyBBbGwgUmlnaHRzIFJlc2VydmVkIGJ5IDxhIGhyZWY9Ii8iPkFnaWxpdGUgVHJhZGUgTGltaXRlZC48L2E+PC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmRzLWNvbHVtbiBjb2wtbWQtNiBjb2wtc20tMTIgY29sLXhzLTEyIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkcyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWFnZXMvcmVzb3VyY2UvY2FyZHMucG5nIiBhbHQ9IiI+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KPC9mb290ZXI+ICAgIAo8L2Rpdj4KPCEtLUVuZCBwYWdld3JhcHBlci0tPgoKPCEtLVNjcm9sbCB0byB0b3AtLT4KPGRpdiBjbGFzcz0ic2Nyb2xsLXRvLXRvcCBzY3JvbGwtdG8tdGFyZ2V0IiBkYXRhLXRhcmdldD0iaHRtbCI+PHNwYW4gY2xhc3M9Imljb24gZmEgZmEtYW5nbGUtZG91YmxlLXVwIj48L3NwYW4+PC9kaXY+Cgo8IS0tIENvbG9yIFBhbGF0ZSAvIENvbG9yIFN3aXRjaGVyIC0tPgoKPCEtLSAvLkVuZCBPZiBDb2xvciBQYWxhdGUgLS0+Cgo8c2NyaXB0IHNyYz0ianMvanF1ZXJ5LmpzIj48L3NjcmlwdD4gCjwhLS1SZXZvbHV0aW9uIFNsaWRlci0tPgo8c2NyaXB0IHNyYz0icGx1Z2lucy9yZXZvbHV0aW9uL2pzL2pxdWVyeS50aGVtZXB1bmNoLnJldm9sdXRpb24ubWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9InBsdWdpbnMvcmV2b2x1dGlvbi9qcy9qcXVlcnkudGhlbWVwdW5jaC50b29scy5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0icGx1Z2lucy9yZXZvbHV0aW9uL2pzL2V4dGVuc2lvbnMvcmV2b2x1dGlvbi5leHRlbnNpb24uYWN0aW9ucy5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0icGx1Z2lucy9yZXZvbHV0aW9uL2pzL2V4dGVuc2lvbnMvcmV2b2x1dGlvbi5leHRlbnNpb24uY2Fyb3VzZWwubWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9InBsdWdpbnMvcmV2b2x1dGlvbi9qcy9leHRlbnNpb25zL3Jldm9sdXRpb24uZXh0ZW5zaW9uLmtlbmJ1cm4ubWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9InBsdWdpbnMvcmV2b2x1dGlvbi9qcy9leHRlbnNpb25zL3Jldm9sdXRpb24uZXh0ZW5zaW9uLmxheWVyYW5pbWF0aW9uLm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSJwbHVnaW5zL3Jldm9sdXRpb24vanMvZXh0ZW5zaW9ucy9yZXZvbHV0aW9uLmV4dGVuc2lvbi5taWdyYXRpb24ubWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9InBsdWdpbnMvcmV2b2x1dGlvbi9qcy9leHRlbnNpb25zL3Jldm9sdXRpb24uZXh0ZW5zaW9uLm5hdmlnYXRpb24ubWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9InBsdWdpbnMvcmV2b2x1dGlvbi9qcy9leHRlbnNpb25zL3Jldm9sdXRpb24uZXh0ZW5zaW9uLnBhcmFsbGF4Lm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSJwbHVnaW5zL3Jldm9sdXRpb24vanMvZXh0ZW5zaW9ucy9yZXZvbHV0aW9uLmV4dGVuc2lvbi5zbGlkZWFuaW1zLm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSJwbHVnaW5zL3Jldm9sdXRpb24vanMvZXh0ZW5zaW9ucy9yZXZvbHV0aW9uLmV4dGVuc2lvbi52aWRlby5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0ianMvbWFpbi1zbGlkZXItc2NyaXB0LmpzIj48L3NjcmlwdD4KCjxzY3JpcHQgc3JjPSJqcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9ImpzL2pxdWVyeS5mYW5jeWJveC5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSJqcy9qcXVlcnktdWkuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0ianMvb3dsLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9ImpzL3dpZGdldC5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSJqcy9hcHBlYXIuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0ianMvd293LmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9ImpzL3NjcmlwdC5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSJucG0vc3dlZXRhbGVydDIlNDA4LmpzIj48L3NjcmlwdD4KCjxzdHlsZT4KLm1nbSB7CiAgICBib3JkZXItcmFkaXVzOiAxNXB4OwogICAgcG9zaXRpb246IGZpeGVkOwogICAgei1pbmRleDogOTA7CiAgICBib3R0b206IDIwMHB4OwogICAgbGVmdDogMTBweDsKICAgIGJhY2tncm91bmQ6ICNmZmY7CiAgICBwYWRkaW5nOiAxMHB4IDI3cHg7CiAgICBib3gtc2hhZG93OiAwcHggNXB4IDEzcHggMHB4IHJnYmEoMCwwLDAsLjMpOwogICAgZm9udC1zaXplOiAxNHB4Owp9Ci5tZ20gYSB7CiAgICBmb250LXdlaWdodDogOTAwOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBjb2xvcjojZjJkNTE2Owp9Ci5tZ20gYSwgLm1nbSBhOmFjdGl2ZSB7CiAgICB0cmFuc2l0aW9uOiBhbGwgLjZzIGVhc2U7CiAgICBjb2xvcjojZjJkNTE2Owp9Cjwvc3R5bGU+Cgo8c3R5bGU+CiAgICAgICAgICAgIC8qIEVuZCBTbWFsbCBGZWF0dXJlIEFyZWEgY3NzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCmEgewogICAgY29sb3I6ICMwMDhlZmY7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KLmNob29zZV9iaXRjb2luX2FyZWEgewogICAgYmFja2dyb3VuZDogIzAwMDAwMDAwOwp9CgouY2hvb3NlX2JpdF9pbm5lciB7CiAgICBtYXJnaW4tYm90dG9tOiAtMzBweDsKfQoKLmNob29zZV9ib3Rjb2luX2l0ZW0gewogICAgYmFja2dyb3VuZDogI0U3OUIwNzsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIHBhZGRpbmc6IDUwcHggMzBweDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIG1hcmdpbi1ib3R0b206IDMwcHg7Cn0KCi5jaG9vc2VfYm90Y29pbl9pdGVtOmJlZm9yZSB7CiAgICBjb250ZW50OiAiIjsKICAgIHdpZHRoOiAwOwogICAgaGVpZ2h0OiAwOwogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsKICAgIGJvcmRlci13aWR0aDogMCAxMjBweCAxMjBweCAwOwogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMzQzNDM0IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OwogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgcmlnaHQ6IDBweDsKICAgIHRvcDogMHB4Owp9CgouY2hvb3NlX2JvdGNvaW5faXRlbSBpIHsKICAgIGZvbnQtc2l6ZTogNjBweDsKICAgIGxpbmUtaGVpZ2h0OiA5MHB4OwogICAgY29sb3I6ICMwMDgwZGI7Cn0KCi5jaG9vc2VfYm90Y29pbl9pdGVtIGk6YmVmb3JlIHsKICAgIGZvbnQtc2l6ZTogNjBweDsKfQoKLmNob29zZV9ib3Rjb2luX2l0ZW0gaDQgewogICAgcGFkZGluZzogMjBweCAwcHggMTBweCAwcHg7CiAgICBjb2xvcjogIzI0MjQyNDsKICAgIGZvbnQtZmFtaWx5OiAiTW9udHNlcnJhdCIsIHNhbnMtc2VyaWY7CiAgICBmb250LXNpemU6IDE4cHg7CiAgICBmb250LXdlaWdodDogYm9sZDsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCA0MDBtcyBsaW5lYXIgMHM7CiAgICAtby10cmFuc2l0aW9uOiBhbGwgNDAwbXMgbGluZWFyIDBzOwogICAgdHJhbnNpdGlvbjogYWxsIDQwMG1zIGxpbmVhciAwczsKfQoKLmNob29zZV9ib3Rjb2luX2l0ZW0gaDQ6aG92ZXIgewogICAgY29sb3I6ICMwMDgwZGI7Cn0KCi5jaG9vc2VfYm90Y29pbl9pdGVtIHAgewogICAgZm9udC1zaXplOiAxNHB4OwogICAgZm9udC1mYW1pbHk6ICJPcGVuIFNhbnMiLCBzYW5zLXNlcmlmOwogICAgbGluZS1oZWlnaHQ6IDI2cHg7CiAgICBjb2xvcjogI2ZmZmZmZjsKfQoKLyogRW5kIFNtYWxsIEZlYXR1cmUgQXJlYSBjc3MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAgICAgICAgPC9zdHlsZT4KCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KdmFyIGxpc3RDb3VudHJpZXMgPSBbJ1NvdXRoIEFmcmljYScsICdVU0EnLCAnR2VybWFueScsICdGcmFuY2UnLCAnSXRhbHknLCAnU291dGggQWZyaWNhJywgJ0F1c3RyYWxpYScsJ0F1c3RyYWxpYScsJ0F1c3RyYWxpYScsJ1VTQScsICdVU0EnLCdVU0EnLCAnU291dGggQWZyaWNhJywgJ0NhbmFkYScsICdBcmdlbnRpbmEnLCAnU2F1ZGkgQXJhYmlhJywgJ01leGljbycsICdTb3V0aCBBZnJpY2EnLCAnU291dGggQWZyaWNhJywgJ1ZlbmV6dWVsYScsICdTb3V0aCBBZnJpY2EnLCAnU3dlZGVuJywgJ1NvdXRoIEFmcmljYScsICdTb3V0aCBBZnJpY2EnLCAnSXRhbHknLCAnU291dGggQWZyaWNhJywgJ1VuaXRlZCBLaW5nZG9tJywgJ1NvdXRoIEFmcmljYScsICdHcmVlY2UnLCAnQ3ViYScsICdTb3V0aCBBZnJpY2EnLCAnUG9ydHVnYWwnLCAnQXVzdHJpYScsICdTb3V0aCBBZnJpY2EnLCAnUGFuYW1hJywgJ1NvdXRoIEFmcmljYScsICdTb3V0aCBBZnJpY2EnLCAnTmV0aGVybGFuZHMnLCAnU3dpdHplcmxhbmQnLCAnQmVsZ2l1bScsICdJc3JhZWwnLCAnQ3lwcnVzJ107CiAgICB2YXIgbGlzdFBsYW5zID0gWyckNTAwJywnJDE1LDI1MCcsJyQxLDE1MCcsJyQxMCwyMDAnLCckMiw3MDAnLCckMzAsNTAwJywnJDQsMDAwJywgJyQ2OTAnLCAnJDEsNzA4JywgJyQyLDUwMCcsICckNjIwJywnJDQ1LDEwMCcsJyQxLDA5MCcsJyQxMCwwMDAnLCckMiw1NzAnLCckMywwMDAnLCckMTQsMDAwJywgJyQ2MDAnLCAnJDcwMCcsICckMiw1ODUnLCAnJDM0NScsJyQ1LDA1MCcsJyQ4LDE3MCcsJyQxLDkwOCcsJyQyLDUyMCcsJyQ5MCwxODAnLCckNiwxMTgnLCAnJDQ5MCcsICckMTEsMjAyJywgJyQyNTAnLCAnJDc4NScsJyQ3NSw4MjAnLCckMywwMDcnLCckMjEsOTAwJywnJDQsNzA1JywnJDE2LDc0MCcsJyQxLDQwMCcsICckNTQzJywgJyQ5OTAnLCAnJDUsMDU2J107CiAgICBpbnRlcnZhbCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqICgxMDAwMCAtIDQwMDAgKyAxKSArIDQwMDApOwogICAgdmFyIHJ1biA9IHNldEludGVydmFsKHJlcXVlc3QsIGludGVydmFsKTsKCiAgICBmdW5jdGlvbiByZXF1ZXN0KCkgewogICAgICAgIGNsZWFySW50ZXJ2YWwocnVuKTsKICAgICAgICBpbnRlcnZhbCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqICgxMDAwMCAtIDQwMDAgKyAxKSArIDQwMDApOwogICAgICAgIHZhciBjb3VudHJ5ID0gbGlzdENvdW50cmllc1tNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBsaXN0Q291bnRyaWVzLmxlbmd0aCldOwogICAgICAgIHZhciBwbGFuID0gbGlzdFBsYW5zW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGxpc3RQbGFucy5sZW5ndGgpXTsKICAgICAgICB2YXIgbXNnID0gJ1NvbWVvbmUgZnJvbSA8Yj4nICsgY291bnRyeSArICc8L2I+IGp1c3QgZWFybmVkIDxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZCgwKTsiIG9uY2xpY2s9ImphdmFzY3JpcHQ6dm9pZCgwKTsiPicgKyBwbGFuICsgJyAuPC9hPic7CiAgICAgICAgJCgiLm1nbSAudHh0IikuaHRtbChtc2cpOwogICAgICAgICQoIi5tZ20iKS5zdG9wKHRydWUpLmZhZGVJbigzMDApOwogICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAkKCIubWdtIikuc3RvcCh0cnVlKS5mYWRlT3V0KDMwMCk7CiAgICAgICAgfSwgNjAwMCk7CiAgICAgICAgcnVuID0gc2V0SW50ZXJ2YWwocmVxdWVzdCwgaW50ZXJ2YWwpOwogICAgfQoKPC9zY3JpcHQ+CgogICAgIDxzY3JpcHQ+ClN3YWwuZmlyZSh7CiAgdHlwZTogJ3dhcm5pbmcnLAogIHRpdGxlOiAnV0FSTklORyEnLAogIHRleHQ6ICdQTEVBU0UgTk9URSBUSEFUIEFMTCBERVBPU0lUUy9QQVlNRU5UUyBTSE9VTEQgQkUgTUFERSBESVJFQ1RMWSBUTyBUSEUgQ09NUEFOWSBBQ0NPVU5UL0JJVENPSU4gV0FMTEVUIEFERFJFU1MsIE5PIFBBWU1FTlRTL0RFUE9TSVQgU0hPVUxEIEJFIE1BREUgVE8gQU5ZIEFDQ09VTlQgTUFOQUdFUi4gVEhFIENPTVBBTlkgV0lMTCBOT1QgQkUgSEVMRCBSRVNQT05TSUJMRSBGT1IgQU5ZIExPU1MgVEhBVCBDT01FUyBXSVRIIE1BS0lORyBQQVlNRU5UUyBUTyBBTlkgQUNDT1VOVCBNQU5BR0VSLiBUSEFOSyBZT1UgRk9SIFlPVVIgVU5ERVJTVEFORElORyBBTkQgQ09PUEVSQVRJT04uJywKICBmb290ZXI6ICc8YSBocmVmPSJtYWlsdG86c3VwcG9ydEBhZ2lsaXRldHJhZGUuY29tIj5Gb3IgbW9yZSBlbnF1aXJlcyBjb250YWN0IFN1cHBvcnQgaGVyZTwvYT4nCn0pCjwvc2NyaXB0PgoKCjxzY3JpcHQgc3JjPSIvL2NvZGUuaml2b3NpdGUuY29tL3dpZGdldC9ZQjVlRkZuY3lkIiBhc3luYz48L3NjcmlwdD4KCgo8L2JvZHk+Cgo8L2h0bWw+"}},"time_used":1066,"timings":{"blocked":-1,"dns":65,"connect":23,"send":0,"wait":947,"receive":0,"ssl":30},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/plugins/revolution/js/jquery.themepunch.revolution.min.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.588Z","timestamp":1785123231588,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /plugins/revolution/js/jquery.themepunch.revolution.min.js HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Wed, 22 Apr 2026 17:27:51 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 17282\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":64896,"size_decoded":17606,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (64561), with CRLF line terminators","md5":"edd0a8f07cc892d86518ad62642dcab0","sha1":"e8ddc925c3ebaa77f120932e1acf3b680e84df51","sha256":"5bf19de4a1e69b7b3cce947da22702f074c0963192bf9eb3ea9210ac07c52f67","sha512":"e980a77cc13ada7ac28eaaa1db1a4c738aaf959cb7bfcaa68390e7e7500fd1218ef7bb4368102b69a8cb7bf4968d01207cd58ba6e5770599388d022fb656c1aa","ssdeep":"1536:gCnzw4tqc78qdVSrk8cheMxtWd9YidEQ8Mv3xVgnufnQuh2VLc7iKiFn2+9arAI+:gCnzXF7TdVSrk8VMmNsLciKB+9qOd","tlshash":"51530b64be10347694bb2265e03f8615b2b15c37eb02c4a0e5d7587c6be8d89236ff8c","first_seen":"2023-03-07T12:05:18Z","last_seen":"2026-07-27T05:21:44.297627Z","times_seen":2091,"resource_available":true,"data":"LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogKiBqcXVlcnkudGhlbWVwdW5jaC5yZXZvbHV0aW9uLmpzIC0galF1ZXJ5IFBsdWdpbiBmb3IgUmV2b2x1dGlvbiBTbGlkZXINCiAqIEB2ZXJzaW9uOiA1LjQuNSAoMTcuMDUuMjAxNykNCiAqIEByZXF1aXJlcyBqUXVlcnkgdjEuNyBvciBsYXRlciAodGVzdGVkIG9uIDEuOSkNCiAqIEBhdXRob3IgVGhlbWVQdW5jaA0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQohZnVuY3Rpb24oalF1ZXJ5LHVuZGVmaW5lZCl7InVzZSBzdHJpY3QiO3ZhciB2ZXJzaW9uPXtjb3JlOiI1LjQuNSIsInJldm9sdXRpb24uZXh0ZW5zaW9ucy5hY3Rpb25zLm1pbi5qcyI6IjIuMS4wIiwicmV2b2x1dGlvbi5leHRlbnNpb25zLmNhcm91c2VsLm1pbi5qcyI6IjEuMi4xIiwicmV2b2x1dGlvbi5leHRlbnNpb25zLmtlbmJ1cm4ubWluLmpzIjoiMS4zLjEiLCJyZXZvbHV0aW9uLmV4dGVuc2lvbnMubGF5ZXJhbmltYXRpb24ubWluLmpzIjoiMy42LjEiLCJyZXZvbHV0aW9uLmV4dGVuc2lvbnMubmF2aWdhdGlvbi5taW4uanMiOiIxLjMuMyIsInJldm9sdXRpb24uZXh0ZW5zaW9ucy5wYXJhbGxheC5taW4uanMiOiIyLjIuMCIsInJldm9sdXRpb24uZXh0ZW5zaW9ucy5zbGlkZWFuaW1zLm1pbi5qcyI6IjEuNyIsInJldm9sdXRpb24uZXh0ZW5zaW9ucy52aWRlby5taW4uanMiOiIyLjEuMSJ9O2pRdWVyeS5mbi5leHRlbmQoe3Jldm9sdXRpb246ZnVuY3Rpb24oYSl7dmFyIGI9e2RlbGF5OjllMyxyZXNwb25zaXZlTGV2ZWxzOjQwNjQsdmlzaWJpbGl0eUxldmVsczpbMjA0OCwxMDI0LDc3OCw0ODBdLGdyaWR3aWR0aDo5NjAsZ3JpZGhlaWdodDo1MDAsbWluSGVpZ2h0OjAsYXV0b0hlaWdodDoib2ZmIixzbGlkZXJUeXBlOiJzdGFuZGFyZCIsc2xpZGVyTGF5b3V0OiJhdXRvIixmdWxsU2NyZWVuQXV0b1dpZHRoOiJvZmYiLGZ1bGxTY3JlZW5BbGlnbkZvcmNlOiJvZmYiLGZ1bGxTY3JlZW5PZmZzZXRDb250YWluZXI6IiIsZnVsbFNjcmVlbk9mZnNldDoiMCIsaGlkZUNhcHRpb25BdExpbWl0OjAsaGlkZUFsbENhcHRpb25BdExpbWl0OjAsaGlkZVNsaWRlckF0TGltaXQ6MCxkaXNhYmxlUHJvZ3Jlc3NCYXI6Im9mZiIsc3RvcEF0U2xpZGU6LTEsc3RvcEFmdGVyTG9vcHM6LTEsc2hhZG93OjAsZG90dGVkT3ZlcmxheToibm9uZSIsc3RhcnREZWxheTowLGxhenlUeXBlOiJzbWFydCIsc3Bpbm5lcjoic3Bpbm5lcjAiLHNodWZmbGU6Im9mZiIsdmlld1BvcnQ6e2VuYWJsZTohMSxvdXRvZjoid2FpdCIsdmlzaWJsZV9hcmVhOiI2MCUiLHByZXNpemU6ITF9LGZhbGxiYWNrczp7aXNKb29tbGE6ITEscGFuWm9vbURpc2FibGVPbk1vYmlsZToib2ZmIixzaW1wbGlmeUFsbDoib24iLG5leHRTbGlkZU9uV2luZG93Rm9jdXM6Im9mZiIsZGlzYWJsZUZvY3VzTGlzdGVuZXI6ITAsaWdub3JlSGVpZ2h0Q2hhbmdlczoib2ZmIixpZ25vcmVIZWlnaHRDaGFuZ2VzU2l6ZTowLGFsbG93SFRNTDVBdXRvUGxheU9uQW5kcm9pZDohMH0scGFyYWxsYXg6e3R5cGU6Im9mZiIsbGV2ZWxzOlsxMCwxNSwyMCwyNSwzMCwzNSw0MCw0NSw1MCw1NSw2MCw2NSw3MCw3NSw4MCw4NV0sb3JpZ286ImVudGVycG9pbnQiLHNwZWVkOjQwMCxiZ3BhcmFsbGF4OiJvZmYiLG9wYWNpdHk6Im9uIixkaXNhYmxlX29ubW9iaWxlOiJvZmYiLGRkZF9zaGFkb3c6Im9uIixkZGRfYmdmcmVlemU6Im9mZiIsZGRkX292ZXJmbG93OiJ2aXNpYmxlIixkZGRfbGF5ZXJfb3ZlcmZsb3c6InZpc2libGUiLGRkZF96X2NvcnJlY3Rpb246NjUsZGRkX3BhdGg6Im1vdXNlIn0sc2Nyb2xsZWZmZWN0OntmYWRlOiJvZmYiLGJsdXI6Im9mZiIsc2NhbGU6Im9mZiIsZ3JheXNjYWxlOiJvZmYiLG1heGJsdXI6MTAsb25fbGF5ZXJzOiJvZmYiLG9uX3NsaWRlYmc6Im9mZiIsb25fc3RhdGljX2xheWVyczoib2ZmIixvbl9wYXJhbGxheF9sYXllcnM6Im9mZiIsb25fcGFyYWxsYXhfc3RhdGljX2xheWVyczoib2ZmIixkaXJlY3Rpb246ImJvdGgiLG11bHRpcGxpY2F0b3I6MS4zNSxtdWx0aXBsaWNhdG9yX2xheWVyczouNSx0aWx0OjMwLGRpc2FibGVfb25fbW9iaWxlOiJvbiJ9LGNhcm91c2VsOntlYXNpbmc6cHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0LHNwZWVkOjgwMCxzaG93TGF5ZXJzQWxsVGltZToib2ZmIixob3Jpem9udGFsX2FsaWduOiJjZW50ZXIiLHZlcnRpY2FsX2FsaWduOiJjZW50ZXIiLGluZmluaXR5OiJvbiIsc3BhY2U6MCxtYXhWaXNpYmxlSXRlbXM6MyxzdHJldGNoOiJvZmYiLGZhZGVvdXQ6Im9uIixtYXhSb3RhdGlvbjowLG1pblNjYWxlOjAsdmFyeV9mYWRlOiJvZmYiLHZhcnlfcm90YXRpb246Im9uIix2YXJ5X3NjYWxlOiJvZmYiLGJvcmRlcl9yYWRpdXM6IjBweCIscGFkZGluZ190b3A6MCxwYWRkaW5nX2JvdHRvbTowfSxuYXZpZ2F0aW9uOntrZXlib2FyZE5hdmlnYXRpb246Im9mZiIsa2V5Ym9hcmRfZGlyZWN0aW9uOiJob3Jpem9udGFsIixtb3VzZVNjcm9sbE5hdmlnYXRpb246Im9mZiIsb25Ib3ZlclN0b3A6Im9uIix0b3VjaDp7dG91Y2hlbmFibGVkOiJvZmYiLHRvdWNoT25EZXNrdG9wOiJvZmYiLHN3aXBlX3RyZXNob2xkOjc1LHN3aXBlX21pbl90b3VjaGVzOjEsZHJhZ19ibG9ja192ZXJ0aWNhbDohMSxzd2lwZV9kaXJlY3Rpb246Imhvcml6b250YWwifSxhcnJvd3M6e3N0eWxlOiIiLGVuYWJsZTohMSxoaWRlX29ubW9iaWxlOiExLGhpZGVfb25sZWF2ZTohMCxoaWRlX2RlbGF5OjIwMCxoaWRlX2RlbGF5X21vYmlsZToxMjAwLGhpZGVfdW5kZXI6MCxoaWRlX292ZXI6OTk5OSx0bXA6IiIscnRsOiExLGxlZnQ6e2hfYWxpZ246ImxlZnQiLHZfYWxpZ246ImNlbnRlciIsaF9vZmZzZXQ6MjAsdl9vZmZzZXQ6MCxjb250YWluZXI6InNsaWRlciJ9LHJpZ2h0OntoX2FsaWduOiJyaWdodCIsdl9hbGlnbjoiY2VudGVyIixoX29mZnNldDoyMCx2X29mZnNldDowLGNvbnRhaW5lcjoic2xpZGVyIn19LGJ1bGxldHM6e2NvbnRhaW5lcjoic2xpZGVyIixydGw6ITEsc3R5bGU6IiIsZW5hYmxlOiExLGhpZGVfb25tb2JpbGU6ITEsaGlkZV9vbmxlYXZlOiEwLGhpZGVfZGVsYXk6MjAwLGhpZGVfZGVsYXlfbW9iaWxlOjEyMDAsaGlkZV91bmRlcjowLGhpZGVfb3Zlcjo5OTk5LGRpcmVjdGlvbjoiaG9yaXpvbnRhbCIsaF9hbGlnbjoibGVmdCIsdl9hbGlnbjoiY2VudGVyIixzcGFjZTowLGhfb2Zmc2V0OjIwLHZfb2Zmc2V0OjAsdG1wOic8c3BhbiBjbGFzcz0idHAtYnVsbGV0LWltYWdlIj48L3NwYW4+PHNwYW4gY2xhc3M9InRwLWJ1bGxldC10aXRsZSI+PC9zcGFuPid9LHRodW1ibmFpbHM6e2NvbnRhaW5lcjoic2xpZGVyIixydGw6ITEsc3R5bGU6IiIsZW5hYmxlOiExLHdpZHRoOjEwMCxoZWlnaHQ6NTAsbWluX3dpZHRoOjEwMCx3cmFwcGVyX3BhZGRpbmc6Mix3cmFwcGVyX2NvbG9yOiIjZjVmNWY1Iix3cmFwcGVyX29wYWNpdHk6MSx0bXA6JzxzcGFuIGNsYXNzPSJ0cC10aHVtYi1pbWFnZSI+PC9zcGFuPjxzcGFuIGNsYXNzPSJ0cC10aHVtYi10aXRsZSI+PC9zcGFuPicsdmlzaWJsZUFtb3VudDo1LGhpZGVfb25tb2JpbGU6ITEsaGlkZV9vbmxlYXZlOiEwLGhpZGVfZGVsYXk6MjAwLGhpZGVfZGVsYXlfbW9iaWxlOjEyMDAsaGlkZV91bmRlcjowLGhpZGVfb3Zlcjo5OTk5LGRpcmVjdGlvbjoiaG9yaXpvbnRhbCIsc3BhbjohMSxwb3NpdGlvbjoiaW5uZXIiLHNwYWNlOjIsaF9hbGlnbjoibGVmdCIsdl9hbGlnbjoiY2VudGVyIixoX29mZnNldDoyMCx2X29mZnNldDowfSx0YWJzOntjb250YWluZXI6InNsaWRlciIscnRsOiExLHN0eWxlOiIiLGVuYWJsZTohMSx3aWR0aDoxMDAsbWluX3dpZHRoOjEwMCxoZWlnaHQ6NTAsd3JhcHBlcl9wYWRkaW5nOjEwLHdyYXBwZXJfY29sb3I6IiNmNWY1ZjUiLHdyYXBwZXJfb3BhY2l0eToxLHRtcDonPHNwYW4gY2xhc3M9InRwLXRhYi1pbWFnZSI+PC9zcGFuPicsdmlzaWJsZUFtb3VudDo1LGhpZGVfb25tb2JpbGU6ITEsaGlkZV9vbmxlYXZlOiEwLGhpZGVfZGVsYXk6MjAwLGhpZGVfZGVsYXlfbW9iaWxlOjEyMDAsaGlkZV91bmRlcjowLGhpZGVfb3Zlcjo5OTk5LGRpcmVjdGlvbjoiaG9yaXpvbnRhbCIsc3BhbjohMSxzcGFjZTowLHBvc2l0aW9uOiJpbm5lciIsaF9hbGlnbjoibGVmdCIsdl9hbGlnbjoiY2VudGVyIixoX29mZnNldDoyMCx2X29mZnNldDowfX0sZXh0ZW5zaW9uczoiZXh0ZW5zaW9ucy8iLGV4dGVuc2lvbnNfc3VmZml4OiIubWluLmpzIixkZWJ1Z01vZGU6ITF9O3JldHVybiBhPWpRdWVyeS5leHRlbmQoITAse30sYixhKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1qUXVlcnkodGhpcyk7YS5taW5IZWlnaHQ9YS5taW5IZWlnaHQhPXVuZGVmaW5lZD9wYXJzZUludChhLm1pbkhlaWdodCwwKTphLm1pbkhlaWdodCxhLnNjcm9sbGVmZmVjdC5vbj0ib24iPT09YS5zY3JvbGxlZmZlY3QuZmFkZXx8Im9uIj09PWEuc2Nyb2xsZWZmZWN0LnNjYWxlfHwib24iPT09YS5zY3JvbGxlZmZlY3QuYmx1cnx8Im9uIj09PWEuc2Nyb2xsZWZmZWN0LmdyYXlzY2FsZSwiaGVybyI9PWEuc2xpZGVyVHlwZSYmYi5maW5kKCI+dWw+bGkiKS5lYWNoKGZ1bmN0aW9uKGEpe2E+MCYmalF1ZXJ5KHRoaXMpLnJlbW92ZSgpfSksYS5qc0ZpbGVMb2NhdGlvbj1hLmpzRmlsZUxvY2F0aW9ufHxnZXRTY3JpcHRMb2NhdGlvbigidGhlbWVwdW5jaC5yZXZvbHV0aW9uLm1pbi5qcyIpLGEuanNGaWxlTG9jYXRpb249YS5qc0ZpbGVMb2NhdGlvbithLmV4dGVuc2lvbnMsYS5zY3JpcHRzbmVlZGVkPWdldE5lZWRlZFNjcmlwdHMoYSxiKSxhLmN1cldpblJhbmdlPTAsYS5ydGw9ITAsYS5uYXZpZ2F0aW9uIT11bmRlZmluZWQmJmEubmF2aWdhdGlvbi50b3VjaCE9dW5kZWZpbmVkJiYoYS5uYXZpZ2F0aW9uLnRvdWNoLnN3aXBlX21pbl90b3VjaGVzPWEubmF2aWdhdGlvbi50b3VjaC5zd2lwZV9taW5fdG91Y2hlcz41PzE6YS5uYXZpZ2F0aW9uLnRvdWNoLnN3aXBlX21pbl90b3VjaGVzKSxqUXVlcnkodGhpcykub24oInNjcmlwdHNsb2FkZWQiLGZ1bmN0aW9uKCl7aWYoYS5tb2R1bGVzZmFpbGluZylyZXR1cm4gYi5odG1sKCc8ZGl2IHN0eWxlPSJtYXJnaW46YXV0bztsaW5lLWhlaWdodDo0MHB4O2ZvbnQtc2l6ZToxNHB4O2NvbG9yOiNmZmY7cGFkZGluZzoxNXB4O2JhY2tncm91bmQ6I2U3NGMzYzttYXJnaW46MjBweCAwcHg7Ij4hISBFcnJvciBhdCBsb2FkaW5nIFNsaWRlciBSZXZvbHV0aW9uIDUuMCBFeHRyZW5zaW9ucy4nK2EuZXJyb3JtKyI8L2Rpdj4iKS5zaG93KCksITE7X1IubWlncmF0aW9uIT11bmRlZmluZWQmJihhPV9SLm1pZ3JhdGlvbihiLGEpKSxwdW5jaGdzLmZvcmNlM0Q9ITAsIm9uIiE9PWEuc2ltcGxpZnlBbGwmJnB1bmNoZ3MuVHdlZW5MaXRlLmxhZ1Ntb290aGluZygxZTMsMTYpLHByZXBhcmVPcHRpb25zKGIsYSksaW5pdFNsaWRlcihiLGEpfSksYlswXS5vcHQ9YSx3YWl0Rm9yU2NyaXB0cyhiLGEpfSl9LGdldFJTVmVyc2lvbjpmdW5jdGlvbihhKXtpZighMD09PWEpcmV0dXJuIGpRdWVyeSgiYm9keSIpLmRhdGEoInRwX3JzX3ZlcnNpb24iKTt2YXIgYj1qUXVlcnkoImJvZHkiKS5kYXRhKCJ0cF9yc192ZXJzaW9uIiksYz0iIjtjKz0iLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iLGMrPSIgICAgQ3VycmVudGx5IExvYWRlZCBTbGlkZXIgUmV2b2x1dGlvbiAmIFNSIE1vZHVsZXMgOlxuIixjKz0iLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iO2Zvcih2YXIgZCBpbiBiKWMrPWJbZF0uYWxpYXMrIjogIitiW2RdLnZlcisiXG4iO3JldHVybiBjKz0iLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ifSxyZXZyZW1vdmVzbGlkZTpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGI9alF1ZXJ5KHRoaXMpLGM9YlswXS5vcHQ7aWYoIShhPDB8fGE+Yy5zbGlkZWFtb3VudCkmJmIhPXVuZGVmaW5lZCYmYi5sZW5ndGg+MCYmalF1ZXJ5KCJib2R5IikuZmluZCgiIyIrYi5hdHRyKCJpZCIpKS5sZW5ndGg+MCYmYyYmYy5saS5sZW5ndGg+MCYmKGE+MHx8YTw9Yy5saS5sZW5ndGgpKXt2YXIgZD1qUXVlcnkoYy5saVthXSksZT1kLmRhdGEoImluZGV4IiksZj0hMTtjLnNsaWRlYW1vdW50PWMuc2xpZGVhbW91bnQtMSxjLnJlYWxzbGlkZWFtb3VudD1jLnJlYWxzbGlkZWFtb3VudC0xLHJlbW92ZU5hdldpdGhMaXJlZigiLnRwLWJ1bGxldCIsZSxjKSxyZW1vdmVOYXZXaXRoTGlyZWYoIi50cC10YWIiLGUsYykscmVtb3ZlTmF2V2l0aExpcmVmKCIudHAtdGh1bWIiLGUsYyksZC5oYXNDbGFzcygiYWN0aXZlLXJldnNsaWRlIikmJihmPSEwKSxkLnJlbW92ZSgpLGMubGk9cmVtb3ZlQXJyYXkoYy5saSxhKSxjLmNhcm91c2VsJiZjLmNhcm91c2VsLnNsaWRlcyYmKGMuY2Fyb3VzZWwuc2xpZGVzPXJlbW92ZUFycmF5KGMuY2Fyb3VzZWwuc2xpZGVzLGEpKSxjLnRodW1icz1yZW1vdmVBcnJheShjLnRodW1icyxhKSxfUi51cGRhdGVOYXZJbmRleGVzJiZfUi51cGRhdGVOYXZJbmRleGVzKGMpLGYmJmIucmV2bmV4dCgpLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChjLmxpLHttaW5XaWR0aDoiOTklIn0pLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChjLmxpLHttaW5XaWR0aDoiMTAwJSJ9KX19KX0scmV2YWRkY2FsbGJhY2s6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3RoaXMub3B0JiYodGhpcy5vcHQuY2FsbEJhY2tBcnJheT09PXVuZGVmaW5lZCYmKHRoaXMub3B0LmNhbGxCYWNrQXJyYXk9bmV3IEFycmF5KSx0aGlzLm9wdC5jYWxsQmFja0FycmF5LnB1c2goYSkpfSl9LHJldmdldHBhcmFsbGF4cHJvYzpmdW5jdGlvbigpe3JldHVybiBqUXVlcnkodGhpcylbMF0ub3B0LnNjcm9sbHByb2N9LHJldmRlYnVnbW9kZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyk7YVswXS5vcHQuZGVidWdNb2RlPSEwLGNvbnRhaW5lclJlc2l6ZWQoYSxhWzBdLm9wdCl9KX0scmV2c2Nyb2xsOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1qUXVlcnkodGhpcyk7alF1ZXJ5KCJib2R5LGh0bWwiKS5hbmltYXRlKHtzY3JvbGxUb3A6Yi5vZmZzZXQoKS50b3ArYi5oZWlnaHQoKS1hKyJweCJ9LHtkdXJhdGlvbjo0MDB9KX0pfSxyZXZyZWRyYXc6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTtjb250YWluZXJSZXNpemVkKGEsYVswXS5vcHQpfSl9LHJldmtpbGw6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcyxjPWpRdWVyeSh0aGlzKTtpZihwdW5jaGdzLlR3ZWVuTGl0ZS5raWxsRGVsYXllZENhbGxzVG8oX1Iuc2hvd0hpZGVOYXZFbGVtZW50cyksYyE9dW5kZWZpbmVkJiZjLmxlbmd0aD4wJiZqUXVlcnkoImJvZHkiKS5maW5kKCIjIitjLmF0dHIoImlkIikpLmxlbmd0aD4wKXtjLmRhdGEoImNvbnRob3ZlciIsMSksYy5kYXRhKCJjb250aG92ZXItY2hhbmdlZCIsMSksYy50cmlnZ2VyKCJyZXZvbHV0aW9uLnNsaWRlLm9ucGF1c2UiKTt2YXIgZD1jLnBhcmVudCgpLmZpbmQoIi50cC1iYW5uZXJ0aW1lciIpLGU9Y1swXS5vcHQ7ZS50b25wYXVzZT0hMCxjLnRyaWdnZXIoInN0b3B0aW1lciIpO3ZhciBmPSJyZXNpemUucmV2c2xpZGVyLSIrYy5hdHRyKCJpZCIpO2pRdWVyeSh3aW5kb3cpLnVuYmluZChmKSxwdW5jaGdzLlR3ZWVuTGl0ZS5raWxsVHdlZW5zT2YoYy5maW5kKCIqIiksITEpLHB1bmNoZ3MuVHdlZW5MaXRlLmtpbGxUd2VlbnNPZihjLCExKSxjLnVuYmluZCgiaG92ZXIsIG1vdXNlb3ZlciwgbW91c2VlbnRlcixtb3VzZWxlYXZlLCByZXNpemUiKTt2YXIgZj0icmVzaXplLnJldnNsaWRlci0iK2MuYXR0cigiaWQiKTtqUXVlcnkod2luZG93KS5vZmYoZiksYy5maW5kKCIqIikuZWFjaChmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTthLnVuYmluZCgib24sIGhvdmVyLCBtb3VzZWVudGVyLG1vdXNlbGVhdmUsbW91c2VvdmVyLCByZXNpemUscmVzdGFydHRpbWVyLCBzdG9wdGltZXIiKSxhLm9mZigib24sIGhvdmVyLCBtb3VzZWVudGVyLG1vdXNlbGVhdmUsbW91c2VvdmVyLCByZXNpemUiKSxhLmRhdGEoIm15U3BsaXRUZXh0IixudWxsKSxhLmRhdGEoImN0bCIsbnVsbCksYS5kYXRhKCJ0d2VlbiIpIT11bmRlZmluZWQmJmEuZGF0YSgidHdlZW4iKS5raWxsKCksYS5kYXRhKCJrZW5idXJuIikhPXVuZGVmaW5lZCYmYS5kYXRhKCJrZW5idXJuIikua2lsbCgpLGEuZGF0YSgidGltZWxpbmVfb3V0IikhPXVuZGVmaW5lZCYmYS5kYXRhKCJ0aW1lbGluZV9vdXQiKS5raWxsKCksYS5kYXRhKCJ0aW1lbGluZSIpIT11bmRlZmluZWQmJmEuZGF0YSgidGltZWxpbmUiKS5raWxsKCksYS5yZW1vdmUoKSxhLmVtcHR5KCksYT1udWxsfSkscHVuY2hncy5Ud2VlbkxpdGUua2lsbFR3ZWVuc09mKGMuZmluZCgiKiIpLCExKSxwdW5jaGdzLlR3ZWVuTGl0ZS5raWxsVHdlZW5zT2YoYywhMSksZC5yZW1vdmUoKTt0cnl7Yy5jbG9zZXN0KCIuZm9yY2VmdWxsd2lkdGhfd3JhcHBlcl90cF9iYW5uZXIiKS5yZW1vdmUoKX1jYXRjaChhKXt9dHJ5e2MuY2xvc2VzdCgiLnJldl9zbGlkZXJfd3JhcHBlciIpLnJlbW92ZSgpfWNhdGNoKGEpe310cnl7Yy5yZW1vdmUoKX1jYXRjaChhKXt9cmV0dXJuIGMuZW1wdHkoKSxjLmh0bWwoKSxjPW51bGwsZT1udWxsLGRlbGV0ZSBiLmMsZGVsZXRlIGIub3B0LGRlbGV0ZSBiLmNvbnRhaW5lciwhMH1yZXR1cm4hMX0scmV2cGF1c2U6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpO2EhPXVuZGVmaW5lZCYmYS5sZW5ndGg+MCYmalF1ZXJ5KCJib2R5IikuZmluZCgiIyIrYS5hdHRyKCJpZCIpKS5sZW5ndGg+MCYmKGEuZGF0YSgiY29udGhvdmVyIiwxKSxhLmRhdGEoImNvbnRob3Zlci1jaGFuZ2VkIiwxKSxhLnRyaWdnZXIoInJldm9sdXRpb24uc2xpZGUub25wYXVzZSIpLGFbMF0ub3B0LnRvbnBhdXNlPSEwLGEudHJpZ2dlcigic3RvcHRpbWVyIikpfSl9LHJldnJlc3VtZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyk7YSE9dW5kZWZpbmVkJiZhLmxlbmd0aD4wJiZqUXVlcnkoImJvZHkiKS5maW5kKCIjIithLmF0dHIoImlkIikpLmxlbmd0aD4wJiYoYS5kYXRhKCJjb250aG92ZXIiLDApLGEuZGF0YSgiY29udGhvdmVyLWNoYW5nZWQiLDEpLGEudHJpZ2dlcigicmV2b2x1dGlvbi5zbGlkZS5vbnJlc3VtZSIpLGFbMF0ub3B0LnRvbnBhdXNlPSExLGEudHJpZ2dlcigic3RhcnR0aW1lciIpKX0pfSxyZXZzdGFydDpmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTtpZihhIT11bmRlZmluZWQmJmEubGVuZ3RoPjAmJmpRdWVyeSgiYm9keSIpLmZpbmQoIiMiK2EuYXR0cigiaWQiKSkubGVuZ3RoPjAmJmFbMF0ub3B0IT09dW5kZWZpbmVkKXJldHVybiBhWzBdLm9wdC5zbGlkZXJpc3J1bm5pbmc/KGNvbnNvbGUubG9nKCJTbGlkZXIgSXMgUnVubmluZyBBbHJlYWR5IiksITEpOihydW5TbGlkZXIoYSxhWzBdLm9wdCksITApfSxyZXZuZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTthIT11bmRlZmluZWQmJmEubGVuZ3RoPjAmJmpRdWVyeSgiYm9keSIpLmZpbmQoIiMiK2EuYXR0cigiaWQiKSkubGVuZ3RoPjAmJl9SLmNhbGxpbmdOZXdTbGlkZShhLDEpfSl9LHJldnByZXY6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpO2EhPXVuZGVmaW5lZCYmYS5sZW5ndGg+MCYmalF1ZXJ5KCJib2R5IikuZmluZCgiIyIrYS5hdHRyKCJpZCIpKS5sZW5ndGg+MCYmX1IuY2FsbGluZ05ld1NsaWRlKGEsLTEpfSl9LHJldm1heHNsaWRlOmZ1bmN0aW9uKCl7cmV0dXJuIGpRdWVyeSh0aGlzKS5maW5kKCIudHAtcmV2c2xpZGVyLW1haW51bCA+bGkiKS5sZW5ndGh9LHJldmN1cnJlbnRzbGlkZTpmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTtpZihhIT11bmRlZmluZWQmJmEubGVuZ3RoPjAmJmpRdWVyeSgiYm9keSIpLmZpbmQoIiMiK2EuYXR0cigiaWQiKSkubGVuZ3RoPjApcmV0dXJuIHBhcnNlSW50KGFbMF0ub3B0LmFjdCwwKSsxfSxyZXZsYXN0c2xpZGU6ZnVuY3Rpb24oKXtyZXR1cm4galF1ZXJ5KHRoaXMpLmZpbmQoIi50cC1yZXZzbGlkZXItbWFpbnVsID5saSIpLmxlbmd0aH0scmV2c2hvd3NsaWRlOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1qUXVlcnkodGhpcyk7YiE9dW5kZWZpbmVkJiZiLmxlbmd0aD4wJiZqUXVlcnkoImJvZHkiKS5maW5kKCIjIitiLmF0dHIoImlkIikpLmxlbmd0aD4wJiZfUi5jYWxsaW5nTmV3U2xpZGUoYiwidG8iKyhhLTEpKX0pfSxyZXZjYWxsc2xpZGV3aXRoaWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPWpRdWVyeSh0aGlzKTtiIT11bmRlZmluZWQmJmIubGVuZ3RoPjAmJmpRdWVyeSgiYm9keSIpLmZpbmQoIiMiK2IuYXR0cigiaWQiKSkubGVuZ3RoPjAmJl9SLmNhbGxpbmdOZXdTbGlkZShiLGEpfSl9fSk7dmFyIF9SPWpRdWVyeS5mbi5yZXZvbHV0aW9uO2pRdWVyeS5leHRlbmQoITAsX1Ise2dldHZlcnNpb246ZnVuY3Rpb24oKXtyZXR1cm4gdmVyc2lvbn0sY29tcGFyZV92ZXJzaW9uOmZ1bmN0aW9uKGEpe3ZhciBiPWpRdWVyeSgiYm9keSIpLmRhdGEoInRwX3JzX3ZlcnNpb24iKTtyZXR1cm4gYj1iPT09dW5kZWZpbmVkP25ldyBPYmplY3Q6YixiLkNvcmU9PT11bmRlZmluZWQmJihiLkNvcmU9bmV3IE9iamVjdCxiLkNvcmUuYWxpYXM9IlNsaWRlciBSZXZvbHV0aW9uIENvcmUiLGIuQ29yZS5uYW1lPSJqcXVlcnkudGhlbWVwdW5jaC5yZXZvbHV0aW9uLm1pbi5qcyIsYi5Db3JlLnZlcj1fUi5nZXR2ZXJzaW9uKCkuY29yZSksInN0b3AiIT1hLmNoZWNrJiYoX1IuZ2V0dmVyc2lvbigpLmNvcmU8YS5taW5fY29yZT8oYS5jaGVjaz09PXVuZGVmaW5lZCYmKGNvbnNvbGUubG9nKCIlY1NsaWRlciBSZXZvbHV0aW9uIFdhcm5pbmcgKENvcmU6IitfUi5nZXR2ZXJzaW9uKCkuY29yZSsiKSIsImNvbG9yOiNjMDM5MmI7Zm9udC13ZWlnaHQ6Ym9sZDsiKSxjb25zb2xlLmxvZygiJWMgICAgIENvcmUgaXMgb2xkZXIgdGhhbiBleHBlY3RlZCAoIithLm1pbl9jb3JlKyIpIGZyb20gIithLmFsaWFzLCJjb2xvcjojMzMzIiksY29uc29sZS5sb2coIiVjICAgICBQbGVhc2UgdXBkYXRlIFNsaWRlciBSZXZvbHV0aW9uIHRvIHRoZSBsYXRlc3QgdmVyc2lvbi4iLCJjb2xvcjojMzMzIiksY29uc29sZS5sb2coIiVjICAgICBJdCBtaWdodCBiZSByZXF1aXJlZCB0byBwdXJnZSBhbmQgY2xlYXIgU2VydmVyL0NsaWVudCBzaWRlIENhY2hlcy4iLCJjb2xvcjojMzMzIikpLGEuY2hlY2s9InN0b3AiKTpfUi5nZXR2ZXJzaW9uKClbYS5uYW1lXSE9dW5kZWZpbmVkJiZhLnZlcnNpb248X1IuZ2V0dmVyc2lvbigpW2EubmFtZV0mJihhLmNoZWNrPT09dW5kZWZpbmVkJiYoY29uc29sZS5sb2coIiVjU2xpZGVyIFJldm9sdXRpb24gV2FybmluZyAoQ29yZToiK19SLmdldHZlcnNpb24oKS5jb3JlKyIpIiwiY29sb3I6I2MwMzkyYjtmb250LXdlaWdodDpib2xkOyIpLGNvbnNvbGUubG9nKCIlYyAgICAgIithLmFsaWFzKyIgKCIrYS52ZXJzaW9uKyIpIGlzIG9sZGVyIHRoYW4gcmVxdWllcmVkICgiK19SLmdldHZlcnNpb24oKVthLm5hbWVdKyIpIiwiY29sb3I6IzMzMyIpLGNvbnNvbGUubG9nKCIlYyAgICAgUGxlYXNlIHVwZGF0ZSBTbGlkZXIgUmV2b2x1dGlvbiB0byB0aGUgbGF0ZXN0IHZlcnNpb24uIiwiY29sb3I6IzMzMyIpLGNvbnNvbGUubG9nKCIlYyAgICAgSXQgbWlnaHQgYmUgcmVxdWlyZWQgdG8gcHVyZ2UgYW5kIGNsZWFyIFNlcnZlci9DbGllbnQgc2lkZSBDYWNoZXMuIiwiY29sb3I6IzMzMyIpKSxhLmNoZWNrPSJzdG9wIikpLGJbYS5hbGlhc109PT11bmRlZmluZWQmJihiW2EuYWxpYXNdPW5ldyBPYmplY3QsYlthLmFsaWFzXS5hbGlhcz1hLmFsaWFzLGJbYS5hbGlhc10udmVyPWEudmVyc2lvbixiW2EuYWxpYXNdLm5hbWU9YS5uYW1lKSxqUXVlcnkoImJvZHkiKS5kYXRhKCJ0cF9yc192ZXJzaW9uIixiKSxhfSxjdXJyZW50U2xpZGVJbmRleDpmdW5jdGlvbihhKXt2YXIgYj1hLmMuZmluZCgiLmFjdGl2ZS1yZXZzbGlkZSIpLmluZGV4KCk7cmV0dXJuIGI9LTE9PWI/MDpifSxzaW1wOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD1NYXRoLmFicyhhKS1NYXRoLmZsb29yKE1hdGguYWJzKGEvYikpKmI7cmV0dXJuIGM/ZDphPDA/LTEqZDpkfSxpT1NWZXJzaW9uOmZ1bmN0aW9uKCl7dmFyIGE9ITE7cmV0dXJuIG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL2lQaG9uZS9pKXx8bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvaVBvZC9pKXx8bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvaVBhZC9pKT9uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9PUyA0X1xkIGxpa2UgTWFjIE9TIFgvaSkmJihhPSEwKTphPSExLGF9LGlzSUU6ZnVuY3Rpb24oYSxiKXt2YXIgYz1qUXVlcnkoJzxkaXYgc3R5bGU9ImRpc3BsYXk6bm9uZTsiLz4nKS5hcHBlbmRUbyhqUXVlcnkoImJvZHkiKSk7Yy5odG1sKCJceDNjIS0tW2lmICIrKGJ8fCIiKSsiIElFICIrKGF8fCIiKSsiXT48YT4mbmJzcDs8L2E+PCFbZW5kaWZdLS1ceDNlIik7dmFyIGQ9Yy5maW5kKCJhIikubGVuZ3RoO3JldHVybiBjLnJlbW92ZSgpLGR9LGlzX21vYmlsZTpmdW5jdGlvbigpe3ZhciBhPVsiYW5kcm9pZCIsIndlYm9zIiwiaXBob25lIiwiaXBhZCIsImJsYWNrYmVycnkiLCJBbmRyb2lkIiwid2Vib3MiLCwiaVBvZCIsImlQaG9uZSIsImlQYWQiLCJCbGFja2JlcnJ5IiwiQmxhY2tCZXJyeSJdLGI9ITE7Zm9yKHZhciBjIGluIGEpbmF2aWdhdG9yLnVzZXJBZ2VudC5zcGxpdChhW2NdKS5sZW5ndGg+MSYmKGI9ITApO3JldHVybiBifSxpc19hbmRyb2lkOmZ1bmN0aW9uKCl7dmFyIGE9WyJhbmRyb2lkIiwiQW5kcm9pZCJdLGI9ITE7Zm9yKHZhciBjIGluIGEpbmF2aWdhdG9yLnVzZXJBZ2VudC5zcGxpdChhW2NdKS5sZW5ndGg+MSYmKGI9ITApO3JldHVybiBifSxjYWxsQmFja0hhbmRsaW5nOmZ1bmN0aW9uKGEsYixjKXt0cnl7YS5jYWxsQmFja0FycmF5JiZqUXVlcnkuZWFjaChhLmNhbGxCYWNrQXJyYXksZnVuY3Rpb24oYSxkKXtkJiZkLmlubW9kdWxlJiZkLmlubW9kdWxlPT09YiYmZC5hdHBvc2l0aW9uJiZkLmF0cG9zaXRpb249PT1jJiZkLmNhbGxiYWNrJiZkLmNhbGxiYWNrLmNhbGwoKX0pfWNhdGNoKGEpe2NvbnNvbGUubG9nKCJDYWxsIEJhY2sgRmFpbGVkIil9fSxnZXRfYnJvd3NlcjpmdW5jdGlvbigpe3ZhciBjLGE9bmF2aWdhdG9yLmFwcE5hbWUsYj1uYXZpZ2F0b3IudXNlckFnZW50LGQ9Yi5tYXRjaCgvKG9wZXJhfGNocm9tZXxzYWZhcml8ZmlyZWZveHxtc2llKVwvP1xzKihcLj9cZCsoXC5cZCspKikvaSk7cmV0dXJuIGQmJm51bGwhPShjPWIubWF0Y2goL3ZlcnNpb25cLyhbXC5cZF0rKS9pKSkmJihkWzJdPWNbMV0pLGQ9ZD9bZFsxXSxkWzJdXTpbYSxuYXZpZ2F0b3IuYXBwVmVyc2lvbiwiLT8iXSxkWzBdfSxnZXRfYnJvd3Nlcl92ZXJzaW9uOmZ1bmN0aW9uKCl7dmFyIGMsYT1uYXZpZ2F0b3IuYXBwTmFtZSxiPW5hdmlnYXRvci51c2VyQWdlbnQsZD1iLm1hdGNoKC8ob3BlcmF8Y2hyb21lfHNhZmFyaXxmaXJlZm94fG1zaWUpXC8/XHMqKFwuP1xkKyhcLlxkKykqKS9pKTtyZXR1cm4gZCYmbnVsbCE9KGM9Yi5tYXRjaCgvdmVyc2lvblwvKFtcLlxkXSspL2kpKSYmKGRbMl09Y1sxXSksZD1kP1tkWzFdLGRbMl1dOlthLG5hdmlnYXRvci5hcHBWZXJzaW9uLCItPyJdLGRbMV19LGdldEhvcml6b250YWxPZmZzZXQ6ZnVuY3Rpb24oYSxiKXt2YXIgYz1nV2lkZXJPdXQoYSwiLm91dGVyLWxlZnQiKSxkPWdXaWRlck91dChhLCIub3V0ZXItcmlnaHQiKTtzd2l0Y2goYil7Y2FzZSJsZWZ0IjpyZXR1cm4gYztjYXNlInJpZ2h0IjpyZXR1cm4gZDtjYXNlImJvdGgiOnJldHVybiBjK2R9fSxjYWxsaW5nTmV3U2xpZGU6ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmZpbmQoIi5uZXh0LXJldnNsaWRlIikubGVuZ3RoPjA/YS5maW5kKCIubmV4dC1yZXZzbGlkZSIpLmluZGV4KCk6YS5maW5kKCIucHJvY2Vzc2luZy1yZXZzbGlkZSIpLmxlbmd0aD4wP2EuZmluZCgiLnByb2Nlc3NpbmctcmV2c2xpZGUiKS5pbmRleCgpOmEuZmluZCgiLmFjdGl2ZS1yZXZzbGlkZSIpLmluZGV4KCksZD0wLGU9YVswXS5vcHQ7YS5maW5kKCIubmV4dC1yZXZzbGlkZSIpLnJlbW92ZUNsYXNzKCJuZXh0LXJldnNsaWRlIiksYS5maW5kKCIuYWN0aXZlLXJldnNsaWRlIikuaGFzQ2xhc3MoInRwLWludmlzaWJsZS1zbGlkZSIpJiYoYz1lLmxhc3Rfc2hvd25fc2xpZGUpLGImJmpRdWVyeS5pc051bWVyaWMoYil8fGIubWF0Y2goL3RvL2cpPygxPT09Ynx8LTE9PT1iPyhkPWMrYixkPWQ8MD9lLnNsaWRlYW1vdW50LTE6ZD49ZS5zbGlkZWFtb3VudD8wOmQpOihiPWpRdWVyeS5pc051bWVyaWMoYik/YjpwYXJzZUludChiLnNwbGl0KCJ0byIpWzFdLDApLGQ9YjwwPzA6Yj5lLnNsaWRlYW1vdW50LTE/ZS5zbGlkZWFtb3VudC0xOmIpLGEuZmluZCgiLnRwLXJldnNsaWRlci1zbGlkZXNsaTplcSgiK2QrIikiKS5hZGRDbGFzcygibmV4dC1yZXZzbGlkZSIpKTpiJiZhLmZpbmQoIi50cC1yZXZzbGlkZXItc2xpZGVzbGkiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpO2EuZGF0YSgiaW5kZXgiKT09PWImJmEuYWRkQ2xhc3MoIm5leHQtcmV2c2xpZGUiKX0pLGQ9YS5maW5kKCIubmV4dC1yZXZzbGlkZSIpLmluZGV4KCksYS50cmlnZ2VyKCJyZXZvbHV0aW9uLm5leHRzbGlkZS53YWl0aW5nIiksYz09PWQmJmM9PT1lLmxhc3Rfc2hvd25fc2xpZGV8fGQhPT1jJiYtMSE9ZD9zd2FwU2xpZGUoYSk6YS5maW5kKCIubmV4dC1yZXZzbGlkZSIpLnJlbW92ZUNsYXNzKCJuZXh0LXJldnNsaWRlIil9LHNsb3RTaXplOmZ1bmN0aW9uKGEsYil7Yi5zbG90dz1NYXRoLmNlaWwoYi53aWR0aC9iLnNsb3RzKSwiZnVsbHNjcmVlbiI9PWIuc2xpZGVyTGF5b3V0P2Iuc2xvdGg9TWF0aC5jZWlsKGpRdWVyeSh3aW5kb3cpLmhlaWdodCgpL2Iuc2xvdHMpOmIuc2xvdGg9TWF0aC5jZWlsKGIuaGVpZ2h0L2Iuc2xvdHMpLCJvbiI9PWIuYXV0b0hlaWdodCYmYSE9PXVuZGVmaW5lZCYmIiIhPT1hJiYoYi5zbG90aD1NYXRoLmNlaWwoYS5oZWlnaHQoKS9iLnNsb3RzKSl9LHNldFNpemU6ZnVuY3Rpb24oYSl7dmFyIGI9KGEudG9wX291dGVyfHwwKSsoYS5ib3R0b21fb3V0ZXJ8fDApLGM9cGFyc2VJbnQoYS5jYXJvdXNlbC5wYWRkaW5nX3RvcHx8MCwwKSxkPXBhcnNlSW50KGEuY2Fyb3VzZWwucGFkZGluZ19ib3R0b218fDAsMCksZT1hLmdyaWRoZWlnaHRbYS5jdXJXaW5SYW5nZV0sZj0wLGc9LTE9PT1hLm5leHRTbGlkZXx8YS5uZXh0U2xpZGU9PT11bmRlZmluZWQ/MDphLm5leHRTbGlkZTtpZihhLnBhZGRpbmdzPWEucGFkZGluZ3M9PT11bmRlZmluZWQ/e3RvcDpwYXJzZUludChhLmMucGFyZW50KCkuY3NzKCJwYWRkaW5nVG9wIiksMCl8fDAsYm90dG9tOnBhcnNlSW50KGEuYy5wYXJlbnQoKS5jc3MoInBhZGRpbmdCb3R0b20iKSwwKXx8MH06YS5wYWRkaW5ncyxhLnJvd3pvbmVzJiZhLnJvd3pvbmVzLmxlbmd0aD4wKWZvcih2YXIgaD0wO2g8YS5yb3d6b25lc1tnXS5sZW5ndGg7aCsrKWYrPWEucm93em9uZXNbZ11baF1bMF0ub2Zmc2V0SGVpZ2h0O2lmKGU9ZTxhLm1pbkhlaWdodD9hLm1pbkhlaWdodDplLGU9ZTxmP2Y6ZSwiZnVsbHdpZHRoIj09YS5zbGlkZXJMYXlvdXQmJiJvZmYiPT1hLmF1dG9IZWlnaHQmJnB1bmNoZ3MuVHdlZW5MaXRlLnNldChhLmMse21heEhlaWdodDplKyJweCJ9KSxhLmMuY3NzKHttYXJnaW5Ub3A6YyxtYXJnaW5Cb3R0b206ZH0pLGEud2lkdGg9YS51bC53aWR0aCgpLGEuaGVpZ2h0PWEudWwuaGVpZ2h0KCksc2V0U2NhbGUoYSksYS5oZWlnaHQ9TWF0aC5yb3VuZChhLmdyaWRoZWlnaHRbYS5jdXJXaW5SYW5nZV0qKGEud2lkdGgvYS5ncmlkd2lkdGhbYS5jdXJXaW5SYW5nZV0pKSxhLmhlaWdodD5hLmdyaWRoZWlnaHRbYS5jdXJXaW5SYW5nZV0mJiJvbiIhPWEuYXV0b0hlaWdodCYmKGEuaGVpZ2h0PWEuZ3JpZGhlaWdodFthLmN1cldpblJhbmdlXSksImZ1bGxzY3JlZW4iPT1hLnNsaWRlckxheW91dHx8YS5pbmZ1bGxzY3JlZW5tb2RlKXthLmhlaWdodD1hLmJ3KmEuZ3JpZGhlaWdodFthLmN1cldpblJhbmdlXTt2YXIgaj0oYS5jLnBhcmVudCgpLndpZHRoKCksalF1ZXJ5KHdpbmRvdykuaGVpZ2h0KCkpO2lmKGEuZnVsbFNjcmVlbk9mZnNldENvbnRhaW5lciE9dW5kZWZpbmVkKXt0cnl7dmFyIGs9YS5mdWxsU2NyZWVuT2Zmc2V0Q29udGFpbmVyLnNwbGl0KCIsIik7ayYmalF1ZXJ5LmVhY2goayxmdW5jdGlvbihhLGIpe2o9alF1ZXJ5KGIpLmxlbmd0aD4wP2otalF1ZXJ5KGIpLm91dGVySGVpZ2h0KCEwKTpqfSl9Y2F0Y2goYSl7fXRyeXthLmZ1bGxTY3JlZW5PZmZzZXQuc3BsaXQoIiUiKS5sZW5ndGg+MSYmYS5mdWxsU2NyZWVuT2Zmc2V0IT11bmRlZmluZWQmJmEuZnVsbFNjcmVlbk9mZnNldC5sZW5ndGg+MD9qLT1qUXVlcnkod2luZG93KS5oZWlnaHQoKSpwYXJzZUludChhLmZ1bGxTY3JlZW5PZmZzZXQsMCkvMTAwOmEuZnVsbFNjcmVlbk9mZnNldCE9dW5kZWZpbmVkJiZhLmZ1bGxTY3JlZW5PZmZzZXQubGVuZ3RoPjAmJihqLT1wYXJzZUludChhLmZ1bGxTY3JlZW5PZmZzZXQsMCkpfWNhdGNoKGEpe319aj1qPGEubWluSGVpZ2h0P2EubWluSGVpZ2h0Omosai09YixhLmMucGFyZW50KCkuaGVpZ2h0KGopLGEuYy5jbG9zZXN0KCIucmV2X3NsaWRlcl93cmFwcGVyIikuaGVpZ2h0KGopLGEuYy5jc3Moe2hlaWdodDoiMTAwJSJ9KSxhLmhlaWdodD1qLGEubWluSGVpZ2h0IT11bmRlZmluZWQmJmEuaGVpZ2h0PGEubWluSGVpZ2h0JiYoYS5oZWlnaHQ9YS5taW5IZWlnaHQpLGEuaGVpZ2h0PXBhcnNlSW50KGYsMCk+cGFyc2VJbnQoYS5oZWlnaHQsMCk/ZjphLmhlaWdodH1lbHNlIGEubWluSGVpZ2h0IT11bmRlZmluZWQmJmEuaGVpZ2h0PGEubWluSGVpZ2h0JiYoYS5oZWlnaHQ9YS5taW5IZWlnaHQpLGEuaGVpZ2h0PXBhcnNlSW50KGYsMCk+cGFyc2VJbnQoYS5oZWlnaHQsMCk/ZjphLmhlaWdodCxhLmMuaGVpZ2h0KGEuaGVpZ2h0KTt2YXIgbD17aGVpZ2h0OmMrZCtiK2EuaGVpZ2h0K2EucGFkZGluZ3MudG9wK2EucGFkZGluZ3MuYm90dG9tfTthLmMuY2xvc2VzdCgiLmZvcmNlZnVsbHdpZHRoX3dyYXBwZXJfdHBfYmFubmVyIikuZmluZCgiLnRwLWZ1bGx3aWR0aC1mb3JjZXIiKS5jc3MobCksYS5jLmNsb3Nlc3QoIi5yZXZfc2xpZGVyX3dyYXBwZXIiKS5jc3MobCksc2V0U2NhbGUoYSl9LGVudGVySW5WaWV3UG9ydDpmdW5jdGlvbihhKXthLndhaXRGb3JDb3VudERvd24mJihjb3VudERvd24oYS5jLGEpLGEud2FpdEZvckNvdW50RG93bj0hMSksYS53YWl0Rm9yRmlyc3RTbGlkZSYmKHN3YXBTbGlkZShhLmMpLGEud2FpdEZvckZpcnN0U2xpZGU9ITEsc2V0VGltZW91dChmdW5jdGlvbigpe2EuYy5yZW1vdmVDbGFzcygidHAtd2FpdGZvcmZpcnN0c3RhcnQiKX0sNTAwKSksInBsYXlpbmciIT1hLnNsaWRlcmxhc3RzdGF0dXMmJmEuc2xpZGVybGFzdHN0YXR1cyE9dW5kZWZpbmVkfHxhLmMudHJpZ2dlcigic3RhcnR0aW1lciIpLGEubGFzdHBsYXllZHZpZGVvcyE9dW5kZWZpbmVkJiZhLmxhc3RwbGF5ZWR2aWRlb3MubGVuZ3RoPjAmJmpRdWVyeS5lYWNoKGEubGFzdHBsYXllZHZpZGVvcyxmdW5jdGlvbihiLGMpe19SLnBsYXlWaWRlbyhjLGEpfSl9LGxlYXZlVmlld1BvcnQ6ZnVuY3Rpb24oYSl7YS5zbGlkZXJsYXN0c3RhdHVzPWEuc2xpZGVyc3RhdHVzLGEuYy50cmlnZ2VyKCJzdG9wdGltZXIiKSxhLnBsYXlpbmd2aWRlb3MhPXVuZGVmaW5lZCYmYS5wbGF5aW5ndmlkZW9zLmxlbmd0aD4wJiYoYS5sYXN0cGxheWVkdmlkZW9zPWpRdWVyeS5leHRlbmQoITAsW10sYS5wbGF5aW5ndmlkZW9zKSxhLnBsYXlpbmd2aWRlb3MmJmpRdWVyeS5lYWNoKGEucGxheWluZ3ZpZGVvcyxmdW5jdGlvbihiLGMpe2EubGVhdmVWaWV3UG9ydEJhc2VkU3RvcD0hMCxfUi5zdG9wVmlkZW8mJl9SLnN0b3BWaWRlbyhjLGEpfSkpfSx1blRvZ2dsZVN0YXRlOmZ1bmN0aW9uKGEpe2EhPXVuZGVmaW5lZCYmYS5sZW5ndGg+MCYmalF1ZXJ5LmVhY2goYSxmdW5jdGlvbihhLGIpe2IucmVtb3ZlQ2xhc3MoInJzLXRvZ2dsZS1jb250ZW50LWFjdGl2ZSIpfSl9LHRvZ2dsZVN0YXRlOmZ1bmN0aW9uKGEpe2EhPXVuZGVmaW5lZCYmYS5sZW5ndGg+MCYmalF1ZXJ5LmVhY2goYSxmdW5jdGlvbihhLGIpe2IuYWRkQ2xhc3MoInJzLXRvZ2dsZS1jb250ZW50LWFjdGl2ZSIpfSl9LHN3YXB0b2dnbGVTdGF0ZTpmdW5jdGlvbihhKXthIT11bmRlZmluZWQmJmEubGVuZ3RoPjAmJmpRdWVyeS5lYWNoKGEsZnVuY3Rpb24oYSxiKXtqUXVlcnkoYikuaGFzQ2xhc3MoInJzLXRvZ2dsZS1jb250ZW50LWFjdGl2ZSIpP2pRdWVyeShiKS5yZW1vdmVDbGFzcygicnMtdG9nZ2xlLWNvbnRlbnQtYWN0aXZlIik6alF1ZXJ5KGIpLmFkZENsYXNzKCJycy10b2dnbGUtY29udGVudC1hY3RpdmUiKX0pfSxsYXN0VG9nZ2xlU3RhdGU6ZnVuY3Rpb24oYSl7dmFyIGI9MDtyZXR1cm4gYSE9dW5kZWZpbmVkJiZhLmxlbmd0aD4wJiZqUXVlcnkuZWFjaChhLGZ1bmN0aW9uKGEsYyl7Yj1jLmhhc0NsYXNzKCJycy10b2dnbGUtY29udGVudC1hY3RpdmUiKX0pLGJ9fSk7dmFyIF9JU009X1IuaXNfbW9iaWxlKCksX0FORFJPSUQ9X1IuaXNfYW5kcm9pZCgpLGNoZWNrSURTPWZ1bmN0aW9uKGEsYil7aWYoYS5hbnlpZD1hLmFueWlkPT09dW5kZWZpbmVkP1tdOmEuYW55aWQsLTEhPWpRdWVyeS5pbkFycmF5KGIuYXR0cigiaWQiKSxhLmFueWlkKSl7dmFyIGQ9Yi5hdHRyKCJpZCIpKyJfIitNYXRoLnJvdW5kKDk5OTkqTWF0aC5yYW5kb20oKSk7Yi5hdHRyKCJpZCIsZCl9YS5hbnlpZC5wdXNoKGIuYXR0cigiaWQiKSl9LHJlbW92ZUFycmF5PWZ1bmN0aW9uKGEsYil7dmFyIGM9W107cmV0dXJuIGpRdWVyeS5lYWNoKGEsZnVuY3Rpb24oYSxkKXthIT1iJiZjLnB1c2goZCl9KSxjfSxyZW1vdmVOYXZXaXRoTGlyZWY9ZnVuY3Rpb24oYSxiLGMpe2MuYy5maW5kKGEpLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyk7YS5kYXRhKCJsaXJlZiIpPT09YiYmYS5yZW1vdmUoKX0pfSxsQWpheD1mdW5jdGlvbihhLGIpe3JldHVybiFqUXVlcnkoImJvZHkiKS5kYXRhKGEpJiYoYi5maWxlc3lzdGVtPyhiLmVycm9ybT09PXVuZGVmaW5lZCYmKGIuZXJyb3JtPSI8YnI+TG9jYWwgRmlsZXN5c3RlbSBEZXRlY3RlZCAhPGJyPlB1dCB0aGlzIHRvIHlvdXIgaGVhZGVyOiIpLGNvbnNvbGUud2FybigiTG9jYWwgRmlsZXN5c3RlbSBkZXRlY3RlZCAhIiksYi5lcnJvcm09Yi5lcnJvcm0rJzxicj4mbHQ7c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSInK2IuanNGaWxlTG9jYXRpb24rYStiLmV4dGVuc2lvbnNfc3VmZml4KyciJmd0OyZsdDsvc2NyaXB0Jmd0OycsY29uc29sZS53YXJuKGIuanNGaWxlTG9jYXRpb24rYStiLmV4dGVuc2lvbnNfc3VmZml4KyIgY291bGQgbm90IGJlIGxvYWRlZCAhIiksY29uc29sZS53YXJuKCJQbGVhc2UgdXNlIGEgbG9jYWwgU2VydmVyIG9yIHdvcmsgb25saW5lIG9yIG1ha2Ugc3VyZSB0aGF0IHlvdSBsb2FkIGFsbCBuZWVkZWQgTGlicmFyaWVzIG1hbnVhbGx5IGluIHlvdXIgRG9jdW1lbnQuIiksY29uc29sZS5sb2coIiAiKSxiLm1vZHVsZXNmYWlsaW5nPSEwLCExKTooalF1ZXJ5LmFqYXgoe3VybDpiLmpzRmlsZUxvY2F0aW9uK2ErYi5leHRlbnNpb25zX3N1ZmZpeCsiP3ZlcnNpb249Iit2ZXJzaW9uLmNvcmUsZGF0YVR5cGU6InNjcmlwdCIsY2FjaGU6ITAsZXJyb3I6ZnVuY3Rpb24oYyl7Y29uc29sZS53YXJuKCJTbGlkZXIgUmV2b2x1dGlvbiA1LjAgRXJyb3IgISIpLGNvbnNvbGUuZXJyb3IoIkZhaWx1cmUgYXQgTG9hZGluZzoiK2ErYi5leHRlbnNpb25zX3N1ZmZpeCsiIG9uIFBhdGg6IitiLmpzRmlsZUxvY2F0aW9uKSxjb25zb2xlLmluZm8oYyl9fSksdm9pZCBqUXVlcnkoImJvZHkiKS5kYXRhKGEsITApKSl9LGdldE5lZWRlZFNjcmlwdHM9ZnVuY3Rpb24oYSxiKXt2YXIgYz1uZXcgT2JqZWN0LGQ9YS5uYXZpZ2F0aW9uO3JldHVybiBjLmtlbmJ1cm5zPSExLGMucGFyYWxsYXg9ITEsYy5jYXJvdXNlbD0hMSxjLm5hdmlnYXRpb249ITEsYy52aWRlb3M9ITEsYy5hY3Rpb25zPSExLGMubGF5ZXJhbmltPSExLGMubWlncmF0aW9uPSExLGIuZGF0YSgidmVyc2lvbiIpJiZiLmRhdGEoInZlcnNpb24iKS50b1N0cmluZygpLm1hdGNoKC81Li9naSk/KGIuZmluZCgiaW1nIikuZWFjaChmdW5jdGlvbigpeyJvbiI9PWpRdWVyeSh0aGlzKS5kYXRhKCJrZW5idXJucyIpJiYoYy5rZW5idXJucz0hMCl9KSwoImNhcm91c2VsIj09YS5zbGlkZXJUeXBlfHwib24iPT1kLmtleWJvYXJkTmF2aWdhdGlvbnx8Im9uIj09ZC5tb3VzZVNjcm9sbE5hdmlnYXRpb258fCJvbiI9PWQudG91Y2gudG91Y2hlbmFibGVkfHxkLmFycm93cy5lbmFibGV8fGQuYnVsbGV0cy5lbmFibGV8fGQudGh1bWJuYWlscy5lbmFibGV8fGQudGFicy5lbmFibGUpJiYoYy5uYXZpZ2F0aW9uPSEwKSxiLmZpbmQoIi50cC1jYXB0aW9uLCAudHAtc3RhdGljLWxheWVyLCAucnMtYmFja2dyb3VuZC12aWRlby1sYXllciIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyk7KGEuZGF0YSgieXRpZCIpIT11bmRlZmluZWR8fGEuZmluZCgiaWZyYW1lIikubGVuZ3RoPjAmJmEuZmluZCgiaWZyYW1lIikuYXR0cigic3JjIikudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ5b3V0dWJlIik+MCkmJihjLnZpZGVvcz0hMCksKGEuZGF0YSgidmltZW9pZCIpIT11bmRlZmluZWR8fGEuZmluZCgiaWZyYW1lIikubGVuZ3RoPjAmJmEuZmluZCgiaWZyYW1lIikuYXR0cigic3JjIikudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ2aW1lbyIpPjApJiYoYy52aWRlb3M9ITApLGEuZGF0YSgiYWN0aW9ucyIpIT09dW5kZWZpbmVkJiYoYy5hY3Rpb25zPSEwKSxjLmxheWVyYW5pbT0hMH0pLGIuZmluZCgibGkiKS5lYWNoKGZ1bmN0aW9uKCl7alF1ZXJ5KHRoaXMpLmRhdGEoImxpbmsiKSYmalF1ZXJ5KHRoaXMpLmRhdGEoImxpbmsiKSE9dW5kZWZpbmVkJiYoYy5sYXllcmFuaW09ITAsYy5hY3Rpb25zPSEwKX0pLCFjLnZpZGVvcyYmKGIuZmluZCgiLnJzLWJhY2tncm91bmQtdmlkZW8tbGF5ZXIiKS5sZW5ndGg+MHx8Yi5maW5kKCIudHAtdmlkZW9sYXllciIpLmxlbmd0aD4wfHxiLmZpbmQoIi50cC1hdWRpb2xheWVyIikubGVuZ3RoPjB8fGIuZmluZCgiaWZyYW1lIikubGVuZ3RoPjB8fGIuZmluZCgidmlkZW8iKS5sZW5ndGg+MCkmJihjLnZpZGVvcz0hMCksImNhcm91c2VsIj09YS5zbGlkZXJUeXBlJiYoYy5jYXJvdXNlbD0hMCksKCJvZmYiIT09YS5wYXJhbGxheC50eXBlfHxhLnZpZXdQb3J0LmVuYWJsZXx8InRydWUiPT1hLnZpZXdQb3J0LmVuYWJsZXx8InRydWUiPT09YS5zY3JvbGxlZmZlY3Qub258fGEuc2Nyb2xsZWZmZWN0Lm9uKSYmKGMucGFyYWxsYXg9ITApKTooYy5rZW5idXJucz0hMCxjLnBhcmFsbGF4PSEwLGMuY2Fyb3VzZWw9ITEsYy5uYXZpZ2F0aW9uPSEwLGMudmlkZW9zPSEwLGMuYWN0aW9ucz0hMCxjLmxheWVyYW5pbT0hMCxjLm1pZ3JhdGlvbj0hMCksImhlcm8iPT1hLnNsaWRlclR5cGUmJihjLmNhcm91c2VsPSExLGMubmF2aWdhdGlvbj0hMSksd2luZG93LmxvY2F0aW9uLmhyZWYubWF0Y2goL2ZpbGU6L2dpKSYmKGMuZmlsZXN5c3RlbT0hMCxhLmZpbGVzeXN0ZW09ITApLGMudmlkZW9zJiZ2b2lkIDA9PT1fUi5pc1ZpZGVvUGxheWluZyYmbEFqYXgoInJldm9sdXRpb24uZXh0ZW5zaW9uLnZpZGVvIixhKSxjLmNhcm91c2VsJiZ2b2lkIDA9PT1fUi5wcmVwYXJlQ2Fyb3VzZWwmJmxBamF4KCJyZXZvbHV0aW9uLmV4dGVuc2lvbi5jYXJvdXNlbCIsYSksYy5jYXJvdXNlbHx8dm9pZCAwIT09X1IuYW5pbWF0ZVNsaWRlfHxsQWpheCgicmV2b2x1dGlvbi5leHRlbnNpb24uc2xpZGVhbmltcyIsYSksYy5hY3Rpb25zJiZ2b2lkIDA9PT1fUi5jaGVja0FjdGlvbnMmJmxBamF4KCJyZXZvbHV0aW9uLmV4dGVuc2lvbi5hY3Rpb25zIixhKSxjLmxheWVyYW5pbSYmdm9pZCAwPT09X1IuaGFuZGxlU3RhdGljTGF5ZXJzJiZsQWpheCgicmV2b2x1dGlvbi5leHRlbnNpb24ubGF5ZXJhbmltYXRpb24iLGEpLGMua2VuYnVybnMmJnZvaWQgMD09PV9SLnN0b3BLZW5CdXJuJiZsQWpheCgicmV2b2x1dGlvbi5leHRlbnNpb24ua2VuYnVybiIsYSksYy5uYXZpZ2F0aW9uJiZ2b2lkIDA9PT1fUi5jcmVhdGVOYXZpZ2F0aW9uJiZsQWpheCgicmV2b2x1dGlvbi5leHRlbnNpb24ubmF2aWdhdGlvbiIsYSksYy5taWdyYXRpb24mJnZvaWQgMD09PV9SLm1pZ3JhdGlvbiYmbEFqYXgoInJldm9sdXRpb24uZXh0ZW5zaW9uLm1pZ3JhdGlvbiIsYSksYy5wYXJhbGxheCYmdm9pZCAwPT09X1IuY2hlY2tGb3JQYXJhbGxheCYmbEFqYXgoInJldm9sdXRpb24uZXh0ZW5zaW9uLnBhcmFsbGF4IixhKSxhLmFkZG9ucyE9dW5kZWZpbmVkJiZhLmFkZG9ucy5sZW5ndGg+MCYmalF1ZXJ5LmVhY2goYS5hZGRvbnMsZnVuY3Rpb24oYixjKXsib2JqZWN0Ij09dHlwZW9mIGMmJmMuZmlsZXByZWZpeCE9dW5kZWZpbmVkJiZsQWpheChjLmZpbGVwcmVmaXgsYSl9KSxjfSx3YWl0Rm9yU2NyaXB0cz1mdW5jdGlvbihhLGIpe3ZhciBjPSEwLGQ9Yi5zY3JpcHRzbmVlZGVkO2IuYWRkb25zIT11bmRlZmluZWQmJmIuYWRkb25zLmxlbmd0aD4wJiZqUXVlcnkuZWFjaChiLmFkZG9ucyxmdW5jdGlvbihhLGIpeyJvYmplY3QiPT10eXBlb2YgYiYmYi5pbml0IT11bmRlZmluZWQmJl9SW2IuaW5pdF09PT11bmRlZmluZWQmJihjPSExKX0pLGQuZmlsZXN5c3RlbXx8InVuZGVmaW5lZCIhPXR5cGVvZiBwdW5jaGdzJiZjJiYoIWQua2VuYnVybnN8fGQua2VuYnVybnMmJnZvaWQgMCE9PV9SLnN0b3BLZW5CdXJuKSYmKCFkLm5hdmlnYXRpb258fGQubmF2aWdhdGlvbiYmdm9pZCAwIT09X1IuY3JlYXRlTmF2aWdhdGlvbikmJighZC5jYXJvdXNlbHx8ZC5jYXJvdXNlbCYmdm9pZCAwIT09X1IucHJlcGFyZUNhcm91c2VsKSYmKCFkLnZpZGVvc3x8ZC52aWRlb3MmJnZvaWQgMCE9PV9SLnJlc2V0VmlkZW8pJiYoIWQuYWN0aW9uc3x8ZC5hY3Rpb25zJiZ2b2lkIDAhPT1fUi5jaGVja0FjdGlvbnMpJiYoIWQubGF5ZXJhbmltfHxkLmxheWVyYW5pbSYmdm9pZCAwIT09X1IuaGFuZGxlU3RhdGljTGF5ZXJzKSYmKCFkLm1pZ3JhdGlvbnx8ZC5taWdyYXRpb24mJnZvaWQgMCE9PV9SLm1pZ3JhdGlvbikmJighZC5wYXJhbGxheHx8ZC5wYXJhbGxheCYmdm9pZCAwIT09X1IuY2hlY2tGb3JQYXJhbGxheCkmJihkLmNhcm91c2VsfHwhZC5jYXJvdXNlbCYmdm9pZCAwIT09X1IuYW5pbWF0ZVNsaWRlKT9hLnRyaWdnZXIoInNjcmlwdHNsb2FkZWQiKTpzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7d2FpdEZvclNjcmlwdHMoYSxiKX0sNTApfSxnZXRTY3JpcHRMb2NhdGlvbj1mdW5jdGlvbihhKXt2YXIgYj1uZXcgUmVnRXhwKCJ0aGVtZXB1bmNoLnJldm9sdXRpb24ubWluLmpzIiwiZ2kiKSxjPSIiO3JldHVybiBqUXVlcnkoInNjcmlwdCIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcykuYXR0cigic3JjIik7YSYmYS5tYXRjaChiKSYmKGM9YSl9KSxjPWMucmVwbGFjZSgianF1ZXJ5LnRoZW1lcHVuY2gucmV2b2x1dGlvbi5taW4uanMiLCIiKSxjPWMucmVwbGFjZSgianF1ZXJ5LnRoZW1lcHVuY2gucmV2b2x1dGlvbi5qcyIsIiIpLGM9Yy5zcGxpdCgiPyIpWzBdfSxzZXRDdXJXaW5SYW5nZT1mdW5jdGlvbihhLGIpe3ZhciBkPTk5OTksZT0wLGY9MCxnPTAsaD1qUXVlcnkod2luZG93KS53aWR0aCgpLGk9YiYmOTk5OT09YS5yZXNwb25zaXZlTGV2ZWxzP2EudmlzaWJpbGl0eUxldmVsczphLnJlc3BvbnNpdmVMZXZlbHM7aSYmaS5sZW5ndGgmJmpRdWVyeS5lYWNoKGksZnVuY3Rpb24oYSxiKXtoPGImJigwPT1lfHxlPmIpJiYoZD1iLGc9YSxlPWIpLGg+YiYmZTxiJiYoZT1iLGY9YSl9KSxlPGQmJihnPWYpLGI/YS5mb3JjZWRXaW5SYW5nZT1nOmEuY3VyV2luUmFuZ2U9Z30scHJlcGFyZU9wdGlvbnM9ZnVuY3Rpb24oYSxiKXtiLmNhcm91c2VsLm1heFZpc2libGVJdGVtcz1iLmNhcm91c2VsLm1heFZpc2libGVJdGVtczwxPzk5OTpiLmNhcm91c2VsLm1heFZpc2libGVJdGVtcyxiLmNhcm91c2VsLnZlcnRpY2FsX2FsaWduPSJ0b3AiPT09Yi5jYXJvdXNlbC52ZXJ0aWNhbF9hbGlnbj8iMCUiOiJib3R0b20iPT09Yi5jYXJvdXNlbC52ZXJ0aWNhbF9hbGlnbj8iMTAwJSI6IjUwJSJ9LGdXaWRlck91dD1mdW5jdGlvbihhLGIpe3ZhciBjPTA7cmV0dXJuIGEuZmluZChiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpOyFhLmhhc0NsYXNzKCJ0cC1mb3JjZW5vdHZpc2libGUiKSYmYzxhLm91dGVyV2lkdGgoKSYmKGM9YS5vdXRlcldpZHRoKCkpfSksY30saW5pdFNsaWRlcj1mdW5jdGlvbihjb250YWluZXIsb3B0KXtpZihjb250YWluZXI9PXVuZGVmaW5lZClyZXR1cm4hMTtjb250YWluZXIuZGF0YSgiYWltZyIpIT11bmRlZmluZWQmJigiZW5hYmxlZCI9PWNvbnRhaW5lci5kYXRhKCJhaWU4IikmJl9SLmlzSUUoOCl8fCJlbmFibGVkIj09Y29udGFpbmVyLmRhdGEoImFtb2JpbGUiKSYmX0lTTSkmJmNvbnRhaW5lci5odG1sKCc8aW1nIGNsYXNzPSJ0cC1zbGlkZXItYWx0ZXJuYXRpdmUtaW1hZ2UiIHNyYz0iJytjb250YWluZXIuZGF0YSgiYWltZyIpKyciPicpLGNvbnRhaW5lci5maW5kKCI+dWwiKS5hZGRDbGFzcygidHAtcmV2c2xpZGVyLW1haW51bCIpLG9wdC5jPWNvbnRhaW5lcixvcHQudWw9Y29udGFpbmVyLmZpbmQoIi50cC1yZXZzbGlkZXItbWFpbnVsIiksb3B0LnVsLmZpbmQoIj5saSIpLmVhY2goZnVuY3Rpb24oYSl7dmFyIGI9alF1ZXJ5KHRoaXMpOyJvbiI9PWIuZGF0YSgiaGlkZXNsaWRlb25tb2JpbGUiKSYmX0lTTSYmYi5yZW1vdmUoKSwoYi5kYXRhKCJpbnZpc2libGUiKXx8ITA9PT1iLmRhdGEoImludmlzaWJsZSIpKSYmKGIuYWRkQ2xhc3MoInRwLWludmlzaWJsZS1zbGlkZSIpLGIuYXBwZW5kVG8ob3B0LnVsKSl9KSxvcHQuYWRkb25zIT11bmRlZmluZWQmJm9wdC5hZGRvbnMubGVuZ3RoPjAmJmpRdWVyeS5lYWNoKG9wdC5hZGRvbnMsZnVuY3Rpb24oaSxvYmopeyJvYmplY3QiPT10eXBlb2Ygb2JqJiZvYmouaW5pdCE9dW5kZWZpbmVkJiZfUltvYmouaW5pdF0oZXZhbChvYmoucGFyYW1zKSl9KSxvcHQuY2lkPWNvbnRhaW5lci5hdHRyKCJpZCIpLG9wdC51bC5jc3Moe3Zpc2liaWxpdHk6InZpc2libGUifSksb3B0LnNsaWRlYW1vdW50PW9wdC51bC5maW5kKCI+bGkiKS5ub3QoIi50cC1pbnZpc2libGUtc2xpZGUiKS5sZW5ndGgsb3B0LnJlYWxzbGlkZWFtb3VudD1vcHQudWwuZmluZCgiPmxpIikubGVuZ3RoLG9wdC5zbGF5ZXJzPWNvbnRhaW5lci5maW5kKCIudHAtc3RhdGljLWxheWVycyIpLG9wdC5zbGF5ZXJzLmRhdGEoImluZGV4Iiwic3RhdGljbGF5ZXJzIiksMSE9b3B0LndhaXRGb3JJbml0JiYoY29udGFpbmVyWzBdLm9wdD1vcHQscnVuU2xpZGVyKGNvbnRhaW5lcixvcHQpKX0sb25GdWxsU2NyZWVuQ2hhbmdlPWZ1bmN0aW9uKCl7alF1ZXJ5KCJib2R5IikuZGF0YSgicnMtZnVsbFNjcmVlbk1vZGUiLCFqUXVlcnkoImJvZHkiKS5kYXRhKCJycy1mdWxsU2NyZWVuTW9kZSIpKSxqUXVlcnkoImJvZHkiKS5kYXRhKCJycy1mdWxsU2NyZWVuTW9kZSIpJiZzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7alF1ZXJ5KHdpbmRvdykudHJpZ2dlcigicmVzaXplIil9LDIwMCl9LHJ1blNsaWRlcj1mdW5jdGlvbihhLGIpe2lmKGIuc2xpZGVyaXNydW5uaW5nPSEwLGIudWwuZmluZCgiPmxpIikuZWFjaChmdW5jdGlvbihhKXtqUXVlcnkodGhpcykuZGF0YSgib3JpZ2luYWxpbmRleCIsYSl9KSxiLmFsbGxpPWIudWwuZmluZCgiPmxpIiksalF1ZXJ5LmVhY2goYi5hbGxsaSxmdW5jdGlvbihhLGIpe3ZhciBiPWpRdWVyeShiKTtiLmRhdGEoIm9yaWdpbmRleCIsYi5pbmRleCgpKX0pLGIubGk9Yi51bC5maW5kKCI+bGkiKS5ub3QoIi50cC1pbnZpc2libGUtc2xpZGUiKSwib24iPT1iLnNodWZmbGUpe3ZhciBjPW5ldyBPYmplY3QsZD1iLnVsLmZpbmQoIj5saTpmaXJzdC1jaGlsZCIpO2MuZnN0cmFuc2l0aW9uPWQuZGF0YSgiZnN0cmFuc2l0aW9uIiksYy5mc21hc3RlcnNwZWVkPWQuZGF0YSgiZnNtYXN0ZXJzcGVlZCIpLGMuZnNzbG90YW1vdW50PWQuZGF0YSgiZnNzbG90YW1vdW50Iik7Zm9yKHZhciBlPTA7ZTxiLnNsaWRlYW1vdW50O2UrKyl7dmFyIGY9TWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpKmIuc2xpZGVhbW91bnQpO2IudWwuZmluZCgiPmxpOmVxKCIrZisiKSIpLnByZXBlbmRUbyhiLnVsKX12YXIgZz1iLnVsLmZpbmQoIj5saTpmaXJzdC1jaGlsZCIpO2cuZGF0YSgiZnN0cmFuc2l0aW9uIixjLmZzdHJhbnNpdGlvbiksZy5kYXRhKCJmc21hc3RlcnNwZWVkIixjLmZzbWFzdGVyc3BlZWQpLGcuZGF0YSgiZnNzbG90YW1vdW50IixjLmZzc2xvdGFtb3VudCksYi5hbGxsaT1iLnVsLmZpbmQoIj5saSIpLGIubGk9Yi51bC5maW5kKCI+bGkiKS5ub3QoIi50cC1pbnZpc2libGUtc2xpZGUiKX1pZihiLmlubGk9Yi51bC5maW5kKCI+bGkudHAtaW52aXNpYmxlLXNsaWRlIiksYi50aHVtYnM9bmV3IEFycmF5LGIuc2xvdHM9NCxiLmFjdD0tMSxiLmZpcnN0c3RhcnQ9MSxiLmxvYWRxdWV1ZT1uZXcgQXJyYXksYi5zeW5jbG9hZD0wLGIuY29udz1hLndpZHRoKCksYi5jb25oPWEuaGVpZ2h0KCksYi5yZXNwb25zaXZlTGV2ZWxzLmxlbmd0aD4xP2IucmVzcG9uc2l2ZUxldmVsc1swXT05OTk5OmIucmVzcG9uc2l2ZUxldmVscz05OTk5LGpRdWVyeS5lYWNoKGIuYWxsbGksZnVuY3Rpb24oYSxjKXt2YXIgYz1qUXVlcnkoYyksZD1jLmZpbmQoIi5yZXYtc2xpZGViZyIpfHxjLmZpbmQoImltZyIpLmZpcnN0KCksZT0wO2MuYWRkQ2xhc3MoInRwLXJldnNsaWRlci1zbGlkZXNsaSIpLGMuZGF0YSgiaW5kZXgiKT09PXVuZGVmaW5lZCYmYy5kYXRhKCJpbmRleCIsInJzLSIrTWF0aC5yb3VuZCg5OTk5OTkqTWF0aC5yYW5kb20oKSkpO3ZhciBmPW5ldyBPYmplY3Q7Zi5wYXJhbXM9bmV3IEFycmF5LGYuaWQ9Yy5kYXRhKCJpbmRleCIpLGYuc3JjPWMuZGF0YSgidGh1bWIiKSE9PXVuZGVmaW5lZD9jLmRhdGEoInRodW1iIik6ZC5kYXRhKCJsYXp5bG9hZCIpIT09dW5kZWZpbmVkP2QuZGF0YSgibGF6eWxvYWQiKTpkLmF0dHIoInNyYyIpLGMuZGF0YSgidGl0bGUiKSE9PXVuZGVmaW5lZCYmZi5wYXJhbXMucHVzaCh7ZnJvbTpSZWdFeHAoIlxce1xce3RpdGxlXFx9XFx9IiwiZyIpLHRvOmMuZGF0YSgidGl0bGUiKX0pLGMuZGF0YSgiZGVzY3JpcHRpb24iKSE9PXVuZGVmaW5lZCYmZi5wYXJhbXMucHVzaCh7ZnJvbTpSZWdFeHAoIlxce1xce2Rlc2NyaXB0aW9uXFx9XFx9IiwiZyIpLHRvOmMuZGF0YSgiZGVzY3JpcHRpb24iKX0pO2Zvcih2YXIgZT0xO2U8PTEwO2UrKyljLmRhdGEoInBhcmFtIitlKSE9PXVuZGVmaW5lZCYmZi5wYXJhbXMucHVzaCh7ZnJvbTpSZWdFeHAoIlxce1xce3BhcmFtIitlKyJcXH1cXH0iLCJnIiksdG86Yy5kYXRhKCJwYXJhbSIrZSl9KTtpZihiLnRodW1icy5wdXNoKGYpLGMuZGF0YSgibGluayIpIT11bmRlZmluZWQpe3ZhciBnPWMuZGF0YSgibGluayIpLGg9Yy5kYXRhKCJ0YXJnZXQiKXx8Il9zZWxmIixpPSJiYWNrIj09PWMuZGF0YSgic2xpZGVpbmRleCIpPzA6NjAsaj1jLmRhdGEoImxpbmt0b3NsaWRlIiksaz1qO2ohPXVuZGVmaW5lZCYmIm5leHQiIT1qJiYicHJldiIhPWomJmIuYWxsbGkuZWFjaChmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTthLmRhdGEoIm9yaWdpbmRleCIpKzE9PWsmJihqPWEuZGF0YSgiaW5kZXgiKSl9KSwic2xpZGUiIT1nJiYoaj0ibm8iKTt2YXIgbD0nPGRpdiBjbGFzcz0idHAtY2FwdGlvbiBzbGlkZWxpbmsiIHN0eWxlPSJjdXJzb3I6cG9pbnRlcjt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3otaW5kZXg6JytpKyc7IiBkYXRhLXg9ImNlbnRlciIgZGF0YS15PSJjZW50ZXIiIGRhdGEtYmFzZWFsaWduPSJzbGlkZSIgJyxtPSJzY3JvbGxfdW5kZXIiPT09aj8nW3siZXZlbnQiOiJjbGljayIsImFjdGlvbiI6InNjcm9sbGJlbG93Iiwib2Zmc2V0IjoiMTAwcHgiLCJkZWxheSI6IjAifV0nOiJwcmV2Ij09PWo/J1t7ImV2ZW50IjoiY2xpY2siLCJhY3Rpb24iOiJqdW1wdG9zbGlkZSIsInNsaWRlIjoicHJldiIsImRlbGF5IjoiMC4yIn1dJzoibmV4dCI9PT1qPydbeyJldmVudCI6ImNsaWNrIiwiYWN0aW9uIjoianVtcHRvc2xpZGUiLCJzbGlkZSI6Im5leHQiLCJkZWxheSI6IjAuMiJ9XSc6J1t7ImV2ZW50IjoiY2xpY2siLCJhY3Rpb24iOiJqdW1wdG9zbGlkZSIsInNsaWRlIjoiJytqKyciLCJkZWxheSI6IjAuMiJ9XScsbj0nIGRhdGEtZnJhbWVzPVwnW3siZGVsYXkiOjAsInNwZWVkIjoxMDAsImZyYW1lIjoiMCIsImZyb20iOiJvcGFjaXR5OjA7IiwidG8iOiJvOjE7IiwiZWFzZSI6IlBvd2VyMy5lYXNlSW5PdXQifSx7ImRlbGF5Ijoid2FpdCIsInNwZWVkIjozMDAsImZyYW1lIjoiOTk5IiwidG8iOiJvcGFjaXR5OjA7IiwiZWFzZSI6IlBvd2VyMy5lYXNlSW5PdXQifV1cJyc7bD0ibm8iPT1qP2wrbisiID4iOmwrImRhdGEtYWN0aW9ucz0nIittKyInIituKyIgPiIsbCs9JzxhIHN0eWxlPSJ3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6YmxvY2siJyxsPSJzbGlkZSIhPWc/bCsnIHRhcmdldD0iJytoKyciIGhyZWY9IicrZysnIic6bCxsKz0nPjxzcGFuIHN0eWxlPSJ3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6YmxvY2siPjwvc3Bhbj48L2E+PC9kaXY+JyxjLmFwcGVuZChsKX19KSxiLnJsZT1iLnJlc3BvbnNpdmVMZXZlbHMubGVuZ3RofHwxLGIuZ3JpZHdpZHRoPWNBcnJheShiLmdyaWR3aWR0aCxiLnJsZSksYi5ncmlkaGVpZ2h0PWNBcnJheShiLmdyaWRoZWlnaHQsYi5ybGUpLCJvbiI9PWIuc2ltcGxpZnlBbGwmJihfUi5pc0lFKDgpfHxfUi5pT1NWZXJzaW9uKCkpJiYoYS5maW5kKCIudHAtY2FwdGlvbiIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyk7YS5yZW1vdmVDbGFzcygiY3VzdG9taW4gY3VzdG9tb3V0IikuYWRkQ2xhc3MoImZhZGVpbiBmYWRlb3V0IiksYS5kYXRhKCJzcGxpdGluIiwiIiksYS5kYXRhKCJzcGVlZCIsNDAwKX0pLGIuYWxsbGkuZWFjaChmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTthLmRhdGEoInRyYW5zaXRpb24iLCJmYWRlIiksYS5kYXRhKCJtYXN0ZXJzcGVlZCIsNTAwKSxhLmRhdGEoInNsb3RhbW91bnQiLDEpLChhLmZpbmQoIi5yZXYtc2xpZGViZyIpfHxhLmZpbmQoIj5pbWciKS5maXJzdCgpKS5kYXRhKCJrZW5idXJucyIsIm9mZiIpfSkpLGIuZGVza3RvcD0hbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvKGlQaG9uZXxpUG9kfGlQYWR8QW5kcm9pZHxCbGFja0JlcnJ5fEJCMTB8bW9iaXx0YWJsZXR8b3BlcmEgbWluaXxuZXh1cyA3KS9pKSxiLmF1dG9IZWlnaHQ9ImZ1bGxzY3JlZW4iPT1iLnNsaWRlckxheW91dD8ib24iOmIuYXV0b0hlaWdodCwiZnVsbHdpZHRoIj09Yi5zbGlkZXJMYXlvdXQmJiJvZmYiPT1iLmF1dG9IZWlnaHQmJmEuY3NzKHttYXhIZWlnaHQ6Yi5ncmlkaGVpZ2h0W2IuY3VyV2luUmFuZ2VdKyJweCJ9KSwiYXV0byIhPWIuc2xpZGVyTGF5b3V0JiYwPT1hLmNsb3Nlc3QoIi5mb3JjZWZ1bGx3aWR0aF93cmFwcGVyX3RwX2Jhbm5lciIpLmxlbmd0aCYmKCJmdWxsc2NyZWVuIiE9PWIuc2xpZGVyTGF5b3V0fHwib24iIT1iLmZ1bGxTY3JlZW5BdXRvV2lkdGgpKXt2YXIgaD1hLnBhcmVudCgpLGk9aC5jc3MoIm1hcmdpbkJvdHRvbSIpLGo9aC5jc3MoIm1hcmdpblRvcCIpLGs9YS5hdHRyKCJpZCIpKyJfZm9yY2VmdWxsd2lkdGgiO2k9aT09PXVuZGVmaW5lZD8wOmksaj1qPT09dW5kZWZpbmVkPzA6aixoLndyYXAoJzxkaXYgY2xhc3M9ImZvcmNlZnVsbHdpZHRoX3dyYXBwZXJfdHBfYmFubmVyIiBpZD0iJytrKyciIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDphdXRvO21hcmdpbi10b3A6JytqKyI7bWFyZ2luLWJvdHRvbToiK2krJyI+PC9kaXY+JyksYS5jbG9zZXN0KCIuZm9yY2VmdWxsd2lkdGhfd3JhcHBlcl90cF9iYW5uZXIiKS5hcHBlbmQoJzxkaXYgY2xhc3M9InRwLWZ1bGx3aWR0aC1mb3JjZXIiIHN0eWxlPSJ3aWR0aDoxMDAlO2hlaWdodDonK2EuaGVpZ2h0KCkrJ3B4Ij48L2Rpdj4nKSxhLnBhcmVudCgpLmNzcyh7bWFyZ2luVG9wOiIwcHgiLG1hcmdpbkJvdHRvbToiMHB4In0pLGEucGFyZW50KCkuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUifSl9aWYoYi5zaGFkb3chPT11bmRlZmluZWQmJmIuc2hhZG93PjAmJihhLnBhcmVudCgpLmFkZENsYXNzKCJ0cC1zaGFkb3ciK2Iuc2hhZG93KSxhLnBhcmVudCgpLmFwcGVuZCgnPGRpdiBjbGFzcz0idHAtc2hhZG93Y292ZXIiPjwvZGl2PicpLGEucGFyZW50KCkuZmluZCgiLnRwLXNoYWRvd2NvdmVyIikuY3NzKHtiYWNrZ3JvdW5kQ29sb3I6YS5wYXJlbnQoKS5jc3MoImJhY2tncm91bmRDb2xvciIpLGJhY2tncm91bmRJbWFnZTphLnBhcmVudCgpLmNzcygiYmFja2dyb3VuZEltYWdlIil9KSksc2V0Q3VyV2luUmFuZ2UoYiksc2V0Q3VyV2luUmFuZ2UoYiwhMCksIWEuaGFzQ2xhc3MoInJldnNsaWRlci1pbml0aWFsaXNlZCIpKXthLmFkZENsYXNzKCJyZXZzbGlkZXItaW5pdGlhbGlzZWQiKSxhLmFkZENsYXNzKCJ0cC1zaW1wbGVyZXNwb25zaXZlIiksYS5hdHRyKCJpZCIpPT11bmRlZmluZWQmJmEuYXR0cigiaWQiLCJyZXZzbGlkZXItIitNYXRoLnJvdW5kKDFlMypNYXRoLnJhbmRvbSgpKzUpKSxjaGVja0lEUyhiLGEpLGIuZmlyZWZveDEzPSExLGIuaWU9IWpRdWVyeS5zdXBwb3J0Lm9wYWNpdHksYi5pZTk9OT09ZG9jdW1lbnQuZG9jdW1lbnRNb2RlLGIub3JpZ2NkPWIuZGVsYXk7dmFyIGw9alF1ZXJ5LmZuLmpxdWVyeS5zcGxpdCgiLiIpLG09cGFyc2VGbG9hdChsWzBdKSxuPXBhcnNlRmxvYXQobFsxXSk7cGFyc2VGbG9hdChsWzJdfHwiMCIpOzE9PW0mJm48NyYmYS5odG1sKCc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjsgcGFkZGluZzo0MHB4IDBweDsgZm9udC1zaXplOjIwcHg7IGNvbG9yOiM5OTIyMjI7Ij4gVGhlIEN1cnJlbnQgVmVyc2lvbiBvZiBqUXVlcnk6JytsKyIgPGJyPlBsZWFzZSB1cGRhdGUgeW91ciBqUXVlcnkgVmVyc2lvbiB0byBtaW4uIDEuNyBpbiBDYXNlIHlvdSB3aXNoIHRvIHVzZSB0aGUgUmV2b2x1dGlvbiBTbGlkZXIgUGx1Z2luPC9kaXY+IiksbT4xJiYoYi5pZT0hMSk7dmFyIHA9bmV3IE9iamVjdDtwLmFkZGVkeXQ9MCxwLmFkZGVkdmltPTAscC5hZGRlZHZpZD0wLGIuc2Nyb2xsZWZmZWN0Lm9uJiYoYi5zY3JvbGxlZmZlY3QubGF5ZXJzPW5ldyBBcnJheSksYS5maW5kKCIudHAtY2FwdGlvbiwgLnJzLWJhY2tncm91bmQtdmlkZW8tbGF5ZXIiKS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciBjPWpRdWVyeSh0aGlzKSxkPWMuZGF0YSgpLGU9ZC5hdXRvcGxheW9ubHlmaXJzdHRpbWUsZj1kLmF1dG9wbGF5LGc9ZC52aWRlb21wNCE9PXVuZGVmaW5lZHx8ZC52aWRlb3dlYm0hPT11bmRlZmluZWR8fGQudmlkZW9vZ3YhPT11bmRlZmluZWQsaD1jLmhhc0NsYXNzKCJ0cC1hdWRpb2xheWVyIiksaT1kLnZpZGVvbG9vcCxqPSEwLGs9ITE7ZC5zdGFydGNsYXNzZXM9Yy5hdHRyKCJjbGFzcyIpLGQuaXNwYXJhbGxheGxheWVyPWQuc3RhcnRjbGFzc2VzLmluZGV4T2YoInJzLXBhcmFsbGF4Iik+PTAsYy5oYXNDbGFzcygidHAtc3RhdGljLWxheWVyIikmJl9SLmhhbmRsZVN0YXRpY0xheWVycyYmKF9SLmhhbmRsZVN0YXRpY0xheWVycyhjLGIpLGIuc2Nyb2xsZWZmZWN0Lm9uJiYoIm9uIj09PWIuc2Nyb2xsZWZmZWN0Lm9uX3BhcmFsbGF4X3N0YXRpY19sYXllcnMmJmQuaXNwYXJhbGxheGxheWVyfHwib24iPT09Yi5zY3JvbGxlZmZlY3Qub25fc3RhdGljX2xheWVycyYmIWQuaXNwYXJhbGxheGxheWVyKSYmKGs9ITApLGo9ITEpO3ZhciBsPWMuZGF0YSgibm9wb3N0ZXJvbm1vYmlsZSIpfHxjLmRhdGEoIm5vUG9zdGVyT25Nb2JpbGUiKXx8Yy5kYXRhKCJwb3N0ZXJvbm1vYmlsZSIpfHxjLmRhdGEoInBvc3Rlck9uTW9iaWxlIil8fGMuZGF0YSgicG9zdGVyT25NT2JpbGUiKTtjLmRhdGEoIm5vcG9zdGVyb25tb2JpbGUiLGwpO3ZhciBtPTA7aWYoYy5maW5kKCJpZnJhbWUiKS5lYWNoKGZ1bmN0aW9uKCl7cHVuY2hncy5Ud2VlbkxpdGUuc2V0KGpRdWVyeSh0aGlzKSx7YXV0b0FscGhhOjB9KSxtKyt9KSxtPjAmJmMuZGF0YSgiaWZyYW1lcyIsITApLGMuaGFzQ2xhc3MoInRwLWNhcHRpb24iKSl7dmFyIG49Yy5oYXNDbGFzcygic2xpZGVsaW5rIik/IndpZHRoOjEwMCUgIWltcG9ydGFudDtoZWlnaHQ6MTAwJSAhaW1wb3J0YW50OyI6IiIsbz1jLmRhdGEoKSxxPSIiLHI9by50eXBlLHM9InJvdyI9PT1yfHwiY29sdW1uIj09PXI/InJlbGF0aXZlIjoiYWJzb2x1dGUiLHQ9IiI7InJvdyI9PT1yPyhjLmFkZENsYXNzKCJyZXZfcm93IikucmVtb3ZlQ2xhc3MoInRwLXJlc2l6ZW1lIiksdD0icmV2X3Jvd193cmFwIik6ImNvbHVtbiI9PT1yPyhxPW8udmVydGljYWxhbGlnbj09PXVuZGVmaW5lZD8iIHZlcnRpY2FsLWFsaWduOmJvdHRvbTsiOiIgdmVydGljYWwtYWxpZ246IitvLnZlcnRpY2FsYWxpZ24rIjsiLHQ9InJldl9jb2x1bW4iLGMuYWRkQ2xhc3MoInJldl9jb2x1bW5faW5uZXIiKS5yZW1vdmVDbGFzcygidHAtcmVzaXplbWUiKSxjLmRhdGEoIndpZHRoIiwiYXV0byIpLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChjLHt3aWR0aDoiYXV0byJ9KSk6Imdyb3VwIj09PXImJmMucmVtb3ZlQ2xhc3MoInRwLXJlc2l6ZW1lIik7dmFyIHU9IiIsdj0iIjsicm93IiE9PXImJiJncm91cCIhPT1yJiYiY29sdW1uIiE9PXI/KHU9ImRpc3BsYXk6IitjLmNzcygiZGlzcGxheSIpKyI7IixjLmNsb3Nlc3QoIi5yZXZfY29sdW1uIikubGVuZ3RoPjA/KGMuYWRkQ2xhc3MoInJldl9sYXllcl9pbl9jb2x1bW4iKSxqPSExKTpjLmNsb3Nlc3QoIi5yZXZfZ3JvdXAiKS5sZW5ndGg+MCYmKGMuYWRkQ2xhc3MoInJldl9sYXllcl9pbl9ncm91cCIpLGo9ITEpKToiY29sdW1uIj09PXImJihqPSExKSxvLndyYXBwZXJfY2xhc3MhPT11bmRlZmluZWQmJih0PXQrIiAiK28ud3JhcHBlcl9jbGFzcyksby53cmFwcGVyX2lkIT09dW5kZWZpbmVkJiYodj0naWQ9Iicrby53cmFwcGVyX2lkKyciJyksYy53cmFwKCI8ZGl2ICIrdisnIGNsYXNzPSJ0cC1wYXJhbGxheC13cmFwICcrdCsnIiBzdHlsZT0iJytxKyIgIituKyJwb3NpdGlvbjoiK3MrIjsiK3UrJzt2aXNpYmlsaXR5OmhpZGRlbiI+PGRpdiBjbGFzcz0idHAtbG9vcC13cmFwIiBzdHlsZT0iJytuKyJwb3NpdGlvbjoiK3MrIjsiK3UrJzsiPjxkaXYgY2xhc3M9InRwLW1hc2std3JhcCIgc3R5bGU9IicrbisicG9zaXRpb246IitzKyI7Iit1Kyc7IiA+PC9kaXY+PC9kaXY+PC9kaXY+JyksaiYmYi5zY3JvbGxlZmZlY3Qub24mJigib24iPT09Yi5zY3JvbGxlZmZlY3Qub25fcGFyYWxsYXhfbGF5ZXJzJiZkLmlzcGFyYWxsYXhsYXllcnx8Im9uIj09PWIuc2Nyb2xsZWZmZWN0Lm9uX2xheWVycyYmIWQuaXNwYXJhbGxheGxheWVyKSYmYi5zY3JvbGxlZmZlY3QubGF5ZXJzLnB1c2goYy5wYXJlbnQoKSksayYmYi5zY3JvbGxlZmZlY3QubGF5ZXJzLnB1c2goYy5wYXJlbnQoKSksImNvbHVtbiI9PT1yJiYoYy5hcHBlbmQoJzxkaXYgY2xhc3M9InJldl9jb2x1bW5fYmcgcmV2X2NvbHVtbl9iZ19tYW5fc2l6ZWQiIHN0eWxlPSJ2aXNpYmlsaXR5OmhpZGRlbiI+PC9kaXY+JyksYy5jbG9zZXN0KCIudHAtcGFyYWxsYXgtd3JhcCIpLmFwcGVuZCgnPGRpdiBjbGFzcz0icmV2X2NvbHVtbl9iZyByZXZfY29sdW1uX2JnX2F1dG9fc2l6ZWQiPjwvZGl2PicpKTt2YXIgdz1bInBlbmR1bHVtIiwicm90YXRlIiwic2xpZGVsb29wIiwicHVsc2UiLCJ3YXZlIl0seD1jLmNsb3Nlc3QoIi50cC1sb29wLXdyYXAiKTtqUXVlcnkuZWFjaCh3LGZ1bmN0aW9uKGEsYil7dmFyIGQ9Yy5maW5kKCIucnMtIitiKSxlPWQuZGF0YSgpfHwiIjsiIiE9ZSYmKHguZGF0YShlKSx4LmFkZENsYXNzKCJycy0iK2IpLGQuY2hpbGRyZW4oMCkudW53cmFwKCksYy5kYXRhKCJsb29wYW5pbWF0aW9uIiwib24iKSl9KSxjLmF0dHIoImlkIik9PT11bmRlZmluZWQmJmMuYXR0cigiaWQiLCJsYXllci0iK01hdGgucm91bmQoOTk5OTk5OTk5Kk1hdGgucmFuZG9tKCkpKSxjaGVja0lEUyhiLGMpLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChjLHt2aXNpYmlsaXR5OiJoaWRkZW4ifSl9dmFyIHk9Yy5kYXRhKCJhY3Rpb25zIik7eSE9PXVuZGVmaW5lZCYmX1IuY2hlY2tBY3Rpb25zKGMsYix5KSxjaGVja0hvdmVyRGVwZW5kZW5jaWVzKGMsYiksX1IuY2hlY2tWaWRlb0FwaXMmJihwPV9SLmNoZWNrVmlkZW9BcGlzKGMsYixwKSksIV9JU018fGIuZmFsbGJhY2tzLmFsbG93SFRNTDVBdXRvUGxheU9uQW5kcm9pZCYmZ3x8KDEhPWUmJiJ0cnVlIiE9ZXx8KGQuYXV0b3BsYXlvbmx5Zmlyc3R0aW1lPSExLGU9ITEpLDEhPWYmJiJ0cnVlIiE9ZiYmIm9uIiE9ZiYmIjFzdHRpbWUiIT1mfHwoZC5hdXRvcGxheT0ib2ZmIixmPSJvZmYiKSksaHx8MSE9ZSYmInRydWUiIT1lJiYiMXN0dGltZSIhPWZ8fCJsb29wYW5kbm9zbGlkZXN0b3AiPT1pfHxjLmNsb3Nlc3QoImxpLnRwLXJldnNsaWRlci1zbGlkZXNsaSIpLmFkZENsYXNzKCJycy1wYXVzZS10aW1lci1vbmNlIiksaHx8MSE9ZiYmInRydWUiIT1mJiYib24iIT1mJiYibm8xc3R0aW1lIiE9Znx8Imxvb3BhbmRub3NsaWRlc3RvcCI9PWl8fGMuY2xvc2VzdCgibGkudHAtcmV2c2xpZGVyLXNsaWRlc2xpIikuYWRkQ2xhc3MoInJzLXBhdXNlLXRpbWVyLWFsd2F5cyIpfSksYVswXS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIixmdW5jdGlvbigpe2EudHJpZ2dlcigidHAtbW91c2VlbnRlciIpLGIub3ZlcmNvbnRhaW5lcj0hMH0se3Bhc3NpdmU6ITB9KSxhWzBdLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3ZlciIsZnVuY3Rpb24oKXthLnRyaWdnZXIoInRwLW1vdXNlb3ZlciIpLGIub3ZlcmNvbnRhaW5lcj0hMH0se3Bhc3NpdmU6ITB9KSxhWzBdLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGZ1bmN0aW9uKCl7YS50cmlnZ2VyKCJ0cC1tb3VzZWxlZnQiKSxiLm92ZXJjb250YWluZXI9ITF9LHtwYXNzaXZlOiEwfSksYS5maW5kKCIudHAtY2FwdGlvbiB2aWRlbyIpLmVhY2goZnVuY3Rpb24oYSl7dmFyIGI9alF1ZXJ5KHRoaXMpO2IucmVtb3ZlQ2xhc3MoInZpZGVvLWpzIHZqcy1kZWZhdWx0LXNraW4iKSxiLmF0dHIoInByZWxvYWQiLCIiKSxiLmNzcyh7ZGlzcGxheToibm9uZSJ9KX0pLCJzdGFuZGFyZCIhPT1iLnNsaWRlclR5cGUmJihiLmxhenlUeXBlPSJhbGwiKSxsb2FkSW1hZ2VzKGEuZmluZCgiLnRwLXN0YXRpYy1sYXllcnMiKSxiLDAsITApLHdhaXRGb3JDdXJyZW50SW1hZ2VzKGEuZmluZCgiLnRwLXN0YXRpYy1sYXllcnMiKSxiLGZ1bmN0aW9uKCl7YS5maW5kKCIudHAtc3RhdGljLWxheWVycyBpbWciKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpLGM9YS5kYXRhKCJsYXp5bG9hZCIpIT11bmRlZmluZWQ/YS5kYXRhKCJsYXp5bG9hZCIpOmEuYXR0cigic3JjIiksZD1nZXRMb2FkT2JqKGIsYyk7YS5hdHRyKCJzcmMiLGQuc3JjKX0pfSksYi5yb3d6b25lcz1bXSxiLmFsbGxpLmVhY2goZnVuY3Rpb24oYSl7dmFyIGM9alF1ZXJ5KHRoaXMpO2Iucm93em9uZXNbYV09W10sYy5maW5kKCIucmV2X3Jvd196b25lIikuZWFjaChmdW5jdGlvbigpe2Iucm93em9uZXNbYV0ucHVzaChqUXVlcnkodGhpcykpfSksImFsbCIhPWIubGF6eVR5cGUmJigic21hcnQiIT1iLmxhenlUeXBlfHwwIT1hJiYxIT1hJiZhIT1iLnNsaWRlYW1vdW50JiZhIT1iLnNsaWRlYW1vdW50LTEpfHwobG9hZEltYWdlcyhjLGIsYSksd2FpdEZvckN1cnJlbnRJbWFnZXMoYyxiLGZ1bmN0aW9uKCl7fSkpfSk7dmFyIHE9Z2V0VXJsVmFycygiIyIpWzBdO2lmKHEubGVuZ3RoPDkmJnEuc3BsaXQoInNsaWRlIikubGVuZ3RoPjEpe3ZhciByPXBhcnNlSW50KHEuc3BsaXQoInNsaWRlIilbMV0sMCk7cjwxJiYocj0xKSxyPmIuc2xpZGVhbW91bnQmJihyPWIuc2xpZGVhbW91bnQpLGIuc3RhcnRXaXRoU2xpZGU9ci0xfWEuYXBwZW5kKCc8ZGl2IGNsYXNzPSJ0cC1sb2FkZXIgJytiLnNwaW5uZXIrJyI+PGRpdiBjbGFzcz0iZG90MSI+PC9kaXY+PGRpdiBjbGFzcz0iZG90MiI+PC9kaXY+PGRpdiBjbGFzcz0iYm91bmNlMSI+PC9kaXY+PGRpdiBjbGFzcz0iYm91bmNlMiI+PC9kaXY+PGRpdiBjbGFzcz0iYm91bmNlMyI+PC9kaXY+PC9kaXY+JyksYi5sb2FkZXI9YS5maW5kKCIudHAtbG9hZGVyIiksMD09PWEuZmluZCgiLnRwLWJhbm5lcnRpbWVyIikubGVuZ3RoJiZhLmFwcGVuZCgnPGRpdiBjbGFzcz0idHAtYmFubmVydGltZXIiIHN0eWxlPSJ2aXNpYmlsaXR5OmhpZGRlbiI+PC9kaXY+JyksYS5maW5kKCIudHAtYmFubmVydGltZXIiKS5jc3Moe3dpZHRoOiIwJSJ9KSxiLnVsLmNzcyh7ZGlzcGxheToiYmxvY2sifSkscHJlcGFyZVNsaWRlcyhhLGIpLCgib2ZmIiE9PWIucGFyYWxsYXgudHlwZXx8Yi5zY3JvbGxlZmZlY3Qub24pJiZfUi5jaGVja0ZvclBhcmFsbGF4JiZfUi5jaGVja0ZvclBhcmFsbGF4KGEsYiksX1Iuc2V0U2l6ZShiKSwiaGVybyIhPT1iLnNsaWRlclR5cGUmJl9SLmNyZWF0ZU5hdmlnYXRpb24mJl9SLmNyZWF0ZU5hdmlnYXRpb24oYSxiKSxfUi5yZXNpemVUaHVtYnNUYWJzJiZfUi5yZXNpemVUaHVtYnNUYWJzJiZfUi5yZXNpemVUaHVtYnNUYWJzKGIpLGNvbnRXaWR0aE1hbmFnZXIoYik7dmFyIHM9Yi52aWV3UG9ydDtiLmludmlld3BvcnQ9ITEscyE9dW5kZWZpbmVkJiZzLmVuYWJsZSYmKGpRdWVyeS5pc051bWVyaWMocy52aXNpYmxlX2FyZWEpfHwtMSE9PXMudmlzaWJsZV9hcmVhLmluZGV4T2YoIiUiKSYmKHMudmlzaWJsZV9hcmVhPXBhcnNlSW50KHMudmlzaWJsZV9hcmVhKS8xMDApLF9SLnNjcm9sbFRpY2tlciYmX1Iuc2Nyb2xsVGlja2VyKGIsYSkpLCJjYXJvdXNlbCI9PT1iLnNsaWRlclR5cGUmJl9SLnByZXBhcmVDYXJvdXNlbCYmKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChiLnVsLHtvcGFjaXR5OjB9KSxfUi5wcmVwYXJlQ2Fyb3VzZWwoYixuZXcgcHVuY2hncy5UaW1lbGluZUxpdGUsdW5kZWZpbmVkLDApLGIub25seVByZXBhcmVkU2xpZGU9ITApLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtpZighcy5lbmFibGV8fHMuZW5hYmxlJiZiLmludmlld3BvcnR8fHMuZW5hYmxlJiYhYi5pbnZpZXdwb3J0JiYid2FpdCI9PSFzLm91dG9mKXN3YXBTbGlkZShhKTtlbHNlIGlmKGIuYy5hZGRDbGFzcygidHAtd2FpdGZvcmZpcnN0c3RhcnQiKSxiLndhaXRGb3JGaXJzdFNsaWRlPSEwLHMucHJlc2l6ZSl7dmFyIGM9alF1ZXJ5KGIubGlbMF0pO2xvYWRJbWFnZXMoYyxiLDAsITApLHdhaXRGb3JDdXJyZW50SW1hZ2VzKGMuZmluZCgiLnRwLWxheWVycyIpLGIsZnVuY3Rpb24oKXtfUi5hbmltYXRlVGhlQ2FwdGlvbnMoe3NsaWRlOmMsb3B0OmIscHJlc2V0OiEwfSl9KX1fUi5tYW5hZ2VOYXZpZ2F0aW9uJiZfUi5tYW5hZ2VOYXZpZ2F0aW9uKGIpLGIuc2xpZGVhbW91bnQ+MSYmKCFzLmVuYWJsZXx8cy5lbmFibGUmJmIuaW52aWV3cG9ydD9jb3VudERvd24oYSxiKTpiLndhaXRGb3JDb3VudERvd249ITApLHNldFRpbWVvdXQoZnVuY3Rpb24oKXthLnRyaWdnZXIoInJldm9sdXRpb24uc2xpZGUub25sb2FkZWQiKX0sMTAwKX0sYi5zdGFydERlbGF5KSxiLnN0YXJ0RGVsYXk9MCxqUXVlcnkoImJvZHkiKS5kYXRhKCJycy1mdWxsU2NyZWVuTW9kZSIsITEpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJmdWxsc2NyZWVuY2hhbmdlIixvbkZ1bGxTY3JlZW5DaGFuZ2Use3Bhc3NpdmU6ITB9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibW96ZnVsbHNjcmVlbmNoYW5nZSIsb25GdWxsU2NyZWVuQ2hhbmdlLHtwYXNzaXZlOiEwfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiLG9uRnVsbFNjcmVlbkNoYW5nZSx7cGFzc2l2ZTohMH0pO3ZhciB0PSJyZXNpemUucmV2c2xpZGVyLSIrYS5hdHRyKCJpZCIpO2pRdWVyeSh3aW5kb3cpLm9uKHQsZnVuY3Rpb24oKXtpZihhPT11bmRlZmluZWQpcmV0dXJuITE7MCE9alF1ZXJ5KCJib2R5IikuZmluZChhKSYmY29udFdpZHRoTWFuYWdlcihiKTt2YXIgYz0hMTtpZigiZnVsbHNjcmVlbiI9PWIuc2xpZGVyTGF5b3V0KXt2YXIgZD1qUXVlcnkod2luZG93KS5oZWlnaHQoKTsibW9iaWxlIj09Yi5mYWxsYmFja3MuaWdub3JlSGVpZ2h0Q2hhbmdlcyYmX0lTTXx8ImFsd2F5cyI9PWIuZmFsbGJhY2tzLmlnbm9yZUhlaWdodENoYW5nZXM/KGIuZmFsbGJhY2tzLmlnbm9yZUhlaWdodENoYW5nZXNTaXplPWIuZmFsbGJhY2tzLmlnbm9yZUhlaWdodENoYW5nZXNTaXplPT11bmRlZmluZWQ/MDpiLmZhbGxiYWNrcy5pZ25vcmVIZWlnaHRDaGFuZ2VzU2l6ZSxjPWQhPWIubGFzdHdpbmRvd2hlaWdodCYmTWF0aC5hYnMoZC1iLmxhc3R3aW5kb3doZWlnaHQpPmIuZmFsbGJhY2tzLmlnbm9yZUhlaWdodENoYW5nZXNTaXplKTpjPWQhPWIubGFzdHdpbmRvd2hlaWdodH0oYS5vdXRlcldpZHRoKCEwKSE9Yi53aWR0aHx8YS5pcygiOmhpZGRlbiIpfHxjKSYmKGIubGFzdHdpbmRvd2hlaWdodD1qUXVlcnkod2luZG93KS5oZWlnaHQoKSxjb250YWluZXJSZXNpemVkKGEsYikpfSksaGlkZVNsaWRlclVuZGVyKGEsYiksY29udFdpZHRoTWFuYWdlcihiKSxiLmZhbGxiYWNrcy5kaXNhYmxlRm9jdXNMaXN0ZW5lcnx8InRydWUiPT1iLmZhbGxiYWNrcy5kaXNhYmxlRm9jdXNMaXN0ZW5lcnx8ITA9PT1iLmZhbGxiYWNrcy5kaXNhYmxlRm9jdXNMaXN0ZW5lcnx8KGEuYWRkQ2xhc3MoInJldl9yZWRyYXdfb25fYmx1cmZvY3VzIiksdGFiQmx1cnJpbmdDaGVjaygpKX19LGNBcnJheT1mdW5jdGlvbihhLGIpe2lmKCFqUXVlcnkuaXNBcnJheShhKSl7dmFyIGM9YTthPW5ldyBBcnJheSxhLnB1c2goYyl9aWYoYS5sZW5ndGg8Yilmb3IodmFyIGM9YVthLmxlbmd0aC0xXSxkPTA7ZDxiLWEubGVuZ3RoKzI7ZCsrKWEucHVzaChjKTtyZXR1cm4gYX0sY2hlY2tIb3ZlckRlcGVuZGVuY2llcz1mdW5jdGlvbihhLGIpe3ZhciBjPWEuZGF0YSgpOygic2xpZGVyZW50ZXIiPT09Yy5zdGFydHx8Yy5mcmFtZXMhPT11bmRlZmluZWQmJmMuZnJhbWVzWzBdIT11bmRlZmluZWQmJiJzbGlkZXJlbnRlciI9PT1jLmZyYW1lc1swXS5kZWxheSkmJihiLmxheWVyc29uaG92ZXI9PT11bmRlZmluZWQmJihiLmMub24oInRwLW1vdXNlZW50ZXIiLGZ1bmN0aW9uKCl7Yi5sYXllcnNvbmhvdmVyJiZqUXVlcnkuZWFjaChiLmxheWVyc29uaG92ZXIsZnVuY3Rpb24oYSxjKXt2YXIgZD1jLmRhdGEoImNsb3Nlc3RsaSIpfHxjLmNsb3Nlc3QoIi50cC1yZXZzbGlkZXItc2xpZGVzbGkiKSxlPWMuZGF0YSgic3RhdGljbGkiKXx8Yy5jbG9zZXN0KCIudHAtc3RhdGljLWxheWVycyIpO2MuZGF0YSgiY2xvc2VzdGxpIik9PT11bmRlZmluZWQmJihjLmRhdGEoImNsb3Nlc3RsaSIsZCksYy5kYXRhKCJzdGF0aWNsaSIsZSkpLChkLmxlbmd0aD4wJiZkLmhhc0NsYXNzKCJhY3RpdmUtcmV2c2xpZGUiKXx8ZC5oYXNDbGFzcygicHJvY2Vzc2luZy1yZXZzbGlkZSIpfHxlLmxlbmd0aD4wKSYmKGMuZGF0YSgiYW5pbWRpcmVjdGlvbiIsImluIiksX1IucGxheUFuaW1hdGlvbkZyYW1lJiZfUi5wbGF5QW5pbWF0aW9uRnJhbWUoe2NhcHRpb246YyxvcHQ6YixmcmFtZToiZnJhbWVfMCIsdHJpZ2dlcmRpcmVjdGlvbjoiaW4iLHRyaWdnZXJmcmFtZWluOiJmcmFtZV8wIix0cmlnZ2VyZnJhbWVvdXQ6ImZyYW1lXzk5OSJ9KSxjLmRhdGEoInRyaWdnZXJzdGF0ZSIsIm9uIikpfSl9KSxiLmMub24oInRwLW1vdXNlbGVmdCIsZnVuY3Rpb24oKXtiLmxheWVyc29uaG92ZXImJmpRdWVyeS5lYWNoKGIubGF5ZXJzb25ob3ZlcixmdW5jdGlvbihhLGMpe2MuZGF0YSgiYW5pbWRpcmVjdGlvbiIsIm91dCIpLGMuZGF0YSgidHJpZ2dlcmVkIiwhMCksYy5kYXRhKCJ0cmlnZ2Vyc3RhdGUiLCJvZmYiKSxfUi5zdG9wVmlkZW8mJl9SLnN0b3BWaWRlbyhjLGIpLF9SLnBsYXlBbmltYXRpb25GcmFtZSYmX1IucGxheUFuaW1hdGlvbkZyYW1lKHtjYXB0aW9uOmMsb3B0OmIsZnJhbWU6ImZyYW1lXzk5OSIsdHJpZ2dlcmRpcmVjdGlvbjoib3V0Iix0cmlnZ2VyZnJhbWVpbjoiZnJhbWVfMCIsdHJpZ2dlcmZyYW1lb3V0OiJmcmFtZV85OTkifSl9KX0pLGIubGF5ZXJzb25ob3Zlcj1uZXcgQXJyYXkpLGIubGF5ZXJzb25ob3Zlci5wdXNoKGEpKX0sY29udFdpZHRoTWFuYWdlcj1mdW5jdGlvbihhKXt2YXIgYj1fUi5nZXRIb3Jpem9udGFsT2Zmc2V0KGEuYywibGVmdCIpO2lmKCJhdXRvIj09YS5zbGlkZXJMYXlvdXR8fCJmdWxsc2NyZWVuIj09PWEuc2xpZGVyTGF5b3V0JiYib24iPT1hLmZ1bGxTY3JlZW5BdXRvV2lkdGgpImZ1bGxzY3JlZW4iPT1hLnNsaWRlckxheW91dCYmIm9uIj09YS5mdWxsU2NyZWVuQXV0b1dpZHRoP3B1bmNoZ3MuVHdlZW5MaXRlLnNldChhLnVsLHtsZWZ0OjAsd2lkdGg6YS5jLndpZHRoKCl9KTpwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYS51bCx7bGVmdDpiLHdpZHRoOmEuYy53aWR0aCgpLV9SLmdldEhvcml6b250YWxPZmZzZXQoYS5jLCJib3RoIil9KTtlbHNle3ZhciBjPU1hdGguY2VpbChhLmMuY2xvc2VzdCgiLmZvcmNlZnVsbHdpZHRoX3dyYXBwZXJfdHBfYmFubmVyIikub2Zmc2V0KCkubGVmdC1iKTtwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYS5jLnBhcmVudCgpLHtsZWZ0OjAtYysicHgiLHdpZHRoOmpRdWVyeSh3aW5kb3cpLndpZHRoKCktX1IuZ2V0SG9yaXpvbnRhbE9mZnNldChhLmMsImJvdGgiKX0pfWEuc2xheWVycyYmImZ1bGx3aWR0aCIhPWEuc2xpZGVyTGF5b3V0JiYiZnVsbHNjcmVlbiIhPWEuc2xpZGVyTGF5b3V0JiZwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYS5zbGF5ZXJzLHtsZWZ0OmJ9KX0sY3Y9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09PXVuZGVmaW5lZD9iOmF9LGhpZGVTbGlkZXJVbmRlcj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5wYXJlbnQoKTtqUXVlcnkod2luZG93KS53aWR0aCgpPGIuaGlkZVNsaWRlckF0TGltaXQ/KGEudHJpZ2dlcigic3RvcHRpbWVyIiksIm5vbmUiIT1kLmNzcygiZGlzcGxheSIpJiZkLmRhdGEoIm9sZGRpc3BsYXkiLGQuY3NzKCJkaXNwbGF5IikpLGQuY3NzKHtkaXNwbGF5OiJub25lIn0pKTphLmlzKCI6aGlkZGVuIikmJmMmJihkLmRhdGEoIm9sZGRpc3BsYXkiKSE9dW5kZWZpbmVkJiYidW5kZWZpbmVkIiE9ZC5kYXRhKCJvbGRkaXNwbGF5IikmJiJub25lIiE9ZC5kYXRhKCJvbGRkaXNwbGF5Iik/ZC5jc3Moe2Rpc3BsYXk6ZC5kYXRhKCJvbGRkaXNwbGF5Iil9KTpkLmNzcyh7ZGlzcGxheToiYmxvY2sifSksYS50cmlnZ2VyKCJyZXN0YXJ0dGltZXIiKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Y29udGFpbmVyUmVzaXplZChhLGIpfSwxNTApKSxfUi5oaWRlVW5IaWRlTmF2JiZfUi5oaWRlVW5IaWRlTmF2KGIpfSxjb250YWluZXJSZXNpemVkPWZ1bmN0aW9uKGEsYil7aWYoYS50cmlnZ2VyKCJyZXZvbHV0aW9uLnNsaWRlLmJlZm9yZXJlZHJhdyIpLDE9PWIuaW5mdWxsc2NyZWVubW9kZSYmKGIubWluSGVpZ2h0PWpRdWVyeSh3aW5kb3cpLmhlaWdodCgpKSxzZXRDdXJXaW5SYW5nZShiKSxzZXRDdXJXaW5SYW5nZShiLCEwKSwhX1IucmVzaXplVGh1bWJzVGFic3x8ITA9PT1fUi5yZXNpemVUaHVtYnNUYWJzKGIpKXtpZihoaWRlU2xpZGVyVW5kZXIoYSxiLCEwKSxjb250V2lkdGhNYW5hZ2VyKGIpLCJjYXJvdXNlbCI9PWIuc2xpZGVyVHlwZSYmX1IucHJlcGFyZUNhcm91c2VsKGIsITApLGE9PT11bmRlZmluZWQpcmV0dXJuITE7X1Iuc2V0U2l6ZShiKSxiLmNvbnc9Yi5jLndpZHRoKCksYi5jb25oPWIuaW5mdWxsc2NyZWVubW9kZT9iLm1pbkhlaWdodDpiLmMuaGVpZ2h0KCk7dmFyIGM9YS5maW5kKCIuYWN0aXZlLXJldnNsaWRlIC5zbG90aG9sZGVyIiksZD1hLmZpbmQoIi5wcm9jZXNzaW5nLXJldnNsaWRlIC5zbG90aG9sZGVyIik7cmVtb3ZlU2xvdHMoYSxiLGEsMiksInN0YW5kYXJkIj09PWIuc2xpZGVyVHlwZSYmKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChkLmZpbmQoIi5kZWZhdWx0aW1nIikse29wYWNpdHk6MH0pLGMuZmluZCgiLmRlZmF1bHRpbWciKS5jc3Moe29wYWNpdHk6MX0pKSwiY2Fyb3VzZWwiPT09Yi5zbGlkZXJUeXBlJiZiLmxhc3Rjb253IT1iLmNvbncmJihjbGVhclRpbWVvdXQoYi5wY2FydGltZXIpLGIucGNhcnRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtfUi5wcmVwYXJlQ2Fyb3VzZWwoYiwhMCksImNhcm91c2VsIj09Yi5zbGlkZXJUeXBlJiYib24iPT09Yi5jYXJvdXNlbC5zaG93TGF5ZXJzQWxsVGltZSYmalF1ZXJ5LmVhY2goYi5saSxmdW5jdGlvbihhKXtfUi5hbmltYXRlVGhlQ2FwdGlvbnMoe3NsaWRlOmpRdWVyeShiLmxpW2FdKSxvcHQ6YixyZWNhbGw6ITB9KX0pfSwxMDApLGIubGFzdGNvbnc9Yi5jb253KSxfUi5tYW5hZ2VOYXZpZ2F0aW9uJiZfUi5tYW5hZ2VOYXZpZ2F0aW9uKGIpLF9SLmFuaW1hdGVUaGVDYXB0aW9ucyYmYS5maW5kKCIuYWN0aXZlLXJldnNsaWRlIikubGVuZ3RoPjAmJl9SLmFuaW1hdGVUaGVDYXB0aW9ucyh7c2xpZGU6YS5maW5kKCIuYWN0aXZlLXJldnNsaWRlIiksb3B0OmIscmVjYWxsOiEwfSksIm9uIj09ZC5kYXRhKCJrZW5idXJucyIpJiZfUi5zdGFydEtlbkJ1cm4oZCxiLGQuZGF0YSgia2J0bCIpIT09dW5kZWZpbmVkP2QuZGF0YSgia2J0bCIpLnByb2dyZXNzKCk6MCksIm9uIj09Yy5kYXRhKCJrZW5idXJucyIpJiZfUi5zdGFydEtlbkJ1cm4oYyxiLGMuZGF0YSgia2J0bCIpIT09dW5kZWZpbmVkP2MuZGF0YSgia2J0bCIpLnByb2dyZXNzKCk6MCksX1IuYW5pbWF0ZVRoZUNhcHRpb25zJiZhLmZpbmQoIi5wcm9jZXNzaW5nLXJldnNsaWRlIikubGVuZ3RoPjAmJl9SLmFuaW1hdGVUaGVDYXB0aW9ucyh7c2xpZGU6YS5maW5kKCIucHJvY2Vzc2luZy1yZXZzbGlkZSIpLG9wdDpiLHJlY2FsbDohMH0pLF9SLm1hbmFnZU5hdmlnYXRpb24mJl9SLm1hbmFnZU5hdmlnYXRpb24oYil9YS50cmlnZ2VyKCJyZXZvbHV0aW9uLnNsaWRlLmFmdGVyZHJhdyIpfSxzZXRTY2FsZT1mdW5jdGlvbihhKXthLmJ3PWEud2lkdGgvYS5ncmlkd2lkdGhbYS5jdXJXaW5SYW5nZV0sYS5iaD1hLmhlaWdodC9hLmdyaWRoZWlnaHRbYS5jdXJXaW5SYW5nZV0sYS5iaD5hLmJ3P2EuYmg9YS5idzphLmJ3PWEuYmgsKGEuYmg+MXx8YS5idz4xKSYmKGEuYnc9MSxhLmJoPTEpfSxwcmVwYXJlU2xpZGVzPWZ1bmN0aW9uKGEsYil7aWYoYS5maW5kKCIudHAtY2FwdGlvbiIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyk7YS5kYXRhKCJ0cmFuc2l0aW9uIikhPT11bmRlZmluZWQmJmEuYWRkQ2xhc3MoYS5kYXRhKCJ0cmFuc2l0aW9uIikpfSksYi51bC5jc3Moe292ZXJmbG93OiJoaWRkZW4iLHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLG1heEhlaWdodDphLnBhcmVudCgpLmNzcygibWF4SGVpZ2h0Iil9KSwib24iPT1iLmF1dG9IZWlnaHQmJihiLnVsLmNzcyh7b3ZlcmZsb3c6ImhpZGRlbiIsd2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsbWF4SGVpZ2h0OiJub25lIn0pLGEuY3NzKHttYXhIZWlnaHQ6Im5vbmUifSksYS5wYXJlbnQoKS5jc3Moe21heEhlaWdodDoibm9uZSJ9KSksYi5hbGxsaS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciBjPWpRdWVyeSh0aGlzKSxkPWMuZGF0YSgib3JpZ2luYWxpbmRleCIpOyhiLnN0YXJ0V2l0aFNsaWRlIT11bmRlZmluZWQmJmQ9PWIuc3RhcnRXaXRoU2xpZGV8fGIuc3RhcnRXaXRoU2xpZGU9PT11bmRlZmluZWQmJjA9PWEpJiZjLmFkZENsYXNzKCJuZXh0LXJldnNsaWRlIiksYy5jc3Moe3dpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLG92ZXJmbG93OiJoaWRkZW4ifSl9KSwiY2Fyb3VzZWwiPT09Yi5zbGlkZXJUeXBlKXtiLnVsLmNzcyh7b3ZlcmZsb3c6InZpc2libGUifSkud3JhcCgnPGRpdiBjbGFzcz0idHAtY2Fyb3VzZWwtd3JhcHBlciIgc3R5bGU9IndpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjBweDtsZWZ0OjBweDtvdmVyZmxvdzpoaWRkZW47Ij48L2Rpdj4nKTt2YXIgYz0nPGRpdiBzdHlsZT0iY2xlYXI6Ym90aDtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7aGVpZ2h0OjFweDtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tYm90dG9tOi0xcHgiPjwvZGl2Pic7Yi5jLnBhcmVudCgpLnByZXBlbmQoYyksYi5jLnBhcmVudCgpLmFwcGVuZChjKSxfUi5wcmVwYXJlQ2Fyb3VzZWwoYil9YS5wYXJlbnQoKS5jc3Moe292ZXJmbG93OiJ2aXNpYmxlIn0pLGIuYWxsbGkuZmluZCgiPmltZyIpLmVhY2goZnVuY3Rpb24oYSl7dmFyIGM9alF1ZXJ5KHRoaXMpLGQ9Yy5jbG9zZXN0KCJsaSIpLGU9ZC5maW5kKCIucnMtYmFja2dyb3VuZC12aWRlby1sYXllciIpO2UuYWRkQ2xhc3MoImRlZmF1bHR2aWQiKS5jc3Moe3pJbmRleDozMH0pLGMuYWRkQ2xhc3MoImRlZmF1bHRpbWciKSwib24iPT1iLmZhbGxiYWNrcy5wYW5ab29tRGlzYWJsZU9uTW9iaWxlJiZfSVNNJiYoYy5kYXRhKCJrZW5idXJucyIsIm9mZiIpLGMuZGF0YSgiYmdmaXQiLCJjb3ZlciIpKTt2YXIgZj1kLmRhdGEoIm1lZGlhZmlsdGVyIik7Zj0ibm9uZSI9PT1mfHxmPT09dW5kZWZpbmVkPyIiOmYsYy53cmFwKCc8ZGl2IGNsYXNzPSJzbG90aG9sZGVyIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7IHRvcDowcHg7IGxlZnQ6MHB4OyB6LWluZGV4OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTsiPjwvZGl2PicpLGUuYXBwZW5kVG8oZC5maW5kKCIuc2xvdGhvbGRlciIpKTt2YXIgZz1jLmRhdGEoKTtjLmNsb3Nlc3QoIi5zbG90aG9sZGVyIikuZGF0YShnKSxlLmxlbmd0aD4wJiZnLmJncGFyYWxsYXghPXVuZGVmaW5lZCYmKGUuZGF0YSgiYmdwYXJhbGxheCIsZy5iZ3BhcmFsbGF4KSxlLmRhdGEoInNob3djb3Zlcm9ucGF1c2UiLCJvbiIpKSwibm9uZSIhPWIuZG90dGVkT3ZlcmxheSYmYi5kb3R0ZWRPdmVybGF5IT11bmRlZmluZWQmJmMuY2xvc2VzdCgiLnNsb3Rob2xkZXIiKS5hcHBlbmQoJzxkaXYgY2xhc3M9InRwLWRvdHRlZG92ZXJsYXkgJytiLmRvdHRlZE92ZXJsYXkrJyI+PC9kaXY+Jyk7dmFyIGg9Yy5hdHRyKCJzcmMiKTtnLnNyYz1oLGcuYmdmaXQ9Zy5iZ2ZpdHx8ImNvdmVyIixnLmJncmVwZWF0PWcuYmdyZXBlYXR8fCJuby1yZXBlYXQiLGcuYmdwb3NpdGlvbj1nLmJncG9zaXRpb258fCJjZW50ZXIgY2VudGVyIjt2YXIgaj0oYy5jbG9zZXN0KCIuc2xvdGhvbGRlciIpLGMuZGF0YSgiYmdjb2xvciIpKSxrPSIiO2s9aiE9PXVuZGVmaW5lZCYmai5pbmRleE9mKCJncmFkaWVudCIpPj0wPyciYmFja2dyb3VuZDonK2orJzt3aWR0aDoxMDAlO2hlaWdodDoxMDAlOyInOiciYmFja2dyb3VuZC1jb2xvcjonK2orIjtiYWNrZ3JvdW5kLXJlcGVhdDoiK2cuYmdyZXBlYXQrIjtiYWNrZ3JvdW5kLWltYWdlOnVybCgiK2grIik7YmFja2dyb3VuZC1zaXplOiIrZy5iZ2ZpdCsiO2JhY2tncm91bmQtcG9zaXRpb246IitnLmJncG9zaXRpb24rJzt3aWR0aDoxMDAlO2hlaWdodDoxMDAlOyInLGMuZGF0YSgibWVkaWFmaWx0ZXIiLGYpLGY9Im9uIj09PWMuZGF0YSgia2VuYnVybnMiKT8iIjpmO3ZhciBsPWpRdWVyeSgnPGRpdiBjbGFzcz0idHAtYmdpbWcgZGVmYXVsdGltZyAnK2YrJyIgZGF0YS1iZ2NvbG9yPSInK2orJyIgc3R5bGU9JytrKyI+PC9kaXY+Iik7Yy5wYXJlbnQoKS5hcHBlbmQobCk7dmFyIG09ZG9jdW1lbnQuY3JlYXRlQ29tbWVudCgiUnVudGltZSBNb2RpZmljYXRpb24gLSBJbWcgdGFnIGlzIFN0aWxsIEF2YWlsYWJsZSBmb3IgU0VPIEdvYWxzIGluIFNvdXJjZSAtICIrYy5nZXQoMCkub3V0ZXJIVE1MKTtjLnJlcGxhY2VXaXRoKG0pLGwuZGF0YShnKSxsLmF0dHIoInNyYyIsaCksInN0YW5kYXJkIiE9PWIuc2xpZGVyVHlwZSYmInVuZGVmaW5lZCIhPT1iLnNsaWRlclR5cGV8fGwuY3NzKHtvcGFjaXR5OjB9KX0pLGIuc2Nyb2xsZWZmZWN0Lm9uJiYib24iPT09Yi5zY3JvbGxlZmZlY3Qub25fc2xpZGViZyYmKGIuYWxsc2xvdGhvbGRlcj1uZXcgQXJyYXksYi5hbGxsaS5maW5kKCIuc2xvdGhvbGRlciIpLmVhY2goZnVuY3Rpb24oKXtqUXVlcnkodGhpcykud3JhcCgnPGRpdiBzdHlsZT0iZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MHB4O2xlZnQ6MHB4O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCUiIGNsYXNzPSJzbG90aG9sZGVyX2ZhZGVvdXR3cmFwIj48L2Rpdj4nKX0pLGIuYWxsc2xvdGhvbGRlcj1iLmMuZmluZCgiLnNsb3Rob2xkZXJfZmFkZW91dHdyYXAiKSl9LHJlbW92ZVNsb3RzPWZ1bmN0aW9uKGEsYixjLGQpe2IucmVtb3ZlUHJlcGFyZT1iLnJlbW92ZVByZXBhcmUrZCxjLmZpbmQoIi5zbG90LCAuc2xvdC1jaXJjbGUtd3JhcHBlciIpLmVhY2goZnVuY3Rpb24oKXtqUXVlcnkodGhpcykucmVtb3ZlKCl9KSxiLnRyYW5zaXRpb249MCxiLnJlbW92ZVByZXBhcmU9MH0sY3V0UGFyYW1zPWZ1bmN0aW9uKGEpe3ZhciBiPWE7cmV0dXJuIGEhPXVuZGVmaW5lZCYmYS5sZW5ndGg+MCYmKGI9YS5zcGxpdCgiPyIpWzBdKSxifSxyZWxhdGl2ZVJlZGlyPWZ1bmN0aW9uKGEpe3JldHVybiBsb2NhdGlvbi5wYXRobmFtZS5yZXBsYWNlKC8oLiopXC9bXlwvXSovLCIkMS8iK2EpfSxhYnN0b3JlbD1mdW5jdGlvbihhLGIpe3ZhciBjPWEuc3BsaXQoIi8iKSxkPWIuc3BsaXQoIi8iKTtjLnBvcCgpO2Zvcih2YXIgZT0wO2U8ZC5sZW5ndGg7ZSsrKSIuIiE9ZFtlXSYmKCIuLiI9PWRbZV0/Yy5wb3AoKTpjLnB1c2goZFtlXSkpO3JldHVybiBjLmpvaW4oIi8iKX0saW1nTG9hZGVkPWZ1bmN0aW9uKGEsYixjKXtiLnN5bmNsb2FkLS0sYi5sb2FkcXVldWUmJmpRdWVyeS5lYWNoKGIubG9hZHF1ZXVlLGZ1bmN0aW9uKGIsZCl7dmFyIGU9ZC5zcmMucmVwbGFjZSgvXC5cLlwvXC5cLlwvL2dpLCIiKSxmPXNlbGYubG9jYXRpb24uaHJlZixnPWRvY3VtZW50LmxvY2F0aW9uLm9yaWdpbixoPWYuc3Vic3RyaW5nKDAsZi5sZW5ndGgtMSkrIi8iK2UsaT1nKyIvIitlLGo9YWJzdG9yZWwoc2VsZi5sb2NhdGlvbi5ocmVmLGQuc3JjKTtmPWYuc3Vic3RyaW5nKDAsZi5sZW5ndGgtMSkrZSxnKz1lLChjdXRQYXJhbXMoZyk9PT1jdXRQYXJhbXMoZGVjb2RlVVJJQ29tcG9uZW50KGEuc3JjKSl8fGN1dFBhcmFtcyhmKT09PWN1dFBhcmFtcyhkZWNvZGVVUklDb21wb25lbnQoYS5zcmMpKXx8Y3V0UGFyYW1zKGopPT09Y3V0UGFyYW1zKGRlY29kZVVSSUNvbXBvbmVudChhLnNyYykpfHxjdXRQYXJhbXMoaSk9PT1jdXRQYXJhbXMoZGVjb2RlVVJJQ29tcG9uZW50KGEuc3JjKSl8fGN1dFBhcmFtcyhoKT09PWN1dFBhcmFtcyhkZWNvZGVVUklDb21wb25lbnQoYS5zcmMpKXx8Y3V0UGFyYW1zKGQuc3JjKT09PWN1dFBhcmFtcyhkZWNvZGVVUklDb21wb25lbnQoYS5zcmMpKXx8Y3V0UGFyYW1zKGQuc3JjKS5yZXBsYWNlKC9eLipcL1wvW15cL10rLywiIik9PT1jdXRQYXJhbXMoZGVjb2RlVVJJQ29tcG9uZW50KGEuc3JjKSkucmVwbGFjZSgvXi4qXC9cL1teXC9dKy8sIiIpfHwiZmlsZTovLyI9PT13aW5kb3cubG9jYXRpb24ub3JpZ2luJiZjdXRQYXJhbXMoYS5zcmMpLm1hdGNoKG5ldyBSZWdFeHAoZSkpKSYmKGQucHJvZ3Jlc3M9YyxkLndpZHRoPWEud2lkdGgsZC5oZWlnaHQ9YS5oZWlnaHQpfSkscHJvZ3Jlc3NJbWFnZUxvYWQoYil9LHByb2dyZXNzSW1hZ2VMb2FkPWZ1bmN0aW9uKGEpezMhPWEuc3luY2xvYWQmJmEubG9hZHF1ZXVlJiZqUXVlcnkuZWFjaChhLmxvYWRxdWV1ZSxmdW5jdGlvbihiLGMpe2lmKGMucHJvZ3Jlc3MubWF0Y2goL3ByZXBhcmVkL2cpJiZhLnN5bmNsb2FkPD0zKXtpZihhLnN5bmNsb2FkKyssImltZyI9PWMudHlwZSl7dmFyIGQ9bmV3IEltYWdlO2Qub25sb2FkPWZ1bmN0aW9uKCl7aW1nTG9hZGVkKHRoaXMsYSwibG9hZGVkIiksYy5lcnJvcj0hMX0sZC5vbmVycm9yPWZ1bmN0aW9uKCl7aW1nTG9hZGVkKHRoaXMsYSwiZmFpbGVkIiksYy5lcnJvcj0hMH0sZC5zcmM9Yy5zcmN9ZWxzZSBqUXVlcnkuZ2V0KGMuc3JjLGZ1bmN0aW9uKGIpe2MuaW5uZXJIVE1MPShuZXcgWE1MU2VyaWFsaXplcikuc2VyaWFsaXplVG9TdHJpbmcoYi5kb2N1bWVudEVsZW1lbnQpLGMucHJvZ3Jlc3M9ImxvYWRlZCIsYS5zeW5jbG9hZC0tLHByb2dyZXNzSW1hZ2VMb2FkKGEpfSkuZmFpbChmdW5jdGlvbigpe2MucHJvZ3Jlc3M9ImZhaWxlZCIsYS5zeW5jbG9hZC0tLHByb2dyZXNzSW1hZ2VMb2FkKGEpfSk7Yy5wcm9ncmVzcz0iaW5sb2FkIn19KX0sYWRkVG9Mb2FkUXVldWU9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj0hMTtpZihiLmxvYWRxdWV1ZSYmalF1ZXJ5LmVhY2goYi5sb2FkcXVldWUsZnVuY3Rpb24oYixjKXtjLnNyYz09PWEmJihmPSEwKX0pLCFmKXt2YXIgZz1uZXcgT2JqZWN0O2cuc3JjPWEsZy5zdGFydHRvbG9hZD1qUXVlcnkubm93KCksZy50eXBlPWR8fCJpbWciLGcucHJpbz1jLGcucHJvZ3Jlc3M9InByZXBhcmVkIixnLnN0YXRpYz1lLGIubG9hZHF1ZXVlLnB1c2goZyl9fSxsb2FkSW1hZ2VzPWZ1bmN0aW9uKGEsYixjLGQpe2EuZmluZCgiaW1nLC5kZWZhdWx0aW1nLCAudHAtc3ZnLWxheWVyIikuZWFjaChmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKSxlPWEuZGF0YSgibGF6eWxvYWQiKSE9PXVuZGVmaW5lZCYmInVuZGVmaW5lZCIhPT1hLmRhdGEoImxhenlsb2FkIik/YS5kYXRhKCJsYXp5bG9hZCIpOmEuZGF0YSgic3ZnX3NyYyIpIT11bmRlZmluZWQ/YS5kYXRhKCJzdmdfc3JjIik6YS5hdHRyKCJzcmMiKSxmPWEuZGF0YSgic3ZnX3NyYyIpIT11bmRlZmluZWQ/InN2ZyI6ImltZyI7YS5kYXRhKCJzdGFydC10by1sb2FkIixqUXVlcnkubm93KCkpLGFkZFRvTG9hZFF1ZXVlKGUsYixjLGYsZCl9KSxwcm9ncmVzc0ltYWdlTG9hZChiKX0sZ2V0TG9hZE9iaj1mdW5jdGlvbihhLGIpe3ZhciBjPW5ldyBPYmplY3Q7cmV0dXJuIGEubG9hZHF1ZXVlJiZqUXVlcnkuZWFjaChhLmxvYWRxdWV1ZSxmdW5jdGlvbihhLGQpe2Quc3JjPT1iJiYoYz1kKX0pLGN9LHdhaXRGb3JDdXJyZW50SW1hZ2VzPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0hMTthLmZpbmQoImltZywuZGVmYXVsdGltZywgLnRwLXN2Zy1sYXllciIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1qUXVlcnkodGhpcyksZT1jLmRhdGEoImxhenlsb2FkIikhPXVuZGVmaW5lZD9jLmRhdGEoImxhenlsb2FkIik6Yy5kYXRhKCJzdmdfc3JjIikhPXVuZGVmaW5lZD9jLmRhdGEoInN2Z19zcmMiKTpjLmF0dHIoInNyYyIpLGY9Z2V0TG9hZE9iaihiLGUpO2lmKGMuZGF0YSgibG9hZGVkIik9PT11bmRlZmluZWQmJmYhPT11bmRlZmluZWQmJmYucHJvZ3Jlc3MmJmYucHJvZ3Jlc3MubWF0Y2goL2xvYWRlZC9nKSl7aWYoYy5hdHRyKCJzcmMiLGYuc3JjKSwiaW1nIj09Zi50eXBlKWlmKGMuaGFzQ2xhc3MoImRlZmF1bHRpbWciKSlfUi5pc0lFKDgpP2RlZmltZy5hdHRyKCJzcmMiLGYuc3JjKTotMT09Zi5zcmMuaW5kZXhPZigiaW1hZ2VzL3RyYW5zcGFyZW50LnBuZyIpJiYtMT09Zi5zcmMuaW5kZXhPZigiYXNzZXRzL3RyYW5zcGFyZW50LnBuZyIpfHxjLmRhdGEoImJnY29sb3IiKT09PXVuZGVmaW5lZD9jLmNzcyh7YmFja2dyb3VuZEltYWdlOid1cmwoIicrZi5zcmMrJyIpJ30pOmMuZGF0YSgiYmdjb2xvciIpIT09dW5kZWZpbmVkJiZjLmNzcyh7YmFja2dyb3VuZDpjLmRhdGEoImJnY29sb3IiKX0pLGEuZGF0YSgib3dpZHRoIixmLndpZHRoKSxhLmRhdGEoIm9oZWlnaHQiLGYuaGVpZ2h0KSxhLmZpbmQoIi5zbG90aG9sZGVyIikuZGF0YSgib3dpZHRoIixmLndpZHRoKSxhLmZpbmQoIi5zbG90aG9sZGVyIikuZGF0YSgib2hlaWdodCIsZi5oZWlnaHQpO2Vsc2V7dmFyIGc9Yy5kYXRhKCJ3dyIpLGg9Yy5kYXRhKCJoaCIpO2MuZGF0YSgib3dpZHRoIixmLndpZHRoKSxjLmRhdGEoIm9oZWlnaHQiLGYuaGVpZ2h0KSxnPWc9PXVuZGVmaW5lZHx8ImF1dG8iPT1nfHwiIj09Zz9mLndpZHRoOmcsaD1oPT11bmRlZmluZWR8fCJhdXRvIj09aHx8IiI9PWg/Zi5oZWlnaHQ6aCwhalF1ZXJ5LmlzTnVtZXJpYyhnKSYmZy5pbmRleE9mKCIlIik+MCYmKGg9ZyksYy5kYXRhKCJ3dyIsZyksYy5kYXRhKCJoaCIsaCl9ZWxzZSJzdmciPT1mLnR5cGUmJiJsb2FkZWQiPT1mLnByb2dyZXNzJiYoYy5hcHBlbmQoJzxkaXYgY2xhc3M9InRwLXN2Zy1pbm5lcmNvbnRhaW5lciI+PC9kaXY+JyksYy5maW5kKCIudHAtc3ZnLWlubmVyY29udGFpbmVyIikuYXBwZW5kKGYuaW5uZXJIVE1MKSk7Yy5kYXRhKCJsb2FkZWQiLCEwKX1pZihmJiZmLnByb2dyZXNzJiZmLnByb2dyZXNzLm1hdGNoKC9pbnByb2dyZXNzfGlubG9hZHxwcmVwYXJlZC9nKSYmKCFmLmVycm9yJiZqUXVlcnkubm93KCktYy5kYXRhKCJzdGFydC10by1sb2FkIik8NWUzP2Q9ITA6KGYucHJvZ3Jlc3M9ImZhaWxlZCIsZi5yZXBvcnRlZF9pbWd8fChmLnJlcG9ydGVkX2ltZz0hMCxjb25zb2xlLndhcm4oZSsiICBDb3VsZCBub3QgYmUgbG9hZGVkICEiKSkpKSwxPT1iLnlvdXR1YmVhcGluZWVkZWQmJighd2luZG93LllUfHxZVC5QbGF5ZXI9PXVuZGVmaW5lZCkmJihkPSEwLGpRdWVyeS5ub3coKS1iLnlvdXR1YmVzdGFydHRpbWU+NWUzJiYxIT1iLnlvdXR1YmV3YXJuaW5nKSl7Yi55b3V0dWJld2FybmluZz0hMDt2YXIgaT0iWW91VHViZSBBcGkgQ291bGQgbm90IGJlIGxvYWRlZCAhIjsiaHR0cHM6Ij09PWxvY2F0aW9uLnByb3RvY29sJiYoaSs9IiBQbGVhc2UgQ2hlY2sgYW5kIFJlbmV3IFNTTCBDZXJ0aWZpY2F0ZSAhIiksY29uc29sZS5lcnJvcihpKSxiLmMuYXBwZW5kKCc8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOjEwMCU7Y29sb3I6I2U3NGMzYzsgIGZvbnQtc2l6ZToxNnB4OyB0ZXh0LWFsaWduOmNlbnRlcjsgcGFkZGluZzoxNXB4O2JhY2tncm91bmQ6IzAwMDsgZGlzcGxheTpibG9jazsiPjxzdHJvbmc+JytpKyI8L3N0cm9uZz48L2Rpdj4iKX1pZigxPT1iLnZpbWVvYXBpbmVlZGVkJiYhd2luZG93LkZyb29nYWxvb3AmJihkPSEwLGpRdWVyeS5ub3coKS1iLnZpbWVvc3RhcnR0aW1lPjVlMyYmMSE9Yi52aW1lb3dhcm5pbmcpKXtiLnZpbWVvd2FybmluZz0hMDt2YXIgaT0iVmltZW8gRnJvb2dhbG9vcCBBcGkgQ291bGQgbm90IGJlIGxvYWRlZCAhIjsiaHR0cHM6Ij09PWxvY2F0aW9uLnByb3RvY29sJiYoaSs9IiBQbGVhc2UgQ2hlY2sgYW5kIFJlbmV3IFNTTCBDZXJ0aWZpY2F0ZSAhIiksY29uc29sZS5lcnJvcihpKSxiLmMuYXBwZW5kKCc8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOjEwMCU7Y29sb3I6I2U3NGMzYzsgIGZvbnQtc2l6ZToxNnB4OyB0ZXh0LWFsaWduOmNlbnRlcjsgcGFkZGluZzoxNXB4O2JhY2tncm91bmQ6IzAwMDsgZGlzcGxheTpibG9jazsiPjxzdHJvbmc+JytpKyI8L3N0cm9uZz48L2Rpdj4iKX19KSwhX0lTTSYmYi5hdWRpb3F1ZXVlJiZiLmF1ZGlvcXVldWUubGVuZ3RoPjAmJmpRdWVyeS5lYWNoKGIuYXVkaW9xdWV1ZSxmdW5jdGlvbihhLGIpe2Iuc3RhdHVzJiYicHJlcGFyZWQiPT09Yi5zdGF0dXMmJmpRdWVyeS5ub3coKS1iLnN0YXJ0PGIud2FpdHRpbWUmJihkPSEwKX0pLGpRdWVyeS5lYWNoKGIubG9hZHF1ZXVlLGZ1bmN0aW9uKGEsYil7ITAhPT1iLnN0YXRpY3x8ImxvYWRlZCI9PWIucHJvZ3Jlc3MmJiJmYWlsZWQiIT09Yi5wcm9ncmVzc3x8KCJmYWlsZWQiPT1iLnByb2dyZXNzP2IucmVwb3J0ZWR8fChiLnJlcG9ydGVkPSEwLGNvbnNvbGUud2FybigiU3RhdGljIEltYWdlICIrYi5zcmMrIiAgQ291bGQgbm90IGJlIGxvYWRlZCBpbiB0aW1lLiBFcnJvciBFeGlzdHM6IitiLmVycm9yKSk6IWIuZXJyb3ImJmpRdWVyeS5ub3coKS1iLnN0YXJ0dG9sb2FkPDVlMz9kPSEwOmIucmVwb3J0ZWR8fChiLnJlcG9ydGVkPSEwLGNvbnNvbGUud2FybigiU3RhdGljIEltYWdlICIrYi5zcmMrIiAgQ291bGQgbm90IGJlIGxvYWRlZCB3aXRoaW4gNXMhIEVycm9yIEV4aXN0czoiK2IuZXJyb3IpKSl9KSxkP3B1bmNoZ3MuVHdlZW5MaXRlLmRlbGF5ZWRDYWxsKC4xOCx3YWl0Rm9yQ3VycmVudEltYWdlcyxbYSxiLGNdKTpwdW5jaGdzLlR3ZWVuTGl0ZS5kZWxheWVkQ2FsbCguMTgsYyl9LHN3YXBTbGlkZT1mdW5jdGlvbihhKXt2YXIgYj1hWzBdLm9wdDtpZihjbGVhclRpbWVvdXQoYi53YWl0V2l0aFN3YXBTbGlkZSksYS5maW5kKCIucHJvY2Vzc2luZy1yZXZzbGlkZSIpLmxlbmd0aD4wKXJldHVybiBiLndhaXRXaXRoU3dhcFNsaWRlPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtzd2FwU2xpZGUoYSl9LDE1MCksITE7dmFyIGM9YS5maW5kKCIuYWN0aXZlLXJldnNsaWRlIiksZD1hLmZpbmQoIi5uZXh0LXJldnNsaWRlIiksZT1kLmZpbmQoIi5kZWZhdWx0aW1nIik7aWYoImNhcm91c2VsIiE9PWIuc2xpZGVyVHlwZXx8Yi5jYXJvdXNlbC5mYWRlaW58fChwdW5jaGdzLlR3ZWVuTGl0ZS50byhiLnVsLDEse29wYWNpdHk6MX0pLGIuY2Fyb3VzZWwuZmFkZWluPSEwKSxkLmluZGV4KCk9PT1jLmluZGV4KCkmJiEwIT09Yi5vbmx5UHJlcGFyZWRTbGlkZSlyZXR1cm4gZC5yZW1vdmVDbGFzcygibmV4dC1yZXZzbGlkZSIpLCExOyEwPT09Yi5vbmx5UHJlcGFyZWRTbGlkZSYmKGIub25seVByZXBhcmVkU2xpZGU9ITEsalF1ZXJ5KGIubGlbMF0pLmFkZENsYXNzKCJwcm9jZXNzaW5nLXJldnNsaWRlIikpLGQucmVtb3ZlQ2xhc3MoIm5leHQtcmV2c2xpZGUiKS5hZGRDbGFzcygicHJvY2Vzc2luZy1yZXZzbGlkZSIpLC0xPT09ZC5pbmRleCgpJiYiY2Fyb3VzZWwiPT09Yi5zbGlkZXJUeXBlJiYoZD1qUXVlcnkoYi5saVswXSkpLGQuZGF0YSgic2xpZGVfb25fZm9jdXNfYW1vdW50IixkLmRhdGEoInNsaWRlX29uX2ZvY3VzX2Ftb3VudCIpKzF8fDEpLCJvbiI9PWIuc3RvcExvb3AmJmQuaW5kZXgoKT09Yi5sYXN0c2xpZGV0b3Nob3ctMSYmKGEuZmluZCgiLnRwLWJhbm5lcnRpbWVyIikuY3NzKHt2aXNpYmlsaXR5OiJoaWRkZW4ifSksYS50cmlnZ2VyKCJyZXZvbHV0aW9uLnNsaWRlLm9uc3RvcCIpLGIubm9sb29wYW55bW9yZT0xKSxkLmluZGV4KCk9PT1iLnNsaWRlYW1vdW50LTEmJihiLmxvb3B0b2dvPWIubG9vcHRvZ28tMSxiLmxvb3B0b2dvPD0wJiYoYi5zdG9wTG9vcD0ib24iKSksYi50b25wYXVzZT0hMCxhLnRyaWdnZXIoInN0b3B0aW1lciIpLGIuY2Q9MCwib2ZmIj09PWIuc3Bpbm5lciYmKGIubG9hZGVyIT09dW5kZWZpbmVkP2IubG9hZGVyLmNzcyh7ZGlzcGxheToibm9uZSJ9KTpiLmxvYWRlcnRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtiLmxvYWRlciE9PXVuZGVmaW5lZCYmYi5sb2FkZXIuY3NzKHtkaXNwbGF5OiJibG9jayJ9KX0sNTApKSxsb2FkSW1hZ2VzKGQsYiwxKSxfUi5wcmVMb2FkQXVkaW8mJl9SLnByZUxvYWRBdWRpbyhkLGIsMSksd2FpdEZvckN1cnJlbnRJbWFnZXMoZCxiLGZ1bmN0aW9uKCl7ZC5maW5kKCIucnMtYmFja2dyb3VuZC12aWRlby1sYXllciIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyk7YS5oYXNDbGFzcygiSGFzTGlzdGVuZXIiKXx8KGEuZGF0YSgiYmd2aWRlbyIsMSksX1IubWFuYWdlVmlkZW9MYXllciYmX1IubWFuYWdlVmlkZW9MYXllcihhLGIpKSwwPT1hLmZpbmQoIi5ycy1mdWxsdmlkZW8tY292ZXIiKS5sZW5ndGgmJmEuYXBwZW5kKCc8ZGl2IGNsYXNzPSJycy1mdWxsdmlkZW8tY292ZXIiPjwvZGl2PicpfSksc3dhcFNsaWRlUHJvZ3Jlc3MoZSxhKX0pfSxzd2FwU2xpZGVQcm9ncmVzcz1mdW5jdGlvbihhLGIpe3ZhciBjPWIuZmluZCgiLmFjdGl2ZS1yZXZzbGlkZSIpLGQ9Yi5maW5kKCIucHJvY2Vzc2luZy1yZXZzbGlkZSIpLGU9Yy5maW5kKCIuc2xvdGhvbGRlciIpLGY9ZC5maW5kKCIuc2xvdGhvbGRlciIpLGc9YlswXS5vcHQ7Zy50b25wYXVzZT0hMSxnLmNkPTAsY2xlYXJUaW1lb3V0KGcubG9hZGVydGltZXIpLGcubG9hZGVyIT09dW5kZWZpbmVkJiZnLmxvYWRlci5jc3Moe2Rpc3BsYXk6Im5vbmUifSksX1Iuc2V0U2l6ZShnKSxfUi5zbG90U2l6ZShhLGcpLF9SLm1hbmFnZU5hdmlnYXRpb24mJl9SLm1hbmFnZU5hdmlnYXRpb24oZyk7dmFyIGg9e307aC5uZXh0c2xpZGU9ZCxoLmN1cnJlbnRzbGlkZT1jLGIudHJpZ2dlcigicmV2b2x1dGlvbi5zbGlkZS5vbmJlZm9yZXN3YXAiLGgpLGcudHJhbnNpdGlvbj0xLGcudmlkZW9wbGF5aW5nPSExLGQuZGF0YSgiZGVsYXkiKSE9dW5kZWZpbmVkPyhnLmNkPTAsZy5kZWxheT1kLmRhdGEoImRlbGF5IikpOmcuZGVsYXk9Zy5vcmlnY2QsInRydWUiPT1kLmRhdGEoInNzb3AiKXx8ITA9PT1kLmRhdGEoInNzb3AiKT9nLnNzb3A9ITA6Zy5zc29wPSExLGIudHJpZ2dlcigibnVsbHRpbWVyIik7dmFyIGk9Yy5pbmRleCgpLGo9ZC5pbmRleCgpO2cuc2Rpcj1qPGk/MTowLCJhcnJvdyI9PWcuc2NfaW5kaWNhdG9yJiYoMD09aSYmaj09Zy5zbGlkZWFtb3VudC0xJiYoZy5zZGlyPTEpLGk9PWcuc2xpZGVhbW91bnQtMSYmMD09aiYmKGcuc2Rpcj0wKSksZy5sc2Rpcj1nLmxzZGlyPT09dW5kZWZpbmVkP2cuc2RpcjpnLmxzZGlyLGcuZGlyYz1nLmxzZGlyIT1nLnNkaXIsZy5sc2Rpcj1nLnNkaXIsYy5pbmRleCgpIT1kLmluZGV4KCkmJjEhPWcuZmlyc3RzdGFydCYmX1IucmVtb3ZlVGhlQ2FwdGlvbnMmJl9SLnJlbW92ZVRoZUNhcHRpb25zKGMsZyksZC5oYXNDbGFzcygicnMtcGF1c2UtdGltZXItb25jZSIpfHxkLmhhc0NsYXNzKCJycy1wYXVzZS10aW1lci1hbHdheXMiKT9nLnZpZGVvcGxheWluZz0hMDpiLnRyaWdnZXIoInJlc3RhcnR0aW1lciIpLGQucmVtb3ZlQ2xhc3MoInJzLXBhdXNlLXRpbWVyLW9uY2UiKTt2YXIgayxtO2lmKGcuY3VycmVudFNsaWRlPWMuaW5kZXgoKSxnLm5leHRTbGlkZT1kLmluZGV4KCksImNhcm91c2VsIj09Zy5zbGlkZXJUeXBlKW09bmV3IHB1bmNoZ3MuVGltZWxpbmVMaXRlLF9SLnByZXBhcmVDYXJvdXNlbChnLG0pLGxldEl0RnJlZShiLGYsZSxkLGMsbSksZy50cmFuc2l0aW9uPTAsZy5maXJzdHN0YXJ0PTA7ZWxzZXttPW5ldyBwdW5jaGdzLlRpbWVsaW5lTGl0ZSh7b25Db21wbGV0ZTpmdW5jdGlvbigpe2xldEl0RnJlZShiLGYsZSxkLGMsbSl9fSksbS5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGYuZmluZCgiLmRlZmF1bHRpbWciKSx7b3BhY2l0eTowfSkpLG0ucGF1c2UoKSxfUi5hbmltYXRlVGhlQ2FwdGlvbnMmJl9SLmFuaW1hdGVUaGVDYXB0aW9ucyh7c2xpZGU6ZCxvcHQ6ZyxwcmVzZXQ6ITB9KSwxPT1nLmZpcnN0c3RhcnQmJihwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYyx7YXV0b0FscGhhOjB9KSxnLmZpcnN0c3RhcnQ9MCkscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGMse3pJbmRleDoxOH0pLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChkLHthdXRvQWxwaGE6MCx6SW5kZXg6MjB9KSwicHJlcGFyZWQiPT1kLmRhdGEoImRpZmZlcmVudGlzc3BsYXllZCIpJiYoZC5kYXRhKCJkaWZmZXJlbnRpc3NwbGF5ZWQiLCJkb25lIiksZC5kYXRhKCJ0cmFuc2l0aW9uIixkLmRhdGEoInNhdmVkdHJhbnNpdGlvbiIpKSxkLmRhdGEoInNsb3RhbW91bnQiLGQuZGF0YSgic2F2ZWRzbG90YW1vdW50IikpLGQuZGF0YSgibWFzdGVyc3BlZWQiLGQuZGF0YSgic2F2ZWRtYXN0ZXJzcGVlZCIpKSksZC5kYXRhKCJmc3RyYW5zaXRpb24iKSE9dW5kZWZpbmVkJiYiZG9uZSIhPWQuZGF0YSgiZGlmZmVyZW50aXNzcGxheWVkIikmJihkLmRhdGEoInNhdmVkdHJhbnNpdGlvbiIsZC5kYXRhKCJ0cmFuc2l0aW9uIikpLGQuZGF0YSgic2F2ZWRzbG90YW1vdW50IixkLmRhdGEoInNsb3RhbW91bnQiKSksZC5kYXRhKCJzYXZlZG1hc3RlcnNwZWVkIixkLmRhdGEoIm1hc3RlcnNwZWVkIikpLGQuZGF0YSgidHJhbnNpdGlvbiIsZC5kYXRhKCJmc3RyYW5zaXRpb24iKSksZC5kYXRhKCJzbG90YW1vdW50IixkLmRhdGEoImZzc2xvdGFtb3VudCIpKSxkLmRhdGEoIm1hc3RlcnNwZWVkIixkLmRhdGEoImZzbWFzdGVyc3BlZWQiKSksZC5kYXRhKCJkaWZmZXJlbnRpc3NwbGF5ZWQiLCJwcmVwYXJlZCIpKSxkLmRhdGEoInRyYW5zaXRpb24iKT09dW5kZWZpbmVkJiZkLmRhdGEoInRyYW5zaXRpb24iLCJyYW5kb20iKSxrPTA7dmFyIG49ZC5kYXRhKCJ0cmFuc2l0aW9uIikhPT11bmRlZmluZWQ/ZC5kYXRhKCJ0cmFuc2l0aW9uIikuc3BsaXQoIiwiKToiZmFkZSIsbz1kLmRhdGEoIm5leHR0cmFuc2lkIik9PXVuZGVmaW5lZD8tMTpkLmRhdGEoIm5leHR0cmFuc2lkIik7Im9uIj09ZC5kYXRhKCJyYW5kb210cmFuc2l0aW9uIik/bz1NYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkqbi5sZW5ndGgpOm8rPTEsbz09bi5sZW5ndGgmJihvPTApLGQuZGF0YSgibmV4dHRyYW5zaWQiLG8pO3ZhciBwPW5bb107Zy5pZSYmKCJib3hmYWRlIj09cCYmKHA9ImJveHNsaWRlIiksInNsb3RmYWRlLXZlcnRpY2FsIj09cCYmKHA9InNsb3R6b29tLXZlcnRpY2FsIiksInNsb3RmYWRlLWhvcml6b250YWwiPT1wJiYocD0ic2xvdHpvb20taG9yaXpvbnRhbCIpKSxfUi5pc0lFKDgpJiYocD0xMSksbT1fUi5hbmltYXRlU2xpZGUoayxwLGIsZCxjLGYsZSxtKSwib24iPT1mLmRhdGEoImtlbmJ1cm5zIikmJihfUi5zdGFydEtlbkJ1cm4oZixnKSxtLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZix7YXV0b0FscGhhOjB9KSkpLG0ucGF1c2UoKX1fUi5zY3JvbGxIYW5kbGluZyYmKF9SLnNjcm9sbEhhbmRsaW5nKGcsITAsMCksbS5ldmVudENhbGxiYWNrKCJvblVwZGF0ZSIsZnVuY3Rpb24oKXtfUi5zY3JvbGxIYW5kbGluZyhnLCEwLDApfSkpLCJvZmYiIT1nLnBhcmFsbGF4LnR5cGUmJmcucGFyYWxsYXguZmlyc3Rnbz09dW5kZWZpbmVkJiZfUi5zY3JvbGxIYW5kbGluZyYmKGcucGFyYWxsYXguZmlyc3Rnbz0hMCxnLmxhc3RzY3JvbGx0b3A9LTk5OSxfUi5zY3JvbGxIYW5kbGluZyhnLCEwLDApLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtnLmxhc3RzY3JvbGx0b3A9LTk5OSxfUi5zY3JvbGxIYW5kbGluZyhnLCEwLDApfSwyMTApLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtnLmxhc3RzY3JvbGx0b3A9LTk5OSxfUi5zY3JvbGxIYW5kbGluZyhnLCEwLDApfSw0MjApKSxfUi5hbmltYXRlVGhlQ2FwdGlvbnM/ImNhcm91c2VsIj09PWcuc2xpZGVyVHlwZSYmIm9uIj09PWcuY2Fyb3VzZWwuc2hvd0xheWVyc0FsbFRpbWU/KGpRdWVyeS5lYWNoKGcubGksZnVuY3Rpb24oYSl7Zy5jYXJvdXNlbC5hbGxMYXllcnNTdGFydGVkP19SLmFuaW1hdGVUaGVDYXB0aW9ucyh7c2xpZGU6alF1ZXJ5KGcubGlbYV0pLG9wdDpnLHJlY2FsbDohMH0pOmcubGlbYV09PT1kP19SLmFuaW1hdGVUaGVDYXB0aW9ucyh7c2xpZGU6alF1ZXJ5KGcubGlbYV0pLG1haW50aW1lbGluZTptLG9wdDpnLHN0YXJ0c2xpZGVhbmltYXQ6MH0pOl9SLmFuaW1hdGVUaGVDYXB0aW9ucyh7c2xpZGU6alF1ZXJ5KGcubGlbYV0pLG9wdDpnLHN0YXJ0c2xpZGVhbmltYXQ6MH0pfSksZy5jYXJvdXNlbC5hbGxMYXllcnNTdGFydGVkPSEwKTpfUi5hbmltYXRlVGhlQ2FwdGlvbnMoe3NsaWRlOmQsb3B0OmcsbWFpbnRpbWVsaW5lOm0sc3RhcnRzbGlkZWFuaW1hdDowfSk6bSE9dW5kZWZpbmVkJiZzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bS5yZXN1bWUoKX0sMzApLHB1bmNoZ3MuVHdlZW5MaXRlLnRvKGQsLjAwMSx7YXV0b0FscGhhOjF9KX0sbGV0SXRGcmVlPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXt2YXIgZz1hWzBdLm9wdDsiY2Fyb3VzZWwiPT09Zy5zbGlkZXJUeXBlfHwoZy5yZW1vdmVQcmVwYXJlPTAscHVuY2hncy5Ud2VlbkxpdGUudG8oYi5maW5kKCIuZGVmYXVsdGltZyIpLC4wMDEse3pJbmRleDoyMCxhdXRvQWxwaGE6MSxvbkNvbXBsZXRlOmZ1bmN0aW9uKCl7cmVtb3ZlU2xvdHMoYSxnLGQsMSl9fSksZC5pbmRleCgpIT1lLmluZGV4KCkmJnB1bmNoZ3MuVHdlZW5MaXRlLnRvKGUsLjIse3pJbmRleDoxOCxhdXRvQWxwaGE6MCxvbkNvbXBsZXRlOmZ1bmN0aW9uKCl7cmVtb3ZlU2xvdHMoYSxnLGUsMSl9fSkpLGEuZmluZCgiLmFjdGl2ZS1yZXZzbGlkZSIpLnJlbW92ZUNsYXNzKCJhY3RpdmUtcmV2c2xpZGUiKSxhLmZpbmQoIi5wcm9jZXNzaW5nLXJldnNsaWRlIikucmVtb3ZlQ2xhc3MoInByb2Nlc3NpbmctcmV2c2xpZGUiKS5hZGRDbGFzcygiYWN0aXZlLXJldnNsaWRlIiksZy5hY3Q9ZC5pbmRleCgpLGcuYy5hdHRyKCJkYXRhLXNsaWRlYWN0aXZlIixhLmZpbmQoIi5hY3RpdmUtcmV2c2xpZGUiKS5kYXRhKCJpbmRleCIpKSwic2Nyb2xsIiE9Zy5wYXJhbGxheC50eXBlJiYic2Nyb2xsK21vdXNlIiE9Zy5wYXJhbGxheC50eXBlJiYibW91c2Urc2Nyb2xsIiE9Zy5wYXJhbGxheC50eXBlfHwoZy5sYXN0c2Nyb2xsdG9wPS05OTksX1Iuc2Nyb2xsSGFuZGxpbmcoZykpLGYuY2xlYXIoKSxjLmRhdGEoImtidGwiKSE9dW5kZWZpbmVkJiYoYy5kYXRhKCJrYnRsIikucmV2ZXJzZSgpLGMuZGF0YSgia2J0bCIpLnRpbWVTY2FsZSgyNSkpLCJvbiI9PWIuZGF0YSgia2VuYnVybnMiKSYmKGIuZGF0YSgia2J0bCIpIT11bmRlZmluZWQ/KGIuZGF0YSgia2J0bCIpLnRpbWVTY2FsZSgxKSxiLmRhdGEoImtidGwiKS5wbGF5KCkpOl9SLnN0YXJ0S2VuQnVybihiLGcpKSxkLmZpbmQoIi5ycy1iYWNrZ3JvdW5kLXZpZGVvLWxheWVyIikuZWFjaChmdW5jdGlvbihhKXtpZihfSVNNJiYhZy5mYWxsYmFja3MuYWxsb3dIVE1MNUF1dG9QbGF5T25BbmRyb2lkKXJldHVybiExO3ZhciBiPWpRdWVyeSh0aGlzKTtfUi5yZXNldFZpZGVvKGIsZykscHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGIsMSx7YXV0b0FscGhhOjB9LHthdXRvQWxwaGE6MSxlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dCxkZWxheTouMixvbkNvbXBsZXRlOmZ1bmN0aW9uKCl7X1IuYW5pbWNvbXBsZXRlZCYmX1IuYW5pbWNvbXBsZXRlZChiLGcpfX0pfSksZS5maW5kKCIucnMtYmFja2dyb3VuZC12aWRlby1sYXllciIpLmVhY2goZnVuY3Rpb24oYSl7aWYoX0lTTSlyZXR1cm4hMTt2YXIgYj1qUXVlcnkodGhpcyk7X1Iuc3RvcFZpZGVvJiYoX1IucmVzZXRWaWRlbyhiLGcpLF9SLnN0b3BWaWRlbyhiLGcpKSxwdW5jaGdzLlR3ZWVuTGl0ZS50byhiLDEse2F1dG9BbHBoYTowLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0LGRlbGF5Oi4yfSl9KTt2YXIgaD17fTtpZihoLnNsaWRlSW5kZXg9ZC5pbmRleCgpKzEsaC5zbGlkZUxJSW5kZXg9ZC5pbmRleCgpLGguc2xpZGU9ZCxoLmN1cnJlbnRzbGlkZT1kLGgucHJldnNsaWRlPWUsZy5sYXN0X3Nob3duX3NsaWRlPWUuaW5kZXgoKSxhLnRyaWdnZXIoInJldm9sdXRpb24uc2xpZGUub25jaGFuZ2UiLGgpLGEudHJpZ2dlcigicmV2b2x1dGlvbi5zbGlkZS5vbmFmdGVyc3dhcCIsaCksZy5zdGFydFdpdGhTbGlkZSE9PXVuZGVmaW5lZCYmImRvbmUiIT09Zy5zdGFydFdpdGhTbGlkZSYmImNhcm91c2VsIj09PWcuc2xpZGVyVHlwZSl7Zm9yKHZhciBpPWcuc3RhcnRXaXRoU2xpZGUsaj0wO2o8PWcubGkubGVuZ3RoLTE7aisrKXtqUXVlcnkoZy5saVtqXSkuZGF0YSgib3JpZ2luYWxpbmRleCIpPT09Zy5zdGFydFdpdGhTbGlkZSYmKGk9ail9MCE9PWkmJl9SLmNhbGxpbmdOZXdTbGlkZShnLmMsaSksZy5zdGFydFdpdGhTbGlkZT0iZG9uZSJ9Zy5kdXJpbmdzbGlkZWNoYW5nZT0hMTt2YXIgbD1lLmRhdGEoInNsaWRlX29uX2ZvY3VzX2Ftb3VudCIpLG09ZS5kYXRhKCJoaWRlYWZ0ZXJsb29wIik7MCE9bSYmbTw9bCYmZy5jLnJldnJlbW92ZXNsaWRlKGUuaW5kZXgoKSk7dmFyIG49LTE9PT1nLm5leHRTbGlkZXx8Zy5uZXh0U2xpZGU9PT11bmRlZmluZWQ/MDpnLm5leHRTbGlkZTtnLnJvd3pvbmVzIT11bmRlZmluZWQmJihuPW4+Zy5yb3d6b25lcy5sZW5ndGg/Zy5yb3d6b25lcy5sZW5ndGg6biksZy5yb3d6b25lcyE9dW5kZWZpbmVkJiZnLnJvd3pvbmVzLmxlbmd0aD4wJiZnLnJvd3pvbmVzW25dIT11bmRlZmluZWQmJm4+PTAmJm48PWcucm93em9uZXMubGVuZ3RoJiZnLnJvd3pvbmVzW25dLmxlbmd0aD4wJiZfUi5zZXRTaXplKGcpfSxyZW1vdmVBbGxMaXN0ZW5lcnM9ZnVuY3Rpb24oYSxiKXthLmNoaWxkcmVuKCkuZWFjaChmdW5jdGlvbigpe3RyeXtqUXVlcnkodGhpcykuZGllKCJjbGljayIpfWNhdGNoKGEpe310cnl7alF1ZXJ5KHRoaXMpLmRpZSgibW91c2VlbnRlciIpfWNhdGNoKGEpe310cnl7alF1ZXJ5KHRoaXMpLmRpZSgibW91c2VsZWF2ZSIpfWNhdGNoKGEpe310cnl7alF1ZXJ5KHRoaXMpLnVuYmluZCgiaG92ZXIiKX1jYXRjaChhKXt9fSk7dHJ5e2EuZGllKCJjbGljayIsIm1vdXNlZW50ZXIiLCJtb3VzZWxlYXZlIil9Y2F0Y2goYSl7fWNsZWFySW50ZXJ2YWwoYi5jZGludCksYT1udWxsfSxjb3VudERvd249ZnVuY3Rpb24oYSxiKXtiLmNkPTAsYi5sb29wPTAsYi5zdG9wQWZ0ZXJMb29wcyE9dW5kZWZpbmVkJiZiLnN0b3BBZnRlckxvb3BzPi0xP2IubG9vcHRvZ289Yi5zdG9wQWZ0ZXJMb29wczpiLmxvb3B0b2dvPTk5OTk5OTksYi5zdG9wQXRTbGlkZSE9dW5kZWZpbmVkJiZiLnN0b3BBdFNsaWRlPi0xP2IubGFzdHNsaWRldG9zaG93PWIuc3RvcEF0U2xpZGU6Yi5sYXN0c2xpZGV0b3Nob3c9OTk5LGIuc3RvcExvb3A9Im9mZiIsMD09Yi5sb29wdG9nbyYmKGIuc3RvcExvb3A9Im9uIik7dmFyIGM9YS5maW5kKCIudHAtYmFubmVydGltZXIiKTthLm9uKCJzdG9wdGltZXIiLGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpLmZpbmQoIi50cC1iYW5uZXJ0aW1lciIpO2FbMF0udHdlZW4ucGF1c2UoKSwib24iPT1iLmRpc2FibGVQcm9ncmVzc0JhciYmYS5jc3Moe3Zpc2liaWxpdHk6ImhpZGRlbiJ9KSxiLnNsaWRlcnN0YXR1cz0icGF1c2VkIixfUi51blRvZ2dsZVN0YXRlKGIuc2xpZGVydG9nZ2xlZGJ5KX0pLGEub24oInN0YXJ0dGltZXIiLGZ1bmN0aW9uKCl7Yi5mb3JjZXBhdXNlX3ZpYXRvZ2dsZXx8KDEhPWIuY29udGhvdmVyJiYxIT1iLnZpZGVvcGxheWluZyYmYi53aWR0aD5iLmhpZGVTbGlkZXJBdExpbWl0JiYxIT1iLnRvbnBhdXNlJiYxIT1iLm92ZXJuYXYmJjEhPWIuc3NvcCYmKDE9PT1iLm5vbG9vcGFueW1vcmV8fGIudmlld1BvcnQuZW5hYmxlJiYhYi5pbnZpZXdwb3J0fHwoYy5jc3Moe3Zpc2liaWxpdHk6InZpc2libGUifSksY1swXS50d2Vlbi5yZXN1bWUoKSxiLnNsaWRlcnN0YXR1cz0icGxheWluZyIpKSwib24iPT1iLmRpc2FibGVQcm9ncmVzc0JhciYmYy5jc3Moe3Zpc2liaWxpdHk6ImhpZGRlbiJ9KSxfUi50b2dnbGVTdGF0ZShiLnNsaWRlcnRvZ2dsZWRieSkpfSksYS5vbigicmVzdGFydHRpbWVyIixmdW5jdGlvbigpe2lmKCFiLmZvcmNlcGF1c2VfdmlhdG9nZ2xlKXt2YXIgYT1qUXVlcnkodGhpcykuZmluZCgiLnRwLWJhbm5lcnRpbWVyIik7aWYoYi5tb3VzZW9uY29udGFpbmVyJiYib24iPT1iLm5hdmlnYXRpb24ub25Ib3ZlclN0b3AmJiFfSVNNKXJldHVybiExOzE9PT1iLm5vbG9vcGFueW1vcmV8fGIudmlld1BvcnQuZW5hYmxlJiYhYi5pbnZpZXdwb3J0fHwxPT1iLnNzb3B8fChhLmNzcyh7dmlzaWJpbGl0eToidmlzaWJsZSJ9KSxhWzBdLnR3ZWVuLmtpbGwoKSxhWzBdLnR3ZWVuPXB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhhLGIuZGVsYXkvMWUzLHt3aWR0aDoiMCUifSx7Zm9yY2UzRDoiYXV0byIsd2lkdGg6IjEwMCUiLGVhc2U6cHVuY2hncy5MaW5lYXIuZWFzZU5vbmUsb25Db21wbGV0ZTpkLGRlbGF5OjF9KSxiLnNsaWRlcnN0YXR1cz0icGxheWluZyIpLCJvbiI9PWIuZGlzYWJsZVByb2dyZXNzQmFyJiZhLmNzcyh7dmlzaWJpbGl0eToiaGlkZGVuIn0pLF9SLnRvZ2dsZVN0YXRlKGIuc2xpZGVydG9nZ2xlZGJ5KX19KSxhLm9uKCJudWxsdGltZXIiLGZ1bmN0aW9uKCl7Y1swXS50d2Vlbi5raWxsKCksY1swXS50d2Vlbj1wdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oYyxiLmRlbGF5LzFlMyx7d2lkdGg6IjAlIn0se2ZvcmNlM0Q6ImF1dG8iLHdpZHRoOiIxMDAlIixlYXNlOnB1bmNoZ3MuTGluZWFyLmVhc2VOb25lLG9uQ29tcGxldGU6ZCxkZWxheToxfSksY1swXS50d2Vlbi5wYXVzZSgwKSwib24iPT1iLmRpc2FibGVQcm9ncmVzc0JhciYmYy5jc3Moe3Zpc2liaWxpdHk6ImhpZGRlbiJ9KSxiLnNsaWRlcnN0YXR1cz0icGF1c2VkIn0pO3ZhciBkPWZ1bmN0aW9uKCl7MD09alF1ZXJ5KCJib2R5IikuZmluZChhKS5sZW5ndGgmJihyZW1vdmVBbGxMaXN0ZW5lcnMoYSxiKSxjbGVhckludGVydmFsKGIuY2RpbnQpKSxhLnRyaWdnZXIoInJldm9sdXRpb24uc2xpZGUuc2xpZGVhdGVuZCIpLDE9PWEuZGF0YSgiY29udGhvdmVyLWNoYW5nZWQiKSYmKGIuY29udGhvdmVyPWEuZGF0YSgiY29udGhvdmVyIiksYS5kYXRhKCJjb250aG92ZXItY2hhbmdlZCIsMCkpLF9SLmNhbGxpbmdOZXdTbGlkZShhLDEpfTtjWzBdLnR3ZWVuPXB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhjLGIuZGVsYXkvMWUzLHt3aWR0aDoiMCUifSx7Zm9yY2UzRDoiYXV0byIsd2lkdGg6IjEwMCUiLGVhc2U6cHVuY2hncy5MaW5lYXIuZWFzZU5vbmUsb25Db21wbGV0ZTpkLGRlbGF5OjF9KSxiLnNsaWRlYW1vdW50PjEmJigwIT1iLnN0b3BBZnRlckxvb3BzfHwxIT1iLnN0b3BBdFNsaWRlKT9hLnRyaWdnZXIoInN0YXJ0dGltZXIiKTooYi5ub2xvb3Bhbnltb3JlPTEsYS50cmlnZ2VyKCJudWxsdGltZXIiKSksYS5vbigidHAtbW91c2VlbnRlciIsZnVuY3Rpb24oKXtiLm1vdXNlb25jb250YWluZXI9ITAsIm9uIiE9Yi5uYXZpZ2F0aW9uLm9uSG92ZXJTdG9wfHxfSVNNfHwoYS50cmlnZ2VyKCJzdG9wdGltZXIiKSxhLnRyaWdnZXIoInJldm9sdXRpb24uc2xpZGUub25wYXVzZSIpKX0pLGEub24oInRwLW1vdXNlbGVmdCIsZnVuY3Rpb24oKXtiLm1vdXNlb25jb250YWluZXI9ITEsMSE9YS5kYXRhKCJjb250aG92ZXIiKSYmIm9uIj09Yi5uYXZpZ2F0aW9uLm9uSG92ZXJTdG9wJiYoMT09Yi52aWV3UG9ydC5lbmFibGUmJmIuaW52aWV3cG9ydHx8MD09Yi52aWV3UG9ydC5lbmFibGUpJiYoYS50cmlnZ2VyKCJyZXZvbHV0aW9uLnNsaWRlLm9ucmVzdW1lIiksYS50cmlnZ2VyKCJzdGFydHRpbWVyIikpfSl9LHZpcz1mdW5jdGlvbigpe3ZhciBhLGIsYz17aGlkZGVuOiJ2aXNpYmlsaXR5Y2hhbmdlIix3ZWJraXRIaWRkZW46IndlYmtpdHZpc2liaWxpdHljaGFuZ2UiLG1vekhpZGRlbjoibW96dmlzaWJpbGl0eWNoYW5nZSIsbXNIaWRkZW46Im1zdmlzaWJpbGl0eWNoYW5nZSJ9O2ZvcihhIGluIGMpaWYoYSBpbiBkb2N1bWVudCl7Yj1jW2FdO2JyZWFrfXJldHVybiBmdW5jdGlvbihjKXtyZXR1cm4gYyYmZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihiLGMse3Bhc2l2ZTohMH0pLCFkb2N1bWVudFthXX19KCkscmVzdGFydE9uRm9jdXM9ZnVuY3Rpb24oKXtqUXVlcnkoIi5yZXZfcmVkcmF3X29uX2JsdXJmb2N1cyIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcylbMF0ub3B0O2lmKGE9PXVuZGVmaW5lZHx8YS5jPT11bmRlZmluZWR8fDA9PT1hLmMubGVuZ3RoKXJldHVybiExOzEhPWEud2luZG93Zm9jdXNlZCYmKGEud2luZG93Zm9jdXNlZD0hMCxwdW5jaGdzLlR3ZWVuTGl0ZS5kZWxheWVkQ2FsbCguMyxmdW5jdGlvbigpeyJvbiI9PWEuZmFsbGJhY2tzLm5leHRTbGlkZU9uV2luZG93Rm9jdXMmJmEuYy5yZXZuZXh0KCksYS5jLnJldnJlZHJhdygpLCJwbGF5aW5nIj09YS5sYXN0c2xpZGVyc3RhdHVzJiZhLmMucmV2cmVzdW1lKCl9KSl9KX0sbGFzdFN0YXRCbHVyPWZ1bmN0aW9uKCl7alF1ZXJ5KCIucmV2X3JlZHJhd19vbl9ibHVyZm9jdXMiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpWzBdLm9wdDthLndpbmRvd2ZvY3VzZWQ9ITEsYS5sYXN0c2xpZGVyc3RhdHVzPWEuc2xpZGVyc3RhdHVzLGEuYy5yZXZwYXVzZSgpO3ZhciBiPWEuYy5maW5kKCIuYWN0aXZlLXJldnNsaWRlIC5zbG90aG9sZGVyIiksYz1hLmMuZmluZCgiLnByb2Nlc3NpbmctcmV2c2xpZGUgLnNsb3Rob2xkZXIiKTsib24iPT1jLmRhdGEoImtlbmJ1cm5zIikmJl9SLnN0b3BLZW5CdXJuKGMsYSksIm9uIj09Yi5kYXRhKCJrZW5idXJucyIpJiZfUi5zdG9wS2VuQnVybihiLGEpfSl9LHRhYkJsdXJyaW5nQ2hlY2s9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5kb2N1bWVudE1vZGU9PT11bmRlZmluZWQsYj13aW5kb3cuY2hyb21lOzEhPT1qUXVlcnkoImJvZHkiKS5kYXRhKCJyZXZzbGlkZXJfZm9jdXNfYmx1cl9saXN0ZW5lciIpJiYoalF1ZXJ5KCJib2R5IikuZGF0YSgicmV2c2xpZGVyX2ZvY3VzX2JsdXJfbGlzdGVuZXIiLDEpLGEmJiFiP2pRdWVyeSh3aW5kb3cpLm9uKCJmb2N1c2luIixmdW5jdGlvbigpe3Jlc3RhcnRPbkZvY3VzKCl9KS5vbigiZm9jdXNvdXQiLGZ1bmN0aW9uKCl7bGFzdFN0YXRCbHVyKCl9KTp3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcj8od2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixmdW5jdGlvbihhKXtyZXN0YXJ0T25Gb2N1cygpfSx7Y2FwdHVyZTohMSxwYXNzaXZlOiEwfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLGZ1bmN0aW9uKGEpe2xhc3RTdGF0Qmx1cigpfSx7Y2FwdHVyZTohMSxwYXNzaXZlOiEwfSkpOih3aW5kb3cuYXR0YWNoRXZlbnQoImZvY3VzIixmdW5jdGlvbihhKXtyZXN0YXJ0T25Gb2N1cygpfSksd2luZG93LmF0dGFjaEV2ZW50KCJibHVyIixmdW5jdGlvbihhKXtsYXN0U3RhdEJsdXIoKX0pKSl9LGdldFVybFZhcnM9ZnVuY3Rpb24oYSl7Zm9yKHZhciBjLGI9W10sZD13aW5kb3cubG9jYXRpb24uaHJlZi5zbGljZSh3aW5kb3cubG9jYXRpb24uaHJlZi5pbmRleE9mKGEpKzEpLnNwbGl0KCJfIiksZT0wO2U8ZC5sZW5ndGg7ZSsrKWRbZV09ZFtlXS5yZXBsYWNlKCIlM0QiLCI9IiksYz1kW2VdLnNwbGl0KCI9IiksYi5wdXNoKGNbMF0pLGJbY1swXV09Y1sxXTtyZXR1cm4gYn19KGpRdWVyeSk7"}},"time_used":52,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":45,"receive":7,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/js/script.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.612Z","timestamp":1785123231612,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /js/script.js HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: application/javascript\r\nlast-modified: Wed, 22 Apr 2026 17:27:38 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 2661\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":12925,"size_decoded":2984,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with CRLF line terminators","md5":"143599f368e9863ebd6acd60ef5cb513","sha1":"55b27328a8118de387c4ed2713dfdf4ea3c473b1","sha256":"a4e542b5e0d3ac8510daee9e43809c96fc948933145689b6ef12f8c341dc8d57","sha512":"0befc4068c99a195cf906405eaebe1a7742c71d37e72927c0092a71353273fd7bfaf16703058a7476bc48847f4ca7b203f2d6fed47d537703a0332a791d7b33a","ssdeep":"192:HDT8+9o1g7mIwpaDYfvVRXhkaDu36Ls4DURPM4W7BTfJN71LC4TKkageHjRrz2ac:HLT4oDY1RXiGgv6JXTYRdtW","tlshash":"7e4200d0b3ac95bf56fb3252957d9500aeacc43ac04160faf5fe302c57e874e22a5a4d","first_seen":"2024-12-04T10:10:15.807605Z","last_seen":"2026-07-27T05:05:33.654621Z","times_seen":12,"resource_available":true,"data":"KGZ1bmN0aW9uKCQpIHsNCgkNCgkidXNlIHN0cmljdCI7DQoJDQoJLy9IaWRlIExvYWRpbmcgQm94IChQcmVsb2FkZXIpDQoJZnVuY3Rpb24gaGFuZGxlUHJlbG9hZGVyKCkgew0KCQlpZigkKCcucHJlbG9hZGVyJykubGVuZ3RoKXsNCgkJCSQoJy5wcmVsb2FkZXInKS5kZWxheSgyMDApLmZhZGVPdXQoNTAwKTsNCgkJfQ0KCX0NCgkNCgkNCgkvL1VwZGF0ZSBIZWFkZXIgU3R5bGUgYW5kIFNjcm9sbCB0byBUb3ANCglmdW5jdGlvbiBoZWFkZXJTdHlsZSgpIHsNCgkJaWYoJCgnLm1haW4taGVhZGVyJykubGVuZ3RoKXsNCgkJCXZhciB3aW5kb3dwb3MgPSAkKHdpbmRvdykuc2Nyb2xsVG9wKCk7DQoJCQl2YXIgc2l0ZUhlYWRlciA9ICQoJy5tYWluLWhlYWRlcicpOw0KCQkJdmFyIHNjcm9sbExpbmsgPSAkKCcuc2Nyb2xsLXRvLXRvcCcpOw0KCQkJaWYgKHdpbmRvd3BvcyA+PSAyNTApIHsNCgkJCQlzaXRlSGVhZGVyLmFkZENsYXNzKCdmaXhlZC1oZWFkZXInKTsNCgkJCQlzY3JvbGxMaW5rLmZhZGVJbigzMDApOw0KCQkJfSBlbHNlIHsNCgkJCQlzaXRlSGVhZGVyLnJlbW92ZUNsYXNzKCdmaXhlZC1oZWFkZXInKTsNCgkJCQlzY3JvbGxMaW5rLmZhZGVPdXQoMzAwKTsNCgkJCX0NCgkJfQ0KCX0NCgkNCgloZWFkZXJTdHlsZSgpOw0KCQ0KCS8vU3VibWVudSBEcm9wZG93biBUb2dnbGUNCglpZigkKCcubWFpbi1oZWFkZXIgLm5hdmlnYXRpb24gbGkuZHJvcGRvd24gdWwnKS5sZW5ndGgpew0KCQkkKCcubWFpbi1oZWFkZXIgLm5hdmlnYXRpb24gbGkuZHJvcGRvd24nKS5hcHBlbmQoJzxkaXYgY2xhc3M9ImRyb3Bkb3duLWJ0biI+PHNwYW4gY2xhc3M9ImZhIGZhLWFuZ2xlLWRvd24iPjwvc3Bhbj48L2Rpdj4nKTsNCgkJDQoJCS8vRHJvcGRvd24gQnV0dG9uDQoJCSQoJy5tYWluLWhlYWRlciAubmF2aWdhdGlvbiBsaS5kcm9wZG93biAuZHJvcGRvd24tYnRuJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQoJCQkkKHRoaXMpLnByZXYoJ3VsJykuc2xpZGVUb2dnbGUoNTAwKTsNCgkJfSk7DQoJCQ0KCQkvL0Rpc2FibGUgZHJvcGRvd24gcGFyZW50IGxpbmsNCgkJJCgnLm5hdmlnYXRpb24gbGkuZHJvcGRvd24gPiBhJykub24oJ2NsaWNrJywgZnVuY3Rpb24oZSkgew0KCQkJZS5wcmV2ZW50RGVmYXVsdCgpOw0KCQl9KTsNCgl9DQoJDQoJDQoJLy9GaXhlZCBSaWdodCBUb3AgQ29uc3VsdGF0aW9uIEZvcm0gVG9nZ2xlDQoJaWYoJCgnLm1haW4taGVhZGVyIC5vdXRlci1ib3ggLmNvbnN1bHQtZm9ybS1idG4nKS5sZW5ndGgpew0KCQkvL1Nob3cgRm9ybQ0KCQkkKCcubWFpbi1oZWFkZXIgLm91dGVyLWJveCAuY29uc3VsdC1mb3JtLWJ0bicpLm9uKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsNCgkJCWUucHJldmVudERlZmF1bHQoKTsNCgkJCSQoJ2JvZHknKS5hZGRDbGFzcygnY29zdWx0LWZvcm0tdmlzaWJsZScpOw0KCQl9KTsNCgkJLy9IaWRlIEZvcm0NCgkJJCgnLmNvbnN1bHRpbmctZm9ybSAuaW5uZXItYm94IC5jcm9zcy1pY29uLC5mb3JtLWJhY2stZHJvcCcpLm9uKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsNCgkJCWUucHJldmVudERlZmF1bHQoKTsNCgkJCSQoJ2JvZHknKS5yZW1vdmVDbGFzcygnY29zdWx0LWZvcm0tdmlzaWJsZScpOw0KCQl9KTsNCgl9DQoJDQoJDQoJLy8gVGhyZWUgSXRlbSBDYXJvdXNlbA0KCWlmICgkKCcudGhyZWUtaXRlbS1jYXJvdXNlbCcpLmxlbmd0aCkgew0KCQkkKCcudGhyZWUtaXRlbS1jYXJvdXNlbCcpLm93bENhcm91c2VsKHsNCgkJCWxvb3A6dHJ1ZSwNCgkJCW1hcmdpbjozMCwNCgkJCW5hdjp0cnVlLA0KCQkJc21hcnRTcGVlZDogNTAwLA0KCQkJYXV0b3BsYXk6IDQwMDAsDQoJCQluYXZUZXh0OiBbICc8c3BhbiBjbGFzcz0iZmEgZmEtYW5nbGUtbGVmdCI+PC9zcGFuPicsICc8c3BhbiBjbGFzcz0iZmEgZmEtYW5nbGUtcmlnaHQiPjwvc3Bhbj4nIF0sDQoJCQlyZXNwb25zaXZlOnsNCgkJCQkwOnsNCgkJCQkJaXRlbXM6MQ0KCQkJCX0sDQoJCQkJNDgwOnsNCgkJCQkJaXRlbXM6MQ0KCQkJCX0sDQoJCQkJNjAwOnsNCgkJCQkJaXRlbXM6MQ0KCQkJCX0sDQoJCQkJNzY3OnsNCgkJCQkJaXRlbXM6Mg0KCQkJCX0sDQoJCQkJODAwOnsNCgkJCQkJaXRlbXM6Mg0KCQkJCX0sDQoJCQkJMTAyNDp7DQoJCQkJCWl0ZW1zOjMNCgkJCQl9DQoJCQl9DQoJCX0pOyAgICAJCQ0KCX0NCgkNCgkNCgkvLyBTcG9uc29ycyBDYXJvdXNlbA0KCWlmICgkKCcuc3BvbnNvcnMtY2Fyb3VzZWwnKS5sZW5ndGgpIHsNCgkJJCgnLnNwb25zb3JzLWNhcm91c2VsJykub3dsQ2Fyb3VzZWwoew0KCQkJbG9vcDp0cnVlLA0KCQkJbWFyZ2luOjEwLA0KCQkJbmF2OnRydWUsDQoJCQlzbWFydFNwZWVkOiA1MDAsDQoJCQlhdXRvcGxheTogNDAwMCwNCgkJCW5hdlRleHQ6IFsgJzxzcGFuIGNsYXNzPSJmYSBmYS1hbmdsZS1sZWZ0Ij48L3NwYW4+JywgJzxzcGFuIGNsYXNzPSJmYSBmYS1hbmdsZS1yaWdodCI+PC9zcGFuPicgXSwNCgkJCXJlc3BvbnNpdmU6ew0KCQkJCTA6ew0KCQkJCQlpdGVtczoxDQoJCQkJfSwNCgkJCQk0ODA6ew0KCQkJCQlpdGVtczoyDQoJCQkJfSwNCgkJCQk2MDA6ew0KCQkJCQlpdGVtczozDQoJCQkJfSwNCgkJCQk4MDA6ew0KCQkJCQlpdGVtczo1DQoJCQkJfSwNCgkJCQkxMDI0OnsNCgkJCQkJaXRlbXM6NQ0KCQkJCX0NCgkJCX0NCgkJfSk7ICAgIAkJDQoJfQ0KCQ0KCQ0KCS8vRmFjdCBDb3VudGVyICsgVGV4dCBDb3VudA0KCWlmKCQoJy5jb3VudC1ib3gnKS5sZW5ndGgpew0KCQkkKCcuY291bnQtYm94JykuYXBwZWFyKGZ1bmN0aW9uKCl7DQoJDQoJCQl2YXIgJHQgPSAkKHRoaXMpLA0KCQkJCW4gPSAkdC5maW5kKCIuY291bnQtdGV4dCIpLmF0dHIoImRhdGEtc3RvcCIpLA0KCQkJCXIgPSBwYXJzZUludCgkdC5maW5kKCIuY291bnQtdGV4dCIpLmF0dHIoImRhdGEtc3BlZWQiKSwgMTApOw0KCQkJCQ0KCQkJaWYgKCEkdC5oYXNDbGFzcygiY291bnRlZCIpKSB7DQoJCQkJJHQuYWRkQ2xhc3MoImNvdW50ZWQiKTsNCgkJCQkkKHsNCgkJCQkJY291bnROdW06ICR0LmZpbmQoIi5jb3VudC10ZXh0IikudGV4dCgpDQoJCQkJfSkuYW5pbWF0ZSh7DQoJCQkJCWNvdW50TnVtOiBuDQoJCQkJfSwgew0KCQkJCQlkdXJhdGlvbjogciwNCgkJCQkJZWFzaW5nOiAibGluZWFyIiwNCgkJCQkJc3RlcDogZnVuY3Rpb24oKSB7DQoJCQkJCQkkdC5maW5kKCIuY291bnQtdGV4dCIpLnRleHQoTWF0aC5mbG9vcih0aGlzLmNvdW50TnVtKSk7DQoJCQkJCX0sDQoJCQkJCWNvbXBsZXRlOiBmdW5jdGlvbigpIHsNCgkJCQkJCSR0LmZpbmQoIi5jb3VudC10ZXh0IikudGV4dCh0aGlzLmNvdW50TnVtKTsNCgkJCQkJfQ0KCQkJCX0pOw0KCQkJfQ0KCQkJDQoJCX0se2FjY1k6IDB9KTsNCgl9DQoJDQoJDQoJLy9DdXN0b20gU2VjbGVjdCBCb3gNCglpZigkKCcuY3VzdG9tLXNlbGVjdC1ib3gnKS5sZW5ndGgpew0KCQkkKCcuY3VzdG9tLXNlbGVjdC1ib3gnKS5zZWxlY3RtZW51KCkuc2VsZWN0bWVudSgnbWVudVdpZGdldCcpLmFkZENsYXNzKCdvdmVyZmxvdycpOw0KCX0NCgkNCgkNCgkvL0pxdWVyeSBTcGlubmVyIC8gUXVhbnRpdHkgU3Bpbm5lcg0KCWlmKCQoJy5xdWFudGl0eS1zcGlubmVyJykubGVuZ3RoKXsNCgkJJCgiaW5wdXQucXVhbnRpdHktc3Bpbm5lciIpLlRvdWNoU3Bpbih7DQoJCSAgdmVydGljYWxidXR0b25zOiB0cnVlDQoJCX0pOw0KCX0NCgkNCgkNCgkvL0pxdWVyeSBLbm9iIGFuaW1hdGlvbiANCglpZigkKCcuZGlhbCcpLmxlbmd0aCl7DQoJCSQoJy5kaWFsJykuYXBwZWFyKGZ1bmN0aW9uKCl7DQogICAgICAgICAgdmFyIGVsbSA9ICQodGhpcyk7DQogICAgICAgICAgdmFyIGNvbG9yID0gZWxtLmF0dHIoJ2RhdGEtZmdDb2xvcicpOyAgDQogICAgICAgICAgdmFyIHBlcmMgPSBlbG0uYXR0cigndmFsdWUnKTsgIA0KIA0KICAgICAgICAgIGVsbS5rbm9iKHsgDQogICAgICAgICAgICAgICAndmFsdWUnOiAwLCANCiAgICAgICAgICAgICAgICAnbWluJzowLA0KICAgICAgICAgICAgICAgICdtYXgnOjEwMCwNCiAgICAgICAgICAgICAgICAnc2tpbic6J3Ryb24nLA0KICAgICAgICAgICAgICAgICdyZWFkT25seSc6dHJ1ZSwNCiAgICAgICAgICAgICAgICAndGhpY2tuZXNzJzowLjA1LA0KCQkJCSdkeW5hbWljRHJhdyc6IHRydWUsDQoJCQkJJ2Rpc3BsYXlJbnB1dCc6ZmFsc2UNCiAgICAgICAgICB9KTsNCg0KICAgICAgICAgICQoe3ZhbHVlOiAwfSkuYW5pbWF0ZSh7IHZhbHVlOiBwZXJjIH0sIHsNCgkJCSAgZHVyYXRpb246IDIwMDAsDQogICAgICAgICAgICAgIGVhc2luZzogJ3N3aW5nJywNCiAgICAgICAgICAgICAgcHJvZ3Jlc3M6IGZ1bmN0aW9uICgpIHsgZWxtLnZhbChNYXRoLmNlaWwodGhpcy52YWx1ZSkpLnRyaWdnZXIoJ2NoYW5nZScpOw0KICAgICAgICAgICAgICB9DQogICAgICAgICAgfSk7DQoNCiAgICAgICAgICAvL2NpcmN1bGFyIHByb2dyZXNzIGJhciBjb2xvcg0KICAgICAgICAgICQodGhpcykuYXBwZW5kKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgIC8vIGVsbS5wYXJlbnQoKS5wYXJlbnQoKS5maW5kKCcuY2lyY3VsYXItYmFyLWNvbnRlbnQnKS5jc3MoJ2NvbG9yJyxjb2xvcik7DQogICAgICAgICAgICAgIC8vZWxtLnBhcmVudCgpLnBhcmVudCgpLmZpbmQoJy5jaXJjdWxhci1iYXItY29udGVudCAudHh0JykudGV4dChwZXJjKTsNCiAgICAgICAgICB9KTsNCg0KICAgICAgICAgIH0se2FjY1k6IDIwfSk7DQogICAgfQ0KCQ0KCQ0KCS8vUHJpY2UgUmFuZ2UgU2xpZGVyDQoJaWYoJCgnLnByaWNlLXJhbmdlLXNsaWRlcicpLmxlbmd0aCl7DQoJCSQoICIucHJpY2UtcmFuZ2Utc2xpZGVyIiApLnNsaWRlcih7DQoJCQlyYW5nZTogdHJ1ZSwNCgkJCW1pbjogMCwNCgkJCW1heDogOTAsDQoJCQl2YWx1ZXM6IFsgOCwgODUgXSwNCgkJCXNsaWRlOiBmdW5jdGlvbiggZXZlbnQsIHVpICkgew0KCQkJJCggImlucHV0LnByb3BlcnR5LWFtb3VudCIgKS52YWwoIHVpLnZhbHVlc1sgMCBdICsgIiAtICIgKyB1aS52YWx1ZXNbIDEgXSApOw0KCQkJfQ0KCQl9KTsNCgkJDQoJCSQoICJpbnB1dC5wcm9wZXJ0eS1hbW91bnQiICkudmFsKCAkKCAiLnByaWNlLXJhbmdlLXNsaWRlciIgKS5zbGlkZXIoICJ2YWx1ZXMiLCAwICkgKyAiIC0gJCIgKyAkKCAiLnByaWNlLXJhbmdlLXNsaWRlciIgKS5zbGlkZXIoICJ2YWx1ZXMiLCAxICkgKTsJDQoJfQ0KCQ0KCQ0KCS8vVGFicyBCb3gNCglpZigkKCcudGFicy1ib3gnKS5sZW5ndGgpew0KCQkkKCcudGFicy1ib3ggLnRhYi1idXR0b25zIC50YWItYnRuJykub24oJ2NsaWNrJywgZnVuY3Rpb24oZSkgew0KCQkJZS5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJdmFyIHRhcmdldCA9ICQoJCh0aGlzKS5hdHRyKCdkYXRhLXRhYicpKTsNCgkJCQ0KCQkJaWYgKCQodGFyZ2V0KS5pcygnOnZpc2libGUnKSl7DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfWVsc2V7DQoJCQkJdGFyZ2V0LnBhcmVudHMoJy50YWJzLWJveCcpLmZpbmQoJy50YWItYnV0dG9ucycpLmZpbmQoJy50YWItYnRuJykucmVtb3ZlQ2xhc3MoJ2FjdGl2ZS1idG4nKTsNCgkJCQkkKHRoaXMpLmFkZENsYXNzKCdhY3RpdmUtYnRuJyk7DQoJCQkJdGFyZ2V0LnBhcmVudHMoJy50YWJzLWJveCcpLmZpbmQoJy50YWJzLWNvbnRlbnQnKS5maW5kKCcudGFiJykuZmFkZU91dCgwKTsNCgkJCQl0YXJnZXQucGFyZW50cygnLnRhYnMtYm94JykuZmluZCgnLnRhYnMtY29udGVudCcpLmZpbmQoJy50YWInKS5yZW1vdmVDbGFzcygnYWN0aXZlLXRhYicpOw0KCQkJCSQodGFyZ2V0KS5mYWRlSW4oMzAwKTsNCgkJCQkkKHRhcmdldCkuYWRkQ2xhc3MoJ2FjdGl2ZS10YWInKTsNCgkJCX0NCgkJfSk7DQoJfQ0KCQ0KCQ0KCS8vU2luZ2xlIEl0ZW0gQ2Fyb3VzZWwNCglpZiAoJCgnLnNpbmdsZS1pdGVtLWNhcm91c2VsJykubGVuZ3RoKSB7DQoJCSQoJy5zaW5nbGUtaXRlbS1jYXJvdXNlbCcpLm93bENhcm91c2VsKHsNCgkJCWxvb3A6dHJ1ZSwNCgkJCW1hcmdpbjozMCwNCgkJCW5hdjp0cnVlLA0KCQkJc21hcnRTcGVlZDogNzAwLA0KCQkJYXV0b3BsYXk6IDUwMDAsDQoJCQluYXZUZXh0OiBbICc8c3BhbiBjbGFzcz0iZmEgZmEtYW5nbGUtbGVmdCI+PC9zcGFuPicsICc8c3BhbiBjbGFzcz0iZmEgZmEtYW5nbGUtcmlnaHQiPjwvc3Bhbj4nIF0sDQoJCQlyZXNwb25zaXZlOnsNCgkJCQkwOnsNCgkJCQkJaXRlbXM6MQ0KCQkJCX0sDQoJCQkJNDgwOnsNCgkJCQkJaXRlbXM6MQ0KCQkJCX0sDQoJCQkJDQoJCQkJNzY4OnsNCgkJCQkJaXRlbXM6MQ0KCQkJCX0sDQoJCQkJDQoJCQkJODAwOnsNCgkJCQkJaXRlbXM6MQ0KCQkJCX0sDQoJCQkJOTYwOnsNCgkJCQkJaXRlbXM6MQ0KCQkJCX0sDQoJCQkJMTAyNDp7DQoJCQkJCWl0ZW1zOjENCgkJCQl9DQoJCQl9DQoJCX0pOyAgICAJCQ0KCX0NCgkNCgkNCgkvL0hpc3RvcnkgSXRlbSBDYXJvdXNlbA0KCWlmICgkKCcuaGlzdG9yeS1jYXJvdXNlbCcpLmxlbmd0aCkgew0KCQkkKCcuaGlzdG9yeS1jYXJvdXNlbCcpLm93bENhcm91c2VsKHsNCgkJCWxvb3A6dHJ1ZSwNCgkJCW1hcmdpbjowLA0KCQkJbmF2OnRydWUsDQoJCQlzbWFydFNwZWVkOiA3MDAsDQoJCQlhdXRvcGxheTogNTAwMCwNCgkJCW5hdlRleHQ6IFsgJzxzcGFuIGNsYXNzPSJmYSBmYS1hbmdsZS1sZWZ0Ij48L3NwYW4+JywgJzxzcGFuIGNsYXNzPSJmYSBmYS1hbmdsZS1yaWdodCI+PC9zcGFuPicgXSwNCgkJCXJlc3BvbnNpdmU6ew0KCQkJCTA6ew0KCQkJCQlpdGVtczoxDQoJCQkJfSwNCgkJCQk0ODA6ew0KCQkJCQlpdGVtczoxDQoJCQkJfSwNCgkJCQkNCgkJCQk3Njg6ew0KCQkJCQlpdGVtczoxDQoJCQkJfSwNCgkJCQkNCgkJCQk4MDA6ew0KCQkJCQlpdGVtczoxDQoJCQkJfSwNCgkJCQk5NjA6ew0KCQkJCQlpdGVtczoxDQoJCQkJfSwNCgkJCQkxMDI0OnsNCgkJCQkJaXRlbXM6MQ0KCQkJCX0NCgkJCX0NCgkJfSk7ICAgIAkJDQoJfQ0KCQ0KCS8vRm91ciBJdGVtIENhcm91c2VsDQoJaWYgKCQoJy5mb3VyLWl0ZW0tY2Fyb3VzZWwnKS5sZW5ndGgpIHsNCgkJJCgnLmZvdXItaXRlbS1jYXJvdXNlbCcpLm93bENhcm91c2VsKHsNCgkJCWxvb3A6dHJ1ZSwNCgkJCW1hcmdpbjozMCwNCgkJCW5hdjp0cnVlLA0KCQkJc21hcnRTcGVlZDogNzAwLA0KCQkJYXV0b3BsYXk6IDUwMDAsDQoJCQluYXZUZXh0OiBbICc8c3BhbiBjbGFzcz0iZmEgZmEtYW5nbGUtbGVmdCI+PC9zcGFuPicsICc8c3BhbiBjbGFzcz0iZmEgZmEtYW5nbGUtcmlnaHQiPjwvc3Bhbj4nIF0sDQoJCQlyZXNwb25zaXZlOnsNCgkJCQkwOnsNCgkJCQkJaXRlbXM6MQ0KCQkJCX0sDQoJCQkJNDgwOnsNCgkJCQkJaXRlbXM6MQ0KCQkJCX0sDQoJCQkJNzY4OnsNCgkJCQkJaXRlbXM6Mg0KCQkJCX0sDQoJCQkJODAwOnsNCgkJCQkJaXRlbXM6Mg0KCQkJCX0sDQoJCQkJOTYwOnsNCgkJCQkJaXRlbXM6Mw0KCQkJCX0sDQoJCQkJMTAyNDp7DQoJCQkJCWl0ZW1zOjMNCgkJCQl9LA0KCQkJCTExMDA6ew0KCQkJCQlpdGVtczo0DQoJCQkJfQ0KCQkJfQ0KCQl9KTsNCgl9DQoJDQoJDQoJLy9Qcm9kdWN0IFRhYnMNCglpZigkKCcucHJvamVjdC10YWInKS5sZW5ndGgpew0KCQkkKCcucHJvamVjdC10YWIgLnByb2R1Y3QtdGFiLWJ0bnMgLnAtdGFiLWJ0bicpLm9uKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsNCgkJCWUucHJldmVudERlZmF1bHQoKTsNCgkJCXZhciB0YXJnZXQgPSAkKCQodGhpcykuYXR0cignZGF0YS10YWInKSk7DQoJCQkNCgkJCWlmICgkKHRhcmdldCkuaGFzQ2xhc3MoJ2FjdHZlLXRhYicpKXsNCgkJCQlyZXR1cm4gZmFsc2U7DQoJCQl9ZWxzZXsNCgkJCQkkKCcucHJvamVjdC10YWIgLnByb2R1Y3QtdGFiLWJ0bnMgLnAtdGFiLWJ0bicpLnJlbW92ZUNsYXNzKCdhY3RpdmUtYnRuJyk7DQoJCQkJJCh0aGlzKS5hZGRDbGFzcygnYWN0aXZlLWJ0bicpOw0KCQkJCSQoJy5wcm9qZWN0LXRhYiAucC10YWJzLWNvbnRlbnQgLnAtdGFiJykucmVtb3ZlQ2xhc3MoJ2FjdGl2ZS10YWInKTsNCgkJCQkkKHRhcmdldCkuYWRkQ2xhc3MoJ2FjdGl2ZS10YWInKTsNCgkJCX0NCgkJfSk7DQoJfQ0KCQ0KCQ0KCS8vU2VydmljZXMgQ2Fyb3VzZWwNCglpZiAoJCgnLnNlcnZpY2VzLWNhcm91c2VsJykubGVuZ3RoKSB7DQoJCSQoJy5zZXJ2aWNlcy1jYXJvdXNlbCcpLm93bENhcm91c2VsKHsNCgkJCWxvb3A6dHJ1ZSwNCgkJCW1hcmdpbjoxMCwNCgkJCW5hdjp0cnVlLA0KCQkJc21hcnRTcGVlZDogNzAwLA0KCQkJYXV0b3BsYXk6IDUwMDAsDQoJCQluYXZUZXh0OiBbICc8c3BhbiBjbGFzcz0iZmEgZmEtYW5nbGUtbGVmdCI+PC9zcGFuPicsICc8c3BhbiBjbGFzcz0iZmEgZmEtYW5nbGUtcmlnaHQiPjwvc3Bhbj4nIF0sDQoJCQlyZXNwb25zaXZlOnsNCgkJCQkwOnsNCgkJCQkJaXRlbXM6MQ0KCQkJCX0sDQoJCQkJNjAwOnsNCgkJCQkJaXRlbXM6MQ0KCQkJCX0sDQoJCQkJODAwOnsNCgkJCQkJaXRlbXM6MQ0KCQkJCX0sDQoJCQkJMTAyNDp7DQoJCQkJCWl0ZW1zOjENCgkJCQl9LA0KCQkJCTEyMDA6ew0KCQkJCQlpdGVtczoxDQoJCQkJfSwNCgkJCQkxNDAwOnsNCgkJCQkJaXRlbXM6MQ0KCQkJCX0NCgkJCX0NCgkJfSk7ICAgIAkJDQoJfQ0KCQ0KCQ0KCS8vUHJvZHVjdCBDYXJvdXNlbA0KCWlmICgkKCcucHJvamVjdC1jYXJvdXNlbCcpLmxlbmd0aCkgew0KCQkkKCcucHJvamVjdC1jYXJvdXNlbCcpLm93bENhcm91c2VsKHsNCgkJCWxvb3A6dHJ1ZSwNCgkJCW1hcmdpbjozMCwNCgkJCW5hdjp0cnVlLA0KCQkJc21hcnRTcGVlZDogNzAwLA0KCQkJYXV0b3BsYXk6IDUwMDAsDQoJCQluYXZUZXh0OiBbICc8c3BhbiBjbGFzcz0iZmEgZmEtYW5nbGUtbGVmdCI+PC9zcGFuPicsICc8c3BhbiBjbGFzcz0iZmEgZmEtYW5nbGUtcmlnaHQiPjwvc3Bhbj4nIF0sDQoJCQlyZXNwb25zaXZlOnsNCgkJCQkwOnsNCgkJCQkJaXRlbXM6MQ0KCQkJCX0sDQoJCQkJNjAwOnsNCgkJCQkJaXRlbXM6Mg0KCQkJCX0sDQoJCQkJODAwOnsNCgkJCQkJaXRlbXM6Mw0KCQkJCX0sDQoJCQkJMTAyNDp7DQoJCQkJCWl0ZW1zOjMNCgkJCQl9LA0KCQkJCTEyMDA6ew0KCQkJCQlpdGVtczo0DQoJCQkJfSwNCgkJCQkxNDAwOnsNCgkJCQkJaXRlbXM6NQ0KCQkJCX0NCgkJCX0NCgkJfSk7ICAgIAkJDQoJfQ0KCQ0KCQ0KCS8vVHdvIEl0ZW0gQ2Fyb3VzZWwNCglpZiAoJCgnLnR3by1pdGVtLWNhcm91c2VsJykubGVuZ3RoKSB7DQoJCSQoJy50d28taXRlbS1jYXJvdXNlbCcpLm93bENhcm91c2VsKHsNCgkJCWxvb3A6dHJ1ZSwNCgkJCW1hcmdpbjozMCwNCgkJCW5hdjp0cnVlLA0KCQkJc21hcnRTcGVlZDogNzAwLA0KCQkJYXV0b3BsYXk6IDUwMDAsDQoJCQluYXZUZXh0OiBbICc8c3BhbiBjbGFzcz0iZmEgZmEtYW5nbGUtbGVmdCI+PC9zcGFuPicsICc8c3BhbiBjbGFzcz0iZmEgZmEtYW5nbGUtcmlnaHQiPjwvc3Bhbj4nIF0sDQoJCQlyZXNwb25zaXZlOnsNCgkJCQkwOnsNCgkJCQkJaXRlbXM6MQ0KCQkJCX0sDQoJCQkJNDgwOnsNCgkJCQkJaXRlbXM6MQ0KCQkJCX0sDQoJCQkJNjAwOnsNCgkJCQkJaXRlbXM6MQ0KCQkJCX0sDQoJCQkJODAwOnsNCgkJCQkJaXRlbXM6Mg0KCQkJCX0sDQoJCQkJMTAyNDp7DQoJCQkJCWl0ZW1zOjINCgkJCQl9LA0KCQkJCTExMDA6ew0KCQkJCQlpdGVtczoyDQoJCQkJfQ0KCQkJfQ0KCQl9KTsgICAgCQkNCgl9DQoJDQoJDQoJLy9BY2NvcmRpb24gQm94DQoJaWYoJCgnLmFjY29yZGlvbi1ib3gnKS5sZW5ndGgpew0KCQkkKCIuYWNjb3JkaW9uLWJveCIpLm9uKCdjbGljaycsICcuYWNjLWJ0bicsIGZ1bmN0aW9uKCkgew0KCQkJDQoJCQl2YXIgb3V0ZXJCb3ggPSAkKHRoaXMpLnBhcmVudHMoJy5hY2NvcmRpb24tYm94Jyk7DQoJCQl2YXIgdGFyZ2V0ID0gJCh0aGlzKS5wYXJlbnRzKCcuYWNjb3JkaW9uJyk7DQoJCQkNCgkJCWlmKCQodGhpcykuaGFzQ2xhc3MoJ2FjdGl2ZScpIT09dHJ1ZSl7DQoJCQkJJChvdXRlckJveCkuZmluZCgnLmFjY29yZGlvbiAuYWNjLWJ0bicpLnJlbW92ZUNsYXNzKCdhY3RpdmUnKTsNCgkJCX0NCgkJCQ0KCQkJaWYgKCQodGhpcykubmV4dCgnLmFjYy1jb250ZW50JykuaXMoJzp2aXNpYmxlJykpew0KCQkJCXJldHVybiBmYWxzZTsNCgkJCX1lbHNlew0KCQkJCSQodGhpcykuYWRkQ2xhc3MoJ2FjdGl2ZScpOw0KCQkJCSQob3V0ZXJCb3gpLmNoaWxkcmVuKCcuYWNjb3JkaW9uJykucmVtb3ZlQ2xhc3MoJ2FjdGl2ZS1ibG9jaycpOw0KCQkJCSQob3V0ZXJCb3gpLmZpbmQoJy5hY2NvcmRpb24nKS5jaGlsZHJlbignLmFjYy1jb250ZW50Jykuc2xpZGVVcCgzMDApOw0KCQkJCXRhcmdldC5hZGRDbGFzcygnYWN0aXZlLWJsb2NrJyk7DQoJCQkJJCh0aGlzKS5uZXh0KCcuYWNjLWNvbnRlbnQnKS5zbGlkZURvd24oMzAwKTsJDQoJCQl9DQoJCX0pOwkNCgl9DQoJDQoJDQoJLy9KcXVlcnkgU3Bpbm5lciAvIFF1YW50aXR5IFNwaW5uZXINCglpZigkKCcucXVhbnRpdHktc3Bpbm5lcicpLmxlbmd0aCl7DQoJCSQoImlucHV0LnF1YW50aXR5LXNwaW5uZXIiKS5Ub3VjaFNwaW4oew0KCQkgIHZlcnRpY2FsYnV0dG9uczogdHJ1ZQ0KCQl9KTsNCgl9DQoJDQoNCgkNCgkvL1ByaWNlIFJhbmdlIFNsaWRlcg0KCWlmKCQoJy5wcmljZS1yYW5nZS1zbGlkZXInKS5sZW5ndGgpew0KCQkkKCAiLnByaWNlLXJhbmdlLXNsaWRlciIgKS5zbGlkZXIoew0KCQkJcmFuZ2U6IHRydWUsDQoJCQltaW46IDAsDQoJCQltYXg6IDkwLA0KCQkJdmFsdWVzOiBbIDgsIDg1IF0sDQoJCQlzbGlkZTogZnVuY3Rpb24oIGV2ZW50LCB1aSApIHsNCgkJCSQoICJpbnB1dC5wcm9wZXJ0eS1hbW91bnQiICkudmFsKCB1aS52YWx1ZXNbIDAgXSArICIgLSAiICsgdWkudmFsdWVzWyAxIF0gKTsNCgkJCX0NCgkJfSk7DQoJCQ0KCQkkKCAiaW5wdXQucHJvcGVydHktYW1vdW50IiApLnZhbCggJCggIi5wcmljZS1yYW5nZS1zbGlkZXIiICkuc2xpZGVyKCAidmFsdWVzIiwgMCApICsgIiAtICQiICsgJCggIi5wcmljZS1yYW5nZS1zbGlkZXIiICkuc2xpZGVyKCAidmFsdWVzIiwgMSApICk7CQ0KCX0NCgkNCg0KCS8vR2FsbGVyeSBGaWx0ZXJzDQoJaWYoJCgnLmZpbHRlci1saXN0JykubGVuZ3RoKXsNCgkJJCgnLmZpbHRlci1saXN0JykubWl4SXRVcCh7fSk7DQoJfQ0KCQ0KCS8vTGlnaHRCb3ggLyBGYW5jeWJveA0KCWlmKCQoJy5saWdodGJveC1pbWFnZScpLmxlbmd0aCkgew0KCQkkKCcubGlnaHRib3gtaW1hZ2UnKS5mYW5jeWJveCh7DQoJCQlvcGVuRWZmZWN0ICA6ICdmYWRlJywNCgkJCWNsb3NlRWZmZWN0IDogJ2ZhZGUnLA0KCQkJaGVscGVycyA6IHsNCgkJCQltZWRpYSA6IHt9DQoJCQl9DQoJCX0pOw0KCX0NCgkNCgkNCgkvL0NvbnRhY3QgRm9ybSBWYWxpZGF0aW9uDQoJaWYoJCgnI2NvbnRhY3QtZm9ybScpLmxlbmd0aCl7DQoJCSQoJyNjb250YWN0LWZvcm0nKS52YWxpZGF0ZSh7DQoJCQlydWxlczogew0KCQkJCXVzZXJuYW1lOiB7DQoJCQkJCXJlcXVpcmVkOiB0cnVlDQoJCQkJfSwNCgkJCQllbWFpbDogew0KCQkJCQlyZXF1aXJlZDogdHJ1ZSwNCgkJCQkJZW1haWw6dHJ1ZQ0KCQkJCX0sDQoJCQkJc3ViamVjdDogew0KCQkJCQlyZXF1aXJlZDogdHJ1ZSwNCgkJCQl9LA0KCQkJCW1lc3NhZ2U6IHsNCgkJCQkJcmVxdWlyZWQ6IHRydWUNCgkJCQl9DQoJCQl9DQoJCX0pOw0KCX0NCgkNCgkNCgkvLyBTY3JvbGwgdG8gYSBTcGVjaWZpYyBEaXYNCglpZigkKCcuc2Nyb2xsLXRvLXRhcmdldCcpLmxlbmd0aCl7DQoJCSQoIi5zY3JvbGwtdG8tdGFyZ2V0Iikub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQoJCQl2YXIgdGFyZ2V0ID0gJCh0aGlzKS5hdHRyKCdkYXRhLXRhcmdldCcpOw0KCQkgICAvLyBhbmltYXRlDQoJCSAgICQoJ2h0bWwsIGJvZHknKS5hbmltYXRlKHsNCgkJCSAgIHNjcm9sbFRvcDogJCh0YXJnZXQpLm9mZnNldCgpLnRvcA0KCQkJIH0sIDEwMDApOw0KCQ0KCQl9KTsNCgl9DQoJDQoJDQoJLy8gRWxlbWVudHMgQW5pbWF0aW9uDQoJaWYoJCgnLndvdycpLmxlbmd0aCl7DQoJCXZhciB3b3cgPSBuZXcgV09XKA0KCQkgIHsNCgkJCWJveENsYXNzOiAgICAgJ3dvdycsICAgICAgLy8gYW5pbWF0ZWQgZWxlbWVudCBjc3MgY2xhc3MgKGRlZmF1bHQgaXMgd293KQ0KCQkJYW5pbWF0ZUNsYXNzOiAnYW5pbWF0ZWQnLCAvLyBhbmltYXRpb24gY3NzIGNsYXNzIChkZWZhdWx0IGlzIGFuaW1hdGVkKQ0KCQkJb2Zmc2V0OiAgICAgICAwLCAgICAgICAgICAvLyBkaXN0YW5jZSB0byB0aGUgZWxlbWVudCB3aGVuIHRyaWdnZXJpbmcgdGhlIGFuaW1hdGlvbiAoZGVmYXVsdCBpcyAwKQ0KCQkJbW9iaWxlOiAgICAgICBmYWxzZSwgICAgICAgLy8gdHJpZ2dlciBhbmltYXRpb25zIG9uIG1vYmlsZSBkZXZpY2VzIChkZWZhdWx0IGlzIHRydWUpDQoJCQlsaXZlOiAgICAgICAgIHRydWUgICAgICAgLy8gYWN0IG9uIGFzeW5jaHJvbm91c2x5IGxvYWRlZCBjb250ZW50IChkZWZhdWx0IGlzIHRydWUpDQoJCSAgfQ0KCQkpOw0KCQl3b3cuaW5pdCgpOw0KCX0NCg0KLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiAgIFdoZW4gZG9jdW1lbnQgaXMgU2Nyb2xsaWcsIGRvDQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLw0KCQ0KCSQod2luZG93KS5vbignc2Nyb2xsJywgZnVuY3Rpb24oKSB7DQoJCWhlYWRlclN0eWxlKCk7DQoJfSk7DQoJDQovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICAgV2hlbiBkb2N1bWVudCBpcyBsb2FkZWQsIGRvDQogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLw0KCQ0KCSQod2luZG93KS5vbignbG9hZCcsIGZ1bmN0aW9uKCkgew0KCQloYW5kbGVQcmVsb2FkZXIoKTsNCgl9KTsJDQoNCn0pKHdpbmRvdy5qUXVlcnkpOw=="}},"time_used":78,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":77,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/fonts/flaticon.woff","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.869Z","timestamp":1785123231869,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /fonts/flaticon.woff HTTP/1.1\r\nHost: agilitetrade.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/css/flaticon.css\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\r\nSec-Fetch-Dest: font\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":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: font/woff\r\nlast-modified: Wed, 22 Apr 2026 21:44:13 GMT\r\naccept-ranges: bytes\r\ncontent-length: 32196\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":32196,"size_decoded":32462,"mime_type":"font/woff","magic":"Web Open Font Format, TrueType, length 32196, version 0.0","md5":"ff74573bf3ee0ee1885eafe9db12c590","sha1":"966d4dbb1b2cb2247ca2e4d74bc9432bb182ebc4","sha256":"8d04840f16c16a7f7b4729ad24dd98e0afc944e0801bd82b635cb6133d87592f","sha512":"9f8122e12086d6a5b29ba69ef57b66762d17c40a6ce6905fc81980baeb96c8f4b42e9109ef8e9b4b5faaebbd60e70ab29971aa64605fb89aec60f9aeb9f10ae9","ssdeep":"768:L/31D9bLx4E6u+z8fhuTAz9yxJdot+Qzd9GoVl8cADq3N3EyGNuLAGGr:LfHx4E6uvJOv1yRyW3N3EOq","tlshash":"6be2f1243d80a66dd7a2b1fb4be3fc6477989998c457c2e7b3064605e020c9393da8a9","first_seen":"2024-12-04T10:10:15.849239Z","last_seen":"2026-07-27T05:05:33.564238Z","times_seen":14,"resource_available":false,"data":"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"}},"time_used":29,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":29,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/images/resource/curve-2.png","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.917Z","timestamp":1785123231917,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /images/resource/curve-2.png HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/css/style.css\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: image/png\r\nlast-modified: Wed, 22 Apr 2026 21:44:12 GMT\r\naccept-ranges: bytes\r\ncontent-length: 2315\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":2315,"size_decoded":2580,"mime_type":"image/png","magic":"PNG image data, 114 x 85, 8-bit/color RGBA, non-interlaced","md5":"ab1b511db176edef9517c6c2efb67915","sha1":"8ab14285fae6045692499f9047821c375c22c805","sha256":"ca9b4212d09e2341ce4e11af985f89d98170959e922aaf639dfee429f0c18d2a","sha512":"c80c3b83dd685f7cb5baa4bef9df9e17bfe9cc7a352e064ebf7e92bf1da6e6550b2fd5df6587f7cd3f1bfa84df1be41d3c4ea05189d6990053fcda5ccd9a77a3","ssdeep":"","tlshash":"a641089ceb1c3680e64ebc9638ed1461582679d0cda0e0b6754f86220a758a13c5adeb","first_seen":"2025-10-05T03:57:22.076778Z","last_seen":"2026-07-27T05:05:33.736648Z","times_seen":10,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAHIAAABVCAYAAACVdLDzAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3FpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDphOGE1ODRiYy1hOGIyLWUzNDQtYTM2Ny05OGNhMGFiM2NkZDgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QkI4Mjk5MzMwNEQ2MTFFODk3ODhDNjFERjVCNDZBNEEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QkI4Mjk5MzIwNEQ2MTFFODk3ODhDNjFERjVCNDZBNEEiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOmIwNDc4NzM3LTA4NjktYWQ0Yy1iYTdiLWQ5MDU0OTQ1YTJkNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDphOGE1ODRiYy1hOGIyLWUzNDQtYTM2Ny05OGNhMGFiM2NkZDgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4GdHDLAAAFMElEQVR42uyde1PjVgzFlUCME5MYso+23//DddrtwubtJNiuNRzN1bj80W5h1wpHMxqH8Br8Q0cPX1+P2rbNReSXzm8633T+u9DC2bjzY+fbztvOZ51POx/x1MQD2QKkAr3qfI4jLRhItVPnO7wuILO0gCAtKhXopPNbymtMkAJp3QDqLXIlLSBIgbyeXK685imKCdKi0nLljKcoJsgWII+IxgUr2Jgg1c6drzqvEZEsfIKCtFx5wGuNyoynKibIMyS26TxHVNICgrSo3EJWSwClxAYEqdG4doVPyXYkJkhBnly7IQElNihIa0cOaENY+AQFqfbU+TccdZh+x94yJkgrfGzio/Ja8NTFBGkSW7nCZ8LTFw+koHpVidWJzxQSO+YpjAfSotIudS2E47uQIA2mzmH3KHhsUEALBlLt5CQ2p8TGBdmiil3h4zlkljCDgTRbSVqwpVHJi9BBQdp1S5VanfbcC6c+IUEKip4H15IshVOfkCCtJVlJGqyXhBkPpG9JNvh5pfAqSUiQli8f5Xn6M0G+ZH8ZEKQA4ld5vkqiRc9H4a0HIUEK2pFHwJwhMjlcDwjSFz8NhgUKk/PYYCBF0oXoDQAuAJOTn2AgBX2l9pdb/I57RCcjMxhIX8naep8lopMWDKQAolaydt/lkj1mTJBqOsb7y/WY2pYUlNnXtR+14HgHcEv0lh/c+7QgEWltydb1mDlg8q7oYCAN5ho501YXfCLMeCDN1mhNzoBpOZMWIEf2I9MmPyavzJkBQQog2rLKj05mCTOQtHqYa7QmKrN6xeSzcAIUKiL7OVPQmmSQWZ0EfSOeWCAFrUkDmc0AdQyYDTHFAdkgN9aAOe1F5pmohpsjX6pmdTb7RdLeBfeSpkG0ICDNKgwNbGVe6SpbFkEDl9a+2fofldwFBgYTvLeHBNMGHpFmT2hNHnrtCXcXCQbS8uYjgFYofj7AuagrgLT2bYOoXEJmSye1R7YosRZEaUT+IeneTF1u+Rty6DVBxrIaMmvLRxTgJ0jtDUHGshZR+aekAbtKrT675Fbe6bLLyH/0HlLrVx38+l4HCNH/e61FUT/g71ligDBn1RrP1qhqFwBYoO/M5Z3Mai+p2jugANLjnaQdR6aAub3kNuXSyvZa0h6zJSJUgX4G0BU+1xJkDLNZrY9O29xpI+mpQwQZJDq3GCTcoTW5gc8QuRcjt5c+EWlR6HxBu2KF0AxACye3NUHGsB2A7ZE7ZwA7hdzu8DmCDNJ32tbetvWabfZUAOQKX1cTZAy5fejJbQYvXIQeCDKGVZIe7Gb7z9p9nIWkLcAHH6G80v4coRXaka2LUKtwF4C5h7cEOWxrAKoCONuE3zaAmkt6DsoRUUqQAYAeEKH2xL4MMGeAbVXuiSCHL7kWoWsnuTmOBSLTgJ9+ZpQS5L+LUIX0FcBuADVzebSUNEWyFfM1QQ7XjoC6gcTOXB6dS9rm9AC3Imr01kUSQX6f5IrrM9cOau760dK1Nzv0rkeCHK7sHuE6EZpKmuFOADbvQa3g9WvmVIJ8XagWpQY1fwHqHF9rF8L3iNb2/+RVgnwboILiZwfpnUB6MwC+krSm6A6RWQGoHZv/ApYg3z6fnuA7AL120WmV75WklX91D+zRRaytPfpH8USQP9bO8ANg5A5sBtBZD2zjcnHt4DZ4rdDHBPlzo9WA2sb+Fp0vgS3c940A8MmAEuRw2hkrgCy/jgB27Fqaa/feWNwDAAhy2IArvN47XmMnvWO8NyHIWOb7Totehdr8LcAAx+eH+LItProAAAAASUVORK5CYII="}},"time_used":29,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":29,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"www.cryptohopper.com/widgets/js/script?_=1785123232107","fqdn":"www.cryptohopper.com","domain":"cryptohopper.com","tld":"com"},"ip":{"addr":"172.66.153.21","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:52.173Z","timestamp":1785123232173,"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":"cryptohopper.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 30 May 2026 04:15:50 GMT","end":"Fri, 28 Aug 2026 05:15:20 GMT"},"fingerprint":{"sha1":"76:C3:06:CF:AB:6D:33:4E:AE:DF:C4:54:C2:1D:03:D4:CF:1B:9C:A3","sha256":"10:12:9C:D7:A2:4D:11:94:F2:85:64:80:13:42:3F:4D:AF:06:BA:15:05:A8:C2:4D:43:D3:AB:5A:DE:02:6E:BA"}}},"request":{"raw":"GET /widgets/js/script?_=1785123232107 HTTP/1.1\r\nHost: www.cryptohopper.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://agilitetrade.com/\r\nCookie: widgets_csrf_cookie_name=c05588fb9c82dab23afba686b9a973b9; ci_session=cto3o5dhrgcl50up7to7u584adbmu7e7\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\ncontent-type: application/javascript; charset=UTF-8\r\ndate: Mon, 27 Jul 2026 03:33:52 GMT\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nserver: cloudflare\r\nx-frame-options: SAMEORIGIN\r\nx-xss-protection: 1; mode=block\r\naccess-control-allow-origin: *\r\nset-cookie: widgets_csrf_cookie_name=c05588fb9c82dab23afba686b9a973b9; expires=Mon, 27-Jul-2026 05:33:52 GMT; Max-Age=7200; path=/; domain=.cryptohopper.com; secure\nci_session=49p6c8hhj3rtnbeuba52dha8oqafiv0j; expires=Mon, 27-Jul-2026 05:33:52 GMT; Max-Age=7200; path=/; domain=.cryptohopper.com; secure; HttpOnly\r\nexpires: Thu, 19 Nov 1981 08:52:00 GMT\r\ncache-control: no-store, no-cache, must-revalidate\r\npragma: no-cache\r\ncontent-security-policy: default-src 'self' *.cryptohopper.com *.cryptohopper.tech *.candletrader.app *.hotjar.io *.hotjar.com; object-src 'self' *.cryptohopper.com *.cryptohopper.tech partners.liquid.com *.candletrader.app widget.changelly.com *.intercom.io *.intercomcdn.com *.posthog.com cdn.paddle.com; script-src 'self' 'unsafe-inline' 'unsafe-eval' static.tradingview.com *.candletrader.app *.cryptohopper.com *.cryptohopper.tech *.posthog.com eu-assets.i.posthog.com *.intercom.io *.intercomcdn.com ajax.googleapis.com cdnjs.cloudflare.com static.cloudflareinsights.com *.shopifycdn.com *.myshopify.com sortablejs.github.io cdn.paddle.com www.googletagmanager.com *.hotjar.com *.hotjar.io cdn.jsdelivr.net optimize.google.com partners.liquid.com widget.changelly.com s0.2mdn.net unpkg.com wchat.freshchat.com cryptohopper.webchat.freshchat.com cdn.plyr.io cointelegraph.com s3.tradingview.com connect.facebook.net d.adroll.mgr.consensu.org d.adroll.com s.adroll.com cdn4.mxpnl.com ssl.google-analytics.com bat.bing.com s3.amazonaws.com platform.twitter.com cdn.syndication.twimg.com cryptohopper.us17.list-manage.com ajax.cloudflare.com www.gstatic.com js.stripe.com www.google-analytics.com www.googleadservices.com www.youtube.com www.google.com googleads.g.doubleclick.net static.doubleclick.net cdn.segment.com fast.appcues.com www.googleanalytics.com www.googleoptimize.com assets.customer.io code.gist.build; connect-src 'self' www.tradingview.com *.candletrader.app *.posthog.com *.shopifycdn.com *.intercom.io *.cryptohopper.com *.cryptohopper.tech *.intercomcdn.com *.myshopify.com *.shopify.com *.cryptohopper.tech *.hotjar.com track-eu.customer.io *.api.gist.build *.cloud.gist.build ws: *.cryptohopper.com *.cryptohopper.tech stats.g.doubleclick.net cdn.paddle.com api.appcues.net fast.appcues.com api.segment.io *.google-analytics.com *.analytics.google.com widget.changelly.com api.cointelegraph.com wchat.freshchat.com *.hotjar.com *.hotjar.io saveload.tradingview.com cdn.plyr.io cdn4.mxpnl.com; img-src 'self' blob: data: *.cryptohopper.com *.cryptohopper.tech www.google.ie *.candletrader.app *.posthog.com *.coingecko.com *.intercomassets.com *.intercom.io *.intercomcdn.com *.shopifycdn.com cdn.shopify.com *.hotjar.com cdn.paddle.com cdn.jsdelivr.net img.youtube.com *.giphy.com res.cloudinary.com appleid.apple.com sync.taboola.com widget.changelly.com assets.coingecko.com stats.g.doubleclick.net www.google.nl dsum-sec.casalemedia.com ups.analytics.yahoo.com pixel.advertising.com pixel.rubiconproject.com sync.outbrain.com image2.pubmatic.com ads.yahoo.com trc.taboola.com eb2.3lift.com x.bidswitch.net idsync.rlcdn.com pixel.tapad.com cm.g.doubleclick.net us-u.openx.net assetscdn-wchat.freshchat.com s.adroll.com d.adroll.com ib.adnxs.com cdn-images.mailchimp.com cdn4.mxpnl.com s3.tradingview.com bat.bing.com chart.googleapis.com pbs.twimg.com abs.twimg.com syndication.twitter.com q.stripe.com www.google.com googleads.g.doubleclick.net i.ytimg.com cdn.plyr.io *.google-analytics.com *.analytics.google.com www.facebook.com maxcdn.bootstrapcdn.com www.googletagmanager.com optimize.google.com track-eu.customer.io data:; style-src 'self' 'unsafe-inline' *.cryptohopper.com *.cryptohopper.tech *.candletrader.app *.intercom.io *.intercomcdn.com *.shopifycdn.com cdn.shopify.com *.hotjar.com fast.appcues.com cdn.paddle.com unpkg.com cdnjs.cloudflare.com widget.changelly.com assetscdn-wchat.freshchat.com wchat.freshchat.com stats.g.doubleclick.net cdn-images.mailchimp.com s3.tradingview.com cdn.plyr.io fonts.googleapis.com maxcdn.bootstrapcdn.com platform.twitter.com www.youtube.com optimize.google.com fonts.googleapis.com code.gist.build; font-src 'self' *.cryptohopper.com *.cryptohopper.tech *.candletrader.app *.hotjar.com *.shopifycdn.com *.intercom.io *.intercomcdn.com *.myshopify.com *.shopify.com cdn.paddle.com cdn-images.mailchimp.com widget.changelly.com s3.tradingview.com fonts.googleapis.com maxcdn.bootstrapcdn.com fonts.gstatic.com; frame-src 'self' static.cryptohopper.com *.candletrader.app *.intercom.io *.posthog.com *.intercom-sheets.com intercom-sheets.com *.intercomcdn.com *.tradingview-widget.com buy.paddle.com *.shopifycdn.com *.myshopify.com *.shopify.com cdn.paddle.com create-checkout.paddle.com widget.changelly.com plugin.partners.liquid.com *.hotjar.com cryptohopper.webpush.freshchat.com wchat.freshchat.com js.stripe.com *.sumsub.com renderer.gist.build code.gist.build data: *.cryptohopper.com *.cryptohopper.tech coin360.com coins.gourl.io platform.twitter.com www.emjcd.com cj.dotomi.com www.facebook.com cdn4.mxpnl.com www.youtube.com www.tradingview.com discordapp.com s3.tradingview.com s.tradingview.com googleads.g.doubleclick.net www.google.com www.google.nl optimize.google.com; media-src 'self' blob: *.cryptohopper.com *.cryptohopper.tech *.candletrader.app res.cloudinary.com *.intercom.io *.intercomcdn.com *.shopifycdn.com *.myshopify.com *.shopify.com cdn.paddle.com widget.changelly.com s3.tradingview.com cdn.plyr.io; child-src 'self' *.cryptohopper.com *.candletrader.app *.cryptohopper.tech *.intercom.io *.intercomcdn.com cdn.paddle.com *.shopifycdn.com *.myshopify.com *.shopify.com widget.changelly.com plugin.partners.liquid.com www.youtube.com; form-action *;\r\nx-cache: Miss from cloudfront\r\nvia: 1.1 2f1d504785a7b18c010970da2bd4ab8c.cloudfront.net (CloudFront)\r\nx-amz-cf-pop: OSL50-P3\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-amz-cf-id: -xwT5mfzAknlDqr5SukWHAsFQTwoNjuNNiSSLxEq83VyaQ2bLcADhQ==\r\ncf-cache-status: DYNAMIC\r\ncontent-encoding: br\r\npriority: u=3,i=?0\r\ncf-ray: a21895c91c885684-OSL\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Amazon CloudFront","description":"Amazon CloudFront is a fast content delivery network (CDN) service that securely delivers data, videos, applications, and APIs to customers globally with low latency, high transfer speeds.","website":"https://aws.amazon.com/cloudfront/","common_platform_enumeration":"","icon":"Amazon Cloudfront.svg","categories":["CDN"]},{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"Amazon S3","description":"Amazon S3 or Amazon Simple Storage Service is a service offered by Amazon Web Services (AWS) that provides object storage through a web service interface.","website":"https://aws.amazon.com/s3/","common_platform_enumeration":"","icon":"Amazon S3.svg","categories":["CDN"]},{"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":26729,"size_decoded":15864,"mime_type":"application/javascript; charset=UTF-8","magic":"JavaScript source, ASCII text, with very long lines (574)","md5":"8499c3b86de4df25542c2f9f78d8a79c","sha1":"3942a2674cb09241e3598eb3d6403e3d2c2b09ff","sha256":"d67aaeb25ce9e34bdc18b2d3ba099086b1c3e5f3cda04edebcb14f826e5a78e4","sha512":"2a7103879757369f94970215e8e1d51255a567118cdefa1147396499dfe093175ddd63b579e790d1df3d4c2dd4ff4043ebeccd917124c6635654adf928d6daba","ssdeep":"768:DPFqnpKxIFoN7jGS9yp8TaA/ME0pwKfID8gXATtIpEmR7/7Scrni6NFDjdmyXRs0:RqnpKxIFoN7jGoaAUEyTOPncyXRsYxuK","tlshash":"54c20919f640b4bb027762aab43f5316326779e676020450a06dd9f17efcd882337f6a","first_seen":"2023-03-08T06:37:48Z","last_seen":"2026-07-27T05:16:33.138468Z","times_seen":585,"resource_available":true,"data":"dmFyIG1jcCA9IHsidXJsIjoiaHR0cHM6Ly93d3cuY3J5cHRvaG9wcGVyLmNvbS93aWRnZXRzIiwiYWpheF91cmwiOiJodHRwczovL3d3dy5jcnlwdG9ob3BwZXIuY29tL3dpZGdldHMvd2lkZ2V0cy9hamF4IiwibnVtZm9ybWF0IjoiVVMifTsKdGhpcy5kZXBwfHxmdW5jdGlvbihmLHUpe2RlcHA9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGwsZCl7dmFyIHE9ZnVuY3Rpb24gdChuLHYpe3Y9dnx8W107dmFyIHg9W10sej1bXTtyZXR1cm4gbi5mb3JFYWNoKGZ1bmN0aW9uKEEpe2lmKDA8PXYuaW5kZXhPZihBKSl0aHJvdyBFcnJvcigiRGVwcCBFcnJvcjogQ2lyY3VsYXIgcmVmZXJlbmNlIik7aWYoIShBIGluIGIpKXJldHVybiB4LnB1c2goIiMiK0EpO2JbQV0uZm9yRWFjaChmdW5jdGlvbihCKXtpZigiIyI9PUJbMF0pe3ZhciB5PXYuc2xpY2UoKTt5LnB1c2goQSk7eT10KFtCLnNsaWNlKDEpXSx5KTt4PXguY29uY2F0KHlbMF0pO3o9ei5jb25jYXQoeVsxXSl9ZWxzZSB6LnB1c2goQil9KX0pLFt4LHpdfShsKTtxWzBdLmxlbmd0aD9jKHFbMF0sZnVuY3Rpb24oKXthKGwsZCl9KTpkKHFbMV0pfWZ1bmN0aW9uIGMobCxkKXt2YXIgcSx3LG49bC5sZW5ndGgsdj1uO2lmKDA9PW4pcmV0dXJuIGQoKTtmb3IocT1mdW5jdGlvbih0LHgpe2lmKHgpcmV0dXJuIGQodCk7Ci0tdnx8ZCgpfTtuLS07KSh3PWxbbl0paW4gaD9xKHcsaFt3XSk6KG1bd109bVt3XXx8W10pLnB1c2gocSl9ZnVuY3Rpb24gZyhsLGQpe3ZhciBxPW1bbF07aWYoaFtsXT1kLHEpZm9yKDtxLmxlbmd0aDspcVswXShsLGQpLHEuc3BsaWNlKDAsMSl9dmFyIGU9e30saz1mdW5jdGlvbigpe30sYj17fSxtPXt9LGg9e30scj17fSxwPXt9O3JldHVybiBlLmRlZmluZT1mdW5jdGlvbihsKXt2YXIgZDtmb3IoZCBpbiBsKXtpZihkIGluIGIpdGhyb3cgRXJyb3IoIkRlcHAgRXJyb3I6IEJ1bmRsZSBhbHJlYWR5IGRlZmluZWQiKTt2YXIgcT1sW2RdO2JbZF09cS5wdXNoP3E6W3FdO2coIiMiK2QpfX0sZS5jb25maWc9ZnVuY3Rpb24obCl7Zm9yKHZhciBkIGluIGwpcFtkXT1sW2RdfSxlLnJlcXVpcmU9ZnVuY3Rpb24obCxkLHEpe2EobD1sLnB1c2g/bDpbbF0sZnVuY3Rpb24odyl7Yyh3LGZ1bmN0aW9uKG4pe24/KHF8fGspKG4pOihkfHxrKSgpfSk7dy5mb3JFYWNoKGZ1bmN0aW9uKG4pe3ZhciB2LAp0LHgseixBO24gaW4gcnx8KHJbbl09ITAseD1kb2N1bWVudCx6PXAuYmVmb3JlfHxrLEE9bi5yZXBsYWNlKC9eKGNzc3xpbWcpIS8sIiIpLC8oXmNzcyF8XC5jc3MkKS8udGVzdChuKT8odj0hMCwodD14LmNyZWF0ZUVsZW1lbnQoImxpbmsiKSkucmVsPSJzdHlsZXNoZWV0Iix0LmhyZWY9QSk6LyheaW1nIXxcLihwbmd8Z2lmfGpwZ3xzdmcpJCkvLnRlc3Qobik/KHQ9eC5jcmVhdGVFbGVtZW50KCJpbWciKSkuc3JjPUE6KCh0PXguY3JlYXRlRWxlbWVudCgic2NyaXB0IikpLnNyYz1uLHQuYXN5bmM9ITEpLHQub25sb2FkPXQub25lcnJvcj10Lm9uYmVmb3JlbG9hZD1mdW5jdGlvbihCKXt2YXIgeT1CLnR5cGVbMF07aWYodiYmImhpZGVGb2N1cyJpbiB0KXRyeXt0LnNoZWV0LmNzc1RleHQubGVuZ3RofHwoeT0iZSIpfWNhdGNoKEMpezE4IT1DLmNvZGUmJih5PSJlIil9aWYoImIiPT15KXtpZighQi5kZWZhdWx0UHJldmVudGVkKXJldHVybjt5PSJlIn1nKG4sImUiPT15KX0seihuLHQpLAp4LmhlYWQuYXBwZW5kQ2hpbGQodCkpfSl9KX0sZS5kb25lPWZ1bmN0aW9uKGwpe2JbbF09W107ZygiIyIrbCl9LGUuaXNEZWZpbmVkPWZ1bmN0aW9uKGwpe3JldHVybiBsIGluIGJ9LGUucmVzZXQ9ZnVuY3Rpb24oKXtiPXt9O209e307aD17fTtyPXt9O3A9e319LGV9KCk7KHU9Zi5jcmVhdGVFdmVudCgiSFRNTEV2ZW50cyIpKS5pbml0RXZlbnQ/dS5pbml0RXZlbnQoImRlcHAtbG9hZCIsITEsITEpOnU9bmV3IEV2ZW50KCJkZXBwLWxvYWQiKTtmLmRpc3BhdGNoRXZlbnQodSl9KGRvY3VtZW50KTtmdW5jdGlvbiBhZGRDb21tYXMoZil7dmFyIHU9IlVTIj09PW1jcC5udW1mb3JtYXQ/Ii4iOiIsIixhPSJVUyI9PT1tY3AubnVtZm9ybWF0PyIsIjoiLiIsYz0oZisiIikuc3BsaXQoIi4iKTtmPWNbMF07dT0xPGMubGVuZ3RoP3UrY1sxXToiIjtmb3IoYz0vKFxkKykoXGR7M30pLztjLnRlc3QoZik7KWY9Zi5yZXBsYWNlKGMsIiQxIithKyIkMiIpO3JldHVybiBmK3V9CmZ1bmN0aW9uIGhleDJyZ2IoZil7Zj1mLnJlcGxhY2UoIiMiLCIiKTszPT09Zi5sZW5ndGgmJihmPWZbMF0rZlswXStmWzFdK2ZbMV0rZlsyXStmWzJdKTt2YXIgdT1wYXJzZUludChmLnN1YnN0cmluZygwLDIpLDE2KSxhPXBhcnNlSW50KGYuc3Vic3RyaW5nKDIsNCksMTYpO2Y9cGFyc2VJbnQoZi5zdWJzdHJpbmcoNCw2KSwxNik7cmV0dXJuIGlzTmFOKHUpfHxpc05hTihhKXx8aXNOYU4oZik/RXJyb3IoIkludmFsaWQgSGV4Iik6dSsiLCIrYSsiLCIrZn0KZnVuY3Rpb24gY29tbWFyaXplKGYsdSl7IjEiPT11P2Zvcm1hdHM9WyIgVCIsIiBCIiwiIE0iLCIgSyJdOiIyIj09dSYmKGZvcm1hdHM9WyIgVHJpbGxpb24iLCIgQmlsbGlvbiIsIiBNaWxsaW9uIiwiVGhvdXNhbmQiXSk7cmV0dXJuIjMiIT11PzFFMTU8PU1hdGguYWJzKE51bWJlcihmKS50b0ZpeGVkKDIpKT8oTWF0aC5hYnMoTnVtYmVyKGYpKS8xRTEyKS50b0ZpeGVkKDIpK2Zvcm1hdHNbMF06MUU5PD1NYXRoLmFicyhOdW1iZXIoZikpPyhNYXRoLmFicyhOdW1iZXIoZikpLzFFOSkudG9GaXhlZCgyKStmb3JtYXRzWzFdOjFFNjw9TWF0aC5hYnMoTnVtYmVyKGYpKT8oTWF0aC5hYnMoTnVtYmVyKGYpKS8xRTYpLnRvRml4ZWQoMikrZm9ybWF0c1syXToxRTM8PU1hdGguYWJzKE51bWJlcihmKSk/KE1hdGguYWJzKE51bWJlcihmKSkvMUUzKS50b0ZpeGVkKDIpK2Zvcm1hdHNbM106YWRkQ29tbWFzKE1hdGguYWJzKE51bWJlcihmKSkpOmFkZENvbW1hcyhNYXRoLmFicyhOdW1iZXIoZikpLnRvRml4ZWQoMCkpfQpmdW5jdGlvbiByZ2IyaGV4KGYpe3JldHVybihmPWYubWF0Y2goL15yZ2JhP1tccytdP1woW1xzK10/KFxkKylbXHMrXT8sW1xzK10/KFxkKylbXHMrXT8sW1xzK10/KFxkKylbXHMrXT8vaSkpJiY0PT09Zi5sZW5ndGg/IiMiKygiMCIrcGFyc2VJbnQoZlsxXSwxMCkudG9TdHJpbmcoMTYpKS5zbGljZSgtMikrKCIwIitwYXJzZUludChmWzJdLDEwKS50b1N0cmluZygxNikpLnNsaWNlKC0yKSsoIjAiK3BhcnNlSW50KGZbM10sMTApLnRvU3RyaW5nKDE2KSkuc2xpY2UoLTIpOiIifWZ1bmN0aW9uIGlzQnJpZ2h0bmVzcyhmKXt2YXIgdT1yZ2IyaGV4KGYuY3NzKCJiYWNrZ3JvdW5kLWNvbG9yIikpO3U9cGFyc2VJbnQodS5zdWJzdHJpbmcoMSksMTYpOzUwPi4yMTI2Kih1Pj4xNiYyNTUpKy43MTUyKih1Pj44JjI1NSkrLjA3MjIqKHU+PjAmMjU1KSYmZi5hZGRDbGFzcygiaW52ZXJ0LWFjdCIpfQpmdW5jdGlvbiByZWFsdGltZVVwZGF0ZSgpe3ZhciBmPWpRdWVyeSgnW2RhdGEtcmVhbHRpbWU9Im9uIl0nKTtpZigidW5kZWZpbmVkIj09PXR5cGVvZiB3aW5kb3cuc29ja2V0JiYwPGYubGVuZ3RoKXt2YXIgdT1bXTtmLmZpbmQoIltkYXRhLWxpdmUtcHJpY2VdIikuZWFjaChmdW5jdGlvbigpe3UucHVzaChqUXVlcnkodGhpcykuZGF0YSgibGl2ZS1wcmljZSIpKX0pO3U9dS5maWx0ZXIoZnVuY3Rpb24oYSxjKXtyZXR1cm4gdS5pbmRleE9mKGEpPT1jfSk7dS5sZW5ndGgmJih3aW5kb3cuc29ja2V0PW5ldyBXZWJTb2NrZXQoIndzczovL3dzLmNvaW5jYXAuaW8vcHJpY2VzP2Fzc2V0cz0iK3Uuam9pbigiLCIpKSx3aW5kb3cuc29ja2V0LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGZ1bmN0aW9uKGEpe3RyYWRlTXNnPUpTT04ucGFyc2UoYS5kYXRhKTtmb3IodmFyIGMgaW4gdHJhZGVNc2cpZi5maW5kKCdbZGF0YS1saXZlLXByaWNlPSInK2MrJyJdJykuZWFjaChmdW5jdGlvbigpe2pRdWVyeSh0aGlzKS5yZWFsVGltZSh0cmFkZU1zZ1tjXSl9KX0pKX19CnZhciBkb21haW49InN0YXRpYy5jcnlwdG9ob3BwZXIuY29tIjsKZGVwcC5kZWZpbmUoe2pxdWVyeTpbImh0dHBzOi8vIitkb21haW4rIi93aWRnZXRzL2Fzc2V0cy9wdWJsaWMvanMvanF1ZXJ5LTMuMy4xLm1pbi5qcyJdLGNzczpbImh0dHBzOi8vIitkb21haW4rIi93aWRnZXRzL2Fzc2V0cy9wdWJsaWMvY3NzL3N0eWxlLmNzcyJdLGNoYXJ0anM6WyJodHRwczovLyIrZG9tYWluKyIvd2lkZ2V0cy9hc3NldHMvcHVibGljL2pzL0NoYXJ0Lm1pbi5qcyJdLGRhdGF0YWJsZTpbImh0dHBzOi8vIitkb21haW4rIi93aWRnZXRzL2Fzc2V0cy9wdWJsaWMvY3NzL2pxdWVyeS5kYXRhVGFibGVzLm1pbi5jc3MiLCJodHRwczovL3N0YXRpYy5jcnlwdG9ob3BwZXIuY29tL3dpZGdldHMvYXNzZXRzL3B1YmxpYy9qcy9qcXVlcnkuZGF0YVRhYmxlcy5taW4uanMiLCJodHRwczovL3N0YXRpYy5jcnlwdG9ob3BwZXIuY29tL3dpZGdldHMvYXNzZXRzL3B1YmxpYy9qcy9kYXRhVGFibGVzLnJlc3BvbnNpdmUubWluLmpzIl0sZWNoYXJ0czpbImh0dHBzOi8vIitkb21haW4rCiIvd2lkZ2V0cy9hc3NldHMvcHVibGljL2pzL0NoYXJ0cy5taW4uanMiXSxib3VudHk6WyJodHRwczovLyIrZG9tYWluKyIvd2lkZ2V0cy9hc3NldHMvcHVibGljL2pzL2JvdW50eS5taW4uanMiXSx2aXNpYmlsaXR5Y2hhbmdlZDpbImh0dHBzOi8vIitkb21haW4rIi93aWRnZXRzL2Fzc2V0cy9wdWJsaWMvanMvanF1ZXJ5LnZpc2liaWxpdHljaGFuZ2VkLm1pbi5qcyJdLHNlbGVjdGl6ZTpbImh0dHBzOi8vIitkb21haW4rIi93aWRnZXRzL2Fzc2V0cy9wdWJsaWMvanMvc2VsZWN0aXplLm1pbi5qcyJdfSk7d2luZG93LmpRdWVyeSYmZGVwcC5kb25lKCJqcXVlcnkiKTsKZGVwcC5yZXF1aXJlKFsianF1ZXJ5IiwiY3NzIl0sZnVuY3Rpb24oKXtyZWFsdGltZVVwZGF0ZSgpO2pRdWVyeS5mbi5pbWFnZXNMb2FkZWQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmZpbmQoJ2ltZ1tzcmMhPSIiXScpO2lmKCFhLmxlbmd0aClyZXR1cm4galF1ZXJ5LkRlZmVycmVkKCkucmVzb2x2ZSgpLnByb21pc2UoKTt2YXIgYz1bXTthLmVhY2goZnVuY3Rpb24oKXt2YXIgZz1qUXVlcnkuRGVmZXJyZWQoKTtjLnB1c2goZyk7dmFyIGU9bmV3IEltYWdlO2Uub25sb2FkPWZ1bmN0aW9uKCl7Zy5yZXNvbHZlKCl9O2Uub25lcnJvcj1mdW5jdGlvbigpe2cucmVzb2x2ZSgpfTtlLnNyYz10aGlzLnNyY30pO3JldHVybiBqUXVlcnkud2hlbi5hcHBseShqUXVlcnksYyl9O2pRdWVyeS5mbi5leHRlbmQoe2FuaW1hdGVDc3M6ZnVuY3Rpb24oYSxjKXt2YXIgZz1mdW5jdGlvbihlKXt2YXIgaz17YW5pbWF0aW9uOiJhbmltYXRpb25lbmQiLE9BbmltYXRpb246Im9BbmltYXRpb25FbmQiLE1vekFuaW1hdGlvbjoibW96QW5pbWF0aW9uRW5kIiwKV2Via2l0QW5pbWF0aW9uOiJ3ZWJraXRBbmltYXRpb25FbmQifSxiO2ZvcihiIGluIGspaWYodm9pZCAwIT09ZS5zdHlsZVtiXSlyZXR1cm4ga1tiXX0oZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpO3RoaXMuYWRkQ2xhc3MoIm1jdy1hbmltYXRlZCAiK2EpLm9uZShnLGZ1bmN0aW9uKCl7alF1ZXJ5KHRoaXMpLnJlbW92ZUNsYXNzKCJtY3ctYW5pbWF0ZWQgIithKTsiZnVuY3Rpb24iPT09dHlwZW9mIGMmJmMoKX0pO3JldHVybiB0aGlzfX0pO2pRdWVyeS5mbi5yZWFsVGltZT1mdW5jdGlvbihhKXt2YXIgYz1wYXJzZUZsb2F0KGpRdWVyeSh0aGlzKS5kYXRhKCJyYXRlIikqYSksZz0xPD1jPzI6MUUtNj5jPzg6NjtqUXVlcnkodGhpcykuZmluZCgic3BhbiIpLmh0bWwoYWRkQ29tbWFzKGMudG9GaXhlZChnKSkpO2E+cGFyc2VGbG9hdChqUXVlcnkodGhpcykuYXR0cigiZGF0YS1wcmljZSIpKSYmalF1ZXJ5KHRoaXMpLmFuaW1hdGVDc3MoImxpdmV1cCIpO2E8cGFyc2VGbG9hdChqUXVlcnkodGhpcykuYXR0cigiZGF0YS1wcmljZSIpKSYmCmpRdWVyeSh0aGlzKS5hbmltYXRlQ3NzKCJsaXZlZG93biIpO2pRdWVyeSh0aGlzKS5hdHRyKCJkYXRhLXByaWNlIixhKX07alF1ZXJ5LmZuLmludmVydGFibGU9ZnVuY3Rpb24oKXtpc0JyaWdodG5lc3MoalF1ZXJ5KHRoaXMpKTt2YXIgYT0iZXRoZXJldW0gcmlwcGxlIGlvdGEgZW9zIDB4IGJhbmNvciBkZW50YWNvaW4gYmlib3gtdG9rZW4gbWVkaXNoYXJlcyBzYW50aW1lbnQgcXVhbnRzdGFtcCByYWlkZW4tbmV0d29yay10b2tlbiBwaWxsYXIgcmVwdWJsaWMtcHJvdG9jb2wgbWV0YWwgZWlkb28gY3JlZG8gYmxhY2ttb29uIGNvdmVzdGluZyBzaGl2b20gc3VuY29udHJhY3QgbnVtZXJhaXJlIGRhb3N0YWNrIGJpdGRlZ3JlZSBtYXRyeXggZmFjZXRlciBpbnRlcm54dCBjcnlwdG9waW5nIGludmFjaW8gY2hhaW5pdW0gY3JlYXRpdmVjb2luIHRyZXphcmNvaW4gZWxjb2luLWVsIGplc3VzLWNvaW4gbW9qb2NvaW4gZ2FwY29pbiBwcmltZS14aSBzcGVlZGNhc2ggdmVsdG9yIGxvb3ByaW5nLW5lbyBmcmFuY3MiLnNwbGl0KCIgIik7CmpRdWVyeSh0aGlzKS5maW5kKCJpbWciKS5lYWNoKGZ1bmN0aW9uKCl7LTE8YS5qb2luKCItIikudG9Mb3dlckNhc2UoKS5pbmRleE9mKGpRdWVyeSh0aGlzKS5hdHRyKCJhbHQiKS50b0xvd2VyQ2FzZSgpKSYmalF1ZXJ5KHRoaXMpLmFkZENsYXNzKCJpbnZlcnRhYmxlIil9KX07alF1ZXJ5KCIubWN3LWRhcmstdGhlbWUsLm1jdy1taWRuaWdodC10aGVtZSwubWN3LWN1c3RvbS10aGVtZSwubWN3LXRhYmxlLmRhcmsiKS5lYWNoKGZ1bmN0aW9uKCl7alF1ZXJ5KHRoaXMpLmludmVydGFibGUoKX0pO2pRdWVyeS5mbi5pblZpZXc9ZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkod2luZG93KTtvYmo9alF1ZXJ5KHRoaXMpO3ZhciBjPWEuc2Nyb2xsVG9wKCk7YT1hLnNjcm9sbFRvcCgpK2EuaGVpZ2h0KCk7dmFyIGc9b2JqLm9mZnNldCgpLnRvcCtvYmoub3V0ZXJIZWlnaHQoKTtyZXR1cm4gYT49ZyYmYzw9Zz8hMDohMX07alF1ZXJ5LmZuLmRyYXdDaGFydD1mdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTsKZGVwcC5yZXF1aXJlKCJjaGFydGpzIixmdW5jdGlvbigpe3ZhciBjPWEuZGF0YSgicmF0ZSIpP2EuZGF0YSgicmF0ZSIpOjEsZz1hLmRhdGEoImZpYXQiKT9hLmRhdGEoImZpYXQiKToiJCIsZT1hLmRhdGEoImNvbG9yIiksaz1wYXJzZUludChhLmRhdGEoImdyYWRpZW50IikpLGI9cGFyc2VJbnQoYS5kYXRhKCJib3JkZXIiKSksbT1wYXJzZUZsb2F0KGEuZGF0YSgib3BhY2l0eSIpKSxoPWEuZGF0YSgicG9pbnRzIikuc3BsaXQoIiwiKS5zbGljZSgwLDI0KTtoPWgubWFwKGZ1bmN0aW9uKHApe3A9cGFyc2VGbG9hdChwKSpjO3JldHVybiBwLnRvRml4ZWQoMTw9cD8yOjFFLTY+cD84OjYpfSk7cj1yP3I6ZTtpZigwPT09ayl2YXIgcj0icmdiYSgiK2UrIiwiK20rIikiO2Vsc2Ugcj1hWzBdLmdldENvbnRleHQoIjJkIikuY3JlYXRlTGluZWFyR3JhZGllbnQoMCwwLDAsayksci5hZGRDb2xvclN0b3AoMCwicmdiYSgiK2UrIiwwLjMpIiksci5hZGRDb2xvclN0b3AoMSwicmdiYSgiK2UrCiIsMCkiKTtlPXtsYWJlbHM6aCxkYXRhc2V0czpbe2RhdGE6aCxmaWxsOiEwLGJhY2tncm91bmRDb2xvcjpyLGJvcmRlckNvbG9yOiJyZ2IoIitlKyIpIixwb2ludEJvcmRlckNvbG9yOiJyZ2IoIitlKyIpIixsaW5lVGVuc2lvbjouMjUscG9pbnRSYWRpdXM6MCxib3JkZXJXaWR0aDpifV19O25ldyBDaGFydChhWzBdLmdldENvbnRleHQoIjJkIikse3R5cGU6ImxpbmUiLGRhdGE6ZSxvcHRpb25zOnthbmltYXRpb246e2R1cmF0aW9uOjUwMH0sbGVnZW5kOntkaXNwbGF5OiExfSxzY2FsZXM6e3hBeGVzOlt7ZGlzcGxheTohMX1dLHlBeGVzOlt7ZGlzcGxheTohMX1dfSx0b29sdGlwczp7bW9kZToiaW5kZXgiLGludGVyc2VjdDohMSxkaXNwbGF5Q29sb3JzOiExLGNhbGxiYWNrczp7bGFiZWw6ZnVuY3Rpb24ocCxsKXtyZXR1cm4gZysiICIrYWRkQ29tbWFzKHBhcnNlRmxvYXQocC54TGFiZWwpKX0sdGl0bGU6ZnVuY3Rpb24ocCxsKXtyZXR1cm4hMX19fSxob3Zlcjp7bW9kZToibmVhcmVzdCIsCmludGVyc2VjdDohMH0sbWFpbnRhaW5Bc3BlY3RSYXRpbzohMX19KX0pfTtqUXVlcnkuZm4ubWN3QWNjb3JkaW9uPWZ1bmN0aW9uKCl7dGhpcy5maW5kKCIubWN3LWxpc3QtaXRlbTplcSgwKSIpLmFkZENsYXNzKCJhY3RpdmUiKS5maW5kKCIubWN3LWxpc3QtYm9keSIpLnNsaWRlRG93bigpO3RoaXMuZmluZCgiLm1jdy1saXN0LWhlYWRlciIpLmNsaWNrKGZ1bmN0aW9uKCl7alF1ZXJ5KHRoaXMpLnBhcmVudHMoIi5tY3ctbGlzdCIpLmZpbmQoIi5tY3ctbGlzdC1pdGVtIikubm90KGpRdWVyeSh0aGlzKS5wYXJlbnQoKSkucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpLmZpbmQoIi5tY3ctbGlzdC1ib2R5Iikuc2xpZGVVcCgpO2pRdWVyeSh0aGlzKS5wYXJlbnQoKS50b2dnbGVDbGFzcygiYWN0aXZlIik7alF1ZXJ5KHRoaXMpLm5leHQoIi5tY3ctbGlzdC1ib2R5Iikuc2xpZGVUb2dnbGUoKX0pfTtqUXVlcnkoZG9jdW1lbnQpLm9uKCJtY3ciLCIubWN3LXRhYmxlIixmdW5jdGlvbigpe3ZhciBhPQpqUXVlcnkodGhpcyksYz1hLmZpbmQoIi5tY3ctZGF0YXRhYmxlIik7ZGVwcC5yZXF1aXJlKCJkYXRhdGFibGUiLGZ1bmN0aW9uKCl7alF1ZXJ5LmZuLmRhdGFUYWJsZUV4dC5vUGFnaW5hdGlvbi5pbmZvX2J1dHRvbnM9e2ZuSW5pdDpmdW5jdGlvbihiLG0saCl7dmFyIHI9Yi5faURpc3BsYXlTdGFydCsxKyIgLSAiK2IuZm5EaXNwbGF5RW5kKCkrIiBvZiAiK2IuZm5SZWNvcmRzRGlzcGxheSgpLHA9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpLGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO3AuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoYi5vTGFuZ3VhZ2Uub1BhZ2luYXRlLnNQcmV2aW91cykpO2QuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoYi5vTGFuZ3VhZ2Uub1BhZ2luYXRlLnNOZXh0KSk7bC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShyKSk7CnAuY2xhc3NOYW1lPSJwYWdpbmF0ZV9idXR0b24gcHJldmlvdXMiO2QuY2xhc3NOYW1lPSJwYWdpbmF0ZV9idXR0b24gbmV4dCI7bC5jbGFzc05hbWU9InBhZ2luYXRlX2J1dHRvbiBpbmZvIjttLmFwcGVuZENoaWxkKHApO20uYXBwZW5kQ2hpbGQobCk7bS5hcHBlbmRDaGlsZChkKTtqUXVlcnkocCkuY2xpY2soZnVuY3Rpb24oKXtiLm9BcGkuX2ZuUGFnZUNoYW5nZShiLCJwcmV2aW91cyIpO2goYil9KTtqUXVlcnkoZCkuY2xpY2soZnVuY3Rpb24oKXtiLm9BcGkuX2ZuUGFnZUNoYW5nZShiLCJuZXh0Iik7aChiKX0pO2pRdWVyeShwKS5iaW5kKCJzZWxlY3RzdGFydCIsZnVuY3Rpb24oKXtyZXR1cm4hMX0pO2pRdWVyeShkKS5iaW5kKCJzZWxlY3RzdGFydCIsZnVuY3Rpb24oKXtyZXR1cm4hMX0pfSxmblVwZGF0ZTpmdW5jdGlvbihiLG0pe2lmKGIuYWFuRmVhdHVyZXMucClmb3IodmFyIGg9Yi5hYW5GZWF0dXJlcy5wLHI9MCxwPWgubGVuZ3RoO3I8cDtyKyspe3ZhciBsPWhbcl0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNwYW4iKTsKbFsxXS5pbm5lclRleHQ9Yi5faURpc3BsYXlTdGFydCsxKyIgLSAiK2IuZm5EaXNwbGF5RW5kKCkrIiBvZiAiK2IuZm5SZWNvcmRzRGlzcGxheSgpOzA9PT1iLl9pRGlzcGxheVN0YXJ0P2xbMF0uY2xhc3NOYW1lPSJwYWdpbmF0ZV9idXR0b24gcHJldmlvdXMgZGlzYWJsZWQiOmxbMF0uY2xhc3NOYW1lPSJwYWdpbmF0ZV9idXR0b24gcHJldmlvdXMgZW5hYmxlZCI7Yi5mbkRpc3BsYXlFbmQoKT09Yi5mblJlY29yZHNEaXNwbGF5KCk/bFsyXS5jbGFzc05hbWU9InBhZ2luYXRlX2J1dHRvbiBuZXh0IGRpc2FibGVkIjpsWzJdLmNsYXNzTmFtZT0icGFnaW5hdGVfYnV0dG9uIG5leHQgZW5hYmxlZCJ9fX07dmFyIGc9W10sZT1bXTtjLmZpbmQoInRoZWFkIHRoIikuZWFjaChmdW5jdGlvbihiKXt2YXIgbT1qUXVlcnkodGhpcykuZGF0YSgiY29sIik7ZS5wdXNoKG0pO2cucHVzaCh7ZGF0YTptLG5hbWU6bSxyZW5kZXI6ZnVuY3Rpb24oaCxyLHAsbCl7aWYodm9pZCAwPT09bC5zZXR0aW5ncy5qc29uKXJldHVybiBoOwpzd2l0Y2gobSl7Y2FzZSAicmFuayI6cmV0dXJuIGg7Y2FzZSAibmFtZSI6cmV0dXJuIHI9JzxkaXYgY2xhc3M9ImNvaW4iPjxkaXYgY2xhc3M9ImNvaW4taW1hZ2UiPjxpbWcgc3JjPSInK3AuaW1nKyciIHN0eWxlPSJtYXgtaGVpZ2h0OiAzNXB4OyIgYWx0PSInK3Auc2x1ZysnIj48L2Rpdj4nLHI9cC5saW5rP3IrKCc8YSBocmVmPSInK3AubGluaysnIiBjbGFzcz0iY29pbi10aXRsZSI+PGRpdiBjbGFzcz0iY29pbi1uYW1lIj4nK2grJzwvZGl2PjxkaXYgY2xhc3M9ImNvaW4tc3ltYm9sIj4nK3Auc3ltYm9sKyI8L2Rpdj48L2E+Iik6cisoJzxkaXYgY2xhc3M9ImNvaW4tdGl0bGUiPjxkaXYgY2xhc3M9ImNvaW4tbmFtZSI+JytoKyc8L2Rpdj48ZGl2IGNsYXNzPSJjb2luLXN5bWJvbCI+JytwLnN5bWJvbCsiPC9kaXY+PC9kaXY+IikscisiPC9kaXY+IjtjYXNlICJwcmljZV91c2QiOnI9cGFyc2VGbG9hdChwLmN1cnJhdGUqaCk7bD0xPD1yPzI6MUUtNj5yPzg6Njt2YXIgZD1wLm5hbWUuc3BsaXQoIiAiKS5qb2luKCItIik7CmQ9ZC50b0xvd2VyQ2FzZSgpO3JldHVybic8c3BhbiBkYXRhLWxpdmUtcHJpY2U9IicrZCsnIiBkYXRhLXJhdGU9IicrcC5jdXJyYXRlKyciIGRhdGEtcHJpY2U9IicraCsnIj4nK3AuY3J5cHRvZmlhdCsiICIrYWRkQ29tbWFzKHIudG9GaXhlZChsKSkrIjwvc3Bhbj4iO2Nhc2UgInByaWNlX2J0YyI6cmV0dXJuIlx1MDI0MyAiK2g7Y2FzZSAibWFya2V0X2NhcF91c2QiOnJldHVybiBoKj1wLmN1cnJhdGUscC5jcnlwdG9maWF0KyIgIitjb21tYXJpemUoaCxwLnByaWNlZm9ybWF0KTtjYXNlICJ2b2x1bWVfdXNkXzI0aCI6cmV0dXJuIGgqPXAuY3VycmF0ZSxoPWNvbW1hcml6ZShoLHAucHJpY2Vmb3JtYXQpLHAuY3J5cHRvZmlhdCsiICIraDtjYXNlICJhdmFpbGFibGVfc3VwcGx5IjpyZXR1cm4gY29tbWFyaXplKGgscC5wcmljZWZvcm1hdCk7Y2FzZSAicGVyY2VudF9jaGFuZ2VfMjRoIjpyZXR1cm4nPHNwYW4gY2xhc3M9IicrKDA8PWg/InVwIjoiZG93biIpKyciPicraCsiJTwvc3Bhbj4iOwpjYXNlICJ3ZWVrbHkiOnJldHVybic8dGQ+PGNhbnZhcyB3aWR0aD0iMTM1IiBoZWlnaHQ9IjQwIiBkYXRhLXJhdGU9IicrcC5jdXJyYXRlKyciIGRhdGEtZmlhdD0iJytwLmNyeXB0b2ZpYXQrJyIgZGF0YS1jb2xvcj0iJytjLmRhdGEoImNoYXJ0Y29sb3IiKSsnIiBkYXRhLWdyYWRpZW50PSI1MCIgZGF0YS1ib3JkZXI9IjIiIGRhdGEtcG9pbnRzPSInK2guam9pbigiLCIpKyciPjwvY2FudmFzPjwvdGQ+JztkZWZhdWx0OnJldHVybiBofX19KX0pO3ZhciBrPWMuRGF0YVRhYmxlKHtkZXN0cm95OiEwLGJEZXN0cm95OiEwLGRvbToncjwibG9hZGVyIj48ImRhdGF0YWJsZS1zY3JvbGwidD48ImxvYWRlciI+PCJkYXRhVGFibGVzLWZvb3RlciJscD48ImNsZWFyIj4nLG9yZGVyOltdLHNjcm9sbENvbGxhcHNlOiEwLHBhZ2luZ1R5cGU6ImluZm9fYnV0dG9ucyIscmVzcG9uc2l2ZTp7ZGV0YWlsczp7dHlwZTo0ODA+YS53aWR0aCgpPyJjb2x1bW4iOiJpbmxpbmUiLHRhcmdldDoidHIifX0sCnBhZ2VMZW5ndGg6cGFyc2VJbnQoYy5kYXRhKCJsZW5ndGgiKSksbGVuZ3RoTWVudTpbcGFyc2VJbnQoYy5kYXRhKCJsZW5ndGgiKSksMTAsMjUsNTAsMTAwXS5zb3J0KGZ1bmN0aW9uKGIsbSl7cmV0dXJuIGItbX0pLmZpbHRlcihmdW5jdGlvbihiLG0saCl7cmV0dXJuIGguaW5kZXhPZihiKT09PW19KSxjb2x1bW5zOmcscHJvY2Vzc2luZzohMCxzZXJ2ZXJTaWRlOiEwLGRlZmVyTG9hZGluZzpwYXJzZUludChjLmRhdGEoInRvdGFsIikpLGNvbHVtbkRlZnM6W3t0YXJnZXRzOiJjb2wtbmFtZSIsY2xhc3NOYW1lOiJjdHJsIHRleHQtbGVmdCBhbGwifSx7dGFyZ2V0czoiY29sLXJhbmsiLGNsYXNzTmFtZToidGV4dC1sZWZ0IG1pbi10YWJsZXQtcCIsd2lkdGg6IjIwcHgifSx7dGFyZ2V0czoiY29sLXByaWNlX3VzZCIsY2xhc3NOYW1lOiJhbGwifSx7dGFyZ2V0czoiY29sLXdlZWtseSIsd2lkdGg6IjE5MHB4IiwibWF4LXdpZHRoIjoiMTkwcHgiLGNsYXNzTmFtZToiY2hhcnQtd3JhcHBlciJ9XSwKZHJhd0NhbGxiYWNrOmZ1bmN0aW9uKGIpe2MuZmluZCgiY2FudmFzIikuZWFjaChmdW5jdGlvbigpe2pRdWVyeSh0aGlzKS5kcmF3Q2hhcnQoKX0pO2I9Yy5wYXJlbnRzKCIuY3J5cHRvYm94ZXMiKS5kYXRhKCJyZWFsdGltZSIpOyJ1bmRlZmluZWQiIT09dHlwZW9mIHdpbmRvdy5zb2NrZXQmJiJvbiI9PT1iJiZ3aW5kb3cuc29ja2V0LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGZ1bmN0aW9uKG0pe3ZhciBoPUpTT04ucGFyc2UobS5kYXRhKTtjLmZpbmQoJ1tkYXRhLWxpdmUtcHJpY2U9IicraC5iYXNlKyciXScpLmVhY2goZnVuY3Rpb24oKXtqUXVlcnkodGhpcykucmVhbFRpbWUoaCl9KX0pO2pRdWVyeSgiLm1jdy10YWJsZS5kYXJrIikuZWFjaChmdW5jdGlvbigpe2pRdWVyeSh0aGlzKS5pbnZlcnRhYmxlKCl9KX0sYWpheDp7dXJsOm1jcC5hamF4X3VybCxkYXRhOnthY3Rpb246Im1jd190YWJsZSIsZHluYW1pYzphLmF0dHIoImRhdGEtZHluYW1pYyIpLG1jd19pZDphLmF0dHIoImlkIikuc3BsaXQoIi0iKVsxXX19LApsYW5ndWFnZTp7cHJvY2Vzc2luZzoiIixsZW5ndGhNZW51OiJDb2lucyBwZXIgcGFnZTogX01FTlVfIn19KTtrLm9uKCJyZXNwb25zaXZlLXJlc2l6ZSIsZnVuY3Rpb24oYixtLGgpe3ZhciByPWhbMF0/MDoxO2MuZmluZCgidHIgdGQiKS5yZW1vdmVDbGFzcygiY3RybCIpO2MuZmluZCgidGJvZHkgdHIiKS5lYWNoKGZ1bmN0aW9uKCl7alF1ZXJ5KHRoaXMpLmZpbmQoInRkIikuZXEocikuYWRkQ2xhc3MoImN0cmwiKX0pO2MucmVtb3ZlQ2xhc3MoImR0ci1jb2x1bW4gZHRyLWlubGluZSIpO2MuYWRkQ2xhc3MoWyJkdHItaW5saW5lIiwiZHRyLWNvbHVtbiJdW3JdKX0pO2sub24oInByb2Nlc3NpbmcuZHQiLGZ1bmN0aW9uKGIsbSxoKXtoPyhiPWEuZmluZCgidGhlYWQiKS5pblZpZXcoKT8wOjEsYS5maW5kKCIubG9hZGVyIikuZXEoYikuc2hvdygpKTphLmZpbmQoIi5sb2FkZXIiKS5oaWRlKCl9KTtrLm9uKCJyZXNwb25zaXZlLWRpc3BsYXkiLGZ1bmN0aW9uKGIpe2pRdWVyeShiLmN1cnJlbnRUYXJnZXQpLmZpbmQoInRkLmNoaWxkIGNhbnZhcyIpLnBhcmVudCgpLmFkZENsYXNzKCJjaGFydC13cmFwcGVyIik7CmpRdWVyeShiLmN1cnJlbnRUYXJnZXQpLmZpbmQoInRkLmNoaWxkIGNhbnZhcyIpLmVhY2goZnVuY3Rpb24oKXtqUXVlcnkodGhpcykuZHJhd0NoYXJ0KCl9KX0pfSl9KTtqUXVlcnkoZG9jdW1lbnQpLm9uKCJtY3ciLCIubWN3LWNoYXJ0IixmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTtkZXBwLnJlcXVpcmUoWyJlY2hhcnRzIiwidmlzaWJpbGl0eWNoYW5nZWQiXSxmdW5jdGlvbigpe2Z1bmN0aW9uIGMoZCl7Yi5wZXJpb2Q9ZDtrLnRpdGxlLnN1YnRleHQ9cltiLnBlcmlvZF07ZSgpfWZ1bmN0aW9uIGcoZCl7Yi5jb2luPSJNSU9UQSI9PWIuY29pbj8iSU9UIjpiLmNvaW47dmFyIHE9Imh0dHBzOi8vbWluLWFwaS5jcnlwdG9jb21wYXJlLmNvbS9kYXRhLyIrKCJkYXkiPT09Yi5wZXJpb2R8fCJ3ZWVrIj09PWIucGVyaW9kPyJoaXN0b2hvdXIiOiJoaXN0b2RheSIpO3ErPSI/ZnN5bT0iK2IuY29pbisiJnRzeW09IitiLmN1cnJlbmN5O3ErPSImbGltaXQ9IitoW2IucGVyaW9kXSsKIiZhZ2dyZWdhdGU9MSZleHRyYVBhcmFtcz1tYXNzaXZlY3J5cHRvIjt2YXIgdz0ibWN3LSIrYi5jb2luLnRvTG93ZXJDYXNlKCkrIi0iK2IuY3VycmVuY3kudG9Mb3dlckNhc2UoKSsiLSIrYi5wZXJpb2Q7aWYobnVsbD09PXNlc3Npb25TdG9yYWdlLmdldEl0ZW0odyl8fCIiPT1zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHcpKWpRdWVyeS5nZXQocSxmdW5jdGlvbihuKXtzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKHcsSlNPTi5zdHJpbmdpZnkobikpO3JldHVybiBkKG4pfSwianNvbiIpO2Vsc2UgcmV0dXJuIHE9SlNPTi5wYXJzZShzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHcpKSxkKHEpfWZ1bmN0aW9uIGUoKXtsLnNob3dMb2FkaW5nKCJkZWZhdWx0Iix7dGV4dDoiIixjb2xvcjptLnRpdGxlQ29sb3IsbWFza0NvbG9yOm0uYmFja2dyb3VuZENvbG9yfSk7ZyhmdW5jdGlvbihkKXt2YXIgcT1bXSx3PVtdLG49W107Zm9yKGk9MDtpPGQuRGF0YS5sZW5ndGg7aSsrKXt2YXIgdj1uZXcgRGF0ZSgxRTMqCmQuRGF0YVtpXS50aW1lKTtpZigiZGF5Ij09Yi5wZXJpb2Qpe3ZhciB0PXBbdi5nZXRNb250aCgpXSsiICI7dmFyIHg9djt2PXguZ2V0SG91cnMoKTt4PXguZ2V0TWludXRlcygpO3ZhciB6PTEyPD12PyJQTSI6IkFNIjt2JT0xMjt0Kz0odj92OjEyKSsiOiIrKDEwPng/IjAiK3g6eCkrIiAiK3p9ZWxzZSB0PXBbdi5nZXRNb250aCgpXSsiICIrdi5nZXREYXRlKCk7dj10O3Q9ImNoYXJ0Ij09Yi50eXBlP2QuRGF0YVtpXS5jbG9zZTpbZC5EYXRhW2ldLmNsb3NlLGQuRGF0YVtpXS5vcGVuLGQuRGF0YVtpXS5sb3csZC5EYXRhW2ldLmhpZ2hdO3EucHVzaCh2KTt3LnB1c2godCk7bi5wdXNoKGQuRGF0YVtpXS52b2x1bWVmcm9tKX1rLnhBeGlzWzBdLmRhdGE9cTtrLnNlcmllc1swXS5kYXRhPXc7ImNhbmRsZXN0aWNrIj09Yi50eXBlJiYoZD1NYXRoLnJvdW5kKGhbYi5wZXJpb2RdLzYwKjEwKSxxPSJjYW5kbGVzdGljayI9PWIudHlwZSYmMTA8ZD8hMDohMSxrLmRhdGFab29tLnNob3c9cSwKay5kYXRhWm9vbS5zdGFydD1kLGsuZ3JpZC55Mj1xPzgwOjQwLGsuc2VyaWVzWzFdLmRhdGE9bik7bC5zZXRPcHRpb24oayk7bC5oaWRlTG9hZGluZygpfSl9dmFyIGs9e3R5cGU6YS5hdHRyKCJkYXRhLWNoYXJ0dHlwZSIpLGNvaW46YS5hdHRyKCJkYXRhLWNoYXJ0Y29pbiIpLGN1cnJlbmN5OmEuYXR0cigiZGF0YS1jaGFydGN1cnJlbmN5Iiksc3ltYm9sOmEuYXR0cigiZGF0YS1jaGFydHN5bWJvbCIpLHBlcmlvZDphLmF0dHIoImRhdGEtY2hhcnR2aWV3IiksdGhlbWU6YS5hdHRyKCJkYXRhLWNoYXJ0dGhlbWUiKSxzbW9vdGg6InRydWUiPT1hLmF0dHIoImRhdGEtY2hhcnRzbW9vdGgiKSx0ZXh0Q29sb3I6YS5hdHRyKCJkYXRhLWNoYXJ0YXJlYWNvbG9yIiksYXJlYUNvbG9yOmEuYXR0cigiZGF0YS1jaGFydGJnY29sb3IiKSxmb250OmEuYXR0cigiZGF0YS1mb250IiksY29uZmlnOkpTT04ucGFyc2UoYS5hdHRyKCJkYXRhLWNvbmZpZyIpKX07c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXtpZigwPApzZXNzaW9uU3RvcmFnZS5sZW5ndGgpZm9yKHZhciBkPTA7ZDxzZXNzaW9uU3RvcmFnZS5sZW5ndGg7ZCsrKS0xPHNlc3Npb25TdG9yYWdlLmtleShkKS5pbmRleE9mKCJtY3ctIikmJnNlc3Npb25TdG9yYWdlLnNldEl0ZW0oc2Vzc2lvblN0b3JhZ2Uua2V5KGQpLCIiKX0sMThFNSk7dmFyIGI9alF1ZXJ5LmV4dGVuZCh7dHlwZToiY2hhcnQiLGNvaW46IkJUQyIsY3VycmVuY3k6IlVTRCIsc3ltYm9sOiIkIixwZXJpb2Q6ImRheSIsdGhlbWU6ImRhcmsiLHNtb290aDohMCxhcmVhQ29sb3I6InJnYmEoMTEyLDE0NywyNTQsMC44KSIsdGV4dENvbG9yOiIjMjAyMzI4Iixmb250OmEuY3NzKCJmb250LWZhbWlseSIpfSxrKSxtPXtsaWdodDp7YmFja2dyb3VuZENvbG9yOiIjZmZmIixjb2xvcjoiY2hhcnQiPT1iLnR5cGU/IiIhPWIudGV4dENvbG9yP1tiLnRleHRDb2xvcl06IiMyMDIzMjgiOiIjMjAyMzI4Iixmb250RmFtaWx5OmIuZm9udCxjaGFydENvbG9yczoiY2hhcnQiPT1iLnR5cGU/CiIiIT1iLmFyZWFDb2xvcj9bYi5hcmVhQ29sb3JdOiJyZ2JhKDExMiwxNDcsMjU0LDAuOCkiOlsicmdiYSgxMDgsMTMwLDE0NSwwLjIpIl0sdGl0bGVDb2xvcjoiY2hhcnQiPT1iLnR5cGU/IiIhPWIuYXJlYUNvbG9yP1tiLmFyZWFDb2xvcl06InJnYmEoMTEyLDE0NywyNTQsMC44KSI6IiM2NTY1NjUiLHhBeGlzOiJyZ2JhKDU0LDYwLDc4LDAuMSkiLHlBeGlzOiJyZ2JhKDU0LDYwLDc4LDAuMSkiLGJvcmRlcjoiI2VlZSJ9LGRhcms6e2JhY2tncm91bmRDb2xvcjoiIzIwMjMyOCIsY29sb3I6ImNoYXJ0Ij09Yi50eXBlPyIiIT1iLnRleHRDb2xvcj9bYi50ZXh0Q29sb3JdOiIjZmZmIjoiI2ZmZiIsZm9udEZhbWlseTpiLmZvbnQsY2hhcnRDb2xvcnM6ImNoYXJ0Ij09Yi50eXBlPyIiIT1iLmFyZWFDb2xvcj9bYi5hcmVhQ29sb3JdOiJyZ2JhKDExMiwxNDcsMjU0LDAuOCkiOlsicmdiYSgxMDgsMTMwLDE0NSwwLjIpIl0sdGl0bGVDb2xvcjoiY2hhcnQiPT1iLnR5cGU/IiIhPWIuYXJlYUNvbG9yPwpbYi5hcmVhQ29sb3JdOiJyZ2JhKDExMiwxNDcsMjU0LDAuOCkiOiIjZmZmIix4QXhpczoiIzM2M2M0ZSIseUF4aXM6IiMzNjNjNGUiLGJvcmRlcjoiIzIwMjMyOCJ9fVtiLnRoZW1lXSxoPXtkYXk6MjQsd2VlazoxNjgsbW9udGg6MzAsdGhyZWVtb250aHM6OTAsc2l4bW9udGhzOjE4MCx5ZWFyOjM2NX0scj17ZGF5OiJEYXkiLHdlZWs6IldlZWsiLG1vbnRoOiJNb250aCIsdGhyZWVtb250aHM6IjMgTW9udGhzIixzaXhtb250aHM6IjYgTW9udGhzIix5ZWFyOiJZZWFyIn0scD0iSmFuIEZlYiBNYXIgQXByIE1heSBKdW4gSnVsIEF1ZyBTZXAgT2N0IE5vdiBEZWMiLnNwbGl0KCIgIiksbD1lY2hhcnRzLmluaXQoYS5nZXQoMCkpO2s9e2FuaW1hdGlvbjohMSxiYWNrZ3JvdW5kQ29sb3I6bS5iYWNrZ3JvdW5kQ29sb3IsY29sb3I6bS5jaGFydENvbG9ycyx0ZXh0U3R5bGU6e2NvbG9yOm0uY29sb3IsZm9udEZhbWlseTptLmZvbnRGYW1pbHl9LHRpdGxlOnt0ZXh0OmIuY29pbisiLyIrYi5jdXJyZW5jeSwKc3VidGV4dDpyW2IucGVyaW9kXSx0ZXh0U3R5bGU6e2NvbG9yOm0udGl0bGVDb2xvcn19LGdyaWQ6e3g6ImNoYXJ0Ij09Yi50eXBlP2IuY29uZmlnLmxpbmUubDpiLmNvbmZpZy5jYW5kbGVzdGljay5sLHgyOiJjaGFydCI9PWIudHlwZT9iLmNvbmZpZy5saW5lLnI6Yi5jb25maWcuY2FuZGxlc3RpY2sucix5OjMyMDxhLndpZHRoKCk/ODA6MTEwLHkyOjQwfSx0b29sdGlwOnt0cmlnZ2VyOiJheGlzIixmb3JtYXR0ZXI6ZnVuY3Rpb24oZCl7dmFyIHE9ZFswXS5uYW1lOyJjaGFydCI9PWIudHlwZT8ocT1xKyI8YnIvPiIrKGRbMF0ubWFya2VyKycgUHJpY2U6IDxiIHN0eWxlPSJjb2xvcjogI2ZmZjsiPicrYi5zeW1ib2wrYWRkQ29tbWFzKGRbMF0udmFsdWUpKSxxKz0iPC9iPiIpOihxPXErIjxici8+IisoZFswXS5tYXJrZXIrJyBIOiA8YiBzdHlsZT0iY29sb3I6ICNmZmY7Ij4nK2Iuc3ltYm9sK2FkZENvbW1hcyhkWzBdLnZhbHVlWzRdKSsiPC9iPiIpLHErPScgIEw6IDxiIHN0eWxlPSJjb2xvcjogI2ZmZjsiPicrCmIuc3ltYm9sK2FkZENvbW1hcyhkWzBdLnZhbHVlWzNdKSsiPC9iPiIscT1xKyI8YnIvPiIrKGRbMF0ubWFya2VyKycgTzogPGIgc3R5bGU9ImNvbG9yOiAjZmZmOyI+JytiLnN5bWJvbCthZGRDb21tYXMoZFswXS52YWx1ZVsyXSkrIjwvYj4iKSxxKz0nICBDOiA8YiBzdHlsZT0iY29sb3I6ICNmZmY7Ij4nK2Iuc3ltYm9sK2FkZENvbW1hcyhkWzBdLnZhbHVlWzFdKSsiPC9iPiIscT1xKyI8YnIvPiIrKGRbMV0ubWFya2VyKycgVjogPGIgc3R5bGU9ImNvbG9yOiAjZmZmOyI+JythZGRDb21tYXMoZFsxXS52YWx1ZSkrIjwvYj4gIitiLmNvaW4pKTtyZXR1cm4gcX19LGRhdGFab29tOntzaG93OiExLHJlYWx0aW1lOiEwLHN0YXJ0OjAsZW5kOjEwMH0sdG9vbGJveDp7c2hvdzohMCxpdGVtU2l6ZToyMixsZWZ0OjMyMDxhLndpZHRoKCk/InJpZ2h0IjoibGVmdCIsdG9wOjMyMDxhLndpZHRoKCk/InRvcCI6NTAsZmVhdHVyZTp7bXlUb29sMTp7c2hvdzohMCx0aXRsZTpyLmRheSxpY29uOiJpbWFnZTovLyIrCm1jcC51cmwrIi9hc3NldHMvcHVibGljL2NoYXJ0cy9pbWFnZXMvMWQtZGFyay0wMS5zdmciLG9uY2xpY2s6ZnVuY3Rpb24oKXtjKCJkYXkiKX19LG15VG9vbDI6e3Nob3c6ITAsdGl0bGU6ci53ZWVrLGljb246ImltYWdlOi8vIittY3AudXJsKyIvYXNzZXRzL3B1YmxpYy9jaGFydHMvaW1hZ2VzLzF3LWRhcmstMDEuc3ZnIixvbmNsaWNrOmZ1bmN0aW9uKCl7Yygid2VlayIpfX0sbXlUb29sMzp7c2hvdzohMCx0aXRsZTpyLm1vbnRoLGljb246ImltYWdlOi8vIittY3AudXJsKyIvYXNzZXRzL3B1YmxpYy9jaGFydHMvaW1hZ2VzLzFtLWRhcmstMDEuc3ZnIixvbmNsaWNrOmZ1bmN0aW9uKCl7YygibW9udGgiKX19LG15VG9vbDQ6e3Nob3c6ITAsdGl0bGU6ci50aHJlZW1vbnRocyxpY29uOiJpbWFnZTovLyIrbWNwLnVybCsiL2Fzc2V0cy9wdWJsaWMvY2hhcnRzL2ltYWdlcy8zbS1kYXJrLTAxLnN2ZyIsb25jbGljazpmdW5jdGlvbigpe2MoInRocmVlbW9udGhzIil9fSxteVRvb2w1OntzaG93OiEwLAp0aXRsZTpyLnNpeG1vbnRocyxpY29uOiJpbWFnZTovLyIrbWNwLnVybCsiL2Fzc2V0cy9wdWJsaWMvY2hhcnRzL2ltYWdlcy82bS1kYXJrLTAxLnN2ZyIsb25jbGljazpmdW5jdGlvbigpe2MoInNpeG1vbnRocyIpfX0sbXlUb29sNjp7c2hvdzohMCx0aXRsZTpyLnllYXIsaWNvbjoiaW1hZ2U6Ly8iK21jcC51cmwrIi9hc3NldHMvcHVibGljL2NoYXJ0cy9pbWFnZXMvMXktZGFyay0wMS5zdmciLG9uY2xpY2s6ZnVuY3Rpb24oKXtjKCJ5ZWFyIil9fSxtYXJrOntzaG93OiExfSxkYXRhVmlldzp7c2hvdzohMX0sbWFnaWNUeXBlOntzaG93OiExfSxyZXN0b3JlOntzaG93OiExfSxzYXZlQXNJbWFnZTp7c2hvdzohMX19fSx4QXhpczpbXSx5QXhpczpbXSxzZXJpZXM6W119OyJjaGFydCI9PWIudHlwZT8oay54QXhpcy5wdXNoKHt0eXBlOiJjYXRlZ29yeSIsYm91bmRhcnlHYXA6ITF9KSxrLnlBeGlzLnB1c2goe3R5cGU6InZhbHVlIixzY2FsZTohMCxheGlzTGFiZWw6e2Zvcm1hdHRlcjpmdW5jdGlvbihkKXtyZXR1cm4gYWRkQ29tbWFzKGQpfX0sCnNwbGl0TGluZTp7c2hvdzohMCxsaW5lU3R5bGU6e2NvbG9yOm0ueUF4aXMsd2lkdGg6MSx0eXBlOiJzb2xpZCJ9fSxib3VuZGFyeUdhcDpbIjUlIiwiMCUiXX0pLGsuc2VyaWVzLnB1c2goe25hbWU6IlByaWNlIix0eXBlOiJsaW5lIixzbW9vdGg6Yi5zbW9vdGgsaXRlbVN0eWxlOntub3JtYWw6e2FyZWFTdHlsZTp7dHlwZToiZGVmYXVsdCJ9fX19KSk6KGsueEF4aXMucHVzaCh7dHlwZToiY2F0ZWdvcnkiLGJvdW5kYXJ5R2FwOiEwLGF4aXNUaWNrOntvbkdhcDohMX0sc3BsaXRMaW5lOntzaG93OiExfX0pLGsueUF4aXMucHVzaCh7dHlwZToidmFsdWUiLHNjYWxlOiExLGF4aXNMYWJlbDp7Zm9ybWF0dGVyOmZ1bmN0aW9uKGQpe3JldHVybiBhZGRDb21tYXMoZCl9fSxzcGxpdExpbmU6e3Nob3c6ITF9LGJvdW5kYXJ5R2FwOlsiMCUiLCIwJSJdfSx7dHlwZToidmFsdWUiLHNjYWxlOiEwLGF4aXNMYWJlbDp7Zm9ybWF0dGVyOmZ1bmN0aW9uKGQpe3JldHVybiBhZGRDb21tYXMoZCl9fSwKc3BsaXRMaW5lOntzaG93OiEwLGxpbmVTdHlsZTp7Y29sb3I6bS55QXhpcyx3aWR0aDoxLHR5cGU6InNvbGlkIn19LGJvdW5kYXJ5R2FwOlsiMCUiLCIwJSJdfSksay5zZXJpZXMucHVzaCh7bmFtZToiT0hMQyIsdHlwZToiayIsaXRlbVN0eWxlOntub3JtYWw6e2NvbG9yOiIjZGMzNTQ1Iixjb2xvcjA6IiMyM0JGMDgifX0seUF4aXNJbmRleDoxfSksay5zZXJpZXMucHVzaCh7bmFtZToiVm9sdW1lIix0eXBlOiJiYXIifSkpO2EuY3NzKCJiYWNrZ3JvdW5kIixtLmJhY2tncm91bmRDb2xvcik7YS5jc3MoImJvcmRlci1jb2xvciIsbS5ib3JkZXIpO2UoKTtqUXVlcnkod2luZG93KS5vbigicmVzaXplIixmdW5jdGlvbigpe2suZ3JpZC55PTMyMDxhLndpZHRoKCk/ODA6MTEwO2sudG9vbGJveC5sZWZ0PTMyMDxhLndpZHRoKCk/InJpZ2h0IjoibGVmdCI7ay50b29sYm94LnRvcD0zMjA8YS53aWR0aCgpPyJ0b3AiOjUwO2wuc2V0T3B0aW9uKGspO2wucmVzaXplKCl9KTthLnZpc2liaWxpdHlDaGFuZ2VkKHtjYWxsYmFjazpmdW5jdGlvbihkLApxLHcpe3EmJmpRdWVyeSh3aW5kb3cpLnRyaWdnZXIoInJlc2l6ZSIpfSxydW5PbkxvYWQ6ITAsZnJlcXVlbmN5OjEwMH0pfSl9KTtqUXVlcnkoZG9jdW1lbnQpLm9uKCJtY3ciLCIubWN3LWNvbnZlcnRlciIsZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyk7ZGVwcC5yZXF1aXJlKCJzZWxlY3RpemUiLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYygpe3ZhciBuPW1bMF0uc2VsZWN0aXplLm9wdGlvbnNbbS52YWwoKV0udmFsLHY9aFswXS5zZWxlY3RpemUub3B0aW9uc1toLnZhbCgpXS52YWwsdD0iVVMiPT09bWNwLm51bWZvcm1hdD9wYXJzZUZsb2F0KHIudmFsKCkucmVwbGFjZSgvLC9nLCIiKSk6cGFyc2VGbG9hdChyLnZhbCgpLnJlcGxhY2UoL1wuL2csIiIpKTtuPSJjcnlwdG8iPT09ZSYmImNyeXB0byI9PT1rP3Q/bi92KnQ6IiI6ImZpYXQiPT09ZSYmImZpYXQiPT09az90P3Yvbip0OiIiOiJmaWF0Ij09PWUmJiJjcnlwdG8iPT09az90P3QvKG4qdik6IiI6dD90Km4qdjoiIjtuPXBhcnNlRmxvYXQobik7CnAudmFsKGFkZENvbW1hcyhuLnRvRml4ZWQoMTw9bj8yOjFFLTY+bj84OjYpKSl9ZnVuY3Rpb24gZygpe3ZhciBuPW1bMF0uc2VsZWN0aXplLm9wdGlvbnNbbS52YWwoKV0udmFsLHY9aFswXS5zZWxlY3RpemUub3B0aW9uc1toLnZhbCgpXS52YWwsdD0iVVMiPT09bWNwLm51bWZvcm1hdD9wYXJzZUZsb2F0KHAudmFsKCkucmVwbGFjZSgvLC9nLCIiKSk6cGFyc2VGbG9hdChwLnZhbCgpLnJlcGxhY2UoL1wuL2csIiIpKTtuPSJjcnlwdG8iPT09ZSYmImNyeXB0byI9PT1rP3Q/di9uKnQ6IiI6ImZpYXQiPT09ZSYmImZpYXQiPT09az90P24vdip0OiIiOiJmaWF0Ij09PWUmJiJjcnlwdG8iPT09az90P3Qqbip2OiIiOnQ/MS92KnQvbjoiIjtuPXBhcnNlRmxvYXQobik7ci52YWwoYWRkQ29tbWFzKG4udG9GaXhlZCgxPD1uPzI6MUUtNj5uPzg6NikpKX1hLmZpbmQoInNlbGVjdCIpLnNlbGVjdGl6ZSh7b25Jbml0aWFsaXplOmZ1bmN0aW9uKCl7dmFyIG49dGhpczt0aGlzLnJldmVydFNldHRpbmdzLiRjaGlsZHJlbi5lYWNoKGZ1bmN0aW9uKCl7alF1ZXJ5LmV4dGVuZChuLm9wdGlvbnNbdGhpcy52YWx1ZV0sCmpRdWVyeSh0aGlzKS5kYXRhKCkpfSk7bi4kZHJvcGRvd24uYWRkQ2xhc3MoIm1jdy1jb252LXN0eWxlIil9LGRyb3Bkb3duUGFyZW50OiJib2R5In0pO2EuZmluZCgiLm1jdy1jb252ZXJ0LXN3YXAiKS5jbGljayhmdW5jdGlvbigpe2EuZmluZCgiLm1jdy1mb3JtLWdyb3VwIikuZXEoMCkudG9nZ2xlQ2xhc3MoIm1jdy1mb3JtLWdyb3VwLXN3YXAiKX0pO3ZhciBlPWEuYXR0cigiZGF0YS1mcm9tIiksaz1hLmF0dHIoImRhdGEtdG8iKSxiPSJ0cnVlIj09YS5hdHRyKCJkYXRhLWF1dG8iKSxtPWEuZmluZCgic2VsZWN0IikuZmlyc3QoKSxoPWEuZmluZCgic2VsZWN0IikubGFzdCgpLHI9YS5maW5kKCJpbnB1dC5tY3ctZmllbGQiKS5maXJzdCgpLHA9YS5maW5kKCJpbnB1dC5tY3ctZmllbGQiKS5sYXN0KCksbD0iZG93biIsZD1hLmNsb3Nlc3QoIi5jcnlwdG9ib3hlcyIpLmRhdGEoImZpYXQiKSxxPWEuY2xvc2VzdCgiLmNyeXB0b2JveGVzIikuZGF0YSgiY3J5cHRvIiksdz0iZmlhdCI9PQplP2Q6IiI7ZD0iY3J5cHRvIj09ZT8iZmlhdCI9PWs/ZDoiYml0Y29pbiI9PW1bMF0udmFsdWU/ImV0aGVyZXVtIjoiIjoiZmlhdCI9PWs/IlVTRCI9PWQ/IkVVUiI6IlVTRCI6IiIhPXE/cToiIjsiIiE9dyYmbVswXS5zZWxlY3RpemUuc2V0VmFsdWUodyk7IiIhPWQmJmhbMF0uc2VsZWN0aXplLnNldFZhbHVlKGQpO3IudmFsKDEpO2MoKTtiPyhyLm9uKCJpbnB1dCIsZnVuY3Rpb24oKXtjKCl9KSxwLm9uKCJpbnB1dCIsZnVuY3Rpb24oKXtnKCl9KSxtLmNoYW5nZShmdW5jdGlvbigpe2coKTtsPSJ1cCJ9KSxoLmNoYW5nZShmdW5jdGlvbigpe2MoKTtsPSJkb3duIn0pKTooci5vbigiaW5wdXQiLGZ1bmN0aW9uKCl7bD0iZG93biJ9KSxwLm9uKCJpbnB1dCIsZnVuY3Rpb24oKXtsPSJ1cCJ9KSxhLmZpbmQoIi5tY3ctYnV0dG9uIikuY2xpY2soZnVuY3Rpb24obil7bi5wcmV2ZW50RGVmYXVsdCgpOyJkb3duIj09bD9jKCk6ZygpfSkpfSl9KTtqUXVlcnkoZG9jdW1lbnQpLm9uKCJtY3ciLAoiLm1jdy1jYXJkLTciLGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpO2RlcHAucmVxdWlyZSgiYm91bnR5IixmdW5jdGlvbigpe3ZhciBjPWEuZmluZCgiLm1jdy1wcmljZSIpLGc9MSxlPWMudGV4dCgpLGs9MTw9cGFyc2VGbG9hdChjLmF0dHIoImRhdGEtcHJpY2UiKSk/MjoxRS02PnBhcnNlRmxvYXQoYy5hdHRyKCJkYXRhLXByaWNlIikpPzg6Njtib3VudHlbImRlZmF1bHQiXSh7ZWw6Y1swXSxpbml0aWFsVmFsdWU6ZSx2YWx1ZTplfSk7d2luZG93LnNvY2tldC5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixmdW5jdGlvbihiKXtiPUpTT04ucGFyc2UoYi5kYXRhKTtpZihjLmRhdGEoImxpdmUiKT09Yi5iYXNlJiZiLnByaWNlVXNkIT09cGFyc2VGbG9hdChjLmF0dHIoImRhdGEtcHJpY2UiKSkpe3ZhciBtPWMuYXR0cigiZGF0YS1zeW1ib2wiKSthZGRDb21tYXMocGFyc2VGbG9hdChiLnByaWNlVXNkKmcpLnRvRml4ZWQoaykpO2JvdW50eVsiZGVmYXVsdCJdKHtlbDpjWzBdLAppbml0aWFsVmFsdWU6ZSx2YWx1ZTptfSk7ZT1tO2MuYXR0cigiZGF0YS1wcmljZSIsYi5wcmljZVVzZCl9fSk7YS5maW5kKCIubWN3LXRvZ2dsZS1zd2l0Y2giKS5jbGljayhmdW5jdGlvbigpe2c9alF1ZXJ5KHRoaXMpLmRhdGEoInJhdGUiKTthLmZpbmQoIi5tY3ctdG9nZ2xlLXN3aXRjaCIpLnJlbW92ZUNsYXNzKCJhY3RpdmUiKTtqUXVlcnkodGhpcykuYWRkQ2xhc3MoImFjdGl2ZSIpO3ZhciBiPWpRdWVyeSh0aGlzKS5kYXRhKCJzeW1ib2wiKSthZGRDb21tYXMocGFyc2VGbG9hdChjLmF0dHIoImRhdGEtcHJpY2UiKSpnKS50b0ZpeGVkKGspKTtib3VudHlbImRlZmF1bHQiXSh7ZWw6Y1swXSxpbml0aWFsVmFsdWU6ZSx2YWx1ZTpifSk7ZT1iO2MuYXR0cigiZGF0YS1zeW1ib2wiLGpRdWVyeSh0aGlzKS5kYXRhKCJzeW1ib2wiKSl9KX0pfSk7alF1ZXJ5KGRvY3VtZW50KS5vbigibWN3IiwiLm1jdy1ib3giLGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpO2EuZmluZCgiY2FudmFzIikuZWFjaChmdW5jdGlvbigpe2pRdWVyeSh0aGlzKS5kcmF3Q2hhcnQoKX0pOwphLmZpbmQoIi5jaGFydC1vZmZzZXQiKS5zaG93KCk7aWYoYS5oYXNDbGFzcygibWN3LWJveC0yIikpe3ZhciBjPWEuZmluZCgiLm1jdy1jcnlwdG8tY29udmVydCIpLGc9YS5maW5kKCIubWN3LWZpYXQtY29udmVydCIpO2EuZmluZCgic2VsZWN0IikuY2hhbmdlKGZ1bmN0aW9uKCl7dmFyIGU9cGFyc2VGbG9hdChjLnZhbCgpKSpwYXJzZUZsb2F0KGcudmFsKCkpO2U9ZS50b0ZpeGVkKDE8PWU/MjoxRS02PmU/ODo2KTthLmZpbmQoIi5tY3ctcHJpY2UiKS5odG1sKGUpO2U9Zy5maW5kKCI6c2VsZWN0ZWQiKS5kYXRhKCJwcmVmaXgiKTthLmZpbmQoIi5tY3ctcHJpY2Utc3ltYm9sIikuaHRtbChlKTtlPWMuZmluZCgiOnNlbGVjdGVkIikuZGF0YSgiY2hhbmdlIik7YS5maW5kKCIubWN3LWxpc3QtY2hhbmdlIikuaHRtbChNYXRoLmFicyhlKSsiJSIpOzA8PWU/YS5maW5kKCIubWN3LWxpc3QtY2hhbmdlIikudG9nZ2xlQ2xhc3MoImRvd24gdXAiKTphLmZpbmQoIi5tY3ctbGlzdC1jaGFuZ2UiKS50b2dnbGVDbGFzcygidXAgZG93biIpfSl9fSk7CmpRdWVyeShkb2N1bWVudCkub24oIm1jdyIsIi5tY3ctbGlzdCIsZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyk7YS5maW5kKCJjYW52YXMiKS5lYWNoKGZ1bmN0aW9uKCl7alF1ZXJ5KHRoaXMpLmRyYXdDaGFydCgpfSk7YS5oYXNDbGFzcygibWN3LWxpc3QtMiIpJiZhLm1jd0FjY29yZGlvbigpfSk7alF1ZXJ5KGRvY3VtZW50KS5vbigibWN3IiwiLm1jdy1tdWx0aS10YWJzIixmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKSxjPWEuZmluZCgiLm1jdy10YWIiKSxnPWEuZmluZCgiLm1jdy10YWItY29udGVudCIpO2MuY2xpY2soZnVuY3Rpb24oKXt2YXIgZT1qUXVlcnkodGhpcykuaW5kZXgoKTtjLnJlbW92ZUNsYXNzKCJhY3RpdmUiKTtqUXVlcnkodGhpcykuYWRkQ2xhc3MoImFjdGl2ZSIpO2cubm90KCI6ZXEoIitlKyIpIikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpO2cuZXEoZSkuYWRkQ2xhc3MoImFjdGl2ZSIpfSl9KTtqUXVlcnkuZm4ubXVsdGlwbHk9ZnVuY3Rpb24oYSl7Zm9yKHZhciBjPQp0aGlzLmNsb25lKCksZz0xO2c8YTtnKyspYz1jLmFkZCh0aGlzLmNsb25lKCkpO3JldHVybiBjfTtqUXVlcnkuZm4uY29pbm1jUmVzaXplPWZ1bmN0aW9uKCl7dmFyIGE9InhzIixjPTA8dGhpcy5maW5kKCIuY21jLXJvdyIpLmxlbmd0aD90aGlzLmZpbmQoIi5jbWMtcm93IikuZXEoMCkud2lkdGgoKTp0aGlzLndpZHRoKCk7OTkyPD1jP2E9ImxnIjo3Njg8PWM/YT0ibWQiOjU3Njw9YyYmKGE9InNtIik7dGhpcy5yZW1vdmVDbGFzcygiY21jbC14cyBjbWNsLXNtIGNtY2wtbWQgY21jbC1sZyIpLmFkZENsYXNzKCJjbWNsLSIrYSk7dGhpcy50cmlnZ2VyKCJ2aWV3Iil9O2pRdWVyeShkb2N1bWVudCkub24oIm1jdyIsIi5tY3ctdGlja2VyIixmdW5jdGlvbigpe3ZhciBhPTAsYz1qUXVlcnkodGhpcyksZz1jLmZpbmQoIi5jYy1zdGF0cyIpO2MuaW1hZ2VzTG9hZGVkKCkudGhlbihmdW5jdGlvbigpe2cuZmluZCgiLmNjLWNvaW4iKS5lYWNoKGZ1bmN0aW9uKCl7YSs9alF1ZXJ5KHRoaXMpLmlubmVyV2lkdGgoKX0pOwp2YXIgZT1nLmZpbmQoIi5jYy1jb2luIiksaz1nLmlubmVyV2lkdGgoKS9hO2cuYXBwZW5kKCc8ZGl2IGNsYXNzPSJjYy1kdXAiPjwvZGl2PicpOy41PGs/Zy5maW5kKCIuY2MtZHVwIikuYXBwZW5kKGUubXVsdGlwbHkoTWF0aC5jZWlsKGspKSk6Zy5maW5kKCIuY2MtZHVwIikuYXBwZW5kKGUubXVsdGlwbHkoMSkpO2cuY3NzKCJ3aWR0aCIsYSk7Zy5maW5kKCJjYW52YXMiKS5lYWNoKGZ1bmN0aW9uKCl7alF1ZXJ5KHRoaXMpLmRyYXdDaGFydCgpfSk7ZT1nLmZpbmQoIi5jYy1jb2luIikubGVuZ3RoO2s9YS9lO3ZhciBiPWMuZGF0YSgic3BlZWQiKSxtPTEwKms7MjAwPT09Yj9tPTEwOjA9PWI/bT0wOjEwMDxiP20tPShiLTEwMCkvMTAqazoxMDA+YiYmKG0rPSgxMDAtYikvMTAqOCprKTtnLmNzcygiYW5pbWF0aW9uLWR1cmF0aW9uIixlKm0vMUUzKyJzIik7Yy5jc3MoInZpc2liaWxpdHkiLCJ2aXNpYmxlIik7Yy5oYXNDbGFzcygibWN3LWhlYWRlciIpJiZqUXVlcnkoImJvZHksIC5uYXZiYXItdmVydGljYWwiKS5jc3MoInBhZGRpbmctdG9wIiwKYy5oZWlnaHQoKSsicHgiKX0pfSk7alF1ZXJ5KCIubWN3LXRyIikuZWFjaChmdW5jdGlvbigpe2pRdWVyeSh0aGlzKS50cmlnZ2VyKCJtY3ciKX0pO0FycmF5LnByb3RvdHlwZS51bmlxdWU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5maWx0ZXIoZnVuY3Rpb24oYSxjLGcpe3JldHVybiBnLmluZGV4T2YoYSk9PT1jfSl9O3ZhciBmPVtdLHU9W107alF1ZXJ5KCIuY3J5cHRvaG9wcGVyLXdlYi13aWRnZXQiKS5lYWNoKGZ1bmN0aW9uKCl7Zi5wdXNoKGpRdWVyeSh0aGlzKS5kYXRhKCJpZCIpKTt2YXIgYT1jcmVhdGVQb3N0RGF0YSh0aGlzKTt1LnB1c2goYSl9KTswPGYubGVuZ3RoJiZqUXVlcnkuYWpheCh7dHlwZToiR0VUIixkYXRhVHlwZToianNvbiIsdXJsOm1jcC51cmwrIi93aWRnZXRzLz9pZD0iK3Jhd3VybGVuY29kZShKU09OLnN0cmluZ2lmeSh1KSksdGltZW91dDoyNTAwLHN1Y2Nlc3M6ZnVuY3Rpb24oYSl7alF1ZXJ5KCIuY3J5cHRvaG9wcGVyLXdlYi13aWRnZXQiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGM9CmpRdWVyeSh0aGlzKS5kYXRhKCJpZCIpO2pRdWVyeSh0aGlzKS5odG1sKGFbY10pO2pRdWVyeSh0aGlzKS5maW5kKCIubWN3LXRyIikudHJpZ2dlcigibWN3Iil9KTtqUXVlcnkoIi5tY3ctZGFyay10aGVtZSwubWN3LW1pZG5pZ2h0LXRoZW1lLC5tY3ctY3VzdG9tLXRoZW1lLC5tY3ctdGFibGUuZGFyayIpLmVhY2goZnVuY3Rpb24oKXtqUXVlcnkodGhpcykuaW52ZXJ0YWJsZSgpfSk7cmVhbHRpbWVVcGRhdGUoKX0sZXJyb3I6ZnVuY3Rpb24oYSxjLGcpe319KX0pOwpmdW5jdGlvbiBjcmVhdGVQb3N0RGF0YShmKXt2YXIgdT17aWQ6alF1ZXJ5KGYpLmRhdGEoImlkIil9LGE9e307Im9uIj09alF1ZXJ5KGYpLmRhdGEoInJlYWx0aW1lIik/YS5yZWFsdGltZT0xOmEucmVhbHRpbWU9MDtmb3IodmFyIGM9InJlYWx0aW1lIHByaWNlX2Zvcm1hdCBjaGFydF9jb2xvciBsYWJlbF9kZXNpZ24gdGh1bWJuYWlscyBmdWxsd2lkdGggY2FyZF9kZXNpZ24gY2hhcnRfdGhlbWUgY2hhcnRfdmlldyBjaGFydF90eXBlIHRhYmxlX2NvbHVtbnMgY29udmVydGVyX3R5cGUgYm94X2Rlc2lnbiBsaXN0X2Rlc2lnbiBtdWx0aV9jdXJyZW5jaWVzIG5ld3NfY291bnQgbmV3c19sZW5ndGggY3VycmVuY3kyIHRleHRfY29sb3IgYmFja2dyb3VuZF9jb2xvciB0aGVtZSBudW1jb2lucyB0YWJsZV9sZW5ndGggdGl0bGUgY3VycmVuY3kgdGFibGVfdGl0bGUgY2hhcnRfdGhlbWUgdGFibGVfc3R5bGUgYXRpZCByb3VuZCBjaGFuZ2VzIHRpY2tlcl9kZXNpZ24gbG9nb3MgY2hhbmdlcyBjb2lucyB0aWNrZXJfc3BlZWQgdGlja2VyX3Bvc2l0aW9uIi5zcGxpdCgiICIpLGc9CjA7ZzxjLmxlbmd0aDtnKyspe3ZhciBlPWNbZ107InVuZGVmaW5lZCIhPT10eXBlb2YgalF1ZXJ5KGYpLmRhdGEoZSkmJigicmVhbHRpbWUiPT1lPyJvbiI9PWpRdWVyeShmKS5kYXRhKCJyZWFsdGltZSIpP2EucmVhbHRpbWU9MTphLnJlYWx0aW1lPTA6YVtlXT1qUXVlcnkoZikuZGF0YShlKSl9dS5vcHRpb25zPWE7cmV0dXJuIHV9ZnVuY3Rpb24gcmF3dXJsZW5jb2RlKGYpe3JldHVybiBlbmNvZGVVUklDb21wb25lbnQoZikucmVwbGFjZSgvIS9nLCIlMjEiKS5yZXBsYWNlKC8nL2csIiUyNyIpLnJlcGxhY2UoL1woL2csIiUyOCIpLnJlcGxhY2UoL1wpL2csIiUyOSIpLnJlcGxhY2UoL1wqL2csIiUyQSIpfTs="}},"time_used":128,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":128,"receive":0,"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.155.119","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:53.234Z","timestamp":1785123233234,"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://agilitetrade.com/\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 03:33:53 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-07-27T05:17:12.546217Z","times_seen":79665,"resource_available":true,"data":"R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="}},"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":"agilitetrade.com/npm/sweetalert2%408.js","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.613Z","timestamp":1785123231613,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /npm/sweetalert2%408.js HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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 404 \r\ncache-control: private, no-cache, no-store, must-revalidate, max-age=0\r\npragma: no-cache\r\ncontent-type: text/html\r\ncontent-length: 1238\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":1238,"size_decoded":1446,"mime_type":"text/html","magic":"HTML document, ASCII text, with CRLF, LF line terminators","md5":"0bde7d4b3da67537eaf9188e6f8049cf","sha1":"64300fc482d01d38b40ab20e15960b6509665e5a","sha256":"5dc1ae0b875dc0d78dbc5532226f5f31b762b4d1229984f605d27bf895ab6807","sha512":"2d4d27ab5b3dd2a701a944e9b5372b40ee4f8b3267f133be7ad0d4b42528302aaa002b6132722e2ad1fe629fc3e8baf1011c8dad326062e9c0946d6f1b6eafb4","ssdeep":"","tlshash":"8d21423ec1c1150a80271154fb81e2942619825192470fa1379e7167f6cc0f756937c8","first_seen":"2023-03-07T01:03:24Z","last_seen":"2026-07-27T05:16:58.324996Z","times_seen":41313,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIHN0eWxlPSJoZWlnaHQ6MTAwJSI+CjxoZWFkPgo8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHNocmluay10by1maXQ9bm8iIC8+Cjx0aXRsZT4gNDA0IE5vdCBGb3VuZA0KPC90aXRsZT48L2hlYWQ+Cjxib2R5IHN0eWxlPSJjb2xvcjogIzQ0NDsgbWFyZ2luOjA7Zm9udDogbm9ybWFsIDE0cHgvMjBweCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyBoZWlnaHQ6MTAwJTsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsiPgo8ZGl2IHN0eWxlPSJoZWlnaHQ6YXV0bzsgbWluLWhlaWdodDoxMDAlOyAiPiAgICAgPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyB3aWR0aDo4MDBweDsgbWFyZ2luLWxlZnQ6IC00MDBweDsgcG9zaXRpb246YWJzb2x1dGU7IHRvcDogMzAlOyBsZWZ0OjUwJTsiPgogICAgICAgIDxoMSBzdHlsZT0ibWFyZ2luOjA7IGZvbnQtc2l6ZToxNTBweDsgbGluZS1oZWlnaHQ6MTUwcHg7IGZvbnQtd2VpZ2h0OmJvbGQ7Ij40MDQ8L2gxPgo8aDIgc3R5bGU9Im1hcmdpbi10b3A6MjBweDtmb250LXNpemU6IDMwcHg7Ij5Ob3QgRm91bmQNCjwvaDI+CjxwPlRoZSByZXNvdXJjZSByZXF1ZXN0ZWQgY291bGQgbm90IGJlIGZvdW5kIG9uIHRoaXMgc2VydmVyITwvcD4KPC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0iY29sb3I6I2YwZjBmMDsgZm9udC1zaXplOjEycHg7bWFyZ2luOmF1dG87cGFkZGluZzowcHggMzBweCAwcHggMzBweDtwb3NpdGlvbjpyZWxhdGl2ZTtjbGVhcjpib3RoO2hlaWdodDoxMDBweDttYXJnaW4tdG9wOi0xMDFweDtiYWNrZ3JvdW5kLWNvbG9yOiM0NzQ3NDc7Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xNSk7Ym94LXNoYWRvdzogMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMykgaW5zZXQ7Ij4KPGJyPlByb3VkbHkgcG93ZXJlZCBieSAgPGEgc3R5bGU9ImNvbG9yOiNmZmY7IiBocmVmPSJodHRwOi8vd3d3LmxpdGVzcGVlZHRlY2guY29tL2Vycm9yLXBhZ2UiPkxpdGVTcGVlZCBXZWIgU2VydmVyPC9hPjxwPlBsZWFzZSBiZSBhZHZpc2VkIHRoYXQgTGl0ZVNwZWVkIFRlY2hub2xvZ2llcyBJbmMuIGlzIG5vdCBhIHdlYiBob3N0aW5nIGNvbXBhbnkgYW5kLCBhcyBzdWNoLCBoYXMgbm8gY29udHJvbCBvdmVyIGNvbnRlbnQgZm91bmQgb24gdGhpcyBzaXRlLjwvcD48L2Rpdj48L2JvZHk+PC9odG1sPgo="}},"time_used":28,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":28,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/images/clients/3.png","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.653Z","timestamp":1785123231653,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /images/clients/3.png HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: image/png\r\nlast-modified: Wed, 22 Apr 2026 21:44:12 GMT\r\naccept-ranges: bytes\r\ncontent-length: 8746\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":8746,"size_decoded":9011,"mime_type":"image/png","magic":"JPEG image data, JFIF standard 1.01, resolution (DPI), density 96x96, segment length 16, Exif Standard: [TIFF image data, big-endian, direntries=1, orientation=upper-left], baseline, precision 8, 300x168, components 3","md5":"f0148236378d4b5ef812d08e61d4fdb3","sha1":"43b622173dae031dc4ce26006b3e50bb688db7c6","sha256":"5a86b6998391e7b2190df8a81ad9bbe476a4a587343ddfdc510dbf5d7ba9ae8e","sha512":"90731058b62927591489b9f91555fbe9338e26ad48d7892f70227a924e877a77378b61a6173805bead244414ac39539137978846c90ef0905d612c57418b3b74","ssdeep":"96:cut2D/XEqySAe4JiU2rbEao1ieyADU/YQDsEjhm8fsbpcA3PQyZIf8x+nItJ:cu0FySpR3rqsA+YQDsElm8CQfb+","tlshash":"4e02ad76fb207e40f8c552f528efcd36e28f9415814be42b93b28a96bc109374cb4939","first_seen":"2026-06-26T06:01:48.593057Z","last_seen":"2026-07-27T05:05:33.753052Z","times_seen":7,"resource_available":false,"data":"/9j/4AAQSkZJRgABAQEAYABgAAD/4QM8aHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPg0KCTxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+DQoJCTxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkNCRUUzOUNEQ0NFQzExRTY5Qjk4ODQyNDE1NTUxRDdFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkNCRUUzOUNFQ0NFQzExRTY5Qjk4ODQyNDE1NTUxRDdFIj4NCgkJCTx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkNCRUUzOUNCQ0NFQzExRTY5Qjk4ODQyNDE1NTUxRDdFIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkNCRUUzOUNDQ0NFQzExRTY5Qjk4ODQyNDE1NTUxRDdFIi8+DQoJCTwvcmRmOkRlc2NyaXB0aW9uPg0KCTwvcmRmOlJERj4NCjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/Pv/hACJFeGlmAABNTQAqAAAACAABARIAAwAAAAEAAQAAAAAAAP/bAEMAAgEBAgEBAgIC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"}},"time_used":50,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":41,"receive":9,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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.113.4","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"moz-nullprincipal:{20292707-fed7-4c03-bfa1-a4af04063bb1}?https://agilitetrade.com","date":"2026-07-27T03:33:53.114Z","timestamp":1785123233114,"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":"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://agilitetrade.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/2 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 03:33:53 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=Y9ZwDctf9U9n4WjkyN_ILgU4NxSH4Q3aeYX1cQtKSeFhgi3fYFPDdvgTZ68FvEpj2d054l2W6dnMVw0XdpfgQX--io3hAeh7mvlSUfgmtwhjnV9S6FpLpW9tl_GzaQ3Cno74AonnYMdDx6eSHZ1HIhUDkLfptrWeRvWsqQu4Vm23vWkudP4xnyjE6jzinlNkCqGtHGZ7hbnQ9KjeiGsK360EcsYoKLps; expires=Tue, 26-Jan-2027 03:33:53 GMT; path=/; domain=.translate-pa.googleapis.com; HttpOnly\r\nexpires: Mon, 27 Jul 2026 03:33:53 GMT\r\ncache-control: private\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":31482,"size_decoded":3502,"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-07-27T05:17:12.532685Z","times_seen":6385,"resource_available":true,"data":"Ly8gQVBJIGNhbGxiYWNrCmNhbGxiYWNrKHsKICAic291cmNlTGFuZ3VhZ2VzIjogWwogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXV0byIsCiAgICAgICJuYW1lIjogIkdqZW5ramVubiBzcHLDpWsiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWIiLAogICAgICAibmFtZSI6ICJhYmtoYXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWNlIiwKICAgICAgIm5hbWUiOiAiYWNlaG5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhY2giLAogICAgICAibmFtZSI6ICJhY2hvbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWEiLAogICAgICAibmFtZSI6ICJhZmFyIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFmIiwKICAgICAgIm5hbWUiOiAiYWZyaWthYW5zIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNxIiwKICAgICAgIm5hbWUiOiAiYWxiYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhbHoiLAogICAgICAibmFtZSI6ICJhbHVyIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFtIiwKICAgICAgIm5hbWUiOiAiYW1oYXJpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXIiLAogICAgICAibmFtZSI6ICJhcmFiaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImh5IiwKICAgICAgIm5hbWUiOiAiYXJtZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJheiIsCiAgICAgICJuYW1lIjogImFzZXJiYWpkc2phbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFzIiwKICAgICAgIm5hbWUiOiAiYXNzYW1lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhdiIsCiAgICAgICJuYW1lIjogImF2YXJpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXdhIiwKICAgICAgIm5hbWUiOiAiYXdhZGhpIgogICAgfSwKICAgIHsKICAgICAibGFuZ3VhZ2UiOiAiYXkiLAogICAgICAibmFtZSI6ICJheW1hcmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmFuIiwKICAgICAgIm5hbWUiOiAiYmFsaW5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiYWwiLAogICAgICAibmFtZSI6ICJiYWx1dHNqaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibSIsCiAgICAgICJuYW1lIjogImJhbWJhcmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmNpIiwKICAgICAgIm5hbWUiOiAiYmFvdWzDqSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiYSIsCiAgICAgICJuYW1lIjogImJhc2praXJzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJldSIsCiAgICAgICJuYW1lIjogImJhc2tpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYnR4IiwKICAgICAgIm5hbWUiOiAiYmF0YWsga2FybyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJidHMiLAogICAgICAibmFtZSI6ICJiYXRhayBzaW1hbHVuZ3VuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJiYyIsCiAgICAgICJuYW1lIjogImJhdGFrIHRvYmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmVtIiwKICAgICAgIm5hbWUiOiAiYmVtYmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYm4iLAogICAgICAibmFtZSI6ICJiZW5nYWxpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJldyIsCiAgICAgICJuYW1lIjogImJldGF3aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiaG8iLAogICAgICAibmFtZSI6ICJiaG9qcHVyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiaWsiLAogICAgICAibmFtZSI6ICJiaWtvbCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJicyIsCiAgICAgICJuYW1lIjogImJvc25pc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYnIiLAogICAgICAibmFtZSI6ICJicmV0b25zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZyIsCiAgICAgICJuYW1lIjogImJ1bGdhcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJ1YSIsCiAgICAgICJuYW1lIjogImJ1cmphdGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJteSIsCiAgICAgICJuYW1lIjogImJ1cm1lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjZWIiLAogICAgICAibmFtZSI6ICJjZWJ1YW5vIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNoIiwKICAgICAgIm5hbWUiOiAiY2hhbW9ycm8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnkiLAogICAgICAibmFtZSI6ICJjaGljaGV3YSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkYSIsCiAgICAgICJuYW1lIjogImRhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZhLUFGIiwKICAgICAgIm5hbWUiOiAiZGFyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkdiIsCiAgICAgICJuYW1lIjogImRoaXZlaGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZGluIiwKICAgICAgIm5hbWUiOiAiZGlua2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZG9pIiwKICAgICAgIm5hbWUiOiAiZG9ncmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZG92IiwKICAgICAgIm5hbWUiOiAiZG9tYmUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZHl1IiwKICAgICAgIm5hbWUiOiAiRHl1bGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZHoiLAogICAgICAibmFtZSI6ICJkem9uZ2toYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlbiIsCiAgICAgICJuYW1lIjogImVuZ2Vsc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZW8iLAogICAgICAibmFtZSI6ICJlc3BlcmFudG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZXQiLAogICAgICAibmFtZSI6ICJlc3Rpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZWUiLAogICAgICAibmFtZSI6ICJld2UiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZmEiLAogICAgICAibmFtZSI6ICJmYXJzaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmaiIsCiAgICAgICJuYW1lIjogImZpamlhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZpIiwKICAgICAgIm5hbWUiOiAiZmluc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZm9uIiwKICAgICAgIm5hbWUiOiAiZm9uIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZyIiwKICAgICAgIm5hbWUiOiAiZnJhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZyLUNBIiwKICAgICAgIm5hbWUiOiAiRnJhbnNrIChDYW5hZGEpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZ5IiwKICAgICAgIm5hbWUiOiAiZnJpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmdXIiLAogICAgICAibmFtZSI6ICJmcml1bGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmZiIsCiAgICAgICJuYW1lIjogImZ1bGZ1bGRlIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZvIiwKICAgICAgIm5hbWUiOiAiZsOmcsO4eXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdsIiwKICAgICAgIm5hbWUiOiAiZ2FsaXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2EiLAogICAgICAibmFtZSI6ICJnZW9yZ2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlbCIsCiAgICAgICJuYW1lIjogImdyZXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImduIiwKICAgICAgIm5hbWUiOiAiZ3VhcmFuw60iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ3UiLAogICAgICAibmFtZSI6ICJndWphcmF0aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJnYWEiLAogICAgICAibmFtZSI6ICJnYWEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY25oIiwKICAgICAgIm5hbWUiOiAiaGFraGEgY2hpbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoYSIsCiAgICAgICJuYW1lIjogImhhdXNhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhhdyIsCiAgICAgICJuYW1lIjogImhhd2FpaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIml3IiwKICAgICAgIm5hbWUiOiAiaGVicmFpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaGlsIiwKICAgICAgIm5hbWUiOiAiaGlsaWdheW5vbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoaSIsCiAgICAgICJuYW1lIjogImhpbmRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhtbiIsCiAgICAgICJuYW1lIjogImhtb25nIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhyeCIsCiAgICAgICJuYW1lIjogImh1bnNyaWsiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmUiLAogICAgICAibmFtZSI6ICJodml0ZXJ1c3Npc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaWJhIiwKICAgICAgIm5hbWUiOiAiaWJhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpZyIsCiAgICAgICJuYW1lIjogImlnYm8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaWxvIiwKICAgICAgIm5hbWUiOiAiaWxva2FubyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpZCIsCiAgICAgICJuYW1lIjogImluZG9uZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXUtTGF0biIsCiAgICAgICJuYW1lIjogIkludWt0aXR1dCAobGF0aW5zaykiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXUiLAogICAgICAibmFtZSI6ICJJbnVrdGl0dXQgKHN0YXZlbHNlKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJnYSIsCiAgICAgICJuYW1lIjogImlyc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXMiLAogICAgICAibmFtZSI6ICJpc2xhbmRzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpdCIsCiAgICAgICJuYW1lIjogIml0YWxpZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzYWgiLAogICAgICAibmFtZSI6ICJqYWt1dGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJqYW0iLAogICAgICAibmFtZSI6ICJqYW1haWNhbnNrIHBhdG9pcyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJqYSIsCiAgICAgICJuYW1lIjogImphcGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAianciLAogICAgICAibmFtZSI6ICJqYXZhbmVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInlpIiwKICAgICAgIm5hbWUiOiAiamlkZGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrYWMiLAogICAgICAibmFtZSI6ICJqaW5ncG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieW8iLAogICAgICAibmFtZSI6ICJqb3J1YmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2wiLAogICAgICAibmFtZSI6ICJrYWxhYWxsaXN1dCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrbiIsCiAgICAgICJuYW1lIjogImthbm5hZGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieXVlIiwKICAgICAgIm5hbWUiOiAia2FudG9uZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3IiLAogICAgICAibmFtZSI6ICJrYW51cmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicGFtIiwKICAgICAgIm5hbWUiOiAia2FwYW1wYW5nYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2siLAogICAgICAibmFtZSI6ICJrYXNha2hpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2EiLAogICAgICAibmFtZSI6ICJrYXRhbGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2VrIiwKICAgICAgIm5hbWUiOiAia2VrY2hpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtoYSIsCiAgICAgICJuYW1lIjogImtoYXNpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImttIiwKICAgICAgIm5hbWUiOiAia2htZXIiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2dnIiwKICAgICAgIm5hbWUiOiAia2lnYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrZyIsCiAgICAgICJuYW1lIjogImtpa29uZ28iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiemgtQ04iLAogICAgICAibmFtZSI6ICJraW5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJydyIsCiAgICAgICJuYW1lIjogImtpbnlhcndhbmRhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImt5IiwKICAgICAgIm5hbWUiOiAia2lyZ2lzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInJuIiwKICAgICAgIm5hbWUiOiAia2lydW5kaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrdHUiLAogICAgICAibmFtZSI6ICJraXR1YmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHJwIiwKICAgICAgIm5hbWUiOiAia29rYm9yb2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3YiLAogICAgICAibmFtZSI6ICJrb21pIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdvbSIsCiAgICAgICJuYW1lIjogImtvbmthbmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia28iLAogICAgICAibmFtZSI6ICJrb3JlYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjbyIsCiAgICAgICJuYW1lIjogImtvcnNpa2Fuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaHQiLAogICAgICAibmFtZSI6ICJrcmVvbCAoSGFpdGkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNycyIsCiAgICAgICJuYW1lIjogImtyZW9sIChTZXljaGVsbGVuZSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY3JoIiwKICAgICAgIm5hbWUiOiAiS3JpbXRhdGFyaXNrIChreXJpbGxpc2spIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNyaC1MYXRuIiwKICAgICAgIm5hbWUiOiAiS3JpbXRhdGFyaXNrIChsYXRpbnNrKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrcmkiLAogICAgICAibmFtZSI6ICJrcmlvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhyIiwKICAgICAgIm5hbWUiOiAia3JvYXRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3UiLAogICAgICAibmFtZSI6ICJrdXJkaXNrIChrdXJtYW5qaSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2tiIiwKICAgICAgIm5hbWUiOiAia3VyZGlzayAoc29yYW5pKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsbyIsCiAgICAgICJuYW1lIjogImxhb3Rpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHRnIiwKICAgICAgIm5hbWUiOiAibGF0Z2FsaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxhIiwKICAgICAgIm5hbWUiOiAibGF0aW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHYiLAogICAgICAibmFtZSI6ICJsYXR2aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxpaiIsCiAgICAgICJuYW1lIjogImxpZ3VyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxpIiwKICAgICAgIm5hbWUiOiAibGltYnVyZ3NrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxuIiwKICAgICAgIm5hbWUiOiAibGluZ2FsYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdCIsCiAgICAgICJuYW1lIjogImxpdGF1aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxtbyIsCiAgICAgICJuYW1lIjogImxvbWJhcmRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibGciLAogICAgICAibmFtZSI6ICJsdWdhbmRhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx1byIsCiAgICAgICJuYW1lIjogImx1byIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsYiIsCiAgICAgICJuYW1lIjogImx1eGVtYm91cmdzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtZyIsCiAgICAgICJuYW1lIjogIm1hZGFnYXNzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1hZCIsCiAgICAgICJuYW1lIjogIm1hZHVyZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWFpIiwKICAgICAgIm5hbWUiOiAibWFpdGhpbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWFrIiwKICAgICAgIm5hbWUiOiAiTWFrYXNzYXIiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWsiLAogICAgICAibmFtZSI6ICJtYWtlZG9uc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWwiLAogICAgICAibmFtZSI6ICJtYWxheWFsYW0iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXMiLAogICAgICAibmFtZSI6ICJtYWxheWlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtcy1BcmFiIiwKICAgICAgIm5hbWUiOiAibWFsYXlpc2sgKGphd2kpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm10IiwKICAgICAgIm5hbWUiOiAibWFsdGVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1hbSIsCiAgICAgICJuYW1lIjogIm1hbSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJndiIsCiAgICAgICJuYW1lIjogIm1hbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1pIiwKICAgICAgIm5hbWUiOiAibWFvcmkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXIiLAogICAgICAibmFtZSI6ICJtYXJhdGhpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1oIiwKICAgICAgIm5hbWUiOiAibWFyc2hhbGxlc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtd3IiLAogICAgICAibmFtZSI6ICJtYXJ3YWRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1mZSIsCiAgICAgICJuYW1lIjogIm1hdXJpdGlzayBrcmVvbCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtbmktTXRlaSIsCiAgICAgICJuYW1lIjogIm1laXRlaWxvbiAobWFuaXB1cmkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1pbiIsCiAgICAgICJuYW1lIjogIm1pbmFuZyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdXMiLAogICAgICAibmFtZSI6ICJtaXpvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1uIiwKICAgICAgIm5hbWUiOiAibW9uZ29sc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibmhlIiwKICAgICAgIm5hbWUiOiAibmFodWF0bCAow7hzdGxpZ2UgSHVhc3RlY2EpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5kYy1aVyIsCiAgICAgICJuYW1lIjogIm5kYXUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnIiLAogICAgICAibmFtZSI6ICJuZGViZWxlIChzw7hyKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJubCIsCiAgICAgICJuYW1lIjogIm5lZGVybGFuZHNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5ldyIsCiAgICAgICJuYW1lIjogIk5lcGFsIGJoYXNhIChuZXdhcmkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5lIiwKICAgICAgIm5hbWUiOiAibmVwYWxzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibS1Oa29vIiwKICAgICAgIm5hbWUiOiAiTktvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5vIiwKICAgICAgIm5hbWUiOiAibm9yc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnVzIiwKICAgICAgIm5hbWUiOiAibnVlciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJvYyIsCiAgICAgICJuYW1lIjogIm9rc2l0YW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJvciIsCiAgICAgICJuYW1lIjogIm9yaXlhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm9tIiwKICAgICAgIm5hbWUiOiAib3JvbW8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAib3MiLAogICAgICAibmFtZSI6ICJvc3NldGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYWciLAogICAgICAibmFtZSI6ICJwYW5nYXNpbmFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBhIiwKICAgICAgIm5hbWUiOiAiUGFuamFiaSAoZ3VybXVraGkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBhLUFyYWIiLAogICAgICAibmFtZSI6ICJwYW5qYWJpIChzaGFobXVraGkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBhcCIsCiAgICAgICJuYW1lIjogInBhcGlhbWVudG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicHMiLAogICAgICAibmFtZSI6ICJwYXNodG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicGwiLAogICAgICAibmFtZSI6ICJwb2xzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwdCIsCiAgICAgICJuYW1lIjogInBvcnR1Z2lzaXNrIChCcmFzaWwpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInB0LVBUIiwKICAgICAgIm5hbWUiOiAicG9ydHVnaXNpc2sgKFBvcnR1Z2FsKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJxdSIsCiAgICAgICJuYW1lIjogInF1ZWNodWEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicm9tIiwKICAgICAgIm5hbWUiOiAicm9tYW5pIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInJvIiwKICAgICAgIm5hbWUiOiAicnVtZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJydSIsCiAgICAgICJuYW1lIjogInJ1c3Npc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2UiLAogICAgICAibmFtZSI6ICJzYW1pc2sgKG5vcmQpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNtIiwKICAgICAgIm5hbWUiOiAic2Ftb2Fuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2ciLAogICAgICAibmFtZSI6ICJzYW5nbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzYSIsCiAgICAgICJuYW1lIjogInNhbnNrcml0IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNhdC1MYXRuIiwKICAgICAgIm5hbWUiOiAiU2FudGFsaSAobGF0aW5zaykiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2F0IiwKICAgICAgIm5hbWUiOiAiU2FudGFsaSAob2wgY2hpa2kpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN6bCIsCiAgICAgICJuYW1lIjogInNjaGxlc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuc28iLAogICAgICAibmFtZSI6ICJzZXBlZGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3IiLAogICAgICAibmFtZSI6ICJzZXJiaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNobiIsCiAgICAgICJuYW1lIjogInNoYW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic24iLAogICAgICAibmFtZSI6ICJzaG9uYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzY24iLAogICAgICAibmFtZSI6ICJzaWNpbGlhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNkIiwKICAgICAgIm5hbWUiOiAic2luZGhpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNpIiwKICAgICAgIm5hbWUiOiAic2luZ2FsZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ2QiLAogICAgICAibmFtZSI6ICJza290c2sgZ8OmbGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzayIsCiAgICAgICJuYW1lIjogInNsb3Zha2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzbCIsCiAgICAgICJuYW1lIjogInNsb3ZlbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNvIiwKICAgICAgIm5hbWUiOiAic29tYWxpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN0IiwKICAgICAgIm5hbWUiOiAic290aG8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZXMiLAogICAgICAibmFtZSI6ICJzcGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3UiLAogICAgICAibmFtZSI6ICJzdW5kYW5lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdXMiLAogICAgICAibmFtZSI6ICJzdXN1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN2IiwKICAgICAgIm5hbWUiOiAic3ZlbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN3IiwKICAgICAgIm5hbWUiOiAic3dhaGlsaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzcyIsCiAgICAgICJuYW1lIjogInN3YXRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRnIiwKICAgICAgIm5hbWUiOiAidGFkc2ppa2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0bCIsCiAgICAgICJuYW1lIjogInRhZ2Fsb2ciCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHkiLAogICAgICAibmFtZSI6ICJ0YWhpdGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZXItTGF0biIsCiAgICAgICJuYW1lIjogInRhbWF6aWdodCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZXIiLAogICAgICAibmFtZSI6ICJ0YW1hemlnaHQgKHRpZmluYWdoKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0YSIsCiAgICAgICJuYW1lIjogInRhbWlsIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR0IiwKICAgICAgIm5hbWUiOiAidGF0YXJpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGUiLAogICAgICAibmFtZSI6ICJ0ZWx1Z3UiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGV0IiwKICAgICAgIm5hbWUiOiAidGV0dW0iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGgiLAogICAgICAibmFtZSI6ICJ0aGFpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJvIiwKICAgICAgIm5hbWUiOiAidGliZXRhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRpIiwKICAgICAgIm5hbWUiOiAidGlncmluamEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGl2IiwKICAgICAgIm5hbWUiOiAidGl2IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRwaSIsCiAgICAgICJuYW1lIjogInRvayBwaXNpbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0byIsCiAgICAgICJuYW1lIjogInRvbmdhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx1YSIsCiAgICAgICJuYW1lIjogInRzaGlsdWJhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNzIiwKICAgICAgIm5hbWUiOiAidHNqZWtraXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNlIiwKICAgICAgIm5hbWUiOiAidHNqZXRzamVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2hrIiwKICAgICAgIm5hbWUiOiAidHNqdWt0c2ppc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY3YiLAogICAgICAibmFtZSI6ICJ0c2p1dmFzamlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0cyIsCiAgICAgICJuYW1lIjogInRzb25nYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0biIsCiAgICAgICJuYW1lIjogInRzd2FuYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0Y3kiLAogICAgICAibmFtZSI6ICJ0dWx1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR1bSIsCiAgICAgICJuYW1lIjogInR1bWJ1a2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGsiLAogICAgICAibmFtZSI6ICJ0dXJrbWVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHl2IiwKICAgICAgIm5hbWUiOiAidHV2aW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhayIsCiAgICAgICJuYW1lIjogInR3aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0ciIsCiAgICAgICJuYW1lIjogInR5cmtpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZGUiLAogICAgICAibmFtZSI6ICJ0eXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInVkbSIsCiAgICAgICJuYW1lIjogInVkbXVydGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ZyIsCiAgICAgICJuYW1lIjogInVpZ3VyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInVrIiwKICAgICAgIm5hbWUiOiAidWtyYWluc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaHUiLAogICAgICAibmFtZSI6ICJ1bmdhcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInVyIiwKICAgICAgIm5hbWUiOiAidXJkdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1eiIsCiAgICAgICJuYW1lIjogInVzYmVraXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInZlIiwKICAgICAgIm5hbWUiOiAidmVuZGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidmVjIiwKICAgICAgIm5hbWUiOiAidmVuZXRpYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ2aSIsCiAgICAgICJuYW1lIjogInZpZXRuYW1lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjeSIsCiAgICAgICJuYW1lIjogIndhbGlzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIndhciIsCiAgICAgICJuYW1lIjogIndhcmF5LXdhcmF5IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIndvIiwKICAgICAgIm5hbWUiOiAid29sb2YiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieGgiLAogICAgICAibmFtZSI6ICJ4aG9zYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ5dWEiLAogICAgICAibmFtZSI6ICJ5dWthdGFuc2sgbWF5YSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ6YXAiLAogICAgICAibmFtZSI6ICJ6YXBvdGVjIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInp1IiwKICAgICAgIm5hbWUiOiAienVsdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjaG0iLAogICAgICAibmFtZSI6ICLDuHN0bWFyaXNrIgogICAgfQogIF0sCiAgInRhcmdldExhbmd1YWdlcyI6IFsKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFiIiwKICAgICAgIm5hbWUiOiAiYWJraGFzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFjZSIsCiAgICAgICJuYW1lIjogImFjZWhuZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWNoIiwKICAgICAgIm5hbWUiOiAiYWNob2xpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFhIiwKICAgICAgIm5hbWUiOiAiYWZhciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhZiIsCiAgICAgICJuYW1lIjogImFmcmlrYWFucyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzcSIsCiAgICAgICJuYW1lIjogImFsYmFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWx6IiwKICAgICAgIm5hbWUiOiAiYWx1ciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhbSIsCiAgICAgICJuYW1lIjogImFtaGFyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImFyIiwKICAgICAgIm5hbWUiOiAiYXJhYmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoeSIsCiAgICAgICJuYW1lIjogImFybWVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXoiLAogICAgICAibmFtZSI6ICJhc2VyYmFqZHNqYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJhcyIsCiAgICAgICJuYW1lIjogImFzc2FtZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYXYiLAogICAgICAibmFtZSI6ICJhdmFyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImF3YSIsCiAgICAgICJuYW1lIjogImF3YWRoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJheSIsCiAgICAgICJuYW1lIjogImF5bWFyYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiYW4iLAogICAgICAibmFtZSI6ICJiYWxpbmVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJhbCIsCiAgICAgICJuYW1lIjogImJhbHV0c2ppIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJtIiwKICAgICAgIm5hbWUiOiAiYmFtYmFyYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiY2kiLAogICAgICAibmFtZSI6ICJiYW91bMOpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJhIiwKICAgICAgIm5hbWUiOiAiYmFzamtpcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImV1IiwKICAgICAgIm5hbWUiOiAiYmFza2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJidHgiLAogICAgICAibmFtZSI6ICJiYXRhayBrYXJvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJ0cyIsCiAgICAgICJuYW1lIjogImJhdGFrIHNpbWFsdW5ndW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmJjIiwKICAgICAgIm5hbWUiOiAiYmF0YWsgdG9iYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZW0iLAogICAgICAibmFtZSI6ICJiZW1iYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibiIsCiAgICAgICJuYW1lIjogImJlbmdhbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmV3IiwKICAgICAgIm5hbWUiOiAiYmV0YXdpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJobyIsCiAgICAgICJuYW1lIjogImJob2pwdXJpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJpayIsCiAgICAgICJuYW1lIjogImJpa29sIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJzIiwKICAgICAgIm5hbWUiOiAiYm9zbmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiciIsCiAgICAgICJuYW1lIjogImJyZXRvbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImJnIiwKICAgICAgIm5hbWUiOiAiYnVsZ2Fyc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYnVhIiwKICAgICAgIm5hbWUiOiAiYnVyamF0aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm15IiwKICAgICAgIm5hbWUiOiAiYnVybWVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNlYiIsCiAgICAgICJuYW1lIjogImNlYnVhbm8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2giLAogICAgICAibmFtZSI6ICJjaGFtb3JybyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJueSIsCiAgICAgICJuYW1lIjogImNoaWNoZXdhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImRhIiwKICAgICAgIm5hbWUiOiAiZGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZmEtQUYiLAogICAgICAibmFtZSI6ICJkYXJpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImR2IiwKICAgICAgIm5hbWUiOiAiZGhpdmVoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkaW4iLAogICAgICAibmFtZSI6ICJkaW5rYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkb2kiLAogICAgICAibmFtZSI6ICJkb2dyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkb3YiLAogICAgICAibmFtZSI6ICJkb21iZSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkeXUiLAogICAgICAibmFtZSI6ICJEeXVsYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJkeiIsCiAgICAgICJuYW1lIjogImR6b25na2hhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImVuIiwKICAgICAgIm5hbWUiOiAiZW5nZWxzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlbyIsCiAgICAgICJuYW1lIjogImVzcGVyYW50byIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJldCIsCiAgICAgICJuYW1lIjogImVzdGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJlZSIsCiAgICAgICJuYW1lIjogImV3ZSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmYSIsCiAgICAgICJuYW1lIjogImZhcnNpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZqIiwKICAgICAgIm5hbWUiOiAiZmlqaWFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZmkiLAogICAgICAibmFtZSI6ICJmaW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJmb24iLAogICAgICAibmFtZSI6ICJmb24iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZnIiLAogICAgICAibmFtZSI6ICJmcmFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZnItQ0EiLAogICAgICAibmFtZSI6ICJGcmFuc2sgKENhbmFkYSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZnkiLAogICAgICAibmFtZSI6ICJmcmlzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZ1ciIsCiAgICAgICJuYW1lIjogImZyaXVsaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImZmIiwKICAgICAgIm5hbWUiOiAiZnVsZnVsZGUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZm8iLAogICAgICAibmFtZSI6ICJmw6Zyw7h5c2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ2wiLAogICAgICAibmFtZSI6ICJnYWxpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrYSIsCiAgICAgICJuYW1lIjogImdlb3JnaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImVsIiwKICAgICAgIm5hbWUiOiAiZ3Jlc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ24iLAogICAgICAibmFtZSI6ICJndWFyYW7DrSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJndSIsCiAgICAgICJuYW1lIjogImd1amFyYXRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdhYSIsCiAgICAgICJuYW1lIjogImdhYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjbmgiLAogICAgICAibmFtZSI6ICJoYWtoYSBjaGluIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhhIiwKICAgICAgIm5hbWUiOiAiaGF1c2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaGF3IiwKICAgICAgIm5hbWUiOiAiaGF3YWlpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaXciLAogICAgICAibmFtZSI6ICJoZWJyYWlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJoaWwiLAogICAgICAibmFtZSI6ICJoaWxpZ2F5bm9uIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImhpIiwKICAgICAgIm5hbWUiOiAiaGluZGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaG1uIiwKICAgICAgIm5hbWUiOiAiaG1vbmciCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiaHJ4IiwKICAgICAgIm5hbWUiOiAiaHVuc3JpayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJiZSIsCiAgICAgICJuYW1lIjogImh2aXRlcnVzc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpYmEiLAogICAgICAibmFtZSI6ICJpYmFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImlnIiwKICAgICAgIm5hbWUiOiAiaWdibyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpbG8iLAogICAgICAibmFtZSI6ICJpbG9rYW5vIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImlkIiwKICAgICAgIm5hbWUiOiAiaW5kb25lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpdS1MYXRuIiwKICAgICAgIm5hbWUiOiAiSW51a3RpdHV0IChsYXRpbnNrKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpdSIsCiAgICAgICJuYW1lIjogIkludWt0aXR1dCAoc3RhdmVsc2UpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdhIiwKICAgICAgIm5hbWUiOiAiaXJzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJpcyIsCiAgICAgICJuYW1lIjogImlzbGFuZHNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIml0IiwKICAgICAgIm5hbWUiOiAiaXRhbGllbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNhaCIsCiAgICAgICJuYW1lIjogImpha3V0aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImphbSIsCiAgICAgICJuYW1lIjogImphbWFpY2Fuc2sgcGF0b2lzIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImphIiwKICAgICAgIm5hbWUiOiAiamFwYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJqdyIsCiAgICAgICJuYW1lIjogImphdmFuZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieWkiLAogICAgICAibmFtZSI6ICJqaWRkaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImthYyIsCiAgICAgICJuYW1lIjogImppbmdwbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ5byIsCiAgICAgICJuYW1lIjogImpvcnViYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrbCIsCiAgICAgICJuYW1lIjogImthbGFhbGxpc3V0IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtuIiwKICAgICAgIm5hbWUiOiAia2FubmFkYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ5dWUiLAogICAgICAibmFtZSI6ICJrYW50b25lc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrciIsCiAgICAgICJuYW1lIjogImthbnVyaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYW0iLAogICAgICAibmFtZSI6ICJrYXBhbXBhbmdhbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrayIsCiAgICAgICJuYW1lIjogImthc2FraGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjYSIsCiAgICAgICJuYW1lIjogImthdGFsYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJrZWsiLAogICAgICAibmFtZSI6ICJrZWtjaGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia2hhIiwKICAgICAgIm5hbWUiOiAia2hhc2kiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia20iLAogICAgICAibmFtZSI6ICJraG1lciIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjZ2ciLAogICAgICAibmFtZSI6ICJraWdhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtnIiwKICAgICAgIm5hbWUiOiAia2lrb25nbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ6aC1DTiIsCiAgICAgICJuYW1lIjogImtpbmVzaXNrIChmb3JlbmtsZXQpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInpoLVRXIiwKICAgICAgIm5hbWUiOiAia2luZXNpc2sgKHRyYWRpc2pvbmVsbCkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicnciLAogICAgICAibmFtZSI6ICJraW55YXJ3YW5kYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJreSIsCiAgICAgICJuYW1lIjogImtpcmdpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJybiIsCiAgICAgICJuYW1lIjogImtpcnVuZGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3R1IiwKICAgICAgIm5hbWUiOiAia2l0dWJhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRycCIsCiAgICAgICJuYW1lIjogImtva2Jvcm9rIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImt2IiwKICAgICAgIm5hbWUiOiAia29taSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJnb20iLAogICAgICAibmFtZSI6ICJrb25rYW5pIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImtvIiwKICAgICAgIm5hbWUiOiAia29yZWFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY28iLAogICAgICAibmFtZSI6ICJrb3JzaWthbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImh0IiwKICAgICAgIm5hbWUiOiAia3Jlb2wgKEhhaXRpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjcnMiLAogICAgICAibmFtZSI6ICJrcmVvbCAoU2V5Y2hlbGxlbmUpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNyaCIsCiAgICAgICJuYW1lIjogIktyaW10YXRhcmlzayAoa3lyaWxsaXNrKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjcmgtTGF0biIsCiAgICAgICJuYW1lIjogIktyaW10YXRhcmlzayAobGF0aW5zaykiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAia3JpIiwKICAgICAgIm5hbWUiOiAia3JpbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJociIsCiAgICAgICJuYW1lIjogImtyb2F0aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImt1IiwKICAgICAgIm5hbWUiOiAia3VyZGlzayAoa3VybWFuamkpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNrYiIsCiAgICAgICJuYW1lIjogImt1cmRpc2sgKHNvcmFuaSkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibG8iLAogICAgICAibmFtZSI6ICJsYW90aXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx0ZyIsCiAgICAgICJuYW1lIjogImxhdGdhbGlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsYSIsCiAgICAgICJuYW1lIjogImxhdGluIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImx2IiwKICAgICAgIm5hbWUiOiAibGF0dmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsaWoiLAogICAgICAibmFtZSI6ICJsaWd1cmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsaSIsCiAgICAgICJuYW1lIjogImxpbWJ1cmdzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsbiIsCiAgICAgICJuYW1lIjogImxpbmdhbGEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHQiLAogICAgICAibmFtZSI6ICJsaXRhdWlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsbW8iLAogICAgICAibmFtZSI6ICJsb21iYXJkaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImxnIiwKICAgICAgIm5hbWUiOiAibHVnYW5kYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdW8iLAogICAgICAibmFtZSI6ICJsdW8iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibGIiLAogICAgICAibmFtZSI6ICJsdXhlbWJvdXJnc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibWciLAogICAgICAibmFtZSI6ICJtYWRhZ2Fzc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtYWQiLAogICAgICAibmFtZSI6ICJtYWR1cmVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1haSIsCiAgICAgICJuYW1lIjogIm1haXRoaWxpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1hayIsCiAgICAgICJuYW1lIjogIk1ha2Fzc2FyIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1rIiwKICAgICAgIm5hbWUiOiAibWFrZWRvbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1sIiwKICAgICAgIm5hbWUiOiAibWFsYXlhbGFtIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1zIiwKICAgICAgIm5hbWUiOiAibWFsYXlpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXMtQXJhYiIsCiAgICAgICJuYW1lIjogIm1hbGF5aXNrIChqYXdpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtdCIsCiAgICAgICJuYW1lIjogIm1hbHRlc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtYW0iLAogICAgICAibmFtZSI6ICJtYW0iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiZ3YiLAogICAgICAibmFtZSI6ICJtYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtaSIsCiAgICAgICJuYW1lIjogIm1hb3JpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm1yIiwKICAgICAgIm5hbWUiOiAibWFyYXRoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtaCIsCiAgICAgICJuYW1lIjogIm1hcnNoYWxsZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibXdyIiwKICAgICAgIm5hbWUiOiAibWFyd2FkaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtZmUiLAogICAgICAibmFtZSI6ICJtYXVyaXRpc2sga3Jlb2wiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibW5pLU10ZWkiLAogICAgICAibmFtZSI6ICJtZWl0ZWlsb24gKG1hbmlwdXJpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtaW4iLAogICAgICAibmFtZSI6ICJtaW5hbmciCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibHVzIiwKICAgICAgIm5hbWUiOiAibWl6byIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJtbiIsCiAgICAgICJuYW1lIjogIm1vbmdvbHNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5oZSIsCiAgICAgICJuYW1lIjogIm5haHVhdGwgKMO4c3RsaWdlIEh1YXN0ZWNhKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuZGMtWlciLAogICAgICAibmFtZSI6ICJuZGF1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm5yIiwKICAgICAgIm5hbWUiOiAibmRlYmVsZSAoc8O4cikiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibmwiLAogICAgICAibmFtZSI6ICJuZWRlcmxhbmRzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuZXciLAogICAgICAibmFtZSI6ICJOZXBhbCBiaGFzYSAobmV3YXJpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJuZSIsCiAgICAgICJuYW1lIjogIm5lcGFsc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYm0tTmtvbyIsCiAgICAgICJuYW1lIjogIk5LbyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJubyIsCiAgICAgICJuYW1lIjogIm5vcnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm51cyIsCiAgICAgICJuYW1lIjogIm51ZXIiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAib2MiLAogICAgICAibmFtZSI6ICJva3NpdGFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAib3IiLAogICAgICAibmFtZSI6ICJvcml5YSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJvbSIsCiAgICAgICJuYW1lIjogIm9yb21vIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogIm9zIiwKICAgICAgIm5hbWUiOiAib3NzZXRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicGFnIiwKICAgICAgIm5hbWUiOiAicGFuZ2FzaW5hbiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYSIsCiAgICAgICJuYW1lIjogIlBhbmphYmkgKGd1cm11a2hpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYS1BcmFiIiwKICAgICAgIm5hbWUiOiAicGFuamFiaSAoc2hhaG11a2hpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwYXAiLAogICAgICAibmFtZSI6ICJwYXBpYW1lbnRvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBzIiwKICAgICAgIm5hbWUiOiAicGFzaHRvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInBsIiwKICAgICAgIm5hbWUiOiAicG9sc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicHQiLAogICAgICAibmFtZSI6ICJwb3J0dWdpc2lzayAoQnJhc2lsKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJwdC1QVCIsCiAgICAgICJuYW1lIjogInBvcnR1Z2lzaXNrIChQb3J0dWdhbCkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicXUiLAogICAgICAibmFtZSI6ICJxdWVjaHVhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInJvbSIsCiAgICAgICJuYW1lIjogInJvbWFuaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJybyIsCiAgICAgICJuYW1lIjogInJ1bWVuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAicnUiLAogICAgICAibmFtZSI6ICJydXNzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNlIiwKICAgICAgIm5hbWUiOiAic2FtaXNrIChub3JkKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzbSIsCiAgICAgICJuYW1lIjogInNhbW9hbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNnIiwKICAgICAgIm5hbWUiOiAic2FuZ28iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2EiLAogICAgICAibmFtZSI6ICJzYW5za3JpdCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzYXQtTGF0biIsCiAgICAgICJuYW1lIjogIlNhbnRhbGkgKGxhdGluc2spIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNhdCIsCiAgICAgICJuYW1lIjogIlNhbnRhbGkgKG9sIGNoaWtpKSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzemwiLAogICAgICAibmFtZSI6ICJzY2hsZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAibnNvIiwKICAgICAgIm5hbWUiOiAic2VwZWRpIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNyIiwKICAgICAgIm5hbWUiOiAic2VyYmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzaG4iLAogICAgICAibmFtZSI6ICJzaGFuIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInNuIiwKICAgICAgIm5hbWUiOiAic2hvbmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2NuIiwKICAgICAgIm5hbWUiOiAic2ljaWxpYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzZCIsCiAgICAgICJuYW1lIjogInNpbmRoaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzaSIsCiAgICAgICJuYW1lIjogInNpbmdhbGVzaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImdkIiwKICAgICAgIm5hbWUiOiAic2tvdHNrIGfDpmxpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2siLAogICAgICAibmFtZSI6ICJzbG92YWtpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic2wiLAogICAgICAibmFtZSI6ICJzbG92ZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzbyIsCiAgICAgICJuYW1lIjogInNvbWFsaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdCIsCiAgICAgICJuYW1lIjogInNvdGhvIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImVzIiwKICAgICAgIm5hbWUiOiAic3BhbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInN1IiwKICAgICAgIm5hbWUiOiAic3VuZGFuZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3VzIiwKICAgICAgIm5hbWUiOiAic3VzdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdiIsCiAgICAgICJuYW1lIjogInN2ZW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJzdyIsCiAgICAgICJuYW1lIjogInN3YWhpbGkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAic3MiLAogICAgICAibmFtZSI6ICJzd2F0aSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0ZyIsCiAgICAgICJuYW1lIjogInRhZHNqaWtpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGwiLAogICAgICAibmFtZSI6ICJ0YWdhbG9nIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR5IiwKICAgICAgIm5hbWUiOiAidGFoaXRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmVyLUxhdG4iLAogICAgICAibmFtZSI6ICJ0YW1hemlnaHQiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYmVyIiwKICAgICAgIm5hbWUiOiAidGFtYXppZ2h0ICh0aWZpbmFnaCkiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGEiLAogICAgICAibmFtZSI6ICJ0YW1pbCIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0dCIsCiAgICAgICJuYW1lIjogInRhdGFyaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRlIiwKICAgICAgIm5hbWUiOiAidGVsdWd1IgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRldCIsCiAgICAgICJuYW1lIjogInRldHVtIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRoIiwKICAgICAgIm5hbWUiOiAidGhhaSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJibyIsCiAgICAgICJuYW1lIjogInRpYmV0YW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0aSIsCiAgICAgICJuYW1lIjogInRpZ3JpbmphIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRpdiIsCiAgICAgICJuYW1lIjogInRpdiIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0cGkiLAogICAgICAibmFtZSI6ICJ0b2sgcGlzaW4iCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidG8iLAogICAgICAibmFtZSI6ICJ0b25nYW5zayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJsdWEiLAogICAgICAibmFtZSI6ICJ0c2hpbHViYSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjcyIsCiAgICAgICJuYW1lIjogInRzamVra2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJjZSIsCiAgICAgICJuYW1lIjogInRzamV0c2plbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImNoayIsCiAgICAgICJuYW1lIjogInRzanVrdHNqaXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImN2IiwKICAgICAgIm5hbWUiOiAidHNqdXZhc2ppc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHMiLAogICAgICAibmFtZSI6ICJ0c29uZ2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidG4iLAogICAgICAibmFtZSI6ICJ0c3dhbmEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidGN5IiwKICAgICAgIm5hbWUiOiAidHVsdSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ0dW0iLAogICAgICAibmFtZSI6ICJ0dW1idWthIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInRrIiwKICAgICAgIm5hbWUiOiAidHVya21lbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInR5diIsCiAgICAgICJuYW1lIjogInR1dmluc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiYWsiLAogICAgICAibmFtZSI6ICJ0d2kiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidHIiLAogICAgICAibmFtZSI6ICJ0eXJraXNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImRlIiwKICAgICAgIm5hbWUiOiAidHlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ZG0iLAogICAgICAibmFtZSI6ICJ1ZG11cnRpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidWciLAogICAgICAibmFtZSI6ICJ1aWd1cmlzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ayIsCiAgICAgICJuYW1lIjogInVrcmFpbnNrIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogImh1IiwKICAgICAgIm5hbWUiOiAidW5nYXJzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ1ciIsCiAgICAgICJuYW1lIjogInVyZHUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidXoiLAogICAgICAibmFtZSI6ICJ1c2Jla2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ2ZSIsCiAgICAgICJuYW1lIjogInZlbmRhIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInZlYyIsCiAgICAgICJuYW1lIjogInZlbmV0aWFuc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAidmkiLAogICAgICAibmFtZSI6ICJ2aWV0bmFtZXNpc2siCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY3kiLAogICAgICAibmFtZSI6ICJ3YWxpc2lzayIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ3YXIiLAogICAgICAibmFtZSI6ICJ3YXJheS13YXJheSIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ3byIsCiAgICAgICJuYW1lIjogIndvbG9mIgogICAgfSwKICAgIHsKICAgICAgImxhbmd1YWdlIjogInhoIiwKICAgICAgIm5hbWUiOiAieGhvc2EiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAieXVhIiwKICAgICAgIm5hbWUiOiAieXVrYXRhbnNrIG1heWEiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiemFwIiwKICAgICAgIm5hbWUiOiAiemFwb3RlYyIKICAgIH0sCiAgICB7CiAgICAgICJsYW5ndWFnZSI6ICJ6dSIsCiAgICAgICJuYW1lIjogInp1bHUiCiAgICB9LAogICAgewogICAgICAibGFuZ3VhZ2UiOiAiY2htIiwKICAgICAgIm5hbWUiOiAiw7hzdG1hcmlzayIKICAgIH0KICBdCn0KKTs="}},"time_used":60,"timings":{"blocked":0,"dns":2,"connect":8,"send":0,"wait":27,"receive":0,"ssl":23},"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.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:53.220Z","timestamp":1785123233220,"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://agilitetrade.com/\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: 397389\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-07-27T05:19:53.227915Z","times_seen":16518,"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":"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.99","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/HPoJhVNSHdk","date":"2026-07-27T03:33:53.323Z","timestamp":1785123233323,"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 /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/3 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: 581526\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":478,"size_decoded":997,"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-07-27T05:09:42.367469Z","times_seen":46893,"resource_available":false,"data":"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NyA2MCIgZmlsbD0iIj48cGF0aCBkPSJNNjMgMTQuODdhNy44ODUgNy44ODUgMCAwMC01LjU2LTUuNTZDNTIuNTQgOCAzMi44OCA4IDMyLjg4IDhTMTMuMjMgOCA4LjMyIDkuMzFjLTIuNy43Mi00LjgzIDIuODUtNS41NiA1LjU2QzEuNDUgMTkuNzcgMS40NSAzMCAxLjQ1IDMwczAgMTAuMjMgMS4zMSAxNS4xM2MuNzIgMi43IDIuODUgNC44MyA1LjU2IDUuNTZDMTMuMjMgNTIgMzIuODggNTIgMzIuODggNTJzMTkuNjYgMCAyNC41Ni0xLjMxYzIuNy0uNzIgNC44My0yLjg1IDUuNTYtNS41NkM2NC4zMSA0MC4yMyA2NC4zMSAzMCA2NC4zMSAzMHMwLTEwLjIzLTEuMzEtMTUuMTN6Ij48L3BhdGg+PHBhdGggZmlsbD0iI0ZGRiIgY2xhc3M9ImxvZ28tYXJyb3ciIGQ9Ik0yNi42IDM5LjQzTDQyLjkzIDMwIDI2LjYgMjAuNTd6Ij48L3BhdGg+PC9zdmc+Cg=="}},"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":"agilitetrade.com/images/clients/2.png","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.652Z","timestamp":1785123231652,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /images/clients/2.png HTTP/1.1\r\nHost: agilitetrade.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-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\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/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: image/png\r\nlast-modified: Wed, 22 Apr 2026 21:44:12 GMT\r\naccept-ranges: bytes\r\ncontent-length: 3178\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":3178,"size_decoded":3443,"mime_type":"image/png","magic":"PNG image data, 300 x 168, 8-bit colormap, non-interlaced","md5":"6aa3c88877429ea046fe19fc35af365f","sha1":"541844eb0d14f4cbea6875e706d1435880df8299","sha256":"c04d4e31dfb4cbdfd94a83a8f2833152f092e369b08c5e5bdaf53f11b9b4d7cc","sha512":"a83bb262174b42f97628468d198665060f7aa3904d91532cf0c998ef46fa40a05a67ae307f814a6f8deb1a64daedbda1b6656e1d34e2163aa05bfbb40d3d23f5","ssdeep":"","tlshash":"4c613b301fe44d88e2257035e72e0a2305aa7c432671beec41fcef365e9a485216d1cb","first_seen":"2026-06-26T06:01:48.545424Z","last_seen":"2026-07-27T05:05:33.594959Z","times_seen":7,"resource_available":false,"data":"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"}},"time_used":42,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":36,"receive":6,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"agilitetrade.com/fonts/fontawesome-webfont-v%3d4.6.1.woff2","fqdn":"agilitetrade.com","domain":"agilitetrade.com","tld":"com"},"ip":{"addr":"86.107.77.57","port":443,"asn":207913,"as":"Next Level Business Srl","country":"Romania","country_code":"RO"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:51.868Z","timestamp":1785123231868,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"agilitetrade.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 02 Jul 2026 11:14:33 GMT","end":"Wed, 30 Sep 2026 11:14:32 GMT"},"fingerprint":{"sha1":"1F:F6:16:73:84:99:C0:D7:94:CB:28:0E:6D:E1:84:8A:A3:8D:BF:E2","sha256":"A2:03:7E:62:ED:FB:D2:79:E4:70:7C:A0:48:D6:49:B3:7D:E5:1C:E3:CE:55:49:86:0F:19:79:A5:D1:1D:CE:94"}}},"request":{"raw":"GET /fonts/fontawesome-webfont-v%3d4.6.1.woff2 HTTP/1.1\r\nHost: agilitetrade.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://agilitetrade.com/css/font-awesome.css\r\nCookie: PHPSESSID=avghgti3drl63gmamnprtl3md2\r\nSec-Fetch-Dest: font\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":"GET"},"response":{"raw":"HTTP/3 200 \r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:33:51 GMT\r\ncontent-type: font/woff2\r\nlast-modified: Wed, 22 Apr 2026 21:44:13 GMT\r\naccept-ranges: bytes\r\ncontent-length: 70728\r\ndate: Mon, 27 Jul 2026 03:33:51 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":70728,"size_decoded":70995,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 70728, version 4.393","md5":"926c93d201fe51c8f351e858468980c3","sha1":"977357f82830f57fbdac2492dd421e5dcce44a1a","sha256":"d3ebb498192527b985939ae62cc4e5eb5c108efc1896184126b45d866868e73d","sha512":"3097fc028f8637abfbc75c95180e3f3b5af9c74cd925ffbeee9e409497d387f76c769781ca1f08ad7b39ae437adda32f6e8de61f5578ebfe8da16cba41a9e23b","ssdeep":"1536:k9chxme4Zu0LDIrvALIlSgXHBJvTvyuaGPm0lxyu:kSYDIrtwgGHGPm0x","tlshash":"ed6302bef2337102d2a016bc59769566cc387d16617f8eee1f7a6ab41c4032d90d134e","first_seen":"2023-04-05T13:48:05Z","last_seen":"2026-07-27T05:25:12.202476Z","times_seen":5425,"resource_available":false,"data":"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"}},"time_used":33,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":31,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"agilitetrade.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":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.99","port":443,"asn":15169,"as":"GOOGLE","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://agilitetrade.com/","date":"2026-07-27T03:33:53.233Z","timestamp":1785123233233,"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://agilitetrade.com/\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: 397415\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-07-27T05:19:32.634289Z","times_seen":17113,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAEQAAAAcCAYAAADYzhkoAAAGBElEQVRYw+1ZXWwUVRQe2N22ViP136gvigZSocTOzLrEynZmdhtiihqkaqw/LzxA1MQHIcRGV9idthIRIdbSWNGHQtYGEkOMYre1CRpLG3nAP9CW1GCg+5d2OzPL1i7d67kzd3Znt9Pd1Sam0t5kMum9Z+ee+91zzvfdW4paasU3pyd0Ay/Kd2w8kCpdtCDwolRZK8rtnChd5EUFqY9XStV6lbOcqOza6IneuNDXwPi3PMv4N7fS/i0vziMakJUT5dZaUZpJA2H6SJcFr1y7kAGhj27uYvxPIQDl838NBu9TjhsWPsI1K68LzVfWc3vkByFt3JxPeR/Aimvjcsc1DQjnk8U0GD7lw7lqhtubuBfGPR4PWn7NAsJ5YytrvdJVAshRCqFl//c6OC9AIPz3ktqQcHvk2+frDPJQyyN19Oowx26IcMwqRFHLCtlPnSxZPd1n3TDVV7IKofz2Dd3IAj5XubxSTZ0ndvM/BQTRtC0sMA+FefujY+71s9eL2YOkyvH5ghER2MawQI+GBRalH469AA48Y2Z/NWBrnA5YRpO9NpR5LBeg39Qeinkj75P+NLDfNO+TW2ANv8AThbr32FyA4I0JCeyr4FNE9y0osKkQR3dNONdVGACRFTLBW6YR5JNf4XzSp+aP8oFuF+bZpgwQdAImO4/fel+It+80fne619qkg/BXjy2R7LGcV9+kD8Z3Ztc5ZYcBiCsAwG8qIFkMGH9yLkAADNEAxARs1I9BgU6SvtO/b7y/VNcdCfLBN8xTSjk2FwVjilYjg3uYxmirCwfEx130CtyPkQ9xrF91gmNngkL1WhWMb2w0LD5FFt6FApRqj/qpCvjbr4LUa5sBm7UkravScsCrHNG1kHOvcidoo28LARLi7OvSYPDMAX3xIa56ZZijo6rfLnaXtmCvMow/BhrkE9OiK0rbgYU6sx5R6dd3iqB/iEw4jHPU+Hs8eTqNeOYg7kv22A6pkRCwDKMfqCz71JdUqSGNDpJNadPlAN2Bsuxd78Tvgk1N5geE2af5x5zFNWvU6SyDvhfAnwFD1JzRKbeTTBZx7EtdVxQzifLbZLd+UtMFQk5H38weHGnXJmVOqYAEbKfJgk3tYbxdHe+xnSIRMkB8NLWv9UlD+QCB+b/WNoQ9BiC0GOsIRHB/2MU+jRoqSzRR5os7DBrEUwiMBg8q0aMK7N8jETKoflxg95sCwrNtxKHvSIQMahFiM7WHsTYyrtrDUWJQS1Fl/xxMOVAUIHo0cPQkjtYob680p16v8pl+ZhGalZfyKlpR/lh1DrSLa8/kAxogTKcWIew51NBgmU1z7AgBpE0DxNJJGOUc6qay7SGFYHyERFAbiciPtLRWfsW0a7SvEaXbwJepvCkjMO+mI0Jgt4+5q6430r5e8wwLnaiAD/5sKJjdUMQewQDg8XoPKgeg6vWdItHRpP8+6LI7MmzCdlx0ONTUu1RPl0PfYZ3iwnx1tVpUe6wOA812pL6nVHt0giqHunKYME8KCmu1xnRxe6aQy+3gV5nuN7DdV4WK6pibWZMu+lDv9PRQ6xtECmzkZRirzwFFuhU+2pdzkEsCvcVy2QV2zJeraElukpBkY5CbQ/ht2JndOWnRkqbdXlsM3kPkjUi67M5Ji+YM7SrjuG4YJENB2gUf3sxoIzqK0xxq2njGP2bHrJTAZxQsfiA6zsyiWUgnDBiMOU0VJwgfQHpbmGNCWcJMoIOQKltzFStWpECx2wCEkFGYQWQEoW/rLMUKGwCgvIzBMPqEtRBsWlCNHl/8iXzCDPuh+pNVT9hLQAbPFz4BA8eDAxzXHH8cy+SalthNRUl3qBlRnrZHeGZTRGBY5HRa89pDzQBg7Mnekk3TASsLWsRa4GRehv3BqhRS6W4VKK8iYUCKuZbA/mG/sH/Yz0L+Lcjmah1fAYr5NagfJ3JP4rjWZQhh8pZFcYsntCTu05kEF1GnKK/BahWipA7q3B/kjuaLRXW1CYX8OcM1Rc4RQglh0BbdfS++wYOIOKlHCz7hYl3kbI3fs6j/G4DZsNhjxlJbakttqf2X7W8TpV8yKnnUNAAAAABJRU5ErkJggg=="}},"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}}]}
